|  |  | @ -1,11 +1,9 @@ | 
			
		
	
		
			
				
					|  |  |  | package com.epmet.service.evaluationindex.extract.toscreen.impl; | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  | import com.alibaba.fastjson.JSON; | 
			
		
	
		
			
				
					|  |  |  | import com.epmet.commons.tools.constant.NumConstant; | 
			
		
	
		
			
				
					|  |  |  | import com.epmet.commons.tools.utils.ConvertUtils; | 
			
		
	
		
			
				
					|  |  |  | import com.epmet.constant.ScreenConstant; | 
			
		
	
		
			
				
					|  |  |  | import com.epmet.dto.extract.form.ExtractScreenFormDTO; | 
			
		
	
		
			
				
					|  |  |  | import com.epmet.dto.extract.form.ScreenExtractFormDTO; | 
			
		
	
		
			
				
					|  |  |  | import com.epmet.dto.extract.form.ScreenPartyBranchDataFormDTO; | 
			
		
	
		
			
				
					|  |  |  | import com.epmet.dto.extract.form.ScreenPartyLinkMassesDataFormDTO; | 
			
		
	
		
			
				
					|  |  |  | import com.epmet.dto.extract.result.*; | 
			
		
	
	
		
			
				
					|  |  | @ -185,11 +183,11 @@ public class PartyGuideServiceImpl implements PartyGuideService { | 
			
		
	
		
			
				
					|  |  |  |         // 判断当前级别agency是否为空
 | 
			
		
	
		
			
				
					|  |  |  |         if (!CollectionUtils.isEmpty(agencyIdList)){ | 
			
		
	
		
			
				
					|  |  |  |             // 获取agencyIds
 | 
			
		
	
		
			
				
					|  |  |  |             List<String> orgIds = agencyIdList.stream().map(m -> m.getAgencyId()).collect(Collectors.toList()); | 
			
		
	
		
			
				
					|  |  |  |             if (isGrid == true){ | 
			
		
	
		
			
				
					|  |  |  |             List<String> orgIds = agencyIdList.stream().map(CustomerAgencyInfoResultDTO::getAgencyId).collect(Collectors.toList()); | 
			
		
	
		
			
				
					|  |  |  |             if (isGrid) { | 
			
		
	
		
			
				
					|  |  |  |                 agencyIdList.forEach(agency -> { | 
			
		
	
		
			
				
					|  |  |  |                     // 计算社区级别的下级(实际就是网格)
 | 
			
		
	
		
			
				
					|  |  |  |                     GridPartyGuideDTO gridPartyGuideDTO = communityLevelSubGrid(customerId, monthId, agency); | 
			
		
	
		
			
				
					|  |  |  |                     GridPartyGuideDTO gridPartyGuideDTO = communityLevelSubGrid(customerId, agency); | 
			
		
	
		
			
				
					|  |  |  |                     orgIds.addAll(gridPartyGuideDTO.getOrgIds()); | 
			
		
	
		
			
				
					|  |  |  |                     result.addAll(gridPartyGuideDTO.getResult()); | 
			
		
	
		
			
				
					|  |  |  |                 }); | 
			
		
	
	
		
			
				
					|  |  | @ -210,8 +208,8 @@ public class PartyGuideServiceImpl implements PartyGuideService { | 
			
		
	
		
			
				
					|  |  |  |                     form.setCustomerId(customerId); | 
			
		
	
		
			
				
					|  |  |  |                     form.setDataEndTime(monthId); | 
			
		
	
		
			
				
					|  |  |  |                     form.setOrgType(ScreenConstant.AGENCY); | 
			
		
	
		
			
				
					|  |  |  |                     form.setCreateGroupTotal(gridList.stream().collect(Collectors.summingInt(ScreenPartyLinkMassesDataFormDTO::getCreateGroupTotal))); | 
			
		
	
		
			
				
					|  |  |  |                     form.setGroupUserTotal(gridList.stream().collect(Collectors.summingInt(ScreenPartyLinkMassesDataFormDTO::getGroupUserTotal))); | 
			
		
	
		
			
				
					|  |  |  |                     form.setCreateGroupTotal(gridList.stream().mapToInt(ScreenPartyLinkMassesDataFormDTO::getCreateGroupTotal).sum()); | 
			
		
	
		
			
				
					|  |  |  |                     form.setGroupUserTotal(gridList.stream().mapToInt(ScreenPartyLinkMassesDataFormDTO::getGroupUserTotal).sum()); | 
			
		
	
		
			
				
					|  |  |  |                     result.add(form); | 
			
		
	
		
			
				
					|  |  |  |                 }); | 
			
		
	
		
			
				
					|  |  |  |                 delAndInsertLink(result,customerId,monthId,orgIds); | 
			
		
	
	
		
			
				
					|  |  | @ -230,8 +228,8 @@ public class PartyGuideServiceImpl implements PartyGuideService { | 
			
		
	
		
			
				
					|  |  |  |                     if (!CollectionUtils.isEmpty(disGridIds)) { | 
			
		
	
		
			
				
					|  |  |  |                         List<ScreenPartyLinkMassesDataFormDTO> gridResult = new ArrayList<>(); | 
			
		
	
		
			
				
					|  |  |  |                         // 查询党员创建组,组内成员数
 | 
			
		
	
		
			
				
					|  |  |  |                         List<ScreenPartyLinkMassesDataFormDTO> partyLinkMassesDataList = groupMainService.selectPartyCreateGroupInfo(customerId, monthId, disGridIds); | 
			
		
	
		
			
				
					|  |  |  |                         List<OrgNameResultDTO> orgNameList = agencyService.selectOrgNameGrid(partyLinkMassesDataList.stream().map(m -> m.getOrgId()).collect(Collectors.toList())); | 
			
		
	
		
			
				
					|  |  |  |                         List<ScreenPartyLinkMassesDataFormDTO> partyLinkMassesDataList = groupMainService.selectPartyCreateGroupInfo(customerId, disGridIds); | 
			
		
	
		
			
				
					|  |  |  |                         List<OrgNameResultDTO> orgNameList = agencyService.selectOrgNameGrid(partyLinkMassesDataList.stream().map(ScreenPartyLinkMassesDataFormDTO::getOrgId).collect(Collectors.toList())); | 
			
		
	
		
			
				
					|  |  |  |                         if (!CollectionUtils.isEmpty(partyLinkMassesDataList)) { | 
			
		
	
		
			
				
					|  |  |  |                             partyLinkMassesDataList.forEach(party -> { | 
			
		
	
		
			
				
					|  |  |  |                                 orgNameList.forEach(org -> { | 
			
		
	
	
		
			
				
					|  |  | @ -246,7 +244,7 @@ public class PartyGuideServiceImpl implements PartyGuideService { | 
			
		
	
		
			
				
					|  |  |  |                         delAndInsertLink(gridResult,customerId,monthId,disGridIds); | 
			
		
	
		
			
				
					|  |  |  |                     } | 
			
		
	
		
			
				
					|  |  |  |                     // 查询直属网格的信息 + 下级机关的信息 = agency的机关信息
 | 
			
		
	
		
			
				
					|  |  |  |                     List<ScreenPartyLinkMassesDataFormDTO> screenPartyLinkMassesDataGrid = groupMainService.selectPartyCreateGroupInfo(customerId, monthId, disGridIds); | 
			
		
	
		
			
				
					|  |  |  |                     List<ScreenPartyLinkMassesDataFormDTO> screenPartyLinkMassesDataGrid = groupMainService.selectPartyCreateGroupInfo(customerId, disGridIds); | 
			
		
	
		
			
				
					|  |  |  |                     List<ScreenPartyLinkMassesDataFormDTO> screenPartyLinkMassesDataList = linkMassesDataService.selectPartyLinkMassesInfo(customerId, monthId, agencyId); | 
			
		
	
		
			
				
					|  |  |  |                     screenPartyLinkMassesDataList.addAll(screenPartyLinkMassesDataGrid); | 
			
		
	
		
			
				
					|  |  |  |                     if (!CollectionUtils.isEmpty(screenPartyLinkMassesDataList)) { | 
			
		
	
	
		
			
				
					|  |  | @ -257,8 +255,8 @@ public class PartyGuideServiceImpl implements PartyGuideService { | 
			
		
	
		
			
				
					|  |  |  |                         form.setCustomerId(customerId); | 
			
		
	
		
			
				
					|  |  |  |                         form.setDataEndTime(monthId); | 
			
		
	
		
			
				
					|  |  |  |                         form.setParentId(screenPartyLinkMassesDataList.get(NumConstant.ZERO).getParentId()); | 
			
		
	
		
			
				
					|  |  |  |                         form.setGroupUserTotal(screenPartyLinkMassesDataList.stream().collect(Collectors.summingInt(ScreenPartyLinkMassesDataFormDTO::getGroupUserTotal))); | 
			
		
	
		
			
				
					|  |  |  |                         form.setCreateGroupTotal(screenPartyLinkMassesDataList.stream().collect(Collectors.summingInt(ScreenPartyLinkMassesDataFormDTO::getCreateGroupTotal))); | 
			
		
	
		
			
				
					|  |  |  |                         form.setGroupUserTotal(screenPartyLinkMassesDataList.stream().mapToInt(ScreenPartyLinkMassesDataFormDTO::getGroupUserTotal).sum()); | 
			
		
	
		
			
				
					|  |  |  |                         form.setCreateGroupTotal(screenPartyLinkMassesDataList.stream().mapToInt(ScreenPartyLinkMassesDataFormDTO::getCreateGroupTotal).sum()); | 
			
		
	
		
			
				
					|  |  |  |                         result.add(form); | 
			
		
	
		
			
				
					|  |  |  |                     } | 
			
		
	
		
			
				
					|  |  |  |                 }); | 
			
		
	
	
		
			
				
					|  |  | @ -433,17 +431,16 @@ public class PartyGuideServiceImpl implements PartyGuideService { | 
			
		
	
		
			
				
					|  |  |  |     /** | 
			
		
	
		
			
				
					|  |  |  |      * @Description 社区级别的处理 | 
			
		
	
		
			
				
					|  |  |  |      * @Param customerId | 
			
		
	
		
			
				
					|  |  |  |      * @Param monthId | 
			
		
	
		
			
				
					|  |  |  |      * @Param agency | 
			
		
	
		
			
				
					|  |  |  |      * @author zxc | 
			
		
	
		
			
				
					|  |  |  |      * @date 2020/9/25 10:06 上午 | 
			
		
	
		
			
				
					|  |  |  |      */ | 
			
		
	
		
			
				
					|  |  |  |     public GridPartyGuideDTO communityLevelSubGrid(String customerId, String monthId, CustomerAgencyInfoResultDTO agency){ | 
			
		
	
		
			
				
					|  |  |  |     public GridPartyGuideDTO communityLevelSubGrid(String customerId, CustomerAgencyInfoResultDTO agency) { | 
			
		
	
		
			
				
					|  |  |  |         String agencyId = agency.getAgencyId(); | 
			
		
	
		
			
				
					|  |  |  |         // 获取下级所有agencyId【根据agencyMap中的level判断下级orgId是否是gridId】(此处直接作为gridId)
 | 
			
		
	
		
			
				
					|  |  |  |         Map<String, Object> agencyMap = agencyService.selectAllSubAgencyId(agencyId, customerId); | 
			
		
	
		
			
				
					|  |  |  |         List<String> gridIds = (List<String>) agencyMap.get(agencyId); | 
			
		
	
		
			
				
					|  |  |  |         List<ScreenPartyLinkMassesDataFormDTO> partyLinkMassesDataList = groupMainService.selectPartyCreateGroupInfo(customerId, monthId, gridIds); | 
			
		
	
		
			
				
					|  |  |  |         List<ScreenPartyLinkMassesDataFormDTO> partyLinkMassesDataList = groupMainService.selectPartyCreateGroupInfo(customerId, gridIds); | 
			
		
	
		
			
				
					|  |  |  |         List<String> orgIds = partyLinkMassesDataList.stream().map(m -> m.getOrgId()).collect(Collectors.toList()); | 
			
		
	
		
			
				
					|  |  |  |         List<OrgNameResultDTO> orgNameList = agencyService.selectOrgNameGrid(orgIds); | 
			
		
	
		
			
				
					|  |  |  |         partyLinkMassesDataList.forEach(party -> { | 
			
		
	
	
		
			
				
					|  |  | 
 |