| | |
| | | package com.ld.igds.protocol.modbus; |
| | | |
| | | import com.ld.igds.constant.Constant; |
| | | import com.ld.igds.constant.DeviceStatus; |
| | | import com.ld.igds.util.ContextUtil; |
| | | import org.apache.commons.lang3.StringUtils; |
| | | |
| | | import java.util.HashMap; |
| | | import java.util.Map; |
| | |
| | | public class ServerUtil { |
| | | |
| | | |
| | | /** |
| | | * 用来缓存,TCP设备执行时间记录key = TCP唯一标志,value = 当前执行时间 |
| | | */ |
| | | public static Map<String, Long> contextExeModbusTcp = new HashMap<>(); |
| | | |
| | | public static final String RUN_TAG = "RUN_TAG"; |
| | | |
| | | |
| | | |
| | | /** |
| | |
| | | * @param status 不考虑设备类型,只在通道上标记是OPEN或者CLOSE即可 |
| | | */ |
| | | public static void add2StatusMap(String companyId, String serId, String deviceCode, String status) { |
| | | // System.out.println(mainLink); |
| | | // //若不为空,则查询主设备状态 |
| | | // if(StringUtils.isNotEmpty(mainLink)){ |
| | | // String oldStatus = contextStatusMap.get(ContextUtil.buildDeviceStatusKey(companyId, serId, mainLink)); |
| | | // //若风窗或风口开 |
| | | // if(DeviceStatus.OPEN.getCode().equals(oldStatus)){ |
| | | // //若风机开 |
| | | // if(DeviceStatus.OPEN.getCode().equals(status)){ |
| | | // status = DeviceStatus.F_OPEN.getCode(); |
| | | // } |
| | | // //若风机关 |
| | | // if(DeviceStatus.CLOSE.getCode().equals(status)){ |
| | | // status = DeviceStatus.W_OPEN.getCode(); |
| | | // } |
| | | // } |
| | | // //若风窗或风口开 |
| | | // if(DeviceStatus.CLOSE.getCode().equals(oldStatus)){ |
| | | // //若风机开 |
| | | // if(DeviceStatus.OPEN.getCode().equals(status)){ |
| | | // status = DeviceStatus.ERROR.getCode(); |
| | | // } |
| | | // //若风机关 |
| | | // if(DeviceStatus.CLOSE.getCode().equals(status)){ |
| | | // status = DeviceStatus.W_CLOSE.getCode(); |
| | | // } |
| | | // } |
| | | // contextStatusMap.put(ContextUtil.buildDeviceStatusKey(companyId, serId, mainLink), status); |
| | | // return; |
| | | // } |
| | | contextStatusMap.put(ContextUtil.buildDeviceStatusKey(companyId, serId, deviceCode), status); |
| | | } |
| | | |
| | |
| | | return contextStatusMap; |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | public static int getAddrExe(String temp) { |
| | | if (Constant.YN_N.equals(temp)) return 65535; |
| | | if (temp.length() > 4) { |
| | | temp = temp.substring(temp.length() - 4); |
| | | } |
| | | return Integer.valueOf(temp) - 1; |
| | | } |
| | | |
| | | } |