Browse Source

1、批量插入设备信息优化;

2、电表解析优化;
3、水位开关优化;
dev
25604 2 hours ago
parent
commit
49da377423
  1. 8
      user-service/src/main/java/com/mh/user/controller/DeviceInstallController.java
  2. 12
      user-service/src/main/java/com/mh/user/mapper/DeviceCodeParamMapper.java
  3. 1
      user-service/src/main/java/com/mh/user/service/impl/DeviceInstallServiceImpl.java
  4. 3
      user-service/src/main/java/com/mh/user/strategy/EleMeterStrategy.java
  5. 4
      user-service/src/main/java/com/mh/user/strategy/WaterLevelSwitchStrategy.java
  6. 56
      user-service/src/main/java/com/mh/user/utils/GetReadOrder485.java

8
user-service/src/main/java/com/mh/user/controller/DeviceInstallController.java

@ -258,6 +258,9 @@ public class DeviceInstallController {
case 10 :
rolName = "所属楼栋";
break;
case 11 :
rolName = "是否启用";
break;
}
if ((rol >= 1)&&(rol <= 4)&&(sCell.equals(""))){
msg = rolName + "不能为空" ;
@ -278,6 +281,11 @@ public class DeviceInstallController {
uploadEntity.setModel(deviceList.get(7));//型号
uploadEntity.setInstaller(deviceList.get(8));//安装人员
uploadEntity.setBuildingId(deviceList.get(9));//所属楼栋
if (deviceList.get(10).equals("是")){
uploadEntity.setIsUse(1);
}else{
uploadEntity.setIsUse(0);
}
deviceList.clear();
uploadEntityList.add(uploadEntity);

12
user-service/src/main/java/com/mh/user/mapper/DeviceCodeParamMapper.java

@ -158,15 +158,21 @@ public interface DeviceCodeParamMapper {
void insertDeviceCodeParamList3(@Param("deviceCodeParamEntityList") List<DeviceCodeParamEntity> deviceCodeParamEntityList);
//查询插入压变、温控
@Insert("insert into device_code_param(device_addr,device_name,device_type,data_com,baudrate,parity,brand,create_time,building_id) select device_addr,device_name,device_type,data_com,baudrate,parity,brand,getDate(),building_id from device_install where device_type='压变' or device_type='温控' or device_type='温度变送器' ")
@Insert("insert into device_code_param(device_addr,device_name,device_type,data_com,baudrate,parity,brand,create_time,building_id,isuse,thread) " +
" select device_addr,device_name,device_type,data_com,baudrate,parity,brand,getDate(),building_id,is_use,SUBSTRING(data_com, PATINDEX('%[0-9]%', data_com), LEN(data_com)) from device_install " +
" where device_type='压变' or device_type='温控' or device_type='温度变送器' or device_type = '回水温控' ")
void selectInsertDeviceCodeParam();
//查询插入水、电表、状态检测
@Insert("insert into device_code_param2(device_addr,device_name,device_type,data_com,baudrate,parity,brand,create_time,building_id) select device_addr,device_name,device_type,data_com,baudrate,parity,brand,getDate(),building_id from device_install where device_type='电表' or device_type='水表' or device_type='状态检测' or device_type='热泵状态' ")
@Insert("insert into device_code_param2(device_addr,device_name,device_type,data_com,baudrate,parity,brand,create_time,building_id,isuse,thread) " +
" select device_addr,device_name,device_type,data_com,baudrate,parity,brand,getDate(),building_id,is_use,SUBSTRING(data_com, PATINDEX('%[0-9]%', data_com), LEN(data_com)) from device_install " +
" where device_type='电表' or device_type='水表' or device_type='状态检测' or device_type='热泵状态' ")
void selectInsertDeviceCodeParam2();
//查询插入水位开关
@Insert("insert into device_code_param3(device_addr,device_name,device_type,data_com,baudrate,parity,brand,create_time,building_id) select device_addr,device_name,device_type,data_com,baudrate,parity,brand,getDate(),building_id from device_install where device_type='水位开关' ")
@Insert("insert into device_code_param3(device_addr,device_name,device_type,data_com,baudrate,parity,brand,create_time,building_id,isuse,thread) " +
" select device_addr,device_name,device_type,data_com,baudrate,parity,brand,getDate(),building_id,is_use,SUBSTRING(data_com, PATINDEX('%[0-9]%', data_com), LEN(data_com)) from device_install " +
" where device_type='水位开关' ")
void selectInsertDeviceCodeParam3();
@Delete("delete from device_code_param " +

1
user-service/src/main/java/com/mh/user/service/impl/DeviceInstallServiceImpl.java

@ -70,6 +70,7 @@ public class DeviceInstallServiceImpl implements DeviceInstallService {
case "压变":
case "温度变送器":
case "温控":
case "回水温控":
deviceCodeParamMapper.insertDeviceCodeParamList(Collections.singletonList(deviceCodeParamEntity));
break;
case "电表":

3
user-service/src/main/java/com/mh/user/strategy/EleMeterStrategy.java

@ -117,10 +117,11 @@ public class EleMeterStrategy implements DeviceStrategy {
}
} else if (dataStr.length() == 18) {
// 080404000000001212
// 5F040400001C130D4C
// modbus协议
meterId = ExchangeStringUtil.hexToDec(dataStr.substring(0,2));
// 电表读数
data = ExchangeStringUtil.hexToDec(dataStr.substring(6,12));
data = ExchangeStringUtil.hexToDec(dataStr.substring(6,14));
data = String.format("%.2f", Double.parseDouble(data) / 100);
}
log.info("电表表号:" + meterId + ",电表读数:" + data);

4
user-service/src/main/java/com/mh/user/strategy/WaterLevelSwitchStrategy.java

@ -205,7 +205,9 @@ public class WaterLevelSwitchStrategy implements DeviceStrategy {
String customName = sysParamEntity.getCustomName();
if (!StringUtils.isBlank(customName)) {
if ((customName.contains(Constant.CUSTOM_NAME_HUAXIA)
|| customName.contains(Constant.CUSTOM_NAME_GUANGSHANG)) && !Constant.WEB_FLAG ) {
|| customName.contains(Constant.CUSTOM_NAME_GUANGSHANG)
|| customName.contains(Constant.CUSTOM_NAME_HUARUAN)
) && !Constant.WEB_FLAG ) {
analysisPumpStateOrder(dateStr, dataStr, registerAddr, brand, buildingId, buildingName);
return analysisRelayOrder485(dateStr, dataStr,registerAddr,brand,buildingId, buildingName, customName);
} else {

56
user-service/src/main/java/com/mh/user/utils/GetReadOrder485.java

@ -705,35 +705,6 @@ public class GetReadOrder485 {
default:
break;
}
// if (devices.getBrand().equals("美的")) {
// DeviceCodeParamEntity deviceCodeParamEntity3 = new DeviceCodeParamEntity();·
// deviceCodeParamEntity3.setRegisterAddr("0007");//水温
// deviceCodeParamEntity3.setFunCode("03");
// deviceCodeParamEntity3.setDeviceAddr(devices.getDeviceAddr());
// deviceCodeParamEntity3.setDeviceName(devices.getDeviceName());
// deviceCodeParamEntity3.setDeviceType(devices.getDeviceType());
// deviceCodeParamEntity3.setBaudrate(devices.getBaudRate());
// deviceCodeParamEntity3.setBrand(devices.getBrand());
// deviceCodeParamEntity3.setDataCom(devices.getDataCom());
// deviceCodeParamEntity3.setBuildingId(devices.getBuildingId());
// deviceCodeParamEntity3.setParity(devices.getParity());
// deviceCodeParamEntityList.add(deviceCodeParamEntity3);
//
// } else if (devices.getBrand().equals("美的2")) {
//
// DeviceCodeParamEntity deviceCodeParamEntity3 = new DeviceCodeParamEntity();
// deviceCodeParamEntity3.setRegisterAddr("0064");//水温
// deviceCodeParamEntity3.setFunCode("03");
// deviceCodeParamEntity3.setDeviceAddr(devices.getDeviceAddr());
// deviceCodeParamEntity3.setDeviceName(devices.getDeviceName());
// deviceCodeParamEntity3.setDeviceType(devices.getDeviceType());
// deviceCodeParamEntity3.setBaudrate(devices.getBaudRate());
// deviceCodeParamEntity3.setBrand(devices.getBrand());
// deviceCodeParamEntity3.setDataCom(devices.getDataCom());
// deviceCodeParamEntity3.setBuildingId(devices.getBuildingId());
// deviceCodeParamEntity3.setParity(devices.getParity());
// deviceCodeParamEntityList.add(deviceCodeParamEntity3);
// }
}
deviceCodeParamService.insertDeviceCodeParamList(deviceCodeParamEntityList);
}
@ -817,33 +788,6 @@ public class GetReadOrder485 {
break;
}
// if (devices.getBrand().equals("美的")) {
// DeviceCodeParamEntity deviceCodeParamEntity1 = new DeviceCodeParamEntity();
// deviceCodeParamEntity1.setRegisterAddr("0641"); //运行状态
// deviceCodeParamEntity1.setFunCode("03");
// deviceCodeParamEntity1.setDeviceAddr(devices.getDeviceAddr());
// deviceCodeParamEntity1.setDeviceName(devices.getDeviceName());
// deviceCodeParamEntity1.setDeviceType(devices.getDeviceType());
// deviceCodeParamEntity1.setBaudrate(devices.getBaudRate());
// deviceCodeParamEntity1.setBrand(devices.getBrand());
// deviceCodeParamEntity1.setDataCom(devices.getDataCom());
// deviceCodeParamEntity1.setBuildingId(devices.getBuildingId());
// deviceCodeParamEntity1.setParity(devices.getParity());
// deviceCodeParamEntityList.add(deviceCodeParamEntity1);//添加到列表
// } else if (devices.getBrand().equals("美的2")) {
// DeviceCodeParamEntity deviceCodeParamEntity1 = new DeviceCodeParamEntity();
// deviceCodeParamEntity1.setRegisterAddr("0BBD"); //运行状态
// deviceCodeParamEntity1.setFunCode("03");
// deviceCodeParamEntity1.setDeviceAddr(devices.getDeviceAddr());
// deviceCodeParamEntity1.setDeviceName(devices.getDeviceName());
// deviceCodeParamEntity1.setDeviceType(devices.getDeviceType());
// deviceCodeParamEntity1.setBaudrate(devices.getBaudRate());
// deviceCodeParamEntity1.setBrand(devices.getBrand());
// deviceCodeParamEntity1.setDataCom(devices.getDataCom());
// deviceCodeParamEntity1.setBuildingId(devices.getBuildingId());
// deviceCodeParamEntity1.setParity(devices.getParity());
// deviceCodeParamEntityList.add(deviceCodeParamEntity1);//添加到列表
// }
}
deviceCodeParamService.insertDeviceCodeParamList2(deviceCodeParamEntityList);
}

Loading…
Cancel
Save