From e281f8366ad73081968a9fca395c40c65f2e4b48 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=A9=AC=E4=B8=89=E7=82=AE?= <15856818120@163.com> Date: Thu, 13 Nov 2025 14:31:31 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=89=E8=B7=A8=E6=A0=87=E8=AF=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../inter/mapper/JjBusinessMapper.java | 35 ++++- .../inter/service/JjBusinessService.java | 123 +++++++++++------- .../resources/mapper/JjBusinessMapper.xml | 9 ++ 3 files changed, 115 insertions(+), 52 deletions(-) diff --git a/xxl-job-executor-samples/xxl-job-executor-sample-springboot/src/main/java/com/xxl/job/executor/inter/mapper/JjBusinessMapper.java b/xxl-job-executor-samples/xxl-job-executor-sample-springboot/src/main/java/com/xxl/job/executor/inter/mapper/JjBusinessMapper.java index 34e8556..4081c5a 100644 --- a/xxl-job-executor-samples/xxl-job-executor-sample-springboot/src/main/java/com/xxl/job/executor/inter/mapper/JjBusinessMapper.java +++ b/xxl-job-executor-samples/xxl-job-executor-sample-springboot/src/main/java/com/xxl/job/executor/inter/mapper/JjBusinessMapper.java @@ -374,18 +374,49 @@ public interface JjBusinessMapper { void updateSingProject(TodayTaskVo todayTaskVoOld); /** - * + *修改工程三跨信息 * @param todayTaskVoOld */ void updateStartDateSingProject(TodayTaskVo todayTaskVoOld); + /** + * 获取当天二级和三级风险的信息 + * @param todayTaskVo + * @return + */ List getTodayTaskVo2List(TodayTaskVo todayTaskVo); + /** + * 查看以前这个班组是否被标识 + * @param todayTaskVoNew + * @return + */ TodayTaskVo getTeamIdentify(TodayTaskVo todayTaskVoNew); + /** + * 修改班组标识时间 + * @param todayTaskNew + */ void updateTeamIdentify(TodayTaskVo todayTaskNew); + /** + * 修改班组标识时间 + * @param todayTaskNew + */ void updateTeamIdentifyEndTate(TodayTaskVo todayTaskNew); - + /** + * 新增班组标识 + * @param todayTaskVoNew + */ void insertTeamIdentify(TodayTaskVo todayTaskVoNew); + /** + * 删除三跨标识 + * @param todayTaskVoIn + */ + void delClassMeetingSpan(TodayTaskVo todayTaskVoIn); + /** + * 新增三跨标识 + * @param todayTaskVoIn + */ + void insertClassMeetingSpan(TodayTaskVo todayTaskVoIn); } diff --git a/xxl-job-executor-samples/xxl-job-executor-sample-springboot/src/main/java/com/xxl/job/executor/inter/service/JjBusinessService.java b/xxl-job-executor-samples/xxl-job-executor-sample-springboot/src/main/java/com/xxl/job/executor/inter/service/JjBusinessService.java index 1f919ee..682a634 100644 --- a/xxl-job-executor-samples/xxl-job-executor-sample-springboot/src/main/java/com/xxl/job/executor/inter/service/JjBusinessService.java +++ b/xxl-job-executor-samples/xxl-job-executor-sample-springboot/src/main/java/com/xxl/job/executor/inter/service/JjBusinessService.java @@ -969,6 +969,9 @@ public class JjBusinessService { } } + /** + * 工程维度标记三跨 + */ public void threeSpan() { try { log.error("执行项目三跨标识**********************"); @@ -988,6 +991,7 @@ public class JjBusinessService { if (todayTaskVo3List.size()>0){ for (TodayTaskVo o:todayTaskVo3List) { if(StringUtils.isNotBlank(o.getWorkGx())){ + TodayTaskVo todayTaskVoIn = new TodayTaskVo(); if (o.getWorkGx().contains("导地线展放") || o.getWorkGx().contains("紧线、挂线作业")|| o.getWorkGx().contains("附件安装")){ //对这个工程进行标识是三跨工程 TodayTaskVo todayTaskVoNew = new TodayTaskVo(); @@ -996,44 +1000,40 @@ public class JjBusinessService { //查看以前这个工程是否被标识 TodayTaskVo todayTaskVoOld= mapper.getSingProject(todayTaskVoNew); if (!org.springframework.util.StringUtils.isEmpty(todayTaskVoOld)){ - if (StringUtils.isNotBlank(todayTaskVoOld.getStartDate()) && StringUtils.isBlank(todayTaskVoOld.getEndDate())){ - //判断今天和标记时间相隔几天 - DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd"); - LocalDate targetDateFromString = LocalDate.parse(todayTaskVoOld.getStartDate(), formatter); - // 3. 计算间隔天数(结果为正数表示目标日期在今天之前,负数表示在今天之后) - Long daysDiff = ChronoUnit.DAYS.between(targetDateFromString, today); - if (daysDiff.intValue()==1){ - //修改状态 - o.setThreeSpan("否"); - mapper.updateClassMetting(o); - todayTaskVoOld.setEndDate(DateUtils.formatDate(new Date(),"yyyy-MM-dd")); - mapper.updateSingProject(todayTaskVoOld); - } - } else if (StringUtils.isNotBlank(todayTaskVoOld.getStartDate()) && StringUtils.isNotBlank(todayTaskVoOld.getEndDate())) { - //判断今天和标记时间相隔几天 - DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd"); - LocalDate targetDateFromString = LocalDate.parse(todayTaskVoOld.getStartDate(), formatter); - // 3. 计算间隔天数(结果为正数表示目标日期在今天之前,负数表示在今天之后) - Long daysDiff = ChronoUnit.DAYS.between(targetDateFromString, today); - if (daysDiff.intValue()==15){ - //修改状态 - o.setThreeSpan("是"); - mapper.updateClassMetting(o); - todayTaskVoOld.setStartDate(DateUtils.formatDate(new Date(),"yyyy-MM-dd")); - todayTaskVoOld.setEndDate(null); - mapper.updateStartDateSingProject(todayTaskVoOld); - } + //判断今天和标记时间相隔几天 + DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd"); + LocalDate targetDateFromString = LocalDate.parse(todayTaskVoOld.getStartDate(), formatter); + // 3. 计算间隔天数(结果为正数表示目标日期在今天之前,负数表示在今天之后) + Long daysDiff = ChronoUnit.DAYS.between(targetDateFromString, today); + if (daysDiff.intValue()>14){ + //修改状态 + todayTaskVoIn.setClassId(o.getClassId()); + todayTaskVoIn.setThreeSpan("是"); + mapper.delClassMeetingSpan(todayTaskVoIn); + mapper.insertClassMeetingSpan(todayTaskVoIn); + todayTaskVoOld.setStartDate(DateUtils.formatDate(new Date(),"yyyy-MM-dd")); + mapper.updateSingProject(todayTaskVoOld); + }else { + //修改状态 + todayTaskVoIn.setClassId(o.getClassId()); + todayTaskVoIn.setThreeSpan("否"); + mapper.delClassMeetingSpan(todayTaskVoIn); + mapper.insertClassMeetingSpan(todayTaskVoIn); } }else { //修改状态 o.setThreeSpan("是"); - mapper.updateClassMetting(o); + todayTaskVoIn.setClassId(o.getClassId()); + mapper.delClassMeetingSpan(todayTaskVoIn); + mapper.insertClassMeetingSpan(todayTaskVoIn); mapper.insertSingProject(todayTaskVoNew); } }else { - //修改状态 - o.setThreeSpan("否"); - mapper.updateClassMetting(o); + todayTaskVoIn.setClassId(o.getClassId()); + todayTaskVoIn.setThreeSpan("否"); + todayTaskVoIn.setStartDate(DateUtils.formatDate(new Date(),"yyyy-MM-dd")); + mapper.delClassMeetingSpan(todayTaskVoIn); + mapper.insertClassMeetingSpan(todayTaskVoIn); } } @@ -1050,6 +1050,9 @@ public class JjBusinessService { } } + /** + * 班组维度标记三跨 + */ public void teamThreeSpan() { try { TodayTaskVo todayTaskVo = new TodayTaskVo(); @@ -1061,38 +1064,58 @@ public class JjBusinessService { XxlJobHelper.log("todayTaskVo2List-->"+todayTaskVo2List.size()); if(todayTaskVo2List.size()>0){ for (TodayTaskVo todayTaskVoOld: todayTaskVo2List) { + TodayTaskVo todayTaskVoIn = new TodayTaskVo(); if (StringUtils.isNotBlank(todayTaskVoOld.getWorkContent())){ if (todayTaskVoOld.getWorkContent().contains("带电线路") || todayTaskVoOld.getWorkContent().contains("线路带电")|| todayTaskVoOld.getWorkContent().contains("跨越主航道河流、海上主航道")){ //对这个工程进行标识是三跨工程 TodayTaskVo todayTaskVoNew = new TodayTaskVo(); todayTaskVoNew.setTeamId(todayTaskVoOld.getTeamId()); todayTaskVoNew.setStartDate(DateUtils.formatDate(new Date(),"yyyy-MM-dd")); - //查看以前这个工程是否被标识 + //查看以前这个班组是否被标识 TodayTaskVo todayTaskNew= mapper.getTeamIdentify(todayTaskVoNew); XxlJobHelper.log("today-->"+todayTaskNew); + todayTaskVoIn.setThreeSpan("是"); + todayTaskVoIn.setClassId(todayTaskVoOld.getClassId()); + todayTaskVoIn.setStartDate(DateUtils.formatDate(new Date(),"yyyy-MM-dd")); + mapper.delClassMeetingSpan(todayTaskVoIn); + mapper.insertClassMeetingSpan(todayTaskVoIn); if (!org.springframework.util.StringUtils.isEmpty(todayTaskNew)){ - if (StringUtils.isNotBlank(todayTaskNew.getStartDate()) && StringUtils.isBlank(todayTaskNew.getEndDate())){ - //修改状态 - todayTaskVoOld.setThreeSpan("是"); - mapper.updateClassMetting(todayTaskVoOld); - mapper.updateTeamIdentify(todayTaskNew); - } else if (StringUtils.isNotBlank(todayTaskNew.getStartDate()) && StringUtils.isNotBlank(todayTaskNew.getEndDate())) { - //修改状态 - todayTaskVoOld.setThreeSpan("否"); - mapper.updateClassMetting(todayTaskVoOld); - todayTaskNew.setEndDate(null); - mapper.updateTeamIdentifyEndTate(todayTaskNew); - } - }else { //修改状态 - todayTaskVoOld.setThreeSpan("是"); - mapper.updateClassMetting(todayTaskVoOld); + mapper.updateTeamIdentify(todayTaskVoNew); + }else { mapper.insertTeamIdentify(todayTaskVoNew); } }else { - //修改状态 - todayTaskVoOld.setThreeSpan("否"); - mapper.updateClassMetting(todayTaskVoOld); + //对这个工程进行标识是三跨工程 + TodayTaskVo todayTaskVoNew = new TodayTaskVo(); + todayTaskVoNew.setTeamId(todayTaskVoOld.getTeamId()); + todayTaskVoNew.setStartDate(DateUtils.formatDate(new Date(),"yyyy-MM-dd")); + //查看以前这个工程是否被标识 + TodayTaskVo todayTaskNew= mapper.getTeamIdentify(todayTaskVoNew); + if (!org.springframework.util.StringUtils.isEmpty(todayTaskNew)){ + //判断今天和标记时间相隔几天 + DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd"); + LocalDate targetDateFromString = LocalDate.parse(todayTaskNew.getStartDate(), formatter); + // 3. 计算间隔天数(结果为正数表示目标日期在今天之前,负数表示在今天之后) + Long daysDiff = ChronoUnit.DAYS.between(targetDateFromString, today); + //如果超过三天,标识取消 + if(daysDiff>2){ + todayTaskVoIn.setThreeSpan("否"); + }else { + todayTaskVoIn.setThreeSpan("是"); + } + todayTaskVoIn.setClassId(todayTaskVoOld.getClassId()); + todayTaskVoIn.setStartDate(DateUtils.formatDate(new Date(),"yyyy-MM-dd")); + mapper.delClassMeetingSpan(todayTaskVoIn); + mapper.insertClassMeetingSpan(todayTaskVoIn); + }else { + todayTaskVoIn.setThreeSpan("否"); + todayTaskVoIn.setClassId(todayTaskVoOld.getClassId()); + todayTaskVoIn.setStartDate(DateUtils.formatDate(new Date(),"yyyy-MM-dd")); + mapper.delClassMeetingSpan(todayTaskVoIn); + mapper.insertClassMeetingSpan(todayTaskVoIn); + mapper.insertTeamIdentify(todayTaskNew); + } } } diff --git a/xxl-job-executor-samples/xxl-job-executor-sample-springboot/src/main/resources/mapper/JjBusinessMapper.xml b/xxl-job-executor-samples/xxl-job-executor-sample-springboot/src/main/resources/mapper/JjBusinessMapper.xml index 7e43ae0..8e9a20b 100644 --- a/xxl-job-executor-samples/xxl-job-executor-sample-springboot/src/main/resources/mapper/JjBusinessMapper.xml +++ b/xxl-job-executor-samples/xxl-job-executor-sample-springboot/src/main/resources/mapper/JjBusinessMapper.xml @@ -35,6 +35,11 @@ team_id,start_date )values (#{teamId},#{startDate}) + + insert into jj_class_meeting_span( + class_id,three_span,create_date + )values (#{classId},#{threeSpan},#{startDate}) + UPDATE jj_warn_info SET work_content=#{workContent},team_id_car=#{idCard}, work_team=#{workTeam},ticket_id=#{ticketId},ticket_no=#{ticketNo},team_leader=#{relName}, @@ -70,6 +75,10 @@ where y_class_id=#{yClassId} and type=#{type} AND warn_day=#{warnDay} + + delete from jj_class_meeting_span + where class_id=#{classId} +