Browse Source

翌星大屏小时产量

曹鹤洋 1 year ago
parent
commit
1f22123ad8
1 changed files with 63 additions and 1 deletions
  1. 63 1
      application/api/controller/Index.php

+ 63 - 1
application/api/controller/Index.php

@@ -191,7 +191,7 @@ class Index extends Api
     {
         $yhcjDbToRedis = [];
 
-        //获取所有印车间
+        //获取所有印车间
         $rows = db('设备_基本资料')
             ->where('使用部门','印后车间')
             ->column('设备编号');
@@ -289,4 +289,66 @@ class Index extends Api
         return json($res);
     }
 
+    //车间产量数据同步Redis
+    public function jtClDbToRedis()
+    {
+        $jtClDbToRedis = [];
+
+        //获取机台
+        $rows = db('设备_基本资料')
+            ->whereNotNull('sys_sbID')
+            ->column('设备编号');
+
+        //获取24小时内的hour组成数组
+        $hour = date('H');
+        $arr1 = range($hour+1,'23');
+        $arr2 = range('00',$hour);
+        $arr = array_merge($arr1,$arr2);
+        $arr = array_map(function($num) {
+            return sprintf("%02d", $num);
+        }, $arr);
+
+        foreach($rows as $value){
+            $brr = [];
+            //查询该机台24内的产量数据
+            $row = db('设备_产量计酬')
+                ->where('sys_rq', '>', date('Y-m-d H:i:s', strtotime('-23 hours')))
+                ->where('sczl_jtbh', $value)
+                ->group('LEFT(sys_rq, 13)')
+                ->order('sys_rq')
+                ->column('DATE_FORMAT(sys_rq, "%H") as hour, SUM(sczl_cl) as total_cl');
+            //将产量数据赋值给小时
+            foreach($arr as $v){
+                $brr[$v] = array_key_exists($v,$row) ? $row[$v] : '0';
+            }
+            $jtClDbToRedis[$value] = $brr;
+        }
+        $bool = cache('jtClDbToRedis',$jtClDbToRedis);
+        if($bool===false) $this->error('存入redis失败','','000002');
+        $this->success('同步成功');
+    }
+
+    //获取机台产量数据
+    public function getJtClDbByRedis()
+    {
+        $req = $this->request->param();
+        if (isset($req['jtbh']) && !empty($req['jtbh'])){
+            $jtbh = $req['jtbh'];
+        }else{
+            $this->error('参数错误');
+        }
+        $row = cache('jtClDbToRedis');
+        $result['categories']=[];
+        $result['series']['name']=$jtbh;
+        $result['series']['data']=[];
+        if($row && array_key_exists($jtbh,$row)){
+            $result['categories'] = array_map('strval', array_keys($row[$jtbh]));
+            $result['series']['data'] = array_values($row[$jtbh]);
+        }
+        
+        $res['status']=0;
+        $res['msg']='';
+        $res['data']=$result;
+        return json($res);
+    }
 }