Sfoglia il codice sorgente

Merge branch 'dev' into sky_v2

15928045575 2 anni fa
parent
commit
b56bbdd99a

+ 31 - 14
slope-modules/slope-detection/src/main/java/com/sckw/slope/detection/consumer/MqttCallbackHandler.java

@@ -40,6 +40,7 @@ import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
 import java.math.BigDecimal;
+import java.math.RoundingMode;
 import java.text.SimpleDateFormat;
 import java.time.*;
 import java.util.*;
@@ -153,10 +154,22 @@ public class MqttCallbackHandler extends AbstractHandler {
                         Long level = Long.valueOf(map.get("level"));
                         Long thresholdId = Long.valueOf(map.get("thresholdId"));
                         String offset = map.get("offset");
+//                        /**x、y、z要进行偏移量计算  其他数值保持源数据进行计算*/
+//                        List<String> checkItemName = new ArrayList<>();
+//                        checkItemName.add(DictItemEnum.ALTITUDE_Z.getValue());
+//                        checkItemName.add(DictItemEnum.LONGITUDE_X.getValue());
+//                        checkItemName.add(DictItemEnum.LATITUDE_Y.getValue());
+//                        String itemValueAndUnit = "";
+//                        String url = "";
+//                        if (checkItemName.contains(itemName)) {
+//
+//                            itemValueAndUnit = StringUtils.isBlank(url) ? itemValue : (itemValue + url);
+//                        } else {
+//                            url = dictByDictCode.get(itemName) == null ? null : dictByDictCode.get(itemName).getRemark();
+//                            itemValueAndUnit = StringUtils.isBlank(url) ? itemValue : (itemValue + url);
+//                        }
                         //阈值表以及明细表存储
-                        String url = dictByDictCode.get(itemName) == null ? null : dictByDictCode.get(itemName).getUrl();
-                        String itemValueAndUnit = StringUtils.isBlank(url) ? itemValue : (itemValue + url);
-                        long id = insertAlarmAndDetail(level, device, thresholdId, itemValueAndUnit, ts, AlarmTitleEnum.ALARM_TITLE_TWO.getStatus(), AlarmTypeEnum.ALARM_ONE.getCode());
+                        long id = insertAlarmAndDetail(level, device, thresholdId, offset, ts, AlarmTitleEnum.ALARM_TITLE_TWO.getStatus(), AlarmTypeEnum.ALARM_ONE.getCode());
                         //todo 不适用redis存统计  使用新字段处理
                         /**阈值次数存redis*/
 //                        redisPutAlarmCount(id);
@@ -186,7 +199,7 @@ public class MqttCallbackHandler extends AbstractHandler {
                             templateParam.put("level", level.toString());
                             templateParam.put("name", device.getName());
 //                            templateParam.put("value", itemValue);
-                            templateParam.put("value", offset+url);
+                            templateParam.put("value", offset);
                             commonService.pushSmsMessage(pushToPhone
                                     , smsTemplateConfig.getDataAlarm().getSmsCode()
                                     , smsTemplateConfig.getDataAlarm().getSignName()
@@ -216,7 +229,7 @@ public class MqttCallbackHandler extends AbstractHandler {
                             templateParam.put("time", time);
                             templateParam.put("project", vo == null ? null : vo.getProjectName());
 //                            templateParam.put("value", itemValue);
-                            templateParam.put("value", offset+url);
+                            templateParam.put("value", offset);
                             commonService.pushEmailMessage(emailAddress
                                     , templateParam);
                         }
@@ -288,9 +301,10 @@ public class MqttCallbackHandler extends AbstractHandler {
                         Long level = Long.valueOf(map.get("level"));
                         Long thresholdId = Long.valueOf(map.get("thresholdId"));
                         //阈值表以及明细表存储
-                        String url = deviceIntegration.getUnit() == null ? null : deviceIntegration.getUnit();
-                        String itemValueAndUnit = StringUtils.isBlank(url) ? String.valueOf(offset) : (offset + deviceIntegration.getUnit());
-                        long id = insertAlarmAndDetail(level, device, thresholdId, itemValueAndUnit, ts, AlarmTitleEnum.ALARM_TITLE_TWO.getStatus(), AlarmTypeEnum.ALARM_ONE.getCode());
+//                        String url = deviceIntegration.getUnit() == null ? null : deviceIntegration.getUnit();
+//                        String itemValueAndUnit = StringUtils.isBlank(url) ? String.valueOf(offset) : (offset + deviceIntegration.getUnit());
+//                        long id = insertAlarmAndDetail(level, device, thresholdId, itemValueAndUnit, ts, AlarmTitleEnum.ALARM_TITLE_TWO.getStatus(), AlarmTypeEnum.ALARM_ONE.getCode());
+                        long id = insertAlarmAndDetail(level, device, thresholdId, offset + deviceIntegration.getUnit(), ts, AlarmTitleEnum.ALARM_TITLE_TWO.getStatus(), AlarmTypeEnum.ALARM_ONE.getCode());
                         /**最初发送短信模式*/
 //                        oldPushSms(device,level,thresholdId);
                         /**目前发送短信模式*/
@@ -317,7 +331,7 @@ public class MqttCallbackHandler extends AbstractHandler {
                             templateParam.put("level", level.toString());
                             templateParam.put("name", device.getName());
 //                            templateParam.put("value", itemValueAndUnit);
-                            templateParam.put("value", String.valueOf(offset)+url);
+                            templateParam.put("value", String.valueOf(offset) + deviceIntegration.getUnit());
                             commonService.pushSmsMessage(pushToPhone
                                     , smsTemplateConfig.getDataAlarm().getSmsCode()
                                     , smsTemplateConfig.getDataAlarm().getSignName()
@@ -347,7 +361,7 @@ public class MqttCallbackHandler extends AbstractHandler {
                             templateParam.put("time", time);
                             templateParam.put("project", vo == null ? null : vo.getProjectName());
 //                            templateParam.put("value", itemValueAndUnit);
-                            templateParam.put("value", String.valueOf(offset)+url);
+                            templateParam.put("value", String.valueOf(offset) + deviceIntegration.getUnit());
                             commonService.pushEmailMessage(emailAddress
                                     , templateParam);
                         }
@@ -445,13 +459,16 @@ public class MqttCallbackHandler extends AbstractHandler {
         //放入告警数值-告警等级
         //放入告警等级-告警主键id
         Map<String, String> map = new HashMap<>();
+        Map<String, SystemDict> dictByDictCode = commonService.getDictByDictCode(DictEnum.MODEL_PART);
         if (checkItemName.contains(itemName)) {
             BigDecimal offset = commonService.computeOffset(itemValue, itemName, deviceRelation);
             map = newAlarmCompute(offset, kwsThresholds);
-            map.put("offset",String.valueOf(offset));
+            String url = dictByDictCode.get(itemName) == null ? null : dictByDictCode.get(itemName).getUrl();
+            map.put("offset", String.valueOf(offset.setScale(2, RoundingMode.HALF_UP)) + url);
         } else {
             map = newAlarmCompute(new BigDecimal(itemValue), kwsThresholds);
-            map.put("offset",itemValue);
+            String remarkUnit = dictByDictCode.get(itemName) == null ? null : dictByDictCode.get(itemName).getRemark();
+            map.put("offset", itemValue + remarkUnit);
         }
 //        map = oldAlarmCompute(checkItemName, itemName, itemValue, deviceRelation, kwsThresholds);
         return map;
@@ -705,9 +722,9 @@ public class MqttCallbackHandler extends AbstractHandler {
                 .orderByDesc(KwsAlarm::getCreateTime);
         if (projectDevice != null) {
             wrapper.eq(Objects.nonNull(projectDevice.getProjectId()), KwsAlarm::getProjectId, projectDevice.getProjectId())
-                    .eq(StringUtils.isNotBlank(device.getMountainId()),KwsAlarm::getMountainId, projectDevice.getMountainId());
+                    .eq(StringUtils.isNotBlank(device.getMountainId()), KwsAlarm::getMountainId, projectDevice.getMountainId());
             if (projectDevice.getProjectId() != null) {
-                wrapper.eq(StringUtils.isNotBlank(projectDevice.getCompanyId()),KwsAlarm::getCompanyId, projectDevice.getCompanyId());
+                wrapper.eq(StringUtils.isNotBlank(projectDevice.getCompanyId()), KwsAlarm::getCompanyId, projectDevice.getCompanyId());
             }
         }
         long alarmId = new IdWorker(NumberConstant.ONE).nextId();

+ 2 - 2
slope-modules/slope-detection/src/main/java/com/sckw/slope/detection/model/vo/ThresholdLogDetailVO.java

@@ -69,7 +69,7 @@ public class ThresholdLogDetailVO implements Serializable {
     /**
      * 当前偏移量
      */
-    private BigDecimal currentOffset;
+    private String currentOffset;
     /**
      * 原始基准值
      */
@@ -78,7 +78,7 @@ public class ThresholdLogDetailVO implements Serializable {
     /**
      * 原始偏移量
      */
-    private BigDecimal originalOffset;
+    private String originalOffset;
     /**
      * 上次基准值
      */

+ 16 - 4
slope-modules/slope-detection/src/main/java/com/sckw/slope/detection/service/KwsAlarmService.java

@@ -36,6 +36,7 @@ import org.springframework.stereotype.Service;
 import org.springframework.util.CollectionUtils;
 
 import java.math.BigDecimal;
+import java.math.RoundingMode;
 import java.time.LocalDate;
 import java.time.LocalDateTime;
 import java.util.ArrayList;
@@ -524,12 +525,16 @@ public class KwsAlarmService {
                 String val = devices.getVal();
                 if (list.contains(kwsThreshold.getItemName())) {
                     if (deviceReference != null) {
+                        String unit = kwsThreshold.getItemName() == null ? null :
+                                (dictByDictCode == null ?
+                                        kwsThreshold.getItemName() : (dictByDictCode.get(kwsThreshold.getItemName()) == null ?
+                                        kwsThreshold.getItemName() : dictByDictCode.get(kwsThreshold.getItemName()).getUrl()));
                         BigDecimal computeOffset = commonService.computeOffset(val, kwsThreshold.getItemName(), deviceReference);
                         BigDecimal computeOriginalOffset = commonService.computeOriginalOffset(val, kwsThreshold.getItemName(), deviceReference);
                         vo.setCurrentValue(deviceReference.getCurrentValue());
-                        vo.setCurrentOffset(computeOffset);
+                        vo.setCurrentOffset(computeOffset.setScale(2, RoundingMode.HALF_UP) + unit);
                         vo.setOriginalValue(deviceReference.getOriginalValue());
-                        vo.setOriginalOffset(computeOriginalOffset);
+                        vo.setOriginalOffset(computeOriginalOffset.setScale(2, RoundingMode.HALF_UP) + unit);
                     }
                 } else {
                     vo.setCurrentValue(deviceReference == null ? null : deviceReference.getCurrentValue());
@@ -857,12 +862,19 @@ public class KwsAlarmService {
                     .eq(KwsDeviceReference::getDeviceId, deviceId)
                     .eq(KwsDeviceReference::getItem, itemName)
             );
+            List<String> list = new ArrayList<>();
+            list.add(DictItemEnum.LONGITUDE_X.getValue());
+            list.add(DictItemEnum.LATITUDE_Y.getValue());
+            list.add(DictItemEnum.ALTITUDE_Z.getValue());
             if (deviceReference != null) {
+//                if (list.contains(itemName)){
+//
+//                }
                 vo.setItemName(itemName);
                 vo.setCurrentValue(deviceReference.getCurrentValue());
-                vo.setCurrentOffset(deviceReference.getOffset());
+                vo.setCurrentOffset(deviceReference.getOffset().toString());
                 vo.setOriginalValue(deviceReference.getOriginalValue());
-                vo.setOriginalOffset(new BigDecimal("0.00"));
+                vo.setOriginalOffset("0.00");
                 KwsDeviceReference lastDeviceReference = deviceReferenceMapper.selectOne(new LambdaQueryWrapper<KwsDeviceReference>()
                         .eq(KwsDeviceReference::getDelFlag, 1)
                         .eq(KwsDeviceReference::getDeviceId, deviceId)