<?php
namespace app\adminVue\controller;

use app\BaseController;
use think\facade\Db;
use think\facade\Cache;
use think\facade\Session;
use think\Request;
use wx\wxMsg;

class Mfg extends TokenCheck
{   
    //班组列表
    public function teamList(){
        $item = input('get.');
        $obj = Db::name('team_list');
		if(isset($item['kw'])){
			$aid_list = Db::name('admin_user')->where('truename','like','%'.$item['kw'].'%')->column('id');
			$map1 = [
				['aid','in',$aid_list],
				['status','=',$item['status']],
			];
			$map2 = [
				['team','like','%'.$item['kw'].'%'],
				['status','=',$item['status']],
			];
			$obj = $obj->whereOr([ $map1, $map2 ]);
		}else{
			$obj = $obj->where('status',$item['status']);
		}
		$data = $obj->order('project,team')->pages($item['limit']);
		$base = Db::name('team_base')->whereIn('mid',[1,2])->column('title','id');
		$user = Db::name('admin_user')->column('truename','id');
		$plan_info = Db::name('team_plan_capacity')->whereIn('id',array_column($data['lists'],'plan_id'))->field('id,planname,desc')->cates('id');
		foreach ($data['lists'] as $k => $v) {
			$data['lists'][$k]['project_name'] = $base[$v['project']];
			$data['lists'][$k]['line_name'] = $v['line']>0?$base[$v['line']]:'';
			$data['lists'][$k]['teamleader'] = $v['aid']>0?$user[$v['aid']]:'';
			$data['lists'][$k]['plan'] = $v['plan_id']>0?($plan_info[$v['plan_id']]['planname'].'-'.$plan_info[$v['plan_id']]['desc']):'';
			$data['lists'][$k]['shift_change'] = $v['shift_change']>0?date('Y-m-d',$v['shift_change']):'未设置';
		}
        exit($this->lay_table($data));
    }
    //合理化建议列表
    public function getSuggestionList(){
        $item = input('get.');
        $obj = Db::name('onsite_suggestion_list');
        if(isset($item['kw'])&&$item['kw']!==''){
            $user = Db::name('admin_user')->where('truename','like','%'.trim($item['kw']).'%')->column('id');
            $obj = $obj->whereIn('owner',$user);
        }
        if(isset($item['search_date'])&&$item['search_date']!==''){
            $obj = $obj->where('creat_date','between',[strtotime(strstr($item['search_date'],'~',true)),strtotime(substr($item['search_date'],-10))]);
        }
        if(isset($item['status'])&&$item['status'] < 6){
            if($item['status'] == 5){
                $obj = $obj->where(['status'=>2,'adopt'=>0]);
            }else if($item['status'] == 2){
                $obj = $obj->where(['status'=>2,'adopt'=>1]);
            }else{
                $obj = $obj->where('status',$item['status']);
            }
        }
        $data = $obj->order('creat_date desc')->pages($item['limit']);
        $type_info = Db::name('onsite_base')->whereIn('mid',[6,5])->column('content','id');
        $aid_info = Db::name('admin_user')->field('id,truename,dpt')->cates('id');
        $dpt_info = Db::name('admin_org')->where('mid',0)->cache('orgName',600)->column('title','id');
        foreach ($data['lists'] as $k => $v) {
            $data['lists'][$k]['owner_name'] = $v['owner']>0?$aid_info[$v['owner']]['truename']:'';
            $data['lists'][$k]['delay'] = $v['status']==2&&$v['adopt']>0&&$v['due_date']<time()?1:0;
            $data['lists'][$k]['creat_date'] = date('Y-m-d',$v['creat_date']);
            $data['lists'][$k]['creat_date_s'] = date('m-d',$v['creat_date']);
            $data['lists'][$k]['due_date'] = $v['due_date']>0?date('Y-m-d',$v['due_date']):'';
            $data['lists'][$k]['dpt'] = $dpt_info[$v['dpt']];
            $data['lists'][$k]['due_dpt_name'] = $v['due_dpt']>0?$dpt_info[$v['due_dpt']]:'';
            $data['lists'][$k]['type_name'] = $v['issue_type']>0?$type_info[$v['issue_type']]:'';
        }
        exit($this->lay_table($data));
    }
    public function suggestionListExport(){
        $item = input('get.');
        $data = Db::name('onsite_suggestion_list')->where('update','between',[strtotime($item['start']),strtotime($item['end'])+86399])->lists();
        $data1 = Db::name('onsite_suggestion_list')->where('creat_date','between',[strtotime($item['start']),strtotime($item['end'])+86399])->lists();
        $key = array_column($data,'id');
        foreach ($data1 as $k => $v) {
            if(in_array($v['id'],$key)==false){
                array_push($data,$v);
            }
        }
        exit(json_encode(array('code'=>0,'data'=>$data)));
    }
    public function memberInfoUpload(){
        $data = input('post.');
        foreach ($data as $key => $value) {
            Db::name('member_list')->save($value);
        }
        exit(json_encode(array('code'=>0,'msg'=>'更新完成！')));
    }
    public function setSuggestionDueDpt(){
        $data = input('post.');
        $data['owner'] = Db::name('member_base')->where(array('mid'=>3,'mark'=>$data['due_dpt']))->value('title');
        $data['status'] = 2;
        Db::name('onsite_suggestion_list')->save($data);
        //发送微信服务号消息
        $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'=>'指定您为反馈责任人','color'=>'#FF0000'),      //流程标题
                'keyword4'=>array('value'=>session('admin')['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'=>'设置责任部门完成！')));
    }


}
