<?php
namespace app\mobile\controller;

use app\BaseController;
use think\facade\Db;
use think\facade\Cache;
use think\Request;
use app\admin\model\QualityLayerRecord;
use app\admin\model\CommonMealList;
use app\admin\model\CommonTrainningFeedback;
use mail\Send;
use wx\wxMsg;

class Updata extends BaseController{
    //手机版登录
    public function user_info_update(){
        $data = input('post.');
        if(isset($data['phone'])){
            Db::name('member_interview')->where('m_id',$data['id'])->update(['phone'=>$data['phone']]);
            exit(json_encode(array('code' =>0,'msg'=>'手机号码修改成功！')));
        }
        if(isset($data['size'])){
            Db::name('member_interview')->where('m_id',$data['id'])->update(['size'=>$data['size']]);
            exit(json_encode(array('code' =>0,'msg'=>'工衣尺寸修改成功！')));
        }
        exit(json_encode(array('code' =>1,'msg'=>'未知错误，请联系管理员')));
    }
    //合理化建议新增
    public function suggestion_add(){
        $data = input('post.');
        $save = array_intersect_key($data,['title'=>0,'suggestion'=>0,'selfshut'=>0]);
        $save['creat_date'] = time();
        if($data['img']!==''){
            $save['img'] = '/storage/wx_upload/'.date('Ymd',time()).'/suggestion/'.$data['img'];
        }
        if($data['userType'] == 1){
            $info = Db::name('member_list')->find($data['userId']);
            $save['eid'] = $info['eid'];
            $save['ename'] = $info['ename'];
            $save['team'] = Db::name('team_list')->where('id',$info['tid'])->value('team');
            $save['dpt'] = 1;
            $save['phone'] = Db::name('member_interview')->where('m_id',$info['id'])->value('phone');
        }else{
            $info = Db::name('admin_user')->find($data['userId']);
            $save['eid'] = $info['username'];
            $save['ename'] = $info['truename'];
            $job_info = Db::name('admin_org')->where('id',$info['job'])->value('title');
            $dpt_info = Db::name('admin_org')->where('id',$info['dpt'])->value('title');
            if($info['job']==9){
                $tid = Db::name('member_list')->where('eid',$info['username'])->value('tid');
                $save['team'] = Db::name('team_list')->where('id',$tid)->value('team');
            }else{
                $save['team'] = $dpt_info.'-'.$job_info;
            }
            $save['dpt'] = $info['dpt'];
            $save['phone'] = $info['phone'];
        }
        $id = Db::name('onsite_suggestion_list')->insertGetId($save);
        
        exit(json_encode(array('code' =>0,'msg'=>'提交成功')));
    }
    //合理化建议删除
    public function suggestion_del(){
        Db::name('onsite_suggestion_list')->where('id',input('post.id'))->delete();
        exit(json_encode(array('code' =>0,'msg'=>'合理化已删除！')));
    }
    //合理化建议反馈保存
    public function suggestionDetailSave(){
        $data = input('post.');
        $data = array_intersect_key($data,['id'=>0,'adopt'=>0,'reason'=>0,'due_date'=>0,'status'=>0]);
        $data['reason'] = htmlspecialchars($data['reason']);
        $data['due_date'] = $data['adopt']==2?null:strtotime($data['due_date']);
        $data['feedback_time'] = time();
        if($data['adopt']==2){
            $data['status'] = 4;
            $data['update'] = time();
        }
        $data['submit_time'] = time();
        Db::name('onsite_suggestion_list')->save($data);
        if($data['status']==3){
        //发送微信服务号消息
        $info = Db::name('onsite_suggestion_list')->find($data['id']);
        $suggestor_info = Db::name('admin_user_mobile')->where('username',$info['eid'])->find();
        if($info['selfshut']==1){
            $touser = Db::name('member_base')->where(array('mid'=>3,'mark'=>$info['due_dpt']))->value('title');
            $type = 2;
        }else{
            $touser = $suggestor_info['user_id'];
            $type = $suggestor_info['user_type'];
        }
        $owner_name = Db::name('admin_user')->where('id',$info['owner'])->value('truename');
        $template = array(
            'touser'=>$touser,  //用户userId
            'type'=>$type,  //用户类型  1：现场人员    2：办公室人员
            'template_id'=>"3Huxw6Ptdx15igJrOWwJ2OhlRmqX15AKwDdI5cK-ZOE", //流程待办提醒模板id
            'data'=>array(
                'keyword1'=>array('value'=>$info['id'],'color'=>'#FF0000'),     //流程编号
                'keyword2'=>array('value'=>'合理化建议','color'=>'#FF0000'),      //流程名称
                'keyword3'=>array('value'=>'确认改善措施是否完成','color'=>'#FF0000'),      //流程标题
                'keyword4'=>array('value'=>$owner_name,'color'=>'#FF0000'),      //申请人
                'keyword5'=>array('value'=>date('Y-m-d,H:i:s',time()),'color'=>'#FF0000'),      //申请时间
            )
        );
        $wx_model = new wxMsg();
        $wx_model->send_msg(json_encode($template));
        //发送微信服务号消息结束
        }
        exit(json_encode(array('code' =>0,'msg'=>'合理化反馈保存成功！')));
    }
    //合理化建议责任人变更
    public function suggestionOwnerChange(){
        $record = Db::name('onsite_suggestion_list')->find(input('post.id'));
        Db::name('onsite_suggestion_list')->save(input('post.'));
        $old_owner = Db::name('admin_user')->where('id',$record['owner'])->value('truename');
        //发送微信服务号消息
        $template = array(
            'touser'=>input('post.owner'),  //用户userId
            'type'=>2,  //用户类型  1：现场人员    2：办公室人员
            'template_id'=>"3Huxw6Ptdx15igJrOWwJ2OhlRmqX15AKwDdI5cK-ZOE", //流程待办提醒模板id
            'data'=>array(
                'keyword1'=>array('value'=>input('post.id'),'color'=>'#FF0000'),     //流程编号
                'keyword2'=>array('value'=>'合理化建议','color'=>'#FF0000'),      //流程名称
                'keyword3'=>array('value'=>'变更您为反馈责任人','color'=>'#FF0000'),      //流程标题
                'keyword4'=>array('value'=>$old_owner,'color'=>'#FF0000'),      //申请人
                'keyword5'=>array('value'=>date('Y-m-d,H:i:s',time()),'color'=>'#FF0000'),      //申请时间
            )
        );
        $wx_model = new wxMsg();
        $wx_model->send_msg(json_encode($template));
        //发送微信服务号消息结束
        exit(json_encode(array('code' =>0,'msg'=>'确认完成！')));
    }
    //合理化建议确认
    public function suggestionDetailConfirm(){
        Db::name('onsite_suggestion_list')->where('id',input('post.id'))->update(['status'=>4,'update'=>time()]);
        //发送微信服务号消息
        $info = Db::name('onsite_suggestion_list')->find(input('post.id'));
        $template = array(
            'touser'=>$info['owner'],  //用户userId
            'type'=>2,  //用户类型  1：现场人员    2：办公室人员
            'template_id'=>"3Huxw6Ptdx15igJrOWwJ2OhlRmqX15AKwDdI5cK-ZOE", //流程待办提醒模板id
            'data'=>array(
                'keyword1'=>array('value'=>$info['id'],'color'=>'#FF0000'),     //流程编号
                'keyword2'=>array('value'=>'合理化建议','color'=>'#FF0000'),      //流程名称
                'keyword3'=>array('value'=>'合理化建议改善完成通知','color'=>'#FF0000'),      //流程标题
                'keyword4'=>array('value'=>$info['ename'],'color'=>'#FF0000'),      //申请人
                'keyword5'=>array('value'=>date('Y-m-d,H:i:s',time()),'color'=>'#FF0000'),      //申请时间
            )
        );
        $wx_model = new wxMsg();
        $wx_model->send_msg(json_encode($template));
        //发送微信服务号消息结束
        exit(json_encode(array('code' =>0,'msg'=>'确认完成！')));
    }
    //图片上传通用函数
    private function img_upload($save_url){
        $files = request()->file();
        $file = $files['image'];
        $savename = \think\facade\Filesystem::disk('public')->putFileAs('wx_upload/'.$save_url.'/'.date('Ymd',time()).'/', $file, $file->getOriginalName());
        exit(json_encode(array('code'=>0,'msg'=>'图片上传成功!')));
    }
    //CCLP QVC记录保存
    public function qvc_update(){
        $data = input('post.');
        $data = array_diff_key($data,['m_type'=>0,'m_type_name'=>0]);
        $data['record_date'] = strtotime($data['record_date']);
        $data['update'] = time();
        print_r($data);
        Db::name('onsite_qvc_record')->save($data);
        exit(json_encode(array('code'=>0)));
    }
    //分层审核图片上传接口-WX
    public function layer_audit_img_upload(){
        $this->img_upload('layer');
    }
    //分层审核结果保存
    public function layerAuditSave(){
        $data = input('post.');
        // if(isset($data['explained'])){
        //     Db::name('quality_layer_check_list')->where('id',$data['check_id'])->update(['explained'=>$data['explained']]);
        // }
        $record = Db::name('quality_layer_record')->where(array('plan_id'=>$data['plan_id'],'check_id'=>$data['check_id'],'status'=>1))->find();
        switch ((int)$data['record']) {
            case 1:
                if($record){
                    if($record['record']==1){
                        exit(json_encode(array('code'=>1,'msg'=>'该条款已经审核通过，现场无异常，无需重新提交！')));
                    }else{
                        exit(json_encode(array('code'=>1,'msg'=>'该条款已经审核发现异常或不适用，如需重新提交，请删除审核记录后重试！')));
                    }
                }else{
                    $record = new QualityLayerRecord;
                    $record->plan_id = $data['plan_id'];
                    $record->check_id = $data['check_id'];
                    $record->record = 1;
                    $record->audit_time = time();
                    $record->desc = isset($data['desc'])?htmlspecialchars($data['desc']):null;
                    $record->save();
                    $img = explode(',',$data['imgs']);
                    if($img[0]!==''){
                        foreach ($img as $k => $v) {
                            Db::name('img_list')->save(['mid'=>13,'img'=>'/storage/wx_upload/layer/'.date('Ymd',time()).'/'.$v,'mark'=>$record->id]);
                        }
                    }
                    exit(json_encode(array('code'=>0,'msg'=>'该条款审核结果已保存！')));
                }
                break;
            case 2:
                if($record){
                    if($record['record']==2){
                        exit(json_encode(array('code'=>1,'msg'=>'该条款已经审核异常，如需修改，请到我的问题进行修改！')));
                    }else{
                        exit(json_encode(array('code'=>1,'msg'=>'该条款已经审核发现正常或不适用，如需重新提交，请删除审核记录后重试！')));
                    }
                }else{
                    $list = array_intersect_key($data,['auditor'=>1,'area'=>1,'tid'=>1,'issue'=>1,'owner'=>1]);
                    $list['dpt'] = Db::name('admin_user')->where('id',$list['owner'])->value('dpt');
                    $info = QualityLayerRecord::create(['plan_id'=>$data['plan_id'],'check_id'=>$data['check_id'],'audit_time'=>time(),'record'=>2]);
                    $list['record_id'] = $info->id;
                    $list['audit_date'] = time();
                    $list['update'] = time();
                    $list['level'] = Db::name('quality_layer_planning')->where('id',$data['plan_id'])->value('level');
                    $list['issue'] = htmlspecialchars($data['issue']);
                    $issue_id = Db::name('quality_layer_issue')->insertGetId($list);
                    //发送微信服务号消息
                    $auditor_name = Db::name('admin_user')->where('id',$list['auditor'])->value('truename');
                    $template = array(
                        'touser'=>$list['owner'],  //用户userId
                        'type'=>2,  //用户类型  1：现场人员    2：办公室人员
                        'template_id'=>"3Huxw6Ptdx15igJrOWwJ2OhlRmqX15AKwDdI5cK-ZOE", //流程待办提醒模板id
                        'data'=>array(
                            'keyword1'=>array('value'=>$issue_id,'color'=>'#FF0000'),     //流程编号
                            'keyword2'=>array('value'=>'分层审核','color'=>'#FF0000'),      //流程名称
                            'keyword3'=>array('value'=>'分层审核问题反馈','color'=>'#FF0000'),      //流程标题
                            'keyword4'=>array('value'=>$auditor_name,'color'=>'#FF0000'),      //申请人
                            'keyword5'=>array('value'=>date('Y-m-d,H:i:s',time()),'color'=>'#FF0000'),      //申请时间
                        )
                    );
                    $wx_model = new wxMsg();
                    $wx_model->send_msg(json_encode($template));
                    //发送微信服务号消息结束
                    $img = explode(',',$data['imgs']);
                    if(count($img)>0){
                        foreach ($img as $key => $value) {
                            if($value!==''){
                                Db::name('img_list')->save(['mark'=>$issue_id,'img'=>'/storage/wx_upload/layer/'.date('Ymd',time()).'/'.$value,'mid'=>4]);
                            }
                        }
                    }
                    exit(json_encode(array('code'=>0,'msg'=>'分层审核问题提交成功！')));
                }
                break;
            case 3:
                if($record){
                    if($record['record']==3){
                        exit(json_encode(array('code'=>1,'msg'=>'该条款已经审核为不适用，无需重新提交！')));
                    }else{
                        exit(json_encode(array('code'=>1,'msg'=>'该条款已经审核为正常或者发现异常，如需重新提交，请删除审核记录后重试？')));
                    }
                }else{
                    QualityLayerRecord::create(['plan_id'=>$data['plan_id'],'check_id'=>$data['check_id'],'record'=>3,'audit_time'=>time()]);
                    exit(json_encode(array('code'=>0,'msg'=>'该条款审核结果已保存！')));
                }
                break;
        }
    }
    //分层审核结果删除
    public function layerAuditDel(){
        $data = input('post.');
        $data['status'] = 1;
        $id = Db::name('quality_layer_record')->where($data)->value('id');
        $record = QualityLayerRecord::find($id);
        $record->status = 0;
        $record->desc = date('Y-m-d H:i:s').'删除审核记录';
        $record->save();
        if($record->record==2){
            Db::name('quality_layer_issue')->where('record_id',$id)->update(['status'=>0]);
        }
        exit(json_encode(array('code'=>0,'msg'=>'该条款审核结果已删除！')));
    }
    //分层审核问题编辑
    public function layerAuditIssueEdit(){
        $data = input('post.');
        $saveData = array_intersect_key($data,['id'=>0,'area'=>0,'tid'=>0,'dpt'=>0,'owner'=>0,'issue'=>0]);
        Db::name('quality_layer_issue')->save($saveData);
        $imgs = '';
        foreach ($data['imgs_issue'] as $k => $v) {
            $url = str_replace('\\', '/', $v['img']);
            $item = explode('/',$url);
            $imgs = $imgs==''?$item[5]:($imgs.','.$item[5]);
        }
        if($imgs!==$data['imgs']){
            $old = explode(',',$imgs);
            $new = explode(',',$data['imgs']);
            $newAdd = array_diff($new,$old);
            $newDel = array_diff($old,$new);
            if(count($newAdd)>0){
                foreach($newAdd as $k => $v){
                    if($v!==''){
                        Db::name('img_list')->insert(['mid'=>4,'status'=>1,'mark'=>$data['id'],'img'=>'/storage/wx_upload/layer/'.date('Ymd',time()).'/'.$v]);
                    }
                }
            }
            if(count($newDel)>0){
                foreach($newDel as $k => $v){
                    if($v!==''){
                        Db::name('img_list')->where(array('mid'=>4,'status'=>1,'mark'=>$data['id']))->where('img','like','%'.$v)->update(['status'=>0]);
                    }
                }
            }
        }
        exit(json_encode(array('code'=>0,'msg'=>'分层审核问题更新完成！')));
    }
    //分层审核反馈保存
    public function layerAuditActionSave(){
        $data = input('post.');
        $saveData = array_intersect_key($data,['id'=>0,'root_case'=>0,'action'=>0,'due_date'=>0,'status'=>0]);
        $saveData['due_date'] = strtotime($saveData['due_date']);
        Db::name('quality_layer_issue')->save($saveData);
        $imgs = '';
        foreach ($data['imgs_feedback'] as $k => $v) {
            $url = str_replace('\\', '/', $v['img']);
            $item = explode('/',$url);
            $imgs = $imgs==''?$item[5]:($imgs.','.$item[5]);
        }
        if($imgs!==$data['imgs']){
            $old = explode(',',$imgs);
            $new = explode(',',$data['imgs']);
            $newAdd = array_diff($new,$old);
            $newDel = array_diff($old,$new);
            if(count($newAdd)>0){
                foreach($newAdd as $k => $v){
                    if($v!==''){
                        Db::name('img_list')->insert(['mid'=>4,'status'=>2,'mark'=>$data['id'],'img'=>'/storage/wx_upload/layer/'.date('Ymd',time()).'/'.$v]);
                    }
                }
            }
            if(count($newDel)>0){
                foreach($newDel as $k => $v){
                    if($v!==''){
                        Db::name('img_list')->where(array('mid'=>4,'status'=>1,'mark'=>$data['id']))->where('img','like','%'.$v)->update(['status'=>0]);
                    }
                    
                }
            }
        }
        //发送微信服务号消息
        if($saveData['status']==4){
            $info = Db::name('quality_layer_issue')->find($saveData['id']);
            $owner_name = Db::name('admin_user')->where('id',$info['owner'])->value('truename');
            $template = array(
                'touser'=>$info['auditor'],  //用户userId
                'type'=>2,  //用户类型  1：现场人员    2：办公室人员
                'template_id'=>"3Huxw6Ptdx15igJrOWwJ2OhlRmqX15AKwDdI5cK-ZOE", //流程待办提醒模板id
                'data'=>array(
                    'keyword1'=>array('value'=>$info['id'],'color'=>'#FF0000'),     //流程编号
                    'keyword2'=>array('value'=>'分层审核','color'=>'#FF0000'),      //流程名称
                    'keyword3'=>array('value'=>'分层审核问题措施确认','color'=>'#FF0000'),      //流程标题
                    'keyword4'=>array('value'=>$owner_name,'color'=>'#FF0000'),      //申请人
                    'keyword5'=>array('value'=>date('Y-m-d,H:i:s',time()),'color'=>'#FF0000'),      //申请时间
                )
            );
            $wx_model = new wxMsg();
            $wx_model->send_msg(json_encode($template));
        }
        //发送微信服务号消息结束
        exit(json_encode(array('code'=>0,'msg'=>'分层审核问题更新完成！')));
    }
    //分层审核反馈确认
    public function layerAuditActionConfirm(){
        Db::name('quality_layer_issue')->where('id',input('post.id'))->update(['status'=>5]);
        //发送微信服务号消息
        $info = Db::name('quality_layer_issue')->find(input('post.id'));
        $auditor_name = Db::name('admin_user')->where('id',$info['auditor'])->value('truename');
        $template = array(
            'touser'=>$info['owner'],  //用户userId
            'type'=>2,  //用户类型  1：现场人员    2：办公室人员
            'template_id'=>"3Huxw6Ptdx15igJrOWwJ2OhlRmqX15AKwDdI5cK-ZOE", //流程待办提醒模板id
            'data'=>array(
                'keyword1'=>array('value'=>$saveData['id'],'color'=>'#FF0000'),     //流程编号
                'keyword2'=>array('value'=>'分层审核','color'=>'#FF0000'),      //流程名称
                'keyword3'=>array('value'=>'分层审核问题关闭','color'=>'#FF0000'),      //流程标题
                'keyword4'=>array('value'=>$auditor_name,'color'=>'#FF0000'),      //申请人
                'keyword5'=>array('value'=>date('Y-m-d,H:i:s',time()),'color'=>'#FF0000'),      //申请时间
            )
        );
        $wx_model = new wxMsg();
        $wx_model->send_msg(json_encode($template));
        //发送微信服务号消息结束
        exit(json_encode(array('code'=>0,'msg'=>'分层审核问题审核完成！')));
    }
    //点检记录保存
    public function toolsCheckUpdateNew(){
        $list = input('post.');
        $parms = $list['params'];
        $records = Db::name('me_check_record')->where(array('m_id'=>$parms['m_id'],'check_date'=>$parms['check_date'],'shift'=>$parms['shift']))->column('mid');
        $mid = array_unique($records);
        if(count($mid)>1){
            exit(json_encode(array('code'=>1,'msg'=>'已重复点检！')));
        }
        if(count($mid)==1&&$mid[0]!==$parms['mid']){
            $name = Db::name('member_list')->where('id',$mid[0])->value('ename');
            exit(json_encode(array('code'=>1,'msg'=>'已被'.$name.'点检！')));
        }
        $parms['update'] = time();
        $record = Db::name('me_check_record')->whereIn('id',array_column($list['data'],'result_id'))->cates('id');
        $check_num = 0;
        $checktime = 0;
        foreach ($list['data'] as $k => $v) {
            if($v['num']>1&&isset($v['checktime'])){
                $checktime = $v['checktime'];
            }
            if($v['num']>1&&(isset($v['checktime'])==false)&&isset($v['result'])&&$v['result']>0){
                $check_num = $check_num + 1;
            }
        }
        if($check_num > 1){
            exit(json_encode(array('code'=>1,'msg'=>'多次点检项重复！')));
        }
        foreach ($list['data'] as $k => $v) {
            if(isset($v['result_id'])==false){
                if($v['num']>1&&isset($v['result'])&&$v['result']>0&&((time()-$checktime) < 3600*3)){
                    exit(json_encode(array('code'=>1,'msg'=>'低于3小时！')));
                }
            }
        }
        foreach ($list['data'] as $k => $v) {
            if(isset($v['result_id'])){
                if($v['result']!==$record[$v['result_id']]['result']||$v['mark']!==$record[$v['result_id']]['mark']){
                    $issue = Db::name('me_check_issue')->where(array('check_id'=>$v['result_id'],'check_time'=>$v['update']))->find();
                    if((int)$v['result']==0){
                        Db::name('me_check_record')->where('id',$v['result_id'])->delete();
                        if($issue){
                            Db::name('me_check_issue')->where('id',$issue['id'])->delete();
                        }
                    }else{
                        Db::name('me_check_record')->where('id',$v['result_id'])->update(['result'=>$v['result'],'mark'=>$v['mark']]);
                        if((int)$v['result']==2){
                            if(!$issue){
                                Db::name('me_check_issue')->insert(['check_id'=>$v['result_id'],'mid'=>$parms['mid'],'tid'=>$parms['tid'],'check_time'=>$v['update']]);
                            }
                        }else{
                            if($issue){
                                Db::name('me_check_issue')->where('id',$issue['id'])->delete();
                            }
                        }
                    }
                }
            }else{
                if(isset($v['result'])&&$v['result']>0){
                    $parms['check_id'] = $v['id'];
                    $parms['result'] = $v['result'];
                    if(isset($v['result'])&&(int)$v['result']==2){
                        $parms['mark'] = $v['mark'];
                        $id = Db::name('me_check_record')->insertGetId($parms);
                        Db::name('me_check_issue')->insert(['check_id'=>$id,'mid'=>$parms['mid'],'tid'=>$parms['tid'],'check_time'=>$parms['update']]);
                    }else{
                        $parms['mark'] = isset($v['mark'])?$v['mark']:null;
                        Db::name('me_check_record')->insert($parms);
                    }
                }
            }
        }
        $type = Db::name('me_machine_list')->where('id',$parms['m_id'])->value('type');
        $check_num = array_sum(Db::name('me_check_list')->where('type',$type)->column('num'));
        $check_all = Db::name('me_check_record')->where(array('m_id'=>$parms['m_id'],'check_date'=>$parms['check_date'],'shift'=>$parms['shift'],'status'=>1))->count();
        $check_ok = $check_all == $check_num?3:2;
        exit(json_encode(array('code'=>0,'msg'=>'点检记录已保存！','ok'=>$check_ok)));
    }
    //离职申请
    public function leaveSave(){
        $data = input('post.');
        if($data['status']==1){
            $data = array_intersect_key($data,['mid'=>0,'type'=>0,'goto'=>0,'reason'=>0]);
            $data['update'] = time();
            $info = Db::name('member_list')->find($data['mid']);
            $hiredate = $info['hiredate'];
            if((strtotime('today')-$hiredate)/86400>=30){
                $data['perleave_date'] = strtotime('today')+15*86400;
            }else{
                $data['perleave_date'] = strtotime('today')+3*86400;
            }
            $data['tid'] = $info['tid'];
            $data['aid'] = Db::name('team_list')->where('id',$data['tid'])->value('aid');
            $id = Db::name('member_perleave')->insertGetId($data);
            //发送微信服务号消息
            $template = array(
                'touser'=>$data['aid'],  //用户userId
                'type'=>2,  //用户类型  1：现场人员    2：办公室人员
                'template_id'=>"3Huxw6Ptdx15igJrOWwJ2OhlRmqX15AKwDdI5cK-ZOE", //流程待办提醒模板id
                'data'=>array(
                    'keyword1'=>array('value'=>$id,'color'=>'#FF0000'),     //流程编号
                    'keyword2'=>array('value'=>'员工离职','color'=>'#FF0000'),      //流程名称
                    'keyword3'=>array('value'=>'原因：'.$data['reason'],'color'=>'#FF0000'),      //流程标题
                    'keyword4'=>array('value'=>$info['ename'],'color'=>'#FF0000'),      //申请人
                    'keyword5'=>array('value'=>date('Y-m-d,H:i:s',time()),'color'=>'#FF0000'),      //申请时间
                )
            );
            $wx_model = new wxMsg();
            $wx_model->send_msg(json_encode($template));
            exit(json_encode(array('code'=>0,'perleave_date'=>date('Y-m-d',$data['perleave_date']))));
        }else{
            // Db::name('member_perleave')->where(array('mid'=>$data['mid'],'status'=>1))->update(['status'=>3,'mark'=>'本人于'.date('Y-m-d H:i:s',time()).'取消！']);
            exit(json_encode(array('code'=>0,'msg'=>'撤销离职申请失败，离职撤回需由班长在后台进行撤回！')));
        }
    }
    //合理化建议图片上传接口-WX
    public function suggestion_img_upload(){
        $this->img_upload('suggestion');
    }
    //经理现场审核
    public function managerAuditSave(){
        $data = input('post.');
        $img = $data['imgs'];
        $data['dpt'] = substr($data['dpt'],1);
        unset($data['imgs']);
        $data['aid'] = Db::name('team_list')->where('id',$data['tid'])->value('aid');
        $data['audit_date'] = time();
        $id = Db::name('onsite_manager_audit')->insertGetId($data);
        if($img!==''){
            $imgs = explode(',',$img);
            foreach ($imgs as $k => $v) {
                if($v!==''){
                    Db::name('img_list')->insert(['mid'=>26,'mark'=>$id,'img'=>'/storage/wx_upload/onsite_issue/'.date('Ymd',time()).'/'.$v]);
                }
            }
        }
        exit(json_encode(array('code'=>0,'msg'=>'问题保存成功!')));
    }
    //经理现场审核问题确认
    public function managerAuditIssueconfirm(){
        Db::name('onsite_manager_audit')->where('id',input('post.id'))->update(['status'=>3]);
        exit(json_encode(array('code'=>0,'msg'=>'确认成功!')));
    }
    //物品放行单图片上传接口-WX
    public function out_plant_img_upload(){
        $this->img_upload('out_plant');
    }
    //物品放行单的物品明细上传
    public function outPlantMaterialAdd(){
        $data = input('post.');
        $data['img'] = $data['img']!==''?'/storage/wx_upload/'.date('Ymd',time()).'/out_plant/'.$data['img']:'';
        $data['id'] = Db::name('common_outplant_material')->insertGetId($data);
        // $data['id'] = $id
        exit(json_encode(array('code'=>0,'msg'=>'记录已保存!','data'=>$data)));
    }
    //人员、物品出门条保存
    public function outPlantSave(){
        $data = input('post.');
        if($data['owner']==''){
            exit(json_encode(array('code'=>1,'msg'=>'帐号异常!')));
        }
        $msg['out_time'] = $data['out_time'];
        if($data['type']==1){
            if($data['ownerType']==1){
                $member = Db::name('member_list')->find($data['owner']);
                $team = Db::name('team_list')->find($member['tid']);
                $msg['dpt'] = $team['team'];
                $msg['name'] = $member['ename'];
                $data['apv1'] = $team['aid'];
            }else{
                $user = Db::name('admin_user')->find($data['owner']);
                if($user['dpt']==75){
                    $apv_job = Db::name('admin_org')->where(array('mid'=>6,'title'=>'经理'))->value('id');
                }else if($user['dpt']==60){
                    $apv_job = Db::name('admin_org')->where(array('mid'=>47,'title'=>'经理'))->value('id');
                }else{
                    $apv_job = Db::name('admin_org')->where(array('mid'=>$user['dpt'],'title'=>'经理'))->value('id');
                }
                if($user['job']==$apv_job){
                    if(in_array($user['dpt'],[1,2,4,69])){
                        $data['apv1'] = 311;
                    }else{
                        $data['apv1'] = 462;
                    }
                }else{
                    $data['apv1'] = Db::name('admin_user')->where(array('job'=>$apv_job,'status'=>1))->value('id');
                    if(!$data['apv1']){
                        exit(json_encode(array('code'=>1,'msg'=>'无审批人!')));
                    }
                }
                $msg['dpt'] = Db::name('admin_org')->where('id',$user['dpt'])->value('title');
                $msg['name'] = $user['truename'];
            }
            if(isset($data['apv2'])&&$data['apv2']===302){
                $data['apv2'] = 260;
            }
            $data['on_check'] = $data['apv1'];
            $data['out_time'] = strtotime($data['out_time']);
            $data['create_time'] = time();
            $data['back_time'] = $data['back_time']==''?'':strtotime($data['back_time']);
            $id = Db::name('common_outplant')->insertGetId($data);
        }else{
            $flag = 1;
            $list = $data['list'];
            unset($data['list']);
            $aid_info = Db::name('admin_user')->find($data['owner']);
            $msg['dpt'] = Db::name('admin_org')->where('id',$aid_info['dpt'])->value('title');
            $msg['name'] = $aid_info['truename'];
            foreach ($list as $k => $v) {
                if($v['type']==1){
                    $flag = 2;
                }
            }
            if($flag == 2){
                $dpt = $aid_info['dpt'];
                // $dpt = $dpt==47?7:$dpt;
                $apv_job = Db::name('admin_org')->where(array('mid'=>$dpt,'title'=>'经理'))->value('id');
                $data['apv2'] = Db::name('admin_user')->where(array('job'=>$apv_job,'status'=>1))->value('id');
                $apv3 = [289,414,415,455];
                // $apv3 = [289,414,415];
                $num = rand(0,count($apv3));
                $data['apv3'] = $apv3[$num];
                // $data['apv3'] = 415;
            }else{
                if(array_sum(array_column($list,'type'))/count($list)==3){
                    $data['apv1'] = 127;
                    $data['apv2'] = 127;
                    $apv3 = [289,414,415,455];
                    $num = rand(0,count($apv3));
                    $data['apv3'] = $apv3[$num];
                }
            }
            if(isset($data['apv2'])&&$data['apv2']===302){
                $data['apv2'] = 260;
            }
            $data['on_check'] = $data['apv1'];
            $data['out_time'] = strtotime($data['out_time']);
            $data['create_time'] = time();
            $data['img'] = $data['img']!==''?'/storage/wx_upload/'.date('Ymd',time()).'/out_plant/'.date('Hi',time()).$data['img']:'';
            $id = Db::name('common_outplant')->insertGetId($data);
            foreach ($list as $k => $v) {
                Db::name('common_outplant_material')->where('id',$v['id'])->update(['n_id'=>$id]);
            }
        }
        //发送微信服务号消息
        $template = array(
            'touser'=>$data['apv1'],  //用户userId
            'type'=>2,  //用户类型  1：现场人员    2：办公室人员
            'template_id'=>"Xj5IHepaRFPbij90BvmscvpMLNIOL1gKDoCtjhQfSS0", //外出审批通知模板id
            'data'=>array(
                'keyword1'=>array('value'=>$msg['dpt'],'color'=>'#FF0000'),
                'keyword2'=>array('value'=>$msg['name'],'color'=>'#FF0000'),
                'keyword3'=>array('value'=>$msg['out_time'],'color'=>'#FF0000'),
                'keyword4'=>array('value'=>($data['type']==1?'人员':'物品')."外出申请单审批",'color'=>'#FF0000'),
            )
        );
        $wx_model = new wxMsg();
        $wx_model->send_msg(json_encode($template));
        exit(json_encode(array('code'=>0,'msg'=>'申请成功!')));
    }
    //人员、物品出门条审批
    public function outPlantCheck(){
        $data = input('post.');
        $record = Db::name('common_outplant')->find($data['id']);
        $msg['mark'] = isset($data['content'])?$data['content']:'';
        $pass = $data['status']==1?'已通过':'已驳回';
        if($data['status']==0){
            switch ($record['status']) {
                case 1:
                    $data['apv1_time'] = time();
                    $data['apv1_mark'] = $data['content'];
                    break;
                case 2:
                    $data['apv2_time'] = time();
                    $data['apv2_mark'] = $data['content'];
                    break;
                case 3:
                    $data['apv3_time'] = time();
                    $data['apv3_mark'] = $data['content'];
                    break;
            }
            $data['status'] = 0;
            $data['on_check'] = null;
            unset($data['content']);
        }else{
            switch ($record['status']) {
                case 1:
                    $data['apv1_time'] = time();
                    $data['status'] = $record['apv2']>0?2:($record['apv3']>0?3:4);
                    $data['on_check'] = $record['apv2']>0?$record['apv2']:($record['apv3']>0?$record['apv3']:null);
                    if($record['apv2']==$record['apv1']){
                        $data['apv2_time'] = time();
                        $data['status'] = $record['apv3']>0?3:4;
                        $data['on_check'] = $record['apv3']>0?$record['apv3']:null;
                    }
                    break;
                case 2:
                    $data['apv2_time'] = time();
                    $data['status'] = $record['apv3']>0?3:4;
                    $data['on_check'] = $record['apv3']>0?$record['apv3']:null;
                    break;
                case 3:
                    $data['apv3_time'] = time();
                    $data['status'] = 4;
                    $data['on_check'] = null;
                    break;
            }
        }
        Db::name('common_outplant')->save($data);
        //发送微信服务号消息
        if($data['on_check']>0){
            $aid_info = Db::name('admin_user')->find($record['owner']);
            $msg['dpt'] = Db::name('admin_org')->where('id',$aid_info['dpt'])->value('title');
            $template = array(
                'touser'=>$data['on_check'],  //用户userId
                'type'=>2,  //用户类型  1：现场人员    2：办公室人员
                'template_id'=>"Xj5IHepaRFPbij90BvmscvpMLNIOL1gKDoCtjhQfSS0", //外出审批通知模板id
                'data'=>array(
                    'keyword1'=>array('value'=>$msg['dpt'],'color'=>'#FF0000'),
                    'keyword2'=>array('value'=>$aid_info['truename'],'color'=>'#FF0000'),
                    'keyword3'=>array('value'=>date('Y-m-d H:i:s',$record['out_time']),'color'=>'#FF0000'),
                    'keyword4'=>array('value'=>($record['type']==1?'人员':'物品')."外出申请单审批",'color'=>'#FF0000'),
                )
            );
        }else{
            $template = array(
                'touser'=>$record['owner'],  //用户userId
                'type'=>$record['ownerType'],  //用户类型  1：现场人员    2：办公室人员
                'template_id'=>"F3PoGDVBFQTfjNoatFQwl1fmJy3AUF9fRnPiBnV9whI", //审批结果通知模板id
                'data'=>array(
                    'keyword1'=>array('value'=>($record['type']==1?'人员':'物品')."外出申请单".$pass,'color'=>'#FF0000'),
                    'keyword2'=>array('value'=>date('Y-m-d H:i:s',time()),'color'=>'#FF0000'),
                )
            );
        }
        $wx_model = new wxMsg();
        $wx_model->send_msg(json_encode($template));
        exit(json_encode(array('code'=>0,'msg'=>'审批完成!','status'=>$data['status'],'on_check'=>$data['on_check'])));
    }
    //人员、物品出门条删除
    public function outPlantDel(){
        $record = Db::name('common_outplant')->find(input('post.id'));
        Db::name('common_outplant')->where('id',input('post.id'))->update(['status'=>-1,'on_check'=>null]);
        if($record['ownerType']==1){
            $owner_info = Db::name('member_list')->find($record['owner']);
            $owner_name = $owner_info['ename'];
            $msg['dpt'] = Db::name('team_list')->where('id',$owner_info['tid'])->value('team');
        }else{
            $owner_info = Db::name('admin_user')->find($record['owner']);
            $owner_name = $owner_info['truename'];
            $msg['dpt'] = Db::name('admin_org')->where('id',$owner_info['dpt'])->value('title');
        }
        $template = array(
            'touser'=>$record['on_check'],  //用户userId
            'type'=>2,  //用户类型  1：现场人员    2：办公室人员
            'template_id'=>"Xj5IHepaRFPbij90BvmscvpMLNIOL1gKDoCtjhQfSS0", //外出审批通知模板id
            'data'=>array(
                'keyword1'=>array('value'=>$msg['dpt'],'color'=>'#FF0000'),
                'keyword2'=>array('value'=>$owner_name,'color'=>'#FF0000'),
                'keyword3'=>array('value'=>date('Y-m-d H:i:s',$record['out_time']),'color'=>'#FF0000'),
                'keyword4'=>array('value'=>($record['type']==1?'人员':'物品')."外出申请单撤回",'color'=>'#FF0000'),
            )
        );
        $wx_model = new wxMsg();
        $wx_model->send_msg(json_encode($template));
        exit(json_encode(array('code'=>0,'msg'=>'删除完成!')));
    }
    //访客审批
    public function visitorCheck(){
        $data = input('post.');
        $record = Db::name('common_visitor_list')->find($data['id']);
        $rej_reason = "";
        if($data['status']==0){
            Db::name('common_visitor_step')->where(array('s_id'=>$data['id'],'order'=>$record['step_now']))->update(['update'=>time(),'mark'=>$data['content'],'status'=>0]);
            Db::name('common_visitor_step')->where('s_id',$data['id'])->where('order','<',$record['step_now'])->update(['status'=>0]);
            $data['status'] = 0;
            $data['aid'] = 0;
            $rej_reason = $data['content'];
            unset($data['content']);
        }else{
            $steps = Db::name('common_visitor_step')->where('s_id',$data['id'])->where('status','>',0)->cates('order');
            if($record['step_now']==count($steps)){
                $data['status'] = 2;
                $data['aid'] = 0;
            }else{
                $data['status'] = 1;
                $data['step_now'] = $record['step_now'] + 1;
                $data['aid'] = $steps[$data['step_now']]['aid'];
            }
            Db::name('common_visitor_step')->where(array('s_id'=>$data['id'],'order'=>$record['step_now']))->update(['update'=>time(),'status'=>2]);
        }
        Db::name('common_visitor_list')->save($data);
        if($data['status']==0){
            //发送微信服务号消息
            $template = array(
                'touser'=>$record['owner'],  //用户userId
                'type'=>2,  //用户类型  1：现场人员    2：办公室人员
                'template_id'=>"3Huxw6Ptdx15igJrOWwJ2OhlRmqX15AKwDdI5cK-ZOE", //流程待办提醒模板id
                'data'=>array(
                    'keyword1'=>array('value'=>$data['id'],'color'=>'#FF0000'),     //流程编号
                    'keyword2'=>array('value'=>'访客申请审批驳回','color'=>'#FF0000'),      //流程名称
                    'keyword3'=>array('value'=>'原因：'.$rej_reason,'color'=>'#FF0000'),      //流程标题
                    'keyword4'=>array('value'=>$record['aid'],'color'=>'#FF0000'),      //申请人
                    'keyword5'=>array('value'=>date('Y-m-d,H:i:s',time()),'color'=>'#FF0000'),      //申请时间
                )
            );
        }
        if($data['status']==1){
             //发送微信服务号消息
            $template = array(
                'touser'=>$data['aid'],  //用户userId
                'type'=>2,  //用户类型  1：现场人员    2：办公室人员
                'template_id'=>"3Huxw6Ptdx15igJrOWwJ2OhlRmqX15AKwDdI5cK-ZOE", //流程待办提醒模板id
                'data'=>array(
                    'keyword1'=>array('value'=>$record['id'],'color'=>'#FF0000'),     //流程编号
                    'keyword2'=>array('value'=>'访客申请','color'=>'#FF0000'),      //流程名称
                    'keyword3'=>array('value'=>'访客申请待审批','color'=>'#FF0000'),      //流程标题
                    'keyword4'=>array('value'=>$record['owner'],'color'=>'#FF0000'),      //申请人
                    'keyword5'=>array('value'=>date('Y-m-d,H:i:s',time()),'color'=>'#FF0000'),      //申请时间
                )
            );
        }
        if($data['status']==2){
             //发送微信服务号消息
            $template = array(
                'touser'=>$record['owner'],  //用户userId
                'type'=>2,  //用户类型  1：现场人员    2：办公室人员
                'template_id'=>"3Huxw6Ptdx15igJrOWwJ2OhlRmqX15AKwDdI5cK-ZOE", //流程待办提醒模板id
                'data'=>array(
                    'keyword1'=>array('value'=>$record['id'],'color'=>'#FF0000'),     //流程编号
                    'keyword2'=>array('value'=>'访客申请','color'=>'#FF0000'),      //流程名称
                    'keyword3'=>array('value'=>'访客申请审批完成','color'=>'#FF0000'),      //流程标题
                    'keyword4'=>array('value'=>$record['aid'],'color'=>'#FF0000'),      //申请人
                    'keyword5'=>array('value'=>date('Y-m-d,H:i:s',time()),'color'=>'#FF0000'),      //申请时间
                )
            );
        }
        $wx_model = new wxMsg();
        $wx_model->send_msg(json_encode($template));
        exit(json_encode(array('code'=>0,'msg'=>'审批完成!','status'=>$data['status'],'aid'=>$data['aid'])));
    }
    //盘点数据上传
    public function invUploadData(){
        $data = input('post.data');
        $id = input('post.userId');
        $invId = Db::name('onsite_base')->where(array('mid'=>260,'mark'=>1))->value('id');
        $info = Db::name('onsite_inventory')->find($data[0]['id']);
        $record = Db::name('onsite_inventory_record')->where(array('plan_id'=>$invId))->whereIn('i_id',array_column($data,'id'))->cates('i_id');
        foreach ($data as $k => $v) {
            if(isset($v['num'])&&$v['num']!==''){
                if(isset($record[$v['id']])){
                    if($record[$v['id']]['status']==2){
                        if($record[$v['id']]['auditor']==$id){
                            if($v['num']!==$record[$v['id']]['num']){
                                Db::name('onsite_inventory_record')->where('id',$record[$v['id']]['id'])->update(['num'=>$v['num']]);
                            }
                        }
                        if($record[$v['id']]['auditor1']==$id){
                            if($v['num']!==$record[$v['id']]['num1']){
                                Db::name('onsite_inventory_record')->where('id',$record[$v['id']]['id'])->update(['num1'=>$v['num']]);
                            }
                        }
                    }else{
                        if($record[$v['id']]['auditor']==$id){
                            if($v['num']!==$record[$v['id']]['num']){
                                Db::name('onsite_inventory_record')->where('id',$record[$v['id']]['id'])->update(['num'=>$v['num']]);
                            }
                        }else{
                            Db::name('onsite_inventory_record')->where('id',$record[$v['id']]['id'])->update(['num1'=>$v['num'],'auditor1'=>$id,'submitdate1'=>time(),'status'=>2]);
                        }
                    }
                }else{
                    $res = [];
                    $res['plan_id'] = $invId;
                    $res['i_id'] = $v['id'];
                    $res['project'] = $info['project'];
                    $res['line'] = $info['line'];
                    $res['kanban'] = $v['kanban'];
                    $res['num'] = $v['num'];
                    $res['auditor'] = $id;
                    $res['submitdate'] = time();
                    if($v['type']==0||$v['type']==2){
                        $res['num1'] = $v['num'];
                        $res['auditor1'] = $id;
                        $res['submitdate1'] = time();
                        $res['status'] = 2;
                    }
                    Db::name('onsite_inventory_record')->insert($res);
                    // Db::name('onsite_inventory_record')->insert(['project'=>$info['project'],'line'=>$info['line'],'kanban'=>$v['kanban'],'plan_id'=>$invId,'i_id'=>$v['id'],'num'=>$v['num'],'auditor'=>$id,'submitdate'=>time()]);
                }
            }
        }
        $new = Db::name('onsite_inventory_record')->where(array('plan_id'=>$invId))->whereIn('i_id',array_column($data,'id'))->column('status');
        exit(json_encode(array('code'=>0,'msg'=>'上传成功!','num'=>count($new),'num1'=>(array_sum($new)-count($new)))));
    }
    //复盘数据上传
    public function invCheckUploadData(){
        $data = input('post.data');
        $res['check_auditor1'] = input('post.userId');
        foreach ($data as $k => $v) {
            if($v['check_num1']!==""){
                $res['id'] = $v['id'];
                $res['check_num1'] = $v['check_num1'];
                // var_dump($res);
                Db::name('onsite_inventory_record')->save($res);
            }
            
        }
        exit(json_encode(array('code'=>0,'msg'=>'上传成功!')));
    }
    //复盘差异数据上传
    public function invCheckUploadGapData(){
        Db::name('onsite_inventory_record')->save(input('post.'));
        exit(json_encode(array('code'=>0,'msg'=>'上传成功!')));
    }
    //无纸化系统审核
    public function paperlessCheck(){
        $data = input('post.');
        $aid_info = Db::name('admin_user')->field('id,truename,e_mail')->cates('id');
        if($data['status']==1){
            $info = Db::name('onsite_paperless_list')->find($data['id']);
            $steps = Db::name('onsite_paperless_step')->where(array('p_id'=>$data['id'],'type'=>1))->order('order')->cates('order');
            $order_start = 0;
            foreach ($steps as $k => $v) {
                if($order_start > 0){
                    $order_next = (int)$v['order'];
                    break;
                }
                if($v['aid']==$data['aid']){
                    $order_start = (int)$v['order'];
                }
            }
            $mail['to'] = [];
            if(isset($order_next)){
                //有下一步审核人
                //发送微信服务号消息
                $step_all = Db::name('onsite_paperless_step')->where(array('p_id'=>$info['id'],'type'=>1))->count();
                $step_num = Db::name('onsite_paperless_sign')->where('p_id',$info['id'])->count();
                $owner_name = Db::name('admin_user')->where('id',$info['owner'])->value('truename');
                $template = array(
                    'touser'=>$steps[$order_next]['aid'],  //用户userId
                    'type'=>2,  //用户类型  1：现场人员    2：办公室人员
                    'template_id'=>"ycNGai6Lxf8_URgN4GQDAtNZeirGPSnH3EMAaaAjne8", //流程待审批通知模板id
                    'data'=>array(
                        'keyword1'=>array('value'=>'无纸化审批','color'=>'#FF0000'),     //流程名称
                        'keyword2'=>array('value'=>$info['title'],'color'=>'#FF0000'),        //流程标题
                        'keyword3'=>array('value'=>($step_num + 2).'/'.$step_all,'color'=>'#FF0000'),        //当前环节
                        'keyword4'=>array('value'=>$owner_name,'color'=>'#FF0000'),      //提交人
                        'keyword5'=>array('value'=>date('Y-m-d,H:i:s',$info['create_time']),'color'=>'#FF0000'),      //提交时间
                    )
                );
                $wx_model = new wxMsg();
                $wx_model->send_msg(json_encode($template));
                //发送邮件消息
                Db::name('onsite_paperless_list')->where('id',$data['id'])->update(['step'=>$steps[$order_next]['aid'],'status'=>2]);
                array_push($mail['to'],$steps[$order_next]['aid']);
                $html1 = $aid_info[$steps[$order_next]['aid']]['truename'].'：<br>以下无纸化审核单需要您的审批,请及时处理！
                    <p>申请人：'.$aid_info[$info['owner']]['truename'].'</p>
                    <p>申请内容：'.$info['title'].'</p>
                    <hr>';
                $mail['title'] = '无纸化系统审核通过通知';
                $msg = '审批已通过！';
            }else{
                //已审核结束
                //发送微信服务号消息
                $step_all = Db::name('onsite_paperless_step')->where(array('p_id'=>$info['id'],'type'=>1))->count();
                $step_num = Db::name('onsite_paperless_sign')->where('p_id',$info['id'])->count();
                $owner_name = Db::name('admin_user')->where('id',$info['owner'])->value('truename');
                $template = array(
                    'touser'=>$info['owner'],  //用户userId
                    'type'=>2,  //用户类型  1：现场人员    2：办公室人员
                    'template_id'=>"gH-Pgs95s6lNtCuoNmgdoY1io-gBgA9Ygw01e3IaNrs", //流程审批结果模板id
                    'data'=>array(
                        'keyword1'=>array('value'=>'无纸化审批','color'=>'#FF0000'),     //审核标题
                        'keyword2'=>array('value'=>date('Y-m-d,H:i:s',$info['create_time']),'color'=>'#FF0000'),      //审核日期
                        'keyword3'=>array('value'=>'完成','color'=>'#FF0000'),      //审核结果
                    )
                );
                $wx_model = new wxMsg();
                $wx_model->send_msg(json_encode($template));
                //发送邮件消息
                Db::name('onsite_paperless_list')->where('id',$data['id'])->update(['step'=>0,'status'=>3]);
                array_push($mail['to'],$info['owner']);
                $html1 = 'All：<br>以下无纸化审核单已审批结束！
                    <p>申请人：'.$aid_info[$info['owner']]['truename'].'</p>
                    <p>申请内容：'.$info['title'].'</p>
                    <hr>';
                $mail['title'] = '无纸化系统审核完成通知';
                $msg = '审批已通过,本审核单已签核完毕！';
                $order_next = 999;
            }
            Db::name('onsite_paperless_sign')->insert(['p_id'=>$info['id'],'aid'=>$data['aid'],'sign'=>1,'order'=>$order_start,'mark'=>$data['mark'],'update'=>time()]);
            $announce = Db::name('onsite_paperless_step')->where(array('p_id'=>$data['id'],'type'=>2))->lists();
            foreach ($announce as $k => $v) {
                if($v['order'] > $order_start && $v['order'] < $order_next){
                    array_push($mail['to'],$v['aid']);
                }
            }
            if(count($mail['to'])==1&&$mail['to'][0]==$info['owner']){
                $owner_email = Db::name('admin_user')->where('id',$info['owner'])->value('e_mail');
                if($owner_email==0||$owner_email==''||$owner_email==null){
                    exit(json_encode(array('code'=>0,'msg'=>'审批已通过,本审核单已签核完毕！')));
                }
            }
            $html2 = '<h3>OMS运营管理系统后台请 <a href="http://10.243.226.7/admin/home/home">点击进入</a> ！</h3><p>tips: 请使用谷歌浏览器或其他高级浏览器，如未安装，请自行下载安装，也可<a href="http://10.243.226.7/static/download/chrome_installer.exe" download="chrome_installer.exe">点击下载</a>安装谷歌浏览器</p>';
            $mail['content'] = 'Dear '.$html1.$html2;
            // print_r($mail);die;
            foreach ($mail['to'] as $k => $v) {
                if($aid_info[$v]['e_mail']==0){
                    unset($mail['to'][$k]);
                }
            }
            if(count($mail['to'])>0){
                $mail_model = new send();
                $res = $mail_model->sendMail($mail);
            }
            exit(json_encode(array('code'=>0,'msg'=>$msg)));
        }else{
            $info = Db::name('onsite_paperless_list')->find($data['id']);
            $step_info = Db::name('onsite_paperless_step')->where(array('p_id'=>$data['id'],'type'=>1))->column('order','aid');
            //发送微信服务号消息
            $template = array(
                'touser'=>$info['owner'],  //用户userId
                'type'=>2,  //用户类型  1：现场人员    2：办公室人员
                'template_id'=>"hJIYPUYKqWQ-jl6tCjNFc-JMUcU_ddZ3zPmtMol9XFQ", //流程审批驳回模板id
                'data'=>array(
                    'keyword1'=>array('value'=>'无纸化审批','color'=>'#FF0000'),     //审核标题
                    'keyword2'=>array('value'=>$aid_info[$info['step']],'color'=>'#FF0000'),      //审核日期
                    'keyword3'=>array('value'=>date('Y-m-d,H:i:s',time()),'color'=>'#FF0000'),      //审核结果
                )
            );
            $wx_model = new wxMsg();
            $wx_model->send_msg(json_encode($template));
            //发送邮件消息
            Db::name('onsite_paperless_list')->where('id',$data['id'])->update(['step'=>null,'status'=>0]);
            Db::name('onsite_paperless_sign')->insert(['p_id'=>$info['id'],'aid'=>$data['aid'],'sign'=>2,'order'=>$step_info[$data['aid']],'mark'=>$data['mark'],'update'=>time()]);
            $html1 = 'All：<br>以下无纸化审核单已被'.$aid_info[$data['aid']]['truename'].'驳回,请处理！
                <p>申请人：'.$aid_info[$info['owner']]['truename'].'</p>
                <p>申请内容：'.$info['title'].'</p>
                <div>驳回原因：'.$data['mark'].'</div>
                <hr>';
            $mail['title'] = '无纸化系统审核驳回通知';
            $steps = Db::name('onsite_paperless_step')->where('p_id',$data['id'])->order('order')->lists();
            $mail['to'] = [$info['owner']];
            foreach ($steps as $k => $v) {
                if($data['aid'] !== $v['aid']){
                    array_push($mail['to'],$v['aid']);
                }else{
                    break;
                }
            }
            $html2 = '<h3>OMS运营管理系统后台请 <a href="http://10.243.226.7/admin/home/home">点击进入</a> ！</h3><p>tips: 请使用谷歌浏览器或其他高级浏览器，如未安装，请自行下载安装，也可<a href="http://10.243.226.7/static/download/chrome_installer.exe" download="chrome_installer.exe">点击下载</a>安装谷歌浏览器</p>';
            $mail['content'] = 'Dear '.$html1.$html2;
            foreach ($mail['to'] as $k => $v) {
                if($aid_info[$v]['e_mail']==0){
                    unset($mail['to'][$k]);
                }
            }
            if(count($mail['to'])>0){
                $mail_model = new send();
                $res = $mail_model->sendMail($mail);
            }
            exit(json_encode(array('code'=>0,'msg'=>'审批单已驳回！')));
        }
    }
    //访客申请
    public function newVisitorAdd(){
        $data = input('post.');
        $list['type'] = $data['type']; 
        $list['start'] = strtotime($data['visit_date'][0]);
        $list['end'] = strtotime($data['visit_date'][1])+86399;
        $list['owner'] = $data['owner']; 
        $list['dpt'] = Db::name('admin_user')->where('id',$data['owner'])->value('dpt'); 
        $list['reason'] = htmlspecialchars($data['reason']);
        $list['room'] = $data['room']; 
        $list['mark'] = $data['mark'];
        $list['num'] = $data['num'];
        $list['visitor'] = $data['visitor'];
        $list['receive'] = $data['receive'];
        $list['aid'] = $data['sign'][0]['value'];
        $list['step'] = count($data['sign']);
        $id = Db::name('common_visitor_list')->insertGetId($list);
        foreach ($data['sign'] as $k => $v) {
            $res[$k]['s_id'] = $id;
            $res[$k]['order'] = $k+1;
            $res[$k]['aid'] = $v['value']; 
        }
        foreach ($res as $k => $v) {
            Db::name('common_visitor_step')->save($v);
        }
        exit(json_encode(array('code'=>0,'msg'=>'新增申请成功！')));
    }
    //PPI考试
    public function PpiExamScore(){
        $list = input('post.');
        $data = Db::name('quality_ppi_score')->find($list['id']);
        foreach ($list['answer'] as $k => $v) {
            $result[$v['id']] = '['.$v['answered'].']';
        }
        $data['answers'] = json_encode($result);
        $set = Db::name('quality_exam_set')->where('item_type',$data['item_type'])->find();
        $ppi['trained'] = 0;
        $ppi['audit_date'] = null;
        $ppi['id'] = $data['audit_id'];
        $ppi['delay_mark'] = null;
        $ppi['update'] = time();
        if($list['score'] >= $set['pass']){
            $eff_date = Db::name('member_skill')->where('id',$data['audit_id'])->value('eff_date');
            switch ($data['audit_type']) {
                case '11':
                case '12':
                case '18':
                case '19':
                    $ppi['eff_date'] = strtotime("+1year",$eff_date);
                    $ppi['audit_type'] = 12;
                break;
                case '21':
                case '27':
                    $ppi['eff_date'] = strtotime("+3month",$eff_date);
                    $ppi['audit_type'] = 22;
                break;
                case '22':
                case '28':
                    $ppi['eff_date'] = strtotime("+6month",$eff_date);
                    $ppi['audit_type'] = 23;
                break;
                case '23':
                case '29':
                    $ppi['eff_date'] = strtotime("+6month",$eff_date);
                    $ppi['audit_type'] = 23;
                break;
            }
            $record = Db::name('member_skill')->where('id',$ppi['id'])->value('update');
            if(time()-$record < 3600*2){
                exit(json_encode(array('code'=>1,'msg'=>'已考核通过，无需重考！')));
            }
            Db::name('member_skill')->save($ppi);
            $data['status'] = 2;
        }else{
            if(time()-$data['exam_date']>3600){
                switch ($data['audit_type']) {
                    case '11':
                    case '18':
                        $ppi['audit_type'] = 18;
                    break;
                    case '12':
                    case '19':
                        $ppi['audit_type'] = 19;
                    break;
                    case '21':
                        $ppi['audit_type'] = 27;
                    break;
                    case '22':
                        $ppi['audit_type'] = 28;
                    break;
                    case '23':
                        $ppi['audit_type'] = 29;
                    break;
                    case '27':
                    case '28':
                    case '29':
                        $ppi['status'] = 0;
                        $ppi['mark'] = '多技能在线试考核成绩不过，取消该岗位技能,考核日期:'.date('Y-m-d,H:i:s',time()).'！';
                        // $mid_info  = Db::name('member_list')->find($exam_info['mid']);
                        // $skill_name = Db::name('quality_base')->where('id',$exam_info['skill_id'])->value('content');
                        ///$item['content'] = 'Dear All:<br>员工:'.$mid_info['ename'].',工号:'.$mid_info['eid'].',审核技能:'.$skill_name.',于'.date('Y-m-d H:i:s',time()).'两次在线考试不合格（考试得分：'.$scores['score'].'），取消该岗位技能！
                        //     <hr><h3>OMS运营管理系统后台请 <a href="http://10.243.226.7/admin/home/home">点击进入</a> ！</h3>
                        // <p>tips: 请使用谷歌浏览器或其他高级浏览器，如未安装，请自行下载安装，也可<a href="http://10.243.222.145/static/download/chrome_installer.exe" download="chrome_installer.exe">点击下载</a>安装谷歌浏览器</p>';
                        // $item['title'] = '上岗证技能取消通知';
                        // $item['to'] = [27,178,194,300];
                        // $mail_model = new send();
                        // $res = $mail_model->sendMail($item);
                    break;
                    $data['status'] = 3;
                }
                Db::name('member_skill')->save($ppi);
            }else{
                switch ($data['audit_type']) {
                    case '11':
                    case '18':
                        $ppi['audit_type'] = 18;
                    break;
                    case '12':
                    case '19':
                        $ppi['audit_type'] = 19;
                    break;
                    case '21':
                    case '27':
                        $ppi['audit_type'] = 27;
                    break;
                    case '22':
                    case '28':
                        $ppi['audit_type'] = 28;
                    break;
                    case '23':
                    case '29':
                        $ppi['audit_type'] = 29;
                    break;
                }
                Db::name('member_skill')->where('id',$ppi['id'])->update(['audit_type'=>$ppi['audit_type']]);
            }
        }
        if($data['score']==''||$data['score']==null||$data['score']<$list['score']){
            $data['score'] = $list['score'];
            Db::name('quality_ppi_score')->save($data);
        }
        if($list['score'] >= $set['pass']&&$data['audit_type']==11){
            Db::name('member_list')->where('id',$data['mid'])->update(['changed'=>1]);
        }
        if($list['score'] >= $set['pass']){
            $msg = '恭喜！您通过了本次考试!';
            $code = 0;
        }else{
            $msg = '您此次考试得分'.$data['score'].'分,未能通过考试！';
            $code = 1;
        }
        exit(json_encode(array('code'=>$code,'msg'=>$msg)));
    }
    //关键岗位考试
    public function KeyPositionExamScore(){
        $list = input('post.');
        $data = Db::name('quality_newskill_score')->find($list['id']);
        foreach ($list['answer'] as $k => $v) {
            $result[$v['id']] = '['.$v['answered'].']';
        }
        $data['answers'] = json_encode($result);
        $set = Db::name('quality_exam_set')->where('item_type',$data['item_type'])->find();
        if($list['score'] >= $set['pass']){
            $data['status'] = 2;
            $new['mid'] = $data['mid'];
            $new['skill_id'] = Db::name('quality_base')->where('id',$data['item_type'])->value('mark');
            $new['eff_date'] = strtotime("+1month",strtotime('today'));
            $new['skill_type'] = 2;
            $new['audit_type'] = 21;
            $skill = Db::name('member_skill')->where(array('mid'=>$new['mid'],'skill_id'=>$new['skill_id'],'status'=>1))->find();
            if($skill){
                exit(json_encode(array('code'=>1,'msg'=>'岗位技能已存在!')));
            }else{
                Db::name('member_skill')->save($new);
            }
        }else{
            $data['status'] = 3;
        }
        if($data['score']==''||$data['score']==null||$data['score'] < $list['score']){
            $data['score'] = $list['score'];
            Db::name('quality_newskill_score')->save($data);
        }
        if($data['score'] >= $set['pass']){
            $msg = '恭喜！您通过了本次考试!';
            $code = 0;
        }else{
            $msg = '您此次考试得分'.$data['score'].'分,未能通过考试！';
            $code = 1;
        }
        exit(json_encode(array('code'=>$code,'msg'=>$msg)));
    }
    //入职考试
    public function newComerExamScore(){
        $data = input('post.');
        $data = array_intersect_key($data, array_flip(['ename','phone','item_type','score','answer']));
        $data['phone'] = trim((string)($data['phone'] ?? ''));
        if(!preg_match('/^[0-9]{11}$/', $data['phone']) || empty($data['ename']) || !isset($data['score']) || !is_numeric($data['score']) || !is_finite((float)$data['score']) || $data['score'] < 0 || $data['score'] > 100 || empty($data['answer']) || !is_array($data['answer'])){
            exit(json_encode(['code'=>3, 'msg'=>'考试信息不完整或分数不正确']));
        }
        $result = [];
        foreach ($data['answer'] as $k => $v) {
            $result[$v['id']] = '['.$v['answered'].']';
        }
        unset($data['answer']);
        $data['answers'] = json_encode($result);
        exit(json_encode(\app\admin\model\MemberNewcomerExam::saveScore($data)));
    }
    //现场问题反馈图片上传接口-WX
    public function onsite_issue_img_upload(){
        $this->img_upload('onsite_issue');
    }
    //现场反馈问题保存
    public function onsiteIssueSave(){
        $data = input('post.');
        if($data['aid']==''){
            exit(json_encode(array('code'=>1,'msg'=>'无责任人，请重新登录后录入！')));
        }
        $data['issue_date'] = time();
        $data['dpt'] = Db::name('admin_user')->where('id',$data['owner'])->value('dpt');
        $today_num = Db::name('onsite_issue_list')->where('issue_date','>=',strtotime('today'))->count();
        $data['s_num'] = date('y-m-d',strtotime('today')).'-'.($today_num + 1);
        $img = explode(',',$data['imgs']);
        unset($data['imgs']);
        $id = Db::name('onsite_issue_list')->insertGetId($data);
        if(count($img)>0){
            foreach ($img as $key => $value) {
                if(isset($value)&&$value!==''){
                    Db::name('img_list')->save(['mark'=>$id,'img'=>'/storage/wx_upload/onsite_issue/'.date('Ymd',time()).'/'.$value,'mid'=>5]);
                }
            }
        }
        //发送微信服务号消息
        $aid_name = Db::name('admin_user')->where('id',$data['aid'])->value('truename');
        $template = array(
            'touser'=>$data['owner'],  //用户userId
            'type'=>2,  //用户类型  1：现场人员    2：办公室人员
            'template_id'=>"3Huxw6Ptdx15igJrOWwJ2OhlRmqX15AKwDdI5cK-ZOE", //流程待办提醒模板id
            'data'=>array(
                'keyword1'=>array('value'=>$id,'color'=>'#FF0000'),     //流程编号
                'keyword2'=>array('value'=>'现场问题','color'=>'#FF0000'),      //流程名称
                'keyword3'=>array('value'=>'现场问题反馈','color'=>'#FF0000'),      //流程标题
                'keyword4'=>array('value'=>$aid_name,'color'=>'#FF0000'),      //申请人
                'keyword5'=>array('value'=>date('Y-m-d,H:i:s',time()),'color'=>'#FF0000'),      //申请时间
            )
        );
        $wx_model = new wxMsg();
        $wx_model->send_msg(json_encode($template));
        //发送微信服务号消息结束
        //邮件
        $str = '';
        if($data['freq']>1){
            $owner_info = Db::name('admin_user')->find($data['owner']);
            $team_info = $data['tid']>0?Db::name('team_list')->where('id',$data['tid'])->find():'';
            $team = $data['tid']>0?$team_info['team']:'';
            $team_leader = $data['tid']>0?Db::name('admin_user')->where('id',$team_info['aid'])->value('truename'):'';
            $issue_type = $data['issue_type']>0?Db::name('onsite_base')->where('id',$data['issue_type'])->value('content'):'';
            $poid = $data['poid']>0?Db::name('team_plan_position')->where('id',$data['poid'])->value('position'):'';
            $family = $data['family']>0?Db::name('team_base')->where('id',$data['family'])->value('title'):'';
            $dpt = $data['dpt']>0?Db::name('admin_org')->where('id',$data['dpt'])->value('title'):'';
            $owner = $data['owner']>0?Db::name('admin_user')->where('id',$data['owner'])->value('truename'):'';
            $html1 = '：<br>以下是新反馈的现场问题,请及时回复!';
            $html2 = '<table style="font-family: verdana,arial,sans-serif;font-size:11px;color:#333333;border-width: 1px;border-color: #666666;border-collapse: collapse;border-style: solid" border="1">
                <thead>
                    <tr style="background-color: #dedede">
                        <th style="padding: 8px">流水号</th>
                        <th style="padding: 8px">班组</th>
                        <th style="padding: 8px">班长</th>
                        <th style="padding: 8px">family</th>
                        <th style="padding: 8px">涉及工位</th>
                        <th style="padding: 8px">问题类型</th>
                        <th style="padding: 8px">问题描述</th>
                        <th style="padding: 8px">责任部门</th>
                        <th style="padding: 8px">责任人</th>
                        <th style="padding: 8px">计划完成日期</th>
                        <th style="padding: 8px">发生频次</th>
                    </tr>
                </thead>
            <tbody>';
            $html3 = '
                    <tr>
                        <td>'.$data['s_num'].'</td>
                        <td>'.$team.'</td>
                        <td>'.$team_leader.'</td>
                        <td>'.$family.'</td>
                        <td>'.$poid.'</td>
                        <td>'.$issue_type.'</td>
                        <td>'.$data['issue_desc'].'</td>
                        <td>'.$dpt.'</td>
                        <td>'.$owner.'</td>
                        <td>'.date('Y-m-d',$data['issue_date']).'</td>
                        <td>'.($data['freq']==1?"首次":($data['freq']==2?"二次发生":"三次及以上")).'</td>
                    </tr>';
            $html4 = '</tbody>
                        </table>
                        <hr>';
            $html5 = '<h3>OMS运营管理系统后台请 <a href="http://10.243.226.7/admin/home/home">点击进入</a> ！</h3><p>tips: 请使用谷歌浏览器或其他高级浏览器，如未安装，请自行下载安装，也可<a href="http://10.243.226.7/static/download/chrome_installer.exe" download="chrome_installer.exe">点击下载</a>安装谷歌浏览器</p>';
            $mail['content'] = 'Dear '.$html1.$html2.$html3.$html4.$html5;
            $mail['title'] = '新增现场问题';
            $mail['to'] = [$data['owner']];
            array_push($mail['to'],311);
            array_push($mail['to'],402);
            $job = Db::name('admin_org')->where(array('mid'=>$owner_info['dpt'],'title'=>'经理'))->value('id');
            $manager = Db::name('admin_user')->where(array('job'=>$job,'status'=>1))->value('id');
            array_push($mail['to'],$manager);
            $mail_model = new send();
            $res = $mail_model->sendMail($mail);
            $str = '，已发送邮件提醒';
        }
        exit(json_encode(array('code'=>0,'msg'=>'问题反馈成功'.$str.'！')));
    }
    //现场反馈问题删除
    public function onsiteIssueDel(){
        Db::name('onsite_issue_list')->where('id',input('post.id'))->update(['status'=>0]);
        exit(json_encode(array('code'=>0,'msg'=>'删除完成！')));
    }
    //现场反馈问题编辑
    public function onsiteIssueEdit(){
        $data = input('post.');
        $imgs = $data['imgs'];
        unset($data['imgs']);
        Db::name('onsite_issue_list')->save($data);
        $old = Db::name('img_list')->where(array('mid'=>5,'mark'=>$data['id'],'status'=>1))->column('img');
        $imgOld = '';
        foreach ($old as $k => $v) {
            $url = str_replace('\\', '/', $v);
            $item = explode('/',$url);
            $imgUrl = isset($item[5])?$item[5]:$item[4];
            $imgOld = $imgOld==''?$imgUrl:($imgOld.','.$imgUrl);
        }
        if($imgOld!==$imgs){
            $old = explode(',',$imgOld);
            $new = explode(',',$imgs);
            $newAdd = array_diff($new,$old);
            $newDel = array_diff($old,$new);
            if(count($newAdd)>0){
                foreach($newAdd as $k => $v){
                    if($v!==''){
                        Db::name('img_list')->insert(['mid'=>5,'status'=>1,'mark'=>$data['id'],'img'=>'/storage/wx_upload/onsite_issue/'.date('Ymd',time()).'/'.$v]);
                    }
                }
            }
            if(count($newDel)>0){
                foreach($newDel as $k => $v){
                    if($v!==''){
                        Db::name('img_list')->where(array('mid'=>5,'status'=>1,'mark'=>$data['id']))->where('img','like','%'.$v)->update(['status'=>0]);
                    }
                }
            }
        }
        exit(json_encode(array('code'=>0,'msg'=>'更新完成！')));
    }
    //现场反馈问题责任人变更
    public function onsiteIssueOwnerChange(){
        $record = Db::name('onsite_issue_list')->find(input('post.id'));
        Db::name('onsite_issue_list')->save(input('post.'));
        $old_owner = Db::name('admin_user')->where('id',$record['owner'])->value('truename');
        //发送微信服务号消息
        $template = array(
            'touser'=>input('post.owner'),  //用户userId
            'type'=>2,  //用户类型  1：现场人员    2：办公室人员
            'template_id'=>"3Huxw6Ptdx15igJrOWwJ2OhlRmqX15AKwDdI5cK-ZOE", //流程待办提醒模板id
            'data'=>array(
                'keyword1'=>array('value'=>input('post.id'),'color'=>'#FF0000'),     //流程编号
                'keyword2'=>array('value'=>'现场问题反馈','color'=>'#FF0000'),      //流程名称
                'keyword3'=>array('value'=>'变更您为责任人','color'=>'#FF0000'),      //流程标题
                'keyword4'=>array('value'=>$old_owner,'color'=>'#FF0000'),      //申请人
                'keyword5'=>array('value'=>date('Y-m-d,H:i:s',time()),'color'=>'#FF0000'),      //申请时间
            )
        );
        $wx_model = new wxMsg();
        $wx_model->send_msg(json_encode($template));
        //发送微信服务号消息结束
        exit(json_encode(array('code' =>0,'msg'=>'变更完成！')));
    }
    //现场反馈措施保存
    public function onsiteIssueActionSave(){
        $data = input('post.');
        $imgs = $data['feedback_imgs'];
        unset($data['feedback_imgs']);
        $data['due_date'] = strtotime($data['due_date']);
        $data['feedback_time'] = strtotime('today');
        Db::name('onsite_issue_list')->save($data);
        $old = Db::name('img_list')->where(array('mid'=>5,'mark'=>$data['id'],'status'=>2))->column('img');
        $imgOld = '';
        foreach ($old as $k => $v) {
            $url = str_replace('\\', '/', $v);
            $item = explode('/',$url);
            $imgUrl = isset($item[5])?$item[5]:$item[4];
            $imgOld = $imgOld==''?$imgUrl:($imgOld.','.$imgUrl);
        }
        if($imgOld!==$imgs){
            $old = explode(',',$imgOld);
            $new = explode(',',$imgs);
            $newAdd = array_diff($new,$old);
            $newDel = array_diff($old,$new);
            if(count($newAdd)>0){
                foreach($newAdd as $k => $v){
                    if($v!==''){
                        Db::name('img_list')->insert(['mid'=>5,'status'=>2,'mark'=>$data['id'],'img'=>'/storage/wx_upload/onsite_issue/'.date('Ymd',time()).'/'.$v]);
                    }
                }
            }
            if(count($newDel)>0){
                foreach($newDel as $k => $v){
                    if($v!==''){
                        Db::name('img_list')->where(array('mid'=>5,'status'=>2,'mark'=>$data['id']))->where('img','like','%'.$v)->update(['status'=>0]);
                    }
                }
            }
        }
        // 发送微信服务号消息
        $info = Db::name('onsite_issue_list')->find($data['id']);
        $owner_name = Db::name('admin_user')->where('id',$info['owner'])->value('truename');
        $template = array(
            'touser'=>$info['aid'],  //用户userId
            'type'=>2,  //用户类型  1：现场人员    2：办公室人员
            'template_id'=>"3Huxw6Ptdx15igJrOWwJ2OhlRmqX15AKwDdI5cK-ZOE", //流程待办提醒模板id
            'data'=>array(
                'keyword1'=>array('value'=>$info['s_num'],'color'=>'#FF0000'),     //流程编号
                'keyword2'=>array('value'=>'现场问题','color'=>'#FF0000'),      //流程名称
                'keyword3'=>array('value'=>'现场问题措施确认','color'=>'#FF0000'),      //流程标题
                'keyword4'=>array('value'=>$owner_name,'color'=>'#FF0000'),      //申请人
                'keyword5'=>array('value'=>date('Y-m-d,H:i:s',time()),'color'=>'#FF0000'),      //申请时间
            )
        );
        $wx_model = new wxMsg();
        $wx_model->send_msg(json_encode($template));
        // 发送微信服务号消息结束
        exit(json_encode(array('code'=>0,'msg'=>$data['status']==2?'措施已保存！':'措施已提交！')));
    }
    //现场反馈确认完成
    public function onsiteIssueConfirm(){
        if(input('post.status')==5){
            Db::name('onsite_issue_list')->where('id',input('post.id'))->update(['status'=>5,'end_date'=>strtotime('today')]);
            //发送微信服务号消息
            $info = Db::name('onsite_issue_list')->find(input('post.id'));
            $aid_name = Db::name('admin_user')->where('id',$info['aid'])->value('truename');
            $template = array(
                'touser'=>$info['owner'],  //用户userId
                'type'=>2,  //用户类型  1：现场人员    2：办公室人员
                'template_id'=>"3Huxw6Ptdx15igJrOWwJ2OhlRmqX15AKwDdI5cK-ZOE", //流程待办提醒模板id
                'data'=>array(
                    'keyword1'=>array('value'=>$info['s_num'],'color'=>'#FF0000'),     //流程编号
                    'keyword2'=>array('value'=>'现场问题','color'=>'#FF0000'),      //流程名称
                    'keyword3'=>array('value'=>'现场问题关闭','color'=>'#FF0000'),      //流程标题
                    'keyword4'=>array('value'=>$aid_name,'color'=>'#FF0000'),      //申请人
                    'keyword5'=>array('value'=>date('Y-m-d,H:i:s',time()),'color'=>'#FF0000'),      //申请时间
                )
            );
            $wx_model = new wxMsg();
            $wx_model->send_msg(json_encode($template));
            //发送微信服务号消息结束
            exit(json_encode(array('code'=>0,'msg'=>'确认成功!')));
        }else{
            Db::name('onsite_issue_list')->where('id',input('post.id'))->update(['status'=>2]);
            //发送微信服务号消息
            $info = Db::name('onsite_issue_list')->find(input('post.id'));
            $aid_name = Db::name('admin_user')->where('id',$info['aid'])->value('truename');
            $template = array(
                'touser'=>$info['owner'],  //用户userId
                'type'=>2,  //用户类型  1：现场人员    2：办公室人员
                'template_id'=>"hJIYPUYKqWQ-jl6tCjNFc-JMUcU_ddZ3zPmtMol9XFQ", //流程待办提醒模板id
                'data'=>array(
                    'keyword1'=>array('value'=>'现场问题,编号：'.$info['s_num'],'color'=>'#FF0000'),     //审核类型
                    'keyword2'=>array('value'=>input('post.mark'),'color'=>'#FF0000'),      //审核对象
                    'keyword3'=>array('value'=>date('Y-m-d,H:i:s',time()),'color'=>'#FF0000'),      //驳回时间
                )
            );
            $wx_model = new wxMsg();
            $wx_model->send_msg(json_encode($template));
            //发送微信服务号消息结束
            exit(json_encode(array('code'=>0,'msg'=>'确认成功!')));
        }
    }
    //现场缺陷反馈新增
    public function newFtqSave(){
        $data = input('post.');
        $info = Db::name('member_list')->find($data['creater']);
        $position = Db::name('team_plan_position')->where('id',$info['poid'])->value('position');
        $team_info = Db::name('team_list')->find($info['tid']);
        $id = Db::name('quality_ftq_list')->insertGetId(['creater'=>$data['creater'],'tid'=>$info['tid'],'aid'=>$team_info['aid'],'find_poid'=>$info['poid'],'find_mid'=>$data['creater'],'jumper'=>input('post.jumper')==''?null:input('post.jumper'),'status'=>5,'create_time'=>time(),'ftq_date'=>time()>strtotime('today')+8*3600?strtotime('today'):strtotime('yesterday')]);
        $imgs = explode(',',$data['imgs']);
        foreach ($imgs as $k => $v) {
            if($v!==''){
                Db::name('img_list')->insert(['mid'=>34,'mark'=>$id,'img'=>'/storage/wx_upload/ftq_img/'.date('Ymd',time()).'/'.$v]);
            }
        }
        $poids = Db::name('team_plan_position')->where(array('plan_id'=>$team_info['plan_id'],'status'=>1))->where('position','like','%机动%')->column('id');
        $eids = Db::name('member_list')->where(array('tid'=>$info['tid'],'status'=>1))->whereIn('poid',$poids)->column('eid');
        $wx_model = new wxMsg();
        foreach ($eids as $k => $v) {
            $template = array(
                'touser'=>$v,  //用户userId
                'template_id'=>"6AHOOlhF7p31IosIhWvfBZFEwX69mp2p9tjcRHBiLPU", //生产异常提醒
                'data'=>array(
                    'time9'=>array('value'=>date('Y-m-d',time()),'color'=>'#FF0000'),     //日期
                    'thing13'=>array('value'=>$position.' - '.$info['ename'],'color'=>'#FF0000'),      //生产区域
                    'thing3'=>array('value'=>'现场生产缺陷反馈','color'=>'#FF0000'),      //异常原因
                )
            );
            $res = $wx_model->send_msg_eid(json_encode($template));
        }
        exit(json_encode(array('code'=>0,'msg'=>'记录成功!')));
    }
    //FTQ 返修内容记录
    public function ftqSave(){
        $data = input('post.');
        $data['repair_time'] = time();
        $info = Db::name('quality_ftq_list')->find($data['id']);
        if($info['find_poid']!=$data['find_poid']){
            $data['find_mid'] = Db::name('member_list')->where(array('tid'=>$info['tid'],'status'=>1,'poid'=>$data['find_poid']))->value('id');
        }
        $data['alro_before'] = $data['alro_before']==''?null:('/storage/wx_upload/ftq_img/'.date('Ymd',time()).'/'.$data['alro_before']);
        $data['issue_mid'] = Db::name('member_list')->where(array('tid'=>$info['tid'],'status'=>1,'poid'=>$data['issue_poid']))->value('id'); 
        $data['signed'] = ($data['find_poid']==$data['issue_poid']||$data['issue_poid']==2||$data['issue_poid']==3)?0:1;
        $data['update'] = time();
        $data['owner'] = Db::name('team_list')->where('id',$info['tid'])->value('qc');
        $imgs = explode(',',$data['repair_img']);
        foreach ($imgs as $k => $v) {
            if($v!==''){
                Db::name('img_list')->insert(['mid'=>34,'mark'=>$data['id'],'img'=>'/storage/wx_upload/ftq_img/'.date('Ymd',time()).'/'.$v,'status'=>2]);
            }
        }
        unset($data['repair_img']);
        Db::name('quality_ftq_list')->save($data);
        if($data['status'] == 2){
            //发送微信服务号消息
            $jumper = Db::name('member_list')->where('id',$info['jumper'])->value('ename');
            $template = array(
                'touser'=>$data['owner'],  //用户userId
                'type'=>2,  //用户类型  1：现场人员    2：办公室人员
                'template_id'=>"3Huxw6Ptdx15igJrOWwJ2OhlRmqX15AKwDdI5cK-ZOE", //流程待办提醒模板id
                'data'=>array(
                    'keyword1'=>array('value'=>$data['id'],'color'=>'#FF0000'),     //流程编号
                    'keyword2'=>array('value'=>'现场缺陷反馈','color'=>'#FF0000'),      //流程名称
                    'keyword3'=>array('value'=>'QC返修确认','color'=>'#FF0000'),      //流程标题
                    'keyword4'=>array('value'=>$jumper,'color'=>'#FF0000'),      //申请人
                    'keyword5'=>array('value'=>date('Y-m-d,H:i:s',time()),'color'=>'#FF0000'),      //申请时间
                )
            );
            $wx_model = new wxMsg();
            $wx_model->send_msg(json_encode($template));
        }else{
            
        }
        exit(json_encode(array('code'=>0,'msg'=>'FTQ已保存！')));
    }
    //FTQ删除
    public function ftqDelete(){
        Db::name('quality_ftq_list')->where('id',input('post.id'))->delete();
        exit(json_encode(array('code'=>0,'msg'=>'删除成功！')));
    }
    //FTQ CC返修端子完成
    public function ftqCcRepairSave(){
        $data = input('post.');
        $data['status'] = 6;
        $data['cc_repair_time'] = time();
        $data['cc_qc'] = Db::name('team_list')->where(array('line'=>33,'status'=>1,'shift'=>$shift))->value('qc');
        Db::name('quality_ftq_list')->save($data);
        //发送微信服务号消息
        $worker = Db::name('member_list')->find($data['cc_mid']);
        $shift = Db::name('team_list')->where('id',$worker['tid'])->value('shift');
        
        $template = array(
            'touser'=>$data['cc_qc'],  //用户userId
            'type'=>2,  //用户类型  1：现场人员    2：办公室人员
            'template_id'=>"3Huxw6Ptdx15igJrOWwJ2OhlRmqX15AKwDdI5cK-ZOE", //流程待办提醒模板id
            'data'=>array(
                'keyword1'=>array('value'=>$data['id'],'color'=>'#FF0000'),     //流程编号
                'keyword2'=>array('value'=>'现场缺陷反馈 - 端子返修','color'=>'#FF0000'),      //流程名称
                'keyword3'=>array('value'=>'QC返修确认','color'=>'#FF0000'),      //流程标题
                'keyword4'=>array('value'=>$worker['ename'],'color'=>'#FF0000'),      //申请人
                'keyword5'=>array('value'=>date('Y-m-d,H:i:s',time()),'color'=>'#FF0000'),      //申请时间
            )
        );
        $wx_model = new wxMsg();
        $wx_model->send_msg(json_encode($template));
        exit(json_encode(array('code'=>0,'msg'=>'CC返修完成！')));
    }
    //FTQ CC QC确认完成
    public function ftqCcRepairQCcomfirm(){
        $data = input('post.');
        $data['cc_qc_confirm'] = time();
        $data['status'] = 3;
        Db::name('quality_ftq_list')->save($data);
        $qc = Db::name('admin_user')->where('id',$data['cc_qc'])->value('truename');
        $jumper =  Db::name('quality_ftq_list')->where('id',$data['id'])->value('jumper');
        $template = array(
            'touser'=>$jumper,  //用户userId
            'type'=>1,  //用户类型  1：现场人员    2：办公室人员
            'template_id'=>"3Huxw6Ptdx15igJrOWwJ2OhlRmqX15AKwDdI5cK-ZOE", //流程待办提醒模板id
            'data'=>array(
                'keyword1'=>array('value'=>$data['id'],'color'=>'#FF0000'),     //流程编号
                'keyword2'=>array('value'=>'现场缺陷反馈 - 端子返修','color'=>'#FF0000'),      //流程名称
                'keyword3'=>array('value'=>'QC返修完成','color'=>'#FF0000'),      //流程标题
                'keyword4'=>array('value'=>$qc,'color'=>'#FF0000'),      //申请人
                'keyword5'=>array('value'=>date('Y-m-d,H:i:s',time()),'color'=>'#FF0000'),      //申请时间
            )
        );
        $wx_model = new wxMsg();
        $wx_model->send_msg(json_encode($template));
        exit(json_encode(array('code'=>0,'msg'=>'CC返修确认完成！')));
    }
    //FTQ 总装返修完成
    public function ftqrepairCompleteSave(){
        Db::name('quality_ftq_list')->where('id',input('post.id'))->update(['update'=>time(),'status'=>2]);
        $info = Db::name('quality_ftq_list')->find(input('post.id'));
        //发送微信服务号消息
        $qc = Db::name('team_list')->where('id',$info['tid'])->value('qc');
        $jumper = Db::name('member_list')->where('id',$info['jumper'])->value('ename');
        $template = array(
            'touser'=>$qc,  //用户userId
            'type'=>2,  //用户类型  1：现场人员    2：办公室人员
            'template_id'=>"3Huxw6Ptdx15igJrOWwJ2OhlRmqX15AKwDdI5cK-ZOE", //流程待办提醒模板id
            'data'=>array(
                'keyword1'=>array('value'=>$info['id'],'color'=>'#FF0000'),     //流程编号
                'keyword2'=>array('value'=>'现场缺陷反馈','color'=>'#FF0000'),      //流程名称
                'keyword3'=>array('value'=>'QC返修确认','color'=>'#FF0000'),      //流程标题
                'keyword4'=>array('value'=>$jumper,'color'=>'#FF0000'),      //申请人
                'keyword5'=>array('value'=>date('Y-m-d,H:i:s',time()),'color'=>'#FF0000'),      //申请时间
            )
        );
        $wx_model = new wxMsg();
        $wx_model->send_msg(json_encode($template));
        exit(json_encode(array('code'=>0,'msg'=>'返修完成,待QC确认！')));
    }
    //FTQ QC确认完成
    public function ftqrepairConfirm(){
        $data = input('post.');
        $data['alro_after'] = $data['alro_after']==''?null:('/storage/wx_upload/ftq_img/'.date('Ymd',time()).'/'.$data['alro_after']);
        $data['close_time'] = time();
        $data['status'] = 1;
        Db::name('quality_ftq_list')->save($data);
        //发送微信服务号消息
        $info = Db::name('quality_ftq_list')->find($data['id']);
        $qc = Db::name('admin_user')->where('id',$info['owner'])->value('truename');
        $template = array(
            'touser'=>$info['jumper'],  //用户userId
            'type'=>1,  //用户类型  1：现场人员    2：办公室人员
            'template_id'=>"gH-Pgs95s6lNtCuoNmgdoY1io-gBgA9Ygw01e3IaNrs", //审核结果提醒
            'data'=>array(
                'keyword1'=>array('value'=>'现场缺陷反馈','color'=>'#FF0000'),     //审核标题
                'keyword2'=>array('value'=>date('Y-m-d,H:i:s',time()),'color'=>'#FF0000'),      //审核日期
                'keyword3'=>array('value'=>'QC'.$qc.'已确认完成！','color'=>'#FF0000'),      //审核结果
            )
        );
        $wx_model = new wxMsg();
        $wx_model->send_msg(json_encode($template));
        exit(json_encode(array('code'=>0,'msg'=>'返修确认完成！')));
    }
    //报餐保存
    public function mealSave(){
        $mealWriteLock = OmsMealPreReport::lockTable();
        $data = input('post.');
        $meal_date = strtotime($data['meal_date']);
        if (!$meal_date || time()>$meal_date-10800) { $mealWriteLock->exec('UNLOCK TABLES'); exit(json_encode(['code'=>1,'msg'=>'提报已截止，不能新增或修改！'])); }
        $owner_info = Db::name('admin_user')->find($data['owner']);
        if(isset($data['id'])&&$data['id']>0){
            $history = Db::name('common_meal_list')->find($data['id']);
            if($history['meal1']!=$data['meal1']&&time()>$meal_date - 3*3600){
                exit(json_encode(array('code'=>1,'msg'=>'午餐提报已超时!')));
            }
            if($history['meal2']!=$data['meal2']&&time()>$meal_date - 3*3600){
                exit(json_encode(array('code'=>1,'msg'=>'晚餐提报已超时!')));
            }
            if(($history['meal3']!=$data['meal3']||$history['meal4']!=$data['meal4'])&&time()>$meal_date - 3*3600){
                exit(json_encode(array('code'=>1,'msg'=>'夜宵或早餐提报已超时!')));
            }
        }else{
            if($data['meal1']>0&&time()>$meal_date - 3*3600){
                exit(json_encode(array('code'=>1,'msg'=>'午餐提报已超时!')));
            }
            if($data['meal2']>0&&time()>$meal_date - 3*3600){
                exit(json_encode(array('code'=>1,'msg'=>'晚餐提报已超时!')));
            }
            if(($data['meal3']>0||$data['meal4']>0)&&time()>$meal_date - 3*3600){
                exit(json_encode(array('code'=>1,'msg'=>'夜宵或早餐提报已超时!')));
            }
            $sys = Db::name('common_meal_list')->where(['owner'=>$data['owner'],'meal_date'=>$meal_date])->find();
            if($sys){
                $data['id'] = $sys['id'];
            }
        }
        if(isset($data['id'])&&$data['id']>0){
            $record = CommonMealList::find($data['id']);
        }else{
            $record = new CommonMealList;
            $record->meal_date = $meal_date;
            $record->dpt = $owner_info['dpt'];
            $record->owner = $data['owner'];
        }
        $record->title = $data['title'];
        $record->meal1 = $data['meal1']==0?null:$data['meal1'];
        $record->meal2 = $data['meal2']==0?null:$data['meal2'];
        $record->meal3 = $data['meal3']==0?null:$data['meal3'];
        $record->meal4 = $data['meal4']==0?null:$data['meal4'];
        $record->mark = $data['mark']==''?null:$data['mark'];
        $record->update = time();
        $record->save();
        $id = $record->id;
        $mealWriteLock->exec('UNLOCK TABLES');
        if(time()>$meal_date-3600*7){
            //发送微信服务号消息
            $dpt = Db::name('admin_org')->where('id',$owner_info['dpt'])->value('title');
            $template = array(
                'touser'=>[315,657],  //用户userId
                'type'=>2,  //用户类型  1：现场人员    2：办公室人员
                'template_id'=>"er50wOZlg09QrXfQnERblpyz0JfQM-_6_YxsvIRcUKM", //信息变更通知模板id
                'data'=>array(
                    'keyword1'=>array('value'=>$dpt.' - '.$owner_info['truename'],'color'=>'#FF0000'),     //姓名
                    'keyword2'=>array('value'=>date('Y-m-d,H:i:s',time()),'color'=>'#FF0000'),        //变更时间
                    'keyword3'=>array('value'=>$data['meal_date'].'的员工餐数量有变更!','color'=>'#FF0000'),        //变更内容
                )
            );
            $wx_model = new wxMsg();
            //HR消息
            // $template['touser'] = 458;
            $res = $wx_model->send_msg(json_encode($template));
            // 保持JSON响应完整，消息结果不混入业务响应。
            //食堂消息
            // $template['touser'] = 483;
            // $wx_model->send_msg(json_encode($template));
            //发送消息结束
        }

        exit(json_encode(array('code'=>0,'msg'=>'提报成功！','id'=>$id)));
    }
    //报餐审核
    public function mealConfirm(){
        $item = input('post.');
        $info = Db::name('common_meal_custom')->find($item['id']);
        if($item['status']==1){
            if($info['status']==1){
                $info['apv1_time'] = time();
                $info['status'] = 2;
                $info['sign'] = $info['apv2'];
            }else{
                $info['apv2_time'] = time();
                $info['status'] = 3;
                $info['sign'] = null;
            }
        }else{
            if($info['status']==1){
                $info['apv1_time'] = time();
                $info['apv1_mark'] = $item['content'];
            }else{
                $info['apv2_time'] = time();
                $info['apv2_mark'] = $item['content'];
            }
            $info['status'] = 0;
            $info['sign'] = null;
        }
        Db::name('common_meal_custom')->save($info);
        //发送微信服务号消息
        if($info['status'] == 3||$info['status'] == 0){
            $owner_name = Db::name('admin_user')->where('id',$info['owner'])->value('truename');
            $template = array(
                'touser'=>$info['owner'],  //用户userId
                'type'=>2,  //用户类型  1：现场人员    2：办公室人员
                'template_id'=>"gH-Pgs95s6lNtCuoNmgdoY1io-gBgA9Ygw01e3IaNrs", //流程审批结果模板id
                'data'=>array(
                    'keyword1'=>array('value'=>'客户餐审批','color'=>'#FF0000'),     //审核标题
                    'keyword2'=>array('value'=>date('Y-m-d,H:i:s',time()),'color'=>'#FF0000'),      //审核日期
                    'keyword3'=>array('value'=>$info['status']==3?'完成':'驳回，原因为：'.(isset($item['content'])?$item['content']:''),'color'=>'#FF0000'),      //审核结果
                )
            );
        }else{
            $owner_name = Db::name('admin_user')->where('id',$info['apv2'])->value('truename');
            $template = array(
                'touser'=>$info['apv2'],  //用户userId
                'type'=>2,  //用户类型  1：现场人员    2：办公室人员
                'template_id'=>"ycNGai6Lxf8_URgN4GQDAtNZeirGPSnH3EMAaaAjne8", //流程待审批通知模板id
                'data'=>array(
                    'keyword1'=>array('value'=>'客户餐申请','color'=>'#FF0000'),     //流程名称
                    'keyword2'=>array('value'=>$info['reason'],'color'=>'#FF0000'),        //流程标题
                    'keyword3'=>array('value'=>'HR经理审批','color'=>'#FF0000'),        //当前环节
                    'keyword4'=>array('value'=>$owner_name,'color'=>'#FF0000'),      //提交人
                    'keyword5'=>array('value'=>date('Y-m-d,H:i:s',time()),'color'=>'#FF0000'),      //提交时间
                )
            );
        }
        $wx_model = new wxMsg();
        $wx_model->send_msg(json_encode($template));
        //发送邮件消息
        exit(json_encode(array('code'=>0,'msg'=>'审批完成！')));
    }
    //报餐删除
    public function mealDel(){
        $mealWriteLock = OmsMealPreReport::lockTable();
        $item = input('post.');
        $record = CommonMealList::find($item['id']);
        if (!$record || time()>$record->meal_date-10800) { $mealWriteLock->exec('UNLOCK TABLES'); exit(json_encode(['code'=>1,'msg'=>'记录不存在或提报已截止，不能删除！'])); }
        $record->delete();
        $mealWriteLock->exec('UNLOCK TABLES');
        exit(json_encode(array('code'=>0,'msg'=>'删除完成！')));
    }
    //安全风险反馈图片上传接口-WX
    public function safe_risk_img_upload(){
        $this->img_upload('safe_risk');
    }
    //安全风险反馈保存
    public function safeRiskSave(){
        $data = input('post.');
        $admin = Db::name('admin_user')->where('username',$data['eid'])->find();
        if($admin){
            $data['ename'] = $admin['truename'];
            $info = Db::name('admin_org')->column('title','id');
            $data['team'] = $info[$admin['dpt']].' - '.$info[$admin['job']];
        }else{
            $info = Db::name('member_list')->find($data['mid']);
            $data['ename'] = $info['ename'];
            $data['team'] = Db::name('team_list')->where('id',$info['tid'])->value('team');
        }
        $data['update'] = time();
        $data['create_date'] = strtotime('today');
        $img = explode(',',$data['img']);
        unset($data['img']);
        $id = Db::name('onsite_safe_list')->insertGetId($data);
        //发送微信服务号消息
        $template = array(
            'touser'=>396,  //用户userId
            'type'=>2,  //用户类型  1：现场人员    2：办公室人员
            'template_id'=>"3Huxw6Ptdx15igJrOWwJ2OhlRmqX15AKwDdI5cK-ZOE", //流程待办提醒模板id
            'data'=>array(
                'keyword1'=>array('value'=>$id,'color'=>'#FF0000'),     //流程编号
                'keyword2'=>array('value'=>'安全风险反馈','color'=>'#FF0000'),      //流程名称
                'keyword3'=>array('value'=>'新增反馈','color'=>'#FF0000'),      //流程标题
                'keyword4'=>array('value'=>$data['team'].' - '.$data['ename'],'color'=>'#FF0000'),      //申请人
                'keyword5'=>array('value'=>date('Y-m-d,H:i:s',time()),'color'=>'#FF0000'),      //申请时间
            )
        );
        $wx_model = new wxMsg();
        $wx_model->send_msg(json_encode($template));
        //发送微信服务号消息结束
        if(count($img)>0){
            foreach ($img as $key => $value) {
                if(isset($value)&&$value!==''){
                    Db::name('img_list')->save(['mark'=>$id,'img'=>'/storage/wx_upload/'.date('Ymd',time()).'/safe_risk/'.$value,'mid'=>6]);
                }
            }
        }
        exit(json_encode(array('code'=>0,'msg'=>'添加成功！')));
    }
    //安全风险反馈删除
    public function safeRiskDel(){
        Db::name('onsite_safe_list')->where('id',input('post.id'))->update(['status'=>0]);
        exit(json_encode(array('code'=>0,'msg'=>'删除成功！')));
    }
    //安全风险反馈保存
    public function safeActionSave(){
        $data = input('post.');
        $img = $data['img'];
        unset($data['img']);
        $data['due_date'] = strtotime($data['due_date']);
        Db::name('onsite_safe_list')->save($data);
        $feedback_imgs = Db::name('img_list')->where(array('mid'=>6,'mark'=>$data['id'],'status'=>2))->column('img');
        $imgs = '';
        foreach ($feedback_imgs as $k => $v) {
            $url = str_replace('\\', '/', $v);
            $item = explode('/',$url);
            $imgs = $imgs==''?$item[5]:($imgs.','.$item[5]);
        }
        if($imgs!==$img){
            $old = explode(',',$imgs);
            $new = explode(',',$img);
            $newAdd = array_diff($new,$old);
            $newDel = array_diff($old,$new);
            if(count($newAdd)>0){
                foreach($newAdd as $k => $v){
                    if($v!==''){
                        Db::name('img_list')->insert(['mid'=>6,'status'=>2,'mark'=>$data['id'],'img'=>'/storage/wx_upload/'.date('Ymd',time()).'/safe_risk/'.$v]);
                    }
                }
            }
            if(count($newDel)>0){
                foreach($newDel as $k => $v){
                    if($v!==''){
                        Db::name('img_list')->where(array('mid'=>6,'status'=>2,'mark'=>$data['id']))->where('img','like','%'.$v)->update(['status'=>0]);
                    }
                }
            }
        }
        if($data['status']==3){
            //发送微信服务号消息
            $info = Db::name('onsite_safe_list')->find($data['id']);
            $owner = Db::name('admin_user')->where('id',$info['owner'])->value('truename');
            $template = array(
                'touser'=>407,  //用户userId
                'type'=>2,  //用户类型  1：现场人员    2：办公室人员
                'template_id'=>"3Huxw6Ptdx15igJrOWwJ2OhlRmqX15AKwDdI5cK-ZOE", //流程待办提醒模板id
                'data'=>array(
                    'keyword1'=>array('value'=>$info['id'],'color'=>'#FF0000'),     //流程编号
                    'keyword2'=>array('value'=>'安全风险反馈','color'=>'#FF0000'),      //流程名称
                    'keyword3'=>array('value'=>'现场已改善完成并提交确认','color'=>'#FF0000'),      //流程标题
                    'keyword4'=>array('value'=>$owner,'color'=>'#FF0000'),      //申请人
                    'keyword5'=>array('value'=>date('Y-m-d,H:i:s',time()),'color'=>'#FF0000'),      //申请时间
                )
            );
            $wx_model = new wxMsg();
            $wx_model->send_msg(json_encode($template));
            //发送微信服务号消息结束
        }
        exit(json_encode(array('code'=>0,'msg'=>$data['status']==2?'保存成功！':'提交成功！')));
    }
    //QC巡检图片上传接口-WX
    public function qc_audit_img_upload(){
        $this->img_upload('qc_audit');
    }
    //QC巡检记录保存
    public function qcAutitIssueSave(){
        $data = input('post.');
        $data['audit_date'] = time()-strtotime('today')<3600*8?(strtotime('today')-86400):strtotime('today');
        $data['aid'] = Db::name('team_list')->where('id',$data['tid'])->value('aid');
        $owner_info = Db::name('admin_user')->find($data['owner']);
        $data['dpt'] = $owner_info['dpt'];
        $data['update'] = time();
        $img = explode(',',$data['imgs']);
        unset($data['imgs']);
        $id = Db::name('quality_onsite_audit_list')->insertGetId($data);
        if(count($img)>0){
            foreach ($img as $key => $value) {
                if(isset($value)&&$value!==''){
                    Db::name('img_list')->save(['mark'=>$id,'img'=>'/storage/wx_upload/qc_audit/'.date('Ymd',time()).'/'.$value,'mid'=>1]);
                }
            }
        }
        //发送微信服务号消息
        $auditor = Db::name('admin_user')->where('id',$data['auditor'])->value('truename');
        $template = array(
            'touser'=>$data['owner'],  //用户userId
            'type'=>2,  //用户类型  1：现场人员    2：办公室人员
            'template_id'=>"3Huxw6Ptdx15igJrOWwJ2OhlRmqX15AKwDdI5cK-ZOE", //流程待办提醒模板id
            'data'=>array(
                'keyword1'=>array('value'=>$id,'color'=>'#FF0000'),     //流程编号
                'keyword2'=>array('value'=>'QC巡检','color'=>'#FF0000'),      //流程名称
                'keyword3'=>array('value'=>'巡检问题反馈，'.$data['issue_desc'],'color'=>'#FF0000'),      //流程标题
                'keyword4'=>array('value'=>$owner_info['truename'],'color'=>'#FF0000'),      //申请人
                'keyword5'=>array('value'=>date('Y-m-d,H:i:s',time()),'color'=>'#FF0000'),      //申请时间
            )
        );
        $wx_model = new wxMsg();
        $wx_model->send_msg(json_encode($template));
        //发送微信服务号消息结束
        exit(json_encode(array('code'=>0,'msg'=>'添加成功！')));
    }
    //QC巡检问题编辑
    public function qcAuditEdit(){
        $data = input('post.');
        $imgs = $data['imgs'];
        unset($data['imgs']);
        Db::name('quality_onsite_audit_list')->save($data);
        $old = Db::name('img_list')->where(array('mid'=>1,'mark'=>$data['id'],'status'=>1))->column('img');
        $imgOld = '';
        foreach ($old as $k => $v) {
            $url = str_replace('\\', '/', $v);
            $item = explode('/',$url);
            $imgUrl = isset($item[5])?$item[5]:$item[4];
            $imgOld = $imgOld==''?$imgUrl:($imgOld.','.$imgUrl);
        }
        if($imgOld!==$imgs){
            $old = explode(',',$imgOld);
            $new = explode(',',$imgs);
            $newAdd = array_diff($new,$old);
            $newDel = array_diff($old,$new);
            if(count($newAdd)>0){
                foreach($newAdd as $k => $v){
                    if($v!==''){
                        Db::name('img_list')->insert(['mid'=>1,'status'=>1,'mark'=>$data['id'],'img'=>'/storage/wx_upload/qc_audit/'.date('Ymd',time()).'/'.$v]);
                    }
                }
            }
            if(count($newDel)>0){
                foreach($newDel as $k => $v){
                    if($v!==''){
                        Db::name('img_list')->where(array('mid'=>1,'status'=>1,'mark'=>$data['id']))->where('img','like','%'.$v)->update(['status'=>0]);
                    }
                }
            }
        }
        exit(json_encode(array('code'=>0,'msg'=>'更新完成！')));
    }
    //QC巡检反馈措施保存
    public function qcAuditActionSave(){
        $data = input('post.');
        $imgs = $data['feedback_imgs'];
        unset($data['feedback_imgs']);
        $data['due_date'] = strtotime($data['due_date']);
        $data['status'] = 3;
        $data['update'] = time();
        Db::name('quality_onsite_audit_list')->save($data);
        $old = Db::name('img_list')->where(array('mid'=>1,'mark'=>$data['id'],'status'=>2))->column('img');
        $imgOld = '';
        foreach ($old as $k => $v) {
            $url = str_replace('\\', '/', $v);
            $item = explode('/',$url);
            $imgUrl = isset($item[5])?$item[5]:$item[4];
            $imgOld = $imgOld==''?$imgUrl:($imgOld.','.$imgUrl);
        }
        if($imgOld!==$imgs){
            $old = explode(',',$imgOld);
            $new = explode(',',$imgs);
            $newAdd = array_diff($new,$old);
            $newDel = array_diff($old,$new);
            if(count($newAdd)>0){
                foreach($newAdd as $k => $v){
                    if($v!==''){
                        Db::name('img_list')->insert(['mid'=>1,'status'=>2,'mark'=>$data['id'],'img'=>'/storage/wx_upload/qc_audit/'.date('Ymd',time()).'/'.$v]);
                    }
                }
            }
            if(count($newDel)>0){
                foreach($newDel as $k => $v){
                    if($v!==''){
                        Db::name('img_list')->where(array('mid'=>1,'status'=>2,'mark'=>$data['id']))->where('img','like','%'.$v)->update(['status'=>0]);
                    }
                }
            }
        }
        //发送微信服务号消息
        $info = Db::name('quality_onsite_audit_list')->find($data['id']);
        $owner_name = Db::name('admin_user')->where('id',$info['owner'])->value('truename');
        $template = array(
            'touser'=>$info['auditor'],  //用户userId
            'type'=>2,  //用户类型  1：现场人员    2：办公室人员
            'template_id'=>"3Huxw6Ptdx15igJrOWwJ2OhlRmqX15AKwDdI5cK-ZOE", //流程待办提醒模板id
            'data'=>array(
                'keyword1'=>array('value'=>$info['id'],'color'=>'#FF0000'),     //流程编号
                'keyword2'=>array('value'=>'QC巡检','color'=>'#FF0000'),      //流程名称
                'keyword3'=>array('value'=>'巡检问题措施确认','color'=>'#FF0000'),      //流程标题
                'keyword4'=>array('value'=>$owner_name,'color'=>'#FF0000'),      //申请人
                'keyword5'=>array('value'=>date('Y-m-d,H:i:s',time()),'color'=>'#FF0000'),      //申请时间
            )
        );
        $wx_model = new wxMsg();
        $wx_model->send_msg(json_encode($template));
        //发送微信服务号消息结束
        exit(json_encode(array('code'=>0,'msg'=>'措施已保存！')));
    }
    //QC巡检反馈确认完成
    public function qcAuditConfirm(){
        Db::name('quality_onsite_audit_list')->where('id',input('post.id'))->update(['status'=>4,'update'=>time()]);
        //发送微信服务号消息
        $info = Db::name('quality_onsite_audit_list')->find(input('post.id'));
        $auditor_name = Db::name('admin_user')->where('id',$info['auditor'])->value('truename');
        $template = array(
                'touser'=>$info['owner'],  //用户userId
                'type'=>2,  //用户类型  1：现场人员    2：办公室人员
                'template_id'=>"F3PoGDVBFQTfjNoatFQwl1fmJy3AUF9fRnPiBnV9whI", //审批结果通知模板id
                'data'=>array(
                    'keyword1'=>array('value'=>'QC巡检问题关闭 ( 编号:'.$info['id'].' )','color'=>'#FF0000'),
                    'keyword2'=>array('value'=>date('Y-m-d H:i:s',time()),'color'=>'#FF0000'),
                )
            );
        $wx_model = new wxMsg();
        $wx_model->send_msg(json_encode($template));
        //发送微信服务号消息结束
        exit(json_encode(array('code'=>0,'msg'=>'确认成功!')));
    }
    //工时借用保存
    public function lentSave(){
        $data = input('post.');
        $data['create_date'] = time();
        $data['start_date'] = strtotime($data['date'][0]);
        $data['end_date'] = strtotime($data['date'][1]);
        unset($data['date']);
        $apv2_job = Db::name('admin_org')->where(array('mid'=>$data['dpt'],'title'=>'经理'))->value('id');
        $data['apv2'] = Db::name('admin_user')->where(array('job'=>$apv2_job,'status'=>1))->value('id');
        $data['apv3'] = 311;
        $data['step'] = $data['apv1'];
        $id = Db::name('le_lent_order')->insertGetId($data);
        //发送微信服务号消息
        $owner_name = Db::name('admin_user')->where('id',$data['owner'])->value('truename');
        $template = array(
            'touser'=>$data['apv1'],  //用户userId
            'type'=>2,  //用户类型  1：现场人员    2：办公室人员
            'template_id'=>"ycNGai6Lxf8_URgN4GQDAtNZeirGPSnH3EMAaaAjne8", //流程待审批通知模板id
            'data'=>array(
                'keyword1'=>array('value'=>'生产部工时借用','color'=>'#FF0000'),     //流程名称
                'keyword2'=>array('value'=>$data['reason'],'color'=>'#FF0000'),        //流程标题
                'keyword3'=>array('value'=>'主管审批','color'=>'#FF0000'),        //当前环节
                'keyword4'=>array('value'=>$owner_name,'color'=>'#FF0000'),      //提交人
                'keyword5'=>array('value'=>date('Y-m-d,H:i:s',time()),'color'=>'#FF0000'),      //提交时间
            )
        );
        $wx_model = new wxMsg();
        $wx_model->send_msg(json_encode($template));
        //发送邮件消息
        exit(json_encode(array('code'=>0,'msg'=>'提报成功！')));
    }
    //工时借用审批
    public function mfgLentConfirm(){
        $item = input('post.');
        $info = Db::name('le_lent_order')->find($item['id']);
        if($item['status']==1){
            if($info['status']==11){
                $info['apv1_time'] = time();
                $info['status'] = 12;
                $info['step'] = $info['apv2'];
                if($info['apv2']==$info['apv1']){
                    $info['apv2_time'] = time();
                    $info['status'] = 13;
                    $info['step'] = $info['apv3'];
                }
            }else if($info['status']==12){
                $info['apv2_time'] = time();
                $info['status'] = 13;
                $info['step'] = $info['apv3'];
            }else{
                $info['apv3_time'] = time();
                $info['status'] = 1;
                $info['step'] = null;
            }
        }else{
            if($info['status']==11){
                $info['apv1_time'] = time();
                $info['apv1_mark'] = $item['content'];
            }else if($info['status']==12){
                $info['apv2_time'] = time();
                $info['apv2_mark'] = $item['content'];
            }else{
                $info['apv3_time'] = time();
                $info['apv3_mark'] = $item['content'];
            }
            $info['status'] = 10;
            $info['step'] = null;
        }
        Db::name('le_lent_order')->save($info);
        //发送微信服务号消息
        if($info['status'] == 1||$info['status'] == 10){
            $owner_name = Db::name('admin_user')->where('id',$info['owner'])->value('truename');
            $template = array(
                'touser'=>$info['owner'],  //用户userId
                'type'=>2,  //用户类型  1：现场人员    2：办公室人员
                'template_id'=>"gH-Pgs95s6lNtCuoNmgdoY1io-gBgA9Ygw01e3IaNrs", //流程审批结果模板id
                'data'=>array(
                    'keyword1'=>array('value'=>'生产部工时借用审批','color'=>'#FF0000'),     //审核标题
                    'keyword2'=>array('value'=>date('Y-m-d,H:i:s',time()),'color'=>'#FF0000'),      //审核日期
                    'keyword3'=>array('value'=>$info['status']==1?'完成':'驳回，原因为：'.(isset($item['content'])?$item['content']:''),'color'=>'#FF0000'),      //审核结果
                )
            );
        }else{
            if($info['status']==12){
                $touser = $info['apv2'];
            }else{
                $touser = $info['apv3'];
            }
            $owner_name = Db::name('admin_user')->where('id',$touser)->value('truename');
            $template = array(
                'touser'=>$touser,  //用户userId
                'type'=>2,  //用户类型  1：现场人员    2：办公室人员
                'template_id'=>"ycNGai6Lxf8_URgN4GQDAtNZeirGPSnH3EMAaaAjne8", //流程待审批通知模板id
                'data'=>array(
                    'keyword1'=>array('value'=>'生产部工时借用','color'=>'#FF0000'),     //流程名称
                    'keyword2'=>array('value'=>$info['reason'],'color'=>'#FF0000'),        //流程标题
                    'keyword3'=>array('value'=>$info['status']==11?'部门经理审批':'运营经理审批','color'=>'#FF0000'),        //当前环节
                    'keyword4'=>array('value'=>$owner_name,'color'=>'#FF0000'),      //提交人
                    'keyword5'=>array('value'=>date('Y-m-d,H:i:s',time()),'color'=>'#FF0000'),      //提交时间
                )
            );
        }
        $wx_model = new wxMsg();
        $wx_model->send_msg(json_encode($template));
        //发送邮件消息
        exit(json_encode(array('code'=>0,'msg'=>'审批完成！')));
    }
    //端午礼品选择保存
    public function DuanwuGiftSave(){
        // Db::name('admin_user_mobile')->where('username',input('post.eid'))->update(['temp1'=>input('post.gift')]);
        exit(json_encode(array('code'=>1,'msg'=>'截止时间已过,无法提报！')));
    }
    //物流来料体积记录
    public function cbmSave(){
        $data = input('post.');
        $data['create_date'] = time();
        $data['issuance_date'] = strtotime($data['issuance_date']);
        Db::name('pcl_cbm_record')->save($data);
        exit(json_encode(array('code'=>0,'msg'=>'提报完成！')));
    }
    //物流来料体积记录
    public function cbmDel(){
        Db::name('pcl_cbm_record')->where('id',input('post.id'))->update(['status'=>0]);
        exit(json_encode(array('code'=>0,'msg'=>'删除完成！')));
    }
    //图片上传接口
    public function imgUpload(){
        $files = request()->file();
        $file = $files['image'];
        $savename = \think\facade\Filesystem::disk('public')->putFileAs('wx_upload/'.date('Ymd',time()).'/'.input('post.location').'/', $file, $file->getOriginalName());
        exit(json_encode(array('code'=>0,'msg'=>'图片上传成功!')));
    }
    //面积节约记录
    public function spaceSave(){
        $data = input('post.');
        $data['due_date'] = strtotime($data['due_date']);
        $data['update'] = time();
        $img = explode(',',$data['imgs']);
        unset($data['imgs']);
        $id = Db::name('design_space_save')->insertGetId($data);
        if(count($img)>0){
            foreach ($img as $key => $value) {
                if(isset($value)&&$value!==''){
                    Db::name('img_list')->save(['mark'=>$id,'img'=>'/storage/wx_upload/space_save/'.date('Ymd',time()).'/'.$value,'mid'=>28]);
                }
            }
        }
        exit(json_encode(array('code'=>0,'msg'=>'提交完成！')));
    }
    //质量月活动记录
    public function qualityMonthlyIssueSave(){
        $data = input('post.');
        $data['create_date'] = time();
        $tid_info = Db::name('team_list')->find($data['tid']);
        $data['project'] = $tid_info['project'];
        $data['line'] = $tid_info['line'];
        $aid_info = Db::name('admin_user_mobile')->where('username',$data['eid'])->find();
        $data['dpt'] = Db::name('admin_org')->where('id',$aid_info['dpt'])->value('title');
        $data['position'] = $data['poid']>0?Db::name('team_plan_position')->where('id',$data['poid'])->value('position'):null;
        unset($data['poid']);
        unset($data['tid']);
        $img = explode(',',$data['imgs']);
        unset($data['imgs']);
        $id = Db::name('quality_month_terminal_risk')->insertGetId($data);
        if(count($img)>0){
            foreach ($img as $key => $value) {
                if(isset($value)&&$value!==''){
                    Db::name('img_list')->save(['mark'=>$id,'img'=>'/storage/wx_upload/quality_month/'.date('Ymd',time()).'/'.$value,'mid'=>14]);
                }
            }
        }
        exit(json_encode(array('code'=>0,'msg'=>'添加成功！')));
    }
    //EOS现场审核
    public function eosAuditSave(){
        $data = input('post.');
        $img = $data['imgs'];
        $data['dpt'] = substr($data['dpt'],1);
        unset($data['imgs']);
        $data['aid'] = Db::name('team_list')->where('id',$data['tid'])->value('aid');
        $data['audit_date'] = time();
        $id = Db::name('quality_eos_audit')->insertGetId($data);
        if($img!==''){
            $imgs = explode(',',$img);
            foreach ($imgs as $k => $v) {
                if($v!==''){
                    Db::name('img_list')->insert(['mid'=>29,'mark'=>$id,'img'=>'/storage/wx_upload/eos_audit/'.date('Ymd',time()).'/'.$v]);
                }
            }
        }
        exit(json_encode(array('code'=>0,'msg'=>'问题保存成功!')));
    }
    //经理值班问题保存
    public function managerDutySave(){
        $data = input('post.');
        $img = $data['imgs'];
        $data['duty_date'] = strtotime('today');
        $data['create_time'] = time();
        unset($data['imgs']);
        $id = Db::name('common_manager_duty_list')->insertGetId($data);
        if($img!==''){
            $imgs = explode(',',$img);
            foreach ($imgs as $k => $v) {
                if($v!==''){
                    Db::name('img_list')->insert(['mid'=>30,'mark'=>$id,'img'=>'/storage/wx_upload/manager_duty/'.date('Ymd',time()).'/'.$v]);
                }
            }
        }
        exit(json_encode(array('code'=>0,'msg'=>'值班问题保存成功!')));
    }
    //经理值班问题删除
    public function managerDutyDel(){
        $id = Db::name('common_manager_duty_list')->where('id',input('post.id'))->delete();
        if($id){
            exit(json_encode(array('code'=>0,'msg'=>'删除完成！')));
        }else{
            exit(json_encode(array('code'=>1,'msg'=>'删除失败，请稍候重试！')));
        }
    }
    //经理值班问题编辑
    public function managerDutyEdit(){
        $data = input('post.');
        $imgs = $data['imgs'];
        unset($data['imgs']);
        Db::name('common_manager_duty_list')->save($data);
        $old = Db::name('img_list')->where(array('mid'=>30,'mark'=>$data['id'],'status'=>1))->column('img');
        $imgOld = '';
        foreach ($old as $k => $v) {
            $url = str_replace('\\', '/', $v);
            $item = explode('/',$url);
            $imgUrl = isset($item[5])?$item[5]:$item[4];
            $imgOld = $imgOld==''?$imgUrl:($imgOld.','.$imgUrl);
        }
        if($imgOld!==$imgs){
            $old = explode(',',$imgOld);
            $new = explode(',',$imgs);
            $newAdd = array_diff($new,$old);
            $newDel = array_diff($old,$new);
            if(count($newAdd)>0){
                foreach($newAdd as $k => $v){
                    if($v!==''){
                        Db::name('img_list')->insert(['mid'=>30,'status'=>1,'mark'=>$data['id'],'img'=>'/storage/wx_upload/manager_duty/'.date('Ymd',time()).'/'.$v]);
                    }
                }
            }
            if(count($newDel)>0){
                foreach($newDel as $k => $v){
                    if($v!==''){
                        Db::name('img_list')->where(array('mid'=>30,'status'=>1,'mark'=>$data['id']))->where('img','like','%'.$v)->update(['status'=>0]);
                    }
                }
            }
        }
        exit(json_encode(array('code'=>0,'msg'=>'更新完成！')));
    }
    //经理值班措施保存
    public function managerDutyActionSave(){
        $data = input('post.');
        $imgs = $data['feedback_imgs'];
        unset($data['feedback_imgs']);
        $data['due_date'] = strtotime($data['due_date']);
        Db::name('common_manager_duty_list')->save($data);
        $old = Db::name('img_list')->where(array('mid'=>30,'mark'=>$data['id'],'status'=>2))->column('img');
        $imgOld = '';
        foreach ($old as $k => $v) {
            $url = str_replace('\\', '/', $v);
            $item = explode('/',$url);
            $imgUrl = isset($item[5])?$item[5]:$item[4];
            $imgOld = $imgOld==''?$imgUrl:($imgOld.','.$imgUrl);
        }
        if($imgOld!==$imgs){
            $old = explode(',',$imgOld);
            $new = explode(',',$imgs);
            $newAdd = array_diff($new,$old);
            $newDel = array_diff($old,$new);
            if(count($newAdd)>0){
                foreach($newAdd as $k => $v){
                    if($v!==''){
                        Db::name('img_list')->insert(['mid'=>30,'status'=>2,'mark'=>$data['id'],'img'=>'/storage/wx_upload/manager_duty/'.date('Ymd',time()).'/'.$v]);
                    }
                }
            }
            if(count($newDel)>0){
                foreach($newDel as $k => $v){
                    if($v!==''){
                        Db::name('img_list')->where(array('mid'=>30,'status'=>2,'mark'=>$data['id']))->where('img','like','%'.$v)->update(['status'=>0]);
                    }
                }
            }
        }
        exit(json_encode(array('code'=>0,'msg'=>$data['status']==3?'措施已保存！':'措施已提交！')));
    }
    //CC QVC记录保存
    public function qvcRecordSave(){
        $data = input('post.');
        foreach ($data as $k => $v) {
            if($v==''){
                unset($data[$k]);
            }
        }
        $data['update'] = time();
        $tid = Db::name('member_list')->where('id',$data['mid'])->value('tid');
        $data['aid'] = Db::name('team_list')->where('id',$tid)->value('aid');
        $data['m_number'] = Db::name('onsite_qvc_base')->where('id',$data['m_id'])->value('s_number');
        $data['record_date'] = strtotime($data['record_date']);
        if(isset($data['c2'])){
            $data['c2'] = round($data['c2']/100,4);
        }
        Db::name('onsite_qvc_record')->insert($data);
        exit(json_encode(array('code'=>0,'msg'=>'记录保存成功！')));
    }
    //QVC记录编辑
    public function QvcRecordEdit(){
        $data = input('post.');
        $save = array_intersect_key($data,['id'=>0,'q1'=>0,'q1_desc'=>0,'q2'=>0,'q2_desc'=>0,'q3'=>0,'q3_desc'=>0,'v1'=>0,'v1_desc'=>0,'v2'=>0,'v2_desc'=>0,'c1'=>0,'c1_desc'=>0,'c2'=>0,'c2_desc'=>0]);
        if($data['type']==1){
            $save['v2_target'] = $data['v2_target'];
        }
        $save['c2'] = $save['c2']>0?round($save['c2']/100,4):null;
        Db::name('onsite_qvc_record')->save($save);
        exit(json_encode(array('code'=>0,'msg'=>'记录保存成功！')));
    }
    //培训签到
    public function courseSign(){
        $record = Db::name('common_trainning_student')->find(input('post.s_id'));
        Db::name('common_trainning_student')->where('id',$record['id'])->update(['sign_time'=>time(),'update'=>time()]);
        $info = Db::name('common_trainning_course')->find($record['course_id']);
        Db::name('common_trainning_course')->where('id',$info['id'])->update(['student_num_factual'=>$info['student_num_factual']+1]);
        if($info['course_type']==1){
            $id = Db::name('common_trainning_feedback')->insertGetId(['s_id'=>$record['id']]);
        }else{
            $id = 0;
        }
        exit(json_encode(array('code'=>0,'msg'=>'签到成功！','id'=>$id)));
    }
    //培训结束
    public function courseCloseStatus(){
        $data = Db::name('common_trainning_course')->find(input('post.c_id'));
        if($data['status']>1){
            if($data['status']>2){
                exit(json_encode(array('code'=>0)));
            }else{
                if($data['course_time']+$data['long']*3600<time()){
                    Db::name('common_trainning_course')->where('id',$data['id'])->update(['status'=>3]);
                    exit(json_encode(array('code'=>0)));
                }else{
                    exit(json_encode(array('code'=>1)));
                }
            }
        }else{
            exit(json_encode(array('code'=>2)));
        }
    }
    //培训反馈
    public function courseFeedbackSave(){
        $data = input('post.');
        if(isset($data['close'])){
            $course_id = Db::name('common_trainning_student')->where('id',$data['s_id'])->value('course_id');
            Db::name('common_trainning_course')->where('id',$course_id)->update(['status'=>3]);
            unset($data['close']);
        }
        if(isset($data['id'])){
            $feedback = CommonTrainningFeedback::find($data['id']);
            unset($data['id']);
            $feedback->save($data);
        }else{
            CommonTrainningFeedback::create($data);
        }
        exit(json_encode(array('code'=>0,'msg'=>'反馈完成！')));
    }
    //培训报名
    public function CouresSignUp(){
        $data = input('post.');
        $data['update'] = time();
        $data['apply_type'] = 2;
        if($data['student_id']>0){
            Db::name('common_trainning_student')->insert($data);
            $num = Db::name('common_trainning_student')->where('course_id',$data['course_id'])->count();
            Db::name('common_trainning_course')->where('id',$data['course_id'])->update(['student_num_plan'=>$num]);
            exit(json_encode(array('code'=>0,'msg'=>'报名成功！')));
        }else{
            exit(json_encode(array('code'=>1,'msg'=>'报名失败！')));
        }
    }
    //公众号功能测试
    public function wxUnLink(){
        $data = input('post.');
        $info = Db::name('admin_user_mobile')->where(array('user_id'=>$data['user_id'],'user_type'=>$data['user_type']))->find();
        if($data['type']==1){
            $wx_model = new wxMsg();
            $template = array(
                'touser'=>$data['user_id'],  //用户userId
                'type'=>$data['user_type'],  //用户userId
                'template_id'=>"er50wOZlg09QrXfQnERblpyz0JfQM-_6_YxsvIRcUKM", //流程待办提醒模板id
                'data'=>array(
                    'keyword1'=>array('value'=>$info['username'],'color'=>'#FF0000'),     //流程编号
                    'keyword2'=>array('value'=>date('Y-m-d,H:i:s',time()),'color'=>'#FF0000'),      //流程名称
                    'keyword3'=>array('value'=>'消息测试，可关闭消息免打扰以更好接收消息','color'=>'#FF0000'),      //流程标题
                )
            );
            $res = $wx_model->send_msg(json_encode($template));
            if($res==0){
                exit(json_encode(array('code' => 0, 'msg' => '发送成功！')));
            }else{
                exit(json_encode(array('code' => 0, 'msg' => 'Error Code：'.$res.'！')));
            }
        }else{
            Db::name('admin_user_mobile')->where(array('user_id'=>$data['user_id'],'user_type'=>$data['user_type']))->update(['gzhOpenid'=>null]);
            exit(json_encode(array('code' => 0, 'msg' => '撤消成功！')));
        }
    }
    //包装问题反馈
    public function packingIssueSave(){
        $data = input('post.');
        $img = $data['imgs'];
        $data['create_date'] = strtotime('today');
        $data['create_time'] = time();
        unset($data['imgs']);
        $id = Db::name('pcl_packing_issue_list')->insertGetId($data);
        if($img!==''){
            $imgs = explode(',',$img);
            foreach ($imgs as $k => $v) {
                if($v!==''){
                    Db::name('img_list')->insert(['mid'=>33,'mark'=>$id,'img'=>'/storage/wx_upload/packing_issue/'.date('Ymd',time()).'/'.$v]);
                }
            }
        }
        //发送微信服务号消息
        if($data['creater_type']==1){
            $owner_name = Db::name('member_list')->where('id',$data['creater'])->value('ename');
        }else{
            $owner_name = Db::name('admin_user')->where('id',$data['creater'])->value('truename');
        }
        $issue = Db::name('pcl_base')->where(array('mid'=>3,'content'=>$data['issue']))->value('title');
        $template = array(
            'touser'=>$data['planner'],  //用户userId
            'type'=>2,  //用户类型  1：现场人员    2：办公室人员
            'template_id'=>"ycNGai6Lxf8_URgN4GQDAtNZeirGPSnH3EMAaaAjne8", //流程待审批通知模板id
            'data'=>array(
                'keyword1'=>array('value'=>'包装异常问题反馈','color'=>'#FF0000'),     //流程名称
                'keyword2'=>array('value'=>mb_substr($issue,0,17,'UTF-8'),'color'=>'#FF0000'),        //流程标题
                'keyword3'=>array('value'=>'待处理','color'=>'#FF0000'),        //当前环节
                'keyword4'=>array('value'=>$owner_name,'color'=>'#FF0000'),      //提交人
                'keyword5'=>array('value'=>date('Y-m-d,H:i:s',time()),'color'=>'#FF0000'),      //提交时间
            )
        );
        $wx_model = new wxMsg();
        $wx_model->send_msg(json_encode($template));
        exit(json_encode(array('code'=>0,'msg'=>'值班问题保存成功!')));
    }
    //包装异常删除
    public function packingIssueDel(){
        Db::name('pcl_packing_issue_list')->where('id',input('post.id'))->update(['status'=>0]);
        exit(json_encode(array('code'=>0,'msg'=>'删除完成！')));
    }
    //教师节优秀讲师投票
    public function voteSave(){
        $data = input('post.');
        if($data['type']==1||$data['type']==3){
            Db::name('admin_user_mobile')->where('username',$data['eid'])->update(['temp1'=>$data['vote']]);
        }else{
            Db::name('admin_user_mobile')->where('username',$data['eid'])->update(['temp2'=>$data['vote']]);
        }
        exit(json_encode(array('code'=>0,'msg'=>'投票成功!')));
    }
    //电测换型记录
    public function arloChangeRecord(){
        $data = input('post.');
        $pid_info = Db::name('le_product_list')->where('cpd',$data['cpd'])->find();
        if($pid_info){
            $code = Db::name('onsite_alro_change_record')->where(array('code'=>$data['code'],'result'=>1))->find();
            // if($code){
            //     exit(json_encode(array('code'=>1,'msg'=>'此串号已存在且记录正常，请确认!')));
            // }
            $mid = Db::name('member_list')->where('id',$data['mid'])->find();
            $tid_info = Db::name('team_list')->find($mid['tid']);
            $familys = Db::name('team_base')->where(array('mid'=>3,'mark'=>$tid_info['line']))->column('id');
            if(time()<strtotime('today')+6*3600+$tid_info['shift_type']*1800){
                $ppdate = strtotime('yesterday');
            }else{
                $ppdate = strtotime('today');
            }
            $pp = Db::name('le_pp')->where(array('ppdate'=>$ppdate,'shift'=>$tid_info['shift'],'status'=>1))->whereIn('family',$familys)->column('pid');
            $data['create_time'] = time();
            $data['tid']= $tid_info['id'];
            $data['pid']= $pid_info['id'];
            $data['poid'] = $mid['poid'];
            $data['ppdate'] = $ppdate;
            if(substr($pid_info['dpn'],-4)==substr($data['code'],-4)){
                if(in_array($pid_info['id'],$pp)){
                    $data['result'] = 1;
                }else{
                    $data['result'] = 11;
                }
            }else{
                if(in_array($pid_info['id'],$pp)){
                    $data['result'] = 2;
                }else{
                    $data['result'] = 12;
                }
            }
            Db::name('onsite_alro_change_record')->insert($data);
            if($data['result']==2||$data['result']==12){
                //发送微信服务号消息
                $send_aid = [$tid_info['aid'],2,215,54,366,42,40,49,43,39,220,356,224,401,257];
                $wx_model = new wxMsg();
                foreach ($send_aid as $v) {
                    $template = array(
                        'touser'=>$v,  //用户userId
                        'type'=>2,  //用户类型  1：现场人员    2：办公室人员
                        'template_id'=>"6AHOOlhF7p31IosIhWvfBZFEwX69mp2p9tjcRHBiLPU", //生产异常提醒
                        'data'=>array(
                            'time9'=>array('value'=>date('Y-m-d',$ppdate),'color'=>'#FF0000'),     //日期
                            'thing13'=>array('value'=>$tid_info['team'],'color'=>'#FF0000'),      //生产区域
                            'thing3'=>array('value'=>'电测换型记录异常,串号后四位'.substr($data['code'],-4),'color'=>'#FF0000'),      //异常原因
                        )
                    );
                    $wx_model->send_msg(json_encode($template));
                }
            }
            exit(json_encode(array('code'=>0,'msg'=>'记录成功!')));
        }else{
            exit(json_encode(array('code'=>1,'msg'=>'无相关客户号，请确认!')));
        }
    }
    //食堂稽核问题新增
    public function newCanteenIssue(){
        $data = input('post.');
        $img = $data['imgs'];
        $data['create_date'] = strtotime('today');
        $data['create_time'] = time();
        $data['team'] = Db::name('member_canteen_member')->where('status',1)->value('team');
        $data['update'] = time();
        unset($data['imgs']);
        $id = Db::name('member_canteen_issue')->insertGetId($data);
        if($img!==''){
            $imgs = explode(',',$img);
            foreach ($imgs as $k => $v) {
                if($v!==''){
                    Db::name('img_list')->insert(['mid'=>35,'mark'=>$id,'img'=>'/storage/wx_upload/canteen_issue/'.date('Ymd',time()).'/'.$v]);
                }
            }
        }
        exit(json_encode(array('code'=>0,'msg'=>'问题保存成功!')));
    }
    //食堂稽核问题反馈
    public function canteenActionSave(){
        $data = input('post.');
        $img = $data['imgs'];
        if(isset($data['due_date'])&&$data['due_date']!=''){
            $data['due_date'] = strtotime($data['due_date']);
        }
        $data['update'] = time();
        unset($data['imgs']);
        Db::name('member_canteen_issue')->save($data);
        if($img!==''){
            $imgs = explode(',',$img);
            foreach ($imgs as $k => $v) {
                if($v!==''){
                    Db::name('img_list')->insert(['mid'=>35,'mark'=>$data['id'],'img'=>'/storage/wx_upload/canteen_issue/'.date('Ymd',time()).'/'.$v,'status'=>2]);
                }
            }
        }
        if($data['status']==3){
            //给稽核员发送整改完成消息
            $info = Db::name('member_canteen_issue')->find($data['id']);
            $owner_name = Db::name('admin_user')->where('id',$info['owner'])->value('truename');
            $template = array(
                'touser'=>$info['auditor'],  //用户userId
                'type'=>$info['auditor_type'],  //用户类型  1：现场人员    2：办公室人员
                'template_id'=>"ycNGai6Lxf8_URgN4GQDAtNZeirGPSnH3EMAaaAjne8", //流程待审批通知模板id
                'data'=>array(
                    'keyword1'=>array('value'=>'食堂稽核问题反馈','color'=>'#FF0000'),     //流程名称
                    'keyword2'=>array('value'=>mb_substr($info['issue'],0,17,'UTF-8'),'color'=>'#FF0000'),        //流程标题
                    'keyword3'=>array('value'=>'待确认','color'=>'#FF0000'),        //当前环节
                    'keyword4'=>array('value'=>$owner_name,'color'=>'#FF0000'),      //提交人
                    'keyword5'=>array('value'=>date('Y-m-d,H:i:s',time()),'color'=>'#FF0000'),      //提交时间
                )
            );
            $wx_model = new wxMsg();
            $wx_model->send_msg(json_encode($template));
        }
        exit(json_encode(array('code'=>0,'msg'=>'措施保存成功!')));
    }
    //食堂稽核问题确认
    public function canteenActionConfirm(){
        $data = input('post.');
        $data['status'] = 4;
        $data['update'] = time();
        Db::name('member_canteen_issue')->save($data);
        //给稽核员发送整改完成消息
        $info = Db::name('member_canteen_issue')->find($data['id']);
        if($info['auditor_type']==1){
            $owner_name = Db::name('member_list')->where('id',$info['auditor'])->value('ename');
        }else{
            $owner_name = Db::name('admin_user')->where('id',$info['auditor'])->value('truename');
        }
        $template = array(
            'touser'=>$info['owner'],  //用户userId
            'type'=>2,  //用户类型  1：现场人员    2：办公室人员
            'template_id'=>"gH-Pgs95s6lNtCuoNmgdoY1io-gBgA9Ygw01e3IaNrs", //流程待审批通知模板id
            'data'=>array(
                'keyword1'=>array('value'=>'食堂稽核问题确认','color'=>'#FF0000'),     //流程名称
                'keyword2'=>array('value'=>date('Y-m-d,H:i:s',time()),'color'=>'#FF0000'),        //流程标题
                'keyword3'=>array('value'=>'确认完成！','color'=>'#FF0000'),        //当前环节
            )
        );
        $wx_model = new wxMsg();
        $wx_model->send_msg(json_encode($template));
        exit(json_encode(array('code'=>0,'msg'=>'措施确认完成!')));
    }
    //食堂稽核问题驳回
    public function canteenIssueReject(){
        $data = input('post.');
        $data['status'] = 0;
        Db::name('member_canteen_issue')->save($data);
        //给稽核员发送驳回消息
        $info = Db::name('member_canteen_issue')->find($data['id']);
        if($info['auditor_type']==1){
            $owner_name = Db::name('member_list')->where('id',$info['auditor'])->value('ename');
        }else{
            $owner_name = Db::name('admin_user')->where('id',$info['auditor'])->value('truename');
        }
        $template = array(
            'touser'=>$info['owner'],  //用户userId
            'type'=>2,  //用户类型  1：现场人员    2：办公室人员
            'template_id'=>"gH-Pgs95s6lNtCuoNmgdoY1io-gBgA9Ygw01e3IaNrs", //流程待审批通知模板id
            'data'=>array(
                'keyword1'=>array('value'=>'食堂稽核问题驳回','color'=>'#FF0000'),     //流程名称
                'keyword2'=>array('value'=>date('Y-m-d,H:i:s',time()),'color'=>'#FF0000'),        //流程标题
                'keyword3'=>array('value'=>'驳回原因：'.$data['action'],'color'=>'#FF0000'),        //当前环节
            )
        );
        $wx_model = new wxMsg();
        $wx_model->send_msg(json_encode($template));
        exit(json_encode(array('code'=>0,'msg'=>'驳回完成!')));
    }
    //PCN签核
    public function pcn_check(){
        $data = input('post.');
        $info = Db::name('common_pcn_list')->find($data['id']);
        if($data['status']==1){
            if($info['status']==2){
                $now = Db::name('common_pcn_sign')->where(array('p_id'=>$data['id'],'item'=>1,'aid'=>$info['sign'],'status'=>1))->find();
                $next = Db::name('common_pcn_sign')->where(array('p_id'=>$data['id'],'item'=>1,'order'=>$now['order']+1,'status'=>1))->find();
                if($next){
                    Db::name('common_pcn_list')->where('id',$data['id'])->update(['sign'=>$next['aid']]);

                }else{
                    Db::name('common_pcn_list')->where('id',$data['id'])->update(['status'=>3,'sign'=>null]);
                }
                Db::name('common_pcn_sign')->where('id',$now['id'])->update(['update'=>time(),'status'=>2]);
                //微信消息
                $owner_name = Db::name('admin_user')->where('id',$info['creater'])->value('truename');
                $template = array(
                    'touser'=>$next?$next:$info['qe'],  //用户userId
                    'type'=>2,  //用户类型  1：现场人员    2：办公室人员
                    'template_id'=>"3Huxw6Ptdx15igJrOWwJ2OhlRmqX15AKwDdI5cK-ZOE", //流程待办提醒模板id
                    'data'=>array(
                        'keyword1'=>array('value'=>$info['pcn_id'],'color'=>'#FF0000'),     //流程编号
                        'keyword2'=>array('value'=>'PCN签核','color'=>'#FF0000'),      //流程名称
                        'keyword3'=>array('value'=>$next?'可行性批准':'客户批准','color'=>'#FF0000'),      //流程标题
                        'keyword4'=>array('value'=>$owner_name,'color'=>'#FF0000'),      //申请人
                        'keyword5'=>array('value'=>date('Y-m-d,H:i:s',time()),'color'=>'#FF0000'),      //申请时间
                    )
                );
                $wx_model = new wxMsg();
                $wx_model->send_msg(json_encode($template));
            }else{
                Db::name('common_pcn_sign')->where(array('p_id'=>$data['id'],'item'=>2))->update(['update'=>time(),'status'=>2]);
                Db::name('common_pcn_list')->where('id',$data['id'])->update(['status'=>6,'sign'=>null]);
                //微信消息
                $owner_name = Db::name('admin_user')->where('id',$info['creater'])->value('truename');
                $wx_model = new wxMsg();
                $template = array(
                    'touser'=>[$info['ie'],$info['qe']],  //用户userId
                    'type'=>2,  //用户类型  1：现场人员    2：办公室人员
                    'template_id'=>"3Huxw6Ptdx15igJrOWwJ2OhlRmqX15AKwDdI5cK-ZOE", //流程待办提醒模板id
                    'data'=>array(
                        'keyword1'=>array('value'=>$info['pcn_id'],'color'=>'#FF0000'),     //流程编号
                        'keyword2'=>array('value'=>'PCN签核','color'=>'#FF0000'),      //流程名称
                        'keyword3'=>array('value'=>'PCN实施及填写相关内容','color'=>'#FF0000'),      //流程标题
                        'keyword4'=>array('value'=>$owner_name,'color'=>'#FF0000'),      //申请人
                        'keyword5'=>array('value'=>date('Y-m-d,H:i:s',time()),'color'=>'#FF0000'),      //申请时间
                    )
                );
                $wx_model->send_msg(json_encode($template));
            }
        }else{
            if($info['status']==2){
                $now = Db::name('common_pcn_sign')->where(array('p_id'=>$data['id'],'item'=>1,'aid'=>$info['sign'],'status'=>1))->update(['desc'=>$data['content']]);
                Db::name('common_pcn_sign')->where(array('p_id'=>$data['id'],'item'=>1))->update(['status'=>0]);
                Db::name('common_pcn_list')->where('id',$data['id'])->update(['status'=>1,'sign'=>null]);
            }else{
                Db::name('common_pcn_sign')->where(array('p_id'=>$data['id'],'item'=>2))->update(['update'=>time(),'status'=>0,'desc'=>$data['content']]);
                Db::name('common_pcn_list')->where('id',$data['id'])->update(['status'=>4,'sign'=>null]);
            }
            //微信消息
                $owner_name = Db::name('admin_user')->where('id',$info['sign'])->value('truename');
                $template = array(
                    'touser'=>$info['status']==2?$info['creater']:$info['qe'],  //用户userId
                    'type'=>2,  //用户类型  1：现场人员    2：办公室人员
                    'template_id'=>"8HtyhmsSts3upx5qIxMT6cvDX3YPeEnysB5Wz44PXxI", //业务单据审批驳回通知
                    'data'=>array(
                        'thing3'=>array('value'=>'PCN审批 -'.($info['status']==2?'可行性':'质量验证计划'),'color'=>'#FF0000'),     //业务名称
                        'character_string2'=>array('value'=>$info['pcn_id'],'color'=>'#FF0000'),      //业务编号
                        'thing4'=>array('value'=>$owner_name,'color'=>'#FF0000'),      //审批人
                        'thing6'=>array('value'=>$data['content'],'color'=>'#FF0000'),      //驳回原因
                        'time5'=>array('value'=>date('Y-m-d,H:i:s',time()),'color'=>'#FF0000'),      //驳回时间
                    )
                );
                $wx_model = new wxMsg();
                $wx_model->send_msg(json_encode($template));
        }
        exit(json_encode(array('code'=>0,'msg'=>$data['status']==1?'签核完成！':'驳回成功!')));
    }
    //PCN签核
    public function pcnCheck(){
        $data = input('post.');
        $info = Db::name('common_pcn_list')->find($data['id']);
        if($data['status']==1){
            if($info['status']==2){
                $now = Db::name('common_pcn_sign')->where(array('p_id'=>$data['id'],'item'=>1,'aid'=>$info['sign'],'status'=>1))->find();
                $next = Db::name('common_pcn_sign')->where(array('p_id'=>$data['id'],'item'=>1,'order'=>$now['order']+1,'status'=>1))->find();
                if($next){
                    Db::name('common_pcn_list')->where('id',$data['id'])->update(['sign'=>$next['aid']]);

                }else{
                    Db::name('common_pcn_list')->where('id',$data['id'])->update(['status'=>3,'sign'=>null]);
                }
                Db::name('common_pcn_sign')->where('id',$now['id'])->update(['update'=>time(),'status'=>2]);
                //微信消息
                $owner_name = Db::name('admin_user')->where('id',$info['creater'])->value('truename');
                $template = array(
                    'touser'=>$next?$next:$info['qe'],  //用户userId
                    'type'=>2,  //用户类型  1：现场人员    2：办公室人员
                    'template_id'=>"3Huxw6Ptdx15igJrOWwJ2OhlRmqX15AKwDdI5cK-ZOE", //流程待办提醒模板id
                    'data'=>array(
                        'keyword1'=>array('value'=>$info['pcn_id'],'color'=>'#FF0000'),     //流程编号
                        'keyword2'=>array('value'=>'PCN签核','color'=>'#FF0000'),      //流程名称
                        'keyword3'=>array('value'=>$next?'可行性批准':'客户批准','color'=>'#FF0000'),      //流程标题
                        'keyword4'=>array('value'=>$owner_name,'color'=>'#FF0000'),      //申请人
                        'keyword5'=>array('value'=>date('Y-m-d,H:i:s',time()),'color'=>'#FF0000'),      //申请时间
                    )
                );
                $wx_model = new wxMsg();
                $wx_model->send_msg(json_encode($template));
            }else{
                Db::name('common_pcn_sign')->where(array('p_id'=>$data['id'],'item'=>2))->update(['update'=>time(),'status'=>2]);
                Db::name('common_pcn_list')->where('id',$data['id'])->update(['status'=>6,'sign'=>null]);
                //微信消息
                $owner_name = Db::name('admin_user')->where('id',$info['creater'])->value('truename');
                $wx_model = new wxMsg();
                $template = array(
                    'touser'=>[$info['ie'],$info['qe']],  //用户userId
                    'type'=>2,  //用户类型  1：现场人员    2：办公室人员
                    'template_id'=>"3Huxw6Ptdx15igJrOWwJ2OhlRmqX15AKwDdI5cK-ZOE", //流程待办提醒模板id
                    'data'=>array(
                        'keyword1'=>array('value'=>$info['pcn_id'],'color'=>'#FF0000'),     //流程编号
                        'keyword2'=>array('value'=>'PCN签核','color'=>'#FF0000'),      //流程名称
                        'keyword3'=>array('value'=>'PCN实施及填写相关内容','color'=>'#FF0000'),      //流程标题
                        'keyword4'=>array('value'=>$owner_name,'color'=>'#FF0000'),      //申请人
                        'keyword5'=>array('value'=>date('Y-m-d,H:i:s',time()),'color'=>'#FF0000'),      //申请时间
                    )
                );
                $wx_model->send_msg(json_encode($template));
            }
        }else{
            if($info['status']==2){
                $now = Db::name('common_pcn_sign')->where(array('p_id'=>$data['id'],'item'=>1,'aid'=>$info['sign'],'status'=>1))->update(['desc'=>$data['content']]);
                Db::name('common_pcn_sign')->where(array('p_id'=>$data['id'],'item'=>1))->update(['status'=>0]);
                Db::name('common_pcn_list')->where('id',$data['id'])->update(['status'=>1,'sign'=>null]);
            }else{
                Db::name('common_pcn_sign')->where(array('p_id'=>$data['id'],'item'=>2))->update(['update'=>time(),'status'=>0,'desc'=>$data['content']]);
                Db::name('common_pcn_list')->where('id',$data['id'])->update(['status'=>4,'sign'=>null]);
            }
            //微信消息
                $owner_name = Db::name('admin_user')->where('id',$info['sign'])->value('truename');
                $template = array(
                    'touser'=>$info['status']==2?$info['creater']:$info['qe'],  //用户userId
                    'type'=>2,  //用户类型  1：现场人员    2：办公室人员
                    'template_id'=>"8HtyhmsSts3upx5qIxMT6cvDX3YPeEnysB5Wz44PXxI", //业务单据审批驳回通知
                    'data'=>array(
                        'thing3'=>array('value'=>'PCN审批 -'.($info['status']==2?'可行性':'质量验证计划'),'color'=>'#FF0000'),     //业务名称
                        'character_string2'=>array('value'=>$info['pcn_id'],'color'=>'#FF0000'),      //业务编号
                        'thing4'=>array('value'=>$owner_name,'color'=>'#FF0000'),      //审批人
                        'thing6'=>array('value'=>$data['content'],'color'=>'#FF0000'),      //驳回原因
                        'time5'=>array('value'=>date('Y-m-d,H:i:s',time()),'color'=>'#FF0000'),      //驳回时间
                    )
                );
                $wx_model = new wxMsg();
                $wx_model->send_msg(json_encode($template));
        }
        exit(json_encode(array('code'=>0,'msg'=>$data['status']==1?'签核完成！':'驳回成功!')));
    }
    //新厂务报修
    public function newFacilityRepairSave(){
        $data = input('post.');
        $data['create_time'] = time();
        $data['required_date'] = strtotime($data['required_date']);
        $img = $data['imgs'];
        unset($data['imgs']);
        $id = Db::name('me_facility_list')->insertGetId($data);
        if($img!==''){
            $imgs = explode(',',$img);
            foreach ($imgs as $k => $v) {
                if($v!==''){
                    Db::name('img_list')->insert(['mid'=>37,'mark'=>$id,'img'=>'/storage/wx_upload/facility_img/'.date('Ymd',time()).'/'.$v]);
                }
            }
        }
        exit(json_encode(array('code'=>0,'msg'=>'申请成功!')));
    }
    //厂务报修删除
    public function facilityRepairDel(){
        Db::name('me_facility_list')->where('id',input('post.id'))->delete();
        exit(json_encode(array('code'=>0,'msg'=>'删除成功!')));
    }
    public function getLottery(){
        $eid = input('post.eid');
        $lottery = Db::name('member_gift_event')->where('status',2)->find();
        $record = Db::name('member_gift_list')->where(array('g_id'=>$lottery['id'],'eid'=>$eid))->find();
        if($record){
            exit(json_encode(array('code'=>1)));
        }
        $used = Cache::get('gift'.$lottery['id']);
        if(!$used){
            $used = Db::name('member_gift_list')->where('g_id',$lottery['id'])->column('s_num');
            Cache::set('gift'.$lottery['id'], $used,600);
        }
        $ticket = [];
        for ($i=1; $i <= $lottery['total']; $i++) { 
            array_push($ticket,$i);
        }
        $left = array_diff($ticket,$used);
        $gift_num = $left[array_rand($left,1)];
        $types = Db::name('member_gift_prizes')->where('g_id',$lottery['id'])->order('level')->cates('level');
        $num = $gift_num;
        for ($i=1; $i < count($types)+1; $i++) { 
            if($num<=$types[$i]['num']){
                $level = $types[$i]['level'];
                break;
            }else{
                $num = $num - $types[$i]['num'];
            }
        }
        $id = Db::name('member_gift_list')->insertGetId(['g_id'=>$lottery['id'],'eid'=>input('post.eid'),'s_num'=>$gift_num,'level'=>$level,'create_date'=>time()]);
        Db::name('member_gift_prizes')->where(array('g_id'=>$lottery['id'],'level'=>$level))->update(['used'=>$types[$level]['used']+1]);
        $prizelist = Db::name('member_gift_prizes')->where('g_id',$lottery['id'])->lists();
        foreach ($prizelist as $k => $v) {
            if($v['level']==$level){
                $prizelist[$k]['title'] = $v['title'].' ( '.date('Y-m-d, H:i:s',time()).'已抽 )';
            }
        }
        exit(json_encode(array('code'=>0,'prizes'=>$level,'prizeList'=>$prizelist,'ticket'=>input('post.eid').'.'.$id.'.'.$lottery['id'].'.'.$gift_num.'.'.$level)));
    }
    //抽奖券兑奖
    public function ticketCheck(){
        $data = input('post.');
        $ticket = explode('.',$data['ticket']);
        $record = DB::name('member_gift_list')->find($ticket[2]);
        if($ticket[1]!=$record['eid']||$ticket[3]!=$record['g_id']||$ticket[4]!=$record['s_num']||$ticket[5]!=$record['level']){
            exit(json_encode(array('code'=>1,'msg'=>'兑奖码异常，请联系管理员！')));
        }
        if($record['aid']>0){
            $aid = Db::name('admin_user')->where('id',$record['aid'])->value('truename');
            exit(json_encode(array('code'=>1,'msg'=>'兑奖码已于'.date('Y-m-d H:i:s',$record['confirm']).',由'.$aid.'兑换，请确认！')));
        }
        DB::name('member_gift_list')->where('id',$record['id'])->update(['confirm'=>time(),'aid'=>$data['aid']]);
        exit(json_encode(array('code'=>0,'msg'=>'验证成功！')));
    }
    //合理化建议部门分配
    public function suggestionDptSet(){
        $data = input('post.');
        if($data['userId']===656||$data['userId']===27){
            $res['id'] = $data['id'];
            $res['due_dpt'] = $data['dpt'];
            $res['owner'] = Db::name('member_base')->where(['mid'=>3,'mark'=>$res['due_dpt']])->value('title');
            $res['status'] = 2;
            Db::name('onsite_suggestion_list')->save($res);
            exit(json_encode(array('code'=>0,'msg'=>'分配成功！')));
        }else{
            exit(json_encode(array('code'=>1,'msg'=>'您无权分配！')));
        }
    }
    //安全风险反馈责任人分配
    public function safeOwnerSet(){
        $data = input('post.');
        $info = Db::name('admin_user')->find($data['userId']);
        if($info['dpt']===53){
            $res['id'] = $data['id'];
            $res['owner'] = $data['owner'];
            $res['status'] = 2;
            Db::name('onsite_safe_list')->save($res);
            exit(json_encode(array('code'=>0,'msg'=>'分配成功！')));
        }else{
            exit(json_encode(array('code'=>1,'msg'=>'您无权分配！')));
        }
    }
    //合理化建议确认完成
    public function suggestionConfirm(){
        Db::name('onsite_suggestion_list')->where('id',input('post.id'))->update(['status'=>4,'update'=>time()]);
        //发送微信服务号消息
        $info = Db::name('onsite_suggestion_list')->find(input('post.id'));
        $template = array(
            'touser'=>$info['owner'],  //用户userId
            'type'=>2,  //用户类型  1：现场人员    2：办公室人员
            'template_id'=>"3Huxw6Ptdx15igJrOWwJ2OhlRmqX15AKwDdI5cK-ZOE", //流程待办提醒模板id
            'data'=>array(
                'keyword1'=>array('value'=>$info['id'],'color'=>'#FF0000'),     //流程编号
                'keyword2'=>array('value'=>'合理化建议','color'=>'#FF0000'),      //流程名称
                'keyword3'=>array('value'=>'合理化建议改善完成确认通知','color'=>'#FF0000'),      //流程标题
                'keyword4'=>array('value'=>'','color'=>'#FF0000'),      //申请人
                'keyword5'=>array('value'=>date('Y-m-d,H:i:s',time()),'color'=>'#FF0000'),      //申请时间
            )
        );
        $wx_model = new wxMsg();
        $wx_model->send_msg(json_encode($template));
        //发送微信服务号消息结束
        exit(json_encode(array('code' =>0,'msg'=>'确认完成！')));
    }
    //合理化建议确认完成
    public function safeConfirm(){
        $data = input('post.');
        $info = Db::name('admin_user')->find($data['userId']);
        if($info['dpt']===53){
            $res['id'] = $data['id'];
            $res['status'] = 4;
            Db::name('onsite_safe_list')->save($res);
            exit(json_encode(array('code'=>0,'msg'=>'确认成功！')));
        }else{
            exit(json_encode(array('code'=>1,'msg'=>'您无权确认！')));
        }
        Db::name('onsite_safe_list')->where('id',input('post.id'))->update(['status'=>4,'update'=>time()]);
        //发送微信服务号消息
        $info = Db::name('onsite_suggestion_list')->find(input('post.id'));
        $template = array(
            'touser'=>$info['owner'],  //用户userId
            'type'=>2,  //用户类型  1：现场人员    2：办公室人员
            'template_id'=>"3Huxw6Ptdx15igJrOWwJ2OhlRmqX15AKwDdI5cK-ZOE", //流程待办提醒模板id
            'data'=>array(
                'keyword1'=>array('value'=>$info['id'],'color'=>'#FF0000'),     //流程编号
                'keyword2'=>array('value'=>'合理化建议','color'=>'#FF0000'),      //流程名称
                'keyword3'=>array('value'=>'合理化建议改善完成确认通知','color'=>'#FF0000'),      //流程标题
                'keyword4'=>array('value'=>'','color'=>'#FF0000'),      //申请人
                'keyword5'=>array('value'=>date('Y-m-d,H:i:s',time()),'color'=>'#FF0000'),      //申请时间
            )
        );
        $wx_model = new wxMsg();
        $wx_model->send_msg(json_encode($template));
        //发送微信服务号消息结束
        exit(json_encode(array('code' =>0,'msg'=>'确认完成！')));
    }
    //离职撤销
    public function leaveDel(){
        $owner = Db::name('admin_user')->where('id',input('post.mid'))->value('truename');
        Db::name('member_perleave')->where('id',input('post.id'))->update(['status'=>0,'update'=>time(),'mark'=>'由'.$owner.'于'.date('Y-m-d,H:i:s',time()).'取消此离职申请！']);
        //发送微信服务号消息
        $info = Db::name('member_perleave')->find(input('post.id'));
        $template = array(
            'touser'=>$info['mid'],  //用户userId
            'type'=>1,  //用户类型  1：现场人员    2：办公室人员
            'template_id'=>"3Huxw6Ptdx15igJrOWwJ2OhlRmqX15AKwDdI5cK-ZOE", //流程待办提醒模板id
            'data'=>array(
                'keyword1'=>array('value'=>$info['id'],'color'=>'#FF0000'),     //流程编号
                'keyword2'=>array('value'=>'预离职申请','color'=>'#FF0000'),      //流程名称
                'keyword3'=>array('value'=>'预离职申请撤销','color'=>'#FF0000'),      //流程标题
                'keyword4'=>array('value'=>$owner,'color'=>'#FF0000'),      //申请人
                'keyword5'=>array('value'=>date('Y-m-d,H:i:s',time()),'color'=>'#FF0000'),      //申请时间
            )
        );
        $wx_model = new wxMsg();
        $wx_model->send_msg(json_encode($template));
        //发送微信服务号消息结束
        exit(json_encode(array('code' =>0,'msg'=>'确认完成！')));
    }
    //微信openID撤销关联
    public function unlinkWechat(){
        $owner = Db::name('admin_user_mobile')->where('username',input('post.eid'))->find();
        if($owner['user_type']>2){
            $sid = Db::name('admin_user')->where('id',$owner['user_id'])->value('e_mail');
        }else{
            $sid = Db::name('member_interview')->where('m_id',$owner['user_id'])->value('identity');
        }
        if($sid == input('post.sid')){
            Db::name('admin_user_mobile')->where('id',$owner['id'])->update(['openid'=>null]);
            exit(json_encode(array('code' =>0,'msg'=>'重置成功！')));
        }else{
            exit(json_encode(array('code' =>1,'msg'=>($owner['user_type']>2?'公司邮箱':'身份证号错误').'错误，请重试！')));
        }
    }
    //修改手机号
    public function updatePhone(){
        $owner = Db::name('admin_user_mobile')->where('username',input('post.eid'))->find();
        if($owner['user_type']>2){
            Db::name('admin_user')->where('id',$owner['user_id'])->update(['phone'=>input('post.phone')]);
        }else{
            Db::name('member_interview')->where('m_id',$owner['user_id'])->update(['phone'=>input('post.phone')]);
        }
        exit(json_encode(array('code' =>0,'msg'=>'重置成功！')));
    }
    //微信openID撤销关联
    public function updateSize(){
        Db::name('admin_user_mobile')->where('username',input('post.eid'))->update(['size'=>input('post.size')]);
        exit(json_encode(array('code' =>0,'msg'=>'更新成功！')));
    }
    //晚加班车申请
    public function busReqSave(){
        $data = input('post.');
        $recoed = Db::name('common_night_bus')->where(['eid'=>$data['eid'],'eff_date'=>strtotime($data['eff_date'])])->where('status',1)->find();
        if($recoed){
            exit(json_encode(array('code' =>1,'msg'=>'当日已申请！')));
        }else{
            $data['eff_date'] = strtotime($data['eff_date']);
            if(time() > $data['eff_date'] + 17* 3600){
                exit(json_encode(array('code' =>1,'msg'=>'超时无法申请！')));
            }
            $data['update'] = time();
            $id = Db::name('common_night_bus')->insert($data);
            //发送微信服务号消息
            $template = array(
                'touser'=>'200216',  //用户userId
                'template_id'=>"3Huxw6Ptdx15igJrOWwJ2OhlRmqX15AKwDdI5cK-ZOE", //流程待办提醒模板id
                'data'=>array(
                    'keyword1'=>array('value'=>$id,'color'=>'#FF0000'),     //流程编号
                    'keyword2'=>array('value'=>'晚10点加班车申请','color'=>'#FF0000'),      //流程名称
                    'keyword3'=>array('value'=>'晚10点加班车申请','color'=>'#FF0000'),      //流程标题
                    'keyword4'=>array('value'=>$data['eid'],'color'=>'#FF0000'),      //申请人
                    'keyword5'=>array('value'=>date('Y-m-d,H:i:s',time()),'color'=>'#FF0000'),      //申请时间
                )
            );
            $wx_model = new wxMsg();
            $res = $wx_model->send_msg_eid(json_encode($template));
            exit(json_encode(array('code' =>0,'msg'=>'申请成功！')));
        }
    }
    //晚加班车申请撤销
    public function busDel(){
        $data = input('post.');
        $info =  Db::name('common_night_bus')->find(input('post.id'));
        if(time() > $info['eff_date'] + 17* 3600){
            exit(json_encode(array('code' =>1,'msg'=>'超时无法撤销！')));
        }
        Db::name('common_night_bus')->where('id',input('post.id'))->update(['status'=>0]);
        exit(json_encode(array('code' =>0,'msg'=>'撤销成功！')));
    }
    //晚加班车照片确认
    public function busConfirm(){
        $data = input('post.');
        $info = Db::name('common_night_bus')->find($data['id']);
        if(time()<$info['eff_date']+21.75*3600||time()>$info['eff_date']+22.75*3600){
            exit(json_encode(array('code' =>1,'msg'=>'非乘车时间！')));
        }
        $data['status'] = 2;
        $data['img'] = '/storage/wx_upload/'.date('Ymd',time()).'/bus_img/'.$data['img'];
        Db::name('common_night_bus')->save($data);
        exit(json_encode(array('code' =>0,'msg'=>'确认完成！')));
    }
    //保存领餐
    public function selfMealSave(){
        $data = input('post.');
        $data['meal_date'] = strtotime($data['meal_date']);
        $data['create_time'] = time();
        switch ($data['type']) {
            case 1:
                $new_comer = Db::name('member_newcomer')->where('phone',$data['phone'])->where('create_time','>',strtotime('yesterday'))->find();
                if($new_comer){
                    $data['ename'] = $new_comer['name'];
                    $record = Db::name('common_meal_sign')->where(['meal_date'=>$data['meal_date'],'type'=>$data['type'],'item'=>$data['item'],'phone'=>$data['phone']])->find();
                    if($record){
                        if($record['status']===1){
                            exit(json_encode(array('code' =>0,'result'=>$record['type'].'.'.$record['item'].'.'.$record['id'].'.'.$record['create_time'])));
                        }else{
                            exit(json_encode(array('code' =>1,'msg'=>'已验餐')));
                        }
                    }else{
                        $this->mealSaving($data);
                    }
                }else{
                    exit(json_encode(array('code' =>1,'msg'=>'无此手机号')));
                }
                break;
            case 2:
                $record = Db::name('common_meal_sign')->where(['meal_date'=>$data['meal_date'],'type'=>$data['type'],'item'=>$data['item'],'eid'=>$data['eid']])->find();
                if($record){
                    if($record['status']===1){
                        exit(json_encode(array('code' =>0,'result'=>$record['type'].'.'.$record['item'].'.'.$record['id'].'.'.$record['create_time'])));
                    }else{
                        exit(json_encode(array('code' =>1,'msg'=>'已验餐')));
                    }
                }else{
                    $this->mealSaving($data);
                }
                break;
            case 3:
                $record = Db::name('common_meal_sign')->where(['meal_date'=>$data['meal_date'],'type'=>$data['type'],'item'=>$data['item'],'visitor_id'=>$data['visitor_id']])->find();
                if($record){
                    if($record['status']===1){
                        if((int)$record['num'] == (int)$data['num']){
                            exit(json_encode(array('code' =>0,'result'=>$record['type'].'.'.$record['item'].'.'.$record['id'].'.'.$record['create_time'])));
                        }else{
                            unset($data['visitor_reason']);
                            Db::name('common_meal_sign')->where('id',$record['id'])->update($data);
                            exit(json_encode(array('code' =>0,'result'=>$record['type'].'.'.$record['item'].'.'.$record['id'].'.'.$record['create_time'],'str'=>'数量修改由 '.$record['num'].' 修改为 '.$data['num'])));
                        }
                    }else{
                        exit(json_encode(array('code' =>1,'msg'=>'已验餐')));
                    }
                }else{
                    $this->mealSaving($data);
                }
                break;
            case 4:
                $record = Db::name('common_meal_sign')->where(['meal_date'=>$data['meal_date'],'type'=>$data['type'],'item'=>$data['item'],'eid'=>$data['eid']])->find();
                $aid_info = Db::name('admin_user')->where('username',$data['eid'])->find();
                $aid_job = $aid_info['job'];
                if($record){
                    if($record['status']===1){
                        if((int)$record['num'] == (int)$data['num']){
                            exit(json_encode(array('code' =>0,'result'=>$record['type'].'.'.$record['item'].'.'.$record['id'].'.'.$record['create_time'])));
                        }else{
                            $all_num = Db::name('member_newcomer')->where('creator',$aid_info['id'])->where('create_time','>',strtotime('today'))->count();
                            if($aid_job===73&&$data['num'] > $all_num){
                                exit(json_encode(array('code' =>1,'msg'=>'人数异常！')));
                            }
                            unset($data['visitor_reason']);
                            Db::name('common_meal_sign')->where('id',$record['id'])->update($data);
                            exit(json_encode(array('code' =>0,'result'=>$record['type'].'.'.$record['item'].'.'.$record['id'].'.'.$record['create_time'],'str'=>'数量修改由 '.$record['num'].' 修改为 '.$data['num'])));
                        }
                    }else{
                        exit(json_encode(array('code' =>1,'msg'=>'已验餐')));
                    }
                }else{
                    if($aid_job===73){
                        if($data['meal_date'] != strtotime('today')){
                            exit(json_encode(array('code' =>1,'msg'=>'仅限当天用餐！')));
                        }
                        $all_num = Db::name('member_newcomer')->where('creator',$aid_info['id'])->where('create_time','>',strtotime('today'))->count();
                        if($data['num'] > $all_num){
                            exit(json_encode(array('code' =>1,'msg'=>'人数异常！')));
                        }
                    }
                    $this->mealSaving($data);
                }
                break;
            case 5:
                $record = Db::name('common_meal_sign')->where(['meal_date'=>$data['meal_date'],'type'=>$data['type'],'item'=>$data['item'],'eid'=>$data['eid']])->find();
                $aid_info = Db::name('admin_user')->where('username',$data['eid'])->find();
                $aid_job = $aid_info['job'];
                if($record){
                    if($record['status']===1){
                        if((int)$record['num'] == (int)$data['num']){
                            exit(json_encode(array('code' =>0,'result'=>$record['type'].'.'.$record['item'].'.'.$record['id'].'.'.$record['create_time'])));
                        }else{
                            unset($data['visitor_reason']);
                            Db::name('common_meal_sign')->where('id',$record['id'])->update($data);
                            exit(json_encode(array('code' =>0,'result'=>$record['type'].'.'.$record['item'].'.'.$record['id'].'.'.$record['create_time'],'str'=>'数量修改由 '.$record['num'].' 修改为 '.$data['num'])));
                        }
                    }else{
                        exit(json_encode(array('code' =>1,'msg'=>'已验餐')));
                    }
                }else{
                    $this->mealSaving($data);
                }
                break;
        }
    }
    private function mealSaving($data){
        if(isset($data['ename'])==false){
            $aid_name = Db::name('admin_user')->where('username',$data['eid'])->value('truename');
            if($aid_name){
                $data['ename'] = $aid_name;
            }else{
                $data['ename'] = Db::name('member_list')->where('eid',$data['eid'])->value('ename');
            }
        }
        unset($data['visitor_reason']);
        $id = Db::name('common_meal_sign')->insertGetId($data);
        if($data['type']===4){
            switch ($data['item']) {
                case 1:
                    $item = '白班午餐';
                    break;
                case 2:
                    $item = '白班晚餐';
                    break;
                case 3:
                    $item = '晚班夜宵';
                    break;
                case 4:
                    $item = '晚班早餐';
                    break;
            }
            $template = array(
                'touser'=>[436,2,315],  //用户userId
                'type'=>2,  //用户类型  1：现场人员    2：办公室人员
                'template_id'=>"lRduti-4_32yG9ZDuLApgFufCBZWgd404SrNdOWRhgw", //订单出货提醒模板id
                'data'=>array(
                    'thing4'=>array('value'=>$item.',原因：'.$data['mark'],'color'=>'#FF0000'),     //审核类型
                    'character_string8'=>array('value'=>date('Y-m-d',$data['meal_date']).' , '.$data['num'].'set','color'=>'#FF0000'),      //审核对象
                    'thing3'=>array('value'=>$data['ename'].' 批量领餐','color'=>'#FF0000'),      //驳回时间
                )
            );
            $wx_model = new wxMsg();
            $wx_model->send_msg(json_encode($template));
        }
        if($data['type']===5){
            $template = array(
                'touser'=>[315,2,657],  //用户userId
                'type'=>2,  //用户类型  1：现场人员    2：办公室人员
                'template_id'=>"lRduti-4_32yG9ZDuLApgFufCBZWgd404SrNdOWRhgw", //订单出货提醒模板id
                'data'=>array(
                    'thing4'=>array('value'=>'原因：'.$data['mark'],'color'=>'#FF0000'),     //审核类型
                    'character_string8'=>array('value'=>date('Y-m-d',$data['meal_date']),'color'=>'#FF0000'),      //审核对象
                    'thing3'=>array('value'=>$data['ename'].' 领客户餐'.$data['num'].'份！','color'=>'#FF0000'),      //驳回时间
                )
            );
            $wx_model = new wxMsg();
            $wx_model->send_msg(json_encode($template));
        }

        exit(json_encode(array('code' =>0,'msg'=>'申请成功！','result'=>$data['type'].'.'.$data['item'].'.'.$id.'.'.$data['create_time'])));
    }
    //食堂验码
    public function mealCodeCheck(){
        $code = input('post.code');
        $data = explode(".",$code);
        $record = Db::name('common_meal_sign')->find($data[3]);
        $result = $this->mealTimeCheck($record['meal_date'],$record['item']);
        if($result){
            Db::name('common_meal_sign')->where('id',$data[3])->update(['status'=>2,'check_time'=>time()]);
            exit(json_encode(array('code' =>0,'msg'=>'验码成功！')));
        }else{
            exit(json_encode(array('code' =>1,'msg'=>'请在规定时间验码！')));
        }
    }
    private function mealTimeCheck($date,$item){
        $now = time();
        switch ($item) {
            case 1:
                if(($now>=$date+10*3600+40*60)&&($now<=$date+13*3600)){
                    return true;
                }
                break;
            case 2:
            case 6:
                if(($now>=$date+16*3600+40*60)&&($now<=$date+18.5*3600)){
                    return true;
                }
                break;
            case 3:
                if(($now>=$date+22*3600+40*60)&&($now<=$date+24.5*3600)){
                    return true;
                }
                break;
            case 4:
                if(($now>=$date+28*3600+40*60)&&($now<=$date+30.5*3600)){
                    return true;
                }
                break;
            default:
                return true;
                break;
        }
        return false;
    }
    //绩效保存
    public function peformanceSave(){
        $data = input('post.');
        unset($data['mid']);
        unset($data['ename']);
        $data['create_time'] = time();
        $data['kpi_date'] = strtotime($data['kpi_date']);
        if($data['kpi_date'] < strtotime('today') - 2* 86400){
            return json(['code'=>1 , 'msg'=>'绩效日期已超期']);
        }
        $data['img'] = strlen($data['img'])>0?('/storage/wx_upload/'.date('Ymd').'/performance/'.$data['img']):null;
        $data['update'] = time();
        $id = Db::name('kpi_record')->insertGetId($data);
        $aid = Db::name('admin_user')->where('id',$data['aid'])->value('truename');
        //发送微信服务号消息
        $template = array(
            'touser'=>$data['eid'],  //用户userId
            'template_id'=>"3Huxw6Ptdx15igJrOWwJ2OhlRmqX15AKwDdI5cK-ZOE", //流程待办提醒模板id
            'data'=>array(
                'keyword1'=>array('value'=>$id,'color'=>'#FF0000'),     //流程编号
                'keyword2'=>array('value'=>'绩效考评确认','color'=>'#FF0000'),      //流程名称
                'keyword3'=>array('value'=>'绩效'.$data['score'].'分，超期将自动确认！','color'=>'#FF0000'),      //流程标题
                'keyword4'=>array('value'=>$aid,'color'=>'#FF0000'),      //申请人
                'keyword5'=>array('value'=>date('Y-m-d,H:i:s',time()),'color'=>'#FF0000'),      //申请时间
            )
        );
        $wx_model = new wxMsg();
        $res = $wx_model->send_msg_eid(json_encode($template));
        // print_r($res);
        //发送微信服务号消息结束
        exit(json_encode(array('code' =>0,'msg'=>'提交成功！')));
    }
    //绩效确认
    public function kpiConfirm(){
        $data = input('post.');
        $info = Db::name('kpi_record')->find($data['id']);
        $ename = Db::name('member_list')->where('eid',$info['eid'])->value('ename');
        if($data['status'] == 2){
            Db::name('kpi_record')->where('id',$data['id'])->update(['status'=>2,'rej_mark'=>$data['content'],'update'=>time()]);
        }else{
            Db::name('kpi_record')->where('id',$data['id'])->update(['status'=>3,'update'=>time()]);
        }
        $leader = Db::name('admin_user')->where('id',$info['aid'])->value('leader');
        if($data['status'] == 2){
            $touser = [$info['aid'],$leader,2];
        }else{
            $touser = [$info['aid'],2];
        }
        //发送微信服务号消息
        $template = array(
            'touser'=> $touser,  //用户userId
            'type'=>2,
            'template_id'=>"3Huxw6Ptdx15igJrOWwJ2OhlRmqX15AKwDdI5cK-ZOE", //流程待办提醒模板id
            'data'=>array(
                'keyword1'=>array('value'=>$data['id'],'color'=>'#FF0000'),     //流程编号
                'keyword2'=>array('value'=>'绩效考评反馈','color'=>'#FF0000'),      //流程名称
                'keyword3'=>array('value'=>'绩效评估已'.($data['status'] == 2?('拒绝，理由：'.$data['content']):'确认'),'color'=>'#FF0000'),      //流程标题
                'keyword4'=>array('value'=>$ename,'color'=>'#FF0000'),      //申请人
                'keyword5'=>array('value'=>date('Y-m-d,H:i:s',time()),'color'=>'#FF0000'),      //申请时间
            )
        );
        $wx_model = new wxMsg();
        $res = $wx_model->send_msg(json_encode($template));
        // print_r($res);
        //发送微信服务号消息结束
        exit(json_encode(array('code' =>0,'msg'=>'提交成功！')));
    }
    //绩效删除
    public function performanceDel(){
        $id = input('post.id');
        $info = Db::name('kpi_record')->find($id);
        Db::name('kpi_record')->where('id',$id)->update(['status'=>0,'update'=>time()]);
        $aid = Db::name('admin_user')->where('id',$info['aid'])->value('truename');
        //发送微信服务号消息
        $template = array(
            'touser'=>$info['eid'],  //用户userId
            'template_id'=>"3Huxw6Ptdx15igJrOWwJ2OhlRmqX15AKwDdI5cK-ZOE", //流程待办提醒模板id
            'data'=>array(
                'keyword1'=>array('value'=>$id,'color'=>'#FF0000'),     //流程编号
                'keyword2'=>array('value'=>'绩效考评删除','color'=>'#FF0000'),      //流程名称
                'keyword3'=>array('value'=>'绩效'.$info['score'].'分已被删除!','color'=>'#FF0000'),      //流程标题
                'keyword4'=>array('value'=>$aid,'color'=>'#FF0000'),      //申请人
                'keyword5'=>array('value'=>date('Y-m-d,H:i:s',time()),'color'=>'#FF0000'),      //申请时间
            )
        );
        $wx_model = new wxMsg();
        $res = $wx_model->send_msg_eid(json_encode($template));
        exit(json_encode(array('code' =>0,'msg'=>'删除成功！')));
    }
    //班长班组认领
    public function teamLeaderChange(){
        Db::name('team_list')->where('id',input('post.id'))->update(['aid'=>input('post.aid')]);
        return json(['code'=>0 ,'msg'=>'班长信息已更新']);
    }
    //wir保存
    public function wirApplySave(){
        $data = input('post.');
        $data['wirDate'] = strtotime($data['wirDate']);
        $data['issueDate'] = strtotime($data['issueDate']);
        $data['update'] = time();
        $img = explode(',',$data['imgs']);
        unset($data['imgs']);
        $id = Db::name('quality_wir_list')->insertGetId($data);
        if(count($img)>0){
            foreach ($img as $key => $value) {
                if(isset($value)&&$value!==''){
                    Db::name('img_list')->save(['mark'=>$id,'img'=>'/storage/wx_upload/'.date('Ymd',time()).'/wir_apply/'.$value,'mid'=>55]);
                }
            }
        }
        return json(['code'=>0,'msg'=>'提报成功！']);
    }
    //wir删除
    public function wir_del(){
        Db::name('quality_wir_list')->where('id',input('post.id'))->delete();
        return json(['code'=>0 ,'msg'=>'删除成功！']);
    }
















    public function test(){
        print_r(123);
    }

}
