diff --git a/modules/alarm/src/main/java/com/thing/alarm/alarm/controller/AlarmDisposeLogController.java b/modules/alarm/src/main/java/com/thing/alarm/alarm/controller/AlarmDisposeLogController.java index d892756..bf9996e 100644 --- a/modules/alarm/src/main/java/com/thing/alarm/alarm/controller/AlarmDisposeLogController.java +++ b/modules/alarm/src/main/java/com/thing/alarm/alarm/controller/AlarmDisposeLogController.java @@ -77,9 +77,7 @@ public class AlarmDisposeLogController { public Result save(@RequestBody AlarmDisposeLogDTO dto) { //效验数据 ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class); - alarmDisposeLogService.addAlarmDisposeLog(dto); - return new Result(); } diff --git a/modules/alarm/src/main/java/com/thing/alarm/alarm/service/impl/AlarmDisposeLogServiceImpl.java b/modules/alarm/src/main/java/com/thing/alarm/alarm/service/impl/AlarmDisposeLogServiceImpl.java index 187e4aa..2ede0e6 100644 --- a/modules/alarm/src/main/java/com/thing/alarm/alarm/service/impl/AlarmDisposeLogServiceImpl.java +++ b/modules/alarm/src/main/java/com/thing/alarm/alarm/service/impl/AlarmDisposeLogServiceImpl.java @@ -63,8 +63,10 @@ public class AlarmDisposeLogServiceImpl extends BaseServiceImpl> list = MapUtil.get(analysisDataRespMap, "result", List.class); + List list = MapUtil.get(analysisDataRespMap, "result", List.class); if (CollectionUtil.isNotEmpty(list)){ DecimalFormat decimalFormat = new DecimalFormat("#.##"); // 计算最大值 OptionalDouble maxVal = list.stream() - .filter(m -> m.get("val") != null) // 过滤掉 "val" 为空的元素 - .mapToDouble(m -> { - if(m.get("val") instanceof Number){ - return ((Number)m.get("val")).doubleValue(); - }else{ - return Double.parseDouble(m.get("val").toString()); - } - }).max(); + .filter(m -> m.getVal() != null) // 过滤掉 "val" 为空的元素 + .mapToDouble(m -> Double.parseDouble(m.getVal())).max(); String formattedMax = decimalFormat.format(maxVal.getAsDouble()); analysisDataRespMap.put("max",formattedMax); // 计算最小值 OptionalDouble minVal = list.stream() - .filter(m -> m.get("val") != null) // 过滤掉 "val" 为空的元素 - .mapToDouble(m -> { - if(m.get("val") instanceof Number){ - return ((Number)m.get("val")).doubleValue(); - }else{ - return Double.parseDouble(m.get("val").toString()); - } - }).min(); + .filter(m -> m.getVal() != null) // 过滤掉 "val" 为空的元素 + .mapToDouble(m -> Double.parseDouble(m.getVal())).min(); String formattedMin = decimalFormat.format(minVal.getAsDouble()); analysisDataRespMap.put("min",formattedMin); // 计算平均值 Double averageVal = list.stream() - .filter(m -> m.get("val") != null) // 过滤掉 "val" 为空的元素 - .mapToDouble(m -> { - if(m.get("val") instanceof Number){ - return ((Number)m.get("val")).doubleValue(); - }else{ - return Double.parseDouble(m.get("val").toString()); - } - }).average().orElse(0D); + .filter(m -> m.getVal() != null) // 过滤掉 "val" 为空的元素 + .mapToDouble(m -> Double.parseDouble(m.getVal())).average().orElse(0D); String formattedAverage = decimalFormat.format(averageVal); analysisDataRespMap.put("average",formattedAverage); diff --git a/modules/thing/src/main/java/com/thing/device/analysisdata/service/impl/AnalysisDataServiceImpl.java b/modules/thing/src/main/java/com/thing/device/analysisdata/service/impl/AnalysisDataServiceImpl.java index faf6003..4d0d2d8 100644 --- a/modules/thing/src/main/java/com/thing/device/analysisdata/service/impl/AnalysisDataServiceImpl.java +++ b/modules/thing/src/main/java/com/thing/device/analysisdata/service/impl/AnalysisDataServiceImpl.java @@ -831,7 +831,7 @@ public class AnalysisDataServiceImpl implements AnalysisDataService { * @return list */ private List getCacheTsKvDTO(AnalysisDataReqDTO analysisDataReqDTO, List iotThingSourceList, List childList) { - List thingAttrList = iotThingSourceList.parallelStream() + List thingAttrList = iotThingSourceList.stream() .filter(item -> childList.stream().noneMatch(child -> Objects.equals(child.getPid(), item.getId()))) .map(item -> new ThingAttrDTO(item.getThingTenantId(), item.getThingCode(), Lists.newArrayList(item.getThingAttrCode()))) .collect(Collectors.toList()); diff --git a/modules/thing/src/main/java/com/thing/device/source/service/impl/IotThingSourceServiceImpl.java b/modules/thing/src/main/java/com/thing/device/source/service/impl/IotThingSourceServiceImpl.java index 6cd03e2..da4b48e 100644 --- a/modules/thing/src/main/java/com/thing/device/source/service/impl/IotThingSourceServiceImpl.java +++ b/modules/thing/src/main/java/com/thing/device/source/service/impl/IotThingSourceServiceImpl.java @@ -480,7 +480,8 @@ public class IotThingSourceServiceImpl extends BaseServiceImpl iotThingSourceAttrList = ConvertUtils.sourceToTarget(iotThingSourceList, IotThingSourceAttrRespDTO.class); - return iotThingSourceAttrList.stream().filter(distinctByKey(IotThingSourceAttrRespDTO::getThingAttrCode)).sorted(Comparator.comparing(IotThingSourceAttrRespDTO::getSort)).collect(Collectors.toList()); + return iotThingSourceAttrList.stream().filter(distinctByKey(IotThingSourceAttrRespDTO::getThingAttrCode)).sorted(Comparator.comparing(IotThingSourceAttrRespDTO::getSort, + Comparator.nullsLast(Comparator.naturalOrder()))).collect(Collectors.toList()); } @Override diff --git a/modules/thing/src/main/java/com/thing/thing/api/service/impl/IotThingApiServiceImpl.java b/modules/thing/src/main/java/com/thing/thing/api/service/impl/IotThingApiServiceImpl.java index 858b6b3..854cf23 100644 --- a/modules/thing/src/main/java/com/thing/thing/api/service/impl/IotThingApiServiceImpl.java +++ b/modules/thing/src/main/java/com/thing/thing/api/service/impl/IotThingApiServiceImpl.java @@ -838,9 +838,9 @@ public class IotThingApiServiceImpl extends BaseServiceImpl relationDetaillist = cache.getTopicMap(CacheNameEnum.THING_DETAIL_RELATION); if (CollectionUtils.isEmpty(relationDetaillist)) { List list = mapper.selectListByQueryAs(getWrapper(orderField, order, null, null), IotThingRelationDetailDTO.class); + if(CollectionUtils.isNotEmpty(list)){ + list.forEach(s->{ + String toCode = s.getToCode(); + thingModelService.findByCode(toCode).ifPresent(thingModelEntity -> { + s.setThingStatus(thingModelEntity.getStatus()); + }); + }); + } relationDetaillist = JsonConverter.convertToJsonObjectListObjectNode(list); if (CollectionUtils.isEmpty(relationDetaillist)) { return new ArrayList<>(); diff --git a/modules/thing/src/main/resources/mapper/device/IotThingSourceMapper.xml b/modules/thing/src/main/resources/mapper/device/IotThingSourceMapper.xml index f23b943..c70c9f1 100644 --- a/modules/thing/src/main/resources/mapper/device/IotThingSourceMapper.xml +++ b/modules/thing/src/main/resources/mapper/device/IotThingSourceMapper.xml @@ -38,7 +38,7 @@ its.thing_attr_code, its.thing_attr_name, its.thing_attr_code_type, - its.data_rule, + its.data_deal_config as data_rule, its.thing_serial, its.thing_icon, its.thing_attr_unit, @@ -51,7 +51,8 @@ iot_thing_source its INNER JOIN iot_thing_entity itt ON its.thing_id = itt.id - its.pid is null +-- its.pid is null + 1=1 and its.thing_id in