Browse Source

课表同步调整

dzx 4 months ago
parent
commit
0e2ad81a89

+ 33 - 30
src/main/java/com/xjrsoft/module/courseTable/service/impl/CourseTableServiceImpl.java

@@ -392,6 +392,9 @@ public class CourseTableServiceImpl extends ServiceImpl<CourseTableMapper, Cours
 
                     //调课,将双方课程的日期(schedule_date)、时段(time_period)、节次(time_number)、周(week)、星期几(1-7)(weeks)、星期中文(weeks_cn)对调
                     CourseTable courseTable = courseMap.get(bakKeyInfoMap.get(Long.parseLong(courseId)));
+                    if(courseTable == null){
+                        continue;
+                    }
 
                     CourseTable swapCourseTable = courseMap.get(bakKeyInfoMap.get(Long.parseLong(exchangeCourseId)));
 
@@ -404,23 +407,23 @@ public class CourseTableServiceImpl extends ServiceImpl<CourseTableMapper, Cours
                     courseTable.setTeacherId(swapCourseTableBak.getTeacherId());
                     courseTable.setSiteId(swapCourseTableBak.getSiteId());
                     courseTable.setTeacherName(swapCourseTableBak.getTeacherName());
-                    courseTable.setKeyInfo(courseTable.getTeacherId() + "_"
-                            + courseTable.getClassId() + "_"
-                            + courseTable.getScheduleDate() + "_"
-                            + courseTable.getCourseId() + "_"
-                            + courseTable.getSiteId() + "_"
-                            + courseTable.getTimeNumber()
-                    );
+//                    courseTable.setKeyInfo(courseTable.getTeacherId() + "_"
+//                            + courseTable.getClassId() + "_"
+//                            + courseTable.getScheduleDate() + "_"
+//                            + courseTable.getCourseId() + "_"
+//                            + courseTable.getSiteId() + "_"
+//                            + courseTable.getTimeNumber()
+//                    );
                     courseTableMapper.updateById(courseTable);
 
                     swapCourseTable.setAdjustType(courseAdjust.getAdjustType());
-                    swapCourseTable.setKeyInfo(swapCourseTable.getTeacherId() + "_"
-                            + swapCourseTable.getClassId() + "_"
-                            + swapCourseTable.getScheduleDate() + "_"
-                            + swapCourseTable.getCourseId() + "_"
-                            + swapCourseTable.getSiteId() + "_"
-                            + swapCourseTable.getTimeNumber()
-                    );
+//                    swapCourseTable.setKeyInfo(swapCourseTable.getTeacherId() + "_"
+//                            + swapCourseTable.getClassId() + "_"
+//                            + swapCourseTable.getScheduleDate() + "_"
+//                            + swapCourseTable.getCourseId() + "_"
+//                            + swapCourseTable.getSiteId() + "_"
+//                            + swapCourseTable.getTimeNumber()
+//                    );
                     swapCourseTable.setCourseId(courseTableBak.getCourseId());
                     swapCourseTable.setCourseName(courseTableBak.getCourseName());
                     swapCourseTable.setTeacherId(courseTableBak.getTeacherId());
@@ -443,7 +446,7 @@ public class CourseTableServiceImpl extends ServiceImpl<CourseTableMapper, Cours
                     courseTable.setTeacherId(teacherId);
                     courseTable.setTeacherName(teacherName);
 
-                    courseTable.setKeyInfo(teacherId + "_" + courseTable.getClassId() + "_" + courseTable.getScheduleDate() + "_" + courseTable.getCourseId() + "_" + courseTable.getSiteId() + "_" + courseTable.getTimeNumber());
+//                    courseTable.setKeyInfo(teacherId + "_" + courseTable.getClassId() + "_" + courseTable.getScheduleDate() + "_" + courseTable.getCourseId() + "_" + courseTable.getSiteId() + "_" + courseTable.getTimeNumber());
                     courseTableMapper.updateById(courseTable);
                 }
 
@@ -472,23 +475,23 @@ public class CourseTableServiceImpl extends ServiceImpl<CourseTableMapper, Cours
                     courseTable.setTeacherId(swapCourseTableBak.getTeacherId());
                     courseTable.setSiteId(swapCourseTableBak.getSiteId());
                     courseTable.setTeacherName(swapCourseTableBak.getTeacherName());
