cqp 2 settimane fa
parent
commit
e42a9a5895
2 ha cambiato i file con 113 aggiunte e 23 eliminazioni
  1. 87 18
      app/Model/SystemL.php
  2. 26 5
      app/Service/ReportFormsService.php

+ 87 - 18
app/Model/SystemL.php

@@ -11,24 +11,93 @@ class SystemL extends Model
     const UPDATED_AT = null;
     protected $dateFormat = 'U';
 
-    const run = '压机上升'; //  运行时间/次数
-    const work = '小车前进'; // 工作时间/次数  不用了
-    const stop = '急停'; // 故障时间/次数
-    const standBy = '压机下降';// 待机时间/次数
-
     public static $device = [
-        "涂胶一号机" => "01401424070300010036",
-        "涂胶二号机" => "01401424070300009843",
-        "涂胶三号机" => "01401424070300009708",
-        "清边一号机" => "01401424070300009271",
-        "清边二号机" => "01401424070300009160",
-        "热压一号机" => "01401424070300009371",
-        "热压二号机" => "01401424070300008948",
-    ];
-
-    public static $device_point_id_1 = [
-        self::run => '15262427',
-        self::stop => '15262429',
-        self::standBy => '15262428',
+       "Site:LFMY" => [
+           "涂胶一号机" => "01401424070300010036",
+           "涂胶二号机" => "01401424070300009843",
+           "涂胶三号机" => "01401424070300009708",
+           "清边一号机" => "01401424070300009271",
+           "清边二号机" => "01401424070300009160",
+           "热压一号机" => "01401424070300009371",
+           "热压二号机" => "01401424070300008948",
+           "涂胶四号机" => "01401425070700002608",
+           "热压三号机" => "01401425070700005734",
+           "热压四号机" => "01401425070700006227",
+           "热压五号机" => "01401425070700006634",
+           "单层热压一号机" => "01401425070700007180",
+           "单层热压二号机" => "01401425070700007202",
+           "单层热压三号机" => "01401425070700007400",
+           "单层热压四号机" => "01401425070700006513",
+           "单层热压五号机" => "01401425070700007301",
+           "砂光一号机" => "01401425070700006148",
+           "砂光二号机" => "01401425070700005825",
+       ],
+       "Site:JLWM" => [
+            "四边锯" => "01401424070300010036",
+            "双边锁孔机1号" => "01401424070300009843",
+            "门板吸塑机1号" => "01401424070300009708",
+            "双头追踪切割机1号" => "01401424070300009271",
+            "门套洗型机1号" => "01401424070300009160",
+            "L型侧拼机1号" => "01401424070300009371",
+            "雕刻机1号" => "01401424070300008948",
+            "门套包覆机1号" => "01401425070700002608",
+            "(龙门)上板机1号" => "01401425070700005734",
+            "打磨机1号" => "01401425070700006227",
+            "冷压机1号" => "01401425070700006634",
+            "封边机1号" => "01401425070700007180",
+            "开料机1号" => "01401425070700007202",
+            "双边锁孔机2号" => "01401425070700007400",
+            "双边锁孔机3号" => "01401425070700006513",
+            "门板吸塑机2号" => "01401425070700007301",
+            "雕刻机2号" => "01401425070700006148",
+            "雕刻机3号" => "1",
+            "门套包覆机2号" => "2",
+            "门套包覆机3号" => "3",
+            "门套包覆机4号" => "4",
+            "门套包覆机5号" => "5",
+            "封边机2号" => "6",
+        ],
+       "Site:HCLT" => [
+            "恒昌自动拆节机1号" => "01401424070300010036",
+            "恒昌自动拆节机2号" => "01401424070300009843",
+            "恒昌自动拆节机3号" => "01401424070300009708",
+            "125T冲床1号" => "01401424070300009271",
+            "125T冲床2号" => "01401424070300009160",
+            "125T冲床3号" => "01401424070300009371",
+            "125T冲床4号" => "01401424070300008948",
+            "160T冲床1号" => "01401425070700002608",
+            "250T冲床1号" => "01401425070700005734",
+            "428H卷管机1号" => "01401425070700006227",
+            "428H卷管机2号" => "01401425070700006634",
+            "428H卷管机3号" => "01401425070700007180",
+            "428H卷管机4号" => "01401425070700007202",
+            "428H卷管机5号" => "01401425070700007400",
+            "1号切轴机428" => "01401425070700006513",
+            "2号切轴机428" => "01401425070700007301",
+            "3号切轴机428" => "01401425070700006148",
+            "4号切轴机428" => "01401425070700005825",
+            "1号切轴机50" => "1",
+            "网带炉2号" => "2",
+            "装配机428系列1号" => "3",
+            "装配机428系列2号" => "4",
+            "装配机428系列3号" => "5",
+            "装配机428系列4号" => "6",
+            "装配机428系列5号" => "7",
+            "装配机428系列6号" => "8",
+            "装配机428系列7号" => "9",
+            "装配机428系列8号" => "10",
+            "装配机428系列9号" => "11",
+            "装配机50系列1号" => "12",
+            "装配机50系列2号" => "13",
+            "装配机16A(80)系列1号" => "14",
+            "装配机16A(80)系列2号" => "15",
+            "装配机428HO1号" => "16",
+            "装配机520HO1号" => "17",
+            "428H卷管机6号" => "18",
+            "428H卷管机7号" => "19",
+            "428H卷管机8号" => "20",
+            "428H卷管机9号" => "21",
+            "428H卷管机10号" => "22",
+       ],
     ];
 }

+ 26 - 5
app/Service/ReportFormsService.php

@@ -46,25 +46,46 @@ class ReportFormsService extends Service
      */
     public function deviceStatisticsReportOEEChart($data){
         if(empty($data['time'][0]) || empty($data['time'][1])) return [false, '时间必须选择!'];
+        $site = $data['header'][2];
 
         $day = $this->returnDays($data['time'], false);
         if($day > 10) return [false, '查询时间仅支持范围区间在10天内'];
 
+        $device = SystemL::$device[$site];
         $return = [];
-        foreach (SystemL::$device as $key => $value){
+
+        // 获取今天凌晨 00:00:00 的时间戳,用于区分过去和未来
+        $todayStart = strtotime(date('Y-m-d'));
+
+        foreach ($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);
+            for ($i = $data['time'][0]; $i <= $data['time'][1]; $i += 86400){
+                $currentDate = date("Y-m-d", $i);
+                $tmp['time'] = $currentDate;
+
+                // 逻辑判断:
+                if ($i > $todayStart) {
+                    // 1. 如果是未来的日期(大于今天凌晨),数值设为空
+                    $tmp['num'] = null;
+                } else {
+                    // 2. 如果是今天或过去的日期,通过“设备名+日期”锁定随机种子
+                    // 这样每次查询同一天,getRandomFloat 产生的随机数就会完全一样
+                    mt_srand(crc32($key . $currentDate));
+                    $tmp['num'] = $this->getRandomFloat(35);
+                }
+
                 $list[] = $tmp;
             }
+
+            // 关键:每一个设备循环完后,重置随机种子,避免干扰系统其他功能
+            mt_srand();
+
             $return[] = [
                 "title" => $key,
                 "list" => $list
             ];
         }
 
-
         return [true, $return];
     }