Machines.php 99 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376
  1. <?php
  2. namespace app\api\controller;
  3. use app\common\controller\Api;
  4. use think\Db;
  5. use think\Cache\Driver\Redis;
  6. use app\api\controller\Second;
  7. //各个机台每月生产
  8. class Machines extends Api{
  9. protected $noNeedLogin = ['*'];
  10. protected $noNeedRight = ['*'];
  11. public function index(){
  12. $this->success('请求新华接口成功');
  13. }
  14. /** 定义的函数方法 $this->方法名调取*/
  15. //当年一月份
  16. public function year_January(){
  17. return date("Y-01");
  18. }
  19. //开始时间方法--当年01月01日
  20. public function start_time(){
  21. return gettimeinfo();
  22. }
  23. //结束时间方法--当年12月31日
  24. public function end_time(){
  25. return gettimeinfo(1);
  26. }
  27. //开始时间方法--去年01月01日
  28. public function qstart_time(){
  29. return getLastYear();
  30. }
  31. //去年的今天
  32. public function qday(){
  33. // 获取当前日期
  34. $today = date('Y-m-d 23:59:59');
  35. // 使用strtotime计算去年的今天
  36. $lastYearToday = date('Y-m-d 23:59:59', strtotime($today . ' -1 year'));
  37. // 输出去年的今天
  38. return $lastYearToday;
  39. }
  40. //结束时间方法--去年12月31日
  41. public function qend_time(){
  42. return getLastYear(1);
  43. }
  44. //开始时间方法--前年01月01日
  45. public function qianstart_time(){
  46. return getPreviousYear();
  47. }
  48. //结束时间方法--前年12月31日
  49. public function qianend_time(){
  50. return getPreviousYear(1);
  51. }
  52. //前年的今天
  53. public function qianday(){
  54. // 获取当前日期
  55. $today = date('Y-m-d 23:59:59');
  56. // 使用strtotime计算前年的今天
  57. $beforeLastYearToday = date('Y-m-d 23:59:59', strtotime($today . ' -2 years'));
  58. // 输出前年的今天
  59. return $beforeLastYearToday;
  60. }
  61. // '{$this->qstart_time()}' AND '{$this->end_time()}')gs
  62. //BB机改 如钰01号机(纸令)【缓存】
  63. public function bb_Machines_redis(){
  64. $redis = redis();
  65. $redis_key = md5('bb_Machines_redis');
  66. $sql = "SELECT gs.机台,
  67. gs.日期,
  68. CAST( SUM( gs.色令 ) AS SIGNED ) AS 色令,
  69. CAST( SUM( gs.纸令 ) AS SIGNED ) AS 纸令,
  70. CAST( SUM( gs.张数 ) AS SIGNED ) AS 张数,
  71. Count(*) 品种数
  72. FROM (SELECT
  73. DATE_FORMAT(
  74. CASE
  75. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < (SELECT CONCAT(IFNULL(csetvalue, '00:00'), ':00') FROM sysetup WHERE csetname = 'frmFSetupAtt.dxtdBegin') THEN
  76. DATE_ADD(b.dOnDuty, INTERVAL -1 DAY)
  77. ELSE b.dOnDuty
  78. END, '%Y-%m') AS 日期,
  79. '如钰01号机' AS 机台,
  80. a.cJobSc AS 色次,
  81. a.nsl AS 色令,
  82. a.nzl AS 纸令,
  83. a.nAmount AS 张数
  84. FROM
  85. QL_Report_FeedBack_Day a
  86. INNER JOIN
  87. scDayRpt_Teams b ON b.ID = a.ID_Teams
  88. WHERE
  89. cMachineName LIKE '如钰01号机%'
  90. AND
  91. (CASE
  92. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < (SELECT CONCAT(IFNULL(csetvalue, '00:00'), ':00') FROM sysetup WHERE csetname = 'frmFSetupAtt.dxtdBegin') THEN
  93. DATE_ADD(b.dOnDuty, INTERVAL -1 DAY)
  94. ELSE b.dOnDuty
  95. END) BETWEEN '{$this->qianstart_time()}' AND '{$this->end_time()}')gs
  96. WHERE 1 = 1 /*Wheres*/
  97. GROUP BY gs.机台,
  98. gs.日期
  99. ORDER BY gs.机台,
  100. gs.日期 ";
  101. $result=Db::query($sql);
  102. if ($result) {
  103. $redis->set($redis_key, json_encode($result));
  104. echo date("Y-m-d H:i:s").' 存进去了';
  105. return $result;
  106. }
  107. }
  108. //如钰01号机(纸令)【接口】
  109. public function bb_Machines() {
  110. $redis = redis();
  111. $result = json_decode($redis->get(md5('bb_Machines_redis')), true);
  112. // 初始化数据
  113. $list['categories'] = ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12'];
  114. $currentYear = date("Y"); // 当前年份
  115. $currentMonth = date("m"); // 当前月份
  116. $previousYear = (int)$currentYear - 1; // 去年
  117. $previousTwoYear = (int)$currentYear - 2; // 前年
  118. // 为前年、去年和当前年份创建数据数组,初始值为0
  119. $list['series'][0]['name'] = $previousTwoYear . '年'; // 前年
  120. $list['series'][0]['data'] = array_fill(0, 12, 0); // 确保所有12个月份初始化为0
  121. $list['series'][1]['name'] = $previousYear . '年'; // 去年
  122. $list['series'][1]['data'] = array_fill(0, 12, 0); // 确保所有12个月份初始化为0
  123. $list['series'][2]['name'] = $currentYear . '年'; // 今年
  124. $list['series'][2]['data'] = array_fill(0, (int)$currentMonth, 0); // 初始化到当前月份的数据
  125. // 遍历查询结果
  126. if (!empty($result)) {
  127. foreach ($result as $v) {
  128. // 检查 '日期' 是否存在,若不存在则默认当前年份和月份
  129. $date = isset($v['日期']) ? $v['日期'] : $currentYear . '-' . $currentMonth . '-01';
  130. // 获取年份和月份
  131. $year = substr($date, 0, 4);
  132. $month = substr($date, 5, 2);
  133. // 如果是前年的数据
  134. if ($year == $previousTwoYear) {
  135. $list['series'][0]['data'][(int)$month - 1] = $v['纸令'] ?? 0;
  136. }
  137. // 如果是去年的数据
  138. if ($year == $previousYear) {
  139. $list['series'][1]['data'][(int)$month - 1] = $v['纸令'] ?? 0;
  140. }
  141. // 如果是今年的数据
  142. if ($year == $currentYear) {
  143. $list['series'][2]['data'][(int)$month - 1] = $v['纸令'] ?? 0;
  144. }
  145. }
  146. }
  147. $res['status'] = 0;
  148. $res['msg'] = '';
  149. $res['data'] = $list;
  150. return json($res);
  151. }
  152. //海德堡SM1号【缓存】
  153. public function hdbsmyi_Machines_redis(){
  154. $redis = redis();
  155. $redis_key = md5('hdbsmyi_Machines_redis');
  156. $sql = "SELECT gs.机台,
  157. gs.日期,
  158. CAST( SUM( gs.色令 ) AS SIGNED ) AS 色令,
  159. CAST( SUM( gs.纸令 ) AS SIGNED ) AS 纸令,
  160. CAST( SUM( gs.张数 ) AS SIGNED ) AS 张数,
  161. Count(*) 品种数
  162. FROM (SELECT DATE_FORMAT(
  163. CASE
  164. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < (SELECT CONCAT(IFNULL(csetvalue, '00:00'), ':00') FROM sysetup WHERE csetname = 'frmFSetupAtt.dxtdBegin') THEN
  165. DATE_ADD(b.dOnDuty, INTERVAL -1 DAY)
  166. ELSE b.dOnDuty
  167. END, '%Y-%m') AS 日期,
  168. a.cMachineName 机台,
  169. a.cJobSc 色次,
  170. a.nsl 色令,
  171. a.nzl 纸令,
  172. a.nAmount 张数
  173. FROM QL_Report_FeedBack_Day a
  174. INNER JOIN scDayRpt_Teams b
  175. ON b.ID = a.ID_Teams
  176. WHERE 1 = 1
  177. AND cMachineName = '海德堡SM1号'
  178. AND (CASE
  179. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < (SELECT CONCAT(IFNULL(csetvalue, '00:00'), ':00') FROM sysetup WHERE csetname = 'frmFSetupAtt.dxtdBegin') THEN
  180. DATE_ADD(b.dOnDuty, INTERVAL -1 DAY)
  181. ELSE b.dOnDuty
  182. END) BETWEEN '{$this->qianstart_time()}' AND '{$this->end_time()}')gs
  183. WHERE 1 = 1 /*Wheres*/
  184. GROUP BY gs.机台,
  185. gs.日期
  186. ORDER BY gs.机台,
  187. gs.日期 ";
  188. $result=Db::query($sql);
  189. if ($result) {
  190. $redis->set($redis_key, json_encode($result));
  191. echo date("Y-m-d H:i:s").' 存进去了';
  192. return $result;
  193. }
  194. }
  195. //海德堡SM1号【接口】
  196. public function hdbsmyi_Machines(){
  197. $redis = redis();
  198. $result = json_decode($redis->get(md5('hdbsmyi_Machines_redis')), true);
  199. // 初始化数据
  200. $list['categories'] = ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12'];
  201. $currentYear = date("Y"); // 当前年份
  202. $currentMonth = date("m"); // 当前月份
  203. $previousYear = (int)$currentYear - 1; // 去年
  204. $previousTwoYear = (int)$currentYear - 2; // 前年
  205. // 为前年、去年和当前年份创建数据数组,初始值为0
  206. $list['series'][0]['name'] = $previousTwoYear . '年'; // 前年
  207. $list['series'][0]['data'] = array_fill(0, 12, 0); // 确保所有12个月份初始化为0
  208. $list['series'][1]['name'] = $previousYear . '年'; // 去年
  209. $list['series'][1]['data'] = array_fill(0, 12, 0); // 确保所有12个月份初始化为0
  210. $list['series'][2]['name'] = $currentYear . '年'; // 今年
  211. $list['series'][2]['data'] = array_fill(0, (int)$currentMonth, 0); // 初始化到当前月份的数据
  212. // 遍历查询结果
  213. if (!empty($result)) {
  214. foreach ($result as $v) {
  215. // 检查 '日期' 是否存在,若不存在则默认当前年份和月份
  216. $date = isset($v['日期']) ? $v['日期'] : $currentYear . '-' . $currentMonth . '-01';
  217. // 获取年份和月份
  218. $year = substr($date, 0, 4);
  219. $month = substr($date, 5, 2);
  220. // 如果是前年的数据
  221. if ($year == $previousTwoYear) {
  222. $list['series'][0]['data'][(int)$month - 1] = $v['纸令'] ?? 0;
  223. }
  224. // 如果是去年的数据
  225. if ($year == $previousYear) {
  226. $list['series'][1]['data'][(int)$month - 1] = $v['纸令'] ?? 0;
  227. }
  228. // 如果是今年的数据
  229. if ($year == $currentYear) {
  230. $list['series'][2]['data'][(int)$month - 1] = $v['纸令'] ?? 0;
  231. }
  232. }
  233. }
  234. $res['status'] = 0;
  235. $res['msg'] = '';
  236. $res['data'] = $list;
  237. return json($res);
  238. }
  239. //海德堡SM2号【缓存】
  240. public function hdbsmer_Machines_redis(){
  241. $redis = redis();
  242. $redis_key = md5('hdbsmer_Machines_redis');
  243. $sql = "SELECT gs.机台,
  244. gs.日期,
  245. CAST( SUM( gs.色令 ) AS SIGNED ) AS 色令,
  246. CAST( SUM( gs.纸令 ) AS SIGNED ) AS 纸令,
  247. CAST( SUM( gs.张数 ) AS SIGNED ) AS 张数,
  248. Count(*) 品种数
  249. FROM (SELECT DATE_FORMAT(
  250. CASE
  251. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < (SELECT CONCAT(IFNULL(csetvalue, '00:00'), ':00') FROM sysetup WHERE csetname = 'frmFSetupAtt.dxtdBegin') THEN
  252. DATE_ADD(b.dOnDuty, INTERVAL -1 DAY)
  253. ELSE b.dOnDuty
  254. END, '%Y-%m') AS 日期,
  255. a.cMachineName 机台,
  256. a.cJobSc 色次,
  257. a.nsl 色令,
  258. a.nzl 纸令,
  259. a.nAmount 张数
  260. FROM QL_Report_FeedBack_Day a
  261. INNER JOIN scDayRpt_Teams b
  262. ON b.ID = a.ID_Teams
  263. WHERE 1 = 1
  264. AND cMachineName = '海德堡SM2号'
  265. AND (CASE
  266. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < (SELECT CONCAT(IFNULL(csetvalue, '00:00'), ':00') FROM sysetup WHERE csetname = 'frmFSetupAtt.dxtdBegin') THEN
  267. DATE_ADD(b.dOnDuty, INTERVAL -1 DAY)
  268. ELSE b.dOnDuty
  269. END) BETWEEN '{$this->qianstart_time()}' AND '{$this->end_time()}')gs
  270. WHERE 1 = 1 /*Wheres*/
  271. GROUP BY gs.机台,
  272. gs.日期
  273. ORDER BY gs.机台,
  274. gs.日期 ";
  275. $result=Db::query($sql);
  276. if ($result) {
  277. $redis->set($redis_key, json_encode($result));
  278. echo date("Y-m-d H:i:s").' 存进去了';
  279. return $result;
  280. }
  281. }
  282. //海德堡SM2号【接口】
  283. public function hdbsmer_Machines(){
  284. $redis = redis();
  285. $result = json_decode($redis->get(md5('hdbsmer_Machines_redis')), true);
  286. // 初始化数据
  287. $list['categories'] = ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12'];
  288. $currentYear = date("Y"); // 当前年份
  289. $currentMonth = date("m"); // 当前月份
  290. $previousYear = (int)$currentYear - 1; // 去年
  291. $previousTwoYear = (int)$currentYear - 2; // 前年
  292. // 为前年、去年和当前年份创建数据数组,初始值为0
  293. $list['series'][0]['name'] = $previousTwoYear . '年'; // 前年
  294. $list['series'][0]['data'] = array_fill(0, 12, 0); // 确保所有12个月份初始化为0
  295. $list['series'][1]['name'] = $previousYear . '年'; // 去年
  296. $list['series'][1]['data'] = array_fill(0, 12, 0); // 确保所有12个月份初始化为0
  297. $list['series'][2]['name'] = $currentYear . '年'; // 今年
  298. $list['series'][2]['data'] = array_fill(0, (int)$currentMonth, 0); // 初始化到当前月份的数据
  299. // 遍历查询结果
  300. if (!empty($result)) {
  301. foreach ($result as $v) {
  302. // 检查 '日期' 是否存在,若不存在则默认当前年份和月份
  303. $date = isset($v['日期']) ? $v['日期'] : $currentYear . '-' . $currentMonth . '-01';
  304. // 获取年份和月份
  305. $year = substr($date, 0, 4);
  306. $month = substr($date, 5, 2);
  307. // 如果是前年的数据
  308. if ($year == $previousTwoYear) {
  309. $list['series'][0]['data'][(int)$month - 1] = $v['纸令'] ?? 0;
  310. }
  311. // 如果是去年的数据
  312. if ($year == $previousYear) {
  313. $list['series'][1]['data'][(int)$month - 1] = $v['纸令'] ?? 0;
  314. }
  315. // 如果是今年的数据
  316. if ($year == $currentYear) {
  317. $list['series'][2]['data'][(int)$month - 1] = $v['纸令'] ?? 0;
  318. }
  319. }
  320. }
  321. $res['status'] = 0;
  322. $res['msg'] = '';
  323. $res['data'] = $list;
  324. return json($res);
  325. }
  326. //海德堡01号机【缓存】
  327. public function hdbyi_Machines_redis(){
  328. $redis = redis();
  329. $redis_key = md5('hdber_Machines_redis');
  330. $sql = "SELECT gs.机台,
  331. gs.日期,
  332. CAST( SUM( gs.色令 ) AS SIGNED ) AS 色令,
  333. CAST( SUM( gs.纸令 ) AS SIGNED ) AS 纸令,
  334. CAST( SUM( gs.张数 ) AS SIGNED ) AS 张数,
  335. Count(*) 品种数
  336. FROM (SELECT DATE_FORMAT(
  337. CASE
  338. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < (SELECT CONCAT(IFNULL(csetvalue, '00:00'), ':00') FROM sysetup WHERE csetname = 'frmFSetupAtt.dxtdBegin') THEN
  339. DATE_ADD(b.dOnDuty, INTERVAL -1 DAY)
  340. ELSE b.dOnDuty
  341. END, '%Y-%m') AS 日期,
  342. a.cMachineName 机台,
  343. a.cJobSc 色次,
  344. a.nsl 色令,
  345. a.nzl 纸令,
  346. a.nAmount 张数
  347. FROM QL_Report_FeedBack_Day a
  348. INNER JOIN scDayRpt_Teams b
  349. ON b.ID = a.ID_Teams
  350. WHERE 1 = 1
  351. AND cMachineName = '海德堡01号机'
  352. AND (CASE
  353. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < (SELECT CONCAT(IFNULL(csetvalue, '00:00'), ':00') FROM sysetup WHERE csetname = 'frmFSetupAtt.dxtdBegin') THEN
  354. DATE_ADD(b.dOnDuty, INTERVAL -1 DAY)
  355. ELSE b.dOnDuty
  356. END) BETWEEN '{$this->qstart_time()}' AND '{$this->end_time()}')gs
  357. WHERE 1 = 1 /*Wheres*/
  358. GROUP BY gs.机台,
  359. gs.日期
  360. ORDER BY gs.机台,
  361. gs.日期 ";
  362. $result=Db::query($sql);
  363. if ($result) {
  364. $redis->set($redis_key, json_encode($result));
  365. echo date("Y-m-d H:i:s").' 存进去了';
  366. return $result;
  367. }
  368. }
  369. //海德堡01号机【接口】
  370. public function hdbyi_Machines(){
  371. $redis = redis();
  372. $result = json_decode($redis->get(md5('hdber_Machines_redis')), true);
  373. // 初始化数据
  374. $list['categories'] = ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12'];
  375. $currentYear = date("Y"); // 当前年份
  376. $currentMonth = date("m"); // 当前月份
  377. $previousYear = (int)$currentYear - 1; // 去年
  378. $previousTwoYear = (int)$currentYear - 2; // 前年
  379. // 为前年、去年和当前年份创建数据数组,初始值为0
  380. $list['series'][0]['name'] = $previousTwoYear . '年'; // 前年
  381. $list['series'][0]['data'] = array_fill(0, 12, 0); // 确保所有12个月份初始化为0
  382. $list['series'][1]['name'] = $previousYear . '年'; // 去年
  383. $list['series'][1]['data'] = array_fill(0, 12, 0); // 确保所有12个月份初始化为0
  384. $list['series'][2]['name'] = $currentYear . '年'; // 今年
  385. $list['series'][2]['data'] = array_fill(0, (int)$currentMonth, 0); // 初始化到当前月份的数据
  386. // 遍历查询结果
  387. if (!empty($result)) {
  388. foreach ($result as $v) {
  389. // 检查 '日期' 是否存在,若不存在则默认当前年份和月份
  390. $date = isset($v['日期']) ? $v['日期'] : $currentYear . '-' . $currentMonth . '-01';
  391. // 获取年份和月份
  392. $year = substr($date, 0, 4);
  393. $month = substr($date, 5, 2);
  394. // 如果是前年的数据
  395. if ($year == $previousTwoYear) {
  396. $list['series'][0]['data'][(int)$month - 1] = $v['纸令'] ?? 0;
  397. }
  398. // 如果是去年的数据
  399. if ($year == $previousYear) {
  400. $list['series'][1]['data'][(int)$month - 1] = $v['纸令'] ?? 0;
  401. }
  402. // 如果是今年的数据
  403. if ($year == $currentYear) {
  404. $list['series'][2]['data'][(int)$month - 1] = $v['纸令'] ?? 0;
  405. }
  406. }
  407. }
  408. $res['status'] = 0;
  409. $res['msg'] = '';
  410. $res['data'] = $list;
  411. return json($res);
  412. }
  413. //海德堡5+L 01号机【缓存】
  414. public function hdbwyi_Machines_redis(){
  415. $redis = redis();
  416. $redis_key = md5('hdbwyi_Machines_redis');
  417. $sql = "SELECT gs.机台,
  418. gs.日期,
  419. CAST( SUM( gs.色令 ) AS SIGNED ) AS 色令,
  420. CAST( SUM( gs.纸令 ) AS SIGNED ) AS 纸令,
  421. CAST( SUM( gs.张数 ) AS SIGNED ) AS 张数,
  422. Count(*) 品种数
  423. FROM (SELECT DATE_FORMAT(
  424. CASE
  425. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < (SELECT CONCAT(IFNULL(csetvalue, '00:00'), ':00') FROM sysetup WHERE csetname = 'frmFSetupAtt.dxtdBegin') THEN
  426. DATE_ADD(b.dOnDuty, INTERVAL -1 DAY)
  427. ELSE b.dOnDuty
  428. END, '%Y-%m') AS 日期,
  429. a.cMachineName 机台,
  430. a.cJobSc 色次,
  431. a.nsl 色令,
  432. a.nzl 纸令,
  433. a.nAmount 张数
  434. FROM QL_Report_FeedBack_Day a
  435. INNER JOIN scDayRpt_Teams b
  436. ON b.ID = a.ID_Teams
  437. WHERE 1 = 1
  438. AND cMachineName = '海德堡5+L 01号机'
  439. AND (CASE
  440. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < (SELECT CONCAT(IFNULL(csetvalue, '00:00'), ':00') FROM sysetup WHERE csetname = 'frmFSetupAtt.dxtdBegin') THEN
  441. DATE_ADD(b.dOnDuty, INTERVAL -1 DAY)
  442. ELSE b.dOnDuty
  443. END) BETWEEN '{$this->qianstart_time()}' AND '{$this->end_time()}')gs
  444. WHERE 1 = 1 /*Wheres*/
  445. GROUP BY gs.机台,
  446. gs.日期
  447. ORDER BY gs.机台,
  448. gs.日期 ";
  449. $result=Db::query($sql);
  450. if ($result) {
  451. $redis->set($redis_key, json_encode($result));
  452. echo date("Y-m-d H:i:s").' 存进去了';
  453. return $result;
  454. }
  455. }
  456. //海德堡5+L 01号机【接口】
  457. public function hdbwyi_Machines(){
  458. $redis = redis();
  459. $result = json_decode($redis->get(md5('hdbwyi_Machines_redis')), true);
  460. // 初始化数据
  461. $list['categories'] = ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12'];
  462. $currentYear = date("Y"); // 当前年份
  463. $currentMonth = date("m"); // 当前月份
  464. $previousYear = (int)$currentYear - 1; // 去年
  465. $previousTwoYear = (int)$currentYear - 2; // 前年
  466. // 为前年、去年和当前年份创建数据数组,初始值为0
  467. $list['series'][0]['name'] = $previousTwoYear . '年'; // 前年
  468. $list['series'][0]['data'] = array_fill(0, 12, 0); // 确保所有12个月份初始化为0
  469. $list['series'][1]['name'] = $previousYear . '年'; // 去年
  470. $list['series'][1]['data'] = array_fill(0, 12, 0); // 确保所有12个月份初始化为0
  471. $list['series'][2]['name'] = $currentYear . '年'; // 今年
  472. $list['series'][2]['data'] = array_fill(0, (int)$currentMonth, 0); // 初始化到当前月份的数据
  473. // 遍历查询结果
  474. if (!empty($result)) {
  475. foreach ($result as $v) {
  476. // 检查 '日期' 是否存在,若不存在则默认当前年份和月份
  477. $date = isset($v['日期']) ? $v['日期'] : $currentYear . '-' . $currentMonth . '-01';
  478. // 获取年份和月份
  479. $year = substr($date, 0, 4);
  480. $month = substr($date, 5, 2);
  481. // 如果是前年的数据
  482. if ($year == $previousTwoYear) {
  483. $list['series'][0]['data'][(int)$month - 1] = $v['纸令'] ?? 0;
  484. }
  485. // 如果是去年的数据
  486. if ($year == $previousYear) {
  487. $list['series'][1]['data'][(int)$month - 1] = $v['纸令'] ?? 0;
  488. }
  489. // 如果是今年的数据
  490. if ($year == $currentYear) {
  491. $list['series'][2]['data'][(int)$month - 1] = $v['纸令'] ?? 0;
  492. }
  493. }
  494. }
  495. $res['status'] = 0;
  496. $res['msg'] = '';
  497. $res['data'] = $list;
  498. return json($res);
  499. }
  500. //四色机02号机【缓存】
  501. public function ssjer_Machines_redis(){
  502. $redis = redis();
  503. $redis_key = md5('ssjer_Machines_redis');
  504. $sql = "SELECT gs.机台,
  505. gs.日期,
  506. CAST( SUM( gs.色令 ) AS SIGNED ) AS 色令,
  507. CAST( SUM( gs.纸令 ) AS SIGNED ) AS 纸令,
  508. CAST( SUM( gs.张数 ) AS SIGNED ) AS 张数,
  509. Count(*) 品种数
  510. FROM (SELECT DATE_FORMAT(
  511. CASE
  512. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < (SELECT CONCAT(IFNULL(csetvalue, '00:00'), ':00') FROM sysetup WHERE csetname = 'frmFSetupAtt.dxtdBegin') THEN
  513. DATE_ADD(b.dOnDuty, INTERVAL -1 DAY)
  514. ELSE b.dOnDuty
  515. END, '%Y-%m') AS 日期,
  516. a.cMachineName 机台,
  517. a.cJobSc 色次,
  518. a.nsl 色令,
  519. a.nzl 纸令,
  520. a.nAmount 张数
  521. FROM QL_Report_FeedBack_Day a
  522. INNER JOIN scDayRpt_Teams b
  523. ON b.ID = a.ID_Teams
  524. WHERE 1 = 1
  525. AND cMachineName = '四色机02号机'
  526. AND (CASE
  527. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < (SELECT CONCAT(IFNULL(csetvalue, '00:00'), ':00') FROM sysetup WHERE csetname = 'frmFSetupAtt.dxtdBegin') THEN
  528. DATE_ADD(b.dOnDuty, INTERVAL -1 DAY)
  529. ELSE b.dOnDuty
  530. END) BETWEEN '{$this->qianstart_time()}' AND '{$this->end_time()}')gs
  531. WHERE 1 = 1 /*Wheres*/
  532. GROUP BY gs.机台,
  533. gs.日期
  534. ORDER BY gs.机台,
  535. gs.日期 ";
  536. $result=Db::query($sql);
  537. if ($result) {
  538. $redis->set($redis_key, json_encode($result));
  539. echo date("Y-m-d H:i:s").' 存进去了';
  540. return $result;
  541. }
  542. }
  543. //四色机02号机【接口】
  544. public function ssjer_Machines(){
  545. $redis = redis();
  546. $result = json_decode($redis->get(md5('ssjer_Machines_redis')), true);
  547. // 初始化数据
  548. $list['categories'] = ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12'];
  549. $currentYear = date("Y"); // 当前年份
  550. $currentMonth = date("m"); // 当前月份
  551. $previousYear = (int)$currentYear - 1; // 去年
  552. $previousTwoYear = (int)$currentYear - 2; // 前年
  553. // 为前年、去年和当前年份创建数据数组,初始值为0
  554. $list['series'][0]['name'] = $previousTwoYear . '年'; // 前年
  555. $list['series'][0]['data'] = array_fill(0, 12, 0); // 确保所有12个月份初始化为0
  556. $list['series'][1]['name'] = $previousYear . '年'; // 去年
  557. $list['series'][1]['data'] = array_fill(0, 12, 0); // 确保所有12个月份初始化为0
  558. $list['series'][2]['name'] = $currentYear . '年'; // 今年
  559. $list['series'][2]['data'] = array_fill(0, (int)$currentMonth, 0); // 初始化到当前月份的数据
  560. // 遍历查询结果
  561. if (!empty($result)) {
  562. foreach ($result as $v) {
  563. // 检查 '日期' 是否存在,若不存在则默认当前年份和月份
  564. $date = isset($v['日期']) ? $v['日期'] : $currentYear . '-' . $currentMonth . '-01';
  565. // 获取年份和月份
  566. $year = substr($date, 0, 4);
  567. $month = substr($date, 5, 2);
  568. // 如果是前年的数据
  569. if ($year == $previousTwoYear) {
  570. $list['series'][0]['data'][(int)$month - 1] = $v['纸令'] ?? 0;
  571. }
  572. // 如果是去年的数据
  573. if ($year == $previousYear) {
  574. $list['series'][1]['data'][(int)$month - 1] = $v['纸令'] ?? 0;
  575. }
  576. // 如果是今年的数据
  577. if ($year == $currentYear) {
  578. $list['series'][2]['data'][(int)$month - 1] = $v['纸令'] ?? 0;
  579. }
  580. }
  581. }
  582. $res['status'] = 0;
  583. $res['msg'] = '';
  584. $res['data'] = $list;
  585. return json($res);
  586. }
  587. //小森八色01号机【缓存】
  588. public function xsbsyi_Machines_redis(){
  589. $redis = redis();
  590. $redis_key = md5('xsbsyi_Machines_redis');
  591. $sql = "SELECT gs.机台,
  592. gs.日期,
  593. CAST( SUM( gs.色令 ) AS SIGNED ) AS 色令,
  594. CAST( SUM( gs.纸令 ) AS SIGNED ) AS 纸令,
  595. CAST( SUM( gs.张数 ) AS SIGNED ) AS 张数,
  596. Count(*) 品种数
  597. FROM (SELECT DATE_FORMAT(
  598. CASE
  599. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < (SELECT CONCAT(IFNULL(csetvalue, '00:00'), ':00') FROM sysetup WHERE csetname = 'frmFSetupAtt.dxtdBegin') THEN
  600. DATE_ADD(b.dOnDuty, INTERVAL -1 DAY)
  601. ELSE b.dOnDuty
  602. END, '%Y-%m') AS 日期,
  603. a.cMachineName 机台,
  604. a.cJobSc 色次,
  605. a.nsl 色令,
  606. a.nzl 纸令,
  607. a.nAmount 张数
  608. FROM QL_Report_FeedBack_Day a
  609. INNER JOIN scDayRpt_Teams b
  610. ON b.ID = a.ID_Teams
  611. WHERE 1 = 1
  612. AND cMachineName = '小森八色01号机'
  613. AND (CASE
  614. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < (SELECT CONCAT(IFNULL(csetvalue, '00:00'), ':00') FROM sysetup WHERE csetname = 'frmFSetupAtt.dxtdBegin') THEN
  615. DATE_ADD(b.dOnDuty, INTERVAL -1 DAY)
  616. ELSE b.dOnDuty
  617. END) BETWEEN '{$this->qianstart_time()}' AND '{$this->end_time()}')gs
  618. WHERE 1 = 1 /*Wheres*/
  619. GROUP BY gs.机台,
  620. gs.日期
  621. ORDER BY gs.机台,
  622. gs.日期 ";
  623. $result=Db::query($sql);
  624. if ($result) {
  625. $redis->set($redis_key, json_encode($result));
  626. echo date("Y-m-d H:i:s").' 存进去了';
  627. return $result;
  628. }
  629. }
  630. //小森八色01号机【接口】
  631. public function xsbsyi_Machines(){
  632. $redis = redis();
  633. $result = json_decode($redis->get(md5('xsbsyi_Machines_redis')), true);
  634. // 初始化数据
  635. $list['categories'] = ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12'];
  636. $currentYear = date("Y"); // 当前年份
  637. $currentMonth = date("m"); // 当前月份
  638. $previousYear = (int)$currentYear - 1; // 去年
  639. $previousTwoYear = (int)$currentYear - 2; // 前年
  640. // 为前年、去年和当前年份创建数据数组,初始值为0
  641. $list['series'][0]['name'] = $previousTwoYear . '年'; // 前年
  642. $list['series'][0]['data'] = array_fill(0, 12, 0); // 确保所有12个月份初始化为0
  643. $list['series'][1]['name'] = $previousYear . '年'; // 去年
  644. $list['series'][1]['data'] = array_fill(0, 12, 0); // 确保所有12个月份初始化为0
  645. $list['series'][2]['name'] = $currentYear . '年'; // 今年
  646. $list['series'][2]['data'] = array_fill(0, (int)$currentMonth, 0); // 初始化到当前月份的数据
  647. // 遍历查询结果
  648. if (!empty($result)) {
  649. foreach ($result as $v) {
  650. // 检查 '日期' 是否存在,若不存在则默认当前年份和月份
  651. $date = isset($v['日期']) ? $v['日期'] : $currentYear . '-' . $currentMonth . '-01';
  652. // 获取年份和月份
  653. $year = substr($date, 0, 4);
  654. $month = substr($date, 5, 2);
  655. // 如果是前年的数据
  656. if ($year == $previousTwoYear) {
  657. $list['series'][0]['data'][(int)$month - 1] = $v['纸令'] ?? 0;
  658. }
  659. // 如果是去年的数据
  660. if ($year == $previousYear) {
  661. $list['series'][1]['data'][(int)$month - 1] = $v['纸令'] ?? 0;
  662. }
  663. // 如果是今年的数据
  664. if ($year == $currentYear) {
  665. $list['series'][2]['data'][(int)$month - 1] = $v['纸令'] ?? 0;
  666. }
  667. }
  668. }
  669. $res['status'] = 0;
  670. $res['msg'] = '';
  671. $res['data'] = $list;
  672. return json($res);
  673. }
  674. //小森八色02号机【缓存】
  675. public function xsbser_Machines_redis(){
  676. $redis = redis();
  677. $redis_key = md5('xsbser_Machines_redis');
  678. $sql = "SELECT gs.机台,
  679. gs.日期,
  680. CAST( SUM( gs.色令 ) AS SIGNED ) AS 色令,
  681. CAST( SUM( gs.纸令 ) AS SIGNED ) AS 纸令,
  682. CAST( SUM( gs.张数 ) AS SIGNED ) AS 张数,
  683. Count(*) 品种数
  684. FROM (SELECT DATE_FORMAT(
  685. CASE
  686. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < (SELECT CONCAT(IFNULL(csetvalue, '00:00'), ':00') FROM sysetup WHERE csetname = 'frmFSetupAtt.dxtdBegin') THEN
  687. DATE_ADD(b.dOnDuty, INTERVAL -1 DAY)
  688. ELSE b.dOnDuty
  689. END, '%Y-%m') AS 日期,
  690. a.cMachineName 机台,
  691. a.cJobSc 色次,
  692. a.nsl 色令,
  693. a.nzl 纸令,
  694. a.nAmount 张数
  695. FROM QL_Report_FeedBack_Day a
  696. INNER JOIN scDayRpt_Teams b
  697. ON b.ID = a.ID_Teams
  698. WHERE 1 = 1
  699. AND cMachineName = '小森八色02号机'
  700. AND (CASE
  701. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < (SELECT CONCAT(IFNULL(csetvalue, '00:00'), ':00') FROM sysetup WHERE csetname = 'frmFSetupAtt.dxtdBegin') THEN
  702. DATE_ADD(b.dOnDuty, INTERVAL -1 DAY)
  703. ELSE b.dOnDuty
  704. END) BETWEEN '{$this->qianstart_time()}' AND '{$this->end_time()}')gs
  705. WHERE 1 = 1 /*Wheres*/
  706. GROUP BY gs.机台,
  707. gs.日期
  708. ORDER BY gs.机台,
  709. gs.日期 ";
  710. $result=Db::query($sql);
  711. if ($result) {
  712. $redis->set($redis_key, json_encode($result));
  713. echo date("Y-m-d H:i:s").' 存进去了';
  714. return $result;
  715. }
  716. }
  717. //小森八色02号机【接口】
  718. public function xsbser_Machines(){
  719. $redis = redis();
  720. $result = json_decode($redis->get(md5('xsbser_Machines_redis')), true);
  721. // 初始化数据
  722. $list['categories'] = ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12'];
  723. $currentYear = date("Y"); // 当前年份
  724. $currentMonth = date("m"); // 当前月份
  725. $previousYear = (int)$currentYear - 1; // 去年
  726. $previousTwoYear = (int)$currentYear - 2; // 前年
  727. // 为前年、去年和当前年份创建数据数组,初始值为0
  728. $list['series'][0]['name'] = $previousTwoYear . '年'; // 前年
  729. $list['series'][0]['data'] = array_fill(0, 12, 0); // 确保所有12个月份初始化为0
  730. $list['series'][1]['name'] = $previousYear . '年'; // 去年
  731. $list['series'][1]['data'] = array_fill(0, 12, 0); // 确保所有12个月份初始化为0
  732. $list['series'][2]['name'] = $currentYear . '年'; // 今年
  733. $list['series'][2]['data'] = array_fill(0, (int)$currentMonth, 0); // 初始化到当前月份的数据
  734. // 遍历查询结果
  735. if (!empty($result)) {
  736. foreach ($result as $v) {
  737. // 检查 '日期' 是否存在,若不存在则默认当前年份和月份
  738. $date = isset($v['日期']) ? $v['日期'] : $currentYear . '-' . $currentMonth . '-01';
  739. // 获取年份和月份
  740. $year = substr($date, 0, 4);
  741. $month = substr($date, 5, 2);
  742. // 如果是前年的数据
  743. if ($year == $previousTwoYear) {
  744. $list['series'][0]['data'][(int)$month - 1] = $v['纸令'] ?? 0;
  745. }
  746. // 如果是去年的数据
  747. if ($year == $previousYear) {
  748. $list['series'][1]['data'][(int)$month - 1] = $v['纸令'] ?? 0;
  749. }
  750. // 如果是今年的数据
  751. if ($year == $currentYear) {
  752. $list['series'][2]['data'][(int)$month - 1] = $v['纸令'] ?? 0;
  753. }
  754. }
  755. }
  756. $res['status'] = 0;
  757. $res['msg'] = '';
  758. $res['data'] = $list;
  759. return json($res);
  760. }
  761. //标规高斯轮转1号【缓存】
  762. public function bggslzyi_Machines_redis(){
  763. $redis = redis();
  764. $redis_key = md5('bggslzyi_Machines_redis');
  765. $sql = "SELECT gs.机台,
  766. gs.日期,
  767. CAST( SUM( gs.色令 ) AS SIGNED ) AS 色令,
  768. CAST( SUM( gs.纸令 ) AS SIGNED ) AS 纸令,
  769. CAST( SUM( gs.张数 ) AS SIGNED ) AS 张数,
  770. Count(*) 品种数
  771. FROM (SELECT DATE_FORMAT(
  772. CASE
  773. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < (SELECT CONCAT(IFNULL(csetvalue, '00:00'), ':00') FROM sysetup WHERE csetname = 'frmFSetupAtt.dxtdBegin') THEN
  774. DATE_ADD(b.dOnDuty, INTERVAL -1 DAY)
  775. ELSE b.dOnDuty
  776. END, '%Y-%m') AS 日期,
  777. a.cMachineName 机台,
  778. a.cJobSc 色次,
  779. a.nsl 色令,
  780. a.nzl 纸令,
  781. a.nAmount 张数
  782. FROM QL_Report_FeedBack_Day a
  783. INNER JOIN scDayRpt_Teams b
  784. ON b.ID = a.ID_Teams
  785. WHERE 1 = 1
  786. AND cMachineName = '标规高斯轮转1号'
  787. AND (CASE
  788. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < (SELECT CONCAT(IFNULL(csetvalue, '00:00'), ':00') FROM sysetup WHERE csetname = 'frmFSetupAtt.dxtdBegin') THEN
  789. DATE_ADD(b.dOnDuty, INTERVAL -1 DAY)
  790. ELSE b.dOnDuty
  791. END) BETWEEN '{$this->qianstart_time()}' AND '{$this->end_time()}')gs
  792. WHERE 1 = 1 /*Wheres*/
  793. GROUP BY gs.机台,
  794. gs.日期
  795. ORDER BY gs.机台,
  796. gs.日期 ";
  797. $result=Db::query($sql);
  798. if ($result) {
  799. $redis->set($redis_key, json_encode($result));
  800. echo date("Y-m-d H:i:s").' 存进去了';
  801. return $result;
  802. }
  803. }
  804. //标规高斯轮转1号【接口】
  805. public function bggslzyi_Machines(){
  806. $redis = redis();
  807. $result = json_decode($redis->get(md5('bggslzyi_Machines_redis')), true);
  808. // 初始化数据
  809. $list['categories'] = ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12'];
  810. $currentYear = date("Y"); // 当前年份
  811. $currentMonth = date("m"); // 当前月份
  812. $previousYear = (int)$currentYear - 1; // 去年
  813. $previousTwoYear = (int)$currentYear - 2; // 前年
  814. // 为前年、去年和当前年份创建数据数组,初始值为0
  815. $list['series'][0]['name'] = $previousTwoYear . '年'; // 前年
  816. $list['series'][0]['data'] = array_fill(0, 12, 0); // 确保所有12个月份初始化为0
  817. $list['series'][1]['name'] = $previousYear . '年'; // 去年
  818. $list['series'][1]['data'] = array_fill(0, 12, 0); // 确保所有12个月份初始化为0
  819. $list['series'][2]['name'] = $currentYear . '年'; // 今年
  820. $list['series'][2]['data'] = array_fill(0, (int)$currentMonth, 0); // 初始化到当前月份的数据
  821. // 遍历查询结果
  822. if (!empty($result)) {
  823. foreach ($result as $v) {
  824. // 检查 '日期' 是否存在,若不存在则默认当前年份和月份
  825. $date = isset($v['日期']) ? $v['日期'] : $currentYear . '-' . $currentMonth . '-01';
  826. // 获取年份和月份
  827. $year = substr($date, 0, 4);
  828. $month = substr($date, 5, 2);
  829. // 如果是前年的数据
  830. if ($year == $previousTwoYear) {
  831. $list['series'][0]['data'][(int)$month - 1] = $v['纸令'] ?? 0;
  832. }
  833. // 如果是去年的数据
  834. if ($year == $previousYear) {
  835. $list['series'][1]['data'][(int)$month - 1] = $v['纸令'] ?? 0;
  836. }
  837. // 如果是今年的数据
  838. if ($year == $currentYear) {
  839. $list['series'][2]['data'][(int)$month - 1] = $v['纸令'] ?? 0;
  840. }
  841. }
  842. }
  843. $res['status'] = 0;
  844. $res['msg'] = '';
  845. $res['data'] = $list;
  846. return json($res);
  847. }
  848. //标规高斯轮转2号【缓存】
  849. public function bgxsslyi_Machines_redis(){
  850. $redis = redis();
  851. $redis_key = md5('bgxsslyi_Machines_redis');
  852. $sql = "SELECT gs.机台,
  853. gs.日期,
  854. CAST( SUM( gs.色令 ) AS SIGNED ) AS 色令,
  855. CAST( SUM( gs.纸令 ) AS SIGNED ) AS 纸令,
  856. CAST( SUM( gs.张数 ) AS SIGNED ) AS 张数,
  857. Count(*) 品种数
  858. FROM (SELECT DATE_FORMAT(
  859. CASE
  860. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < (SELECT CONCAT(IFNULL(csetvalue, '00:00'), ':00') FROM sysetup WHERE csetname = 'frmFSetupAtt.dxtdBegin') THEN
  861. DATE_ADD(b.dOnDuty, INTERVAL -1 DAY)
  862. ELSE b.dOnDuty
  863. END, '%Y-%m') AS 日期,
  864. a.cMachineName 机台,
  865. a.cJobSc 色次,
  866. a.nsl 色令,
  867. a.nzl 纸令,
  868. a.nAmount 张数
  869. FROM QL_Report_FeedBack_Day a
  870. INNER JOIN scDayRpt_Teams b
  871. ON b.ID = a.ID_Teams
  872. WHERE 1 = 1
  873. AND cMachineName = '标规高斯轮转2号'
  874. AND (CASE
  875. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < (SELECT CONCAT(IFNULL(csetvalue, '00:00'), ':00') FROM sysetup WHERE csetname = 'frmFSetupAtt.dxtdBegin') THEN
  876. DATE_ADD(b.dOnDuty, INTERVAL -1 DAY)
  877. ELSE b.dOnDuty
  878. END) BETWEEN '{$this->qianstart_time()}' AND '{$this->end_time()}')gs
  879. WHERE 1 = 1 /*Wheres*/
  880. GROUP BY gs.机台,
  881. gs.日期
  882. ORDER BY gs.机台,
  883. gs.日期 ";
  884. $result=Db::query($sql);
  885. if ($result) {
  886. $redis->set($redis_key, json_encode($result));
  887. echo date("Y-m-d H:i:s").' 存进去了';
  888. return $result;
  889. }
  890. }
  891. //标规高斯轮转2号【接口】
  892. public function bgxsslyi_Machines(){
  893. $redis = redis();
  894. $result = json_decode($redis->get(md5('bgxsslyi_Machines_redis')), true);
  895. // 初始化数据
  896. $list['categories'] = ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12'];
  897. $currentYear = date("Y"); // 当前年份
  898. $currentMonth = date("m"); // 当前月份
  899. $previousYear = (int)$currentYear - 1; // 去年
  900. $previousTwoYear = (int)$currentYear - 2; // 前年
  901. // 为前年、去年和当前年份创建数据数组,初始值为0
  902. $list['series'][0]['name'] = $previousTwoYear . '年'; // 前年
  903. $list['series'][0]['data'] = array_fill(0, 12, 0); // 确保所有12个月份初始化为0
  904. $list['series'][1]['name'] = $previousYear . '年'; // 去年
  905. $list['series'][1]['data'] = array_fill(0, 12, 0); // 确保所有12个月份初始化为0
  906. $list['series'][2]['name'] = $currentYear . '年'; // 今年
  907. $list['series'][2]['data'] = array_fill(0, (int)$currentMonth, 0); // 初始化到当前月份的数据
  908. // 遍历查询结果
  909. if (!empty($result)) {
  910. foreach ($result as $v) {
  911. // 检查 '日期' 是否存在,若不存在则默认当前年份和月份
  912. $date = isset($v['日期']) ? $v['日期'] : $currentYear . '-' . $currentMonth . '-01';
  913. // 获取年份和月份
  914. $year = substr($date, 0, 4);
  915. $month = substr($date, 5, 2);
  916. // 如果是前年的数据
  917. if ($year == $previousTwoYear) {
  918. $list['series'][0]['data'][(int)$month - 1] = $v['纸令'] ?? 0;
  919. }
  920. // 如果是去年的数据
  921. if ($year == $previousYear) {
  922. $list['series'][1]['data'][(int)$month - 1] = $v['纸令'] ?? 0;
  923. }
  924. // 如果是今年的数据
  925. if ($year == $currentYear) {
  926. $list['series'][2]['data'][(int)$month - 1] = $v['纸令'] ?? 0;
  927. }
  928. }
  929. }
  930. $res['status'] = 0;
  931. $res['msg'] = '';
  932. $res['data'] = $list;
  933. return json($res);
  934. }
  935. //标规小森商轮2号【缓存】
  936. public function bgxssler_Machines_redis(){
  937. $redis = redis();
  938. $redis_key = md5('bgxssler_Machines_redis');
  939. $sql = "SELECT gs.机台,
  940. gs.日期,
  941. CAST( SUM( gs.色令 ) AS SIGNED ) AS 色令,
  942. CAST( SUM( gs.纸令 ) AS SIGNED ) AS 纸令,
  943. CAST( SUM( gs.张数 ) AS SIGNED ) AS 张数,
  944. Count(*) 品种数
  945. FROM (SELECT DATE_FORMAT(
  946. CASE
  947. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < (SELECT CONCAT(IFNULL(csetvalue, '00:00'), ':00') FROM sysetup WHERE csetname = 'frmFSetupAtt.dxtdBegin') THEN
  948. DATE_ADD(b.dOnDuty, INTERVAL -1 DAY)
  949. ELSE b.dOnDuty
  950. END, '%Y-%m') AS 日期,
  951. a.cMachineName 机台,
  952. a.cJobSc 色次,
  953. a.nsl 色令,
  954. a.nzl 纸令,
  955. a.nAmount 张数
  956. FROM QL_Report_FeedBack_Day a
  957. INNER JOIN scDayRpt_Teams b
  958. ON b.ID = a.ID_Teams
  959. WHERE 1 = 1
  960. AND cMachineName = '标规小森商轮2号'
  961. AND (CASE
  962. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < (SELECT CONCAT(IFNULL(csetvalue, '00:00'), ':00') FROM sysetup WHERE csetname = 'frmFSetupAtt.dxtdBegin') THEN
  963. DATE_ADD(b.dOnDuty, INTERVAL -1 DAY)
  964. ELSE b.dOnDuty
  965. END) BETWEEN '{$this->qianstart_time()}' AND '{$this->end_time()}')gs
  966. WHERE 1 = 1 /*Wheres*/
  967. GROUP BY gs.机台,
  968. gs.日期
  969. ORDER BY gs.机台,
  970. gs.日期 ";
  971. $result=Db::query($sql);
  972. if ($result) {
  973. $redis->set($redis_key, json_encode($result));
  974. echo date("Y-m-d H:i:s").' 存进去了';
  975. return $result;
  976. }
  977. }
  978. //标规小森商轮2号【接口】
  979. public function bgxssler_Machines(){
  980. $redis = redis();
  981. $result = json_decode($redis->get(md5('bgxssler_Machines_redis')), true);
  982. // 初始化数据
  983. $list['categories'] = ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12'];
  984. $currentYear = date("Y"); // 当前年份
  985. $currentMonth = date("m"); // 当前月份
  986. $previousYear = (int)$currentYear - 1; // 去年
  987. $previousTwoYear = (int)$currentYear - 2; // 前年
  988. // 为前年、去年和当前年份创建数据数组,初始值为0
  989. $list['series'][0]['name'] = $previousTwoYear . '年'; // 前年
  990. $list['series'][0]['data'] = array_fill(0, 12, 0); // 确保所有12个月份初始化为0
  991. $list['series'][1]['name'] = $previousYear . '年'; // 去年
  992. $list['series'][1]['data'] = array_fill(0, 12, 0); // 确保所有12个月份初始化为0
  993. $list['series'][2]['name'] = $currentYear . '年'; // 今年
  994. $list['series'][2]['data'] = array_fill(0, (int)$currentMonth, 0); // 初始化到当前月份的数据
  995. // 遍历查询结果
  996. if (!empty($result)) {
  997. foreach ($result as $v) {
  998. // 检查 '日期' 是否存在,若不存在则默认当前年份和月份
  999. $date = isset($v['日期']) ? $v['日期'] : $currentYear . '-' . $currentMonth . '-01';
  1000. // 获取年份和月份
  1001. $year = substr($date, 0, 4);
  1002. $month = substr($date, 5, 2);
  1003. // 如果是前年的数据
  1004. if ($year == $previousTwoYear) {
  1005. $list['series'][0]['data'][(int)$month - 1] = $v['纸令'] ?? 0;
  1006. }
  1007. // 如果是去年的数据
  1008. if ($year == $previousYear) {
  1009. $list['series'][1]['data'][(int)$month - 1] = $v['纸令'] ?? 0;
  1010. }
  1011. // 如果是今年的数据
  1012. if ($year == $currentYear) {
  1013. $list['series'][2]['data'][(int)$month - 1] = $v['纸令'] ?? 0;
  1014. }
  1015. }
  1016. }
  1017. $res['status'] = 0;
  1018. $res['msg'] = '';
  1019. $res['data'] = $list;
  1020. return json($res);
  1021. }
  1022. //标规三菱商轮1号【缓存】
  1023. public function gbslslyi_Machines_redis(){
  1024. $redis = redis();
  1025. $redis_key = md5('gbslslyi_Machines_redis');
  1026. $sql = "SELECT gs.机台,
  1027. gs.日期,
  1028. CAST( SUM( gs.色令 ) AS SIGNED ) AS 色令,
  1029. CAST( SUM( gs.纸令 ) AS SIGNED ) AS 纸令,
  1030. CAST( SUM( gs.张数 ) AS SIGNED ) AS 张数,
  1031. Count(*) 品种数
  1032. FROM (SELECT DATE_FORMAT(
  1033. CASE
  1034. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < (SELECT CONCAT(IFNULL(csetvalue, '00:00'), ':00') FROM sysetup WHERE csetname = 'frmFSetupAtt.dxtdBegin') THEN
  1035. DATE_ADD(b.dOnDuty, INTERVAL -1 DAY)
  1036. ELSE b.dOnDuty
  1037. END, '%Y-%m') AS 日期,
  1038. a.cMachineName 机台,
  1039. a.cJobSc 色次,
  1040. a.nsl 色令,
  1041. a.nzl 纸令,
  1042. a.nAmount 张数
  1043. FROM QL_Report_FeedBack_Day a
  1044. INNER JOIN scDayRpt_Teams b
  1045. ON b.ID = a.ID_Teams
  1046. WHERE 1 = 1
  1047. AND cMachineName = '标规三菱商轮1号'
  1048. AND (CASE
  1049. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < (SELECT CONCAT(IFNULL(csetvalue, '00:00'), ':00') FROM sysetup WHERE csetname = 'frmFSetupAtt.dxtdBegin') THEN
  1050. DATE_ADD(b.dOnDuty, INTERVAL -1 DAY)
  1051. ELSE b.dOnDuty
  1052. END) BETWEEN '{$this->qianstart_time()}' AND '{$this->end_time()}')gs
  1053. WHERE 1 = 1 /*Wheres*/
  1054. GROUP BY gs.机台,
  1055. gs.日期
  1056. ORDER BY gs.机台,
  1057. gs.日期 ";
  1058. $result=Db::query($sql);
  1059. if ($result) {
  1060. $redis->set($redis_key, json_encode($result));
  1061. echo date("Y-m-d H:i:s").' 存进去了';
  1062. return $result;
  1063. }
  1064. }
  1065. //标规三菱商轮1号【接口】
  1066. public function gbslslyi_Machines(){
  1067. $redis = redis();
  1068. $result = json_decode($redis->get(md5('gbslslyi_Machines_redis')), true);
  1069. // 初始化数据
  1070. $list['categories'] = ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12'];
  1071. $currentYear = date("Y"); // 当前年份
  1072. $currentMonth = date("m"); // 当前月份
  1073. $previousYear = (int)$currentYear - 1; // 去年
  1074. $previousTwoYear = (int)$currentYear - 2; // 前年
  1075. // 为前年、去年和当前年份创建数据数组,初始值为0
  1076. $list['series'][0]['name'] = $previousTwoYear . '年'; // 前年
  1077. $list['series'][0]['data'] = array_fill(0, 12, 0); // 确保所有12个月份初始化为0
  1078. $list['series'][1]['name'] = $previousYear . '年'; // 去年
  1079. $list['series'][1]['data'] = array_fill(0, 12, 0); // 确保所有12个月份初始化为0
  1080. $list['series'][2]['name'] = $currentYear . '年'; // 今年
  1081. $list['series'][2]['data'] = array_fill(0, (int)$currentMonth, 0); // 初始化到当前月份的数据
  1082. // 遍历查询结果
  1083. if (!empty($result)) {
  1084. foreach ($result as $v) {
  1085. // 检查 '日期' 是否存在,若不存在则默认当前年份和月份
  1086. $date = isset($v['日期']) ? $v['日期'] : $currentYear . '-' . $currentMonth . '-01';
  1087. // 获取年份和月份
  1088. $year = substr($date, 0, 4);
  1089. $month = substr($date, 5, 2);
  1090. // 如果是前年的数据
  1091. if ($year == $previousTwoYear) {
  1092. $list['series'][0]['data'][(int)$month - 1] = $v['纸令'] ?? 0;
  1093. }
  1094. // 如果是去年的数据
  1095. if ($year == $previousYear) {
  1096. $list['series'][1]['data'][(int)$month - 1] = $v['纸令'] ?? 0;
  1097. }
  1098. // 如果是今年的数据
  1099. if ($year == $currentYear) {
  1100. $list['series'][2]['data'][(int)$month - 1] = $v['纸令'] ?? 0;
  1101. }
  1102. }
  1103. }
  1104. $res['status'] = 0;
  1105. $res['msg'] = '';
  1106. $res['data'] = $list;
  1107. return json($res);
  1108. }
  1109. //标规三菱商轮2号【缓存】
  1110. public function gbslsler_Machines_redis(){
  1111. $redis = redis();
  1112. $redis_key = md5('gbslsler_Machines_redis');
  1113. $sql = "SELECT gs.机台,
  1114. gs.日期,
  1115. CAST( SUM( gs.色令 ) AS SIGNED ) AS 色令,
  1116. CAST( SUM( gs.纸令 ) AS SIGNED ) AS 纸令,
  1117. CAST( SUM( gs.张数 ) AS SIGNED ) AS 张数,
  1118. Count(*) 品种数
  1119. FROM (SELECT DATE_FORMAT(
  1120. CASE
  1121. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < (SELECT CONCAT(IFNULL(csetvalue, '00:00'), ':00') FROM sysetup WHERE csetname = 'frmFSetupAtt.dxtdBegin') THEN
  1122. DATE_ADD(b.dOnDuty, INTERVAL -1 DAY)
  1123. ELSE b.dOnDuty
  1124. END, '%Y-%m') AS 日期,
  1125. a.cMachineName 机台,
  1126. a.cJobSc 色次,
  1127. a.nsl 色令,
  1128. a.nzl 纸令,
  1129. a.nAmount 张数
  1130. FROM QL_Report_FeedBack_Day a
  1131. INNER JOIN scDayRpt_Teams b
  1132. ON b.ID = a.ID_Teams
  1133. WHERE 1 = 1
  1134. AND cMachineName = '标规三菱商轮2号'
  1135. AND (CASE
  1136. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < (SELECT CONCAT(IFNULL(csetvalue, '00:00'), ':00') FROM sysetup WHERE csetname = 'frmFSetupAtt.dxtdBegin') THEN
  1137. DATE_ADD(b.dOnDuty, INTERVAL -1 DAY)
  1138. ELSE b.dOnDuty
  1139. END) BETWEEN '{$this->qianstart_time()}' AND '{$this->end_time()}')gs
  1140. WHERE 1 = 1 /*Wheres*/
  1141. GROUP BY gs.机台,
  1142. gs.日期
  1143. ORDER BY gs.机台,
  1144. gs.日期 ";
  1145. $result=Db::query($sql);
  1146. if ($result) {
  1147. $redis->set($redis_key, json_encode($result));
  1148. echo date("Y-m-d H:i:s").' 存进去了';
  1149. return $result;
  1150. }
  1151. }
  1152. //标规三菱商轮2号【接口】
  1153. public function gbslsler_Machines(){
  1154. $redis = redis();
  1155. $result = json_decode($redis->get(md5('gbslsler_Machines_redis')), true);
  1156. // 初始化数据
  1157. $list['categories'] = ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12'];
  1158. $currentYear = date("Y"); // 当前年份
  1159. $currentMonth = date("m"); // 当前月份
  1160. $previousYear = (int)$currentYear - 1; // 去年
  1161. $previousTwoYear = (int)$currentYear - 2; // 前年
  1162. // 为前年、去年和当前年份创建数据数组,初始值为0
  1163. $list['series'][0]['name'] = $previousTwoYear . '年'; // 前年
  1164. $list['series'][0]['data'] = array_fill(0, 12, 0); // 确保所有12个月份初始化为0
  1165. $list['series'][1]['name'] = $previousYear . '年'; // 去年
  1166. $list['series'][1]['data'] = array_fill(0, 12, 0); // 确保所有12个月份初始化为0
  1167. $list['series'][2]['name'] = $currentYear . '年'; // 今年
  1168. $list['series'][2]['data'] = array_fill(0, (int)$currentMonth, 0); // 初始化到当前月份的数据
  1169. // 遍历查询结果
  1170. if (!empty($result)) {
  1171. foreach ($result as $v) {
  1172. // 检查 '日期' 是否存在,若不存在则默认当前年份和月份
  1173. $date = isset($v['日期']) ? $v['日期'] : $currentYear . '-' . $currentMonth . '-01';
  1174. // 获取年份和月份
  1175. $year = substr($date, 0, 4);
  1176. $month = substr($date, 5, 2);
  1177. // 如果是前年的数据
  1178. if ($year == $previousTwoYear) {
  1179. $list['series'][0]['data'][(int)$month - 1] = $v['纸令'] ?? 0;
  1180. }
  1181. // 如果是去年的数据
  1182. if ($year == $previousYear) {
  1183. $list['series'][1]['data'][(int)$month - 1] = $v['纸令'] ?? 0;
  1184. }
  1185. // 如果是今年的数据
  1186. if ($year == $currentYear) {
  1187. $list['series'][2]['data'][(int)$month - 1] = $v['纸令'] ?? 0;
  1188. }
  1189. }
  1190. }
  1191. $res['status'] = 0;
  1192. $res['msg'] = '';
  1193. $res['data'] = $list;
  1194. return json($res);
  1195. }
  1196. //大规高斯轮转1号【缓存】
  1197. public function bgjlyi_Machines_redis(){
  1198. $redis = redis();
  1199. $redis_key = md5('bgjlyi_Machines_redis');
  1200. $sql = "SELECT gs.机台,
  1201. gs.日期,
  1202. CAST( SUM( gs.色令 ) AS SIGNED ) AS 色令,
  1203. CAST( SUM( gs.纸令 ) AS SIGNED ) AS 纸令,
  1204. CAST( SUM( gs.张数 ) AS SIGNED ) AS 张数,
  1205. Count(*) 品种数
  1206. FROM (SELECT DATE_FORMAT(
  1207. CASE
  1208. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < (SELECT CONCAT(IFNULL(csetvalue, '00:00'), ':00') FROM sysetup WHERE csetname = 'frmFSetupAtt.dxtdBegin') THEN
  1209. DATE_ADD(b.dOnDuty, INTERVAL -1 DAY)
  1210. ELSE b.dOnDuty
  1211. END, '%Y-%m') AS 日期,
  1212. a.cMachineName 机台,
  1213. a.cJobSc 色次,
  1214. a.nsl 色令,
  1215. a.nzl 纸令,
  1216. a.nAmount 张数
  1217. FROM QL_Report_FeedBack_Day a
  1218. INNER JOIN scDayRpt_Teams b
  1219. ON b.ID = a.ID_Teams
  1220. WHERE 1 = 1
  1221. AND cMachineName = '大规高斯轮转1号'
  1222. AND (CASE
  1223. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < (SELECT CONCAT(IFNULL(csetvalue, '00:00'), ':00') FROM sysetup WHERE csetname = 'frmFSetupAtt.dxtdBegin') THEN
  1224. DATE_ADD(b.dOnDuty, INTERVAL -1 DAY)
  1225. ELSE b.dOnDuty
  1226. END) BETWEEN '{$this->qianstart_time()}' AND '{$this->end_time()}')gs
  1227. WHERE 1 = 1 /*Wheres*/
  1228. GROUP BY gs.机台,
  1229. gs.日期
  1230. ORDER BY gs.机台,
  1231. gs.日期 ";
  1232. $result=Db::query($sql);
  1233. if ($result) {
  1234. $redis->set($redis_key, json_encode($result));
  1235. echo date("Y-m-d H:i:s").' 存进去了';
  1236. return $result;
  1237. }
  1238. }
  1239. //大规高斯轮转1号【接口】
  1240. public function bgjlyi_Machines(){
  1241. $redis = redis();
  1242. $result = json_decode($redis->get(md5('bgjlyi_Machines_redis')), true);
  1243. // 初始化数据
  1244. $list['categories'] = ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12'];
  1245. $currentYear = date("Y"); // 当前年份
  1246. $currentMonth = date("m"); // 当前月份
  1247. $previousYear = (int)$currentYear - 1; // 去年
  1248. $previousTwoYear = (int)$currentYear - 2; // 前年
  1249. // 为前年、去年和当前年份创建数据数组,初始值为0
  1250. $list['series'][0]['name'] = $previousTwoYear . '年'; // 前年
  1251. $list['series'][0]['data'] = array_fill(0, 12, 0); // 确保所有12个月份初始化为0
  1252. $list['series'][1]['name'] = $previousYear . '年'; // 去年
  1253. $list['series'][1]['data'] = array_fill(0, 12, 0); // 确保所有12个月份初始化为0
  1254. $list['series'][2]['name'] = $currentYear . '年'; // 今年
  1255. $list['series'][2]['data'] = array_fill(0, (int)$currentMonth, 0); // 初始化到当前月份的数据
  1256. // 遍历查询结果
  1257. if (!empty($result)) {
  1258. foreach ($result as $v) {
  1259. // 检查 '日期' 是否存在,若不存在则默认当前年份和月份
  1260. $date = isset($v['日期']) ? $v['日期'] : $currentYear . '-' . $currentMonth . '-01';
  1261. // 获取年份和月份
  1262. $year = substr($date, 0, 4);
  1263. $month = substr($date, 5, 2);
  1264. // 如果是前年的数据
  1265. if ($year == $previousTwoYear) {
  1266. $list['series'][0]['data'][(int)$month - 1] = $v['纸令'] ?? 0;
  1267. }
  1268. // 如果是去年的数据
  1269. if ($year == $previousYear) {
  1270. $list['series'][1]['data'][(int)$month - 1] = $v['纸令'] ?? 0;
  1271. }
  1272. // 如果是今年的数据
  1273. if ($year == $currentYear) {
  1274. $list['series'][2]['data'][(int)$month - 1] = $v['纸令'] ?? 0;
  1275. }
  1276. }
  1277. }
  1278. $res['status'] = 0;
  1279. $res['msg'] = '';
  1280. $res['data'] = $list;
  1281. return json($res);
  1282. }
  1283. //大规三菱商轮1号【缓存】
  1284. public function dgslslyi_Machines_redis(){
  1285. $redis = redis();
  1286. $redis_key = md5('dgslslyi_Machines_redis');
  1287. $sql = "SELECT gs.机台,
  1288. gs.日期,
  1289. CAST( SUM( gs.色令 ) AS SIGNED ) AS 色令,
  1290. CAST( SUM( gs.纸令 ) AS SIGNED ) AS 纸令,
  1291. CAST( SUM( gs.张数 ) AS SIGNED ) AS 张数,
  1292. Count(*) 品种数
  1293. FROM (SELECT DATE_FORMAT(
  1294. CASE
  1295. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < (SELECT CONCAT(IFNULL(csetvalue, '00:00'), ':00') FROM sysetup WHERE csetname = 'frmFSetupAtt.dxtdBegin') THEN
  1296. DATE_ADD(b.dOnDuty, INTERVAL -1 DAY)
  1297. ELSE b.dOnDuty
  1298. END, '%Y-%m') AS 日期,
  1299. a.cMachineName 机台,
  1300. a.cJobSc 色次,
  1301. a.nsl 色令,
  1302. a.nzl 纸令,
  1303. a.nAmount 张数
  1304. FROM QL_Report_FeedBack_Day a
  1305. INNER JOIN scDayRpt_Teams b
  1306. ON b.ID = a.ID_Teams
  1307. WHERE 1 = 1
  1308. AND cMachineName = '大规三菱商轮1号'
  1309. AND (CASE
  1310. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < (SELECT CONCAT(IFNULL(csetvalue, '00:00'), ':00') FROM sysetup WHERE csetname = 'frmFSetupAtt.dxtdBegin') THEN
  1311. DATE_ADD(b.dOnDuty, INTERVAL -1 DAY)
  1312. ELSE b.dOnDuty
  1313. END) BETWEEN '{$this->qianstart_time()}' AND '{$this->end_time()}')gs
  1314. WHERE 1 = 1 /*Wheres*/
  1315. GROUP BY gs.机台,
  1316. gs.日期
  1317. ORDER BY gs.机台,
  1318. gs.日期 ";
  1319. $result=Db::query($sql);
  1320. if ($result) {
  1321. $redis->set($redis_key, json_encode($result));
  1322. echo date("Y-m-d H:i:s").' 存进去了';
  1323. return $result;
  1324. }
  1325. }
  1326. //大规三菱商轮1号【接口】
  1327. public function dgslslyi_Machines(){
  1328. $redis = redis();
  1329. $result = json_decode($redis->get(md5('dgslslyi_Machines_redis')), true);
  1330. // 初始化数据
  1331. $list['categories'] = ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12'];
  1332. $currentYear = date("Y"); // 当前年份
  1333. $currentMonth = date("m"); // 当前月份
  1334. $previousYear = (int)$currentYear - 1; // 去年
  1335. $previousTwoYear = (int)$currentYear - 2; // 前年
  1336. // 为前年、去年和当前年份创建数据数组,初始值为0
  1337. $list['series'][0]['name'] = $previousTwoYear . '年'; // 前年
  1338. $list['series'][0]['data'] = array_fill(0, 12, 0); // 确保所有12个月份初始化为0
  1339. $list['series'][1]['name'] = $previousYear . '年'; // 去年
  1340. $list['series'][1]['data'] = array_fill(0, 12, 0); // 确保所有12个月份初始化为0
  1341. $list['series'][2]['name'] = $currentYear . '年'; // 今年
  1342. $list['series'][2]['data'] = array_fill(0, (int)$currentMonth, 0); // 初始化到当前月份的数据
  1343. // 遍历查询结果
  1344. if (!empty($result)) {
  1345. foreach ($result as $v) {
  1346. // 检查 '日期' 是否存在,若不存在则默认当前年份和月份
  1347. $date = isset($v['日期']) ? $v['日期'] : $currentYear . '-' . $currentMonth . '-01';
  1348. // 获取年份和月份
  1349. $year = substr($date, 0, 4);
  1350. $month = substr($date, 5, 2);
  1351. // 如果是前年的数据
  1352. if ($year == $previousTwoYear) {
  1353. $list['series'][0]['data'][(int)$month - 1] = $v['纸令'] ?? 0;
  1354. }
  1355. // 如果是去年的数据
  1356. if ($year == $previousYear) {
  1357. $list['series'][1]['data'][(int)$month - 1] = $v['纸令'] ?? 0;
  1358. }
  1359. // 如果是今年的数据
  1360. if ($year == $currentYear) {
  1361. $list['series'][2]['data'][(int)$month - 1] = $v['纸令'] ?? 0;
  1362. }
  1363. }
  1364. }
  1365. $res['status'] = 0;
  1366. $res['msg'] = '';
  1367. $res['data'] = $list;
  1368. return json($res);
  1369. }
  1370. //大规小森商轮1号【缓存】
  1371. public function dgxsslyi_Machines_redis(){
  1372. $redis = redis();
  1373. $redis_key = md5('dgxsslyi_Machines_redis');
  1374. $sql = "SELECT gs.机台,
  1375. gs.日期,
  1376. CAST( SUM( gs.色令 ) AS SIGNED ) AS 色令,
  1377. CAST( SUM( gs.纸令 ) AS SIGNED ) AS 纸令,
  1378. CAST( SUM( gs.张数 ) AS SIGNED ) AS 张数,
  1379. Count(*) 品种数
  1380. FROM (SELECT DATE_FORMAT(
  1381. CASE
  1382. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < (SELECT CONCAT(IFNULL(csetvalue, '00:00'), ':00') FROM sysetup WHERE csetname = 'frmFSetupAtt.dxtdBegin') THEN
  1383. DATE_ADD(b.dOnDuty, INTERVAL -1 DAY)
  1384. ELSE b.dOnDuty
  1385. END, '%Y-%m') AS 日期,
  1386. a.cMachineName 机台,
  1387. a.cJobSc 色次,
  1388. a.nsl 色令,
  1389. a.nzl 纸令,
  1390. a.nAmount 张数
  1391. FROM QL_Report_FeedBack_Day a
  1392. INNER JOIN scDayRpt_Teams b
  1393. ON b.ID = a.ID_Teams
  1394. WHERE 1 = 1
  1395. AND cMachineName = '大规小森商轮1号'
  1396. AND (CASE
  1397. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < (SELECT CONCAT(IFNULL(csetvalue, '00:00'), ':00') FROM sysetup WHERE csetname = 'frmFSetupAtt.dxtdBegin') THEN
  1398. DATE_ADD(b.dOnDuty, INTERVAL -1 DAY)
  1399. ELSE b.dOnDuty
  1400. END) BETWEEN '{$this->qianstart_time()}' AND '{$this->end_time()}')gs
  1401. WHERE 1 = 1 /*Wheres*/
  1402. GROUP BY gs.机台,
  1403. gs.日期
  1404. ORDER BY gs.机台,
  1405. gs.日期 ";
  1406. $result=Db::query($sql);
  1407. if ($result) {
  1408. $redis->set($redis_key, json_encode($result));
  1409. echo date("Y-m-d H:i:s").' 存进去了';
  1410. return $result;
  1411. }
  1412. }
  1413. //大规小森商轮1号【接口】
  1414. public function dgxsslyi_Machines(){
  1415. $redis = redis();
  1416. $result = json_decode($redis->get(md5('dgxsslyi_Machines_redis')), true);
  1417. // 初始化数据
  1418. $list['categories'] = ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12'];
  1419. $currentYear = date("Y"); // 当前年份
  1420. $currentMonth = date("m"); // 当前月份
  1421. $previousYear = (int)$currentYear - 1; // 去年
  1422. $previousTwoYear = (int)$currentYear - 2; // 前年
  1423. // 为前年、去年和当前年份创建数据数组,初始值为0
  1424. $list['series'][0]['name'] = $previousTwoYear . '年'; // 前年
  1425. $list['series'][0]['data'] = array_fill(0, 12, 0); // 确保所有12个月份初始化为0
  1426. $list['series'][1]['name'] = $previousYear . '年'; // 去年
  1427. $list['series'][1]['data'] = array_fill(0, 12, 0); // 确保所有12个月份初始化为0
  1428. $list['series'][2]['name'] = $currentYear . '年'; // 今年
  1429. $list['series'][2]['data'] = array_fill(0, (int)$currentMonth, 0); // 初始化到当前月份的数据
  1430. // 遍历查询结果
  1431. if (!empty($result)) {
  1432. foreach ($result as $v) {
  1433. // 检查 '日期' 是否存在,若不存在则默认当前年份和月份
  1434. $date = isset($v['日期']) ? $v['日期'] : $currentYear . '-' . $currentMonth . '-01';
  1435. // 获取年份和月份
  1436. $year = substr($date, 0, 4);
  1437. $month = substr($date, 5, 2);
  1438. // 如果是前年的数据
  1439. if ($year == $previousTwoYear) {
  1440. $list['series'][0]['data'][(int)$month - 1] = $v['纸令'] ?? 0;
  1441. }
  1442. // 如果是去年的数据
  1443. if ($year == $previousYear) {
  1444. $list['series'][1]['data'][(int)$month - 1] = $v['纸令'] ?? 0;
  1445. }
  1446. // 如果是今年的数据
  1447. if ($year == $currentYear) {
  1448. $list['series'][2]['data'][(int)$month - 1] = $v['纸令'] ?? 0;
  1449. }
  1450. }
  1451. }
  1452. $res['status'] = 0;
  1453. $res['msg'] = '';
  1454. $res['data'] = $list;
  1455. return json($res);
  1456. }
  1457. //胶订潮流1号【缓存】
  1458. public function jdclyi_Machines_redis(){
  1459. $redis = redis();
  1460. $redis_key = md5('jdclyi_Machines_redis');
  1461. $sql = "SELECT gs.机台,
  1462. gs.日期,
  1463. CAST( SUM( gs.纸令 ) AS SIGNED ) AS 纸令,
  1464. CAST(SUM(gs.张数) AS SIGNED ) 册数,
  1465. Count(*) 品种数
  1466. FROM (SELECT DATE_FORMAT(
  1467. CASE
  1468. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < (SELECT CONCAT(IFNULL(csetvalue, '00:00'), ':00') FROM sysetup WHERE csetname = 'frmFSetupAtt.dxtdBegin') THEN
  1469. DATE_ADD(b.dOnDuty, INTERVAL -1 DAY)
  1470. ELSE b.dOnDuty
  1471. END, '%Y-%m') AS 日期,
  1472. a.cMachineName 机台,
  1473. a.cJobSc 色次,
  1474. a.nsl 色令,
  1475. a.nzl 纸令,
  1476. a.nAmount 张数
  1477. FROM QL_Report_FeedBack_Day a
  1478. INNER JOIN scDayRpt_Teams b
  1479. ON b.ID = a.ID_Teams
  1480. WHERE 1 = 1
  1481. AND cMachineName = '胶订潮流1号'
  1482. AND cTechName IN ( '胶订联动', '胶头' )
  1483. AND (CASE
  1484. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < (SELECT CONCAT(IFNULL(csetvalue, '00:00'), ':00') FROM sysetup WHERE csetname = 'frmFSetupAtt.dxtdBegin') THEN
  1485. DATE_ADD(b.dOnDuty, INTERVAL -1 DAY)
  1486. ELSE b.dOnDuty
  1487. END) BETWEEN '{$this->qianstart_time()}' AND '{$this->end_time()}')gs
  1488. WHERE 1 = 1 /*Wheres*/
  1489. GROUP BY gs.机台,
  1490. gs.日期
  1491. ORDER BY gs.机台,
  1492. gs.日期 ";
  1493. $result=Db::query($sql);
  1494. if ($result) {
  1495. $redis->set($redis_key, json_encode($result));
  1496. echo date("Y-m-d H:i:s").' 存进去了';
  1497. return $result;
  1498. }
  1499. }
  1500. //胶订潮流1号【接口】
  1501. public function jdclyi_Machines(){
  1502. $redis = redis();
  1503. $result = json_decode($redis->get(md5('jdclyi_Machines_redis')), true);
  1504. // 初始化数据
  1505. $list['categories'] = ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12'];
  1506. $currentYear = date("Y"); // 当前年份
  1507. $currentMonth = date("m"); // 当前月份
  1508. $previousYear = (int)$currentYear - 1; // 去年
  1509. $previousTwoYear = (int)$currentYear - 2; // 前年
  1510. // 为前年、去年和当前年份创建数据数组,初始值为0
  1511. $list['series'][0]['name'] = $previousTwoYear . '年'; // 前年
  1512. $list['series'][0]['data'] = array_fill(0, 12, 0); // 确保所有12个月份初始化为0
  1513. $list['series'][1]['name'] = $previousYear . '年'; // 去年
  1514. $list['series'][1]['data'] = array_fill(0, 12, 0); // 确保所有12个月份初始化为0
  1515. $list['series'][2]['name'] = $currentYear . '年'; // 今年
  1516. $list['series'][2]['data'] = array_fill(0, (int)$currentMonth, 0); // 初始化到当前月份的数据
  1517. // 遍历查询结果
  1518. if (!empty($result)) {
  1519. foreach ($result as $v) {
  1520. // 检查 '日期' 是否存在,若不存在则默认当前年份和月份
  1521. $date = isset($v['日期']) ? $v['日期'] : $currentYear . '-' . $currentMonth . '-01';
  1522. // 获取年份和月份
  1523. $year = substr($date, 0, 4);
  1524. $month = substr($date, 5, 2);
  1525. // 如果是前年的数据
  1526. if ($year == $previousTwoYear) {
  1527. $list['series'][0]['data'][(int)$month - 1] = $v['册数'] ?? 0;
  1528. }
  1529. // 如果是去年的数据
  1530. if ($year == $previousYear) {
  1531. $list['series'][1]['data'][(int)$month - 1] = $v['册数'] ?? 0;
  1532. }
  1533. // 如果是今年的数据
  1534. if ($year == $currentYear) {
  1535. $list['series'][2]['data'][(int)$month - 1] = $v['册数'] ?? 0;
  1536. }
  1537. }
  1538. }
  1539. $res['status'] = 0;
  1540. $res['msg'] = '';
  1541. $res['data'] = $list;
  1542. return json($res);
  1543. }
  1544. //胶订潮流2号【缓存】
  1545. public function jdcler_Machines_redis(){
  1546. $redis = redis();
  1547. $redis_key = md5('jdcler_Machines_redis');
  1548. $sql = "SELECT gs.机台,
  1549. gs.日期,
  1550. CAST( SUM( gs.纸令 ) AS SIGNED ) AS 纸令,
  1551. CAST(SUM(gs.张数) AS SIGNED ) 册数,
  1552. Count(*) 品种数
  1553. FROM (SELECT DATE_FORMAT(
  1554. CASE
  1555. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < (SELECT CONCAT(IFNULL(csetvalue, '00:00'), ':00') FROM sysetup WHERE csetname = 'frmFSetupAtt.dxtdBegin') THEN
  1556. DATE_ADD(b.dOnDuty, INTERVAL -1 DAY)
  1557. ELSE b.dOnDuty
  1558. END, '%Y-%m') AS 日期,
  1559. a.cMachineName 机台,
  1560. a.cJobSc 色次,
  1561. a.nsl 色令,
  1562. a.nzl 纸令,
  1563. a.nAmount 张数
  1564. FROM QL_Report_FeedBack_Day a
  1565. INNER JOIN scDayRpt_Teams b
  1566. ON b.ID = a.ID_Teams
  1567. WHERE 1 = 1
  1568. AND cMachineName = '胶订潮流2号'
  1569. AND cTechName IN ( '胶订联动', '胶头' )
  1570. AND (CASE
  1571. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < (SELECT CONCAT(IFNULL(csetvalue, '00:00'), ':00') FROM sysetup WHERE csetname = 'frmFSetupAtt.dxtdBegin') THEN
  1572. DATE_ADD(b.dOnDuty, INTERVAL -1 DAY)
  1573. ELSE b.dOnDuty
  1574. END) BETWEEN '{$this->qianstart_time()}' AND '{$this->end_time()}')gs
  1575. WHERE 1 = 1 /*Wheres*/
  1576. GROUP BY gs.机台,
  1577. gs.日期
  1578. ORDER BY gs.机台,
  1579. gs.日期 ";
  1580. $result=Db::query($sql);
  1581. if ($result) {
  1582. $redis->set($redis_key, json_encode($result));
  1583. echo date("Y-m-d H:i:s").' 存进去了';
  1584. return $result;
  1585. }
  1586. }
  1587. //胶订潮流2号【接口】
  1588. public function jdcler_Machines(){
  1589. $redis = redis();
  1590. $result = json_decode($redis->get(md5('jdcler_Machines_redis')), true);
  1591. // 初始化数据
  1592. $list['categories'] = ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12'];
  1593. $currentYear = date("Y"); // 当前年份
  1594. $currentMonth = date("m"); // 当前月份
  1595. $previousYear = (int)$currentYear - 1; // 去年
  1596. $previousTwoYear = (int)$currentYear - 2; // 前年
  1597. // 为前年、去年和当前年份创建数据数组,初始值为0
  1598. $list['series'][0]['name'] = $previousTwoYear . '年'; // 前年
  1599. $list['series'][0]['data'] = array_fill(0, 12, 0); // 确保所有12个月份初始化为0
  1600. $list['series'][1]['name'] = $previousYear . '年'; // 去年
  1601. $list['series'][1]['data'] = array_fill(0, 12, 0); // 确保所有12个月份初始化为0
  1602. $list['series'][2]['name'] = $currentYear . '年'; // 今年
  1603. $list['series'][2]['data'] = array_fill(0, (int)$currentMonth, 0); // 初始化到当前月份的数据
  1604. // 遍历查询结果
  1605. if (!empty($result)) {
  1606. foreach ($result as $v) {
  1607. // 检查 '日期' 是否存在,若不存在则默认当前年份和月份
  1608. $date = isset($v['日期']) ? $v['日期'] : $currentYear . '-' . $currentMonth . '-01';
  1609. // 获取年份和月份
  1610. $year = substr($date, 0, 4);
  1611. $month = substr($date, 5, 2);
  1612. // 如果是前年的数据
  1613. if ($year == $previousTwoYear) {
  1614. $list['series'][0]['data'][(int)$month - 1] = $v['册数'] ?? 0;
  1615. }
  1616. // 如果是去年的数据
  1617. if ($year == $previousYear) {
  1618. $list['series'][1]['data'][(int)$month - 1] = $v['册数'] ?? 0;
  1619. }
  1620. // 如果是今年的数据
  1621. if ($year == $currentYear) {
  1622. $list['series'][2]['data'][(int)$month - 1] = $v['册数'] ?? 0;
  1623. }
  1624. }
  1625. }
  1626. $res['status'] = 0;
  1627. $res['msg'] = '';
  1628. $res['data'] = $list;
  1629. return json($res);
  1630. }
  1631. //胶订精密达1号【缓存】
  1632. public function jdjmdyi_Machines_redis(){
  1633. $redis = redis();
  1634. $redis_key = md5('jdjmdyi_Machines_redis');
  1635. $sql = "SELECT gs.机台,
  1636. gs.日期,
  1637. CAST( SUM( gs.纸令 ) AS SIGNED ) AS 纸令,
  1638. CAST(SUM(gs.张数) AS SIGNED ) 册数,
  1639. Count(*) 品种数
  1640. FROM (SELECT DATE_FORMAT(
  1641. CASE
  1642. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < (SELECT CONCAT(IFNULL(csetvalue, '00:00'), ':00') FROM sysetup WHERE csetname = 'frmFSetupAtt.dxtdBegin') THEN
  1643. DATE_ADD(b.dOnDuty, INTERVAL -1 DAY)
  1644. ELSE b.dOnDuty
  1645. END, '%Y-%m') AS 日期,
  1646. a.cMachineName 机台,
  1647. a.cJobSc 色次,
  1648. a.nsl 色令,
  1649. a.nzl 纸令,
  1650. a.nAmount 张数
  1651. FROM QL_Report_FeedBack_Day a
  1652. INNER JOIN scDayRpt_Teams b
  1653. ON b.ID = a.ID_Teams
  1654. WHERE 1 = 1
  1655. AND cMachineName = '胶订精密达1号'
  1656. AND cTechName IN ( '胶订联动', '胶头' )
  1657. AND (CASE
  1658. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < (SELECT CONCAT(IFNULL(csetvalue, '00:00'), ':00') FROM sysetup WHERE csetname = 'frmFSetupAtt.dxtdBegin') THEN
  1659. DATE_ADD(b.dOnDuty, INTERVAL -1 DAY)
  1660. ELSE b.dOnDuty
  1661. END) BETWEEN '{$this->qianstart_time()}' AND '{$this->end_time()}')gs
  1662. WHERE 1 = 1 /*Wheres*/
  1663. GROUP BY gs.机台,
  1664. gs.日期
  1665. ORDER BY gs.机台,
  1666. gs.日期 ";
  1667. $result=Db::query($sql);
  1668. if ($result) {
  1669. $redis->set($redis_key, json_encode($result));
  1670. echo date("Y-m-d H:i:s").' 存进去了';
  1671. return $result;
  1672. }
  1673. }
  1674. //胶订精密达1号【接口】
  1675. public function jdjmdyi_Machines(){
  1676. $redis = redis();
  1677. $result = json_decode($redis->get(md5('jdjmdyi_Machines_redis')), true);
  1678. // 初始化数据
  1679. $list['categories'] = ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12'];
  1680. $currentYear = date("Y"); // 当前年份
  1681. $currentMonth = date("m"); // 当前月份
  1682. $previousYear = (int)$currentYear - 1; // 去年
  1683. $previousTwoYear = (int)$currentYear - 2; // 前年
  1684. // 为前年、去年和当前年份创建数据数组,初始值为0
  1685. $list['series'][0]['name'] = $previousTwoYear . '年'; // 前年
  1686. $list['series'][0]['data'] = array_fill(0, 12, 0); // 确保所有12个月份初始化为0
  1687. $list['series'][1]['name'] = $previousYear . '年'; // 去年
  1688. $list['series'][1]['data'] = array_fill(0, 12, 0); // 确保所有12个月份初始化为0
  1689. $list['series'][2]['name'] = $currentYear . '年'; // 今年
  1690. $list['series'][2]['data'] = array_fill(0, (int)$currentMonth, 0); // 初始化到当前月份的数据
  1691. // 遍历查询结果
  1692. if (!empty($result)) {
  1693. foreach ($result as $v) {
  1694. // 检查 '日期' 是否存在,若不存在则默认当前年份和月份
  1695. $date = isset($v['日期']) ? $v['日期'] : $currentYear . '-' . $currentMonth . '-01';
  1696. // 获取年份和月份
  1697. $year = substr($date, 0, 4);
  1698. $month = substr($date, 5, 2);
  1699. // 如果是前年的数据
  1700. if ($year == $previousTwoYear) {
  1701. $list['series'][0]['data'][(int)$month - 1] = $v['册数'] ?? 0;
  1702. }
  1703. // 如果是去年的数据
  1704. if ($year == $previousYear) {
  1705. $list['series'][1]['data'][(int)$month - 1] = $v['册数'] ?? 0;
  1706. }
  1707. // 如果是今年的数据
  1708. if ($year == $currentYear) {
  1709. $list['series'][2]['data'][(int)$month - 1] = $v['册数'] ?? 0;
  1710. }
  1711. }
  1712. }
  1713. $res['status'] = 0;
  1714. $res['msg'] = '';
  1715. $res['data'] = $list;
  1716. return json($res);
  1717. }
  1718. //胶订精密达2号【缓存】
  1719. public function jdjmder_Machines_redis(){
  1720. $redis = redis();
  1721. $redis_key = md5('jdjmder_Machines_redis');
  1722. $sql = "SELECT gs.机台,
  1723. gs.日期,
  1724. CAST( SUM( gs.纸令 ) AS SIGNED ) AS 纸令,
  1725. CAST(SUM(gs.张数) AS SIGNED ) 册数,
  1726. Count(*) 品种数
  1727. FROM (SELECT DATE_FORMAT(
  1728. CASE
  1729. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < (SELECT CONCAT(IFNULL(csetvalue, '00:00'), ':00') FROM sysetup WHERE csetname = 'frmFSetupAtt.dxtdBegin') THEN
  1730. DATE_ADD(b.dOnDuty, INTERVAL -1 DAY)
  1731. ELSE b.dOnDuty
  1732. END, '%Y-%m') AS 日期,
  1733. a.cMachineName 机台,
  1734. a.cJobSc 色次,
  1735. a.nsl 色令,
  1736. a.nzl 纸令,
  1737. a.nAmount 张数
  1738. FROM QL_Report_FeedBack_Day a
  1739. INNER JOIN scDayRpt_Teams b
  1740. ON b.ID = a.ID_Teams
  1741. WHERE 1 = 1
  1742. AND cMachineName = '胶订精密达2号'
  1743. AND cTechName IN ( '胶订联动', '胶头' )
  1744. AND (CASE
  1745. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < (SELECT CONCAT(IFNULL(csetvalue, '00:00'), ':00') FROM sysetup WHERE csetname = 'frmFSetupAtt.dxtdBegin') THEN
  1746. DATE_ADD(b.dOnDuty, INTERVAL -1 DAY)
  1747. ELSE b.dOnDuty
  1748. END) BETWEEN '{$this->qianstart_time()}' AND '{$this->end_time()}')gs
  1749. WHERE 1 = 1 /*Wheres*/
  1750. GROUP BY gs.机台,
  1751. gs.日期
  1752. ORDER BY gs.机台,
  1753. gs.日期 ";
  1754. $result=Db::query($sql);
  1755. if ($result) {
  1756. $redis->set($redis_key, json_encode($result));
  1757. echo date("Y-m-d H:i:s").' 存进去了';
  1758. return $result;
  1759. }
  1760. }
  1761. //胶订精密达2号【接口】
  1762. public function jdjmder_Machines(){
  1763. $redis = redis();
  1764. $result = json_decode($redis->get(md5('jdjmder_Machines_redis')), true);
  1765. // 初始化数据
  1766. $list['categories'] = ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12'];
  1767. $currentYear = date("Y"); // 当前年份
  1768. $currentMonth = date("m"); // 当前月份
  1769. $previousYear = (int)$currentYear - 1; // 去年
  1770. $previousTwoYear = (int)$currentYear - 2; // 前年
  1771. // 为前年、去年和当前年份创建数据数组,初始值为0
  1772. $list['series'][0]['name'] = $previousTwoYear . '年'; // 前年
  1773. $list['series'][0]['data'] = array_fill(0, 12, 0); // 确保所有12个月份初始化为0
  1774. $list['series'][1]['name'] = $previousYear . '年'; // 去年
  1775. $list['series'][1]['data'] = array_fill(0, 12, 0); // 确保所有12个月份初始化为0
  1776. $list['series'][2]['name'] = $currentYear . '年'; // 今年
  1777. $list['series'][2]['data'] = array_fill(0, (int)$currentMonth, 0); // 初始化到当前月份的数据
  1778. // 遍历查询结果
  1779. if (!empty($result)) {
  1780. foreach ($result as $v) {
  1781. // 检查 '日期' 是否存在,若不存在则默认当前年份和月份
  1782. $date = isset($v['日期']) ? $v['日期'] : $currentYear . '-' . $currentMonth . '-01';
  1783. // 获取年份和月份
  1784. $year = substr($date, 0, 4);
  1785. $month = substr($date, 5, 2);
  1786. // 如果是前年的数据
  1787. if ($year == $previousTwoYear) {
  1788. $list['series'][0]['data'][(int)$month - 1] = $v['册数'] ?? 0;
  1789. }
  1790. // 如果是去年的数据
  1791. if ($year == $previousYear) {
  1792. $list['series'][1]['data'][(int)$month - 1] = $v['册数'] ?? 0;
  1793. }
  1794. // 如果是今年的数据
  1795. if ($year == $currentYear) {
  1796. $list['series'][2]['data'][(int)$month - 1] = $v['册数'] ?? 0;
  1797. }
  1798. }
  1799. }
  1800. $res['status'] = 0;
  1801. $res['msg'] = '';
  1802. $res['data'] = $list;
  1803. return json($res);
  1804. }
  1805. //胶订精工1号【缓存】
  1806. public function jdjgyi_Machines_redis(){
  1807. $redis = redis();
  1808. $redis_key = md5('jdjgyi_Machines_redis');
  1809. $sql = "SELECT gs.机台,
  1810. gs.日期,
  1811. CAST( SUM( gs.纸令 ) AS SIGNED ) AS 纸令,
  1812. CAST(SUM(gs.张数) AS SIGNED ) 册数,
  1813. Count(*) 品种数
  1814. FROM (SELECT DATE_FORMAT(
  1815. CASE
  1816. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < (SELECT CONCAT(IFNULL(csetvalue, '00:00'), ':00') FROM sysetup WHERE csetname = 'frmFSetupAtt.dxtdBegin') THEN
  1817. DATE_ADD(b.dOnDuty, INTERVAL -1 DAY)
  1818. ELSE b.dOnDuty
  1819. END, '%Y-%m') AS 日期,
  1820. a.cMachineName 机台,
  1821. a.cJobSc 色次,
  1822. a.nsl 色令,
  1823. a.nzl 纸令,
  1824. a.nAmount 张数
  1825. FROM QL_Report_FeedBack_Day a
  1826. INNER JOIN scDayRpt_Teams b
  1827. ON b.ID = a.ID_Teams
  1828. WHERE 1 = 1
  1829. AND cMachineName = '胶订精密达2号'
  1830. AND cTechName IN ( '胶订联动', '胶头' )
  1831. AND (CASE
  1832. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < (SELECT CONCAT(IFNULL(csetvalue, '00:00'), ':00') FROM sysetup WHERE csetname = 'frmFSetupAtt.dxtdBegin') THEN
  1833. DATE_ADD(b.dOnDuty, INTERVAL -1 DAY)
  1834. ELSE b.dOnDuty
  1835. END) BETWEEN '{$this->qianstart_time()}' AND '{$this->end_time()}')gs
  1836. WHERE 1 = 1 /*Wheres*/
  1837. GROUP BY gs.机台,
  1838. gs.日期
  1839. ORDER BY gs.机台,
  1840. gs.日期 ";
  1841. $result=Db::query($sql);
  1842. if ($result) {
  1843. $redis->set($redis_key, json_encode($result));
  1844. echo date("Y-m-d H:i:s").' 存进去了';
  1845. return $result;
  1846. }
  1847. }
  1848. //胶订精工1号【接口】
  1849. public function jdjgyi_Machines(){
  1850. $redis = redis();
  1851. $result = json_decode($redis->get(md5('jdjgyi_Machines_redis')), true);
  1852. // 初始化数据
  1853. $list['categories'] = ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12'];
  1854. $currentYear = date("Y"); // 当前年份
  1855. $currentMonth = date("m"); // 当前月份
  1856. $previousYear = (int)$currentYear - 1; // 去年
  1857. $previousTwoYear = (int)$currentYear - 2; // 前年
  1858. // 为前年、去年和当前年份创建数据数组,初始值为0
  1859. $list['series'][0]['name'] = $previousTwoYear . '年'; // 前年
  1860. $list['series'][0]['data'] = array_fill(0, 12, 0); // 确保所有12个月份初始化为0
  1861. $list['series'][1]['name'] = $previousYear . '年'; // 去年
  1862. $list['series'][1]['data'] = array_fill(0, 12, 0); // 确保所有12个月份初始化为0
  1863. $list['series'][2]['name'] = $currentYear . '年'; // 今年
  1864. $list['series'][2]['data'] = array_fill(0, (int)$currentMonth, 0); // 初始化到当前月份的数据
  1865. // 遍历查询结果
  1866. if (!empty($result)) {
  1867. foreach ($result as $v) {
  1868. // 检查 '日期' 是否存在,若不存在则默认当前年份和月份
  1869. $date = isset($v['日期']) ? $v['日期'] : $currentYear . '-' . $currentMonth . '-01';
  1870. // 获取年份和月份
  1871. $year = substr($date, 0, 4);
  1872. $month = substr($date, 5, 2);
  1873. // 如果是前年的数据
  1874. if ($year == $previousTwoYear) {
  1875. $list['series'][0]['data'][(int)$month - 1] = $v['册数'] ?? 0;
  1876. }
  1877. // 如果是去年的数据
  1878. if ($year == $previousYear) {
  1879. $list['series'][1]['data'][(int)$month - 1] = $v['册数'] ?? 0;
  1880. }
  1881. // 如果是今年的数据
  1882. if ($year == $currentYear) {
  1883. $list['series'][2]['data'][(int)$month - 1] = $v['册数'] ?? 0;
  1884. }
  1885. }
  1886. }
  1887. $res['status'] = 0;
  1888. $res['msg'] = '';
  1889. $res['data'] = $list;
  1890. return json($res);
  1891. }
  1892. //骑马联动02号【缓存】
  1893. public function qmlder_Machines_redis(){
  1894. $redis = redis();
  1895. $redis_key = md5('qmlder_Machines_redis');
  1896. $sql = "SELECT gs.机台,
  1897. gs.日期,
  1898. CAST( SUM( gs.纸令 ) AS SIGNED ) AS 纸令,
  1899. CAST(SUM(gs.张数) AS SIGNED ) 册数,
  1900. Count(*) 品种数
  1901. FROM (SELECT DATE_FORMAT(
  1902. CASE
  1903. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < (SELECT CONCAT(IFNULL(csetvalue, '00:00'), ':00') FROM sysetup WHERE csetname = 'frmFSetupAtt.dxtdBegin') THEN
  1904. DATE_ADD(b.dOnDuty, INTERVAL -1 DAY)
  1905. ELSE b.dOnDuty
  1906. END, '%Y-%m') AS 日期,
  1907. a.cMachineName 机台,
  1908. a.cJobSc 色次,
  1909. a.nsl 色令,
  1910. a.nzl 纸令,
  1911. a.nAmount 张数
  1912. FROM QL_Report_FeedBack_Day a
  1913. INNER JOIN scDayRpt_Teams b
  1914. ON b.ID = a.ID_Teams
  1915. WHERE 1 = 1
  1916. AND cMachineName = '骑马联动02号'
  1917. AND cTechName IN ( '骑马联动')
  1918. AND (CASE
  1919. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < (SELECT CONCAT(IFNULL(csetvalue, '00:00'), ':00') FROM sysetup WHERE csetname = 'frmFSetupAtt.dxtdBegin') THEN
  1920. DATE_ADD(b.dOnDuty, INTERVAL -1 DAY)
  1921. ELSE b.dOnDuty
  1922. END) BETWEEN '{$this->qianstart_time()}' AND '{$this->end_time()}')gs
  1923. WHERE 1 = 1 /*Wheres*/
  1924. GROUP BY gs.机台,
  1925. gs.日期
  1926. ORDER BY gs.机台,
  1927. gs.日期 ";
  1928. $result=Db::query($sql);
  1929. if ($result) {
  1930. $redis->set($redis_key, json_encode($result));
  1931. echo date("Y-m-d H:i:s").' 存进去了';
  1932. return $result;
  1933. }
  1934. }
  1935. //骑马联动02号【接口】
  1936. public function qmlder_Machines(){
  1937. $redis = redis();
  1938. $result = json_decode($redis->get(md5('qmlder_Machines_redis')), true);
  1939. // 初始化数据
  1940. $list['categories'] = ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12'];
  1941. $currentYear = date("Y"); // 当前年份
  1942. $currentMonth = date("m"); // 当前月份
  1943. $previousYear = (int)$currentYear - 1; // 去年
  1944. $previousTwoYear = (int)$currentYear - 2; // 前年
  1945. // 为前年、去年和当前年份创建数据数组,初始值为0
  1946. $list['series'][0]['name'] = $previousTwoYear . '年'; // 前年
  1947. $list['series'][0]['data'] = array_fill(0, 12, 0); // 确保所有12个月份初始化为0
  1948. $list['series'][1]['name'] = $previousYear . '年'; // 去年
  1949. $list['series'][1]['data'] = array_fill(0, 12, 0); // 确保所有12个月份初始化为0
  1950. $list['series'][2]['name'] = $currentYear . '年'; // 今年
  1951. $list['series'][2]['data'] = array_fill(0, (int)$currentMonth, 0); // 初始化到当前月份的数据
  1952. // 遍历查询结果
  1953. if (!empty($result)) {
  1954. foreach ($result as $v) {
  1955. // 检查 '日期' 是否存在,若不存在则默认当前年份和月份
  1956. $date = isset($v['日期']) ? $v['日期'] : $currentYear . '-' . $currentMonth . '-01';
  1957. // 获取年份和月份
  1958. $year = substr($date, 0, 4);
  1959. $month = substr($date, 5, 2);
  1960. // 如果是前年的数据
  1961. if ($year == $previousTwoYear) {
  1962. $list['series'][0]['data'][(int)$month - 1] = $v['册数'] ?? 0;
  1963. }
  1964. // 如果是去年的数据
  1965. if ($year == $previousYear) {
  1966. $list['series'][1]['data'][(int)$month - 1] = $v['册数'] ?? 0;
  1967. }
  1968. // 如果是今年的数据
  1969. if ($year == $currentYear) {
  1970. $list['series'][2]['data'][(int)$month - 1] = $v['册数'] ?? 0;
  1971. }
  1972. }
  1973. }
  1974. $res['status'] = 0;
  1975. $res['msg'] = '';
  1976. $res['data'] = $list;
  1977. return json($res);
  1978. }
  1979. //骑马联动03号【缓存】
  1980. public function qmldsan_Machines_redis(){
  1981. $redis = redis();
  1982. $redis_key = md5('qmldsan_Machines_redis');
  1983. $sql = "SELECT gs.机台,
  1984. gs.日期,
  1985. CAST( SUM( gs.纸令 ) AS SIGNED ) AS 纸令,
  1986. CAST(SUM(gs.张数) AS SIGNED ) 册数,
  1987. Count(*) 品种数
  1988. FROM (SELECT DATE_FORMAT(
  1989. CASE
  1990. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < (SELECT CONCAT(IFNULL(csetvalue, '00:00'), ':00') FROM sysetup WHERE csetname = 'frmFSetupAtt.dxtdBegin') THEN
  1991. DATE_ADD(b.dOnDuty, INTERVAL -1 DAY)
  1992. ELSE b.dOnDuty
  1993. END, '%Y-%m') AS 日期,
  1994. a.cMachineName 机台,
  1995. a.cJobSc 色次,
  1996. a.nsl 色令,
  1997. a.nzl 纸令,
  1998. a.nAmount 张数
  1999. FROM QL_Report_FeedBack_Day a
  2000. INNER JOIN scDayRpt_Teams b
  2001. ON b.ID = a.ID_Teams
  2002. WHERE 1 = 1
  2003. AND cMachineName = '骑马联动03号'
  2004. AND cTechName IN ( '骑马联动')
  2005. AND (CASE
  2006. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < (SELECT CONCAT(IFNULL(csetvalue, '00:00'), ':00') FROM sysetup WHERE csetname = 'frmFSetupAtt.dxtdBegin') THEN
  2007. DATE_ADD(b.dOnDuty, INTERVAL -1 DAY)
  2008. ELSE b.dOnDuty
  2009. END) BETWEEN '{$this->qianstart_time()}' AND '{$this->end_time()}')gs
  2010. WHERE 1 = 1 /*Wheres*/
  2011. GROUP BY gs.机台,
  2012. gs.日期
  2013. ORDER BY gs.机台,
  2014. gs.日期 ";
  2015. $result=Db::query($sql);
  2016. if ($result) {
  2017. $redis->set($redis_key, json_encode($result));
  2018. echo date("Y-m-d H:i:s").' 存进去了';
  2019. return $result;
  2020. }
  2021. }
  2022. //骑马联动03号【接口】
  2023. public function qmldsan_Machines(){
  2024. $redis = redis();
  2025. $result = json_decode($redis->get(md5('qmldsan_Machines_redis')), true);
  2026. // 初始化数据
  2027. $list['categories'] = ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12'];
  2028. $currentYear = date("Y"); // 当前年份
  2029. $currentMonth = date("m"); // 当前月份
  2030. $previousYear = (int)$currentYear - 1; // 去年
  2031. $previousTwoYear = (int)$currentYear - 2; // 前年
  2032. // 为前年、去年和当前年份创建数据数组,初始值为0
  2033. $list['series'][0]['name'] = $previousTwoYear . '年'; // 前年
  2034. $list['series'][0]['data'] = array_fill(0, 12, 0); // 确保所有12个月份初始化为0
  2035. $list['series'][1]['name'] = $previousYear . '年'; // 去年
  2036. $list['series'][1]['data'] = array_fill(0, 12, 0); // 确保所有12个月份初始化为0
  2037. $list['series'][2]['name'] = $currentYear . '年'; // 今年
  2038. $list['series'][2]['data'] = array_fill(0, (int)$currentMonth, 0); // 初始化到当前月份的数据
  2039. // 遍历查询结果
  2040. if (!empty($result)) {
  2041. foreach ($result as $v) {
  2042. // 检查 '日期' 是否存在,若不存在则默认当前年份和月份
  2043. $date = isset($v['日期']) ? $v['日期'] : $currentYear . '-' . $currentMonth . '-01';
  2044. // 获取年份和月份
  2045. $year = substr($date, 0, 4);
  2046. $month = substr($date, 5, 2);
  2047. // 如果是前年的数据
  2048. if ($year == $previousTwoYear) {
  2049. $list['series'][0]['data'][(int)$month - 1] = $v['册数'] ?? 0;
  2050. }
  2051. // 如果是去年的数据
  2052. if ($year == $previousYear) {
  2053. $list['series'][1]['data'][(int)$month - 1] = $v['册数'] ?? 0;
  2054. }
  2055. // 如果是今年的数据
  2056. if ($year == $currentYear) {
  2057. $list['series'][2]['data'][(int)$month - 1] = $v['册数'] ?? 0;
  2058. }
  2059. }
  2060. }
  2061. $res['status'] = 0;
  2062. $res['msg'] = '';
  2063. $res['data'] = $list;
  2064. return json($res);
  2065. }
  2066. //精装联动线01号【缓存】
  2067. public function jzldxyi_Machines_redis(){
  2068. $redis = redis();
  2069. $redis_key = md5('jzldxyi_Machines_redis');
  2070. $sql = "SELECT gs.机台,
  2071. gs.日期,
  2072. CAST( SUM( gs.纸令 ) AS SIGNED ) AS 纸令,
  2073. CAST(SUM(gs.张数) AS SIGNED ) 册数,
  2074. Count(*) 品种数
  2075. FROM (SELECT DATE_FORMAT(
  2076. CASE
  2077. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < (SELECT CONCAT(IFNULL(csetvalue, '00:00'), ':00') FROM sysetup WHERE csetname = 'frmFSetupAtt.dxtdBegin') THEN
  2078. DATE_ADD(b.dOnDuty, INTERVAL -1 DAY)
  2079. ELSE b.dOnDuty
  2080. END, '%Y-%m') AS 日期,
  2081. a.cMachineName 机台,
  2082. a.cJobSc 色次,
  2083. a.nsl 色令,
  2084. a.nzl 纸令,
  2085. a.nAmount 张数
  2086. FROM QL_Report_FeedBack_Day a
  2087. INNER JOIN scDayRpt_Teams b
  2088. ON b.ID = a.ID_Teams
  2089. WHERE 1 = 1
  2090. AND cMachineName = '精装联动线01号'
  2091. AND cTechName IN ( '精装联动', '过胶' )
  2092. AND (CASE
  2093. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < (SELECT CONCAT(IFNULL(csetvalue, '00:00'), ':00') FROM sysetup WHERE csetname = 'frmFSetupAtt.dxtdBegin') THEN
  2094. DATE_ADD(b.dOnDuty, INTERVAL -1 DAY)
  2095. ELSE b.dOnDuty
  2096. END) BETWEEN '{$this->qianstart_time()}' AND '{$this->end_time()}')gs
  2097. WHERE 1 = 1 /*Wheres*/
  2098. GROUP BY gs.机台,
  2099. gs.日期
  2100. ORDER BY gs.机台,
  2101. gs.日期 ";
  2102. $result=Db::query($sql);
  2103. if ($result) {
  2104. $redis->set($redis_key, json_encode($result));
  2105. echo date("Y-m-d H:i:s").' 存进去了';
  2106. return $result;
  2107. }
  2108. }
  2109. //精装联动线01号【接口】
  2110. public function jzldxyi_Machines(){
  2111. $redis = redis();
  2112. $result = json_decode($redis->get(md5('jzldxyi_Machines_redis')), true);
  2113. // 初始化数据
  2114. $list['categories'] = ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12'];
  2115. $currentYear = date("Y"); // 当前年份
  2116. $currentMonth = date("m"); // 当前月份
  2117. $previousYear = (int)$currentYear - 1; // 去年
  2118. $previousTwoYear = (int)$currentYear - 2; // 前年
  2119. // 为前年、去年和当前年份创建数据数组,初始值为0
  2120. $list['series'][0]['name'] = $previousTwoYear . '年'; // 前年
  2121. $list['series'][0]['data'] = array_fill(0, 12, 0); // 确保所有12个月份初始化为0
  2122. $list['series'][1]['name'] = $previousYear . '年'; // 去年
  2123. $list['series'][1]['data'] = array_fill(0, 12, 0); // 确保所有12个月份初始化为0
  2124. $list['series'][2]['name'] = $currentYear . '年'; // 今年
  2125. $list['series'][2]['data'] = array_fill(0, (int)$currentMonth, 0); // 初始化到当前月份的数据
  2126. // 遍历查询结果
  2127. if (!empty($result)) {
  2128. foreach ($result as $v) {
  2129. // 检查 '日期' 是否存在,若不存在则默认当前年份和月份
  2130. $date = isset($v['日期']) ? $v['日期'] : $currentYear . '-' . $currentMonth . '-01';
  2131. // 获取年份和月份
  2132. $year = substr($date, 0, 4);
  2133. $month = substr($date, 5, 2);
  2134. // 如果是前年的数据
  2135. if ($year == $previousTwoYear) {
  2136. $list['series'][0]['data'][(int)$month - 1] = $v['册数'] ?? 0;
  2137. }
  2138. // 如果是去年的数据
  2139. if ($year == $previousYear) {
  2140. $list['series'][1]['data'][(int)$month - 1] = $v['册数'] ?? 0;
  2141. }
  2142. // 如果是今年的数据
  2143. if ($year == $currentYear) {
  2144. $list['series'][2]['data'][(int)$month - 1] = $v['册数'] ?? 0;
  2145. }
  2146. }
  2147. }
  2148. $res['status'] = 0;
  2149. $res['msg'] = '';
  2150. $res['data'] = $list;
  2151. return json($res);
  2152. }
  2153. }