Lius
2024-07-25 9b015b51b72ba050b4c38a6ba79eb45b7065e67d
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/job/RunningOvertimeDurationJob.java
@@ -79,8 +79,8 @@
        quartzLog.setParams(this.parameter);
        log.info(String.format("定时统计设备加班时长任务 param: %s RunningOvertimeDurationJob start!  时间:" + DateUtils.getNow(), this.parameter));
        long startTime = System.currentTimeMillis();
        String date = "";
        try {
            String date = "";
            if (StringUtils.isNotBlank(this.parameter)) {
                date = DateUtils.format(DateUtils.toDate(this.parameter, DateUtils.STRDATE), DateUtils.STR_DATE);
                Date initDate = DateUtils.toDate(this.parameter, DateUtils.STRDATE);
@@ -90,7 +90,7 @@
            } else {
                date = DateUtils.format(DateUtils.getNow(), DateUtils.STR_DATE);
            }
            List<MdcEquipment> equipmentList = mdcEquipmentService.list(new LambdaQueryWrapper<>());
            List<MdcEquipment> equipmentList = mdcEquipmentService.list();
            MdcSystemParameters mdcSystemParameters = mdcSystemParametersService.getOne(new LambdaQueryWrapper<MdcSystemParameters>().eq(MdcSystemParameters::getCode, "equip_log_statis_time"));
            if (mdcSystemParameters == null) {
                throw new JobExecutionException("mdc_system_parameters 表中数据缺失");
@@ -99,7 +99,7 @@
            List<MdcEquipmentOvertime> result = new ArrayList<>();
            for (MdcEquipment mdcEquipment : equipmentList) {
                // 获取设备工作日历
                List<MdcDeviceCalendarVo> mdcDeviceCalendarVos = mdcDeviceCalendarService.listByEquipmentIdAndDate(mdcEquipment.getEquipmentId(), this.parameter);
                List<MdcDeviceCalendarVo> mdcDeviceCalendarVos = mdcDeviceCalendarService.listByEquipmentIdAndDate(mdcEquipment.getEquipmentId(), DateUtils.format(DateUtils.toDate(date, DateUtils.STR_DATE),DateUtils.STRDATE));
                if (mdcDeviceCalendarVos != null && !mdcDeviceCalendarVos.isEmpty()) {
                    //获取最后一个班次结束时间
                    Date startDate = this.getCalendarEndDate(mdcDeviceCalendarVos, date);
@@ -121,14 +121,14 @@
                        mdcEquipmentOvertime.setEquipmentId(mdcEquipment.getEquipmentId());
                        mdcEquipmentOvertime.setDuration(duration);
                        mdcEquipmentOvertime.setAutoFlag(CommonConstant.AUTO_FLAG_Y);
                        mdcEquipmentOvertime.setTheDate(this.parameter);
                        mdcEquipmentOvertime.setTheDate(DateUtils.format(DateUtils.toDate(date, DateUtils.STR_DATE),DateUtils.STRDATE));
                        result.add(mdcEquipmentOvertime);
                    }
                } else {
                    // 没有班次配置,计算全天的设备加工状态
                    Date startDate = DateUtils.toDate(date + " " + value, DateUtils.STR_DATE_TIME_SMALL);
                    Date endDate = DateUtils.plusTime(startDate, 1);
                    Date endDate = DateUtils.plusTime(startDate, 1);
                    List<MdcEquipmentRunningSection> equipmentRunningSectionList = mdcEquipmentRunningSectionService.selectRunningData(mdcEquipment.getEquipmentId(), startDate, endDate);
                    if (equipmentRunningSectionList != null && !equipmentRunningSectionList.isEmpty()) {
                        // 时间修正
@@ -146,7 +146,7 @@
                        mdcEquipmentOvertime.setEquipmentId(mdcEquipment.getEquipmentId());
                        mdcEquipmentOvertime.setDuration(duration);
                        mdcEquipmentOvertime.setAutoFlag(CommonConstant.AUTO_FLAG_Y);
                        mdcEquipmentOvertime.setTheDate(this.parameter);
                        mdcEquipmentOvertime.setTheDate(DateUtils.format(DateUtils.toDate(date, DateUtils.STR_DATE),DateUtils.STRDATE));
                        result.add(mdcEquipmentOvertime);
                    }