| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247 | 
							- <?php
 
- namespace Work\Lib;
 
- use Dever;
 
- Class Cron
 
- {
 
- 	#工单日统计
 
-     public function index_api(){
 
-         $title = '工单每日统计';
 
-         $data = Dever::db('work/branch')->state(array('type'=>1));
 
-         foreach ($data as $k => $v) {
 
-         	$group_id = explode(',',$v['group']);
 
-         	$admin = Dever::db('manage/admin')->find($group_id[1]);
 
-             $content = $this->email_api($v,$admin);
 
-             if ($content) {
 
-                 $this->send($admin['email'], $admin['username'], $title, $content);
 
-             }
 
-              
 
-         }
 
-     }
 
-     public function test_api(){
 
-         $title = '工单每日统计';
 
-         $data = Dever::db('work/branch')->state(array('type'=>1));
 
-         foreach ($data as $k => $v) {
 
-             $group_id = explode(',',$v['group']);
 
-             $admin = Dever::db('manage/admin')->find($group_id[1]);
 
-             $content = $this->email_api($v,$admin);
 
-             if ($content) {
 
-                 $this->send('1849506057@qq.com', $admin['username'], $title, $content);
 
-             }
 
-         }
 
-     }
 
- 	#发送邮件
 
-     public function email_api($v,$fsadmin)
 
-     {
 
-     	$start=mktime(0,0,0,date('m'),date('d'),date('Y'))-86400;
 
-         $end = $start+86400-1;
 
-         $config = Dever::db('work/info')->config['config_status'];
 
-         $dbranch = $v;
 
-         $question = Dever::db('work/question')->state(array('branch_id'=>$dbranch['group_id']));
 
-         $question = array_keys($question);
 
-         $data['info']['app'] = Dever::db('work/info')->getCount(array('question'=>$question,'start'=>$start,'end'=>$end));
 
-         // echo Dever::sql();
 
-         $data['info']['xu'] = Dever::db('work/info')->getCount(array('group'=>$dbranch['group_id'],'start'=>$start,'end'=>$end,'status'=>2));
 
-         $admin = explode(',',$dbranch['group']);
 
-         if ($dbranch['coor']) {
 
-             $coor = explode(',',$dbranch['coor']);
 
-             if (isset($coor) && $coor[0] && $coor[0] >0) {
 
-                 $people = $dbranch['coor'].','.$admin[1];
 
-             } else {
 
-                  $people = $admin[1];
 
-             } 
 
-         } else {
 
-             $people = $admin[1];
 
-         }
 
-         $data['info']['yi'] = Dever::db('work/info')->getCount(array('fpeople'=>$people,'start'=>$start,'end'=>$end,'status'=>'3,4'));
 
-         if ($data['info']['app'] == 0 && $data['info']['xu'] == 0 && $data['info']['yi'] ==0 ) {
 
-             return false;
 
-         }
 
-         $data['question'] = Dever::db('work/question')->getAll(array('branch_id'=>$dbranch['group_id']));
 
-         $question = implode(',',$question);
 
-         if ($question) {
 
-             $data['app'] = Dever::db('work/info')->fetchAll('select * from churen_work_info where (`group` in ('.$dbranch['group_id'].') or fpeople in ('.$people.') or question in ('.$question.')) and cdate>='.$start.' and cdate <='.$end.' and state = 1');
 
-             foreach ($data['app'] as $k1 => $v1) {
 
-                 $data['app'][$k1]['cdate'] = date('Y-m-d H:i:s',$v1['cdate']);
 
-                 if ($v1['zdate']) {
 
-                     $data['app'][$k1]['zhipai'] = date('Y-m-d H:i:s',$v1['zdate']).'<br/>'.date('Y-m-d H:i:s',$v1['chdate']);
 
-                 } else {
 
-                     $data['app'][$k1]['zhipai'] = date('Y-m-d H:i:s',$v1['chdate']);
 
-                 }
 
-                 
 
-                 // $data['app'][$k1]['chu'] = date('Y-m-d H:i:s',$v1['chdate']);
 
-                 $cate = Dever::db('work/q_cate')->find($v1['cate_id']);
 
-                 $data['app'][$k1]['cate_name'] = $cate['name'];
 
-                 $priority = Dever::db('work/priority')->find($v1['priority_id']);
 
-                 $data['app'][$k1]['priority_name'] = $priority['name'];
 
-                 $data['app'][$k1]['status']= Dever::status($config,$v1['status']);
 
-             }
 
-         }
 
-         
 
-         $msg = array();
 
-         $msg['admin_email'] = $fsadmin['email'];
 
-         $msg['admin_username'] = $fsadmin['username'];
 
-         $msg['app'] = $data['info']['app'];
 
-         $msg['xu'] = $data['info']['xu'];
 
-         $msg['yi'] = $data['info']['yi'];
 
-         $res = Dever::log($msg, 'work');
 
-         return Dever::render('email', $data);
 
-     }
 
-     
 
-     #代理商统计发送邮件
 
-     public function send($email, $username, $title, $content)
 
-     {
 
-         $config = Dever::config('base', 'project')->email;
 
-         Dever::apply('src/PHPMailer', 'email');
 
-         Dever::apply('src/Exception', 'email');
 
-         Dever::apply('src/SMTP', 'email');
 
-         $mail = new \PHPMailer\PHPMailer\PHPMailer();
 
-         $mail->isSMTP();
 
-         //$mail->SMTPDebug = 2;
 
-         $mail->CharSet = 'UTF-8';
 
-         $mail->Host = $config['smtp'];
 
-         $mail->Port = 465;
 
-         $mail->SMTPSecure = 'ssl';
 
-         $mail->SMTPAuth = true;
 
-         $mail->Username = $config['username'];
 
-         $mail->Password = $config['password'];
 
-         $mail->setFrom($config['from'][0], '工单系统');
 
-         $mail->addAddress($email, $username);
 
-         $mail->Subject = "=?utf-8?B?" . base64_encode($title) . "?=";
 
-         $mail->Body = $content;
 
-         $mail->isHTML(true);
 
-         //$mail->addAttachment($file);
 
-         if (!$mail->send()) {
 
-             Dever::alert("Mailer Error: " . $mail->ErrorInfo);
 
-         } else {
 
-             return 'ok';
 
-         }
 
-     }
 
-     #同步info表中的product
 
-     public function product_api()
 
-     {
 
-         $data = Dever::db('work/info')->state();
 
-         if ($data) {
 
-             foreach ($data as $k => $v) {
 
-                 if (!$v['product'] || $v['product']<=0) {
 
-                     $cate = explode(',',$v['cate_id']);
 
-                     if (isset($cate[1]) && $cate[1]) {
 
-                         $product = Dever::db('work/question')->find($cate[1]);
 
-                         if ($product) {
 
-                             $where['where_id'] = $v['id'];
 
-                             $where['product'] = $product['product_id'];
 
-                             Dever::db('work/info')->update($where);
 
-                         }
 
-                     }
 
-                 }
 
-             }
 
-         }
 
-     }
 
-     public function updateTime_api()
 
-     {
 
-         $data = Dever::db('work/info')->state();
 
-         foreach ($data as $k => $v) {
 
-             if (!$v['fpeople'] && ($v['status'] == 3 || $v['status'] == 4)) {
 
-                 $app = Dever::db('work/appoint')->getAdmin(array('info_id'=>$v['id'],'admin'=>$v['audit_admin']));
 
-                 if ($app && $app['admin']) {
 
-                     $update['fpeople'] = $app['admin'];
 
-                 } else {
 
-                     if ($v['branch_id']) {
 
-                         $branch = explode(',',$v['branch_id']);
 
-                         if (isset($branch[1]) && $branch[1]) {
 
-                             $update['fpeople'] = $branch[1];
 
-                         }
 
-                     } else {
 
-                         $update['fpeople'] = $v['audit_admin'];
 
-                     }
 
-                 }
 
-                 $update['where_id'] = $v['id'];
 
-                 Dever::db('work/info')->update($update);
 
-             }
 
-         }
 
-     }
 
-     public function user_api()
 
-     {
 
-         $num = Dever::input('num', 1);
 
-         $start = Dever::input('start', date('Y-m-d', strtotime('-'.$num.' day')));
 
-         $end = Dever::input('end', date('Y-m-d'));
 
-         
 
-         $start = Dever::maketime($start . ' 00:00:00');
 
-         $end = Dever::maketime($end . ' 23:59:59');
 
-         $day = intval(($end - $start)/86400);
 
-         for($i=0; $i<=$day; $i++) {
 
-             $where['start'] = $start + 86400*$i;
 
-             $where['end'] = $start + 86400*$i + 86399;
 
-             $where['priority_id'] = '';
 
-             $cate = Dever::db('work/q_cate')->state();
 
-             foreach ($cate as $k =>$v) {
 
-                 $where['cate'] = $v['id'];
 
-                 unset($where['priority_id']);
 
-                 $num = Dever::db('work/info')->getNum($where);
 
-                 if ($num <= 0) {
 
-                     continue;
 
-                 }
 
-                 $data = array();
 
-                 $data['cate'] = $where['cate'];
 
-                 $data['day'] = $where['start'];
 
-                 $info = Dever::db('work/info_stat')->find($data);
 
-                 $data['question'] = $num;
 
-                 $where['priority_id'] = 4;
 
-                 $data['super'] = Dever::db('work/info')->getNum($where);
 
-                 $where['priority_id'] = 3;
 
-                 $data['urgent'] = Dever::db('work/info')->getNum($where);
 
-                 $where['priority_id'] = 2;
 
-                 $data['yb'] = Dever::db('work/info')->getNum($where);
 
-                 $where['priority_id'] = 1;
 
-                 $data['pt'] = Dever::db('work/info')->getNum($where);
 
-                 // echo dever::sql();
 
-                 // print_r($data);
 
-                 if (!$info) {
 
-                     Dever::db('work/info_stat')->insert($data);
 
-                 } else {
 
-                     $data['where_id'] = $info['id'];
 
-                     Dever::db('work/info_stat')->update($data);
 
-                 }
 
-             }
 
-             
 
-         }
 
-         return 'ok';
 
-     }
 
-     #修改info表中的问题分类
 
-     public function updateCate_api()
 
-     {
 
-         $data = Dever::db('work/info')->state();
 
-         foreach ($data as $k => $v) {
 
-             if (!$v['cate'] || $v['cate']<=0) {
 
-                 if ($v['cate_id']) {
 
-                     $cate_id = explode(',',$v['cate_id']);
 
-                     $where['where_id'] = $v['id'];
 
-                     $where['cate'] = $cate_id[0];
 
-                     Dever::db('work/info')->update($where);
 
-                 }
 
-             }
 
-         }
 
-     }
 
-     #同步info_log中的指派人(app_admin_id)
 
-     public function updateInfoLog_api()
 
-     {
 
-         $data = Dever::db('work/info_log')->state();
 
-         foreach ($data as $k => $v) {
 
-             if ($v['appoint_id']) {
 
-                 $app = Dever::db('work/appoint')->find($v['appoint_id']);
 
-                 if ($app) {
 
-                     $where['where_id'] = $v['id'];
 
-                     $where['app_admin_id'] = $app['admin'];
 
-                     $where['clear'] = true;
 
-                     Dever::db('work/info_log')->update($where);
 
-                 }
 
-             }
 
-         }
 
-     }
 
- }
 
 
  |