|
|
@ -2,7 +2,8 @@ |
|
|
|
|
|
|
|
import com.epmet.commons.dynamic.datasource.annotation.DataSource; |
|
|
|
import com.epmet.commons.tools.constant.NumConstant; |
|
|
|
import com.epmet.commons.tools.enums.OrgLevelEnum; |
|
|
|
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; |
|
|
@ -11,6 +12,7 @@ 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.result.PatrolDailySumResult; |
|
|
|
import com.epmet.dataaggre.dto.evaluationindex.ScreenCustomerAgencyDTO; |
|
|
|
import com.epmet.dataaggre.dto.evaluationindex.ScreenCustomerGridDTO; |
|
|
|
import com.epmet.dataaggre.dto.evaluationindex.ScreenGovernRankDataDailyDTO; |
|
|
@ -19,7 +21,6 @@ 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.entity.epmetuser.StatsStaffPatrolRecordDailyEntity; |
|
|
|
import com.epmet.dataaggre.service.datastats.DataStatsService; |
|
|
|
import com.epmet.dataaggre.service.epmetuser.StatsStaffPatrolRecordDailyService; |
|
|
|
import com.epmet.dataaggre.service.evaluationindex.EvaluationIndexService; |
|
|
@ -1538,8 +1539,8 @@ public class DataStatsServiceImpl implements DataStatsService { |
|
|
|
Map<String, Integer> closeProjectStartMap = closeProjectStart.stream().collect(Collectors.toMap(SubGridProjectResultDTO::getGridId, SubGridProjectResultDTO::getClosedProjectTotal, (o1, o2) -> o1)); |
|
|
|
Map<String, Integer> closeProjectEndMap = closeProjectEnd.stream().collect(Collectors.toMap(SubGridProjectResultDTO::getGridId, SubGridProjectResultDTO::getClosedProjectTotal, (o1, o2) -> o1)); |
|
|
|
//巡查次数和时间
|
|
|
|
List<StatsStaffPatrolRecordDailyEntity> patrolList = statsStaffPatrolRecordDailyService.getPatrolSumList(gridIdList,formDTO.getStartDateId(),formDTO.getEndDateId()); |
|
|
|
Map<String, StatsStaffPatrolRecordDailyEntity> patrolListMap = patrolList.stream().collect(Collectors.toMap(StatsStaffPatrolRecordDailyEntity::getAgencyId, o -> o, (o1, o2) -> o1)); |
|
|
|
List<PatrolDailySumResult> patrolList = statsStaffPatrolRecordDailyService.getPatrolSumList(gridIdList,formDTO.getStartDateId(),formDTO.getEndDateId()); |
|
|
|
Map<String, PatrolDailySumResult> patrolListMap = patrolList.stream().collect(Collectors.toMap(PatrolDailySumResult::getFullAgencyId, o -> o, (o1, o2) -> o1)); |
|
|
|
|
|
|
|
subAgencyList.forEach(agency->{ |
|
|
|
String gridId = agency.getGridId(); |
|
|
@ -1549,14 +1550,9 @@ public class DataStatsServiceImpl implements DataStatsService { |
|
|
|
resultDTO.setTopicToIssueTotal(getTotal(toIssueStartMap,toIssueEndMap,gridId)); |
|
|
|
resultDTO.setIssueToProjectTotal(getTotal(toProjectStartMap,toProjectEndMap,gridId)); |
|
|
|
resultDTO.setClosedProjectTotal(getTotal(closeProjectStartMap,closeProjectEndMap,gridId)); |
|
|
|
StatsStaffPatrolRecordDailyEntity patrolRecordDTO = patrolListMap.get(gridId); |
|
|
|
if (patrolRecordDTO != null){ |
|
|
|
resultDTO.setPatrolTotal(patrolRecordDTO.getPatrolTotal()); |
|
|
|
Integer totalTime = patrolRecordDTO.getTotalTime(); |
|
|
|
int minutes = totalTime / 60; |
|
|
|
String totalTimeDesc = minutes / 60 + "小时"+ minutes % 60 + "分"; |
|
|
|
resultDTO.setPatrolTotalTime(totalTimeDesc); |
|
|
|
} |
|
|
|
|
|
|
|
PatrolDailySumResult patrolRecordDTO = patrolListMap.get(agency.getAllParentIds()); |
|
|
|
setPatrolAttr(resultDTO, patrolRecordDTO); |
|
|
|
result.add(resultDTO); |
|
|
|
}); |
|
|
|
}else { |
|
|
@ -1583,8 +1579,9 @@ public class DataStatsServiceImpl implements DataStatsService { |
|
|
|
Map<String, Integer> closeProjectStartMap = closeProjectStart.stream().collect(Collectors.toMap(SubAgencyProjectResultDTO::getAgencyId, SubAgencyProjectResultDTO::getClosedProjectTotal, (o1, o2) -> o1)); |
|
|
|
Map<String, Integer> closeProjectEndMap = closeProjectEnd.stream().collect(Collectors.toMap(SubAgencyProjectResultDTO::getAgencyId, SubAgencyProjectResultDTO::getClosedProjectTotal, (o1, o2) -> o1)); |
|
|
|
//巡查次数和时间
|
|
|
|
List<StatsStaffPatrolRecordDailyEntity> patrolList = statsStaffPatrolRecordDailyService.getPatrolSumList(agencyList,formDTO.getStartDateId(),formDTO.getEndDateId()); |
|
|
|
Map<String, StatsStaffPatrolRecordDailyEntity> patrolListMap = patrolList.stream().collect(Collectors.toMap(StatsStaffPatrolRecordDailyEntity::getAgencyId, o -> o, (o1, o2) -> o1)); |
|
|
|
List<String> agencyFullIds = subAgencyList.stream().map(o -> o.getPids().concat(StrConstant.COLON).concat(o.getAgencyId())).collect(Collectors.toList()); |
|
|
|
List<PatrolDailySumResult> patrolList = statsStaffPatrolRecordDailyService.getPatrolSumList(agencyFullIds,formDTO.getStartDateId(),formDTO.getEndDateId()); |
|
|
|
Map<String, PatrolDailySumResult> patrolListMap = patrolList.stream().collect(Collectors.toMap(PatrolDailySumResult::getFullAgencyId, o -> o, (o1, o2) -> o1)); |
|
|
|
|
|
|
|
subAgencyList.forEach(agency->{ |
|
|
|
String agencyId = agency.getAgencyId(); |
|
|
@ -1594,14 +1591,9 @@ public class DataStatsServiceImpl implements DataStatsService { |
|
|
|
resultDTO.setTopicToIssueTotal(getTotal(toIssueStartMap,toIssueEndMap,agencyId)); |
|
|
|
resultDTO.setIssueToProjectTotal(getTotal(toProjectStartMap,toProjectEndMap,agencyId)); |
|
|
|
resultDTO.setClosedProjectTotal(getTotal(closeProjectStartMap,closeProjectEndMap,agencyId)); |
|
|
|
StatsStaffPatrolRecordDailyEntity patrolRecordDTO = patrolListMap.get(agencyId); |
|
|
|
if (patrolRecordDTO != null){ |
|
|
|
resultDTO.setPatrolTotal(patrolRecordDTO.getPatrolTotal()); |
|
|
|
Integer totalTime = patrolRecordDTO.getTotalTime(); |
|
|
|
int minutes = totalTime / 60; |
|
|
|
String totalTimeDesc = minutes / 60 + "小时"+ minutes % 60 + "分"; |
|
|
|
resultDTO.setPatrolTotalTime(totalTimeDesc); |
|
|
|
} |
|
|
|
String fullAgencyId = agency.getPids().concat(StrConstant.COLON).concat(agencyId); |
|
|
|
PatrolDailySumResult patrolRecordDTO = patrolListMap.get(fullAgencyId); |
|
|
|
setPatrolAttr(resultDTO,patrolRecordDTO); |
|
|
|
result.add(resultDTO); |
|
|
|
}); |
|
|
|
} |
|
|
@ -1609,6 +1601,21 @@ public class DataStatsServiceImpl implements DataStatsService { |
|
|
|
List<WorkFactResultDTO> newResult = result.stream().sorted(Comparator.comparing(o -> o.getTopicToIssueTotal() + o.getIssueToProjectTotal() + o.getClosedProjectTotal() + o.getPatrolTotal())).collect(Collectors.toList()); |
|
|
|
return newResult; |
|
|
|
} |
|
|
|
|
|
|
|
private void setPatrolAttr(WorkFactResultDTO resultDTO, PatrolDailySumResult patrolRecordDTO) { |
|
|
|
if (patrolRecordDTO != null){ |
|
|
|
resultDTO.setPatrolTotal(patrolRecordDTO.getPatrolTotal()); |
|
|
|
Integer totalTime = patrolRecordDTO.getTotalTime(); |
|
|
|
if (totalTime != null || totalTime > 0){ |
|
|
|
int minutes = totalTime / 60; |
|
|
|
if (minutes >0){ |
|
|
|
String totalTimeDesc = minutes / 60 + "小时"+ minutes % 60 + "分"; |
|
|
|
resultDTO.setPatrolTotalTime(totalTimeDesc); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
private Integer getTotal(Map<String,Integer> startMap, Map<String,Integer> endMap,String agencyId){ |
|
|
|
Integer total1 = startMap.getOrDefault(agencyId,NumConstant.ZERO); |
|
|
|
Integer total2 = endMap.getOrDefault(agencyId,NumConstant.ZERO); |
|
|
|