Browse Source

计划/制程/排程中工单数量同步以及获取

曹鹤洋 1 year ago
parent
commit
7e4ab9d37c
1 changed files with 129 additions and 0 deletions
  1. 129 0
      application/api/controller/Index.php

+ 129 - 0
application/api/controller/Index.php

@@ -20,4 +20,133 @@ class Index extends Api
     {
         $this->success('请求成功');
     }
+
+    //计划/排程/制程工单数量同步Redis
+    public function numDbToRedis()
+    {
+        $numDbToRedis = [];
+
+        //获取计划中的订单数量
+        $jhz = db('工单_基本资料')
+            ->where('gd_statu','like','%计划中%')
+            ->count('Gd_gdbh');
+
+        if($jhz!==false){
+            $numDbToRedis['jhz'] = $jhz;
+        }else{
+            $numDbToRedis['jhz'] = 0;
+        }
+
+        //获取生产中的所有数据
+        $rows = db('工单_基本资料')
+            ->distinct('Gd_gdbh')
+            ->where('gd_statu','like','%生产中%')
+            ->column('Gd_gdbh');
+
+        if($rows===false){
+            $numDbToRedis['pcz'] = 0;
+            $numDbToRedis['zcz'] = 0;
+            $bool = cache('numDbToRedis',$jhz);
+            if($bool===false) $this->error('订单数量存入redis失败','','000001');
+            $this->success('请求成功');
+        }
+        
+        //查询Gy0_sj1不等于1900-01-01 00:00:00的数据
+        $data = db('工单_印件资料')->alias('y')
+            ->join('工单_工艺资料 g','y.Yj_Gdbh = g.Gy0_gdbh AND y.yj_Yjno = g.Gy0_yjno')
+            ->where('g.Gy0_sj1','<>','1900-01-01 00:00:00')
+            ->where('y.Yj_Gdbh','in',$rows)
+            ->group('y.Yj_Gdbh')
+            ->column('y.Yj_Gdbh');
+        $zcz = count($data);
+        $pcz = count($rows) - count($data);
+
+        $numDbToRedis['pcz'] = $pcz;
+        $numDbToRedis['zcz'] = $zcz;
+        $bool = cache('numDbToRedis',$numDbToRedis);
+        if($bool===false) $this->error('订单数量存入redis失败','','000002');
+        $this->success('同步成功');
+    }
+
+    //获取计划中工单数量
+    public function getJhzByRedis()
+    {
+        $row = cache('numDbToRedis');
+        if($row){
+            $data = [
+                'status'=>0,
+                'msg'=>'',
+                'data'=>[
+                    'name'=>'',
+                    'value'=>$row['jhz']
+                ]
+            ];
+            return json($data);
+        }else{
+            $data = [
+                'status'=>0,
+                'msg'=>'失败',
+                'data'=>[
+                    'name'=>'',
+                    'value'=>''
+                ]
+            ];
+            return json($data);
+        }
+    }
+
+    //获取排程中工单数量
+    public function getPczByRedis()
+    {
+        $row = cache('numDbToRedis');
+        if($row){
+            $data = [
+                'status'=>0,
+                'msg'=>'',
+                'data'=>[
+                    'name'=>'',
+                    'value'=>$row['pcz']
+                ]
+            ];
+            return json($data);
+        }else{
+            $data = [
+                'status'=>0,
+                'msg'=>'失败',
+                'data'=>[
+                    'name'=>'',
+                    'value'=>''
+                ]
+            ];
+            return json($data);
+        }
+    }
+
+    //获取制程中工单数量
+    public function getZczByRedis()
+    {
+        $row = cache('numDbToRedis');
+        if($row){
+            $data = [
+                'status'=>0,
+                'msg'=>'',
+                'data'=>[
+                    'name'=>'',
+                    'value'=>$row['zcz']
+                ]
+            ];
+            return json($data);
+        }else{
+            $data = [
+                'status'=>0,
+                'msg'=>'失败',
+                'data'=>[
+                    'name'=>'',
+                    'value'=>''
+                ]
+            ];
+            return json($data);
+        }
+    }
+
 }