-                    courseTable.setKeyInfo(courseTable.getTeacherId() + "_"
-                            + courseTable.getClassId() + "_"
-                            + courseTable.getScheduleDate() + "_"
-                            + courseTable.getCourseId() + "_"
-                            + courseTable.getSiteId() + "_"
-                            + courseTable.getTimeNumber()
-                    );
+//                    courseTable.setKeyInfo(courseTable.getTeacherId() + "_"
+//                            + courseTable.getClassId() + "_"
+//                            + courseTable.getScheduleDate() + "_"
+//                            + courseTable.getCourseId() + "_"
+//                            + courseTable.getSiteId() + "_"
+//                            + courseTable.getTimeNumber()
+//                    );
                     courseTableMapper.updateById(courseTable);
 
                     swapCourseTable.setAdjustType(courseAdjust.getAdjustType());
-                    swapCourseTable.setKeyInfo(swapCourseTable.getTeacherId() + "_"
-                            + swapCourseTable.getClassId() + "_"
-                            + swapCourseTable.getScheduleDate() + "_"
-                            + swapCourseTable.getCourseId() + "_"
-                            + swapCourseTable.getSiteId() + "_"
-                            + swapCourseTable.getTimeNumber()
-                    );
+//                    swapCourseTable.setKeyInfo(swapCourseTable.getTeacherId() + "_"
+//                            + swapCourseTable.getClassId() + "_"
+//                            + swapCourseTable.getScheduleDate() + "_"
+//                            + swapCourseTable.getCourseId() + "_"
+//                            + swapCourseTable.getSiteId() + "_"
+//                            + swapCourseTable.getTimeNumber()
+//                    );
                     swapCourseTable.setCourseId(courseTableBak.getCourseId());
                     swapCourseTable.setCourseName(courseTableBak.getCourseName());
                     swapCourseTable.setTeacherId(courseTableBak.getTeacherId());
@@ -510,7 +513,7 @@ public class CourseTableServiceImpl extends ServiceImpl<CourseTableMapper, Cours
                     courseTable.setAdjustType(courseAdjust.getAdjustType());
                     courseTable.setTeacherId(teacherId);
                     courseTable.setTeacherName(teacherName);
-                    courseTable.setKeyInfo(teacherId + "_" + courseTable.getClassId() + "_" + courseTable.getScheduleDate() + "_" + courseTable.getCourseId() + "_" + courseTable.getSiteId() + "_" + courseTable.getTimeNumber());
+//                    courseTable.setKeyInfo(teacherId + "_" + courseTable.getClassId() + "_" + courseTable.getScheduleDate() + "_" + courseTable.getCourseId() + "_" + courseTable.getSiteId() + "_" + courseTable.getTimeNumber());
                     courseTableMapper.updateById(courseTable);
                 }
 

+ 2 - 2
src/main/java/com/xjrsoft/module/job/JianyuekbScheduleTask.java

@@ -313,7 +313,7 @@ public class JianyuekbScheduleTask {
                         .select(WfCourseAdjust.class, x -> VoToColumnUtil.fieldsToColumns(WfCourseAdjust.class).contains(x.getProperty()))
                         .innerJoin(WorkflowFormRelation.class, WorkflowFormRelation::getFormKeyValue, WfCourseAdjust::getId)
                         .in(!courseAdjustIds.isEmpty(), WfCourseAdjust::getId, courseAdjustIds)
-                        .between(WfCourseAdjust::getAdjustDate, startDate, endDate)
+                        .and(wq -> wq.between(WfCourseAdjust::getAdjustDate, startDate, endDate).or().between(WfCourseAdjust::getExchangeDate, startDate, endDate))
                         .eq(WorkflowFormRelation::getCurrentState, HistoricProcessInstance.STATE_COMPLETED)
         );
         List<WfCourseAdjust> cancelList = new ArrayList<>();//需要作废的申请
@@ -419,7 +419,7 @@ public class JianyuekbScheduleTask {
                         .select(WorkflowFormRelation.class, x -> VoToColumnUtil.fieldsToColumns(WorkflowFormRelation.class).contains(x.getProperty()))
                         .innerJoin(WfCourseAdjust.class, WfCourseAdjust::getId, WorkflowFormRelation::getFormKeyValue)
                         .in(!courseAdjustIds.isEmpty(), WfCourseAdjust::getId, courseAdjustIds)
-                        .between(WfCourseAdjust::getAdjustDate, startDate, endDate)
+                        .and(wq -> wq.between(WfCourseAdjust::getAdjustDate, startDate, endDate).or().between(WfCourseAdjust::getExchangeDate, startDate, endDate))
                         .eq(WorkflowFormRelation::getCurrentState, HistoricProcessInstance.STATE_ACTIVE)
         );
         for (WorkflowFormRelation relation : activeList) {