Browse Source

Merge branch 'master' of http://git.jieweizhineng.com/ushio/video_system into master

任敬轩 3 năm trước cách đây
mục cha
commit
16d01eb090
1 tập tin đã thay đổi với 40 bổ sung32 xóa
  1. 40 32
      Modules/OpcData/Http/Controllers/Api/OpcDataController.php

+ 40 - 32
Modules/OpcData/Http/Controllers/Api/OpcDataController.php

@@ -33,13 +33,12 @@ class OpcDataController extends Controller
         ],
 
         'shicaocun'    => [
-            'fan_1'    => 1,
-            'fan_2'    => 2,
-            'pump_zy'           => 3,
-            'pump_690'          => 4,
-            'compressed_air'    => 5,
-            'belt_13'           => 6,
-            'hoist'             => 7
+            'fan_1'             => 1,
+            'fan_2'             => 2,
+            'pump_1'            => 3,
+            'pump_2'            => 4,
+            'pump_3'            => 5,
+            'compressed_air'    => 6,
         ],
     ];
     
@@ -53,7 +52,7 @@ class OpcDataController extends Controller
 
         $opcDB =  DB::connection($opcConnectName);
         
-        if (array_key_exists($getDataType, $this->localConf[$getMineCode])) {
+        if (isset($this->localConf[$getMineCode][$getDataType])) {
             $groupId = $this->localConf[$getMineCode][$getDataType];
             $sqlStr = "
             select t1.dev_type_id,
@@ -75,23 +74,8 @@ class OpcDataController extends Controller
             order by t1.dev_type_id, t1.row_number, t1.device_num, t1.device_name
             ";
             $dbResult = $opcDB->select($sqlStr);
+            // echo($sqlStr);
             switch($getDataType) {
-                // 中部风机
-                case 'ventilation_zb':
-                    $result = $this->getFanData($dbResult);
-                    break;
-                // 北部风机
-                case 'ventilation_bb':
-                    $result = $this->getFanData($dbResult);
-                    break;
-                case 'pump_zy':
-                    // 中央水泵
-                    $result = $this->getPumpData($dbResult);
-                    break;
-                case 'pump_690':
-                    // 609水泵
-                    $result = $this->getPumpData($dbResult);
-                    break;
                 case 'compressed_air':
                     // 压风
                     $result = $this->getCompressedAirData($dbResult);
@@ -105,16 +89,29 @@ class OpcDataController extends Controller
                     $result = $this->getHoistData($dbResult);
                     break;
                 
+                // 金家渠风机
+                case 'ventilation_zb':
+                case 'ventilation_bb':
+                    // 中部风机、北部风机
                 case 'fan_1':
-                    // 风机1
-                    $result = $this->getFanData($dbResult);
-                    break;
                 case 'fan_2':
-                    // 风机1
+                    // 通用风机1、2
                     $result = $this->getFanData($dbResult);
                     break;
+                // 金家渠水泵
+                case 'pump_zy':
+                case 'pump_690':
+                    // 中央水泵、609水泵
+                case 'pump_1':
+                case 'pump_2':
+                case 'pump_3':
+                    // 通用水泵1、2、3
+                    $result = $this->getPumpData($dbResult);
+                    break;
+            }
+            if (isset($result)) {
+                return response()->json($result);
             }
-            return response()->json($result);
         }
         return;
     }
@@ -157,6 +154,7 @@ class OpcDataController extends Controller
     // 水泵
     public function getPumpData($dbResult) {
 
+        $dataArr = array();
         $timeArr = array();     // 用于拼接时分秒
         $timeJsonKey;           // 记录time字段key名
         // dd($dbResult);
@@ -181,13 +179,16 @@ class OpcDataController extends Controller
             } else if ($jsonKey == 'water_pump') {
                 // 水泵、状态
                 $dataArr[$jsonKey][$devNum]['label'] = $devName;
-                if (array_key_exists($jsonKey, $dataArr[$jsonKey][$devNum])) {
+
+                if (isset($dataArr[$jsonKey][$devNum]['state'])) {
                     $state = $dataArr[$jsonKey][$devNum]['state'];
                     $dataArr[$jsonKey][$devNum]['state'] = max($devVal, $state);
                 } else {
                     $dataArr[$jsonKey][$devNum]['state'] = $devVal;
                 }
-            } else if ($jsonKey == 'parameter' && $unit == 'HH' && $unit == 'MM' && $unit == 'SS') {
+
+                // dd($dataArr);
+            } else if ($jsonKey == 'parameter' && ($unit == 'DD' || $unit == 'HH' || $unit == 'MM' || $unit == 'SS')) {
                 // 处理时长
                 $timeArr[$label][$devNum][$unit] = $devVal;
                 $timeJsonKey = $jsonKey;
@@ -208,7 +209,12 @@ class OpcDataController extends Controller
 
         foreach ($timeArr as $key => $value) {
             for ($i=0; $i < count($value); $i++) {
-                $timeFormatStr = $value[$i]['HH'].'时'.$value[$i]['MM'].'分'.$value[$i]['SS'].'秒';
+                $day    = isset($value[$i]['DD']) ? isset($value[$i]['DD']).'天' : '';
+                $hour   = isset($value[$i]['HH']) ? isset($value[$i]['HH']).'时' : '';
+                $minute = isset($value[$i]['MM']) ? isset($value[$i]['MM']).'分' : '';
+                $second = isset($value[$i]['SS']) ? isset($value[$i]['SS']).'秒' : '';
+                $timeFormatStr = $day.$hour.$minute.$second;
+                // $timeFormatStr = isset($value[$i]['DD']).'天'.$value[$i]['HH'].'时'.$value[$i]['MM'].'分'.isset($value[$i]['SS']).'秒';
                 $valArr = [
                     'label' => $key,                // 标题
                     'value' => $timeFormatStr,      // 值
@@ -217,6 +223,7 @@ class OpcDataController extends Controller
                 $dataArr['water_pump'][$i][$timeJsonKey][] = $valArr;
             }
         }
+
         return $dataArr;
     }
 
@@ -224,6 +231,7 @@ class OpcDataController extends Controller
     // 压风
     public function getCompressedAirData($dbResult) {
 
+        $dataArr = array();
         $timeArr = array();     // 用于拼接时分秒
         $timeJsonKey;           // 记录time字段key名
         // dd($dbResult);