diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/impl/ScreenProjectCategoryOrgDailyServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/impl/ScreenProjectCategoryOrgDailyServiceImpl.java index f61487abe0..e3ebbf82e4 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/impl/ScreenProjectCategoryOrgDailyServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/impl/ScreenProjectCategoryOrgDailyServiceImpl.java @@ -260,33 +260,37 @@ public class ScreenProjectCategoryOrgDailyServiceImpl extends BaseServiceImpl orgIds = agencyIdList.stream().map(m -> m.getAgencyId()).collect(Collectors.toList()); - List screenProjectCategory = factOriginProjectCategoryDailyService.selectListProjectCategoryByOrg(orgIds,customerId); - if (!CollectionUtils.isEmpty(result)){ - if (!CollectionUtils.isEmpty(screenProjectCategory)){ - result.forEach(r -> { - screenProjectCategory.forEach(pc -> { - if (r.getOrgId().equals(pc.getOrgId()) && r.getCategoryCode().equals(pc.getCategoryCode())){ - pc.setStatus(true); - r.setProjectTotal(r.getProjectTotal() + pc.getProjectTotal()); - } + Map> groupByLevel = agencyIdList.stream().collect(Collectors.groupingBy(CustomerAgencyInfoResultDTO::getLevel)); + List levelAgencyInfo = groupByLevel.get(level); + if (!CollectionUtils.isEmpty(levelAgencyInfo)){ + List orgIds = levelAgencyInfo.stream().map(m -> m.getAgencyId()).collect(Collectors.toList()); + List screenProjectCategory = factOriginProjectCategoryDailyService.selectListProjectCategoryByOrg(orgIds,customerId); + if (!CollectionUtils.isEmpty(result)){ + if (!CollectionUtils.isEmpty(screenProjectCategory)){ + result.forEach(r -> { + screenProjectCategory.forEach(pc -> { + if (r.getOrgId().equals(pc.getOrgId()) && r.getCategoryCode().equals(pc.getCategoryCode())){ + pc.setStatus(true); + r.setProjectTotal(r.getProjectTotal() + pc.getProjectTotal()); + } + }); }); - }); - Map> groupByStatus = screenProjectCategory.stream().collect(Collectors.groupingBy(ScreenProjectCategoryGridDailyDTO::getStatus)); - List screenProjectCategoryNoCal = groupByStatus.get(false); - if (!CollectionUtils.isEmpty(screenProjectCategoryNoCal)){ - List noCalCategory = ConvertUtils.sourceToTarget(screenProjectCategoryNoCal, ScreenProjectCategoryOrgDailyEntity.class); - result.addAll(noCalCategory); + Map> groupByStatus = screenProjectCategory.stream().collect(Collectors.groupingBy(ScreenProjectCategoryGridDailyDTO::getStatus)); + List screenProjectCategoryNoCal = groupByStatus.get(false); + if (!CollectionUtils.isEmpty(screenProjectCategoryNoCal)){ + List noCalCategory = ConvertUtils.sourceToTarget(screenProjectCategoryNoCal, ScreenProjectCategoryOrgDailyEntity.class); + result.addAll(noCalCategory); + } + } + }else { + if (!CollectionUtils.isEmpty(screenProjectCategory)){ + result = ConvertUtils.sourceToTarget(screenProjectCategory, ScreenProjectCategoryOrgDailyEntity.class); } } - }else { - if (!CollectionUtils.isEmpty(screenProjectCategory)){ - result = ConvertUtils.sourceToTarget(screenProjectCategory, ScreenProjectCategoryOrgDailyEntity.class); + if (!CollectionUtils.isEmpty(result)){ + result.forEach(r -> {r.setOrgType(level);r.setDateId(dateId);}); } } - if (!CollectionUtils.isEmpty(result)){ - result.forEach(r -> {r.setOrgType(level);r.setDateId(dateId);}); - } deleteAndInsert(customerId,dateId,result); }