From 68d92cc375931f4b7151d0743e8b37a67ad16323 Mon Sep 17 00:00:00 2001 From: jianjun Date: Sun, 8 Aug 2021 12:54:29 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E8=8E=B7=E5=8F=96=E7=BB=84=E7=BB=87=20?= =?UTF-8?q?=E5=B7=A1=E6=9F=A5=E6=AC=A1=E6=95=B0=E5=8F=8A=E6=97=B6=E9=95=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../datastats/impl/DataStatsServiceImpl.java | 38 ++++++++++--------- .../StatsStaffPatrolRecordDailyDao.xml | 2 +- 2 files changed, 22 insertions(+), 18 deletions(-) diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/datastats/impl/DataStatsServiceImpl.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/datastats/impl/DataStatsServiceImpl.java index 2b42fbda86..520247cbe6 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/datastats/impl/DataStatsServiceImpl.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/datastats/impl/DataStatsServiceImpl.java @@ -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; @@ -1551,13 +1552,7 @@ public class DataStatsServiceImpl implements DataStatsService { resultDTO.setClosedProjectTotal(getTotal(closeProjectStartMap,closeProjectEndMap,gridId)); PatrolDailySumResult patrolRecordDTO = patrolListMap.get(agency.getAllParentIds()); - if (patrolRecordDTO != null){ - resultDTO.setPatrolTotal(patrolRecordDTO.getPatrolTotal()); - Integer totalTime = patrolRecordDTO.getTotalTime(); - int minutes = totalTime / 60; - String totalTimeDesc = minutes / 60 + "小时"+ minutes % 60 + "分"; - resultDTO.setPatrolTotalTime(totalTimeDesc); - } + setPatrolAttr(resultDTO, patrolRecordDTO); result.add(resultDTO); }); }else { @@ -1584,7 +1579,7 @@ public class DataStatsServiceImpl implements DataStatsService { Map closeProjectStartMap = closeProjectStart.stream().collect(Collectors.toMap(SubAgencyProjectResultDTO::getAgencyId, SubAgencyProjectResultDTO::getClosedProjectTotal, (o1, o2) -> o1)); Map closeProjectEndMap = closeProjectEnd.stream().collect(Collectors.toMap(SubAgencyProjectResultDTO::getAgencyId, SubAgencyProjectResultDTO::getClosedProjectTotal, (o1, o2) -> o1)); //巡查次数和时间 - List agencyFullIds = subAgencyList.stream().map(o -> o.getPids().concat(o.getAgencyId())).collect(Collectors.toList()); + List agencyFullIds = subAgencyList.stream().map(o -> o.getPids().concat(StrConstant.COLON).concat(o.getAgencyId())).collect(Collectors.toList()); List patrolList = statsStaffPatrolRecordDailyService.getPatrolSumList(agencyFullIds,formDTO.getStartDateId(),formDTO.getEndDateId()); Map patrolListMap = patrolList.stream().collect(Collectors.toMap(PatrolDailySumResult::getFullAgencyId, o -> o, (o1, o2) -> o1)); @@ -1596,15 +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)); - String fullAgencyId = agency.getPids().concat(agencyId); + String fullAgencyId = agency.getPids().concat(StrConstant.COLON).concat(agencyId); PatrolDailySumResult patrolRecordDTO = patrolListMap.get(fullAgencyId); - if (patrolRecordDTO != null){ - resultDTO.setPatrolTotal(patrolRecordDTO.getPatrolTotal()); - Integer totalTime = patrolRecordDTO.getTotalTime(); - int minutes = totalTime / 60; - String totalTimeDesc = minutes / 60 + "小时"+ minutes % 60 + "分"; - resultDTO.setPatrolTotalTime(totalTimeDesc); - } + setPatrolAttr(resultDTO,patrolRecordDTO); result.add(resultDTO); }); } @@ -1612,6 +1601,21 @@ public class DataStatsServiceImpl implements DataStatsService { List 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 startMap, Map endMap,String agencyId){ Integer total1 = startMap.getOrDefault(agencyId,NumConstant.ZERO); Integer total2 = endMap.getOrDefault(agencyId,NumConstant.ZERO); diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmetuser/StatsStaffPatrolRecordDailyDao.xml b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmetuser/StatsStaffPatrolRecordDailyDao.xml index 3470e2f60d..5642d17f40 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmetuser/StatsStaffPatrolRecordDailyDao.xml +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmetuser/StatsStaffPatrolRecordDailyDao.xml @@ -4,7 +4,7 @@