kaoqinAction.php 2.3 KB

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