Browse Source

限制 查询时间范围

cqp 10 months ago
parent
commit
adb5ed4c19
2 changed files with 28 additions and 1 deletions
  1. 12 1
      app/Service/ReportFormsService.php
  2. 16 0
      app/Service/Service.php

+ 12 - 1
app/Service/ReportFormsService.php

@@ -668,6 +668,9 @@ class ReportFormsService extends Service
     public function deviceStatisticsReport($data){
     public function deviceStatisticsReport($data){
         if(empty($data['time'][0]) || empty($data['time'][1])) return [false, '时间必须选择!'];
         if(empty($data['time'][0]) || empty($data['time'][1])) return [false, '时间必须选择!'];
 
 
+        $day = $this->returnDays($data['time']);
+        if($day > 10) return [false, '设备数据查询时间仅支持范围区间在10天内'];
+
         $model = SystemL::where('time','>=',$data['time'][0])
         $model = SystemL::where('time','>=',$data['time'][0])
             ->where('time','<',$data['time'][1]);
             ->where('time','<',$data['time'][1]);
         if(! empty($data['title'])) $model->whereIn('device_name',$data['title']);
         if(! empty($data['title'])) $model->whereIn('device_name',$data['title']);
@@ -757,13 +760,15 @@ class ReportFormsService extends Service
     public function deviceStatisticsReportDetail($data){
     public function deviceStatisticsReportDetail($data){
         if(empty($data['device_name']) || empty($data['time'][0]) || empty($data['time'][0])) return [false,'参数不能为空!'];
         if(empty($data['device_name']) || empty($data['time'][0]) || empty($data['time'][0])) return [false,'参数不能为空!'];
 
 
+        $day = $this->returnDays($data['time']);
+        if($day > 10) return [false, '设备数据查询时间仅支持范围区间在10天内'];
+
         $result = SystemL::where('time','>=',$data['time'][0])
         $result = SystemL::where('time','>=',$data['time'][0])
             ->where('time','<',$data['time'][1])
             ->where('time','<',$data['time'][1])
             ->where('device_name',$data['device_name'])
             ->where('device_name',$data['device_name'])
             ->select('device_name','time','data_point_name')
             ->select('device_name','time','data_point_name')
             ->get()->toArray();
             ->get()->toArray();
 
 
-
         $return = [
         $return = [
             'run' => [],
             'run' => [],
             'work' => [],
             'work' => [],
@@ -804,6 +809,9 @@ class ReportFormsService extends Service
     public function deviceStatisticsReportChart($data){
     public function deviceStatisticsReportChart($data){
         if(empty($data['time'][0]) || empty($data['time'][1])) return [false, '时间必须选择!'];
         if(empty($data['time'][0]) || empty($data['time'][1])) return [false, '时间必须选择!'];
 
 
+        $day = $this->returnDays($data['time'], false);
+        if($day > 31) return [false, '查询时间仅支持范围区间在31天内'];
+
         $process_time = [];
         $process_time = [];
 
 
         $result = SystemL::where('time','>=',$data['time'][0])
         $result = SystemL::where('time','>=',$data['time'][0])
@@ -865,6 +873,9 @@ class ReportFormsService extends Service
     public function deviceStatisticsReportOEEChart($data){
     public function deviceStatisticsReportOEEChart($data){
         if(empty($data['time'][0]) || empty($data['time'][1])) return [false, '时间必须选择!'];
         if(empty($data['time'][0]) || empty($data['time'][1])) return [false, '时间必须选择!'];
 
 
+        $day = $this->returnDays($data['time'], false);
+        if($day > 31) return [false, '查询时间仅支持范围区间在31天内'];
+
         //获取数据
         //获取数据
         $result = SystemL::where('time','>=',$data['time'][0])
         $result = SystemL::where('time','>=',$data['time'][0])
             ->where('time','<',$data['time'][1])
             ->where('time','<',$data['time'][1])

+ 16 - 0
app/Service/Service.php

@@ -339,4 +339,20 @@ dd(filter_var($ip, FILTER_VALIDATE_IP) === false);
 
 
         return $total;
         return $total;
     }
     }
+
+    function returnDays($time = [], $is_mirco_time = true){
+
+        // 示例时间戳
+        $timestamp1 = $time[0];
+        $timestamp2 = $time[1];
+
+        // 计算时间差
+        $difference = abs($timestamp2 - $timestamp1);
+
+        // 将时间差转换为天数
+        $days = floor($difference / (60 * 60 * 24));
+        if($is_mirco_time) $days = $days / 1000;
+
+        return $days;
+    }
 }
 }