From 33f436d9afb94eb021b5f646ad9b1c1b3c3829b1 Mon Sep 17 00:00:00 2001 From: sunyuchao Date: Thu, 1 Jul 2021 13:53:38 +0800 Subject: [PATCH] =?UTF-8?q?=E7=A8=8B=E5=BA=8F=E8=B0=83=E6=95=B4=E6=B5=8B?= =?UTF-8?q?=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../datastats/impl/DataStatsServiceImpl.java | 34 +++++++++++++++++-- 1 file changed, 32 insertions(+), 2 deletions(-) diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/datastats/impl/DataStatsServiceImpl.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/datastats/impl/DataStatsServiceImpl.java index 9c9e8b0333..984ce2156a 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/datastats/impl/DataStatsServiceImpl.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/datastats/impl/DataStatsServiceImpl.java @@ -293,8 +293,38 @@ public class DataStatsServiceImpl implements DataStatsService { if (subAgencyList.size() < NumConstant.ONE) { return resultList; } - List agencyIds = subAgencyList.stream().map(ScreenCustomerAgencyDTO::getAgencyId).collect(Collectors.toList()); + // List agencyIds = subAgencyList.stream().map(ScreenCustomerAgencyDTO::getAgencyId).collect(Collectors.toList()); + + subAgencyList.forEach(sub->{ + //0.根据组织Id查询是否存在子客户,存在的按areaCode查询当前客户之外的客户组织列表 + List agencyList = indexService.getAgencyIdsByAgencyId(formDTO.getAgencyId()); + agencyList.add(sub.getAgencyId()); + //2.查询直属下级组织注册用户日统计数据,默认按用户总数降序 + List list = dataStatsDao.getSubAgencyUser(agencyList, formDTO.getDateId()); + + //3.封装数据 + int userTotal = 0; + int resiTotal = 0; + int partyMemberTotal = 0; + for (SubAgencyUserResultDTO u : list){ + userTotal+=u.getUserTotal(); + resiTotal+=u.getResiTotal(); + partyMemberTotal+=u.getPartyMemberTotal(); + } + SubAgencyUserResultDTO dto = new SubAgencyUserResultDTO(); + dto.setAgencyId(sub.getAgencyId()); + dto.setAgencyName(sub.getAgencyName()); + dto.setLevel(null == sub.getLevel() ? "" : sub.getLevel()); + dto.setAreaCode(null == sub.getAreaCode() ? "" : sub.getAreaCode()); + dto.setUserTotal(userTotal); + dto.setPartyMemberTotal(partyMemberTotal); + dto.setResiTotal(resiTotal); + dto.setPartyMemberRatio(dto.getPartyMemberTotal() == 0 || dto.getUserTotal() == 0 ? BigDecimal.ZERO : new BigDecimal(numberFormat.format((float) dto.getPartyMemberTotal() / (float) dto.getUserTotal()))); + dto.setResiRatio(dto.getResiTotal() == 0 || dto.getUserTotal() == 0 ? BigDecimal.ZERO : new BigDecimal(numberFormat.format((float) dto.getResiTotal() / (float) dto.getUserTotal()))); + resultList.add(dto); + }); + /* //2.查询直属下级组织注册用户日统计数据,默认按用户总数降序 List list = dataStatsDao.getSubAgencyUser(agencyIds, formDTO.getDateId()); @@ -316,7 +346,7 @@ public class DataStatsServiceImpl implements DataStatsService { dto.setResiRatio(dto.getResiTotal() == 0 || dto.getUserTotal() == 0 ? BigDecimal.ZERO : new BigDecimal(numberFormat.format((float) dto.getResiTotal() / (float) dto.getUserTotal()))); resultList.add(dto); } - +*/ //4.按要求排序并返回 Collections.sort(resultList, new Comparator() { @Override