Browse Source

调课顶课,拒绝后删除备份数据

dzx 4 months ago
parent
commit
fe2fb7bab9

+ 2 - 0
src/main/java/com/xjrsoft/module/courseTable/mapper/CourseTableMapper.java

@@ -36,4 +36,6 @@ public interface CourseTableMapper extends MPJBaseMapper<CourseTable> {
     List<WfCourseAdjust> getExceptCourseList(@Param("userId") Long userId);
 
     List<ClassTeacherVo> getClassTeacherIds(@Param("dto") ClassTeacherDto dto);
+
+    List<Long> getExceptCourseIds(@Param("userId") Long userId);
 }

+ 1 - 11
src/main/java/com/xjrsoft/module/courseTable/service/impl/CourseTableServiceImpl.java

@@ -304,17 +304,7 @@ public class CourseTableServiceImpl extends ServiceImpl<CourseTableMapper, Cours
         }
         dto.setAdjustType(adjustType);
         //查询正在进行中或者已经完成
-        List<WfCourseAdjust> exceptCourseList = courseTableMapper.getExceptCourseList(dto.getTeacherId());
-        List<Long> courseIds = new ArrayList<>();
-        for (WfCourseAdjust courseAdjust : exceptCourseList) {
-            String[] split = courseAdjust.getCourseId().split(",");
-            for (String s : split) {
-                if(StrUtil.isEmpty(s)){
-                    continue;
-                }
-                courseIds.add(Long.parseLong(s));
-            }
-        }
+        List<Long> courseIds = courseTableMapper.getExceptCourseIds(dto.getTeacherId());
         dto.setExceptCourseList(courseIds);
         List<CourseListVo> list = courseTableMapper.getAdjustList(dto);
         for (CourseListVo courseListVo : list) {

+ 8 - 0
src/main/resources/mapper/courseTable/CourseTable.xml

@@ -77,6 +77,14 @@
         and a1.user_id = #{userId}
     </select>
 
+    <select id="getExceptCourseIds" parameterType="java.lang.Long" resultType="java.lang.Long">
+        SELECT a0.id FROM course_table_bak a0
+        INNER JOIN wf_course_adjust a1 ON a1.id = a0.wf_course_adjust_id
+        INNER JOIN xjr_workflow_form_relation a2 ON a1.id = a2.form_key_value
+        WHERE a1.delete_mark = 0 AND a1.enabled_mark = 1 AND a2.current_state IN ('COMPLETED','ACTIVE')
+        AND a1.user_id = #{userId}
+    </select>
+
     <select id="getClassListByTeacherId" parameterType="com.xjrsoft.module.schedule.dto.ClassOptionDto" resultType="com.xjrsoft.module.schedule.vo.ClassOptionVo">
         SELECT id,name FROM base_class WHERE delete_mark = 0 AND id IN (
             SELECT DISTINCT class_id FROM course_table WHERE teacher_id like concat('%', #{dto.userId},'%')