| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148 |
- <?php
- class flow_kqdkjlClassModel extends flowModel
- {
-
- protected $flowcompanyidfieds = 'uid'; //多单位用这个关联
- public $dateobj,$typearr;
-
- public function initModel()
- {
- $this->dateobj = c('date');
-
- $this->typearr = explode(',','在线打卡,考勤机,手机定位,手动添加,异常添加,数据导入,接口导入,企业微信打卡,钉钉打卡,中控考勤机');//0-9
-
- }
-
- /**
- * 显示条件过滤
- */
- protected function flowbillwhere($uid, $lx)
- {
- $atype = $lx;
- $dt1 = $this->rock->post('dt1');
- $dt2 = $this->rock->post('dt2');
- $key = $this->rock->post('key');
- $s = '';
- $s = ' and a.`uid`='.$this->adminid.'';
-
- //全部下属打卡
- if($lx=='down' || $lx=='dwdown'){
- $s = 'and '.$this->adminmodel->getdownwheres('b.id', $uid, 0);
- }
- if($atype=='all')$s ='';
- if(!isempt($dt1))$s.=" and a.`dkdt`>='$dt1'";
- if(!isempt($dt2))$s.=" and a.`dkdt`<='$dt2 23:59:59'";
- if(!isempt($key))$s.=" and (b.`name` like '%$key%' or b.`deptallname` like '%$key%' or b.`ranking` like '%$key%')";
- $fields = 'a.*,b.`name`,b.`deptname`';
- $tabls = $this->mtable;
-
- $table = '`[Q]'.$tabls.'` a left join `[Q]userinfo` b on a.uid=b.id';
- return array(
- 'where' => $s,
- 'table' => $table,
- 'order' => 'a.`id` desc',
- 'fields'=> $fields
- );
- }
-
- //替换
- public function flowrsreplace($rs)
- {
- $week = $this->dateobj->cnweek($rs['dkdt']);
- $rs['week'] = $week;
- $rs['type'] = $this->typearr[$rs['type']];
- if($week=='六' || $week=='日')$rs['ishui']= 1;
- return $rs;
- }
-
-
- public function flowdaorutestdata()
- {
- $barr[] = array(
- 'base_name' => '管理员',
- 'dkdt' => '2016-08-08 12:00:01',
- );
- $barr[] = array(
- 'base_name' => '大乔',
- 'dkdt' => '2017-08-22 08:55:01',
- );
- return $barr;
- }
-
- //导入之前判断
- public function flowdaorubefore($rows)
- {
- $inarr = array();
- $uarr = array();
- $dtobj = c('date');
- foreach($rows as $k=>$rs){
- $name = $rs['base_name'];
- $dkdt = $rs['dkdt'];
- if(isempt($name) || isempt($dkdt))continue;
-
- $dkdt = str_replace('/','-', $dkdt);
- if(!$dtobj->isdate($dkdt))continue;
-
- if(isset($uarr[$name])){
- $uid = $uarr[$name];
- }else{
- $usar = $this->adminmodel->getrows("`name`='$name'",'id');
- if($this->db->count!=1)continue;
- $uid = $usar[0]['id'];
- $uarr[$name] = $uid;
- }
-
- if($this->rows("`uid`='$uid' and `dkdt`='$dkdt'")>0)continue;
- $inarr[] = array(
- 'uid' => $uid,
- 'dkdt' => $dkdt,
- 'type' => 5,
- );
- }
-
- return $inarr;
- }
-
- /**
- * 首页考勤打卡记录
- */
- public function homekqtotal()
- {
- $dt = $this->rock->date;
- $where= $this->adminmodel->getcompanywhere(5,'a.');
- $uarr = $this->db->getall('select a.id from `[Q]admin` a left join `[Q]userinfo` b on a.id=b.id where b.`iskq`=1 and a.`status`=1 '.$where.'');
- $uids = '0';
- $uarrs = array();
- foreach($uarr as $k=>$rs){
- $uids.=','.$rs['id'].'';
- $uarrs[$rs['id']] = '未打卡';
- }
- $rows = $this->db->getall("SELECT * FROM `[Q]kqanay` where `uid` in($uids) and `dt`='$dt' and sort=0");
- foreach($rows as $k=>$rs){
- $state = $rs['state'];
- if(!isempt($rs['states']))$state = $rs['states'];
- $uarrs[$rs['uid']] = $state;
- }
-
- $ztarr = array();
- foreach($uarrs as $uid=>$zt){
- if(!isset($ztarr[$zt]))$ztarr[$zt]=0;
- $ztarr[$zt]++;
- }
-
- $rows = array();
- $data = array();
- foreach($ztarr as $zt=>$vs){
- $rows[] = array(
- 'value' => $vs,
- 'name' => $zt
- );
- $data[] = $zt;
- }
- return array(
- 'rows' => $rows,
- 'data' => $data,
- 'dt' => $dt,
- );
- }
- }
|