| 
						
						
							
								
							
						
						
					 | 
				
				 | 
				
					@ -2,47 +2,53 @@ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					 import com.alibaba.fastjson.JSON; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					 import com.epmet.commons.dynamic.datasource.annotation.DataSource; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					import com.epmet.commons.tools.constant.NumConstant; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					 import com.epmet.commons.tools.constant.NumConstant; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					 import com.epmet.commons.tools.constant.StrConstant; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					 import com.epmet.commons.tools.enums.OrgLevelEnum; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					import com.epmet.commons.tools.utils.DateUtils; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					import com.epmet.dataaggre.constant.DataSourceConstant; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					import com.epmet.dataaggre.constant.OrgConstant; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					import com.epmet.dataaggre.dao.datastats.DataStatsDao; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					import com.epmet.dataaggre.dao.datastats.FactGridMemberStatisticsDailyDao; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					import com.epmet.dataaggre.dto.datastats.FactGroupActDailyDTO; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					import com.epmet.dataaggre.dto.datastats.form.*; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					import com.epmet.dataaggre.dto.datastats.result.*; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					 import com.epmet.commons.tools.exception.RenException; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					 import com.epmet.commons.tools.utils.DateUtils; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					 import com.epmet.commons.tools.utils.ExcelUtils; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					 import com.epmet.dataaggre.constant.DataSourceConstant; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					 import com.epmet.dataaggre.constant.OrgConstant; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					 import com.epmet.dataaggre.dao.datastats.DataStatsDao; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					 import com.epmet.dataaggre.dao.datastats.FactGridMemberStatisticsDailyDao; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					 import com.epmet.dataaggre.dto.datastats.FactGroupActDailyDTO; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					 import com.epmet.dataaggre.dto.datastats.form.*; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					 import com.epmet.dataaggre.dto.datastats.result.*; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					 import com.epmet.dataaggre.dto.epmetuser.form.GridMemberPatrolListFormDTO; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					 import com.epmet.dataaggre.dto.epmetuser.result.GridMemberPatrolListResultDTO; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					 import com.epmet.dataaggre.dto.epmetuser.result.PatrolDailySumResult; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					import com.epmet.dataaggre.dto.evaluationindex.ScreenCustomerAgencyDTO; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					import com.epmet.dataaggre.dto.evaluationindex.ScreenCustomerGridDTO; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					import com.epmet.dataaggre.dto.evaluationindex.ScreenGovernRankDataDailyDTO; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					import com.epmet.dataaggre.dto.govorg.result.GridMemberDataAnalysisResultDTO; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					import com.epmet.dataaggre.dto.resigroup.ActCategoryDictDTO; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					import com.epmet.dataaggre.dto.resigroup.result.GroupActRankDetailDTO; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					import com.epmet.dataaggre.entity.datastats.DimAgencyEntity; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					import com.epmet.dataaggre.entity.datastats.FactAgencyGovernDailyEntity; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					import com.epmet.dataaggre.service.datastats.DataStatsService; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					import com.epmet.dataaggre.service.epmetuser.StatsStaffPatrolRecordDailyService; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					import com.epmet.dataaggre.service.evaluationindex.EvaluationIndexService; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					import com.epmet.dataaggre.service.opercrm.CustomerRelation; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					import com.github.pagehelper.PageHelper; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					import lombok.extern.slf4j.Slf4j; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					import org.apache.commons.collections4.CollectionUtils; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					import org.apache.commons.lang3.StringUtils; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					import org.springframework.beans.factory.annotation.Autowired; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					import org.springframework.stereotype.Service; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					import java.math.BigDecimal; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					import java.math.RoundingMode; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					import java.text.NumberFormat; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					import java.text.SimpleDateFormat; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					import java.util.*; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					import java.util.concurrent.atomic.AtomicInteger; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					import java.util.concurrent.atomic.AtomicReference; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					import java.util.stream.Collectors; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					 import com.epmet.dataaggre.dto.evaluationindex.ScreenAgencyOrGridListDTO; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					 import com.epmet.dataaggre.dto.evaluationindex.ScreenCustomerAgencyDTO; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					 import com.epmet.dataaggre.dto.evaluationindex.ScreenCustomerGridDTO; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					 import com.epmet.dataaggre.dto.evaluationindex.ScreenGovernRankDataDailyDTO; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					 import com.epmet.dataaggre.dto.govorg.result.GridMemberDataAnalysisResultDTO; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					 import com.epmet.dataaggre.dto.resigroup.ActCategoryDictDTO; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					 import com.epmet.dataaggre.dto.resigroup.result.GroupActRankDetailDTO; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					 import com.epmet.dataaggre.entity.datastats.DimAgencyEntity; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					 import com.epmet.dataaggre.entity.datastats.FactAgencyGovernDailyEntity; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					 import com.epmet.dataaggre.excel.CustomerDataManageExcel; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					 import com.epmet.dataaggre.service.datastats.DataStatsService; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					 import com.epmet.dataaggre.service.epmetuser.StatsStaffPatrolRecordDailyService; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					 import com.epmet.dataaggre.service.evaluationindex.EvaluationIndexService; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					 import com.epmet.dataaggre.service.opercrm.CustomerRelation; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					 import com.github.pagehelper.PageHelper; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					 import lombok.extern.slf4j.Slf4j; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					 import org.apache.commons.collections4.CollectionUtils; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					 import org.apache.commons.lang3.StringUtils; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					 import org.springframework.beans.factory.annotation.Autowired; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					 import org.springframework.stereotype.Service; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					 import javax.servlet.http.HttpServletResponse; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					 import java.math.BigDecimal; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					 import java.math.RoundingMode; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					 import java.text.NumberFormat; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					 import java.text.ParseException; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					 import java.text.SimpleDateFormat; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					 import java.util.*; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					 import java.util.concurrent.atomic.AtomicInteger; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					 import java.util.concurrent.atomic.AtomicReference; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					 import java.util.stream.Collectors; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					/** | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					 * @Author sun | 
				
			
			
		
	
	
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
				
				 | 
				
					@ -1841,4 +1847,258 @@ public class DataStatsServiceImpl implements DataStatsService { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        return dataStatsDao.selectGirdMemberPatrol(formDTO); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    } | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    /** | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					     * @Description 客户数据管理导出 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					     * @Param formDTO | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					     * @Param response | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					     * @author zxc | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					     * @date 2021/9/10 3:52 下午 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					     */ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    @Override | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    public void CustomerDataManage(CustomerDataManageFormDTO formDTO, HttpServletResponse response) throws Exception { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        List<CustomerDataManageResultDTO.CustomerDataManage> result = operateExport(formDTO).getList(); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        if (!CollectionUtils.isEmpty(result)){ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            CustomerDataManageResultDTO.CustomerDataManage c = new CustomerDataManageResultDTO.CustomerDataManage(); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            c.setOrgName("合计"); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            c.setUserCount(result.stream().collect(Collectors.summingInt(CustomerDataManageResultDTO.CustomerDataManage::getUserCount))); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            c.setResidentCount(result.stream().collect(Collectors.summingInt(CustomerDataManageResultDTO.CustomerDataManage::getResidentCount))); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            c.setPartyMemberCount(result.stream().collect(Collectors.summingInt(CustomerDataManageResultDTO.CustomerDataManage::getPartyMemberCount))); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            c.setGroupCount(result.stream().collect(Collectors.summingInt(CustomerDataManageResultDTO.CustomerDataManage::getGroupCount))); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            c.setTopicCount(result.stream().collect(Collectors.summingInt(CustomerDataManageResultDTO.CustomerDataManage::getTopicCount))); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            c.setIssueCount(result.stream().collect(Collectors.summingInt(CustomerDataManageResultDTO.CustomerDataManage::getIssueCount))); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            c.setProjectCount(result.stream().collect(Collectors.summingInt(CustomerDataManageResultDTO.CustomerDataManage::getProjectCount))); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            c.setClosedProjectCount(result.stream().collect(Collectors.summingInt(CustomerDataManageResultDTO.CustomerDataManage::getClosedProjectCount))); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            c.setPatrolPeopleCount(result.stream().collect(Collectors.summingInt(CustomerDataManageResultDTO.CustomerDataManage::getPatrolPeopleCount))); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            c.setPatrolCount(result.stream().collect(Collectors.summingInt(CustomerDataManageResultDTO.CustomerDataManage::getPatrolCount))); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            c.setPatrolDurationInteger(result.stream().collect(Collectors.summingInt(CustomerDataManageResultDTO.CustomerDataManage::getPatrolDurationInteger))); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            c.setPatrolDuration(getHm(c.getPatrolDurationInteger())); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            result.add(c); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        } | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        String fileName = excelName(formDTO); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        ExcelUtils.exportExcelToTargetDisposeAll(response,fileName,result, CustomerDataManageExcel.class); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    } | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    /** | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					     * @Description  秒转换时分 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					     * @Param seconds | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					     * @author zxc | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					     * @date 2021/9/13 10:03 上午 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					     */ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    public String getHm(Integer seconds){ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        String result = "0分钟"; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        if (seconds >= NumConstant.SIXTY) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            Integer hours = seconds / 3600; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            Integer minutes = seconds % 3600 / 60; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            result = (hours < NumConstant.ONE ? "" : hours + "小时") + (minutes < NumConstant.ONE ? "" : minutes + "分钟"); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        }else if (seconds < NumConstant.SIXTY && seconds > NumConstant.ZERO){ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            result = "1分钟"; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        } | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        return result; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    } | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    /** | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					     * @Description  表头获取 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					     * @Param formDTO | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					     * @author zxc | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					     * @date 2021/9/13 10:02 上午 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					     */ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    public String excelName(CustomerDataManageFormDTO formDTO){ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        StringBuffer s = new StringBuffer(); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        String agencyName = indexService.selectAgencyNameByAgencyId(formDTO.getAgencyId()); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        s.append(agencyName); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        if (StringUtils.isNotBlank(formDTO.getStartTime())){ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            String startTime = formDTO.getStartTime(); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            String sYear = startTime.substring(0, 4); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            String sMonth = startTime.substring(4, 6); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            String sDay = startTime.substring(6, 8); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            String endTime = formDTO.getEndTime(); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            String eYear = endTime.substring(0, 4); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            String eMonth = endTime.substring(4, 6); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            String eDay = endTime.substring(6, 8); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            s.append(sYear).append("年").append(sMonth).append("月").append(sDay).append("日-") | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                    .append(eYear).append("年").append(eMonth).append("月").append(eDay).append("日区间新增值"); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        }else { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            String endTime = formDTO.getEndTime(); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            String eYear = endTime.substring(0, 4); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            String eMonth = endTime.substring(4, 6); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            String eDay = endTime.substring(6, 8); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            s.append(eYear).append("年").append(eMonth).append("月").append(eDay).append("日截止累计值"); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        } | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        return s.toString(); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    } | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    /** | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					     * @Param formDTO | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					     * @Description 运营情况数据查询 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					     * @author sun | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					     */ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    @Override | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    public CustomerDataManageResultDTO operateExport(CustomerDataManageFormDTO formDTO) throws ParseException { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        CustomerDataManageResultDTO resultDTO = new CustomerDataManageResultDTO(); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        List<CustomerDataManageResultDTO.CustomerDataManage> dataManageList = new ArrayList<>(); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        //1.必要参数校验及处理
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        if ("Interval".equals(formDTO.getType()) && StringUtils.isEmpty(formDTO.getStartTime())) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            throw new RenException("请选择开始时间或查询累计值"); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        } | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        //入参有开始时间的则需要减去一天
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        if (StringUtils.isNotBlank(formDTO.getStartTime())) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            SimpleDateFormat format = new SimpleDateFormat(DateUtils.DATE_PATTERN_YYYYMMDD); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            Date date = format.parse(formDTO.getStartTime()); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            Date yesterday = DateUtils.addDateDays(date, -1); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            formDTO.setStartTime(format.format(yesterday)); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        } | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        //2.查询组织信息,判断查询下级组织还是网格数据
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        ScreenAgencyOrGridListDTO agencyGrid = indexService.getSubAgencyOrGridList(formDTO.getAgencyId()); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        if (null == agencyGrid) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            return new CustomerDataManageResultDTO(); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        } | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        //组织或网格Id集合
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        List<String> idList = agencyGrid.getAgencyGridList().stream().map(ScreenAgencyOrGridListDTO.AgencyGrid::getOrgId).collect(Collectors.toList()); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        formDTO.setDataType(!"community".equals(agencyGrid.getLevel()) ? "agency" : "grid"); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        formDTO.setIdList(idList); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        resultDTO.setTotal(idList.size()); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        //3.查询截止日期用户、群组、话题、议题、项目、巡查数据
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        formDTO.setSourceType("end"); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        List<CustomerDataManageResultDTO.CustomerDataManage> userEnd = dataStatsDao.regUserList(formDTO); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        HashMap<String, CustomerDataManageResultDTO.CustomerDataManage> uEndMap = new HashMap<>(); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        userEnd.stream().forEach(u->uEndMap.put(u.getOrgId(),u)); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        List<CustomerDataManageResultDTO.CustomerDataManage> groupEnd = dataStatsDao.groupList(formDTO); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        HashMap<String, CustomerDataManageResultDTO.CustomerDataManage> gEndMap = new HashMap<>(); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        groupEnd.stream().forEach(u->gEndMap.put(u.getOrgId(),u)); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        List<CustomerDataManageResultDTO.CustomerDataManage> topicEnd = dataStatsDao.topicList(formDTO); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        HashMap<String, CustomerDataManageResultDTO.CustomerDataManage> tEndMap = new HashMap<>(); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        topicEnd.stream().forEach(u->tEndMap.put(u.getOrgId(),u)); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        List<CustomerDataManageResultDTO.CustomerDataManage> issueEnd = dataStatsDao.issueList(formDTO); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        HashMap<String, CustomerDataManageResultDTO.CustomerDataManage> iEndMap = new HashMap<>(); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        issueEnd.stream().forEach(u->iEndMap.put(u.getOrgId(),u)); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        List<CustomerDataManageResultDTO.CustomerDataManage> projectEnd = dataStatsDao.projectList(formDTO); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        HashMap<String, CustomerDataManageResultDTO.CustomerDataManage> pEndMap = new HashMap<>(); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        projectEnd.stream().forEach(u->pEndMap.put(u.getOrgId(),u)); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        //巡查数据不区分区间差值,只计算累计值,人员做去重处理且是有巡查记录的人员
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        List<CustomerDataManageResultDTO.CustomerDataManage> patrolEnd = statsStaffPatrolRecordDailyService.patrolList(formDTO); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        //4.判断是否需要查询起始日期用户、群组、话题、议题、项目、巡查数据
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        HashMap<String, CustomerDataManageResultDTO.CustomerDataManage> uStartMap = new HashMap<>(); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        HashMap<String, CustomerDataManageResultDTO.CustomerDataManage> gStartMap = new HashMap<>(); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        HashMap<String, CustomerDataManageResultDTO.CustomerDataManage> tStartMap = new HashMap<>(); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        HashMap<String, CustomerDataManageResultDTO.CustomerDataManage> iStartMap = new HashMap<>(); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        HashMap<String, CustomerDataManageResultDTO.CustomerDataManage> pStartMap = new HashMap<>(); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        if ("Interval".equals(formDTO.getType())) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            formDTO.setSourceType("start"); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            List<CustomerDataManageResultDTO.CustomerDataManage> userStart = dataStatsDao.regUserList(formDTO); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            userStart.stream().forEach(u->uStartMap.put(u.getOrgId(),u)); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            List<CustomerDataManageResultDTO.CustomerDataManage> groupStart = dataStatsDao.groupList(formDTO); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            groupStart.stream().forEach(u->gStartMap.put(u.getOrgId(),u)); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            List<CustomerDataManageResultDTO.CustomerDataManage> topicStart = dataStatsDao.topicList(formDTO); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            topicStart.stream().forEach(u->tStartMap.put(u.getOrgId(),u)); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            List<CustomerDataManageResultDTO.CustomerDataManage> issueStart = dataStatsDao.issueList(formDTO); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            issueStart.stream().forEach(u->iStartMap.put(u.getOrgId(),u)); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            List<CustomerDataManageResultDTO.CustomerDataManage> projectStart = dataStatsDao.projectList(formDTO); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            projectStart.stream().forEach(u->pStartMap.put(u.getOrgId(),u)); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        } | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        //5.封装数据
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        agencyGrid.getAgencyGridList().forEach(org -> { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            CustomerDataManageResultDTO.CustomerDataManage dto = new CustomerDataManageResultDTO.CustomerDataManage(); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            dto.setOrgId(org.getOrgId()); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            dto.setOrgName(org.getOrgName()); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            int user = 0; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            int resi = 0; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            int part = 0; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            if(uEndMap.containsKey(org.getOrgId())){ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                user = uEndMap.get(org.getOrgId()).getUserCount(); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                resi = uEndMap.get(org.getOrgId()).getResidentCount(); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                part = uEndMap.get(org.getOrgId()).getPartyMemberCount(); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                if ("Interval".equals(formDTO.getType())&&uStartMap.containsKey(org.getOrgId())) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                    user = user - uStartMap.get(org.getOrgId()).getUserCount(); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                    resi = resi - uStartMap.get(org.getOrgId()).getResidentCount(); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                    part = part - uStartMap.get(org.getOrgId()).getPartyMemberCount(); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                } | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            } | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            int group = 0; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            if(gEndMap.containsKey(org.getOrgId())){ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                group = gEndMap.get(org.getOrgId()).getGroupCount(); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                if ("Interval".equals(formDTO.getType())&&gStartMap.containsKey(org.getOrgId())) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                    group = group - gStartMap.get(org.getOrgId()).getGroupCount(); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                } | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            } | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            int topic = 0; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            if(tEndMap.containsKey(org.getOrgId())){ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                topic = tEndMap.get(org.getOrgId()).getTopicCount(); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                if ("Interval".equals(formDTO.getType())&&tStartMap.containsKey(org.getOrgId())) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                    topic = topic - tStartMap.get(org.getOrgId()).getTopicCount(); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                } | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            } | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            int issue = 0; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            if(iEndMap.containsKey(org.getOrgId())){ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                issue = iEndMap.get(org.getOrgId()).getIssueCount(); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                if ("Interval".equals(formDTO.getType())&&iStartMap.containsKey(org.getOrgId())) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                    issue = issue - iStartMap.get(org.getOrgId()).getIssueCount(); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                } | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            } | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            int project = 0; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            int closed = 0; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            if(pEndMap.containsKey(org.getOrgId())){ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                project = pEndMap.get(org.getOrgId()).getProjectCount(); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                closed = pEndMap.get(org.getOrgId()).getClosedProjectCount(); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                if ("Interval".equals(formDTO.getType())&&pStartMap.containsKey(org.getOrgId())) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                    project = project - pStartMap.get(org.getOrgId()).getProjectCount(); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                    closed = closed - pStartMap.get(org.getOrgId()).getClosedProjectCount(); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                } | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            } | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            int patro = 0; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            int patroCount = 0; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            String patrolDuration = ""; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            int patrolDurationInteger = 0; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            HashSet set = new HashSet(); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            for (CustomerDataManageResultDTO.CustomerDataManage u : patrolEnd) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                if (org.getOrgId().equals(u.getOrgId())) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                    patroCount += u.getPatrolCount(); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                    patrolDurationInteger += u.getPatrolDurationInteger(); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                    set.add(u.getStaffId()); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                } | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            } | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            patro = set.size(); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            Integer minutes = patrolDurationInteger / 60; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            patrolDuration = (minutes / 60 > 0 ? minutes / 60 + "小时" : "") + (minutes % 60 > 0 ? minutes % 60 + "分钟" : "0分钟"); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            dto.setUserCount(user); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            dto.setResidentCount(resi); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            dto.setPartyMemberCount(part); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            dto.setGroupCount(group); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            dto.setTopicCount(topic); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            dto.setIssueCount(issue); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            dto.setProjectCount(project); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            dto.setClosedProjectCount(closed); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            dto.setPatrolPeopleCount(patro); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            dto.setPatrolCount(patroCount); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            dto.setPatrolDuration(patrolDuration); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            dto.setPatrolDurationInteger(patrolDurationInteger); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            dataManageList.add(dto); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        }); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        //6.默认按用户总数降序
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        Collections.sort(dataManageList, new Comparator<CustomerDataManageResultDTO.CustomerDataManage>() { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            @Override | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            public int compare(CustomerDataManageResultDTO.CustomerDataManage o1, CustomerDataManageResultDTO.CustomerDataManage o2) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                return o2.getUserCount().compareTo(o1.getUserCount()); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            } | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        }); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        //7.物理分页并返回
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        if (formDTO.getIsPage()) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            int firstIndex = (formDTO.getPageNo() - 1) * formDTO.getPageSize(); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            int lastIndex = formDTO.getPageNo() * formDTO.getPageSize(); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            List<CustomerDataManageResultDTO.CustomerDataManage> list = dataManageList.subList((firstIndex > dataManageList.size() ? dataManageList.size() : firstIndex), (lastIndex > dataManageList.size() ? dataManageList.size() : lastIndex)); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            resultDTO.setList(list); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            return resultDTO; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        } | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        resultDTO.setList(dataManageList); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        return resultDTO; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    } | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					} | 
				
			
			
		
	
	
		
			
				
					| 
						
						
						
					 | 
				
				 | 
				
					
  |