kaoqinAction.php 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. <?php
  2. class kaoqinClassAction extends runtAction
  3. {
  4. /**
  5. * 定时任务发送昨天考勤异常的啊
  6. */
  7. public function todoAction()
  8. {
  9. if(getconfig('systype')=='demo')return 'success';
  10. $dt = date('Y-m-d', time()-3600*20);//昨天
  11. $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;";
  12. $rows = $this->db->getall($sql);
  13. $ids = '';
  14. foreach($rows as $k=>$rs){
  15. $ids .=','.$rs['uid'].'';
  16. }
  17. if($ids!=''){
  18. $flow = m('flow')->initflow('leavehr');
  19. $flow->push(substr($ids, 1),'考勤','昨天['.$dt.']的你考勤存在异常,此消息仅供参考!','考勤异常提醒');
  20. }
  21. return 'success';
  22. }
  23. public function anayAction()
  24. {
  25. $dt = date('Y-m-d', time()-3600*20);//昨天
  26. m('kaoqin')->kqanayalldt($dt);
  27. return 'success';
  28. }
  29. //每月分析上月
  30. public function lmanayAction()
  31. {
  32. $month = c('date')->adddate($this->rock->date, 'm', -1,'Y-m');
  33. m('kaoqin')->kqanayall($month);
  34. return 'success';
  35. }
  36. //分析工作日报统计
  37. public function dailyfxAction()
  38. {
  39. if(getconfig('systype')=='demo')return 'success';
  40. $dt = c('date')->adddate($this->rock->date, 'd', -1);
  41. $flow = m('flow')->initflow('daily');
  42. $flow->dailyanay(0, $dt);
  43. $flow->dailytodo($dt); //未写日报通知
  44. return 'success';
  45. }
  46. public function dayAction()
  47. {
  48. m('flow:leave')->autoaddleave(); //年假自动添加
  49. return 'success';
  50. }
  51. //定时从企业微信/钉钉上获取打卡记录,一般30分钟获取一次
  52. public function getdkAction()
  53. {
  54. $h = (int)date('H');
  55. if($h>=2 && $h<=6)return '凌晨2-6点暂停读取';
  56. $reimbo = m('reim');
  57. $uids = '';//全部
  58. $dt1 = '';
  59. $dt2 = '';
  60. $msg = 'success';
  61. $daka = $this->option->getval('qywxplat_daka');
  62. if($daka=='1'){
  63. $barr = c('rockqywx')->getcheckindata($uids, $dt1, $dt2, 1);
  64. if(!$barr['success']){
  65. $msg .= ','.$barr['msg'];
  66. }else{
  67. $data = $barr['data'];
  68. $msg .= ',从代建中应用获取打卡(共'.$data['zongts'].'条,新增'.$data['okload'].'条)';
  69. if($data['maxpage']>1)$msg.=',并发送异步请求1条';
  70. }
  71. }else{
  72. if($reimbo->installwx(1)){
  73. $barr = m('weixinqy:daka')->getrecord($uids, $dt1, $dt2, 1);
  74. //加入异步
  75. if($uids=='' && $barr['errcode']==0 && $barr['maxpage']>1){
  76. for($i=1;$i<=$barr['maxpage'];$i++){
  77. if($i>1)$reimbo->asynurl('asynrun','wxdkjl', array(
  78. 'dt1' => $dt1,
  79. 'dt2' => $dt2,
  80. 'page' => $i
  81. ));
  82. }
  83. }
  84. if($barr['errcode']!=0)$msg .= ',企业微信('.$barr['msg'].')';
  85. }
  86. }
  87. //钉钉
  88. if($reimbo->installwx(2)){
  89. $barr = m('dingding:daka')->getrecord($uids, $dt1, $dt2);
  90. if($barr['errcode']!=0)$msg .= ',钉钉('.$barr['msg'].')';
  91. }
  92. return $msg;
  93. }
  94. }
粤ICP备19079148号