'正常' and a.states is null and a.iswork=1 group by a.uid;"; $rows = $this->db->getall($sql); $ids = ''; foreach($rows as $k=>$rs){ $ids .=','.$rs['uid'].''; } if($ids!=''){ $flow = m('flow')->initflow('leavehr'); $flow->push(substr($ids, 1),'考勤','昨天['.$dt.']的你考勤存在异常,此消息仅供参考!','考勤异常提醒'); } return 'success'; } public function anayAction() { $dt = date('Y-m-d', time()-3600*20);//昨天 m('kaoqin')->kqanayalldt($dt); return 'success'; } //每月分析上月 public function lmanayAction() { $month = c('date')->adddate($this->rock->date, 'm', -1,'Y-m'); m('kaoqin')->kqanayall($month); return 'success'; } //分析工作日报统计 public function dailyfxAction() { if(getconfig('systype')=='demo')return 'success'; $dt = c('date')->adddate($this->rock->date, 'd', -1); $flow = m('flow')->initflow('daily'); $flow->dailyanay(0, $dt); $flow->dailytodo($dt); //未写日报通知 return 'success'; } public function dayAction() { m('flow:leave')->autoaddleave(); //年假自动添加 return 'success'; } //定时从企业微信/钉钉上获取打卡记录,一般30分钟获取一次 public function getdkAction() { $h = (int)date('H'); if($h>=2 && $h<=6)return '凌晨2-6点暂停读取'; $reimbo = m('reim'); $uids = '';//全部 $dt1 = ''; $dt2 = ''; $msg = 'success'; $daka = $this->option->getval('qywxplat_daka'); if($daka=='1'){ $barr = c('rockqywx')->getcheckindata($uids, $dt1, $dt2, 1); if(!$barr['success']){ $msg .= ','.$barr['msg']; }else{ $data = $barr['data']; $msg .= ',从代建中应用获取打卡(共'.$data['zongts'].'条,新增'.$data['okload'].'条)'; if($data['maxpage']>1)$msg.=',并发送异步请求1条'; } }else{ if($reimbo->installwx(1)){ $barr = m('weixinqy:daka')->getrecord($uids, $dt1, $dt2, 1); //加入异步 if($uids=='' && $barr['errcode']==0 && $barr['maxpage']>1){ for($i=1;$i<=$barr['maxpage'];$i++){ if($i>1)$reimbo->asynurl('asynrun','wxdkjl', array( 'dt1' => $dt1, 'dt2' => $dt2, 'page' => $i )); } } if($barr['errcode']!=0)$msg .= ',企业微信('.$barr['msg'].')'; } } //钉钉 if($reimbo->installwx(2)){ $barr = m('dingding:daka')->getrecord($uids, $dt1, $dt2); if($barr['errcode']!=0)$msg .= ',钉钉('.$barr['msg'].')'; } return $msg; } }