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(); } //结束时间方法--去年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 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', ]; //当年 $erp2023 = 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(); //去年 $erp2022 = 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(); //前年 $erp2021 = 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(); //销售收入、销售工价、日期 //当年 $cheng2023 = 0;$bb2023 = 0;$data2023 = 0; //去年 $cheng2022 = 0;$bb2022 = 0;$data2022 = 0; //前年 $cheng2021 = 0;$bb2021 = 0;$data2021= 0; //遍历查询结果,进行统计 foreach ($erp2023 as $v){ if($v['ldz'] == 1 ){ $cheng2023 += $v['namount']; $bb2023 += $v['sum_clje']; }else{ $cheng2023 += $v['nwshjje']; $bb2023 += $v['nwsgjhj']; } $data2023 = $v['年']; } //遍历查询结果,进行统计 foreach ($erp2022 as $v){ if($v['ldz'] == 1 ){ $cheng2022 += $v['namount']; $bb2022 += $v['sum_clje']; }else{ $cheng2022 += $v['nwshjje']; $bb2022 += $v['nwsgjhj']; } $data2022 = $v['年']; } //遍历查询结果,进行统计 foreach ($erp2021 as $v){ if($v['ldz'] == 1 ){ $cheng2021 += $v['namount']; $bb2021 += $v['sum_clje']; }else{ $cheng2021 += $v['nwshjje']; $bb2021 += $v['nwsgjhj']; } $data2021 = $v['年']; } $list=[ 'categories'=>[$data2021,$data2022,$data2023], 'series'=>[['name'=>'承印销售收入', 'data'=>[round($cheng2021/10000),round($cheng2022/10000),round($cheng2023/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(); $redis_key = md5('getxssr_redis'); $redis_data = $redis->get($redis_key); return $redis_data; } //承印加工收入->缓存调用 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', ]; //当年 $erp2023 = 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(); //去年 $erp2022 = 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(); //前年 $erp2021 = 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(); //销售收入、销售工价、日期 //当年 $cheng2023 = 0;$bb2023 = 0;$data2023 = 0; //去年 $cheng2022 = 0;$bb2022 = 0;$data2022 = 0; //前年 $cheng2021 = 0;$bb2021 = 0;$data2021 = 0; // 遍历查询结果,进行统计 foreach ($erp2023 as $v){ if($v['ldz'] == 1 ){ $cheng2023 += $v['namount']; $bb2023 += $v['sum_clje']; }else{ $cheng2023 += $v['nwshjje']; $bb2023 += $v['nwsgjhj']; } $data2023 = $v['年']; } // 遍历查询结果,进行统计 foreach ($erp2022 as $v){ if($v['ldz'] == 1 ){ $cheng2022 += $v['namount']; $bb2022 += $v['sum_clje']; }else{ $cheng2022 += $v['nwshjje']; $bb2022 += $v['nwsgjhj']; } $data2022 = $v['年']; } // 遍历查询结果,进行统计 foreach ($erp2021 as $v){ if($v['ldz'] == 1 ){ $cheng2021 += $v['namount']; $bb2021 += $v['sum_clje']; }else{ $cheng2021 += $v['nwshjje']; $bb2021 += $v['nwsgjhj']; } $data2021 = $v['年']; } $list=['categories'=>[$data2021,$data2022,$data2023],'series'=>[['name'=>'承印加工收入', 'data'=>[round($bb2021/10000),round($bb2022/10000),round($bb2023/10000)]]]]; $res['status']=0; $res['msg']=''; $res['data']=$list; $redis->set($redis_key, json_encode($res)); return json_encode($res); } //承印加工收入->接口调用 public function getjgsr(){ $redis=redis(); $redis_key = md5('getjgsr_redis'); $redis_data = $redis->get($redis_key); return $redis_data; } //承印色令->缓存调用 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 getcysl(){ $redis=redis(); $redis_key = md5('getcysl_redis'); $redis_data = $redis->get($redis_key); return $redis_data; } //承印纸令->缓存调用 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) ->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; $redis->set($redis_key, json_encode($res)); return json_encode($res); } //承印纸令->接口调用 public function getcyzl(){ $redis=redis(); $redis_key = md5('getcyzl_redis'); $redis_data = $redis->get($redis_key); return $redis_data; } //去年与当年--印刷实物产量色令->缓存调用 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号', '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号']); }, 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(); //按每个月进行查询 累计相加每月数据 $sql_final = Db::table($subQuery1_5 . ' db') ->field(" DATE_FORMAT( db.RQ, '%Y-%m' ) AS '日期', ROUND(SUM( db.nBBSL )+SUM( db.nFourColorSL )+SUM( db.nnRotationSL )) AS '印刷实物产量色令数' ") ->where("db.RQ >= '{$this->qstart_time()}'AND db.RQ <= '{$this->end_time()}' ") // ->group('MONTH(db.RQ)') ->group("DATE_FORMAT( db.RQ, '%Y-%m' )") ->select(); $i=0; $j=0; $list['categories']=['01','02','03','04','05','06','07','08','09','10','11','12']; foreach($sql_final as $v){ if($v['日期']>='2023-01'){ $list['series'][1]['name']='2023年'; $list['series'][1]['data'][$j]=$v['印刷实物产量色令数']; $j++; }else{ $list['series'][0]['name']='2022年'; $list['series'][0]['data'][$i]=$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 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号', '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号']); }, 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(); $sql_final = Db::table($subQuery1_5 . ' db') ->field(" DATE_FORMAT( db.RQ, '%Y-%m' ) AS '日期', ROUND(SUM( db.nBBSL )+SUM( db.nFourColorSL )+SUM( db.nnRotationSL )) AS '印刷实物产量纸令数' ") ->where("db.RQ >= '{$this->qstart_time()}'AND db.RQ <= '{$this->end_time()}' ") // ->group('MONTH(db.RQ)') ->group("DATE_FORMAT( db.RQ, '%Y-%m' )") ->select(); $i=0; $j=0; $list['categories']=['01','02','03','04','05','06','07','08','09','10','11','12']; foreach($sql_final as $v){ if($v['日期']>='2023-01'){ $list['series'][1]['name']='2023年'; $list['series'][1]['data'][$j]=$v['印刷实物产量纸令数']; $j++; }else{ $list['series'][0]['name']='2022年'; $list['series'][0]['data'][$i]=$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 yszl(){ $redis=redis(); $redis_key = md5('yszl_redis'); $redis_data = $redis->get($redis_key); return $redis_data; } //去年装订实物产量册数->缓存调用 public function zdcs2022(){ $redis=redis(); $redis_key = md5('zdcs2022'); $A = Db::table('cpjtfk')->field("DISTINCT DATE_FORMAT(drptdate, '%Y-%m-%d') AS rq") ->union(function ($query) { $query->table('scDayRpt_Teams')->alias('b') ->field("DISTINCT DATE_FORMAT( CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i:%s') < '06:30:00' THEN DATE_SUB(b.dOnDuty, INTERVAL 1 DAY) ELSE b.dOnDuty END, '%Y-%m-%d' ) AS RQ"); }, true) ->buildSql(); $B1 = Db::table('cpjtfk') ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT') ->field(" DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq, sum(iwcl) as 精1乙 ") ->whereIn('cjtmc', ['精装生产联动线','进口骑马联动','紫光骑马联动','紫光骑马联动(新)','恒山骑马联动']) ->group('drptdate,cbanzu') ->buildSql(); $rr = Db::table('scyddx')->alias('r') ->field('r.ICYDID,sum(r.NYSLS) as zl') ->group('r.ICYDID') ->buildSql(); $Bb1 = Db::table('ql_report_feedback_day')->alias('a') ->field(" CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq, sum(a.nAmount) as 精11乙 ") ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER') ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER') ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER') ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT') ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT') ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT') ->whereIn('cMachineName', ['精装联动线01号','骑马联动01号','骑马联动02号','骑马联动03号']) ->group("CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END,Name_WorkGroup") ->buildSql(); $db = Db::table($A . 'a') ->field(" DISTINCT DATE(A.RQ) rq, IFNULL(sum(Bb1.精11乙), 0) + IFNULL((sum(B1.精1乙)), 0) 总计册 ") ->join('(' . $B1 . ') as b1', 'a.rq = b1.rq','LEFT') ->join('(' . $Bb1 . ') as bb1', 'a.rq = bb1.rq','LEFT') ->group('rq') ->buildSql(); $jp = Db::table($db . ' db') ->field(" DATE_FORMAT(db.rq, '%Y-%m') as 日期, ROUND(sum(db.总计册), 0) as 精平册数 ")->where("db.RQ >= '{$this->qstart_time()}' AND db.RQ <= '{$this->qend_time()}' ") ->group('MONTH(db.rq)') ->select(); $B = Db::table('cpjtfk') ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT') ->field(" DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq, sum(iwcl) as 马1甲 ") ->where('cpjtfk.cbanzu','=','马天尼(新)(甲班)') ->group('drptdate,cbanzu') ->buildSql(); $B1 = Db::table('cpjtfk') ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT') ->field(" DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq, sum(iwcl) as 马1乙 ") ->where('cpjtfk.cbanzu','=','马天尼(新)(乙班)') ->group('drptdate,cbanzu') ->buildSql(); $C = Db::table('cpjtfk') ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT') ->field(" DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq, sum(iwcl) as 马2甲 ") ->where('cpjtfk.cbanzu','=','马天尼2号(甲班)') ->group('drptdate,cbanzu') ->buildSql(); $C1 = Db::table('cpjtfk') ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT') ->field(" DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq, sum(iwcl) as 马2乙 ") ->where('cpjtfk.cbanzu','=','马天尼2号(乙班)') ->group('drptdate,cbanzu') ->buildSql(); $D = Db::table('cpjtfk') ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT') ->field(" DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq, sum(iwcl) as 马3甲 ") ->where('cpjtfk.cbanzu','=','无线胶订3号(甲班)') ->group('drptdate,cbanzu') ->buildSql(); $D1 = Db::table('cpjtfk') ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT') ->field(" DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq, sum(iwcl) as 马3乙 ") ->where('cpjtfk.cbanzu','=','无线胶订3号(乙班)') ->group('drptdate,cbanzu') ->buildSql(); $E = Db::table('cpjtfk') ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT') ->field(" DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq, sum(iwcl) as 马4甲 ") ->where('cpjtfk.cbanzu','=','无线胶订4号(甲班)') ->group('drptdate,cbanzu') ->buildSql(); $E1 = Db::table('cpjtfk') ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT') ->field(" DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq, sum(iwcl) as 马4乙 ") ->where('cpjtfk.cbanzu','=','无线胶订4号(乙班)') ->group('drptdate,cbanzu') ->buildSql(); $F = Db::table('cpjtfk') ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT') ->field(" DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq, sum(iwcl) as 马5甲 ") ->where('cpjtfk.cbanzu','=','无线胶订5号(甲班)') ->group('drptdate,cbanzu') ->buildSql(); $F1 = Db::table('cpjtfk') ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT') ->field(" DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq, sum(iwcl) as 马5乙, sum(mcyd.NZWyz * iWCl / 1000) as 马5乙纸令数 ") ->where('cpjtfk.cbanzu','=','无线胶订5号(乙班)') ->group('drptdate,cbanzu') ->buildSql(); $rr = Db::table('scyddx')->alias('r') ->field('r.ICYDID,sum(r.NYSLS) as zl') ->group('r.ICYDID') ->buildSql(); $Bb = Db::table('ql_report_feedback_day')->alias('a') ->field(" CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq, sum(a.nAmount) as 马11甲") ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER') ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER') ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER') ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT') ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT') ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT') ->where('Name_WorkGroup','=','胶订潮流1号(甲班)') ->whereIn('a.cTechName', ['胶订联动', '胶头']) ->group("CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END,Name_WorkGroup")->buildSql(); $Bb1 = Db::table('ql_report_feedback_day')->alias('a') ->field(" CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq, sum(a.nAmount) as 马11乙 ") ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER') ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER') ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER') ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT') ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT') ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT') ->where('Name_WorkGroup','=','胶订潮流1号(乙班)') ->whereIn('a.cTechName', ['胶订联动', '胶头']) ->group("CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END,Name_WorkGroup") ->buildSql(); $CC = Db::table('ql_report_feedback_day')->alias('a') ->field(" CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq, sum(a.nAmount) as 马22甲 ") ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER') ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER') ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER') ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT') ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT') ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT') ->where('Name_WorkGroup','=','胶订潮流2号(甲班)') ->whereIn('a.cTechName', ['胶订联动', '胶头']) ->group("CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END,Name_WorkGroup") ->buildSql(); $CC1 = Db::table('ql_report_feedback_day')->alias('a') ->field(" CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq, sum(a.nAmount) as 马22乙 ") ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER') ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER') ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER') ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT') ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT') ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT') ->where('Name_WorkGroup','=','胶订潮流2号(乙班)') ->whereIn('a.cTechName', ['胶订联动', '胶头']) ->group("CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END,Name_WorkGroup") ->buildSql(); $EE = Db::table('ql_report_feedback_day')->alias('a') ->field(" CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq, sum(a.nAmount) as 马33甲 ") ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER') ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER') ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER') ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT') ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT') ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT') ->where('Name_WorkGroup','=','胶订精工1号(甲班)') ->whereIn('a.cTechName', ['胶订联动', '胶头']) ->group("CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END,Name_WorkGroup") ->buildSql(); $EE1 = Db::table('ql_report_feedback_day')->alias('a') ->field(" CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq, sum(a.nAmount) as 马33乙 ") ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER') ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER') ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER') ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT') ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT') ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT') ->where('Name_WorkGroup','=','胶订精工1号(乙班)') ->whereIn('a.cTechName', ['胶订联动', '胶头']) ->group("CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END,Name_WorkGroup") ->buildSql(); $HH = Db::table('ql_report_feedback_day')->alias('a') ->field(" CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq, sum(a.nAmount) as 马44甲 ") ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER') ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER') ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER') ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT') ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT') ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT') ->where('Name_WorkGroup','=','胶订精密达1号(甲班)') ->whereIn('a.cTechName', ['胶订联动', '胶头']) ->group("CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END,Name_WorkGroup") ->buildSql(); $HH1 = Db::table('ql_report_feedback_day')->alias('a') ->field(" CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq, sum(a.nAmount) as 马44乙 ") ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER') ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER') ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER') ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT') ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT') ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT') ->where('Name_WorkGroup','=','胶订精密达1号(乙班)') ->whereIn('a.cTechName', ['胶订联动', '胶头']) ->group("CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END,Name_WorkGroup") ->buildSql(); $XX = Db::table('ql_report_feedback_day')->alias('a') ->field(" CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq, sum(a.nAmount) as 马55甲 ") ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER') ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER') ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER') ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT') ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT') ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT') ->where('Name_WorkGroup','=','胶订精密达2号(甲班)') ->whereIn('a.cTechName', ['胶订联动', '胶头']) ->group("CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END,Name_WorkGroup") ->buildSql(); $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(); $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) 总计册 ") ->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') ->buildSql(); $jd = Db::table($db . ' db') ->field(" DATE_FORMAT(db.rq, '%Y-%m') as 日期, ROUND(sum(db.总计册), 0) as 无线胶订册数 ")->where("db.RQ >= '{$this->qstart_time()}' AND db.RQ <= '{$this->qend_time()}' ") ->group('MONTH(db.rq)') ->select(); $B = Db::table('cpjtfk') ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT') ->field(" DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq, Sum(iWcl) AS '簿1甲' ") ->where('cbanzu','=','簿册机1号(甲班)') ->group('drptdate,cbanzu') ->buildSql(); $B1 = Db::table('cpjtfk') ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT') ->field(" DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq, Sum(iWcl) AS '簿1乙' ") ->where('cbanzu','=','簿册机1号(乙班)') ->group('drptdate,cbanzu') ->buildSql(); $rr = Db::table('scyddx')->alias('r') ->field('r.ICYDID,sum(r.NYSLS) as zl') ->group('r.ICYDID') ->buildSql(); $Bb = Db::table('ql_report_feedback_day')->alias('a') ->field(" CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq, Sum(a.nAmount) AS '簿11甲' ") ->join(['scdayrpt_teams' => 'b'], 'b.ID = a.ID_Teams and b.iDayRptStatus = 10','INNER') ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER') ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER') ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT') ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT') ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT') ->where('Name_WorkGroup','=','簿册联动线01号(甲班)') ->where('a.cTechName' ,'=','簿册联动') ->group("CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END,Name_WorkGroup") ->buildSql(); $Bb1 = Db::table('ql_report_feedback_day')->alias('a') ->field(" CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq, Sum(a.nAmount) AS '簿11乙' ") ->join(['scdayrpt_teams' => 'b'], 'b.ID = a.ID_Teams and b.iDayRptStatus = 10','INNER') ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER') ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER') ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT') ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT') ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT') ->where('Name_WorkGroup','=','簿册联动线01号(乙班)') ->where('a.cTechName' ,'=','簿册联动') ->group("CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END,Name_WorkGroup") ->buildSql(); $db = Db::table($A . 'a') ->field(" DISTINCT DATE(A.RQ) rq, IFNULL(sum(B.簿1甲), 0) + IFNULL((sum(b1.簿1乙)), 0) + IFNULL(sum(Bb.簿11甲), 0) + IFNULL((sum(Bb1.簿11乙)), 0) 总计册 ") ->join('(' . $B . ') as b', 'a.rq = b.rq','LEFT') ->join('(' . $B1 . ') as b1', 'a.rq = b1.rq','LEFT') ->join('(' . $Bb . ') as bb', 'a.rq = bb.rq','LEFT') ->join('(' . $Bb1 . ') as bb1', 'a.rq = bb1.rq','LEFT') ->group('rq') ->buildSql(); $bc = Db::table($db . ' db') ->field(" DATE_FORMAT(db.rq, '%Y-%m') as 日期, ROUND(sum(db.总计册), 0) as 簿册册数 ")->where("db.RQ >= '{$this->qstart_time()}' AND db.RQ <= '{$this->qend_time()}' ") ->group('MONTH(db.rq)') ->select(); // 创建一个结果数组 $result=[]; $result1 = []; // 遍历第一个数组,并将数据加入结果数组 foreach ($jp as $val1) { $month = $val1['日期']; $data1 = $val1['精平册数']; if (!isset($result[$month])) { $result[$month] = 0; // 初始化结果数组中该月份的数据为0 } if (!isset($result1[$month])) { $result1[$month] = 0; // 初始化结果数组中该月份的数据为0 } $result1[$month] += $data1; // 累加第一个数组的数据 } // 遍历第二个数组,并将数据加入结果数组 foreach ($jd as $val2) { $month = $val2['日期']; $data1 = $val2['无线胶订册数']; if (!isset($result[$month])) { $result[$month] = 0; // 初始化结果数组中该月份的数据为0 } if (!isset($result1[$month])) { $result1[$month] = 0; // 初始化结果数组中该月份的数据为0 } $result1[$month] += $data1; // 累加第二个数组的数据 } foreach ($bc as $val2) { $month = $val2['日期']; $data1 = $val2['簿册册数']; if (!isset($result[$month])) { $result[$month] = 0; // 初始化结果数组中该月份的数据为0 } if (!isset($result1[$month])) { $result1[$month] = 0; // 初始化结果数组中该月份的数据为0 } $result1[$month] += $data1; // 累加第二个数组的数据 } foreach($result1 as $k=>$v){ $list['categories'][]=$k; $list['series'][0]['name']='装订实物产量册数'; $list['series'][0]['data'][]=$v; } $res['status']=0; $res['msg']=''; $res['data']=$list; $redis->set($redis_key, json_encode($result1)); // halt(json_decode($redis->get($redis_key),true)); return json_encode($result1); } //当年装订实物产量册数->缓存调用 public function zdcs2023(){ $redis=redis(); $redis_key = md5('zdcs2023'); $A = Db::table('cpjtfk')->field("DISTINCT DATE_FORMAT(drptdate, '%Y-%m-%d') AS rq") ->union(function ($query) { $query->table('scDayRpt_Teams')->alias('b') ->field("DISTINCT DATE_FORMAT( CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i:%s') < '06:30:00' THEN DATE_SUB(b.dOnDuty, INTERVAL 1 DAY) ELSE b.dOnDuty END, '%Y-%m-%d' ) AS RQ"); }, true) ->buildSql(); $B1 = Db::table('cpjtfk') ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT') ->field(" DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq, sum(iwcl) as 精1乙 ") ->whereIn('cjtmc', ['精装生产联动线','进口骑马联动','紫光骑马联动','紫光骑马联动(新)','恒山骑马联动']) ->group('drptdate,cbanzu') ->buildSql(); $rr = Db::table('scyddx')->alias('r') ->field('r.ICYDID,sum(r.NYSLS) as zl') ->group('r.ICYDID') ->buildSql(); $Bb1 = Db::table('ql_report_feedback_day')->alias('a') ->field(" CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq, sum(a.nAmount) as 精11乙 ") ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER') ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER') ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER') ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT') ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT') ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT') ->whereIn('cMachineName', ['精装联动线01号','骑马联动01号','骑马联动02号','骑马联动03号']) ->group("CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END,Name_WorkGroup") ->buildSql(); $db = Db::table($A . 'a') ->field(" DISTINCT DATE(A.RQ) rq, IFNULL(sum(Bb1.精11乙), 0) + IFNULL((sum(B1.精1乙)), 0) 总计册 ") ->join('(' . $B1 . ') as b1', 'a.rq = b1.rq','LEFT') ->join('(' . $Bb1 . ') as bb1', 'a.rq = bb1.rq','LEFT') ->group('rq') ->buildSql(); $jp = Db::table($db . ' db') ->field(" DATE_FORMAT(db.rq, '%Y-%m') as 日期, ROUND(sum(db.总计册), 0) as 精平册数 ")->where("db.RQ >= '{$this->start_time()}' AND db.RQ <= '{$this->end_time()}' ") ->group('MONTH(db.rq)') ->select(); $B = Db::table('cpjtfk') ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT') ->field(" DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq, sum(iwcl) as 马1甲 ") ->where('cpjtfk.cbanzu','=','马天尼(新)(甲班)') ->group('drptdate,cbanzu') ->buildSql(); $B1 = Db::table('cpjtfk') ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT') ->field(" DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq, sum(iwcl) as 马1乙 ") ->where('cpjtfk.cbanzu','=','马天尼(新)(乙班)') ->group('drptdate,cbanzu') ->buildSql(); $C = Db::table('cpjtfk') ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT') ->field(" DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq, sum(iwcl) as 马2甲 ") ->where('cpjtfk.cbanzu','=','马天尼2号(甲班)') ->group('drptdate,cbanzu') ->buildSql(); $C1 = Db::table('cpjtfk') ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT') ->field(" DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq, sum(iwcl) as 马2乙 ") ->where('cpjtfk.cbanzu','=','马天尼2号(乙班)') ->group('drptdate,cbanzu') ->buildSql(); $D = Db::table('cpjtfk') ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT') ->field(" DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq, sum(iwcl) as 马3甲 ") ->where('cpjtfk.cbanzu','=','无线胶订3号(甲班)') ->group('drptdate,cbanzu') ->buildSql(); $D1 = Db::table('cpjtfk') ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT') ->field(" DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq, sum(iwcl) as 马3乙 ") ->where('cpjtfk.cbanzu','=','无线胶订3号(乙班)') ->group('drptdate,cbanzu') ->buildSql(); $E = Db::table('cpjtfk') ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT') ->field(" DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq, sum(iwcl) as 马4甲 ") ->where('cpjtfk.cbanzu','=','无线胶订4号(甲班)') ->group('drptdate,cbanzu') ->buildSql(); $E1 = Db::table('cpjtfk') ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT') ->field(" DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq, sum(iwcl) as 马4乙 ") ->where('cpjtfk.cbanzu','=','无线胶订4号(乙班)') ->group('drptdate,cbanzu') ->buildSql(); $F = Db::table('cpjtfk') ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT') ->field(" DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq, sum(iwcl) as 马5甲 ") ->where('cpjtfk.cbanzu','=','无线胶订5号(甲班)') ->group('drptdate,cbanzu') ->buildSql(); $F1 = Db::table('cpjtfk') ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT') ->field(" DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq, sum(iwcl) as 马5乙, sum(mcyd.NZWyz * iWCl / 1000) as 马5乙纸令数 ") ->where('cpjtfk.cbanzu','=','无线胶订5号(乙班)') ->group('drptdate,cbanzu') ->buildSql(); $rr = Db::table('scyddx')->alias('r') ->field('r.ICYDID,sum(r.NYSLS) as zl') ->group('r.ICYDID') ->buildSql(); $Bb = Db::table('ql_report_feedback_day')->alias('a') ->field(" CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq, sum(a.nAmount) as 马11甲") ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER') ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER') ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER') ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT') ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT') ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT') ->where('Name_WorkGroup','=','胶订潮流1号(甲班)') ->whereIn('a.cTechName', ['胶订联动', '胶头']) ->group("CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END,Name_WorkGroup")->buildSql(); $Bb1 = Db::table('ql_report_feedback_day')->alias('a') ->field(" CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq, sum(a.nAmount) as 马11乙 ") ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER') ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER') ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER') ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT') ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT') ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT') ->where('Name_WorkGroup','=','胶订潮流1号(乙班)') ->whereIn('a.cTechName', ['胶订联动', '胶头']) ->group("CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END,Name_WorkGroup") ->buildSql(); $CC = Db::table('ql_report_feedback_day')->alias('a') ->field(" CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq, sum(a.nAmount) as 马22甲 ") ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER') ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER') ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER') ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT') ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT') ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT') ->where('Name_WorkGroup','=','胶订潮流2号(甲班)') ->whereIn('a.cTechName', ['胶订联动', '胶头']) ->group("CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END,Name_WorkGroup") ->buildSql(); $CC1 = Db::table('ql_report_feedback_day')->alias('a') ->field(" CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq, sum(a.nAmount) as 马22乙 ") ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER') ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER') ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER') ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT') ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT') ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT') ->where('Name_WorkGroup','=','胶订潮流2号(乙班)') ->whereIn('a.cTechName', ['胶订联动', '胶头']) ->group("CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END,Name_WorkGroup") ->buildSql(); $EE = Db::table('ql_report_feedback_day')->alias('a') ->field(" CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq, sum(a.nAmount) as 马33甲 ") ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER') ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER') ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER') ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT') ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT') ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT') ->where('Name_WorkGroup','=','胶订精工1号(甲班)') ->whereIn('a.cTechName', ['胶订联动', '胶头']) ->group("CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END,Name_WorkGroup") ->buildSql(); $EE1 = Db::table('ql_report_feedback_day')->alias('a') ->field(" CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq, sum(a.nAmount) as 马33乙 ") ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER') ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER') ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER') ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT') ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT') ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT') ->where('Name_WorkGroup','=','胶订精工1号(乙班)') ->whereIn('a.cTechName', ['胶订联动', '胶头']) ->group("CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END,Name_WorkGroup") ->buildSql(); $HH = Db::table('ql_report_feedback_day')->alias('a') ->field(" CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq, sum(a.nAmount) as 马44甲 ") ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER') ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER') ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER') ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT') ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT') ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT') ->where('Name_WorkGroup','=','胶订精密达1号(甲班)') ->whereIn('a.cTechName', ['胶订联动', '胶头']) ->group("CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END,Name_WorkGroup") ->buildSql(); $HH1 = Db::table('ql_report_feedback_day')->alias('a') ->field(" CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq, sum(a.nAmount) as 马44乙 ") ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER') ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER') ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER') ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT') ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT') ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT') ->where('Name_WorkGroup','=','胶订精密达1号(乙班)') ->whereIn('a.cTechName', ['胶订联动', '胶头']) ->group("CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END,Name_WorkGroup") ->buildSql(); $XX = Db::table('ql_report_feedback_day')->alias('a') ->field(" CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq, sum(a.nAmount) as 马55甲 ") ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER') ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER') ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER') ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT') ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT') ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT') ->where('Name_WorkGroup','=','胶订精密达2号(甲班)') ->whereIn('a.cTechName', ['胶订联动', '胶头']) ->group("CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END,Name_WorkGroup") ->buildSql(); $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(); $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) 总计册 ") ->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') ->buildSql(); $jd = Db::table($db . ' db') ->field(" DATE_FORMAT(db.rq, '%Y-%m') as 日期, ROUND(sum(db.总计册), 0) as 无线胶订册数 ")->where("db.RQ >= '{$this->start_time()}' AND db.RQ <= '{$this->end_time()}' ") ->group('MONTH(db.rq)') ->select(); $B = Db::table('cpjtfk') ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT') ->field(" DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq, Sum(iWcl) AS '簿1甲' ") ->where('cbanzu','=','簿册机1号(甲班)') ->group('drptdate,cbanzu') ->buildSql(); $B1 = Db::table('cpjtfk') ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT') ->field(" DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq, Sum(iWcl) AS '簿1乙' ") ->where('cbanzu','=','簿册机1号(乙班)') ->group('drptdate,cbanzu') ->buildSql(); $rr = Db::table('scyddx')->alias('r') ->field('r.ICYDID,sum(r.NYSLS) as zl') ->group('r.ICYDID') ->buildSql(); $Bb = Db::table('ql_report_feedback_day')->alias('a') ->field(" CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq, Sum(a.nAmount) AS '簿11甲' ") ->join(['scdayrpt_teams' => 'b'], 'b.ID = a.ID_Teams and b.iDayRptStatus = 10','INNER') ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER') ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER') ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT') ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT') ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT') ->where('Name_WorkGroup','=','簿册联动线01号(甲班)') ->where('a.cTechName' ,'=','簿册联动') ->group("CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END,Name_WorkGroup") ->buildSql(); $Bb1 = Db::table('ql_report_feedback_day')->alias('a') ->field(" CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq, Sum(a.nAmount) AS '簿11乙' ") ->join(['scdayrpt_teams' => 'b'], 'b.ID = a.ID_Teams and b.iDayRptStatus = 10','INNER') ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER') ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER') ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT') ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT') ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT') ->where('Name_WorkGroup','=','簿册联动线01号(乙班)') ->where('a.cTechName' ,'=','簿册联动') ->group("CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END,Name_WorkGroup") ->buildSql(); $db = Db::table($A . 'a') ->field(" DISTINCT DATE(A.RQ) rq, IFNULL(sum(B.簿1甲), 0) + IFNULL((sum(b1.簿1乙)), 0) + IFNULL(sum(Bb.簿11甲), 0) + IFNULL((sum(Bb1.簿11乙)), 0) 总计册 ") ->join('(' . $B . ') as b', 'a.rq = b.rq','LEFT') ->join('(' . $B1 . ') as b1', 'a.rq = b1.rq','LEFT') ->join('(' . $Bb . ') as bb', 'a.rq = bb.rq','LEFT') ->join('(' . $Bb1 . ') as bb1', 'a.rq = bb1.rq','LEFT') ->group('rq') ->buildSql(); $bc = Db::table($db . ' db') ->field(" DATE_FORMAT(db.rq, '%Y-%m') as 日期, ROUND(sum(db.总计册), 0) as 簿册册数 ")->where("db.RQ >= '{$this->start_time()}' AND db.RQ <= '{$this->end_time()}' ") ->group('MONTH(db.rq)') ->select(); // 创建一个结果数组 $result=[]; $result1 = []; // 遍历第一个数组,并将数据加入结果数组 foreach ($jp as $val1) { $month = $val1['日期']; $data1 = $val1['精平册数']; if (!isset($result[$month])) { $result[$month] = 0; // 初始化结果数组中该月份的数据为0 } if (!isset($result1[$month])) { $result1[$month] = 0; // 初始化结果数组中该月份的数据为0 } $result1[$month] += $data1; // 累加第一个数组的数据 } // 遍历第二个数组,并将数据加入结果数组 foreach ($jd as $val2) { $month = $val2['日期']; $data1 = $val2['无线胶订册数']; if (!isset($result[$month])) { $result[$month] = 0; // 初始化结果数组中该月份的数据为0 } if (!isset($result1[$month])) { $result1[$month] = 0; // 初始化结果数组中该月份的数据为0 } $result1[$month] += $data1; // 累加第二个数组的数据 } foreach ($bc as $val2) { $month = $val2['日期']; $data1 = $val2['簿册册数']; if (!isset($result[$month])) { $result[$month] = 0; // 初始化结果数组中该月份的数据为0 } if (!isset($result1[$month])) { $result1[$month] = 0; // 初始化结果数组中该月份的数据为0 } $result1[$month] += $data1; // 累加第二个数组的数据 } foreach($result1 as $k=>$v){ $list['categories'][]=$k; $list['series'][0]['name']='装订实物产量册数'; $list['series'][0]['data'][]=$v; } $res['status']=0; $res['msg']=''; $res['data']=$list; $redis->set($redis_key, json_encode($result1)); // halt(json_decode($redis->get($redis_key),true)); return json_encode($result1); } //去年与当年--装订实物产量册数 接口合并一起->接口调用 public function zdcs(){ $redis=redis(); $result2022=json_decode($redis->get(md5('zdcs2022')),true); $result2023=json_decode($redis->get(md5('zdcs2023')),true); $result1=array_merge($result2022,$result2023); $i=0; $j=0; $list['categories']=['01','02','03','04','05','06','07','08','09','10','11','12']; foreach($result1 as $k=>$v){ if($k>='2023-01'){ $list['series'][1]['name']='2023年'; $list['series'][1]['data'][$j]=$v; $j++; }else{ $list['series'][0]['name']='2022年'; $list['series'][0]['data'][$i]=$v; $i++; } } $res['status']=0; $res['msg']=''; $res['data']=$list; // $redis->set($redis_key, json_encode($res),$this->redis_expire); // halt(json_decode($redis->get($redis_key),true)); return json_encode($res); } //去年装订实物产量纸令->缓存调用 public function zdzl2022(){ $redis=redis(); $redis_key = md5('zdzl2022'); $A = Db::table('cpjtfk')->field("DISTINCT DATE_FORMAT(drptdate, '%Y-%m-%d') AS rq") ->union(function ($query) { $query->table('scDayRpt_Teams')->alias('b') ->field("DISTINCT DATE_FORMAT( CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i:%s') < '06:30:00' THEN DATE_SUB(b.dOnDuty, INTERVAL 1 DAY) ELSE b.dOnDuty END, '%Y-%m-%d' ) AS RQ"); }, true) ->buildSql(); $B1 = Db::table('cpjtfk') ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT') ->field(" DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq, sum(mcyd.NZWyz * iWCl / 1000) as 精1乙纸令数 ") ->whereIn('cjtmc', ['精装生产联动线','进口骑马联动','紫光骑马联动','紫光骑马联动(新)','恒山骑马联动']) ->group('drptdate,cbanzu') ->buildSql(); $rr = Db::table('scyddx')->alias('r') ->field('r.ICYDID,sum(r.NYSLS) as zl') ->group('r.ICYDID') ->buildSql(); $Bb1 = Db::table('ql_report_feedback_day')->alias('a') ->field(" CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq, ROUND(SUM( CASE WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0) THEN CASE WHEN a.cCyddxMc = '装配' OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%' THEN CASE WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END = 0 THEN c.nzdls ELSE ( CASE WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END ELSE c.nzdls END ) END ELSE 0 END ELSE CASE WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/ THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) * CASE WHEN a.cCyddxMc = '装配' OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%' THEN CASE WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END = 0 THEN c.nzdls ELSE ( CASE WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END ELSE c.nzdls END ) END ELSE 0 END ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0) END END ) , 3) 精11乙纸令 ") ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER') ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER') ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER') ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT') ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT') ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT') ->whereIn('cMachineName', ['精装联动线01号','骑马联动01号','骑马联动02号','骑马联动03号']) ->group("CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END,Name_WorkGroup") ->buildSql(); $db = Db::table($A . 'a') ->field(" DATE(A.RQ) rq, TRUNCATE(IFNULL(Bb1.精11乙纸令, 0) + IFNULL(B1.精1乙纸令数, 0), 0) 纸令数总计 ") ->join('(' . $B1 . ') as b1', 'a.rq = b1.rq','LEFT') ->join('(' . $Bb1 . ') as bb1', 'a.rq = bb1.rq','LEFT') ->buildSql(); $jp = Db::table($db . ' db') ->field(" DATE_FORMAT(db.rq, '%Y-%m') as 日期, ROUND(sum(db.纸令数总计), 0) as 精平纸令 ")->where("db.RQ >= '{$this->qstart_time()}' AND db.RQ <= '{$this->qend_time()}' ") ->group('MONTH(db.rq)') ->select(); $B = Db::table('cpjtfk') ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT') ->field(" DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq, sum(mcyd.NZWyz * iWCl / 1000) as 马1甲纸令数 ") ->where('cpjtfk.cbanzu','=','马天尼(新)(甲班)') ->group('drptdate,cbanzu') ->buildSql(); $B1 = Db::table('cpjtfk') ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT') ->field(" DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq, sum(mcyd.NZWyz * iWCl / 1000) as 马1乙纸令数 ") ->where('cpjtfk.cbanzu','=','马天尼(新)(乙班)') ->group('drptdate,cbanzu') ->buildSql(); $C = Db::table('cpjtfk') ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT') ->field(" DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq, sum(mcyd.NZWyz * iWCl / 1000) as 马2甲纸令数 ") ->where('cpjtfk.cbanzu','=','马天尼2号(甲班)') ->group('drptdate,cbanzu') ->buildSql(); $C1 = Db::table('cpjtfk') ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT') ->field(" DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq, sum(mcyd.NZWyz * iWCl / 1000) as 马2乙纸令数 ") ->where('cpjtfk.cbanzu','=','马天尼2号(乙班)') ->group('drptdate,cbanzu') ->buildSql(); $D = Db::table('cpjtfk') ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT') ->field(" DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq, sum(mcyd.NZWyz * iWCl / 1000) as 马3甲纸令数 ") ->where('cpjtfk.cbanzu','=','无线胶订3号(甲班)') ->group('drptdate,cbanzu') ->buildSql(); $D1 = Db::table('cpjtfk') ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT') ->field(" DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq, sum(mcyd.NZWyz * iWCl / 1000) as 马3乙纸令数 ") ->where('cpjtfk.cbanzu','=','无线胶订3号(乙班)') ->group('drptdate,cbanzu') ->buildSql(); $E = Db::table('cpjtfk') ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT') ->field(" DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq, sum(mcyd.NZWyz * iWCl / 1000) as 马4甲纸令数 ") ->where('cpjtfk.cbanzu','=','无线胶订4号(甲班)') ->group('drptdate,cbanzu') ->buildSql(); $E1 = Db::table('cpjtfk') ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT') ->field(" DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq, sum(mcyd.NZWyz * iWCl / 1000) as 马4乙纸令数 ") ->where('cpjtfk.cbanzu','=','无线胶订4号(乙班)') ->group('drptdate,cbanzu') ->buildSql(); $F = Db::table('cpjtfk') ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT') ->field(" DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq, sum(mcyd.NZWyz * iWCl / 1000) as 马5甲纸令数 ") ->where('cpjtfk.cbanzu','=','无线胶订5号(甲班)') ->group('drptdate,cbanzu') ->buildSql(); $F1 = Db::table('cpjtfk') ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT') ->field(" DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq, sum(mcyd.NZWyz * iWCl / 1000) as 马5乙纸令数 ") ->where('cpjtfk.cbanzu','=','无线胶订5号(乙班)') ->group('drptdate,cbanzu') ->buildSql(); $rr = Db::table('scyddx')->alias('r') ->field('r.ICYDID,sum(r.NYSLS) as zl') ->group('r.ICYDID') ->buildSql(); $Bb = Db::table('ql_report_feedback_day')->alias('a') ->field(" CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq, ROUND(SUM( CASE WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0) THEN CASE WHEN a.cCyddxMc = '装配' OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%' THEN CASE WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END = 0 THEN c.nzdls ELSE ( CASE WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END ELSE c.nzdls END ) END ELSE 0 END ELSE CASE WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/ THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) * CASE WHEN a.cCyddxMc = '装配' OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%' THEN CASE WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END = 0 THEN c.nzdls ELSE ( CASE WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END ELSE c.nzdls END ) END ELSE 0 END ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0) END END ), 3) 马11甲纸令 ") ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER') ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER') ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER') ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT') ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT') ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT') ->where('Name_WorkGroup','=','胶订潮流1号(甲班)') ->whereIn('a.cTechName', ['胶订联动', '胶头']) ->group("CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END,Name_WorkGroup")->buildSql(); $Bb1 = Db::table('ql_report_feedback_day')->alias('a') ->field(" CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq, ROUND(SUM( CASE WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0) THEN CASE WHEN a.cCyddxMc = '装配' OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%' THEN CASE WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END = 0 THEN c.nzdls ELSE ( CASE WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END ELSE c.nzdls END ) END ELSE 0 END ELSE CASE WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/ THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) * CASE WHEN a.cCyddxMc = '装配' OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%' THEN CASE WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END = 0 THEN c.nzdls ELSE ( CASE WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END ELSE c.nzdls END ) END ELSE 0 END ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0) END END ) , 3) 马11乙纸令 ") ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER') ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER') ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER') ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT') ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT') ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT') ->where('Name_WorkGroup','=','胶订潮流1号(乙班)') ->whereIn('a.cTechName', ['胶订联动', '胶头']) ->group("CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END,Name_WorkGroup") ->buildSql(); $CC = Db::table('ql_report_feedback_day')->alias('a') ->field(" CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq, ROUND(SUM( CASE WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0) THEN CASE WHEN a.cCyddxMc = '装配' OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%' THEN CASE WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END = 0 THEN c.nzdls ELSE ( CASE WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END ELSE c.nzdls END ) END ELSE 0 END ELSE CASE WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/ THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) * CASE WHEN a.cCyddxMc = '装配' OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%' THEN CASE WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END = 0 THEN c.nzdls ELSE ( CASE WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END ELSE c.nzdls END ) END ELSE 0 END ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0) END END ) , 3) 马22甲纸令 ") ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER') ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER') ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER') ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT') ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT') ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT') ->where('Name_WorkGroup','=','胶订潮流2号(甲班)') ->whereIn('a.cTechName', ['胶订联动', '胶头']) ->group("CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END,Name_WorkGroup") ->buildSql(); $CC1 = Db::table('ql_report_feedback_day')->alias('a') ->field(" CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq, ROUND(SUM( CASE WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0) THEN CASE WHEN a.cCyddxMc = '装配' OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%' THEN CASE WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END = 0 THEN c.nzdls ELSE ( CASE WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END ELSE c.nzdls END ) END ELSE 0 END ELSE CASE WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/ THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) * CASE WHEN a.cCyddxMc = '装配' OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%' THEN CASE WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END = 0 THEN c.nzdls ELSE ( CASE WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END ELSE c.nzdls END ) END ELSE 0 END ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0) END END ) , 3) 马22乙纸令 ") ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER') ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER') ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER') ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT') ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT') ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT') ->where('Name_WorkGroup','=','胶订潮流2号(乙班)') ->whereIn('a.cTechName', ['胶订联动', '胶头']) ->group("CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END,Name_WorkGroup") ->buildSql(); $EE = Db::table('ql_report_feedback_day')->alias('a') ->field(" CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq, ROUND(SUM( CASE WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0) THEN CASE WHEN a.cCyddxMc = '装配' OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%' THEN CASE WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END = 0 THEN c.nzdls ELSE ( CASE WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END ELSE c.nzdls END ) END ELSE 0 END ELSE CASE WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/ THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) * CASE WHEN a.cCyddxMc = '装配' OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%' THEN CASE WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END = 0 THEN c.nzdls ELSE ( CASE WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END ELSE c.nzdls END ) END ELSE 0 END ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0) END END ) , 3) 马33甲纸令 ") ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER') ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER') ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER') ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT') ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT') ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT') ->where('Name_WorkGroup','=','胶订精工1号(甲班)') ->whereIn('a.cTechName', ['胶订联动', '胶头']) ->group("CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END,Name_WorkGroup") ->buildSql(); $EE1 = Db::table('ql_report_feedback_day')->alias('a') ->field(" CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq, ROUND(SUM( CASE WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0) THEN CASE WHEN a.cCyddxMc = '装配' OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%' THEN CASE WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END = 0 THEN c.nzdls ELSE ( CASE WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END ELSE c.nzdls END ) END ELSE 0 END ELSE CASE WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/ THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) * CASE WHEN a.cCyddxMc = '装配' OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%' THEN CASE WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END = 0 THEN c.nzdls ELSE ( CASE WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END ELSE c.nzdls END ) END ELSE 0 END ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0) END END ) , 3) 马33乙纸令 ") ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER') ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER') ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER') ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT') ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT') ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT') ->where('Name_WorkGroup','=','胶订精工1号(乙班)') ->whereIn('a.cTechName', ['胶订联动', '胶头']) ->group("CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END,Name_WorkGroup") ->buildSql(); $HH = Db::table('ql_report_feedback_day')->alias('a') ->field(" CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq, ROUND(SUM( CASE WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0) THEN CASE WHEN a.cCyddxMc = '装配' OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%' THEN CASE WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END = 0 THEN c.nzdls ELSE ( CASE WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END ELSE c.nzdls END ) END ELSE 0 END ELSE CASE WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/ THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) * CASE WHEN a.cCyddxMc = '装配' OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%' THEN CASE WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END = 0 THEN c.nzdls ELSE ( CASE WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END ELSE c.nzdls END ) END ELSE 0 END ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0) END END ) , 3) 马44甲纸令 ") ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER') ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER') ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER') ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT') ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT') ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT') ->where('Name_WorkGroup','=','胶订精密达1号(甲班)') ->whereIn('a.cTechName', ['胶订联动', '胶头']) ->group("CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END,Name_WorkGroup") ->buildSql(); $HH1 = Db::table('ql_report_feedback_day')->alias('a') ->field(" CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq, ROUND(SUM( CASE WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0) THEN CASE WHEN a.cCyddxMc = '装配' OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%' THEN CASE WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END = 0 THEN c.nzdls ELSE ( CASE WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END ELSE c.nzdls END ) END ELSE 0 END ELSE CASE WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/ THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) * CASE WHEN a.cCyddxMc = '装配' OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%' THEN CASE WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END = 0 THEN c.nzdls ELSE ( CASE WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END ELSE c.nzdls END ) END ELSE 0 END ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0) END END ) , 3) 马44乙纸令 ") ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER') ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER') ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER') ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT') ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT') ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT') ->where('Name_WorkGroup','=','胶订精密达1号(乙班)') ->whereIn('a.cTechName', ['胶订联动', '胶头']) ->group("CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END,Name_WorkGroup") ->buildSql(); $XX = Db::table('ql_report_feedback_day')->alias('a') ->field(" CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq, ROUND(SUM( CASE WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0) THEN CASE WHEN a.cCyddxMc = '装配' OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%' THEN CASE WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END = 0 THEN c.nzdls ELSE ( CASE WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END ELSE c.nzdls END ) END ELSE 0 END ELSE CASE WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/ THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) * CASE WHEN a.cCyddxMc = '装配' OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%' THEN CASE WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END = 0 THEN c.nzdls ELSE ( CASE WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END ELSE c.nzdls END ) END ELSE 0 END ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0) END END ) , 3) 马55甲纸令 ") ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER') ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER') ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER') ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT') ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT') ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT') ->where('Name_WorkGroup','=','胶订精密达2号(甲班)') ->whereIn('a.cTechName', ['胶订联动', '胶头']) ->group("CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END,Name_WorkGroup") ->buildSql(); $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(); $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), 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') ->group('rq') ->buildSql(); $jd = Db::table($db . ' db') ->field(" DATE_FORMAT(db.rq, '%Y-%m') as 日期, ROUND(SUM(db.纸令数总计), 0) AS 无线胶订纸令 ") ->where("db.RQ >= '{$this->qstart_time()}'AND db.RQ <= '{$this->qend_time()}' ") ->group('MONTH(db.rq)') ->select(); /** * 簿册联动线纸令 */ $B = Db::table('cpjtfk') ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT') ->field(" DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq, sum(mcyd.NZWyz * iWCl / 1000) AS 簿1甲纸令数 ") ->where('cbanzu','=','簿册机1号(甲班)') ->group('drptdate,cbanzu') ->buildSql(); $B1 = Db::table('cpjtfk') ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT') ->field(" DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq, sum(mcyd.NZWyz * iWCl / 1000) AS 簿1乙纸令数 ") ->where('cbanzu','=','簿册机1号(乙班)') ->group('drptdate,cbanzu') ->buildSql(); $rr = Db::table('scyddx')->alias('r') ->field('r.ICYDID,sum(r.NYSLS) as zl') ->group('r.ICYDID') ->buildSql(); $Bb = Db::table('ql_report_feedback_day')->alias('a') ->field(" CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq, ROUND(SUM( CASE WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0) THEN CASE WHEN a.cCyddxMc = '装配' OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%' THEN CASE WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END = 0 THEN c.nzdls ELSE ( CASE WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END ELSE c.nzdls END ) END ELSE 0 END ELSE CASE WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/ THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) * CASE WHEN a.cCyddxMc = '装配' OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%' THEN CASE WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END = 0 THEN c.nzdls ELSE ( CASE WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END ELSE c.nzdls END ) END ELSE 0 END ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0) END END ) , 3) 簿11甲纸令 ") ->join(['scdayrpt_teams' => 'b'], 'b.ID = a.ID_Teams and b.iDayRptStatus = 10','INNER') ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER') ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER') ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT') ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT') ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT') ->where('Name_WorkGroup','=','簿册联动线01号(甲班)') ->where('a.cTechName' ,'=','簿册联动') ->group("CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END,Name_WorkGroup") ->buildSql(); $Bb1 = Db::table('ql_report_feedback_day')->alias('a') ->field(" CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq, ROUND(SUM( CASE WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0) THEN CASE WHEN a.cCyddxMc = '装配' OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%' THEN CASE WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END = 0 THEN c.nzdls ELSE ( CASE WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END ELSE c.nzdls END ) END ELSE 0 END ELSE CASE WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/ THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) * CASE WHEN a.cCyddxMc = '装配' OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%' THEN CASE WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END = 0 THEN c.nzdls ELSE ( CASE WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END ELSE c.nzdls END ) END ELSE 0 END ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0) END END ) , 3) 簿11乙纸令 ") ->join(['scdayrpt_teams' => 'b'], 'b.ID = a.ID_Teams and b.iDayRptStatus = 10','INNER') ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER') ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER') ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT') ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT') ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT') ->where('Name_WorkGroup','=','簿册联动线01号(乙班)') ->where('a.cTechName' ,'=','簿册联动') ->group("CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END,Name_WorkGroup") ->buildSql(); $db = Db::table($A . 'a') ->field(" DISTINCT DATE_FORMAT(A.RQ, '%Y-%m-%d') AS rq, TRUNCATE(IFNULL(sum(B.簿1甲纸令数), 0) + IFNULL(sum(B1.簿1乙纸令数), 0) + IFNULL(sum(Bb.簿11甲纸令), 0) + IFNULL(sum(Bb1.簿11乙纸令), 0), 0) 纸令 ") ->join('(' . $B . ') as b', 'a.rq = b.rq','LEFT') ->join('(' . $B1 . ') as b1', 'a.rq = b1.rq','LEFT') ->join('(' . $Bb . ') as bb', 'a.rq = bb.rq','LEFT') ->join('(' . $Bb1 . ') as bb1', 'a.rq = bb1.rq','LEFT') ->group('rq') ->buildSql(); $bc = Db::table($db . ' db') ->field(" DATE_FORMAT(db.rq, '%Y-%m') as 日期, ROUND(sum(db.纸令), 0) as 簿册纸令 ")->where("db.RQ >= '{$this->qstart_time()}' AND db.RQ <= '{$this->qend_time()}' ") ->group('MONTH(db.rq)') ->select(); // 创建一个结果数组 $result=[]; $result1 = []; // 遍历第一个数组,并将数据加入结果数组 foreach ($jp as $val1) { $month = $val1['日期']; $data1 = $val1['精平纸令']; if (!isset($result[$month])) { $result[$month] = 0; // 初始化结果数组中该月份的数据为0 } if (!isset($result1[$month])) { $result1[$month] = 0; // 初始化结果数组中该月份的数据为0 } $result1[$month] += $data1; // 累加第一个数组的数据 } // 遍历第二个数组,并将数据加入结果数组 foreach ($jd as $val2) { $month = $val2['日期']; $data1 = $val2['无线胶订纸令']; if (!isset($result[$month])) { $result[$month] = 0; // 初始化结果数组中该月份的数据为0 } if (!isset($result1[$month])) { $result1[$month] = 0; // 初始化结果数组中该月份的数据为0 } $result1[$month] += $data1; // 累加第二个数组的数据 } foreach ($bc as $val2) { $month = $val2['日期']; $data1 = $val2['簿册纸令']; if (!isset($result[$month])) { $result[$month] = 0; // 初始化结果数组中该月份的数据为0 } if (!isset($result1[$month])) { $result1[$month] = 0; // 初始化结果数组中该月份的数据为0 } $result1[$month] += $data1; // 累加第二个数组的数据 } foreach($result1 as $k=>$v){ $list['categories'][]=$k; $list['series'][0]['name']='装订实物产量色令数'; $list['series'][0]['data'][]=$v; } $res['status']=0; $res['msg']=''; $res['data']=$list; $redis->set($redis_key, json_encode($result1)); // halt(json_decode($redis->get($redis_key),true)); return json_encode($result1); } //当年装订实物产量纸令->缓存调用 public function zdzl2023(){ $redis=redis(); $redis_key = md5('zdzl2023'); $A = Db::table('cpjtfk')->field("DISTINCT DATE_FORMAT(drptdate, '%Y-%m-%d') AS rq") ->union(function ($query) { $query->table('scDayRpt_Teams')->alias('b') ->field("DISTINCT DATE_FORMAT( CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i:%s') < '06:30:00' THEN DATE_SUB(b.dOnDuty, INTERVAL 1 DAY) ELSE b.dOnDuty END, '%Y-%m-%d' ) AS RQ"); }, true) ->buildSql(); $B1 = Db::table('cpjtfk') ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT') ->field(" DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq, sum(mcyd.NZWyz * iWCl / 1000) as 精1乙纸令数 ") ->whereIn('cjtmc', ['精装生产联动线','进口骑马联动','紫光骑马联动','紫光骑马联动(新)','恒山骑马联动']) ->group('drptdate,cbanzu') ->buildSql(); $rr = Db::table('scyddx')->alias('r') ->field('r.ICYDID,sum(r.NYSLS) as zl') ->group('r.ICYDID') ->buildSql(); $Bb1 = Db::table('ql_report_feedback_day')->alias('a') ->field(" CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq, ROUND(SUM( CASE WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0) THEN CASE WHEN a.cCyddxMc = '装配' OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%' THEN CASE WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END = 0 THEN c.nzdls ELSE ( CASE WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END ELSE c.nzdls END ) END ELSE 0 END ELSE CASE WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/ THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) * CASE WHEN a.cCyddxMc = '装配' OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%' THEN CASE WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END = 0 THEN c.nzdls ELSE ( CASE WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END ELSE c.nzdls END ) END ELSE 0 END ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0) END END ) , 3) 精11乙纸令 ") ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER') ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER') ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER') ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT') ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT') ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT') ->whereIn('cMachineName', ['精装联动线01号','骑马联动01号','骑马联动02号','骑马联动03号']) ->group("CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END,Name_WorkGroup") ->buildSql(); $db = Db::table($A . 'a') ->field(" DATE(A.RQ) rq, TRUNCATE(IFNULL(Bb1.精11乙纸令, 0) + IFNULL(B1.精1乙纸令数, 0), 0) 纸令数总计 ") ->join('(' . $B1 . ') as b1', 'a.rq = b1.rq','LEFT') ->join('(' . $Bb1 . ') as bb1', 'a.rq = bb1.rq','LEFT') ->buildSql(); $jp = Db::table($db . ' db') ->field(" DATE_FORMAT(db.rq, '%Y-%m') as 日期, ROUND(sum(db.纸令数总计), 0) as 精平纸令 ")->where("db.RQ >= '{$this->start_time()}' AND db.RQ <= '{$this->end_time()}' ") ->group('MONTH(db.rq)') ->select(); $B = Db::table('cpjtfk') ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT') ->field(" DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq, sum(mcyd.NZWyz * iWCl / 1000) as 马1甲纸令数 ") ->where('cpjtfk.cbanzu','=','马天尼(新)(甲班)') ->group('drptdate,cbanzu') ->buildSql(); $B1 = Db::table('cpjtfk') ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT') ->field(" DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq, sum(mcyd.NZWyz * iWCl / 1000) as 马1乙纸令数 ") ->where('cpjtfk.cbanzu','=','马天尼(新)(乙班)') ->group('drptdate,cbanzu') ->buildSql(); $C = Db::table('cpjtfk') ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT') ->field(" DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq, sum(mcyd.NZWyz * iWCl / 1000) as 马2甲纸令数 ") ->where('cpjtfk.cbanzu','=','马天尼2号(甲班)') ->group('drptdate,cbanzu') ->buildSql(); $C1 = Db::table('cpjtfk') ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT') ->field(" DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq, sum(mcyd.NZWyz * iWCl / 1000) as 马2乙纸令数 ") ->where('cpjtfk.cbanzu','=','马天尼2号(乙班)') ->group('drptdate,cbanzu') ->buildSql(); $D = Db::table('cpjtfk') ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT') ->field(" DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq, sum(mcyd.NZWyz * iWCl / 1000) as 马3甲纸令数 ") ->where('cpjtfk.cbanzu','=','无线胶订3号(甲班)') ->group('drptdate,cbanzu') ->buildSql(); $D1 = Db::table('cpjtfk') ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT') ->field(" DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq, sum(mcyd.NZWyz * iWCl / 1000) as 马3乙纸令数 ") ->where('cpjtfk.cbanzu','=','无线胶订3号(乙班)') ->group('drptdate,cbanzu') ->buildSql(); $E = Db::table('cpjtfk') ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT') ->field(" DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq, sum(mcyd.NZWyz * iWCl / 1000) as 马4甲纸令数 ") ->where('cpjtfk.cbanzu','=','无线胶订4号(甲班)') ->group('drptdate,cbanzu') ->buildSql(); $E1 = Db::table('cpjtfk') ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT') ->field(" DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq, sum(mcyd.NZWyz * iWCl / 1000) as 马4乙纸令数 ") ->where('cpjtfk.cbanzu','=','无线胶订4号(乙班)') ->group('drptdate,cbanzu') ->buildSql(); $F = Db::table('cpjtfk') ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT') ->field(" DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq, sum(mcyd.NZWyz * iWCl / 1000) as 马5甲纸令数 ") ->where('cpjtfk.cbanzu','=','无线胶订5号(甲班)') ->group('drptdate,cbanzu') ->buildSql(); $F1 = Db::table('cpjtfk') ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT') ->field(" DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq, sum(mcyd.NZWyz * iWCl / 1000) as 马5乙纸令数 ") ->where('cpjtfk.cbanzu','=','无线胶订5号(乙班)') ->group('drptdate,cbanzu') ->buildSql(); $rr = Db::table('scyddx')->alias('r') ->field('r.ICYDID,sum(r.NYSLS) as zl') ->group('r.ICYDID') ->buildSql(); $Bb = Db::table('ql_report_feedback_day')->alias('a') ->field(" CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq, ROUND(SUM( CASE WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0) THEN CASE WHEN a.cCyddxMc = '装配' OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%' THEN CASE WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END = 0 THEN c.nzdls ELSE ( CASE WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END ELSE c.nzdls END ) END ELSE 0 END ELSE CASE WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/ THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) * CASE WHEN a.cCyddxMc = '装配' OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%' THEN CASE WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END = 0 THEN c.nzdls ELSE ( CASE WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END ELSE c.nzdls END ) END ELSE 0 END ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0) END END ), 3) 马11甲纸令 ") ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER') ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER') ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER') ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT') ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT') ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT') ->where('Name_WorkGroup','=','胶订潮流1号(甲班)') ->whereIn('a.cTechName', ['胶订联动', '胶头']) ->group("CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END,Name_WorkGroup")->buildSql(); $Bb1 = Db::table('ql_report_feedback_day')->alias('a') ->field(" CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq, ROUND(SUM( CASE WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0) THEN CASE WHEN a.cCyddxMc = '装配' OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%' THEN CASE WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END = 0 THEN c.nzdls ELSE ( CASE WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END ELSE c.nzdls END ) END ELSE 0 END ELSE CASE WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/ THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) * CASE WHEN a.cCyddxMc = '装配' OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%' THEN CASE WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END = 0 THEN c.nzdls ELSE ( CASE WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END ELSE c.nzdls END ) END ELSE 0 END ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0) END END ) , 3) 马11乙纸令 ") ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER') ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER') ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER') ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT') ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT') ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT') ->where('Name_WorkGroup','=','胶订潮流1号(乙班)') ->whereIn('a.cTechName', ['胶订联动', '胶头']) ->group("CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END,Name_WorkGroup") ->buildSql(); $CC = Db::table('ql_report_feedback_day')->alias('a') ->field(" CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq, ROUND(SUM( CASE WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0) THEN CASE WHEN a.cCyddxMc = '装配' OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%' THEN CASE WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END = 0 THEN c.nzdls ELSE ( CASE WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END ELSE c.nzdls END ) END ELSE 0 END ELSE CASE WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/ THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) * CASE WHEN a.cCyddxMc = '装配' OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%' THEN CASE WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END = 0 THEN c.nzdls ELSE ( CASE WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END ELSE c.nzdls END ) END ELSE 0 END ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0) END END ) , 3) 马22甲纸令 ") ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER') ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER') ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER') ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT') ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT') ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT') ->where('Name_WorkGroup','=','胶订潮流2号(甲班)') ->whereIn('a.cTechName', ['胶订联动', '胶头']) ->group("CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END,Name_WorkGroup") ->buildSql(); $CC1 = Db::table('ql_report_feedback_day')->alias('a') ->field(" CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq, ROUND(SUM( CASE WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0) THEN CASE WHEN a.cCyddxMc = '装配' OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%' THEN CASE WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END = 0 THEN c.nzdls ELSE ( CASE WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END ELSE c.nzdls END ) END ELSE 0 END ELSE CASE WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/ THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) * CASE WHEN a.cCyddxMc = '装配' OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%' THEN CASE WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END = 0 THEN c.nzdls ELSE ( CASE WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END ELSE c.nzdls END ) END ELSE 0 END ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0) END END ) , 3) 马22乙纸令 ") ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER') ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER') ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER') ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT') ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT') ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT') ->where('Name_WorkGroup','=','胶订潮流2号(乙班)') ->whereIn('a.cTechName', ['胶订联动', '胶头']) ->group("CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END,Name_WorkGroup") ->buildSql(); $EE = Db::table('ql_report_feedback_day')->alias('a') ->field(" CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq, ROUND(SUM( CASE WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0) THEN CASE WHEN a.cCyddxMc = '装配' OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%' THEN CASE WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END = 0 THEN c.nzdls ELSE ( CASE WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END ELSE c.nzdls END ) END ELSE 0 END ELSE CASE WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/ THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) * CASE WHEN a.cCyddxMc = '装配' OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%' THEN CASE WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END = 0 THEN c.nzdls ELSE ( CASE WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END ELSE c.nzdls END ) END ELSE 0 END ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0) END END ) , 3) 马33甲纸令 ") ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER') ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER') ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER') ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT') ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT') ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT') ->where('Name_WorkGroup','=','胶订精工1号(甲班)') ->whereIn('a.cTechName', ['胶订联动', '胶头']) ->group("CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END,Name_WorkGroup") ->buildSql(); $EE1 = Db::table('ql_report_feedback_day')->alias('a') ->field(" CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq, ROUND(SUM( CASE WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0) THEN CASE WHEN a.cCyddxMc = '装配' OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%' THEN CASE WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END = 0 THEN c.nzdls ELSE ( CASE WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END ELSE c.nzdls END ) END ELSE 0 END ELSE CASE WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/ THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) * CASE WHEN a.cCyddxMc = '装配' OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%' THEN CASE WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END = 0 THEN c.nzdls ELSE ( CASE WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END ELSE c.nzdls END ) END ELSE 0 END ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0) END END ) , 3) 马33乙纸令 ") ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER') ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER') ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER') ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT') ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT') ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT') ->where('Name_WorkGroup','=','胶订精工1号(乙班)') ->whereIn('a.cTechName', ['胶订联动', '胶头']) ->group("CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END,Name_WorkGroup") ->buildSql(); $HH = Db::table('ql_report_feedback_day')->alias('a') ->field(" CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq, ROUND(SUM( CASE WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0) THEN CASE WHEN a.cCyddxMc = '装配' OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%' THEN CASE WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END = 0 THEN c.nzdls ELSE ( CASE WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END ELSE c.nzdls END ) END ELSE 0 END ELSE CASE WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/ THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) * CASE WHEN a.cCyddxMc = '装配' OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%' THEN CASE WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END = 0 THEN c.nzdls ELSE ( CASE WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END ELSE c.nzdls END ) END ELSE 0 END ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0) END END ) , 3) 马44甲纸令 ") ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER') ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER') ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER') ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT') ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT') ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT') ->where('Name_WorkGroup','=','胶订精密达1号(甲班)') ->whereIn('a.cTechName', ['胶订联动', '胶头']) ->group("CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END,Name_WorkGroup") ->buildSql(); $HH1 = Db::table('ql_report_feedback_day')->alias('a') ->field(" CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq, ROUND(SUM( CASE WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0) THEN CASE WHEN a.cCyddxMc = '装配' OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%' THEN CASE WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END = 0 THEN c.nzdls ELSE ( CASE WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END ELSE c.nzdls END ) END ELSE 0 END ELSE CASE WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/ THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) * CASE WHEN a.cCyddxMc = '装配' OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%' THEN CASE WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END = 0 THEN c.nzdls ELSE ( CASE WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END ELSE c.nzdls END ) END ELSE 0 END ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0) END END ) , 3) 马44乙纸令 ") ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER') ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER') ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER') ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT') ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT') ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT') ->where('Name_WorkGroup','=','胶订精密达1号(乙班)') ->whereIn('a.cTechName', ['胶订联动', '胶头']) ->group("CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END,Name_WorkGroup") ->buildSql(); $XX = Db::table('ql_report_feedback_day')->alias('a') ->field(" CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq, ROUND(SUM( CASE WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0) THEN CASE WHEN a.cCyddxMc = '装配' OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%' THEN CASE WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END = 0 THEN c.nzdls ELSE ( CASE WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END ELSE c.nzdls END ) END ELSE 0 END ELSE CASE WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/ THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) * CASE WHEN a.cCyddxMc = '装配' OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%' THEN CASE WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END = 0 THEN c.nzdls ELSE ( CASE WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0) END ELSE c.nzdls END ) END ELSE 0 END ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0) END END ) , 3) 马55甲纸令 ") ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER') ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER') ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER') ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT') ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT') ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT') ->where('Name_WorkGroup','=','胶订精密达2号(甲班)') ->whereIn('a.cTechName', ['胶订联动', '胶头']) ->group("CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END,Name_WorkGroup") ->buildSql(); $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(); $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), 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') ->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 zdzl(){ $redis=redis(); $result2022=json_decode($redis->get(md5('zdzl2022')),true); $result2023=json_decode($redis->get(md5('zdzl2023')),true); $result1=array_merge($result2022,$result2023); $i=0; $j=0; $list['categories']=['01','02','03','04','05','06','07','08','09','10','11','12']; foreach($result1 as $k=>$v){ if($k>='2023-01'){ $list['series'][1]['name']='2023年'; $list['series'][1]['data'][$j]=$v; $j++; }else{ $list['series'][0]['name']='2022年'; $list['series'][0]['data'][$i]=$v; $i++; } } $res['status']=0; $res['msg']=''; $res['data']=$list; // $redis->set($redis_key, json_encode($res),$this->redis_expire); // halt(json_decode($redis->get($redis_key),true)); return json_encode($res); } //年度承接量及完成百分比->缓存调用 public function ndcj_redis(){ $redis=redis(); $redis_key = md5('ndcj_redis'); $name='年度承接产量(万色令)'; $yu=Db::name('business')->where('name',$name)->value('year_target'); $result = Db::query("SELECT round( M.总色令/$yu*100,0) 色令百分比,round( m.总色令) 色令,$yu 常量, year(M.rq) 年度 FROM (SELECT t5.rq as rq,sum(t5.sl)/10000 as 总色令,sum(t5.zl) as 总纸令 FROM ( SELECT DATE_FORMAT( dcyrq, '%Y-%m-%d' ) as rq,sum(objmatier.nyssl) as sl,sum(objmatier.nysls) as zl FROM `mcyd` `ord` LEFT JOIN (( SELECT icydid,sum(nyssl) as nyssl,sum(nysls) as nysls FROM `scyddx` `objmatier` GROUP BY `icydid` )) as objmatier ON `ord`.`icydid`=`objmatier`.`icydid` WHERE `ord`.`icydstate` > 0 and chy != '集团教材外' GROUP BY `rq` ) t5 WHERE ( t5.RQ >= '{$this->start_time()}'AND t5.RQ <= '{$this->end_time()}' ) GROUP BY year(t5.rq) ) M"); foreach ($result as $v) { $list[0]['name'] = ' '; $list[0]['value'] = round($v['色令']); $list[1]['name'] = ' '; $list[1]['value'] = round($v['常量']); $list[2]['name'] = ' '; $list[2]['value'] = round($v['色令百分比']); } $res['status'] = 0; $res['msg'] = ''; $res['data'] = $list; $redis->set($redis_key, json_encode($res)); // halt(json_decode($redis->get($redis_key),true)); return json_encode($res); } //年度承接量及完成百分比->接口调用 public function ndcj(){ $redis=redis(); $redis_key = md5('ndcj_redis'); $redis_data = $redis->get($redis_key); return $redis_data; } //完成实物产量色令数及百分比->缓存调用 public function wcsw_redis(){ $redis=redis(); $redis_key = md5('wcsw_redis'); $name='年度完成实物产量(万色令)'; $yu=Db::name('business')->where('name',$name)->value('year_target'); $result = Db::query("SELECT round(sum(m.`印刷实物产量色令数`)/$yu*100,0) 完成率,round(sum(m.`印刷实物产量色令数`)) 色令数求和,$yu 常量 from (SELECT ROUND((SUM( db.nBBSL )+SUM( db.nFourColorSL )+SUM( db.nnRotationSL ))/10000,2) AS '印刷实物产量色令数' FROM (SELECT DISTINCT A.RQ,h.nBBSL AS nBBSL,B.nFourColorSL AS nFourColorSL,P.nnRotationSL AS nnRotationSL FROM (SELECT DISTINCT drptrq AS RQ FROM `bzysdayrpt` UNION ( SELECT DISTINCT b.dOnduty FROM `ql_report_feedback_day` `a` INNER JOIN `scdayrpt_teams` `b` ON `b`.`ID`=`a`.`ID_Teams` ) )A LEFT JOIN (( SELECT rq,SUM( iSjys ) nFourColorsTotal,COUNT( 1 ) nFourColorPZ, SUM( fsjsl ) nFourColorSL FROM ( SELECT drptrq AS rq,`iSjys`,`fsjsl` FROM `bzysdayrpt` WHERE `cbzmc` IN ('四色机2号(甲班)','四色机2号(乙班)','海德堡(甲班)','海德堡1号(甲班)','海德堡(乙班)','海德堡1号(乙班)','海德堡5+1 1号(甲班)','海德堡5+1 1号(乙班)','三菱机1(甲班)','三菱机1(乙班)','三菱机2(甲班)','三菱机2(乙班)','小森八色(甲班)','小森八色(乙班)') UNION ALL ( SELECT `b`.`dOnduty`,`a`.`nAmount`,`a`.`nsl` FROM `ql_report_feedback_day` `a` INNER JOIN `scdayrpt_teams` `b` ON `b`.`ID`=`a`.`ID_Teams` WHERE `cMachineName` IN ('四色机02号','四色机02号机','海德堡01号','海德堡01号机','海德堡5+L 01号','海德堡5+L 01号机','三菱机01号','三菱机01号机','三菱机02号','三菱机02号机','小森八色01号','小森八色01号机','小森八色02号机') ) )T GROUP BY `rq` )) as B ON `A`.`RQ`=`B`.`rq` LEFT JOIN (( SELECT rq,SUM( iSjys ) nBBTotal,COUNT( 1 ) nBBPZ,SUM( fsjsl ) nBBSL FROM ( SELECT drptrq AS rq,`iSjys`,`fsjsl` FROM `bzysdayrpt` WHERE `cbzmc` IN ('BB机1号(甲班)','BB机1号(乙班)','BB机2号(甲班)','BB机2号(乙班)','BB机3号(甲班)','BB机3号(乙班)','BB机4号(甲班)','BB机4号(乙班)','BB机5号(甲班)','BB机5号(乙班)','BB机6号(甲班)','BB机6号(乙班)','05机1号(甲班)','05机1号(乙班)','海德堡SM1号机(甲班)','海德堡SM1号机(乙班)','海德堡SM2号机(甲班)','海德堡SM2号机(乙班)') UNION ALL ( SELECT `b`.`dOnduty`,`a`.`nAmount`,`a`.`nsl` FROM `ql_report_feedback_day` `a` INNER JOIN `scdayrpt_teams` `b` ON `b`.`ID`=`a`.`ID_Teams` WHERE `cMachineName` IN ('BB机01号','BB机02号','BB机04号','BB机05号','BB机06号','海德堡SM1号','海德堡SM2号') ) )T GROUP BY `rq` )) as h ON `A`.`RQ`=`h`.`rq` LEFT JOIN (( SELECT rq,SUM( iSjys ) nRotationTotal,COUNT( 1 ) nRotationPZ,SUM( fsjsl ) nnRotationSL FROM ( SELECT drptrq AS rq,`iSjys`,`fsjsl` FROM `bzysdayrpt` WHERE `cbzmc` IN ('小森LW-35(甲班)','小森LW-35(乙班)','小森2号机(甲班)','小森2号机(乙班)','大规小森3号机(甲班)','大规小森3号机(乙班)','三菱商轮(甲班)','三菱商轮(乙班)','三菱商轮2号(甲班)','三菱商轮2号(乙班)','204胶轮(甲班)','204胶轮(乙班)','V30(甲班)','V30(乙班)','报刊轮转(甲班)','报刊轮转(乙班)') UNION ALL ( SELECT `b`.`dOnduty`,`a`.`nAmount`,`a`.`nsl` FROM `ql_report_feedback_day` `a` INNER JOIN `scdayrpt_teams` `b` ON `b`.`ID`=`a`.`ID_Teams` WHERE `cMachineName` IN ('标规小森商轮1号','标规小森商轮2号','大规小森商轮1号','大规三菱商轮1号','标规三菱商轮1号','标规三菱商轮2号','标规204胶轮1号','大规海德堡1号','标规报轮1号') ) )T GROUP BY `rq` )) as P ON `A`.`RQ`=`P`.`rq` ) db WHERE (db.RQ >= '{$this->start_time()}'AND db.RQ <= '{$this->end_time()}') GROUP BY MONTH(db.RQ) ORDER BY `db`.`RQ` ASC ) m"); 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_key = md5('yssl_redis'); $redis_data = $redis->get($redis_key); $result=json_decode($redis_data,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 = '集团教材内'"); $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 = '集团教材内'"); $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号']); }, 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->qstart_time()}'AND db.RQ <= '{$this->end_time()}' ") // ->group('MONTH(db.RQ)') ->group("DATE_FORMAT( db.RQ, '%Y-%m' )") ->select(); $i=0; $j=0; $list['categories']=['01','02','03','04','05','06','07','08','09','10','11','12']; foreach($sql_final as $v){ if($v['rq']>=$this->year_January()){ $list['series'][1]['name']='2023年'; $list['series'][1]['data'][$j]=$v['nnRotationSL']; $j++; }else{ $list['series'][0]['name']='2022年'; $list['series'][0]['data'][$i]=$v['nnRotationSL']; $i++; } } // foreach($sql_final as $k=>$v){ // $list['categories'][$k]=$v['rq']; // $list['series'][0]['name']='轮转机每月生产趋势 纸令'; // $list['series'][0]['data'][$k]=round($v['nnRotationSL']/10000); // } $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 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->qstart_time()}'AND db.RQ <= '{$this->end_time()}' ") // ->group('MONTH(db.RQ)') ->group("DATE_FORMAT( db.RQ, '%Y-%m' )") ->select(); $i=0; $j=0; $list['categories']=['01','02','03','04','05','06','07','08','09','10','11','12']; foreach($sql_final as $v){ if($v['rq']>=$this->year_January()){ $list['series'][1]['name']='2023年'; $list['series'][1]['data'][$j]=$v['nFourColorSL']; $j++; }else{ $list['series'][0]['name']='2022年'; $list['series'][0]['data'][$i]=$v['nFourColorSL']; $i++; } } // foreach($sql_final as $k=>$v){ // $list['categories'][$k]=$v['rq']; // $list['series'][0]['name']='四色机每月生产趋势 纸令'; // $list['series'][0]['data'][$k]=round($v['nFourColorSL']/10000); // } $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 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号', '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->qstart_time()}'AND db.RQ <= '{$this->end_time()}' ") // ->group('MONTH(db.RQ)') ->group("DATE_FORMAT( db.RQ, '%Y-%m' )") ->select(); $i=0; $j=0; $list['categories']=['01','02','03','04','05','06','07','08','09','10','11','12']; foreach($sql_final as $v){ if($v['rq']>=$this->year_January()){ $list['series'][1]['name']='2023年'; $list['series'][1]['data'][$j]=$v['nBBSL']; $j++; }else{ $list['series'][0]['name']='2022年'; $list['series'][0]['data'][$i]=$v['nBBSL']; $i++; } } $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号']); }, 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->qstart_time()}'AND db.RQ <= '{$this->end_time()}' ") // ->group('MONTH(db.RQ)') ->group("DATE_FORMAT( db.RQ, '%Y-%m' )") ->select(); $i=0; $j=0; $list['categories']=['01','02','03','04','05','06','07','08','09','10','11','12']; foreach($sql_final as $v){ if($v['rq']>=$this->year_January()){ $list['series'][1]['name']='2023年'; $list['series'][1]['data'][$j]=$v['nnRotationSL']; $j++; }else{ $list['series'][0]['name']='2022年'; $list['series'][0]['data'][$i]=$v['nnRotationSL']; $i++; } } $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->qstart_time()}'AND db.RQ <= '{$this->end_time()}' ") // ->group('MONTH(db.RQ)') ->group("DATE_FORMAT( db.RQ, '%Y-%m' )") ->select(); $i=0; $j=0; $list['categories']=['01','02','03','04','05','06','07','08','09','10','11','12']; foreach($sql_final as $v){ if($v['rq']>=$this->year_January()){ $list['series'][1]['name']='2023年'; $list['series'][1]['data'][$j]=$v['nFourColorSL']; $j++; }else{ $list['series'][0]['name']='2022年'; $list['series'][0]['data'][$i]=$v['nFourColorSL']; $i++; } } // foreach($sql_final as $k=>$v){ // $list['categories'][$k]=$v['rq']; // $list['series'][0]['name']='四色机每月生产趋势 色令'; // $list['series'][0]['data'][$k]=round($v['nFourColorSL']/10000); // } $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 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号', '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->qstart_time()}'AND db.RQ <= '{$this->end_time()}' ") // ->group('MONTH(db.RQ)') ->group("DATE_FORMAT( db.RQ, '%Y-%m' )") ->order('db.RQ', 'asc') ->select(); $i=0; $j=0; $list['categories']=['01','02','03','04','05','06','07','08','09','10','11','12']; foreach($sql_final as $v){ if($v['rq']>=$this->year_January()){ $list['series'][1]['name']='2023年'; $list['series'][1]['data'][$j]=$v['nBBSL']; $j++; }else{ $list['series'][0]['name']='2022年'; $list['series'][0]['data'][$i]=$v['nBBSL']; $i++; } } $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(); $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(); //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)) 纸令数总计 ") ->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') ->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->qstart_time()}'AND db.RQ <= '{$this->end_time()}' ") // ->group('MONTH(db.rq)') ->group("DATE_FORMAT(db.rq, '%Y-%m')") ->select(); $i=0; $j=0; $list['categories']=['01','02','03','04','05','06','07','08','09','10','11','12']; foreach($sql_final as $v){ if($v['rq']>=$this->year_January()){ $list['series'][1]['name']='2023年'; $list['series'][1]['data'][$j]=$v['jdzl']; $j++; }else{ $list['series'][0]['name']='2022年'; $list['series'][0]['data'][$i]=$v['jdzl']; $i++; } } $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甲纸令 ") ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER') ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER') ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER') ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(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, 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(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->qstart_time()}'AND db.RQ <= '{$this->end_time()}' ") // ->group('MONTH(db.rq)') ->group("DATE_FORMAT(db.rq, '%Y-%m')") ->select(); $i=0; $j=0; $list['categories']=['01','02','03','04','05','06','07','08','09','10','11','12']; foreach($sql_final as $v){ if($v['rq']>=$this->year_January()){ $list['series'][1]['name']='2023年'; $list['series'][1]['data'][$j]=$v['jzzl']; $j++; }else{ $list['series'][0]['name']='2022年'; $list['series'][0]['data'][$i]=$v['jzzl']; $i++; } } $res['status']=0; $res['msg']=''; $res['data']=$list; $redis->set($redis_key, json_encode($res)); return json_encode($res); } //精装纸令->接口调用 public function jzzl(){ $redis=redis(); $redis_key = md5('jzzl_redis'); $redis_data = $redis->get($redis_key); return $redis_data; } //骑马纸令->缓存调用 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->qstart_time()}'AND db.rq <= '{$this->end_time()}' ") ->group("DATE_FORMAT(db.rq, '%Y-%m')") ->select(); $i=0; $j=0; $list['categories']=['01','02','03','04','05','06','07','08','09','10','11','12']; foreach($sql_final as $v){ if($v['rq']>=$this->year_January()){ $list['series'][1]['name']='2023年'; $list['series'][1]['data'][$j]=$v['qmzl']; $j++; }else{ $list['series'][0]['name']='2022年'; $list['series'][0]['data'][$i]=$v['qmzl']; $i++; } } $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(); $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(); $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) 总计册 ") ->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') ->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->qstart_time()}' AND db.RQ <= '{$this->end_time()}' ") // ->group('MONTH(db.rq)') ->group("DATE_FORMAT(db.rq, '%Y-%m')") ->select(); $i=0; $j=0; $list['categories']=['01','02','03','04','05','06','07','08','09','10','11','12']; foreach($sql_final as $v){ if($v['rq']>=$this->year_January()){ $list['series'][1]['name']='2023年'; $list['series'][1]['data'][$j]=$v['jdcs']; $j++; }else{ $list['series'][0]['name']='2022年'; $list['series'][0]['data'][$i]=$v['jdcs']; $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 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->qstart_time()}' AND db.RQ <= '{$this->end_time()}' ") // ->group('MONTH(db.rq)') ->group("DATE_FORMAT(db.rq, '%Y-%m')") ->select(); $i=0; $j=0; $list['categories']=['01','02','03','04','05','06','07','08','09','10','11','12']; foreach($sql_final as $v){ if($v['rq']>=$this->year_January()){ $list['series'][1]['name']='2023年'; $list['series'][1]['data'][$j]=$v['jzcs']; $j++; }else{ $list['series'][0]['name']='2022年'; $list['series'][0]['data'][$i]=$v['jzcs']; $i++; } } $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') // ->order('rq','desc') ->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->qstart_time()}'AND db.rq <= '{$this->end_time()}' ") // ->group('MONTH(db.rq)') ->group("DATE_FORMAT(db.rq, '%Y-%m')") ->select(); $i=0; $j=0; $list['categories']=['01','02','03','04','05','06','07','08','09','10','11','12']; foreach($sql_final as $v){ if($v['rq']>=$this->year_January()){ $list['series'][1]['name']='2023年'; $list['series'][1]['data'][$j]=$v['qmcs']; $j++; }else{ $list['series'][0]['name']='2022年'; $list['series'][0]['data'][$i]=$v['qmcs']; $i++; } } $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; } }