cqp 3 tháng trước cách đây
mục cha
commit
73b37acdea
1 tập tin đã thay đổi với 32 bổ sung5 xóa
  1. 32 5
      app/Service/ReportFormsService.php

+ 32 - 5
app/Service/ReportFormsService.php

@@ -14,6 +14,7 @@ use App\Model\ScrappCount;
 use App\Model\SystemL;
 use App\Model\Team;
 use Illuminate\Support\Facades\DB;
+use Illuminate\Support\Facades\Redis;
 
 /**
  * 设备相关设置报表
@@ -723,6 +724,10 @@ class ReportFormsService extends Service
         $day = $this->returnDays($data['time']);
         if($day > 10) return [false, '设备数据查询时间仅支持范围区间在10天内'];
 
+        $key_redis = $this->getRedisKey($data);
+        $result = Redis::get($key_redis);
+        if(! empty($result)) return [true, json_decode($result, true)];
+
         $time1 = $data['time'][0] / 1000;
         $time2 = $data['time'][1] / 1000;
         $model = SystemL::where('time','>=', $time1)
@@ -819,7 +824,9 @@ class ReportFormsService extends Service
             ];
         }
 
-        return [true,$device_name];
+        Redis::setex($key_redis,3600, json_encode($device_name));
+
+        return [true, $device_name];
     }
 
     public function deviceStatisticsReportDetail($data){
@@ -879,6 +886,11 @@ class ReportFormsService extends Service
         $day = $this->returnDays($data['time'], false);
         if($day > 10) return [false, '查询时间仅支持范围区间在10天内'];
 
+        $time_all = [];
+        for ($i = $data['time'][0]; $i <= $data['time'][1]; $i+= 86400){
+            $time_all[] = date("Y-m-d", $i);
+        }
+
         $process_time = [];
 
         $device = (new EquipmentService())->getDeviceList();
@@ -890,7 +902,6 @@ class ReportFormsService extends Service
             ->get()->toArray();
 
         //所有的时间
-        $time_all = [];
         foreach ($result as $value){
             $time = date('Y-m-d',$value['time']);
             //工作 运行次数
@@ -899,9 +910,7 @@ class ReportFormsService extends Service
             }else{
                 $process_time[$value['device_name']][$time] = 1;
             }
-            if(! in_array($time, $time_all)) $time_all[] = $time;
         }
-        sort($time_all);
 
         //数据结构模型
         foreach ($device as $k => $v){
@@ -945,6 +954,10 @@ class ReportFormsService extends Service
         $day = $this->returnDays($data['time'], false);
         if($day > 10) return [false, '查询时间仅支持范围区间在10天内'];
 
+        $key_redis = $this->getRedisKey($data);
+        $result = Redis::get($key_redis);
+        if(! empty($result)) return [true, json_decode($result, true)];
+
         $time_all = [];
         for ($i = $data['time'][0]; $i <= $data['time'][1]; $i+= 86400){
             $time_all[] = date("Y-m-d", $i);
@@ -1060,7 +1073,21 @@ class ReportFormsService extends Service
             $final[] = $tmp;
         }
 
-        return [true,$final];
+        Redis::setex($key_redis,3600, json_encode($final));
+
+        return [true, $final];
+    }
+
+    private function getRedisKey($data, $type = 1){
+        if($type == 1){
+            $time1 = $data['time'][0] / 1000;
+            $time2 = $data['time'][1] / 1000;
+        }else{
+            $time1 = $data['time'][0];
+            $time2 = $data['time'][1];
+        }
+
+        return $time1 . $time2 . $type . "report";
     }
 
     /**