102 lines
2.9 KiB
PHP
102 lines
2.9 KiB
PHP
<?php
|
||
class kaoqinClassAction extends runtAction
|
||
{
|
||
/**
|
||
* 定时任务发送昨天考勤异常的啊
|
||
*/
|
||
public function todoAction()
|
||
{
|
||
if(getconfig('systype')=='demo')return 'success';
|
||
$dt = date('Y-m-d', time()-3600*20);//昨天
|
||
$sql = "SELECT a.uid FROM `[Q]kqanay` a left join `[Q]userinfo` b on a.uid=b.id where a.dt='$dt' and b.iskq=1 and a.state<>'正常' 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;
|
||
}
|
||
} |