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(){ $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号','标规北人轮转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(); //查询每天的数据 $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); } //去年与当年--印刷实物产量色令->接口调用 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号','标规北人轮转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(); //四色机纸令合计 $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->set($redis_key, json_encode($res)); 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号','骑马联动04号']) ->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 zdcsclcs_dang(){ $redis=redis(); $redis_key = md5('zdcsclcs_dang'); $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号','骑马联动04号']) ->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(); $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(); $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(); $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(); // $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(); // $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(); $JDJ4 = 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 马88甲 ") ->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','=','胶订精密达4号(甲班)') ->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(); $JDY4 = 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 马88乙 ") ->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','=','胶订精密达4号(乙班)') ->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(jdj4.马88甲, 0) + IFNULL(jdy4.马88乙, 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('(' . $XXX2 . ') as xxx2', 'a.rq = xxx2.rq','LEFT') ->join('(' . $JDJ4 . ') as jdj4', 'a.rq = jdj4.rq','LEFT') ->join('(' . $JDY4 . ') as jdy4', 'a.rq = jdy4.rq','LEFT') ->buildSql(); // print_r($db);die; $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号','骑马联动04号']) ->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(); $result_qian = json_decode($redis->get(md5('zdcsTwoYear')), true); $result_qu = json_decode($redis->get(md5('zdcs2022')), true); $result_dang = json_decode($redis->get(md5('zdcsclcs_dang')), true); // Merge all data $result1 = array_merge($result_qian, $result_qu, $result_dang); $list['categories'] = ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12']; $currentYear = date("Y"); // Current year (2025) $currentMonth = date("m"); // Current month (07) $previousYear = $currentYear - 1; // 2024 $previousQianYear = $currentYear - 2; // 2023 // Initialize series with 0 values $list['series'] = [ ['name' => $previousQianYear . '年', 'data' => array_fill(0, 12, 0)], ['name' => $previousYear . '年', 'data' => array_fill(0, 12, 0)], ['name' => $currentYear . '年', 'data' => array_fill(0, 12, 0)] ]; foreach ($result1 as $k => $v) { $yearMonth = explode('-', $k); $year = $yearMonth[0]; $month = (int)$yearMonth[1]; $monthIndex = $month - 1; if ($year == $previousQianYear) { $list['series'][0]['data'][$monthIndex] += $v; } elseif ($year == $previousYear) { $list['series'][1]['data'][$monthIndex] += $v; } elseif ($year == $currentYear) { // Only add if month is current or past month if ($month <= (int)$currentMonth) { $list['series'][2]['data'][$monthIndex] += $v; } } } $res['status'] = 0; $res['msg'] = ''; $res['data'] = $list; return json_encode($res, JSON_UNESCAPED_UNICODE); } // public function zdcs() { // $redis = redis(); // $result_qian = json_decode($redis->get(md5('zdcsTwoYear')), true); // $result_qu = json_decode($redis->get(md5('zdcs2022')), true); // $result_dang = json_decode($redis->get(md5('zdcsclcs_dang')), true); // // 合并三年的数据 // $result1 = array_merge($result_qian, $result_qu, $result_dang); // $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 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号','骑马联动04号']) ->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(); $JDJ4 = 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) 马88甲纸令 ") ->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','=','胶订精密达4号(甲班)') ->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(); $JDY4 = 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) 马88乙纸令 ") ->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','=','胶订精密达4号(乙班)') ->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(JDJ4.马88甲纸令), 0) + IFNULL(sum(JDY4.马88乙纸令), 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') ->join('(' . $JDJ4 . ') as JDJ4', 'a.rq = JDJ4.rq','LEFT') ->join('(' . $JDY4 . ') as JDY4', 'a.rq = JDY4.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 zdzl_dang(){ $redis=redis(); $redis_key = md5('zdzl_dang'); $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号','骑马联动04号']) ->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(); $JDJ4 = 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) 马88甲纸令 ") ->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','=','胶订精密达4号(甲班)') ->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(); $JDY4 = 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) 马88乙纸令 ") ->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','=','胶订精密达4号(乙班)') ->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(jdj4.马88甲纸令), 0) + IFNULL(sum(jdy4.马88乙纸令), 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') ->join('(' . $JDJ4 . ') as jdj4', 'a.rq = jdj4.rq','LEFT') ->join('(' . $JDY4 . ') as jdy4', 'a.rq = jdy4.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(); $result_qian = json_decode($redis->get(md5('zdzlTwoYear')), true); $result_qu = json_decode($redis->get(md5('zdzl2022')), true); $result_dang = json_decode($redis->get(md5('zdzl_dang')), true); // Merge all data $result1 = array_merge($result_qian, $result_qu, $result_dang); $list['categories'] = ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12']; $currentYear = date("Y"); // Current year (2025) $currentMonth = date("m"); // Current month (07) $previousYear = $currentYear - 1; // 2024 $previousQianYear = $currentYear - 2; // 2023 // Initialize series with 0 values $list['series'] = [ ['name' => $previousQianYear . '年', 'data' => array_fill(0, 12, 0)], ['name' => $previousYear . '年', 'data' => array_fill(0, 12, 0)], ['name' => $currentYear . '年', 'data' => array_fill(0, 12, 0)] ]; foreach ($result1 as $k => $v) { $yearMonth = explode('-', $k); $year = $yearMonth[0]; $month = (int)$yearMonth[1]; $monthIndex = $month - 1; if ($year == $previousQianYear) { $list['series'][0]['data'][$monthIndex] += $v; } elseif ($year == $previousYear) { $list['series'][1]['data'][$monthIndex] += $v; } elseif ($year == $currentYear) { // Only add if month is current or past month if ($month <= (int)$currentMonth) { $list['series'][2]['data'][$monthIndex] += $v; } } } $res['status'] = 0; $res['msg'] = ''; $res['data'] = $list; return json_encode($res, JSON_UNESCAPED_UNICODE); } //年度承接量及完成百分比->缓存调用 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 ('如钰01号机','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号','标规高斯轮转1号','标规高斯轮转2号','大规高斯轮转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号','标规北人轮转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号','标规北人轮转1号','标规北人轮转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(); $JDJ4 = 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) 马88甲纸令 ") ->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','=','胶订精密达4号(甲班)') ->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(); $JDY4 = 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) 马88乙纸令 ") ->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','=','胶订精密达4号(乙班)') ->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(JDJ4.马88甲纸令), 0) + IFNULL(sum(JDY4.马88乙纸令), 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') ->join('(' . $JDY4 . ') as JDY4', 'a.rq = JDY4.rq','LEFT') ->join('(' . $JDJ4 . ') as JDJ4', 'a.rq = JDJ4.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(); $JDJ4 = 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 马88甲 ") ->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','=','胶订精密达4号(甲班)') ->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(); $JDY4 = 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 马88乙 ") ->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','=','胶订精密达4号(乙班)') ->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(JDJ4.马88甲, 0) + IFNULL(JDY4.马88乙, 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') ->join('(' . $JDJ4 . ') as JDJ4', 'a.rq = JDJ4.rq','LEFT') ->join('(' . $JDY4 . ') as JDY4', 'a.rq = JDY4.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; } /** * 第三方调用:外发采购询价审核接口 * 请求方式:GET * 请求参数: * limit 返回条数 选填 默认100 最大200 */ public function GetProcuremen() { // 只允许GET请求 if (!$this->request->isGet()) { return json([ 'code' => 400, 'msg' => '请求方式错误,请使用GET', 'data' => [] ]); } // 接收参数 + 安全过滤 $start_time = $this->request->get('start_time', '', 'trim'); $end_time = $this->request->get('end_time', '', 'trim'); $limit = (int)$this->request->get('limit', 100); // 限制最大返回条数,防止拖垮服务器 $limit = min($limit, 200); // 时间范围:不传则自动取 30天前 ~ 现在 if (empty($start_time)) { $start_time = date('Y-m-d H:i:s', strtotime('-30 days')); } if (empty($end_time)) { $end_time = date('Y-m-d H:i:s'); } $list = Db::table('scydgy')->alias('a') ->join('mcyd b', 'b.ICYDID = a.ICYDID AND b.iStatus >= 10', 'inner') ->field('a.ID, b.CCYDH as 传票号, b.CYJMC as 传票名称, a.CDXMC as 类型名称, a.CGYBH as 工序号, a.CGYMC as 工序名称, a.CDW as 单位, a.NGZL as 已下达总量, b.CDF, a.cGzzxMc as 客户名称, a.MBZ as 备注, a.iStatus as 状态, a.dStamp as 操作时间, b.dputrecord as 录入日期, b.cywyxm as 业务员') ->where([ 'a.bwjg' => 1, // 完成结果=1 'a.iEndBz' => 0, // 未结束 'a.iType' => 0, // 外发类型 'a.iStatus' => 10, // 已审核 ]) ->where('a.dStamp', '>=', $start_time) ->where('a.dStamp', '<=', $end_time) ->limit($limit) ->select(); // 返回第三方标准格式 return json([ 'code' => 200, 'msg' => '获取成功', 'data' => $list ]); } }