From 05b972456dbf6afc64e45c7e911670fab155ab57 Mon Sep 17 00:00:00 2001 From: jianjun Date: Thu, 1 Jul 2021 10:50:35 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E5=88=9D=E5=A7=8B=E5=8C=96=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../extract/biz/impl/BizDataStatsServiceImpl.java | 1 + .../epmet/service/user/impl/StatsStaffPatrolServiceImpl.java | 1 - .../src/main/resources/mapper/user/UserDao.xml | 2 +- 3 files 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 ad796d528c..151b376e4e 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 @@ -68,6 +68,7 @@ public class BizDataStatsServiceImpl implements BizDataStatsService { gridStaff.setTotalTime(NumConstant.ZERO); gridStaff.setPatrolTotal(NumConstant.ZERO); gridStaff.setLatestPatrolStatus("end"); + gridStaff.setReportProjectCount(NumConstant.ZERO); //最后巡查时间 gridStaff.setLatestPatrolTime(null); if (recordDailyDTO != null) { diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/user/impl/StatsStaffPatrolServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/user/impl/StatsStaffPatrolServiceImpl.java index a4004de4d0..0a08ff7908 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/user/impl/StatsStaffPatrolServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/user/impl/StatsStaffPatrolServiceImpl.java @@ -26,7 +26,6 @@ public class StatsStaffPatrolServiceImpl implements StatsStaffPatrolService { @Override public Integer insertBatch(List insertList) { - System.out.println("=====:"+JSON.toJSONString(insertList)); return statsStaffPatrolRecordDailyDao.insertBatch(insertList); } } diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/user/UserDao.xml b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/user/UserDao.xml index 578d20590a..3babf9e21e 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/user/UserDao.xml +++ b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/user/UserDao.xml @@ -591,7 +591,7 @@ t.PATROL_START_TIME latestPatrolTime, t.STATUS latestPatrolStatus FROM - ( SELECT GRID, STAFF_ID, max( CREATED_TIME ) AS CREATED_TIME FROM staff_patrol_record GROUP BY GRID, STAFF_ID ) a + ( SELECT DEL_FLAG,CUSTOMER_ID,GRID, STAFF_ID, max( CREATED_TIME ) AS CREATED_TIME FROM staff_patrol_record GROUP BY GRID, STAFF_ID ) a LEFT JOIN staff_patrol_record t ON t.GRID = a.GRID AND t.STAFF_ID = a.STAFF_ID AND t.CREATED_TIME = a.CREATED_TIME From 3985d96e5d842584626acc2a39887339c0f59539 Mon Sep 17 00:00:00 2001 From: zxc <1272811460@qq.com> Date: Thu, 1 Jul 2021 10:52:29 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E5=B7=A1=E6=9F=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dao/StatsStaffPatrolRecordDailyDao.java | 23 ++++- .../impl/StaffPatrolRecordServiceImpl.java | 89 +++++++++++++++++- .../java/com/epmet/util/DimIdGenerator.java | 91 +++++++++++++++++++ .../mapper/StatsStaffPatrolRecordDailyDao.xml | 27 +++++- 4 files changed, 224 insertions(+), 6 deletions(-) create mode 100644 epmet-user/epmet-user-server/src/main/java/com/epmet/util/DimIdGenerator.java diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/StatsStaffPatrolRecordDailyDao.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/StatsStaffPatrolRecordDailyDao.java index ac7ea8b7da..1abb137809 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/StatsStaffPatrolRecordDailyDao.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/StatsStaffPatrolRecordDailyDao.java @@ -22,6 +22,8 @@ import com.epmet.entity.StatsStaffPatrolRecordDailyEntity; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; +import java.util.Date; + /** * [天]工作人员巡查记录统计 * @@ -38,6 +40,25 @@ public interface StatsStaffPatrolRecordDailyDao extends BaseDao patrolProject = govProjectOpenFeignClient.selectPatrolProject(formDTO); + if (!patrolProject.success()){ + throw new RenException("查询巡查期间立项数失败【"+patrolProject.getInternalMsg()+"】"); + } + Integer data = patrolProject.getData(); + statsStaffPatrolRecordDailyDao.updateStatsRecordEnd(userId,totalTime,data,dateId); } /** diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/util/DimIdGenerator.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/util/DimIdGenerator.java new file mode 100644 index 0000000000..35e1f6d99b --- /dev/null +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/util/DimIdGenerator.java @@ -0,0 +1,91 @@ +package com.epmet.util; + +import com.epmet.commons.tools.utils.DateUtils; +import lombok.Data; + +import java.util.Calendar; +import java.util.Date; + +public class DimIdGenerator { + + /** + * 生成日期维度ID + * @param targetDate + * @return + */ + public static String getDateDimId(Date targetDate) { + return DateUtils.format(targetDate, DateUtils.DATE_PATTERN_YYYYMMDD); + } + + /** + * 获取月维度ID + * @param date + * @return + */ + public static String getMonthDimId(Date date) { + return DateUtils.format(date, DateUtils.DATE_PATTERN_YYYYMM); + } + + /** + * 获取周维度ID ,每周的星期一为 周的开始 + * @param date + * @return + */ + public static String getWeekDimId(Date date) { + String yyyy = DateUtils.format(date, DateUtils.DATE_PATTERN_YYYY); + Calendar calendar = Calendar.getInstance(); + calendar.setFirstDayOfWeek(Calendar.MONDAY); + calendar.setTime(date); + return yyyy.concat("W").concat(calendar.get(Calendar.WEEK_OF_YEAR)+""); + } + + /** + * 获取季度维度ID + * @param date + * @return + */ + public static String getQuarterDimId(Date date) { + String yyyy = DateUtils.format(date, DateUtils.DATE_PATTERN_YYYY); + return yyyy.concat("Q").concat(DateUtils.getQuarterIndex(date) + ""); + } + + /** + * 获取年维度ID + * @param date + * @return + */ + public static String getYearDimId(Date date) { + return DateUtils.format(date, DateUtils.DATE_PATTERN_YYYY); + } + + /** + * 获取封装了所有ID的对象 + * @return + */ + public static DimIdBean getDimIdBean(Date date) { + DimIdBean dimIdBean = new DimIdBean(); + dimIdBean.setDateId(getDateDimId(date)); + dimIdBean.setMonthId(getMonthDimId(date)); + dimIdBean.setWeekId(getWeekDimId(date)); + dimIdBean.setQuarterId(getQuarterDimId(date)); + dimIdBean.setYearId(getYearDimId(date)); + return dimIdBean; + } + + public static void main(String[] args) { + DimIdBean dimIdBean = getDimIdBean(DateUtils.stringToDate("2020-06-14",DateUtils.DATE_PATTERN)); + System.out.println(dimIdBean); + } + + @Data + public static class DimIdBean { + private String dateId; + private String monthId; + private String quarterId; + private String yearId; + private String weekId; + + public DimIdBean() { + } + } +} diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/StatsStaffPatrolRecordDailyDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/StatsStaffPatrolRecordDailyDao.xml index 3c51b767fb..734e25a847 100644 --- a/epmet-user/epmet-user-server/src/main/resources/mapper/StatsStaffPatrolRecordDailyDao.xml +++ b/epmet-user/epmet-user-server/src/main/resources/mapper/StatsStaffPatrolRecordDailyDao.xml @@ -3,10 +3,33 @@ + + + update stats_staff_patrol_record_daily + set LATEST_PATROL_TIME = #{patrolStartTime}, + LATEST_PATROL_STATUS = 'patrolling', + UPDATED_TIME = NOW() + where DEL_FLAG = 0 + and ID = #{id} + + + + + update stats_staff_patrol_record_daily + SET TOTAL_TIME = (TOTAL_TIME + #{totalTime}), + PATROL_TOTAL = (PATROL_TOTAL + 1), + REPORT_PROJECT_COUNT = (REPORT_PROJECT_COUNT + #{projectCount}), + LATEST_PATROL_STATUS = 'end', + UPDATED_TIME = NOW() + WHERE DEL_FLAG = 0 + AND STAFF_ID = #{userId} + AND DATE_ID = #{dateId} + + - SELECT - COUNT(1) + ID FROM stats_staff_patrol_record_daily WHERE