From 5986a22d274eac8ad3acb02eac2002946f934b45 Mon Sep 17 00:00:00 2001 From: jianjun Date: Fri, 2 Jul 2021 14:18:50 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E7=BD=91=E6=A0=BC=E5=91=98=E5=B7=A1?= =?UTF-8?q?=E6=9F=A5=E7=BB=9F=E8=AE=A1=E6=89=A7=E8=A1=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../biz/impl/BizDataStatsServiceImpl.java | 33 +++++++++++-------- 1 file changed, 20 insertions(+), 13 deletions(-) diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/biz/impl/BizDataStatsServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/biz/impl/BizDataStatsServiceImpl.java index 8ff799cd87..223124e90a 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/biz/impl/BizDataStatsServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/biz/impl/BizDataStatsServiceImpl.java @@ -11,7 +11,6 @@ import com.epmet.dto.user.result.CustomerGridStaffDTO; import com.epmet.dto.user.result.CustomerStaffDTO; import com.epmet.dto.user.result.StaffPatrolRecordResult; import com.epmet.dto.user.result.StatsStaffPatrolRecordDailyDTO; -import com.epmet.entity.user.StatsStaffPatrolRecordDailyEntity; import com.epmet.service.evaluationindex.extract.biz.BizDataStatsService; import com.epmet.service.org.CustomerStaffService; import com.epmet.service.project.ProjectService; @@ -20,6 +19,7 @@ import com.epmet.service.user.UserService; import com.epmet.util.DimIdGenerator; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.CollectionUtils; +import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -64,12 +64,16 @@ public class BizDataStatsServiceImpl implements BizDataStatsService { private void reloadStaffPatrolStatsData(StaffPatrolStatsFormDTO formDTO, List allGridMembers) { //获取昨日的巡查统计记录 String yesterdayStr = getYesterdayString(formDTO); - List yesterdayStatsList = statsStaffPatrolService.selectData(formDTO.getCustomerId(), yesterdayStr); + StaffPatrolStatsFormDTO yesterdayParam = ConvertUtils.sourceToTarget(formDTO, StaffPatrolStatsFormDTO.class); + yesterdayParam.setDateId(yesterdayStr); + //遍历网格员重新初始化数据 + List insertList = buildInitPatrolStatsData(yesterdayParam, allGridMembers); + /* List yesterdayStatsList = statsStaffPatrolService.selectData(formDTO.getCustomerId(), yesterdayStr); if (CollectionUtils.isEmpty(yesterdayStatsList)) { log.warn("reloadStaffPatrolStatsData have any yesterdayStats data,dateId:{}", yesterdayStr); return; - } - Map yesterdayStatsMap = yesterdayStatsList.stream().collect(Collectors.toMap(o -> o.getGridId() + o.getStaffId(), o -> o, (o1, o2) -> o1)); + }*/ + Map yesterdayStatsMap = insertList.stream().collect(Collectors.toMap(o -> o.getGridId() + o.getStaffId(), o -> o, (o1, o2) -> o1)); //获取昨日的巡查记录 List yesterdayPatrolList = userService.selectStaffPatrolListByDateId(formDTO.getCustomerId(), yesterdayStr); @@ -77,8 +81,6 @@ public class BizDataStatsServiceImpl implements BizDataStatsService { List yesterdayProjectList = projectService.selectProjectListByDateId(formDTO.getCustomerId(), yesterdayStr, ProjectConstant.PROJECT_ORIGIN_AGENCY); //遍历网格员 设置其 巡查次数 巡查时常 上报项目数 - Map gridMemberMap = allGridMembers.stream().collect(Collectors.toMap(o -> o.getGridId() + o.getUserId(), o -> o, (o1, o2) -> o1)); - List updateList = new ArrayList<>(); yesterdayPatrolList.forEach(patrolRecord -> { String key = patrolRecord.getGrid().concat(patrolRecord.getStaffId()); StatsStaffPatrolRecordDailyDTO patrolRecordDailyDTO = yesterdayStatsMap.get(key); @@ -101,25 +103,24 @@ public class BizDataStatsServiceImpl implements BizDataStatsService { }); //填充项目数 yesterdayProjectList.forEach(projectDTO -> { - String key = projectDTO.getCreatedBy(); yesterdayPatrolList.forEach(patrol -> { //项目立项时间 在巡查期间时 总数加1 long projectCreateTime = projectDTO.getCreatedTime().getTime(); - if (patrol.getPatrolStartTime().getTime() >= projectCreateTime && patrol.getPatrolStartTime().getTime() >= projectCreateTime) { + if (projectCreateTime>= patrol.getPatrolStartTime().getTime() && projectCreateTime <= patrol.getPatrolEndTime().getTime()) { String unqPatrolKey = getUnqPatrolKey(patrol.getGrid(), patrol.getStaffId()); StatsStaffPatrolRecordDailyDTO recordDailyDTO = yesterdayStatsMap.get(unqPatrolKey); if (recordDailyDTO == null) { log.error("have project data but have any patrolRecordDaily,gridId:{},staffId:{}", patrol.getGrid(), patrol.getStaffId()); return; } + recordDailyDTO.setReportProjectCount(recordDailyDTO.getReportProjectCount() + 1); } }); }); - StaffPatrolStatsFormDTO yesterdayParam = ConvertUtils.sourceToTarget(formDTO, StaffPatrolStatsFormDTO.class); - yesterdayParam.setDateId(yesterdayStr); - Integer effectRow = statsStaffPatrolService.delAndInsertBatch(yesterdayParam, yesterdayStatsList); + + Integer effectRow = statsStaffPatrolService.delAndInsertBatch(yesterdayParam, insertList); log.debug("initStaffPatrolStats insert rows:{}", effectRow); } @@ -147,6 +148,13 @@ public class BizDataStatsServiceImpl implements BizDataStatsService { private void initStaffPatrolTodayData(StaffPatrolStatsFormDTO formDTO, List allGridMembers) { + List insertList = buildInitPatrolStatsData(formDTO, allGridMembers); + Integer effectRow = statsStaffPatrolService.delAndInsertBatch(formDTO, insertList); + log.debug("initStaffPatrolStats insert rows:{}", effectRow); + } + + @NotNull + private List buildInitPatrolStatsData(StaffPatrolStatsFormDTO formDTO, List allGridMembers) { List lastStaffPatrolList = userService.selectLastStaffPatrolList(formDTO); Map lastPatrolMap = lastStaffPatrolList.stream().collect(Collectors.toMap(o -> o.getGridId() + o.getStaffId(), o -> o, (o1, o2) -> o1)); //构建数据 插入 @@ -181,8 +189,7 @@ public class BizDataStatsServiceImpl implements BizDataStatsService { insertList.add(record); }); - Integer effectRow = statsStaffPatrolService.delAndInsertBatch(formDTO, insertList); - log.debug("initStaffPatrolStats insert rows:{}", effectRow); + return insertList; } private List getAllGridMembers(StaffPatrolStatsFormDTO formDTO) { From 5053694b35384102c1373e21fa2005d7470848aa Mon Sep 17 00:00:00 2001 From: jianjun Date: Fri, 2 Jul 2021 14:38:15 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E7=BD=91=E6=A0=BC=E5=91=98=E5=B7=A1?= =?UTF-8?q?=E6=9F=A5=E7=BB=9F=E8=AE=A1=E5=AE=9E=E9=99=85=E7=BB=93=E6=9D=9F?= =?UTF-8?q?=E6=97=B6=E9=97=B4=E5=8F=AA=E7=94=A8=E4=BA=8E=E8=AE=B0=E5=BD=95?= =?UTF-8?q?=20=E4=B8=8D=E5=8F=82=E4=B8=8E=E8=AE=A1=E7=AE=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../extract/biz/impl/BizDataStatsServiceImpl.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/biz/impl/BizDataStatsServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/biz/impl/BizDataStatsServiceImpl.java index 223124e90a..6f5491bb5c 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/biz/impl/BizDataStatsServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/biz/impl/BizDataStatsServiceImpl.java @@ -85,7 +85,7 @@ public class BizDataStatsServiceImpl implements BizDataStatsService { String key = patrolRecord.getGrid().concat(patrolRecord.getStaffId()); StatsStaffPatrolRecordDailyDTO patrolRecordDailyDTO = yesterdayStatsMap.get(key); if (patrolRecordDailyDTO != null) { - long total = (patrolRecord.getActrualEndTime().getTime() - patrolRecord.getPatrolStartTime().getTime()) / 1000; + long total = (patrolRecord.getPatrolEndTime().getTime() - patrolRecord.getPatrolStartTime().getTime()) / 1000; if (patrolRecordDailyDTO.getTotalTime() == null) { patrolRecordDailyDTO.setTotalTime(NumConstant.ZERO); } @@ -107,7 +107,7 @@ public class BizDataStatsServiceImpl implements BizDataStatsService { yesterdayPatrolList.forEach(patrol -> { //项目立项时间 在巡查期间时 总数加1 long projectCreateTime = projectDTO.getCreatedTime().getTime(); - if (projectCreateTime>= patrol.getPatrolStartTime().getTime() && projectCreateTime <= patrol.getPatrolEndTime().getTime()) { + if (projectCreateTime>= patrol.getPatrolStartTime().getTime() && projectCreateTime <= patrol.getPatrolEndTime().getTime()) { String unqPatrolKey = getUnqPatrolKey(patrol.getGrid(), patrol.getStaffId()); StatsStaffPatrolRecordDailyDTO recordDailyDTO = yesterdayStatsMap.get(unqPatrolKey); if (recordDailyDTO == null) { From 9967c2b46eaaf497efce05f0c4e087b0678d63ca Mon Sep 17 00:00:00 2001 From: zxc <1272811460@qq.com> Date: Fri, 2 Jul 2021 14:43:11 +0800 Subject: [PATCH 3/3] =?UTF-8?q?=E7=BB=93=E6=9D=9F=E6=97=B6=E9=97=B4+=2059s?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../epmet/service/impl/StaffPatrolRecordServiceImpl.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/StaffPatrolRecordServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/StaffPatrolRecordServiceImpl.java index d9f45984ad..8751acbb5f 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/StaffPatrolRecordServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/StaffPatrolRecordServiceImpl.java @@ -252,13 +252,13 @@ public class StaffPatrolRecordServiceImpl extends BaseServiceImpl 0) { throw new RenException(EpmetErrorCode.PATROL_END_TIME_ERROR.getCode()); } - Date actrualEndTime = new Date(); - record.setActrualEndTime(actrualEndTime); + record.setActrualEndTime(new Date()); record.setUpdatedTime(null); // 方便巡查统计表使用 Date patrolEndTime = DateUtils.parse(formDTO.getPatrolEndTime(), DateUtils.DATE_TIME_PATTERN); record.setPatrolEndTime(patrolEndTime); - Integer totalTime = DateUtils.calculateSecond(record.getPatrolStartTime(), record.getPatrolEndTime()); + // 总时间+59s,防止筛选项目时漏掉 + Integer totalTime = DateUtils.calculateSecond(record.getPatrolStartTime(), record.getPatrolEndTime()) + 59; record.setTotalTime(totalTime); record.setStatus(PatrolConstant.END); baseDao.updateById(record); @@ -273,7 +273,7 @@ public class StaffPatrolRecordServiceImpl extends BaseServiceImpl