|
|
|
@ -2,6 +2,7 @@ package com.mh.user.controller;
|
|
|
|
|
|
|
|
|
|
import com.alibaba.fastjson2.JSONObject; |
|
|
|
|
import com.mh.common.http.HttpResult; |
|
|
|
|
import com.mh.common.utils.StringUtils; |
|
|
|
|
import com.mh.user.annotation.SysLogger; |
|
|
|
|
import com.mh.user.constants.Constant; |
|
|
|
|
import com.mh.user.entity.ControlSetEntity; |
|
|
|
@ -167,14 +168,14 @@ public class SerialPortController {
|
|
|
|
|
if (!serialPortModel.getDataValue().equals("100%")) { |
|
|
|
|
deviceCodeParam.setDataValue("100%"); |
|
|
|
|
serialPortSingle.serialPortSend(deviceCodeParam);//生成并发送指令
|
|
|
|
|
Thread.sleep(1500); |
|
|
|
|
Thread.sleep(1000); |
|
|
|
|
} |
|
|
|
|
} else if (brand.equals("远向")) { |
|
|
|
|
deviceCodeParam.setFunCode("06"); //功能码写数据
|
|
|
|
|
if (!serialPortModel.getDataValue().equals("100%")) { |
|
|
|
|
deviceCodeParam.setDataValue("100%"); |
|
|
|
|
serialPortSingle.serialPortSend(deviceCodeParam);//生成并发送指令
|
|
|
|
|
Thread.sleep(1500); |
|
|
|
|
Thread.sleep(1000); |
|
|
|
|
} |
|
|
|
|
} else if (brand.equals("顶威")) { |
|
|
|
|
deviceCodeParam.setFunCode("0407"); //功能码写数据
|
|
|
|
@ -184,7 +185,10 @@ public class SerialPortController {
|
|
|
|
|
//controlSetService.saveControlSet(controlData);
|
|
|
|
|
nowDataService.upLevelSet(buildingId, serialPortModel.getDataValue());//更新实时状态表
|
|
|
|
|
} |
|
|
|
|
serialPortSingle.serialPortSend(deviceCodeParam);//生成并发送指令
|
|
|
|
|
String returnStr = serialPortSingle.serialPortSend(deviceCodeParam);//生成并发送指令
|
|
|
|
|
if (!StringUtils.isBlank(returnStr) && "fail".equals(returnStr)) { |
|
|
|
|
return HttpResult.error(500, "fail"); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
Constant.WEB_FLAG = false; //单抄,恢复采集
|
|
|
|
|
return HttpResult.ok(); |
|
|
|
@ -212,11 +216,11 @@ public class SerialPortController {
|
|
|
|
|
String deviceType = serialPortModel.getDeviceType();//设备类型
|
|
|
|
|
String buildingId = serialPortModel.getBuildingId();//楼栋
|
|
|
|
|
String param = serialPortModel.getParam();//操作参数
|
|
|
|
|
if (deviceAddr == null || deviceAddr == "") { |
|
|
|
|
if (StringUtils.isBlank(deviceAddr)) { |
|
|
|
|
List<DeviceModel> list = deviceInstallService.selectDevices(buildingId, deviceType); |
|
|
|
|
deviceAddr = list.get(0).getDeviceAddr(); |
|
|
|
|
} |
|
|
|
|
if (deviceAddr == null || deviceAddr.length() == 0) { |
|
|
|
|
if (StringUtils.isBlank(deviceAddr)) { |
|
|
|
|
Constant.WEB_FLAG = false; |
|
|
|
|
return HttpResult.error("通讯ID为空!"); |
|
|
|
|
} |
|
|
|
@ -234,12 +238,12 @@ public class SerialPortController {
|
|
|
|
|
//设置设备实体对象
|
|
|
|
|
ControlSetEntity controlData = new ControlSetEntity(); |
|
|
|
|
controlData.setBuildingId(deviceInstallEntity.getBuildingId()); |
|
|
|
|
if (deviceType == null || deviceType.equals("") || deviceType.equals("热泵")) { |
|
|
|
|
if (StringUtils.isBlank(deviceType) || deviceType.equals("热泵")) { |
|
|
|
|
//设置热泵实体对象
|
|
|
|
|
PumpSetEntity pumpData = new PumpSetEntity(); |
|
|
|
|
pumpData.setBuildingId(deviceInstallEntity.getBuildingId()); |
|
|
|
|
pumpData.setPumpId(deviceAddr); |
|
|
|
|
if (param == null || param.equals("") || param.equals("读温度设定")) { |
|
|
|
|
if (StringUtils.isBlank(param) || param.equals("读温度设定")) { |
|
|
|
|
deviceCodeParam.setFunCode("03"); //功能码读数据
|
|
|
|
|
if (brand.equals("美的")) { |
|
|
|
|
deviceCodeParam.setRegisterAddr("0642"); //寄存器地址
|
|
|
|
@ -247,7 +251,7 @@ public class SerialPortController {
|
|
|
|
|
deviceCodeParam.setRegisterAddr("0003"); //寄存器地址
|
|
|
|
|
} |
|
|
|
|
rtData = serialPortSingle.serialPortSend(deviceCodeParam);//生成并发送指令
|
|
|
|
|
if (!rtData.equals("")) { |
|
|
|
|
if (!rtData.equals("fail")) { |
|
|
|
|
pumpData.setTempSet(rtData); |
|
|
|
|
pumpSetService.savePumpSet(pumpData);//热泵信息保存数据库
|
|
|
|
|
} |
|
|
|
@ -259,7 +263,7 @@ public class SerialPortController {
|
|
|
|
|
deviceCodeParam.setRegisterAddr("0064"); //寄存器地址
|
|
|
|
|
} |
|
|
|
|
rtData = serialPortSingle.serialPortSend(deviceCodeParam);//生成并发送指令
|
|
|
|
|
if (!rtData.equals("")) { |
|
|
|
|
if (!rtData.equals("fail")) { |
|
|
|
|
pumpData.setWaterTemp(rtData); |
|
|
|
|
pumpSetService.savePumpSet(pumpData);//热泵信息保存数据库
|
|
|
|
|
} |
|
|
|
@ -280,15 +284,16 @@ public class SerialPortController {
|
|
|
|
|
deviceCodeParam.setFunCode("03"); //功能码读数据
|
|
|
|
|
//保存数据
|
|
|
|
|
rtData = serialPortSingle.serialPortSend(deviceCodeParam);//生成并发送指令
|
|
|
|
|
String time = rtData; |
|
|
|
|
if (time.length() == 8) { |
|
|
|
|
String statTime = time.substring(0, 2) + ":" + time.substring(2, 4); |
|
|
|
|
String closeTime = time.substring(4, 6) + ":" + time.substring(6, 8); |
|
|
|
|
if (!rtData.equals("fail")) { |
|
|
|
|
if (rtData.length() == 8) { |
|
|
|
|
String statTime = rtData.substring(0, 2) + ":" + rtData.substring(2, 4); |
|
|
|
|
String closeTime = rtData.substring(4, 6) + ":" + rtData.substring(6, 8); |
|
|
|
|
pumpData.setStartTime1(statTime); |
|
|
|
|
pumpData.setCloseTime1(closeTime); |
|
|
|
|
} |
|
|
|
|
pumpSetService.savePumpSet(pumpData);//热泵信息保存数据库
|
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} else if (param.equals("时段2")) { |
|
|
|
|
if (brand.equals("美的")) { |
|
|
|
|
//发送指令
|
|
|
|
@ -296,16 +301,17 @@ public class SerialPortController {
|
|
|
|
|
deviceCodeParam.setFunCode("03"); //功能码读数据
|
|
|
|
|
//保存数据
|
|
|
|
|
rtData = serialPortSingle.serialPortSend(deviceCodeParam);//生成并发送指令
|
|
|
|
|
String time = rtData; |
|
|
|
|
if (time.length() == 8) { |
|
|
|
|
String statTime = time.substring(0, 2) + ":" + time.substring(2, 4); |
|
|
|
|
String closeTime = time.substring(4, 6) + ":" + time.substring(6, 8); |
|
|
|
|
if (!rtData.equals("fail")) { |
|
|
|
|
if (rtData.length() == 8) { |
|
|
|
|
String statTime = rtData.substring(0, 2) + ":" + rtData.substring(2, 4); |
|
|
|
|
String closeTime = rtData.substring(4, 6) + ":" + rtData.substring(6, 8); |
|
|
|
|
pumpData.setStartTime2(statTime); |
|
|
|
|
pumpData.setCloseTime2(closeTime); |
|
|
|
|
} |
|
|
|
|
pumpSetService.savePumpSet(pumpData);//热泵信息保存数据库
|
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} else if (deviceType.equals("时控")) { |
|
|
|
|
if (param.equals("L1")) { |
|
|
|
|
deviceCodeParam.setRegisterAddr("0009"); //寄存器地址,L3路,L1(0009),L2(000D)
|
|
|
|
@ -316,15 +322,14 @@ public class SerialPortController {
|
|
|
|
|
} |
|
|
|
|
deviceCodeParam.setFunCode("03"); //功能码读数据
|
|
|
|
|
rtData = serialPortSingle.serialPortSend(deviceCodeParam);//生成并发送指令
|
|
|
|
|
|
|
|
|
|
String time = rtData; |
|
|
|
|
if (time.length() == 16) { |
|
|
|
|
if (!rtData.equals("fail")) { |
|
|
|
|
if (rtData.length() == 16) { |
|
|
|
|
//时段1
|
|
|
|
|
String statTime1 = time.substring(0, 2) + ":" + time.substring(2, 4); |
|
|
|
|
String closeTime1 = time.substring(4, 6) + ":" + time.substring(6, 8); |
|
|
|
|
String statTime1 = rtData.substring(0, 2) + ":" + rtData.substring(2, 4); |
|
|
|
|
String closeTime1 = rtData.substring(4, 6) + ":" + rtData.substring(6, 8); |
|
|
|
|
//时段2
|
|
|
|
|
String statTime2 = time.substring(8, 10) + ":" + time.substring(10, 12); |
|
|
|
|
String closeTime2 = time.substring(12, 14) + ":" + time.substring(14, 16); |
|
|
|
|
String statTime2 = rtData.substring(8, 10) + ":" + rtData.substring(10, 12); |
|
|
|
|
String closeTime2 = rtData.substring(12, 14) + ":" + rtData.substring(14, 16); |
|
|
|
|
|
|
|
|
|
if (param.equals("L1")) { |
|
|
|
|
controlData.setUseStartTime1(statTime1); |
|
|
|
@ -344,6 +349,7 @@ public class SerialPortController {
|
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
controlSetService.saveControlSet(controlData); //保存设置内容
|
|
|
|
|
} |
|
|
|
|
} else if (deviceType.equals("水位开关") && !param.equals("状态")) { |
|
|
|
|
if (brand == null || brand.equals("") || brand.equals("中凯")) {//品牌
|
|
|
|
|
deviceCodeParam.setFunCode("17"); //功能码读
|
|
|
|
@ -356,7 +362,7 @@ public class SerialPortController {
|
|
|
|
|
deviceCodeParam.setRegisterAddr("0102"); |
|
|
|
|
} |
|
|
|
|
rtData = serialPortSingle.serialPortSend(deviceCodeParam);//生成并发送指令
|
|
|
|
|
deviceCodeParam.setDataValue(rtData); |
|
|
|
|
//deviceCodeParam.setDataValue(rtData);
|
|
|
|
|
//controlData.setLevelSet(serialPortModel.getDataValue());
|
|
|
|
|
//controlSetService.saveControlSet(controlData);
|
|
|
|
|
log.info("--------------读取返回数据:" + rtData + "------------------"); |
|
|
|
|