success('请求新华接口成功'); } /** 定义的函数方法 $this->方法名调取*/ //获取当前年份的一月份 public function year_January(){ return date("Y-01"); } //开始时间方法--当年01月01日 public function start_time(){ return gettimeinfo(); } //结束时间方法--当年12月31日 public function end_time(){ return gettimeinfo(1); } //开始时间方法--去年01月01日 public function qstart_time(){ return getLastYear(); } //去年的今天 public function qday(){ // 获取当前日期 $today = date('Y-m-d 23:59:59'); // 使用strtotime计算去年的今天 $lastYearToday = date('Y-m-d 23:59:59', strtotime($today . ' -1 year')); // 输出去年的今天 return $lastYearToday; } //结束时间方法--去年12月31日 public function qend_time(){ return getLastYear(1); } //开始时间方法--前年01月01日 public function qianstart_time(){ return getPreviousYear(); } //结束时间方法--前年12月31日 public function qianend_time(){ return getPreviousYear(1); } //前年的今天 public function qianday(){ // 获取当前日期 $today = date('Y-m-d 23:59:59'); // 使用strtotime计算前年的今天 $beforeLastYearToday = date('Y-m-d 23:59:59', strtotime($today . ' -2 years')); // 输出前年的今天 return $beforeLastYearToday; } //开始时间方法--大前年01月01日 public function dqianstart_time(){ return getPreviousQYear(); } //结束时间方法--大前年12月31日 public function dqianend_time(){ return getPreviousQYear(1); } //当年 public function currentYear(){ $currentYear = date('Y'); $res['status'] = 0; $res['msg'] = ''; $res['data'] = $currentYear; return json_encode($res); } //去年 public function lastYear(){ $currentYear = date('Y'); $lastYear = $currentYear - 1; $res['status'] = 0; $res['msg'] = ''; $res['data'] = $lastYear; return json_encode($res); } //前年 public function yearBeforeLast(){ $currentYear = date('Y'); $yearBeforeLast = $currentYear - 2; $res['status'] = 0; $res['msg'] = ''; $res['data'] = $yearBeforeLast; return json_encode($res); } //当年年业务结构 public function test_dYear(){ $currentYear = date('Y'); $lastTwoDigits = substr($currentYear, -2); $res['status'] = 0; $res['msg'] = ''; $res['data'] = $lastTwoDigits . "年色令分布"; return json_encode($res); } //去年年业务结构 public function test_qYear(){ $currentYear = date('Y'); $lastYear = $currentYear - 1; $lastTwoDigits = substr($lastYear, -2); $res['status'] = 0; $res['msg'] = ''; $res['data'] = $lastTwoDigits . "年色令分布"; return json_encode($res); } /** * 业务总览 第一屏 第一页 */ //承印销售收入->缓存调用 本级不包含集团教材外 public function getxssr_redis(){ $redis=redis(); $redis_key = md5('getxssr_redis'); //定义查询字段 $field = [ 'ldz', 'mcyd.icydid', 'year(mcyd.dcyrq) as 年', 'mcyd.dcyrq as 日期', 'sum(mcyd.nwshjje) nwshjje', 'sum(mcyd.nwsgjhj) nwsgjhj', 'sum(tjob.namount) namount', 'sum(tjob.namount) - sum(tjob.nclje * 100 / (100 + tjob.itax)) as sum_clje', 'tjob.itax', ]; //当年 $dangnian = Db::table('mcyd')->field($field) ->join('tjob','mcyd.icydid = tjob.icydid','LEFT') ->whereTime('mcyd.dcyrq', 'between', [$this->start_time(),$this->end_time()]) ->group('tjob.icydid,tjob.ldz,mcyd.dcyrq') ->where('mcyd.icydstate','>',0) ->where('mcyd.chy','<>', '集团教材外') ->select(); //去年 $qunian = Db::table('mcyd')->field($field) ->join('tjob','mcyd.icydid = tjob.icydid','LEFT') ->whereTime('mcyd.dcyrq', 'between', [$this->qstart_time(),$this->qend_time()]) ->group('tjob.icydid,tjob.ldz,mcyd.dcyrq') ->where('mcyd.icydstate','>',0) ->where('mcyd.chy','<>', '集团教材外') ->select(); //前年 $qiannian = Db::table('mcyd')->field($field) ->join('tjob','mcyd.icydid = tjob.icydid','LEFT') ->whereTime('mcyd.dcyrq', 'between', [$this->qianstart_time(),$this->qianend_time()]) ->group('tjob.icydid,tjob.ldz,mcyd.dcyrq') ->where('mcyd.icydstate','>',0) ->where('mcyd.chy','<>', '集团教材外') ->select(); //大前年 $dqiannian = Db::table('mcyd')->field($field) ->join('tjob','mcyd.icydid = tjob.icydid','LEFT') ->whereTime('mcyd.dcyrq', 'between', [$this->dqianstart_time(),$this->dqianend_time()]) ->group('tjob.icydid,tjob.ldz,mcyd.dcyrq') ->where('mcyd.icydstate','>',0) ->where('mcyd.chy','<>', '集团教材外') ->select(); //销售收入、销售工价、日期 //当年 $cheng_dang = 0;$bb_dang = 0;$data_dang = 0; //去年 $cheng_qu = 0;$bb_qu = 0;$data_qu = 0; //前年 $cheng_qian = 0;$bb_qian = 0; $data_qian = 0; //大前年 $cheng_dqian = 0;$bb_dqian = 0; $data_dqian = 0; //遍历查询结果,进行统计 foreach ($dangnian as $v){ if($v['ldz'] == 1 ){ $cheng_dang += $v['namount']; $bb_dang += $v['sum_clje']; }else{ $cheng_dang += $v['nwshjje']; $bb_dang += $v['nwsgjhj']; } $data_dang = $v['年']; } //遍历查询结果,进行统计 foreach ($qunian as $v){ if($v['ldz'] == 1 ){ $cheng_qu += $v['namount']; $bb_qu += $v['sum_clje']; }else{ $cheng_qu += $v['nwshjje']; $bb_qu += $v['nwsgjhj']; } $data_qu = $v['年']; } //遍历查询结果,进行统计 foreach ($qiannian as $v){ if($v['ldz'] == 1 ){ $cheng_qian += $v['namount']; $bb_qian += $v['sum_clje']; }else{ $cheng_qian += $v['nwshjje']; $bb_qian += $v['nwsgjhj']; } $data_qian = $v['年']; } //遍历查询结果,进行统计 foreach ($dqiannian as $v){ if($v['ldz'] == 1 ){ $cheng_dqian += $v['namount']; $bb_dqian += $v['sum_clje']; }else{ $cheng_dqian += $v['nwshjje']; $bb_dqian += $v['nwsgjhj']; } $data_dqian = $v['年']; } if($data_dang == 0){ $data_dang = date("Y"); } $list=[ 'categories'=>[$data_qian,$data_qu,$data_dang], 'series'=>[['name'=>'承印销售收入', 'data'=>[round($cheng_qian/10000),round($cheng_qu/10000),round($cheng_dang/10000)]]] ]; $res['status']=0; $res['msg']=''; $res['data']=$list; $redis->set($redis_key, json_encode($res)); return json_encode($res); } //承印销售收入->缓存调用 全部包含集团教材外 public function getxssrs_redis(){ $redis=redis(); $redis_key = md5('getxssrs_redis'); //定义查询字段 $field = [ 'ldz', 'mcyd.icydid', 'year(mcyd.dcyrq) as 年', 'mcyd.dcyrq as 日期', 'sum(mcyd.nwshjje) nwshjje', 'sum(mcyd.nwsgjhj) nwsgjhj', 'sum(tjob.namount) namount', 'sum(tjob.namount) - sum(tjob.nclje * 100 / (100 + tjob.itax)) as sum_clje', 'tjob.itax', ]; //当年 $dangnian = Db::table('mcyd')->field($field) ->join('tjob','mcyd.icydid = tjob.icydid','LEFT') ->whereTime('mcyd.dcyrq', 'between', [$this->start_time(),$this->end_time()]) ->group('tjob.icydid,tjob.ldz,mcyd.dcyrq') ->where('mcyd.icydstate','>',0) ->select(); //去年 $qunian = Db::table('mcyd')->field($field) ->join('tjob','mcyd.icydid = tjob.icydid','LEFT') ->whereTime('mcyd.dcyrq', 'between', [$this->qstart_time(),$this->qend_time()]) ->group('tjob.icydid,tjob.ldz,mcyd.dcyrq') ->where('mcyd.icydstate','>',0) ->select(); //前年 $qiannian = Db::table('mcyd')->field($field) ->join('tjob','mcyd.icydid = tjob.icydid','LEFT') ->whereTime('mcyd.dcyrq', 'between', [$this->qianstart_time(),$this->qianend_time()]) ->group('tjob.icydid,tjob.ldz,mcyd.dcyrq') ->where('mcyd.icydstate','>',0) ->select(); //大前年 $dqiannian = Db::table('mcyd')->field($field) ->join('tjob','mcyd.icydid = tjob.icydid','LEFT') ->whereTime('mcyd.dcyrq', 'between', [$this->dqianstart_time(),$this->dqianend_time()]) ->group('tjob.icydid,tjob.ldz,mcyd.dcyrq') ->where('mcyd.icydstate','>',0) ->select(); //销售收入、销售工价、日期 //当年 $cheng_dang = 0;$bb_dang = 0;$data_dang = 0; //去年 $cheng_qu = 0;$bb_qu = 0;$data_qu = 0; //前年 $cheng_qian = 0;$bb_qian = 0; $data_qian = 0; //大前年 $cheng_dqian = 0;$bb_dqian = 0; $data_dqian = 0; //遍历查询结果,进行统计 foreach ($dangnian as $v){ if($v['ldz'] == 1 ){ $cheng_dang += $v['namount']; $bb_dang += $v['sum_clje']; }else{ $cheng_dang += $v['nwshjje']; $bb_dang += $v['nwsgjhj']; } $data_dang = $v['年']; } //遍历查询结果,进行统计 foreach ($qunian as $v){ if($v['ldz'] == 1 ){ $cheng_qu += $v['namount']; $bb_qu += $v['sum_clje']; }else{ $cheng_qu += $v['nwshjje']; $bb_qu += $v['nwsgjhj']; } $data_qu = $v['年']; } //遍历查询结果,进行统计 foreach ($qiannian as $v){ if($v['ldz'] == 1 ){ $cheng_qian += $v['namount']; $bb_qian += $v['sum_clje']; }else{ $cheng_qian += $v['nwshjje']; $bb_qian += $v['nwsgjhj']; } $data_qian = $v['年']; } //遍历查询结果,进行统计 foreach ($dqiannian as $v){ if($v['ldz'] == 1 ){ $cheng_dqian += $v['namount']; $bb_dqian += $v['sum_clje']; }else{ $cheng_dqian += $v['nwshjje']; $bb_dqian += $v['nwsgjhj']; } $data_dqian = $v['年']; } if($data_dang == 0){ $data_dang = date("Y"); } $list=[ 'categories'=>[$data_qian,$data_qu,$data_dang], 'series'=>[['name'=>'承印销售收入', 'data'=>[round($cheng_qian/10000),round($cheng_qu/10000),round($cheng_dang/10000)]]] ]; $res['status']=0; $res['msg']=''; $res['data']=$list; $redis->set($redis_key, json_encode($res)); return json_encode($res); } //承印销售收入->接口调用 public function getxssr(){ $redis = redis(); $data = input('post.'); if(isset($data['dependence'])){ $dependence=$data['dependence']; }else{ $dependence['item']['value']= '全部'; } if($dependence['item']['value'] == '全部'){ $result = json_decode($redis->get(md5('getxssrs_redis')),true); }else{ $result = json_decode($redis->get(md5('getxssr_redis')),true); } return json($result); } //承印加工收入->缓存调用 本级不包含集团教材外 public function getjgsr_redis(){ $redis=redis(); $redis_key = md5('getjgsr_redis'); // 定义需要查询的字段 $field = [ 'ldz', 'mcyd.icydid', 'year(mcyd.dcyrq) as 年', 'mcyd.dcyrq as 日期', 'sum(mcyd.nwshjje) nwshjje', 'sum(mcyd.nwsgjhj) nwsgjhj', 'sum(tjob.namount) namount', 'sum(tjob.namount) - sum(tjob.nclje * 100 / (100 + tjob.itax)) as sum_clje', 'tjob.itax', ]; //当年 $dangnian= Db::table('mcyd')->field($field) ->join('tjob','mcyd.icydid = tjob.icydid','LEFT') ->whereTime('mcyd.dcyrq', 'between', [$this->start_time(),$this->end_time()]) ->group('tjob.icydid,tjob.ldz,mcyd.dcyrq') ->where('mcyd.icydstate','>',0) ->where('mcyd.chy','<>', '集团教材外') ->select(); //去年 $qunian = Db::table('mcyd')->field($field) ->join('tjob','mcyd.icydid = tjob.icydid','LEFT') ->whereTime('mcyd.dcyrq', 'between', [$this->qstart_time(),$this->qend_time()]) ->group('tjob.icydid,tjob.ldz,mcyd.dcyrq') ->where('mcyd.icydstate','>',0) ->where('mcyd.chy','<>', '集团教材外') ->select(); //前年 $qiannian = Db::table('mcyd')->field($field) ->join('tjob','mcyd.icydid = tjob.icydid','LEFT') ->whereTime('mcyd.dcyrq', 'between', [$this->qianstart_time(),$this->qianend_time()]) ->group('tjob.icydid,tjob.ldz,mcyd.dcyrq') ->where('mcyd.icydstate','>',0) ->where('mcyd.chy','<>', '集团教材外') ->select(); //销售收入、销售工价、日期 //当年 $cheng_dang = 0;$bb_dang = 0;$data_dang = 0; //去年 $cheng_qu = 0;$bb_qu = 0;$data_qu = 0; //前年 $cheng_qian = 0;$bb_qian = 0; $data_qian = 0; // 遍历查询结果,进行统计 foreach ($dangnian as $v){ if($v['ldz'] == 1 ){ $cheng_dang += $v['namount']; $bb_dang += $v['sum_clje']; }else{ $cheng_dang += $v['nwshjje']; $bb_dang += $v['nwsgjhj']; } $data_dang = $v['年']; } // 遍历查询结果,进行统计 foreach ($qunian as $v){ if($v['ldz'] == 1 ){ $cheng_qu += $v['namount']; $bb_qu += $v['sum_clje']; }else{ $cheng_qu += $v['nwshjje']; $bb_qu += $v['nwsgjhj']; } $data_qu = $v['年']; } // 遍历查询结果,进行统计 foreach ($qiannian as $v){ if($v['ldz'] == 1 ){ $cheng_qian += $v['namount']; $bb_qian += $v['sum_clje']; }else{ $cheng_qian += $v['nwshjje']; $bb_qian += $v['nwsgjhj']; } $data_qian = $v['年']; } if($data_dang == 0){ $data_dang = date("Y"); } $list=['categories'=>[$data_qian,$data_qu,$data_dang],'series'=>[['name'=>'承印加工收入', 'data'=>[round($bb_qian/10000),round($bb_qu/10000),round($bb_dang/10000)]]]]; $res['status']=0; $res['msg']=''; $res['data']=$list; $redis->set($redis_key, json_encode($res)); return json_encode($res); } //承印加工收入->缓存调用 全部包含集团教材外 public function getjgsrs_redis(){ $redis=redis(); $redis_key = md5('getjgsrs_redis'); // 定义需要查询的字段 $field = [ 'ldz', 'mcyd.icydid', 'year(mcyd.dcyrq) as 年', 'mcyd.dcyrq as 日期', 'sum(mcyd.nwshjje) nwshjje', 'sum(mcyd.nwsgjhj) nwsgjhj', 'sum(tjob.namount) namount', 'sum(tjob.namount) - sum(tjob.nclje * 100 / (100 + tjob.itax)) as sum_clje', 'tjob.itax', ]; //当年 $dangnian= Db::table('mcyd')->field($field) ->join('tjob','mcyd.icydid = tjob.icydid','LEFT') ->whereTime('mcyd.dcyrq', 'between', [$this->start_time(),$this->end_time()]) ->group('tjob.icydid,tjob.ldz,mcyd.dcyrq') ->where('mcyd.icydstate','>',0) ->select(); //去年 $qunian = Db::table('mcyd')->field($field) ->join('tjob','mcyd.icydid = tjob.icydid','LEFT') ->whereTime('mcyd.dcyrq', 'between', [$this->qstart_time(),$this->qend_time()]) ->group('tjob.icydid,tjob.ldz,mcyd.dcyrq') ->where('mcyd.icydstate','>',0) ->select(); //前年 $qiannian = Db::table('mcyd')->field($field) ->join('tjob','mcyd.icydid = tjob.icydid','LEFT') ->whereTime('mcyd.dcyrq', 'between', [$this->qianstart_time(),$this->qianend_time()]) ->group('tjob.icydid,tjob.ldz,mcyd.dcyrq') ->where('mcyd.icydstate','>',0) ->select(); //销售收入、销售工价、日期 //当年 $cheng_dang = 0;$bb_dang = 0;$data_dang = 0; //去年 $cheng_qu = 0;$bb_qu = 0;$data_qu = 0; //前年 $cheng_qian = 0;$bb_qian = 0; $data_qian = 0; // 遍历查询结果,进行统计 foreach ($dangnian as $v){ if($v['ldz'] == 1 ){ $cheng_dang += $v['namount']; $bb_dang += $v['sum_clje']; }else{ $cheng_dang += $v['nwshjje']; $bb_dang += $v['nwsgjhj']; } $data_dang = $v['年']; } // 遍历查询结果,进行统计 foreach ($qunian as $v){ if($v['ldz'] == 1 ){ $cheng_qu += $v['namount']; $bb_qu += $v['sum_clje']; }else{ $cheng_qu += $v['nwshjje']; $bb_qu += $v['nwsgjhj']; } $data_qu = $v['年']; } // 遍历查询结果,进行统计 foreach ($qiannian as $v){ if($v['ldz'] == 1 ){ $cheng_qian += $v['namount']; $bb_qian += $v['sum_clje']; }else{ $cheng_qian += $v['nwshjje']; $bb_qian += $v['nwsgjhj']; } $data_qian = $v['年']; } if($data_dang == 0){ $data_dang = date("Y"); } $list=['categories'=>[$data_qian,$data_qu,$data_dang],'series'=>[['name'=>'承印加工收入', 'data'=>[round($bb_qian/10000),round($bb_qu/10000),round($bb_dang/10000)]]]]; $res['status']=0; $res['msg']=''; $res['data']=$list; $redis->set($redis_key, json_encode($res)); return json_encode($res); } //承印加工收入->接口调用 public function getjgsr(){ // $redis=redis(); // $redis_key = md5('getjgsr_redis'); // $redis_data = $redis->get($redis_key); // return $redis_data; $data = input('post.'); if(isset($data['dependence'])){ $dependence=$data['dependence']; }else{ $dependence['item']['value']= '全部'; } if($dependence['item']['value'] == '全部'){ $redis = redis(); $result = json_decode($redis->get(md5('getjgsrs_redis')),true); }else{ $redis = redis(); $result = json_decode($redis->get(md5('getjgsr_redis')),true); } return json($result); } //承印色令->缓存调用 本级不包含集团教材外 public function getcysl_redis(){ $redis=redis(); $redis_key = md5('getcysl_redis'); $objmatier = Db::table('scyddx')->alias('objmatier') ->field('icydid,sum(nyssl) as nyssl,sum(nysls) as nysls') ->group('icydid') ->buildSql(); $t5 = Db::table('mcyd')->alias('ord') ->field("DATE_FORMAT( dcyrq, '%Y-%m-%d' ) as rq,sum(objmatier.nyssl) as sl,sum(objmatier.nysls) as zl") ->join('(' . $objmatier . ') as objmatier', ' ord.icydid = objmatier.icydid','LEFT') ->where('ord.icydstate', '>', 0) ->where('chy', '<>', '集团教材外') ->group('rq') ->buildSql(); $list2023 = Db::table($t5 . ' t5') ->field("DATE_FORMAT(t5.rq, '%Y') as rq,sum(t5.sl) as nyssl,sum(t5.zl) as nysls") ->where("t5.RQ >= '{$this->start_time()}'AND t5.RQ <= '{$this->end_time()}' ") ->find(); $list2022 = Db::table($t5 . ' t5') ->field("DATE_FORMAT(t5.rq, '%Y') as rq,sum(t5.sl) as nyssl,sum(t5.zl) as nysls") ->where("t5.RQ >= '{$this->qstart_time()}'AND t5.RQ <= '{$this->qend_time()}' ") ->find(); $list2021 = Db::table($t5 . ' t5') ->field("DATE_FORMAT(t5.rq, '%Y') as rq,sum(t5.sl) as nyssl,sum(t5.zl) as nysls") ->where("t5.RQ >= '{$this->qianstart_time()}'AND t5.RQ <= '{$this->qianend_time()}' ") ->find(); $list=['categories'=>[$list2021['rq'],$list2022['rq'],$list2023['rq']],'series'=>[['name'=>'色令数', 'data'=>[round($list2021['nyssl']/10000),round($list2022['nyssl']/10000),round($list2023['nyssl']/10000)]]]]; $res['status']=0; $res['msg']=''; $res['data']=$list; $redis->set($redis_key, json_encode($res)); return json_encode($res); } //承印色令->缓存调用 全部包含集团教材外 public function getcysls_redis(){ $redis=redis(); $redis_key = md5('getcysls_redis'); $objmatier = Db::table('scyddx')->alias('objmatier') ->field('icydid,sum(nyssl) as nyssl,sum(nysls) as nysls') ->group('icydid') ->buildSql(); $t5 = Db::table('mcyd')->alias('ord') ->field("DATE_FORMAT( dcyrq, '%Y-%m-%d' ) as rq,sum(objmatier.nyssl) as sl,sum(objmatier.nysls) as zl") ->join('(' . $objmatier . ') as objmatier', ' ord.icydid = objmatier.icydid','LEFT') ->where('ord.icydstate', '>', 0) // ->where('chy', '<>', '集团教材外') ->group('rq') ->buildSql(); $list2023 = Db::table($t5 . ' t5') ->field("DATE_FORMAT(t5.rq, '%Y') as rq,sum(t5.sl) as nyssl,sum(t5.zl) as nysls") ->where("t5.RQ >= '{$this->start_time()}'AND t5.RQ <= '{$this->end_time()}' ") ->find(); $list2022 = Db::table($t5 . ' t5') ->field("DATE_FORMAT(t5.rq, '%Y') as rq,sum(t5.sl) as nyssl,sum(t5.zl) as nysls") ->where("t5.RQ >= '{$this->qstart_time()}'AND t5.RQ <= '{$this->qend_time()}' ") ->find(); $list2021 = Db::table($t5 . ' t5') ->field("DATE_FORMAT(t5.rq, '%Y') as rq,sum(t5.sl) as nyssl,sum(t5.zl) as nysls") ->where("t5.RQ >= '{$this->qianstart_time()}'AND t5.RQ <= '{$this->qianend_time()}' ") ->find(); $list=['categories'=>[$list2021['rq'],$list2022['rq'],$list2023['rq']],'series'=>[['name'=>'色令数', 'data'=>[round($list2021['nyssl']/10000),round($list2022['nyssl']/10000),round($list2023['nyssl']/10000)]]]]; $res['status']=0; $res['msg']=''; $res['data']=$list; $redis->set($redis_key, json_encode($res)); return json_encode($res); } //承印色令->接口调用 public function getcysl(){ // $redis=redis(); // $redis_key = md5('getcysl_redis'); // $redis_data = $redis->get($redis_key); // return $redis_data; $data = input('post.'); if(isset($data['dependence'])){ $dependence=$data['dependence']; }else{ $dependence['item']['value']= '全部'; } if($dependence['item']['value'] == '全部'){ $redis = redis(); $result = json_decode($redis->get(md5('getcysls_redis')),true); }else{ $redis = redis(); $result = json_decode($redis->get(md5('getcysl_redis')),true); } return json($result); } //承印纸令->缓存调用 本级不包含集团教材外 public function getcyzl_redis(){ $redis=redis(); $redis_key = md5('getcyzl_redis'); $objmatier = Db::table('scyddx')->alias('objmatier') ->field('icydid,sum(nyssl) as nyssl,sum(nysls) as nysls') ->group('icydid') ->buildSql(); $t5 = Db::table('mcyd')->alias('ord') ->field("DATE_FORMAT( dcyrq, '%Y-%m-%d' ) as rq,sum(objmatier.nyssl) as sl,sum(objmatier.nysls) as zl") ->join('(' . $objmatier . ') as objmatier', ' ord.icydid = objmatier.icydid','LEFT') ->where('ord.icydstate','>',0) ->where('chy', '<>', '集团教材外') ->group('rq') ->buildSql(); $list2023 = Db::table($t5 . ' t5') ->field("DATE_FORMAT(t5.rq, '%Y') as rq,sum(t5.sl) as nyssl,sum(t5.zl) as nysls") ->where("t5.RQ >= '{$this->start_time()}'AND t5.RQ <= '{$this->end_time()}' ") ->find(); $list2022 = Db::table($t5 . ' t5') ->field("DATE_FORMAT(t5.rq, '%Y') as rq,sum(t5.sl) as nyssl,sum(t5.zl) as nysls") ->where("t5.RQ >= '{$this->qstart_time()}'AND t5.RQ <= '{$this->qend_time()}' ") ->find(); $list2021 = Db::table($t5 . ' t5') ->field("DATE_FORMAT(t5.rq, '%Y') as rq,sum(t5.sl) as nyssl,sum(t5.zl) as nysls") ->where("t5.RQ >= '{$this->qianstart_time()}'AND t5.RQ <= '{$this->qianend_time()}' ") ->find(); $list=['categories'=>[$list2021['rq'],$list2022['rq'],$list2023['rq']],'series'=>[['name'=>'纸令数', 'data'=>[round($list2021['nysls']/10000),round($list2022['nysls']/10000),round($list2023['nysls']/10000)]]]]; $res['status']=0; $res['msg']=''; $res['data']=$list; if($list){ echo date("Y-m-d H:i:s").'存进去了'; $redis->set($redis_key, json_encode($res)); return json_encode($res); } } //承印纸令->缓存调用 全部包含集团教材外 public function getcyzls_redis(){ $redis=redis(); $redis_key = md5('getcyzls_redis'); $objmatier = Db::table('scyddx')->alias('objmatier') ->field('icydid,sum(nyssl) as nyssl,sum(nysls) as nysls') ->group('icydid') ->buildSql(); $t5 = Db::table('mcyd')->alias('ord') ->field("DATE_FORMAT( dcyrq, '%Y-%m-%d' ) as rq,sum(objmatier.nyssl) as sl,sum(objmatier.nysls) as zl") ->join('(' . $objmatier . ') as objmatier', ' ord.icydid = objmatier.icydid','LEFT') ->where('ord.icydstate','>',0) ->group('rq') ->buildSql(); $list2023 = Db::table($t5 . ' t5') ->field("DATE_FORMAT(t5.rq, '%Y') as rq,sum(t5.sl) as nyssl,sum(t5.zl) as nysls") ->where("t5.RQ >= '{$this->start_time()}'AND t5.RQ <= '{$this->end_time()}' ") ->find(); $list2022 = Db::table($t5 . ' t5') ->field("DATE_FORMAT(t5.rq, '%Y') as rq,sum(t5.sl) as nyssl,sum(t5.zl) as nysls") ->where("t5.RQ >= '{$this->qstart_time()}'AND t5.RQ <= '{$this->qend_time()}' ") ->find(); $list2021 = Db::table($t5 . ' t5') ->field("DATE_FORMAT(t5.rq, '%Y') as rq,sum(t5.sl) as nyssl,sum(t5.zl) as nysls") ->where("t5.RQ >= '{$this->qianstart_time()}'AND t5.RQ <= '{$this->qianend_time()}' ") ->find(); $list=['categories'=>[$list2021['rq'],$list2022['rq'],$list2023['rq']],'series'=>[['name'=>'纸令数', 'data'=>[round($list2021['nysls']/10000),round($list2022['nysls']/10000),round($list2023['nysls']/10000)]]]]; $res['status']=0; $res['msg']=''; $res['data']=$list; if($list){ $redis->set($redis_key, json_encode($res)); return json_encode($res); } } //承印纸令->接口调用 public function getcyzl(){ $data = input('post.'); if(isset($data['dependence'])){ $dependence=$data['dependence']; }else{ $dependence['item']['value']= '全部'; } if($dependence['item']['value'] == '全部'){ $redis = redis(); $result = json_decode($redis->get(md5('getcyzls_redis')),true); }else{ $redis = redis(); $result = json_decode($redis->get(md5('getcyzl_redis')),true); } return json($result); } //去年与当年--印刷实物产量色令->缓存调用 public function yssl_redis(){ $redis=redis(); $redis_key = md5('yssl_redis'); //首先定义了起始时间和结束时间 //根据查询条件查出色令数据 $subQuery1_child = Db::table('bzysdayrpt')->field('drptrq AS rq,fsjsl') ->whereIn('cbzmc', ['四色机2号(甲班)','四色机2号(乙班)','海德堡(甲班)', '海德堡1号(甲班)','海德堡(乙班)','海德堡1号(乙班)','海德堡5+1 1号(甲班)', '海德堡5+1 1号(乙班)','三菱机1(甲班)','三菱机1(乙班)','三菱机2(甲班)', '三菱机2(乙班)','小森八色(甲班)','小森八色(乙班)']) ->union(function ($query) { $query->table('ql_report_feedback_day')->alias('a')->field('b.dOnduty,a.nsl') ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams') ->whereIn('cMachineName', ['四色机02号','四色机02号机','海德堡01号', '海德堡01号机','海德堡5+L 01号','海德堡5+L 01号机','三菱机01号', '三菱机01号机','三菱机02号','三菱机02号机','小森八色01号', '小森八色01号机','小森八色02号机']); }, true)->buildSql(); $subQuery2_child = Db::table('bzysdayrpt')->field('drptrq AS rq,fsjsl') ->whereIn('cbzmc', ['BB机1号(甲班)','BB机1号(乙班)','BB机2号(甲班)','BB机2号(乙班)', 'BB机3号(甲班)','BB机3号(乙班)','BB机4号(甲班)','BB机4号(乙班)','BB机5号(甲班)', 'BB机5号(乙班)','BB机6号(甲班)','BB机6号(乙班)', '05机1号(甲班)', '05机1号(乙班)', '海德堡SM1号机(甲班)','海德堡SM1号机(乙班)', '海德堡SM2号机(甲班)','海德堡SM2号机(乙班)']) ->union(function ($query) { $query->table('ql_report_feedback_day')->alias('a')->field('b.dOnduty,a.nsl ') ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams') ->whereIn('cMachineName', ['BB机01号','BB机02号','BB机04号','BB机05号','如钰01号机', 'BB机06号','海德堡SM1号','海德堡SM2号']); }, true)->buildSql(); $subQuery3_child = Db::table('bzysdayrpt')->field('drptrq AS rq,fsjsl') ->whereIn('cbzmc', [ '小森LW-35(甲班)','小森LW-35(乙班)','小森2号机(甲班)','小森2号机(乙班)', '大规小森3号机(甲班)','大规小森3号机(乙班)','三菱商轮(甲班)','三菱商轮(乙班)', '三菱商轮2号(甲班)','三菱商轮2号(乙班)','204胶轮(甲班)','204胶轮(乙班)', 'V30(甲班)', 'V30(乙班)','报刊轮转(甲班)','报刊轮转(乙班)','高斯胶轮(甲班)','高斯胶轮(乙班)']) ->union(function ($query) { $query->table('ql_report_feedback_day')->alias('a')->field('b.dOnduty,a.nsl ') ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams') ->whereIn('cMachineName', ['标规小森商轮1号', '标规小森商轮2号','大规小森商轮1号','大规三菱商轮1号','标规三菱商轮1号', '标规三菱商轮2号','标规204胶轮1号','大规海德堡1号','标规报轮1号','标规高斯轮转1号','标规高斯2号','大规高斯轮转1号','标规高斯轮转2号']); }, true) ->buildSql(); //将两个表的日期字段进行合并,并返回一个包含不重复结果 $subQuery = Db::table('bzysdayrpt')->field('DISTINCT drptrq AS RQ') ->union(function ($query) { $query->table('ql_report_feedback_day')->alias('a')->field(' DISTINCT b.dOnduty ') ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams'); })->buildSql(); //查询每天的数据 $subQuery1 = Db::table($subQuery1_child . 'T') ->field('rq,SUM( fsjsl ) nFourColorSL') ->group('rq')->buildSql(); //查询每天的数据 $subQuery2 = Db::table($subQuery2_child . 'T') ->field('rq,SUM( fsjsl ) nBBSL') ->group('rq')->buildSql(); //查询每天的数据 $subQuery3 = Db::table($subQuery3_child . 'T') ->field('rq,SUM( fsjsl ) nnRotationSL') ->group('rq')->buildSql(); //按当天日期进行分组 累计相加当天数据 $subQuery1_5 = Db::table($subQuery . 'A') ->field(' DISTINCT DATE(A.RQ) RQ, sum(h.nBBSL) AS nBBSL, sum(B.nFourColorSL) AS nFourColorSL, sum(P.nnRotationSL) AS nnRotationSL ') ->join('(' . $subQuery1 . ') as B', ' A.RQ = B.rq','LEFT') ->join('(' . $subQuery2 . ') as h', 'A.RQ = h.rq','LEFT') ->join('(' . $subQuery3 . ') as P', 'A.RQ = P.rq','LEFT') ->group('RQ') ->buildSql(); // 获取当前年份和前两年的年份 $currentYear = date("Y"); $lastYear = date("Y", strtotime("-1 year")); $twoYearsAgo = date("Y", strtotime("-2 years")); // 查询SQL,按月份分组计算 $sql_final = Db::table($subQuery1_5 . ' db') ->field(" DATE_FORMAT(db.RQ, '%Y-%m') AS '日期', ROUND(SUM(db.nBBSL) + SUM(db.nFourColorSL) + SUM(db.nnRotationSL)) AS '印刷实物产量色令数' ") ->where("db.RQ >= '{$this->qianstart_time()}' AND db.RQ <= '{$this->end_time()}' ") ->group("DATE_FORMAT(db.RQ, '%Y-%m')") ->select(); // 初始化数据结构 $list['categories'] = []; $list['series'] = [ 0 => ['name' => $twoYearsAgo . '年', 'data' => array_fill(0, 12, 0)], 1 => ['name' => $lastYear . '年', 'data' => array_fill(0, 12, 0)], 2 => ['name' => $currentYear . '年', 'data' => array_fill(0, 12, 0)], ]; // 填充月份数据 foreach (range(1, 12) as $month) { $list['categories'][] = str_pad($month, 2, '0', STR_PAD_LEFT); // 月份:01, 02, ..., 12 } // 当前月份 $currentMonth = date("m"); // 处理查询结果 foreach ($sql_final as $v) { // 提取年份和月份 $yearMonth = $v['日期']; $year = date('Y', strtotime($yearMonth)); $month = date('m', strtotime($yearMonth)) - 1; // 索引从0开始 if ($year == $currentYear) { $list['series'][2]['data'][$month] = $v['印刷实物产量色令数']; // 填充当前年数据 } elseif ($year == $lastYear) { $list['series'][1]['data'][$month] = $v['印刷实物产量色令数']; // 填充去年数据 } elseif ($year == $twoYearsAgo) { $list['series'][0]['data'][$month] = $v['印刷实物产量色令数']; // 填充前两年数据 } } // 如果某一年没有数据,填充为0 if (!isset($list['series'][1]['data'][$currentMonth - 1])) { $list['series'][1]['data'][$currentMonth - 1] = 0; } // 返回数据 $res['status'] = 0; $res['msg'] = ''; $res['data'] = $list; // 将结果存入缓存 $redis->set($redis_key, json_encode($res)); // 返回结果 return json_encode($res); // //按每个月进行查询 累计相加每月数据 // $sql_final = Db::table($subQuery1_5 . ' db') // ->field(" // DATE_FORMAT( db.RQ, '%Y-%m' ) AS '日期', // ROUND(SUM( db.nBBSL )+SUM( db.nFourColorSL )+SUM( db.nnRotationSL )) AS '印刷实物产量色令数' // ") // ->where("db.RQ >= '{$this->qstart_time()}'AND db.RQ <= '{$this->end_time()}' ") // // ->group('MONTH(db.RQ)') // ->group("DATE_FORMAT( db.RQ, '%Y-%m' )") // ->select(); // $i=0; // $j=0; // $list['categories']=['01','02','03','04','05','06','07','08','09','10','11','12']; // $year = date("Y"); // $currentMonth = date("m"); // 当前月份 // $currentYearJanuary = $year . "-01"; // $hasDataFor_year = false; // foreach($sql_final as $v){ // if($v['日期']>=$currentYearJanuary){ // $list['series'][1]['name']=date("Y").'年'; // $list['series'][1]['data'][$j]=$v['印刷实物产量色令数']; // $j++; // if(date('Y', strtotime($v['日期'])) == date("Y")) { // $hasDataFor_year = true; // } // }else{ // $list['series'][0]['name']= date("Y", strtotime("-1 year")).'年'; // $list['series'][0]['data'][$i]=$v['印刷实物产量色令数']; // $i++; // } // } // // 如果2024年没有数据,添加一个 // if(!$hasDataFor_year) { // $list['series'][] = [ // 'name' => date("Y"), // 'data' => array_fill(0, $currentMonth, 0) // ]; // } // $res['status']=0; // $res['msg']=''; // $res['data']=$list; // $redis->set($redis_key, json_encode($res)); // // halt(json_decode($redis->get($redis_key),true)); // return json_encode($res); } //去年与当年--印刷实物产量色令->接口调用 public function yssl(){ $redis=redis(); $redis_key = md5('yssl_redis'); $redis_data = $redis->get($redis_key); return $redis_data; } //去年与当年--印刷实物产量纸令->缓存调用 public function yszl_redis(){ $redis=redis(); $redis_key = md5('yszl_redis'); //首先定义了起始时间和结束时间 $subQuery1_child = Db::table('bzysdayrpt')->field('drptrq AS rq,fsjls') ->whereIn('cbzmc', ['四色机2号(甲班)','四色机2号(乙班)','海德堡(甲班)', '海德堡1号(甲班)','海德堡(乙班)','海德堡1号(乙班)','海德堡5+1 1号(甲班)', '海德堡5+1 1号(乙班)','三菱机1(甲班)','三菱机1(乙班)','三菱机2(甲班)', '三菱机2(乙班)','小森八色(甲班)','小森八色(乙班)']) ->union(function ($query) { $query->table('ql_report_feedback_day')->alias('a')->field('b.dOnduty,a.nzl') ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams') ->whereIn('cMachineName', ['四色机02号','四色机02号机','海德堡01号', '海德堡01号机','海德堡5+L 01号','海德堡5+L 01号机','三菱机01号', '三菱机01号机','三菱机02号','三菱机02号机','小森八色01号', '小森八色01号机','小森八色02号机']); }, true)->buildSql(); $subQuery2_child = Db::table('bzysdayrpt')->field('drptrq AS rq,fsjls') ->whereIn('cbzmc', ['BB机1号(甲班)','BB机1号(乙班)','BB机2号(甲班)', 'BB机2号(乙班)','BB机3号(甲班)','BB机3号(乙班)','BB机4号(甲班)','BB机4号(乙班)', 'BB机5号(甲班)','BB机5号(乙班)', 'BB机6号(甲班)','BB机6号(乙班)','05机1号(甲班)','05机1号(乙班)', '海德堡SM1号机(甲班)','海德堡SM1号机(乙班)','海德堡SM2号机(甲班)','海德堡SM2号机(乙班)']) ->union(function ($query) { $query->table('ql_report_feedback_day')->alias('a')->field('b.dOnduty,a.nzl ') ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams') ->whereIn('cMachineName', ['BB机01号','BB机02号','BB机04号','如钰01号机', 'BB机05号','BB机06号','海德堡SM1号','海德堡SM2号']); }, true)->buildSql(); $subQuery3_child = Db::table('bzysdayrpt')->field('drptrq AS rq,fsjls') ->whereIn('cbzmc', ['小森LW-35(甲班)','小森LW-35(乙班)','小森2号机(甲班)', '小森2号机(乙班)','大规小森3号机(甲班)','大规小森3号机(乙班)','三菱商轮(甲班)', '三菱商轮(乙班)','三菱商轮2号(甲班)','三菱商轮2号(乙班)','204胶轮(甲班)', '204胶轮(乙班)','V30(甲班)','V30(乙班)','报刊轮转(甲班)','报刊轮转(乙班)','高斯胶轮(甲班)','高斯胶轮(乙班)']) ->union(function ($query) { $query->table('ql_report_feedback_day')->alias('a')->field('b.dOnduty,a.nzl ') ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams') ->whereIn('cMachineName', ['标规小森商轮1号', '标规小森商轮2号','大规小森商轮1号','大规三菱商轮1号','标规三菱商轮1号', '标规三菱商轮2号','标规204胶轮1号','大规海德堡1号','标规报轮1号','标规高斯轮转1号','标规高斯2号','大规高斯轮转1号','标规高斯轮转2号']); }, true)->buildSql(); $subQuery = Db::table('bzysdayrpt')->field('DISTINCT drptrq AS RQ')->union(function ($query) { $query->table('ql_report_feedback_day')->alias('a')->field(' DISTINCT b.dOnduty ') ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams'); })->buildSql(); //四色机纸令合计 $subQuery1 = Db::table($subQuery1_child . 'T') ->field('rq,SUM( fsjls ) nFourColorSL') ->group('rq')->buildSql(); //BB机纸令合计 $subQuery2 = Db::table($subQuery2_child . 'T') ->field('rq,SUM( fsjls ) nBBSL') ->group('rq')->buildSql(); //轮转纸令合计 $subQuery3 = Db::table($subQuery3_child . 'T') ->field('rq,SUM( fsjls ) nnRotationSL ') ->group('rq')->buildSql(); $subQuery1_5 = Db::table($subQuery . 'A') ->field('DISTINCT A.RQ,h.nBBSL AS nBBSL,B.nFourColorSL AS nFourColorSL,P.nnRotationSL AS nnRotationSL') ->join('(' . $subQuery1 . ') as B', ' A.RQ = B.rq','LEFT') ->join('(' . $subQuery2 . ') as h', 'A.RQ = h.rq','LEFT') ->join('(' . $subQuery3 . ') as P', 'A.RQ = P.rq','LEFT') ->buildSql(); // 获取当前年份和前两年的年份 $currentYear = date("Y"); // 当前年份 $lastYear = date("Y", strtotime("-1 year")); // 去年 $twoYearsAgo = date("Y", strtotime("-2 years")); // 前两年 // 查询数据,按年月分组统计 $sql_final = Db::table($subQuery1_5 . ' db') ->field(" DATE_FORMAT( db.RQ, '%Y-%m' ) AS '日期', ROUND(SUM( db.nBBSL ) + SUM( db.nFourColorSL ) + SUM( db.nnRotationSL )) AS '印刷实物产量纸令数' ") ->where("db.RQ >= '{$this->qianstart_time()}' AND db.RQ <= '{$this->end_time()}' ") ->group("DATE_FORMAT( db.RQ, '%Y-%m' )") ->select(); // 初始化数据结构 $list['categories'] = ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12']; // 月份 $list['series'] = [ ['name' => $twoYearsAgo . '年', 'data' => array_fill(0, 12, 0)], // 初始化前两年的数据为0 ['name' => $lastYear . '年', 'data' => array_fill(0, 12, 0)], // 初始化去年的数据为0 ['name' => $currentYear . '年', 'data' => array_fill(0, 12, 0)], // 初始化今年的数据为0 ]; // 当前月份(主要用于当前年数据的处理) $currentMonth = date("m"); // 遍历查询结果,按年份和月份分配数据 foreach ($sql_final as $v) { // 提取年份和月份 $yearMonth = $v['日期']; // 格式:YYYY-MM $year = date('Y', strtotime($yearMonth)); // 提取年份 $month = date('m', strtotime($yearMonth)) - 1; // 月份(数组索引从0开始) // 根据年份分配数据 if ($year == $currentYear) { $list['series'][2]['data'][$month] = $v['印刷实物产量纸令数']; // 填充今年数据 } elseif ($year == $lastYear) { $list['series'][1]['data'][$month] = $v['印刷实物产量纸令数']; // 填充去年数据 } elseif ($year == $twoYearsAgo) { $list['series'][0]['data'][$month] = $v['印刷实物产量纸令数']; // 填充前两年数据 } } // 返回处理后的数据结构 $res['status'] = 0; $res['msg'] = ''; $res['data'] = $list; // 缓存数据到 Redis $redis->set($redis_key, json_encode($res)); // 返回最终结果 return json_encode($res); // $sql_final = Db::table($subQuery1_5 . ' db') // ->field(" // DATE_FORMAT( db.RQ, '%Y-%m' ) AS '日期', // ROUND(SUM( db.nBBSL )+SUM( db.nFourColorSL )+SUM( db.nnRotationSL )) AS '印刷实物产量纸令数' // ") // ->where("db.RQ >= '{$this->qstart_time()}'AND db.RQ <= '{$this->end_time()}' ") // // ->group('MONTH(db.RQ)') // ->group("DATE_FORMAT( db.RQ, '%Y-%m' )") // ->select(); // $i=0; // $j=0; // $list['categories']=['01','02','03','04','05','06','07','08','09','10','11','12']; // $year = date("Y"); // $currentMonth = date("m"); // 当前月份 // $currentYearJanuary = $year . "-01"; // $hasDataFor_year = false; // foreach($sql_final as $v){ // if($v['日期']>=$currentYearJanuary){ // $list['series'][1]['name']=date("Y").'年'; // $list['series'][1]['data'][$j]=$v['印刷实物产量纸令数']; // $j++; // if(date('Y', strtotime($v['日期'])) == date("Y")) { // $hasDataFor_year = true; // } // }else{ // $list['series'][0]['name']=date("Y", strtotime("-1 year")).'年'; // $list['series'][0]['data'][$i]=$v['印刷实物产量纸令数']; // $i++; // } // } // // 如果2024年没有数据,添加一个 // if(!$hasDataFor_year) { // $list['series'][] = [ // 'name' => date("Y"), // 'data' => array_fill(0, $currentMonth, 0) // 用0填充12个月 // ]; // } // $res['status']=0; // $res['msg']=''; // $res['data']=$list; // $redis->set($redis_key, json_encode($res)); // // halt(json_decode($redis->get($redis_key),true)); // return json_encode($res); } //去年与当年--印刷实物产量纸令->接口调用 public function yszl(){ $redis=redis(); $redis_key = md5('yszl_redis'); $redis_data = $redis->get($redis_key); return $redis_data; } //去年装订实物产量册数->缓存调用 public function zdcs2022(){ $redis=redis(); $redis_key = md5('zdcs2022'); $A = Db::table('cpjtfk')->field("DISTINCT DATE_FORMAT(drptdate, '%Y-%m-%d') AS rq") ->union(function ($query) { $query->table('scDayRpt_Teams')->alias('b') ->field("DISTINCT DATE_FORMAT( CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i:%s') < '06:30:00' THEN DATE_SUB(b.dOnDuty, INTERVAL 1 DAY) ELSE b.dOnDuty END, '%Y-%m-%d' ) AS RQ"); }, true) ->buildSql(); $B1 = Db::table('cpjtfk') ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT') ->field(" DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq, sum(iwcl) as 精1乙 ") ->whereIn('cjtmc', ['精装生产联动线','进口骑马联动','紫光骑马联动','紫光骑马联动(新)','恒山骑马联动']) ->group('drptdate,cbanzu') ->buildSql(); $rr = Db::table('scyddx')->alias('r') ->field('r.ICYDID,sum(r.NYSLS) as zl') ->group('r.ICYDID') ->buildSql(); $Bb1 = Db::table('ql_report_feedback_day')->alias('a') ->field(" CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq, sum(a.nAmount) as 精11乙 ") ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER') ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER') ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER') ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT') ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT') ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT') ->whereIn('cMachineName', ['精装联动线01号','骑马联动01号','骑马联动02号','骑马联动03号']) ->group("CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END,Name_WorkGroup") ->buildSql(); $db = Db::table($A . 'a') ->field(" DISTINCT DATE(A.RQ) rq, IFNULL(sum(Bb1.精11乙), 0) + IFNULL((sum(B1.精1乙)), 0) 总计册 ") ->join('(' . $B1 . ') as b1', 'a.rq = b1.rq','LEFT') ->join('(' . $Bb1 . ') as bb1', 'a.rq = bb1.rq','LEFT') ->group('rq') ->buildSql(); $jp = Db::table($db . ' db') ->field(" DATE_FORMAT(db.rq, '%Y-%m') as 日期, ROUND(sum(db.总计册), 0) as 精平册数 ")->where("db.RQ >= '{$this->qstart_time()}' AND db.RQ <= '{$this->qend_time()}' ") ->group('MONTH(db.rq)') ->select(); $B = Db::table('cpjtfk') ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT') ->field(" DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq, sum(iwcl) as 马1甲 ") ->where('cpjtfk.cbanzu','=','马天尼(新)(甲班)') ->group('drptdate,cbanzu') ->buildSql(); $B1 = Db::table('cpjtfk') ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT') ->field(" DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq, sum(iwcl) as 马1乙 ") ->where('cpjtfk.cbanzu','=','马天尼(新)(乙班)') ->group('drptdate,cbanzu') ->buildSql(); $C = Db::table('cpjtfk') ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT') ->field(" DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq, sum(iwcl) as 马2甲 ") ->where('cpjtfk.cbanzu','=','马天尼2号(甲班)') ->group('drptdate,cbanzu') ->buildSql(); $C1 = Db::table('cpjtfk') ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT') ->field(" DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq, sum(iwcl) as 马2乙 ") ->where('cpjtfk.cbanzu','=','马天尼2号(乙班)') ->group('drptdate,cbanzu') ->buildSql(); $D = Db::table('cpjtfk') ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT') ->field(" DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq, sum(iwcl) as 马3甲 ") ->where('cpjtfk.cbanzu','=','无线胶订3号(甲班)') ->group('drptdate,cbanzu') ->buildSql(); $D1 = Db::table('cpjtfk') ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT') ->field(" DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq, sum(iwcl) as 马3乙 ") ->where('cpjtfk.cbanzu','=','无线胶订3号(乙班)') ->group('drptdate,cbanzu') ->buildSql(); $E = Db::table('cpjtfk') ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT') ->field(" DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq, sum(iwcl) as 马4甲 ") ->where('cpjtfk.cbanzu','=','无线胶订4号(甲班)') ->group('drptdate,cbanzu') ->buildSql(); $E1 = Db::table('cpjtfk') ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT') ->field(" DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq, sum(iwcl) as 马4乙 ") ->where('cpjtfk.cbanzu','=','无线胶订4号(乙班)') ->group('drptdate,cbanzu') ->buildSql(); $F = Db::table('cpjtfk') ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT') ->field(" DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq, sum(iwcl) as 马5甲 ") ->where('cpjtfk.cbanzu','=','无线胶订5号(甲班)') ->group('drptdate,cbanzu') ->buildSql(); $F1 = Db::table('cpjtfk') ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT') ->field(" DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq, sum(iwcl) as 马5乙, sum(mcyd.NZWyz * iWCl / 1000) as 马5乙纸令数 ") ->where('cpjtfk.cbanzu','=','无线胶订5号(乙班)') ->group('drptdate,cbanzu') ->buildSql(); $rr = Db::table('scyddx')->alias('r') ->field('r.ICYDID,sum(r.NYSLS) as zl') ->group('r.ICYDID') ->buildSql(); $Bb = Db::table('ql_report_feedback_day')->alias('a') ->field(" CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq, sum(a.nAmount) as 马11甲") ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER') ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER') ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER') ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT') ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT') ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT') ->where('Name_WorkGroup','=','胶订潮流1号(甲班)') ->whereIn('a.cTechName', ['胶订联动', '胶头']) ->group("CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END,Name_WorkGroup")->buildSql(); $Bb1 = Db::table('ql_report_feedback_day')->alias('a') ->field(" CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq, sum(a.nAmount) as 马11乙 ") ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER') ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER') ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER') ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT') ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT') ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT') ->where('Name_WorkGroup','=','胶订潮流1号(乙班)') ->whereIn('a.cTechName', ['胶订联动', '胶头']) ->group("CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END,Name_WorkGroup") ->buildSql(); $CC = Db::table('ql_report_feedback_day')->alias('a') ->field(" CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq, sum(a.nAmount) as 马22甲 ") ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER') ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER') ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER') ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT') ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT') ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT') ->where('Name_WorkGroup','=','胶订潮流2号(甲班)') ->whereIn('a.cTechName', ['胶订联动', '胶头']) ->group("CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END,Name_WorkGroup") ->buildSql(); $CC1 = Db::table('ql_report_feedback_day')->alias('a') ->field(" CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq, sum(a.nAmount) as 马22乙 ") ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER') ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER') ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER') ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT') ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT') ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT') ->where('Name_WorkGroup','=','胶订潮流2号(乙班)') ->whereIn('a.cTechName', ['胶订联动', '胶头']) ->group("CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END,Name_WorkGroup") ->buildSql(); $EE = Db::table('ql_report_feedback_day')->alias('a') ->field(" CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq, sum(a.nAmount) as 马33甲 ") ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER') ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER') ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER') ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT') ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT') ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT') ->where('Name_WorkGroup','=','胶订精工1号(甲班)') ->whereIn('a.cTechName', ['胶订联动', '胶头']) ->group("CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END,Name_WorkGroup") ->buildSql(); $EE1 = Db::table('ql_report_feedback_day')->alias('a') ->field(" CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq, sum(a.nAmount) as 马33乙 ") ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER') ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER') ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER') ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT') ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT') ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT') ->where('Name_WorkGroup','=','胶订精工1号(乙班)') ->whereIn('a.cTechName', ['胶订联动', '胶头']) ->group("CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END,Name_WorkGroup") ->buildSql(); $HH = Db::table('ql_report_feedback_day')->alias('a') ->field(" CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq, sum(a.nAmount) as 马44甲 ") ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER') ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER') ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER') ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT') ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT') ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT') ->where('Name_WorkGroup','=','胶订精密达1号(甲班)') ->whereIn('a.cTechName', ['胶订联动', '胶头']) ->group("CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END,Name_WorkGroup") ->buildSql(); $HH1 = Db::table('ql_report_feedback_day')->alias('a') ->field(" CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq, sum(a.nAmount) as 马44乙 ") ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER') ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER') ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER') ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT') ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT') ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT') ->where('Name_WorkGroup','=','胶订精密达1号(乙班)') ->whereIn('a.cTechName', ['胶订联动', '胶头']) ->group("CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END,Name_WorkGroup") ->buildSql(); $XX = Db::table('ql_report_feedback_day')->alias('a') ->field(" CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq, sum(a.nAmount) as 马55甲 ") ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER') ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER') ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER') ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT') ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT') ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT') ->where('Name_WorkGroup','=','胶订精密达2号(甲班)') ->whereIn('a.cTechName', ['胶订联动', '胶头']) ->group("CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END,Name_WorkGroup") ->buildSql(); $XXX2 = Db::table('ql_report_feedback_day')->alias('a') ->field(" CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq, sum(a.nAmount) as 马66甲 ") ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER') ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER') ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER') ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT') ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT') ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT') ->where('Name_WorkGroup','=','胶订精密达3号(甲班)') ->whereIn('a.cTechName', ['胶订联动', '胶头']) ->group("CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END,Name_WorkGroup") ->buildSql(); $XXX3 = Db::table('ql_report_feedback_day')->alias('a') ->field(" CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq, sum(a.nAmount) as 马77甲 ") ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER') ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER') ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER') ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT') ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT') ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT') ->where('Name_WorkGroup','=','胶钉精密达3号(甲班)') ->whereIn('a.cTechName', ['胶订联动', '胶头']) ->group("CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END,Name_WorkGroup") ->buildSql(); $XX1 = Db::table('ql_report_feedback_day')->alias('a') ->field(" CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq, sum(a.nAmount) as 马55乙 ") ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER') ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER') ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER') ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT') ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT') ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT') ->where('Name_WorkGroup','=','胶订精密达2号(乙班)') ->whereIn('a.cTechName', ['胶订联动', '胶头']) ->group("CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END,Name_WorkGroup") ->buildSql(); $XX2 = Db::table('ql_report_feedback_day')->alias('a') ->field(" CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq, sum(a.nAmount) as 马66乙 ") ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER') ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER') ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER') ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT') ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT') ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT') ->where('Name_WorkGroup','=','胶订精密达3号(乙班)') ->whereIn('a.cTechName', ['胶订联动', '胶头']) ->group("CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END,Name_WorkGroup") ->buildSql(); $XX3 = Db::table('ql_report_feedback_day')->alias('a') ->field(" CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq, sum(a.nAmount) as 马77乙 ") ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER') ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER') ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER') ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT') ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT') ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT') ->where('Name_WorkGroup','=','胶钉精密达3号(乙班)') ->whereIn('a.cTechName', ['胶订联动', '胶头']) ->group("CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END,Name_WorkGroup") ->buildSql(); $db = Db::table($A . 'a') ->field(" DISTINCT DATE_FORMAT(A.RQ, '%Y-%m-%d') AS rq, IFNULL(B.马1甲, 0) + IFNULL(B1.马1乙, 0) + IFNULL(C.马2甲, 0) + IFNULL(C1.马2乙, 0) + IFNULL(D.马3甲, 0) + IFNULL(D1.马3乙, 0) + IFNULL(E.马4甲, 0) + IFNULL(E1.马4乙, 0) + IFNULL(f.马5甲, 0) + IFNULL(f1.马5乙, 0) + IFNULL(Bb.马11甲, 0) + IFNULL(Bb1.马11乙, 0) + IFNULL(cc.马22甲, 0) + IFNULL(cc1.马22乙, 0) + IFNULL(ee.马33甲, 0) + IFNULL(ee1.马33乙, 0) + IFNULL( hh.马44甲, 0) + IFNULL(hh1.马44乙, 0) + IFNULL(xx.马55甲, 0) + IFNULL(xx1.马55乙, 0) + IFNULL(xxx2.马66甲, 0) + IFNULL(xx2.马66乙, 0) + IFNULL(xxx3.马77甲, 0) + IFNULL(xx3.马77乙, 0) 总计册 ") ->join('(' . $B . ') as b', ' a.rq = b.rq','LEFT') ->join('(' . $B1 . ') as b1', 'a.rq = b1.rq','LEFT') ->join('(' . $C . ') as c', 'a.rq = c.rq','LEFT') ->join('(' . $C1 . ') as c1', 'a.rq = c1.rq','LEFT') ->join('(' . $D . ') as d', 'a.rq = d.rq','LEFT') ->join('(' . $D1 . ') as d1', 'a.rq = d1.rq','LEFT') ->join('(' . $E . ') as e', 'a.rq = e.rq','LEFT') ->join('(' . $E1 . ') as e1', 'a.rq = e1.rq','LEFT') ->join('(' . $F . ') as f', 'a.rq = f.rq','LEFT') ->join('(' . $F1 . ') as f1', 'a.rq = f1.rq','LEFT') ->join('(' . $Bb . ') as bb', 'a.rq = bb.rq','LEFT') ->join('(' . $Bb1 . ') as bb1', 'a.rq = bb1.rq','LEFT') ->join('(' . $CC . ') as cc', 'a.rq = cc.rq','LEFT') ->join('(' . $CC1 . ') as cc1', 'a.rq = cc1.rq','LEFT') ->join('(' . $EE . ') as ee', 'a.rq = ee.rq','LEFT') ->join('(' . $EE1 . ') as ee1', 'a.rq = ee1.rq','LEFT') ->join('(' . $HH . ') as hh', 'a.rq = hh.rq','LEFT') ->join('(' . $HH1 . ') as hh1', 'a.rq = hh1.rq','LEFT') ->join('(' . $XX . ') as xx', 'a.rq = xx.rq','LEFT') ->join('(' . $XX1 . ') as xx1', 'a.rq = xx1.rq','LEFT') ->join('(' . $XX2 . ') as xx2', 'a.rq = xx2.rq','LEFT') ->join('(' . $XX3 . ') as xx3', 'a.rq = xx3.rq','LEFT') ->join('(' . $XXX2 . ') as xxx2', 'a.rq = xxx2.rq','LEFT') ->join('(' . $XXX3 . ') as xxx3', 'a.rq = xxx3.rq','LEFT') ->buildSql(); $jd = Db::table($db . ' db') ->field(" DATE_FORMAT(db.rq, '%Y-%m') as 日期, ROUND(sum(db.总计册), 0) as 无线胶订册数 ")->where("db.RQ >= '{$this->qstart_time()}' AND db.RQ <= '{$this->qend_time()}' ") ->group('MONTH(db.rq)') ->select(); $B = Db::table('cpjtfk') ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT') ->field(" DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq, Sum(iWcl) AS '簿1甲' ") ->where('cbanzu','=','簿册机1号(甲班)') ->group('drptdate,cbanzu') ->buildSql(); $B1 = Db::table('cpjtfk') ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT') ->field(" DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq, Sum(iWcl) AS '簿1乙' ") ->where('cbanzu','=','簿册机1号(乙班)') ->group('drptdate,cbanzu') ->buildSql(); $rr = Db::table('scyddx')->alias('r') ->field('r.ICYDID,sum(r.NYSLS) as zl') ->group('r.ICYDID') ->buildSql(); $Bb = Db::table('ql_report_feedback_day')->alias('a') ->field(" CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq, Sum(a.nAmount) AS '簿11甲' ") ->join(['scdayrpt_teams' => 'b'], 'b.ID = a.ID_Teams and b.iDayRptStatus = 10','INNER') ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER') ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER') ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT') ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT') ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT') ->where('Name_WorkGroup','=','簿册联动线01号(甲班)') ->where('a.cTechName' ,'=','簿册联动') ->group("CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END,Name_WorkGroup") ->buildSql(); $Bb1 = Db::table('ql_report_feedback_day')->alias('a') ->field(" CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq, Sum(a.nAmount) AS '簿11乙' ") ->join(['scdayrpt_teams' => 'b'], 'b.ID = a.ID_Teams and b.iDayRptStatus = 10','INNER') ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER') ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER') ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT') ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT') ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT') ->where('Name_WorkGroup','=','簿册联动线01号(乙班)') ->where('a.cTechName' ,'=','簿册联动') ->group("CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END,Name_WorkGroup") ->buildSql(); $db = Db::table($A . 'a') ->field(" DISTINCT DATE(A.RQ) rq, IFNULL(sum(B.簿1甲), 0) + IFNULL((sum(b1.簿1乙)), 0) + IFNULL(sum(Bb.簿11甲), 0) + IFNULL((sum(Bb1.簿11乙)), 0) 总计册 ") ->join('(' . $B . ') as b', 'a.rq = b.rq','LEFT') ->join('(' . $B1 . ') as b1', 'a.rq = b1.rq','LEFT') ->join('(' . $Bb . ') as bb', 'a.rq = bb.rq','LEFT') ->join('(' . $Bb1 . ') as bb1', 'a.rq = bb1.rq','LEFT') ->group('rq') ->buildSql(); $bc = Db::table($db . ' db') ->field(" DATE_FORMAT(db.rq, '%Y-%m') as 日期, ROUND(sum(db.总计册), 0) as 簿册册数 ")->where("db.RQ >= '{$this->qstart_time()}' AND db.RQ <= '{$this->qend_time()}' ") ->group('MONTH(db.rq)') ->select(); // 创建一个结果数组 $result=[]; $result1 = []; // 遍历第一个数组,并将数据加入结果数组 foreach ($jp as $val1) { $month = $val1['日期']; $data1 = $val1['精平册数']; if (!isset($result[$month])) { $result[$month] = 0; // 初始化结果数组中该月份的数据为0 } if (!isset($result1[$month])) { $result1[$month] = 0; // 初始化结果数组中该月份的数据为0 } $result1[$month] += $data1; // 累加第一个数组的数据 } // 遍历第二个数组,并将数据加入结果数组 foreach ($jd as $val2) { $month = $val2['日期']; $data1 = $val2['无线胶订册数']; if (!isset($result[$month])) { $result[$month] = 0; // 初始化结果数组中该月份的数据为0 } if (!isset($result1[$month])) { $result1[$month] = 0; // 初始化结果数组中该月份的数据为0 } $result1[$month] += $data1; // 累加第二个数组的数据 } foreach ($bc as $val2) { $month = $val2['日期']; $data1 = $val2['簿册册数']; if (!isset($result[$month])) { $result[$month] = 0; // 初始化结果数组中该月份的数据为0 } if (!isset($result1[$month])) { $result1[$month] = 0; // 初始化结果数组中该月份的数据为0 } $result1[$month] += $data1; // 累加第二个数组的数据 } foreach($result1 as $k=>$v){ $list['categories'][]=$k; $list['series'][0]['name']='装订实物产量册数'; $list['series'][0]['data'][]=$v; } $res['status']=0; $res['msg']=''; $res['data']=$list; $redis->set($redis_key, json_encode($result1)); // halt(json_decode($redis->get($redis_key),true)); return json_encode($result1); } //当年装订实物产量册数->缓存调用 public function zdcs2023(){ $redis=redis(); $redis_key = md5('zdcs2023'); $A = Db::table('cpjtfk')->field("DISTINCT DATE_FORMAT(drptdate, '%Y-%m-%d') AS rq") ->union(function ($query) { $query->table('scDayRpt_Teams')->alias('b') ->field("DISTINCT DATE_FORMAT( CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i:%s') < '06:30:00' THEN DATE_SUB(b.dOnDuty, INTERVAL 1 DAY) ELSE b.dOnDuty END, '%Y-%m-%d' ) AS RQ"); }, true) ->buildSql(); $B1 = Db::table('cpjtfk') ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT') ->field(" DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq, sum(iwcl) as 精1乙 ") ->whereIn('cjtmc', ['精装生产联动线','进口骑马联动','紫光骑马联动','紫光骑马联动(新)','恒山骑马联动']) ->group('drptdate,cbanzu') ->buildSql(); $rr = Db::table('scyddx')->alias('r') ->field('r.ICYDID,sum(r.NYSLS) as zl') ->group('r.ICYDID') ->buildSql(); $Bb1 = Db::table('ql_report_feedback_day')->alias('a') ->field(" CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq, sum(a.nAmount) as 精11乙 ") ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER') ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER') ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER') ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT') ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT') ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT') ->whereIn('cMachineName', ['精装联动线01号','骑马联动01号','骑马联动02号','骑马联动03号']) ->group("CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END,Name_WorkGroup") ->buildSql(); $db = Db::table($A . 'a') ->field(" DISTINCT DATE(A.RQ) rq, IFNULL(sum(Bb1.精11乙), 0) + IFNULL((sum(B1.精1乙)), 0) 总计册 ") ->join('(' . $B1 . ') as b1', 'a.rq = b1.rq','LEFT') ->join('(' . $Bb1 . ') as bb1', 'a.rq = bb1.rq','LEFT') ->group('rq') ->buildSql(); $jp = Db::table($db . ' db') ->field(" DATE_FORMAT(db.rq, '%Y-%m') as 日期, ROUND(sum(db.总计册), 0) as 精平册数 ")->where("db.RQ >= '{$this->start_time()}' AND db.RQ <= '{$this->end_time()}' ") ->group('MONTH(db.rq)') ->select(); $B = Db::table('cpjtfk') ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT') ->field(" DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq, sum(iwcl) as 马1甲 ") ->where('cpjtfk.cbanzu','=','马天尼(新)(甲班)') ->group('drptdate,cbanzu') ->buildSql(); $B1 = Db::table('cpjtfk') ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT') ->field(" DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq, sum(iwcl) as 马1乙 ") ->where('cpjtfk.cbanzu','=','马天尼(新)(乙班)') ->group('drptdate,cbanzu') ->buildSql(); $C = Db::table('cpjtfk') ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT') ->field(" DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq, sum(iwcl) as 马2甲 ") ->where('cpjtfk.cbanzu','=','马天尼2号(甲班)') ->group('drptdate,cbanzu') ->buildSql(); $C1 = Db::table('cpjtfk') ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT') ->field(" DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq, sum(iwcl) as 马2乙 ") ->where('cpjtfk.cbanzu','=','马天尼2号(乙班)') ->group('drptdate,cbanzu') ->buildSql(); $D = Db::table('cpjtfk') ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT') ->field(" DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq, sum(iwcl) as 马3甲 ") ->where('cpjtfk.cbanzu','=','无线胶订3号(甲班)') ->group('drptdate,cbanzu') ->buildSql(); $D1 = Db::table('cpjtfk') ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT') ->field(" DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq, sum(iwcl) as 马3乙 ") ->where('cpjtfk.cbanzu','=','无线胶订3号(乙班)') ->group('drptdate,cbanzu') ->buildSql(); $E = Db::table('cpjtfk') ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT') ->field(" DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq, sum(iwcl) as 马4甲 ") ->where('cpjtfk.cbanzu','=','无线胶订4号(甲班)') ->group('drptdate,cbanzu') ->buildSql(); $E1 = Db::table('cpjtfk') ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT') ->field(" DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq, sum(iwcl) as 马4乙 ") ->where('cpjtfk.cbanzu','=','无线胶订4号(乙班)') ->group('drptdate,cbanzu') ->buildSql(); $F = Db::table('cpjtfk') ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT') ->field(" DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq, sum(iwcl) as 马5甲 ") ->where('cpjtfk.cbanzu','=','无线胶订5号(甲班)') ->group('drptdate,cbanzu') ->buildSql(); $F1 = Db::table('cpjtfk') ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT') ->field(" DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq, sum(iwcl) as 马5乙, sum(mcyd.NZWyz * iWCl / 1000) as 马5乙纸令数 ") ->where('cpjtfk.cbanzu','=','无线胶订5号(乙班)') ->group('drptdate,cbanzu') ->buildSql(); $rr = Db::table('scyddx')->alias('r') ->field('r.ICYDID,sum(r.NYSLS) as zl') ->group('r.ICYDID') ->buildSql(); $Bb = Db::table('ql_report_feedback_day')->alias('a') ->field(" CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq, sum(a.nAmount) as 马11甲") ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER') ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER') ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER') ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT') ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT') ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT') ->where('Name_WorkGroup','=','胶订潮流1号(甲班)') ->whereIn('a.cTechName', ['胶订联动', '胶头']) ->group("CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END,Name_WorkGroup")->buildSql(); $Bb1 = Db::table('ql_report_feedback_day')->alias('a') ->field(" CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq, sum(a.nAmount) as 马11乙 ") ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER') ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER') ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER') ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT') ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT') ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT') ->where('Name_WorkGroup','=','胶订潮流1号(乙班)') ->whereIn('a.cTechName', ['胶订联动', '胶头']) ->group("CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END,Name_WorkGroup") ->buildSql(); $CC = Db::table('ql_report_feedback_day')->alias('a') ->field(" CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq, sum(a.nAmount) as 马22甲 ") ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER') ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER') ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER') ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT') ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT') ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT') ->where('Name_WorkGroup','=','胶订潮流2号(甲班)') ->whereIn('a.cTechName', ['胶订联动', '胶头']) ->group("CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END,Name_WorkGroup") ->buildSql(); $CC1 = Db::table('ql_report_feedback_day')->alias('a') ->field(" CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq, sum(a.nAmount) as 马22乙 ") ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER') ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER') ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER') ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT') ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT') ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT') ->where('Name_WorkGroup','=','胶订潮流2号(乙班)') ->whereIn('a.cTechName', ['胶订联动', '胶头']) ->group("CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END,Name_WorkGroup") ->buildSql(); $EE = Db::table('ql_report_feedback_day')->alias('a') ->field(" CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq, sum(a.nAmount) as 马33甲 ") ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER') ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER') ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER') ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT') ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT') ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT') ->where('Name_WorkGroup','=','胶订精工1号(甲班)') ->whereIn('a.cTechName', ['胶订联动', '胶头']) ->group("CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END,Name_WorkGroup") ->buildSql(); $EE1 = Db::table('ql_report_feedback_day')->alias('a') ->field(" CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq, sum(a.nAmount) as 马33乙 ") ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER') ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER') ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER') ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT') ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT') ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT') ->where('Name_WorkGroup','=','胶订精工1号(乙班)') ->whereIn('a.cTechName', ['胶订联动', '胶头']) ->group("CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END,Name_WorkGroup") ->buildSql(); $HH = Db::table('ql_report_feedback_day')->alias('a') ->field(" CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq, sum(a.nAmount) as 马44甲 ") ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER') ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER') ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER') ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT') ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT') ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT') ->where('Name_WorkGroup','=','胶订精密达1号(甲班)') ->whereIn('a.cTechName', ['胶订联动', '胶头']) ->group("CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END,Name_WorkGroup") ->buildSql(); $HH1 = Db::table('ql_report_feedback_day')->alias('a') ->field(" CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq, sum(a.nAmount) as 马44乙 ") ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER') ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER') ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER') ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT') ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT') ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT') ->where('Name_WorkGroup','=','胶订精密达1号(乙班)') ->whereIn('a.cTechName', ['胶订联动', '胶头']) ->group("CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END,Name_WorkGroup") ->buildSql(); $XX = Db::table('ql_report_feedback_day')->alias('a') ->field(" CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq, sum(a.nAmount) as 马55甲 ") ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER') ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER') ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER') ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT') ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT') ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT') ->where('Name_WorkGroup','=','胶订精密达2号(甲班)') ->whereIn('a.cTechName', ['胶订联动', '胶头']) ->group("CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END,Name_WorkGroup") ->buildSql(); $XXX2 = Db::table('ql_report_feedback_day')->alias('a') ->field(" CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq, sum(a.nAmount) as 马66甲 ") ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER') ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER') ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER') ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT') ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT') ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT') ->where('Name_WorkGroup','=','胶订精密达3号(甲班)') ->whereIn('a.cTechName', ['胶订联动', '胶头']) ->group("CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END,Name_WorkGroup") ->buildSql(); $XXX3 = Db::table('ql_report_feedback_day')->alias('a') ->field(" CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq, sum(a.nAmount) as 马77甲 ") ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER') ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER') ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER') ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT') ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT') ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT') ->where('Name_WorkGroup','=','胶钉精密达3号(甲班)') ->whereIn('a.cTechName', ['胶订联动', '胶头']) ->group("CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END,Name_WorkGroup") ->buildSql(); $XX1 = Db::table('ql_report_feedback_day')->alias('a') ->field(" CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq, sum(a.nAmount) as 马55乙 ") ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER') ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER') ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER') ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT') ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT') ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT') ->where('Name_WorkGroup','=','胶订精密达2号(乙班)') ->whereIn('a.cTechName', ['胶订联动', '胶头']) ->group("CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END,Name_WorkGroup") ->buildSql(); $XX2 = Db::table('ql_report_feedback_day')->alias('a') ->field(" CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq, sum(a.nAmount) as 马66乙 ") ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER') ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER') ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER') ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT') ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT') ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT') ->where('Name_WorkGroup','=','胶订精密达3号(乙班)') ->whereIn('a.cTechName', ['胶订联动', '胶头']) ->group("CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END,Name_WorkGroup") ->buildSql(); $XX3 = Db::table('ql_report_feedback_day')->alias('a') ->field(" CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq, sum(a.nAmount) as 马77乙 ") ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER') ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER') ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER') ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT') ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT') ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT') ->where('Name_WorkGroup','=','胶钉精密达3号(乙班)') ->whereIn('a.cTechName', ['胶订联动', '胶头']) ->group("CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END,Name_WorkGroup") ->buildSql(); $db = Db::table($A . 'a') ->field(" DISTINCT DATE_FORMAT(A.RQ, '%Y-%m-%d') AS rq, IFNULL(B.马1甲, 0) + IFNULL(B1.马1乙, 0) + IFNULL(C.马2甲, 0) + IFNULL(C1.马2乙, 0) + IFNULL(D.马3甲, 0) + IFNULL(D1.马3乙, 0) + IFNULL(E.马4甲, 0) + IFNULL(E1.马4乙, 0) + IFNULL(f.马5甲, 0) + IFNULL(f1.马5乙, 0) + IFNULL(Bb.马11甲, 0) + IFNULL(Bb1.马11乙, 0) + IFNULL(cc.马22甲, 0) + IFNULL(cc1.马22乙, 0) + IFNULL(ee.马33甲, 0) + IFNULL(ee1.马33乙, 0) + IFNULL( hh.马44甲, 0) + IFNULL(hh1.马44乙, 0) + IFNULL(xx.马55甲, 0) + IFNULL(xx1.马55乙, 0) + IFNULL(xxx2.马66甲, 0) + IFNULL(xx2.马66乙, 0) + IFNULL(xxx3.马77甲, 0) + IFNULL(xx3.马77乙, 0) 总计册 ") ->join('(' . $B . ') as b', ' a.rq = b.rq','LEFT') ->join('(' . $B1 . ') as b1', 'a.rq = b1.rq','LEFT') ->join('(' . $C . ') as c', 'a.rq = c.rq','LEFT') ->join('(' . $C1 . ') as c1', 'a.rq = c1.rq','LEFT') ->join('(' . $D . ') as d', 'a.rq = d.rq','LEFT') ->join('(' . $D1 . ') as d1', 'a.rq = d1.rq','LEFT') ->join('(' . $E . ') as e', 'a.rq = e.rq','LEFT') ->join('(' . $E1 . ') as e1', 'a.rq = e1.rq','LEFT') ->join('(' . $F . ') as f', 'a.rq = f.rq','LEFT') ->join('(' . $F1 . ') as f1', 'a.rq = f1.rq','LEFT') ->join('(' . $Bb . ') as bb', 'a.rq = bb.rq','LEFT') ->join('(' . $Bb1 . ') as bb1', 'a.rq = bb1.rq','LEFT') ->join('(' . $CC . ') as cc', 'a.rq = cc.rq','LEFT') ->join('(' . $CC1 . ') as cc1', 'a.rq = cc1.rq','LEFT') ->join('(' . $EE . ') as ee', 'a.rq = ee.rq','LEFT') ->join('(' . $EE1 . ') as ee1', 'a.rq = ee1.rq','LEFT') ->join('(' . $HH . ') as hh', 'a.rq = hh.rq','LEFT') ->join('(' . $HH1 . ') as hh1', 'a.rq = hh1.rq','LEFT') ->join('(' . $XX . ') as xx', 'a.rq = xx.rq','LEFT') ->join('(' . $XX1 . ') as xx1', 'a.rq = xx1.rq','LEFT') ->join('(' . $XX2 . ') as xx2', 'a.rq = xx2.rq','LEFT') ->join('(' . $XX3 . ') as xx3', 'a.rq = xx3.rq','LEFT') ->join('(' . $XXX2 . ') as xxx2', 'a.rq = xxx2.rq','LEFT') ->join('(' . $XXX3 . ') as xxx3', 'a.rq = xxx3.rq','LEFT') ->buildSql(); $jd = Db::table($db . ' db') ->field(" DATE_FORMAT(db.rq, '%Y-%m') as 日期, ROUND(sum(db.总计册), 0) as 无线胶订册数 ")->where("db.RQ >= '{$this->start_time()}' AND db.RQ <= '{$this->end_time()}' ") ->group('MONTH(db.rq)') ->select(); $B = Db::table('cpjtfk') ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT') ->field(" DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq, Sum(iWcl) AS '簿1甲' ") ->where('cbanzu','=','簿册机1号(甲班)') ->group('drptdate,cbanzu') ->buildSql(); $B1 = Db::table('cpjtfk') ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT') ->field(" DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq, Sum(iWcl) AS '簿1乙' ") ->where('cbanzu','=','簿册机1号(乙班)') ->group('drptdate,cbanzu') ->buildSql(); $rr = Db::table('scyddx')->alias('r') ->field('r.ICYDID,sum(r.NYSLS) as zl') ->group('r.ICYDID') ->buildSql(); $Bb = Db::table('ql_report_feedback_day')->alias('a') ->field(" CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq, Sum(a.nAmount) AS '簿11甲' ") ->join(['scdayrpt_teams' => 'b'], 'b.ID = a.ID_Teams and b.iDayRptStatus = 10','INNER') ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER') ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER') ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT') ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT') ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT') ->where('Name_WorkGroup','=','簿册联动线01号(甲班)') ->where('a.cTechName' ,'=','簿册联动') ->group("CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END,Name_WorkGroup") ->buildSql(); $Bb1 = Db::table('ql_report_feedback_day')->alias('a') ->field(" CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq, Sum(a.nAmount) AS '簿11乙' ") ->join(['scdayrpt_teams' => 'b'], 'b.ID = a.ID_Teams and b.iDayRptStatus = 10','INNER') ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER') ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER') ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT') ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT') ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT') ->where('Name_WorkGroup','=','簿册联动线01号(乙班)') ->where('a.cTechName' ,'=','簿册联动') ->group("CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END,Name_WorkGroup") ->buildSql(); $db = Db::table($A . 'a') ->field(" DISTINCT DATE(A.RQ) rq, IFNULL(sum(B.簿1甲), 0) + IFNULL((sum(b1.簿1乙)), 0) + IFNULL(sum(Bb.簿11甲), 0) + IFNULL((sum(Bb1.簿11乙)), 0) 总计册 ") ->join('(' . $B . ') as b', 'a.rq = b.rq','LEFT') ->join('(' . $B1 . ') as b1', 'a.rq = b1.rq','LEFT') ->join('(' . $Bb . ') as bb', 'a.rq = bb.rq','LEFT') ->join('(' . $Bb1 . ') as bb1', 'a.rq = bb1.rq','LEFT') ->group('rq') ->buildSql(); $bc = Db::table($db . ' db') ->field(" DATE_FORMAT(db.rq, '%Y-%m') as 日期, ROUND(sum(db.总计册), 0) as 簿册册数 ")->where("db.RQ >= '{$this->start_time()}' AND db.RQ <= '{$this->end_time()}' ") ->group('MONTH(db.rq)') ->select(); // 创建一个结果数组 $result=[]; $result1 = []; // 遍历第一个数组,并将数据加入结果数组 foreach ($jp as $val1) { $month = $val1['日期']; $data1 = $val1['精平册数']; if (!isset($result[$month])) { $result[$month] = 0; // 初始化结果数组中该月份的数据为0 } if (!isset($result1[$month])) { $result1[$month] = 0; // 初始化结果数组中该月份的数据为0 } $result1[$month] += $data1; // 累加第一个数组的数据 } // 遍历第二个数组,并将数据加入结果数组 foreach ($jd as $val2) { $month = $val2['日期']; $data1 = $val2['无线胶订册数']; if (!isset($result[$month])) { $result[$month] = 0; // 初始化结果数组中该月份的数据为0 } if (!isset($result1[$month])) { $result1[$month] = 0; // 初始化结果数组中该月份的数据为0 } $result1[$month] += $data1; // 累加第二个数组的数据 } foreach ($bc as $val2) { $month = $val2['日期']; $data1 = $val2['簿册册数']; if (!isset($result[$month])) { $result[$month] = 0; // 初始化结果数组中该月份的数据为0 } if (!isset($result1[$month])) { $result1[$month] = 0; // 初始化结果数组中该月份的数据为0 } $result1[$month] += $data1; // 累加第二个数组的数据 } foreach($result1 as $k=>$v){ $list['categories'][]=$k; $list['series'][0]['name']='装订实物产量册数'; $list['series'][0]['data'][]=$v; } $res['status']=0; $res['msg']=''; $res['data']=$list; $redis->set($redis_key, json_encode($result1)); // halt(json_decode($redis->get($redis_key),true)); return json_encode($result1); } //前年装订实物产量册数->缓存调用 public function zdcsTwoYear(){ $redis=redis(); $redis_key = md5('zdcsTwoYear'); $A = Db::table('cpjtfk')->field("DISTINCT DATE_FORMAT(drptdate, '%Y-%m-%d') AS rq") ->union(function ($query) { $query->table('scDayRpt_Teams')->alias('b') ->field("DISTINCT DATE_FORMAT( CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i:%s') < '06:30:00' THEN DATE_SUB(b.dOnDuty, INTERVAL 1 DAY) ELSE b.dOnDuty END, '%Y-%m-%d' ) AS RQ"); }, true) ->buildSql(); $B1 = Db::table('cpjtfk') ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT') ->field(" DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq, sum(iwcl) as 精1乙 ") ->whereIn('cjtmc', ['精装生产联动线','进口骑马联动','紫光骑马联动','紫光骑马联动(新)','恒山骑马联动']) ->group('drptdate,cbanzu') ->buildSql(); $rr = Db::table('scyddx')->alias('r') ->field('r.ICYDID,sum(r.NYSLS) as zl') ->group('r.ICYDID') ->buildSql(); $Bb1 = Db::table('ql_report_feedback_day')->alias('a') ->field(" CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq, sum(a.nAmount) as 精11乙 ") ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER') ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER') ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER') ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT') ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT') ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT') ->whereIn('cMachineName', ['精装联动线01号','骑马联动01号','骑马联动02号','骑马联动03号']) ->group("CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END,Name_WorkGroup") ->buildSql(); $db = Db::table($A . 'a') ->field(" DISTINCT DATE(A.RQ) rq, IFNULL(sum(Bb1.精11乙), 0) + IFNULL((sum(B1.精1乙)), 0) 总计册 ") ->join('(' . $B1 . ') as b1', 'a.rq = b1.rq','LEFT') ->join('(' . $Bb1 . ') as bb1', 'a.rq = bb1.rq','LEFT') ->group('rq') ->buildSql(); $jp = Db::table($db . ' db') ->field(" DATE_FORMAT(db.rq, '%Y-%m') as 日期, ROUND(sum(db.总计册), 0) as 精平册数 ")->where("db.RQ >= '{$this->qianstart_time()}' AND db.RQ <= '{$this->qianend_time()}' ") ->group('MONTH(db.rq)') ->select(); $B = Db::table('cpjtfk') ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT') ->field(" DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq, sum(iwcl) as 马1甲 ") ->where('cpjtfk.cbanzu','=','马天尼(新)(甲班)') ->group('drptdate,cbanzu') ->buildSql(); $B1 = Db::table('cpjtfk') ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT') ->field(" DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq, sum(iwcl) as 马1乙 ") ->where('cpjtfk.cbanzu','=','马天尼(新)(乙班)') ->group('drptdate,cbanzu') ->buildSql(); $C = Db::table('cpjtfk') ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT') ->field(" DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq, sum(iwcl) as 马2甲 ") ->where('cpjtfk.cbanzu','=','马天尼2号(甲班)') ->group('drptdate,cbanzu') ->buildSql(); $C1 = Db::table('cpjtfk') ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT') ->field(" DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq, sum(iwcl) as 马2乙 ") ->where('cpjtfk.cbanzu','=','马天尼2号(乙班)') ->group('drptdate,cbanzu') ->buildSql(); $D = Db::table('cpjtfk') ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT') ->field(" DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq, sum(iwcl) as 马3甲 ") ->where('cpjtfk.cbanzu','=','无线胶订3号(甲班)') ->group('drptdate,cbanzu') ->buildSql(); $D1 = Db::table('cpjtfk') ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT') ->field(" DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq, sum(iwcl) as 马3乙 ") ->where('cpjtfk.cbanzu','=','无线胶订3号(乙班)') ->group('drptdate,cbanzu') ->buildSql(); $E = Db::table('cpjtfk') ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT') ->field(" DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq, sum(iwcl) as 马4甲 ") ->where('cpjtfk.cbanzu','=','无线胶订4号(甲班)') ->group('drptdate,cbanzu') ->buildSql(); $E1 = Db::table('cpjtfk') ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT') ->field(" DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq, sum(iwcl) as 马4乙 ") ->where('cpjtfk.cbanzu','=','无线胶订4号(乙班)') ->group('drptdate,cbanzu') ->buildSql(); $F = Db::table('cpjtfk') ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT') ->field(" DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq, sum(iwcl) as 马5甲 ") ->where('cpjtfk.cbanzu','=','无线胶订5号(甲班)') ->group('drptdate,cbanzu') ->buildSql(); $F1 = Db::table('cpjtfk') ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT') ->field(" DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq, sum(iwcl) as 马5乙, sum(mcyd.NZWyz * iWCl / 1000) as 马5乙纸令数 ") ->where('cpjtfk.cbanzu','=','无线胶订5号(乙班)') ->group('drptdate,cbanzu') ->buildSql(); $rr = Db::table('scyddx')->alias('r') ->field('r.ICYDID,sum(r.NYSLS) as zl') ->group('r.ICYDID') ->buildSql(); $Bb = Db::table('ql_report_feedback_day')->alias('a') ->field(" CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq, sum(a.nAmount) as 马11甲") ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER') ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER') ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER') ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT') ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT') ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT') ->where('Name_WorkGroup','=','胶订潮流1号(甲班)') ->whereIn('a.cTechName', ['胶订联动', '胶头']) ->group("CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END,Name_WorkGroup")->buildSql(); $Bb1 = Db::table('ql_report_feedback_day')->alias('a') ->field(" CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq, sum(a.nAmount) as 马11乙 ") ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER') ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER') ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER') ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT') ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT') ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT') ->where('Name_WorkGroup','=','胶订潮流1号(乙班)') ->whereIn('a.cTechName', ['胶订联动', '胶头']) ->group("CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END,Name_WorkGroup") ->buildSql(); $CC = Db::table('ql_report_feedback_day')->alias('a') ->field(" CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq, sum(a.nAmount) as 马22甲 ") ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER') ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER') ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER') ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT') ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT') ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT') ->where('Name_WorkGroup','=','胶订潮流2号(甲班)') ->whereIn('a.cTechName', ['胶订联动', '胶头']) ->group("CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END,Name_WorkGroup") ->buildSql(); $CC1 = Db::table('ql_report_feedback_day')->alias('a') ->field(" CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq, sum(a.nAmount) as 马22乙 ") ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER') ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER') ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER') ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT') ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT') ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT') ->where('Name_WorkGroup','=','胶订潮流2号(乙班)') ->whereIn('a.cTechName', ['胶订联动', '胶头']) ->group("CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END,Name_WorkGroup") ->buildSql(); $EE = Db::table('ql_report_feedback_day')->alias('a') ->field(" CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq, sum(a.nAmount) as 马33甲 ") ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER') ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER') ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER') ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT') ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT') ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT') ->where('Name_WorkGroup','=','胶订精工1号(甲班)') ->whereIn('a.cTechName', ['胶订联动', '胶头']) ->group("CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END,Name_WorkGroup") ->buildSql(); $EE1 = Db::table('ql_report_feedback_day')->alias('a') ->field(" CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq, sum(a.nAmount) as 马33乙 ") ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER') ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER') ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER') ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT') ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT') ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT') ->where('Name_WorkGroup','=','胶订精工1号(乙班)') ->whereIn('a.cTechName', ['胶订联动', '胶头']) ->group("CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END,Name_WorkGroup") ->buildSql(); $HH = Db::table('ql_report_feedback_day')->alias('a') ->field(" CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq, sum(a.nAmount) as 马44甲 ") ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER') ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER') ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER') ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT') ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT') ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT') ->where('Name_WorkGroup','=','胶订精密达1号(甲班)') ->whereIn('a.cTechName', ['胶订联动', '胶头']) ->group("CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END,Name_WorkGroup") ->buildSql(); $HH1 = Db::table('ql_report_feedback_day')->alias('a') ->field(" CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq, sum(a.nAmount) as 马44乙 ") ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER') ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER') ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER') ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT') ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT') ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT') ->where('Name_WorkGroup','=','胶订精密达1号(乙班)') ->whereIn('a.cTechName', ['胶订联动', '胶头']) ->group("CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END,Name_WorkGroup") ->buildSql(); $XX = Db::table('ql_report_feedback_day')->alias('a') ->field(" CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq, sum(a.nAmount) as 马55甲 ") ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER') ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER') ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER') ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT') ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT') ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT') ->where('Name_WorkGroup','=','胶订精密达2号(甲班)') ->whereIn('a.cTechName', ['胶订联动', '胶头']) ->group("CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END,Name_WorkGroup") ->buildSql(); $XXX2 = Db::table('ql_report_feedback_day')->alias('a') ->field(" CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq, sum(a.nAmount) as 马66甲 ") ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER') ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER') ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER') ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT') ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT') ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT') ->where('Name_WorkGroup','=','胶订精密达3号(甲班)') ->whereIn('a.cTechName', ['胶订联动', '胶头']) ->group("CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END,Name_WorkGroup") ->buildSql(); $XXX3 = Db::table('ql_report_feedback_day')->alias('a') ->field(" CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq, sum(a.nAmount) as 马77甲 ") ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER') ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER') ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER') ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT') ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT') ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT') ->where('Name_WorkGroup','=','胶钉精密达3号(甲班)') ->whereIn('a.cTechName', ['胶订联动', '胶头']) ->group("CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END,Name_WorkGroup") ->buildSql(); $XX1 = Db::table('ql_report_feedback_day')->alias('a') ->field(" CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq, sum(a.nAmount) as 马55乙 ") ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER') ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER') ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER') ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT') ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT') ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT') ->where('Name_WorkGroup','=','胶订精密达2号(乙班)') ->whereIn('a.cTechName', ['胶订联动', '胶头']) ->group("CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END,Name_WorkGroup") ->buildSql(); $XX2 = Db::table('ql_report_feedback_day')->alias('a') ->field(" CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq, sum(a.nAmount) as 马66乙 ") ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER') ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER') ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER') ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT') ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT') ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT') ->where('Name_WorkGroup','=','胶订精密达3号(乙班)') ->whereIn('a.cTechName', ['胶订联动', '胶头']) ->group("CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END,Name_WorkGroup") ->buildSql(); $XX3 = Db::table('ql_report_feedback_day')->alias('a') ->field(" CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq, sum(a.nAmount) as 马77乙 ") ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER') ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER') ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER') ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT') ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT') ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT') ->where('Name_WorkGroup','=','胶钉精密达3号(乙班)') ->whereIn('a.cTechName', ['胶订联动', '胶头']) ->group("CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END,Name_WorkGroup") ->buildSql(); $db = Db::table($A . 'a') ->field(" DISTINCT DATE_FORMAT(A.RQ, '%Y-%m-%d') AS rq, IFNULL(B.马1甲, 0) + IFNULL(B1.马1乙, 0) + IFNULL(C.马2甲, 0) + IFNULL(C1.马2乙, 0) + IFNULL(D.马3甲, 0) + IFNULL(D1.马3乙, 0) + IFNULL(E.马4甲, 0) + IFNULL(E1.马4乙, 0) + IFNULL(f.马5甲, 0) + IFNULL(f1.马5乙, 0) + IFNULL(Bb.马11甲, 0) + IFNULL(Bb1.马11乙, 0) + IFNULL(cc.马22甲, 0) + IFNULL(cc1.马22乙, 0) + IFNULL(ee.马33甲, 0) + IFNULL(ee1.马33乙, 0) + IFNULL( hh.马44甲, 0) + IFNULL(hh1.马44乙, 0) + IFNULL(xx.马55甲, 0) + IFNULL(xx1.马55乙, 0) + IFNULL(xxx2.马66甲, 0) + IFNULL(xx2.马66乙, 0) + IFNULL(xxx3.马77甲, 0) + IFNULL(xx3.马77乙, 0) 总计册 ") ->join('(' . $B . ') as b', ' a.rq = b.rq','LEFT') ->join('(' . $B1 . ') as b1', 'a.rq = b1.rq','LEFT') ->join('(' . $C . ') as c', 'a.rq = c.rq','LEFT') ->join('(' . $C1 . ') as c1', 'a.rq = c1.rq','LEFT') ->join('(' . $D . ') as d', 'a.rq = d.rq','LEFT') ->join('(' . $D1 . ') as d1', 'a.rq = d1.rq','LEFT') ->join('(' . $E . ') as e', 'a.rq = e.rq','LEFT') ->join('(' . $E1 . ') as e1', 'a.rq = e1.rq','LEFT') ->join('(' . $F . ') as f', 'a.rq = f.rq','LEFT') ->join('(' . $F1 . ') as f1', 'a.rq = f1.rq','LEFT') ->join('(' . $Bb . ') as bb', 'a.rq = bb.rq','LEFT') ->join('(' . $Bb1 . ') as bb1', 'a.rq = bb1.rq','LEFT') ->join('(' . $CC . ') as cc', 'a.rq = cc.rq','LEFT') ->join('(' . $CC1 . ') as cc1', 'a.rq = cc1.rq','LEFT') ->join('(' . $EE . ') as ee', 'a.rq = ee.rq','LEFT') ->join('(' . $EE1 . ') as ee1', 'a.rq = ee1.rq','LEFT') ->join('(' . $HH . ') as hh', 'a.rq = hh.rq','LEFT') ->join('(' . $HH1 . ') as hh1', 'a.rq = hh1.rq','LEFT') ->join('(' . $XX . ') as xx', 'a.rq = xx.rq','LEFT') ->join('(' . $XX1 . ') as xx1', 'a.rq = xx1.rq','LEFT') ->join('(' . $XX2 . ') as xx2', 'a.rq = xx2.rq','LEFT') ->join('(' . $XX3 . ') as xx3', 'a.rq = xx3.rq','LEFT') ->join('(' . $XXX2 . ') as xxx2', 'a.rq = xxx2.rq','LEFT') ->join('(' . $XXX3 . ') as xxx3', 'a.rq = xxx3.rq','LEFT') ->buildSql(); $jd = Db::table($db . ' db') ->field(" DATE_FORMAT(db.rq, '%Y-%m') as 日期, ROUND(sum(db.总计册), 0) as 无线胶订册数 ")->where("db.RQ >= '{$this->qianstart_time()}' AND db.RQ <= '{$this->qianend_time()}' ") ->group('MONTH(db.rq)') ->select(); $B = Db::table('cpjtfk') ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT') ->field(" DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq, Sum(iWcl) AS '簿1甲' ") ->where('cbanzu','=','簿册机1号(甲班)') ->group('drptdate,cbanzu') ->buildSql(); $B1 = Db::table('cpjtfk') ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT') ->field(" DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq, Sum(iWcl) AS '簿1乙' ") ->where('cbanzu','=','簿册机1号(乙班)') ->group('drptdate,cbanzu') ->buildSql(); $rr = Db::table('scyddx')->alias('r') ->field('r.ICYDID,sum(r.NYSLS) as zl') ->group('r.ICYDID') ->buildSql(); $Bb = Db::table('ql_report_feedback_day')->alias('a') ->field(" CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq, Sum(a.nAmount) AS '簿11甲' ") ->join(['scdayrpt_teams' => 'b'], 'b.ID = a.ID_Teams and b.iDayRptStatus = 10','INNER') ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER') ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER') ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT') ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT') ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT') ->where('Name_WorkGroup','=','簿册联动线01号(甲班)') ->where('a.cTechName' ,'=','簿册联动') ->group("CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END,Name_WorkGroup") ->buildSql(); $Bb1 = Db::table('ql_report_feedback_day')->alias('a') ->field(" CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq, Sum(a.nAmount) AS '簿11乙' ") ->join(['scdayrpt_teams' => 'b'], 'b.ID = a.ID_Teams and b.iDayRptStatus = 10','INNER') ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER') ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER') ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT') ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT') ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT') ->where('Name_WorkGroup','=','簿册联动线01号(乙班)') ->where('a.cTechName' ,'=','簿册联动') ->group("CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END,Name_WorkGroup") ->buildSql(); $db = Db::table($A . 'a') ->field(" DISTINCT DATE(A.RQ) rq, IFNULL(sum(B.簿1甲), 0) + IFNULL((sum(b1.簿1乙)), 0) + IFNULL(sum(Bb.簿11甲), 0) + IFNULL((sum(Bb1.簿11乙)), 0) 总计册 ") ->join('(' . $B . ') as b', 'a.rq = b.rq','LEFT') ->join('(' . $B1 . ') as b1', 'a.rq = b1.rq','LEFT') ->join('(' . $Bb . ') as bb', 'a.rq = bb.rq','LEFT') ->join('(' . $Bb1 . ') as bb1', 'a.rq = bb1.rq','LEFT') ->group('rq') ->buildSql(); $bc = Db::table($db . ' db') ->field(" DATE_FORMAT(db.rq, '%Y-%m') as 日期, ROUND(sum(db.总计册), 0) as 簿册册数 ")->where("db.RQ >= '{$this->qianstart_time()}' AND db.RQ <= '{$this->qianend_time()}' ") ->group('MONTH(db.rq)') ->select(); // 创建一个结果数组 $result=[]; $result1 = []; // 遍历第一个数组,并将数据加入结果数组 foreach ($jp as $val1) { $month = $val1['日期']; $data1 = $val1['精平册数']; if (!isset($result[$month])) { $result[$month] = 0; // 初始化结果数组中该月份的数据为0 } if (!isset($result1[$month])) { $result1[$month] = 0; // 初始化结果数组中该月份的数据为0 } $result1[$month] += $data1; // 累加第一个数组的数据 } // 遍历第二个数组,并将数据加入结果数组 foreach ($jd as $val2) { $month = $val2['日期']; $data1 = $val2['无线胶订册数']; if (!isset($result[$month])) { $result[$month] = 0; // 初始化结果数组中该月份的数据为0 } if (!isset($result1[$month])) { $result1[$month] = 0; // 初始化结果数组中该月份的数据为0 } $result1[$month] += $data1; // 累加第二个数组的数据 } foreach ($bc as $val2) { $month = $val2['日期']; $data1 = $val2['簿册册数']; if (!isset($result[$month])) { $result[$month] = 0; // 初始化结果数组中该月份的数据为0 } if (!isset($result1[$month])) { $result1[$month] = 0; // 初始化结果数组中该月份的数据为0 } $result1[$month] += $data1; // 累加第二个数组的数据 } foreach($result1 as $k=>$v){ $list['categories'][]=$k; $list['series'][0]['name']='装订实物产量册数'; $list['series'][0]['data'][]=$v; } $res['status']=0; $res['msg']=''; $res['data']=$list; $redis->set($redis_key, json_encode($result1)); // halt(json_decode($redis->get($redis_key),true)); return json_encode($result1); } //去年与当年--装订实物产量册数 接口合并一起->接口调用 public function zdcs() { $redis = redis(); $result2022 = json_decode($redis->get(md5('zdcs2022')), true); $result2023 = json_decode($redis->get(md5('zdcs2023')), true); $resultzdcsTwoYear = json_decode($redis->get(md5('zdcsTwoYear')), true); // 合并三年的数据 $result1 = array_merge($result2022, $result2023, $resultzdcsTwoYear); $list['categories'] = ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12']; $currentYear = date("Y"); // 当前年份 $currentMonth = date("m"); // 当前月份 $previousYear = $currentYear - 1; // 上一年 $previousQianYear = $currentYear - 2; // 前年 // 初始化三个年份的数据数组,先填充0 $list['series'][0]['name'] = $previousQianYear . '年'; $list['series'][0]['data'] = array_fill(0, 12, 0); $list['series'][1]['name'] = $previousYear . '年'; $list['series'][1]['data'] = array_fill(0, 12, 0); $list['series'][2]['name'] = $currentYear . '年'; $list['series'][2]['data'] = array_fill(0, 12, 0); foreach ($result1 as $k => $v) { $yearMonth = explode('-', $k); $year = $yearMonth[0]; $month = (int)$yearMonth[1]; if ($year == $previousQianYear) { // 如果是前两年的数据,直接赋值 $list['series'][0]['data'][$month - 1] = $v; } elseif ($year == $previousYear) { // 如果是去年的数据,直接赋值 $list['series'][1]['data'][$month - 1] = $v; } elseif ($year == $currentYear && $month <= (int)$currentMonth) { // 如果是当前年份,并且月份不超过当前月份,则赋值 $list['series'][2]['data'][$month - 1] = $v; } // 如果是当前年份但月份超过当前月份,则不处理,保持为0 } $res['status'] = 0; $res['msg'] = ''; $res['data'] = $list; return json_encode($res); } // public function zdcs(){ // $redis=redis(); // $result2022=json_decode($redis->get(md5('zdcs2022')),true); // $result2023=json_decode($redis->get(md5('zdcs2023')),true); // $result1=array_merge($result2022,$result2023); // // $list['categories'] = ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12']; // $currentYear = date("Y"); // 当前年份 // $currentMonth = date("m"); // 当前月份 // $previousYear = $currentYear - 1; // 上一年 // // 初始化两个年份的数据数组,先填充0 // $list['series'][0]['name'] = $previousYear . '年'; // $list['series'][0]['data'] = array_fill(0, 12, 0); // $list['series'][1]['name'] = $currentYear . '年'; // $list['series'][1]['data'] = array_fill(0, $currentMonth, 0); // // foreach ($result1 as $k => $v) { // $yearMonth = explode('-', $k); // $year = $yearMonth[0]; // $month = (int)$yearMonth[1]; // // if ($year == $previousYear) { // // 如果是上一年的数据,直接赋值 // $list['series'][0]['data'][$month - 1] = $v; // } elseif ($year == $currentYear && $month <= (int)$currentMonth) { // // 如果是当前年份,并且月份不超过当前月份,则赋值 // $list['series'][1]['data'][$month - 1] = $v; // } // // 如果是当前年份但月份超过当前月份,则不处理,保持为0 // } // $res['status'] = 0; // $res['msg'] = ''; // $res['data'] = $list; // return json_encode($res); // } //去年装订实物产量纸令->缓存调用 public function zdzl2022(){ $redis=redis(); $redis_key = md5('zdzl2022'); $A = Db::table('cpjtfk')->field("DISTINCT DATE_FORMAT(drptdate, '%Y-%m-%d') AS rq") ->union(function ($query) { $query->table('scDayRpt_Teams')->alias('b') ->field("DISTINCT DATE_FORMAT( CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i:%s') < '06:30:00' THEN DATE_SUB(b.dOnDuty, INTERVAL 1 DAY) ELSE b.dOnDuty END, '%Y-%m-%d' ) AS RQ"); }, true) ->buildSql(); $B1 = Db::table('cpjtfk') ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT') ->field(" DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq, sum(mcyd.NZWyz * iWCl / 1000) as 精1乙纸令数 ") ->whereIn('cjtmc', ['精装生产联动线','进口骑马联动','紫光骑马联动','紫光骑马联动(新)','恒山骑马联动']) ->group('drptdate,cbanzu') ->buildSql(); $rr = Db::table('scyddx')->alias('r') ->field('r.ICYDID,sum(r.NYSLS) as zl') ->group('r.ICYDID') ->buildSql(); $Bb1 = Db::table('ql_report_feedback_day')->alias('a') ->field(" CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq, ROUND(SUM( CASE WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0) THEN CASE WHEN a.cCyddxMc = '装配' OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%' THEN CASE WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END = 0 THEN c.nzdls ELSE ( CASE WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END ELSE c.nzdls END ) END ELSE 0 END ELSE CASE WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/ THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) * CASE WHEN a.cCyddxMc = '装配' OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%' THEN CASE WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END = 0 THEN c.nzdls ELSE ( CASE WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END ELSE c.nzdls END ) END ELSE 0 END ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0) END END ) , 3) 精11乙纸令 ") ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER') ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER') ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER') ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT') ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT') ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT') ->whereIn('cMachineName', ['精装联动线01号','骑马联动01号','骑马联动02号','骑马联动03号']) ->group("CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END,Name_WorkGroup") ->buildSql(); $db = Db::table($A . 'a') ->field(" DATE(A.RQ) rq, TRUNCATE(IFNULL(Bb1.精11乙纸令, 0) + IFNULL(B1.精1乙纸令数, 0), 0) 纸令数总计 ") ->join('(' . $B1 . ') as b1', 'a.rq = b1.rq','LEFT') ->join('(' . $Bb1 . ') as bb1', 'a.rq = bb1.rq','LEFT') ->buildSql(); $jp = Db::table($db . ' db') ->field(" DATE_FORMAT(db.rq, '%Y-%m') as 日期, ROUND(sum(db.纸令数总计), 0) as 精平纸令 ")->where("db.RQ >= '{$this->qstart_time()}' AND db.RQ <= '{$this->qend_time()}' ") ->group('MONTH(db.rq)') ->select(); $B = Db::table('cpjtfk') ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT') ->field(" DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq, sum(mcyd.NZWyz * iWCl / 1000) as 马1甲纸令数 ") ->where('cpjtfk.cbanzu','=','马天尼(新)(甲班)') ->group('drptdate,cbanzu') ->buildSql(); $B1 = Db::table('cpjtfk') ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT') ->field(" DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq, sum(mcyd.NZWyz * iWCl / 1000) as 马1乙纸令数 ") ->where('cpjtfk.cbanzu','=','马天尼(新)(乙班)') ->group('drptdate,cbanzu') ->buildSql(); $C = Db::table('cpjtfk') ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT') ->field(" DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq, sum(mcyd.NZWyz * iWCl / 1000) as 马2甲纸令数 ") ->where('cpjtfk.cbanzu','=','马天尼2号(甲班)') ->group('drptdate,cbanzu') ->buildSql(); $C1 = Db::table('cpjtfk') ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT') ->field(" DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq, sum(mcyd.NZWyz * iWCl / 1000) as 马2乙纸令数 ") ->where('cpjtfk.cbanzu','=','马天尼2号(乙班)') ->group('drptdate,cbanzu') ->buildSql(); $D = Db::table('cpjtfk') ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT') ->field(" DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq, sum(mcyd.NZWyz * iWCl / 1000) as 马3甲纸令数 ") ->where('cpjtfk.cbanzu','=','无线胶订3号(甲班)') ->group('drptdate,cbanzu') ->buildSql(); $D1 = Db::table('cpjtfk') ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT') ->field(" DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq, sum(mcyd.NZWyz * iWCl / 1000) as 马3乙纸令数 ") ->where('cpjtfk.cbanzu','=','无线胶订3号(乙班)') ->group('drptdate,cbanzu') ->buildSql(); $E = Db::table('cpjtfk') ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT') ->field(" DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq, sum(mcyd.NZWyz * iWCl / 1000) as 马4甲纸令数 ") ->where('cpjtfk.cbanzu','=','无线胶订4号(甲班)') ->group('drptdate,cbanzu') ->buildSql(); $E1 = Db::table('cpjtfk') ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT') ->field(" DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq, sum(mcyd.NZWyz * iWCl / 1000) as 马4乙纸令数 ") ->where('cpjtfk.cbanzu','=','无线胶订4号(乙班)') ->group('drptdate,cbanzu') ->buildSql(); $F = Db::table('cpjtfk') ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT') ->field(" DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq, sum(mcyd.NZWyz * iWCl / 1000) as 马5甲纸令数 ") ->where('cpjtfk.cbanzu','=','无线胶订5号(甲班)') ->group('drptdate,cbanzu') ->buildSql(); $F1 = Db::table('cpjtfk') ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT') ->field(" DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq, sum(mcyd.NZWyz * iWCl / 1000) as 马5乙纸令数 ") ->where('cpjtfk.cbanzu','=','无线胶订5号(乙班)') ->group('drptdate,cbanzu') ->buildSql(); $rr = Db::table('scyddx')->alias('r') ->field('r.ICYDID,sum(r.NYSLS) as zl') ->group('r.ICYDID') ->buildSql(); $Bb = Db::table('ql_report_feedback_day')->alias('a') ->field(" CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq, ROUND(SUM( CASE WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0) THEN CASE WHEN a.cCyddxMc = '装配' OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%' THEN CASE WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END = 0 THEN c.nzdls ELSE ( CASE WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END ELSE c.nzdls END ) END ELSE 0 END ELSE CASE WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/ THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) * CASE WHEN a.cCyddxMc = '装配' OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%' THEN CASE WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END = 0 THEN c.nzdls ELSE ( CASE WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END ELSE c.nzdls END ) END ELSE 0 END ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0) END END ), 3) 马11甲纸令 ") ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER') ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER') ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER') ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT') ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT') ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT') ->where('Name_WorkGroup','=','胶订潮流1号(甲班)') ->whereIn('a.cTechName', ['胶订联动', '胶头']) ->group("CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END,Name_WorkGroup")->buildSql(); $Bb1 = Db::table('ql_report_feedback_day')->alias('a') ->field(" CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq, ROUND(SUM( CASE WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0) THEN CASE WHEN a.cCyddxMc = '装配' OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%' THEN CASE WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END = 0 THEN c.nzdls ELSE ( CASE WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END ELSE c.nzdls END ) END ELSE 0 END ELSE CASE WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/ THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) * CASE WHEN a.cCyddxMc = '装配' OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%' THEN CASE WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END = 0 THEN c.nzdls ELSE ( CASE WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END ELSE c.nzdls END ) END ELSE 0 END ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0) END END ) , 3) 马11乙纸令 ") ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER') ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER') ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER') ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT') ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT') ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT') ->where('Name_WorkGroup','=','胶订潮流1号(乙班)') ->whereIn('a.cTechName', ['胶订联动', '胶头']) ->group("CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END,Name_WorkGroup") ->buildSql(); $CC = Db::table('ql_report_feedback_day')->alias('a') ->field(" CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq, ROUND(SUM( CASE WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0) THEN CASE WHEN a.cCyddxMc = '装配' OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%' THEN CASE WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END = 0 THEN c.nzdls ELSE ( CASE WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END ELSE c.nzdls END ) END ELSE 0 END ELSE CASE WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/ THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) * CASE WHEN a.cCyddxMc = '装配' OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%' THEN CASE WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END = 0 THEN c.nzdls ELSE ( CASE WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END ELSE c.nzdls END ) END ELSE 0 END ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0) END END ) , 3) 马22甲纸令 ") ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER') ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER') ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER') ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT') ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT') ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT') ->where('Name_WorkGroup','=','胶订潮流2号(甲班)') ->whereIn('a.cTechName', ['胶订联动', '胶头']) ->group("CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END,Name_WorkGroup") ->buildSql(); $CC1 = Db::table('ql_report_feedback_day')->alias('a') ->field(" CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq, ROUND(SUM( CASE WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0) THEN CASE WHEN a.cCyddxMc = '装配' OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%' THEN CASE WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END = 0 THEN c.nzdls ELSE ( CASE WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END ELSE c.nzdls END ) END ELSE 0 END ELSE CASE WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/ THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) * CASE WHEN a.cCyddxMc = '装配' OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%' THEN CASE WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END = 0 THEN c.nzdls ELSE ( CASE WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END ELSE c.nzdls END ) END ELSE 0 END ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0) END END ) , 3) 马22乙纸令 ") ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER') ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER') ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER') ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT') ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT') ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT') ->where('Name_WorkGroup','=','胶订潮流2号(乙班)') ->whereIn('a.cTechName', ['胶订联动', '胶头']) ->group("CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END,Name_WorkGroup") ->buildSql(); $EE = Db::table('ql_report_feedback_day')->alias('a') ->field(" CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq, ROUND(SUM( CASE WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0) THEN CASE WHEN a.cCyddxMc = '装配' OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%' THEN CASE WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END = 0 THEN c.nzdls ELSE ( CASE WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END ELSE c.nzdls END ) END ELSE 0 END ELSE CASE WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/ THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) * CASE WHEN a.cCyddxMc = '装配' OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%' THEN CASE WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END = 0 THEN c.nzdls ELSE ( CASE WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END ELSE c.nzdls END ) END ELSE 0 END ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0) END END ) , 3) 马33甲纸令 ") ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER') ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER') ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER') ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT') ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT') ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT') ->where('Name_WorkGroup','=','胶订精工1号(甲班)') ->whereIn('a.cTechName', ['胶订联动', '胶头']) ->group("CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END,Name_WorkGroup") ->buildSql(); $EE1 = Db::table('ql_report_feedback_day')->alias('a') ->field(" CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq, ROUND(SUM( CASE WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0) THEN CASE WHEN a.cCyddxMc = '装配' OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%' THEN CASE WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END = 0 THEN c.nzdls ELSE ( CASE WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END ELSE c.nzdls END ) END ELSE 0 END ELSE CASE WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/ THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) * CASE WHEN a.cCyddxMc = '装配' OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%' THEN CASE WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END = 0 THEN c.nzdls ELSE ( CASE WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END ELSE c.nzdls END ) END ELSE 0 END ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0) END END ) , 3) 马33乙纸令 ") ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER') ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER') ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER') ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT') ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT') ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT') ->where('Name_WorkGroup','=','胶订精工1号(乙班)') ->whereIn('a.cTechName', ['胶订联动', '胶头']) ->group("CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END,Name_WorkGroup") ->buildSql(); $HH = Db::table('ql_report_feedback_day')->alias('a') ->field(" CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq, ROUND(SUM( CASE WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0) THEN CASE WHEN a.cCyddxMc = '装配' OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%' THEN CASE WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END = 0 THEN c.nzdls ELSE ( CASE WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END ELSE c.nzdls END ) END ELSE 0 END ELSE CASE WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/ THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) * CASE WHEN a.cCyddxMc = '装配' OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%' THEN CASE WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END = 0 THEN c.nzdls ELSE ( CASE WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END ELSE c.nzdls END ) END ELSE 0 END ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0) END END ) , 3) 马44甲纸令 ") ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER') ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER') ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER') ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT') ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT') ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT') ->where('Name_WorkGroup','=','胶订精密达1号(甲班)') ->whereIn('a.cTechName', ['胶订联动', '胶头']) ->group("CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END,Name_WorkGroup") ->buildSql(); $HH1 = Db::table('ql_report_feedback_day')->alias('a') ->field(" CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq, ROUND(SUM( CASE WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0) THEN CASE WHEN a.cCyddxMc = '装配' OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%' THEN CASE WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END = 0 THEN c.nzdls ELSE ( CASE WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END ELSE c.nzdls END ) END ELSE 0 END ELSE CASE WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/ THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) * CASE WHEN a.cCyddxMc = '装配' OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%' THEN CASE WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END = 0 THEN c.nzdls ELSE ( CASE WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END ELSE c.nzdls END ) END ELSE 0 END ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0) END END ) , 3) 马44乙纸令 ") ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER') ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER') ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER') ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT') ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT') ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT') ->where('Name_WorkGroup','=','胶订精密达1号(乙班)') ->whereIn('a.cTechName', ['胶订联动', '胶头']) ->group("CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END,Name_WorkGroup") ->buildSql(); $XX = Db::table('ql_report_feedback_day')->alias('a') ->field(" CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq, ROUND(SUM( CASE WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0) THEN CASE WHEN a.cCyddxMc = '装配' OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%' THEN CASE WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END = 0 THEN c.nzdls ELSE ( CASE WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END ELSE c.nzdls END ) END ELSE 0 END ELSE CASE WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/ THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) * CASE WHEN a.cCyddxMc = '装配' OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%' THEN CASE WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END = 0 THEN c.nzdls ELSE ( CASE WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END ELSE c.nzdls END ) END ELSE 0 END ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0) END END ) , 3) 马55甲纸令 ") ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER') ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER') ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER') ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT') ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT') ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT') ->where('Name_WorkGroup','=','胶订精密达2号(甲班)') ->whereIn('a.cTechName', ['胶订联动', '胶头']) ->group("CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END,Name_WorkGroup") ->buildSql(); $XXX2 = Db::table('ql_report_feedback_day')->alias('a') ->field(" CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq, ROUND(SUM( CASE WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0) THEN CASE WHEN a.cCyddxMc = '装配' OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%' THEN CASE WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END = 0 THEN c.nzdls ELSE ( CASE WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END ELSE c.nzdls END ) END ELSE 0 END ELSE CASE WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/ THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) * CASE WHEN a.cCyddxMc = '装配' OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%' THEN CASE WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END = 0 THEN c.nzdls ELSE ( CASE WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END ELSE c.nzdls END ) END ELSE 0 END ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0) END END ) , 3) 马66甲纸令 ") ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER') ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER') ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER') ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT') ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT') ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT') ->where('Name_WorkGroup','=','胶订精密达3号(甲班)') ->whereIn('a.cTechName', ['胶订联动', '胶头']) ->group("CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END,Name_WorkGroup") ->buildSql(); $XXX3 = Db::table('ql_report_feedback_day')->alias('a') ->field(" CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq, ROUND(SUM( CASE WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0) THEN CASE WHEN a.cCyddxMc = '装配' OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%' THEN CASE WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END = 0 THEN c.nzdls ELSE ( CASE WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END ELSE c.nzdls END ) END ELSE 0 END ELSE CASE WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/ THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) * CASE WHEN a.cCyddxMc = '装配' OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%' THEN CASE WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END = 0 THEN c.nzdls ELSE ( CASE WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END ELSE c.nzdls END ) END ELSE 0 END ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0) END END ) , 3) 马77甲纸令 ") ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER') ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER') ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER') ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT') ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT') ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT') ->where('Name_WorkGroup','=','胶钉精密达3号(甲班)') ->whereIn('a.cTechName', ['胶订联动', '胶头']) ->group("CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END,Name_WorkGroup") ->buildSql(); $XX1 = Db::table('ql_report_feedback_day')->alias('a') ->field(" CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq, ROUND(SUM( CASE WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0) THEN CASE WHEN a.cCyddxMc = '装配' OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%' THEN CASE WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END = 0 THEN c.nzdls ELSE ( CASE WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END ELSE c.nzdls END ) END ELSE 0 END ELSE CASE WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/ THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) * CASE WHEN a.cCyddxMc = '装配' OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%' THEN CASE WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END = 0 THEN c.nzdls ELSE ( CASE WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END ELSE c.nzdls END ) END ELSE 0 END ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0) END END ) , 3) 马55乙纸令 ") ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER') ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER') ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER') ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT') ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT') ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT') ->where('Name_WorkGroup','=','胶订精密达2号(乙班)') ->whereIn('a.cTechName', ['胶订联动', '胶头']) ->group("CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END,Name_WorkGroup") ->buildSql(); $XX2 = Db::table('ql_report_feedback_day')->alias('a') ->field(" CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq, ROUND(SUM( CASE WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0) THEN CASE WHEN a.cCyddxMc = '装配' OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%' THEN CASE WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END = 0 THEN c.nzdls ELSE ( CASE WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END ELSE c.nzdls END ) END ELSE 0 END ELSE CASE WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/ THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) * CASE WHEN a.cCyddxMc = '装配' OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%' THEN CASE WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END = 0 THEN c.nzdls ELSE ( CASE WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END ELSE c.nzdls END ) END ELSE 0 END ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0) END END ) , 3) 马66乙纸令 ") ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER') ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER') ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER') ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT') ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT') ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT') ->where('Name_WorkGroup','=','胶订精密达3号(乙班)') ->whereIn('a.cTechName', ['胶订联动', '胶头']) ->group("CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END,Name_WorkGroup") ->buildSql(); $XX3 = Db::table('ql_report_feedback_day')->alias('a') ->field(" CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq, ROUND(SUM( CASE WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0) THEN CASE WHEN a.cCyddxMc = '装配' OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%' THEN CASE WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END = 0 THEN c.nzdls ELSE ( CASE WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END ELSE c.nzdls END ) END ELSE 0 END ELSE CASE WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/ THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) * CASE WHEN a.cCyddxMc = '装配' OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%' THEN CASE WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END = 0 THEN c.nzdls ELSE ( CASE WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END ELSE c.nzdls END ) END ELSE 0 END ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0) END END ) , 3) 马77乙纸令 ") ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER') ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER') ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER') ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT') ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT') ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT') ->where('Name_WorkGroup','=','胶钉精密达3号(乙班)') ->whereIn('a.cTechName', ['胶订联动', '胶头']) ->group("CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END,Name_WorkGroup") ->buildSql(); $db = Db::table($A . 'a') ->field(" DISTINCT DATE(A.RQ) rq, TRUNCATE(IFNULL(sum(b.马1甲纸令数), 0) + IFNULL(sum(b1.马1乙纸令数), 0) + IFNULL(sum(C.马2甲纸令数), 0) + IFNULL(sum(C1.马2乙纸令数), 0) + IFNULL(sum(D.马3甲纸令数), 0) + IFNULL(sum(D1.马3乙纸令数), 0) + IFNULL(sum(E.马4甲纸令数), 0) + IFNULL(sum(E1.马4乙纸令数), 0) + IFNULL(sum(f.马5甲纸令数), 0) + IFNULL(sum(f1.马5乙纸令数), 0) + IFNULL(sum(Bb.马11甲纸令), 0) + IFNULL(sum(cc.马22甲纸令), 0) + IFNULL(sum(ee.马33甲纸令), 0) + IFNULL(sum(hh.马44甲纸令), 0) + IFNULL(sum(xx.马55甲纸令), 0) + IFNULL(sum(Bb1.马11乙纸令), 0) + IFNULL(sum(cc1.马22乙纸令), 0) + IFNULL(sum(ee1.马33乙纸令), 0) + IFNULL(sum(hh1.马44乙纸令), 0) + IFNULL(sum(xx1.马55乙纸令), 0) + IFNULL(sum(xxx2.马66甲纸令), 0) + IFNULL(sum(xx2.马66乙纸令), 0) + IFNULL(sum(xxx3.马77甲纸令), 0) + IFNULL(sum(xx3.马77乙纸令), 0), 0) 纸令数总计 ") ->join('(' . $B . ') as b', ' a.rq = b.rq','LEFT') ->join('(' . $B1 . ') as b1', 'a.rq = b1.rq','LEFT') ->join('(' . $C . ') as c', 'a.rq = c.rq','LEFT') ->join('(' . $C1 . ') as c1', 'a.rq = c1.rq','LEFT') ->join('(' . $D . ') as d', 'a.rq = d.rq','LEFT') ->join('(' . $D1 . ') as d1', 'a.rq = d1.rq','LEFT') ->join('(' . $E . ') as e', 'a.rq = e.rq','LEFT') ->join('(' . $E1 . ') as e1', 'a.rq = e1.rq','LEFT') ->join('(' . $F . ') as f', 'a.rq = f.rq','LEFT') ->join('(' . $F1 . ') as f1', 'a.rq = f1.rq','LEFT') ->join('(' . $Bb . ') as bb', 'a.rq = bb.rq','LEFT') ->join('(' . $Bb1 . ') as bb1', 'a.rq = bb1.rq','LEFT') ->join('(' . $CC . ') as cc', 'a.rq = cc.rq','LEFT') ->join('(' . $CC1 . ') as cc1', 'a.rq = cc1.rq','LEFT') ->join('(' . $EE . ') as ee', 'a.rq = ee.rq','LEFT') ->join('(' . $EE1 . ') as ee1', 'a.rq = ee1.rq','LEFT') ->join('(' . $HH . ') as hh', 'a.rq = hh.rq','LEFT') ->join('(' . $HH1 . ') as hh1', 'a.rq = hh1.rq','LEFT') ->join('(' . $XX . ') as xx', 'a.rq = xx.rq','LEFT') ->join('(' . $XX1 . ') as xx1', 'a.rq = xx1.rq','LEFT') ->join('(' . $XX2 . ') as xx2', 'a.rq = xx2.rq','LEFT') ->join('(' . $XX3 . ') as xx3', 'a.rq = xx3.rq','LEFT') ->join('(' . $XXX2 . ') as xxx2', 'a.rq = xxx2.rq','LEFT') ->join('(' . $XXX3 . ') as xxx3', 'a.rq = xxx3.rq','LEFT') ->group('rq') ->buildSql(); $jd = Db::table($db . ' db') ->field(" DATE_FORMAT(db.rq, '%Y-%m') as 日期, ROUND(SUM(db.纸令数总计), 0) AS 无线胶订纸令 ") ->where("db.RQ >= '{$this->qstart_time()}'AND db.RQ <= '{$this->qend_time()}' ") ->group('MONTH(db.rq)') ->select(); /** * 簿册联动线纸令 */ $B = Db::table('cpjtfk') ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT') ->field(" DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq, sum(mcyd.NZWyz * iWCl / 1000) AS 簿1甲纸令数 ") ->where('cbanzu','=','簿册机1号(甲班)') ->group('drptdate,cbanzu') ->buildSql(); $B1 = Db::table('cpjtfk') ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT') ->field(" DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq, sum(mcyd.NZWyz * iWCl / 1000) AS 簿1乙纸令数 ") ->where('cbanzu','=','簿册机1号(乙班)') ->group('drptdate,cbanzu') ->buildSql(); $rr = Db::table('scyddx')->alias('r') ->field('r.ICYDID,sum(r.NYSLS) as zl') ->group('r.ICYDID') ->buildSql(); $Bb = Db::table('ql_report_feedback_day')->alias('a') ->field(" CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq, ROUND(SUM( CASE WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0) THEN CASE WHEN a.cCyddxMc = '装配' OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%' THEN CASE WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END = 0 THEN c.nzdls ELSE ( CASE WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END ELSE c.nzdls END ) END ELSE 0 END ELSE CASE WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/ THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) * CASE WHEN a.cCyddxMc = '装配' OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%' THEN CASE WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END = 0 THEN c.nzdls ELSE ( CASE WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END ELSE c.nzdls END ) END ELSE 0 END ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0) END END ) , 3) 簿11甲纸令 ") ->join(['scdayrpt_teams' => 'b'], 'b.ID = a.ID_Teams and b.iDayRptStatus = 10','INNER') ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER') ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER') ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT') ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT') ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT') ->where('Name_WorkGroup','=','簿册联动线01号(甲班)') ->where('a.cTechName' ,'=','簿册联动') ->group("CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END,Name_WorkGroup") ->buildSql(); $Bb1 = Db::table('ql_report_feedback_day')->alias('a') ->field(" CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq, ROUND(SUM( CASE WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0) THEN CASE WHEN a.cCyddxMc = '装配' OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%' THEN CASE WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END = 0 THEN c.nzdls ELSE ( CASE WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END ELSE c.nzdls END ) END ELSE 0 END ELSE CASE WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/ THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) * CASE WHEN a.cCyddxMc = '装配' OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%' THEN CASE WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END = 0 THEN c.nzdls ELSE ( CASE WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END ELSE c.nzdls END ) END ELSE 0 END ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0) END END ) , 3) 簿11乙纸令 ") ->join(['scdayrpt_teams' => 'b'], 'b.ID = a.ID_Teams and b.iDayRptStatus = 10','INNER') ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER') ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER') ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT') ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT') ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT') ->where('Name_WorkGroup','=','簿册联动线01号(乙班)') ->where('a.cTechName' ,'=','簿册联动') ->group("CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END,Name_WorkGroup") ->buildSql(); $db = Db::table($A . 'a') ->field(" DISTINCT DATE_FORMAT(A.RQ, '%Y-%m-%d') AS rq, TRUNCATE(IFNULL(sum(B.簿1甲纸令数), 0) + IFNULL(sum(B1.簿1乙纸令数), 0) + IFNULL(sum(Bb.簿11甲纸令), 0) + IFNULL(sum(Bb1.簿11乙纸令), 0), 0) 纸令 ") ->join('(' . $B . ') as b', 'a.rq = b.rq','LEFT') ->join('(' . $B1 . ') as b1', 'a.rq = b1.rq','LEFT') ->join('(' . $Bb . ') as bb', 'a.rq = bb.rq','LEFT') ->join('(' . $Bb1 . ') as bb1', 'a.rq = bb1.rq','LEFT') ->group('rq') ->buildSql(); $bc = Db::table($db . ' db') ->field(" DATE_FORMAT(db.rq, '%Y-%m') as 日期, ROUND(sum(db.纸令), 0) as 簿册纸令 ")->where("db.RQ >= '{$this->qstart_time()}' AND db.RQ <= '{$this->qend_time()}' ") ->group('MONTH(db.rq)') ->select(); // 创建一个结果数组 $result=[]; $result1 = []; // 遍历第一个数组,并将数据加入结果数组 foreach ($jp as $val1) { $month = $val1['日期']; $data1 = $val1['精平纸令']; if (!isset($result[$month])) { $result[$month] = 0; // 初始化结果数组中该月份的数据为0 } if (!isset($result1[$month])) { $result1[$month] = 0; // 初始化结果数组中该月份的数据为0 } $result1[$month] += $data1; // 累加第一个数组的数据 } // 遍历第二个数组,并将数据加入结果数组 foreach ($jd as $val2) { $month = $val2['日期']; $data1 = $val2['无线胶订纸令']; if (!isset($result[$month])) { $result[$month] = 0; // 初始化结果数组中该月份的数据为0 } if (!isset($result1[$month])) { $result1[$month] = 0; // 初始化结果数组中该月份的数据为0 } $result1[$month] += $data1; // 累加第二个数组的数据 } foreach ($bc as $val2) { $month = $val2['日期']; $data1 = $val2['簿册纸令']; if (!isset($result[$month])) { $result[$month] = 0; // 初始化结果数组中该月份的数据为0 } if (!isset($result1[$month])) { $result1[$month] = 0; // 初始化结果数组中该月份的数据为0 } $result1[$month] += $data1; // 累加第二个数组的数据 } foreach($result1 as $k=>$v){ $list['categories'][]=$k; $list['series'][0]['name']='装订实物产量色令数'; $list['series'][0]['data'][]=$v; } $res['status']=0; $res['msg']=''; $res['data']=$list; $redis->set($redis_key, json_encode($result1)); // halt(json_decode($redis->get($redis_key),true)); return json_encode($result1); } //当年装订实物产量纸令->缓存调用 public function zdzl2023(){ $redis=redis(); $redis_key = md5('zdzl2023'); $A = Db::table('cpjtfk')->field("DISTINCT DATE_FORMAT(drptdate, '%Y-%m-%d') AS rq") ->union(function ($query) { $query->table('scDayRpt_Teams')->alias('b') ->field("DISTINCT DATE_FORMAT( CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i:%s') < '06:30:00' THEN DATE_SUB(b.dOnDuty, INTERVAL 1 DAY) ELSE b.dOnDuty END, '%Y-%m-%d' ) AS RQ"); }, true) ->buildSql(); $B1 = Db::table('cpjtfk') ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT') ->field(" DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq, sum(mcyd.NZWyz * iWCl / 1000) as 精1乙纸令数 ") ->whereIn('cjtmc', ['精装生产联动线','进口骑马联动','紫光骑马联动','紫光骑马联动(新)','恒山骑马联动']) ->group('drptdate,cbanzu') ->buildSql(); $rr = Db::table('scyddx')->alias('r') ->field('r.ICYDID,sum(r.NYSLS) as zl') ->group('r.ICYDID') ->buildSql(); $Bb1 = Db::table('ql_report_feedback_day')->alias('a') ->field(" CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq, ROUND(SUM( CASE WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0) THEN CASE WHEN a.cCyddxMc = '装配' OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%' THEN CASE WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END = 0 THEN c.nzdls ELSE ( CASE WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END ELSE c.nzdls END ) END ELSE 0 END ELSE CASE WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/ THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) * CASE WHEN a.cCyddxMc = '装配' OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%' THEN CASE WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END = 0 THEN c.nzdls ELSE ( CASE WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END ELSE c.nzdls END ) END ELSE 0 END ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0) END END ) , 3) 精11乙纸令 ") ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER') ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER') ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER') ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT') ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT') ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT') ->whereIn('cMachineName', ['精装联动线01号','骑马联动01号','骑马联动02号','骑马联动03号']) ->group("CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END,Name_WorkGroup") ->buildSql(); $db = Db::table($A . 'a') ->field(" DATE(A.RQ) rq, TRUNCATE(IFNULL(Bb1.精11乙纸令, 0) + IFNULL(B1.精1乙纸令数, 0), 0) 纸令数总计 ") ->join('(' . $B1 . ') as b1', 'a.rq = b1.rq','LEFT') ->join('(' . $Bb1 . ') as bb1', 'a.rq = bb1.rq','LEFT') ->buildSql(); $jp = Db::table($db . ' db') ->field(" DATE_FORMAT(db.rq, '%Y-%m') as 日期, ROUND(sum(db.纸令数总计), 0) as 精平纸令 ")->where("db.RQ >= '{$this->start_time()}' AND db.RQ <= '{$this->end_time()}' ") ->group('MONTH(db.rq)') ->select(); $B = Db::table('cpjtfk') ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT') ->field(" DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq, sum(mcyd.NZWyz * iWCl / 1000) as 马1甲纸令数 ") ->where('cpjtfk.cbanzu','=','马天尼(新)(甲班)') ->group('drptdate,cbanzu') ->buildSql(); $B1 = Db::table('cpjtfk') ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT') ->field(" DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq, sum(mcyd.NZWyz * iWCl / 1000) as 马1乙纸令数 ") ->where('cpjtfk.cbanzu','=','马天尼(新)(乙班)') ->group('drptdate,cbanzu') ->buildSql(); $C = Db::table('cpjtfk') ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT') ->field(" DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq, sum(mcyd.NZWyz * iWCl / 1000) as 马2甲纸令数 ") ->where('cpjtfk.cbanzu','=','马天尼2号(甲班)') ->group('drptdate,cbanzu') ->buildSql(); $C1 = Db::table('cpjtfk') ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT') ->field(" DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq, sum(mcyd.NZWyz * iWCl / 1000) as 马2乙纸令数 ") ->where('cpjtfk.cbanzu','=','马天尼2号(乙班)') ->group('drptdate,cbanzu') ->buildSql(); $D = Db::table('cpjtfk') ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT') ->field(" DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq, sum(mcyd.NZWyz * iWCl / 1000) as 马3甲纸令数 ") ->where('cpjtfk.cbanzu','=','无线胶订3号(甲班)') ->group('drptdate,cbanzu') ->buildSql(); $D1 = Db::table('cpjtfk') ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT') ->field(" DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq, sum(mcyd.NZWyz * iWCl / 1000) as 马3乙纸令数 ") ->where('cpjtfk.cbanzu','=','无线胶订3号(乙班)') ->group('drptdate,cbanzu') ->buildSql(); $E = Db::table('cpjtfk') ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT') ->field(" DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq, sum(mcyd.NZWyz * iWCl / 1000) as 马4甲纸令数 ") ->where('cpjtfk.cbanzu','=','无线胶订4号(甲班)') ->group('drptdate,cbanzu') ->buildSql(); $E1 = Db::table('cpjtfk') ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT') ->field(" DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq, sum(mcyd.NZWyz * iWCl / 1000) as 马4乙纸令数 ") ->where('cpjtfk.cbanzu','=','无线胶订4号(乙班)') ->group('drptdate,cbanzu') ->buildSql(); $F = Db::table('cpjtfk') ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT') ->field(" DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq, sum(mcyd.NZWyz * iWCl / 1000) as 马5甲纸令数 ") ->where('cpjtfk.cbanzu','=','无线胶订5号(甲班)') ->group('drptdate,cbanzu') ->buildSql(); $F1 = Db::table('cpjtfk') ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT') ->field(" DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq, sum(mcyd.NZWyz * iWCl / 1000) as 马5乙纸令数 ") ->where('cpjtfk.cbanzu','=','无线胶订5号(乙班)') ->group('drptdate,cbanzu') ->buildSql(); $rr = Db::table('scyddx')->alias('r') ->field('r.ICYDID,sum(r.NYSLS) as zl') ->group('r.ICYDID') ->buildSql(); $Bb = Db::table('ql_report_feedback_day')->alias('a') ->field(" CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq, ROUND(SUM( CASE WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0) THEN CASE WHEN a.cCyddxMc = '装配' OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%' THEN CASE WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END = 0 THEN c.nzdls ELSE ( CASE WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END ELSE c.nzdls END ) END ELSE 0 END ELSE CASE WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/ THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) * CASE WHEN a.cCyddxMc = '装配' OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%' THEN CASE WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END = 0 THEN c.nzdls ELSE ( CASE WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END ELSE c.nzdls END ) END ELSE 0 END ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0) END END ), 3) 马11甲纸令 ") ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER') ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER') ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER') ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT') ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT') ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT') ->where('Name_WorkGroup','=','胶订潮流1号(甲班)') ->whereIn('a.cTechName', ['胶订联动', '胶头']) ->group("CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END,Name_WorkGroup")->buildSql(); $Bb1 = Db::table('ql_report_feedback_day')->alias('a') ->field(" CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq, ROUND(SUM( CASE WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0) THEN CASE WHEN a.cCyddxMc = '装配' OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%' THEN CASE WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END = 0 THEN c.nzdls ELSE ( CASE WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END ELSE c.nzdls END ) END ELSE 0 END ELSE CASE WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/ THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) * CASE WHEN a.cCyddxMc = '装配' OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%' THEN CASE WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END = 0 THEN c.nzdls ELSE ( CASE WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END ELSE c.nzdls END ) END ELSE 0 END ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0) END END ) , 3) 马11乙纸令 ") ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER') ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER') ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER') ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT') ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT') ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT') ->where('Name_WorkGroup','=','胶订潮流1号(乙班)') ->whereIn('a.cTechName', ['胶订联动', '胶头']) ->group("CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END,Name_WorkGroup") ->buildSql(); $CC = Db::table('ql_report_feedback_day')->alias('a') ->field(" CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq, ROUND(SUM( CASE WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0) THEN CASE WHEN a.cCyddxMc = '装配' OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%' THEN CASE WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END = 0 THEN c.nzdls ELSE ( CASE WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END ELSE c.nzdls END ) END ELSE 0 END ELSE CASE WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/ THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) * CASE WHEN a.cCyddxMc = '装配' OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%' THEN CASE WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END = 0 THEN c.nzdls ELSE ( CASE WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END ELSE c.nzdls END ) END ELSE 0 END ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0) END END ) , 3) 马22甲纸令 ") ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER') ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER') ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER') ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT') ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT') ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT') ->where('Name_WorkGroup','=','胶订潮流2号(甲班)') ->whereIn('a.cTechName', ['胶订联动', '胶头']) ->group("CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END,Name_WorkGroup") ->buildSql(); $CC1 = Db::table('ql_report_feedback_day')->alias('a') ->field(" CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq, ROUND(SUM( CASE WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0) THEN CASE WHEN a.cCyddxMc = '装配' OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%' THEN CASE WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END = 0 THEN c.nzdls ELSE ( CASE WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END ELSE c.nzdls END ) END ELSE 0 END ELSE CASE WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/ THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) * CASE WHEN a.cCyddxMc = '装配' OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%' THEN CASE WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END = 0 THEN c.nzdls ELSE ( CASE WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END ELSE c.nzdls END ) END ELSE 0 END ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0) END END ) , 3) 马22乙纸令 ") ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER') ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER') ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER') ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT') ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT') ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT') ->where('Name_WorkGroup','=','胶订潮流2号(乙班)') ->whereIn('a.cTechName', ['胶订联动', '胶头']) ->group("CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END,Name_WorkGroup") ->buildSql(); $EE = Db::table('ql_report_feedback_day')->alias('a') ->field(" CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq, ROUND(SUM( CASE WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0) THEN CASE WHEN a.cCyddxMc = '装配' OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%' THEN CASE WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END = 0 THEN c.nzdls ELSE ( CASE WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END ELSE c.nzdls END ) END ELSE 0 END ELSE CASE WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/ THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) * CASE WHEN a.cCyddxMc = '装配' OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%' THEN CASE WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END = 0 THEN c.nzdls ELSE ( CASE WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END ELSE c.nzdls END ) END ELSE 0 END ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0) END END ) , 3) 马33甲纸令 ") ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER') ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER') ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER') ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT') ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT') ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT') ->where('Name_WorkGroup','=','胶订精工1号(甲班)') ->whereIn('a.cTechName', ['胶订联动', '胶头']) ->group("CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END,Name_WorkGroup") ->buildSql(); $EE1 = Db::table('ql_report_feedback_day')->alias('a') ->field(" CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq, ROUND(SUM( CASE WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0) THEN CASE WHEN a.cCyddxMc = '装配' OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%' THEN CASE WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END = 0 THEN c.nzdls ELSE ( CASE WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END ELSE c.nzdls END ) END ELSE 0 END ELSE CASE WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/ THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) * CASE WHEN a.cCyddxMc = '装配' OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%' THEN CASE WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END = 0 THEN c.nzdls ELSE ( CASE WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END ELSE c.nzdls END ) END ELSE 0 END ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0) END END ) , 3) 马33乙纸令 ") ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER') ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER') ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER') ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT') ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT') ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT') ->where('Name_WorkGroup','=','胶订精工1号(乙班)') ->whereIn('a.cTechName', ['胶订联动', '胶头']) ->group("CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END,Name_WorkGroup") ->buildSql(); $HH = Db::table('ql_report_feedback_day')->alias('a') ->field(" CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq, ROUND(SUM( CASE WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0) THEN CASE WHEN a.cCyddxMc = '装配' OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%' THEN CASE WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END = 0 THEN c.nzdls ELSE ( CASE WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END ELSE c.nzdls END ) END ELSE 0 END ELSE CASE WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/ THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) * CASE WHEN a.cCyddxMc = '装配' OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%' THEN CASE WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END = 0 THEN c.nzdls ELSE ( CASE WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END ELSE c.nzdls END ) END ELSE 0 END ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0) END END ) , 3) 马44甲纸令 ") ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER') ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER') ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER') ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT') ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT') ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT') ->where('Name_WorkGroup','=','胶订精密达1号(甲班)') ->whereIn('a.cTechName', ['胶订联动', '胶头']) ->group("CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END,Name_WorkGroup") ->buildSql(); $HH1 = Db::table('ql_report_feedback_day')->alias('a') ->field(" CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq, ROUND(SUM( CASE WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0) THEN CASE WHEN a.cCyddxMc = '装配' OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%' THEN CASE WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END = 0 THEN c.nzdls ELSE ( CASE WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END ELSE c.nzdls END ) END ELSE 0 END ELSE CASE WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/ THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) * CASE WHEN a.cCyddxMc = '装配' OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%' THEN CASE WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END = 0 THEN c.nzdls ELSE ( CASE WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END ELSE c.nzdls END ) END ELSE 0 END ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0) END END ) , 3) 马44乙纸令 ") ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER') ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER') ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER') ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT') ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT') ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT') ->where('Name_WorkGroup','=','胶订精密达1号(乙班)') ->whereIn('a.cTechName', ['胶订联动', '胶头']) ->group("CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END,Name_WorkGroup") ->buildSql(); $XX = Db::table('ql_report_feedback_day')->alias('a') ->field(" CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq, ROUND(SUM( CASE WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0) THEN CASE WHEN a.cCyddxMc = '装配' OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%' THEN CASE WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END = 0 THEN c.nzdls ELSE ( CASE WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END ELSE c.nzdls END ) END ELSE 0 END ELSE CASE WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/ THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) * CASE WHEN a.cCyddxMc = '装配' OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%' THEN CASE WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END = 0 THEN c.nzdls ELSE ( CASE WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END ELSE c.nzdls END ) END ELSE 0 END ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0) END END ) , 3) 马55甲纸令 ") ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER') ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER') ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER') ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT') ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT') ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT') ->where('Name_WorkGroup','=','胶订精密达2号(甲班)') ->whereIn('a.cTechName', ['胶订联动', '胶头']) ->group("CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END,Name_WorkGroup") ->buildSql(); $XXX2 = Db::table('ql_report_feedback_day')->alias('a') ->field(" CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq, ROUND(SUM( CASE WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0) THEN CASE WHEN a.cCyddxMc = '装配' OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%' THEN CASE WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END = 0 THEN c.nzdls ELSE ( CASE WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END ELSE c.nzdls END ) END ELSE 0 END ELSE CASE WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/ THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) * CASE WHEN a.cCyddxMc = '装配' OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%' THEN CASE WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END = 0 THEN c.nzdls ELSE ( CASE WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END ELSE c.nzdls END ) END ELSE 0 END ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0) END END ) , 3) 马66甲纸令 ") ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER') ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER') ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER') ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT') ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT') ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT') ->where('Name_WorkGroup','=','胶订精密达3号(甲班)') ->whereIn('a.cTechName', ['胶订联动', '胶头']) ->group("CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END,Name_WorkGroup") ->buildSql(); $XXX3 = Db::table('ql_report_feedback_day')->alias('a') ->field(" CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq, ROUND(SUM( CASE WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0) THEN CASE WHEN a.cCyddxMc = '装配' OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%' THEN CASE WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END = 0 THEN c.nzdls ELSE ( CASE WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END ELSE c.nzdls END ) END ELSE 0 END ELSE CASE WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/ THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) * CASE WHEN a.cCyddxMc = '装配' OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%' THEN CASE WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END = 0 THEN c.nzdls ELSE ( CASE WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END ELSE c.nzdls END ) END ELSE 0 END ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0) END END ) , 3) 马77甲纸令 ") ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER') ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER') ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER') ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT') ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT') ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT') ->where('Name_WorkGroup','=','胶钉精密达3号(甲班)') ->whereIn('a.cTechName', ['胶订联动', '胶头']) ->group("CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END,Name_WorkGroup") ->buildSql(); $XX1 = Db::table('ql_report_feedback_day')->alias('a') ->field(" CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq, ROUND(SUM( CASE WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0) THEN CASE WHEN a.cCyddxMc = '装配' OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%' THEN CASE WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END = 0 THEN c.nzdls ELSE ( CASE WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END ELSE c.nzdls END ) END ELSE 0 END ELSE CASE WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/ THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) * CASE WHEN a.cCyddxMc = '装配' OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%' THEN CASE WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END = 0 THEN c.nzdls ELSE ( CASE WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END ELSE c.nzdls END ) END ELSE 0 END ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0) END END ) , 3) 马55乙纸令 ") ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER') ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER') ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER') ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT') ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT') ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT') ->where('Name_WorkGroup','=','胶订精密达2号(乙班)') ->whereIn('a.cTechName', ['胶订联动', '胶头']) ->group("CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END,Name_WorkGroup") ->buildSql(); $XX2 = Db::table('ql_report_feedback_day')->alias('a') ->field(" CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq, ROUND(SUM( CASE WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0) THEN CASE WHEN a.cCyddxMc = '装配' OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%' THEN CASE WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END = 0 THEN c.nzdls ELSE ( CASE WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END ELSE c.nzdls END ) END ELSE 0 END ELSE CASE WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/ THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) * CASE WHEN a.cCyddxMc = '装配' OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%' THEN CASE WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END = 0 THEN c.nzdls ELSE ( CASE WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END ELSE c.nzdls END ) END ELSE 0 END ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0) END END ) , 3) 马66乙纸令 ") ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER') ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER') ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER') ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT') ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT') ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT') ->where('Name_WorkGroup','=','胶订精密达3号(乙班)') ->whereIn('a.cTechName', ['胶订联动', '胶头']) ->group("CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END,Name_WorkGroup") ->buildSql(); $XX3 = Db::table('ql_report_feedback_day')->alias('a') ->field(" CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq, ROUND(SUM( CASE WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0) THEN CASE WHEN a.cCyddxMc = '装配' OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%' THEN CASE WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END = 0 THEN c.nzdls ELSE ( CASE WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END ELSE c.nzdls END ) END ELSE 0 END ELSE CASE WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/ THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) * CASE WHEN a.cCyddxMc = '装配' OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%' THEN CASE WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END = 0 THEN c.nzdls ELSE ( CASE WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END ELSE c.nzdls END ) END ELSE 0 END ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0) END END ) , 3) 马77乙纸令 ") ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER') ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER') ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER') ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT') ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT') ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT') ->where('Name_WorkGroup','=','胶钉精密达3号(乙班)') ->whereIn('a.cTechName', ['胶订联动', '胶头']) ->group("CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END,Name_WorkGroup") ->buildSql(); $db = Db::table($A . 'a') ->field(" DISTINCT DATE(A.RQ) rq, TRUNCATE(IFNULL(sum(b.马1甲纸令数), 0) + IFNULL(sum(b1.马1乙纸令数), 0) + IFNULL(sum(C.马2甲纸令数), 0) + IFNULL(sum(C1.马2乙纸令数), 0) + IFNULL(sum(D.马3甲纸令数), 0) + IFNULL(sum(D1.马3乙纸令数), 0) + IFNULL(sum(E.马4甲纸令数), 0) + IFNULL(sum(E1.马4乙纸令数), 0) + IFNULL(sum(f.马5甲纸令数), 0) + IFNULL(sum(f1.马5乙纸令数), 0) + IFNULL(sum(Bb.马11甲纸令), 0) + IFNULL(sum(cc.马22甲纸令), 0) + IFNULL(sum(ee.马33甲纸令), 0) + IFNULL(sum(hh.马44甲纸令), 0) + IFNULL(sum(xx.马55甲纸令), 0) + IFNULL(sum(Bb1.马11乙纸令), 0) + IFNULL(sum(cc1.马22乙纸令), 0) + IFNULL(sum(ee1.马33乙纸令), 0) + IFNULL(sum(hh1.马44乙纸令), 0) + IFNULL(sum(xx1.马55乙纸令), 0) + IFNULL(sum(xxx2.马66甲纸令), 0) + IFNULL(sum(xx2.马66乙纸令), 0) + IFNULL(sum(xxx3.马77甲纸令), 0) + IFNULL(sum(xx3.马77乙纸令), 0), 0) 纸令数总计 ") ->join('(' . $B . ') as b', ' a.rq = b.rq','LEFT') ->join('(' . $B1 . ') as b1', 'a.rq = b1.rq','LEFT') ->join('(' . $C . ') as c', 'a.rq = c.rq','LEFT') ->join('(' . $C1 . ') as c1', 'a.rq = c1.rq','LEFT') ->join('(' . $D . ') as d', 'a.rq = d.rq','LEFT') ->join('(' . $D1 . ') as d1', 'a.rq = d1.rq','LEFT') ->join('(' . $E . ') as e', 'a.rq = e.rq','LEFT') ->join('(' . $E1 . ') as e1', 'a.rq = e1.rq','LEFT') ->join('(' . $F . ') as f', 'a.rq = f.rq','LEFT') ->join('(' . $F1 . ') as f1', 'a.rq = f1.rq','LEFT') ->join('(' . $Bb . ') as bb', 'a.rq = bb.rq','LEFT') ->join('(' . $Bb1 . ') as bb1', 'a.rq = bb1.rq','LEFT') ->join('(' . $CC . ') as cc', 'a.rq = cc.rq','LEFT') ->join('(' . $CC1 . ') as cc1', 'a.rq = cc1.rq','LEFT') ->join('(' . $EE . ') as ee', 'a.rq = ee.rq','LEFT') ->join('(' . $EE1 . ') as ee1', 'a.rq = ee1.rq','LEFT') ->join('(' . $HH . ') as hh', 'a.rq = hh.rq','LEFT') ->join('(' . $HH1 . ') as hh1', 'a.rq = hh1.rq','LEFT') ->join('(' . $XX . ') as xx', 'a.rq = xx.rq','LEFT') ->join('(' . $XX1 . ') as xx1', 'a.rq = xx1.rq','LEFT') ->join('(' . $XX2 . ') as xx2', 'a.rq = xx2.rq','LEFT') ->join('(' . $XX3 . ') as xx3', 'a.rq = xx3.rq','LEFT') ->join('(' . $XXX2 . ') as xxx2', 'a.rq = xxx2.rq','LEFT') ->join('(' . $XXX3 . ') as xxx3', 'a.rq = xxx3.rq','LEFT') ->group('rq') ->buildSql(); $jd = Db::table($db . ' db') ->field(" DATE_FORMAT(db.rq, '%Y-%m') as 日期, ROUND(SUM(db.纸令数总计), 0) AS 无线胶订纸令 ") ->where("db.RQ >= '{$this->start_time()}'AND db.RQ <= '{$this->end_time()}' ") ->group('MONTH(db.rq)') ->select(); /** * 簿册联动线纸令 */ $B = Db::table('cpjtfk') ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT') ->field(" DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq, sum(mcyd.NZWyz * iWCl / 1000) AS 簿1甲纸令数 ") ->where('cbanzu','=','簿册机1号(甲班)') ->group('drptdate,cbanzu') ->buildSql(); $B1 = Db::table('cpjtfk') ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT') ->field(" DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq, sum(mcyd.NZWyz * iWCl / 1000) AS 簿1乙纸令数 ") ->where('cbanzu','=','簿册机1号(乙班)') ->group('drptdate,cbanzu') ->buildSql(); $rr = Db::table('scyddx')->alias('r') ->field('r.ICYDID,sum(r.NYSLS) as zl') ->group('r.ICYDID') ->buildSql(); $Bb = Db::table('ql_report_feedback_day')->alias('a') ->field(" CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq, ROUND(SUM( CASE WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0) THEN CASE WHEN a.cCyddxMc = '装配' OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%' THEN CASE WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END = 0 THEN c.nzdls ELSE ( CASE WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END ELSE c.nzdls END ) END ELSE 0 END ELSE CASE WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/ THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) * CASE WHEN a.cCyddxMc = '装配' OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%' THEN CASE WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END = 0 THEN c.nzdls ELSE ( CASE WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END ELSE c.nzdls END ) END ELSE 0 END ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0) END END ) , 3) 簿11甲纸令 ") ->join(['scdayrpt_teams' => 'b'], 'b.ID = a.ID_Teams and b.iDayRptStatus = 10','INNER') ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER') ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER') ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT') ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT') ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT') ->where('Name_WorkGroup','=','簿册联动线01号(甲班)') ->where('a.cTechName' ,'=','簿册联动') ->group("CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END,Name_WorkGroup") ->buildSql(); $Bb1 = Db::table('ql_report_feedback_day')->alias('a') ->field(" CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq, ROUND(SUM( CASE WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0) THEN CASE WHEN a.cCyddxMc = '装配' OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%' THEN CASE WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END = 0 THEN c.nzdls ELSE ( CASE WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END ELSE c.nzdls END ) END ELSE 0 END ELSE CASE WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/ THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) * CASE WHEN a.cCyddxMc = '装配' OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%' THEN CASE WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END = 0 THEN c.nzdls ELSE ( CASE WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END ELSE c.nzdls END ) END ELSE 0 END ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0) END END ) , 3) 簿11乙纸令 ") ->join(['scdayrpt_teams' => 'b'], 'b.ID = a.ID_Teams and b.iDayRptStatus = 10','INNER') ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER') ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER') ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT') ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT') ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT') ->where('Name_WorkGroup','=','簿册联动线01号(乙班)') ->where('a.cTechName' ,'=','簿册联动') ->group("CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END,Name_WorkGroup") ->buildSql(); $db = Db::table($A . 'a') ->field(" DISTINCT DATE_FORMAT(A.RQ, '%Y-%m-%d') AS rq, TRUNCATE(IFNULL(sum(B.簿1甲纸令数), 0) + IFNULL(sum(B1.簿1乙纸令数), 0) + IFNULL(sum(Bb.簿11甲纸令), 0) + IFNULL(sum(Bb1.簿11乙纸令), 0), 0) 纸令 ") ->join('(' . $B . ') as b', 'a.rq = b.rq','LEFT') ->join('(' . $B1 . ') as b1', 'a.rq = b1.rq','LEFT') ->join('(' . $Bb . ') as bb', 'a.rq = bb.rq','LEFT') ->join('(' . $Bb1 . ') as bb1', 'a.rq = bb1.rq','LEFT') ->group('rq') ->buildSql(); $bc = Db::table($db . ' db') ->field(" DATE_FORMAT(db.rq, '%Y-%m') as 日期, ROUND(sum(db.纸令), 0) as 簿册纸令 ")->where("db.RQ >= '{$this->start_time()}' AND db.RQ <= '{$this->end_time()}' ") ->group('MONTH(db.rq)') ->select(); // 创建一个结果数组 $result=[]; $result1 = []; // 遍历第一个数组,并将数据加入结果数组 foreach ($jp as $val1) { $month = $val1['日期']; $data1 = $val1['精平纸令']; if (!isset($result[$month])) { $result[$month] = 0; // 初始化结果数组中该月份的数据为0 } if (!isset($result1[$month])) { $result1[$month] = 0; // 初始化结果数组中该月份的数据为0 } $result1[$month] += $data1; // 累加第一个数组的数据 } // 遍历第二个数组,并将数据加入结果数组 foreach ($jd as $val2) { $month = $val2['日期']; $data1 = $val2['无线胶订纸令']; if (!isset($result[$month])) { $result[$month] = 0; // 初始化结果数组中该月份的数据为0 } if (!isset($result1[$month])) { $result1[$month] = 0; // 初始化结果数组中该月份的数据为0 } $result1[$month] += $data1; // 累加第二个数组的数据 } foreach ($bc as $val2) { $month = $val2['日期']; $data1 = $val2['簿册纸令']; if (!isset($result[$month])) { $result[$month] = 0; // 初始化结果数组中该月份的数据为0 } if (!isset($result1[$month])) { $result1[$month] = 0; // 初始化结果数组中该月份的数据为0 } $result1[$month] += $data1; // 累加第二个数组的数据 } foreach($result1 as $k=>$v){ $list['categories'][]=$k; $list['series'][0]['name']='装订实物产量色令数'; $list['series'][0]['data'][]=$v; } $res['status']=0; $res['msg']=''; $res['data']=$list; $redis->set($redis_key, json_encode($result1)); // halt(json_decode($redis->get($redis_key),true)); return json_encode($result1); } //前年装订实物产量纸令->缓存调用 public function zdzlTwoYear(){ $redis=redis(); $redis_key = md5('zdzlTwoYear'); $A = Db::table('cpjtfk')->field("DISTINCT DATE_FORMAT(drptdate, '%Y-%m-%d') AS rq") ->union(function ($query) { $query->table('scDayRpt_Teams')->alias('b') ->field("DISTINCT DATE_FORMAT( CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i:%s') < '06:30:00' THEN DATE_SUB(b.dOnDuty, INTERVAL 1 DAY) ELSE b.dOnDuty END, '%Y-%m-%d' ) AS RQ"); }, true) ->buildSql(); $B1 = Db::table('cpjtfk') ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT') ->field(" DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq, sum(mcyd.NZWyz * iWCl / 1000) as 精1乙纸令数 ") ->whereIn('cjtmc', ['精装生产联动线','进口骑马联动','紫光骑马联动','紫光骑马联动(新)','恒山骑马联动']) ->group('drptdate,cbanzu') ->buildSql(); $rr = Db::table('scyddx')->alias('r') ->field('r.ICYDID,sum(r.NYSLS) as zl') ->group('r.ICYDID') ->buildSql(); $Bb1 = Db::table('ql_report_feedback_day')->alias('a') ->field(" CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq, ROUND(SUM( CASE WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0) THEN CASE WHEN a.cCyddxMc = '装配' OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%' THEN CASE WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END = 0 THEN c.nzdls ELSE ( CASE WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END ELSE c.nzdls END ) END ELSE 0 END ELSE CASE WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/ THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) * CASE WHEN a.cCyddxMc = '装配' OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%' THEN CASE WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END = 0 THEN c.nzdls ELSE ( CASE WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END ELSE c.nzdls END ) END ELSE 0 END ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0) END END ) , 3) 精11乙纸令 ") ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER') ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER') ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER') ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT') ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT') ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT') ->whereIn('cMachineName', ['精装联动线01号','骑马联动01号','骑马联动02号','骑马联动03号']) ->group("CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END,Name_WorkGroup") ->buildSql(); $db = Db::table($A . 'a') ->field(" DATE(A.RQ) rq, TRUNCATE(IFNULL(Bb1.精11乙纸令, 0) + IFNULL(B1.精1乙纸令数, 0), 0) 纸令数总计 ") ->join('(' . $B1 . ') as b1', 'a.rq = b1.rq','LEFT') ->join('(' . $Bb1 . ') as bb1', 'a.rq = bb1.rq','LEFT') ->buildSql(); $jp = Db::table($db . ' db') ->field(" DATE_FORMAT(db.rq, '%Y-%m') as 日期, ROUND(sum(db.纸令数总计), 0) as 精平纸令 ")->where("db.RQ >= '{$this->start_time()}' AND db.RQ <= '{$this->end_time()}' ") ->group('MONTH(db.rq)') ->select(); $B = Db::table('cpjtfk') ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT') ->field(" DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq, sum(mcyd.NZWyz * iWCl / 1000) as 马1甲纸令数 ") ->where('cpjtfk.cbanzu','=','马天尼(新)(甲班)') ->group('drptdate,cbanzu') ->buildSql(); $B1 = Db::table('cpjtfk') ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT') ->field(" DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq, sum(mcyd.NZWyz * iWCl / 1000) as 马1乙纸令数 ") ->where('cpjtfk.cbanzu','=','马天尼(新)(乙班)') ->group('drptdate,cbanzu') ->buildSql(); $C = Db::table('cpjtfk') ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT') ->field(" DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq, sum(mcyd.NZWyz * iWCl / 1000) as 马2甲纸令数 ") ->where('cpjtfk.cbanzu','=','马天尼2号(甲班)') ->group('drptdate,cbanzu') ->buildSql(); $C1 = Db::table('cpjtfk') ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT') ->field(" DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq, sum(mcyd.NZWyz * iWCl / 1000) as 马2乙纸令数 ") ->where('cpjtfk.cbanzu','=','马天尼2号(乙班)') ->group('drptdate,cbanzu') ->buildSql(); $D = Db::table('cpjtfk') ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT') ->field(" DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq, sum(mcyd.NZWyz * iWCl / 1000) as 马3甲纸令数 ") ->where('cpjtfk.cbanzu','=','无线胶订3号(甲班)') ->group('drptdate,cbanzu') ->buildSql(); $D1 = Db::table('cpjtfk') ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT') ->field(" DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq, sum(mcyd.NZWyz * iWCl / 1000) as 马3乙纸令数 ") ->where('cpjtfk.cbanzu','=','无线胶订3号(乙班)') ->group('drptdate,cbanzu') ->buildSql(); $E = Db::table('cpjtfk') ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT') ->field(" DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq, sum(mcyd.NZWyz * iWCl / 1000) as 马4甲纸令数 ") ->where('cpjtfk.cbanzu','=','无线胶订4号(甲班)') ->group('drptdate,cbanzu') ->buildSql(); $E1 = Db::table('cpjtfk') ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT') ->field(" DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq, sum(mcyd.NZWyz * iWCl / 1000) as 马4乙纸令数 ") ->where('cpjtfk.cbanzu','=','无线胶订4号(乙班)') ->group('drptdate,cbanzu') ->buildSql(); $F = Db::table('cpjtfk') ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT') ->field(" DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq, sum(mcyd.NZWyz * iWCl / 1000) as 马5甲纸令数 ") ->where('cpjtfk.cbanzu','=','无线胶订5号(甲班)') ->group('drptdate,cbanzu') ->buildSql(); $F1 = Db::table('cpjtfk') ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT') ->field(" DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq, sum(mcyd.NZWyz * iWCl / 1000) as 马5乙纸令数 ") ->where('cpjtfk.cbanzu','=','无线胶订5号(乙班)') ->group('drptdate,cbanzu') ->buildSql(); $rr = Db::table('scyddx')->alias('r') ->field('r.ICYDID,sum(r.NYSLS) as zl') ->group('r.ICYDID') ->buildSql(); $Bb = Db::table('ql_report_feedback_day')->alias('a') ->field(" CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq, ROUND(SUM( CASE WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0) THEN CASE WHEN a.cCyddxMc = '装配' OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%' THEN CASE WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END = 0 THEN c.nzdls ELSE ( CASE WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END ELSE c.nzdls END ) END ELSE 0 END ELSE CASE WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/ THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) * CASE WHEN a.cCyddxMc = '装配' OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%' THEN CASE WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END = 0 THEN c.nzdls ELSE ( CASE WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END ELSE c.nzdls END ) END ELSE 0 END ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0) END END ), 3) 马11甲纸令 ") ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER') ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER') ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER') ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT') ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT') ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT') ->where('Name_WorkGroup','=','胶订潮流1号(甲班)') ->whereIn('a.cTechName', ['胶订联动', '胶头']) ->group("CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END,Name_WorkGroup")->buildSql(); $Bb1 = Db::table('ql_report_feedback_day')->alias('a') ->field(" CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq, ROUND(SUM( CASE WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0) THEN CASE WHEN a.cCyddxMc = '装配' OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%' THEN CASE WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END = 0 THEN c.nzdls ELSE ( CASE WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END ELSE c.nzdls END ) END ELSE 0 END ELSE CASE WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/ THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) * CASE WHEN a.cCyddxMc = '装配' OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%' THEN CASE WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END = 0 THEN c.nzdls ELSE ( CASE WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END ELSE c.nzdls END ) END ELSE 0 END ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0) END END ) , 3) 马11乙纸令 ") ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER') ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER') ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER') ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT') ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT') ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT') ->where('Name_WorkGroup','=','胶订潮流1号(乙班)') ->whereIn('a.cTechName', ['胶订联动', '胶头']) ->group("CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END,Name_WorkGroup") ->buildSql(); $CC = Db::table('ql_report_feedback_day')->alias('a') ->field(" CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq, ROUND(SUM( CASE WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0) THEN CASE WHEN a.cCyddxMc = '装配' OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%' THEN CASE WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END = 0 THEN c.nzdls ELSE ( CASE WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END ELSE c.nzdls END ) END ELSE 0 END ELSE CASE WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/ THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) * CASE WHEN a.cCyddxMc = '装配' OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%' THEN CASE WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END = 0 THEN c.nzdls ELSE ( CASE WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END ELSE c.nzdls END ) END ELSE 0 END ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0) END END ) , 3) 马22甲纸令 ") ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER') ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER') ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER') ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT') ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT') ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT') ->where('Name_WorkGroup','=','胶订潮流2号(甲班)') ->whereIn('a.cTechName', ['胶订联动', '胶头']) ->group("CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END,Name_WorkGroup") ->buildSql(); $CC1 = Db::table('ql_report_feedback_day')->alias('a') ->field(" CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq, ROUND(SUM( CASE WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0) THEN CASE WHEN a.cCyddxMc = '装配' OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%' THEN CASE WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END = 0 THEN c.nzdls ELSE ( CASE WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END ELSE c.nzdls END ) END ELSE 0 END ELSE CASE WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/ THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) * CASE WHEN a.cCyddxMc = '装配' OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%' THEN CASE WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END = 0 THEN c.nzdls ELSE ( CASE WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END ELSE c.nzdls END ) END ELSE 0 END ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0) END END ) , 3) 马22乙纸令 ") ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER') ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER') ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER') ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT') ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT') ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT') ->where('Name_WorkGroup','=','胶订潮流2号(乙班)') ->whereIn('a.cTechName', ['胶订联动', '胶头']) ->group("CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END,Name_WorkGroup") ->buildSql(); $EE = Db::table('ql_report_feedback_day')->alias('a') ->field(" CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq, ROUND(SUM( CASE WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0) THEN CASE WHEN a.cCyddxMc = '装配' OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%' THEN CASE WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END = 0 THEN c.nzdls ELSE ( CASE WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END ELSE c.nzdls END ) END ELSE 0 END ELSE CASE WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/ THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) * CASE WHEN a.cCyddxMc = '装配' OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%' THEN CASE WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END = 0 THEN c.nzdls ELSE ( CASE WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END ELSE c.nzdls END ) END ELSE 0 END ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0) END END ) , 3) 马33甲纸令 ") ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER') ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER') ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER') ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT') ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT') ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT') ->where('Name_WorkGroup','=','胶订精工1号(甲班)') ->whereIn('a.cTechName', ['胶订联动', '胶头']) ->group("CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END,Name_WorkGroup") ->buildSql(); $EE1 = Db::table('ql_report_feedback_day')->alias('a') ->field(" CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq, ROUND(SUM( CASE WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0) THEN CASE WHEN a.cCyddxMc = '装配' OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%' THEN CASE WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END = 0 THEN c.nzdls ELSE ( CASE WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END ELSE c.nzdls END ) END ELSE 0 END ELSE CASE WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/ THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) * CASE WHEN a.cCyddxMc = '装配' OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%' THEN CASE WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END = 0 THEN c.nzdls ELSE ( CASE WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END ELSE c.nzdls END ) END ELSE 0 END ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0) END END ) , 3) 马33乙纸令 ") ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER') ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER') ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER') ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT') ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT') ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT') ->where('Name_WorkGroup','=','胶订精工1号(乙班)') ->whereIn('a.cTechName', ['胶订联动', '胶头']) ->group("CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END,Name_WorkGroup") ->buildSql(); $HH = Db::table('ql_report_feedback_day')->alias('a') ->field(" CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq, ROUND(SUM( CASE WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0) THEN CASE WHEN a.cCyddxMc = '装配' OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%' THEN CASE WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END = 0 THEN c.nzdls ELSE ( CASE WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END ELSE c.nzdls END ) END ELSE 0 END ELSE CASE WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/ THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) * CASE WHEN a.cCyddxMc = '装配' OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%' THEN CASE WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END = 0 THEN c.nzdls ELSE ( CASE WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END ELSE c.nzdls END ) END ELSE 0 END ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0) END END ) , 3) 马44甲纸令 ") ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER') ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER') ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER') ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT') ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT') ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT') ->where('Name_WorkGroup','=','胶订精密达1号(甲班)') ->whereIn('a.cTechName', ['胶订联动', '胶头']) ->group("CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END,Name_WorkGroup") ->buildSql(); $HH1 = Db::table('ql_report_feedback_day')->alias('a') ->field(" CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq, ROUND(SUM( CASE WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0) THEN CASE WHEN a.cCyddxMc = '装配' OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%' THEN CASE WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END = 0 THEN c.nzdls ELSE ( CASE WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END ELSE c.nzdls END ) END ELSE 0 END ELSE CASE WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/ THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) * CASE WHEN a.cCyddxMc = '装配' OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%' THEN CASE WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END = 0 THEN c.nzdls ELSE ( CASE WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END ELSE c.nzdls END ) END ELSE 0 END ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0) END END ) , 3) 马44乙纸令 ") ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER') ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER') ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER') ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT') ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT') ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT') ->where('Name_WorkGroup','=','胶订精密达1号(乙班)') ->whereIn('a.cTechName', ['胶订联动', '胶头']) ->group("CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END,Name_WorkGroup") ->buildSql(); $XX = Db::table('ql_report_feedback_day')->alias('a') ->field(" CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq, ROUND(SUM( CASE WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0) THEN CASE WHEN a.cCyddxMc = '装配' OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%' THEN CASE WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END = 0 THEN c.nzdls ELSE ( CASE WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END ELSE c.nzdls END ) END ELSE 0 END ELSE CASE WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/ THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) * CASE WHEN a.cCyddxMc = '装配' OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%' THEN CASE WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END = 0 THEN c.nzdls ELSE ( CASE WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END ELSE c.nzdls END ) END ELSE 0 END ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0) END END ) , 3) 马55甲纸令 ") ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER') ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER') ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER') ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT') ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT') ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT') ->where('Name_WorkGroup','=','胶订精密达2号(甲班)') ->whereIn('a.cTechName', ['胶订联动', '胶头']) ->group("CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END,Name_WorkGroup") ->buildSql(); $XXX2 = Db::table('ql_report_feedback_day')->alias('a') ->field(" CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq, ROUND(SUM( CASE WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0) THEN CASE WHEN a.cCyddxMc = '装配' OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%' THEN CASE WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END = 0 THEN c.nzdls ELSE ( CASE WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END ELSE c.nzdls END ) END ELSE 0 END ELSE CASE WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/ THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) * CASE WHEN a.cCyddxMc = '装配' OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%' THEN CASE WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END = 0 THEN c.nzdls ELSE ( CASE WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END ELSE c.nzdls END ) END ELSE 0 END ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0) END END ) , 3) 马66甲纸令 ") ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER') ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER') ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER') ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT') ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT') ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT') ->where('Name_WorkGroup','=','胶订精密达3号(甲班)') ->whereIn('a.cTechName', ['胶订联动', '胶头']) ->group("CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END,Name_WorkGroup") ->buildSql(); $XXX3 = Db::table('ql_report_feedback_day')->alias('a') ->field(" CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq, ROUND(SUM( CASE WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0) THEN CASE WHEN a.cCyddxMc = '装配' OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%' THEN CASE WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END = 0 THEN c.nzdls ELSE ( CASE WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END ELSE c.nzdls END ) END ELSE 0 END ELSE CASE WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/ THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) * CASE WHEN a.cCyddxMc = '装配' OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%' THEN CASE WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END = 0 THEN c.nzdls ELSE ( CASE WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END ELSE c.nzdls END ) END ELSE 0 END ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0) END END ) , 3) 马77甲纸令 ") ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER') ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER') ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER') ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT') ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT') ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT') ->where('Name_WorkGroup','=','胶钉精密达3号(甲班)') ->whereIn('a.cTechName', ['胶订联动', '胶头']) ->group("CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END,Name_WorkGroup") ->buildSql(); $XX1 = Db::table('ql_report_feedback_day')->alias('a') ->field(" CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq, ROUND(SUM( CASE WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0) THEN CASE WHEN a.cCyddxMc = '装配' OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%' THEN CASE WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END = 0 THEN c.nzdls ELSE ( CASE WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END ELSE c.nzdls END ) END ELSE 0 END ELSE CASE WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/ THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) * CASE WHEN a.cCyddxMc = '装配' OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%' THEN CASE WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END = 0 THEN c.nzdls ELSE ( CASE WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END ELSE c.nzdls END ) END ELSE 0 END ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0) END END ) , 3) 马55乙纸令 ") ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER') ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER') ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER') ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT') ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT') ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT') ->where('Name_WorkGroup','=','胶订精密达2号(乙班)') ->whereIn('a.cTechName', ['胶订联动', '胶头']) ->group("CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END,Name_WorkGroup") ->buildSql(); $XX2 = Db::table('ql_report_feedback_day')->alias('a') ->field(" CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq, ROUND(SUM( CASE WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0) THEN CASE WHEN a.cCyddxMc = '装配' OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%' THEN CASE WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END = 0 THEN c.nzdls ELSE ( CASE WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END ELSE c.nzdls END ) END ELSE 0 END ELSE CASE WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/ THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) * CASE WHEN a.cCyddxMc = '装配' OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%' THEN CASE WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END = 0 THEN c.nzdls ELSE ( CASE WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END ELSE c.nzdls END ) END ELSE 0 END ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0) END END ) , 3) 马66乙纸令 ") ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER') ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER') ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER') ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT') ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT') ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT') ->where('Name_WorkGroup','=','胶订精密达3号(乙班)') ->whereIn('a.cTechName', ['胶订联动', '胶头']) ->group("CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END,Name_WorkGroup") ->buildSql(); $XX3 = Db::table('ql_report_feedback_day')->alias('a') ->field(" CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq, ROUND(SUM( CASE WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0) THEN CASE WHEN a.cCyddxMc = '装配' OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%' THEN CASE WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END = 0 THEN c.nzdls ELSE ( CASE WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END ELSE c.nzdls END ) END ELSE 0 END ELSE CASE WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/ THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) * CASE WHEN a.cCyddxMc = '装配' OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%' THEN CASE WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END = 0 THEN c.nzdls ELSE ( CASE WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END ELSE c.nzdls END ) END ELSE 0 END ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0) END END ) , 3) 马77乙纸令 ") ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER') ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER') ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER') ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT') ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT') ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT') ->where('Name_WorkGroup','=','胶钉精密达3号(乙班)') ->whereIn('a.cTechName', ['胶订联动', '胶头']) ->group("CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END,Name_WorkGroup") ->buildSql(); $db = Db::table($A . 'a') ->field(" DISTINCT DATE(A.RQ) rq, TRUNCATE(IFNULL(sum(b.马1甲纸令数), 0) + IFNULL(sum(b1.马1乙纸令数), 0) + IFNULL(sum(C.马2甲纸令数), 0) + IFNULL(sum(C1.马2乙纸令数), 0) + IFNULL(sum(D.马3甲纸令数), 0) + IFNULL(sum(D1.马3乙纸令数), 0) + IFNULL(sum(E.马4甲纸令数), 0) + IFNULL(sum(E1.马4乙纸令数), 0) + IFNULL(sum(f.马5甲纸令数), 0) + IFNULL(sum(f1.马5乙纸令数), 0) + IFNULL(sum(Bb.马11甲纸令), 0) + IFNULL(sum(cc.马22甲纸令), 0) + IFNULL(sum(ee.马33甲纸令), 0) + IFNULL(sum(hh.马44甲纸令), 0) + IFNULL(sum(xx.马55甲纸令), 0) + IFNULL(sum(Bb1.马11乙纸令), 0) + IFNULL(sum(cc1.马22乙纸令), 0) + IFNULL(sum(ee1.马33乙纸令), 0) + IFNULL(sum(hh1.马44乙纸令), 0) + IFNULL(sum(xx1.马55乙纸令), 0) + IFNULL(sum(xxx2.马66甲纸令), 0) + IFNULL(sum(xx2.马66乙纸令), 0) + IFNULL(sum(xxx3.马77甲纸令), 0) + IFNULL(sum(xx3.马77乙纸令), 0), 0) 纸令数总计 ") ->join('(' . $B . ') as b', ' a.rq = b.rq','LEFT') ->join('(' . $B1 . ') as b1', 'a.rq = b1.rq','LEFT') ->join('(' . $C . ') as c', 'a.rq = c.rq','LEFT') ->join('(' . $C1 . ') as c1', 'a.rq = c1.rq','LEFT') ->join('(' . $D . ') as d', 'a.rq = d.rq','LEFT') ->join('(' . $D1 . ') as d1', 'a.rq = d1.rq','LEFT') ->join('(' . $E . ') as e', 'a.rq = e.rq','LEFT') ->join('(' . $E1 . ') as e1', 'a.rq = e1.rq','LEFT') ->join('(' . $F . ') as f', 'a.rq = f.rq','LEFT') ->join('(' . $F1 . ') as f1', 'a.rq = f1.rq','LEFT') ->join('(' . $Bb . ') as bb', 'a.rq = bb.rq','LEFT') ->join('(' . $Bb1 . ') as bb1', 'a.rq = bb1.rq','LEFT') ->join('(' . $CC . ') as cc', 'a.rq = cc.rq','LEFT') ->join('(' . $CC1 . ') as cc1', 'a.rq = cc1.rq','LEFT') ->join('(' . $EE . ') as ee', 'a.rq = ee.rq','LEFT') ->join('(' . $EE1 . ') as ee1', 'a.rq = ee1.rq','LEFT') ->join('(' . $HH . ') as hh', 'a.rq = hh.rq','LEFT') ->join('(' . $HH1 . ') as hh1', 'a.rq = hh1.rq','LEFT') ->join('(' . $XX . ') as xx', 'a.rq = xx.rq','LEFT') ->join('(' . $XX1 . ') as xx1', 'a.rq = xx1.rq','LEFT') ->join('(' . $XX2 . ') as xx2', 'a.rq = xx2.rq','LEFT') ->join('(' . $XX3 . ') as xx3', 'a.rq = xx3.rq','LEFT') ->join('(' . $XXX2 . ') as xxx2', 'a.rq = xxx2.rq','LEFT') ->join('(' . $XXX3 . ') as xxx3', 'a.rq = xxx3.rq','LEFT') ->group('rq') ->buildSql(); $jd = Db::table($db . ' db') ->field(" DATE_FORMAT(db.rq, '%Y-%m') as 日期, ROUND(SUM(db.纸令数总计), 0) AS 无线胶订纸令 ") ->where("db.RQ >= '{$this->qianstart_time()}'AND db.RQ <= '{$this->qianend_time()}' ") ->group('MONTH(db.rq)') ->select(); /** * 簿册联动线纸令 */ $B = Db::table('cpjtfk') ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT') ->field(" DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq, sum(mcyd.NZWyz * iWCl / 1000) AS 簿1甲纸令数 ") ->where('cbanzu','=','簿册机1号(甲班)') ->group('drptdate,cbanzu') ->buildSql(); $B1 = Db::table('cpjtfk') ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT') ->field(" DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq, sum(mcyd.NZWyz * iWCl / 1000) AS 簿1乙纸令数 ") ->where('cbanzu','=','簿册机1号(乙班)') ->group('drptdate,cbanzu') ->buildSql(); $rr = Db::table('scyddx')->alias('r') ->field('r.ICYDID,sum(r.NYSLS) as zl') ->group('r.ICYDID') ->buildSql(); $Bb = Db::table('ql_report_feedback_day')->alias('a') ->field(" CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq, ROUND(SUM( CASE WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0) THEN CASE WHEN a.cCyddxMc = '装配' OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%' THEN CASE WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END = 0 THEN c.nzdls ELSE ( CASE WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END ELSE c.nzdls END ) END ELSE 0 END ELSE CASE WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/ THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) * CASE WHEN a.cCyddxMc = '装配' OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%' THEN CASE WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END = 0 THEN c.nzdls ELSE ( CASE WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END ELSE c.nzdls END ) END ELSE 0 END ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0) END END ) , 3) 簿11甲纸令 ") ->join(['scdayrpt_teams' => 'b'], 'b.ID = a.ID_Teams and b.iDayRptStatus = 10','INNER') ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER') ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER') ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT') ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT') ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT') ->where('Name_WorkGroup','=','簿册联动线01号(甲班)') ->where('a.cTechName' ,'=','簿册联动') ->group("CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END,Name_WorkGroup") ->buildSql(); $Bb1 = Db::table('ql_report_feedback_day')->alias('a') ->field(" CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq, ROUND(SUM( CASE WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0) THEN CASE WHEN a.cCyddxMc = '装配' OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%' THEN CASE WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END = 0 THEN c.nzdls ELSE ( CASE WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END ELSE c.nzdls END ) END ELSE 0 END ELSE CASE WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/ THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) * CASE WHEN a.cCyddxMc = '装配' OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%' THEN CASE WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END = 0 THEN c.nzdls ELSE ( CASE WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END ELSE c.nzdls END ) END ELSE 0 END ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0) END END ) , 3) 簿11乙纸令 ") ->join(['scdayrpt_teams' => 'b'], 'b.ID = a.ID_Teams and b.iDayRptStatus = 10','INNER') ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER') ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER') ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT') ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT') ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT') ->where('Name_WorkGroup','=','簿册联动线01号(乙班)') ->where('a.cTechName' ,'=','簿册联动') ->group("CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END,Name_WorkGroup") ->buildSql(); $db = Db::table($A . 'a') ->field(" DISTINCT DATE_FORMAT(A.RQ, '%Y-%m-%d') AS rq, TRUNCATE(IFNULL(sum(B.簿1甲纸令数), 0) + IFNULL(sum(B1.簿1乙纸令数), 0) + IFNULL(sum(Bb.簿11甲纸令), 0) + IFNULL(sum(Bb1.簿11乙纸令), 0), 0) 纸令 ") ->join('(' . $B . ') as b', 'a.rq = b.rq','LEFT') ->join('(' . $B1 . ') as b1', 'a.rq = b1.rq','LEFT') ->join('(' . $Bb . ') as bb', 'a.rq = bb.rq','LEFT') ->join('(' . $Bb1 . ') as bb1', 'a.rq = bb1.rq','LEFT') ->group('rq') ->buildSql(); $bc = Db::table($db . ' db') ->field(" DATE_FORMAT(db.rq, '%Y-%m') as 日期, ROUND(sum(db.纸令), 0) as 簿册纸令 ")->where("db.RQ >= '{$this->qianstart_time()}' AND db.RQ <= '{$this->qianend_time()}' ") ->group('MONTH(db.rq)') ->select(); // 创建一个结果数组 $result=[]; $result1 = []; // 遍历第一个数组,并将数据加入结果数组 foreach ($jp as $val1) { $month = $val1['日期']; $data1 = $val1['精平纸令']; if (!isset($result[$month])) { $result[$month] = 0; // 初始化结果数组中该月份的数据为0 } if (!isset($result1[$month])) { $result1[$month] = 0; // 初始化结果数组中该月份的数据为0 } $result1[$month] += $data1; // 累加第一个数组的数据 } // 遍历第二个数组,并将数据加入结果数组 foreach ($jd as $val2) { $month = $val2['日期']; $data1 = $val2['无线胶订纸令']; if (!isset($result[$month])) { $result[$month] = 0; // 初始化结果数组中该月份的数据为0 } if (!isset($result1[$month])) { $result1[$month] = 0; // 初始化结果数组中该月份的数据为0 } $result1[$month] += $data1; // 累加第二个数组的数据 } foreach ($bc as $val2) { $month = $val2['日期']; $data1 = $val2['簿册纸令']; if (!isset($result[$month])) { $result[$month] = 0; // 初始化结果数组中该月份的数据为0 } if (!isset($result1[$month])) { $result1[$month] = 0; // 初始化结果数组中该月份的数据为0 } $result1[$month] += $data1; // 累加第二个数组的数据 } foreach($result1 as $k=>$v){ $list['categories'][]=$k; $list['series'][0]['name']='装订实物产量色令数'; $list['series'][0]['data'][]=$v; } $res['status']=0; $res['msg']=''; $res['data']=$list; $redis->set($redis_key, json_encode($result1)); // halt(json_decode($redis->get($redis_key),true)); return json_encode($result1); } //去年与当年--装订实物产量纸令 接口合并一起->接口调用 public function zdzl(){ $redis=redis(); $result2022=json_decode($redis->get(md5('zdzl2022')),true); $result2023=json_decode($redis->get(md5('zdzl2023')),true); $resultzdzlTwoYear=json_decode($redis->get(md5('zdzlTwoYear')),true); // 合并三年的数据 $result1 = array_merge($result2022, $result2023, $resultzdzlTwoYear); $list['categories'] = ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12']; $currentYear = date("Y"); // 当前年份 $currentMonth = date("m"); // 当前月份 $previousYear = $currentYear - 1; // 上一年 $previousQianYear = $currentYear - 2; // 前年 // 初始化三个年份的数据数组,先填充0 $list['series'][0]['name'] = $previousQianYear . '年'; $list['series'][0]['data'] = array_fill(0, 12, 0); $list['series'][1]['name'] = $previousYear . '年'; $list['series'][1]['data'] = array_fill(0, 12, 0); $list['series'][2]['name'] = $currentYear . '年'; $list['series'][2]['data'] = array_fill(0, 12, 0); foreach ($result1 as $k => $v) { $yearMonth = explode('-', $k); $year = $yearMonth[0]; $month = (int)$yearMonth[1]; if ($year == $previousQianYear) { // 如果是前两年的数据,直接赋值 $list['series'][0]['data'][$month - 1] = $v; } elseif ($year == $previousYear) { // 如果是去年的数据,直接赋值 $list['series'][1]['data'][$month - 1] = $v; } elseif ($year == $currentYear && $month <= (int)$currentMonth) { // 如果是当前年份,并且月份不超过当前月份,则赋值 $list['series'][2]['data'][$month - 1] = $v; } // 如果是当前年份但月份超过当前月份,则不处理,保持为0 } $res['status'] = 0; $res['msg'] = ''; $res['data'] = $list; return json_encode($res); } // public function zdzl(){ // $redis=redis(); // $result2022=json_decode($redis->get(md5('zdzl2022')),true); // $result2023=json_decode($redis->get(md5('zdzl2023')),true); // $resultzdzlTwoYear=json_decode($redis->get(md5('zdzlTwoYear')),true); // $result1=array_merge($result2022,$result2023,$resultzdzlTwoYear); // // $list['categories'] = ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12']; // $currentYear = date("Y"); // 当前年份 // $currentMonth = date("m"); // 当前月份 // $previousYear = $currentYear - 1; // 上一年 // // 初始化两个年份的数据数组,先填充0 // $list['series'][0]['name'] = $previousYear . '年'; // $list['series'][0]['data'] = array_fill(0, 12, 0); // $list['series'][1]['name'] = $currentYear . '年'; // $list['series'][1]['data'] = array_fill(0, $currentMonth, 0); // // foreach ($result1 as $k => $v) { // $yearMonth = explode('-', $k); // $year = $yearMonth[0]; // $month = (int)$yearMonth[1]; // // if ($year == $previousYear) { // // 如果是上一年的数据,直接赋值 // $list['series'][0]['data'][$month - 1] = $v; // } elseif ($year == $currentYear && $month <= (int)$currentMonth) { // // 如果是当前年份,并且月份不超过当前月份,则赋值 // $list['series'][1]['data'][$month - 1] = $v; // } // // 如果是当前年份但月份超过当前月份,则不处理,保持为0 // } // $res['status'] = 0; // $res['msg'] = ''; // $res['data'] = $list; // return json_encode($res); // } //年度承接量及完成百分比->缓存调用 public function ndcj_redis(){ $redis=redis(); $redis_key = md5('ndcj_redis'); $name='年度承接产量(万色令)'; $yu=Db::name('business')->where('name',$name)->value('year_target'); $result = Db::query("SELECT round( M.总色令/$yu*100,0) 色令百分比,round( m.总色令) 色令,$yu 常量, year(M.rq) 年度 FROM (SELECT t5.rq as rq,sum(t5.sl)/10000 as 总色令,sum(t5.zl) as 总纸令 FROM ( SELECT DATE_FORMAT( dcyrq, '%Y-%m-%d' ) as rq,sum(objmatier.nyssl) as sl,sum(objmatier.nysls) as zl FROM `mcyd` `ord` LEFT JOIN (( SELECT icydid,sum(nyssl) as nyssl,sum(nysls) as nysls FROM `scyddx` `objmatier` GROUP BY `icydid` )) as objmatier ON `ord`.`icydid`=`objmatier`.`icydid` WHERE `ord`.`icydstate` > 0 GROUP BY `rq` ) t5 WHERE ( t5.RQ >= '{$this->start_time()}'AND t5.RQ <= '{$this->end_time()}' ) GROUP BY year(t5.rq) ) M"); // WHERE `ord`.`icydstate` > 0 and chy != '集团教材外' GROUP BY `rq` ) t5 WHERE ( t5.RQ >= '{$this->start_time()}'AND t5.RQ <= '{$this->end_time()}' ) foreach ($result as $v) { $list[0]['name'] = ' '; $list[0]['value'] = round($v['色令']); $list[1]['name'] = ' '; $list[1]['value'] = round($v['常量']); $list[2]['name'] = ' '; $list[2]['value'] = round($v['色令百分比']); } $res['status'] = 0; $res['msg'] = ''; $res['data'] = $list; $redis->set($redis_key, json_encode($res)); // halt(json_decode($redis->get($redis_key),true)); return json_encode($res); } //年度承接量及完成百分比->接口调用 public function ndcj(){ $redis=redis(); $redis_key = md5('ndcj_redis'); $redis_data = $redis->get($redis_key); return $redis_data; } //完成实物产量色令数及百分比->缓存调用 public function wcsw_redis(){ $redis=redis(); $redis_key = md5('wcsw_redis'); $name='年度完成实物产量(万色令)'; $yu=Db::name('business')->where('name',$name)->value('year_target'); $result = Db::query("SELECT round(sum(m.`印刷实物产量色令数`)/$yu*100,0) 完成率,round(sum(m.`印刷实物产量色令数`)) 色令数求和,$yu 常量 from (SELECT ROUND((SUM( db.nBBSL )+SUM( db.nFourColorSL )+SUM( db.nnRotationSL ))/10000,2) AS '印刷实物产量色令数' FROM (SELECT DISTINCT A.RQ,h.nBBSL AS nBBSL,B.nFourColorSL AS nFourColorSL,P.nnRotationSL AS nnRotationSL FROM (SELECT DISTINCT drptrq AS RQ FROM `bzysdayrpt` UNION ( SELECT DISTINCT b.dOnduty FROM `ql_report_feedback_day` `a` INNER JOIN `scdayrpt_teams` `b` ON `b`.`ID`=`a`.`ID_Teams` ) )A LEFT JOIN (( SELECT rq,SUM( iSjys ) nFourColorsTotal,COUNT( 1 ) nFourColorPZ, SUM( fsjsl ) nFourColorSL FROM ( SELECT drptrq AS rq,`iSjys`,`fsjsl` FROM `bzysdayrpt` WHERE `cbzmc` IN ('四色机2号(甲班)','四色机2号(乙班)','海德堡(甲班)','海德堡1号(甲班)','海德堡(乙班)','海德堡1号(乙班)','海德堡5+1 1号(甲班)','海德堡5+1 1号(乙班)','三菱机1(甲班)','三菱机1(乙班)','三菱机2(甲班)','三菱机2(乙班)','小森八色(甲班)','小森八色(乙班)') UNION ALL ( SELECT `b`.`dOnduty`,`a`.`nAmount`,`a`.`nsl` FROM `ql_report_feedback_day` `a` INNER JOIN `scdayrpt_teams` `b` ON `b`.`ID`=`a`.`ID_Teams` WHERE `cMachineName` IN ('四色机02号','四色机02号机','海德堡01号','海德堡01号机','海德堡5+L 01号','海德堡5+L 01号机','三菱机01号','三菱机01号机','三菱机02号','三菱机02号机','小森八色01号','小森八色01号机','小森八色02号机') ) )T GROUP BY `rq` )) as B ON `A`.`RQ`=`B`.`rq` LEFT JOIN (( SELECT rq,SUM( iSjys ) nBBTotal,COUNT( 1 ) nBBPZ,SUM( fsjsl ) nBBSL FROM ( SELECT drptrq AS rq,`iSjys`,`fsjsl` FROM `bzysdayrpt` WHERE `cbzmc` IN ('BB机1号(甲班)','BB机1号(乙班)','BB机2号(甲班)','BB机2号(乙班)','BB机3号(甲班)','BB机3号(乙班)','BB机4号(甲班)','BB机4号(乙班)','BB机5号(甲班)','BB机5号(乙班)','BB机6号(甲班)','BB机6号(乙班)','05机1号(甲班)','05机1号(乙班)','海德堡SM1号机(甲班)','海德堡SM1号机(乙班)','海德堡SM2号机(甲班)','海德堡SM2号机(乙班)') UNION ALL ( SELECT `b`.`dOnduty`,`a`.`nAmount`,`a`.`nsl` FROM `ql_report_feedback_day` `a` INNER JOIN `scdayrpt_teams` `b` ON `b`.`ID`=`a`.`ID_Teams` WHERE `cMachineName` IN ('BB机01号','BB机02号','BB机04号','BB机05号','BB机06号','海德堡SM1号','海德堡SM2号') ) )T GROUP BY `rq` )) as h ON `A`.`RQ`=`h`.`rq` LEFT JOIN (( SELECT rq,SUM( iSjys ) nRotationTotal,COUNT( 1 ) nRotationPZ,SUM( fsjsl ) nnRotationSL FROM ( SELECT drptrq AS rq,`iSjys`,`fsjsl` FROM `bzysdayrpt` WHERE `cbzmc` IN ('小森LW-35(甲班)','小森LW-35(乙班)','小森2号机(甲班)','小森2号机(乙班)','大规小森3号机(甲班)','大规小森3号机(乙班)','三菱商轮(甲班)','三菱商轮(乙班)','三菱商轮2号(甲班)','三菱商轮2号(乙班)','204胶轮(甲班)','204胶轮(乙班)','V30(甲班)','V30(乙班)','报刊轮转(甲班)','报刊轮转(乙班)') UNION ALL ( SELECT `b`.`dOnduty`,`a`.`nAmount`,`a`.`nsl` FROM `ql_report_feedback_day` `a` INNER JOIN `scdayrpt_teams` `b` ON `b`.`ID`=`a`.`ID_Teams` WHERE `cMachineName` IN ('标规小森商轮1号','标规小森商轮2号','大规小森商轮1号','大规三菱商轮1号','标规三菱商轮1号','标规三菱商轮2号','标规204胶轮1号','大规海德堡1号','标规报轮1号') ) )T GROUP BY `rq` )) as P ON `A`.`RQ`=`P`.`rq` ) db WHERE (db.RQ >= '{$this->start_time()}'AND db.RQ <= '{$this->end_time()}') GROUP BY MONTH(db.RQ) ORDER BY `db`.`RQ` ASC ) m"); if($result){ foreach ($result as $v) { $list[0]['name'] = ' '; $list[0]['value'] = round($v['色令数求和']); $list[1]['name'] = ' '; $list[1]['value'] = round($v['常量']); $list[2]['name'] = ' '; $list[2]['value'] = round($v['完成率']); } $res['status'] = 0; $res['msg'] = ''; $res['data'] = $list; $redis->set($redis_key, json_encode($res)); // halt(json_decode($redis->get($redis_key),true)); return json_encode($res); } } //完成实物产量色令数及百分比->接口调用 public function wcsw(){ $redis=redis(); $redis_key = md5('wcsw_redis'); $redis_data = $redis->get($redis_key); return $redis_data; die; $redis=redis(); // $redis_key = md5('wcsw_redis'); // $redis_key = md5('yssl_redis'); // $redis_data = $redis->get($redis_key); // $result=json_decode($redis_data,true)['data']['series'][1]['data']; $result = json_decode($redis->get(md5('yssl_redis')),true)['data']['series'][1]['data']; $name='年度完成实物产量(万色令)'; $yu=Db::name('business')->where('name',$name)->value('year_target'); $num=0; foreach($result as $v){ $num+=$v; } $num=$num/10000; $list[0]['name'] = ' '; $list[0]['value'] = round($num); $list[1]['name'] = ' '; $list[1]['value'] = round($yu); $list[2]['name'] = ' '; $list[2]['value'] = round($num/$yu*100); $res['status'] = 0; $res['msg'] = ''; $res['data'] = $list; return json_encode($res); // return $redis_data; } //年度销售额及百分比->缓存调用 public function ndxs_redis(){ $redis=redis(); $redis_key = md5('ndxs_redis'); $name='年度销售额(万元)'; $yu=Db::name('business')->where('name',$name)->value('year_target'); $result = Db::query("SELECT round( m.sum_nwshjje/10000/$yu*100,0) 销售收入百分比,round( m.sum_nwshjje/10000 ) 销售收入,$yu 常量 FROM(SELECT SUM( zb.sum_nwshjje ) sum_nwshjje,DCYRQ FROM(SELECT MCYD.DCYRQ AS DCYRQ,CASE WHEN ldz = 1 THEN TJob.namount ELSE MCYD.nwshjje END sum_nwshjje,MCYD.icydid FROM MCYD LEFT JOIN TJob ON MCYD.ICYDID = TJob.iCydid WHERE MCYD.ICYDSTATE > 0 ) zb WHERE zb.DCYRQ >= '{$this->start_time()}' AND zb.DCYRQ <= '{$this->end_time()}' GROUP BY YEAR ( zb.DCYRQ ) ) M GROUP BY YEAR (DCYRQ),( m.sum_nwshjje )"); foreach ($result as $v) { $list[0]['name'] = ' '; $list[0]['value'] = round($v['销售收入']); $list[1]['name'] = ' '; $list[1]['value'] = round($v['常量']); $list[2]['name'] = ' '; $list[2]['value'] = round($v['销售收入百分比']); } $res['status'] = 0; $res['msg'] = ''; $res['data'] = $list; $redis->set($redis_key, json_encode($res)); // halt(json_decode($redis->get($redis_key),true)); return json_encode($res); } //年度销售额及百分比->接口调用 public function ndxs(){ $redis=redis(); $redis_key = md5('ndxs_redis'); $redis_data = $redis->get($redis_key); return $redis_data; } //当年业务模块百分比->缓存调用 public function yewujg2023_redis(){ $redis=redis(); $redis_key = md5('yewujg2023_redis'); function buildSqlQuery($table, $joinTable, $joinCondition, $field, $groupBy) { $tj = Db::table('tjob') ->field('icydid, CONVERT(sum(tjob.nclje * 100 / (100 + tjob.itax)), DECIMAL(10,2)) AS sum_clje') ->group('icydid, ldz, nclje, itax') ->where('lzfbs', '=', 0)->buildSql(); return Db::table($table)->alias('ord') ->field($field) ->join('(' . $joinTable . ') as ObjMatier', $joinCondition, 'LEFT') ->join('(' . $tj . ') as tj', 'tj.icydid = ord.icydid', 'LEFT') ->where('ord.icydstate', '>', 0) ->where($groupBy) ->buildSql(); } $a = Db::table('mcyd')->field("DATE_FORMAT(dcyrq, '%Y-%m-%d') AS dcyrq")->buildSql(); $ObjMatier = Db::table('scyddx') ->field('icydid, sum(nyssl) AS nyssl, sum(nysls) AS nysls, sum(nsyl) AS nsyl') ->group('icydid')->buildSql(); $dd = buildSqlQuery('mcyd', $ObjMatier, 'ObjMatier.icydid = ord.icydid', " DATE_FORMAT(dcyrq, '%Y-%m-%d') AS cyrq, ObjMatier.nyssl AS nyssl", "ord.icydstate > 0 AND chy IN ('集团期刊', '社会期刊')"); $tq = buildSqlQuery('mcyd', $ObjMatier, 'ObjMatier.icydid = ord.icydid', " DATE_FORMAT(dcyrq, '%Y-%m-%d') AS cyrq, ObjMatier.nyssl AS nyssl", "ord.icydstate > 0 AND chy = '集团出版社'"); $tt = buildSqlQuery('mcyd', $ObjMatier, 'ObjMatier.icydid = ord.icydid', " DATE_FORMAT(dcyrq, '%Y-%m-%d') AS cyrq, ObjMatier.nyssl AS nyssl", "ord.icydstate > 0 AND chy = '集团教材内' AND CYWDWMC = '浙江出版传媒股份有限公司'"); $ttt = buildSqlQuery('mcyd', $ObjMatier, 'ObjMatier.icydid = ord.icydid', " DATE_FORMAT(dcyrq, '%Y-%m-%d') AS cyrq, ObjMatier.nyssl AS nyssl", "ord.icydstate > 0 AND chy = '集团教材外'"); $tttt = buildSqlQuery('mcyd', $ObjMatier, 'ObjMatier.icydid = ord.icydid', " DATE_FORMAT(dcyrq, '%Y-%m-%d') AS cyrq, ObjMatier.nysls AS nysls, ObjMatier.nyssl AS nyssl", "ord.icydstate > 0 AND chy = '外贸订单'"); $ttttt = buildSqlQuery('mcyd', $ObjMatier, 'ObjMatier.icydid = ord.icydid', " DATE_FORMAT(dcyrq, '%Y-%m-%d') AS cyrq, ObjMatier.nyssl AS nyssl", "ord.icydstate > 0"); // 期刊色令 $t = Db::table($dd . ' dd') ->field("DATE_FORMAT(dd.cyrq, '%Y-%m-%d') AS cyrq, sum(dd.nyssl) AS 期刊色令") ->group('dd.cyrq')->buildSql(); // 集团出版社色令 $t1 = Db::table($tq . ' t') ->field("DATE_FORMAT(t.cyrq, '%Y-%m-%d') AS cyrq, sum(t.nyssl) AS 集团出版社色令") ->group('t.cyrq')->buildSql(); // 集团教材内色令 $t2 = Db::table($tt . ' t') ->field("DATE_FORMAT(t.cyrq, '%Y-%m-%d') AS cyrq, sum(t.nyssl) AS 集团教材内色令") ->group('t.cyrq')->buildSql(); // 集团教材外色令 $t3 = Db::table($ttt . ' t') ->field("DATE_FORMAT(t.cyrq, '%Y-%m-%d') AS cyrq, sum(t.nyssl) AS 集团教材外色令") ->group('t.cyrq')->buildSql(); // 外贸订单纸令、外贸订单色令 $t4 = Db::table($tttt . ' t') ->field("DATE_FORMAT(t.cyrq, '%Y-%m-%d') AS cyrq, sum(t.nysls) 外贸订单纸令, sum(t.nyssl) AS 外贸订单色令") ->group('t.cyrq')->buildSql(); // 总色令 $t5 = Db::table($ttttt . ' t') ->field("DATE_FORMAT(t.cyrq, '%Y-%m-%d') AS cyrq, sum(t.nyssl) AS 总色令") ->group('t.cyrq')->buildSql(); $db = Db::table($a . ' a') ->field(" DISTINCT a.dcyrq AS dcyrq, t.期刊色令 AS 期刊色令, t1.集团出版社色令 AS 集团出版社色令, t2.集团教材内色令 AS 集团教材内色令, t3.集团教材外色令 AS 集团教材外色令, t4.外贸订单色令 AS 外贸订单色令, t4.外贸订单纸令 AS 外贸订单纸令, t5.总色令 AS 总色令" ) ->join('(' . $t . ') as t', 't.cyrq = a.dcyrq', 'LEFT') ->join('(' . $t1 . ') as t1', 't1.cyrq = a.dcyrq', 'LEFT') ->join('(' . $t2 . ') as t2', 't2.cyrq = a.dcyrq', 'LEFT') ->join('(' . $t3 . ') as t3', 't3.cyrq = a.dcyrq', 'LEFT') ->join('(' . $t4 . ') as t4', 't4.cyrq = a.dcyrq', 'LEFT') ->join('(' . $t5 . ') as t5', 't5.cyrq = a.dcyrq', 'LEFT') ->group('date(a.dcyrq)')->buildSql(); $sql_final = Db::table($db . ' db') ->field(" CONCAT(LTRIM(CAST((SUM(db.集团出版社色令) * 100 / (SUM(db.总色令) - IFNULL(SUM(db.集团教材外色令), 0))) AS DECIMAL(10, 2)))) AS 系统图书, CONCAT(LTRIM(CAST(((SUM(db.总色令) - IFNULL(SUM(db.期刊色令), 0) - IFNULL(SUM(db.集团出版社色令), 0) - IFNULL(SUM(db.集团教材内色令), 0) - IFNULL(SUM(db.集团教材外色令), 0) - IFNULL(SUM(db.外贸订单色令), 0)) * 100 / NULLIF((SUM(db.总色令) - IFNULL(SUM(db.集团教材外色令), 0)), 0)) AS DECIMAL(10, 2)))) AS 社会图书, CONCAT(LTRIM(CAST((SUM(db.外贸订单色令) * 100 / NULLIF((SUM(db.总色令) - IFNULL(SUM(db.集团教材外色令), 0)), 0)) AS DECIMAL(10, 2)))) AS 外贸板块, CONCAT(LTRIM(CAST((SUM(db.期刊色令) * 100 / (SUM(db.总色令) - IFNULL(SUM(db.集团教材外色令), 0))) AS DECIMAL(10, 2)))) AS 期刊板块, CONCAT(LTRIM(CAST((SUM(db.集团教材内色令) * 100 / (SUM(db.总色令) - IFNULL(SUM(db.集团教材外色令), 0))) AS DECIMAL(10, 2)))) AS 教材板块 ") ->whereTime('dcyrq', 'between', [$this->start_time(), $this->end_time()]) ->group('year(db.dcyrq)')->find(); $i=0; foreach($sql_final as $v){ $list[$i]['name']=' '; $list[$i]['value']=round($v); $i++; } $res['status']=0; $res['msg']=''; $res['data']=$list; $redis->set($redis_key, json_encode($res)); // halt(json_decode($redis->get($redis_key),true)); return json_encode($res); } //当年业务模块百分比->接口调用 public function yewujg2023(){ $redis=redis(); $redis_key = md5('yewujg2023_redis'); $redis_data = $redis->get($redis_key); return $redis_data; } //去年业务模块百分比->缓存调用 public function yewujg2022_redis(){ $redis=redis(); $redis_key = md5('yewujg2022_redis'); function buildSqlQuery($table, $joinTable, $joinCondition, $field, $groupBy) { $tj = Db::table('tjob') ->field('icydid, CONVERT(sum(tjob.nclje * 100 / (100 + tjob.itax)), DECIMAL(10,2)) AS sum_clje') ->group('icydid, ldz, nclje, itax') ->where('lzfbs', '=', 0)->buildSql(); return Db::table($table)->alias('ord') ->field($field) ->join('(' . $joinTable . ') as ObjMatier', $joinCondition, 'LEFT') ->join('(' . $tj . ') as tj', 'tj.icydid = ord.icydid', 'LEFT') ->where('ord.icydstate', '>', 0) ->where($groupBy) ->buildSql(); } $a = Db::table('mcyd')->field("DATE_FORMAT(dcyrq, '%Y-%m-%d') AS dcyrq")->buildSql(); $ObjMatier = Db::table('scyddx') ->field('icydid, sum(nyssl) AS nyssl, sum(nysls) AS nysls, sum(nsyl) AS nsyl') ->group('icydid')->buildSql(); $dd = buildSqlQuery('mcyd', $ObjMatier, 'ObjMatier.icydid = ord.icydid', " DATE_FORMAT(dcyrq, '%Y-%m-%d') AS cyrq, ObjMatier.nyssl AS nyssl", "ord.icydstate > 0 AND chy IN ('集团期刊', '社会期刊')"); $tq = buildSqlQuery('mcyd', $ObjMatier, 'ObjMatier.icydid = ord.icydid', " DATE_FORMAT(dcyrq, '%Y-%m-%d') AS cyrq, ObjMatier.nyssl AS nyssl", "ord.icydstate > 0 AND chy = '集团出版社'"); $tt = buildSqlQuery('mcyd', $ObjMatier, 'ObjMatier.icydid = ord.icydid', " DATE_FORMAT(dcyrq, '%Y-%m-%d') AS cyrq, ObjMatier.nyssl AS nyssl", "ord.icydstate > 0 AND chy = '集团教材内' AND CYWDWMC = '浙江出版传媒股份有限公司'"); $ttt = buildSqlQuery('mcyd', $ObjMatier, 'ObjMatier.icydid = ord.icydid', " DATE_FORMAT(dcyrq, '%Y-%m-%d') AS cyrq, ObjMatier.nyssl AS nyssl", "ord.icydstate > 0 AND chy = '集团教材外'"); $tttt = buildSqlQuery('mcyd', $ObjMatier, 'ObjMatier.icydid = ord.icydid', " DATE_FORMAT(dcyrq, '%Y-%m-%d') AS cyrq, ObjMatier.nysls AS nysls, ObjMatier.nyssl AS nyssl", "ord.icydstate > 0 AND chy = '外贸订单'"); $ttttt = buildSqlQuery('mcyd', $ObjMatier, 'ObjMatier.icydid = ord.icydid', " DATE_FORMAT(dcyrq, '%Y-%m-%d') AS cyrq, ObjMatier.nyssl AS nyssl", "ord.icydstate > 0"); // 期刊色令 $t = Db::table($dd . ' dd') ->field("DATE_FORMAT(dd.cyrq, '%Y-%m-%d') AS cyrq, sum(dd.nyssl) AS 期刊色令") ->group('dd.cyrq')->buildSql(); // 集团出版社色令 $t1 = Db::table($tq . ' t') ->field("DATE_FORMAT(t.cyrq, '%Y-%m-%d') AS cyrq, sum(t.nyssl) AS 集团出版社色令") ->group('t.cyrq')->buildSql(); // 集团教材内色令 $t2 = Db::table($tt . ' t') ->field("DATE_FORMAT(t.cyrq, '%Y-%m-%d') AS cyrq, sum(t.nyssl) AS 集团教材内色令") ->group('t.cyrq')->buildSql(); // 集团教材外色令 $t3 = Db::table($ttt . ' t') ->field("DATE_FORMAT(t.cyrq, '%Y-%m-%d') AS cyrq, sum(t.nyssl) AS 集团教材外色令") ->group('t.cyrq')->buildSql(); // 外贸订单纸令、外贸订单色令 $t4 = Db::table($tttt . ' t') ->field("DATE_FORMAT(t.cyrq, '%Y-%m-%d') AS cyrq, sum(t.nysls) 外贸订单纸令, sum(t.nyssl) AS 外贸订单色令") ->group('t.cyrq')->buildSql(); // 总色令 $t5 = Db::table($ttttt . ' t') ->field("DATE_FORMAT(t.cyrq, '%Y-%m-%d') AS cyrq, sum(t.nyssl) AS 总色令") ->group('t.cyrq')->buildSql(); $db = Db::table($a . ' a') ->field(" DISTINCT a.dcyrq AS dcyrq, t.期刊色令 AS 期刊色令, t1.集团出版社色令 AS 集团出版社色令, t2.集团教材内色令 AS 集团教材内色令, t3.集团教材外色令 AS 集团教材外色令, t4.外贸订单色令 AS 外贸订单色令, t4.外贸订单纸令 AS 外贸订单纸令, t5.总色令 AS 总色令" ) ->join('(' . $t . ') as t', 't.cyrq = a.dcyrq', 'LEFT') ->join('(' . $t1 . ') as t1', 't1.cyrq = a.dcyrq', 'LEFT') ->join('(' . $t2 . ') as t2', 't2.cyrq = a.dcyrq', 'LEFT') ->join('(' . $t3 . ') as t3', 't3.cyrq = a.dcyrq', 'LEFT') ->join('(' . $t4 . ') as t4', 't4.cyrq = a.dcyrq', 'LEFT') ->join('(' . $t5 . ') as t5', 't5.cyrq = a.dcyrq', 'LEFT') ->group('date(a.dcyrq)')->buildSql(); $sql_final = Db::table($db . ' db') ->field(" CONCAT(LTRIM(CAST((SUM(db.集团出版社色令) * 100 / (SUM(db.总色令) - IFNULL(SUM(db.集团教材外色令), 0))) AS DECIMAL(10, 2)))) AS 系统图书, CONCAT(LTRIM(CAST(((SUM(db.总色令) - IFNULL(SUM(db.期刊色令), 0) - IFNULL(SUM(db.集团出版社色令), 0) - IFNULL(SUM(db.集团教材内色令), 0) - IFNULL(SUM(db.集团教材外色令), 0) - IFNULL(SUM(db.外贸订单色令), 0)) * 100 / NULLIF((SUM(db.总色令) - IFNULL(SUM(db.集团教材外色令), 0)), 0)) AS DECIMAL(10, 2)))) AS 社会图书, CONCAT(LTRIM(CAST((SUM(db.外贸订单色令) * 100 / NULLIF((SUM(db.总色令) - IFNULL(SUM(db.集团教材外色令), 0)), 0)) AS DECIMAL(10, 2)))) AS 外贸板块, CONCAT(LTRIM(CAST((SUM(db.期刊色令) * 100 / (SUM(db.总色令) - IFNULL(SUM(db.集团教材外色令), 0))) AS DECIMAL(10, 2)))) AS 期刊板块, CONCAT(LTRIM(CAST((SUM(db.集团教材内色令) * 100 / (SUM(db.总色令) - IFNULL(SUM(db.集团教材外色令), 0))) AS DECIMAL(10, 2)))) AS 教材板块 ") ->whereTime('dcyrq', 'between', [$this->qstart_time(), $this->qend_time()]) ->group('year(db.dcyrq)')->find(); $i=0; foreach($sql_final as $v){ $list[$i]['name']=' '; $list[$i]['value']=round($v); $i++; } $res['status']=0; $res['msg']=''; $res['data']=$list; $redis->set($redis_key, json_encode($res)); // halt(json_decode($redis->get($redis_key),true)); return json_encode($res); } //去年业务模块百分比->接口调用 public function yewujg2022(){ $redis=redis(); $redis_key = md5('yewujg2022_redis'); $redis_data = $redis->get($redis_key); return $redis_data; } /** * 业务总览 第一屏 第二页 */ //轮转机每月生产趋势 纸令->缓存调用 public function lunzhuanzl_redis(){ $redis=redis(); $redis_key = md5('lunzhuanzl_redis'); $subQuery3_child = Db::table('bzysdayrpt')->field('drptrq AS rq,iSjys,fsjls') ->whereIn('cbzmc', ['小森LW-35(甲班)','小森LW-35(乙班)','小森2号机(甲班)', '小森2号机(乙班)','大规小森3号机(甲班)','大规小森3号机(乙班)','三菱商轮(甲班)', '三菱商轮(乙班)','三菱商轮2号(甲班)','三菱商轮2号(乙班)','204胶轮(甲班)', '204胶轮(乙班)','V30(甲班)','V30(乙班)','报刊轮转(甲班)','报刊轮转(乙班)','高斯胶轮(甲班)','高斯胶轮(乙班)']) ->union(function ($query) { $query->table('ql_report_feedback_day')->alias('a')->field('b.dOnduty,a.nAmount,a.nzl ') ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams') ->whereIn('cMachineName', ['标规小森商轮1号', '标规小森商轮2号', '大规小森商轮1号', '大规三菱商轮1号', '标规三菱商轮1号', '标规三菱商轮2号', '标规204胶轮1号', '大规海德堡1号', '标规报轮1号','标规高斯轮转1号','标规高斯轮转2号','大规高斯轮转1号']); }, true)->buildSql(); $subQuery = Db::table('bzysdayrpt')->field('DISTINCT drptrq AS RQ')->union(function ($query) { $query->table('ql_report_feedback_day')->alias('a')->field(' DISTINCT b.dOnduty ') ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams'); })->buildSql(); //轮转纸令合计 $subQuery3 = Db::table($subQuery3_child . 'T') ->field('rq,SUM( iSjys ) nRotationTotal,COUNT( 1 ) nRotationPZ,SUM( fsjls ) nnRotationSL ') ->group('rq')->buildSql(); $subQuery1_5 = Db::table($subQuery . 'A') ->field('DISTINCT A.RQ,P.nnRotationSL AS nnRotationSL') ->join('(' . $subQuery3 . ') as P', 'A.RQ = P.rq','LEFT') ->buildSql(); $sql_final = Db::table($subQuery1_5 . ' db') ->field(" DATE_FORMAT( db.RQ, '%Y-%m' ) AS 'rq', ROUND(SUM( db.nnRotationSL )) AS 'nnRotationSL' ") ->where("db.RQ >= '{$this->qianstart_time()}'AND db.RQ <= '{$this->end_time()}' ") ->group("DATE_FORMAT( db.RQ, '%Y-%m' )") ->select(); // 初始化数据 $list['categories'] = ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12']; $currentYear = date("Y"); // 当前年份 $currentMonth = date("m"); // 当前月份 $previousYear = (int)$currentYear - 1; // 去年 $previousTwoYear = (int)$currentYear - 2; // 前年 // 为前年、去年和今年创建数据数组,初始值为0 $list['series'][0]['name'] = $previousTwoYear . '年'; $list['series'][0]['data'] = array_fill(0, 12, 0); // 前年初始化为0 $list['series'][1]['name'] = $previousYear . '年'; $list['series'][1]['data'] = array_fill(0, 12, 0); // 去年初始化为0 $list['series'][2]['name'] = $currentYear . '年'; $list['series'][2]['data'] = array_fill(0, $currentMonth, 0); // 今年初始化到当前月份为0 // 遍历查询结果 foreach ($sql_final as $v) { // 获取年份和月份 $year = substr($v['rq'], 0, 4); $month = substr($v['rq'], 5, 2); // 如果是前两年的数据 if ($year == $previousTwoYear) { $list['series'][0]['data'][(int)$month - 1] = $v['nnRotationSL']; } // 如果是去年的数据 if ($year == $previousYear) { $list['series'][1]['data'][(int)$month - 1] = $v['nnRotationSL']; } // 如果是今年的数据 if ($year == $currentYear) { $list['series'][2]['data'][(int)$month - 1] = $v['nnRotationSL']; } } $res['status'] = 0; $res['msg'] = ''; $res['data'] = $list; $redis->set($redis_key, json_encode($res)); return json_encode($res); } //轮转机每月生产趋势 纸令->接口调用 public function lunzhuanzl(){ $redis=redis(); $redis_key = md5('lunzhuanzl_redis'); $redis_data = $redis->get($redis_key); return $redis_data; } //四色机每月生产趋势 纸令->缓存调用 public function sisejizl_redis(){ $redis=redis(); $redis_key = md5('sisejizl_redis'); $subQuery1_child = Db::table('bzysdayrpt')->field('drptrq AS rq,iSjys,fsjls') ->whereIn('cbzmc', ['四色机2号(甲班)','四色机2号(乙班)','海德堡(甲班)', '海德堡1号(甲班)','海德堡(乙班)','海德堡1号(乙班)','海德堡5+1 1号(甲班)', '海德堡5+1 1号(乙班)','三菱机1(甲班)','三菱机1(乙班)','三菱机2(甲班)', '三菱机2(乙班)','小森八色(甲班)','小森八色(乙班)']) ->union(function ($query) { $query->table('ql_report_feedback_day')->alias('a')->field('b.dOnduty,a.nAmount,a.nzl') ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams') ->whereIn('cMachineName', ['四色机02号','四色机02号机','海德堡01号', '海德堡01号机','海德堡5+L 01号','海德堡5+L 01号机','三菱机01号', '三菱机01号机','三菱机02号','三菱机02号机','小森八色01号', '小森八色01号机','小森八色02号机']); }, true)->buildSql(); $subQuery = Db::table('bzysdayrpt')->field('DISTINCT drptrq AS RQ')->union(function ($query) { $query->table('ql_report_feedback_day')->alias('a')->field(' DISTINCT b.dOnduty ') ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams'); })->buildSql(); //四色机纸令合计 $subQuery1 = Db::table($subQuery1_child . 'T') ->field('rq,SUM( fsjls ) nFourColorSL') ->group('rq')->buildSql(); $subQuery1_5 = Db::table($subQuery . 'A') ->field('DISTINCT A.RQ,B.nFourColorSL AS nFourColorSL') ->join('(' . $subQuery1 . ') as B', ' A.RQ = B.rq','LEFT') ->buildSql(); $sql_final = Db::table($subQuery1_5 . ' db') ->field(" DATE_FORMAT( db.RQ, '%Y-%m' ) AS 'rq', ROUND(SUM( db.nFourColorSL )) AS 'nFourColorSL' ") ->where("db.RQ >= '{$this->qianstart_time()}'AND db.RQ <= '{$this->end_time()}' ") // ->group('MONTH(db.RQ)') ->group("DATE_FORMAT( db.RQ, '%Y-%m' )") ->select(); // 初始化数据 $list['categories'] = ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12']; $currentYear = date("Y"); // 当前年份 $currentMonth = date("m"); // 当前月份 $previousYear = (int)$currentYear - 1; // 去年 $previousTwoYear = (int)$currentYear - 2; // 前年 // 为前年、去年和今年创建数据数组,初始值为0 $list['series'][0]['name'] = $previousTwoYear . '年'; $list['series'][0]['data'] = array_fill(0, 12, 0); // 前年初始化为0 $list['series'][1]['name'] = $previousYear . '年'; $list['series'][1]['data'] = array_fill(0, 12, 0); // 去年初始化为0 $list['series'][2]['name'] = $currentYear . '年'; $list['series'][2]['data'] = array_fill(0, $currentMonth, 0); // 今年初始化到当前月份为0 // 遍历查询结果 foreach ($sql_final as $v) { // 获取年份和月份 $year = substr($v['rq'], 0, 4); $month = substr($v['rq'], 5, 2); // 如果是前两年的数据 if ($year == $previousTwoYear) { $list['series'][0]['data'][(int)$month - 1] = $v['nFourColorSL']; } // 如果是去年的数据 if ($year == $previousYear) { $list['series'][1]['data'][(int)$month - 1] = $v['nFourColorSL']; } // 如果是今年的数据 if ($year == $currentYear) { $list['series'][2]['data'][(int)$month - 1] = $v['nFourColorSL']; } } $res['status'] = 0; $res['msg'] = ''; $res['data'] = $list; $redis->set($redis_key, json_encode($res)); return json_encode($res); } //四色机每月生产趋势 纸令->接口调用 public function sisejizl(){ $redis=redis(); $redis_key = md5('sisejizl_redis'); $redis_data = $redis->get($redis_key); return $redis_data; } //BB机每月生产趋势 纸令->缓存调用 public function bbjzl_redis(){ $redis=redis(); $redis_key = md5('bbjzl_redis'); $subQuery2_child = Db::table('bzysdayrpt')->field('drptrq AS rq,iSjys,fsjls') ->whereIn('cbzmc', ['BB机1号(甲班)','BB机1号(乙班)','BB机2号(甲班)', 'BB机2号(乙班)','BB机3号(甲班)','BB机3号(乙班)','BB机4号(甲班)','BB机4号(乙班)', 'BB机5号(甲班)','BB机5号(乙班)', 'BB机6号(甲班)','BB机6号(乙班)','05机1号(甲班)','05机1号(乙班)', '海德堡SM1号机(甲班)','海德堡SM1号机(乙班)','海德堡SM2号机(甲班)','海德堡SM2号机(乙班)']) ->union(function ($query) { $query->table('ql_report_feedback_day')->alias('a')->field('b.dOnduty,a.nAmount,a.nzl ') ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams') ->whereIn('cMachineName', ['BB机01号','BB机02号','BB机04号','如钰01号机', 'BB机05号','BB机06号','海德堡SM1号','海德堡SM2号']); }, true)->buildSql(); $subQuery = Db::table('bzysdayrpt')->field('DISTINCT drptrq AS RQ')->union(function ($query) { $query->table('ql_report_feedback_day')->alias('a')->field(' DISTINCT b.dOnduty ') ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams'); })->buildSql(); //BB机纸令合计 $subQuery2 = Db::table($subQuery2_child . 'T') ->field('rq,SUM( iSjys ) nBBTotal,COUNT( 1 ) nBBPZ,SUM( fsjls ) nBBSL') ->group('rq')->buildSql(); $subQuery1_5 = Db::table($subQuery . 'A') ->field('DISTINCT A.RQ,h.nBBSL AS nBBSL') ->join('(' . $subQuery2 . ') as h', 'A.RQ = h.rq','LEFT') ->buildSql(); $sql_final = Db::table($subQuery1_5 . ' db') ->field(" DATE_FORMAT( db.RQ, '%Y-%m' ) AS 'rq', ROUND(SUM( db.nBBSL )) AS 'nBBSL' ") ->where("db.RQ >= '{$this->qianstart_time()}'AND db.RQ <= '{$this->end_time()}' ") // ->group('MONTH(db.RQ)') ->group("DATE_FORMAT( db.RQ, '%Y-%m' )") ->select(); // 初始化数据 $list['categories'] = ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12']; $currentYear = date("Y"); // 当前年份 $currentMonth = date("m"); // 当前月份 $previousYear = (int)$currentYear - 1; // 去年 $previousTwoYear = (int)$currentYear - 2; // 前年 // 为前年、去年和今年创建数据数组,初始值为0 $list['series'][0]['name'] = $previousTwoYear . '年'; $list['series'][0]['data'] = array_fill(0, 12, 0); // 前年初始化为0 $list['series'][1]['name'] = $previousYear . '年'; $list['series'][1]['data'] = array_fill(0, 12, 0); // 去年初始化为0 $list['series'][2]['name'] = $currentYear . '年'; $list['series'][2]['data'] = array_fill(0, $currentMonth, 0); // 今年初始化到当前月份为0 // 遍历查询结果 foreach ($sql_final as $v) { // 获取年份和月份 $year = substr($v['rq'], 0, 4); $month = substr($v['rq'], 5, 2); // 如果是前两年的数据 if ($year == $previousTwoYear) { $list['series'][0]['data'][(int)$month - 1] = $v['nBBSL']; } // 如果是去年的数据 if ($year == $previousYear) { $list['series'][1]['data'][(int)$month - 1] = $v['nBBSL']; } // 如果是今年的数据 if ($year == $currentYear) { $list['series'][2]['data'][(int)$month - 1] = $v['nBBSL']; } } $res['status'] = 0; $res['msg'] = ''; $res['data'] = $list; $redis->set($redis_key, json_encode($res)); return json_encode($res); } //BB机每月生产趋势 纸令->接口调用 public function bbjzl(){ $redis=redis(); $redis_key = md5('bbjzl_redis'); $redis_data = $redis->get($redis_key); return $redis_data; } //轮转机每月生产趋势 色令->缓存调用 public function lunzhuan_redis(){ $redis=redis(); $redis_key = md5('lunzhuan_redis'); //首先定义了起始时间和结束时间 //根据查询条件查出色令数据 $subQuery3_child = Db::table('bzysdayrpt')->field('drptrq AS rq,fsjsl') ->whereIn('cbzmc', [ '小森LW-35(甲班)','小森LW-35(乙班)','小森2号机(甲班)','小森2号机(乙班)', '大规小森3号机(甲班)','大规小森3号机(乙班)','三菱商轮(甲班)','三菱商轮(乙班)', '三菱商轮2号(甲班)','三菱商轮2号(乙班)','204胶轮(甲班)','204胶轮(乙班)', 'V30(甲班)', 'V30(乙班)','报刊轮转(甲班)','报刊轮转(乙班)','高斯胶轮(甲班)','高斯胶轮(乙班)']) ->union(function ($query) { $query->table('ql_report_feedback_day')->alias('a')->field('b.dOnduty,a.nsl ') ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams') ->whereIn('cMachineName', ['标规小森商轮1号', '标规小森商轮2号','大规小森商轮1号','大规三菱商轮1号','标规三菱商轮1号', '标规三菱商轮2号','标规204胶轮1号','大规海德堡1号','标规报轮1号','标规高斯轮转1号','标规高斯轮转2号','大规高斯轮转1号']); }, true) ->buildSql(); //将两个表的日期字段进行合并,并返回一个包含不重复结果 $subQuery = Db::table('bzysdayrpt')->field('DISTINCT drptrq AS RQ') ->union(function ($query) { $query->table('ql_report_feedback_day')->alias('a')->field(' DISTINCT b.dOnduty ') ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams'); })->buildSql(); //查询每天的数据 $subQuery3 = Db::table($subQuery3_child . 'T') ->field('rq,SUM( fsjsl ) nnRotationSL ') ->group('rq') ->buildSql(); //按当天日期进行分组 累计相加当天数据 $subQuery1_5 = Db::table($subQuery . 'A') ->field('DISTINCT DATE(A.RQ) RQ,sum(P.nnRotationSL) AS nnRotationSL') ->join('(' . $subQuery3 . ') as P', 'A.RQ = P.rq','LEFT') ->group('RQ') ->buildSql(); //按每个月进行查询 累计相加每月数据 ROUND(SUM( db.nnRotationSL )) AS '轮转色令合计' $sql_final = Db::table($subQuery1_5 . ' db') ->field(" DATE_FORMAT( db.RQ, '%Y-%m' ) AS 'rq', ROUND(SUM( db.nnRotationSL )) AS 'nnRotationSL' ") ->where("db.RQ >= '{$this->qianstart_time()}'AND db.RQ <= '{$this->end_time()}' ") // ->group('MONTH(db.RQ)') ->group("DATE_FORMAT( db.RQ, '%Y-%m' )") ->select(); // 初始化数据 $list['categories'] = ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12']; $currentYear = date("Y"); // 当前年份 $currentMonth = date("m"); // 当前月份 $previousYear = (int)$currentYear - 1; // 去年 $previousTwoYear = (int)$currentYear - 2; // 前年 // 为前年、去年和今年创建数据数组,初始值为0 $list['series'][0]['name'] = $previousTwoYear . '年'; $list['series'][0]['data'] = array_fill(0, 12, 0); // 前年初始化为0 $list['series'][1]['name'] = $previousYear . '年'; $list['series'][1]['data'] = array_fill(0, 12, 0); // 去年初始化为0 $list['series'][2]['name'] = $currentYear . '年'; $list['series'][2]['data'] = array_fill(0, $currentMonth, 0); // 今年初始化到当前月份为0 // 遍历查询结果 foreach ($sql_final as $v) { // 获取年份和月份 $year = substr($v['rq'], 0, 4); $month = substr($v['rq'], 5, 2); // 如果是前两年的数据 if ($year == $previousTwoYear) { $list['series'][0]['data'][(int)$month - 1] = $v['nnRotationSL']; } // 如果是去年的数据 if ($year == $previousYear) { $list['series'][1]['data'][(int)$month - 1] = $v['nnRotationSL']; } // 如果是今年的数据 if ($year == $currentYear) { $list['series'][2]['data'][(int)$month - 1] = $v['nnRotationSL']; } } $res['status'] = 0; $res['msg'] = ''; $res['data'] = $list; $redis->set($redis_key, json_encode($res)); return json_encode($res); } //轮转机每月生产趋势 色令->接口调用 public function lunzhuan(){ $redis=redis(); $redis_key = md5('lunzhuan_redis'); $redis_data = $redis->get($redis_key); return $redis_data; } //四色机每月生产趋势 色令->缓存调用 public function siseji_redis(){ $redis=redis(); $redis_key = md5('siseji_redis'); //根据查询条件查出色令数据 $subQuery1_child = Db::table('bzysdayrpt')->field('drptrq AS rq,fsjsl') ->whereIn('cbzmc', ['四色机2号(甲班)','四色机2号(乙班)','海德堡(甲班)', '海德堡1号(甲班)','海德堡(乙班)','海德堡1号(乙班)','海德堡5+1 1号(甲班)', '海德堡5+1 1号(乙班)','三菱机1(甲班)','三菱机1(乙班)','三菱机2(甲班)', '三菱机2(乙班)','小森八色(甲班)','小森八色(乙班)']) ->union(function ($query) { $query->table('ql_report_feedback_day')->alias('a')->field('b.dOnduty,a.nsl') ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams') ->whereIn('cMachineName', ['四色机02号','四色机02号机','海德堡01号', '海德堡01号机','海德堡5+L 01号','海德堡5+L 01号机','三菱机01号', '三菱机01号机','三菱机02号','三菱机02号机','小森八色01号', '小森八色01号机','小森八色02号机']); }, true)->buildSql(); //将两个表的日期字段进行合并,并返回一个包含不重复结果 $subQuery = Db::table('bzysdayrpt')->field('DISTINCT drptrq AS RQ') ->union(function ($query) { $query->table('ql_report_feedback_day')->alias('a')->field(' DISTINCT b.dOnduty ') ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams'); })->buildSql(); //查询每天的数据 $subQuery1 = Db::table($subQuery1_child . 'T') ->field('rq,SUM( fsjsl ) nFourColorSL') ->group('rq')->buildSql(); //按当天日期进行分组 累计相加当天数据 $subQuery1_5 = Db::table($subQuery . 'A') ->field(' DISTINCT DATE(A.RQ) RQ, sum(B.nFourColorSL) AS nFourColorSL ') ->join('(' . $subQuery1 . ') as B', ' A.RQ = B.rq','LEFT') ->group('RQ') ->buildSql(); //按每个月进行查询 累计相加每月数据 $sql_final = Db::table($subQuery1_5 . ' db') ->field(" DATE_FORMAT( db.RQ, '%Y-%m' ) AS 'rq', ROUND(SUM( db.nFourColorSL )) AS 'nFourColorSL' ") ->where("db.RQ >= '{$this->qianstart_time()}'AND db.RQ <= '{$this->end_time()}' ") // ->group('MONTH(db.RQ)') ->group("DATE_FORMAT( db.RQ, '%Y-%m' )") ->select(); // 初始化数据 $list['categories'] = ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12']; $currentYear = date("Y"); // 当前年份 $currentMonth = date("m"); // 当前月份 $previousYear = (int)$currentYear - 1; // 去年 $previousTwoYear = (int)$currentYear - 2; // 前年 // 为前年、去年和今年创建数据数组,初始值为0 $list['series'][0]['name'] = $previousTwoYear . '年'; $list['series'][0]['data'] = array_fill(0, 12, 0); // 前年初始化为0 $list['series'][1]['name'] = $previousYear . '年'; $list['series'][1]['data'] = array_fill(0, 12, 0); // 去年初始化为0 $list['series'][2]['name'] = $currentYear . '年'; $list['series'][2]['data'] = array_fill(0, $currentMonth, 0); // 今年初始化到当前月份为0 // 遍历查询结果 foreach ($sql_final as $v) { // 获取年份和月份 $year = substr($v['rq'], 0, 4); $month = substr($v['rq'], 5, 2); // 如果是前两年的数据 if ($year == $previousTwoYear) { $list['series'][0]['data'][(int)$month - 1] = $v['nFourColorSL']; } // 如果是去年的数据 if ($year == $previousYear) { $list['series'][1]['data'][(int)$month - 1] = $v['nFourColorSL']; } // 如果是今年的数据 if ($year == $currentYear) { $list['series'][2]['data'][(int)$month - 1] = $v['nFourColorSL']; } } $res['status'] = 0; $res['msg'] = ''; $res['data'] = $list; $redis->set($redis_key, json_encode($res)); return json_encode($res); } //四色机每月生产趋势 色令->接口调用 public function siseji(){ $redis=redis(); $redis_key = md5('siseji_redis'); $redis_data = $redis->get($redis_key); return $redis_data; } //BB机每月生产趋势 色令->缓存调用 public function bbj_redis(){ $redis=redis(); $redis_key = md5('bbj_redis'); //首先定义了起始时间和结束时间 //根据查询条件查出色令数据 $subQuery2_child = Db::table('bzysdayrpt')->field('drptrq AS rq,fsjsl') ->whereIn('cbzmc', ['BB机1号(甲班)','BB机1号(乙班)','BB机2号(甲班)','BB机2号(乙班)', 'BB机3号(甲班)','BB机3号(乙班)','BB机4号(甲班)','BB机4号(乙班)','BB机5号(甲班)', 'BB机5号(乙班)','BB机6号(甲班)','BB机6号(乙班)', '05机1号(甲班)', '05机1号(乙班)', '海德堡SM1号机(甲班)','海德堡SM1号机(乙班)', '海德堡SM2号机(甲班)','海德堡SM2号机(乙班)']) ->union(function ($query) { $query->table('ql_report_feedback_day')->alias('a')->field('b.dOnduty,a.nsl ') ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams') ->whereIn('cMachineName', ['BB机01号','BB机02号','BB机04号','BB机05号','如钰01号机', 'BB机06号','海德堡SM1号','海德堡SM2号']); }, true)->buildSql(); //将两个表的日期字段进行合并,并返回一个包含不重复结果 $subQuery = Db::table('bzysdayrpt')->field('DISTINCT drptrq AS RQ') ->union(function ($query) { $query->table('ql_report_feedback_day')->alias('a')->field(' DISTINCT b.dOnduty ') ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams'); })->buildSql(); //查询每天的数据 $subQuery2 = Db::table($subQuery2_child . 'T') ->field('rq,SUM( fsjsl ) nBBSL') ->group('rq')->buildSql(); //按当天日期进行分组 累计相加当天数据 $subQuery1_5 = Db::table($subQuery . 'A') ->field('DISTINCT DATE(A.RQ) RQ,sum(h.nBBSL) AS nBBSL') ->join('(' . $subQuery2 . ') as h', 'A.RQ = h.rq','LEFT') ->group('RQ') ->buildSql(); //按每个月进行查询 累计相加每月数据 ROUND(SUM( db.nBBSL )) AS '单双色机(BB机)色令合计' $sql_final = Db::table($subQuery1_5 . ' db') ->field(" DATE_FORMAT( db.RQ, '%Y-%m' ) AS 'rq', ROUND(SUM( db.nBBSL )) AS 'nBBSL' ") ->where("db.RQ >= '{$this->qianstart_time()}'AND db.RQ <= '{$this->end_time()}' ") // ->group('MONTH(db.RQ)') ->group("DATE_FORMAT( db.RQ, '%Y-%m' )") ->order('db.RQ', 'asc') ->select(); // 初始化数据 $list['categories'] = ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12']; $currentYear = date("Y"); // 当前年份 $currentMonth = date("m"); // 当前月份 $previousYear = (int)$currentYear - 1; // 去年 $previousTwoYear = (int)$currentYear - 2; // 前年 // 为前年、去年和今年创建数据数组,初始值为0 $list['series'][0]['name'] = $previousTwoYear . '年'; $list['series'][0]['data'] = array_fill(0, 12, 0); // 前年初始化为0 $list['series'][1]['name'] = $previousYear . '年'; $list['series'][1]['data'] = array_fill(0, 12, 0); // 去年初始化为0 $list['series'][2]['name'] = $currentYear . '年'; $list['series'][2]['data'] = array_fill(0, $currentMonth, 0); // 今年初始化到当前月份为0 // 遍历查询结果 foreach ($sql_final as $v) { // 获取年份和月份 $year = substr($v['rq'], 0, 4); $month = substr($v['rq'], 5, 2); // 如果是前两年的数据 if ($year == $previousTwoYear) { $list['series'][0]['data'][(int)$month - 1] = $v['nBBSL']; } // 如果是去年的数据 if ($year == $previousYear) { $list['series'][1]['data'][(int)$month - 1] = $v['nBBSL']; } // 如果是今年的数据 if ($year == $currentYear) { $list['series'][2]['data'][(int)$month - 1] = $v['nBBSL']; } } $res['status'] = 0; $res['msg'] = ''; $res['data'] = $list; $redis->set($redis_key, json_encode($res)); return json_encode($res); } //BB机每月生产趋势 色令->接口调用 public function bbj(){ $redis=redis(); $redis_key = md5('bbj_redis'); $redis_data = $redis->get($redis_key); return $redis_data; } //胶订纸令->缓存调用 public function jdzl_redis(){ $redis=redis(); $redis_key = md5('jdzl_redis'); //首先定义了起始时间和结束时间 $A = Db::table('cpjtfk')->field("DISTINCT DATE_FORMAT(drptdate, '%Y-%m-%d') AS rq") ->union(function ($query) { $query->table('scDayRpt_Teams')->alias('b') ->field("DISTINCT DATE_FORMAT( CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i:%s') < '06:30:00' THEN DATE_SUB(b.dOnDuty, INTERVAL 1 DAY) ELSE b.dOnDuty END, '%Y-%m-%d' ) AS RQ"); }, true) ->buildSql(); $B = Db::table('cpjtfk') ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT') ->field(" DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq, sum(mcyd.NZWyz * iWCl / 1000) as 马1甲纸令数 ") ->where('cpjtfk.cbanzu','=','马天尼(新)(甲班)') ->group('drptdate,cbanzu') ->buildSql(); $B1 = Db::table('cpjtfk') ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT') ->field(" DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq, sum(mcyd.NZWyz * iWCl / 1000) as 马1乙纸令数 ") ->where('cpjtfk.cbanzu','=','马天尼(新)(乙班)') ->group('drptdate,cbanzu') ->buildSql(); $C = Db::table('cpjtfk') ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT') ->field(" DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq, sum(mcyd.NZWyz * iWCl / 1000) as 马2甲纸令数 ") ->where('cpjtfk.cbanzu','=','马天尼2号(甲班)') ->group('drptdate,cbanzu') ->buildSql(); $C1 = Db::table('cpjtfk') ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT') ->field(" DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq, sum(mcyd.NZWyz * iWCl / 1000) as 马2乙纸令数 ") ->where('cpjtfk.cbanzu','=','马天尼2号(乙班)') ->group('drptdate,cbanzu') ->buildSql(); $D = Db::table('cpjtfk') ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT') ->field(" DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq, sum(mcyd.NZWyz * iWCl / 1000) as 马3甲纸令数 ") ->where('cpjtfk.cbanzu','=','无线胶订3号(甲班)') ->group('drptdate,cbanzu') ->buildSql(); $D1 = Db::table('cpjtfk') ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT') ->field(" DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq, sum(mcyd.NZWyz * iWCl / 1000) as 马3乙纸令数 ") ->where('cpjtfk.cbanzu','=','无线胶订3号(乙班)') ->group('drptdate,cbanzu') ->buildSql(); $E = Db::table('cpjtfk') ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT') ->field(" DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq, sum(mcyd.NZWyz * iWCl / 1000) as 马4甲纸令数 ") ->where('cpjtfk.cbanzu','=','无线胶订4号(甲班)') ->group('drptdate,cbanzu') ->buildSql(); $E1 = Db::table('cpjtfk') ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT') ->field(" DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq, sum(mcyd.NZWyz * iWCl / 1000) as 马4乙纸令数 ") ->where('cpjtfk.cbanzu','=','无线胶订4号(乙班)') ->group('drptdate,cbanzu') ->buildSql(); $F = Db::table('cpjtfk') ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT') ->field(" DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq, sum(mcyd.NZWyz * iWCl / 1000) as 马5甲纸令数 ") ->where('cpjtfk.cbanzu','=','无线胶订5号(甲班)') ->group('drptdate,cbanzu') ->buildSql(); $F1 = Db::table('cpjtfk') ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT') ->field(" DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq, sum(mcyd.NZWyz * iWCl / 1000) as 马5乙纸令数 ") ->where('cpjtfk.cbanzu','=','无线胶订5号(乙班)') ->group('drptdate,cbanzu') ->buildSql(); $rr = Db::table('scyddx')->alias('r') ->field('r.ICYDID,sum(r.NYSLS) as zl') ->group('r.ICYDID') ->buildSql(); $Bb = Db::table('ql_report_feedback_day')->alias('a') ->field(" CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq, ROUND(SUM( CASE WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0) THEN CASE WHEN a.cCyddxMc = '装配' OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%' THEN CASE WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END = 0 THEN c.nzdls ELSE ( CASE WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END ELSE c.nzdls END ) END ELSE 0 END ELSE CASE WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/ THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) * CASE WHEN a.cCyddxMc = '装配' OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%' THEN CASE WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END = 0 THEN c.nzdls ELSE ( CASE WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END ELSE c.nzdls END ) END ELSE 0 END ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0) END END ), 3) 马11甲纸令 ") ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER') ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER') ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER') ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT') ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT') ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT') ->where('Name_WorkGroup','=','胶订潮流1号(甲班)') ->whereIn('a.cTechName', ['胶订联动', '胶头']) ->group("CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END,Name_WorkGroup")->buildSql(); $Bb1 = Db::table('ql_report_feedback_day')->alias('a') ->field(" CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq, ROUND(SUM( CASE WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0) THEN CASE WHEN a.cCyddxMc = '装配' OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%' THEN CASE WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END = 0 THEN c.nzdls ELSE ( CASE WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END ELSE c.nzdls END ) END ELSE 0 END ELSE CASE WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/ THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) * CASE WHEN a.cCyddxMc = '装配' OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%' THEN CASE WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END = 0 THEN c.nzdls ELSE ( CASE WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END ELSE c.nzdls END ) END ELSE 0 END ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0) END END ) , 3) 马11乙纸令 ") ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER') ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER') ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER') ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT') ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT') ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT') ->where('Name_WorkGroup','=','胶订潮流1号(乙班)') ->whereIn('a.cTechName', ['胶订联动', '胶头']) ->group("CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END,Name_WorkGroup") ->buildSql(); $CC = Db::table('ql_report_feedback_day')->alias('a') ->field(" CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq, ROUND(SUM( CASE WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0) THEN CASE WHEN a.cCyddxMc = '装配' OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%' THEN CASE WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END = 0 THEN c.nzdls ELSE ( CASE WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END ELSE c.nzdls END ) END ELSE 0 END ELSE CASE WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/ THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) * CASE WHEN a.cCyddxMc = '装配' OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%' THEN CASE WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END = 0 THEN c.nzdls ELSE ( CASE WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END ELSE c.nzdls END ) END ELSE 0 END ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0) END END ) , 3) 马22甲纸令 ") ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER') ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER') ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER') ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT') ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT') ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT') ->where('Name_WorkGroup','=','胶订潮流2号(甲班)') ->whereIn('a.cTechName', ['胶订联动', '胶头']) ->group("CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END,Name_WorkGroup") ->buildSql(); $CC1 = Db::table('ql_report_feedback_day')->alias('a') ->field(" CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq, ROUND(SUM( CASE WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0) THEN CASE WHEN a.cCyddxMc = '装配' OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%' THEN CASE WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END = 0 THEN c.nzdls ELSE ( CASE WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END ELSE c.nzdls END ) END ELSE 0 END ELSE CASE WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/ THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) * CASE WHEN a.cCyddxMc = '装配' OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%' THEN CASE WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END = 0 THEN c.nzdls ELSE ( CASE WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END ELSE c.nzdls END ) END ELSE 0 END ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0) END END ) , 3) 马22乙纸令 ") ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER') ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER') ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER') ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT') ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT') ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT') ->where('Name_WorkGroup','=','胶订潮流2号(乙班)') ->whereIn('a.cTechName', ['胶订联动', '胶头']) ->group("CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END,Name_WorkGroup") ->buildSql(); $EE = Db::table('ql_report_feedback_day')->alias('a') ->field(" CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq, ROUND(SUM( CASE WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0) THEN CASE WHEN a.cCyddxMc = '装配' OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%' THEN CASE WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END = 0 THEN c.nzdls ELSE ( CASE WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END ELSE c.nzdls END ) END ELSE 0 END ELSE CASE WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/ THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) * CASE WHEN a.cCyddxMc = '装配' OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%' THEN CASE WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END = 0 THEN c.nzdls ELSE ( CASE WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END ELSE c.nzdls END ) END ELSE 0 END ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0) END END ) , 3) 马33甲纸令 ") ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER') ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER') ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER') ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT') ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT') ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT') ->where('Name_WorkGroup','=','胶订精工1号(甲班)') ->whereIn('a.cTechName', ['胶订联动', '胶头']) ->group("CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END,Name_WorkGroup") ->buildSql(); $EE1 = Db::table('ql_report_feedback_day')->alias('a') ->field(" CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq, ROUND(SUM( CASE WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0) THEN CASE WHEN a.cCyddxMc = '装配' OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%' THEN CASE WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END = 0 THEN c.nzdls ELSE ( CASE WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END ELSE c.nzdls END ) END ELSE 0 END ELSE CASE WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/ THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) * CASE WHEN a.cCyddxMc = '装配' OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%' THEN CASE WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END = 0 THEN c.nzdls ELSE ( CASE WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END ELSE c.nzdls END ) END ELSE 0 END ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0) END END ) , 3) 马33乙纸令 ") ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER') ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER') ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER') ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT') ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT') ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT') ->where('Name_WorkGroup','=','胶订精工1号(乙班)') ->whereIn('a.cTechName', ['胶订联动', '胶头']) ->group("CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END,Name_WorkGroup") ->buildSql(); $HH = Db::table('ql_report_feedback_day')->alias('a') ->field(" CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq, ROUND(SUM( CASE WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0) THEN CASE WHEN a.cCyddxMc = '装配' OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%' THEN CASE WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END = 0 THEN c.nzdls ELSE ( CASE WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END ELSE c.nzdls END ) END ELSE 0 END ELSE CASE WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/ THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) * CASE WHEN a.cCyddxMc = '装配' OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%' THEN CASE WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END = 0 THEN c.nzdls ELSE ( CASE WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END ELSE c.nzdls END ) END ELSE 0 END ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0) END END ) , 3) 马44甲纸令 ") ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER') ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER') ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER') ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT') ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT') ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT') ->where('Name_WorkGroup','=','胶订精密达1号(甲班)') ->whereIn('a.cTechName', ['胶订联动', '胶头']) ->group("CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END,Name_WorkGroup") ->buildSql(); $HH1 = Db::table('ql_report_feedback_day')->alias('a') ->field(" CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq, ROUND(SUM( CASE WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0) THEN CASE WHEN a.cCyddxMc = '装配' OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%' THEN CASE WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END = 0 THEN c.nzdls ELSE ( CASE WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END ELSE c.nzdls END ) END ELSE 0 END ELSE CASE WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/ THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) * CASE WHEN a.cCyddxMc = '装配' OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%' THEN CASE WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END = 0 THEN c.nzdls ELSE ( CASE WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END ELSE c.nzdls END ) END ELSE 0 END ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0) END END ) , 3) 马44乙纸令 ") ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER') ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER') ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER') ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT') ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT') ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT') ->where('Name_WorkGroup','=','胶订精密达1号(乙班)') ->whereIn('a.cTechName', ['胶订联动', '胶头']) ->group("CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END,Name_WorkGroup") ->buildSql(); $XX = Db::table('ql_report_feedback_day')->alias('a') ->field(" CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq, ROUND(SUM( CASE WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0) THEN CASE WHEN a.cCyddxMc = '装配' OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%' THEN CASE WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END = 0 THEN c.nzdls ELSE ( CASE WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END ELSE c.nzdls END ) END ELSE 0 END ELSE CASE WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/ THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) * CASE WHEN a.cCyddxMc = '装配' OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%' THEN CASE WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END = 0 THEN c.nzdls ELSE ( CASE WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END ELSE c.nzdls END ) END ELSE 0 END ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0) END END ) , 3) 马55甲纸令 ") ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER') ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER') ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER') ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT') ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT') ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT') ->where('Name_WorkGroup','=','胶订精密达2号(甲班)') ->whereIn('a.cTechName', ['胶订联动', '胶头']) ->group("CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END,Name_WorkGroup") ->buildSql(); $XXX2 = Db::table('ql_report_feedback_day')->alias('a') ->field(" CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq, ROUND(SUM( CASE WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0) THEN CASE WHEN a.cCyddxMc = '装配' OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%' THEN CASE WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END = 0 THEN c.nzdls ELSE ( CASE WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END ELSE c.nzdls END ) END ELSE 0 END ELSE CASE WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/ THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) * CASE WHEN a.cCyddxMc = '装配' OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%' THEN CASE WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END = 0 THEN c.nzdls ELSE ( CASE WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END ELSE c.nzdls END ) END ELSE 0 END ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0) END END ) , 3) 马66甲纸令 ") ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER') ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER') ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER') ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT') ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT') ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT') ->where('Name_WorkGroup','=','胶订精密达3号(甲班)') ->whereIn('a.cTechName', ['胶订联动', '胶头']) ->group("CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END,Name_WorkGroup") ->buildSql(); $XXX3 = Db::table('ql_report_feedback_day')->alias('a') ->field(" CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq, ROUND(SUM( CASE WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0) THEN CASE WHEN a.cCyddxMc = '装配' OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%' THEN CASE WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END = 0 THEN c.nzdls ELSE ( CASE WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END ELSE c.nzdls END ) END ELSE 0 END ELSE CASE WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/ THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) * CASE WHEN a.cCyddxMc = '装配' OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%' THEN CASE WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END = 0 THEN c.nzdls ELSE ( CASE WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END ELSE c.nzdls END ) END ELSE 0 END ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0) END END ) , 3) 马77甲纸令 ") ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER') ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER') ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER') ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT') ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT') ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT') ->where('Name_WorkGroup','=','胶钉精密达3号(甲班)') ->whereIn('a.cTechName', ['胶订联动', '胶头']) ->group("CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END,Name_WorkGroup") ->buildSql(); $XX1 = Db::table('ql_report_feedback_day')->alias('a') ->field(" CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq, ROUND(SUM( CASE WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0) THEN CASE WHEN a.cCyddxMc = '装配' OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%' THEN CASE WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END = 0 THEN c.nzdls ELSE ( CASE WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END ELSE c.nzdls END ) END ELSE 0 END ELSE CASE WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/ THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) * CASE WHEN a.cCyddxMc = '装配' OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%' THEN CASE WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END = 0 THEN c.nzdls ELSE ( CASE WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END ELSE c.nzdls END ) END ELSE 0 END ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0) END END ) , 3) 马55乙纸令 ") ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER') ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER') ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER') ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT') ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT') ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT') ->where('Name_WorkGroup','=','胶订精密达2号(乙班)') ->whereIn('a.cTechName', ['胶订联动', '胶头']) ->group("CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END,Name_WorkGroup") ->buildSql(); $XX2 = Db::table('ql_report_feedback_day')->alias('a') ->field(" CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq, ROUND(SUM( CASE WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0) THEN CASE WHEN a.cCyddxMc = '装配' OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%' THEN CASE WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END = 0 THEN c.nzdls ELSE ( CASE WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END ELSE c.nzdls END ) END ELSE 0 END ELSE CASE WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/ THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) * CASE WHEN a.cCyddxMc = '装配' OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%' THEN CASE WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END = 0 THEN c.nzdls ELSE ( CASE WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END ELSE c.nzdls END ) END ELSE 0 END ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0) END END ) , 3) 马66乙纸令 ") ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER') ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER') ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER') ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT') ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT') ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT') ->where('Name_WorkGroup','=','胶订精密达3号(乙班)') ->whereIn('a.cTechName', ['胶订联动', '胶头']) ->group("CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END,Name_WorkGroup") ->buildSql(); $XX3 = Db::table('ql_report_feedback_day')->alias('a') ->field(" CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq, ROUND(SUM( CASE WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0) THEN CASE WHEN a.cCyddxMc = '装配' OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%' THEN CASE WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END = 0 THEN c.nzdls ELSE ( CASE WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END ELSE c.nzdls END ) END ELSE 0 END ELSE CASE WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/ THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) * CASE WHEN a.cCyddxMc = '装配' OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%' THEN CASE WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END = 0 THEN c.nzdls ELSE ( CASE WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END ELSE c.nzdls END ) END ELSE 0 END ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0) END END ) , 3) 马77乙纸令 ") ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER') ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER') ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER') ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT') ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT') ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT') ->where('Name_WorkGroup','=','胶钉精密达3号(乙班)') ->whereIn('a.cTechName', ['胶订联动', '胶头']) ->group("CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END,Name_WorkGroup") ->buildSql(); //DISTINCT DATE_FORMAT(A.RQ, '%Y-%m-%d') AS rq, $db = Db::table($A . 'a') ->field(" DISTINCT DATE(A.RQ) rq, floor(IFNULL(sum(b.马1甲纸令数), 0) + IFNULL(sum(b1.马1乙纸令数), 0) + IFNULL(sum(C.马2甲纸令数), 0) + IFNULL(sum(C1.马2乙纸令数), 0) + IFNULL(sum(D.马3甲纸令数), 0) + IFNULL(sum(D1.马3乙纸令数), 0) + IFNULL(sum(E.马4甲纸令数), 0) + IFNULL(sum(E1.马4乙纸令数), 0) + IFNULL(sum(f.马5甲纸令数), 0) + IFNULL(sum(f1.马5乙纸令数), 0) + IFNULL(sum(Bb.马11甲纸令), 0) + IFNULL(sum(cc.马22甲纸令), 0) + IFNULL(sum(ee.马33甲纸令), 0) + IFNULL(sum(hh.马44甲纸令), 0) + IFNULL(sum(xx.马55甲纸令), 0) + IFNULL(sum(Bb1.马11乙纸令), 0) + IFNULL(sum(cc1.马22乙纸令), 0) + IFNULL(sum(ee1.马33乙纸令), 0) + IFNULL(sum(hh1.马44乙纸令), 0) + IFNULL(sum(xx1.马55乙纸令), 0) + IFNULL(sum(xx2.马66乙纸令), 0) + IFNULL(sum(xx3.马77乙纸令), 0) + IFNULL(sum(xxx2.马66甲纸令), 0) + IFNULL(sum(xxx3.马77甲纸令), 0)) 纸令数总计 ") ->join('(' . $B . ') as b', ' a.rq = b.rq','LEFT') ->join('(' . $B1 . ') as b1', 'a.rq = b1.rq','LEFT') ->join('(' . $C . ') as c', 'a.rq = c.rq','LEFT') ->join('(' . $C1 . ') as c1', 'a.rq = c1.rq','LEFT') ->join('(' . $D . ') as d', 'a.rq = d.rq','LEFT') ->join('(' . $D1 . ') as d1', 'a.rq = d1.rq','LEFT') ->join('(' . $E . ') as e', 'a.rq = e.rq','LEFT') ->join('(' . $E1 . ') as e1', 'a.rq = e1.rq','LEFT') ->join('(' . $F . ') as f', 'a.rq = f.rq','LEFT') ->join('(' . $F1 . ') as f1', 'a.rq = f1.rq','LEFT') ->join('(' . $Bb . ') as bb', 'a.rq = bb.rq','LEFT') ->join('(' . $Bb1 . ') as bb1', 'a.rq = bb1.rq','LEFT') ->join('(' . $CC . ') as cc', 'a.rq = cc.rq','LEFT') ->join('(' . $CC1 . ') as cc1', 'a.rq = cc1.rq','LEFT') ->join('(' . $EE . ') as ee', 'a.rq = ee.rq','LEFT') ->join('(' . $EE1 . ') as ee1', 'a.rq = ee1.rq','LEFT') ->join('(' . $HH . ') as hh', 'a.rq = hh.rq','LEFT') ->join('(' . $HH1 . ') as hh1', 'a.rq = hh1.rq','LEFT') ->join('(' . $XX . ') as xx', 'a.rq = xx.rq','LEFT') ->join('(' . $XX1 . ') as xx1', 'a.rq = xx1.rq','LEFT') ->join('(' . $XX2 . ') as xx2', 'a.rq = xx2.rq','LEFT') ->join('(' . $XX3 . ') as xx3', 'a.rq = xx3.rq','LEFT') ->join('(' . $XXX2 . ') as xxx2', 'a.rq = xxx2.rq','LEFT') ->join('(' . $XXX3 . ') as xxx3', 'a.rq = xxx3.rq','LEFT') ->group('rq') ->buildSql(); //按每个月进行查询 累计相加每月数据 ROUND(SUM( db.纸令数总计 )) AS '无线胶订纸令' $sql_final = Db::table($db . ' db') ->field(" DATE_FORMAT(db.rq, '%Y-%m') as rq, ROUND(SUM(db.纸令数总计), 0) AS jdzl ") ->where("db.RQ >= '{$this->qianstart_time()}'AND db.RQ <= '{$this->end_time()}' ") ->group("DATE_FORMAT(db.rq, '%Y-%m')") ->select(); // 初始化数据 $i = 0; $j = 0; $k = 0; $list['categories'] = ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12']; $currentYear = date("Y"); // 当前年份 $previousYear = (int)$currentYear - 1; // 去年 $previousTwoYear = (int)$currentYear - 2; // 前年 // 为三年的数据创建数组,初始值为0 $list['series'][0]['name'] = $previousTwoYear . '年'; // 前年 $list['series'][0]['data'] = array_fill(0, 12, 0); // 初始化为12个月的数据 $list['series'][1]['name'] = $previousYear . '年'; // 去年 $list['series'][1]['data'] = array_fill(0, 12, 0); // 初始化为12个月的数据 $list['series'][2]['name'] = $currentYear . '年'; // 今年 $list['series'][2]['data'] = array_fill(0, (int)date("m"), 0); // 初始化到当前月份的数据 // 遍历查询结果并填充数据 foreach ($sql_final as $v) { // 获取年份和月份 $year = substr($v['rq'], 0, 4); $month = substr($v['rq'], 5, 2); // 如果是前年数据 if ($year == $previousTwoYear) { $list['series'][0]['data'][(int)$month - 1] = $v['jdzl']; } // 如果是去年数据 if ($year == $previousYear) { $list['series'][1]['data'][(int)$month - 1] = $v['jdzl']; } // 如果是今年数据 if ($year == $currentYear) { $list['series'][2]['data'][(int)$month - 1] = $v['jdzl']; } } $res['status'] = 0; $res['msg'] = ''; $res['data'] = $list; $redis->set($redis_key, json_encode($res)); return json_encode($res); } //胶订纸令->接口调用 public function jdzl(){ $redis=redis(); $redis_key = md5('jdzl_redis'); $redis_data = $redis->get($redis_key); return $redis_data; } //精装纸令->缓存调用 public function jzzl_redis(){ $redis=redis(); $redis_key = md5('jzzl_redis'); //首先定义了起始时间和结束时间 $A = Db::table('cpjtfk')->field("DISTINCT DATE_FORMAT(drptdate, '%Y-%m-%d') AS rq") ->union(function ($query) { $query->table('scDayRpt_Teams')->alias('b') ->field("DISTINCT DATE_FORMAT( CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i:%s') < '06:30:00' THEN DATE_SUB(b.dOnDuty, INTERVAL 1 DAY) ELSE b.dOnDuty END, '%Y-%m-%d' ) AS RQ"); }, true) ->buildSql(); //精1甲、精1甲纸令数 $B = Db::table('cpjtfk') ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT') ->field(" DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq, sum(mcyd.NZWyz * iWCl / 1000) as 精1甲纸令数 ") ->where('cpjtfk.cbanzu','=','精装生产联动线(甲班)') ->group('drptdate,cbanzu') ->buildSql(); //精1乙 精1乙纸令数 $B1 = Db::table('cpjtfk') ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT') ->field(" DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq, sum(mcyd.NZWyz * iWCl / 1000) as 精1乙纸令数 ") ->where('cpjtfk.cbanzu','=','精装生产联动线(乙班)') ->group('drptdate,cbanzu') ->buildSql(); $rr = Db::table('scyddx')->alias('r') ->field('r.ICYDID,sum(r.NYSLS) as zl') ->group('r.ICYDID') ->buildSql(); //精11甲--精11甲纸令 $Bb = Db::table('ql_report_feedback_day')->alias('a') ->field(" CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq, ROUND(SUM( CASE WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0) THEN CASE WHEN a.cCyddxMc = '装配' OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%' THEN CASE WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END = 0 THEN c.nzdls ELSE ( CASE WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END ELSE c.nzdls END ) END ELSE 0 END ELSE CASE WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/ THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) * CASE WHEN a.cCyddxMc = '装配' OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%' THEN CASE WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END = 0 THEN c.nzdls ELSE ( CASE WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END ELSE c.nzdls END ) END ELSE 0 END ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0) END END ) , 3) 精11甲纸令, d.cSccpbh ") ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER') ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER') ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER') ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT') ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT') ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT') ->where('Name_WorkGroup','=','精装联动线01号(甲班)') ->where('a.cTechName' ,'=','精装联动') ->whereNotIn('d.cSccpbh', ['202305137S-D01', '202305176S-D01']) ->group("CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END,Name_WorkGroup") ->buildSql(); //精11乙--精11乙纸令 $Bb1 = Db::table('ql_report_feedback_day')->alias('a') ->field(" CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq, ROUND(SUM( CASE WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0) THEN CASE WHEN a.cCyddxMc = '装配' OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%' THEN CASE WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END = 0 THEN c.nzdls ELSE ( CASE WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END ELSE c.nzdls END ) END ELSE 0 END ELSE CASE WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/ THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) * CASE WHEN a.cCyddxMc = '装配' OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%' THEN CASE WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END = 0 THEN c.nzdls ELSE ( CASE WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END ELSE c.nzdls END ) END ELSE 0 END ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0) END END ) , 3) 精11乙纸令, d.cSccpbh ") ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER') ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER') ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER') ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT') ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT') ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT') ->where('Name_WorkGroup','=','精装联动线01号(乙班)') ->where('a.cTechName' ,'=','精装联动') ->whereNotIn('d.cSccpbh', ['202305137S-D01', '202305176S-D01']) ->group("CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END,Name_WorkGroup") ->buildSql(); $db = Db::table($A . 'a') ->field(" DISTINCT DATE(A.RQ) rq, floor(IFNULL(sum(b.精1甲纸令数), 0) + IFNULL(sum(b1.精1乙纸令数), 0) + IFNULL(sum(Bb.精11甲纸令), 0) + IFNULL(sum(Bb1.精11乙纸令), 0)) 纸令数总计 ") ->join('(' . $B . ') as b', ' a.rq = b.rq','LEFT') ->join('(' . $B1 . ') as b1', 'a.rq = b1.rq','LEFT') ->join('(' . $Bb . ') as bb', 'a.rq = bb.rq','LEFT') ->join('(' . $Bb1 . ') as bb1', 'a.rq = bb1.rq','LEFT') ->group('rq') ->buildSql(); $sql_final = Db::table($db . ' db') ->field(" DATE_FORMAT(db.rq, '%Y-%m') as rq, ROUND(sum(db.纸令数总计), 0) as jzzl ") ->where("db.RQ >= '{$this->qianstart_time()}'AND db.RQ <= '{$this->end_time()}' ") ->group("DATE_FORMAT(db.rq, '%Y-%m')") ->select(); $redis->set($redis_key, json_encode($sql_final)); echo date("Y-m-d H:i:s").' 存进去了'; return $sql_final; } //精装纸令->接口调用 public function jzzl(){ $redis=redis(); $sql_final = json_decode($redis->get(md5('jzzl_redis')), true); $i = 0; $j = 0; $k = 0; $list['categories'] = ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12']; // 获取当前年份、去年和前年 $currentYear = date("Y"); // 当前年份 $previousYear = (int)$currentYear - 1; // 去年 $previousTwoYear = (int)$currentYear - 2; // 前年 // 初始化三年的数据 $list['series'][0]['name'] = $previousTwoYear . '年'; // 前年 $list['series'][0]['data'] = array_fill(0, 12, 0); // 初始化为12个月的数据 $list['series'][1]['name'] = $previousYear . '年'; // 去年 $list['series'][1]['data'] = array_fill(0, 12, 0); // 初始化为12个月的数据 $list['series'][2]['name'] = $currentYear . '年'; // 今年 $list['series'][2]['data'] = array_fill(0, (int)date("m"), 0); // 初始化到当前月份的数据 // 遍历查询结果并填充数据 foreach ($sql_final as $v) { // 获取年份和月份 $year = substr($v['rq'], 0, 4); $month = substr($v['rq'], 5, 2); // 如果是前年数据 if ($year == $previousTwoYear) { $list['series'][0]['data'][(int)$month - 1] = $v['jzzl']; } // 如果是去年数据 if ($year == $previousYear) { $list['series'][1]['data'][(int)$month - 1] = $v['jzzl']; } // 如果是今年数据 if ($year == $currentYear) { $list['series'][2]['data'][(int)$month - 1] = $v['jzzl']; } } $res['status'] = 0; $res['msg'] = ''; $res['data'] = $list; return json_encode($res); } //骑马纸令->缓存调用 public function qmzl_redis(){ $redis=redis(); $redis_key = md5('qmzl_redis'); //1.使用`Db::table('cpjtfk')`来指定查询的数据表是'cpjtfk'。 //3.使用`union()`方法进行联合查询。在联合查询中,使用了一个闭包函数来构建子查询。 //4.在子查询中,使用`table('scDayRpt_Teams')->alias('b')`来指定查询的数据表是'scDayRpt_Teams',并给该表设置了别名'b'。 //5.使用`field()`方法指定要查询的字段列表,这里是将dOnDuty字段进行一系列操作,包括判断条件和日期格式化。 //6.使用`buildSql()`方法生成最终的SQL查询语句,并将生成的SQL语句作为A变量的值。 //7.根据代码的逻辑,变量A生成了一个联合查询的SQL语句,用于查询'cpjtfk'表和'scDayRpt_Teams'表中的日期字段,并按照指定格式进行格式化。 $A = Db::table('cpjtfk')->field("DISTINCT DATE_FORMAT(drptdate, '%Y-%m-%d') AS rq") ->union(function ($query) { $query->table('scDayRpt_Teams')->alias('b') ->field("DISTINCT DATE_FORMAT( CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i:%s') < '06:30:00' THEN DATE_SUB(b.dOnDuty, INTERVAL 1 DAY) ELSE b.dOnDuty END, '%Y-%m-%d' ) AS RQ"); }, true) ->buildSql(); //每个变量($B, $B1, $C, $C1, $D, $D1, $E, $E1)都是构建SQL查询语句的过程。 //通过调用Db::table('cpjtfk')来指定查询的数据表是'cpjtfk'。 //然后使用join()方法进行表连接,将'cpjtfk'表与'mcyd'表进行左连接,连接条件为'mcyd.ICYDID = cpjtfk.ID_CYD'。 //使用field()方法指定查询的字段列表,并可以使用sum()函数对字段进行求和计算。 //使用where()方法指定筛选条件,只返回满足条件的数据。最后,使用group()方法指定分组的字段。 //最后,使用buildSql()方法生成最终的SQL查询语句,并将生成的SQL语句作为变量的值。 //根据代码的逻辑,每个变量都生成了一个SQL查询语句,用于查询不同班组的订单信息 $B = Db::table('cpjtfk') ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT') ->field(" DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq, sum(mcyd.NZWyz * iWCl / 1000) as 骑1甲纸令数 ") ->where('cpjtfk.cbanzu','=','进口骑马联动(甲班)') ->group('drptdate,cbanzu') ->buildSql(); $B1 = Db::table('cpjtfk') ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT') ->field(" DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq, sum(mcyd.NZWyz * iWCl / 1000) as 骑1乙纸令数 ") ->where('cpjtfk.cbanzu','=','进口骑马联动(乙班)') ->group('drptdate,cbanzu') ->buildSql(); $C = Db::table('cpjtfk') ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT') ->field(" DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq, sum(mcyd.NZWyz * iWCl / 1000) as 骑2甲纸令数 ") ->where('cpjtfk.cbanzu','=','恒山骑订联动(甲班)') ->group('drptdate,cbanzu') ->buildSql(); $C1 = Db::table('cpjtfk') ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT') ->field(" DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq, sum(mcyd.NZWyz * iWCl / 1000) as 骑2乙纸令数 ") ->where('cpjtfk.cbanzu','=','恒山骑订联动(乙班)') ->group('drptdate,cbanzu') ->buildSql(); $D = Db::table('cpjtfk') ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT') ->field(" DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq, sum(mcyd.NZWyz * iWCl / 1000) as 骑3甲纸令数 ") ->where('cpjtfk.cbanzu','=','紫光骑马联动(甲班)') ->group('drptdate,cbanzu') ->buildSql(); $D1 = Db::table('cpjtfk') ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT') ->field(" DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq, sum(mcyd.NZWyz * iWCl / 1000) as 骑3乙纸令数 ") ->where('cpjtfk.cbanzu','=','紫光骑马联动(乙班)') ->group('drptdate,cbanzu') ->buildSql(); $E = Db::table('cpjtfk') ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT') ->field(" DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq, sum(mcyd.NZWyz * iWCl / 1000) as 骑4甲纸令数 ") ->where('cpjtfk.cbanzu','=','紫光骑马联动(新)(甲班)') ->group('drptdate,cbanzu') ->buildSql(); $E1 = Db::table('cpjtfk') ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT') ->field(" DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq, sum(mcyd.NZWyz * iWCl / 1000) as 骑4乙纸令数 ") ->where('cpjtfk.cbanzu','=','紫光骑马联动(新)(乙班)') ->group('drptdate,cbanzu') ->buildSql(); $rr = Db::table('scyddx')->alias('r') ->field('r.ICYDID,sum(r.NYSLS) as zl') ->group('r.ICYDID') ->buildSql(); //1.首先,定义了一个查询语句,该查询语句涉及多个表的连接和字段的计算。 //2.使用别名$Bb表示主查询结果。 //3.查询的主要数据来源是表ql_report_feedback_day。 //4.在字段的计算中,使用了多个CASE和WHEN语句进行条件判断和计算逻辑。 //5.在查询中,使用了多个表的连接操作,包括scdayrpt_teams、scdayrpt_teams_jobcontent、scMachineJob、zdcp和mcyd。 //6.使用WHERE条件筛选出满足特定条件的记录,包括Name_WorkGroup等于'骑马联动01号(甲班)'和a.cTechName等于'骑马联动'。 //7.最后,使用GROUPBY对结果进行分组,根据日期和班组进行分组。 //8.通过buildSql方法生成最终的SQL查询语句 $Bb = Db::table('ql_report_feedback_day')->alias('a') ->field(" CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq, ROUND(SUM( CASE WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0) THEN CASE WHEN a.cCyddxMc = '装配' OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%' THEN CASE WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END = 0 THEN c.nzdls ELSE ( CASE WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END ELSE c.nzdls END ) END ELSE 0 END ELSE CASE WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/ THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) * CASE WHEN a.cCyddxMc = '装配' OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%' THEN CASE WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END = 0 THEN c.nzdls ELSE ( CASE WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END ELSE c.nzdls END ) END ELSE 0 END ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0) END END ) , 3) 骑11甲纸令 ") ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER') ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER') ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER') ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT') ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT') ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT') ->where('Name_WorkGroup','=','骑马联动01号(甲班)') ->where('a.cTechName' ,'=','骑马联动') ->group("CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END,Name_WorkGroup") ->buildSql(); $Bb1 = Db::table('ql_report_feedback_day')->alias('a') ->field(" CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq, ROUND(SUM( CASE WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0) THEN CASE WHEN a.cCyddxMc = '装配' OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%' THEN CASE WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END = 0 THEN c.nzdls ELSE ( CASE WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END ELSE c.nzdls END ) END ELSE 0 END ELSE CASE WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/ THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) * CASE WHEN a.cCyddxMc = '装配' OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%' THEN CASE WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END = 0 THEN c.nzdls ELSE ( CASE WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END ELSE c.nzdls END ) END ELSE 0 END ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0) END END ) , 3) 骑11乙纸令 ") ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER') ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER') ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER') ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT') ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT') ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT') ->where('Name_WorkGroup','=','骑马联动01号(乙班)') ->where('a.cTechName' ,'=','骑马联动') ->group("CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END,Name_WorkGroup") ->buildSql(); $CC = Db::table('ql_report_feedback_day')->alias('a') ->field(" CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq, ROUND(SUM( CASE WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0) THEN CASE WHEN a.cCyddxMc = '装配' OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%' THEN CASE WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END = 0 THEN c.nzdls ELSE ( CASE WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END ELSE c.nzdls END ) END ELSE 0 END ELSE CASE WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/ THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) * CASE WHEN a.cCyddxMc = '装配' OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%' THEN CASE WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END = 0 THEN c.nzdls ELSE ( CASE WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END ELSE c.nzdls END ) END ELSE 0 END ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0) END END ) , 3) 骑22甲纸令 ") ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER') ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER') ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER') ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT') ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT') ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT') ->where('Name_WorkGroup','=','骑马联动02号(甲班)') ->where('a.cTechName' ,'=','骑马联动') ->group("CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END,Name_WorkGroup") ->buildSql(); $CC1 = Db::table('ql_report_feedback_day')->alias('a') ->field(" CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq, ROUND(SUM( CASE WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0) THEN CASE WHEN a.cCyddxMc = '装配' OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%' THEN CASE WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END = 0 THEN c.nzdls ELSE ( CASE WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END ELSE c.nzdls END ) END ELSE 0 END ELSE CASE WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/ THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) * CASE WHEN a.cCyddxMc = '装配' OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%' THEN CASE WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END = 0 THEN c.nzdls ELSE ( CASE WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END ELSE c.nzdls END ) END ELSE 0 END ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0) END END ) , 3) 骑22乙纸令 ") ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER') ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER') ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER') ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT') ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT') ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT') ->where('Name_WorkGroup','=','骑马联动02号(乙班)') ->where('a.cTechName' ,'=','骑马联动') ->group("CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END,Name_WorkGroup") ->buildSql(); $EE = Db::table('ql_report_feedback_day')->alias('a') ->field(" CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq, ROUND(SUM( CASE WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0) THEN CASE WHEN a.cCyddxMc = '装配' OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%' THEN CASE WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END = 0 THEN c.nzdls ELSE ( CASE WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END ELSE c.nzdls END ) END ELSE 0 END ELSE CASE WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/ THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) * CASE WHEN a.cCyddxMc = '装配' OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%' THEN CASE WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END = 0 THEN c.nzdls ELSE ( CASE WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END ELSE c.nzdls END ) END ELSE 0 END ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0) END END ) , 3) 骑33甲纸令 ") ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER') ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER') ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER') ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT') ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT') ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT') ->where('Name_WorkGroup','=','骑马联动03号(甲班)') ->where('a.cTechName' ,'=','骑马联动') ->group("CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END,Name_WorkGroup") ->buildSql(); $EE1 = Db::table('ql_report_feedback_day')->alias('a') ->field(" CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq, ROUND(SUM( CASE WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0) THEN CASE WHEN a.cCyddxMc = '装配' OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%' THEN CASE WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END = 0 THEN c.nzdls ELSE ( CASE WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END ELSE c.nzdls END ) END ELSE 0 END ELSE CASE WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/ THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) * CASE WHEN a.cCyddxMc = '装配' OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%' THEN CASE WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END = 0 THEN c.nzdls ELSE ( CASE WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END ELSE c.nzdls END ) END ELSE 0 END ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0) END END ) , 3) 骑33乙纸令 ") ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER') ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER') ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER') ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT') ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT') ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT') ->where('Name_WorkGroup','=','骑马联动03号(乙班)') ->where('a.cTechName' ,'=','骑马联动') ->group("CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END,Name_WorkGroup") ->buildSql(); $HH = Db::table('ql_report_feedback_day')->alias('a') ->field(" CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq, ROUND(SUM( CASE WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0) THEN CASE WHEN a.cCyddxMc = '装配' OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%' THEN CASE WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END = 0 THEN c.nzdls ELSE ( CASE WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END ELSE c.nzdls END ) END ELSE 0 END ELSE CASE WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/ THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) * CASE WHEN a.cCyddxMc = '装配' OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%' THEN CASE WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END = 0 THEN c.nzdls ELSE ( CASE WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END ELSE c.nzdls END ) END ELSE 0 END ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0) END END ) , 3) 骑44甲纸令 ") ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER') ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER') ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER') ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT') ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT') ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT') ->where('Name_WorkGroup','=','骑马联动04号(甲班)') ->where('a.cTechName' ,'=','骑马联动') ->group("CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END,Name_WorkGroup") ->buildSql(); $HH1 = Db::table('ql_report_feedback_day')->alias('a') ->field(" CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq, ROUND(SUM( CASE WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0) THEN CASE WHEN a.cCyddxMc = '装配' OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%' THEN CASE WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END = 0 THEN c.nzdls ELSE ( CASE WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END ELSE c.nzdls END ) END ELSE 0 END ELSE CASE WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/ THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) * CASE WHEN a.cCyddxMc = '装配' OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%' THEN CASE WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END = 0 THEN c.nzdls ELSE ( CASE WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END ELSE c.nzdls END ) END ELSE 0 END ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0) END END ) , 3) 骑44乙纸令 ") ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER') ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER') ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER') ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT') ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT') ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT') ->where('Name_WorkGroup','=','骑马联动04号(乙班)') ->where('a.cTechName' ,'=','骑马联动') ->group("CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END,Name_WorkGroup") ->buildSql(); $db = Db::table($A . 'a') ->field(" DISTINCT DATE(A.RQ) rq, TRUNCATE(IFNULL(sum(b.骑1甲纸令数), 0) + IFNULL(sum(b1.骑1乙纸令数), 0) + IFNULL(sum(C.骑2甲纸令数), 0) + IFNULL(sum(C1.骑2乙纸令数), 0) + IFNULL(sum(D.骑3甲纸令数), 0) + IFNULL(sum(D1.骑3乙纸令数), 0) + IFNULL(sum(E.骑4甲纸令数), 0) + IFNULL(sum(E1.骑4乙纸令数), 0) + IFNULL(sum(Bb.骑11甲纸令), 0) + IFNULL(sum(cc.骑22甲纸令), 0) + IFNULL(sum(ee.骑33甲纸令), 0) + IFNULL(sum(hh.骑44甲纸令), 0) + IFNULL(sum(Bb1.骑11乙纸令), 0) + IFNULL(sum(cc1.骑22乙纸令), 0) + IFNULL(sum(ee1.骑33乙纸令), 0) + IFNULL(sum(hh1.骑44乙纸令), 0), 0) 纸令数总计 ") ->join('(' . $B . ') as b', ' a.rq = b.rq','LEFT') ->join('(' . $B1 . ') as b1', ' a.rq = b1.rq','LEFT') ->join('(' . $C . ') as c', ' a.rq = c.rq','LEFT') ->join('(' . $C1 . ') as c1', ' a.rq = c1.rq','LEFT') ->join('(' . $D . ') as d', ' a.rq = d.rq','LEFT') ->join('(' . $D1 . ') as d1', ' a.rq = d1.rq','LEFT') ->join('(' . $E . ') as e', ' a.rq = e.rq','LEFT') ->join('(' . $E1 . ') as e1', ' a.rq = e1.rq','LEFT') ->join('(' . $Bb . ') as bb', ' a.rq = bb.rq','LEFT') ->join('(' . $Bb1 . ')as bb1', 'a.rq = bb1.rq','LEFT') ->join('(' . $CC . ') as cc', ' a.rq = cc.rq','LEFT') ->join('(' . $CC1 . ')as cc1', 'a.rq = cc1.rq','LEFT') ->join('(' . $EE . ') as ee', ' a.rq = ee.rq','LEFT') ->join('(' . $EE1 . ')as ee1', 'a.rq = ee1.rq','LEFT') ->join('(' . $HH . ') as hh', ' a.rq = hh.rq','LEFT') ->join('(' . $HH1 . ')as hh1', 'a.rq = hh1.rq','LEFT') ->group('rq') ->buildSql(); //使用GROUP BY对日期字段进行分组 //汇总每个月骑马纸令总和 $sql_final = Db::table($db . ' db') ->field(" DATE_FORMAT(db.rq, '%Y-%m') as rq, ROUND(sum(db.纸令数总计),0) as qmzl ") ->where("db.rq >= '{$this->qianstart_time()}'AND db.rq <= '{$this->end_time()}' ") ->group("DATE_FORMAT(db.rq, '%Y-%m')") ->select(); // 初始化数据 $i = 0; $j = 0; $k = 0; $list['categories'] = ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12']; $currentYear = date("Y"); // 当前年份 $previousYear = (int)$currentYear - 1; // 去年 $previousTwoYear = (int)$currentYear - 2; // 前年 // 为三年的数据创建数组,初始值为0 $list['series'][0]['name'] = $previousTwoYear . '年'; // 前年 $list['series'][0]['data'] = array_fill(0, 12, 0); // 初始化为12个月的数据 $list['series'][1]['name'] = $previousYear . '年'; // 去年 $list['series'][1]['data'] = array_fill(0, 12, 0); // 初始化为12个月的数据 $list['series'][2]['name'] = $currentYear . '年'; // 今年 $list['series'][2]['data'] = array_fill(0, (int)date("m"), 0); // 初始化到当前月份的数据 // 遍历查询结果并填充数据 foreach ($sql_final as $v) { // 获取年份和月份 $year = substr($v['rq'], 0, 4); $month = substr($v['rq'], 5, 2); // 如果是前年数据 if ($year == $previousTwoYear) { $list['series'][0]['data'][(int)$month - 1] = $v['qmzl']; } // 如果是去年数据 if ($year == $previousYear) { $list['series'][1]['data'][(int)$month - 1] = $v['qmzl']; } // 如果是今年数据 if ($year == $currentYear) { $list['series'][2]['data'][(int)$month - 1] = $v['qmzl']; } } $res['status'] = 0; $res['msg'] = ''; $res['data'] = $list; $redis->set($redis_key, json_encode($res)); return json_encode($res); } //骑马纸令->接口调用 public function qmzl(){ $redis=redis(); $redis_key = md5('qmzl_redis'); $redis_data = $redis->get($redis_key); return $redis_data; } //胶订册数->缓存调用 public function jdcs_redis(){ $redis=redis(); $redis_key = md5('jdcs_redis'); $A = Db::table('cpjtfk')->field("DISTINCT DATE_FORMAT(drptdate, '%Y-%m-%d') AS rq") ->union(function ($query) { $query->table('scDayRpt_Teams')->alias('b') ->field("DISTINCT DATE_FORMAT( CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i:%s') < '06:30:00' THEN DATE_SUB(b.dOnDuty, INTERVAL 1 DAY) ELSE b.dOnDuty END, '%Y-%m-%d' ) AS RQ"); }, true) ->buildSql(); $B = Db::table('cpjtfk') ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT') ->field(" DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq, sum(iwcl) as 马1甲 ") ->where('cpjtfk.cbanzu','=','马天尼(新)(甲班)') ->group('drptdate,cbanzu') ->buildSql(); $B1 = Db::table('cpjtfk') ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT') ->field(" DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq, sum(iwcl) as 马1乙 ") ->where('cpjtfk.cbanzu','=','马天尼(新)(乙班)') ->group('drptdate,cbanzu') ->buildSql(); $C = Db::table('cpjtfk') ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT') ->field(" DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq, sum(iwcl) as 马2甲 ") ->where('cpjtfk.cbanzu','=','马天尼2号(甲班)') ->group('drptdate,cbanzu') ->buildSql(); $C1 = Db::table('cpjtfk') ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT') ->field(" DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq, sum(iwcl) as 马2乙 ") ->where('cpjtfk.cbanzu','=','马天尼2号(乙班)') ->group('drptdate,cbanzu') ->buildSql(); $D = Db::table('cpjtfk') ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT') ->field(" DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq, sum(iwcl) as 马3甲 ") ->where('cpjtfk.cbanzu','=','无线胶订3号(甲班)') ->group('drptdate,cbanzu') ->buildSql(); $D1 = Db::table('cpjtfk') ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT') ->field(" DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq, sum(iwcl) as 马3乙 ") ->where('cpjtfk.cbanzu','=','无线胶订3号(乙班)') ->group('drptdate,cbanzu') ->buildSql(); $E = Db::table('cpjtfk') ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT') ->field(" DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq, sum(iwcl) as 马4甲 ") ->where('cpjtfk.cbanzu','=','无线胶订4号(甲班)') ->group('drptdate,cbanzu') ->buildSql(); $E1 = Db::table('cpjtfk') ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT') ->field(" DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq, sum(iwcl) as 马4乙 ") ->where('cpjtfk.cbanzu','=','无线胶订4号(乙班)') ->group('drptdate,cbanzu') ->buildSql(); $F = Db::table('cpjtfk') ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT') ->field(" DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq, sum(iwcl) as 马5甲 ") ->where('cpjtfk.cbanzu','=','无线胶订5号(甲班)') ->group('drptdate,cbanzu') ->buildSql(); $F1 = Db::table('cpjtfk') ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT') ->field(" DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq, sum(iwcl) as 马5乙, sum(mcyd.NZWyz * iWCl / 1000) as 马5乙纸令数 ") ->where('cpjtfk.cbanzu','=','无线胶订5号(乙班)') ->group('drptdate,cbanzu') ->buildSql(); $rr = Db::table('scyddx')->alias('r') ->field('r.ICYDID,sum(r.NYSLS) as zl') ->group('r.ICYDID') ->buildSql(); $Bb = Db::table('ql_report_feedback_day')->alias('a') ->field(" CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq, sum(a.nAmount) as 马11甲") ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER') ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER') ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER') ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT') ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT') ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT') ->where('Name_WorkGroup','=','胶订潮流1号(甲班)') ->whereIn('a.cTechName', ['胶订联动', '胶头']) ->group("CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END,Name_WorkGroup")->buildSql(); $Bb1 = Db::table('ql_report_feedback_day')->alias('a') ->field(" CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq, sum(a.nAmount) as 马11乙 ") ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER') ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER') ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER') ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT') ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT') ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT') ->where('Name_WorkGroup','=','胶订潮流1号(乙班)') ->whereIn('a.cTechName', ['胶订联动', '胶头']) ->group("CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END,Name_WorkGroup") ->buildSql(); $CC = Db::table('ql_report_feedback_day')->alias('a') ->field(" CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq, sum(a.nAmount) as 马22甲 ") ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER') ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER') ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER') ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT') ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT') ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT') ->where('Name_WorkGroup','=','胶订潮流2号(甲班)') ->whereIn('a.cTechName', ['胶订联动', '胶头']) ->group("CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END,Name_WorkGroup") ->buildSql(); $CC1 = Db::table('ql_report_feedback_day')->alias('a') ->field(" CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq, sum(a.nAmount) as 马22乙 ") ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER') ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER') ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER') ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT') ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT') ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT') ->where('Name_WorkGroup','=','胶订潮流2号(乙班)') ->whereIn('a.cTechName', ['胶订联动', '胶头']) ->group("CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END,Name_WorkGroup") ->buildSql(); $EE = Db::table('ql_report_feedback_day')->alias('a') ->field(" CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq, sum(a.nAmount) as 马33甲 ") ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER') ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER') ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER') ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT') ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT') ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT') ->where('Name_WorkGroup','=','胶订精工1号(甲班)') ->whereIn('a.cTechName', ['胶订联动', '胶头']) ->group("CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END,Name_WorkGroup") ->buildSql(); $EE1 = Db::table('ql_report_feedback_day')->alias('a') ->field(" CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq, sum(a.nAmount) as 马33乙 ") ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER') ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER') ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER') ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT') ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT') ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT') ->where('Name_WorkGroup','=','胶订精工1号(乙班)') ->whereIn('a.cTechName', ['胶订联动', '胶头']) ->group("CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END,Name_WorkGroup") ->buildSql(); $HH = Db::table('ql_report_feedback_day')->alias('a') ->field(" CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq, sum(a.nAmount) as 马44甲 ") ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER') ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER') ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER') ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT') ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT') ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT') ->where('Name_WorkGroup','=','胶订精密达1号(甲班)') ->whereIn('a.cTechName', ['胶订联动', '胶头']) ->group("CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END,Name_WorkGroup") ->buildSql(); $HH1 = Db::table('ql_report_feedback_day')->alias('a') ->field(" CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq, sum(a.nAmount) as 马44乙 ") ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER') ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER') ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER') ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT') ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT') ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT') ->where('Name_WorkGroup','=','胶订精密达1号(乙班)') ->whereIn('a.cTechName', ['胶订联动', '胶头']) ->group("CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END,Name_WorkGroup") ->buildSql(); $XX = Db::table('ql_report_feedback_day')->alias('a') ->field(" CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq, sum(a.nAmount) as 马55甲 ") ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER') ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER') ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER') ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT') ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT') ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT') ->where('Name_WorkGroup','=','胶订精密达2号(甲班)') ->whereIn('a.cTechName', ['胶订联动', '胶头']) ->group("CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END,Name_WorkGroup") ->buildSql(); $XXX2 = Db::table('ql_report_feedback_day')->alias('a') ->field(" CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq, sum(a.nAmount) as 马66甲 ") ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER') ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER') ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER') ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT') ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT') ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT') ->where('Name_WorkGroup','=','胶订精密达3号(甲班)') ->whereIn('a.cTechName', ['胶订联动', '胶头']) ->group("CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END,Name_WorkGroup") ->buildSql(); $XXX3 = Db::table('ql_report_feedback_day')->alias('a') ->field(" CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq, sum(a.nAmount) as 马77甲 ") ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER') ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER') ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER') ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT') ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT') ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT') ->where('Name_WorkGroup','=','胶钉精密达3号(甲班)') ->whereIn('a.cTechName', ['胶订联动', '胶头']) ->group("CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END,Name_WorkGroup") ->buildSql(); $XX1 = Db::table('ql_report_feedback_day')->alias('a') ->field(" CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq, sum(a.nAmount) as 马55乙 ") ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER') ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER') ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER') ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT') ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT') ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT') ->where('Name_WorkGroup','=','胶订精密达2号(乙班)') ->whereIn('a.cTechName', ['胶订联动', '胶头']) ->group("CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END,Name_WorkGroup") ->buildSql(); $XX2 = Db::table('ql_report_feedback_day')->alias('a') ->field(" CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq, sum(a.nAmount) as 马66乙 ") ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER') ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER') ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER') ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT') ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT') ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT') ->where('Name_WorkGroup','=','胶订精密达3号(乙班)') ->whereIn('a.cTechName', ['胶订联动', '胶头']) ->group("CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END,Name_WorkGroup") ->buildSql(); $XX3 = Db::table('ql_report_feedback_day')->alias('a') ->field(" CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq, sum(a.nAmount) as 马77乙 ") ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER') ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER') ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER') ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT') ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT') ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT') ->where('Name_WorkGroup','=','胶钉精密达3号(乙班)') ->whereIn('a.cTechName', ['胶订联动', '胶头']) ->group("CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END,Name_WorkGroup") ->buildSql(); $db = Db::table($A . 'a') ->field(" DISTINCT DATE_FORMAT(A.RQ, '%Y-%m-%d') AS rq, IFNULL(B.马1甲, 0) + IFNULL(B1.马1乙, 0) + IFNULL(C.马2甲, 0) + IFNULL(C1.马2乙, 0) + IFNULL(D.马3甲, 0) + IFNULL(D1.马3乙, 0) + IFNULL(E.马4甲, 0) + IFNULL(E1.马4乙, 0) + IFNULL(f.马5甲, 0) + IFNULL(f1.马5乙, 0) + IFNULL(Bb.马11甲, 0) + IFNULL(Bb1.马11乙, 0) + IFNULL(cc.马22甲, 0) + IFNULL(cc1.马22乙, 0) + IFNULL(ee.马33甲, 0) + IFNULL(ee1.马33乙, 0) + IFNULL( hh.马44甲, 0) + IFNULL(hh1.马44乙, 0) + IFNULL(xx.马55甲, 0) + IFNULL(xx1.马55乙, 0) + IFNULL(xxx2.马66甲, 0) + IFNULL(xx2.马66乙, 0) + IFNULL(xxx3.马77甲, 0) + IFNULL(xx3.马77乙, 0) 总计册 ") ->join('(' . $B . ') as b', ' a.rq = b.rq','LEFT') ->join('(' . $B1 . ') as b1', 'a.rq = b1.rq','LEFT') ->join('(' . $C . ') as c', 'a.rq = c.rq','LEFT') ->join('(' . $C1 . ') as c1', 'a.rq = c1.rq','LEFT') ->join('(' . $D . ') as d', 'a.rq = d.rq','LEFT') ->join('(' . $D1 . ') as d1', 'a.rq = d1.rq','LEFT') ->join('(' . $E . ') as e', 'a.rq = e.rq','LEFT') ->join('(' . $E1 . ') as e1', 'a.rq = e1.rq','LEFT') ->join('(' . $F . ') as f', 'a.rq = f.rq','LEFT') ->join('(' . $F1 . ') as f1', 'a.rq = f1.rq','LEFT') ->join('(' . $Bb . ') as bb', 'a.rq = bb.rq','LEFT') ->join('(' . $Bb1 . ') as bb1', 'a.rq = bb1.rq','LEFT') ->join('(' . $CC . ') as cc', 'a.rq = cc.rq','LEFT') ->join('(' . $CC1 . ') as cc1', 'a.rq = cc1.rq','LEFT') ->join('(' . $EE . ') as ee', 'a.rq = ee.rq','LEFT') ->join('(' . $EE1 . ') as ee1', 'a.rq = ee1.rq','LEFT') ->join('(' . $HH . ') as hh', 'a.rq = hh.rq','LEFT') ->join('(' . $HH1 . ') as hh1', 'a.rq = hh1.rq','LEFT') ->join('(' . $XX . ') as xx', 'a.rq = xx.rq','LEFT') ->join('(' . $XX1 . ') as xx1', 'a.rq = xx1.rq','LEFT') ->join('(' . $XX2 . ') as xx2', 'a.rq = xx2.rq','LEFT') ->join('(' . $XX3 . ') as xx3', 'a.rq = xx3.rq','LEFT') ->join('(' . $XXX2 . ') as xxx2', 'a.rq = xxx2.rq','LEFT') ->join('(' . $XXX3 . ') as xxx3', 'a.rq = xxx3.rq','LEFT') ->buildSql(); $sql_final = Db::table($db . ' db') ->field(" DATE_FORMAT(db.rq, '%Y-%m') as rq, ROUND(sum(db.总计册), 0) as jdcs ") ->where("db.RQ >= '{$this->qianstart_time()}' AND db.RQ <= '{$this->end_time()}' ") ->group("DATE_FORMAT(db.rq, '%Y-%m')") ->select(); // 初始化数据 $i = 0; $j = 0; $k = 0; $list['categories'] = ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12']; $currentYear = date("Y"); // 当前年份 $previousYear = (int)$currentYear - 1; // 去年 $previousTwoYear = (int)$currentYear - 2; // 前年 // 为三年的数据创建数组,初始值为0 $list['series'][0]['name'] = $previousTwoYear . '年'; // 前年 $list['series'][0]['data'] = array_fill(0, 12, 0); // 初始化为12个月的数据 $list['series'][1]['name'] = $previousYear . '年'; // 去年 $list['series'][1]['data'] = array_fill(0, 12, 0); // 初始化为12个月的数据 $list['series'][2]['name'] = $currentYear . '年'; // 今年 $list['series'][2]['data'] = array_fill(0, (int)date("m"), 0); // 初始化到当前月份的数据 // 遍历查询结果并填充数据 foreach ($sql_final as $v) { // 获取年份和月份 $year = substr($v['rq'], 0, 4); $month = substr($v['rq'], 5, 2); // 如果是前年数据 if ($year == $previousTwoYear) { $list['series'][0]['data'][(int)$month - 1] = $v['jdcs']; } // 如果是去年数据 if ($year == $previousYear) { $list['series'][1]['data'][(int)$month - 1] = $v['jdcs']; } // 如果是今年数据 if ($year == $currentYear) { $list['series'][2]['data'][(int)$month - 1] = $v['jdcs']; } } $res['status'] = 0; $res['msg'] = ''; $res['data'] = $list; $redis->set($redis_key, json_encode($res)); return json_encode($res); } //胶订册数->接口调用 public function jdcs(){ $redis=redis(); $redis_key = md5('jdcs_redis'); $redis_data = $redis->get($redis_key); return $redis_data; } //精装册数->缓存调用 public function jzcs_redis(){ $redis=redis(); $redis_key = md5('jzcs_redis'); $A = Db::table('cpjtfk')->field("DISTINCT DATE_FORMAT(drptdate, '%Y-%m-%d') AS rq") ->union(function ($query) { $query->table('scDayRpt_Teams')->alias('b') ->field("DISTINCT DATE_FORMAT( CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i:%s') < '06:30:00' THEN DATE_SUB(b.dOnDuty, INTERVAL 1 DAY) ELSE b.dOnDuty END, '%Y-%m-%d' ) AS RQ"); }, true) ->buildSql(); //精1甲、精1甲纸令数 $B = Db::table('cpjtfk') ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT') ->field(" DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq, sum(iwcl) as 精1甲 ") ->where('cpjtfk.cbanzu','=','精装生产联动线(甲班)') ->group('drptdate,cbanzu') ->buildSql(); //精1乙 精1乙纸令数 $B1 = Db::table('cpjtfk') ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT') ->field(" DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq, sum(iwcl) as 精1乙 ") ->where('cpjtfk.cbanzu','=','精装生产联动线(乙班)') ->group('drptdate,cbanzu') ->buildSql(); $rr = Db::table('scyddx')->alias('r') ->field('r.ICYDID,sum(r.NYSLS) as zl') ->group('r.ICYDID') ->buildSql(); //精11甲--精11甲纸令 $Bb = Db::table('ql_report_feedback_day')->alias('a') ->field(" CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq, sum(a.nAmount) as 精11甲 ") ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER') ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER') ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER') ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT') ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT') ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT') ->where('Name_WorkGroup','=','精装联动线01号(甲班)') ->where('a.cTechName' ,'=','精装联动') ->group("CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END,Name_WorkGroup") ->buildSql(); //精11乙--精11乙纸令 $Bb1 = Db::table('ql_report_feedback_day')->alias('a') ->field(" CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq, sum(a.nAmount) as 精11乙 ") ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER') ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER') ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER') ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT') ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT') ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT') ->where('Name_WorkGroup','=','精装联动线01号(乙班)') ->where('a.cTechName' ,'=','精装联动') ->group("CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END,Name_WorkGroup") ->buildSql(); $db = Db::table($A . 'a') ->field(" DISTINCT DATE_FORMAT(A.RQ, '%Y-%m-%d') AS rq, IFNULL(B.精1甲, 0) + IFNULL(B1.精1乙, 0) + IFNULL(Bb.精11甲, 0) + IFNULL(Bb1.精11乙, 0) as 总计册 ") ->join('(' . $B . ') as b', ' a.rq = b.rq','LEFT') ->join('(' . $B1 . ') as b1', 'a.rq = b1.rq','LEFT') ->join('(' . $Bb . ') as bb', 'a.rq = bb.rq','LEFT') ->join('(' . $Bb1 . ') as bb1', 'a.rq = bb1.rq','LEFT') ->buildSql(); $sql_final = Db::table($db . ' db') ->field(" DATE_FORMAT(db.rq, '%Y-%m') as rq, ROUND(sum(db.总计册), 0) as jzcs ") ->where("db.RQ >= '{$this->qianstart_time()}' AND db.RQ <= '{$this->end_time()}' ") ->group("DATE_FORMAT(db.rq, '%Y-%m')") ->select(); // 初始化数据 $i = 0; $j = 0; $k = 0; $list['categories'] = ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12']; $currentYear = date("Y"); // 当前年份 $previousYear = (int)$currentYear - 1; // 去年 $previousTwoYear = (int)$currentYear - 2; // 前年 // 为三年的数据创建数组,初始值为0 $list['series'][0]['name'] = $previousTwoYear . '年'; // 前年 $list['series'][0]['data'] = array_fill(0, 12, 0); // 初始化为12个月的数据 $list['series'][1]['name'] = $previousYear . '年'; // 去年 $list['series'][1]['data'] = array_fill(0, 12, 0); // 初始化为12个月的数据 $list['series'][2]['name'] = $currentYear . '年'; // 今年 $list['series'][2]['data'] = array_fill(0, (int)date("m"), 0); // 初始化到当前月份的数据 // 遍历查询结果并填充数据 foreach ($sql_final as $v) { // 获取年份和月份 $year = substr($v['rq'], 0, 4); $month = substr($v['rq'], 5, 2); // 如果是前年数据 if ($year == $previousTwoYear) { $list['series'][0]['data'][(int)$month - 1] = $v['jzcs']; } // 如果是去年数据 if ($year == $previousYear) { $list['series'][1]['data'][(int)$month - 1] = $v['jzcs']; } // 如果是今年数据 if ($year == $currentYear) { $list['series'][2]['data'][(int)$month - 1] = $v['jzcs']; } } $res['status'] = 0; $res['msg'] = ''; $res['data'] = $list; $redis->set($redis_key, json_encode($res)); return json_encode($res); } //精装册数->接口调用 public function jzcs(){ $redis=redis(); $redis_key = md5('jzcs_redis'); $redis_data = $redis->get($redis_key); return $redis_data; } //骑马册数->缓存调用 public function qmcs_redis(){ $redis=redis(); $redis_key = md5('qmcs_redis'); //1.使用`Db::table('cpjtfk')`来指定查询的数据表是'cpjtfk'。 //3.使用`union()`方法进行联合查询。在联合查询中,使用了一个闭包函数来构建子查询。 //4.在子查询中,使用`table('scDayRpt_Teams')->alias('b')`来指定查询的数据表是'scDayRpt_Teams',并给该表设置了别名'b'。 //5.使用`field()`方法指定要查询的字段列表,这里是将dOnDuty字段进行一系列操作,包括判断条件和日期格式化。 //6.使用`buildSql()`方法生成最终的SQL查询语句,并将生成的SQL语句作为A变量的值。 //7.根据代码的逻辑,变量A生成了一个联合查询的SQL语句,用于查询'cpjtfk'表和'scDayRpt_Teams'表中的日期字段,并按照指定格式进行格式化。 $A = Db::table('cpjtfk')->field("DISTINCT DATE_FORMAT(drptdate, '%Y-%m-%d') AS rq") ->union(function ($query) { $query->table('scDayRpt_Teams')->alias('b') ->field("DISTINCT DATE_FORMAT( CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i:%s') < '06:30:00' THEN DATE_SUB(b.dOnDuty, INTERVAL 1 DAY) ELSE b.dOnDuty END, '%Y-%m-%d' ) AS RQ"); }, true) ->buildSql(); //每个变量($B, $B1, $C, $C1, $D, $D1, $E, $E1)都是构建SQL查询语句的过程。 //通过调用Db::table('cpjtfk')来指定查询的数据表是'cpjtfk'。 //然后使用join()方法进行表连接,将'cpjtfk'表与'mcyd'表进行左连接,连接条件为'mcyd.ICYDID = cpjtfk.ID_CYD'。 //使用field()方法指定查询的字段列表,并可以使用sum()函数对字段进行求和计算。 //使用where()方法指定筛选条件,只返回满足条件的数据。最后,使用group()方法指定分组的字段。 //最后,使用buildSql()方法生成最终的SQL查询语句,并将生成的SQL语句作为变量的值。 //根据代码的逻辑,每个变量都生成了一个SQL查询语句,用于查询不同班组的订单信息 $B = Db::table('cpjtfk') ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT') ->field(" DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq, sum(iwcl) as 骑1甲 ") ->where('cpjtfk.cbanzu','=','进口骑马联动(甲班)') ->group('drptdate,cbanzu') ->buildSql(); $B1 = Db::table('cpjtfk') ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT') ->field(" DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq, sum(iwcl) as 骑1乙 ") ->where('cpjtfk.cbanzu','=','进口骑马联动(乙班)') ->group('drptdate,cbanzu') ->buildSql(); $C = Db::table('cpjtfk') ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT') ->field(" DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq, sum(iwcl) as 骑2甲 ") ->where('cpjtfk.cbanzu','=','恒山骑订联动(甲班)') ->group('drptdate,cbanzu') ->buildSql(); $C1 = Db::table('cpjtfk') ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT') ->field(" DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq, sum(iwcl) as 骑2乙 ") ->where('cpjtfk.cbanzu','=','恒山骑订联动(乙班)') ->group('drptdate,cbanzu') ->buildSql(); $D = Db::table('cpjtfk') ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT') ->field(" DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq, sum(iwcl) as 骑3甲 ") ->where('cpjtfk.cbanzu','=','紫光骑马联动(甲班)') ->group('drptdate,cbanzu') ->buildSql(); $D1 = Db::table('cpjtfk') ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT') ->field(" DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq, sum(iwcl) as 骑3乙 ") ->where('cpjtfk.cbanzu','=','紫光骑马联动(乙班)') ->group('drptdate,cbanzu') ->buildSql(); $E = Db::table('cpjtfk') ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT') ->field(" DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq, sum(iwcl) as 骑4甲 ") ->where('cpjtfk.cbanzu','=','紫光骑马联动(新)(甲班)') ->group('drptdate,cbanzu') ->buildSql(); $E1 = Db::table('cpjtfk') ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT') ->field(" DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq, sum(iwcl) as 骑4乙 ") ->where('cpjtfk.cbanzu','=','紫光骑马联动(新)(乙班)') ->group('drptdate,cbanzu') ->buildSql(); $rr = Db::table('scyddx')->alias('r') ->field('r.ICYDID,sum(r.NYSLS) as zl') ->group('r.ICYDID') ->buildSql(); //1.首先,定义了一个查询语句,该查询语句涉及多个表的连接和字段的计算。 //2.使用别名$Bb表示主查询结果。 //3.查询的主要数据来源是表ql_report_feedback_day。 //4.在字段的计算中,使用了多个CASE和WHEN语句进行条件判断和计算逻辑。 //5.在查询中,使用了多个表的连接操作,包括scdayrpt_teams、scdayrpt_teams_jobcontent、scMachineJob、zdcp和mcyd。 //6.使用WHERE条件筛选出满足特定条件的记录,包括Name_WorkGroup等于'骑马联动01号(甲班)'和a.cTechName等于'骑马联动'。 //7.最后,使用GROUPBY对结果进行分组,根据日期和班组进行分组。 //8.通过buildSql方法生成最终的SQL查询语句 $Bb = Db::table('ql_report_feedback_day')->alias('a') ->field(" CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq, sum(a.nAmount) as 骑11甲 ") ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER') ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER') ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER') ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT') ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT') ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT') ->where('Name_WorkGroup','=','骑马联动01号(甲班)') ->where('a.cTechName' ,'=','骑马联动') ->group("CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END,Name_WorkGroup") ->buildSql(); $Bb1 = Db::table('ql_report_feedback_day')->alias('a') ->field(" CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq, sum(a.nAmount) as 骑11乙 ") ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER') ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER') ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER') ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT') ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT') ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT') ->where('Name_WorkGroup','=','骑马联动01号(乙班)') ->where('a.cTechName' ,'=','骑马联动') ->group("CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END,Name_WorkGroup") ->buildSql(); $CC = Db::table('ql_report_feedback_day')->alias('a') ->field(" CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq, sum(a.nAmount) as 骑22甲 ") ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER') ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER') ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER') ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT') ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT') ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT') ->where('Name_WorkGroup','=','骑马联动02号(甲班)') ->where('a.cTechName' ,'=','骑马联动') ->group("CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END,Name_WorkGroup") ->buildSql(); $CC1 = Db::table('ql_report_feedback_day')->alias('a') ->field(" CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq, sum(a.nAmount) as 骑22乙 ") ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER') ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER') ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER') ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT') ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT') ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT') ->where('Name_WorkGroup','=','骑马联动02号(乙班)') ->where('a.cTechName' ,'=','骑马联动') ->group("CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END,Name_WorkGroup") ->buildSql(); $EE = Db::table('ql_report_feedback_day')->alias('a') ->field(" CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq, sum(a.nAmount) as 骑33甲 ") ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER') ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER') ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER') ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT') ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT') ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT') ->where('Name_WorkGroup','=','骑马联动03号(甲班)') ->where('a.cTechName' ,'=','骑马联动') ->group("CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END,Name_WorkGroup") ->buildSql(); $EE1 = Db::table('ql_report_feedback_day')->alias('a') ->field(" CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq, sum(a.nAmount) as 骑33乙 ") ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER') ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER') ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER') ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT') ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT') ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT') ->where('Name_WorkGroup','=','骑马联动03号(乙班)') ->where('a.cTechName' ,'=','骑马联动') ->group("CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END,Name_WorkGroup") ->buildSql(); $HH = Db::table('ql_report_feedback_day')->alias('a') ->field(" CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq, sum(a.nAmount) as 骑44甲 ") ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER') ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER') ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER') ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT') ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT') ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT') ->where('Name_WorkGroup','=','骑马联动04号(甲班)') ->where('a.cTechName' ,'=','骑马联动') ->group("CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END,Name_WorkGroup") ->buildSql(); $HH1 = Db::table('ql_report_feedback_day')->alias('a') ->field(" CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq, sum(a.nAmount) as 骑44乙 ") ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER') ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER') ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER') ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT') ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT') ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT') ->where('Name_WorkGroup','=','骑马联动04号(乙班)') ->where('a.cTechName' ,'=','骑马联动') ->group("CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END,Name_WorkGroup") ->buildSql(); //1.首先,定义了一个查询语句,该语句涉及多个表的连接和字段的计算。 //2.代码中使用了别名$db来表示主查询结果。 //3.查询的主要数据来源是表$A.'a'。 //4.查询的字段包括总计册和纸令数总计,通过对多个子查询结果相加得到。 //5.在查询中使用了LEFT JOIN进行表连接操作,将子查询结果与主查询结果进行连接,通过日期a.rq进行匹配。 //6.使用buildSql()方法生成最终的SQL查询语句 $db = Db::table($A . 'a') ->field(" DISTINCT DATE(A.RQ) rq, TRUNCATE(IFNULL(sum(B.骑1甲), 0) + IFNULL(sum(B1.骑1乙), 0) + IFNULL(sum(C.骑2甲), 0) + IFNULL(sum(C1.骑2乙), 0) + IFNULL(sum(D.骑3甲), 0) + IFNULL(sum(D1.骑3乙), 0) + IFNULL(sum(E.骑4甲), 0) + IFNULL(sum(E1.骑4乙), 0) + IFNULL(sum(Bb.骑11甲), 0) + IFNULL(sum(Bb1.骑11乙), 0) + IFNULL(sum(cc.骑22甲), 0) + IFNULL(sum(cc1.骑22乙), 0) + IFNULL(sum(ee.骑33甲), 0) + IFNULL(sum(ee1.骑33乙), 0) + IFNULL(sum(hh.骑44甲), 0) + IFNULL(sum(hh1.骑44乙), 0) , 0) 总计册 ") ->join('(' . $B . ') as b', ' a.rq = b.rq','LEFT') ->join('(' . $B1 . ') as b1', ' a.rq = b1.rq','LEFT') ->join('(' . $C . ') as c', ' a.rq = c.rq','LEFT') ->join('(' . $C1 . ') as c1', ' a.rq = c1.rq','LEFT') ->join('(' . $D . ') as d', ' a.rq = d.rq','LEFT') ->join('(' . $D1 . ') as d1', ' a.rq = d1.rq','LEFT') ->join('(' . $E . ') as e', ' a.rq = e.rq','LEFT') ->join('(' . $E1 . ') as e1', ' a.rq = e1.rq','LEFT') ->join('(' . $Bb . ') as bb', ' a.rq = bb.rq','LEFT') ->join('(' . $Bb1 . ')as bb1', 'a.rq = bb1.rq','LEFT') ->join('(' . $CC . ') as cc', ' a.rq = cc.rq','LEFT') ->join('(' . $CC1 . ')as cc1', 'a.rq = cc1.rq','LEFT') ->join('(' . $EE . ') as ee', ' a.rq = ee.rq','LEFT') ->join('(' . $EE1 . ')as ee1', 'a.rq = ee1.rq','LEFT') ->join('(' . $HH . ') as hh', ' a.rq = hh.rq','LEFT') ->join('(' . $HH1 . ')as hh1', 'a.rq = hh1.rq','LEFT') ->group('rq') ->buildSql(); $sql_final = Db::table($db . ' db') ->field(" DATE_FORMAT(db.rq, '%Y-%m') as rq, ROUND(sum(db.总计册), 3) as qmcs ") ->where("db.rq >= '{$this->qianstart_time()}'AND db.rq <= '{$this->end_time()}' ") ->group("DATE_FORMAT(db.rq, '%Y-%m')") ->select(); // 初始化数据 $i = 0; $j = 0; $k = 0; $list['categories'] = ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12']; $currentYear = date("Y"); // 当前年份 $previousYear = (int)$currentYear - 1; // 去年 $previousTwoYear = (int)$currentYear - 2; // 前年 // 为三年的数据创建数组,初始值为0 $list['series'][0]['name'] = $previousTwoYear . '年'; // 前年 $list['series'][0]['data'] = array_fill(0, 12, 0); // 初始化为12个月的数据 $list['series'][1]['name'] = $previousYear . '年'; // 去年 $list['series'][1]['data'] = array_fill(0, 12, 0); // 初始化为12个月的数据 $list['series'][2]['name'] = $currentYear . '年'; // 今年 $list['series'][2]['data'] = array_fill(0, (int)date("m"), 0); // 初始化到当前月份的数据 // 遍历查询结果并填充数据 foreach ($sql_final as $v) { // 获取年份和月份 $year = substr($v['rq'], 0, 4); $month = substr($v['rq'], 5, 2); // 如果是前年数据 if ($year == $previousTwoYear) { $list['series'][0]['data'][(int)$month - 1] = $v['qmcs']; } // 如果是去年数据 if ($year == $previousYear) { $list['series'][1]['data'][(int)$month - 1] = $v['qmcs']; } // 如果是今年数据 if ($year == $currentYear) { $list['series'][2]['data'][(int)$month - 1] = $v['qmcs']; } } $res['status'] = 0; $res['msg'] = ''; $res['data'] = $list; $redis->set($redis_key, json_encode($res)); return json_encode($res); } //骑马册数->接口调用 public function qmcs(){ $redis=redis(); $redis_key = md5('qmcs_redis'); $redis_data = $redis->get($redis_key); return $redis_data; } }