success('请求新华接口成功'); } /** 定义的函数方法 $this->方法名调取*/ //当年一月份 public function year_January(){ return date("Y-01"); } //开始时间方法--当年01月01日 public function start_time(){ return gettimeinfo(); } //结束时间方法--当年12月31日 public function end_time(){ return gettimeinfo(1); } //开始时间方法--去年01月01日 public function qstart_time(){ return getLastYear(); } //去年的今天 public function qday(){ // 获取当前日期 $today = date('Y-m-d 23:59:59'); // 使用strtotime计算去年的今天 $lastYearToday = date('Y-m-d 23:59:59', strtotime($today . ' -1 year')); // 输出去年的今天 return $lastYearToday; } //结束时间方法--去年12月31日 public function qend_time(){ return getLastYear(1); } //开始时间方法--前年01月01日 public function qianstart_time(){ return getPreviousYear(); } //结束时间方法--前年12月31日 public function qianend_time(){ return getPreviousYear(1); } //前年的今天 public function qianday(){ // 获取当前日期 $today = date('Y-m-d 23:59:59'); // 使用strtotime计算前年的今天 $beforeLastYearToday = date('Y-m-d 23:59:59', strtotime($today . ' -2 years')); // 输出前年的今天 return $beforeLastYearToday; } // '{$this->qstart_time()}' AND '{$this->end_time()}')gs //BB机改 如钰01号机(纸令)【缓存】 public function bb_Machines_redis(){ $redis = redis(); $redis_key = md5('bb_Machines_redis'); $sql = "SELECT gs.机台, gs.日期, CAST( SUM( gs.色令 ) AS SIGNED ) AS 色令, CAST( SUM( gs.纸令 ) AS SIGNED ) AS 纸令, CAST( SUM( gs.张数 ) AS SIGNED ) AS 张数, Count(*) 品种数 FROM (SELECT DATE_FORMAT( CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < (SELECT CONCAT(IFNULL(csetvalue, '00:00'), ':00') FROM sysetup WHERE csetname = 'frmFSetupAtt.dxtdBegin') THEN DATE_ADD(b.dOnDuty, INTERVAL -1 DAY) ELSE b.dOnDuty END, '%Y-%m') AS 日期, '如钰01号机' AS 机台, a.cJobSc AS 色次, a.nsl AS 色令, a.nzl AS 纸令, a.nAmount AS 张数 FROM QL_Report_FeedBack_Day a INNER JOIN scDayRpt_Teams b ON b.ID = a.ID_Teams WHERE cMachineName LIKE '如钰01号机%' AND (CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < (SELECT CONCAT(IFNULL(csetvalue, '00:00'), ':00') FROM sysetup WHERE csetname = 'frmFSetupAtt.dxtdBegin') THEN DATE_ADD(b.dOnDuty, INTERVAL -1 DAY) ELSE b.dOnDuty END) BETWEEN '{$this->qianstart_time()}' AND '{$this->end_time()}')gs WHERE 1 = 1 /*Wheres*/ GROUP BY gs.机台, gs.日期 ORDER BY gs.机台, gs.日期 "; $result=Db::query($sql); if ($result) { $redis->set($redis_key, json_encode($result)); echo date("Y-m-d H:i:s").' 存进去了'; return $result; } } //如钰01号机(纸令)【接口】 public function bb_Machines() { $redis = redis(); $result = json_decode($redis->get(md5('bb_Machines_redis')), true); // 初始化数据 $list['categories'] = ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12']; $currentYear = date("Y"); // 当前年份 $currentMonth = date("m"); // 当前月份 $previousYear = (int)$currentYear - 1; // 去年 $previousTwoYear = (int)$currentYear - 2; // 前年 // 为前年、去年和当前年份创建数据数组,初始值为0 $list['series'][0]['name'] = $previousTwoYear . '年'; // 前年 $list['series'][0]['data'] = array_fill(0, 12, 0); // 确保所有12个月份初始化为0 $list['series'][1]['name'] = $previousYear . '年'; // 去年 $list['series'][1]['data'] = array_fill(0, 12, 0); // 确保所有12个月份初始化为0 $list['series'][2]['name'] = $currentYear . '年'; // 今年 $list['series'][2]['data'] = array_fill(0, (int)$currentMonth, 0); // 初始化到当前月份的数据 // 遍历查询结果 if (!empty($result)) { foreach ($result as $v) { // 检查 '日期' 是否存在,若不存在则默认当前年份和月份 $date = isset($v['日期']) ? $v['日期'] : $currentYear . '-' . $currentMonth . '-01'; // 获取年份和月份 $year = substr($date, 0, 4); $month = substr($date, 5, 2); // 如果是前年的数据 if ($year == $previousTwoYear) { $list['series'][0]['data'][(int)$month - 1] = $v['纸令'] ?? 0; } // 如果是去年的数据 if ($year == $previousYear) { $list['series'][1]['data'][(int)$month - 1] = $v['纸令'] ?? 0; } // 如果是今年的数据 if ($year == $currentYear) { $list['series'][2]['data'][(int)$month - 1] = $v['纸令'] ?? 0; } } } $res['status'] = 0; $res['msg'] = ''; $res['data'] = $list; return json($res); } //海德堡SM1号【缓存】 public function hdbsmyi_Machines_redis(){ $redis = redis(); $redis_key = md5('hdbsmyi_Machines_redis'); $sql = "SELECT gs.机台, gs.日期, CAST( SUM( gs.色令 ) AS SIGNED ) AS 色令, CAST( SUM( gs.纸令 ) AS SIGNED ) AS 纸令, CAST( SUM( gs.张数 ) AS SIGNED ) AS 张数, Count(*) 品种数 FROM (SELECT DATE_FORMAT( CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < (SELECT CONCAT(IFNULL(csetvalue, '00:00'), ':00') FROM sysetup WHERE csetname = 'frmFSetupAtt.dxtdBegin') THEN DATE_ADD(b.dOnDuty, INTERVAL -1 DAY) ELSE b.dOnDuty END, '%Y-%m') AS 日期, a.cMachineName 机台, a.cJobSc 色次, a.nsl 色令, a.nzl 纸令, a.nAmount 张数 FROM QL_Report_FeedBack_Day a INNER JOIN scDayRpt_Teams b ON b.ID = a.ID_Teams WHERE 1 = 1 AND cMachineName = '海德堡SM1号' AND (CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < (SELECT CONCAT(IFNULL(csetvalue, '00:00'), ':00') FROM sysetup WHERE csetname = 'frmFSetupAtt.dxtdBegin') THEN DATE_ADD(b.dOnDuty, INTERVAL -1 DAY) ELSE b.dOnDuty END) BETWEEN '{$this->qianstart_time()}' AND '{$this->end_time()}')gs WHERE 1 = 1 /*Wheres*/ GROUP BY gs.机台, gs.日期 ORDER BY gs.机台, gs.日期 "; $result=Db::query($sql); if ($result) { $redis->set($redis_key, json_encode($result)); echo date("Y-m-d H:i:s").' 存进去了'; return $result; } } //海德堡SM1号【接口】 public function hdbsmyi_Machines(){ $redis = redis(); $result = json_decode($redis->get(md5('hdbsmyi_Machines_redis')), true); // 初始化数据 $list['categories'] = ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12']; $currentYear = date("Y"); // 当前年份 $currentMonth = date("m"); // 当前月份 $previousYear = (int)$currentYear - 1; // 去年 $previousTwoYear = (int)$currentYear - 2; // 前年 // 为前年、去年和当前年份创建数据数组,初始值为0 $list['series'][0]['name'] = $previousTwoYear . '年'; // 前年 $list['series'][0]['data'] = array_fill(0, 12, 0); // 确保所有12个月份初始化为0 $list['series'][1]['name'] = $previousYear . '年'; // 去年 $list['series'][1]['data'] = array_fill(0, 12, 0); // 确保所有12个月份初始化为0 $list['series'][2]['name'] = $currentYear . '年'; // 今年 $list['series'][2]['data'] = array_fill(0, (int)$currentMonth, 0); // 初始化到当前月份的数据 // 遍历查询结果 if (!empty($result)) { foreach ($result as $v) { // 检查 '日期' 是否存在,若不存在则默认当前年份和月份 $date = isset($v['日期']) ? $v['日期'] : $currentYear . '-' . $currentMonth . '-01'; // 获取年份和月份 $year = substr($date, 0, 4); $month = substr($date, 5, 2); // 如果是前年的数据 if ($year == $previousTwoYear) { $list['series'][0]['data'][(int)$month - 1] = $v['纸令'] ?? 0; } // 如果是去年的数据 if ($year == $previousYear) { $list['series'][1]['data'][(int)$month - 1] = $v['纸令'] ?? 0; } // 如果是今年的数据 if ($year == $currentYear) { $list['series'][2]['data'][(int)$month - 1] = $v['纸令'] ?? 0; } } } $res['status'] = 0; $res['msg'] = ''; $res['data'] = $list; return json($res); } //海德堡SM2号【缓存】 public function hdbsmer_Machines_redis(){ $redis = redis(); $redis_key = md5('hdbsmer_Machines_redis'); $sql = "SELECT gs.机台, gs.日期, CAST( SUM( gs.色令 ) AS SIGNED ) AS 色令, CAST( SUM( gs.纸令 ) AS SIGNED ) AS 纸令, CAST( SUM( gs.张数 ) AS SIGNED ) AS 张数, Count(*) 品种数 FROM (SELECT DATE_FORMAT( CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < (SELECT CONCAT(IFNULL(csetvalue, '00:00'), ':00') FROM sysetup WHERE csetname = 'frmFSetupAtt.dxtdBegin') THEN DATE_ADD(b.dOnDuty, INTERVAL -1 DAY) ELSE b.dOnDuty END, '%Y-%m') AS 日期, a.cMachineName 机台, a.cJobSc 色次, a.nsl 色令, a.nzl 纸令, a.nAmount 张数 FROM QL_Report_FeedBack_Day a INNER JOIN scDayRpt_Teams b ON b.ID = a.ID_Teams WHERE 1 = 1 AND cMachineName = '海德堡SM2号' AND (CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < (SELECT CONCAT(IFNULL(csetvalue, '00:00'), ':00') FROM sysetup WHERE csetname = 'frmFSetupAtt.dxtdBegin') THEN DATE_ADD(b.dOnDuty, INTERVAL -1 DAY) ELSE b.dOnDuty END) BETWEEN '{$this->qianstart_time()}' AND '{$this->end_time()}')gs WHERE 1 = 1 /*Wheres*/ GROUP BY gs.机台, gs.日期 ORDER BY gs.机台, gs.日期 "; $result=Db::query($sql); if ($result) { $redis->set($redis_key, json_encode($result)); echo date("Y-m-d H:i:s").' 存进去了'; return $result; } } //海德堡SM2号【接口】 public function hdbsmer_Machines(){ $redis = redis(); $result = json_decode($redis->get(md5('hdbsmer_Machines_redis')), true); // 初始化数据 $list['categories'] = ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12']; $currentYear = date("Y"); // 当前年份 $currentMonth = date("m"); // 当前月份 $previousYear = (int)$currentYear - 1; // 去年 $previousTwoYear = (int)$currentYear - 2; // 前年 // 为前年、去年和当前年份创建数据数组,初始值为0 $list['series'][0]['name'] = $previousTwoYear . '年'; // 前年 $list['series'][0]['data'] = array_fill(0, 12, 0); // 确保所有12个月份初始化为0 $list['series'][1]['name'] = $previousYear . '年'; // 去年 $list['series'][1]['data'] = array_fill(0, 12, 0); // 确保所有12个月份初始化为0 $list['series'][2]['name'] = $currentYear . '年'; // 今年 $list['series'][2]['data'] = array_fill(0, (int)$currentMonth, 0); // 初始化到当前月份的数据 // 遍历查询结果 if (!empty($result)) { foreach ($result as $v) { // 检查 '日期' 是否存在,若不存在则默认当前年份和月份 $date = isset($v['日期']) ? $v['日期'] : $currentYear . '-' . $currentMonth . '-01'; // 获取年份和月份 $year = substr($date, 0, 4); $month = substr($date, 5, 2); // 如果是前年的数据 if ($year == $previousTwoYear) { $list['series'][0]['data'][(int)$month - 1] = $v['纸令'] ?? 0; } // 如果是去年的数据 if ($year == $previousYear) { $list['series'][1]['data'][(int)$month - 1] = $v['纸令'] ?? 0; } // 如果是今年的数据 if ($year == $currentYear) { $list['series'][2]['data'][(int)$month - 1] = $v['纸令'] ?? 0; } } } $res['status'] = 0; $res['msg'] = ''; $res['data'] = $list; return json($res); } //海德堡01号机【缓存】 public function hdbyi_Machines_redis(){ $redis = redis(); $redis_key = md5('hdber_Machines_redis'); $sql = "SELECT gs.机台, gs.日期, CAST( SUM( gs.色令 ) AS SIGNED ) AS 色令, CAST( SUM( gs.纸令 ) AS SIGNED ) AS 纸令, CAST( SUM( gs.张数 ) AS SIGNED ) AS 张数, Count(*) 品种数 FROM (SELECT DATE_FORMAT( CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < (SELECT CONCAT(IFNULL(csetvalue, '00:00'), ':00') FROM sysetup WHERE csetname = 'frmFSetupAtt.dxtdBegin') THEN DATE_ADD(b.dOnDuty, INTERVAL -1 DAY) ELSE b.dOnDuty END, '%Y-%m') AS 日期, a.cMachineName 机台, a.cJobSc 色次, a.nsl 色令, a.nzl 纸令, a.nAmount 张数 FROM QL_Report_FeedBack_Day a INNER JOIN scDayRpt_Teams b ON b.ID = a.ID_Teams WHERE 1 = 1 AND cMachineName = '海德堡01号机' AND (CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < (SELECT CONCAT(IFNULL(csetvalue, '00:00'), ':00') FROM sysetup WHERE csetname = 'frmFSetupAtt.dxtdBegin') THEN DATE_ADD(b.dOnDuty, INTERVAL -1 DAY) ELSE b.dOnDuty END) BETWEEN '{$this->qstart_time()}' AND '{$this->end_time()}')gs WHERE 1 = 1 /*Wheres*/ GROUP BY gs.机台, gs.日期 ORDER BY gs.机台, gs.日期 "; $result=Db::query($sql); if ($result) { $redis->set($redis_key, json_encode($result)); echo date("Y-m-d H:i:s").' 存进去了'; return $result; } } //海德堡01号机【接口】 public function hdbyi_Machines(){ $redis = redis(); $result = json_decode($redis->get(md5('hdber_Machines_redis')), true); // 初始化数据 $list['categories'] = ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12']; $currentYear = date("Y"); // 当前年份 $currentMonth = date("m"); // 当前月份 $previousYear = (int)$currentYear - 1; // 去年 $previousTwoYear = (int)$currentYear - 2; // 前年 // 为前年、去年和当前年份创建数据数组,初始值为0 $list['series'][0]['name'] = $previousTwoYear . '年'; // 前年 $list['series'][0]['data'] = array_fill(0, 12, 0); // 确保所有12个月份初始化为0 $list['series'][1]['name'] = $previousYear . '年'; // 去年 $list['series'][1]['data'] = array_fill(0, 12, 0); // 确保所有12个月份初始化为0 $list['series'][2]['name'] = $currentYear . '年'; // 今年 $list['series'][2]['data'] = array_fill(0, (int)$currentMonth, 0); // 初始化到当前月份的数据 // 遍历查询结果 if (!empty($result)) { foreach ($result as $v) { // 检查 '日期' 是否存在,若不存在则默认当前年份和月份 $date = isset($v['日期']) ? $v['日期'] : $currentYear . '-' . $currentMonth . '-01'; // 获取年份和月份 $year = substr($date, 0, 4); $month = substr($date, 5, 2); // 如果是前年的数据 if ($year == $previousTwoYear) { $list['series'][0]['data'][(int)$month - 1] = $v['纸令'] ?? 0; } // 如果是去年的数据 if ($year == $previousYear) { $list['series'][1]['data'][(int)$month - 1] = $v['纸令'] ?? 0; } // 如果是今年的数据 if ($year == $currentYear) { $list['series'][2]['data'][(int)$month - 1] = $v['纸令'] ?? 0; } } } $res['status'] = 0; $res['msg'] = ''; $res['data'] = $list; return json($res); } //海德堡5+L 01号机【缓存】 public function hdbwyi_Machines_redis(){ $redis = redis(); $redis_key = md5('hdbwyi_Machines_redis'); $sql = "SELECT gs.机台, gs.日期, CAST( SUM( gs.色令 ) AS SIGNED ) AS 色令, CAST( SUM( gs.纸令 ) AS SIGNED ) AS 纸令, CAST( SUM( gs.张数 ) AS SIGNED ) AS 张数, Count(*) 品种数 FROM (SELECT DATE_FORMAT( CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < (SELECT CONCAT(IFNULL(csetvalue, '00:00'), ':00') FROM sysetup WHERE csetname = 'frmFSetupAtt.dxtdBegin') THEN DATE_ADD(b.dOnDuty, INTERVAL -1 DAY) ELSE b.dOnDuty END, '%Y-%m') AS 日期, a.cMachineName 机台, a.cJobSc 色次, a.nsl 色令, a.nzl 纸令, a.nAmount 张数 FROM QL_Report_FeedBack_Day a INNER JOIN scDayRpt_Teams b ON b.ID = a.ID_Teams WHERE 1 = 1 AND cMachineName = '海德堡5+L 01号机' AND (CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < (SELECT CONCAT(IFNULL(csetvalue, '00:00'), ':00') FROM sysetup WHERE csetname = 'frmFSetupAtt.dxtdBegin') THEN DATE_ADD(b.dOnDuty, INTERVAL -1 DAY) ELSE b.dOnDuty END) BETWEEN '{$this->qianstart_time()}' AND '{$this->end_time()}')gs WHERE 1 = 1 /*Wheres*/ GROUP BY gs.机台, gs.日期 ORDER BY gs.机台, gs.日期 "; $result=Db::query($sql); if ($result) { $redis->set($redis_key, json_encode($result)); echo date("Y-m-d H:i:s").' 存进去了'; return $result; } } //海德堡5+L 01号机【接口】 public function hdbwyi_Machines(){ $redis = redis(); $result = json_decode($redis->get(md5('hdbwyi_Machines_redis')), true); // 初始化数据 $list['categories'] = ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12']; $currentYear = date("Y"); // 当前年份 $currentMonth = date("m"); // 当前月份 $previousYear = (int)$currentYear - 1; // 去年 $previousTwoYear = (int)$currentYear - 2; // 前年 // 为前年、去年和当前年份创建数据数组,初始值为0 $list['series'][0]['name'] = $previousTwoYear . '年'; // 前年 $list['series'][0]['data'] = array_fill(0, 12, 0); // 确保所有12个月份初始化为0 $list['series'][1]['name'] = $previousYear . '年'; // 去年 $list['series'][1]['data'] = array_fill(0, 12, 0); // 确保所有12个月份初始化为0 $list['series'][2]['name'] = $currentYear . '年'; // 今年 $list['series'][2]['data'] = array_fill(0, (int)$currentMonth, 0); // 初始化到当前月份的数据 // 遍历查询结果 if (!empty($result)) { foreach ($result as $v) { // 检查 '日期' 是否存在,若不存在则默认当前年份和月份 $date = isset($v['日期']) ? $v['日期'] : $currentYear . '-' . $currentMonth . '-01'; // 获取年份和月份 $year = substr($date, 0, 4); $month = substr($date, 5, 2); // 如果是前年的数据 if ($year == $previousTwoYear) { $list['series'][0]['data'][(int)$month - 1] = $v['纸令'] ?? 0; } // 如果是去年的数据 if ($year == $previousYear) { $list['series'][1]['data'][(int)$month - 1] = $v['纸令'] ?? 0; } // 如果是今年的数据 if ($year == $currentYear) { $list['series'][2]['data'][(int)$month - 1] = $v['纸令'] ?? 0; } } } $res['status'] = 0; $res['msg'] = ''; $res['data'] = $list; return json($res); } //四色机02号机【缓存】 public function ssjer_Machines_redis(){ $redis = redis(); $redis_key = md5('ssjer_Machines_redis'); $sql = "SELECT gs.机台, gs.日期, CAST( SUM( gs.色令 ) AS SIGNED ) AS 色令, CAST( SUM( gs.纸令 ) AS SIGNED ) AS 纸令, CAST( SUM( gs.张数 ) AS SIGNED ) AS 张数, Count(*) 品种数 FROM (SELECT DATE_FORMAT( CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < (SELECT CONCAT(IFNULL(csetvalue, '00:00'), ':00') FROM sysetup WHERE csetname = 'frmFSetupAtt.dxtdBegin') THEN DATE_ADD(b.dOnDuty, INTERVAL -1 DAY) ELSE b.dOnDuty END, '%Y-%m') AS 日期, a.cMachineName 机台, a.cJobSc 色次, a.nsl 色令, a.nzl 纸令, a.nAmount 张数 FROM QL_Report_FeedBack_Day a INNER JOIN scDayRpt_Teams b ON b.ID = a.ID_Teams WHERE 1 = 1 AND cMachineName = '四色机02号机' AND (CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < (SELECT CONCAT(IFNULL(csetvalue, '00:00'), ':00') FROM sysetup WHERE csetname = 'frmFSetupAtt.dxtdBegin') THEN DATE_ADD(b.dOnDuty, INTERVAL -1 DAY) ELSE b.dOnDuty END) BETWEEN '{$this->qianstart_time()}' AND '{$this->end_time()}')gs WHERE 1 = 1 /*Wheres*/ GROUP BY gs.机台, gs.日期 ORDER BY gs.机台, gs.日期 "; $result=Db::query($sql); if ($result) { $redis->set($redis_key, json_encode($result)); echo date("Y-m-d H:i:s").' 存进去了'; return $result; } } //四色机02号机【接口】 public function ssjer_Machines(){ $redis = redis(); $result = json_decode($redis->get(md5('ssjer_Machines_redis')), true); // 初始化数据 $list['categories'] = ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12']; $currentYear = date("Y"); // 当前年份 $currentMonth = date("m"); // 当前月份 $previousYear = (int)$currentYear - 1; // 去年 $previousTwoYear = (int)$currentYear - 2; // 前年 // 为前年、去年和当前年份创建数据数组,初始值为0 $list['series'][0]['name'] = $previousTwoYear . '年'; // 前年 $list['series'][0]['data'] = array_fill(0, 12, 0); // 确保所有12个月份初始化为0 $list['series'][1]['name'] = $previousYear . '年'; // 去年 $list['series'][1]['data'] = array_fill(0, 12, 0); // 确保所有12个月份初始化为0 $list['series'][2]['name'] = $currentYear . '年'; // 今年 $list['series'][2]['data'] = array_fill(0, (int)$currentMonth, 0); // 初始化到当前月份的数据 // 遍历查询结果 if (!empty($result)) { foreach ($result as $v) { // 检查 '日期' 是否存在,若不存在则默认当前年份和月份 $date = isset($v['日期']) ? $v['日期'] : $currentYear . '-' . $currentMonth . '-01'; // 获取年份和月份 $year = substr($date, 0, 4); $month = substr($date, 5, 2); // 如果是前年的数据 if ($year == $previousTwoYear) { $list['series'][0]['data'][(int)$month - 1] = $v['纸令'] ?? 0; } // 如果是去年的数据 if ($year == $previousYear) { $list['series'][1]['data'][(int)$month - 1] = $v['纸令'] ?? 0; } // 如果是今年的数据 if ($year == $currentYear) { $list['series'][2]['data'][(int)$month - 1] = $v['纸令'] ?? 0; } } } $res['status'] = 0; $res['msg'] = ''; $res['data'] = $list; return json($res); } //小森八色01号机【缓存】 public function xsbsyi_Machines_redis(){ $redis = redis(); $redis_key = md5('xsbsyi_Machines_redis'); $sql = "SELECT gs.机台, gs.日期, CAST( SUM( gs.色令 ) AS SIGNED ) AS 色令, CAST( SUM( gs.纸令 ) AS SIGNED ) AS 纸令, CAST( SUM( gs.张数 ) AS SIGNED ) AS 张数, Count(*) 品种数 FROM (SELECT DATE_FORMAT( CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < (SELECT CONCAT(IFNULL(csetvalue, '00:00'), ':00') FROM sysetup WHERE csetname = 'frmFSetupAtt.dxtdBegin') THEN DATE_ADD(b.dOnDuty, INTERVAL -1 DAY) ELSE b.dOnDuty END, '%Y-%m') AS 日期, a.cMachineName 机台, a.cJobSc 色次, a.nsl 色令, a.nzl 纸令, a.nAmount 张数 FROM QL_Report_FeedBack_Day a INNER JOIN scDayRpt_Teams b ON b.ID = a.ID_Teams WHERE 1 = 1 AND cMachineName = '小森八色01号机' AND (CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < (SELECT CONCAT(IFNULL(csetvalue, '00:00'), ':00') FROM sysetup WHERE csetname = 'frmFSetupAtt.dxtdBegin') THEN DATE_ADD(b.dOnDuty, INTERVAL -1 DAY) ELSE b.dOnDuty END) BETWEEN '{$this->qianstart_time()}' AND '{$this->end_time()}')gs WHERE 1 = 1 /*Wheres*/ GROUP BY gs.机台, gs.日期 ORDER BY gs.机台, gs.日期 "; $result=Db::query($sql); if ($result) { $redis->set($redis_key, json_encode($result)); echo date("Y-m-d H:i:s").' 存进去了'; return $result; } } //小森八色01号机【接口】 public function xsbsyi_Machines(){ $redis = redis(); $result = json_decode($redis->get(md5('xsbsyi_Machines_redis')), true); // 初始化数据 $list['categories'] = ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12']; $currentYear = date("Y"); // 当前年份 $currentMonth = date("m"); // 当前月份 $previousYear = (int)$currentYear - 1; // 去年 $previousTwoYear = (int)$currentYear - 2; // 前年 // 为前年、去年和当前年份创建数据数组,初始值为0 $list['series'][0]['name'] = $previousTwoYear . '年'; // 前年 $list['series'][0]['data'] = array_fill(0, 12, 0); // 确保所有12个月份初始化为0 $list['series'][1]['name'] = $previousYear . '年'; // 去年 $list['series'][1]['data'] = array_fill(0, 12, 0); // 确保所有12个月份初始化为0 $list['series'][2]['name'] = $currentYear . '年'; // 今年 $list['series'][2]['data'] = array_fill(0, (int)$currentMonth, 0); // 初始化到当前月份的数据 // 遍历查询结果 if (!empty($result)) { foreach ($result as $v) { // 检查 '日期' 是否存在,若不存在则默认当前年份和月份 $date = isset($v['日期']) ? $v['日期'] : $currentYear . '-' . $currentMonth . '-01'; // 获取年份和月份 $year = substr($date, 0, 4); $month = substr($date, 5, 2); // 如果是前年的数据 if ($year == $previousTwoYear) { $list['series'][0]['data'][(int)$month - 1] = $v['纸令'] ?? 0; } // 如果是去年的数据 if ($year == $previousYear) { $list['series'][1]['data'][(int)$month - 1] = $v['纸令'] ?? 0; } // 如果是今年的数据 if ($year == $currentYear) { $list['series'][2]['data'][(int)$month - 1] = $v['纸令'] ?? 0; } } } $res['status'] = 0; $res['msg'] = ''; $res['data'] = $list; return json($res); } //小森八色02号机【缓存】 public function xsbser_Machines_redis(){ $redis = redis(); $redis_key = md5('xsbser_Machines_redis'); $sql = "SELECT gs.机台, gs.日期, CAST( SUM( gs.色令 ) AS SIGNED ) AS 色令, CAST( SUM( gs.纸令 ) AS SIGNED ) AS 纸令, CAST( SUM( gs.张数 ) AS SIGNED ) AS 张数, Count(*) 品种数 FROM (SELECT DATE_FORMAT( CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < (SELECT CONCAT(IFNULL(csetvalue, '00:00'), ':00') FROM sysetup WHERE csetname = 'frmFSetupAtt.dxtdBegin') THEN DATE_ADD(b.dOnDuty, INTERVAL -1 DAY) ELSE b.dOnDuty END, '%Y-%m') AS 日期, a.cMachineName 机台, a.cJobSc 色次, a.nsl 色令, a.nzl 纸令, a.nAmount 张数 FROM QL_Report_FeedBack_Day a INNER JOIN scDayRpt_Teams b ON b.ID = a.ID_Teams WHERE 1 = 1 AND cMachineName = '小森八色02号机' AND (CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < (SELECT CONCAT(IFNULL(csetvalue, '00:00'), ':00') FROM sysetup WHERE csetname = 'frmFSetupAtt.dxtdBegin') THEN DATE_ADD(b.dOnDuty, INTERVAL -1 DAY) ELSE b.dOnDuty END) BETWEEN '{$this->qianstart_time()}' AND '{$this->end_time()}')gs WHERE 1 = 1 /*Wheres*/ GROUP BY gs.机台, gs.日期 ORDER BY gs.机台, gs.日期 "; $result=Db::query($sql); if ($result) { $redis->set($redis_key, json_encode($result)); echo date("Y-m-d H:i:s").' 存进去了'; return $result; } } //小森八色02号机【接口】 public function xsbser_Machines(){ $redis = redis(); $result = json_decode($redis->get(md5('xsbser_Machines_redis')), true); // 初始化数据 $list['categories'] = ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12']; $currentYear = date("Y"); // 当前年份 $currentMonth = date("m"); // 当前月份 $previousYear = (int)$currentYear - 1; // 去年 $previousTwoYear = (int)$currentYear - 2; // 前年 // 为前年、去年和当前年份创建数据数组,初始值为0 $list['series'][0]['name'] = $previousTwoYear . '年'; // 前年 $list['series'][0]['data'] = array_fill(0, 12, 0); // 确保所有12个月份初始化为0 $list['series'][1]['name'] = $previousYear . '年'; // 去年 $list['series'][1]['data'] = array_fill(0, 12, 0); // 确保所有12个月份初始化为0 $list['series'][2]['name'] = $currentYear . '年'; // 今年 $list['series'][2]['data'] = array_fill(0, (int)$currentMonth, 0); // 初始化到当前月份的数据 // 遍历查询结果 if (!empty($result)) { foreach ($result as $v) { // 检查 '日期' 是否存在,若不存在则默认当前年份和月份 $date = isset($v['日期']) ? $v['日期'] : $currentYear . '-' . $currentMonth . '-01'; // 获取年份和月份 $year = substr($date, 0, 4); $month = substr($date, 5, 2); // 如果是前年的数据 if ($year == $previousTwoYear) { $list['series'][0]['data'][(int)$month - 1] = $v['纸令'] ?? 0; } // 如果是去年的数据 if ($year == $previousYear) { $list['series'][1]['data'][(int)$month - 1] = $v['纸令'] ?? 0; } // 如果是今年的数据 if ($year == $currentYear) { $list['series'][2]['data'][(int)$month - 1] = $v['纸令'] ?? 0; } } } $res['status'] = 0; $res['msg'] = ''; $res['data'] = $list; return json($res); } //标规高斯轮转1号【缓存】 public function bggslzyi_Machines_redis(){ $redis = redis(); $redis_key = md5('bggslzyi_Machines_redis'); $sql = "SELECT gs.机台, gs.日期, CAST( SUM( gs.色令 ) AS SIGNED ) AS 色令, CAST( SUM( gs.纸令 ) AS SIGNED ) AS 纸令, CAST( SUM( gs.张数 ) AS SIGNED ) AS 张数, Count(*) 品种数 FROM (SELECT DATE_FORMAT( CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < (SELECT CONCAT(IFNULL(csetvalue, '00:00'), ':00') FROM sysetup WHERE csetname = 'frmFSetupAtt.dxtdBegin') THEN DATE_ADD(b.dOnDuty, INTERVAL -1 DAY) ELSE b.dOnDuty END, '%Y-%m') AS 日期, a.cMachineName 机台, a.cJobSc 色次, a.nsl 色令, a.nzl 纸令, a.nAmount 张数 FROM QL_Report_FeedBack_Day a INNER JOIN scDayRpt_Teams b ON b.ID = a.ID_Teams WHERE 1 = 1 AND cMachineName = '标规高斯轮转1号' AND (CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < (SELECT CONCAT(IFNULL(csetvalue, '00:00'), ':00') FROM sysetup WHERE csetname = 'frmFSetupAtt.dxtdBegin') THEN DATE_ADD(b.dOnDuty, INTERVAL -1 DAY) ELSE b.dOnDuty END) BETWEEN '{$this->qianstart_time()}' AND '{$this->end_time()}')gs WHERE 1 = 1 /*Wheres*/ GROUP BY gs.机台, gs.日期 ORDER BY gs.机台, gs.日期 "; $result=Db::query($sql); if ($result) { $redis->set($redis_key, json_encode($result)); echo date("Y-m-d H:i:s").' 存进去了'; return $result; } } //标规高斯轮转1号【接口】 public function bggslzyi_Machines(){ $redis = redis(); $result = json_decode($redis->get(md5('bggslzyi_Machines_redis')), true); // 初始化数据 $list['categories'] = ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12']; $currentYear = date("Y"); // 当前年份 $currentMonth = date("m"); // 当前月份 $previousYear = (int)$currentYear - 1; // 去年 $previousTwoYear = (int)$currentYear - 2; // 前年 // 为前年、去年和当前年份创建数据数组,初始值为0 $list['series'][0]['name'] = $previousTwoYear . '年'; // 前年 $list['series'][0]['data'] = array_fill(0, 12, 0); // 确保所有12个月份初始化为0 $list['series'][1]['name'] = $previousYear . '年'; // 去年 $list['series'][1]['data'] = array_fill(0, 12, 0); // 确保所有12个月份初始化为0 $list['series'][2]['name'] = $currentYear . '年'; // 今年 $list['series'][2]['data'] = array_fill(0, (int)$currentMonth, 0); // 初始化到当前月份的数据 // 遍历查询结果 if (!empty($result)) { foreach ($result as $v) { // 检查 '日期' 是否存在,若不存在则默认当前年份和月份 $date = isset($v['日期']) ? $v['日期'] : $currentYear . '-' . $currentMonth . '-01'; // 获取年份和月份 $year = substr($date, 0, 4); $month = substr($date, 5, 2); // 如果是前年的数据 if ($year == $previousTwoYear) { $list['series'][0]['data'][(int)$month - 1] = $v['纸令'] ?? 0; } // 如果是去年的数据 if ($year == $previousYear) { $list['series'][1]['data'][(int)$month - 1] = $v['纸令'] ?? 0; } // 如果是今年的数据 if ($year == $currentYear) { $list['series'][2]['data'][(int)$month - 1] = $v['纸令'] ?? 0; } } } $res['status'] = 0; $res['msg'] = ''; $res['data'] = $list; return json($res); } //标规高斯轮转2号【缓存】 public function bgxsslyi_Machines_redis(){ $redis = redis(); $redis_key = md5('bgxsslyi_Machines_redis'); $sql = "SELECT gs.机台, gs.日期, CAST( SUM( gs.色令 ) AS SIGNED ) AS 色令, CAST( SUM( gs.纸令 ) AS SIGNED ) AS 纸令, CAST( SUM( gs.张数 ) AS SIGNED ) AS 张数, Count(*) 品种数 FROM (SELECT DATE_FORMAT( CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < (SELECT CONCAT(IFNULL(csetvalue, '00:00'), ':00') FROM sysetup WHERE csetname = 'frmFSetupAtt.dxtdBegin') THEN DATE_ADD(b.dOnDuty, INTERVAL -1 DAY) ELSE b.dOnDuty END, '%Y-%m') AS 日期, a.cMachineName 机台, a.cJobSc 色次, a.nsl 色令, a.nzl 纸令, a.nAmount 张数 FROM QL_Report_FeedBack_Day a INNER JOIN scDayRpt_Teams b ON b.ID = a.ID_Teams WHERE 1 = 1 AND cMachineName = '标规高斯轮转2号' AND (CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < (SELECT CONCAT(IFNULL(csetvalue, '00:00'), ':00') FROM sysetup WHERE csetname = 'frmFSetupAtt.dxtdBegin') THEN DATE_ADD(b.dOnDuty, INTERVAL -1 DAY) ELSE b.dOnDuty END) BETWEEN '{$this->qianstart_time()}' AND '{$this->end_time()}')gs WHERE 1 = 1 /*Wheres*/ GROUP BY gs.机台, gs.日期 ORDER BY gs.机台, gs.日期 "; $result=Db::query($sql); if ($result) { $redis->set($redis_key, json_encode($result)); echo date("Y-m-d H:i:s").' 存进去了'; return $result; } } //标规高斯轮转2号【接口】 public function bgxsslyi_Machines(){ $redis = redis(); $result = json_decode($redis->get(md5('bgxsslyi_Machines_redis')), true); // 初始化数据 $list['categories'] = ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12']; $currentYear = date("Y"); // 当前年份 $currentMonth = date("m"); // 当前月份 $previousYear = (int)$currentYear - 1; // 去年 $previousTwoYear = (int)$currentYear - 2; // 前年 // 为前年、去年和当前年份创建数据数组,初始值为0 $list['series'][0]['name'] = $previousTwoYear . '年'; // 前年 $list['series'][0]['data'] = array_fill(0, 12, 0); // 确保所有12个月份初始化为0 $list['series'][1]['name'] = $previousYear . '年'; // 去年 $list['series'][1]['data'] = array_fill(0, 12, 0); // 确保所有12个月份初始化为0 $list['series'][2]['name'] = $currentYear . '年'; // 今年 $list['series'][2]['data'] = array_fill(0, (int)$currentMonth, 0); // 初始化到当前月份的数据 // 遍历查询结果 if (!empty($result)) { foreach ($result as $v) { // 检查 '日期' 是否存在,若不存在则默认当前年份和月份 $date = isset($v['日期']) ? $v['日期'] : $currentYear . '-' . $currentMonth . '-01'; // 获取年份和月份 $year = substr($date, 0, 4); $month = substr($date, 5, 2); // 如果是前年的数据 if ($year == $previousTwoYear) { $list['series'][0]['data'][(int)$month - 1] = $v['纸令'] ?? 0; } // 如果是去年的数据 if ($year == $previousYear) { $list['series'][1]['data'][(int)$month - 1] = $v['纸令'] ?? 0; } // 如果是今年的数据 if ($year == $currentYear) { $list['series'][2]['data'][(int)$month - 1] = $v['纸令'] ?? 0; } } } $res['status'] = 0; $res['msg'] = ''; $res['data'] = $list; return json($res); } //标规小森商轮2号【缓存】 public function bgxssler_Machines_redis(){ $redis = redis(); $redis_key = md5('bgxssler_Machines_redis'); $sql = "SELECT gs.机台, gs.日期, CAST( SUM( gs.色令 ) AS SIGNED ) AS 色令, CAST( SUM( gs.纸令 ) AS SIGNED ) AS 纸令, CAST( SUM( gs.张数 ) AS SIGNED ) AS 张数, Count(*) 品种数 FROM (SELECT DATE_FORMAT( CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < (SELECT CONCAT(IFNULL(csetvalue, '00:00'), ':00') FROM sysetup WHERE csetname = 'frmFSetupAtt.dxtdBegin') THEN DATE_ADD(b.dOnDuty, INTERVAL -1 DAY) ELSE b.dOnDuty END, '%Y-%m') AS 日期, a.cMachineName 机台, a.cJobSc 色次, a.nsl 色令, a.nzl 纸令, a.nAmount 张数 FROM QL_Report_FeedBack_Day a INNER JOIN scDayRpt_Teams b ON b.ID = a.ID_Teams WHERE 1 = 1 AND cMachineName = '标规小森商轮2号' AND (CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < (SELECT CONCAT(IFNULL(csetvalue, '00:00'), ':00') FROM sysetup WHERE csetname = 'frmFSetupAtt.dxtdBegin') THEN DATE_ADD(b.dOnDuty, INTERVAL -1 DAY) ELSE b.dOnDuty END) BETWEEN '{$this->qianstart_time()}' AND '{$this->end_time()}')gs WHERE 1 = 1 /*Wheres*/ GROUP BY gs.机台, gs.日期 ORDER BY gs.机台, gs.日期 "; $result=Db::query($sql); if ($result) { $redis->set($redis_key, json_encode($result)); echo date("Y-m-d H:i:s").' 存进去了'; return $result; } } //标规小森商轮2号【接口】 public function bgxssler_Machines(){ $redis = redis(); $result = json_decode($redis->get(md5('bgxssler_Machines_redis')), true); // 初始化数据 $list['categories'] = ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12']; $currentYear = date("Y"); // 当前年份 $currentMonth = date("m"); // 当前月份 $previousYear = (int)$currentYear - 1; // 去年 $previousTwoYear = (int)$currentYear - 2; // 前年 // 为前年、去年和当前年份创建数据数组,初始值为0 $list['series'][0]['name'] = $previousTwoYear . '年'; // 前年 $list['series'][0]['data'] = array_fill(0, 12, 0); // 确保所有12个月份初始化为0 $list['series'][1]['name'] = $previousYear . '年'; // 去年 $list['series'][1]['data'] = array_fill(0, 12, 0); // 确保所有12个月份初始化为0 $list['series'][2]['name'] = $currentYear . '年'; // 今年 $list['series'][2]['data'] = array_fill(0, (int)$currentMonth, 0); // 初始化到当前月份的数据 // 遍历查询结果 if (!empty($result)) { foreach ($result as $v) { // 检查 '日期' 是否存在,若不存在则默认当前年份和月份 $date = isset($v['日期']) ? $v['日期'] : $currentYear . '-' . $currentMonth . '-01'; // 获取年份和月份 $year = substr($date, 0, 4); $month = substr($date, 5, 2); // 如果是前年的数据 if ($year == $previousTwoYear) { $list['series'][0]['data'][(int)$month - 1] = $v['纸令'] ?? 0; } // 如果是去年的数据 if ($year == $previousYear) { $list['series'][1]['data'][(int)$month - 1] = $v['纸令'] ?? 0; } // 如果是今年的数据 if ($year == $currentYear) { $list['series'][2]['data'][(int)$month - 1] = $v['纸令'] ?? 0; } } } $res['status'] = 0; $res['msg'] = ''; $res['data'] = $list; return json($res); } //标规三菱商轮1号【缓存】 public function gbslslyi_Machines_redis(){ $redis = redis(); $redis_key = md5('gbslslyi_Machines_redis'); $sql = "SELECT gs.机台, gs.日期, CAST( SUM( gs.色令 ) AS SIGNED ) AS 色令, CAST( SUM( gs.纸令 ) AS SIGNED ) AS 纸令, CAST( SUM( gs.张数 ) AS SIGNED ) AS 张数, Count(*) 品种数 FROM (SELECT DATE_FORMAT( CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < (SELECT CONCAT(IFNULL(csetvalue, '00:00'), ':00') FROM sysetup WHERE csetname = 'frmFSetupAtt.dxtdBegin') THEN DATE_ADD(b.dOnDuty, INTERVAL -1 DAY) ELSE b.dOnDuty END, '%Y-%m') AS 日期, a.cMachineName 机台, a.cJobSc 色次, a.nsl 色令, a.nzl 纸令, a.nAmount 张数 FROM QL_Report_FeedBack_Day a INNER JOIN scDayRpt_Teams b ON b.ID = a.ID_Teams WHERE 1 = 1 AND cMachineName = '标规三菱商轮1号' AND (CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < (SELECT CONCAT(IFNULL(csetvalue, '00:00'), ':00') FROM sysetup WHERE csetname = 'frmFSetupAtt.dxtdBegin') THEN DATE_ADD(b.dOnDuty, INTERVAL -1 DAY) ELSE b.dOnDuty END) BETWEEN '{$this->qianstart_time()}' AND '{$this->end_time()}')gs WHERE 1 = 1 /*Wheres*/ GROUP BY gs.机台, gs.日期 ORDER BY gs.机台, gs.日期 "; $result=Db::query($sql); if ($result) { $redis->set($redis_key, json_encode($result)); echo date("Y-m-d H:i:s").' 存进去了'; return $result; } } //标规三菱商轮1号【接口】 public function gbslslyi_Machines(){ $redis = redis(); $result = json_decode($redis->get(md5('gbslslyi_Machines_redis')), true); // 初始化数据 $list['categories'] = ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12']; $currentYear = date("Y"); // 当前年份 $currentMonth = date("m"); // 当前月份 $previousYear = (int)$currentYear - 1; // 去年 $previousTwoYear = (int)$currentYear - 2; // 前年 // 为前年、去年和当前年份创建数据数组,初始值为0 $list['series'][0]['name'] = $previousTwoYear . '年'; // 前年 $list['series'][0]['data'] = array_fill(0, 12, 0); // 确保所有12个月份初始化为0 $list['series'][1]['name'] = $previousYear . '年'; // 去年 $list['series'][1]['data'] = array_fill(0, 12, 0); // 确保所有12个月份初始化为0 $list['series'][2]['name'] = $currentYear . '年'; // 今年 $list['series'][2]['data'] = array_fill(0, (int)$currentMonth, 0); // 初始化到当前月份的数据 // 遍历查询结果 if (!empty($result)) { foreach ($result as $v) { // 检查 '日期' 是否存在,若不存在则默认当前年份和月份 $date = isset($v['日期']) ? $v['日期'] : $currentYear . '-' . $currentMonth . '-01'; // 获取年份和月份 $year = substr($date, 0, 4); $month = substr($date, 5, 2); // 如果是前年的数据 if ($year == $previousTwoYear) { $list['series'][0]['data'][(int)$month - 1] = $v['纸令'] ?? 0; } // 如果是去年的数据 if ($year == $previousYear) { $list['series'][1]['data'][(int)$month - 1] = $v['纸令'] ?? 0; } // 如果是今年的数据 if ($year == $currentYear) { $list['series'][2]['data'][(int)$month - 1] = $v['纸令'] ?? 0; } } } $res['status'] = 0; $res['msg'] = ''; $res['data'] = $list; return json($res); } //标规三菱商轮2号【缓存】 public function gbslsler_Machines_redis(){ $redis = redis(); $redis_key = md5('gbslsler_Machines_redis'); $sql = "SELECT gs.机台, gs.日期, CAST( SUM( gs.色令 ) AS SIGNED ) AS 色令, CAST( SUM( gs.纸令 ) AS SIGNED ) AS 纸令, CAST( SUM( gs.张数 ) AS SIGNED ) AS 张数, Count(*) 品种数 FROM (SELECT DATE_FORMAT( CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < (SELECT CONCAT(IFNULL(csetvalue, '00:00'), ':00') FROM sysetup WHERE csetname = 'frmFSetupAtt.dxtdBegin') THEN DATE_ADD(b.dOnDuty, INTERVAL -1 DAY) ELSE b.dOnDuty END, '%Y-%m') AS 日期, a.cMachineName 机台, a.cJobSc 色次, a.nsl 色令, a.nzl 纸令, a.nAmount 张数 FROM QL_Report_FeedBack_Day a INNER JOIN scDayRpt_Teams b ON b.ID = a.ID_Teams WHERE 1 = 1 AND cMachineName = '标规三菱商轮2号' AND (CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < (SELECT CONCAT(IFNULL(csetvalue, '00:00'), ':00') FROM sysetup WHERE csetname = 'frmFSetupAtt.dxtdBegin') THEN DATE_ADD(b.dOnDuty, INTERVAL -1 DAY) ELSE b.dOnDuty END) BETWEEN '{$this->qianstart_time()}' AND '{$this->end_time()}')gs WHERE 1 = 1 /*Wheres*/ GROUP BY gs.机台, gs.日期 ORDER BY gs.机台, gs.日期 "; $result=Db::query($sql); if ($result) { $redis->set($redis_key, json_encode($result)); echo date("Y-m-d H:i:s").' 存进去了'; return $result; } } //标规三菱商轮2号【接口】 public function gbslsler_Machines(){ $redis = redis(); $result = json_decode($redis->get(md5('gbslsler_Machines_redis')), true); // 初始化数据 $list['categories'] = ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12']; $currentYear = date("Y"); // 当前年份 $currentMonth = date("m"); // 当前月份 $previousYear = (int)$currentYear - 1; // 去年 $previousTwoYear = (int)$currentYear - 2; // 前年 // 为前年、去年和当前年份创建数据数组,初始值为0 $list['series'][0]['name'] = $previousTwoYear . '年'; // 前年 $list['series'][0]['data'] = array_fill(0, 12, 0); // 确保所有12个月份初始化为0 $list['series'][1]['name'] = $previousYear . '年'; // 去年 $list['series'][1]['data'] = array_fill(0, 12, 0); // 确保所有12个月份初始化为0 $list['series'][2]['name'] = $currentYear . '年'; // 今年 $list['series'][2]['data'] = array_fill(0, (int)$currentMonth, 0); // 初始化到当前月份的数据 // 遍历查询结果 if (!empty($result)) { foreach ($result as $v) { // 检查 '日期' 是否存在,若不存在则默认当前年份和月份 $date = isset($v['日期']) ? $v['日期'] : $currentYear . '-' . $currentMonth . '-01'; // 获取年份和月份 $year = substr($date, 0, 4); $month = substr($date, 5, 2); // 如果是前年的数据 if ($year == $previousTwoYear) { $list['series'][0]['data'][(int)$month - 1] = $v['纸令'] ?? 0; } // 如果是去年的数据 if ($year == $previousYear) { $list['series'][1]['data'][(int)$month - 1] = $v['纸令'] ?? 0; } // 如果是今年的数据 if ($year == $currentYear) { $list['series'][2]['data'][(int)$month - 1] = $v['纸令'] ?? 0; } } } $res['status'] = 0; $res['msg'] = ''; $res['data'] = $list; return json($res); } //大规高斯轮转1号【缓存】 public function bgjlyi_Machines_redis(){ $redis = redis(); $redis_key = md5('bgjlyi_Machines_redis'); $sql = "SELECT gs.机台, gs.日期, CAST( SUM( gs.色令 ) AS SIGNED ) AS 色令, CAST( SUM( gs.纸令 ) AS SIGNED ) AS 纸令, CAST( SUM( gs.张数 ) AS SIGNED ) AS 张数, Count(*) 品种数 FROM (SELECT DATE_FORMAT( CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < (SELECT CONCAT(IFNULL(csetvalue, '00:00'), ':00') FROM sysetup WHERE csetname = 'frmFSetupAtt.dxtdBegin') THEN DATE_ADD(b.dOnDuty, INTERVAL -1 DAY) ELSE b.dOnDuty END, '%Y-%m') AS 日期, a.cMachineName 机台, a.cJobSc 色次, a.nsl 色令, a.nzl 纸令, a.nAmount 张数 FROM QL_Report_FeedBack_Day a INNER JOIN scDayRpt_Teams b ON b.ID = a.ID_Teams WHERE 1 = 1 AND cMachineName = '大规高斯轮转1号' AND (CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < (SELECT CONCAT(IFNULL(csetvalue, '00:00'), ':00') FROM sysetup WHERE csetname = 'frmFSetupAtt.dxtdBegin') THEN DATE_ADD(b.dOnDuty, INTERVAL -1 DAY) ELSE b.dOnDuty END) BETWEEN '{$this->qianstart_time()}' AND '{$this->end_time()}')gs WHERE 1 = 1 /*Wheres*/ GROUP BY gs.机台, gs.日期 ORDER BY gs.机台, gs.日期 "; $result=Db::query($sql); if ($result) { $redis->set($redis_key, json_encode($result)); echo date("Y-m-d H:i:s").' 存进去了'; return $result; } } //大规高斯轮转1号【接口】 public function bgjlyi_Machines(){ $redis = redis(); $result = json_decode($redis->get(md5('bgjlyi_Machines_redis')), true); // 初始化数据 $list['categories'] = ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12']; $currentYear = date("Y"); // 当前年份 $currentMonth = date("m"); // 当前月份 $previousYear = (int)$currentYear - 1; // 去年 $previousTwoYear = (int)$currentYear - 2; // 前年 // 为前年、去年和当前年份创建数据数组,初始值为0 $list['series'][0]['name'] = $previousTwoYear . '年'; // 前年 $list['series'][0]['data'] = array_fill(0, 12, 0); // 确保所有12个月份初始化为0 $list['series'][1]['name'] = $previousYear . '年'; // 去年 $list['series'][1]['data'] = array_fill(0, 12, 0); // 确保所有12个月份初始化为0 $list['series'][2]['name'] = $currentYear . '年'; // 今年 $list['series'][2]['data'] = array_fill(0, (int)$currentMonth, 0); // 初始化到当前月份的数据 // 遍历查询结果 if (!empty($result)) { foreach ($result as $v) { // 检查 '日期' 是否存在,若不存在则默认当前年份和月份 $date = isset($v['日期']) ? $v['日期'] : $currentYear . '-' . $currentMonth . '-01'; // 获取年份和月份 $year = substr($date, 0, 4); $month = substr($date, 5, 2); // 如果是前年的数据 if ($year == $previousTwoYear) { $list['series'][0]['data'][(int)$month - 1] = $v['纸令'] ?? 0; } // 如果是去年的数据 if ($year == $previousYear) { $list['series'][1]['data'][(int)$month - 1] = $v['纸令'] ?? 0; } // 如果是今年的数据 if ($year == $currentYear) { $list['series'][2]['data'][(int)$month - 1] = $v['纸令'] ?? 0; } } } $res['status'] = 0; $res['msg'] = ''; $res['data'] = $list; return json($res); } //大规三菱商轮1号【缓存】 public function dgslslyi_Machines_redis(){ $redis = redis(); $redis_key = md5('dgslslyi_Machines_redis'); $sql = "SELECT gs.机台, gs.日期, CAST( SUM( gs.色令 ) AS SIGNED ) AS 色令, CAST( SUM( gs.纸令 ) AS SIGNED ) AS 纸令, CAST( SUM( gs.张数 ) AS SIGNED ) AS 张数, Count(*) 品种数 FROM (SELECT DATE_FORMAT( CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < (SELECT CONCAT(IFNULL(csetvalue, '00:00'), ':00') FROM sysetup WHERE csetname = 'frmFSetupAtt.dxtdBegin') THEN DATE_ADD(b.dOnDuty, INTERVAL -1 DAY) ELSE b.dOnDuty END, '%Y-%m') AS 日期, a.cMachineName 机台, a.cJobSc 色次, a.nsl 色令, a.nzl 纸令, a.nAmount 张数 FROM QL_Report_FeedBack_Day a INNER JOIN scDayRpt_Teams b ON b.ID = a.ID_Teams WHERE 1 = 1 AND cMachineName = '大规三菱商轮1号' AND (CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < (SELECT CONCAT(IFNULL(csetvalue, '00:00'), ':00') FROM sysetup WHERE csetname = 'frmFSetupAtt.dxtdBegin') THEN DATE_ADD(b.dOnDuty, INTERVAL -1 DAY) ELSE b.dOnDuty END) BETWEEN '{$this->qianstart_time()}' AND '{$this->end_time()}')gs WHERE 1 = 1 /*Wheres*/ GROUP BY gs.机台, gs.日期 ORDER BY gs.机台, gs.日期 "; $result=Db::query($sql); if ($result) { $redis->set($redis_key, json_encode($result)); echo date("Y-m-d H:i:s").' 存进去了'; return $result; } } //大规三菱商轮1号【接口】 public function dgslslyi_Machines(){ $redis = redis(); $result = json_decode($redis->get(md5('dgslslyi_Machines_redis')), true); // 初始化数据 $list['categories'] = ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12']; $currentYear = date("Y"); // 当前年份 $currentMonth = date("m"); // 当前月份 $previousYear = (int)$currentYear - 1; // 去年 $previousTwoYear = (int)$currentYear - 2; // 前年 // 为前年、去年和当前年份创建数据数组,初始值为0 $list['series'][0]['name'] = $previousTwoYear . '年'; // 前年 $list['series'][0]['data'] = array_fill(0, 12, 0); // 确保所有12个月份初始化为0 $list['series'][1]['name'] = $previousYear . '年'; // 去年 $list['series'][1]['data'] = array_fill(0, 12, 0); // 确保所有12个月份初始化为0 $list['series'][2]['name'] = $currentYear . '年'; // 今年 $list['series'][2]['data'] = array_fill(0, (int)$currentMonth, 0); // 初始化到当前月份的数据 // 遍历查询结果 if (!empty($result)) { foreach ($result as $v) { // 检查 '日期' 是否存在,若不存在则默认当前年份和月份 $date = isset($v['日期']) ? $v['日期'] : $currentYear . '-' . $currentMonth . '-01'; // 获取年份和月份 $year = substr($date, 0, 4); $month = substr($date, 5, 2); // 如果是前年的数据 if ($year == $previousTwoYear) { $list['series'][0]['data'][(int)$month - 1] = $v['纸令'] ?? 0; } // 如果是去年的数据 if ($year == $previousYear) { $list['series'][1]['data'][(int)$month - 1] = $v['纸令'] ?? 0; } // 如果是今年的数据 if ($year == $currentYear) { $list['series'][2]['data'][(int)$month - 1] = $v['纸令'] ?? 0; } } } $res['status'] = 0; $res['msg'] = ''; $res['data'] = $list; return json($res); } //大规小森商轮1号【缓存】 public function dgxsslyi_Machines_redis(){ $redis = redis(); $redis_key = md5('dgxsslyi_Machines_redis'); $sql = "SELECT gs.机台, gs.日期, CAST( SUM( gs.色令 ) AS SIGNED ) AS 色令, CAST( SUM( gs.纸令 ) AS SIGNED ) AS 纸令, CAST( SUM( gs.张数 ) AS SIGNED ) AS 张数, Count(*) 品种数 FROM (SELECT DATE_FORMAT( CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < (SELECT CONCAT(IFNULL(csetvalue, '00:00'), ':00') FROM sysetup WHERE csetname = 'frmFSetupAtt.dxtdBegin') THEN DATE_ADD(b.dOnDuty, INTERVAL -1 DAY) ELSE b.dOnDuty END, '%Y-%m') AS 日期, a.cMachineName 机台, a.cJobSc 色次, a.nsl 色令, a.nzl 纸令, a.nAmount 张数 FROM QL_Report_FeedBack_Day a INNER JOIN scDayRpt_Teams b ON b.ID = a.ID_Teams WHERE 1 = 1 AND cMachineName = '大规小森商轮1号' AND (CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < (SELECT CONCAT(IFNULL(csetvalue, '00:00'), ':00') FROM sysetup WHERE csetname = 'frmFSetupAtt.dxtdBegin') THEN DATE_ADD(b.dOnDuty, INTERVAL -1 DAY) ELSE b.dOnDuty END) BETWEEN '{$this->qianstart_time()}' AND '{$this->end_time()}')gs WHERE 1 = 1 /*Wheres*/ GROUP BY gs.机台, gs.日期 ORDER BY gs.机台, gs.日期 "; $result=Db::query($sql); if ($result) { $redis->set($redis_key, json_encode($result)); echo date("Y-m-d H:i:s").' 存进去了'; return $result; } } //大规小森商轮1号【接口】 public function dgxsslyi_Machines(){ $redis = redis(); $result = json_decode($redis->get(md5('dgxsslyi_Machines_redis')), true); // 初始化数据 $list['categories'] = ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12']; $currentYear = date("Y"); // 当前年份 $currentMonth = date("m"); // 当前月份 $previousYear = (int)$currentYear - 1; // 去年 $previousTwoYear = (int)$currentYear - 2; // 前年 // 为前年、去年和当前年份创建数据数组,初始值为0 $list['series'][0]['name'] = $previousTwoYear . '年'; // 前年 $list['series'][0]['data'] = array_fill(0, 12, 0); // 确保所有12个月份初始化为0 $list['series'][1]['name'] = $previousYear . '年'; // 去年 $list['series'][1]['data'] = array_fill(0, 12, 0); // 确保所有12个月份初始化为0 $list['series'][2]['name'] = $currentYear . '年'; // 今年 $list['series'][2]['data'] = array_fill(0, (int)$currentMonth, 0); // 初始化到当前月份的数据 // 遍历查询结果 if (!empty($result)) { foreach ($result as $v) { // 检查 '日期' 是否存在,若不存在则默认当前年份和月份 $date = isset($v['日期']) ? $v['日期'] : $currentYear . '-' . $currentMonth . '-01'; // 获取年份和月份 $year = substr($date, 0, 4); $month = substr($date, 5, 2); // 如果是前年的数据 if ($year == $previousTwoYear) { $list['series'][0]['data'][(int)$month - 1] = $v['纸令'] ?? 0; } // 如果是去年的数据 if ($year == $previousYear) { $list['series'][1]['data'][(int)$month - 1] = $v['纸令'] ?? 0; } // 如果是今年的数据 if ($year == $currentYear) { $list['series'][2]['data'][(int)$month - 1] = $v['纸令'] ?? 0; } } } $res['status'] = 0; $res['msg'] = ''; $res['data'] = $list; return json($res); } //胶订潮流1号【缓存】 public function jdclyi_Machines_redis(){ $redis = redis(); $redis_key = md5('jdclyi_Machines_redis'); $sql = "SELECT gs.机台, gs.日期, CAST( SUM( gs.纸令 ) AS SIGNED ) AS 纸令, CAST(SUM(gs.张数) AS SIGNED ) 册数, Count(*) 品种数 FROM (SELECT DATE_FORMAT( CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < (SELECT CONCAT(IFNULL(csetvalue, '00:00'), ':00') FROM sysetup WHERE csetname = 'frmFSetupAtt.dxtdBegin') THEN DATE_ADD(b.dOnDuty, INTERVAL -1 DAY) ELSE b.dOnDuty END, '%Y-%m') AS 日期, a.cMachineName 机台, a.cJobSc 色次, a.nsl 色令, a.nzl 纸令, a.nAmount 张数 FROM QL_Report_FeedBack_Day a INNER JOIN scDayRpt_Teams b ON b.ID = a.ID_Teams WHERE 1 = 1 AND cMachineName = '胶订潮流1号' AND cTechName IN ( '胶订联动', '胶头' ) AND (CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < (SELECT CONCAT(IFNULL(csetvalue, '00:00'), ':00') FROM sysetup WHERE csetname = 'frmFSetupAtt.dxtdBegin') THEN DATE_ADD(b.dOnDuty, INTERVAL -1 DAY) ELSE b.dOnDuty END) BETWEEN '{$this->qianstart_time()}' AND '{$this->end_time()}')gs WHERE 1 = 1 /*Wheres*/ GROUP BY gs.机台, gs.日期 ORDER BY gs.机台, gs.日期 "; $result=Db::query($sql); if ($result) { $redis->set($redis_key, json_encode($result)); echo date("Y-m-d H:i:s").' 存进去了'; return $result; } } //胶订潮流1号【接口】 public function jdclyi_Machines(){ $redis = redis(); $result = json_decode($redis->get(md5('jdclyi_Machines_redis')), true); // 初始化数据 $list['categories'] = ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12']; $currentYear = date("Y"); // 当前年份 $currentMonth = date("m"); // 当前月份 $previousYear = (int)$currentYear - 1; // 去年 $previousTwoYear = (int)$currentYear - 2; // 前年 // 为前年、去年和当前年份创建数据数组,初始值为0 $list['series'][0]['name'] = $previousTwoYear . '年'; // 前年 $list['series'][0]['data'] = array_fill(0, 12, 0); // 确保所有12个月份初始化为0 $list['series'][1]['name'] = $previousYear . '年'; // 去年 $list['series'][1]['data'] = array_fill(0, 12, 0); // 确保所有12个月份初始化为0 $list['series'][2]['name'] = $currentYear . '年'; // 今年 $list['series'][2]['data'] = array_fill(0, (int)$currentMonth, 0); // 初始化到当前月份的数据 // 遍历查询结果 if (!empty($result)) { foreach ($result as $v) { // 检查 '日期' 是否存在,若不存在则默认当前年份和月份 $date = isset($v['日期']) ? $v['日期'] : $currentYear . '-' . $currentMonth . '-01'; // 获取年份和月份 $year = substr($date, 0, 4); $month = substr($date, 5, 2); // 如果是前年的数据 if ($year == $previousTwoYear) { $list['series'][0]['data'][(int)$month - 1] = $v['册数'] ?? 0; } // 如果是去年的数据 if ($year == $previousYear) { $list['series'][1]['data'][(int)$month - 1] = $v['册数'] ?? 0; } // 如果是今年的数据 if ($year == $currentYear) { $list['series'][2]['data'][(int)$month - 1] = $v['册数'] ?? 0; } } } $res['status'] = 0; $res['msg'] = ''; $res['data'] = $list; return json($res); } //胶订潮流2号【缓存】 public function jdcler_Machines_redis(){ $redis = redis(); $redis_key = md5('jdcler_Machines_redis'); $sql = "SELECT gs.机台, gs.日期, CAST( SUM( gs.纸令 ) AS SIGNED ) AS 纸令, CAST(SUM(gs.张数) AS SIGNED ) 册数, Count(*) 品种数 FROM (SELECT DATE_FORMAT( CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < (SELECT CONCAT(IFNULL(csetvalue, '00:00'), ':00') FROM sysetup WHERE csetname = 'frmFSetupAtt.dxtdBegin') THEN DATE_ADD(b.dOnDuty, INTERVAL -1 DAY) ELSE b.dOnDuty END, '%Y-%m') AS 日期, a.cMachineName 机台, a.cJobSc 色次, a.nsl 色令, a.nzl 纸令, a.nAmount 张数 FROM QL_Report_FeedBack_Day a INNER JOIN scDayRpt_Teams b ON b.ID = a.ID_Teams WHERE 1 = 1 AND cMachineName = '胶订潮流2号' AND cTechName IN ( '胶订联动', '胶头' ) AND (CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < (SELECT CONCAT(IFNULL(csetvalue, '00:00'), ':00') FROM sysetup WHERE csetname = 'frmFSetupAtt.dxtdBegin') THEN DATE_ADD(b.dOnDuty, INTERVAL -1 DAY) ELSE b.dOnDuty END) BETWEEN '{$this->qianstart_time()}' AND '{$this->end_time()}')gs WHERE 1 = 1 /*Wheres*/ GROUP BY gs.机台, gs.日期 ORDER BY gs.机台, gs.日期 "; $result=Db::query($sql); if ($result) { $redis->set($redis_key, json_encode($result)); echo date("Y-m-d H:i:s").' 存进去了'; return $result; } } //胶订潮流2号【接口】 public function jdcler_Machines(){ $redis = redis(); $result = json_decode($redis->get(md5('jdcler_Machines_redis')), true); // 初始化数据 $list['categories'] = ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12']; $currentYear = date("Y"); // 当前年份 $currentMonth = date("m"); // 当前月份 $previousYear = (int)$currentYear - 1; // 去年 $previousTwoYear = (int)$currentYear - 2; // 前年 // 为前年、去年和当前年份创建数据数组,初始值为0 $list['series'][0]['name'] = $previousTwoYear . '年'; // 前年 $list['series'][0]['data'] = array_fill(0, 12, 0); // 确保所有12个月份初始化为0 $list['series'][1]['name'] = $previousYear . '年'; // 去年 $list['series'][1]['data'] = array_fill(0, 12, 0); // 确保所有12个月份初始化为0 $list['series'][2]['name'] = $currentYear . '年'; // 今年 $list['series'][2]['data'] = array_fill(0, (int)$currentMonth, 0); // 初始化到当前月份的数据 // 遍历查询结果 if (!empty($result)) { foreach ($result as $v) { // 检查 '日期' 是否存在,若不存在则默认当前年份和月份 $date = isset($v['日期']) ? $v['日期'] : $currentYear . '-' . $currentMonth . '-01'; // 获取年份和月份 $year = substr($date, 0, 4); $month = substr($date, 5, 2); // 如果是前年的数据 if ($year == $previousTwoYear) { $list['series'][0]['data'][(int)$month - 1] = $v['册数'] ?? 0; } // 如果是去年的数据 if ($year == $previousYear) { $list['series'][1]['data'][(int)$month - 1] = $v['册数'] ?? 0; } // 如果是今年的数据 if ($year == $currentYear) { $list['series'][2]['data'][(int)$month - 1] = $v['册数'] ?? 0; } } } $res['status'] = 0; $res['msg'] = ''; $res['data'] = $list; return json($res); } //胶订精密达1号【缓存】 public function jdjmdyi_Machines_redis(){ $redis = redis(); $redis_key = md5('jdjmdyi_Machines_redis'); $sql = "SELECT gs.机台, gs.日期, CAST( SUM( gs.纸令 ) AS SIGNED ) AS 纸令, CAST(SUM(gs.张数) AS SIGNED ) 册数, Count(*) 品种数 FROM (SELECT DATE_FORMAT( CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < (SELECT CONCAT(IFNULL(csetvalue, '00:00'), ':00') FROM sysetup WHERE csetname = 'frmFSetupAtt.dxtdBegin') THEN DATE_ADD(b.dOnDuty, INTERVAL -1 DAY) ELSE b.dOnDuty END, '%Y-%m') AS 日期, a.cMachineName 机台, a.cJobSc 色次, a.nsl 色令, a.nzl 纸令, a.nAmount 张数 FROM QL_Report_FeedBack_Day a INNER JOIN scDayRpt_Teams b ON b.ID = a.ID_Teams WHERE 1 = 1 AND cMachineName = '胶订精密达1号' AND cTechName IN ( '胶订联动', '胶头' ) AND (CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < (SELECT CONCAT(IFNULL(csetvalue, '00:00'), ':00') FROM sysetup WHERE csetname = 'frmFSetupAtt.dxtdBegin') THEN DATE_ADD(b.dOnDuty, INTERVAL -1 DAY) ELSE b.dOnDuty END) BETWEEN '{$this->qianstart_time()}' AND '{$this->end_time()}')gs WHERE 1 = 1 /*Wheres*/ GROUP BY gs.机台, gs.日期 ORDER BY gs.机台, gs.日期 "; $result=Db::query($sql); if ($result) { $redis->set($redis_key, json_encode($result)); echo date("Y-m-d H:i:s").' 存进去了'; return $result; } } //胶订精密达1号【接口】 public function jdjmdyi_Machines(){ $redis = redis(); $result = json_decode($redis->get(md5('jdjmdyi_Machines_redis')), true); // 初始化数据 $list['categories'] = ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12']; $currentYear = date("Y"); // 当前年份 $currentMonth = date("m"); // 当前月份 $previousYear = (int)$currentYear - 1; // 去年 $previousTwoYear = (int)$currentYear - 2; // 前年 // 为前年、去年和当前年份创建数据数组,初始值为0 $list['series'][0]['name'] = $previousTwoYear . '年'; // 前年 $list['series'][0]['data'] = array_fill(0, 12, 0); // 确保所有12个月份初始化为0 $list['series'][1]['name'] = $previousYear . '年'; // 去年 $list['series'][1]['data'] = array_fill(0, 12, 0); // 确保所有12个月份初始化为0 $list['series'][2]['name'] = $currentYear . '年'; // 今年 $list['series'][2]['data'] = array_fill(0, (int)$currentMonth, 0); // 初始化到当前月份的数据 // 遍历查询结果 if (!empty($result)) { foreach ($result as $v) { // 检查 '日期' 是否存在,若不存在则默认当前年份和月份 $date = isset($v['日期']) ? $v['日期'] : $currentYear . '-' . $currentMonth . '-01'; // 获取年份和月份 $year = substr($date, 0, 4); $month = substr($date, 5, 2); // 如果是前年的数据 if ($year == $previousTwoYear) { $list['series'][0]['data'][(int)$month - 1] = $v['册数'] ?? 0; } // 如果是去年的数据 if ($year == $previousYear) { $list['series'][1]['data'][(int)$month - 1] = $v['册数'] ?? 0; } // 如果是今年的数据 if ($year == $currentYear) { $list['series'][2]['data'][(int)$month - 1] = $v['册数'] ?? 0; } } } $res['status'] = 0; $res['msg'] = ''; $res['data'] = $list; return json($res); } //胶订精密达2号【缓存】 public function jdjmder_Machines_redis(){ $redis = redis(); $redis_key = md5('jdjmder_Machines_redis'); $sql = "SELECT gs.机台, gs.日期, CAST( SUM( gs.纸令 ) AS SIGNED ) AS 纸令, CAST(SUM(gs.张数) AS SIGNED ) 册数, Count(*) 品种数 FROM (SELECT DATE_FORMAT( CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < (SELECT CONCAT(IFNULL(csetvalue, '00:00'), ':00') FROM sysetup WHERE csetname = 'frmFSetupAtt.dxtdBegin') THEN DATE_ADD(b.dOnDuty, INTERVAL -1 DAY) ELSE b.dOnDuty END, '%Y-%m') AS 日期, a.cMachineName 机台, a.cJobSc 色次, a.nsl 色令, a.nzl 纸令, a.nAmount 张数 FROM QL_Report_FeedBack_Day a INNER JOIN scDayRpt_Teams b ON b.ID = a.ID_Teams WHERE 1 = 1 AND cMachineName = '胶订精密达2号' AND cTechName IN ( '胶订联动', '胶头' ) AND (CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < (SELECT CONCAT(IFNULL(csetvalue, '00:00'), ':00') FROM sysetup WHERE csetname = 'frmFSetupAtt.dxtdBegin') THEN DATE_ADD(b.dOnDuty, INTERVAL -1 DAY) ELSE b.dOnDuty END) BETWEEN '{$this->qianstart_time()}' AND '{$this->end_time()}')gs WHERE 1 = 1 /*Wheres*/ GROUP BY gs.机台, gs.日期 ORDER BY gs.机台, gs.日期 "; $result=Db::query($sql); if ($result) { $redis->set($redis_key, json_encode($result)); echo date("Y-m-d H:i:s").' 存进去了'; return $result; } } //胶订精密达2号【接口】 public function jdjmder_Machines(){ $redis = redis(); $result = json_decode($redis->get(md5('jdjmder_Machines_redis')), true); // 初始化数据 $list['categories'] = ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12']; $currentYear = date("Y"); // 当前年份 $currentMonth = date("m"); // 当前月份 $previousYear = (int)$currentYear - 1; // 去年 $previousTwoYear = (int)$currentYear - 2; // 前年 // 为前年、去年和当前年份创建数据数组,初始值为0 $list['series'][0]['name'] = $previousTwoYear . '年'; // 前年 $list['series'][0]['data'] = array_fill(0, 12, 0); // 确保所有12个月份初始化为0 $list['series'][1]['name'] = $previousYear . '年'; // 去年 $list['series'][1]['data'] = array_fill(0, 12, 0); // 确保所有12个月份初始化为0 $list['series'][2]['name'] = $currentYear . '年'; // 今年 $list['series'][2]['data'] = array_fill(0, (int)$currentMonth, 0); // 初始化到当前月份的数据 // 遍历查询结果 if (!empty($result)) { foreach ($result as $v) { // 检查 '日期' 是否存在,若不存在则默认当前年份和月份 $date = isset($v['日期']) ? $v['日期'] : $currentYear . '-' . $currentMonth . '-01'; // 获取年份和月份 $year = substr($date, 0, 4); $month = substr($date, 5, 2); // 如果是前年的数据 if ($year == $previousTwoYear) { $list['series'][0]['data'][(int)$month - 1] = $v['册数'] ?? 0; } // 如果是去年的数据 if ($year == $previousYear) { $list['series'][1]['data'][(int)$month - 1] = $v['册数'] ?? 0; } // 如果是今年的数据 if ($year == $currentYear) { $list['series'][2]['data'][(int)$month - 1] = $v['册数'] ?? 0; } } } $res['status'] = 0; $res['msg'] = ''; $res['data'] = $list; return json($res); } //胶订精工1号【缓存】 public function jdjgyi_Machines_redis(){ $redis = redis(); $redis_key = md5('jdjgyi_Machines_redis'); $sql = "SELECT gs.机台, gs.日期, CAST( SUM( gs.纸令 ) AS SIGNED ) AS 纸令, CAST(SUM(gs.张数) AS SIGNED ) 册数, Count(*) 品种数 FROM (SELECT DATE_FORMAT( CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < (SELECT CONCAT(IFNULL(csetvalue, '00:00'), ':00') FROM sysetup WHERE csetname = 'frmFSetupAtt.dxtdBegin') THEN DATE_ADD(b.dOnDuty, INTERVAL -1 DAY) ELSE b.dOnDuty END, '%Y-%m') AS 日期, a.cMachineName 机台, a.cJobSc 色次, a.nsl 色令, a.nzl 纸令, a.nAmount 张数 FROM QL_Report_FeedBack_Day a INNER JOIN scDayRpt_Teams b ON b.ID = a.ID_Teams WHERE 1 = 1 AND cMachineName = '胶订精密达2号' AND cTechName IN ( '胶订联动', '胶头' ) AND (CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < (SELECT CONCAT(IFNULL(csetvalue, '00:00'), ':00') FROM sysetup WHERE csetname = 'frmFSetupAtt.dxtdBegin') THEN DATE_ADD(b.dOnDuty, INTERVAL -1 DAY) ELSE b.dOnDuty END) BETWEEN '{$this->qianstart_time()}' AND '{$this->end_time()}')gs WHERE 1 = 1 /*Wheres*/ GROUP BY gs.机台, gs.日期 ORDER BY gs.机台, gs.日期 "; $result=Db::query($sql); if ($result) { $redis->set($redis_key, json_encode($result)); echo date("Y-m-d H:i:s").' 存进去了'; return $result; } } //胶订精工1号【接口】 public function jdjgyi_Machines(){ $redis = redis(); $result = json_decode($redis->get(md5('jdjgyi_Machines_redis')), true); // 初始化数据 $list['categories'] = ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12']; $currentYear = date("Y"); // 当前年份 $currentMonth = date("m"); // 当前月份 $previousYear = (int)$currentYear - 1; // 去年 $previousTwoYear = (int)$currentYear - 2; // 前年 // 为前年、去年和当前年份创建数据数组,初始值为0 $list['series'][0]['name'] = $previousTwoYear . '年'; // 前年 $list['series'][0]['data'] = array_fill(0, 12, 0); // 确保所有12个月份初始化为0 $list['series'][1]['name'] = $previousYear . '年'; // 去年 $list['series'][1]['data'] = array_fill(0, 12, 0); // 确保所有12个月份初始化为0 $list['series'][2]['name'] = $currentYear . '年'; // 今年 $list['series'][2]['data'] = array_fill(0, (int)$currentMonth, 0); // 初始化到当前月份的数据 // 遍历查询结果 if (!empty($result)) { foreach ($result as $v) { // 检查 '日期' 是否存在,若不存在则默认当前年份和月份 $date = isset($v['日期']) ? $v['日期'] : $currentYear . '-' . $currentMonth . '-01'; // 获取年份和月份 $year = substr($date, 0, 4); $month = substr($date, 5, 2); // 如果是前年的数据 if ($year == $previousTwoYear) { $list['series'][0]['data'][(int)$month - 1] = $v['册数'] ?? 0; } // 如果是去年的数据 if ($year == $previousYear) { $list['series'][1]['data'][(int)$month - 1] = $v['册数'] ?? 0; } // 如果是今年的数据 if ($year == $currentYear) { $list['series'][2]['data'][(int)$month - 1] = $v['册数'] ?? 0; } } } $res['status'] = 0; $res['msg'] = ''; $res['data'] = $list; return json($res); } //骑马联动02号【缓存】 public function qmlder_Machines_redis(){ $redis = redis(); $redis_key = md5('qmlder_Machines_redis'); $sql = "SELECT gs.机台, gs.日期, CAST( SUM( gs.纸令 ) AS SIGNED ) AS 纸令, CAST(SUM(gs.张数) AS SIGNED ) 册数, Count(*) 品种数 FROM (SELECT DATE_FORMAT( CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < (SELECT CONCAT(IFNULL(csetvalue, '00:00'), ':00') FROM sysetup WHERE csetname = 'frmFSetupAtt.dxtdBegin') THEN DATE_ADD(b.dOnDuty, INTERVAL -1 DAY) ELSE b.dOnDuty END, '%Y-%m') AS 日期, a.cMachineName 机台, a.cJobSc 色次, a.nsl 色令, a.nzl 纸令, a.nAmount 张数 FROM QL_Report_FeedBack_Day a INNER JOIN scDayRpt_Teams b ON b.ID = a.ID_Teams WHERE 1 = 1 AND cMachineName = '骑马联动02号' AND cTechName IN ( '骑马联动') AND (CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < (SELECT CONCAT(IFNULL(csetvalue, '00:00'), ':00') FROM sysetup WHERE csetname = 'frmFSetupAtt.dxtdBegin') THEN DATE_ADD(b.dOnDuty, INTERVAL -1 DAY) ELSE b.dOnDuty END) BETWEEN '{$this->qianstart_time()}' AND '{$this->end_time()}')gs WHERE 1 = 1 /*Wheres*/ GROUP BY gs.机台, gs.日期 ORDER BY gs.机台, gs.日期 "; $result=Db::query($sql); if ($result) { $redis->set($redis_key, json_encode($result)); echo date("Y-m-d H:i:s").' 存进去了'; return $result; } } //骑马联动02号【接口】 public function qmlder_Machines(){ $redis = redis(); $result = json_decode($redis->get(md5('qmlder_Machines_redis')), true); // 初始化数据 $list['categories'] = ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12']; $currentYear = date("Y"); // 当前年份 $currentMonth = date("m"); // 当前月份 $previousYear = (int)$currentYear - 1; // 去年 $previousTwoYear = (int)$currentYear - 2; // 前年 // 为前年、去年和当前年份创建数据数组,初始值为0 $list['series'][0]['name'] = $previousTwoYear . '年'; // 前年 $list['series'][0]['data'] = array_fill(0, 12, 0); // 确保所有12个月份初始化为0 $list['series'][1]['name'] = $previousYear . '年'; // 去年 $list['series'][1]['data'] = array_fill(0, 12, 0); // 确保所有12个月份初始化为0 $list['series'][2]['name'] = $currentYear . '年'; // 今年 $list['series'][2]['data'] = array_fill(0, (int)$currentMonth, 0); // 初始化到当前月份的数据 // 遍历查询结果 if (!empty($result)) { foreach ($result as $v) { // 检查 '日期' 是否存在,若不存在则默认当前年份和月份 $date = isset($v['日期']) ? $v['日期'] : $currentYear . '-' . $currentMonth . '-01'; // 获取年份和月份 $year = substr($date, 0, 4); $month = substr($date, 5, 2); // 如果是前年的数据 if ($year == $previousTwoYear) { $list['series'][0]['data'][(int)$month - 1] = $v['册数'] ?? 0; } // 如果是去年的数据 if ($year == $previousYear) { $list['series'][1]['data'][(int)$month - 1] = $v['册数'] ?? 0; } // 如果是今年的数据 if ($year == $currentYear) { $list['series'][2]['data'][(int)$month - 1] = $v['册数'] ?? 0; } } } $res['status'] = 0; $res['msg'] = ''; $res['data'] = $list; return json($res); } //骑马联动03号【缓存】 public function qmldsan_Machines_redis(){ $redis = redis(); $redis_key = md5('qmldsan_Machines_redis'); $sql = "SELECT gs.机台, gs.日期, CAST( SUM( gs.纸令 ) AS SIGNED ) AS 纸令, CAST(SUM(gs.张数) AS SIGNED ) 册数, Count(*) 品种数 FROM (SELECT DATE_FORMAT( CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < (SELECT CONCAT(IFNULL(csetvalue, '00:00'), ':00') FROM sysetup WHERE csetname = 'frmFSetupAtt.dxtdBegin') THEN DATE_ADD(b.dOnDuty, INTERVAL -1 DAY) ELSE b.dOnDuty END, '%Y-%m') AS 日期, a.cMachineName 机台, a.cJobSc 色次, a.nsl 色令, a.nzl 纸令, a.nAmount 张数 FROM QL_Report_FeedBack_Day a INNER JOIN scDayRpt_Teams b ON b.ID = a.ID_Teams WHERE 1 = 1 AND cMachineName = '骑马联动03号' AND cTechName IN ( '骑马联动') AND (CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < (SELECT CONCAT(IFNULL(csetvalue, '00:00'), ':00') FROM sysetup WHERE csetname = 'frmFSetupAtt.dxtdBegin') THEN DATE_ADD(b.dOnDuty, INTERVAL -1 DAY) ELSE b.dOnDuty END) BETWEEN '{$this->qianstart_time()}' AND '{$this->end_time()}')gs WHERE 1 = 1 /*Wheres*/ GROUP BY gs.机台, gs.日期 ORDER BY gs.机台, gs.日期 "; $result=Db::query($sql); if ($result) { $redis->set($redis_key, json_encode($result)); echo date("Y-m-d H:i:s").' 存进去了'; return $result; } } //骑马联动03号【接口】 public function qmldsan_Machines(){ $redis = redis(); $result = json_decode($redis->get(md5('qmldsan_Machines_redis')), true); // 初始化数据 $list['categories'] = ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12']; $currentYear = date("Y"); // 当前年份 $currentMonth = date("m"); // 当前月份 $previousYear = (int)$currentYear - 1; // 去年 $previousTwoYear = (int)$currentYear - 2; // 前年 // 为前年、去年和当前年份创建数据数组,初始值为0 $list['series'][0]['name'] = $previousTwoYear . '年'; // 前年 $list['series'][0]['data'] = array_fill(0, 12, 0); // 确保所有12个月份初始化为0 $list['series'][1]['name'] = $previousYear . '年'; // 去年 $list['series'][1]['data'] = array_fill(0, 12, 0); // 确保所有12个月份初始化为0 $list['series'][2]['name'] = $currentYear . '年'; // 今年 $list['series'][2]['data'] = array_fill(0, (int)$currentMonth, 0); // 初始化到当前月份的数据 // 遍历查询结果 if (!empty($result)) { foreach ($result as $v) { // 检查 '日期' 是否存在,若不存在则默认当前年份和月份 $date = isset($v['日期']) ? $v['日期'] : $currentYear . '-' . $currentMonth . '-01'; // 获取年份和月份 $year = substr($date, 0, 4); $month = substr($date, 5, 2); // 如果是前年的数据 if ($year == $previousTwoYear) { $list['series'][0]['data'][(int)$month - 1] = $v['册数'] ?? 0; } // 如果是去年的数据 if ($year == $previousYear) { $list['series'][1]['data'][(int)$month - 1] = $v['册数'] ?? 0; } // 如果是今年的数据 if ($year == $currentYear) { $list['series'][2]['data'][(int)$month - 1] = $v['册数'] ?? 0; } } } $res['status'] = 0; $res['msg'] = ''; $res['data'] = $list; return json($res); } //精装联动线01号【缓存】 public function jzldxyi_Machines_redis(){ $redis = redis(); $redis_key = md5('jzldxyi_Machines_redis'); $sql = "SELECT gs.机台, gs.日期, CAST( SUM( gs.纸令 ) AS SIGNED ) AS 纸令, CAST(SUM(gs.张数) AS SIGNED ) 册数, Count(*) 品种数 FROM (SELECT DATE_FORMAT( CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < (SELECT CONCAT(IFNULL(csetvalue, '00:00'), ':00') FROM sysetup WHERE csetname = 'frmFSetupAtt.dxtdBegin') THEN DATE_ADD(b.dOnDuty, INTERVAL -1 DAY) ELSE b.dOnDuty END, '%Y-%m') AS 日期, a.cMachineName 机台, a.cJobSc 色次, a.nsl 色令, a.nzl 纸令, a.nAmount 张数 FROM QL_Report_FeedBack_Day a INNER JOIN scDayRpt_Teams b ON b.ID = a.ID_Teams WHERE 1 = 1 AND cMachineName = '精装联动线01号' AND cTechName IN ( '精装联动', '过胶' ) AND (CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < (SELECT CONCAT(IFNULL(csetvalue, '00:00'), ':00') FROM sysetup WHERE csetname = 'frmFSetupAtt.dxtdBegin') THEN DATE_ADD(b.dOnDuty, INTERVAL -1 DAY) ELSE b.dOnDuty END) BETWEEN '{$this->qianstart_time()}' AND '{$this->end_time()}')gs WHERE 1 = 1 /*Wheres*/ GROUP BY gs.机台, gs.日期 ORDER BY gs.机台, gs.日期 "; $result=Db::query($sql); if ($result) { $redis->set($redis_key, json_encode($result)); echo date("Y-m-d H:i:s").' 存进去了'; return $result; } } //精装联动线01号【接口】 public function jzldxyi_Machines(){ $redis = redis(); $result = json_decode($redis->get(md5('jzldxyi_Machines_redis')), true); // 初始化数据 $list['categories'] = ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12']; $currentYear = date("Y"); // 当前年份 $currentMonth = date("m"); // 当前月份 $previousYear = (int)$currentYear - 1; // 去年 $previousTwoYear = (int)$currentYear - 2; // 前年 // 为前年、去年和当前年份创建数据数组,初始值为0 $list['series'][0]['name'] = $previousTwoYear . '年'; // 前年 $list['series'][0]['data'] = array_fill(0, 12, 0); // 确保所有12个月份初始化为0 $list['series'][1]['name'] = $previousYear . '年'; // 去年 $list['series'][1]['data'] = array_fill(0, 12, 0); // 确保所有12个月份初始化为0 $list['series'][2]['name'] = $currentYear . '年'; // 今年 $list['series'][2]['data'] = array_fill(0, (int)$currentMonth, 0); // 初始化到当前月份的数据 // 遍历查询结果 if (!empty($result)) { foreach ($result as $v) { // 检查 '日期' 是否存在,若不存在则默认当前年份和月份 $date = isset($v['日期']) ? $v['日期'] : $currentYear . '-' . $currentMonth . '-01'; // 获取年份和月份 $year = substr($date, 0, 4); $month = substr($date, 5, 2); // 如果是前年的数据 if ($year == $previousTwoYear) { $list['series'][0]['data'][(int)$month - 1] = $v['册数'] ?? 0; } // 如果是去年的数据 if ($year == $previousYear) { $list['series'][1]['data'][(int)$month - 1] = $v['册数'] ?? 0; } // 如果是今年的数据 if ($year == $currentYear) { $list['series'][2]['data'][(int)$month - 1] = $v['册数'] ?? 0; } } } $res['status'] = 0; $res['msg'] = ''; $res['data'] = $list; return json($res); } }