瀏覽代碼

限制 查询时间范围

cqp 10 月之前
父節點
當前提交
adb5ed4c19
共有 2 個文件被更改,包括 28 次插入1 次删除
  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){
         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])
             ->where('time','<',$data['time'][1]);
         if(! empty($data['title'])) $model->whereIn('device_name',$data['title']);
@@ -757,13 +760,15 @@ class ReportFormsService extends Service
     public function deviceStatisticsReportDetail($data){
         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])
             ->where('time','<',$data['time'][1])
             ->where('device_name',$data['device_name'])
             ->select('device_name','time','data_point_name')
             ->get()->toArray();
 
-
         $return = [
             'run' => [],
             'work' => [],
@@ -804,6 +809,9 @@ class ReportFormsService extends Service
     public function deviceStatisticsReportChart($data){
         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 = [];
 
         $result = SystemL::where('time','>=',$data['time'][0])
@@ -865,6 +873,9 @@ class ReportFormsService extends Service
     public function deviceStatisticsReportOEEChart($data){
         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])
             ->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;
     }
+
+    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;
+    }
 }