diff --git a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/extract/form/ScreenPartyBranchDataFormDTO.java b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/extract/form/ScreenPartyBranchDataFormDTO.java index 06b95d02d2..72f9456cf8 100644 --- a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/extract/form/ScreenPartyBranchDataFormDTO.java +++ b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/extract/form/ScreenPartyBranchDataFormDTO.java @@ -88,6 +88,9 @@ public class ScreenPartyBranchDataFormDTO implements Serializable { private String updatedBy; public ScreenPartyBranchDataFormDTO() { + this.organizeCount = NumConstant.ZERO; + this.joinUserCount = NumConstant.ZERO; + this.averageJoinUserCount = NumConstant.ZERO; this.delFlag = NumConstant.ZERO_STR; this.revision = NumConstant.ZERO; this.createdBy = "APP_USER"; diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/heart/ActUserRelationDao.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/heart/ActUserRelationDao.java index 32cbbaf408..a88a330439 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/heart/ActUserRelationDao.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/heart/ActUserRelationDao.java @@ -20,6 +20,6 @@ public interface ActUserRelationDao { * @author zxc * @date 2020/9/25 5:19 下午 */ - List selectJoinUserCount(@Param("customerId") String customerId,@Param("monthId") String monthId); + List selectJoinUserCount(@Param("customerId") String customerId,@Param("monthId") String monthId,@Param("orgType") String orgType); } diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/PartyGuideServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/PartyGuideServiceImpl.java index aac1f632bf..12a37d90a9 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/PartyGuideServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/PartyGuideServiceImpl.java @@ -76,7 +76,7 @@ public class PartyGuideServiceImpl implements PartyGuideService { } String monthId = screenExtractFormDTO.getMonthId(); if (StringUtils.isEmpty(monthId)){ - monthId = LocalDate.now().toString().replace("-","").substring(NumConstant.ZERO,NumConstant.SIX); + monthId = LocalDate.now().minusMonths(NumConstant.ONE).toString().replace("-","").substring(NumConstant.ZERO,NumConstant.SIX); } if (!CollectionUtils.isEmpty(customerIds)){ String finalMonthId = monthId; @@ -273,8 +273,10 @@ public class PartyGuideServiceImpl implements PartyGuideService { if (!CollectionUtils.isEmpty(agencyIdList)){ List result = new ArrayList<>(); List orgIds = agencyIdList.stream().map(m -> m.getAgencyId()).collect(Collectors.toList()); + List joinUserCountByAgencyList = actUserRelationService.selectJoinUserCount(customerId, monthId, ScreenConstant.AGENCY); + List screenPartyBranchDataByAgencyList = actInfoService.selectActInfo(customerId, monthId, ScreenConstant.AGENCY, orgIds); if (isGrid == true){ - List joinUserCountList = actUserRelationService.selectJoinUserCount(customerId, monthId); + List joinUserCountList = actUserRelationService.selectJoinUserCount(customerId, monthId, ScreenConstant.GRID); agencyIdList.forEach(agency -> { String agencyId = agency.getAgencyId(); Map agencyMap = agencyService.selectAllSubAgencyId(agencyId, customerId); @@ -286,7 +288,7 @@ public class PartyGuideServiceImpl implements PartyGuideService { joinUserCountList.forEach(join -> { if (party.getOrgId().equals(join.getOrgId())){ party.setAverageJoinUserCount(join.getJoinUserCount()); - party.setAverageJoinUserCount(party.getJoinUserCount() / party.getOrganizeCount()); + party.setAverageJoinUserCount(party.getOrganizeCount()==NumConstant.ZERO ? NumConstant.ZERO : party.getJoinUserCount() / party.getOrganizeCount()); party.setYearId(DateUtils.getYearId(monthId)); } }); @@ -314,7 +316,17 @@ public class PartyGuideServiceImpl implements PartyGuideService { form.setYearId(DateUtils.getYearId(monthId)); form.setOrganizeCount(actList.stream().collect(Collectors.summingInt(ScreenPartyBranchDataFormDTO::getOrganizeCount))); form.setJoinUserCount(actList.stream().collect(Collectors.summingInt(ScreenPartyBranchDataFormDTO::getJoinUserCount))); - form.setAverageJoinUserCount(form.getJoinUserCount() / form.getOrganizeCount()); + screenPartyBranchDataByAgencyList.forEach(organize -> { + if (organize.getOrgId().equals(agencyId)){ + form.setOrganizeCount(calAdd(organize.getOrganizeCount(),actList.stream().collect(Collectors.summingInt(ScreenPartyBranchDataFormDTO::getOrganizeCount)))); + } + }); + joinUserCountByAgencyList.forEach(join -> { + if (join.getOrgId().equals(agencyId)){ + form.setJoinUserCount(calAdd(join.getJoinUserCount(),actList.stream().collect(Collectors.summingInt(ScreenPartyBranchDataFormDTO::getJoinUserCount)))); + } + }); + form.setAverageJoinUserCount(form.getOrganizeCount()==NumConstant.ZERO?NumConstant.ZERO : (form.getJoinUserCount() / form.getOrganizeCount())); result.add(form); }); delAndInsertOrganize(result,customerId,monthId,orgIds); @@ -330,15 +342,17 @@ public class PartyGuideServiceImpl implements PartyGuideService { }); // 存在直属网格 if (!CollectionUtils.isEmpty(disGridIds)){ + orgIds.addAll(disGridIds); List gridResult = new ArrayList<>(); - List joinUserCountList = actUserRelationService.selectJoinUserCount(customerId, monthId); - List orgNameList = agencyService.selectOrgNameGrid(disGridIds); + List joinUserCountList = actUserRelationService.selectJoinUserCount(customerId, monthId, ScreenConstant.GRID); List screenPartyBranchDataList = actInfoService.selectActInfo(customerId, monthId, ScreenConstant.GRID, disGridIds); if (!CollectionUtils.isEmpty(screenPartyBranchDataList)){ screenPartyBranchDataList.forEach(party -> { - orgNameList.forEach(org -> { - if (party.getOrgId().equals(org.getGridId())){ - party.setOrgName(org.getGridName()); + joinUserCountList.forEach(join -> { + if (party.getOrgId().equals(join.getOrgId())){ + party.setAverageJoinUserCount(join.getJoinUserCount()); + party.setAverageJoinUserCount(party.getOrganizeCount()==NumConstant.ZERO ? NumConstant.ZERO : party.getJoinUserCount() / party.getOrganizeCount()); + party.setYearId(DateUtils.getYearId(monthId)); } }); ScreenPartyBranchDataFormDTO copyParty = ConvertUtils.sourceToTarget(party, ScreenPartyBranchDataFormDTO.class); @@ -360,7 +374,17 @@ public class PartyGuideServiceImpl implements PartyGuideService { form.setParentId(screenPartyBranchDataList.get(NumConstant.ZERO).getParentId()); form.setJoinUserCount(screenPartyBranchDataList.stream().collect(Collectors.summingInt(ScreenPartyBranchDataFormDTO::getJoinUserCount))); form.setOrganizeCount(screenPartyBranchDataList.stream().collect(Collectors.summingInt(ScreenPartyBranchDataFormDTO::getOrganizeCount))); - form.setAverageJoinUserCount(form.getJoinUserCount() / form.getOrganizeCount()); + screenPartyBranchDataByAgencyList.forEach(organize -> { + if (organize.getOrgId().equals(agencyId)){ + form.setOrganizeCount(calAdd(organize.getOrganizeCount(),screenPartyBranchDataList.stream().collect(Collectors.summingInt(ScreenPartyBranchDataFormDTO::getOrganizeCount)))); + } + }); + joinUserCountByAgencyList.forEach(join -> { + if (join.getOrgId().equals(agencyId)){ + form.setJoinUserCount(calAdd(join.getJoinUserCount(),screenPartyBranchDataList.stream().collect(Collectors.summingInt(ScreenPartyBranchDataFormDTO::getJoinUserCount)))); + } + }); + form.setAverageJoinUserCount(form.getOrganizeCount()==NumConstant.ZERO?NumConstant.ZERO : (form.getJoinUserCount() / form.getOrganizeCount())); result.add(form); } }); @@ -369,6 +393,13 @@ public class PartyGuideServiceImpl implements PartyGuideService { } } + public Integer calAdd(Integer a, Integer b){ + if (null != a && null != b){ + return a + b; + } + return NumConstant.ZERO; + } + /** * @Description 社区级别的处理 * @Param customerId diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/heart/ActUserRelationService.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/heart/ActUserRelationService.java index 7875323b3c..c7cb47c47a 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/heart/ActUserRelationService.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/heart/ActUserRelationService.java @@ -17,6 +17,6 @@ public interface ActUserRelationService { * @author zxc * @date 2020/9/25 5:19 下午 */ - List selectJoinUserCount(String customerId,String monthId); + List selectJoinUserCount(String customerId,String monthId, String orgType); } diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/heart/impl/ActUserRelationServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/heart/impl/ActUserRelationServiceImpl.java index 570967a3c0..b9b5165260 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/heart/impl/ActUserRelationServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/heart/impl/ActUserRelationServiceImpl.java @@ -29,7 +29,7 @@ public class ActUserRelationServiceImpl implements ActUserRelationService { * @date 2020/9/25 5:19 下午 */ @Override - public List selectJoinUserCount(String customerId, String monthId) { - return actUserRelationDao.selectJoinUserCount(customerId, monthId); + public List selectJoinUserCount(String customerId, String monthId, String orgType) { + return actUserRelationDao.selectJoinUserCount(customerId, monthId, orgType); } } diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/screen/ScreenPartyBranchDataDao.xml b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/screen/ScreenPartyBranchDataDao.xml index ae9430e214..5c5741a289 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/screen/ScreenPartyBranchDataDao.xml +++ b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/screen/ScreenPartyBranchDataDao.xml @@ -128,8 +128,8 @@