zhanghua
3 天以前 81d863041143bce34c8fafc0215a11e571833b6d
规则调整
1个文件已修改
21 ■■■■ 已修改文件
ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/ViolationsServiceImpl.java 21 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/ViolationsServiceImpl.java
@@ -111,9 +111,24 @@
            VideoPoint videoPoint = videoPointService.getByCode(videoAlarmReport.getPlatResourceId());
            if (videoPoint != null) {
                // 时间超过17点或者12-14点不处理,案件为不处理
                if (videoAlarmReport.getAlarmTime().getHour() >= 17 ||
                        (videoAlarmReport.getAlarmTime().getHour() < 14 && videoAlarmReport.getAlarmTime().getHour() >= 12)) {
//我来分析一下这个条件判断。根据注释"周一至周五上午8:30-12:00    下午2:00-17:00,处理案件,其他时间不处理",需要修改判断条件来正确识别非工作时间。
//
//当前代码只判断了小时,但需要:
//1. 判断是否为周一至周五
//2. 判断是否在工作时间段内(上午8:30-12:00,下午14:00-17:00)
                // 周一至周五上午8:30-12:00    下午2:00-17:00,处理案件,其他时间不处理
                LocalDateTime alarmTime = videoAlarmReport.getAlarmTime();
                int hour = alarmTime.getHour();
                int minute = alarmTime.getMinute();
                int dayOfWeek = alarmTime.getDayOfWeek().getValue(); // 1=周一, 7=周日
                boolean isWeekday = dayOfWeek >= 1 && dayOfWeek <= 5;
                boolean isMorningShift = hour == 8 && minute >= 30 || hour > 8 && hour < 12;
                boolean isAfternoonShift = hour >= 14 && hour < 17;
                // 如果不是工作日或不在工作时间段内,则不处理
                if (!isWeekday || !(isMorningShift || isAfternoonShift)) {
                    baseCase.setState(4);
                }