Machines.php 83 KB

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