Fancy
2024-10-17 5cbbf46bfe2a7abdd8a48f806ea9a202c57c0fcc
statistic workload change
3个文件已修改
22 ■■■■ 已修改文件
pms-parent/pms-global/src/main/resources/mapper/OthStatisticWorkloadMapper.xml 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pms-parent/pms-web-other/src/main/java/com/dy/pmsOther/screen/ScreenReportCtrl.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pms-parent/pms-web-other/src/main/java/com/dy/pmsOther/task/WorkloadTask.java 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pms-parent/pms-global/src/main/resources/mapper/OthStatisticWorkloadMapper.xml
@@ -29,9 +29,9 @@
    <select id="selectMaxDate" resultType="java.lang.String">
        SELECT COALESCE(
                       (SELECT DATE_ADD(MAX(statistic_date), INTERVAL 1 DAY) FROM oth_statistic_device),
                       (SELECT DATE_FORMAT(MIN(out_line_time),'%Y-%m-%d') FROM sta_device_last where status =2 and out_line_time is not null),
                       DATE_FORMAT(NOW() ,'%Y-%m-%d') -- 如果两个表都没有数据,返回当前时间
                       (SELECT DATE_ADD(MAX(statistic_date), INTERVAL 1 DAY) FROM oth_statistic_workload),
                       (SELECT DATE_FORMAT(MIN(out_time),'%Y-%m-%d') FROM sta_device_last),
                       DATE_FORMAT(DATE_SUB(NOW(), INTERVAL 1 DAY),'%Y-%m-%d') -- 如果两个表都没有数据,返回前一天时间  无用
                   ) AS max_date;
    </select>
pms-parent/pms-web-other/src/main/java/com/dy/pmsOther/screen/ScreenReportCtrl.java
@@ -54,9 +54,4 @@
        List<JSONObject> list = sv.queryPlanList();
        return BaseResponseUtils.buildSuccess(list);
    }
    @GetMapping(path="test")
    public BaseResponse test(){
         sv.test();
        return BaseResponseUtils.buildSuccess();
    }
}
pms-parent/pms-web-other/src/main/java/com/dy/pmsOther/task/WorkloadTask.java
@@ -27,19 +27,12 @@
        //today 0点5分 统计before today
        log.info("启动统计人员工作量任务");
        OthStatisticWorkloadMapper workloadMapper = SpringContextUtil.getBean(OthStatisticWorkloadMapper.class);
        //找到最大一条日期记录
        //应该统计的日期
        DateTimeFormatter formatter = DateTimeFormatter.ISO_DATE;
        LocalDate maxLocalDate = LocalDate.parse(workloadMapper.selectMaxDate(), formatter);
        //往后循环天数汇总  //循环统计
  /*      LocalDate maxLocalDate = null;
        if (maxDate == null) {
            maxLocalDate = LocalDate.now().minusDays(2);
        } else {
            maxLocalDate = maxDate.toInstant().atZone(ZoneId.systemDefault()).toLocalDate();
        }*/
        LocalDate today = LocalDate.now();
        LocalDate statisticDate = maxLocalDate.plusDays(1);
        LocalDate statisticDate = maxLocalDate;
        long daysBetween = ChronoUnit.DAYS.between(maxLocalDate, today);
        if (daysBetween > 30) {
            daysBetween = 30;