cqp 3 hónapja
szülő
commit
5b5a76fee5
1 módosított fájl, 19 hozzáadás és 2 törlés
  1. 19 2
      app/Service/ReportFormsService.php

+ 19 - 2
app/Service/ReportFormsService.php

@@ -726,13 +726,17 @@ class ReportFormsService extends Service
 
         $key_redis = $this->getRedisKey($data);
         $result = Redis::get($key_redis);
-        if(! empty($result)) return [true, json_decode($result, true)];
+        if(! empty($result)) {
+            $list = json_decode($result, true);
+            $list = $this->clearData($data, $list);
+            return [true, $list];
+        }
 
         $time1 = $data['time'][0] / 1000;
         $time2 = $data['time'][1] / 1000;
         $model = SystemL::where('time','>=', $time1)
             ->where('time','<=',$time2);
-        if(! empty($data['title'])) $model->whereIn('device_name',$data['title']);
+//        if(! empty($data['title'])) $model->whereIn('device_name',$data['title']);
         $result = $model->select('device_name','time','value','data_point_name')
             ->get()
             ->toArray();
@@ -826,9 +830,22 @@ class ReportFormsService extends Service
 
         Redis::setex($key_redis,3600, json_encode($device_name));
 
+        $device_name = $this->clearData($data, $device_name);
+
         return [true, $device_name];
     }
 
+    private function clearData($data, $list){
+        if(! empty($data['title'])){
+            foreach ($list as $key => $value){
+                if(! in_array($value['device_name'], $data['title'])) unset($list[$key]);
+            }
+            $list = array_values($list);
+        }
+
+        return $list;
+    }
+
     public function deviceStatisticsReportDetail($data){
         if(empty($data['device_name']) || empty($data['time'][0]) || empty($data['time'][0])) return [false,'参数不能为空!'];