|  |  | @ -25,8 +25,8 @@ import com.epmet.commons.rocketmq.messages.ProjectChangedMQMsg; | 
			
		
	
		
			
				
					|  |  |  | import com.epmet.commons.tools.constant.*; | 
			
		
	
		
			
				
					|  |  |  | import com.epmet.commons.tools.dto.result.CustomerStaffInfoCacheResult; | 
			
		
	
		
			
				
					|  |  |  | import com.epmet.commons.tools.exception.EpmetErrorCode; | 
			
		
	
		
			
				
					|  |  |  | import com.epmet.commons.tools.exception.ExceptionUtils; | 
			
		
	
		
			
				
					|  |  |  | import com.epmet.commons.tools.exception.EpmetException; | 
			
		
	
		
			
				
					|  |  |  | import com.epmet.commons.tools.exception.ExceptionUtils; | 
			
		
	
		
			
				
					|  |  |  | import com.epmet.commons.tools.exception.RenException; | 
			
		
	
		
			
				
					|  |  |  | import com.epmet.commons.tools.page.PageData; | 
			
		
	
		
			
				
					|  |  |  | import com.epmet.commons.tools.redis.common.CustomerOrgRedis; | 
			
		
	
	
		
			
				
					|  |  | @ -58,11 +58,12 @@ import com.epmet.resi.mine.dto.from.MyPartProjectsFormDTO; | 
			
		
	
		
			
				
					|  |  |  | import com.epmet.send.SendMqMsgUtil; | 
			
		
	
		
			
				
					|  |  |  | import com.epmet.service.*; | 
			
		
	
		
			
				
					|  |  |  | import com.github.pagehelper.PageHelper; | 
			
		
	
		
			
				
					|  |  |  | import com.github.pagehelper.PageInfo; | 
			
		
	
		
			
				
					|  |  |  | import com.google.common.base.Joiner; | 
			
		
	
		
			
				
					|  |  |  | import com.google.gson.Gson; | 
			
		
	
		
			
				
					|  |  |  | import com.google.gson.GsonBuilder; | 
			
		
	
		
			
				
					|  |  |  | import org.apache.commons.collections4.CollectionUtils; | 
			
		
	
		
			
				
					|  |  |  | import lombok.extern.slf4j.Slf4j; | 
			
		
	
		
			
				
					|  |  |  | import org.apache.commons.collections4.CollectionUtils; | 
			
		
	
		
			
				
					|  |  |  | import org.apache.commons.collections4.ListUtils; | 
			
		
	
		
			
				
					|  |  |  | import org.apache.commons.io.FilenameUtils; | 
			
		
	
		
			
				
					|  |  |  | import org.apache.commons.lang3.StringUtils; | 
			
		
	
	
		
			
				
					|  |  | @ -76,7 +77,6 @@ import org.springframework.web.context.request.RequestContextHolder; | 
			
		
	
		
			
				
					|  |  |  | import org.springframework.web.context.request.ServletRequestAttributes; | 
			
		
	
		
			
				
					|  |  |  | import org.springframework.web.multipart.MultipartFile; | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  | import javax.servlet.http.HttpServletRequest; | 
			
		
	
		
			
				
					|  |  |  | import java.text.ParseException; | 
			
		
	
		
			
				
					|  |  |  | import java.text.SimpleDateFormat; | 
			
		
	
	
		
			
				
					|  |  | @ -2916,26 +2916,31 @@ public class ProjectServiceImpl extends BaseServiceImpl<ProjectDao, ProjectEntit | 
			
		
	
		
			
				
					|  |  |  | 		ProjectDistributionAnalysisRightResultDTO result = new ProjectDistributionAnalysisRightResultDTO(); | 
			
		
	
		
			
				
					|  |  |  | 		List<ProjectDistributionAnalysisRightDTO> orgList = new ArrayList<>(); | 
			
		
	
		
			
				
					|  |  |  | 		Result<List<SonOrgResultDTO>> sonOrgList = govOrgOpenFeignClient.getSonAgencyId(formDTO.getOrgId(), agencyInfo.getLevel()); | 
			
		
	
		
			
				
					|  |  |  | 		if (!sonOrgList.success() || CollectionUtils.isEmpty(sonOrgList.getData())){ | 
			
		
	
		
			
				
					|  |  |  | 			throw new EpmetException(String.format("查询组织{%s}的下级组织失败或为空...",formDTO.getOrgId())); | 
			
		
	
		
			
				
					|  |  |  | 		if (!sonOrgList.success()){ | 
			
		
	
		
			
				
					|  |  |  | 			throw new EpmetException(String.format("查询组织{%s}的下级组织失败...",formDTO.getOrgId())); | 
			
		
	
		
			
				
					|  |  |  | 		} | 
			
		
	
		
			
				
					|  |  |  | 		if (CollectionUtils.isEmpty(sonOrgList.getData())){ | 
			
		
	
		
			
				
					|  |  |  | 			return result; | 
			
		
	
		
			
				
					|  |  |  | 		} | 
			
		
	
		
			
				
					|  |  |  | 		// 所有子级orgId,并构建全部数据
 | 
			
		
	
		
			
				
					|  |  |  | 		List<SonOrgResultDTO> orgIds = sonOrgList.getData(); | 
			
		
	
		
			
				
					|  |  |  | 		for (SonOrgResultDTO o : orgIds) { | 
			
		
	
		
			
				
					|  |  |  | 			ProjectDistributionAnalysisRightDTO dto = new ProjectDistributionAnalysisRightDTO(); | 
			
		
	
		
			
				
					|  |  |  | 			dto.setOrgId(o.getOrgId()); | 
			
		
	
		
			
				
					|  |  |  | 			orgList.add(dto); | 
			
		
	
		
			
				
					|  |  |  | 		} | 
			
		
	
		
			
				
					|  |  |  | 		List<ProjectDistributionAnalysisRightDTO> dtos; | 
			
		
	
		
			
				
					|  |  |  | 		if (!agencyInfo.getLevel().equals(ProjectConstant.ORG_LEVEL_COMMUNITY)){ | 
			
		
	
		
			
				
					|  |  |  | 			orgList = baseDao.selectProjectCountByOrg(orgIds, formDTO.getStartDate(),formDTO.getEndDate()); | 
			
		
	
		
			
				
					|  |  |  | 			dtos = baseDao.selectProjectCountByOrg(orgIds, formDTO.getStartDate(),formDTO.getEndDate()); | 
			
		
	
		
			
				
					|  |  |  | 		}else { | 
			
		
	
		
			
				
					|  |  |  | 			for (SonOrgResultDTO o : orgIds) { | 
			
		
	
		
			
				
					|  |  |  | 				ProjectDistributionAnalysisRightDTO dto = new ProjectDistributionAnalysisRightDTO(); | 
			
		
	
		
			
				
					|  |  |  | 				dto.setOrgId(o.getOrgId()); | 
			
		
	
		
			
				
					|  |  |  | 				orgList.add(dto); | 
			
		
	
		
			
				
					|  |  |  | 			} | 
			
		
	
		
			
				
					|  |  |  | 			Result<List<ProjectDistributionAnalysisRightDTO>> projectCountByGrid = govIssueOpenFeignClient.getProjectCountByGrid(formDTO); | 
			
		
	
		
			
				
					|  |  |  | 			if (!projectCountByGrid.success()){ | 
			
		
	
		
			
				
					|  |  |  | 				throw new EpmetException("查询网格项目数失败..."); | 
			
		
	
		
			
				
					|  |  |  | 			} | 
			
		
	
		
			
				
					|  |  |  | 			if (CollectionUtils.isNotEmpty(projectCountByGrid.getData())){ | 
			
		
	
		
			
				
					|  |  |  | 				orgList.stream().forEach(o -> projectCountByGrid.getData().stream().filter(p -> p.getOrgId().equals(o.getOrgId())).forEach(p -> o.setCount(p.getCount()))); | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  | 			} | 
			
		
	
		
			
				
					|  |  |  | 			dtos = projectCountByGrid.getData(); | 
			
		
	
		
			
				
					|  |  |  | 		} | 
			
		
	
		
			
				
					|  |  |  | 		if (CollectionUtils.isNotEmpty(dtos)){ | 
			
		
	
		
			
				
					|  |  |  | 			orgList.stream().forEach(o -> dtos.stream().filter(p -> p.getOrgId().equals(o.getOrgId())).forEach(p -> o.setCount(p.getCount()))); | 
			
		
	
		
			
				
					|  |  |  | 		} | 
			
		
	
		
			
				
					|  |  |  | 		if (CollectionUtils.isEmpty(orgList)){ | 
			
		
	
		
			
				
					|  |  |  | 			return result; | 
			
		
	
	
		
			
				
					|  |  | 
 |