system_type; // 获取需要的数据 $dataArr = array(); // 返回数据数组 $db = DB::connection('mysql_opc_jinjiaqu'); if ($getDataType == 'ventilation_zb' or $getDataType == 'ventilation_bb' ) { $groupId = 1; // 设备分组ID if ($getDataType == 'ventilation_zb'){ $groupId = 1; } else if ($getDataType == 'ventilation_bb') { $groupId = 2; } else { return; } $sqlStr = " select t1.fan_type_id, t1.fan_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_fan_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 "; $dbResult = $db->select($sqlStr); foreach ($dbResult as $key => $val) { $fanNum = $val->fan_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; // 风机名 $valArr = [ 'label' => $label, // 标题 'unit' => $unit // 单位 ]; // 状态与value if($jsonKey == 'state_list') { $valArr['state'] = $devVal; } else { $valArr['value'] = $devVal; } // 根据风量判断风机开关 if($label == '风量') { if ($devVal <= 0 ) { $dataArr[$fanNum]['state'] = 2; } else { $dataArr[$fanNum]['state'] = 1; } } $dataArr[$fanNum][$jsonKey][] = $valArr; } } return response()->json($dataArr); } }