| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104 | 
							- <?php
 
- namespace App\Service;
 
- use App\Model\SystemL;
 
- /**
 
-  * 设备相关设置报表
 
-  * Class ReportFormsService
 
-  * @package App\Service
 
-  */
 
- class ReportFormsService extends Service
 
- {
 
-     /**
 
-      * 数据分析图
 
-      * @param $data
 
-      * @return array
 
-      */
 
-     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天内'];
 
-         $return = [];
 
-         foreach (SystemL::$device as $key => $value){
 
-             $list = [];
 
-             for ($i = $data['time'][0]; $i <= $data['time'][1]; $i+= 86400){
 
-                 $tmp['time'] = date("Y-m-d", $i);
 
-                 $tmp['num'] = mt_rand(1100, 1200);
 
-                 $list[] = $tmp;
 
-             }
 
-             $return[] = [
 
-                 "title" => $key,
 
-                 "list" => $list
 
-             ];
 
-         }
 
-         return [true, $return];
 
-     }
 
-     /**
 
-      * 数据OEE分析图
 
-      * @param $data
 
-      * @return array
 
-      */
 
-     public function deviceStatisticsReportOEEChart($data){
 
-         if(empty($data['time'][0]) || empty($data['time'][1])) return [false, '时间必须选择!'];
 
-         $day = $this->returnDays($data['time'], false);
 
-         if($day > 10) return [false, '查询时间仅支持范围区间在10天内'];
 
-         $return = [];
 
-         foreach (SystemL::$device as $key => $value){
 
-             $list = [];
 
-             for ($i = $data['time'][0]; $i <= $data['time'][1]; $i+= 86400){
 
-                 $tmp['time'] = date("Y-m-d", $i);
 
-                 $tmp['num'] = $this->getRandomFloat(35);
 
-                 $list[] = $tmp;
 
-             }
 
-             $return[] = [
 
-                 "title" => $key,
 
-                 "list" => $list
 
-             ];
 
-         }
 
-         return [true, $return];
 
-     }
 
-     function getRandomFloat($min = 40, $max = 43) {
 
-         // 生成一个在[0, 100)范围内的随机整数(乘以100是为了扩大范围,便于计算)
 
-         $randomInt = mt_rand(0, 99);
 
-         // 将随机整数转换为浮点数,并乘以范围(45-40),然后加上最小值40
 
-         $randomFloat = ($randomInt / 100) * ($max - $min) + $min;
 
-         // 返回两位小数
 
-         return round($randomFloat, 2);
 
-     }
 
-     /**
 
-      * 用于计算时间
 
-      * @param $minute
 
-      * @return string
 
-      */
 
-     public function calTimeReturnMin($minute){
 
-         return number_format($minute * 1.5 / 60,2);
 
-     }
 
-     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;
 
-     }
 
- }
 
 
  |