| | |
| | | import org.springframework.stereotype.Component; |
| | | import org.springframework.util.ObjectUtils; |
| | | |
| | | import java.math.BigDecimal; |
| | | import java.util.HashMap; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | |
| | | long serverStartTime = System.currentTimeMillis(); |
| | | CopyOnWriteArraySet<SingleDeviceServer> sockets = SingleDeviceServer.sockets; |
| | | for (SingleDeviceServer socket : sockets) { |
| | | //判断消息书否数据该socket |
| | | //判断消息是否数据该socket |
| | | String messageMac = (String) message.get("mac"); |
| | | String mac = socket.getMac(); |
| | | if (!mac.equalsIgnoreCase(messageMac)) |
| | |
| | | String showUnitKey = sensor.getShowUnitKey(); |
| | | String unitKey = sensor.getUnitKey(); |
| | | String unit = sensor.getUnit(); |
| | | String sourceData = String.valueOf(message.get(code)); |
| | | //对数据保留两位小数,并且向下取整 |
| | | Double sourceDataD = Double.valueOf(String.valueOf(message.get(code))); |
| | | BigDecimal bg = new BigDecimal(sourceDataD); |
| | | bg = bg.setScale(2,BigDecimal.ROUND_FLOOR); |
| | | String sourceData = bg.toString(); |
| | | //数据补偿 |
| | | //单位转换 |
| | | if (!unitKey.equals(showUnitKey)) {//如果源单位和显示单位不同,则进行单位转换 |