Index.php 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152
  1. <?php
  2. namespace app\api\controller;
  3. use app\common\controller\Api;
  4. /**
  5. * 首页接口
  6. */
  7. class Index extends Api
  8. {
  9. protected $noNeedLogin = ['*'];
  10. protected $noNeedRight = ['*'];
  11. /**
  12. * 首页
  13. *
  14. */
  15. public function index()
  16. {
  17. $this->success('请求成功');
  18. }
  19. //计划/排程/制程工单数量同步Redis
  20. public function numDbToRedis()
  21. {
  22. $numDbToRedis = [];
  23. //获取计划中的订单数量
  24. $jhz = db('工单_基本资料')
  25. ->where('gd_statu','like','%计划中%')
  26. ->count('Gd_gdbh');
  27. if($jhz!==false){
  28. $numDbToRedis['jhz'] = $jhz;
  29. }else{
  30. $numDbToRedis['jhz'] = 0;
  31. }
  32. //获取生产中的所有数据
  33. $rows = db('工单_基本资料')
  34. ->distinct('Gd_gdbh')
  35. ->where('gd_statu','like','%生产中%')
  36. ->column('Gd_gdbh');
  37. if($rows===false){
  38. $numDbToRedis['pcz'] = 0;
  39. $numDbToRedis['zcz'] = 0;
  40. $bool = cache('numDbToRedis',$jhz);
  41. if($bool===false) $this->error('订单数量存入redis失败','','000001');
  42. $this->success('请求成功');
  43. }
  44. //查询Gy0_sj1不等于1900-01-01 00:00:00的数据
  45. $data = db('工单_印件资料')->alias('y')
  46. ->join('工单_工艺资料 g','y.Yj_Gdbh = g.Gy0_gdbh AND y.yj_Yjno = g.Gy0_yjno')
  47. ->where('g.Gy0_sj1','<>','1900-01-01 00:00:00')
  48. ->where('y.Yj_Gdbh','in',$rows)
  49. ->group('y.Yj_Gdbh')
  50. ->column('y.Yj_Gdbh');
  51. $zcz = count($data);
  52. $pcz = count($rows) - count($data);
  53. $numDbToRedis['pcz'] = $pcz;
  54. $numDbToRedis['zcz'] = $zcz;
  55. $bool = cache('numDbToRedis',$numDbToRedis);
  56. if($bool===false) $this->error('订单数量存入redis失败','','000002');
  57. $this->success('同步成功');
  58. }
  59. //获取计划中工单数量
  60. public function getJhzByRedis()
  61. {
  62. $row = cache('numDbToRedis');
  63. if($row){
  64. $data = [
  65. 'status'=>0,
  66. 'msg'=>'',
  67. 'data'=>[
  68. 'name'=>'',
  69. 'value'=>$row['jhz']
  70. ]
  71. ];
  72. return json($data);
  73. }else{
  74. $data = [
  75. 'status'=>0,
  76. 'msg'=>'失败',
  77. 'data'=>[
  78. 'name'=>'',
  79. 'value'=>''
  80. ]
  81. ];
  82. return json($data);
  83. }
  84. }
  85. //获取排程中工单数量
  86. public function getPczByRedis()
  87. {
  88. $row = cache('numDbToRedis');
  89. if($row){
  90. $data = [
  91. 'status'=>0,
  92. 'msg'=>'',
  93. 'data'=>[
  94. 'name'=>'',
  95. 'value'=>$row['pcz']
  96. ]
  97. ];
  98. return json($data);
  99. }else{
  100. $data = [
  101. 'status'=>0,
  102. 'msg'=>'失败',
  103. 'data'=>[
  104. 'name'=>'',
  105. 'value'=>''
  106. ]
  107. ];
  108. return json($data);
  109. }
  110. }
  111. //获取制程中工单数量
  112. public function getZczByRedis()
  113. {
  114. $row = cache('numDbToRedis');
  115. if($row){
  116. $data = [
  117. 'status'=>0,
  118. 'msg'=>'',
  119. 'data'=>[
  120. 'name'=>'',
  121. 'value'=>$row['zcz']
  122. ]
  123. ];
  124. return json($data);
  125. }else{
  126. $data = [
  127. 'status'=>0,
  128. 'msg'=>'失败',
  129. 'data'=>[
  130. 'name'=>'',
  131. 'value'=>''
  132. ]
  133. ];
  134. return json($data);
  135. }
  136. }
  137. }