|
@@ -111,6 +111,10 @@ class OpcDataController extends Controller
|
|
|
// 609水泵
|
|
|
$groupId = 4;
|
|
|
$result = $this->getPumpData($groupId);
|
|
|
+ } else if ($getDataType == 'compressed_air') {
|
|
|
+ // 压风
|
|
|
+ $groupId = 5;
|
|
|
+ $result = $this->getcompressedAirData($groupId);
|
|
|
} else {
|
|
|
return;
|
|
|
}
|
|
@@ -146,7 +150,7 @@ class OpcDataController extends Controller
|
|
|
$fanNum = $val->dev_type_id - 1; // 风机号
|
|
|
$label = $val->device_name; // 设备名
|
|
|
$devVal = $val->val; // 数值
|
|
|
- $jsonKey = $val->json_key; // json键值
|
|
|
+ $jsonKey = $val->json_key; // json键值
|
|
|
$unit = $val->unit; // 单位
|
|
|
$dataArr[$fanNum]['title'] = $val->dev_type_name; // 风机名
|
|
|
$valArr = [
|
|
@@ -269,4 +273,92 @@ class OpcDataController extends Controller
|
|
|
}
|
|
|
return $dataArr;
|
|
|
}
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ public function getcompressedAirData($groupId) {
|
|
|
+
|
|
|
+ $sqlStr = "
|
|
|
+ select t1.dev_type_id,
|
|
|
+ t1.dev_type_name,
|
|
|
+ t1.device_num,
|
|
|
+ t1.device_name,
|
|
|
+ case t.val
|
|
|
+ when 'True' then 1
|
|
|
+ when 'False' then 2
|
|
|
+ else t.val
|
|
|
+ end val,
|
|
|
+ t1.json_key,
|
|
|
+ t1.row_number,
|
|
|
+ t1.unit
|
|
|
+ from equipment t
|
|
|
+ join tb_dev_dict_list t1 on t.selItem = t1.selItem
|
|
|
+ where t1.group_id = ".$groupId."
|
|
|
+ and t1.is_show = 1
|
|
|
+ order by t1.dev_type_id, t1.row_number, t1.device_num
|
|
|
+ ";
|
|
|
+
|
|
|
+ $dbResult = $this->opcDB->select($sqlStr);
|
|
|
+ $timeArr = array(); // 用于拼接时分秒
|
|
|
+ $timeJsonKey; // 记录time字段key名
|
|
|
+ // dd($dbResult);
|
|
|
+ foreach ($dbResult as $key => $val) {
|
|
|
+ $devName = $val->dev_type_name; // 泵名
|
|
|
+ $rowNumber = $val->row_number; // 排序
|
|
|
+ $jsonKey = $val->json_key; // json键值
|
|
|
+ $label = $val->device_name; // 设备名
|
|
|
+ $devNum = $val->dev_type_id - 1; // 设备号
|
|
|
+ $unit = $val->unit; // 单位
|
|
|
+ $devVal = $val->val; // 数值
|
|
|
+
|
|
|
+ // $valArr[$jsonKey] = $devVal;
|
|
|
+
|
|
|
+
|
|
|
+ if ($jsonKey == 'run_parameter') {
|
|
|
+ $dataArr['compressed_air'][$devNum]['name'] = $devName;
|
|
|
+ $dataArr['compressed_air'][$devNum]['state'] = $devVal;
|
|
|
+
|
|
|
+ $valArr = [
|
|
|
+ 'label' => $label, // 标题
|
|
|
+ 'state' => $devVal, // 值
|
|
|
+ 'unit' => $unit // 单位
|
|
|
+ ,'json' => $jsonKey
|
|
|
+ ];
|
|
|
+ $dataArr['compressed_air'][$devNum][$jsonKey][] = $valArr;
|
|
|
+
|
|
|
+ } else if ($jsonKey == 'common') {
|
|
|
+ $valArr = [
|
|
|
+ 'label' => $label, // 标题
|
|
|
+ 'value' => $devVal, // 值
|
|
|
+ 'unit' => $unit // 单位
|
|
|
+ ];
|
|
|
+ $dataArr[$jsonKey][] = $valArr;
|
|
|
+ } else if ($jsonKey == 'drain_value_state') {
|
|
|
+ // 开关状态单独处理
|
|
|
+ $dataArr['compressed_air'][$devNum][$jsonKey] = $devVal;
|
|
|
+ if (array_key_exists($jsonKey, $dataArr['compressed_air'][$devNum])) {
|
|
|
+ $state = $dataArr['compressed_air'][$devNum][$jsonKey];
|
|
|
+ $dataArr['compressed_air'][$devNum][$jsonKey] = max($devVal, $state);
|
|
|
+ } else {
|
|
|
+ $dataArr['compressed_air'][$devNum][$jsonKey] = $devVal;
|
|
|
+ }
|
|
|
+ } else if ($jsonKey == 'compressed_air') {
|
|
|
+ $valArr = [
|
|
|
+ 'label' => $label, // 标题
|
|
|
+ 'value' => $devVal, // 值
|
|
|
+ 'unit' => $unit // 单位
|
|
|
+ ];
|
|
|
+ $dataArr['compressed_air'][$devNum][$jsonKey][] = $valArr;
|
|
|
+ } else if ($jsonKey == 'warn_state') {
|
|
|
+ $valArr = [
|
|
|
+ 'label' => $label, // 标题
|
|
|
+ 'state' => $devVal, // 值
|
|
|
+ 'unit' => $unit // 单位
|
|
|
+ ];
|
|
|
+ $dataArr['compressed_air'][$devNum][$jsonKey][] = $valArr;
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+ return $dataArr;
|
|
|
+ }
|
|
|
}
|