diff --git a/modules/dequeue/src/main/java/com/thing/queue/AbstractConsumerService.java b/modules/dequeue/src/main/java/com/thing/queue/AbstractConsumerService.java index e02c2d3..d6d6cde 100644 --- a/modules/dequeue/src/main/java/com/thing/queue/AbstractConsumerService.java +++ b/modules/dequeue/src/main/java/com/thing/queue/AbstractConsumerService.java @@ -88,6 +88,9 @@ public abstract class AbstractConsumerService().ok(result); } + @PostMapping("flow/summary/all") + @Operation(summary="能流汇总数据") + @Parameters({ + @Parameter(name = Constant.BEGIN_TIME, description = "开始时间"), + @Parameter(name = Constant.END_TIME, description = "结束时间"), + @Parameter(name = "thingId", description = "物id"), + @Parameter(name = "attrType", description = "属性类型"), + @Parameter(name = "energyVarietyId", description = "能源属性Id"), + }) + public Result> getFlowSummaryAll(@RequestBody EnergyUsageReqDTO request) { + List list = energyUsageFlowService.getFlowSummaryAll(request); + return new Result>().ok(list); + } + /*------------------------------用能概况-----------------------------------*/ @PostMapping("overview/variety/list") diff --git a/modules/report-analysis/src/main/java/com/thing/carbon/energyrepory/dto/EnergyUsageReqDTO.java b/modules/report-analysis/src/main/java/com/thing/carbon/energyrepory/dto/EnergyUsageReqDTO.java index 22370bc..1ddecd8 100644 --- a/modules/report-analysis/src/main/java/com/thing/carbon/energyrepory/dto/EnergyUsageReqDTO.java +++ b/modules/report-analysis/src/main/java/com/thing/carbon/energyrepory/dto/EnergyUsageReqDTO.java @@ -40,4 +40,8 @@ public class EnergyUsageReqDTO { @Schema(description = "显示层级, 默认2级") private int depth = 2; + + @Schema(description = "物id") + private Long thingId; + } diff --git a/modules/report-analysis/src/main/java/com/thing/carbon/energyrepory/service/EnergyUsageFlowService.java b/modules/report-analysis/src/main/java/com/thing/carbon/energyrepory/service/EnergyUsageFlowService.java index 1a91d82..a02efd5 100644 --- a/modules/report-analysis/src/main/java/com/thing/carbon/energyrepory/service/EnergyUsageFlowService.java +++ b/modules/report-analysis/src/main/java/com/thing/carbon/energyrepory/service/EnergyUsageFlowService.java @@ -13,4 +13,6 @@ public interface EnergyUsageFlowService { List energyVarietyList(CarbonEnergyVarietyReqDTO request); EnergyUsageSummaryDTO getFlowSummary(EnergyUsageReqDTO request); + + List getFlowSummaryAll(EnergyUsageReqDTO request); } diff --git a/modules/report-analysis/src/main/java/com/thing/carbon/energyrepory/service/impl/EnergyUsageFlowServiceImpl.java b/modules/report-analysis/src/main/java/com/thing/carbon/energyrepory/service/impl/EnergyUsageFlowServiceImpl.java index 4e9ef21..ab76027 100644 --- a/modules/report-analysis/src/main/java/com/thing/carbon/energyrepory/service/impl/EnergyUsageFlowServiceImpl.java +++ b/modules/report-analysis/src/main/java/com/thing/carbon/energyrepory/service/impl/EnergyUsageFlowServiceImpl.java @@ -1,6 +1,7 @@ package com.thing.carbon.energyrepory.service.impl; +import cn.hutool.core.collection.CollectionUtil; import com.thing.carbon.config.dto.CarbonEnergyVarietyDTO; import com.thing.carbon.config.dto.CarbonEnergyVarietyReqDTO; import com.thing.carbon.energyrepory.dto.EnergyUsageReqDTO; @@ -106,6 +107,26 @@ public class EnergyUsageFlowServiceImpl implements EnergyUsageFlowService { return fatherSummary; } + @Override + public List getFlowSummaryAll(EnergyUsageReqDTO request) { + CarbonEnergyVarietyReqDTO varietyReqDTO = new CarbonEnergyVarietyReqDTO(); + varietyReqDTO.setThingId(request.getThingId()); + varietyReqDTO.setRootId(request.getRootId()); + varietyReqDTO.setRootThingId(request.getRootThingId()); + varietyReqDTO.setAttrType(request.getAttrType()); + List carbonEnergyVarietyDTOS = commonService.energyVarietyList(varietyReqDTO); + if(CollectionUtil.isEmpty(carbonEnergyVarietyDTOS)){ + return null; + } + List summaryList = new ArrayList<>(); + for (CarbonEnergyVarietyDTO carbonEnergyVarietyDTO : carbonEnergyVarietyDTOS) { + request.setEnergyVarietyId(carbonEnergyVarietyDTO.getId()); + EnergyUsageSummaryDTO flowSummary = getFlowSummary(request); + summaryList.add(flowSummary); + } + return summaryList; + } + private ThingSortTreeDTO findSubTree(List treeNodes, Long entityId, Long rootThingId) { for (ThingSortTreeDTO treeNode : treeNodes) { if (Objects.equals(treeNode.getEntityId(), entityId)) { diff --git a/modules/thing/src/main/java/com/thing/thing/dictRelation/service/IotThingDictRelationService.java b/modules/thing/src/main/java/com/thing/thing/dictRelation/service/IotThingDictRelationService.java index 66adda8..04f6f00 100644 --- a/modules/thing/src/main/java/com/thing/thing/dictRelation/service/IotThingDictRelationService.java +++ b/modules/thing/src/main/java/com/thing/thing/dictRelation/service/IotThingDictRelationService.java @@ -44,6 +44,8 @@ public interface IotThingDictRelationService extends IBaseService ids); List findAllByEntityIdAndCodes(Long entityId, Collection codes); + + List findAllByEntityIdsAndCode(List entityIds, String code); /** 注意 多个物 有相同的属性code **/ List findAllByEntityIdsAndCodes(Collection entityIds, Collection codes); /** 此方法可以避免 有相同的属性code **/ diff --git a/modules/thing/src/main/java/com/thing/thing/dictRelation/service/impl/IotThingDictRelationServiceImpl.java b/modules/thing/src/main/java/com/thing/thing/dictRelation/service/impl/IotThingDictRelationServiceImpl.java index 71b176b..b05f3a5 100644 --- a/modules/thing/src/main/java/com/thing/thing/dictRelation/service/impl/IotThingDictRelationServiceImpl.java +++ b/modules/thing/src/main/java/com/thing/thing/dictRelation/service/impl/IotThingDictRelationServiceImpl.java @@ -263,6 +263,14 @@ public class IotThingDictRelationServiceImpl extends BaseServiceImpl findAllByEntityIdsAndCode(List entityIds, String code) { + return mapper.selectListByQueryAs(new QueryWrapper() + .in(IotThingDictRelationEntity::getEntityId, entityIds) + .eq(IotThingDictRelationEntity::getCode, code) + , IotThingDictRelationDTO.class); + } + @Override public List findAllByEntityIdsAndCodes(Collection entityIds, Collection codes) { return mapper.selectListByQueryAs(new QueryWrapper() diff --git a/modules/thing/src/main/java/com/thing/thing/entity/service/impl/IotThingEntityServiceImpl.java b/modules/thing/src/main/java/com/thing/thing/entity/service/impl/IotThingEntityServiceImpl.java index 696f0d3..572e4c7 100644 --- a/modules/thing/src/main/java/com/thing/thing/entity/service/impl/IotThingEntityServiceImpl.java +++ b/modules/thing/src/main/java/com/thing/thing/entity/service/impl/IotThingEntityServiceImpl.java @@ -375,7 +375,7 @@ public class IotThingEntityServiceImpl extends BaseServiceImpl> findByCodes(Collection codes,Long tenantCode,boolean isEntity) { return Optional.ofNullable(mapper.selectListByQueryAs(QueryWrapper.create() .in(IotThingEntity::getCode, codes,CollectionUtils.isNotEmpty(codes)) - .in(IotThingEntity::getTenantCode, tenantCode,!Objects.isNull(tenantCode)) + .eq(IotThingEntity::getTenantCode, tenantCode,!Objects.isNull(tenantCode)) .eq(IotThingEntity::getTemplateMark,isEntity? "0":"1") ,IotThingEntityDTO.class)); }