| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145 | <?phpnamespace 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);            $this->send($admin['email'], $admin['username'], $title, $content);        }        // $content = $this->email_api();        // foreach($admin as $key => $val){        //     $this->send($val['email'], $val['username'], $title, $content);        // }    }	#发送邮件    public function email_api($v)    {    	$start=mktime(0,0,0,date('m'),date('d'),date('Y'))-86400;        $end = $start+86400-1;        $config = Dever::db('work/info')->config['config_status'];        $data['branch'] = $v;        $question = Dever::db('work/question')->state(array('branch_id'=>$data['branch']['group_id']));        $question = array_keys($question);        $data['info']['app'] = Dever::db('work/info')->getCount(array('question'=>$question,'end'=>$end));        $data['info']['xu'] = Dever::db('work/info')->getCount(array('group'=>$data['branch']['group_id'],'end'=>$end,'status'=>2));        // $app = Dever::db('work/appoint')->getYAll(array('group'=>$data['branch']['group_id']));        // $app = array_keys($app);        // $data['info']['yi'] = Dever::db('work/info')->getCount(array('id'=>$app,'end'=>$end,'status'=>'3,4'));        $admin = explode(',',$data['branch']['group']);        if ($data['branch']['coor']) {            $coor = explode(',',$data['branch']['coor']);            if (isset($coor) && $coor[0] && $coor[0] >0) {                $people = $data['branch']['coor'].','.$admin[1];            } else {                 $people = $admin[1];            }         } else {            $people = $admin[1];        }        $data['info']['yi'] = Dever::db('work/info')->getCount(array('fpeople'=>$people,'end'=>$end,'status'=>'3,4'));        // echo Dever::sql();die;        // $data['info']['wei'] = Dever::db('work/info')->getCount(array('group'=>$data['branch']['group_id'],'start'=>$start,'end'=>$end,'status'=>4));        $data['question'] = Dever::db('work/question')->getAll(array('branch_id'=>$data['branch']['group_id']));        $question = implode(',',$question);        // print_R($question);die;        $data['app'] = Dever::db('work/info')->fetchAll('select * from churen_work_info where (`group` in ('.$data['branch']['group_id'].') or fpeople in ('.$people.') or question in ('.$question.')) and cdate <='.$end.' and state = 1');        // getAll(array('group'=>$data['branch']['group_id'],'end'=>$end));        // print_R($data);die;        foreach ($data['app'] as $k1 => $v1) {            $data['app'][$k1]['cdate'] = date('Y-m-d H:i:s',$v1['cdate']);            $data['app'][$k1]['zhipai'] = date('Y-m-d H:i:s',$v1['zdate']);            $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']);        }        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);            }        }    }}
 |