Browse Source

690水泵房接口

秦锐 3 năm trước cách đây
mục cha
commit
41c201b40c
1 tập tin đã thay đổi với 36 bổ sung21 xóa
  1. 36 21
      Modules/OpcData/Http/Controllers/Api/OpcDataController.php

+ 36 - 21
Modules/OpcData/Http/Controllers/Api/OpcDataController.php

@@ -14,7 +14,7 @@ class OpcDataController extends Controller
     protected $opcDB;
     // private $opcDictArr = array();
     protected $opcConnectName   = 'mysql_opc_jinjiaqu';
-    // private $dictTableName      = 'tb_fan_dict_list';
+    // private $dictTableName      = 'tb_dev_dict_list';
     // private $dataTableName      = 'equipment';
     
     public function __construct() {
@@ -104,9 +104,13 @@ class OpcDataController extends Controller
             $groupId = 2;
             $result = $this->getFanData($groupId);
         } else if ($getDataType == 'pump_zy') {
-            // 水泵风机
+            // 中央水泵
             $groupId = 3;
             $result = $this->getPumpData($groupId);
+        } else if ($getDataType == 'pump_690') {
+            // 609水泵
+            $groupId = 4;
+            $result = $this->getPumpData($groupId);
         } else {
             return;
         }
@@ -117,8 +121,8 @@ class OpcDataController extends Controller
     public function getFanData($groupId) {
 
         $sqlStr = "
-        select t1.fan_type_id,
-                t1.fan_type_name,
+        select t1.dev_type_id,
+                t1.dev_type_name,
                 t1.device_num,
                 t1.device_name,
                 case t.val 
@@ -130,21 +134,21 @@ class OpcDataController extends Controller
                 t1.row_number,
                 t1.unit
         from equipment t
-        join tb_fan_dict_list t1 on t.selItem = t1.selItem
+        join tb_dev_dict_list t1 on t.selItem = t1.selItem
         where t1.group_id = ".$groupId."
         and t1.is_show = 1
-        order by t1.fan_type_id, t1.row_number, t1.device_num
+        order by t1.dev_type_id, t1.row_number, t1.device_num
         ";
         
         $dbResult = $this->opcDB->select($sqlStr);
         // dd($dbResult);
         foreach ($dbResult as $key => $val) {
-            $fanNum     = $val->fan_type_id - 1;        // 风机号
+            $fanNum     = $val->dev_type_id - 1;        // 风机号
             $label      = $val->device_name;            // 设备名
             $devVal     = $val->val;                    // 数值
             $jsonKey   = $val->json_key;               // json键值
             $unit       = $val->unit;                   // 单位
-            $dataArr[$fanNum]['title'] = $val->fan_type_name; // 风机名
+            $dataArr[$fanNum]['title'] = $val->dev_type_name; // 风机名
             $valArr = [
                 'label' => $label,      // 标题
                 'unit'  => $unit        // 单位
@@ -173,8 +177,8 @@ class OpcDataController extends Controller
     public function getPumpData($groupId) {
 
         $sqlStr = "
-        select t1.fan_type_id,
-                t1.fan_type_name,
+        select t1.dev_type_id,
+                t1.dev_type_name,
                 t1.device_num,
                 t1.device_name,
                 case t.val 
@@ -186,10 +190,10 @@ class OpcDataController extends Controller
                 t1.row_number,
                 t1.unit
         from equipment t
-        join tb_fan_dict_list t1 on t.selItem = t1.selItem
+        join tb_dev_dict_list t1 on t.selItem = t1.selItem
         where t1.group_id = ".$groupId."
         and t1.is_show = 1
-        order by t1.fan_type_id, t1.row_number, t1.device_num
+        order by t1.dev_type_id, t1.row_number, t1.device_num
         ";
         
         $dbResult = $this->opcDB->select($sqlStr);
@@ -197,11 +201,11 @@ class OpcDataController extends Controller
         $timeJsonKey;           // 记录time字段key名
         // dd($dbResult);
         foreach ($dbResult as $key => $val) {
-            $fanName    = $val->fan_type_name;          // 泵名
+            $devName    = $val->dev_type_name;          // 泵名
             $rowNumber  = $val->row_number;             // 排序
             $jsonKey    = $val->json_key;               // json键值
             $label      = $val->device_name;            // 设备名
-            $devNum     = $val->fan_type_id - 1;        // 设备号
+            $devNum     = $val->dev_type_id - 1;        // 设备号
             $unit       = $val->unit;                   // 单位
             $devVal     = $val->val;                    // 数值
 
@@ -215,12 +219,23 @@ class OpcDataController extends Controller
                 $dataArr[$jsonKey][] = $valArr;
 
             } else if ($rowNumber == 5) {
-
-                $valArr = [
-                    'label' => $fanName,      // 标题
-                    'state' => $devVal      // 值
-                ];
-                $dataArr[$jsonKey][] = $valArr;
+                if ($groupId == 4) {
+                    // 609水泵房单独处理状态
+                    $dataArr['water_pump'][$devNum]['name'] = $devName;
+                    if (array_key_exists($jsonKey, $dataArr['water_pump'][$devNum])) {
+                        $state = $dataArr['water_pump'][$devNum][$jsonKey];
+                        $dataArr['water_pump'][$devNum][$jsonKey] = max($devVal, $state);
+                    } else {
+                        $dataArr['water_pump'][$devNum][$jsonKey] = $devVal;
+                    }
+                } else {
+                    // 中央水泵房电机开启状态处理
+                    $valArr = [
+                        'label' => $devName,      // 标题
+                        'state' => $devVal      // 值
+                    ];
+                    $dataArr[$jsonKey][] = $valArr;
+                }
 
             } else if ($rowNumber == 10 or $rowNumber == 11) {
 
@@ -247,7 +262,7 @@ class OpcDataController extends Controller
                 $valArr = [
                     'label' => $key,                // 标题
                     'value' => $timeFormatStr,      // 值
-                    'unit'  => null                 // 单位
+                    'unit'  => ''                   // 单位
                 ];
                 $dataArr['water_pump'][$i][$timeJsonKey][] = $valArr;
             }