xiaofei 1 anno fa
parent
commit
53ff3650fb
100 ha cambiato i file con 953 aggiunte e 3491 eliminazioni
  1. 1 1
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/activiti/custom/listener/ProcessEventListener.java
  2. 10 0
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/bean/dto/ExamTaskDto.java
  3. 13 2
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/bean/dto/ExamTaskImportDto.java
  4. 5 14
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/bean/dto/initMarkData/ExamDetailCourseInitMarkDto.java
  5. 6 9
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/bean/params/BasicExamStudentParam.java
  6. 13 0
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/entity/ExamTaskTemp.java
  7. 13 0
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/entity/TBSyncTask.java
  8. 7 22
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/mapper/BasicExamStudentMapper.java
  9. 10 12
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/mapper/ConditionMapper.java
  10. 2 2
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/mapper/ExamCardMapper.java
  11. 2 1
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/mapper/ExamDetailMapper.java
  12. 7 13
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/mapper/ExamTaskMapper.java
  13. 0 20
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/mapper/TeachCourseMapper.java
  14. 1 16
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/BasicExamStudentService.java
  15. 2 2
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/BasicTeachClazzService.java
  16. 1 3
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/ConditionService.java
  17. 2 6
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/ExamCardService.java
  18. 2 1
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/ExamDetailService.java
  19. 1 0
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/ExamTaskDetailService.java
  20. 13 11
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/ExamTaskService.java
  21. 2 31
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/PrintCommonService.java
  22. 1 1
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/TBSyncTaskService.java
  23. 1 101
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/TeachCourseService.java
  24. 24 14
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/BasicExamStudentServiceImpl.java
  25. 3 4
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/BasicTeachClazzServiceImpl.java
  26. 11 22
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/ConditionServiceImpl.java
  27. 1 2
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/CourseDimensionServiceImpl.java
  28. 1 2
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/CourseTargetServiceImpl.java
  29. 1 2
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/CourseWeightServiceImpl.java
  30. 20 32
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/ExamCardServiceImpl.java
  31. 2 2
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/ExamDetailCourseServiceImpl.java
  32. 7 2
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/ExamDetailServiceImpl.java
  33. 9 0
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/ExamTaskDetailServiceImpl.java
  34. 53 63
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/ExamTaskServiceImpl.java
  35. 31 136
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/PrintCommonServiceImpl.java
  36. 2 3
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/TBSyncTaskServiceImpl.java
  37. 1 0
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/TBTaskPdfServiceImpl.java
  38. 1 2
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/TRBasicInfoServiceImpl.java
  39. 5 430
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/TeachCourseServiceImpl.java
  40. 1 0
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/templete/execute/AsyncCreatePdfTemplateService.java
  41. 0 34
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/templete/service/TaskLogicService.java
  42. 2 2
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/templete/service/impl/PdfTaskLogicServiceImpl.java
  43. 2 680
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/templete/service/impl/TaskLogicServiceImpl.java
  44. 4 4
      distributed-print-business/src/main/resources/mapper/BasicExamStudentMapper.xml
  45. 273 265
      distributed-print-business/src/main/resources/mapper/ConditionMapper.xml
  46. 17 13
      distributed-print-business/src/main/resources/mapper/ExamCardMapper.xml
  47. 5 3
      distributed-print-business/src/main/resources/mapper/ExamDetailCourseMapper.xml
  48. 22 9
      distributed-print-business/src/main/resources/mapper/ExamDetailMapper.xml
  49. 6 6
      distributed-print-business/src/main/resources/mapper/ExamStudentMapper.xml
  50. 48 97
      distributed-print-business/src/main/resources/mapper/ExamTaskMapper.xml
  51. 0 44
      distributed-print-business/src/main/resources/mapper/TeachCourseMapper.xml
  52. 0 13
      distributed-print/install/mysql/upgrade/3.3.3.sql
  53. 53 0
      distributed-print/install/mysql/upgrade/3.4.0.sql
  54. 0 60
      distributed-print/src/main/java/com/qmth/distributed/print/api/BasicCampusController.java
  55. 0 72
      distributed-print/src/main/java/com/qmth/distributed/print/api/BasicCollegeController.java
  56. 1 8
      distributed-print/src/main/java/com/qmth/distributed/print/api/BasicCourseController.java
  57. 5 6
      distributed-print/src/main/java/com/qmth/distributed/print/api/BasicExamStudentController.java
  58. 2 10
      distributed-print/src/main/java/com/qmth/distributed/print/api/ConditionController.java
  59. 6 11
      distributed-print/src/main/java/com/qmth/distributed/print/api/ExamCardController.java
  60. 2 2
      distributed-print/src/main/java/com/qmth/distributed/print/api/ExamPrintTaskController.java
  61. 19 39
      distributed-print/src/main/java/com/qmth/distributed/print/api/ExamTaskApplyController.java
  62. 30 64
      distributed-print/src/main/java/com/qmth/distributed/print/api/ExamTaskAuditController.java
  63. 16 36
      distributed-print/src/main/java/com/qmth/distributed/print/api/ExamTaskController.java
  64. 27 39
      distributed-print/src/main/java/com/qmth/distributed/print/api/ExamTaskQueryController.java
  65. 0 8
      distributed-print/src/main/java/com/qmth/distributed/print/api/SysController.java
  66. 8 22
      distributed-print/src/main/java/com/qmth/distributed/print/api/SysOrgController.java
  67. 3 7
      distributed-print/src/main/java/com/qmth/distributed/print/api/SysUserController.java
  68. 1 1
      distributed-print/src/main/java/com/qmth/distributed/print/api/TBSyncTaskController.java
  69. 0 103
      distributed-print/src/main/java/com/qmth/distributed/print/api/TeachCourseController.java
  70. 0 24
      distributed-print/src/main/java/com/qmth/distributed/print/api/mark/MarkScoreController.java
  71. 0 24
      distributed-print/src/main/java/com/qmth/distributed/print/api/mark/ScanPaperController.java
  72. BIN
      distributed-print/src/main/resources/temps/examTask.xlsx
  73. 0 96
      teachcloud-common/src/main/java/com/qmth/teachcloud/common/entity/BasicCampus.java
  74. 0 54
      teachcloud-common/src/main/java/com/qmth/teachcloud/common/entity/BasicCollege.java
  75. 11 1
      teachcloud-common/src/main/java/com/qmth/teachcloud/common/entity/BasicTeachClazz.java
  76. 0 12
      teachcloud-common/src/main/java/com/qmth/teachcloud/common/entity/SysOrg.java
  77. 0 1
      teachcloud-common/src/main/java/com/qmth/teachcloud/common/enums/SystemCodeEnum.java
  78. 0 28
      teachcloud-common/src/main/java/com/qmth/teachcloud/common/mapper/BasicCampusMapper.java
  79. 0 33
      teachcloud-common/src/main/java/com/qmth/teachcloud/common/mapper/BasicCollegeMapper.java
  80. 10 0
      teachcloud-common/src/main/java/com/qmth/teachcloud/common/mapper/BasicCourseMapper.java
  81. 1 1
      teachcloud-common/src/main/java/com/qmth/teachcloud/common/mapper/BasicStudentMapper.java
  82. 1 5
      teachcloud-common/src/main/java/com/qmth/teachcloud/common/mapper/SysUserMapper.java
  83. 0 51
      teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/BasicCampusService.java
  84. 0 42
      teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/BasicCollegeService.java
  85. 1 1
      teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/BasicStudentService.java
  86. 3 7
      teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/SysOrgService.java
  87. 2 4
      teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/SysUserService.java
  88. 0 10
      teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/TeachcloudCommonService.java
  89. 0 145
      teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/impl/BasicCampusServiceImpl.java
  90. 0 123
      teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/impl/BasicCollegeServiceImpl.java
  91. 33 44
      teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/impl/BasicCourseServiceImpl.java
  92. 2 2
      teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/impl/BasicStudentServiceImpl.java
  93. 24 8
      teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/impl/SysOrgServiceImpl.java
  94. 5 38
      teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/impl/SysUserServiceImpl.java
  95. 0 32
      teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/impl/TeachcloudCommonServiceImpl.java
  96. 0 24
      teachcloud-common/src/main/resources/mapper/BasicCampusMapper.xml
  97. 0 33
      teachcloud-common/src/main/resources/mapper/BasicCollegeMapper.xml
  98. 15 0
      teachcloud-common/src/main/resources/mapper/BasicCourseMapper.xml
  99. 2 2
      teachcloud-common/src/main/resources/mapper/BasicStudentMapper.xml
  100. 3 4
      teachcloud-common/src/main/resources/mapper/SysUserMapper.xml

+ 1 - 1
distributed-print-business/src/main/java/com/qmth/distributed/print/business/activiti/custom/listener/ProcessEventListener.java

@@ -106,7 +106,7 @@ public class ProcessEventListener implements ActivitiEventListener, Serializable
                             //取命题老师ID
                             SysUser sysUser = sysUserService.getById(((ExamTask) object).getUserId());
                             try {
-                                printCommonService.checkExamDataAndCreatePdfTask(((ExamTask) object).getSchoolId(), ((ExamTask) object).getExamId(), ((ExamTask) object).getCourseCode(), ((ExamTask) object).getPaperNumber(), sysUser);
+                                printCommonService.checkExamDataAndCreatePdfTask(((ExamTask) object).getSchoolId(), ((ExamTask) object).getExamId(), ((ExamTask) object).getCourseId(), ((ExamTask) object).getPaperNumber(), sysUser);
                             } catch (IOException e) {
                                 throw ExceptionResultEnum.ERROR.exception("生成pdf失败");
                             }

+ 10 - 0
distributed-print-business/src/main/java/com/qmth/distributed/print/business/bean/dto/ExamTaskDto.java

@@ -18,6 +18,8 @@ public class ExamTaskDto {
 
     private String id;
     private String paperNumber;
+    @JsonSerialize(using = ToStringSerializer.class)
+    private Long courseId;
     private String courseCode;
     private String courseName;
     private String sequence;
@@ -148,6 +150,14 @@ public class ExamTaskDto {
         this.paperNumber = paperNumber;
     }
 
+    public Long getCourseId() {
+        return courseId;
+    }
+
+    public void setCourseId(Long courseId) {
+        this.courseId = courseId;
+    }
+
     public String getCourseCode() {
         return courseCode;
     }

+ 13 - 2
distributed-print-business/src/main/java/com/qmth/distributed/print/business/bean/dto/ExamTaskImportDto.java

@@ -12,11 +12,14 @@ public class ExamTaskImportDto {
     @NotNull
     @ExcelNote(value = "课程名称")
     private String courseName;
+    @NotNull
+    @ExcelNote(value = "开课学院")
+    private String teachingRoomName;
     @ExcelNote(value = "试卷编号")
     private String paperNumber;
-    @ExcelNote(value = "命题老师账号")
+    @ExcelNote(value = "命题老师号")
     private String userAccount;
-    @ExcelNote(value = "命题老师名")
+    @ExcelNote(value = "命题老师名")
     private String userName;
 
     public String getCourseCode() {
@@ -35,6 +38,14 @@ public class ExamTaskImportDto {
         this.courseName = courseName;
     }
 
+    public String getTeachingRoomName() {
+        return teachingRoomName;
+    }
+
+    public void setTeachingRoomName(String teachingRoomName) {
+        this.teachingRoomName = teachingRoomName;
+    }
+
     public String getPaperNumber() {
         return paperNumber;
     }

+ 5 - 14
distributed-print-business/src/main/java/com/qmth/distributed/print/business/bean/dto/initMarkData/ExamDetailCourseInitMarkDto.java

@@ -8,8 +8,7 @@ public class ExamDetailCourseInitMarkDto {
     private Long schoolId;
     private Long semesterId;
     private Long examId;
-    private String courseCode;
-    private String courseName;
+    private Long courseId;
     private String paperNumber;
     private String coursePaperId;
     private String paperType;
@@ -43,20 +42,12 @@ public class ExamDetailCourseInitMarkDto {
         this.examId = examId;
     }
 
-    public String getCourseCode() {
-        return courseCode;
+    public Long getCourseId() {
+        return courseId;
     }
 
-    public void setCourseCode(String courseCode) {
-        this.courseCode = courseCode;
-    }
-
-    public String getCourseName() {
-        return courseName;
-    }
-
-    public void setCourseName(String courseName) {
-        this.courseName = courseName;
+    public void setCourseId(Long courseId) {
+        this.courseId = courseId;
     }
 
     public String getPaperNumber() {

+ 6 - 9
distributed-print-business/src/main/java/com/qmth/distributed/print/business/bean/params/BasicExamStudentParam.java

@@ -24,19 +24,16 @@ public class BasicExamStudentParam {
     @ApiModelProperty("学期id(必填)")
     @JsonSerialize(using = ToStringSerializer.class)
     @NotNull(message = "请选择学期")
-    @Range(min = 1L, message = "请选择学期")
     private Long semesterId;
 
     @ApiModelProperty("考试id(必填)")
     @JsonSerialize(using = ToStringSerializer.class)
     @NotNull(message = "请选择考试")
-    @Range(min = 1L, message = "请选择考试")
     private Long examId;
 
     @ApiModelProperty("课程代码(必填)")
-    @NotNull(message = "请输入课程代码")
-    @Length(min = 1, message = "请输入课程代码")
-    private String courseCode;
+    @NotNull(message = "请选择课程")
+    private Long courseId;
 
     @ApiModelProperty("姓名(必填)")
     @NotNull(message = "请输入姓名")
@@ -104,12 +101,12 @@ public class BasicExamStudentParam {
         this.examId = examId;
     }
 
-    public String getCourseCode() {
-        return courseCode;
+    public Long getCourseId() {
+        return courseId;
     }
 
-    public void setCourseCode(String courseCode) {
-        this.courseCode = courseCode;
+    public void setCourseId(Long courseId) {
+        this.courseId = courseId;
     }
 
     public String getStudentName() {

+ 13 - 0
distributed-print-business/src/main/java/com/qmth/distributed/print/business/entity/ExamTaskTemp.java

@@ -48,6 +48,11 @@ public class ExamTaskTemp extends BaseEntity implements Serializable {
      */
     @TableField("course_name")
     private String courseName;
+    /**
+     * 开课学院
+     */
+    @TableField("teaching_room_name")
+    private String teachingRoomName;
     /**
      * 试卷编号
      */
@@ -88,6 +93,14 @@ public class ExamTaskTemp extends BaseEntity implements Serializable {
         this.batchNo = batchNo;
     }
 
+    public String getTeachingRoomName() {
+        return teachingRoomName;
+    }
+
+    public void setTeachingRoomName(String teachingRoomName) {
+        this.teachingRoomName = teachingRoomName;
+    }
+
     public String getCourseCode() {
         return courseCode;
     }

+ 13 - 0
distributed-print-business/src/main/java/com/qmth/distributed/print/business/entity/TBSyncTask.java

@@ -39,6 +39,11 @@ public class TBSyncTask extends BaseEntity implements Serializable {
     @TableField("exam_id")
     private Long examId;
 
+    @ApiModelProperty(value = "课程id")
+    @JsonSerialize(using = ToStringSerializer.class)
+    @TableField("course_id")
+    private Long courseId;
+
     @ApiModelProperty(value = "课程代码")
     @TableField("course_code")
     private String courseCode;
@@ -143,6 +148,14 @@ public class TBSyncTask extends BaseEntity implements Serializable {
         this.examId = examId;
     }
 
+    public Long getCourseId() {
+        return courseId;
+    }
+
+    public void setCourseId(Long courseId) {
+        this.courseId = courseId;
+    }
+
     public String getCourseCode() {
         return courseCode;
     }

+ 7 - 22
distributed-print-business/src/main/java/com/qmth/distributed/print/business/mapper/BasicExamStudentMapper.java

@@ -20,26 +20,11 @@ import java.util.List;
  */
 public interface BasicExamStudentMapper extends BaseMapper<BasicExamStudent> {
 
-    /**
-     * 分页查询
-     *
-     * @param schoolId        学校id
-     * @param semesterId      学期id
-     * @param examId          考试id
-     * @param courseCode      课程代码
-     * @param teacher         教师
-     * @param college         学院
-     * @param major           专业
-     * @param teachClazz      教学班
-     * @param examStudentInfo 考生信息(姓名/学号)
-     * @param dpr             数据权限
-     * @return 查询结果
-     */
     IPage<BasicExamStudentResult> findBasicExamStudentPage(@Param("iPage") Page<BasicExamStudentResult> iPage,
-            @Param("schoolId") Long schoolId, @Param("semesterId") Long semesterId, @Param("examId") Long examId,
-            @Param("courseCode") String courseCode, @Param("teacher") String teacher, @Param("college") String college,
-            @Param("major") String major, @Param("teachClazz") String teachClazz,
-            @Param("examStudentInfo") String examStudentInfo, @Param("dpr") DataPermissionRule dpr);
+                                                           @Param("schoolId") Long schoolId, @Param("semesterId") Long semesterId, @Param("examId") Long examId,
+                                                           @Param("courseId") Long courseId, @Param("teacher") String teacher, @Param("college") String college,
+                                                           @Param("major") String major, @Param("teachClazz") String teachClazz,
+                                                           @Param("examStudentInfo") String examStudentInfo, @Param("dpr") DataPermissionRule dpr);
 
     /**
      * 列表查询
@@ -57,9 +42,9 @@ public interface BasicExamStudentMapper extends BaseMapper<BasicExamStudent> {
      * @return 查询结果
      */
     List<BasicExamStudentResult> findBasicExamStudentList(@Param("schoolId") Long schoolId, @Param("semesterId") Long semesterId, @Param("examId") Long examId,
-            @Param("courseCode") String courseCode, @Param("teacher") String teacher, @Param("college") String college,
-            @Param("major") String major, @Param("teachClazz") String teachClazz, @Param("examStudentInfo") String examStudentInfo,
-            @Param("dpr") DataPermissionRule dpr);
+                                                          @Param("courseCode") String courseCode, @Param("teacher") String teacher, @Param("college") String college,
+                                                          @Param("major") String major, @Param("teachClazz") String teachClazz, @Param("examStudentInfo") String examStudentInfo,
+                                                          @Param("dpr") DataPermissionRule dpr);
 
     /**
      * 查询被绑定的考生字典

+ 10 - 12
distributed-print-business/src/main/java/com/qmth/distributed/print/business/mapper/ConditionMapper.java

@@ -17,49 +17,47 @@ public interface ConditionMapper {
 
     List<BasicCourse> listCourse(@Param("semesterId") Long semesterId, @Param("examId") Long examId, @Param("enable") Boolean enable, @Param("printPlanIds") List<String> printPlanIds, @Param("dpr") DataPermissionRule dpr);
 
-    List<String> listPaperNumber(@Param("semesterId") Long semesterId, @Param("examId") Long examId, @Param("courseCode") String courseCode, @Param("printPlanIds") List<String> printPlanIds, @Param("dpr") DataPermissionRule dpr);
+    List<String> listPaperNumber(@Param("semesterId") Long semesterId, @Param("examId") Long examId, @Param("courseId") Long courseId, @Param("printPlanIds") List<String> printPlanIds, @Param("dpr") DataPermissionRule dpr);
 
     List<BasicCourse> listCourseForApply(@Param("examId") Long examId, @Param("userId") Long userId);
 
     List<BasicCourse> listCourseForAudit(@Param("semesterId") Long semesterId, @Param("examId") Long examId, @Param("enable") Boolean enable);
 
-    List<String> listPaperNumberForApply(@Param("examId") Long examId, @Param("courseCode") String courseCode, @Param("userId") Long userId);
+    List<String> listPaperNumberForApply(@Param("examId") Long examId, @Param("courseId") Long courseId, @Param("userId") Long userId);
 
-    List<String> listPaperNumberAudit(@Param("semesterId") Long semesterId, @Param("examId") Long examId, @Param("courseCode") String courseCode);
+    List<String> listPaperNumberAudit(@Param("semesterId") Long semesterId, @Param("examId") Long examId, @Param("courseId") Long courseId);
 
     List<PrintPlanBrief> listPrintPlan(@Param("semesterId") Long semesterId, @Param("examId") Long examId, @Param("dpr") DataPermissionRule dpr);
 
     List<BasicCourse> listCourseForScore(@Param("semesterId") Long semesterId, @Param("examId") Long examId, @Param("status") String status, @Param("dpr") DataPermissionRule dpr);
 
-    List<BasicClazz> listClazz(@Param("semesterId") Long semesterId, @Param("examId") Long examId, @Param("courseCode") String courseCode, @Param("clazzName") String clazzName, @Param("dpr") DataPermissionRule dpr);
-
     List<PrintPlanBrief> listPrintPlanForClient(@Param("semesterId") Long semesterId, @Param("examId") Long examId, @Param("examDetailStatus") String[] examDetailStatus);
 
     List<BasicCourse> listCourseForPlanTask(@Param("semesterId") Long semesterId, @Param("examId") Long examId, @Param("printPlanIds") List<String> printPlanIds, @Param("dpr") DataPermissionRule dpr);
 
-    List<String> listPaperNumberPlanTask(@Param("semesterId") Long semesterId, @Param("examId") Long examId, @Param("printPlanIds") List<String> printPlanIds, @Param("courseCode") String courseCode, @Param("dpr") DataPermissionRule dpr);
+    List<String> listPaperNumberPlanTask(@Param("semesterId") Long semesterId, @Param("examId") Long examId, @Param("printPlanIds") List<String> printPlanIds, @Param("courseId") Long courseId, @Param("dpr") DataPermissionRule dpr);
 
     List<BasicCourse> listCourseForEntrance(@Param("examId") Long examId, @Param("userId") Long userId, @Param("status") String status);
 
-    List<String> listPaperNumberForEntrance(@Param("examId") Long examId, @Param("userId") Long userId, @Param("courseCode") String courseCode, @Param("status") String status);
+    List<String> listPaperNumberForEntrance(@Param("examId") Long examId, @Param("userId") Long userId, @Param("courseId") Long courseId, @Param("status") String status);
 
     List<BasicCourse> listCourseFromMarkPaper(@Param("examId") Long examId, @Param("dpr") DataPermissionRule dpr);
 
-    List<String> listPaperNumberFromMarkPaper(@Param("examId") Long examId, @Param("courseCode") String courseCode, @Param("dpr") DataPermissionRule dpr);
+    List<String> listPaperNumberFromMarkPaper(@Param("examId") Long examId, @Param("courseId") Long courseId, @Param("dpr") DataPermissionRule dpr);
 
     List<BasicCourse> listCourseFromExamTaskByCreateId(@Param("examId") Long examId, @Param("dpr") DataPermissionRule dpr);
     List<BasicCourse> listCourseFromExamTaskByUserId(@Param("examId") Long examId, @Param("dpr") DataPermissionRule dpr);
 
-    List<String> listPaperNumberFromExamTaskByCreateId(@Param("examId") Long examId, @Param("courseCode") String courseCode, @Param("dpr") DataPermissionRule dpr);
-    List<String> listPaperNumberFromExamTaskByUserIdAndPass(@Param("examId") Long examId, @Param("courseCode") String courseCode, @Param("dpr") DataPermissionRule dpr);
+    List<String> listPaperNumberFromExamTaskByCreateId(@Param("examId") Long examId, @Param("courseId") Long courseId, @Param("dpr") DataPermissionRule dpr);
+    List<String> listPaperNumberFromExamTaskByUserIdAndPass(@Param("examId") Long examId, @Param("courseId") Long courseId, @Param("dpr") DataPermissionRule dpr);
 
     List<BasicCourse> listCourseForQuery(@Param("examId") Long examId, @Param("dpr") DataPermissionRule dpr);
 
-    List<String> listPaperNumberForQuery(@Param("examId") Long examId, @Param("courseCode") String courseCode, @Param("dpr") DataPermissionRule dpr);
+    List<String> listPaperNumberForQuery(@Param("examId") Long examId, @Param("courseId") Long courseId, @Param("dpr") DataPermissionRule dpr);
 
     List<BasicCourse> listCourseForApproveHistory(@Param("semesterId") Long semesterId, @Param("examId") Long examId, @Param("dpr") DataPermissionRule dpr);
 
-    List<String> listPaperNumberForApproveHistory(@Param("semesterId") Long semesterId, @Param("examId") Long examId, @Param("courseCode") String courseCode, @Param("dpr") DataPermissionRule dpr);
+    List<String> listPaperNumberForApproveHistory(@Param("semesterId") Long semesterId, @Param("examId") Long examId, @Param("courseId") Long courseId, @Param("dpr") DataPermissionRule dpr);
 
     List<String> listPaperNumberForScore(@Param("semesterId") Long semesterId, @Param("examId") Long examId, @Param("status") String status, @Param("dpr") DataPermissionRule dpr);
 }

+ 2 - 2
distributed-print-business/src/main/java/com/qmth/distributed/print/business/mapper/ExamCardMapper.java

@@ -21,9 +21,9 @@ public interface ExamCardMapper extends BaseMapper<ExamCard> {
 
     List<ExamCard> listGenericCard(@Param("schoolId") Long schoolId, @Param("type") String type, @Param("cardRuleId") Long cardRuleId);
 
-    List<ExamCard> listCustom(@Param("schoolId") Long schoolId, @Param("courseCode") String courseCode, @Param("type") String type, @Param("cardRuleId") Long cardRuleId);
+    List<ExamCard> listCustom(@Param("schoolId") Long schoolId, @Param("courseId") Long courseId, @Param("type") String type, @Param("cardRuleId") Long cardRuleId);
 
     IPage<ExamCard> listPage(@Param("page") Page<ExamCard> page, @Param("schoolId") Long schoolId, @Param("semesterId") Long semesterId, @Param("examId") Long examId, @Param("courseCode") String courseCode, @Param("paperNumber") String paperNumber, @Param("cardType") String cardType, @Param("title") String title, @Param("createMethod") String createMethod, @Param("enable") Boolean enable, @Param("createStartTime") Long createStartTime, @Param("createEndTime") Long createEndTime, @Param("dpr") DataPermissionRule dpr);
 
-    List<ExamCard> listCustomByExamStage(@Param("schoolId") Long schoolId, @Param("examId") Long examId, @Param("courseCode") String courseCode, @Param("paperNumber") String paperNumber, @Param("type") String type);
+    List<ExamCard> listCustomByExamStage(@Param("schoolId") Long schoolId, @Param("examId") Long examId, @Param("courseId") Long courseId, @Param("paperNumber") String paperNumber, @Param("type") String type);
 }

+ 2 - 1
distributed-print-business/src/main/java/com/qmth/distributed/print/business/mapper/ExamDetailMapper.java

@@ -32,7 +32,7 @@ public interface ExamDetailMapper extends BaseMapper<ExamDetail> {
                                       @Param("examId") Long examId,
                                       @Param("printPlanId") Long printPlanId,
                                       @Param("status") String status,
-                                      @Param("courseCode") String courseCode,
+                                      @Param("courseId") Long courseId,
                                       @Param("paperNumber") String paperNumber,
                                       @Param("examPlace") String examPlace,
                                       @Param("examRoom") String examRoom,
@@ -127,6 +127,7 @@ public interface ExamDetailMapper extends BaseMapper<ExamDetail> {
     int countMakeupUsedByExamIdAndPaperNumber(@Param("examId") Long examId, @Param("paperNumber") String paperNumber);
 
     List<ExamDetail> listByExamIdAndCourseCodeAndPaperNumber(@Param("schoolId") Long schoolId, @Param("examId") Long examId, @Param("courseCode") String courseCode, @Param("paperNumber") String paperNumber);
+    List<ExamDetail> listByExamIdAndCourseIdAndPaperNumber(@Param("schoolId") Long schoolId, @Param("examId") Long examId, @Param("courseId") Long courseId, @Param("paperNumber") String paperNumber);
 
     List<ExamDetailCourseInitMarkDto> listPrintFinishPackageCode(@Param("examId") Long examId, @Param("paperNumber") String paperNumber, @Param("paperType") String paperType);
 

+ 7 - 13
distributed-print-business/src/main/java/com/qmth/distributed/print/business/mapper/ExamTaskMapper.java

@@ -27,17 +27,17 @@ import java.util.Set;
  */
 public interface ExamTaskMapper extends BaseMapper<ExamTask> {
 
-    IPage<ExamTaskDto> listPage(Page<ExamTaskDto> page, @Param("schoolId") Long schoolId, @Param("semesterId") Long semesterId, @Param("examId") Long examId, @Param("enable") Boolean enable, @Param("status") String status, @Param("cardRuleId") Long cardRuleId, @Param("courseCode") String courseCode, @Param("paperNumber") String paperNumber, @Param("startTime") Long startTime, @Param("endTime") Long endTime, @Param("dpr") DataPermissionRule dpr, @Param("userName") String userName, @Param("createName") String createName);
+    IPage<ExamTaskDto> listPage(Page<ExamTaskDto> page, @Param("schoolId") Long schoolId, @Param("semesterId") Long semesterId, @Param("examId") Long examId, @Param("enable") Boolean enable, @Param("status") String status, @Param("courseId") Long courseId, @Param("paperNumber") String paperNumber, @Param("startTime") Long startTime, @Param("endTime") Long endTime, @Param("userName") String userName, @Param("dpr") DataPermissionRule dpr);
 
     List<BlurryUserDto> listUser(@Param("schoolId") Long schoolId, @Param("param") String param, @Param("orgIds") Set<Long> orgIds);
 
-    IPage<ExamTaskDto> listTaskApply(Page<ExamTaskDto> page, @Param("schoolId") Long schoolId, @Param("semesterId") Long semesterId, @Param("examId") Long examId, @Param("auditStatus") String auditStatus, @Param("cardRuleId") Long cardRuleId, @Param("courseCode") String courseCode, @Param("paperNumber") String paperNumber, @Param("startTime") Long startTime, @Param("endTime") Long endTime, @Param("userId") Long userId, @Param("userName") String userName);
+    IPage<ExamTaskDto> listTaskApply(Page<ExamTaskDto> page, @Param("schoolId") Long schoolId, @Param("semesterId") Long semesterId, @Param("examId") Long examId, @Param("auditStatus") String auditStatus, @Param("courseId") Long courseId, @Param("paperNumber") String paperNumber, @Param("startTime") Long startTime, @Param("endTime") Long endTime, @Param("userId") Long userId, @Param("userName") String userName);
 
-    IPage<ExamTaskDto> listTaskReviewUnaudited(Page<ExamTaskDto> page, @Param("schoolId") Long schoolId, @Param("semesterId") Long semesterId, @Param("examId") Long examId, @Param("courseCode") String courseCode, @Param("paperNumber") String paperNumber, @Param("userId") Long userId, @Param("cardRuleId") Long cardRuleId, @Param("startTime") Long startTime, @Param("endTime") Long endTime, @Param("startCreateTime") Long startCreateTime, @Param("endCreateTime") Long endCreateTime, @Param("createName") String createName, @Param("currentUserId") Long currentUserId);
+    IPage<ExamTaskDto> listTaskReviewUnaudited(Page<ExamTaskDto> page, @Param("schoolId") Long schoolId, @Param("semesterId") Long semesterId, @Param("examId") Long examId, @Param("courseId") Long courseId, @Param("paperNumber") String paperNumber, @Param("userId") Long userId, @Param("startTime") Long startTime, @Param("endTime") Long endTime, @Param("startCreateTime") Long startCreateTime, @Param("endCreateTime") Long endCreateTime, @Param("currentUserId") Long currentUserId);
 
-    IPage<ExamTaskDto> listTaskReviewAudited(Page<ExamTaskDto> page, @Param("schoolId") Long schoolId, @Param("semesterId") Long semesterId, @Param("examId") Long examId, @Param("reviewStatus") String reviewStatus, @Param("courseCode") String courseCode, @Param("paperNumber") String paperNumber, @Param("userId") Long userId, @Param("cardRuleId") Long cardRuleId, @Param("startTime") Long startTime, @Param("endTime") Long endTime, @Param("orgIds") Set<Long> orgIds, @Param("startCreateTime") Long startCreateTime, @Param("endCreateTime") Long endCreateTime, @Param("createName") String createName, @Param("currentUserId") Long currentUserId);
+    IPage<ExamTaskDto> listTaskReviewAudited(Page<ExamTaskDto> page, @Param("schoolId") Long schoolId, @Param("semesterId") Long semesterId, @Param("examId") Long examId, @Param("courseId") Long courseId, @Param("paperNumber") String paperNumber, @Param("userId") Long userId, @Param("startTime") Long startTime, @Param("endTime") Long endTime, @Param("orgIds") Set<Long> orgIds, @Param("startCreateTime") Long startCreateTime, @Param("endCreateTime") Long endCreateTime, @Param("currentUserId") Long currentUserId);
 
-    IPage<ExamTaskDetailDto> listTaskPaper(Page<ExamTaskDetailDto> page, @Param("schoolId") Long schoolId, @Param("semesterId") Long semesterId, @Param("examId") Long examId, @Param("courseCode") String courseCode, @Param("paperNumber") String paperNumber, @Param("startTime") Long startTime, @Param("endTime") Long endTime, @Param("dpr") DataPermissionRule dpr, @Param("containsQuestionTeacher") boolean containsQuestionTeacher, @Param("userId") Long userId, @Param("makeMethod") MakeMethodEnum makeMethod, @Param("cardRuleId") Long cardRuleId);
+    IPage<ExamTaskDetailDto> listTaskPaper(Page<ExamTaskDetailDto> page, @Param("schoolId") Long schoolId, @Param("semesterId") Long semesterId, @Param("examId") Long examId, @Param("courseId") Long courseId, @Param("paperNumber") String paperNumber, @Param("startTime") Long startTime, @Param("endTime") Long endTime, @Param("dpr") DataPermissionRule dpr, @Param("containsQuestionTeacher") boolean containsQuestionTeacher, @Param("userId") Long userId);
 
     List<RelatePaperDto> listPaperNumbers(@Param("schoolId") Long schoolId, @Param("courseCode") String courseCode, @Param("status") String status, @Param("dpr") DataPermissionRule dpr);
 
@@ -47,7 +47,7 @@ public interface ExamTaskMapper extends BaseMapper<ExamTask> {
 
     List<ExamTask> listExamTaskAuditExpire(@Param("startTime") Long startTime, @Param("endTime") Long endTime);
 
-    List<ExamTaskDetailDto> listTaskPaper(@Param("schoolId") Long schoolId, @Param("semesterId") Long semesterId, @Param("examId") Long examId, @Param("courseCode") String courseCode, @Param("paperNumber") String paperNumber, @Param("cardRuleId") Long cardRuleId, @Param("makeMethod") MakeMethodEnum makeMethod, @Param("startTime") Long startTime, @Param("endTime") Long endTime, @Param("dpr") DataPermissionRule dpr, @Param("orgIds") Set<Long> orgIds, @Param("containsQuestionTeacher") boolean containsQuestionTeacher, @Param("userId") Long userId);
+    List<ExamTaskDetailDto> listTaskPaper(@Param("schoolId") Long schoolId, @Param("semesterId") Long semesterId, @Param("examId") Long examId, @Param("courseId") Long courseId, @Param("paperNumber") String paperNumber, @Param("startTime") Long startTime, @Param("endTime") Long endTime, @Param("dpr") DataPermissionRule dpr, @Param("orgIds") Set<Long> orgIds, @Param("containsQuestionTeacher") boolean containsQuestionTeacher, @Param("userId") Long userId);
 
     /**
      * 获取待办任务
@@ -58,14 +58,8 @@ public interface ExamTaskMapper extends BaseMapper<ExamTask> {
 
     /**
      * 根据流程状态查找命题任务
-     *
-     * @param schoolId
-     * @param courseCode
-     * @param paperNumber
-     * @param flowStatus
-     * @return
      */
-    List<ExamTask> findExamTaskByFlowStatus(@Param("schoolId") Long schoolId, @Param("examId") Long examId, @Param("courseCode") String courseCode, @Param("paperNumber") String paperNumber, @Param("flowStatus") String flowStatus);
+    List<ExamTask> findExamTaskByFlowStatus(@Param("schoolId") Long schoolId, @Param("examId") Long examId, @Param("courseId") Long courseId, @Param("paperNumber") String paperNumber, @Param("flowStatus") String flowStatus);
 
     /**
      * 根据试卷编号查询考场详细数据集(印刷计划状态为‘PRINTING’、‘PRINTING_FINISH‘的)

+ 0 - 20
distributed-print-business/src/main/java/com/qmth/distributed/print/business/mapper/TeachCourseMapper.java

@@ -32,24 +32,4 @@ public interface TeachCourseMapper extends BaseMapper<TeachCourse> {
      */
     IPage<TeachCourseResult> findTeachCoursePage(@Param("iPage") Page<TeachCourseResult> iPage,
             @Param("examId") Long examId, @Param("courseName") String courseName, @Param("schoolId") Long schoolId, @Param("dpr") DataPermissionRule dpr);
-
-    /**
-     * 教师团队分页查询
-     *
-     * @param iPage      分页参数
-     * @param leaderId   课程责任人id
-     * @param courseCode 课程编号
-     * @param userInfo   用户信息(姓名||工号)
-     * @return 分页结果
-     */
-    IPage<TeacherTeamResult> findTeacherTeamPage(@Param("iPage") Page<TeacherTeamResult> iPage, @Param("courseCode") String courseCode, @Param("leaderId") Long leaderId,
-            @Param("userInfo") String userInfo);
-
-    /**
-     * 根据机构id查询教师集合
-     *
-     * @param orgIdList orgIdList
-     * @return 教师查询集合
-     */
-    List<TeacherSelectResult> findTeacherByOrgIds(@Param("orgIdList") List<Long> orgIdList);
 }

+ 1 - 16
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/BasicExamStudentService.java

@@ -23,22 +23,7 @@ import java.util.Map;
  */
 public interface BasicExamStudentService extends IService<BasicExamStudent> {
 
-    /**
-     * 分页查询
-     *
-     * @param semesterId      学期id
-     * @param examId          考试id
-     * @param courseCode      课程代码
-     * @param teacher         教师
-     * @param college         学院
-     * @param major           专业
-     * @param teachClazz      教学班
-     * @param examStudentInfo 考生信息(姓名/学号)
-     * @param pageNumber      分页页码
-     * @param pageSize        分页数量
-     * @return 查询结果
-     */
-    IPage<BasicExamStudentResult> page(Long semesterId, Long examId, String courseCode, String teacher,
+    IPage<BasicExamStudentResult> page(Long semesterId, Long examId, Long courseId, String teacher,
                                        String college, String major, String teachClazz, String examStudentInfo, int pageNumber, int pageSize);
 
     /**

+ 2 - 2
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/BasicTeachClazzService.java

@@ -23,10 +23,10 @@ public interface BasicTeachClazzService extends IService<BasicTeachClazz> {
      * @param requestUser    请求人
      * @param examId         考试id
      * @param teachClazzName 教学班名称
-     * @param courseCode     课程编号
+     * @param courseId     课程编号
      * @return 教学班
      */
-    BasicTeachClazz findOrCreateBasicTeachClazz(SysUser requestUser, Long examId, String courseCode, String teachClazzName);
+    BasicTeachClazz findOrCreateBasicTeachClazz(SysUser requestUser, Long examId, Long courseId, String teachClazzName);
 
     /**
      * 查询所有加血版

+ 1 - 3
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/ConditionService.java

@@ -20,12 +20,10 @@ public interface ConditionService {
 
     List<BasicCourse> listCourse(Long semesterId, Long examId, Boolean enable, List<String> printPlanId);
 
-    List<String> listPaperNumber(Long semesterId, Long examId, String courseCode, List<String> printPlanId);
+    List<String> listPaperNumber(Long semesterId, Long examId, Long courseId, List<String> printPlanId);
 
     List<PrintPlanBrief> listPrintPlan(Long semesterId, Long examId, String source);
 
-    List<BasicClazz> listClazz(Long semesterId, Long examId, String courseCode, String clazzName);
-
     List<SysOrg> listCollege();
 
     List<BasicTeachClazzResult> listBasicTeachClazz(Long examId, String courseCode, String clazzName);

+ 2 - 6
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/ExamCardService.java

@@ -23,7 +23,7 @@ public interface ExamCardService extends IService<ExamCard> {
 
     Map<String, String> saveExamCard(ExamCardParams examCardParams) throws Exception;
 
-    List<ExamCard> listSelectCard(String courseCode, Long examId, String paperNumber);
+    List<ExamCard> listSelectCard(Long examId, Long courseId, String paperNumber);
 
     IPage<ExamCard> listPage(Long semesterId, Long examId, String courseCode, String paperNumber, String cardType, String title, String createMethod, Boolean enable, Long createStartTime, Long createEndTime, Integer pageNumber, Integer pageSize);
 
@@ -33,12 +33,8 @@ public interface ExamCardService extends IService<ExamCard> {
 
     /**
      * 题卡复制
-     *
-     * @param id         被复制的题卡id
-     * @param courseCode 复制后的题卡所绑定的课程编号
-     * @return 复制后的题卡id
      */
-    Long copyCard(Long id, String courseCode);
+    Long copyCard(Long id, Long courseId);
 
     void convertImage(Long id);
 

+ 2 - 1
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/ExamDetailService.java

@@ -50,7 +50,7 @@ public interface ExamDetailService extends IService<ExamDetail> {
      */
     double calculateTotalPackages(Long printPlanId);
 
-    IPage<PrintTaskDto> listPrintTask(Long semesterId, Long examId, Long printPlanId, String status, String courseCode, String paperNumber, String examPlace, String examRoom, Long examStartTime, Long examEndTime, Long printStartTime, Long printEndTime, Long printHouseId, Integer pageNumber, Integer pageSize);
+    IPage<PrintTaskDto> listPrintTask(Long semesterId, Long examId, Long printPlanId, String status, Long courseId, String paperNumber, String examPlace, String examRoom, Long examStartTime, Long examEndTime, Long printStartTime, Long printEndTime, Long printHouseId, Integer pageNumber, Integer pageSize);
 
     PrintTaskTotalDto taskTotalData(Long semesterId, Long examId, Long printPlanId, String status, String courseCode, String paperNumber, String examPlace, String examRoom, Long examStartTime, Long examEndTime, Long printStartTime, Long printEndTime, Long printHouseId);
 
@@ -196,6 +196,7 @@ public interface ExamDetailService extends IService<ExamDetail> {
     List<Map> listStudentByExamDetailCourseId(Long schoolId, Long examDetailCourseId, String ticketNumber, String type);
 
     List<ExamDetail> listByCourseCodeAndPaperNumber(Long schoolId, Long examId, String courseCode, String paperNumber);
+    List<ExamDetail> listByCourseIdAndPaperNumber(Long schoolId, Long examId, Long courseId, String paperNumber);
 
     boolean taskNormal(ExamDetail examDetail);
 

+ 1 - 0
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/ExamTaskDetailService.java

@@ -67,6 +67,7 @@ public interface ExamTaskDetailService extends IService<ExamTaskDetail> {
     boolean cancel(Long id, String cancelRemark);
 
     ExamTaskDetail getByExamIdAndCourseCodeAndPaperNumber(Long examId, String courseCode, String paperNumber);
+    ExamTaskDetail getByExamIdAndCourseIdAndPaperNumber(Long examId, Long courseId, String paperNumber);
 
     void updateExposePaperType(Long examId, List<ExamDetailCourse> listByExamDetailId);
 }

+ 13 - 11
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/ExamTaskService.java

@@ -35,7 +35,7 @@ import java.util.Map;
  */
 public interface ExamTaskService extends IService<ExamTask> {
 
-    IPage<ExamTaskDto> list(Long semesterId, Long examId, Boolean enable, String status, Long cardRuleId, String courseCode, String paperNumber, Long startTime, Long endTime, String userName, String createName, Integer pageNumber, Integer pageSize);
+    IPage<ExamTaskDto> list(Long semesterId, Long examId, Boolean enable, String status, Long courseId, String paperNumber, Long startTime, Long endTime, String userName, Integer pageNumber, Integer pageSize);
 
     List<BlurryUserDto> listUser(String param);
 
@@ -55,15 +55,15 @@ public interface ExamTaskService extends IService<ExamTask> {
 
     List<ExamTask> saveBatch(ExamTask task);
 
-    IPage<ExamTaskDto> listTaskApply(Long semesterId, Long examId, String auditStatus, Long cardRuleId, String courseCode, String paperNumber, Long startTime, Long endTime, String userName, Integer pageNumber, Integer pageSize);
+    IPage<ExamTaskDto> listTaskApply(Long semesterId, Long examId, String auditStatus, Long courseId, String paperNumber, Long startTime, Long endTime, String userName, Integer pageNumber, Integer pageSize);
 
-    IPage<ExamTaskDto> listTaskReviewUnaudited(Long semesterId, Long examId, String courseCode, String paperNumber, Long userId, Long cardRuleId, Long startTime, Long endTime, Long startCreateTime, Long endCreateTime, String createName, Integer pageNumber, Integer pageSize);
+    IPage<ExamTaskDto> listTaskReviewUnaudited(Long semesterId, Long examId, Long courseId, String paperNumber, Long userId, Long startTime, Long endTime, Long startCreateTime, Long endCreateTime, Integer pageNumber, Integer pageSize);
 
-    IPage<ExamTaskDto> listTaskReviewAudited(Long semesterId, Long examId, String reviewStatus, String courseCode, String paperNumber, Long userId, Long cardRuleId, Long startTime, Long endTime, Long startCreateTime, Long endCreateTime, String createName, Integer pageNumber, Integer pageSize);
+    IPage<ExamTaskDto> listTaskReviewAudited(Long semesterId, Long examId, Long courseId, String paperNumber, Long userId, Long startTime, Long endTime, Long startCreateTime, Long endCreateTime, Integer pageNumber, Integer pageSize);
 
     boolean taskReviewSave(ExamTaskReviewLog taskReviewLog) throws IOException;
 
-    IPage<ExamTaskDetailDto> listTaskPaper(Long semesterId, Long examId, String courseCode, String paperNumber, Long startTime, Long endTime, MakeMethodEnum makeMethodEnum, Long cardRuleId, Integer pageNumber, Integer pageSize);
+    IPage<ExamTaskDetailDto> listTaskPaper(Long semesterId, Long examId, Long courseId, String paperNumber, Long startTime, Long endTime, Integer pageNumber, Integer pageSize);
 
     List<RelatePaperDto> listPaperTypes(Long examTaskId, Long printPlanId, String courseCode);
 
@@ -83,9 +83,9 @@ public interface ExamTaskService extends IService<ExamTask> {
      */
     void checkDataByExamination(Long printPlanId, List<Long> examDetailIdList, SysUser user) throws IOException;
 
-    List<ExamTaskDetailDto> listTaskPaper(Long semesterId, Long examId, String courseCode, String paperNumber, Long cardRuleId, MakeMethodEnum makeMethod, Long startTime, Long endTime);
+    List<ExamTaskDetailDto> listTaskPaper(Long semesterId, Long examId, Long courseId, String paperNumber, Long startTime, Long endTime);
 
-    TBTask taskDownloadPdf(Long semesterId, Long examId, String courseCode, String paperNumber, Long cardRuleId, MakeMethodEnum makeMethod, Long startTime, Long endTime);
+    TBTask taskDownloadPdf(Long semesterId, Long examId, Long courseId, String paperNumber, Long startTime, Long endTime);
 
     /**
      * 获取待办任务
@@ -111,12 +111,12 @@ public interface ExamTaskService extends IService<ExamTask> {
      * 根据流程状态查找命题任务
      *
      * @param schoolId
-     * @param courseCode
+     * @param courseId
      * @param paperNumber
      * @param flowStatus
      * @return
      */
-    ExamTask findExamTaskByFlowStatus(Long schoolId, Long examId, String courseCode, String paperNumber, FlowStatusEnum flowStatus);
+    ExamTask findExamTaskByFlowStatus(Long schoolId, Long examId, Long courseId, String paperNumber, FlowStatusEnum flowStatus);
 
     void removeByExamTaskId(Long examTaskId);
 
@@ -180,13 +180,13 @@ public interface ExamTaskService extends IService<ExamTask> {
      * </P>
      *
      * @param examId      考试id
-     * @param courseCode  基础课程编号
+     * @param courseId    基础课程编号
      * @param teacher
      * @param className
      * @param requestUser 请求的用户
      * @return 命题任务考试对象查询结果
      */
-    List<ExamTaskStudentObjectResult> findExamTaskStudentObject(Long examId, String courseCode, String teacher, String className, SysUser requestUser) throws Exception;
+    List<ExamTaskStudentObjectResult> findExamTaskStudentObject(Long examId, Long courseId, String teacher, String className, SysUser requestUser) throws Exception;
 
     /**
      * 命题任务考生导入
@@ -207,6 +207,8 @@ public interface ExamTaskService extends IService<ExamTask> {
 
     ExamTask getByExamIdAndCourseCodeAndPaperNumber(Long examId, String courseCode, String paperNumber);
 
+    ExamTask getByExamIdAndCourseIdAndPaperNumber(Long examId, Long courseId, String paperNumber);
+
     IPage<MakeupExamTaskDto> listMakeupExamTask(Long printPlanId, Long semesterId, Long examId, Long collegeId, String courseCode, String paperNumber, String userName, Integer pageNumber, Integer pageSize);
 
     void saveMakeupTask(MakeupExamTaskTotalParam makeupExamTaskTotalParam);

+ 2 - 31
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/PrintCommonService.java

@@ -74,6 +74,7 @@ public interface PrintCommonService {
     BasicAttachment saveAttachmentPdfFromHtml(String fileName, String htmlContent, Long userId, List<PdfDto> localFileList, List<File> fileTempList) throws IOException;
 
     BasicAttachment saveAttachmentPdfFromHtml(String fileName, File file, Long userId, List<PdfDto> localFileList, List<File> fileTempList, PageSizeEnum pageSizeEnum) throws IOException;
+
     /**
      * 保存html附件和该html转成pdf的附件
      *
@@ -105,14 +106,6 @@ public interface PrintCommonService {
      */
     BasicAttachment saveAttachment(MultipartFile file, String md5, UploadFileEnum type);
 
-    /**
-     * 科目删除
-     *
-     * @param id
-     * @return
-     */
-    boolean remove(Long id);
-
     /**
      * 分页查询
      *
@@ -134,22 +127,6 @@ public interface PrintCommonService {
      */
     List<BasicCourse> list(String param, List<Long> printPlanIdList, Long teachingRoomId);
 
-    /**
-     * 机构禁用
-     *
-     * @param org
-     * @return
-     */
-    boolean enable(SysOrg org);
-
-    /**
-     * 机构删除
-     *
-     * @param id
-     * @return
-     */
-    boolean sysOrgRemove(Long id);
-
     /**
      * 保存任务
      *
@@ -216,14 +193,8 @@ public interface PrintCommonService {
 
     /**
      * 校验是否可以提交
-     *
-     * @param schoolId
-     * @param courseCode
-     * @param paperNumber
-     * @param user
-     * @throws IOException
      */
-    void checkExamDataAndCreatePdfTask(Long schoolId, Long examId, String courseCode, String paperNumber, SysUser user) throws IOException;
+    void checkExamDataAndCreatePdfTask(Long schoolId, Long examId, Long courseId, String paperNumber, SysUser user) throws IOException;
 
     void checkDataMakeup(Long schoolId, ExamDetail examDetail, String courseCode, String paperNumber, SysUser user);
 

+ 1 - 1
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/TBSyncTaskService.java

@@ -17,7 +17,7 @@ public interface TBSyncTaskService extends IService<TBSyncTask> {
 
     TBSyncTask saveTask(Long schoolId, Long semesterId, Long examId, Long objectId, PushTypeEnum type, String remark);
 
-    TBSyncTask saveTask(Long schoolId, Long semesterId, Long examId, String courseCode, String courseName, String paperNumber, String paperType, PushTypeEnum type, String remark);
+    TBSyncTask saveTask(Long schoolId, Long semesterId, Long examId, Long courseId, String paperNumber, String paperType, PushTypeEnum type, String remark);
 
     void updateStatusAndResultById(Long id, TaskStatusEnum status, TaskResultEnum result, String errorMessage);
 

+ 1 - 101
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/TeachCourseService.java

@@ -2,25 +2,15 @@ package com.qmth.distributed.print.business.service;
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.IService;
-import com.qmth.distributed.print.business.bean.params.AssignClazzParam;
 import com.qmth.distributed.print.business.bean.params.TeachCourseSelectParam;
-import com.qmth.distributed.print.business.bean.result.ClazzDistributedResult;
 import com.qmth.distributed.print.business.bean.result.CourseWeightSettingStatusResult;
-import com.qmth.distributed.print.business.bean.params.TeachCourseParams;
-import com.qmth.distributed.print.business.bean.params.TeacherTeamParam;
 import com.qmth.distributed.print.business.bean.result.DictionaryResult;
 import com.qmth.distributed.print.business.bean.result.TeachCourseResult;
 import com.qmth.distributed.print.business.entity.TeachCourse;
 import com.qmth.distributed.print.business.enums.CourseSettingTypeEnum;
-import com.qmth.teachcloud.common.bean.result.TeacherSelectResult;
-import com.qmth.teachcloud.common.bean.result.TeacherTeamResult;
-import com.qmth.teachcloud.common.entity.BasicCourse;
 import com.qmth.teachcloud.common.entity.SysUser;
-import org.springframework.web.multipart.MultipartFile;
 
-import java.io.IOException;
 import java.util.List;
-import java.util.Set;
 
 /**
  * @Description: 教学课程服务类
@@ -40,16 +30,6 @@ public interface TeachCourseService extends IService<TeachCourse> {
      */
     IPage<TeachCourseResult> teachCoursePage(Long examId, String courseName, int pageNumber, int pageSize);
 
-    /**
-     * 手动创建教学课程
-     *
-     * @param teachCourseParams 课程新增参数
-     * @param requestUser       请求的用户
-     * @return 创建结果
-     */
-    @Deprecated
-    Boolean manualCreate(TeachCourseParams teachCourseParams, SysUser requestUser);
-
     /**
      * 选择课程表并创建教学课程
      *
@@ -57,15 +37,6 @@ public interface TeachCourseService extends IService<TeachCourse> {
      */
     void selectCreate(TeachCourseSelectParam teachCourseSelectParam);
 
-    /**
-     * 导入教学课程
-     *
-     * @param file        文件
-     * @param requestUser 请求用户
-     */
-    @Deprecated
-    void importTeachCourse(MultipartFile file, SysUser requestUser) throws IOException, NoSuchFieldException;
-
     /**
      * 根据用户id查询该用户所属机构下可以创建为教学课程的基础课程列表
      *
@@ -81,60 +52,6 @@ public interface TeachCourseService extends IService<TeachCourse> {
      */
     void deleteTeachCourseBatch(List<Long> idList);
 
-    /**
-     * 自动创建教师团队
-     *
-     * @param teacherTeamParam 教师团队参数
-     * @param requestUser      请求的用户
-     */
-    void manualCreateTeacher(TeacherTeamParam teacherTeamParam, SysUser requestUser) throws IllegalAccessException;
-
-    /**
-     * 教师库添加教师团队
-     *
-     * @param teachCourseId 教学课程id
-     * @param userIdList    用户id集合
-     * @param requestUser   请求人
-     */
-    void selectCreateTeacher(Long teachCourseId, List<Long> userIdList, SysUser requestUser);
-
-    /**
-     * 导入教师团队
-     *
-     * @param file          文件
-     * @param basicCourseId 基础课程id
-     * @param requestUser   请求的用户
-     */
-    @Deprecated
-    void importTeacherTeam(MultipartFile file, Long basicCourseId, SysUser requestUser) throws IOException, NoSuchFieldException, IllegalAccessException;
-
-    /**
-     * 分页查询教师团队
-     *
-     * @param teachCourseId 教学课程id
-     * @param userInfo      教师信息
-     * @param pageNumber    分页页数
-     * @param pageSize      分页容量
-     * @return 分页结果
-     */
-    IPage<TeacherTeamResult> findTeacherTeamPage(Long teachCourseId, String userInfo, int pageNumber, int pageSize);
-
-    /**
-     * 根据机构id查询用户
-     *
-     * @param orgId 机构id
-     * @return 用户结果
-     */
-    List<TeacherSelectResult> findUserByOrgId(Long orgId);
-
-    /**
-     * 插入老师和课程关联表
-     *
-     * @param basicCourseId
-     * @param teachIdSet
-     */
-    public void updateByCourseIdAndTeacherList(Long basicCourseId, Set<Long> teachIdSet);
-
     /**
      * 根据考试id,课程编号,教师id查询教学课程
      *
@@ -156,28 +73,11 @@ public interface TeachCourseService extends IService<TeachCourse> {
     /**
      * 查询课程权重设置状态
      *
-     * @param teachCourseId         教学课程id
+     * @param teachCourseId 教学课程id
      * @return 课程权重设置状态
      */
     CourseWeightSettingStatusResult findCourseWeightSettingStatus(Long teachCourseId);
 
-    /**
-     * 查询班级分配情况
-     *
-     * @param teachCourseId 教学课程id
-     * @param clazzName     班级名称
-     * @return 分配情况结果
-     */
-    List<ClazzDistributedResult> findClazzDistributedStatus(Long teachCourseId, String clazzName);
-
-    /**
-     * 分配班级
-     *
-     * @param assignClazzParam 分配班级参数
-     * @param requestUser      登录人
-     */
-    void assignClazz(AssignClazzParam assignClazzParam, SysUser requestUser);
-
     /**
      * 查询教师绑定课程关系
      *

+ 24 - 14
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/BasicExamStudentServiceImpl.java

@@ -28,6 +28,7 @@ import com.qmth.teachcloud.mark.entity.MarkPaper;
 import com.qmth.teachcloud.mark.entity.MarkStudent;
 import com.qmth.teachcloud.mark.service.MarkPaperService;
 import com.qmth.teachcloud.mark.service.MarkStudentService;
+import com.qmth.teachcloud.mark.service.MarkTaskService;
 import org.apache.commons.collections4.CollectionUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.BeanUtils;
@@ -67,14 +68,15 @@ public class BasicExamStudentServiceImpl extends ServiceImpl<BasicExamStudentMap
     private MarkStudentService markStudentService;
     @Resource
     private BasicExamService basicExamService;
+    @Resource
+    private MarkTaskService markTaskService;
 
     @Override
-    public IPage<BasicExamStudentResult> page(Long semesterId, Long examId, String courseCode,
+    public IPage<BasicExamStudentResult> page(Long semesterId, Long examId, Long courseId,
                                               String teacher, String college, String major, String teachClazz, String examStudentInfo, int pageNumber,
                                               int pageSize) {
         SysUser requestUser = (SysUser) ServletUtil.getRequestUser();
 
-        courseCode = SystemConstant.translateSpecificSign(courseCode);
         teacher = SystemConstant.translateSpecificSign(teacher);
         college = SystemConstant.translateSpecificSign(college);
         major = SystemConstant.translateSpecificSign(major);
@@ -84,7 +86,7 @@ public class BasicExamStudentServiceImpl extends ServiceImpl<BasicExamStudentMap
         DataPermissionRule dpr = basicRoleDataPermissionService.findDataPermission(requestUser.getSchoolId(), requestUser.getId(),
                 ServletUtil.getRequest().getServletPath());
         IPage<BasicExamStudentResult> page = this.baseMapper.findBasicExamStudentPage(new Page<>(pageNumber, pageSize),
-                requestUser.getSchoolId(), semesterId, examId, courseCode, teacher, college, major, teachClazz, examStudentInfo, dpr);
+                requestUser.getSchoolId(), semesterId, examId, courseId, teacher, college, major, teachClazz, examStudentInfo, dpr);
         for (BasicExamStudentResult record : page.getRecords()) {
             Long examStartTime = record.getExamStartTime();
             Long examEndTime = record.getExamEndTime();
@@ -146,7 +148,7 @@ public class BasicExamStudentServiceImpl extends ServiceImpl<BasicExamStudentMap
             if (markPaper == null) {
                 // 模式4,不存在试卷,则创建
                 BasicCourse basicCourse = basicCourseService.getByCode(basicExamStudent.getCourseCode());
-                markPaper = new MarkPaper(basicExamStudent.getExamId(), basicExamStudent.getCourseCode(), basicCourse.getName(), basicExamStudent.getPaperNumber(), String.valueOf(System.currentTimeMillis()), requestUser.getId(), SystemConstant.DEFAULT_PAPER_TYPE_A);
+                markPaper = new MarkPaper(basicExamStudent.getExamId(), basicExamStudent.getCourseId(), basicExamStudent.getPaperNumber(), String.valueOf(System.currentTimeMillis()), requestUser.getId(), SystemConstant.DEFAULT_PAPER_TYPE_A);
                 markPaperService.save(markPaper);
             }
         } else {
@@ -197,9 +199,17 @@ public class BasicExamStudentServiceImpl extends ServiceImpl<BasicExamStudentMap
         if (CollectionUtils.isNotEmpty(idList)) {
             List<BasicExamStudent> basicExamStudentList = this.listByIds(idList);
             for (BasicExamStudent basicExamStudent : basicExamStudentList) {
-                MarkStudent markStudent = markStudentService.findByExamIdAndPaperNumberAndStudentCode(basicExamStudent.getExamId(), basicExamStudent.getPaperNumber(), basicExamStudent.getStudentCode());
-                if (markStudent != null && markStudent.getUpload()) {
-                    throw ExceptionResultEnum.ERROR.exception("考生已扫描,无法删除");
+                List<MarkStudent> markStudentList = markStudentService.listByStudentId(basicExamStudent.getId());
+                if (CollectionUtils.isNotEmpty(markStudentList)) {
+                    StringJoiner stringJoiner = new StringJoiner(";");
+                    for (MarkStudent markStudent : markStudentList) {
+                        if (markTaskService.countByStudentId(markStudent.getId()) > 0) {
+                            stringJoiner.add("课程代码[" + basicExamStudent.getCourseCode() + "],学号[" + basicExamStudent.getStudentCode() + "]考生已开始评卷,无法删除");
+                        }
+                    }
+                    if (stringJoiner.toString().length() > 0) {
+                        throw ExceptionResultEnum.ERROR.exception(stringJoiner.toString());
+                    }
                 }
                 markStudentService.deleteByExamIdAndPaperNumberAndStudentCode(basicExamStudent.getExamId(), basicExamStudent.getPaperNumber(), basicExamStudent.getStudentCode());
                 BasicExam basicExam = basicExamService.getById(basicExamStudent.getExamId());
@@ -228,7 +238,7 @@ public class BasicExamStudentServiceImpl extends ServiceImpl<BasicExamStudentMap
         Long id = basicExamStudentParam.getId();
         Long semesterId = basicExamStudentParam.getSemesterId();
         Long examId = basicExamStudentParam.getExamId();
-        String courseCode = basicExamStudentParam.getCourseCode();
+        Long courseId = basicExamStudentParam.getCourseId();
         String studentName = basicExamStudentParam.getStudentName();
         String studentCode = basicExamStudentParam.getStudentCode();
         String college = basicExamStudentParam.getCollege();
@@ -249,12 +259,12 @@ public class BasicExamStudentServiceImpl extends ServiceImpl<BasicExamStudentMap
         if (!SystemConstant.longNotNull(examId)) {
             errorMsgList.add("请选择考试");
         }
-        if (!SystemConstant.strNotNull(courseCode)) {
+        if (courseId == null) {
             errorMsgList.add("请选择课程");
         }
-        BasicCourse basicCourse = basicCourseService.findByCourseCode(courseCode, schoolId);
+        BasicCourse basicCourse = basicCourseService.getById(courseId);
         if (Objects.isNull(basicCourse)) {
-            errorMsgList.add(String.format("课程代码[%s]在课程管理中不存在", courseCode));
+            errorMsgList.add("课程管理中不存在该课程");
         }
 
         if (!SystemConstant.strNotNull(studentName)) {
@@ -317,13 +327,13 @@ public class BasicExamStudentServiceImpl extends ServiceImpl<BasicExamStudentMap
 
         // 若教学班不存在则新建一个
         BasicTeachClazz basicTeachClazz = basicTeachClazzService.findOrCreateBasicTeachClazz(requestUser, examId,
-                courseCode, teachClazz);
+                courseId, teachClazz);
 
         BasicExamStudent basicExamStudent = new BasicExamStudent();
         basicExamStudent.setSchoolId(schoolId);
         basicExamStudent.setSemesterId(semesterId);
         basicExamStudent.setExamId(examId);
-        basicExamStudent.setCourseCode(courseCode);
+        basicExamStudent.setCourseId(courseId);
         basicExamStudent.setClazzId(basicTeachClazz.getId());
         basicExamStudent.setStudentName(studentName);
         basicExamStudent.setStudentCode(studentCode);
@@ -358,7 +368,7 @@ public class BasicExamStudentServiceImpl extends ServiceImpl<BasicExamStudentMap
         } else {
             // 新增 (学号在考试课程下唯一)
             if (this.count(new QueryWrapper<BasicExamStudent>().lambda().eq(BasicExamStudent::getSchoolId, schoolId)
-                    .eq(BasicExamStudent::getExamId, examId).eq(BasicExamStudent::getCourseCode, courseCode)
+                    .eq(BasicExamStudent::getExamId, examId).eq(BasicExamStudent::getCourseId, courseId)
                     .eq(BasicExamStudent::getStudentCode, studentCode)) > 0) {
                 throw ExceptionResultEnum.ERROR.exception(String.format("学号[%s]重复", studentCode));
             }

+ 3 - 4
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/BasicTeachClazzServiceImpl.java

@@ -33,11 +33,10 @@ public class BasicTeachClazzServiceImpl extends ServiceImpl<BasicTeachClazzMappe
 
     @Transactional
     @Override
-    public BasicTeachClazz findOrCreateBasicTeachClazz(SysUser requestUser, Long examId, String courseCode, String teachClazzName) {
+    public BasicTeachClazz findOrCreateBasicTeachClazz(SysUser requestUser, Long examId, Long courseId, String teachClazzName) {
         Long schoolId = requestUser.getSchoolId();
         Long userId = requestUser.getId();
-        BasicTeachClazz basicTeachClazz;
-        basicTeachClazz = this.getOne(
+        BasicTeachClazz basicTeachClazz = this.getOne(
                 new QueryWrapper<BasicTeachClazz>().lambda().eq(BasicTeachClazz::getSchoolId, schoolId)
                         .eq(BasicTeachClazz::getExamId, examId).eq(BasicTeachClazz::getClazzName, teachClazzName).last(SystemConstant.LIMIT1));
 
@@ -45,7 +44,7 @@ public class BasicTeachClazzServiceImpl extends ServiceImpl<BasicTeachClazzMappe
             basicTeachClazz = new BasicTeachClazz();
             basicTeachClazz.setSchoolId(schoolId);
             basicTeachClazz.setClazzName(teachClazzName);
-            basicTeachClazz.setCourseCode(courseCode);
+            basicTeachClazz.setCourseId(courseId);
             basicTeachClazz.setExamId(examId);
             basicTeachClazz.insertInfo(userId);
             this.save(basicTeachClazz);

+ 11 - 22
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/ConditionServiceImpl.java

@@ -138,7 +138,7 @@ public class ConditionServiceImpl implements ConditionService {
     }
 
     @Override
-    public List<String> listPaperNumber(Long semesterId, Long examId, String courseCode, List<String> printPlanIds) {
+    public List<String> listPaperNumber(Long semesterId, Long examId, Long courseId, List<String> printPlanIds) {
         // 考试ID为空,默认返回空
         if (examId == null) {
             return new ArrayList<>();
@@ -151,27 +151,27 @@ public class ConditionServiceImpl implements ConditionService {
 
         // 命题任务管理(39)
         if ("39".equals(privilegeIdString)) {
-            return conditionMapper.listPaperNumberFromExamTaskByCreateId(examId, courseCode, dpr);
+            return conditionMapper.listPaperNumberFromExamTaskByCreateId(examId, courseId, dpr);
         }
         // 入库申请(40)
         else if ("40".equals(privilegeIdString)) {
-            return conditionMapper.listPaperNumberForApply(examId, courseCode, sysUser.getId());
+            return conditionMapper.listPaperNumberForApply(examId, courseId, sysUser.getId());
         }
         // 入库审核(41)
         else if ("41".equals(privilegeIdString)) {
-            return conditionMapper.listPaperNumberAudit(semesterId, examId, courseCode);
+            return conditionMapper.listPaperNumberAudit(semesterId, examId, courseId);
         }
         // 卷库查询(42)
         else if ("42".equals(privilegeIdString)) {
-            return conditionMapper.listPaperNumberForQuery(examId, courseCode, dpr);
+            return conditionMapper.listPaperNumberForQuery(examId, courseId, dpr);
         }
         // 印刷任务管理(47)
         else if ("47".equals(privilegeIdString)) {
-            return conditionMapper.listPaperNumberPlanTask(semesterId, examId, printPlanIds, courseCode, dpr);
+            return conditionMapper.listPaperNumberPlanTask(semesterId, examId, printPlanIds, courseId, dpr);
         }
         // 流程审批记录管理(403)
         else if ("403".equals(privilegeIdString)) {
-            return conditionMapper.listPaperNumberForApproveHistory(semesterId, examId, courseCode, dpr);
+            return conditionMapper.listPaperNumberForApproveHistory(semesterId, examId, courseId, dpr);
         }
         // 成绩查询
         else if ("487".equals(privilegeIdString) || "2001".equals(privilegeIdString)) {
@@ -179,17 +179,17 @@ public class ConditionServiceImpl implements ConditionService {
         }
         // 评卷入口(491)
         else if ("491".equals(privilegeIdString)) {
-            return conditionMapper.listPaperNumberForEntrance(examId, sysUser.getId(), courseCode, MarkPaperStatus.FORMAL.name());
+            return conditionMapper.listPaperNumberForEntrance(examId, sysUser.getId(), courseId, MarkPaperStatus.FORMAL.name());
         }
         // 评卷设置(897)、评卷管理(917)、成绩检查(946)
         else if ("897".equals(privilegeIdString) || "917".equals(privilegeIdString) || "946".equals(privilegeIdString)) {
-            return conditionMapper.listPaperNumberFromMarkPaper(examId, courseCode, dpr);
+            return conditionMapper.listPaperNumberFromMarkPaper(examId, courseId, dpr);
         }
         // 下载管理(653)
         else if ("653".equals(privilegeIdString)) {
-            return conditionMapper.listPaperNumberFromExamTaskByUserIdAndPass(examId, courseCode, dpr);
+            return conditionMapper.listPaperNumberFromExamTaskByUserIdAndPass(examId, courseId, dpr);
         } else {
-            return conditionMapper.listPaperNumber(semesterId, examId, courseCode, printPlanIds, dpr);
+            return conditionMapper.listPaperNumber(semesterId, examId, courseId, printPlanIds, dpr);
         }
     }
 
@@ -216,17 +216,6 @@ public class ConditionServiceImpl implements ConditionService {
         }
     }
 
-    @Override
-    public List<BasicClazz> listClazz(Long semesterId, Long examId, String courseCode, String clazzName) {
-        Long privilegeId = ServletUtil.getCurrentPrivilegeId();
-        String privilegeIdString = privilegeId == null ? null : String.valueOf(privilegeId);
-        DataPermissionRule dpr = basicRoleDataPermissionService.findDataPermission(privilegeId);
-        if ("487".equals(privilegeIdString)) {
-            return conditionMapper.listClazz(semesterId, examId, courseCode, clazzName, dpr);
-        }
-        return new ArrayList<>();
-    }
-
     @Override
     public List<SysOrg> listCollege() {
         Long schoolId = Long.valueOf(ServletUtil.getRequestHeaderSchoolId().toString());

+ 1 - 2
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/CourseDimensionServiceImpl.java

@@ -67,7 +67,6 @@ public class CourseDimensionServiceImpl extends ServiceImpl<CourseDimensionMappe
             throw ExceptionResultEnum.ERROR.exception("教学课程不存在");
         }
         Long examId = teachCourse.getExamId();
-        String courseCode = teachCourse.getCourseCode();
 
         BasicExam basicExam = basicExamService.getById(examId);
         if (Objects.isNull(basicExam)) {
@@ -113,7 +112,7 @@ public class CourseDimensionServiceImpl extends ServiceImpl<CourseDimensionMappe
         temp.setSchoolId(schoolId);
         temp.setSemesterId(semesterId);
         temp.setExamId(examId);
-        temp.setCourseCode(courseCode);
+        temp.setCourseId(teachCourse.getCourseId());
         temp.setUserId(teachCourse.getUserId());
         temp.setSource(CourseDimensionSourceEnum.IMPORT);
 

+ 1 - 2
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/CourseTargetServiceImpl.java

@@ -158,7 +158,6 @@ public class CourseTargetServiceImpl extends ServiceImpl<CourseTargetMapper, Cou
         }
 
         Long examId = teachCourse.getExamId();
-        String courseCode = teachCourse.getCourseCode();
         String targetName = courseTargetParam.getTargetName();
         String degreeRequirement = courseTargetParam.getDegreeRequirement();
         List<Long> dimensionIdList = courseTargetParam.getDimensionIdList();
@@ -204,7 +203,7 @@ public class CourseTargetServiceImpl extends ServiceImpl<CourseTargetMapper, Cou
         courseTarget.setTeachCourseId(teachCourseId);
         courseTarget.setSchoolId(requestUser.getSchoolId());
         courseTarget.setExamId(examId);
-        courseTarget.setCourseCode(courseCode);
+        courseTarget.setCourseId(teachCourse.getCourseId());
         courseTarget.setUserId(requestUserId);
         courseTarget.setTargetName(targetName);
         courseTarget.setDegreeRequirement(degreeRequirement);

+ 1 - 2
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/CourseWeightServiceImpl.java

@@ -252,7 +252,6 @@ public class CourseWeightServiceImpl extends ServiceImpl<CourseWeightMapper, Cou
             throw ExceptionResultEnum.ERROR.exception("教学课程不存在");
         }
         Long examId = teachCourse.getExamId();
-        String courseCode = teachCourse.getCourseCode();
 
         teachCourseService.clearCourseSetting(teachCourseId, CourseSettingTypeEnum.COURSE_WEIGHT);
 
@@ -317,7 +316,7 @@ public class CourseWeightServiceImpl extends ServiceImpl<CourseWeightMapper, Cou
                 courseWeight.setTeachCourseId(teachCourseId);
                 courseWeight.setSchoolId(requestUser.getSchoolId());
                 courseWeight.setExamId(examId);
-                courseWeight.setCourseCode(courseCode);
+                courseWeight.setCourseId(teachCourse.getCourseId());
                 courseWeight.setUserId(requestUserId);
                 courseWeight.setTargetId(courseTargetId);
                 courseWeight.setEvaluationId(evaluationId);

+ 20 - 32
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/ExamCardServiceImpl.java

@@ -103,22 +103,21 @@ public class ExamCardServiceImpl extends ServiceImpl<ExamCardMapper, ExamCard> i
 
             QueryWrapper<ExamCard> queryWrapper = new QueryWrapper<>();
             queryWrapper.lambda().eq(ExamCard::getSchoolId, schoolId)
-                    .eq(ExamCard::getCourseCode, examCardParams.getCourseCode())
+                    .eq(ExamCard::getCourseId, examCardParams.getCourseId())
                     .eq(ExamCard::getTitle, title);
             List<ExamCard> examCardList = this.list(queryWrapper);
             if (!examCardList.isEmpty()) {
-                throw ExceptionResultEnum.ERROR.exception("题卡名称已存在");
+                throw ExceptionResultEnum.ERROR.exception("课程下已存在相同的题卡名称["+title+"]");
             }
 
             examCard = new ExamCard();
             examCard.setSchoolId(schoolId);
-            if (Objects.isNull(examCardParams.getTemplateId())) {
-                examCard.setOrgId(basicCourseService.getOrgIdBySchoolIdAndCourseCode(schoolId, examCardParams.getCourseCode()));
-            } else {
-                examCard.setOrgId(user.getOrgId());
-            }
-            examCard.setCourseCode(examCardParams.getCourseCode());
-            examCard.setCourseName(examCardParams.getCourseName());
+//            if (Objects.isNull(examCardParams.getTemplateId())) {
+//                examCard.setOrgId(basicCourseService.getOrgIdBySchoolIdAndCourseCode(schoolId, examCardParams.getCourseCode()));
+//            } else {
+//                examCard.setOrgId(user.getOrgId());
+//            }
+            examCard.setCourseId(examCardParams.getCourseId());
             examCard.setTitle(title);
             examCard.setMakeMethod(examCardParams.getMakeMethod());
             examCard.setStatus(examCardParams.getStatus());
@@ -133,7 +132,7 @@ public class ExamCardServiceImpl extends ServiceImpl<ExamCardMapper, ExamCard> i
             String title = examCardParams.getTitle();
             QueryWrapper<ExamCard> queryWrapper = new QueryWrapper<>();
             queryWrapper.lambda().eq(ExamCard::getSchoolId, schoolId)
-                    .eq(ExamCard::getCourseCode, examCardParams.getCourseCode())
+                    .eq(ExamCard::getCourseId, examCardParams.getCourseId())
                     .eq(ExamCard::getTitle, title)
                     .ne(ExamCard::getId, examCardParams.getId());
             List<ExamCard> examCardList = this.list(queryWrapper);
@@ -166,7 +165,7 @@ public class ExamCardServiceImpl extends ServiceImpl<ExamCardMapper, ExamCard> i
     }
 
     @Override
-    public List<ExamCard> listSelectCard(String courseCode, Long examId, String paperNumber) {
+    public List<ExamCard> listSelectCard(Long examId, Long courseId, String paperNumber) {
         Long schoolId = Long.valueOf(ServletUtil.getRequestHeaderSchoolId().toString());
         BasicPrintConfig basicPrintConfig = basicPrintConfigService.getByExamId(examId);
         Long cardRuleId = basicPrintConfig.getCardRuleId();
@@ -180,14 +179,14 @@ public class ExamCardServiceImpl extends ServiceImpl<ExamCardMapper, ExamCard> i
         // 专卡
         if (SystemConstant.ALL_CARD != cardRuleId) {
             // 只查自己创建的专卡(20230405已改为查询课程下所有题卡,允许复制,不能选择)
-            List<ExamCard> customCards = this.baseMapper.listCustom(schoolId, courseCode, CardTypeEnum.CUSTOM.name(), cardRuleId);
+            List<ExamCard> customCards = this.baseMapper.listCustom(schoolId, courseId, CardTypeEnum.CUSTOM.name(), cardRuleId);
             if (!customCards.isEmpty()) {
                 list.addAll(customCards);
             }
         }
 
         // 命题任务未提交的任务,单独查询题卡
-        List<ExamCard> customCards = this.baseMapper.listCustomByExamStage(schoolId, examId, courseCode, paperNumber, CardTypeEnum.CUSTOM.name());
+        List<ExamCard> customCards = this.baseMapper.listCustomByExamStage(schoolId, examId, courseId, paperNumber, CardTypeEnum.CUSTOM.name());
         if (!customCards.isEmpty()) {
             for (ExamCard customCard : customCards) {
                 long count = list.stream().filter(m -> m.getId().equals(customCard.getId())).count();
@@ -358,26 +357,24 @@ public class ExamCardServiceImpl extends ServiceImpl<ExamCardMapper, ExamCard> i
 
     @Transactional
     @Override
-    public Long copyCard(Long id, String courseCode) {
+    public Long copyCard(Long id, Long courseId) {
         SysUser requestUser = (SysUser) ServletUtil.getRequestUser();
 
         ExamCard examCard = this.getById(id);
         if (examCard == null) {
             throw ExceptionResultEnum.ERROR.exception("题卡不存在");
         }
-        if (CardTypeEnum.CUSTOM.equals(examCard.getType()) && !courseCode.equals(examCard.getCourseCode())) {
+        if (CardTypeEnum.CUSTOM.equals(examCard.getType()) && !Objects.equals(courseId, examCard.getCourseId())) {
             throw ExceptionResultEnum.ERROR.exception("复制的题卡不属于当前课程,无法复制");
         }
 
         // 复制题卡
         ExamCard copyExamCard = new ExamCard();
         BeanUtils.copyProperties(examCard, copyExamCard);
-        copyExamCard.setTitle(checkTitle(examCard, courseCode));
+        copyExamCard.setTitle(checkTitle(examCard, courseId));
         copyExamCard.insertInfo(requestUser.getId());
         if (CardTypeEnum.GENERIC.equals(examCard.getType()) && CardCreateMethodEnum.STANDARD.equals(examCard.getCreateMethod())) {
-            BasicCourse basicCourse = basicCourseService.findByCourseCode(courseCode, requestUser.getSchoolId());
-            copyExamCard.setCourseCode(courseCode);
-            copyExamCard.setCourseName(basicCourse != null ? basicCourse.getName() : null);
+            copyExamCard.setCourseId(courseId);
             copyExamCard.setMakeMethod(MakeMethodEnum.SELF);
             copyExamCard.setCreateMethod(null);
             copyExamCard.setType(CardTypeEnum.CUSTOM);
@@ -520,7 +517,7 @@ public class ExamCardServiceImpl extends ServiceImpl<ExamCardMapper, ExamCard> i
      *
      * @param examCard 题卡对象
      */
-    private String checkTitle(ExamCard examCard, String courseCode) {
+    private String checkTitle(ExamCard examCard, Long courseId) {
         String title;
         int i = 1;
         ExamCard newExamCard;
@@ -528,7 +525,7 @@ public class ExamCardServiceImpl extends ServiceImpl<ExamCardMapper, ExamCard> i
             title = examCard.getTitle() + "副本" + i;
             QueryWrapper<ExamCard> queryWrapper = new QueryWrapper<>();
             queryWrapper.lambda().eq(ExamCard::getSchoolId, examCard.getSchoolId())
-                    .eq(ExamCard::getCourseCode, courseCode)
+                    .eq(ExamCard::getCourseId, courseId)
                     .eq(ExamCard::getTitle, title);
             newExamCard = this.getOne(queryWrapper);
             i++;
@@ -547,21 +544,12 @@ public class ExamCardServiceImpl extends ServiceImpl<ExamCardMapper, ExamCard> i
             throw ExceptionResultEnum.ERROR.exception("通用规则未设置");
         }
 
-//        if (Objects.isNull(examCardParams.getMakeMethod())) {
-//            throw ExceptionResultEnum.ERROR.exception("题卡制作方式不能为空");
-//        }
         if (examCardParams.getStatus() == null) {
             throw ExceptionResultEnum.ERROR.exception("提交方式不能为空");
         }
         if (CardTypeEnum.CUSTOM.name().equals(examCardParams.getType().name())) {
-//            if (examCardParams.getExamTaskId() == null) {
-//                throw ExceptionResultEnum.ERROR.exception("命题任务ID不能为空");
-//            }
-            if (StringUtils.isBlank(examCardParams.getCourseCode())) {
-                throw ExceptionResultEnum.ERROR.exception("课程代码不能为空");
-            }
-            if (StringUtils.isBlank(examCardParams.getCourseName())) {
-                throw ExceptionResultEnum.ERROR.exception("课程名称不能为空");
+            if (examCardParams.getCourseId() == null) {
+                throw ExceptionResultEnum.ERROR.exception("未获取到课程信息");
             }
             if (MakeMethodEnum.SELECT.name().equals(examCardParams.getMakeMethod().name())) {
                 if (examCardParams.getId() == null) {

+ 2 - 2
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/ExamDetailCourseServiceImpl.java

@@ -181,8 +181,8 @@ public class ExamDetailCourseServiceImpl extends ServiceImpl<ExamDetailCourseMap
         examStudentService.save(examStudent);
 
         // 保存mark_student
-        MarkStudent markStudent = new MarkStudent(id, examDetail.getExamId(), examDetailCourse.getCourseCode(),
-                examDetailCourse.getCourseName(), examDetailCourse.getPaperNumber(),
+        MarkStudent markStudent = new MarkStudent(id, examDetail.getExamId(), examDetailCourse.getCourseId(),
+                examDetailCourse.getPaperNumber(),
                 examDetailCourse.getCoursePaperId(), singleExamStudentAddParam.getPaperType(),
                 singleExamStudentAddParam.getStudentCode(), singleExamStudentAddParam.getStudentName(),
                 examDetail.getPackageCode(), examDetail.getExamPlace(), examDetail.getExamRoom(),

+ 7 - 2
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/ExamDetailServiceImpl.java

@@ -165,12 +165,12 @@ public class ExamDetailServiceImpl extends ServiceImpl<ExamDetailMapper, ExamDet
     }
 
     @Override
-    public IPage<PrintTaskDto> listPrintTask(Long semesterId, Long examId, Long printPlanId, String status, String courseCode, String paperNumber, String examPlace, String examRoom, Long examStartTime, Long examEndTime, Long printStartTime, Long printEndTime, Long printHouseId, Integer pageNumber, Integer pageSize) {
+    public IPage<PrintTaskDto> listPrintTask(Long semesterId, Long examId, Long printPlanId, String status, Long courseId, String paperNumber, String examPlace, String examRoom, Long examStartTime, Long examEndTime, Long printStartTime, Long printEndTime, Long printHouseId, Integer pageNumber, Integer pageSize) {
         Long schoolId = Long.valueOf(ServletUtil.getRequestHeaderSchoolId().toString());
         SysUser requestUser = (SysUser) ServletUtil.getRequestUser();
         DataPermissionRule dpr = basicRoleDataPermissionService.findDataPermission(schoolId, requestUser.getId(), ServletUtil.getRequest().getServletPath());
         Page<PrintTaskDto> page = new Page<>(pageNumber, pageSize);
-        return this.baseMapper.listPrintTask(page, schoolId, semesterId, examId, printPlanId, status, courseCode, paperNumber, examPlace, examRoom, examStartTime, examEndTime, printStartTime, printEndTime, printHouseId, dpr);
+        return this.baseMapper.listPrintTask(page, schoolId, semesterId, examId, printPlanId, status, courseId, paperNumber, examPlace, examRoom, examStartTime, examEndTime, printStartTime, printEndTime, printHouseId, dpr);
     }
 
     @Override
@@ -875,6 +875,11 @@ public class ExamDetailServiceImpl extends ServiceImpl<ExamDetailMapper, ExamDet
         return this.baseMapper.listByExamIdAndCourseCodeAndPaperNumber(schoolId, examId, courseCode, paperNumber);
     }
 
+    @Override
+    public List<ExamDetail> listByCourseIdAndPaperNumber(Long schoolId, Long examId, Long courseId, String paperNumber) {
+        return this.baseMapper.listByExamIdAndCourseIdAndPaperNumber(schoolId, examId, courseId, paperNumber);
+    }
+
     @Override
     public boolean taskNormal(ExamDetail examDetail) {
         // 已扫描过,不能作废

+ 9 - 0
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/ExamTaskDetailServiceImpl.java

@@ -680,6 +680,15 @@ public class ExamTaskDetailServiceImpl extends ServiceImpl<ExamTaskDetailMapper,
         return this.getByExamTaskId(examTask.getId());
     }
 
+    @Override
+    public ExamTaskDetail getByExamIdAndCourseIdAndPaperNumber(Long examId, Long courseId, String paperNumber) {
+        ExamTask examTask = examTaskService.getByExamIdAndCourseIdAndPaperNumber(examId, courseId, paperNumber);
+        if (examTask == null) {
+            throw ExceptionResultEnum.ERROR.exception("未查询到试卷信息");
+        }
+        return this.getByExamTaskId(examTask.getId());
+    }
+
     @Override
     public void updateExposePaperType(Long examId, List<ExamDetailCourse> examDetailCourses) {
         // 更新曝光卷型、未曝光卷型

+ 53 - 63
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/ExamTaskServiceImpl.java

@@ -169,12 +169,6 @@ public class ExamTaskServiceImpl extends ServiceImpl<ExamTaskMapper, ExamTask> i
     @Resource
     private BasicOperationLogService basicOperationLogService;
     @Resource
-    private TeachCourseService teachCourseService;
-    @Resource
-    private TeachClazzService teachClazzService;
-    @Resource
-    private TeachStudentService teachStudentService;
-    @Resource
     private RedisCounterUtil redisCounterUtil;
     @Resource
     private FileUploadService fileUploadService;
@@ -182,14 +176,13 @@ public class ExamTaskServiceImpl extends ServiceImpl<ExamTaskMapper, ExamTask> i
     private TikuUtils tikuUtils;
 
     @Override
-    public IPage<ExamTaskDto> list(Long semesterId, Long examId, Boolean enable, String status, Long cardRuleId, String courseCode, String paperNumber, Long startTime, Long endTime, String userName, String createName, Integer pageNumber, Integer pageSize) {
+    public IPage<ExamTaskDto> list(Long semesterId, Long examId, Boolean enable, String status, Long courseId, String paperNumber, Long startTime, Long endTime, String userName, Integer pageNumber, Integer pageSize) {
         Long schoolId = Long.valueOf(ServletUtil.getRequestHeaderSchoolId().toString());
         userName = SystemConstant.translateSpecificSign(userName);
-        createName = SystemConstant.translateSpecificSign(createName);
         SysUser requestUser = (SysUser) ServletUtil.getRequestUser();
         DataPermissionRule dpr = basicRoleDataPermissionService.findDataPermission(schoolId, requestUser.getId(), ServletUtil.getRequest().getServletPath());
         Page<ExamTaskDto> page = new Page<>(pageNumber, pageSize);
-        IPage<ExamTaskDto> examTaskDtoIPage = this.baseMapper.listPage(page, schoolId, semesterId, examId, enable, status, cardRuleId, courseCode, paperNumber, startTime, endTime, dpr, userName, createName);
+        IPage<ExamTaskDto> examTaskDtoIPage = this.baseMapper.listPage(page, schoolId, semesterId, examId, enable, status, courseId, paperNumber, startTime, endTime, userName, dpr);
         for (ExamTaskDto record : examTaskDtoIPage.getRecords()) {
             // 判断审批表状态
             String cellPaperNumber = record.getPaperNumber();
@@ -339,7 +332,7 @@ public class ExamTaskServiceImpl extends ServiceImpl<ExamTaskMapper, ExamTask> i
             examTask.setReview(basicPrintConfig.getReview());
             // 取课程所在机构
             BasicCourse basicCourse = basicCourseService.getById(examTask.getCourseId());
-            if(basicCourse == null){
+            if (basicCourse == null) {
                 throw ExceptionResultEnum.ERROR.exception("课程不存在");
             }
             examTask.setTeachingRoomId(basicCourse.getTeachingRoomId());
@@ -392,19 +385,22 @@ public class ExamTaskServiceImpl extends ServiceImpl<ExamTaskMapper, ExamTask> i
 
                     String excelCourseCode = userImportDto.getCourseCode();
                     String excelCourseName = userImportDto.getCourseName();
+                    String teachingRoomName = userImportDto.getTeachingRoomName();
                     String excelPaperNumber = userImportDto.getPaperNumber();
                     String excelTeacherAccount = userImportDto.getUserAccount();
                     String excelTeacherName = userImportDto.getUserName();
 
+                    List<SysOrg> sysOrgList = sysOrgService.getSecondOrg(schoolId, teachingRoomName);
+                    if (CollectionUtils.isEmpty(sysOrgList)) {
+                        excelErrorTemp.add(new ExcelError(y + 1, "第" + (y + 1) + "行开课学院[" + teachingRoomName + "]在组织架构中不存在"));
+                    }
                     // 课程是否存在并且与名称对应
-                    QueryWrapper<BasicCourse> queryWrapper = new QueryWrapper<>();
-                    queryWrapper.lambda().eq(BasicCourse::getSchoolId, schoolId).eq(BasicCourse::getCode, excelCourseCode);
-                    BasicCourse course = basicCourseService.getOne(queryWrapper);
+                    BasicCourse basicCourse = basicCourseService.getByTeachRoomIdAndCode(sysOrgList.get(0).getId(), excelCourseCode);
                     // 校验课程名称和课程代码
-                    if (course == null) {
+                    if (basicCourse == null) {
                         excelErrorTemp.add(new ExcelError(y + 1, "第" + (y + 1) + "行课程代码[" + excelCourseCode + "]在系统中不存在"));
-                    } else if (!course.getName().equals(excelCourseName)) {
-                        excelErrorTemp.add(new ExcelError(y + 1, "第" + (y + 1) + "行课程代码[" + excelCourseCode + "]对应的课程名称与课程管理中不一致。文件中为[" + excelCourseName + "],课程管理为[" + course.getName() + "]"));
+                    } else if (!basicCourse.getName().equals(excelCourseName)) {
+                        excelErrorTemp.add(new ExcelError(y + 1, "第" + (y + 1) + "行课程代码[" + excelCourseCode + "]对应的课程名称与课程管理中不一致。文件中为[" + excelCourseName + "],课程管理为[" + basicCourse.getName() + "]"));
                     }
                     if (courseCodePaperNumberMap.containsKey(excelCourseCode)) {
                         String paperNumber = courseCodePaperNumberMap.get(excelCourseCode);
@@ -425,7 +421,7 @@ public class ExamTaskServiceImpl extends ServiceImpl<ExamTaskMapper, ExamTask> i
                     }
 
                     // 校验命题老师
-                    AssignTeacherDto assignTeacherDto = sysUserService.listUser(excelCourseCode, null);
+                    AssignTeacherDto assignTeacherDto = sysUserService.listUser(basicCourse.getId(), null);
                     List<SysUserResult> listUser = Objects.nonNull(assignTeacherDto) ? assignTeacherDto.getAllUserList() : new ArrayList<>();
                     Map<String, String> userMap = listUser.stream().collect(Collectors.toMap(SysUserResult::getLoginName, SysUserResult::getRealName));
                     if (userMap == null) {
@@ -441,7 +437,7 @@ public class ExamTaskServiceImpl extends ServiceImpl<ExamTaskMapper, ExamTask> i
                                 excelErrorTemp.add(new ExcelError(y + 1, "第" + (y + 1) + "行命题老师姓名不能为空"));
                             } else {
                                 if (StringUtils.isBlank(userMap.get(excelTeacherAccount))) {
-                                    excelErrorTemp.add(new ExcelError(y + 1, "第" + (y + 1) + "行命题老师号[" + excelTeacherAccount + "]系统中不存在"));
+                                    excelErrorTemp.add(new ExcelError(y + 1, "第" + (y + 1) + "行命题老师号[" + excelTeacherAccount + "]系统中不存在"));
                                 } else {
                                     String teacherName = userMap.get(excelTeacherAccount);
                                     if (!excelTeacherName.equals(teacherName)) {
@@ -451,7 +447,7 @@ public class ExamTaskServiceImpl extends ServiceImpl<ExamTaskMapper, ExamTask> i
                             }
                         } else {
                             if (StringUtils.isNotBlank(excelTeacherName)) {
-                                excelErrorTemp.add(new ExcelError(y + 1, "第" + (y + 1) + "行命题老师号必填"));
+                                excelErrorTemp.add(new ExcelError(y + 1, "第" + (y + 1) + "行命题老师号必填"));
                             }
                         }
                     }
@@ -502,6 +498,10 @@ public class ExamTaskServiceImpl extends ServiceImpl<ExamTaskMapper, ExamTask> i
                 examTaskTempService.save(examTaskTemp);
 
                 ExamTaskDto examTaskDto = new ExamTaskDto();
+                List<SysOrg> sysOrgList = sysOrgService.getSecondOrg(schoolId, examTaskTemp.getTeachingRoomName());
+                // 课程是否存在并且与名称对应
+                BasicCourse basicCourse = basicCourseService.getByTeachRoomIdAndCode(sysOrgList.get(0).getId(), examTaskTemp.getCourseCode());
+                examTaskDto.setCourseId(basicCourse.getId());
                 examTaskDto.setCourseCode(examTaskTemp.getCourseCode());
                 examTaskDto.setCourseName(examTaskTemp.getCourseName());
                 examTaskDto.setPaperNumber(examTaskTemp.getPaperNumber());
@@ -511,9 +511,9 @@ public class ExamTaskServiceImpl extends ServiceImpl<ExamTaskMapper, ExamTask> i
                 SysUser sysUser1 = sysUserService.getOne(queryWrapper);
                 AssignTeacherDto assignTeacherDto;
                 if (sysUser1 != null) {
-                    assignTeacherDto = listUsers(examTaskTemp.getCourseCode(), String.valueOf(sysUser1.getId()));
+                    assignTeacherDto = sysUserService.listUser(basicCourse.getId(), String.valueOf(sysUser1.getId()));
                 } else {
-                    assignTeacherDto = listUsers(examTaskTemp.getCourseCode(), null);
+                    assignTeacherDto = sysUserService.listUser(basicCourse.getId(), null);
                 }
                 examTaskDto.setUsers(Objects.nonNull(assignTeacherDto) ? assignTeacherDto.getAllUserList() : new ArrayList<>());
                 String userName = examTaskImportDto.getUserName();
@@ -561,10 +561,6 @@ public class ExamTaskServiceImpl extends ServiceImpl<ExamTaskMapper, ExamTask> i
         return examTaskImportResultDto;
     }
 
-    private AssignTeacherDto listUsers(String courseCode, String userId) {
-        return sysUserService.listUser(courseCode, userId);
-    }
-
     @Override
     public List<ExamTask> saveBatch(ExamTask task) {
         Long schoolId = Long.valueOf(ServletUtil.getRequestHeaderSchoolId().toString());
@@ -660,12 +656,11 @@ public class ExamTaskServiceImpl extends ServiceImpl<ExamTaskMapper, ExamTask> i
     }
 
     @Override
-    public IPage<ExamTaskDto> listTaskApply(Long semesterId, Long examId, String auditStatus, Long cardRuleId, String
-            courseCode, String paperNumber, Long startTime, Long endTime, String userName, Integer pageNumber, Integer pageSize) {
+    public IPage<ExamTaskDto> listTaskApply(Long semesterId, Long examId, String auditStatus, Long courseId, String paperNumber, Long startTime, Long endTime, String userName, Integer pageNumber, Integer pageSize) {
         userName = SystemConstant.translateSpecificSign(userName);
         Long schoolId = Long.valueOf(ServletUtil.getRequestHeaderSchoolId().toString());
         SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
-        IPage<ExamTaskDto> examTaskDtoIPage = this.baseMapper.listTaskApply(new Page<>(pageNumber, pageSize), schoolId, semesterId, examId, auditStatus, cardRuleId, courseCode, paperNumber, startTime, endTime, sysUser.getId(), userName);
+        IPage<ExamTaskDto> examTaskDtoIPage = this.baseMapper.listTaskApply(new Page<>(pageNumber, pageSize), schoolId, semesterId, examId, auditStatus, courseId, paperNumber, startTime, endTime, sysUser.getId(), userName);
         for (ExamTaskDto record : examTaskDtoIPage.getRecords()) {
             if ((Objects.nonNull(record.getReview()) && record.getReview() && FlowStatusEnum.FINISH.name().equals(record.getAuditStatus()) && !ExamModelEnum.MODEL3.equals(record.getExamModel()))) {
                 record.setApproveFormStatus(true);
@@ -677,22 +672,19 @@ public class ExamTaskServiceImpl extends ServiceImpl<ExamTaskMapper, ExamTask> i
     }
 
     @Override
-    public IPage<ExamTaskDto> listTaskReviewUnaudited(Long semesterId, Long examId, String courseCode, String paperNumber, Long userId, Long
-            cardRuleId, Long startTime, Long endTime, Long startCreateTime, Long endCreateTime, String createName, Integer pageNumber, Integer pageSize) {
+    public IPage<ExamTaskDto> listTaskReviewUnaudited(Long semesterId, Long examId, Long courseId, String paperNumber, Long userId, Long startTime, Long endTime, Long startCreateTime, Long endCreateTime, Integer pageNumber, Integer pageSize) {
         SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
-        createName = SystemConstant.translateSpecificSign(createName);
         Long schoolId = Long.valueOf(ServletUtil.getRequestHeaderSchoolId().toString());
-        return this.baseMapper.listTaskReviewUnaudited(new Page<>(pageNumber, pageSize), schoolId, semesterId, examId, courseCode, paperNumber, userId, cardRuleId, startTime, endTime, startCreateTime, endCreateTime, createName, sysUser.getId());
+        return this.baseMapper.listTaskReviewUnaudited(new Page<>(pageNumber, pageSize), schoolId, semesterId, examId, courseId, paperNumber, userId, startTime, endTime, startCreateTime, endCreateTime, sysUser.getId());
     }
 
     @Override
-    public IPage<ExamTaskDto> listTaskReviewAudited(Long semesterId, Long examId, String reviewStatus, String courseCode, String
-            paperNumber, Long userId, Long cardRuleId, Long startTime, Long endTime, Long startCreateTime, Long endCreateTime, String createName, Integer pageNumber, Integer pageSize) {
-        createName = SystemConstant.translateSpecificSign(createName);
+    public IPage<ExamTaskDto> listTaskReviewAudited(Long semesterId, Long examId, Long courseId, String
+            paperNumber, Long userId, Long startTime, Long endTime, Long startCreateTime, Long endCreateTime, Integer pageNumber, Integer pageSize) {
         Long schoolId = Long.valueOf(ServletUtil.getRequestHeaderSchoolId().toString());
         Set<Long> orgIds = teachcloudCommonService.listSubOrgIds(null);
         SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
-        return this.baseMapper.listTaskReviewAudited(new Page<>(pageNumber, pageSize), schoolId, semesterId, examId, reviewStatus, courseCode, paperNumber, userId, cardRuleId, startTime, endTime, orgIds, startCreateTime, endCreateTime, createName, sysUser.getId());
+        return this.baseMapper.listTaskReviewAudited(new Page<>(pageNumber, pageSize), schoolId, semesterId, examId, courseId, paperNumber, userId, startTime, endTime, orgIds, startCreateTime, endCreateTime, sysUser.getId());
     }
 
     @Transactional
@@ -718,17 +710,14 @@ public class ExamTaskServiceImpl extends ServiceImpl<ExamTaskMapper, ExamTask> i
     }
 
     @Override
-    public IPage<ExamTaskDetailDto> listTaskPaper(Long semesterId, Long examId, String courseCode, String paperNumber, Long startTime, Long endTime, MakeMethodEnum makeMethod, Long cardRuleId, Integer pageNumber, Integer pageSize) {
+    public IPage<ExamTaskDetailDto> listTaskPaper(Long semesterId, Long examId, Long courseId, String paperNumber, Long startTime, Long endTime, Integer pageNumber, Integer pageSize) {
         SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
-        // 查询用户角色是否包含命题老师
-//        List<SysRole> list = sysUserRoleService.listRoleByUserId(sysUser.getId());
-//        boolean containsQuestionTeacher = list.stream().anyMatch(m -> RoleTypeEnum.QUESTION_TEACHER.equals(m.getType()));
         boolean containsQuestionTeacher = false;
         Long schoolId = Long.valueOf(ServletUtil.getRequestHeaderSchoolId().toString());
         SysUser requestUser = (SysUser) ServletUtil.getRequestUser();
         DataPermissionRule dpr = basicRoleDataPermissionService.findDataPermission(schoolId, requestUser.getId(), ServletUtil.getRequest().getServletPath());
         Page<ExamTaskDetailDto> page = new Page<>(pageNumber, pageSize);
-        return this.baseMapper.listTaskPaper(page, schoolId, semesterId, examId, courseCode, paperNumber, startTime, endTime, dpr, containsQuestionTeacher, sysUser.getId(), makeMethod, cardRuleId);
+        return this.baseMapper.listTaskPaper(page, schoolId, semesterId, examId, courseId, paperNumber, startTime, endTime, dpr, containsQuestionTeacher, sysUser.getId());
     }
 
     @Override
@@ -1003,7 +992,7 @@ public class ExamTaskServiceImpl extends ServiceImpl<ExamTaskMapper, ExamTask> i
                     stringSet.add(String.format("课程[%s(%s)],试卷编号[%s]的" + ExceptionResultEnum.EXAM_TASK_IS_NOT_EXIST.getMessage(), courseName, courseCode, paperNumber));
                 } else {
                     if (examTask.getReview()) {
-                        examTask = examTaskService.findExamTaskByFlowStatus(schoolId, examPrintPlan.getExamId(), examDetailCourse.getCourseCode(), examDetailCourse.getPaperNumber(), FlowStatusEnum.FINISH);
+                        examTask = examTaskService.findExamTaskByFlowStatus(schoolId, examPrintPlan.getExamId(), examDetailCourse.getCourseId(), examDetailCourse.getPaperNumber(), FlowStatusEnum.FINISH);
                         if (examTask == null) {
                             stringSet.add(String.format("课程[%s(%s)],试卷编号[%s]的" + ExceptionResultEnum.EXAM_TASK_IS_NULL.getMessage(), courseName, courseCode, paperNumber));
                         }
@@ -1033,22 +1022,21 @@ public class ExamTaskServiceImpl extends ServiceImpl<ExamTaskMapper, ExamTask> i
     }
 
     @Override
-    public List<ExamTaskDetailDto> listTaskPaper(Long semesterId, Long examId, String courseCode, String paperNumber, Long cardRuleId, MakeMethodEnum makeMethod, Long startTime, Long
+    public List<ExamTaskDetailDto> listTaskPaper(Long semesterId, Long examId, Long courseId, String paperNumber, Long startTime, Long
             endTime) {
         SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
         // 查询用户角色是否包含命题老师
         List<SysRole> list = sysUserRoleService.listRoleByUserId(sysUser.getId());
-//        boolean containsQuestionTeacher = list.stream().filter(m -> RoleTypeEnum.QUESTION_TEACHER.equals(m.getType())).count() > 0;
         boolean containsQuestionTeacher = false;
         Long schoolId = Long.valueOf(ServletUtil.getRequestHeaderSchoolId().toString());
         Set<Long> orgIds = teachcloudCommonService.listSubOrgIds(null);
         DataPermissionRule dpr = basicRoleDataPermissionService.findDataPermission(schoolId, sysUser.getId(), ServletUtil.getRequest().getServletPath());
-        return this.baseMapper.listTaskPaper(schoolId, semesterId, examId, courseCode, paperNumber, cardRuleId, makeMethod, startTime, endTime, dpr, orgIds, containsQuestionTeacher, sysUser.getId());
+        return this.baseMapper.listTaskPaper(schoolId, semesterId, examId, courseId, paperNumber, startTime, endTime, dpr, orgIds, containsQuestionTeacher, sysUser.getId());
     }
 
     @Override
-    public TBTask taskDownloadPdf(Long semesterId, Long examId, String courseCode, String paperNumber, Long cardRuleId, MakeMethodEnum makeMethod, Long startTime, Long endTime) {
-        List<ExamTaskDetailDto> examTasks = this.listTaskPaper(semesterId, examId, courseCode, paperNumber, cardRuleId, makeMethod, startTime, endTime);
+    public TBTask taskDownloadPdf(Long semesterId, Long examId, Long courseId, String paperNumber, Long startTime, Long endTime) {
+        List<ExamTaskDetailDto> examTasks = this.listTaskPaper(semesterId, examId, courseId, paperNumber, startTime, endTime);
         if (CollectionUtils.isEmpty(examTasks)) {
             throw ExceptionResultEnum.ERROR.exception("没有可导出数据");
         }
@@ -1087,20 +1075,14 @@ public class ExamTaskServiceImpl extends ServiceImpl<ExamTaskMapper, ExamTask> i
 
     /**
      * 根据流程状态查找命题任务
-     *
-     * @param schoolId
-     * @param courseCode
-     * @param paperNumber
-     * @param flowStatus
-     * @return
      */
     @Override
-    public ExamTask findExamTaskByFlowStatus(Long schoolId, Long examId, String courseCode, String paperNumber, FlowStatusEnum flowStatus) {
-        List<ExamTask> examTaskList = this.baseMapper.findExamTaskByFlowStatus(schoolId, examId, courseCode, paperNumber, Objects.nonNull(flowStatus) ? flowStatus.name() : null);
+    public ExamTask findExamTaskByFlowStatus(Long schoolId, Long examId, Long courseId, String paperNumber, FlowStatusEnum flowStatus) {
+        List<ExamTask> examTaskList = this.baseMapper.findExamTaskByFlowStatus(schoolId, examId, courseId, paperNumber, Objects.nonNull(flowStatus) ? flowStatus.name() : null);
         if (CollectionUtils.isEmpty(examTaskList)) {
             throw ExceptionResultEnum.EXAM_TASK_IS_NULL.exception();
         } else if (examTaskList.size() != 1) {
-            throw ExceptionResultEnum.ERROR.exception("命题任务查询异常:" + ExceptionResultEnum.DATA_COUNT_EXCEPTION.getMessage() + String.format("考试ID[%s],课程代码[%s],试卷编号[%s]", examId, courseCode, paperNumber));
+            throw ExceptionResultEnum.ERROR.exception("命题任务查询异常:" + ExceptionResultEnum.DATA_COUNT_EXCEPTION.getMessage() + String.format("考试ID[%s],课程ID[%s],试卷编号[%s]", examId, courseId, paperNumber));
         } else {
             ExamTask examTask = examTaskList.get(0);
             if (!examTask.getEnable()) {
@@ -1222,11 +1204,8 @@ public class ExamTaskServiceImpl extends ServiceImpl<ExamTaskMapper, ExamTask> i
                 examTask.setPaperNumber(paperNumber);
             }
 
-            String sequence = printCommonService.createCourseSequence(schoolId, examTask.getCourseCode());
-            examTask.setSequence(sequence);
             examTask.setId(SystemConstant.getDbUuid());
             examTask.setSchoolId(schoolId);
-            examTask.setOrgId(basicCourseService.getOrgIdBySchoolIdAndCourseCode(schoolId, examTask.getCourseCode()));
             examTask.setReview(basicPrintConfig.getReview());
             examTask.setUserId(sysUser.getId());
             examTask.setStatus(ExamStatusEnum.SUBMIT);
@@ -1396,8 +1375,7 @@ public class ExamTaskServiceImpl extends ServiceImpl<ExamTaskMapper, ExamTask> i
                         examDetailCourse.setId(SystemConstant.getDbUuid());
                         examDetailCourse.setSchoolId(schoolId);
                         examDetailCourse.setExamDetailId(examDetail.getId());
-                        examDetailCourse.setCourseCode(examTask.getCourseCode());
-                        examDetailCourse.setCourseName(examTask.getCourseName());
+                        examDetailCourse.setCourseId(examTask.getCourseId());
                         examDetailCourse.setPaperNumber(paperNumber);
                         examDetailCourse.setCoursePaperId(String.valueOf(examTask.getId()));
                         examDetailCourse.setClazzId(examDetailList.getClassId());
@@ -1696,11 +1674,11 @@ public class ExamTaskServiceImpl extends ServiceImpl<ExamTaskMapper, ExamTask> i
 
     @Transactional(rollbackFor = Exception.class)
     @Override
-    public List<ExamTaskStudentObjectResult> findExamTaskStudentObject(Long examId, String courseCode, String teacher, String className, SysUser requestUser) {
+    public List<ExamTaskStudentObjectResult> findExamTaskStudentObject(Long examId, Long courseId, String teacher, String className, SysUser requestUser) {
         Long schoolId = requestUser.getSchoolId();
         List<ExamTaskStudentObjectResult> result = new ArrayList<>();
         // 基础班级对象
-        List<BasicExamStudentResult> basicStudentResultList = basicStudentService.basicStudentList(schoolId, examId, courseCode, teacher, className, null);
+        List<BasicExamStudentResult> basicStudentResultList = basicStudentService.basicStudentList(schoolId, examId, courseId, teacher, className, null);
         if (!CollectionUtils.isEmpty(basicStudentResultList)) {
             LinkedMultiValueMap<Long, StudentInfo> studentInfoLinkedMultiValueMap = new LinkedMultiValueMap<>();
             Map<Long, ExamTaskStudentObjectResult> examTaskStudentObjectResultMap = new LinkedHashMap<>();
@@ -2027,6 +2005,18 @@ public class ExamTaskServiceImpl extends ServiceImpl<ExamTaskMapper, ExamTask> i
         return this.getOne(queryWrapper);
     }
 
+    @Override
+    public ExamTask getByExamIdAndCourseIdAndPaperNumber(Long examId, Long courseId, String paperNumber) {
+        QueryWrapper<ExamTask> queryWrapper = new QueryWrapper<>();
+        LambdaQueryWrapper<ExamTask> lambdaQueryWrapper = queryWrapper.lambda();
+        lambdaQueryWrapper.eq(ExamTask::getExamId, examId);
+        if (courseId != null) {
+            lambdaQueryWrapper.eq(ExamTask::getCourseId, courseId);
+        }
+        lambdaQueryWrapper.eq(ExamTask::getPaperNumber, paperNumber);
+        return this.getOne(queryWrapper);
+    }
+
     @Override
     public IPage<MakeupExamTaskDto> listMakeupExamTask(Long printPlanId, Long semesterId, Long examId, Long collegeId, String courseCode, String paperNumber, String userName, Integer pageNumber, Integer pageSize) {
         if (semesterId == null) {

+ 31 - 136
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/PrintCommonServiceImpl.java

@@ -77,97 +77,68 @@ public class PrintCommonServiceImpl implements PrintCommonService {
 
     @Resource
     private DictionaryConfig dictionaryConfig;
-
     @Resource
-    BasicAttachmentService basicAttachmentService;
-
+    private BasicAttachmentService basicAttachmentService;
     @Resource
     @Lazy
     private ExamTaskService examTaskService;
-
     @Resource
     private BasicCourseMapper basicCourseMapper;
-
     @Resource
     @Lazy
-    BasicCourseService basicCourseService;
-
+    private BasicCourseService basicCourseService;
     @Resource
-    ExamDetailCourseService examDetailCourseService;
-
+    private ExamDetailCourseService examDetailCourseService;
     @Resource
-    SysOrgService sysOrgService;
-
+    private SysOrgService sysOrgService;
     @Resource
-    private SysUserService sysUserService;
-
+    private TBTaskService tbTaskService;
     @Resource
-    TBTaskService tbTaskService;
-
-    @Resource
-    TBTaskPdfService tbTaskPdfService;
-
+    private TBTaskPdfService tbTaskPdfService;
     @Resource
     @Lazy
-    ExamDetailService examDetailService;
-
+    private ExamDetailService examDetailService;
     @Resource
     @Lazy
-    ExamTaskDetailService examTaskDetailService;
-
+    private ExamTaskDetailService examTaskDetailService;
     @Resource
-    ExamPrintPlanService examPrintPlanService;
-
+    private ExamPrintPlanService examPrintPlanService;
     @Resource
-    TFFlowApproveService tfFlowApproveService;
-
+    private TFFlowApproveService tfFlowApproveService;
     @Resource
     private FileStoreUtil fileStoreUtil;
-
     @Resource
     private FileUploadService fileUploadService;
-
     @Resource
-    TeachcloudCommonService teachcloudCommonService;
-
+    private TeachcloudCommonService teachcloudCommonService;
     @Resource
-    RedisUtil redisUtil;
-
+    private RedisUtil redisUtil;
     @Resource
-    BasicExamService basicExamService;
-
+    private BasicExamService basicExamService;
     @Resource
-    GradeBatchPaperService gradeBatchPaperService;
+    private GradeBatchPaperService gradeBatchPaperService;
     @Resource
-    BasicTeachClazzService basicTeachClazzService;
+    private BasicTeachClazzService basicTeachClazzService;
     @Resource
-    BasicExamStudentService basicExamStudentService;
-
+    private BasicExamStudentService basicExamStudentService;
     @Resource
-    CreatePrintPdfUtil createPrintPdfUtil;
-
+    private CreatePrintPdfUtil createPrintPdfUtil;
     @Resource
-    CommonCacheService commonCacheService;
-
+    private CommonCacheService commonCacheService;
     @Resource
-    RedisCounterUtil redisCounterUtil;
-
+    private RedisCounterUtil redisCounterUtil;
     @Resource
-    MarkPaperService markPaperService;
-
+    private MarkPaperService markPaperService;
     @Resource
-    TCUsualScoreMapper tcUsualScoreMapper;
-
+    private TCUsualScoreMapper tcUsualScoreMapper;
     @Resource
-    BasicRoleDataPermissionService basicRoleDataPermissionService;
-
+    private BasicRoleDataPermissionService basicRoleDataPermissionService;
     @Resource
     @Lazy
-    TCFinalScoreService tcFinalScoreService;
-
+    private TCFinalScoreService tcFinalScoreService;
     @Resource
     @Lazy
-    TCPaperStructService tcPaperStructService;
+    private TCPaperStructService tcPaperStructService;
 
     /**
      * 保存附件
@@ -417,7 +388,8 @@ public class PrintCommonServiceImpl implements PrintCommonService {
         if (Objects.isNull(markPaper)) {
             BasicCourse basicCourse = basicCourseService.getByCode(courseCode);
             Objects.requireNonNull(basicCourse, "未找到基础课程信息");
-            markPaper = new MarkPaper(examId, courseCode, basicCourse.getName(), paperNumber, 100d, 60d);
+            // todo 课程ID,目标达成度,未改
+            markPaper = new MarkPaper(examId, null, paperNumber, 100d, 60d);
         }
         return markPaper;
     }
@@ -911,24 +883,6 @@ public class PrintCommonServiceImpl implements PrintCommonService {
         return saveAttachmentCommon(file, md5, type, null);
     }
 
-    /**
-     * 科目删除
-     *
-     * @param id
-     * @return
-     */
-    @Override
-    public boolean remove(Long id) {
-        BasicCourse basicCourse = basicCourseMapper.selectById(id);
-        QueryWrapper<ExamTask> queryWrapper = new QueryWrapper<>();
-        queryWrapper.lambda().eq(ExamTask::getSchoolId, basicCourse.getSchoolId()).eq(ExamTask::getCourseCode, basicCourse.getCode());
-        int count = examTaskService.count(queryWrapper);
-        if (count > 0) {
-            throw ExceptionResultEnum.ERROR.exception("课程[" + basicCourse.getName() + "(" + basicCourse.getCode() + ")]绑定命题任务,不能删除");
-        }
-        return basicCourseService.removeById(id);
-    }
-
     /**
      * 分页查询
      *
@@ -984,57 +938,6 @@ public class PrintCommonServiceImpl implements PrintCommonService {
         }
     }
 
-    /**
-     * 机构禁用
-     *
-     * @param org
-     * @return
-     */
-    @Override
-    public boolean enable(SysOrg org) {
-        // 禁用时,校验机构
-        if (!org.getEnable()) {
-            validateOrg(org.getId());
-        }
-        UpdateWrapper<SysOrg> updateWrapper = new UpdateWrapper<>();
-        updateWrapper.lambda().set(SysOrg::getEnable, org.getEnable()).eq(SysOrg::getId, org.getId());
-        return sysOrgService.update(updateWrapper);
-    }
-
-    /**
-     * 机构删除
-     *
-     * @param id
-     * @return
-     */
-    @Transactional
-    @Override
-    public boolean sysOrgRemove(Long id) {
-        // 机构校验
-        validateOrg(id);
-        boolean result = sysOrgService.removeById(id);
-
-        Long schoolId = SystemConstant.convertIdToLong(String.valueOf(ServletUtil.getRequestHeaderSchoolId()));
-        commonCacheService.removeOrgCollegeLevelCache(schoolId);
-        return result;
-    }
-
-    private void validateOrg(Long id) {
-        // 机构下是否有用户
-        List<SysUser> sysUsers = sysUserService.listByOrgId(id);
-        if (!CollectionUtils.isEmpty(sysUsers)) {
-            throw ExceptionResultEnum.ERROR.exception("该机构下有用户,不能删除");
-        }
-
-        // 机构下是否有子机构
-        QueryWrapper<SysOrg> orgQueryWrapper = new QueryWrapper<>();
-        orgQueryWrapper.lambda().eq(SysOrg::getParentId, id);
-        List<SysOrg> sysOrgs = sysOrgService.list(orgQueryWrapper);
-        if (!CollectionUtils.isEmpty(sysOrgs)) {
-            throw ExceptionResultEnum.ERROR.exception("该机构下有子机构,不能删除");
-        }
-    }
-
     /**
      * 保存任务
      *
@@ -1232,9 +1135,9 @@ public class PrintCommonServiceImpl implements PrintCommonService {
     }
 
     @Override
-    public void checkExamDataAndCreatePdfTask(Long schoolId, Long examId, String courseCode, String paperNumber, SysUser user) {
+    public void checkExamDataAndCreatePdfTask(Long schoolId, Long examId, Long courseId, String paperNumber, SysUser user) {
         // 校验命题任务是否提交
-        ExamTask examTask = examTaskService.getByExamIdAndCourseCodeAndPaperNumber(examId, courseCode, paperNumber);
+        ExamTask examTask = examTaskService.getByExamIdAndCourseIdAndPaperNumber(examId, courseId, paperNumber);
         BasicExam basicExam = basicExamService.getById(examTask.getExamId());
         if (basicExam != null && ExamModelEnum.MODEL3.equals(basicExam.getExamModel())) {
             log.info("考试模式为模式3,不生成pdf");
@@ -1262,7 +1165,7 @@ public class PrintCommonServiceImpl implements PrintCommonService {
 
         if (canCreatePdf) {
             // 2.校验考务数据是否导入
-            List<ExamDetail> examDetailList = examDetailService.listByCourseCodeAndPaperNumber(schoolId, examId, courseCode, paperNumber);
+            List<ExamDetail> examDetailList = examDetailService.listByCourseIdAndPaperNumber(schoolId, examId, courseId, paperNumber);
             if (CollectionUtils.isNotEmpty(examDetailList)) {
                 // 3.检查examDetailId下有无其它课程
                 for (ExamDetail examDetail : examDetailList) {
@@ -1361,25 +1264,17 @@ public class PrintCommonServiceImpl implements PrintCommonService {
                 throw ExceptionResultEnum.ERROR.exception("ID[" + studentId + "]的考生不存在");
             }
             ExamStudent examStudent = new ExamStudent();
-            examStudent.setSchoolId(sysUser.getSchoolId());
             examStudent.setId(SystemConstant.getDbUuid());
-            examStudent.setOrgId(sysUser.getOrgId());
+            examStudent.setSchoolId(sysUser.getSchoolId());
             examStudent.setExamDetailCourseId(examDetailCourseId);
-            examStudent.setStudentName(basicExamStudent.getStudentName());
-            examStudent.setStudentCode(basicExamStudent.getStudentCode());
+            examStudent.setStudentId(studentId);
             examStudent.setExamId(examId);
             examStudent.setPaperNumber(examTask.getPaperNumber());
             examStudent.setCoursePaperId(String.valueOf(examTask.getId()));
-            examStudent.setCollegeName(basicExamStudent.getCollege());
-            examStudent.setMajorName(basicExamStudent.getMajor());
             examStudent.setSiteNumber(String.valueOf(atomicInteger.getAndIncrement()));
             examStudent.setTeacherId(basicExamStudent.getTeacherId());
             examStudent.setExtendFields(extendFields);
             examStudent.setCreateId(sysUser.getId());
-            // 教学班数据
-            examStudent.setTeachClazzId(basicExamStudent.getClazzId());
-            BasicTeachClazz basicTeachClazz = basicTeachClazzService.getById(basicExamStudent.getClazzId());
-            examStudent.setTeachClazzName(basicTeachClazz != null ? basicTeachClazz.getClazzName() : null);
             examStudentList.add(examStudent);
         }
         return examStudentList;

+ 2 - 3
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/TBSyncTaskServiceImpl.java

@@ -79,7 +79,7 @@ public class TBSyncTaskServiceImpl extends ServiceImpl<TBSyncTaskMapper, TBSyncT
     }
 
     @Override
-    public TBSyncTask saveTask(Long schoolId, Long semesterId, Long examId, String courseCode, String courseName, String paperNumber, String paperType, PushTypeEnum type, String remark) {
+    public TBSyncTask saveTask(Long schoolId, Long semesterId, Long examId, Long courseId, String paperNumber, String paperType, PushTypeEnum type, String remark) {
         QueryWrapper<TBSyncTask> queryWrapper = new QueryWrapper<>();
         queryWrapper.lambda().eq(TBSyncTask::getSchoolId, schoolId)
                 .eq(TBSyncTask::getSemesterId, semesterId)
@@ -102,8 +102,7 @@ public class TBSyncTaskServiceImpl extends ServiceImpl<TBSyncTaskMapper, TBSyncT
             tbSyncTask.setSchoolId(schoolId);
             tbSyncTask.setSemesterId(semesterId);
             tbSyncTask.setExamId(examId);
-            tbSyncTask.setCourseCode(courseCode);
-            tbSyncTask.setCourseName(courseName);
+            tbSyncTask.setCourseId(courseId);
             tbSyncTask.setPaperNumber(paperNumber);
             tbSyncTask.setPaperType(paperType);
             tbSyncTask.setType(type);

+ 1 - 0
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/TBTaskPdfServiceImpl.java

@@ -88,6 +88,7 @@ public class TBTaskPdfServiceImpl extends ServiceImpl<TBTaskPdfMapper, TBTaskPdf
         tbTaskPdf.setStatus(TaskStatusEnum.INIT);
         tbTaskPdf.setCreateType(type);
         tbTaskPdf.setResult(null);
+        tbTaskPdf.setUpdateTime(null);
         tbTaskPdf.setSummary(MessageFormat.format("{0}{1}{2}", DateUtil.format(new Date(), SystemConstant.DEFAULT_DATE_PATTERN), "->", "重置成功,PDF待生成"));
         this.updateById(tbTaskPdf);
     }

+ 1 - 2
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/TRBasicInfoServiceImpl.java

@@ -120,8 +120,7 @@ public class TRBasicInfoServiceImpl extends ServiceImpl<TRBasicInfoMapper, TRBas
         ReportScoreViewDto reportScoreViewDto = null;
         TCPaperStruct tcPaperStruct = tcPaperStructService.queryPaperStruct(markPaper.getExamId(), markPaper.getCourseCode(), markPaper.getPaperNumber(), trBasicInfo.getTeachCourseId());
         if (Objects.nonNull(tcPaperStruct) && Objects.nonNull(tcPaperStruct.getPaperStruct()) && Objects.nonNull(tcPaperStruct.getTotalScore())) {
-            BasicCourse basicCourse = basicCourseService.getByCode(trBasicInfo.getCourseCode());
-            markPaper = new MarkPaper(markPaper.getExamId(), markPaper.getCourseCode(), basicCourse.getName(), markPaper.getPaperNumber(), tcPaperStruct.getTotalScore(), tcPaperStruct.getPassScore());
+            markPaper = new MarkPaper(markPaper.getExamId(), markPaper.getCourseId(), markPaper.getPaperNumber(), tcPaperStruct.getTotalScore(), tcPaperStruct.getPassScore());
         }
         fillScoreRange(finalScoreDto, trBasicInfo.getExamId(), trBasicInfo.getPaperNumber(), trBasicInfo.getTeachCourseId(), markPaper);
         List<ScoreRangeVo> scoreRangeVoList = finalScoreDto.getScoreRange();

+ 5 - 430
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/TeachCourseServiceImpl.java

@@ -5,11 +5,7 @@ import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.qmth.distributed.print.business.bean.params.AssignClazzParam;
-import com.qmth.distributed.print.business.bean.params.TeachCourseParams;
 import com.qmth.distributed.print.business.bean.params.TeachCourseSelectParam;
-import com.qmth.distributed.print.business.bean.params.TeacherTeamParam;
-import com.qmth.distributed.print.business.bean.result.ClazzDistributedResult;
 import com.qmth.distributed.print.business.bean.result.CourseWeightSettingStatusResult;
 import com.qmth.distributed.print.business.bean.result.DictionaryResult;
 import com.qmth.distributed.print.business.bean.result.TeachCourseResult;
@@ -17,28 +13,22 @@ import com.qmth.distributed.print.business.entity.*;
 import com.qmth.distributed.print.business.enums.CourseSettingTypeEnum;
 import com.qmth.distributed.print.business.mapper.TeachCourseMapper;
 import com.qmth.distributed.print.business.service.*;
-import com.qmth.teachcloud.common.base.BaseEntity;
 import com.qmth.teachcloud.common.bean.dto.DataPermissionRule;
-import com.qmth.teachcloud.common.bean.params.UserSaveParams;
-import com.qmth.teachcloud.common.bean.result.TeacherSelectResult;
-import com.qmth.teachcloud.common.bean.result.TeacherTeamResult;
-import com.qmth.teachcloud.common.bean.result.UserRoleNameResult;
 import com.qmth.teachcloud.common.contant.SystemConstant;
 import com.qmth.teachcloud.common.entity.BasicCourse;
-import com.qmth.teachcloud.common.entity.SysRole;
 import com.qmth.teachcloud.common.entity.SysUser;
 import com.qmth.teachcloud.common.enums.ExceptionResultEnum;
-import com.qmth.teachcloud.common.enums.RoleTypeEnum;
-import com.qmth.teachcloud.common.service.*;
+import com.qmth.teachcloud.common.service.BasicCourseService;
+import com.qmth.teachcloud.common.service.BasicRoleDataPermissionService;
+import com.qmth.teachcloud.common.service.SysOrgService;
+import com.qmth.teachcloud.common.service.SysUserService;
 import com.qmth.teachcloud.common.util.ServletUtil;
 import org.apache.commons.collections4.CollectionUtils;
 import org.springframework.beans.BeanUtils;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
-import org.springframework.web.multipart.MultipartFile;
 
 import javax.annotation.Resource;
-import java.io.IOException;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Objects;
@@ -56,40 +46,22 @@ public class TeachCourseServiceImpl extends ServiceImpl<TeachCourseMapper, Teach
 
     @Resource
     private BasicCourseService basicCourseService;
-
     @Resource
     private SysOrgService sysOrgService;
-
     @Resource
     private SysUserService sysUserService;
-
-    @Resource
-    private SysRoleService sysRoleService;
-
     @Resource
     private TeachClazzService teachClazzService;
-
     @Resource
     private CourseTargetService courseTargetService;
-
     @Resource
     private CourseEvaluationService courseEvaluationService;
-
     @Resource
     private CourseWeightService courseWeightService;
-
     @Resource
     private CourseDimensionService courseDimensionService;
-
-    @Resource
-    private BasicTeachClazzService basicTeachClazzService;
-
     @Resource
     private TeachStudentService teachStudentService;
-
-    @Resource
-    private SysUserRoleService sysUserRoleService;
-
     @Resource
     private BasicRoleDataPermissionService basicRoleDataPermissionService;
 
@@ -102,49 +74,6 @@ public class TeachCourseServiceImpl extends ServiceImpl<TeachCourseMapper, Teach
         return this.baseMapper.findTeachCoursePage(new Page<>(pageNumber, pageSize), examId, courseName, requestUser.getSchoolId(), dpr);
     }
 
-    @Deprecated
-    @Transactional
-    @Override
-    public Boolean manualCreate(TeachCourseParams teachCourseParams, SysUser requestUser) {
-        throw ExceptionResultEnum.ERROR.exception("废弃的方法");
-        //        String courseCode = teachCourseParams.getCourseCode();
-        //        String courseName = teachCourseParams.getCourseName();
-        //        Long schoolId = requestUser.getSchoolId();
-        //        Long userId = requestUser.getId();
-        //        Long basicCourseId;
-        //
-        //        // 校验
-        //        BasicCourse basicCourse = basicCourseService.getOne(
-        //                new QueryWrapper<BasicCourse>().lambda().eq(BasicCourse::getSchoolId, schoolId).eq(BasicCourse::getCode, courseCode));
-        //        if (Objects.nonNull(basicCourse)) {
-        //            // 根据课程编号查询存在课程判断名称是否一致
-        //            if (!courseName.equals(basicCourse.getName())) {
-        //                throw ExceptionResultEnum.ERROR.exception("课程编号[" + courseCode + "]的课程名称错误");
-        //            } else {
-        //                basicCourseId = basicCourse.getId();
-        //                // 判断重复教学课程
-        //                if (this.count(new QueryWrapper<TeachCourse>().lambda().eq(TeachCourse::getSchoolId, schoolId)
-        //                        .eq(TeachCourse::getUserId, userId).eq(TeachCourse::getBasicCourseId, basicCourseId)) > 0) {
-        //                    throw ExceptionResultEnum.ERROR.exception("课程[" + courseName + "]已经创建");
-        //                }
-        //            }
-        //        } else {
-        //            // 不存在课程,直接新增一个课程!
-        //            BasicCourseParams basicCourseParams = new BasicCourseParams();
-        //            basicCourseParams.setCourseCode(courseCode);
-        //            basicCourseParams.setCourseName(courseName);
-        //            basicCourseParams.setTeachingRoomId(requestUser.getOrgId());
-        //            basicCourseId = basicCourseService.saveBasicCourse(basicCourseParams, requestUser);
-        //        }
-        //        TeachCourse teachCourse = new TeachCourse();
-        //        teachCourse.setSchoolId(schoolId);
-        //        teachCourse.setBasicCourseId(basicCourseId);
-        //        teachCourse.setUserId(userId);
-        //        teachCourse.setEnable(true);
-        //        teachCourse.insertInfo(userId);
-        //        return this.save(teachCourse);
-    }
-
     @Transactional
     @Override
     public void selectCreate(TeachCourseSelectParam teachCourseSelectParam) {
@@ -173,7 +102,7 @@ public class TeachCourseServiceImpl extends ServiceImpl<TeachCourseMapper, Teach
             teachCourseList.add(teachCourse);
         }
 
-        if(CollectionUtils.isNotEmpty(teachCourseList)){
+        if (CollectionUtils.isNotEmpty(teachCourseList)) {
             this.saveBatch(teachCourseList);
 
             for (TeachCourse teachCourse : teachCourseList) {
@@ -183,38 +112,6 @@ public class TeachCourseServiceImpl extends ServiceImpl<TeachCourseMapper, Teach
         }
     }
 
-    @Deprecated
-    @Transactional
-    @Override
-    public void importTeachCourse(MultipartFile file, SysUser requestUser) {
-        throw ExceptionResultEnum.ERROR.exception("废弃的方法");
-        //        List<LinkedMultiValueMap<Integer, Object>> finalList = ExcelUtil.excelReader(file.getInputStream(), Lists.newArrayList(TeachCourseDto.class),
-        //                (finalExcelList, finalColumnNameList, finalExcelErrorList) -> {
-        //                    if (finalExcelErrorList.size() > 0) {
-        //                        throw ExceptionResultEnum.ERROR.exception(JSONObject.toJSONString(finalExcelErrorList));
-        //                    }
-        //                    return finalExcelList;
-        //                }, 2);
-        //
-        //        if (Objects.nonNull(finalList) && finalList.size() > 0) {
-        //            for (int i = 0; i < finalList.size(); i++) {
-        //                LinkedMultiValueMap<Integer, Object> map = finalList.get(i);
-        //                List<Object> teachCourseImportDtoList = map.get(i);
-        //                for (int y = 0; y < Objects.requireNonNull(teachCourseImportDtoList).size(); y++) {
-        //                    if (teachCourseImportDtoList.get(y) instanceof TeachCourseDto) {
-        //                        TeachCourseDto teachCourseDto = (TeachCourseDto) teachCourseImportDtoList.get(y);
-        //                        String courseCode = teachCourseDto.getCourseCode();
-        //                        String courseName = teachCourseDto.getCourseName();
-        //                        TeachCourseParams teachCourseParams = new TeachCourseParams();
-        //                        teachCourseParams.setCourseCode(courseCode);
-        //                        teachCourseParams.setCourseName(courseName);
-        //                        this.manualCreate(teachCourseParams, requestUser);
-        //                    }
-        //                }
-        //            }
-        //        }
-    }
-
     @Override
     public List<DictionaryResult> findBasicCourseByUser(SysUser requestUser) {
         Long userId = requestUser.getId();
@@ -288,211 +185,6 @@ public class TeachCourseServiceImpl extends ServiceImpl<TeachCourseMapper, Teach
         }
     }
 
-    @Transactional
-    @Override
-    public void manualCreateTeacher(TeacherTeamParam teacherTeamParam, SysUser requestUser) throws IllegalAccessException {
-        String name = teacherTeamParam.getTeacherName();
-        String code = teacherTeamParam.getTeacherCode();
-        Long teachCourseId = teacherTeamParam.getTeachCourseId();
-        TeachCourse teachCourse = this.getById(teachCourseId);
-        if (Objects.isNull(teachCourse)) {
-            throw ExceptionResultEnum.ERROR.exception("教学课程不存在");
-        }
-        Long examId = teachCourse.getExamId();
-        String courseCode = teachCourse.getCourseCode();
-
-        Long requestUserId = requestUser.getId();
-        Long schoolId = requestUser.getSchoolId();
-        Long teacherId;
-
-        SysUser dbUser = sysUserService.getOne(
-                new QueryWrapper<SysUser>().lambda().eq(SysUser::getSchoolId, schoolId).eq(SysUser::getCode, code));
-        if (Objects.nonNull(dbUser)) {
-            if (!name.equals(dbUser.getRealName())) {
-                // 用户名称不一致
-                throw ExceptionResultEnum.ERROR.exception("用户名/工号[" + code + "]的教师用户名称错误");
-            } else {
-                teacherId = dbUser.getId();
-                // 判断在该教师团队下已经存在该教师
-                if (this.count(new QueryWrapper<TeachCourse>().lambda().eq(TeachCourse::getExamId, examId)
-                        .eq(TeachCourse::getCourseCode, courseCode).eq(TeachCourse::getUserId, teacherId)) > 0) {
-                    throw ExceptionResultEnum.ERROR.exception("教师[" + name + "]已经在教师团队中");
-                }
-            }
-        } else {
-            // 不存在用户,直接创建一个学校老师用户
-            SysRole schoolTeacher = sysRoleService.getOne(
-                    new QueryWrapper<SysRole>().lambda().eq(SysRole::getType, RoleTypeEnum.SCHOOL_TEACHER));
-            if (Objects.isNull(schoolTeacher)) {
-                throw ExceptionResultEnum.ERROR.exception("缺少学校教师角色");
-            }
-            // 创建用户
-            UserSaveParams userSaveParams = new UserSaveParams();
-            userSaveParams.setSchoolId(schoolId);
-            userSaveParams.setLoginName(code);
-            userSaveParams.setRealName(name);
-            userSaveParams.setCode(code);
-            userSaveParams.setPassword(SystemConstant.DEFAULT_PASSWORD);
-            userSaveParams.setOrgId(requestUser.getOrgId());
-            userSaveParams.setEnable(true);
-            userSaveParams.setRoleIds(new Long[]{schoolTeacher.getId()});
-            teacherId = sysUserService.saveUser(userSaveParams);
-        }
-        // 添加教师团队
-        TeachCourse tmp = new TeachCourse();
-        tmp.setSchoolId(schoolId);
-        tmp.setExamId(examId);
-        tmp.setCourseCode(courseCode);
-        tmp.setWeightSetting(false);
-        tmp.setUserId(teacherId);
-        tmp.setEnable(true);
-        tmp.insertInfo(requestUserId);
-        this.save(tmp);
-
-        // 创建默认的评价方式
-        courseEvaluationService.createDefaultCourseEvaluation(tmp.getId());
-    }
-
-    @Transactional
-    @Override
-    public void selectCreateTeacher(Long teachCourseId, List<Long> userIdList, SysUser requestUser) {
-        Long schoolId = requestUser.getSchoolId();
-        Long requestUserId = requestUser.getId();
-
-        TeachCourse teachCourse = this.getById(teachCourseId);
-        if (Objects.isNull(teachCourse)) {
-            throw ExceptionResultEnum.ERROR.exception("教学班不存在");
-        }
-        Long examId = teachCourse.getExamId();
-        String courseCode = teachCourse.getCourseCode();
-
-        if (CollectionUtils.isNotEmpty(userIdList)) {
-            // 过滤userIdList
-            userIdList = sysUserService.listByIds(userIdList).stream().filter(SysUser::getEnable).map(BaseEntity::getId)
-                    .distinct().collect(Collectors.toList());
-
-            if (CollectionUtils.isNotEmpty(userIdList)) {
-                List<Long> alreadyCreated = this.list(
-                                new QueryWrapper<TeachCourse>().lambda().in(TeachCourse::getUserId, userIdList)
-                                        .eq(TeachCourse::getCourseCode, courseCode)).stream().map(TeachCourse::getUserId)
-                        .distinct().collect(Collectors.toList());
-
-                // 去掉已经在该课程教师团队的老师
-                userIdList.removeAll(alreadyCreated);
-
-                // 创建教学课程
-                List<TeachCourse> teachCourseList = userIdList.stream().flatMap(e -> {
-                    TeachCourse tmp = new TeachCourse();
-                    tmp.setSchoolId(schoolId);
-                    tmp.setExamId(examId);
-                    tmp.setCourseCode(courseCode);
-                    tmp.setWeightSetting(false);
-                    tmp.setUserId(e);
-                    tmp.setEnable(true);
-                    tmp.insertInfo(requestUserId);
-                    return Stream.of(tmp);
-                }).collect(Collectors.toList());
-
-                // 新增课程
-                this.saveBatch(teachCourseList);
-
-                for (TeachCourse tmp : teachCourseList) {
-                    // 创建默认评价方式
-                    courseEvaluationService.createDefaultCourseEvaluation(tmp.getId());
-                }
-            }
-        }
-    }
-
-    @Deprecated
-    @Transactional
-    @Override
-    public void importTeacherTeam(MultipartFile file, Long basicCourseId, SysUser requestUser) throws IOException, NoSuchFieldException, IllegalAccessException {
-        throw ExceptionResultEnum.ERROR.exception("废弃的方法");
-        //        List<LinkedMultiValueMap<Integer, Object>> finalList = ExcelUtil.excelReader(file.getInputStream(), Lists.newArrayList(TeacherTeamDto.class),
-        //                (finalExcelList, finalColumnNameList, finalExcelErrorList) -> {
-        //                    if (finalExcelErrorList.size() > 0) {
-        //                        throw ExceptionResultEnum.ERROR.exception(JSONObject.toJSONString(finalExcelErrorList));
-        //                    }
-        //                    return finalExcelList;
-        //                }, 2);
-        //
-        //        if (Objects.nonNull(finalList) && finalList.size() > 0) {
-        //            for (int i = 0; i < finalList.size(); i++) {
-        //                LinkedMultiValueMap<Integer, Object> map = finalList.get(i);
-        //                List<Object> teacherTeamImportList = map.get(i);
-        //                for (int y = 0; y < Objects.requireNonNull(teacherTeamImportList).size(); y++) {
-        //                    if (teacherTeamImportList.get(y) instanceof TeacherTeamDto) {
-        //                        TeacherTeamDto teacherTeamDto = (TeacherTeamDto) teacherTeamImportList.get(y);
-        //                        TeacherTeamParam teacherTeamParam = new TeacherTeamParam();
-        //                        teacherTeamParam.setTeacherCode(teacherTeamDto.getCode());
-        //                        teacherTeamParam.setTeacherName(teacherTeamDto.getName());
-        //                        teacherTeamParam.setBasicCourseId(basicCourseId);
-        //                        this.manualCreateTeacher(teacherTeamParam, requestUser);
-        //                    }
-        //                }
-        //            }
-        //        }
-    }
-
-    @Override
-    public IPage<TeacherTeamResult> findTeacherTeamPage(Long teachCourseId, String userInfo, int pageNumber,
-                                                        int pageSize) {
-        TeachCourse teachCourse = this.getById(teachCourseId);
-        if (Objects.isNull(teachCourse)) {
-            throw ExceptionResultEnum.ERROR.exception("教学课程不存在");
-        }
-        // 教学课程主管责任人
-        Long leaderId = teachCourse.getCreateId();
-        String courseCode = teachCourse.getCourseCode();
-
-        if (SystemConstant.strNotNull(userInfo)) {
-            userInfo = SystemConstant.translateSpecificSign(userInfo);
-        }
-        IPage<TeacherTeamResult> page = this.baseMapper.findTeacherTeamPage(new Page<>(pageNumber, pageSize), courseCode, leaderId, userInfo);
-        page.getRecords().forEach(e -> {
-            Long userId = e.getUserId();
-            List<Long> userIdList = new ArrayList<>();
-            userIdList.add(userId);
-            List<UserRoleNameResult> roleNameList = sysUserService.selectRoleNames(userIdList);
-            if (roleNameList.size() == 1) {
-                e.setRoleName(roleNameList.get(0).getRoleNames());
-            }
-        });
-        return page;
-    }
-
-    @Override
-    public List<TeacherSelectResult> findUserByOrgId(Long orgId) {
-        List<Long> temp = new ArrayList<>();
-        temp.add(orgId);
-        Set<Long> orgIdSet = sysOrgService.findDeepOrgIdListByOrgIdList(temp);
-        return this.baseMapper.findTeacherByOrgIds(new ArrayList<>(orgIdSet));
-    }
-
-    /**
-     * 插入老师和课程关联表
-     *
-     * @param basicCourseId
-     * @param teachIdSet
-     */
-    @Override
-    @Transactional
-    public void updateByCourseIdAndTeacherList(Long basicCourseId, Set<Long> teachIdSet) {
-        //        SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
-        //        List<TeachCourse> teachCourseList = null;
-        //        // 删除原有的全部
-        //        this.remove(new QueryWrapper<TeachCourse>().lambda().eq(TeachCourse::getBasicCourseId, basicCourseId).gt(TeachCourse::getId, 0));
-        //        // 新增
-        //        if (!CollectionUtils.isEmpty(teachIdSet)) {
-        //            teachCourseList = new ArrayList<>();
-        //            for (Long teachId : teachIdSet) {
-        //                teachCourseList.add(new TeachCourse(sysUser, basicCourseId, teachId));
-        //            }
-        //            this.saveBatch(teachCourseList);
-        //        }
-    }
-
     @Override
     public TeachCourse findByExamIdCourseCodeAndUserId(Long examId, String courseCode, Long userId) {
         TeachCourse teachCourse = this.getOne(
@@ -548,123 +240,6 @@ public class TeachCourseServiceImpl extends ServiceImpl<TeachCourseMapper, Teach
         return result;
     }
 
-    @Override
-    public List<ClazzDistributedResult> findClazzDistributedStatus(Long teachCourseId, String clazzName) {
-        SysUser requestUser = (SysUser) ServletUtil.getRequestUser();
-        Long requestUserId = requestUser.getId();
-        clazzName = SystemConstant.translateSpecificSign(clazzName);
-
-        TeachCourse teachCourse = this.getById(teachCourseId);
-        if (Objects.isNull(teachCourse)) {
-            throw ExceptionResultEnum.ERROR.exception("教学课程不存在");
-        }
-
-        if (!requestUserId.equals(teachCourse.getCreateId())) {
-            throw ExceptionResultEnum.ERROR.exception("非课程创建人没有分配班级的权限");
-        }
-        Long leaderTeachCourseId = teachCourse.getId();
-        if (!teachCourse.getUserId().equals(teachCourse.getCreateId())) {
-            // 管理员权限的科组长进入旗下教师团队的教学课程进行分配了 - 特殊处理
-            leaderTeachCourseId = this.findByExamIdCourseCodeAndUserId(teachCourse.getExamId(), teachCourse.getCourseCode(), teachCourse.getCreateId()).getId();
-        }
-
-        // 所有教学班
-        QueryWrapper<TeachClazz> queryWrapper = new QueryWrapper<>();
-        queryWrapper.lambda().eq(TeachClazz::getTeachCourseId, leaderTeachCourseId);
-        if (SystemConstant.strNotNull(clazzName)) {
-            queryWrapper.lambda().like(TeachClazz::getClazzName, clazzName);
-        }
-        List<TeachClazz> teachClazzList = teachClazzService.list(queryWrapper);
-
-        // 该课程下所有教学班分配关系
-        List<TeachClazz> distributedClazzDatasource = teachClazzService.list(
-                new QueryWrapper<TeachClazz>().lambda().eq(TeachClazz::getBelongTeachCourseId, leaderTeachCourseId));
-
-        List<ClazzDistributedResult> resultList = new ArrayList<>();
-        for (TeachClazz teachClazz : teachClazzList) {
-            Long basicTeachClazzId = teachClazz.getBasicTeachClazzId();
-            List<DictionaryResult> teacherList = new ArrayList<>();
-            List<TeachClazz> list = distributedClazzDatasource.stream().filter(e -> basicTeachClazzId.equals(e.getBasicTeachClazzId())).collect(Collectors.toList());
-            if (CollectionUtils.isNotEmpty(list)) {
-                teacherList = sysUserService.listByIds(
-                        list.stream().map(TeachClazz::getUserId).collect(Collectors.toList())).stream().flatMap(e -> {
-                    DictionaryResult dictionaryResult = new DictionaryResult();
-                    dictionaryResult.setId(e.getId());
-                    dictionaryResult.setName(e.getRealName());
-                    dictionaryResult.setCode(e.getCode());
-                    return Stream.of(dictionaryResult);
-                }).collect(Collectors.toList());
-            }
-            ClazzDistributedResult clazzDistributedResult = new ClazzDistributedResult();
-            clazzDistributedResult.setClazzId(teachClazz.getBasicTeachClazzId());
-            clazzDistributedResult.setClazzName(teachClazz.getClazzName());
-            clazzDistributedResult.setTeacherList(teacherList);
-            resultList.add(clazzDistributedResult);
-        }
-        return resultList;
-    }
-
-    @Transactional
-    @Override
-    public void assignClazz(AssignClazzParam assignClazzParam, SysUser requestUser) {
-        Long requestUserId = requestUser.getId();
-        Long teachCourseId = assignClazzParam.getTeachCourseId();
-        Long teacherId = assignClazzParam.getTeacherId();
-        List<Long> basicTeachClazzIdList = assignClazzParam.getClazzIdList();
-
-        TeachCourse teachCourse = this.getById(teachCourseId);
-        if (Objects.isNull(teachCourse)) {
-            throw ExceptionResultEnum.ERROR.exception("教学班不存在");
-        }
-        Long examId = teachCourse.getExamId();
-        String courseCode = teachCourse.getCourseCode();
-        if (!teachCourse.getCreateId().equals(requestUserId)) {
-            throw ExceptionResultEnum.ERROR.exception("该用户没有分配教师班级的权限");
-        }
-        if (!teachCourse.getUserId().equals(teachCourse.getCreateId())) {
-            // 管理员权限的科组长进入旗下教师团队的教学课程进行分配了 - 特殊处理
-            teachCourse = this.findByExamIdCourseCodeAndUserId(examId, courseCode, teachCourse.getCreateId());
-            teachCourseId = teachCourse.getId();
-        }
-
-        if (teacherId.equals(requestUserId)) {
-            // 课程负责人分配自己的班级
-            // 清除之前关联的班级
-            UpdateWrapper<TeachClazz> clearUpdateWrapper = new UpdateWrapper<>();
-            clearUpdateWrapper.lambda().set(TeachClazz::getBelongTeachCourseId, teachCourseId)
-                    .set(TeachClazz::getBelongTeachCourseId, null).eq(TeachClazz::getTeachCourseId, teachCourseId);
-            teachClazzService.update(clearUpdateWrapper);
-            // 更新新关联班级
-            UpdateWrapper<TeachClazz> updateWrapper = new UpdateWrapper<>();
-            updateWrapper.lambda().set(TeachClazz::getBelongTeachCourseId, teachCourseId)
-                    .set(TeachClazz::getUpdateId, requestUserId)
-                    .set(TeachClazz::getUpdateTime, System.currentTimeMillis())
-                    .set(TeachClazz::getUserId, requestUserId).eq(TeachClazz::getTeachCourseId, teachCourseId)
-                    .in(TeachClazz::getBasicTeachClazzId, basicTeachClazzIdList);
-            teachClazzService.update(updateWrapper);
-        } else {
-            // 课程负责人分配其他老师的班级
-            TeachCourse teacherTeachCourse = this.findByExamIdCourseCodeAndUserId(examId, courseCode, teacherId);
-            Long teacherTeachCourseId = teacherTeachCourse.getId();
-            // 删除之前分配的班级数据
-            teachClazzService.remove(
-                    new QueryWrapper<TeachClazz>().lambda().eq(TeachClazz::getTeachCourseId, teacherTeachCourseId)
-                            .eq(TeachClazz::getBelongTeachCourseId, teachCourseId));
-            // 新增新班级分配数据
-            for (Long clazzId : basicTeachClazzIdList) {
-                TeachClazz teachClazz = new TeachClazz();
-                teachClazz.setSchoolId(teachCourse.getSchoolId());
-                teachClazz.setTeachCourseId(teacherTeachCourseId);
-                teachClazz.setBasicTeachClazzId(clazzId);
-                teachClazz.setUserId(teacherId);
-                teachClazz.setClazzName(basicTeachClazzService.getById(clazzId).getClazzName());
-                teachClazz.setBelongTeachCourseId(teachCourseId);
-                teachClazz.insertInfo(requestUser.getId());
-                teachClazzService.save(teachClazz);
-            }
-        }
-    }
-
     @Override
     public List<DictionaryResult> findTeacherCourseInfo(Long userId) {
         SysUser sysUser = sysUserService.getById(userId);

+ 1 - 0
distributed-print-business/src/main/java/com/qmth/distributed/print/business/templete/execute/AsyncCreatePdfTemplateService.java

@@ -61,6 +61,7 @@ public class AsyncCreatePdfTemplateService extends AsyncCreateTaskTemplete {
         } finally {
             tbTaskPdf.setStatus(TaskStatusEnum.FINISH);
             tbTaskPdf.setSummary(stringJoinerSummary.toString());
+            tbTaskPdf.setUpdateTime(System.currentTimeMillis());
             tbTaskPdfService.updateById(tbTaskPdf);
         }
         return ResultUtil.ok(tbTaskPdf);

+ 0 - 34
distributed-print-business/src/main/java/com/qmth/distributed/print/business/templete/service/TaskLogicService.java

@@ -15,22 +15,6 @@ import java.util.Map;
  */
 public interface TaskLogicService {
 
-    /**
-     * 创建pdf前置条件
-     *
-     * @param map
-     * @return
-     */
-    Map<String, Object> createPdfPrepose(Map<String, Object> map);
-
-    /**
-     * 创建pdf逻辑
-     *
-     * @param map
-     * @return
-     */
-    Map<String, Object> executeCreatePdfLogic(Map<String, Object> map);
-
     /**
      * 处理考务数据逻辑
      *
@@ -84,15 +68,6 @@ public interface TaskLogicService {
      */
     Map<String, Object> executeImportSysUserLogic(Map<String, Object> map) throws Exception;
 
-    /**
-     * 处理导入基础班级数据
-     *
-     * @param map 数据源
-     * @return 结果
-     * @throws Exception 异常
-     */
-    Map<String, Object> executeImportBasicClazzLogic(Map<String, Object> map) throws Exception;
-
     /**
      * 处理命题统计导入数据
      *
@@ -129,15 +104,6 @@ public interface TaskLogicService {
      */
     Map<String, Object> executeImportBasicExamStudentLogic(Map<String, Object> map) throws Exception;
 
-    /**
-     * 处理阅卷数据导入
-     *
-     * @param map 数据源
-     * @return 结果
-     * @throws Exception 异常
-     */
-    Map<String, Object> executeImportMarkStudentLogic(Map<String, Object> map) throws Exception;
-
     /**
      * 保存阅卷数据
      *

+ 2 - 2
distributed-print-business/src/main/java/com/qmth/distributed/print/business/templete/service/impl/PdfTaskLogicServiceImpl.java

@@ -236,11 +236,11 @@ public class PdfTaskLogicServiceImpl implements PdfTaskLogicService {
             String[] paperTypes = examDetailCourse.getPaperType().split(",");
 
             //查询命题任务绑定的试卷和题卡
-            ExamTask examTask = examTaskService.getByExamIdAndCourseCodeAndPaperNumber(tbTaskPdf.getExamId(), examDetailCourse.getCourseCode(), examDetailCourse.getPaperNumber());
+            ExamTask examTask = examTaskService.getByExamIdAndCourseIdAndPaperNumber(tbTaskPdf.getExamId(), examDetailCourse.getCourseId(), examDetailCourse.getPaperNumber());
             if (examTask == null) {
                 throw ExceptionResultEnum.EXAM_TASK_IS_NULL.exception();
             } else if (examTask.getReview()) {
-                examTask = examTaskService.findExamTaskByFlowStatus(tbTaskPdf.getSchoolId(), tbTaskPdf.getExamId(), examDetailCourse.getCourseCode(), examDetailCourse.getPaperNumber(), FlowStatusEnum.FINISH);
+                examTask = examTaskService.findExamTaskByFlowStatus(tbTaskPdf.getSchoolId(), tbTaskPdf.getExamId(), examDetailCourse.getCourseId(), examDetailCourse.getPaperNumber(), FlowStatusEnum.FINISH);
             } else {
                 if (!ExamStatusEnum.SUBMIT.equals(examTask.getStatus())) {
                     throw ExceptionResultEnum.EXAM_TASK_NOT_SUBMIT.exception();

+ 2 - 680
distributed-print-business/src/main/java/com/qmth/distributed/print/business/templete/service/impl/TaskLogicServiceImpl.java

@@ -168,432 +168,6 @@ public class TaskLogicServiceImpl implements TaskLogicService {
     @Resource
     SysRoleService sysRoleService;
 
-    /**
-     * 创建pdf前置条件
-     *
-     * @param map
-     * @return
-     */
-    @Override
-    @Transactional
-    public Map<String, Object> createPdfPrepose(Map<String, Object> map) {
-        TBTask tbTask = (TBTask) map.get(SystemConstant.TASK);
-        SysUser sysUser = (SysUser) map.get(SystemConstant.USER);
-        Long examDetailId = tbTask.getEntityId();
-        //查询printPlan
-        ExamPrintPlan examPrintPlan = examPrintPlanService.getById(tbTask.getPrintPlanId());
-        if (Objects.isNull(examPrintPlan)) {
-            throw ExceptionResultEnum.EXAM_PRINT_IS_NULL.exception();
-        }
-        UpdateWrapper<ExamDetail> examDetailQueryWrapper = new UpdateWrapper<>();
-        if (Objects.isNull(examDetailId)) {
-            throw ExceptionResultEnum.ERROR.exception("生成pdf考场ID异常");
-        }
-        examDetailQueryWrapper.lambda().set(ExamDetail::getStatus, ExamDetailStatusEnum.CREATING)
-                .set(ExamDetail::getTaskId, tbTask.getId())
-                .eq(ExamDetail::getId, examDetailId);
-        examDetailService.update(examDetailQueryWrapper);
-
-        //所有考场都撤回,印刷任务状态改为就绪
-        examPrintPlanService.updateStatusById(tbTask.getPrintPlanId(), PrintPlanStatusEnum.READY);
-        return map;
-    }
-
-    /**
-     * 创建pdf核心逻辑
-     *
-     * @param examDetailCourseList
-     * @param examPrintPlan        印刷计划
-     * @param examDetail           考场对象
-     * @param sysUser              当前用户
-     * @param specifyPaperType     试卷类型
-     * @param basicAttachmentList  附件集合
-     * @param attachmentIds
-     * @param fileTempList
-     * @param list
-     */
-    @Transactional
-    public List<BasicAttachment> createPdfCoreLogic(List<ExamDetailCourse> examDetailCourseList,
-                                                    ExamPrintPlan examPrintPlan,
-                                                    ExamDetail examDetail,
-                                                    SysUser sysUser,
-                                                    String specifyPaperType,
-                                                    CreatePdfTypeEnum createPdfType,
-                                                    List<BasicAttachment> basicAttachmentList,
-                                                    Set<Long> attachmentIds,
-                                                    List<File> fileTempList,
-                                                    List<PdfDto>... list
-    ) throws Exception {
-        if (CreatePdfTypeEnum.SIGN.equals(createPdfType) || CreatePdfTypeEnum.PACKAGE.equals(createPdfType) || CreatePdfTypeEnum.CHECK_IN.equals(createPdfType)) {
-            return null;
-        }
-
-        for (ExamDetailCourse examDetailCourse : examDetailCourseList) {
-            List<PdfDto> studentPaperPdfList = new ArrayList<>();//所有试卷
-            List<PdfDto> studentCardPdfList = new ArrayList<>();//所有题卡
-            List<PdfDto> backupPaperPdfList = new ArrayList<>();//备份试卷
-            List<PdfDto> backupCardPdfList = new ArrayList<>();//备份题卡
-
-
-            String printContent = examPrintPlan.getPrintContent();
-            if (StringUtils.isBlank(printContent)) {
-                return null;
-            }
-            //查询命题任务绑定的试卷和题卡
-            ExamTask examTask = examTaskService.getByExamIdAndCourseCodeAndPaperNumber(examDetail.getExamId(), examDetailCourse.getCourseCode(), examDetailCourse.getPaperNumber());
-            if (examTask == null) {
-                throw ExceptionResultEnum.EXAM_TASK_IS_NULL.exception();
-            } else if (examTask.getReview()) {
-                examTask = examTaskService.findExamTaskByFlowStatus(sysUser.getSchoolId(), examDetail.getExamId(), examDetailCourse.getCourseCode(), examDetailCourse.getPaperNumber(), FlowStatusEnum.FINISH);
-            } else {
-                if (!ExamStatusEnum.SUBMIT.equals(examTask.getStatus())) {
-                    throw ExceptionResultEnum.EXAM_TASK_NOT_SUBMIT.exception();
-                } else if (!examTask.getEnable()) {
-                    throw ExceptionResultEnum.EXAM_TASK_ENABLE.exception();
-                }
-            }
-            ExamTaskDetail examTaskDetail = examTaskDetailService.getByExamTaskId(examTask.getId());
-
-            JSONObject jsonObject = new JSONObject();
-            JSONArray jsonArray = new JSONArray();
-            JSONArray stuJsonArray = new JSONArray();
-            Map<String, ExamCard> examCardMap = new HashMap<>();
-            List<PaperInfoVo> paperInfoVoList = ExamTaskUtil.parsePaperAttachmentPath(examTaskDetail.getPaperAttachmentIds());
-            ExamCard examCard;
-            for (PaperInfoVo paperInfoVo : paperInfoVoList) {
-                Long cardId = Long.valueOf(paperInfoVo.getCardId());
-                if (Objects.nonNull(cardId)) {
-                    examCard = examCardService.getById(cardId);
-                    if (Objects.isNull(examCard)) {
-                        throw ExceptionResultEnum.EXAM_CARD_IS_NULL.exception();
-                    }
-                    examCardMap.put(paperInfoVo.getName(), examCard);
-                }
-            }
-
-            //查询题卡规则
-            BasicCardRule basicCardRule = basicCardRuleService.getById(examTask.getCardRuleId());
-
-            //试卷编号本考场使用卷型key
-            String key = getPaperTypeKey(examDetail.getExamId(), examDetailCourse.getPaperNumber(), examDetail.getExamStartTime(), examDetail.getExamEndTime());
-            //抽取卷型
-            String paperType = createPdfUtil.getPaperType(examPrintPlan.getDrawRule(), examTaskDetail, key, specifyPaperType);
-            //查询考生
-            List<ExamStudent> examStudentList = examStudentService.listByExamDetailCourseId(examDetailCourse.getId());
-
-            List<String> paperTypes = Arrays.stream(paperType.split(",")).sorted(Comparator.comparing(String::valueOf)).collect(Collectors.toList());
-            // 计算备份数量,默认最小为1份。
-            int backupCount = SystemConstant.calcBackupCount(examDetail.getBackupCount(), examDetail.getTotalSubjects(), 1);
-
-            // 当前关联试卷类型
-            List<String> relatePaperTypes = new ArrayList<>();
-            // 考生实际关联试卷类型
-            if (!CollectionUtils.isEmpty(examStudentList)) {
-                AtomicInteger atomicInteger = new AtomicInteger(0);
-                for (ExamStudent t : examStudentList) {
-                    int i1 = atomicInteger.getAndIncrement();
-                    int mod = i1 % examTaskDetail.getDrawCount();
-                    t.setPaperType(paperTypes.get(mod));
-                    if (!relatePaperTypes.contains(t.getPaperType())) {
-                        relatePaperTypes.add(t.getPaperType());
-                    }
-                }
-            } else {
-                relatePaperTypes.addAll(paperTypes);
-            }
-
-            examTaskDetail.setRelatePaperType(String.join(",", relatePaperTypes));
-            examDetailCourse.setPaperType(String.join(",", relatePaperTypes));
-
-            // 试卷数据组装
-            if ((CreatePdfTypeEnum.ALL.equals(createPdfType) || CreatePdfTypeEnum.PAPER.equals(createPdfType)) && printContent.contains("PAPER")) {
-                List<PaperPdfDto> paperPdfDto = createPdfUtil.getPaperPdfFile(examDetailCourse.getPaperType(), examTaskDetail, fileTempList);
-
-                //获取试卷pdf
-                PdfDto pdfDto = createPdfUtil.getPaperPdf(paperPdfDto, backupCount, backupPaperPdfList);
-                if (Objects.nonNull(pdfDto)) {
-                    examDetailCourse.setPaperPagesA3(pdfDto.getPageCount());
-                } else {
-                    examDetailCourse.setPaperPagesA3(examDetailCourse.getPaperPagesA3());
-                }
-                // 备用试卷
-                list[0].addAll(backupPaperPdfList);
-
-                if (examStudentList != null && examStudentList.size() > 0) {
-                    for (ExamStudent t : examStudentList) {
-                        if (Objects.nonNull(pdfDto)) {
-                            String[] waterMarkNames = {t.getStudentName(), t.getTicketNumber()};
-                            createPdfUtil.getExamStudentPaperPdf(t.getPaperType(), paperPdfDto, studentPaperPdfList, waterMarkNames);
-                        }
-                    }
-                } else if (examDetail.getTotalSubjects() != null) {
-                    AtomicInteger atomicInteger = new AtomicInteger(0);
-                    int i = 0;
-                    while (i < examDetail.getTotalSubjects()) {
-                        int seq = atomicInteger.getAndIncrement();
-                        int mod = seq % examTaskDetail.getDrawCount();
-                        if (Objects.nonNull(pdfDto)) {
-                            createPdfUtil.getExamStudentPaperPdf(paperTypes.get(mod), paperPdfDto, studentPaperPdfList, null);
-                        }
-                        i++;
-                    }
-                } else {
-                    throw ExceptionResultEnum.ERROR.exception("数据错误:未找到考生或者印刷数量");
-                }
-                // 考生试卷
-                list[2].addAll(studentPaperPdfList);
-            }
-
-            // 题卡数据组装
-            basicAttachmentList = Objects.isNull(basicAttachmentList) ? new ArrayList<>() : basicAttachmentList;
-            if ((CreatePdfTypeEnum.ALL.equals(createPdfType) || CreatePdfTypeEnum.CARD_A3.equals(createPdfType)) && printContent.contains("CARD")) {
-                Map<String, ExamCard> examCardDetailMap = new HashMap<>();
-                Map<String, String> cardContentMap = new HashMap<>();
-                for (String s : examDetailCourse.getPaperType().split(",")) {
-                    examCard = examCardMap.get(s);
-                    Optional.ofNullable(examCard).orElseThrow(() -> ExceptionResultEnum.ERROR.exception("卷型" + s + "题卡不存在"));
-
-                    createPdfUtil.getCardAttachmentId(examCard, attachmentIds);
-
-                    //把模板页面上的 ${} 替换成实际内容
-                    String cardContent = createPdfUtil.resetHtmlTemplateBar(examCard.getHtmlContent());
-
-                    for (int i = 1; i <= backupCount; i++) {
-                        BasicAttachment basicAttachment = createPdfUtil.cardHtml(String.format(SystemConstant.DATE_TIME_FORMAT, i), cardContent, examDetail, examDetailCourse, s, jsonArray, sysUser.getId(), backupCardPdfList, basicCardRule, fileTempList);
-                        examDetailCourse.setCardPagesA3(basicAttachment.getPages());
-                        basicAttachmentList.add(basicAttachment);
-                    }
-                    examCardDetailMap.put(s, examCard);
-                    cardContentMap.put(s, cardContent);
-                }
-                // 备用题卡
-                list[1].addAll(backupCardPdfList);
-
-                if (examStudentList != null && examStudentList.size() > 0) {
-                    for (ExamStudent t : examStudentList) {
-                        // 用带条码的模板
-                        basicAttachmentList.add(createPdfUtil.examStudentHtml(examCardDetailMap.get(t.getPaperType()).getHtmlContent(), t, paperType, examDetail, examDetailCourse, sysUser.getId(), studentCardPdfList, basicCardRule, fileTempList));
-                    }
-                } else if (examDetail.getTotalSubjects() != null) {
-                    AtomicInteger atomicInteger = new AtomicInteger(0);
-                    Map<String, BasicAttachment> stringBasicAttachmentMap = new HashMap<>();
-                    int i = 0;
-                    while (i < examDetail.getTotalSubjects()) {
-                        int seq = atomicInteger.getAndIncrement();
-                        int mod = seq % examTaskDetail.getDrawCount();
-                        String tempPaperType = paperTypes.get(mod);
-                        BasicAttachment basicAttachment = createPdfUtil.examStudentHtml(cardContentMap.get(tempPaperType), null, tempPaperType, examDetail, examDetailCourse, sysUser.getId(), studentCardPdfList, basicCardRule, fileTempList);
-
-                        if (!stringBasicAttachmentMap.containsKey(tempPaperType)) {
-                            stringBasicAttachmentMap.put(tempPaperType, basicAttachment);
-                            JSONObject object = new JSONObject();
-                            object.put("name", tempPaperType);
-                            object.put("attachmentId", basicAttachment.getId());
-                            stuJsonArray.add(object);
-
-                            // 用不带条码的模板
-                            basicAttachmentList.add(basicAttachment);
-                        }
-                        i++;
-                    }
-                } else {
-                    throw ExceptionResultEnum.ERROR.exception("数据错误:未找到考生或者印刷数量");
-                }
-                // 题卡
-                list[3].addAll(studentCardPdfList);
-                jsonObject.put("card", jsonArray);
-                examDetailCourse.setAttachmentId(jsonObject.toJSONString());
-                examDetailCourse.setCommonAttachmentId(stuJsonArray.toJSONString());
-            }
-            examStudentService.saveOrUpdateBatch(examStudentList);
-
-            examDetailCourse.setAttachmentId(jsonObject.toJSONString());
-            examTaskDetailService.saveOrUpdate(examTaskDetail);
-
-        }
-        examDetailCourseService.saveOrUpdateBatch(examDetailCourseList);
-
-        return basicAttachmentList;
-    }
-
-    private static String getPaperTypeKey(Long examId, String paperNumber, Long examStartTime, Long examEndTime) {
-        //试卷编号本考场使用卷型key
-        StringJoiner stringJoiner = new StringJoiner("_");
-        stringJoiner.add(String.valueOf(examId)).add(paperNumber).add(String.valueOf(examStartTime)).add(String.valueOf(examEndTime));
-        return stringJoiner.toString();
-    }
-
-    /**
-     * 创建A4文件
-     *
-     * @param createPdfType
-     * @param examPrintPlan
-     * @param examDetail
-     * @param basicSchool
-     * @param examDetailCourseList
-     * @param fileTempList
-     * @param list
-     * @throws IOException
-     * @throws DocumentException
-     */
-    @Transactional
-    public void createA4File(CreatePdfTypeEnum createPdfType, ExamPrintPlan examPrintPlan, ExamDetail examDetail, BasicSchool basicSchool, List<ExamDetailCourse> examDetailCourseList, List<File> fileTempList, List<PdfDto>... list) throws Exception {
-        // 印品
-        String ordinaryContent = examPrintPlan.getOrdinaryContent();
-        if ((CreatePdfTypeEnum.ALL.equals(createPdfType) || CreatePdfTypeEnum.CHECK_IN.equals(createPdfType)) && StringUtils.isNotBlank(ordinaryContent)) {
-            //获取普通印品
-            JSONArray jsonArrayOrdinary = JSONArray.parseArray(ordinaryContent);
-            for (int i = 0; i < jsonArrayOrdinary.size(); i++) {
-                JSONObject jsonObjectOrdinary = jsonArrayOrdinary.getJSONObject(i);
-                if (Objects.nonNull(jsonObjectOrdinary.get("attachmentId")) && !Objects.equals("", jsonObjectOrdinary.get("attachmentId"))) {
-                    Long attachmentId = Long.parseLong((String) jsonObjectOrdinary.get("attachmentId"));
-                    BasicAttachment basicAttachment = basicAttachmentService.getById(attachmentId);
-                    createPdfUtil.createCheckIn(examDetail, basicAttachment, list[0], (Integer) jsonObjectOrdinary.get("backupCount"), fileTempList);
-                }
-            }
-        }
-        BasicExam basicExam = basicExamService.getById(examPrintPlan.getExamId());
-        if (basicExam.getCategory().equals(ExamCategoryEnum.FORMAL)) {
-            String variableContent = examPrintPlan.getVariableContent();
-            if (StringUtils.isNotBlank(variableContent)) {
-                List<Long> examDetailCourseListIds = examDetailCourseList.stream().map(BaseEntity::getId).collect(Collectors.toList());
-                List<ExamStudentCourseDto> examStudentCourseDtoList = examStudentService.queryBySchoolIdAndExamDetailCourseIds(basicSchool.getId(), examDetailCourseListIds);
-                //获取变量印品
-                JSONArray jsonArrayVariable = JSONArray.parseArray(variableContent);
-                for (int i = 0; i < jsonArrayVariable.size(); i++) {
-                    JSONObject jsonObjectVariable = jsonArrayVariable.getJSONObject(i);
-                    String type = (String) jsonObjectVariable.get("type");
-                    if (Objects.nonNull(jsonObjectVariable.get("templateId")) && !Objects.equals("", jsonObjectVariable.get("templateId"))) {
-                        Long templateId = Long.parseLong((String) jsonObjectVariable.get("templateId"));
-                        if ((CreatePdfTypeEnum.ALL.equals(createPdfType) || CreatePdfTypeEnum.SIGN.equals(createPdfType)) && Objects.nonNull(type) && Objects.equals(type.toUpperCase(), "SIGN")) {//签到表
-                            createPdfUtil.createSignBook(templateId, basicSchool.getName(), examDetail, examStudentCourseDtoList, list[1], (Integer) jsonObjectVariable.get("backupCount"), examDetailCourseList, fileTempList);
-                        } else if ((CreatePdfTypeEnum.ALL.equals(createPdfType) || CreatePdfTypeEnum.PACKAGE.equals(createPdfType)) && Objects.nonNull(type) && Objects.equals(type.toUpperCase(), "PACKAGE")) {//卷袋贴
-                            Integer backupCount = SystemConstant.calcBackupCount(examDetail.getBackupCount(), examDetail.getTotalSubjects(), 1);
-                            createPdfUtil.createPaperPackage(templateId, basicSchool.getName(), examDetail, examStudentCourseDtoList, list[1], backupCount, (Integer) jsonObjectVariable.get("backupCount"), examDetailCourseList, examPrintPlan.getExamId(), fileTempList);
-                        }
-                    }
-                }
-            }
-        }
-
-        list[1].sort((o1, o2) -> o1.getSequence() > o2.getSequence() ? 1 : -1);
-    }
-
-    /**
-     * 创建pdf逻辑
-     *
-     * @param map
-     * @return
-     */
-    @Override
-    public Map<String, Object> executeCreatePdfLogic(Map<String, Object> map) {
-        List<BasicAttachment> basicAttachmentList = null;
-        List<File> fileTempList = new ArrayList<>();
-        TBTask tbTask = (TBTask) map.get(SystemConstant.TASK);
-        SysUser sysUser = (SysUser) map.get(SystemConstant.USER);
-        Long examDetailId = tbTask.getEntityId();
-        try {
-            String specifyPaperType = Objects.nonNull(map.get("paperType")) ? (String) map.get("paperType") : null;
-            CreatePdfTypeEnum createPdfType = Objects.nonNull(map.get(SystemConstant.CREATE_PDF_TYPE)) ? CreatePdfTypeEnum.valueOf((String) map.get(SystemConstant.CREATE_PDF_TYPE)) : CreatePdfTypeEnum.ALL;
-
-            //查询printPlan
-            ExamPrintPlan examPrintPlan = examPrintPlanService.getById(tbTask.getPrintPlanId());
-
-            BasicSchool basicSchool = commonCacheService.schoolCache(examPrintPlan.getSchoolId());
-            BasicPrintConfig basicPrintConfig = basicPrintConfigService.getByExamId(examPrintPlan.getExamId());
-
-            //查询examDetail
-            Set<Long> attachmentIds = new HashSet<>();
-            ExamDetail examDetail = examDetailService.getById(examDetailId);
-            if (examDetail == null) {
-                throw ExceptionResultEnum.EXAM_DETAIL_IS_NULL.exception();
-            }
-
-            tbTask.setObjName(examDetail.getExamRoom() + SystemConstant.HYPHEN + examDetail.getExamPlace());
-            //查询examDetailCourse
-            QueryWrapper<ExamDetailCourse> examDetailCourseQueryWrapper = new QueryWrapper<>();
-            examDetailCourseQueryWrapper.lambda().eq(ExamDetailCourse::getExamDetailId, examDetail.getId());
-            List<ExamDetailCourse> examDetailCourseList = examDetailCourseService.list(examDetailCourseQueryWrapper);
-
-
-            List<PdfDto> variablePdfList = new ArrayList<>();//变量印品(签到表、卷袋贴)
-            List<PdfDto> ordinaryPdfList = new ArrayList<>();//普通印品(登记表)
-            List<PdfDto> paperPdfList = new ArrayList<>();//所有试卷
-            List<PdfDto> examStudentPdfList = new ArrayList<>();//所有题卡
-            List<PdfDto> backupPaperPdfList = new ArrayList<>();//备份试卷
-            List<PdfDto> backupCardPdfList = new ArrayList<>();//备份题卡
-
-            //创建pdf核心逻辑
-            basicAttachmentList = createPdfCoreLogic(examDetailCourseList,
-                    examPrintPlan,
-                    examDetail,
-                    sysUser,
-                    specifyPaperType,
-                    createPdfType,
-                    basicAttachmentList,
-                    attachmentIds,
-                    fileTempList,
-                    backupPaperPdfList,
-                    backupCardPdfList,
-                    paperPdfList,
-                    examStudentPdfList);
-
-            createA4File(createPdfType, examPrintPlan, examDetail, basicSchool, examDetailCourseList, fileTempList, ordinaryPdfList, variablePdfList);
-
-            //合并A3(试卷+题卡+备用试卷+备用题卡)
-//                String dirNameA3 = createPdfUtil.mergeA3Pdf(paperPdfList, examStudentPdfList, backupPaperPdfList, backupCardPdfList);
-            //合并(试卷+备用试卷)
-            String dirNamePaper = createPdfUtil.mergeA3Pdf(fileTempList, paperPdfList, backupPaperPdfList);
-            //合并A4(签到表+卷袋贴+登记表)
-//            String dirNameA4 = createPdfUtil.mergeA4Pdf(fileTempList, variablePdfList, ordinaryPdfList);
-            //合并A3(题卡+备用题卡)
-            String dirNameCardA3 = createPdfUtil.mergeA3Pdf(fileTempList, examStudentPdfList, backupCardPdfList);
-
-            BasicAttachment attachment = createPdfUtil.mergePdfSaveDb(dirNamePaper, dirNameCardA3, tbTask, sysUser.getId(), examDetail, basicPrintConfig, fileTempList);
-            if (basicAttachmentList != null) {
-                basicAttachmentList.add(attachment);
-            }
-
-            examDetailService.updateById(examDetail);
-
-            updateExamPrintPlan(basicPrintConfig, examPrintPlan);
-            map.putIfAbsent("size", 1);
-        } catch (Exception e) {
-            log.error(SystemConstant.LOG_ERROR, e);
-            if (Objects.nonNull(dictionaryConfig.sysDomain()) && dictionaryConfig.sysDomain().isOss()) {
-                basicAttachmentService.batchDeleteAttachment(basicAttachmentList);
-            }
-            // 生成失败,状态改为新建
-            examDetailService.updateStatusById(examDetailId, ExamDetailStatusEnum.NEW);
-            if (e instanceof ApiException) {
-                ResultUtil.error((ApiException) e, ((ApiException) e).getCode(), e.getMessage());
-            } else {
-                ResultUtil.error(e.getMessage());
-            }
-        } finally {
-            if (!CollectionUtils.isEmpty(fileTempList)) {
-                for (File file : fileTempList) {
-                    file.delete();
-                }
-            }
-        }
-        return map;
-    }
-
-    /**
-     * 更新考试计划
-     *
-     * @param basicPrintConfig
-     * @param examPrintPlan
-     */
-    @Transactional
-    public void updateExamPrintPlan(BasicPrintConfig basicPrintConfig, ExamPrintPlan examPrintPlan) {
-        if (PrintMethodEnum.AUTO == basicPrintConfig.getPrintMethod()) {
-            examPrintPlan.setStatus(PrintPlanStatusEnum.PRINTING);
-            examPrintPlanService.updateById(examPrintPlan);
-        }
-    }
-
     @Transactional(rollbackFor = Exception.class)
     @Override
     public Map<String, Object> executeExaminationLogic(Map<String, Object> map) throws Exception {
@@ -1047,69 +621,6 @@ public class TaskLogicServiceImpl implements TaskLogicService {
         return map;
     }
 
-    /**
-     * 获取附件文件
-     *
-     * @param jsonObject
-     * @param pathName
-     * @return
-     * @throws Exception
-     */
-    private File getJsonFile(JSONObject jsonObject, String pathName) throws Exception {
-        File file = new File(pathName);
-        if (!file.exists()) {
-            file.getParentFile().mkdirs();
-            file.createNewFile();
-        }
-        String attachmentType = jsonObject.getString(SystemConstant.TYPE);
-        if (Objects.nonNull(attachmentType) && !Objects.equals(attachmentType, SystemConstant.LOCAL)) {
-            file = fileStoreUtil.ossDownload(jsonObject.getString(SystemConstant.PDF_PATH), file, UploadFileEnum.PDF.getFssType());
-        } else {
-            File sourceFile = null;
-            if (dictionaryConfig.fssPrivateDomain().getConfig().startsWith(SystemConstant.START_PARENT) || dictionaryConfig.fssPublicDomain().getConfig().startsWith(SystemConstant.START_PARENT)) {
-                sourceFile = new File(dictionaryConfig.fssPrivateDomain().getConfig(), jsonObject.getString(SystemConstant.PDF_PATH));
-            } else {
-                sourceFile = new File(jsonObject.getString(SystemConstant.PDF_PATH));
-            }
-            FileUtils.copyFile(sourceFile, file);
-        }
-        return file;
-    }
-
-    /**
-     * 获取附件文件
-     *
-     * @param attachment
-     * @param pathName
-     * @return
-     * @throws Exception
-     */
-    private File getAttachmentFile(BasicAttachment attachment, String pathName) throws Exception {
-        File file = null;
-        if (Objects.nonNull(attachment) && Objects.nonNull(attachment.getPath())) {
-            file = new File(pathName);
-            if (!file.exists()) {
-                file.getParentFile().mkdirs();
-                file.createNewFile();
-            }
-            JSONObject jsonObject = JSONObject.parseObject(attachment.getPath());
-            String attachmentType = jsonObject.getString(SystemConstant.TYPE);
-            UploadFileEnum uploadFileEnum = UploadFileEnum.valueOf(jsonObject.getString(SystemConstant.UPLOAD_TYPE));
-            if (Objects.nonNull(attachmentType) && !Objects.equals(attachmentType, SystemConstant.LOCAL)) {
-                file = fileStoreUtil.ossDownload(jsonObject.getString(SystemConstant.PATH), file, uploadFileEnum.getFssType());
-            } else {
-                File sourceFile = null;
-                if (dictionaryConfig.fssPrivateDomain().getConfig().startsWith(SystemConstant.START_PARENT) || dictionaryConfig.fssPublicDomain().getConfig().startsWith(SystemConstant.START_PARENT)) {
-                    sourceFile = new File(dictionaryConfig.fssPrivateDomain().getConfig(), jsonObject.getString(SystemConstant.PATH));
-                } else {
-                    sourceFile = new File(jsonObject.getString(SystemConstant.PATH));
-                }
-                FileUtils.copyFile(sourceFile, file);
-            }
-        }
-        return file;
-    }
-
     @Override
     @Transactional
     public Map<String, Object> executeExportSampleLogic(Map<String, Object> map) throws Exception {
@@ -1527,45 +1038,6 @@ public class TaskLogicServiceImpl implements TaskLogicService {
         return sysUserService.executeSysUserImportLogic(finalList, map);
     }
 
-    @Transactional
-    @Override
-    public Map<String, Object> executeImportBasicClazzLogic(Map<String, Object> map) throws Exception {
-        InputStream inputStream = (InputStream) map.get("inputStream");
-        System.out.println(inputStream);
-        List<LinkedMultiValueMap<Integer, Object>> finalList = ExcelUtil.excelReader(inputStream, Lists.newArrayList(BasicClazzImportDto.class, DescribeImportDto.class), (finalExcelList, finalColumnNameList, finalExcelErrorList) -> {
-            List<ExcelError> excelErrorTemp = new ArrayList<>();
-            Map<String, String> checkNameMap = new HashMap<>();
-            for (int i = 0; i < finalExcelList.size(); i++) {
-                LinkedMultiValueMap<Integer, Object> excelMap = finalExcelList.get(i);
-                List<Object> basicClazzImportDtoList = excelMap.get(i);
-                assert basicClazzImportDtoList != null;
-                if (basicClazzImportDtoList.get(0) instanceof DescribeImportDto) {
-                    continue;
-                }
-                for (int y = 0; y < Objects.requireNonNull(basicClazzImportDtoList).size(); y++) {
-                    BasicClazzImportDto basicClazzImportDto = (BasicClazzImportDto) basicClazzImportDtoList.get(y);
-                    String clazzName = basicClazzImportDto.getClazzName();
-
-                    // 检验excel中
-                    // 检验学号
-                    if (checkNameMap.containsKey(clazzName)) {
-                        throw ExceptionResultEnum.ERROR.exception("导入的excel中包含在重复的班级名称[" + clazzName + "]");
-                    } else {
-                        checkNameMap.put(clazzName, clazzName);
-                    }
-
-                    excelErrorTemp.addAll(ExcelUtil.checkExcelField(basicClazzImportDto, y, i));
-                }
-            }
-            if (excelErrorTemp.size() > 0) {
-                throw ExceptionResultEnum.ERROR.exception(JSONObject.toJSONString(excelErrorTemp));
-            }
-            return finalExcelList;
-        }, 2);
-        return basicClazzService.executeBasicClazzImportLogic(finalList, map);
-    }
-
-
     @Override
     @Transactional
     public Map<String, Object> executeImportStatisticsLogic(Map<String, Object> map) throws Exception {
@@ -2037,7 +1509,7 @@ public class TaskLogicServiceImpl implements TaskLogicService {
             basicExamStudentParam.setId(id);
             basicExamStudentParam.setSemesterId(semesterId);
             basicExamStudentParam.setExamId(examId);
-            basicExamStudentParam.setCourseCode(courseCode);
+//            basicExamStudentParam.setCourseId(courseCode);
             basicExamStudentParam.setStudentName(studentName);
             basicExamStudentParam.setStudentCode(studentCode);
             basicExamStudentParam.setCollege(college);
@@ -2085,119 +1557,6 @@ public class TaskLogicServiceImpl implements TaskLogicService {
         return map;
     }
 
-    @Transactional
-    @Override
-    public Map<String, Object> executeImportMarkStudentLogic(Map<String, Object> map) throws Exception {
-        InputStream inputStream = (InputStream) map.get("inputStream");
-        // 检验课程编号和课程名称对应
-        Map<String, String> courseCodeNameCheckMap = new HashMap<>();
-        // 检验学号在课程下唯一
-        Map<String, List<String>> checkStudentCodeMap = new HashMap<>();
-        // 检验同一个课程、试卷下的班级信息要么全填要么全不填
-        Map<String, Boolean> checkClazzMap = new HashMap<>();
-
-        List<MarkStudentImportDto> datasource = new ArrayList<>();
-        AtomicInteger successInteger = new AtomicInteger(0);
-        AtomicInteger exceptionInteger = new AtomicInteger(0);
-
-        ExcelUtil.excelReader(inputStream, Lists.newArrayList(MarkStudentImportDto.class),
-                (finalExcelList, finalColumnNameList, finalExcelErrorList) -> {
-
-                    for (int i = 0; i < finalExcelList.size(); i++) {
-                        LinkedMultiValueMap<Integer, Object> excelMap = finalExcelList.get(i);
-                        List<Object> MarkStudentImportDtoList = excelMap.get(i);
-                        // 无数据,跳过
-                        if (CollectionUtils.isEmpty(MarkStudentImportDtoList)) {
-                            continue;
-                        }
-                        for (int y = 0; y < Objects.requireNonNull(MarkStudentImportDtoList).size(); y++) {
-                            List<String> errorMsgList = new ArrayList<>();
-                            // 行索引
-                            MarkStudentImportDto markStudentImportDto = (MarkStudentImportDto) MarkStudentImportDtoList.get(
-                                    y);
-                            String courseName = StringUtils.trimToNull(markStudentImportDto.getCourseName());
-                            String courseCode = StringUtils.trimToNull(markStudentImportDto.getCourseCode());
-                            String paperNumber = StringUtils.trimToNull(markStudentImportDto.getPaperNumber());
-                            String studentName = StringUtils.trimToNull(markStudentImportDto.getStudentName());
-                            String studentCode = StringUtils.trimToNull(markStudentImportDto.getStudentCode());
-                            String college = StringUtils.trimToNull(markStudentImportDto.getCollege());
-                            String major = StringUtils.trimToNull(markStudentImportDto.getMajor());
-                            String clazz = StringUtils.trimToNull(markStudentImportDto.getClazz());
-                            String examDate = StringUtils.trimToNull(markStudentImportDto.getExamDate());
-                            String examTime = StringUtils.trimToNull(markStudentImportDto.getExamTime());
-                            String examPlace = StringUtils.trimToNull(markStudentImportDto.getExamPlace());
-                            String examRoom = StringUtils.trimToNull(markStudentImportDto.getExamRoom());
-
-                            // 本行全部列为空,跳过
-                            if (StringUtils.isAllBlank(courseName, courseCode, paperNumber, studentName, studentCode,
-                                    college, major, clazz, examDate, examTime, examDate, examPlace, examRoom)) {
-                                continue;
-                            }
-                            // 课程编号和课程名称一致
-                            if (courseCodeNameCheckMap.containsKey(courseCode)) {
-                                if (!courseCodeNameCheckMap.get(courseCode).equals(courseName)) {
-                                    errorMsgList.add("同一个课程编号对应了多个课程名称");
-                                }
-                            } else {
-                                courseCodeNameCheckMap.put(courseCode, courseName);
-                            }
-
-                            // 学号在课程下唯一
-                            if (checkStudentCodeMap.containsKey(courseCode)) {
-                                List<String> studentCodeList = checkStudentCodeMap.get(courseCode);
-                                if (studentCodeList.contains(studentCode)) {
-                                    errorMsgList.add("学号重复(学号需要在课程下唯一)");
-                                } else {
-                                    studentCodeList.add(studentCode);
-                                }
-                            } else {
-                                List<String> studentCodeList = new ArrayList<>();
-                                studentCodeList.add(studentCode);
-                                checkStudentCodeMap.put(courseCode, studentCodeList);
-                            }
-
-                            // 同一个课程、试卷下的班级信息要么全填要么全不填
-                            String clazzCheckKey = courseCode + SystemConstant.HYPHEN + paperNumber;
-                            if (checkClazzMap.containsKey(clazzCheckKey)) {
-                                Boolean hasData = checkClazzMap.get(clazzCheckKey);
-                                if (SystemConstant.strNotNull(clazz) != hasData) {
-                                    errorMsgList.add("班级信息异常(同一个课程、试卷下的班级信息要么全填要么全不填)");
-                                }
-                            } else {
-                                checkClazzMap.put(clazzCheckKey, SystemConstant.strNotNull(clazz));
-                            }
-
-                            try {
-                                if (SystemConstant.strNotNull(examDate) && SystemConstant.strNotNull(examTime)) {
-                                    ConvertUtil.analyzeStartAndEndTime(examDate, examTime);
-                                }
-                            } catch (Exception e) {
-                                errorMsgList.add(e.getMessage());
-                            }
-
-                            if (CollectionUtils.isNotEmpty(errorMsgList)) {
-                                markStudentImportDto.setErrorMsg(String.join(";", errorMsgList));
-                                exceptionInteger.getAndIncrement();
-                            } else {
-                                successInteger.getAndIncrement();
-                            }
-                            datasource.add(markStudentImportDto);
-                        }
-                    }
-
-                    if (datasource.stream().anyMatch(e -> SystemConstant.strNotNull(e.getErrorMsg()))) {
-                        map.put(SystemConstant.ERROR_DATA_LIST, datasource);
-                    } else {
-                        map.put(SystemConstant.DATASOURCE, datasource);
-                    }
-                    map.put(SystemConstant.DATA_COUNT, datasource.size());
-                    map.put(SystemConstant.SUCCESS_DATA_COUNT, successInteger.get());
-                    map.put(SystemConstant.ERROR_DATA_COUNT, exceptionInteger.get());
-                    return finalExcelList;
-                }, 2);
-        return map;
-    }
-
     @Transactional
     @Override
     public void saveMarkStudent(Long examId, List<BasicExamStudent> basicExamStudentList) {
@@ -2211,7 +1570,7 @@ public class TaskLogicServiceImpl implements TaskLogicService {
             MarkPaper markPaper = markPaperService.getByExamIdAndPaperNumber(examId, entry.getKey());
             if (markPaper == null) {
                 BasicCourse basicCourse = basicCourseService.getByCode(basicExamStudent.getCourseCode());
-                markPaper = new MarkPaper(examId, basicExamStudent.getCourseCode(), basicCourse.getName(), entry.getKey(), String.valueOf(System.currentTimeMillis()), requestUserId, SystemConstant.DEFAULT_PAPER_TYPE_A);
+                markPaper = new MarkPaper(examId, basicExamStudent.getCourseId(), entry.getKey(), String.valueOf(System.currentTimeMillis()), requestUserId, SystemConstant.DEFAULT_PAPER_TYPE_A);
                 markPaperService.save(markPaper);
             }
             Set<String> secretNumberSet = new HashSet<>();
@@ -2747,43 +2106,6 @@ public class TaskLogicServiceImpl implements TaskLogicService {
         return basicCourse;
     }
 
-    /**
-     * 验证用户是否存在
-     *
-     * @param userMap
-     * @param key
-     * @param schoolId
-     * @param excelErrorTemp
-     * @param row
-     * @param sheet
-     * @param cloumnName
-     * @return
-     */
-    private SysUser validSysUserExists(Map<String, SysUser> userMap,
-                                       String key,
-                                       Long schoolId,
-                                       List<ExcelError> excelErrorTemp,
-                                       int row,
-                                       int sheet,
-                                       String cloumnName) {
-        SysUser sysUser = null;
-        if (!userMap.containsKey(key)) {//不存在查询
-            QueryWrapper<SysUser> sysUserQueryWrapper = new QueryWrapper<>();
-            sysUserQueryWrapper.lambda().eq(SysUser::getSchoolId, schoolId)
-                    .eq(SysUser::getRealName, key)
-                    .eq(SysUser::getEnable, true);
-            sysUser = sysUserService.getOne(sysUserQueryWrapper);
-        } else {
-            sysUser = userMap.get(key);
-        }
-        if (Objects.isNull(sysUser)) {
-            excelErrorTemp.add(new ExcelError(row, "excel第" + sheet + "个sheet第" + row + "行[" + cloumnName + "]不存在"));
-        } else {
-            SysUser finalSysUser = sysUser;
-            userMap.computeIfAbsent(key, v -> finalSysUser);
-        }
-        return sysUser;
-    }
 
     /**
      * 验证班级是否存在

+ 4 - 4
distributed-print-business/src/main/resources/mapper/BasicExamStudentMapper.xml

@@ -9,7 +9,7 @@
             bes.semester_id AS semesterId,
             bes.exam_id AS examId,
             bc.name AS courseName,
-            bes.course_code AS courseCode,
+            bc.code AS courseCode,
             bes.student_name AS studentName,
             bes.student_code AS studentCode,
             bes.college,
@@ -25,7 +25,7 @@
         FROM
             basic_exam_student bes
                 LEFT JOIN
-            basic_course bc ON bes.course_code = bc.code AND bes.school_id = bc.school_id
+            basic_course bc ON bes.course_id = bc.id
                 LEFT JOIN
             basic_teach_clazz tbc ON bes.clazz_id = tbc.id
                 LEFT JOIN
@@ -42,8 +42,8 @@
             <if test="examId != null">
                 AND bes.exam_id = #{examId}
             </if>
-            <if test="courseCode != null and courseCode != ''">
-                AND bes.course_code LIKE CONCAT('%',#{courseCode},'%')
+            <if test="courseId != null">
+                AND bes.course_id = #{courseId}
             </if>
             <if test="teacher != null and teacher != ''">
                 AND (teacher.real_name LIKE CONCAT('%',#{teacher},'%') OR teacher.code LIKE CONCAT('%',#{teacher},'%'))

+ 273 - 265
distributed-print-business/src/main/resources/mapper/ConditionMapper.xml

@@ -3,8 +3,9 @@
 <mapper namespace="com.qmth.distributed.print.business.mapper.ConditionMapper">
     <select id="listCourse" resultType="com.qmth.teachcloud.common.entity.BasicCourse">
         SELECT
-            bc.code code,
-            bc.name name
+            bc.id,
+            bc.code,
+            bc.name
         FROM
             basic_course bc
         <where>
@@ -15,8 +16,7 @@
                             LEFT JOIN
                         basic_exam be ON et.exam_id = be.id
                     <where>
-                        bc.school_id = et.school_id
-                      AND bc.code = et.course_code
+                        bc.id = et.course_id
                       <if test="semesterId != null">
                           AND be.semester_id = #{semesterId}
                       </if>
@@ -28,7 +28,7 @@
                                 AND et.create_id = #{dpr.requestUserId}
                             </if>
                             <if test="dpr.courseUserId != null">
-                                AND EXISTS( SELECT 1 FROM (select course_code from teach_course where exam_id = #{examId} and user_id = #{dpr.courseUserId}) tc WHERE tc.course_code = et.course_code)
+                                AND EXISTS( SELECT 1 FROM (select course_id from teach_course where exam_id = #{examId} and user_id = #{dpr.courseUserId}) tc WHERE tc.course_id = et.course_id)
                             </if>
                             <if test="dpr.orgIdSet != null and dpr.orgIdSet != '' and dpr.orgIdSet.size > 0">
                                 AND et.org_id IN
@@ -68,18 +68,18 @@
                 left join
             exam_task et on edc.school_id = et.school_id
                     and a.exam_id = et.exam_id
-                    and edc.course_code = et.course_code
+                    and edc.course_id = et.course_id
                     and edc.paper_number = et.paper_number
         <where>
-            <if test="courseCode != null and courseCode != ''">
-                AND edc.course_code = #{courseCode}
+            <if test="courseId != null">
+                AND edc.course_id = #{courseId}
             </if>
             <if test="dpr != null">
                 <if test="dpr.requestUserId != null">
                     AND et.create_id = #{dpr.requestUserId}
                 </if>
                 <if test="dpr.courseUserId != null">
-                    AND EXISTS( SELECT 1 FROM (select course_code from teach_course where exam_id = #{examId} and user_id = #{dpr.courseUserId}) tc WHERE tc.course_code = et.course_code)
+                    AND EXISTS( SELECT 1 FROM (select course_id from teach_course where exam_id = #{examId} and user_id = #{dpr.courseUserId}) tc WHERE tc.course_id = et.course_id)
                 </if>
                 <if test="dpr.orgIdSet != null and dpr.orgIdSet != '' and dpr.orgIdSet.size > 0">
                     AND et.org_id IN
@@ -93,19 +93,24 @@
     </select>
     <select id="listCourseForApply" resultType="com.qmth.teachcloud.common.entity.BasicCourse">
         SELECT
-            distinct et.course_code code,
-            et.course_name name
-        FROM
-            exam_task et
-        <where>
-            et.enable = true
-            <if test="examId != null">
-                and et.exam_id = #{examId}
-            </if>
-            <if test="userId != null">
-                and et.user_id = #{userId}
-            </if>
-        </where>
+            bc.id,
+            bc.code,
+            bc.name
+        from basic_course bc
+            where
+                exists (
+                    select 1 FROM exam_task et
+                <where>
+                    bc.id = et.course_id
+                    and et.enable = true
+                    <if test="examId != null">
+                        and et.exam_id = #{examId}
+                    </if>
+                    <if test="userId != null">
+                        and et.user_id = #{userId}
+                    </if>
+                </where>
+                )
     </select>
     <select id="listCourseForAudit" resultType="com.qmth.teachcloud.common.entity.BasicCourse">
         SELECT
@@ -121,8 +126,7 @@
                     LEFT JOIN
                 basic_exam be ON et.exam_id = be.id
             <where>
-                AND bc.school_id = et.school_id
-                AND bc.code = et.course_code
+                AND bc.id = et.course_id
                 <if test="semesterId != null">
                     AND be.semester_id = #{semesterId}
                 </if>
@@ -146,8 +150,8 @@
             <if test="examId != null">
                 and et.exam_id = #{examId}
             </if>
-            <if test="courseCode != null and courseCode != ''">
-                and et.course_code = #{courseCode}
+            <if test="courseId != null">
+                and et.course_id = #{courseId}
             </if>
             <if test="userId != null">
                 and et.user_id = #{userId}
@@ -167,8 +171,8 @@
                 AND be.semester_id = #{semesterId}
             </if>
                 AND et.exam_id = #{examId}
-            <if test="courseCode != null and courseCode != ''">
-                AND et.course_code = #{courseCode}
+            <if test="courseId != null">
+                AND et.course_id = #{courseId}
             </if>
         </where>
         order by et.paper_number
@@ -198,14 +202,19 @@
         </where>
     </select>
     <select id="listCourseForScore" resultType="com.qmth.teachcloud.common.entity.BasicCourse">
-        SELECT DISTINCT
-            mp.course_code code, mp.course_name name
+        SELECT bc.id,
+        bc.code,
+        bc.name
+        from basic_course bc
+        where
+        exists (select 1
         FROM
-            mark_paper mp
-                left join sys_user su ON mp.user_id = su.id
-                left join basic_exam be ON mp.exam_id = be.id
+        mark_paper mp
+        left join sys_user su ON mp.user_id = su.id
+        left join basic_exam be ON mp.exam_id = be.id
         <where>
-                and mp.status = #{status}
+            bc.id = mp.course_id
+            and mp.status = #{status}
             <if test="semesterId != null">
                 AND be.semester_id = #{semesterId}
             </if>
@@ -217,7 +226,7 @@
                     AND mp.user_id = #{dpr.requestUserId}
                 </if>
                 <if test="dpr.courseUserId != null">
-                    AND EXISTS( SELECT 1 FROM (select course_code from teach_course where exam_id = #{examId} and user_id = #{dpr.courseUserId}) tc WHERE tc.course_code = mp.course_code)
+                    AND EXISTS( SELECT 1 FROM (select course_id from teach_course where exam_id = #{examId} and user_id = #{dpr.courseUserId}) tc WHERE tc.course_id = mp.course_id)
                 </if>
                 <if test="dpr.orgIdSet != null and dpr.orgIdSet != '' and dpr.orgIdSet.size > 0">
                     AND su.org_id IN
@@ -226,48 +235,8 @@
                     </foreach>
                 </if>
             </if>
-        </where>
-        order by mp.course_code
-    </select>
-    <select id="listClazz" resultType="com.qmth.teachcloud.common.entity.BasicClazz">
-        SELECT DISTINCT
-            tsess.clazz_id id, tsess.clazz_name clazzName
-        FROM
-            t_sync_exam_student_score tsess
-                JOIN
-            exam_task et ON tsess.school_id = et.school_id
-                AND tsess.paper_number = et.paper_number
-                JOIN
-            basic_course bc ON et.school_id = bc.school_id
-                AND et.course_code = bc.code
-                LEFT JOIN
-            teach_course tc ON bc.school_id = tc.school_id
-                AND bc.code = tc.course_code
-        <where>
-            <if test="semesterId != null">
-                AND tsess.semester_id = #{semesterId}
-            </if>
-            <if test="examId != null">
-                AND et.exam_id = #{examId}
-            </if>
-            <if test="courseCode != null and courseCode != ''">
-                AND et.course_code = #{courseCode}
-            </if>
-            <if test="clazzName != null and clazzName != ''">
-                AND tsess.clazz_name like concat(#{clazzName}, '%')
-            </if>
-            <if test="dpr != null">
-                <if test="dpr.requestUserId != null">
-                    AND tc.user_id = #{dpr.requestUserId}
-                </if>
-                <if test="dpr.orgIdSet != null and dpr.orgIdSet != '' and dpr.orgIdSet.size > 0">
-                    AND bc.org_id IN
-                    <foreach collection="dpr.orgIdSet" item="item" index="index" open="(" separator="," close=")">
-                        #{item}
-                    </foreach>
-                </if>
-            </if>
-        </where>
+        </where>)
+        order by bc.code
     </select>
     <select id="listPrintPlanForClient"
             resultType="com.qmth.distributed.print.business.bean.result.PrintPlanBrief">
@@ -295,46 +264,53 @@
     </select>
     <select id="listCourseForPlanTask" resultType="com.qmth.teachcloud.common.entity.BasicCourse">
         SELECT
-            distinct c.course_code code, c.course_name name
-        FROM
-        exam_print_plan a
-        JOIN
-        exam_detail b ON a.id = b.print_plan_id
-        JOIN
-        exam_detail_course c ON b.id = c.exam_detail_id
-        left join exam_task et on b.exam_id = et.exam_id and c.course_code = et.course_code and c.paper_number = et.paper_number
-        JOIN
-        sys_user d ON et.user_id = d.id
-        JOIN
-        basic_exam e ON a.exam_id = e.id
-        <where>
-            <if test="semesterId != null and semesterId != ''">
-                and e.semester_id = #{semesterId}
-            </if>
-            <if test="examId != null and examId != ''">
-                and e.id = #{examId}
-            </if>
-            <if test="printPlanIds != null and printPlanIds.size >0">
-                and a.id in
-                <foreach collection="printPlanIds" separator="," open="(" close=")" item="printPlanId">
-                    #{printPlanId}
-                </foreach>
-            </if>
-            <if test="dpr != null">
-                <if test="dpr.requestUserId != null">
-                    AND et.user_id = #{dpr.requestUserId}
-                </if>
-                <if test="dpr.courseUserId != null">
-                    AND EXISTS( SELECT 1 FROM (select course_code from teach_course where exam_id = #{examId} and user_id = #{dpr.courseUserId}) tc WHERE tc.course_code = c.course_code)
-                </if>
-                <if test="dpr.orgIdSet != null and dpr.orgIdSet != '' and dpr.orgIdSet.size > 0">
-                    AND d.org_id IN
-                    <foreach collection="dpr.orgIdSet" item="item" index="index" open="(" separator="," close=")">
-                        #{item}
-                    </foreach>
-                </if>
-            </if>
-        </where>
+            bc.id,
+            bc.code,
+            bc.name
+            from basic_course bc
+                where
+                exists (select 1
+                    FROM
+                    exam_print_plan a
+                    JOIN
+                    exam_detail b ON a.id = b.print_plan_id
+                    JOIN
+                    exam_detail_course c ON b.id = c.exam_detail_id
+                    left join exam_task et on b.exam_id = et.exam_id and c.course_id = et.course_id and c.paper_number = et.paper_number
+                    JOIN
+                    sys_user d ON et.user_id = d.id
+                    JOIN
+                    basic_exam e ON a.exam_id = e.id
+                    <where>
+                        bc.id = c.course_id
+                        <if test="semesterId != null and semesterId != ''">
+                            and e.semester_id = #{semesterId}
+                        </if>
+                        <if test="examId != null and examId != ''">
+                            and e.id = #{examId}
+                        </if>
+                        <if test="printPlanIds != null and printPlanIds.size >0">
+                            and a.id in
+                            <foreach collection="printPlanIds" separator="," open="(" close=")" item="printPlanId">
+                                #{printPlanId}
+                            </foreach>
+                        </if>
+                        <if test="dpr != null">
+                            <if test="dpr.requestUserId != null">
+                                AND et.user_id = #{dpr.requestUserId}
+                            </if>
+                            <if test="dpr.courseUserId != null">
+                                AND EXISTS( SELECT 1 FROM (select course_id from teach_course where exam_id = #{examId} and user_id = #{dpr.courseUserId}) tc WHERE tc.course_id = c.course_id)
+                            </if>
+                            <if test="dpr.orgIdSet != null and dpr.orgIdSet != '' and dpr.orgIdSet.size > 0">
+                                AND d.org_id IN
+                                <foreach collection="dpr.orgIdSet" item="item" index="index" open="(" separator="," close=")">
+                                    #{item}
+                                </foreach>
+                            </if>
+                        </if>
+                    </where>
+                    )
     </select>
     <select id="listPaperNumberPlanTask" resultType="java.lang.String">
         SELECT
@@ -345,7 +321,7 @@
         exam_detail b ON a.id = b.print_plan_id
         JOIN
         exam_detail_course c ON b.id = c.exam_detail_id
-        left join exam_task et on b.exam_id = et.exam_id and c.course_code = et.course_code and c.paper_number = et.paper_number
+        left join exam_task et on b.exam_id = et.exam_id and c.course_id = et.course_id and c.paper_number = et.paper_number
         JOIN
         sys_user d ON et.user_id = d.id
         JOIN
@@ -363,15 +339,15 @@
                     #{printPlanId}
                 </foreach>
             </if>
-            <if test="courseCode != null and courseCode != ''">
-                and c.course_code = #{courseCode}
+            <if test="courseId != null">
+                and c.course_id = #{courseId}
             </if>
             <if test="dpr != null">
                 <if test="dpr.requestUserId != null">
                     AND et.user_id = #{dpr.requestUserId}
                 </if>
                 <if test="dpr.courseUserId != null">
-                    AND EXISTS( SELECT 1 FROM (select course_code from teach_course where exam_id = #{examId} and user_id = #{dpr.courseUserId}) tc WHERE tc.course_code = c.course_code)
+                    AND EXISTS( SELECT 1 FROM (select course_id from teach_course where exam_id = #{examId} and user_id = #{dpr.courseUserId}) tc WHERE tc.course_id = c.course_id)
                 </if>
                 <if test="dpr.orgIdSet != null and dpr.orgIdSet != '' and dpr.orgIdSet.size > 0">
                     AND d.org_id IN
@@ -384,22 +360,28 @@
     </select>
     <select id="listCourseForEntrance" resultType="com.qmth.teachcloud.common.entity.BasicCourse">
         SELECT
-            distinct mg.course_code code,
-            mg.course_name name
-        FROM
-            mark_user_group mug
-        LEFT JOIN
-            mark_group mg ON mug.exam_id = mg.exam_id
-            AND mug.paper_number = mg.paper_number
-            AND mug.group_number = mg.number
-        <where>
-            mg.exam_id = #{examId}
-            and mug.user_id = #{userId} and mg.task_count > 0
-            <if test="status != null and status != ''">
-                and exists (select 1 from mark_paper mp where mp.exam_id = mg.exam_id and mp.paper_number = mg.paper_number and mp.status = #{status})
-            </if>
-        </where>
-        order by mg.course_code
+                bc.id,
+                bc.code,
+                bc.name
+            from basic_course bc
+            where
+                exists (select 1
+                FROM
+                mark_user_group mug
+                LEFT JOIN
+                mark_group mg ON mug.exam_id = mg.exam_id
+                AND mug.paper_number = mg.paper_number
+                AND mug.group_number = mg.number
+                <where>
+                    bc.id = mg.course_id
+                    and mg.exam_id = #{examId}
+                    and mug.user_id = #{userId} and mg.task_count > 0
+                    <if test="status != null and status != ''">
+                        and exists (select 1 from mark_paper mp where mp.exam_id = mg.exam_id and mp.paper_number =
+                        mg.paper_number and mp.status = #{status})
+                    </if>
+                </where>)
+                order by bc.code
     </select>
     <select id="listPaperNumberForEntrance" resultType="java.lang.String">
         SELECT
@@ -412,8 +394,8 @@
                 AND mug.group_number = mg.number
         <where>
             mg.exam_id = #{examId}
-            <if test="courseCode != null and courseCode != ''">
-                and mg.course_code = #{courseCode}
+            <if test="courseId != null">
+                and mg.course_id = #{courseId}
             </if>
             and mug.user_id = #{userId} and mg.task_count > 0
             <if test="status != null and status != ''">
@@ -424,18 +406,23 @@
     </select>
     <select id="listCourseFromMarkPaper" resultType="com.qmth.teachcloud.common.entity.BasicCourse">
         SELECT
-            distinct mp.course_code code,
-            mp.course_name name
+            bc.id,
+            bc.code,
+            bc.name
+        from basic_course bc
+        where
+        exists (select 1
         FROM
-            mark_paper mp
-            LEFT JOIN sys_user su ON mp.user_id = su.id
-        where mp.exam_id = #{examId}
+        mark_paper mp
+        LEFT JOIN sys_user su ON mp.user_id = su.id
+        where bc.id = mp.course_id and mp.exam_id = #{examId}
         <if test="dpr != null">
             <if test="dpr.requestUserId != null">
                 AND mp.user_id = #{dpr.requestUserId}
             </if>
             <if test="dpr.courseUserId != null">
-                AND EXISTS( SELECT 1 FROM (select course_code from teach_course where exam_id = #{examId} and user_id = #{dpr.courseUserId}) tc WHERE tc.course_code = mp.course_code)
+                AND EXISTS( SELECT 1 FROM (select course_id from teach_course where exam_id = #{examId} and user_id =
+                #{dpr.courseUserId}) tc WHERE tc.course_id = mp.course_id)
             </if>
             <if test="dpr.orgIdSet != null and dpr.orgIdSet != '' and dpr.orgIdSet.size > 0">
                 AND su.org_id IN
@@ -443,7 +430,7 @@
                     #{item}
                 </foreach>
             </if>
-        </if>
+        </if>)
     </select>
     <select id="listPaperNumberFromMarkPaper" resultType="java.lang.String">
         SELECT
@@ -452,15 +439,15 @@
         mark_paper mp
         LEFT JOIN sys_user su ON mp.user_id = su.id
         where mp.exam_id = #{examId}
-        <if test="courseCode != null and courseCode != ''">
-            AND mp.course_code = #{courseCode}
+        <if test="courseId != null">
+            AND mp.course_id = #{courseId}
         </if>
         <if test="dpr != null">
             <if test="dpr.requestUserId != null">
                 AND mp.user_id = #{dpr.requestUserId}
             </if>
             <if test="dpr.courseUserId != null">
-                AND EXISTS( SELECT 1 FROM (select course_code from teach_course where exam_id = #{examId} and user_id = #{dpr.courseUserId}) tc WHERE tc.course_code = mp.course_code)
+                AND EXISTS( SELECT 1 FROM (select course_id from teach_course where exam_id = #{examId} and user_id = #{dpr.courseUserId}) tc WHERE tc.course_id = mp.course_id)
             </if>
             <if test="dpr.orgIdSet != null and dpr.orgIdSet != '' and dpr.orgIdSet.size > 0">
                 AND su.org_id IN
@@ -471,45 +458,53 @@
         </if>
     </select>
     <select id="listCourseFromExamTaskByCreateId" resultType="com.qmth.teachcloud.common.entity.BasicCourse">
-        SELECT
-            distinct a.course_code code,
-            a.course_name name
-        FROM
-        exam_task a
-        LEFT JOIN
-        sys_user d ON a.create_id = d.id
-        <where>
-            <if test="examId != null">
-                and a.exam_id = #{examId}
-            </if>
-            <if test="dpr != null">
-                <if test="dpr.requestUserId != null">
-                    AND a.create_id = #{dpr.requestUserId}
-                </if>
-                <if test="dpr.courseUserId != null">
-                    AND EXISTS( SELECT 1 FROM (select course_code from teach_course where exam_id = #{examId} and user_id = #{dpr.courseUserId}) tc WHERE tc.course_code = a.course_code)
-                </if>
-                <if test="dpr.orgIdSet != null and dpr.orgIdSet != '' and dpr.orgIdSet.size > 0">
-                    AND d.org_id IN
-                    <foreach collection="dpr.orgIdSet" item="item" index="index" open="(" separator="," close=")">
-                        #{item}
-                    </foreach>
-                </if>
-            </if>
-        </where>
+        SELECT bc.id,
+            bc.code,
+            bc.name
+        from basic_course bc
+            where
+                exists (select 1
+                    FROM
+                    exam_task a
+                    LEFT JOIN
+                    sys_user d ON a.create_id = d.id
+                    <where>
+                        bc.id = a.course_id
+                        <if test="examId != null">
+                            and a.exam_id = #{examId}
+                        </if>
+                        <if test="dpr != null">
+                            <if test="dpr.requestUserId != null">
+                                AND a.create_id = #{dpr.requestUserId}
+                            </if>
+                            <if test="dpr.courseUserId != null">
+                                AND EXISTS( SELECT 1 FROM (select course_id from teach_course where exam_id = #{examId} and user_id = #{dpr.courseUserId}) tc WHERE tc.course_id = a.course_id)
+                            </if>
+                            <if test="dpr.orgIdSet != null and dpr.orgIdSet != '' and dpr.orgIdSet.size > 0">
+                                AND d.org_id IN
+                                <foreach collection="dpr.orgIdSet" item="item" index="index" open="(" separator="," close=")">
+                                    #{item}
+                                </foreach>
+                            </if>
+                        </if>
+                    </where>
+                    )
     </select>
     <select id="listCourseFromExamTaskByUserId" resultType="com.qmth.teachcloud.common.entity.BasicCourse">
         SELECT
-            distinct a.course_code code,
-            a.course_name name
+        bc.id,
+        bc.code,
+        bc.name
+        from basic_course bc
+        where exists (select 1
         FROM
-            exam_task a
-                LEFT JOIN
-            t_f_flow_approve g ON g.flow_id = a.flow_id
-                LEFT JOIN
-            sys_user d ON a.user_id = d.id
+        exam_task a
+        LEFT JOIN
+        t_f_flow_approve g ON g.flow_id = a.flow_id
+        LEFT JOIN
+        sys_user d ON a.user_id = d.id
         <where>
-            a.status = 'SUBMIT' AND (a.review = 0 OR (a.review = 1 AND g.status = 'FINISH'))
+            bc.id = a.course_id and a.status = 'SUBMIT' AND (a.review = 0 OR (a.review = 1 AND g.status = 'FINISH'))
             <if test="examId != null">
                 and a.exam_id = #{examId}
             </if>
@@ -518,7 +513,8 @@
                     AND a.user_id = #{dpr.requestUserId}
                 </if>
                 <if test="dpr.courseUserId != null">
-                    AND EXISTS( SELECT 1 FROM (select course_code from teach_course where exam_id = #{examId} and user_id = #{dpr.courseUserId}) tc WHERE tc.course_code = a.course_code)
+                    AND EXISTS( SELECT 1 FROM (select course_id from teach_course where exam_id = #{examId} and
+                    user_id = #{dpr.courseUserId}) tc WHERE tc.course_id = a.course_id)
                 </if>
                 <if test="dpr.orgIdSet != null and dpr.orgIdSet != '' and dpr.orgIdSet.size > 0">
                     AND d.org_id IN
@@ -527,7 +523,7 @@
                     </foreach>
                 </if>
             </if>
-        </where>
+        </where>)
     </select>
     <select id="listPaperNumberFromExamTaskByCreateId" resultType="java.lang.String">
         SELECT
@@ -540,15 +536,15 @@
             <if test="examId != null">
                 and a.exam_id = #{examId}
             </if>
-            <if test="courseCode != null and courseCode != ''">
-                and a.course_code = #{courseCode}
+            <if test="courseId != null">
+                and a.course_id = #{courseId}
             </if>
             <if test="dpr != null">
                 <if test="dpr.requestUserId != null">
                     AND a.create_id = #{dpr.requestUserId}
                 </if>
                 <if test="dpr.courseUserId != null">
-                    AND EXISTS( SELECT 1 FROM (select course_code from teach_course where exam_id = #{examId} and user_id = #{dpr.courseUserId}) tc WHERE tc.course_code = a.course_code)
+                    AND EXISTS( SELECT 1 FROM (select course_id from teach_course where exam_id = #{examId} and user_id = #{dpr.courseUserId}) tc WHERE tc.course_id = a.course_id)
                 </if>
                 <if test="dpr.orgIdSet != null and dpr.orgIdSet != '' and dpr.orgIdSet.size > 0">
                     AND d.org_id IN
@@ -574,15 +570,15 @@
             <if test="examId != null">
                 and a.exam_id = #{examId}
             </if>
-            <if test="courseCode != null and courseCode != ''">
-                and a.course_code = #{courseCode}
+            <if test="courseId != null">
+                and a.course_id = #{courseId}
             </if>
             <if test="dpr != null">
                 <if test="dpr.requestUserId != null">
                     AND a.user_id = #{dpr.requestUserId}
                 </if>
                 <if test="dpr.courseUserId != null">
-                    AND EXISTS( SELECT 1 FROM (select course_code from teach_course where exam_id = #{examId} and user_id = #{dpr.courseUserId}) tc WHERE tc.course_code = a.course_code)
+                    AND EXISTS( SELECT 1 FROM (select course_id from teach_course where exam_id = #{examId} and user_id = #{dpr.courseUserId}) tc WHERE tc.course_id = a.course_id)
                 </if>
                 <if test="dpr.orgIdSet != null and dpr.orgIdSet != '' and dpr.orgIdSet.size > 0">
                     AND d.org_id IN
@@ -596,34 +592,40 @@
     </select>
     <select id="listCourseForQuery" resultType="com.qmth.teachcloud.common.entity.BasicCourse">
         SELECT
-            distinct a.course_code code,
-            a.course_name name
-        FROM
-            exam_task a
-                LEFT JOIN
-            t_f_flow_approve g ON g.flow_id = a.flow_id
-                LEFT JOIN
-            sys_user d ON a.create_id = d.id
-        <where>
-             a.status = 'SUBMIT' and (a.flow_id is null or (a.flow_id is not null and g.status = 'FINISH'))
-            <if test="examId != null">
-                and a.exam_id = #{examId}
-            </if>
-            <if test="dpr != null">
-                <if test="dpr.requestUserId != null">
-                    AND a.create_id = #{dpr.requestUserId}
-                </if>
-                <if test="dpr.courseUserId != null">
-                    AND EXISTS( SELECT 1 FROM (select course_code from teach_course where exam_id = #{examId} and user_id = #{dpr.courseUserId}) tc WHERE tc.course_code = a.course_code)
-                </if>
-                <if test="dpr.orgIdSet != null and dpr.orgIdSet != '' and dpr.orgIdSet.size > 0">
-                    AND d.org_id IN
-                    <foreach collection="dpr.orgIdSet" item="item" index="index" open="(" separator="," close=")">
-                        #{item}
-                    </foreach>
-                </if>
-            </if>
-        </where>
+            bc.id,
+            bc.code,
+            bc.name
+        from basic_course bc
+            where
+            exists (select 1
+                    FROM
+                exam_task a
+                    LEFT JOIN
+                t_f_flow_approve g ON g.flow_id = a.flow_id
+                    LEFT JOIN
+                sys_user d ON a.create_id = d.id
+            <where>
+                bc.id = a.course_id
+                and a.status = 'SUBMIT' and (a.flow_id is null or (a.flow_id is not null and g.status = 'FINISH'))
+                <if test="examId != null">
+                    and a.exam_id = #{examId}
+                </if>
+                <if test="dpr != null">
+                    <if test="dpr.requestUserId != null">
+                        AND a.create_id = #{dpr.requestUserId}
+                    </if>
+                    <if test="dpr.courseUserId != null">
+                        AND EXISTS( SELECT 1 FROM (select course_id from teach_course where exam_id = #{examId} and user_id = #{dpr.courseUserId}) tc WHERE tc.course_id = a.course_id)
+                    </if>
+                    <if test="dpr.orgIdSet != null and dpr.orgIdSet != '' and dpr.orgIdSet.size > 0">
+                        AND d.org_id IN
+                        <foreach collection="dpr.orgIdSet" item="item" index="index" open="(" separator="," close=")">
+                            #{item}
+                        </foreach>
+                    </if>
+                </if>
+            </where>
+            )
     </select>
     <select id="listPaperNumberForQuery" resultType="java.lang.String">
         SELECT
@@ -639,15 +641,15 @@
             <if test="examId != null">
                 and a.exam_id = #{examId}
             </if>
-            <if test="courseCode != null and courseCode != ''">
-                and a.course_code = #{courseCode}
+            <if test="courseId != null">
+                and a.course_id = #{courseId}
             </if>
             <if test="dpr != null">
                 <if test="dpr.requestUserId != null">
                     AND a.create_id = #{dpr.requestUserId}
                 </if>
                 <if test="dpr.courseUserId != null">
-                    AND EXISTS( SELECT 1 FROM (select course_code from teach_course where exam_id = #{examId} and user_id = #{dpr.courseUserId}) tc WHERE tc.course_code = a.course_code)
+                    AND EXISTS( SELECT 1 FROM (select course_id from teach_course where exam_id = #{examId} and user_id = #{dpr.courseUserId}) tc WHERE tc.course_id = a.course_id)
                 </if>
                 <if test="dpr.orgIdSet != null and dpr.orgIdSet != '' and dpr.orgIdSet.size > 0">
                     AND d.org_id IN
@@ -661,44 +663,50 @@
     </select>
     <select id="listCourseForApproveHistory" resultType="com.qmth.teachcloud.common.entity.BasicCourse">
         SELECT
-            distinct et.course_code code,
-            et.course_name name
-        FROM
-        t_f_flow_approve tffa
-        JOIN
-        t_f_custom_flow_entity tfcfe ON tfcfe.flow_id = tffa.flow_id
-        JOIN
-        exam_task et ON et.flow_id = tffa.flow_id
-        LEFT JOIN
-        basic_exam be ON et.exam_id = be.id
-        LEFT JOIN
-        basic_semester bs ON be.semester_id = bs.id
-        LEFT JOIN
-        sys_user su ON et.user_id = su.id
-        <where>
-            <if test="semesterId != null and semesterId != ''">
-                and bs.id = #{semesterId}
-            </if>
-            <if test="examId != null and examId != ''">
-                and be.id = #{examId}
-            </if>
-            <if test="dpr != null">
-                <if test="dpr.requestUserId != null">
-                    AND et.user_id = #{dpr.requestUserId}
-                </if>
-                <if test="dpr.courseUserId != null">
-                    AND EXISTS( SELECT 1 FROM (select course_code from teach_course where exam_id = #{examId} and user_id = #{dpr.courseUserId}) tc WHERE tc.course_code = et.course_code)
-                </if>
-                <if test="dpr.orgIdSet != null and dpr.orgIdSet != '' and dpr.orgIdSet.size > 0">
-                    AND su.org_id IN
-                    <foreach collection="dpr.orgIdSet" item="item" index="index" open="(" separator="," close=")">
-                        #{item}
-                    </foreach>
-                </if>
-            </if>
-            and tffa.enable = 1
-            and et.enable = 1
-        </where>
+                bc.id,
+                bc.code,
+                bc.name
+            from basic_course bc
+                where
+                    exists (select 1
+                FROM
+                t_f_flow_approve tffa
+                JOIN
+                t_f_custom_flow_entity tfcfe ON tfcfe.flow_id = tffa.flow_id
+                JOIN
+                exam_task et ON et.flow_id = tffa.flow_id
+                LEFT JOIN
+                basic_exam be ON et.exam_id = be.id
+                LEFT JOIN
+                basic_semester bs ON be.semester_id = bs.id
+                LEFT JOIN
+                sys_user su ON et.user_id = su.id
+                <where>
+                    bc.id = et.course_id
+                    <if test="semesterId != null and semesterId != ''">
+                        and bs.id = #{semesterId}
+                    </if>
+                    <if test="examId != null and examId != ''">
+                        and be.id = #{examId}
+                    </if>
+                    <if test="dpr != null">
+                        <if test="dpr.requestUserId != null">
+                            AND et.user_id = #{dpr.requestUserId}
+                        </if>
+                        <if test="dpr.courseUserId != null">
+                            AND EXISTS( SELECT 1 FROM (select course_id from teach_course where exam_id = #{examId} and
+                            user_id = #{dpr.courseUserId}) tc WHERE tc.course_id = et.course_id)
+                        </if>
+                        <if test="dpr.orgIdSet != null and dpr.orgIdSet != '' and dpr.orgIdSet.size > 0">
+                            AND su.org_id IN
+                            <foreach collection="dpr.orgIdSet" item="item" index="index" open="(" separator="," close=")">
+                                #{item}
+                            </foreach>
+                        </if>
+                    </if>
+                    and tffa.enable = 1
+                    and et.enable = 1
+                </where>)
     </select>
     <select id="listPaperNumberForApproveHistory" resultType="java.lang.String">
         SELECT
@@ -722,15 +730,15 @@
             <if test="examId != null">
                 and be.id = #{examId}
             </if>
-            <if test="courseCode != null and courseCode != ''">
-                and et.course_code = #{courseCode}
+            <if test="courseId != null">
+                and et.course_id = #{courseId}
             </if>
             <if test="dpr != null">
                 <if test="dpr.requestUserId != null">
                     AND et.user_id = #{dpr.requestUserId}
                 </if>
                 <if test="dpr.courseUserId != null">
-                    AND EXISTS( SELECT 1 FROM (select course_code from teach_course where exam_id = #{examId} and user_id = #{dpr.courseUserId}) tc WHERE tc.course_code = et.course_code)
+                    AND EXISTS( SELECT 1 FROM (select course_id from teach_course where exam_id = #{examId} and user_id = #{dpr.courseUserId}) tc WHERE tc.course_id = et.course_id)
                 </if>
                 <if test="dpr.orgIdSet != null and dpr.orgIdSet != '' and dpr.orgIdSet.size > 0">
                     AND su.org_id IN
@@ -763,7 +771,7 @@
                     AND mp.user_id = #{dpr.requestUserId}
                 </if>
                 <if test="dpr.courseUserId != null">
-                    AND EXISTS( SELECT 1 FROM (select course_code from teach_course where exam_id = #{examId} and user_id = #{dpr.courseUserId}) tc WHERE tc.course_code = mp.course_code)
+                    AND EXISTS( SELECT 1 FROM (select course_id from teach_course where exam_id = #{examId} and user_id = #{dpr.courseUserId}) tc WHERE tc.course_id = mp.course_id)
                 </if>
                 <if test="dpr.orgIdSet != null and dpr.orgIdSet != '' and dpr.orgIdSet.size > 0">
                     AND su.org_id IN
@@ -773,6 +781,6 @@
                 </if>
             </if>
         </where>
-        order by mp.course_code
+        order by mp.course_id
     </select>
 </mapper>

+ 17 - 13
distributed-print-business/src/main/resources/mapper/ExamCardMapper.xml

@@ -59,17 +59,21 @@
             exam_card a
         WHERE
             a.school_id = #{schoolId}
-            AND a.course_code = #{courseCode}
+            AND a.course_id = #{courseId}
             AND a.type = #{type}
             AND a.card_rule_id = #{cardRuleId}
             AND a.create_time >= 1680624000000
             AND a.enable = true
         order by a.create_time desc
     </select>
-    <select id="listPage" resultMap="BaseResultMap">
-        <include refid="Base_Column_List"></include>
+    <select id="listPage" resultType="com.qmth.distributed.print.business.entity.ExamCard">
+        select ec.*,
+               bc.code courseCode,
+               bc.name courseName
+               from exam_card ec
+            left join basic_course bc on ec.course_id = bc.id
         <where>
-            school_id = #{schoolId}
+            ec.school_id = #{schoolId}
             <if test="semesterId != null || examId != null">
                AND EXISTS( SELECT
                     1
@@ -99,29 +103,29 @@
                 WHERE LOCATE(id,t.cardId) > 0)
             </if>
             <if test="cardType != null and cardType != ''">
-                and type = #{cardType}
+                and ec.type = #{cardType}
             </if>
             <if test="title != null and title != ''">
-                and title like concat('%', #{title}, '%')
+                and ec.title like concat('%', #{title}, '%')
             </if>
             <if test="createMethod != null and createMethod != ''">
-                and create_method = #{createMethod}
+                and ec.create_method = #{createMethod}
             </if>
             <if test="enable != null and enable != ''">
-                and enable = #{enable}
+                and ec.enable = #{enable}
             </if>
             <if test="createStartTime != null and createStartTime != ''">
-                and create_time &gt;= #{createStartTime}
+                and ec.create_time &gt;= #{createStartTime}
             </if>
             <if test="createEndTime != null and createEndTime != ''">
-                and create_time &lt;= #{createEndTime}
+                and ec.create_time &lt;= #{createEndTime}
             </if>
             <if test="dpr != null">
                 <if test="dpr.requestUserId != null">
-                    AND create_id = #{dpr.requestUserId}
+                    AND ec.create_id = #{dpr.requestUserId}
                 </if>
                 <if test="dpr.orgIdSet != null and dpr.orgIdSet != '' and dpr.orgIdSet.size > 0">
-                    AND org_id IN
+                    AND ec.org_id IN
                     <foreach collection="dpr.orgIdSet" item="item" index="index" open="(" separator="," close=")">
                         #{item}
                     </foreach>
@@ -138,7 +142,7 @@
         WHERE
             a.school_id = #{schoolId}
           AND a.type = #{type}
-          AND a.course_code = #{courseCode}
+          AND a.course_id = #{courseId}
           AND EXISTS ( SELECT
                               1
                           FROM

+ 5 - 3
distributed-print-business/src/main/resources/mapper/ExamDetailCourseMapper.xml

@@ -127,15 +127,17 @@
         SELECT
             be.semester_id semesterId,
             ed.exam_id examId,
-            GROUP_CONCAT(edc.course_code) courseCode,
-            GROUP_CONCAT(edc.course_name) courseName,
-            GROUP_CONCAT(concat(edc.course_name, '(',edc.course_code, ')')) courseNameCode,
+            GROUP_CONCAT(bc.code) courseCode,
+            GROUP_CONCAT(bc.name) courseName,
+            GROUP_CONCAT(concat(bc.name, '(',bc.code, ')')) courseNameCode,
             GROUP_CONCAT(edc.paper_number) paperNumber
         FROM
             exam_detail ed
                 LEFT JOIN
             exam_detail_course edc ON ed.id = edc.exam_detail_id
                 LEFT JOIN
+            basic_course bc ON edc.course_id = bc.id
+                LEFT JOIN
             basic_exam be ON ed.exam_id = be.id
         WHERE
             ed.id = #{examDetailId}

+ 22 - 9
distributed-print-business/src/main/resources/mapper/ExamDetailMapper.xml

@@ -94,10 +94,11 @@
                 JOIN
             (SELECT
                  edc.exam_detail_id,
-                 GROUP_CONCAT(CONCAT(edc.course_name, '(', edc.course_code, ')')) courseNameCode,
+                 GROUP_CONCAT(CONCAT(bc.name, '(', bc.code, ')')) courseNameCode,
                  GROUP_CONCAT(edc.paper_number) paperNumber
              FROM
                  exam_detail_course edc
+                    left join basic_course bc on edc.course_id = bc.id
              WHERE
                  EXISTS( SELECT
                              1
@@ -135,14 +136,14 @@
                          FROM
                              exam_task
                          WHERE
-                             exam_id = #{examId}) et ON edc.course_code = et.course_code
+                             exam_id = #{examId}) et ON edc.course_id = et.course_id
                             AND edc.paper_number = et.paper_number
                             LEFT JOIN
                                 sys_user su ON et.user_id = su.id
                     WHERE
                         ed.id = edc.exam_detail_id
-                        <if test="courseCode != null and courseCode != ''">
-                            and edc.course_code = #{courseCode}
+                        <if test="courseId != null">
+                            and edc.course_id = #{courseId}
                         </if>
                         <if test="paperNumber != null and paperNumber != ''">
                             and edc.paper_number = #{paperNumber}
@@ -152,7 +153,7 @@
                                 AND et.user_id = #{dpr.requestUserId}
                             </if>
                             <if test="dpr.courseUserId != null">
-                                AND EXISTS( SELECT 1 FROM (select course_code from teach_course where exam_id = #{examId} and user_id = #{dpr.courseUserId}) tc WHERE tc.course_code = et.course_code)
+                                AND EXISTS( SELECT 1 FROM (select course_id from teach_course where exam_id = #{examId} and user_id = #{dpr.courseUserId}) tc WHERE tc.course_id = et.course_id)
                             </if>
                             <if test="dpr.orgIdSet != null and dpr.orgIdSet != '' and dpr.orgIdSet.size > 0">
                                 AND su.org_id IN
@@ -760,8 +761,7 @@
             ed.school_id schoolId,
             be.semester_id semesterId,
             ed.exam_id examId,
-            edc.course_code courseCode,
-            edc.course_name courseName,
+            edc.course_id courseId,
             edc.paper_number paperNumber,
             et.id coursePaperId,
             edc.paper_type paperType,
@@ -823,12 +823,25 @@
           AND a.course_code = #{courseCode}
           AND a.paper_number = #{paperNumber}
     </select>
+    <select id="listByExamIdAndCourseIdAndPaperNumber"
+            resultType="com.qmth.distributed.print.business.entity.ExamDetail">
+        SELECT
+            b.*
+        FROM
+            exam_detail_course a
+                JOIN
+            exam_detail b ON a.exam_detail_id = b.id
+        WHERE
+            a.school_id = #{schoolId}
+          AND b.exam_id = #{examId}
+          AND a.course_id = #{courseId}
+          AND a.paper_number = #{paperNumber}
+    </select>
     <select id="listPrintFinishPackageCode"
             resultType="com.qmth.distributed.print.business.bean.dto.initMarkData.ExamDetailCourseInitMarkDto">
         SELECT
             ed.exam_id examId,
-            edc.course_code courseCode,
-            edc.course_name courseName,
+            edc.course_id courseId,
             edc.paper_number paperNumber,
             edc.course_paper_id coursePaperId,
             ed.package_code

+ 6 - 6
distributed-print-business/src/main/resources/mapper/ExamStudentMapper.xml

@@ -72,8 +72,8 @@
         es.update_id as updateId,
         es.update_time as updateTime,
         es.attachment_id as attachmentId,
-        edc.course_code as courseCode,
-        edc.course_name as courseName,
+        bc.code as courseCode,
+        bc.name as courseName,
         edc.paper_pages_a3 as paperPageA3,
         edc.paper_number as paperNumber,
         es.clazz_id clazzId,
@@ -84,10 +84,10 @@
         es.teacher_id teacherId,
         su.real_name teacherName
         from
-        exam_student es
-        left join exam_detail_course edc on
-        edc.id = es.exam_detail_course_id
-            left join sys_user su on es.teacher_id = su.id
+            exam_student es
+                left join exam_detail_course edc on edc.id = es.exam_detail_course_id
+                left join basic_course bc on edc.course_id = bc.id
+                left join sys_user su on es.teacher_id = su.id
         <where>
             <if test="schoolId != null and schoolId != ''">
                 and es.school_id = #{schoolId}

+ 48 - 97
distributed-print-business/src/main/resources/mapper/ExamTaskMapper.xml

@@ -33,8 +33,8 @@
         SELECT
         a.id,
         a.school_id schoolId,
-        a.course_code courseCode,
-        a.course_name courseName,
+        bc.code courseCode,
+        bc.name courseName,
         a.sequence,
         a.specialty,
         a.paper_number paperNumber,
@@ -87,6 +87,8 @@
         basic_exam f ON a.exam_id = f.id
         LEFT JOIN
         basic_semester g ON f.semester_id = g.id
+        LEFT JOIN
+            basic_course bc ON a.course_id = bc.id
         <where>
             and f.enable = true
             <if test="schoolId != null and schoolId != ''">
@@ -103,7 +105,7 @@
                     AND a.create_id = #{dpr.requestUserId}
                 </if>
                 <if test="dpr.courseUserId != null">
-                    AND EXISTS( SELECT 1 FROM (select course_code from teach_course where exam_id = #{examId} and user_id = #{dpr.courseUserId}) tc WHERE tc.course_code = a.course_code)
+                    AND EXISTS( SELECT 1 FROM (select course_id from teach_course where exam_id = #{examId} and user_id = #{dpr.courseUserId}) tc WHERE tc.course_id = a.course_id)
                 </if>
                 <if test="dpr.orgIdSet != null and dpr.orgIdSet != '' and dpr.orgIdSet.size > 0">
                     AND d.org_id IN
@@ -131,11 +133,8 @@
                     </otherwise>
                 </choose>
             </if>
-            <if test="cardRuleId != null and cardRuleId != ''">
-                and a.card_rule_id = #{cardRuleId}
-            </if>
-            <if test="courseCode != null and courseCode != ''">
-                and a.course_code = #{courseCode}
+            <if test="courseId != null">
+                and a.course_id = #{courseId}
             </if>
             <if test="paperNumber != null and paperNumber != ''">
                 and a.paper_number = #{paperNumber}
@@ -149,9 +148,6 @@
             <if test="userName != null and userName != ''">
                 and c.real_name like concat(#{userName},'%')
             </if>
-            <if test="createName != null and createName != ''">
-                and d.real_name like concat(#{createName},'%')
-            </if>
         </where>
         order by a.create_time desc
     </select>
@@ -182,8 +178,8 @@
         SELECT
             a.id,
             a.school_id schoolId,
-            a.course_code courseCode,
-            a.course_name courseName,
+            bc.code courseCode,
+            bc.name courseName,
             a.specialty,
             a.paper_number paperNumber,
             a.card_rule_id cardRuleId,
@@ -215,6 +211,8 @@
             tffj.type as flowType
         FROM
             exam_task a
+        LEFT JOIN
+            basic_course bc ON a.course_id = bc.id
         LEFT JOIN
             basic_card_rule b ON a.card_rule_id = b.id
         LEFT JOIN
@@ -246,11 +244,8 @@
             <if test="auditStatus != null">
                 and e.status = #{auditStatus}
             </if>
-            <if test="cardRuleId != null and cardRuleId != ''">
-                and a.card_rule_id = #{cardRuleId}
-            </if>
-            <if test="courseCode != null and courseCode != ''">
-                and a.course_code = #{courseCode}
+            <if test="courseId != null">
+                and a.course_id = #{courseId}
             </if>
             <if test="paperNumber != null and paperNumber != ''">
                 and a.paper_number = #{paperNumber}
@@ -274,15 +269,14 @@
         (SELECT distinct
         a.id,
         a.school_id schoolId,
-        a.course_code courseCode,
-        a.course_name courseName,
+        bc.code courseCode,
+        bc.name courseName,
         a.specialty,
         a.paper_number paperNumber,
         a.card_rule_id cardRuleId,
         case a.card_rule_id when -1 then '全部通卡' else b.name end cardRuleName,
         a.user_id userId,
         c.real_name userName,
-        d.real_name createName,
         a.start_time startTime,
         a.end_time endTime,
         a.enable,
@@ -304,26 +298,16 @@
         FROM ACT_RU_TASK art
         left join t_f_flow_join tffj on
         tffj.flow_id = art.PROC_INST_ID_
-        left join exam_task a on
-            a.id = tffj.object_id
-        left join act_ru_identitylink ari on
-            ari.TASK_ID_ = art.ID_
-        LEFT JOIN
-        basic_card_rule b ON a.card_rule_id = b.id
-        LEFT JOIN
-        sys_user c ON a.user_id = c.id
-        LEFT JOIN
-        sys_user d ON a.create_id = d.id
-        LEFT JOIN
-        exam_task_paper_log e ON a.id = e.exam_task_id AND e.review = false
-        LEFT JOIN
-        t_f_flow_approve f ON a.school_id = f.school_id and a.flow_id = f.flow_id
-        LEFT JOIN
-        sys_org so ON a.teaching_room_id = so.id
-        LEFT JOIN
-            basic_exam be on a.school_id = be.school_id and a.exam_id = be.id
-        LEFT JOIN
-            basic_semester bs on be.school_id = bs.school_id and be.semester_id = bs.id
+        left join exam_task a on a.id = tffj.object_id
+        left join basic_course bc on a.course_id = bc.id
+        left join act_ru_identitylink ari on ari.TASK_ID_ = art.ID_
+        LEFT JOIN basic_card_rule b ON a.card_rule_id = b.id
+        LEFT JOIN sys_user c ON a.user_id = c.id
+        LEFT JOIN exam_task_paper_log e ON a.id = e.exam_task_id AND e.review = false
+        LEFT JOIN t_f_flow_approve f ON a.school_id = f.school_id and a.flow_id = f.flow_id
+        LEFT JOIN sys_org so ON a.teaching_room_id = so.id
+        LEFT JOIN basic_exam be on a.school_id = be.school_id and a.exam_id = be.id
+        LEFT JOIN basic_semester bs on be.school_id = bs.school_id and be.semester_id = bs.id
         <where>
             a.enable = true
             AND a.review = true
@@ -340,8 +324,8 @@
             <if test="examId != null and examId != ''">
                 and be.id = #{examId}
             </if>
-            <if test="courseCode != null and courseCode != ''">
-                and a.course_code = #{courseCode}
+            <if test="courseId != null">
+                and a.course_id = #{courseId}
             </if>
             <if test="paperNumber != null and paperNumber != ''">
                 and a.paper_number = #{paperNumber}
@@ -349,9 +333,6 @@
             <if test="userId != null and userId != ''">
                 and a.user_id = #{userId}
             </if>
-            <if test="cardRuleId != null and cardRuleId != ''">
-                and a.card_rule_id = #{cardRuleId}
-            </if>
             <if test="startTime != null and startTime != ''">
                 and a.start_time &gt;= #{startTime}
             </if>
@@ -364,9 +345,6 @@
             <if test="endCreateTime != null and endCreateTime != ''">
                 and #{endCreateTime} >= a.create_time
             </if>
-            <if test="createName != null and createName != ''">
-                and d.real_name like concat('%',#{createName},'%')
-            </if>
         </where>
         ) t
         order by t.id desc
@@ -375,15 +353,14 @@
         SELECT
         distinct a.id,
         a.school_id schoolId,
-        a.course_code courseCode,
-        a.course_name courseName,
+        bc.code courseCode,
+        bc.name courseName,
         a.specialty,
         a.paper_number paperNumber,
         a.card_rule_id cardRuleId,
         case a.card_rule_id when -1 then '全部通卡' else b.name end cardRuleName,
         a.user_id userId,
         c.real_name userName,
-        d.real_name createName,
         a.start_time startTime,
         a.end_time endTime,
         f.status auditStatus,
@@ -404,22 +381,14 @@
         bs.name semesterName
         FROM
         exam_task a
-        left join t_f_flow_join tffj on
-            a.id = tffj.object_id
-        LEFT JOIN
-        basic_card_rule b ON a.card_rule_id = b.id
-        LEFT JOIN
-        sys_user c ON a.user_id = c.id
-        LEFT JOIN
-        sys_user d ON a.create_id = d.id
-        LEFT JOIN t_f_flow_approve f ON
-            a.school_id = f.school_id and a.flow_id = f.flow_id
-        LEFT JOIN
-            sys_org e ON a.teaching_room_id = e.id
-        LEFT JOIN
-            basic_exam be on a.school_id = be.school_id and a.exam_id = be.id
-        LEFT JOIN
-            basic_semester bs on be.school_id = bs.school_id and be.semester_id = bs.id
+        left join basic_course bc on a.course_id = bc.id
+        left join t_f_flow_join tffj on a.id = tffj.object_id
+        LEFT JOIN basic_card_rule b ON a.card_rule_id = b.id
+        LEFT JOIN sys_user c ON a.user_id = c.id
+        LEFT JOIN t_f_flow_approve f ON a.school_id = f.school_id and a.flow_id = f.flow_id
+        LEFT JOIN sys_org e ON a.teaching_room_id = e.id
+        LEFT JOIN basic_exam be on a.school_id = be.school_id and a.exam_id = be.id
+        LEFT JOIN basic_semester bs on be.school_id = bs.school_id and be.semester_id = bs.id
         <where>
             a.enable = true and a.review = true and be.enable = true
             and (f.status = 'AUDITING' or f.status = 'REJECT' or f.status = 'FINISH')
@@ -467,11 +436,8 @@
             <if test="examId != null and examId != ''">
                 and a.exam_id = #{examId}
             </if>
-            <if test="reviewStatus != null and reviewStatus != ''">
-                and a.review_status = #{reviewStatus}
-            </if>
-            <if test="courseCode != null and courseCode != ''">
-                and a.course_code = #{courseCode}
+            <if test="courseId != null">
+                and a.course_id = #{courseId}
             </if>
             <if test="paperNumber != null and paperNumber != ''">
                 and a.paper_number = #{paperNumber}
@@ -479,9 +445,6 @@
             <if test="userId != null and userId != ''">
                 and a.user_id = #{userId}
             </if>
-            <if test="cardRuleId != null and cardRuleId != ''">
-                and a.card_rule_id = #{cardRuleId}
-            </if>
             <if test="startTime != null and startTime != ''">
                 and a.start_time &gt;= #{startTime}
             </if>
@@ -494,9 +457,6 @@
             <if test="endCreateTime != null and endCreateTime != ''">
                 and #{endCreateTime} >= a.create_time
             </if>
-            <if test="createName != null and createName != ''">
-                and d.real_name like concat('%',#{createName},'%')
-            </if>
         </where>
         order by a.create_time desc
     </select>
@@ -506,14 +466,13 @@
         a.school_id schoolId,
         be.name examName,
         bs.name semesterName,
-        a.course_code courseCode,
-        a.course_name courseName,
+        bc.code courseCode,
+        bc.name courseName,
         a.specialty,
         a.paper_number paperNumber,
         a.user_id userId,
         a.card_rule_id cardRuleId,
         c.real_name userName,
-        d.real_name createName,
         a.start_time startTime,
         a.end_time endTime,
         a.create_id createId,
@@ -526,10 +485,11 @@
         WHEN - 1 THEN '全部通卡'
         ELSE e.name
         END cardRuleName,
-        -- f.make_method makeMethod,
         g.setup
         FROM
         exam_task a
+            LEFT JOIN
+            basic_course bc ON a.course_id = bc.id
         LEFT JOIN
         exam_task_detail b ON a.id = b.exam_task_id
         LEFT JOIN
@@ -537,10 +497,7 @@
         LEFT JOIN
         sys_user c ON a.user_id = c.id
         LEFT JOIN
-        sys_user d ON a.create_id = d.id
-        LEFT JOIN
         basic_card_rule e ON a.card_rule_id = e.id
-        -- JOIN exam_card f ON FIND_IN_SET(f.id, REPLACE(REPLACE(substring_index(substring_index(CONVERT((b.paper_attachment_ids ->>'$[*].cardId') USING utf8), ']', 1), '[',-1),' "','"'),'"',''))
         LEFT JOIN
         basic_exam be ON a.exam_id = be.id
         LEFT JOIN
@@ -556,8 +513,8 @@
             <if test="examId != null and examId != ''">
                 and a.exam_id = #{examId}
             </if>
-            <if test="courseCode != null and courseCode != ''">
-                and a.course_code = #{courseCode}
+            <if test="courseId != null">
+                and a.course_id = #{courseId}
             </if>
             <if test="paperNumber != null and paperNumber != ''">
                 and a.paper_number = #{paperNumber}
@@ -571,18 +528,12 @@
             <if test="containsQuestionTeacher">
                 and a.user_id = #{userId}
             </if>
-            <if test="cardRuleId != null and cardRuleId != ''">
-                and a.card_rule_id = #{cardRuleId}
-            </if>
-            <if test="makeMethod != null">
-                and f.make_method = #{makeMethod}
-            </if>
             <if test="dpr != null">
                 <if test="dpr.requestUserId != null">
                     AND a.create_id = #{dpr.requestUserId}
                 </if>
                 <if test="dpr.courseUserId != null">
-                    AND EXISTS( SELECT 1 FROM (select course_code from teach_course where exam_id = #{examId} and user_id = #{dpr.courseUserId}) tc WHERE tc.course_code = a.course_code)
+                    AND EXISTS( SELECT 1 FROM (select course_id from teach_course where exam_id = #{examId} and user_id = #{dpr.courseUserId}) tc WHERE tc.course_id = a.course_id)
                 </if>
                 <if test="dpr.orgIdSet != null and dpr.orgIdSet != '' and dpr.orgIdSet.size > 0">
                     AND a.org_id IN
@@ -930,8 +881,8 @@
             <if test="examId != null">
                 and et.exam_id = #{examId}
             </if>
-            <if test="courseCode != null and courseCode != ''">
-                and et.course_code = #{courseCode}
+            <if test="courseId != null">
+                and et.course_id = #{courseId}
             </if>
             <if test="paperNumber != null and paperNumber != ''">
                 and et.paper_number = #{paperNumber}

+ 0 - 44
distributed-print-business/src/main/resources/mapper/TeachCourseMapper.xml

@@ -44,50 +44,6 @@
         </where>
         ORDER BY tc.create_time DESC
     </select>
-    <select id="findTeacherTeamPage" resultType="com.qmth.teachcloud.common.bean.result.TeacherTeamResult">
-        SELECT
-            tc.id,
-            tc.user_id as userId,
-            su.real_name as userName,
-            su.code as userCode,
-            so.name as orgName
-        FROM
-            teach_course tc
-                LEFT JOIN
-            sys_user su ON tc.user_id = su.id
-                LEFT JOIN
-            sys_org so ON su.org_id = so.id
-        <where>
-            AND su.enable = true
-            <if test="courseCode != null and courseCode != ''">
-                AND tc.course_code = #{courseCode}
-            </if>
-            <if test="leaderId != null">
-                AND tc.create_id = #{leaderId}
-            </if>
-            <if test="userInfo != null and userInfo != ''">
-                AND (su.real_name LIKE CONCAT('%',#{userInfo},'%') OR su.code LIKE CONCAT('%',#{userInfo},'%'))
-            </if>
-        </where>
-    </select>
-    <select id="findTeacherByOrgIds" resultType="com.qmth.teachcloud.common.bean.result.TeacherSelectResult">
-        SELECT
-            su.id, su.code, su.real_name AS realName, so.name AS orgName
-        FROM
-            sys_user su
-                LEFT JOIN
-            sys_org so ON su.org_id = so.id
-        <where>
-            su.enable = true
-            <if test="orgIdList != null and orgIdList != '' and orgIdList.size() > 0">
-                AND su.org_id IN
-                <foreach collection="orgIdList" item="item" index="index" open="(" separator="," close=")">
-                    #{item}
-                </foreach>
-            </if>
-        </where>
-        ORDER BY so.id
-    </select>
 </mapper>
 
 

+ 0 - 13
distributed-print/install/mysql/upgrade/3.3.3.sql

@@ -36,17 +36,4 @@ ADD INDEX `operation_log_idx` USING BTREE (`school_id`, `user_id`, `privilege_id
 update basic_operation_log t set t.operation_type = 'SAVE' where t.operation_type = 'EDIT';
 update basic_operation_log t set t.operation_type = 'OTHER' where t.operation_type = 'UN_KNOW';
 
--- drop table if exists exam_detail_course_paper_type;
--- drop table if exists basic_template_org;
--- drop table if exists cloud_user_push_status;
--- drop table if exists exam_card_detail;
--- drop table if exists exam_paper_class_marker;
--- drop table if exists exam_paper_group;
--- drop table if exists exam_paper_group_marker;
--- drop table if exists exam_paper_structure;
--- drop table if exists exam_task_sync;
--- drop table if exists t_sync_exam_log;
--- drop table if exists t_sync_stmms_exam;
-
--- delete脚本需要加上新增的表
 

+ 53 - 0
distributed-print/install/mysql/upgrade/3.4.0.sql

@@ -14,10 +14,18 @@ ALTER TABLE `mark_paper` ADD COLUMN `course_id` BIGINT(20) NULL COMMENT '课程I
 ALTER TABLE `mark_task` ADD COLUMN `course_id` BIGINT(20) NULL COMMENT '课程ID(basic_course表ID)' AFTER `exam_id`;
 ALTER TABLE `teach_course` ADD COLUMN `course_id` BIGINT(20) NULL COMMENT '课程ID(basic_course表ID)' AFTER `exam_id`;
 ALTER TABLE `t_p_course` ADD COLUMN `course_id` BIGINT(20) NULL COMMENT '课程ID(basic_course表ID)' AFTER `professional_id`;
+ALTER TABLE `t_b_sync_task` ADD COLUMN `course_id` BIGINT(20) NULL COMMENT '课程ID(basic_course表ID)' AFTER `exam_id`;
+
 ALTER TABLE `basic_course` CHANGE COLUMN `org_id` `org_id` BIGINT NULL COMMENT '机构id' ;
 ALTER TABLE `basic_course` DROP INDEX `course_schoolId_code_idx` , ADD UNIQUE INDEX `uq_1` USING BTREE (`school_id`, `teaching_room_id`, `code`);
 ALTER TABLE `teach_course` CHANGE COLUMN `course_code` `course_code` VARCHAR(20) NULL COMMENT '课程代码' ;
 
+ALTER TABLE `mark_paper_package`
+    ADD COLUMN `course_id` BIGINT(20) NULL COMMENT '课程ID(basic_course表ID)' AFTER `exam_id`,
+CHANGE COLUMN `course_code` `course_code` VARCHAR(32) CHARACTER SET 'utf8mb4' NULL COMMENT '课程代码' ,
+CHANGE COLUMN `course_name` `course_name` VARCHAR(100) CHARACTER SET 'utf8mb4' NULL COMMENT '科目名称' ;
+
+
 ALTER TABLE `course_dimension`
     ADD COLUMN `course_id` BIGINT(20) NULL COMMENT '课程ID(basic_course表ID)' AFTER `exam_id`,
 CHANGE COLUMN `course_code` `course_code` VARCHAR(20) CHARACTER SET 'utf8mb4' NULL COMMENT '课程编号' ;
@@ -33,3 +41,48 @@ CHANGE COLUMN `course_code` `course_code` VARCHAR(20) CHARACTER SET 'utf8mb4' NU
 ALTER TABLE `course_weight`
     ADD COLUMN `course_id` BIGINT(20) NULL COMMENT '课程ID(basic_course表ID)' AFTER `exam_id`,
 CHANGE COLUMN `course_code` `course_code` VARCHAR(20) CHARACTER SET 'utf8mb4' NULL COMMENT '课程编号' ;
+
+ALTER TABLE `exam_task_temp`
+    ADD COLUMN `teaching_room_name` VARCHAR(100) NULL COMMENT '开课学院' AFTER `course_name`;
+
+ALTER TABLE `exam_task`
+    CHANGE COLUMN `course_code` `course_code` VARCHAR(20) NULL COMMENT '课程代码' ,
+    CHANGE COLUMN `course_name` `course_name` VARCHAR(50) NULL COMMENT '课程名称' ;
+
+ALTER TABLE `basic_teach_clazz`
+    ADD COLUMN `course_id` BIGINT(20) NULL COMMENT '课程ID(basic_course表ID)' AFTER `exam_id`;
+
+ALTER TABLE `basic_teach_clazz`
+    CHANGE COLUMN `course_code` `course_code` VARCHAR(20) CHARACTER SET 'utf8mb4' NULL COMMENT '课程编号' ;
+
+ALTER TABLE `basic_exam_student`
+    CHANGE COLUMN `course_code` `course_code` VARCHAR(20) CHARACTER SET 'utf8mb4' NULL COMMENT '课程编号' ,
+    CHANGE COLUMN `clazz_id` `clazz_id` BIGINT NULL COMMENT '教学班id(basic_teach_clazz)' ;
+
+ALTER TABLE `exam_detail_course`
+    CHANGE COLUMN `course_code` `course_code` VARCHAR(20) CHARACTER SET 'utf8mb4' NULL COMMENT '课程编码' ,
+    CHANGE COLUMN `course_name` `course_name` VARCHAR(50) CHARACTER SET 'utf8mb4' NULL COMMENT '课程名称' ;
+
+ALTER TABLE `sys_org` DROP COLUMN `third_relate_id`;
+
+ALTER TABLE `exam_student`
+    CHANGE COLUMN `student_name` `student_name` VARCHAR(100) CHARACTER SET 'utf8mb4' NULL COMMENT '考生姓名' ,
+    CHANGE COLUMN `student_code` `student_code` VARCHAR(100) CHARACTER SET 'utf8mb4' NULL COMMENT '考生代码' ;
+
+
+
+-- drop table if exists exam_detail_course_paper_type;
+-- drop table if exists basic_template_org;
+-- drop table if exists cloud_user_push_status;
+-- drop table if exists exam_card_detail;
+-- drop table if exists exam_paper_class_marker;
+-- drop table if exists exam_paper_group;
+-- drop table if exists exam_paper_group_marker;
+-- drop table if exists exam_paper_structure;
+-- drop table if exists exam_task_sync;
+-- drop table if exists t_sync_exam_log;
+-- drop table if exists t_sync_stmms_exam;
+-- drop table if exists basic_college;
+-- drop table if exists basic_campus;
+
+-- delete脚本需要加上新增的表

+ 0 - 60
distributed-print/src/main/java/com/qmth/distributed/print/api/BasicCampusController.java

@@ -1,60 +0,0 @@
-package com.qmth.distributed.print.api;
-
-
-import com.qmth.boot.api.constant.ApiConstant;
-import com.qmth.distributed.print.business.bean.result.EditResult;
-import com.qmth.teachcloud.common.bean.params.BasicCampusParams;
-import com.qmth.teachcloud.common.contant.SystemConstant;
-import com.qmth.teachcloud.common.service.BasicCampusService;
-import com.qmth.teachcloud.common.util.Result;
-import com.qmth.teachcloud.common.util.ResultUtil;
-import com.qmth.teachcloud.common.util.ServletUtil;
-import io.swagger.annotations.*;
-import org.springframework.validation.BindingResult;
-import org.springframework.web.bind.annotation.*;
-
-import javax.annotation.Resource;
-import javax.validation.Valid;
-
-/**
- * <p>
- * 基础校区表 前端控制器
- * </p>
- *
- * @author wangliang
- * @since 2021-08-02
- */
-@Api(tags = "校区管理controller")
-@RestController
-@RequestMapping(ApiConstant.DEFAULT_URI_PREFIX + SystemConstant.PREFIX_URL_BASIC + "/campus")
-//@Aac(strict = BOOL.FALSE, auth = BOOL.FALSE)
-public class BasicCampusController {
-    @Resource
-    private BasicCampusService basicCampusService;
-
-    @ApiOperation(value = "校区管理-查询")
-    @RequestMapping(value = "/query", method = RequestMethod.POST)
-    @ApiResponses({@ApiResponse(code = 200, message = "查询成功", response = Result.class)})
-    public Result findBasicCampusList() {
-        Long schoolId = SystemConstant.convertIdToLong(ServletUtil.getRequestHeaderSchoolId().toString());
-        return ResultUtil.ok(basicCampusService.basicCampusList(schoolId));
-    }
-
-    @ApiOperation(value = "校区管理-新增/编辑")
-    @RequestMapping(value = "/save", method = RequestMethod.POST)
-    @ApiResponses({@ApiResponse(code = 200, message = "更新成功", response = EditResult.class)})
-    public Result saveBasicCampus(@Valid @RequestBody BasicCampusParams basicCampusParams, BindingResult bindingResult) {
-        if (bindingResult.hasErrors()) {
-            return ResultUtil.error(bindingResult.getAllErrors().get(0).getDefaultMessage());
-        }
-        return ResultUtil.ok(basicCampusService.saveBasicCampus(basicCampusParams));
-    }
-
-    @ApiOperation(value = "校区管理-删除(逻辑)")
-    @RequestMapping(value = "/delete", method = RequestMethod.POST)
-    @ApiResponses({@ApiResponse(code = 200, message = "删除成功", response = EditResult.class)})
-    public Result deleteBasicCampus(@ApiParam(value = "校区id", required = true) @RequestParam String id) {
-        return ResultUtil.ok(basicCampusService.removeBasicCampusById(SystemConstant.convertIdToLong(id)));
-    }
-
-}

+ 0 - 72
distributed-print/src/main/java/com/qmth/distributed/print/api/BasicCollegeController.java

@@ -1,72 +0,0 @@
-package com.qmth.distributed.print.api;
-
-import com.qmth.boot.api.constant.ApiConstant;
-import com.qmth.distributed.print.business.bean.result.EditResult;
-import com.qmth.teachcloud.common.annotation.OperationLogDetail;
-import com.qmth.teachcloud.common.bean.params.BasicCollegeParams;
-import com.qmth.teachcloud.common.bean.result.BasicCollegeResult;
-import com.qmth.teachcloud.common.contant.SystemConstant;
-import com.qmth.teachcloud.common.entity.SysUser;
-import com.qmth.teachcloud.common.enums.ExceptionResultEnum;
-import com.qmth.teachcloud.common.enums.log.OperationTypeEnum;
-import com.qmth.teachcloud.common.service.BasicCollegeService;
-import com.qmth.teachcloud.common.util.Result;
-import com.qmth.teachcloud.common.util.ResultUtil;
-import com.qmth.teachcloud.common.util.ServletUtil;
-import io.swagger.annotations.*;
-import org.springframework.validation.BindingResult;
-import org.springframework.web.bind.annotation.*;
-
-import javax.annotation.Resource;
-import javax.validation.Valid;
-import javax.validation.constraints.Max;
-import javax.validation.constraints.Min;
-import java.util.List;
-import java.util.stream.Collectors;
-
-/**
- * @Description: 基础学院前端控制器
- * @Author: CaoZixuan
- * @Date: 2022-08-17
- */
-@Api(tags = "学生学院管理controller")
-@RestController
-@RequestMapping(ApiConstant.DEFAULT_URI_PREFIX + SystemConstant.PREFIX_URL_BASIC + "/college")
-public class BasicCollegeController {
-    @Resource
-    private BasicCollegeService basicCollegeService;
-
-    @ApiOperation(value = "学生学院管理-查询")
-    @RequestMapping(value = "/query", method = RequestMethod.POST)
-    @ApiResponses({@ApiResponse(code = 200, message = "查询成功", response = BasicCollegeResult.class)})
-    public Result findBasicCollegeList(@ApiParam(value = "学生学院名称") @RequestParam(required = false) String collegeName,
-                                       @ApiParam(value = "分页页码", required = true) @RequestParam @Min(SystemConstant.PAGE_NUMBER_MIN) Integer pageNumber,
-                                       @ApiParam(value = "分页数", required = true) @RequestParam @Min(SystemConstant.PAGE_SIZE_MIN) @Max(SystemConstant.PAGE_SIZE_MAX) Integer pageSize) {
-        Long schoolId = SystemConstant.convertIdToLong(ServletUtil.getRequestHeaderSchoolId().toString());
-        return ResultUtil.ok(basicCollegeService.basicCollegePage(schoolId, collegeName, pageNumber, pageSize));
-    }
-
-    @ApiOperation(value = "学生学院管理-新增/编辑")
-    @RequestMapping(value = "/save", method = RequestMethod.POST)
-    @ApiResponses({@ApiResponse(code = 200, message = "更新成功", response = EditResult.class)})
-    @OperationLogDetail(operationType = OperationTypeEnum.SAVE)
-    public Result saveBasicCollege(@Valid @RequestBody BasicCollegeParams basicCollegeParams, BindingResult bindingResult) throws IllegalAccessException {
-        if (bindingResult.hasErrors()) {
-            return ResultUtil.error(bindingResult.getAllErrors().get(0).getDefaultMessage());
-        }
-        SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
-        return ResultUtil.ok(basicCollegeService.saveBasicCollege(basicCollegeParams, sysUser));
-    }
-
-    @ApiOperation(value = "学生学院管理-删除")
-    @RequestMapping(value = "/delete", method = RequestMethod.POST)
-    @ApiResponses({@ApiResponse(code = 200, message = "删除成功", response = EditResult.class)})
-    @OperationLogDetail(operationType = OperationTypeEnum.DELETE)
-    public Result deleteBasicCollege(@ApiParam(value = "学生学院id", required = true) @RequestParam List<String> idList) {
-        if (idList.size() == 0) {
-            throw ExceptionResultEnum.ERROR.exception("请选择要删除的学生学院");
-        }
-        List<Long> newIdList = idList.stream().map(SystemConstant::convertIdToLong).collect(Collectors.toList());
-        return ResultUtil.ok(basicCollegeService.deleteBasicCollegeByIdList(newIdList));
-    }
-}

+ 1 - 8
distributed-print/src/main/java/com/qmth/distributed/print/api/BasicCourseController.java

@@ -63,13 +63,6 @@ public class BasicCourseController {
         return ResultUtil.ok(userDtos);
     }
 
-    @ApiOperation(value = "删除")
-    @RequestMapping(value = "/remove", method = RequestMethod.POST)
-    @OperationLogDetail(operationType = OperationTypeEnum.DELETE, detail = "删除操作,课程ID:{{course.id}}")
-    public Result remove(@RequestBody BasicCourse course) {
-        boolean isSuccess = printCommonService.remove(course.getId());
-        return ResultUtil.ok(isSuccess);
-    }
 
     @ApiOperation(value = "课程管理-查询")
     @RequestMapping(value = "/list", method = RequestMethod.POST)
@@ -99,7 +92,7 @@ public class BasicCourseController {
     @ApiOperation(value = "课程管理-批量删除")
     @RequestMapping(value = "/delete_batch", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "删除成功", response = EditResult.class)})
-    @OperationLogDetail(operationType = OperationTypeEnum.DELETE)
+    @OperationLogDetail(operationType = OperationTypeEnum.DELETE, detail = "删除操作,id集合:{{idList}}")
     public Result enableBasicCourse(@ApiParam(value = "选择的要删除的课程id集合", required = true) @RequestParam List<Long> idList) {
         return ResultUtil.ok(basicCourseService.removeBasicCourseBatch(idList));
     }

+ 5 - 6
distributed-print/src/main/java/com/qmth/distributed/print/api/BasicExamStudentController.java

@@ -56,7 +56,7 @@ public class BasicExamStudentController {
     @ApiResponses({@ApiResponse(code = 200, message = "查询成功", response = BasicExamStudentResult.class)})
     public Result findBasicExamStudentPage(@ApiParam(value = "学期id") @RequestParam(required = false) String semesterId,
                                            @ApiParam(value = "考试id") @RequestParam(required = false) String examId,
-                                           @ApiParam(value = "课程代码") @RequestParam(required = false) String courseCode,
+                                           @ApiParam(value = "课程ID") @RequestParam(required = false) Long courseId,
                                            @ApiParam(value = "教师(工号/姓名)") @RequestParam(required = false) String teacher,
                                            @ApiParam(value = "学院") @RequestParam(required = false) String college,
                                            @ApiParam(value = "专业") @RequestParam(required = false) String major,
@@ -71,7 +71,7 @@ public class BasicExamStudentController {
             throw ExceptionResultEnum.ERROR.exception("请选择考试");
         }
         return ResultUtil.ok(basicExamStudentService.page(SystemConstant.convertIdToLong(semesterId),
-                SystemConstant.convertIdToLong(examId), courseCode, teacher, college, major, teachClazz,
+                SystemConstant.convertIdToLong(examId), courseId, teacher, college, major, teachClazz,
                 examStudentInfo, pageNumber, pageSize));
     }
 
@@ -118,10 +118,9 @@ public class BasicExamStudentController {
     @ApiOperation(value = "删除")
     @RequestMapping(value = "/delete", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "删除成功", response = Result.class)})
-    @OperationLogDetail(operationType = OperationTypeEnum.DELETE)
-    public Result deleteBasicExamStudent(@ApiParam(value = "选择要删除的考生id集合", required = true) @RequestParam List<String> idList) {
-        basicExamStudentService.deleteBatch(
-                idList.stream().map(SystemConstant::convertIdToLong).collect(Collectors.toList()));
+    @OperationLogDetail(operationType = OperationTypeEnum.DELETE, detail = "删除操作,考生ID集合:{{idList}}")
+    public Result deleteBasicExamStudent(@ApiParam(value = "考生id集合", required = true) @RequestParam List<Long> idList) {
+        basicExamStudentService.deleteBatch(idList);
         return ResultUtil.ok();
     }
 }

+ 2 - 10
distributed-print/src/main/java/com/qmth/distributed/print/api/ConditionController.java

@@ -60,8 +60,8 @@ public class ConditionController {
     @RequestMapping(value = "/list_paper_number", method = RequestMethod.POST)
     @ApiResponses({ @ApiResponse(code = 200, message = "查询成功", response = String.class) })
     public Result listPaperNumber(@ApiParam(value = "学期ID") @RequestParam(required = false) Long semesterId, @ApiParam(value = "考试ID") @RequestParam(required = false) Long examId,
-            @ApiParam(value = "课程代码") @RequestParam(required = false) String courseCode, @RequestParam(value = "printPlanId", required = false) List<String> printPlanId) {
-        return ResultUtil.ok(conditionService.listPaperNumber(semesterId, examId, courseCode, printPlanId));
+            @ApiParam(value = "课程代码") @RequestParam(required = false) Long courseId, @RequestParam(value = "printPlanId", required = false) List<String> printPlanId) {
+        return ResultUtil.ok(conditionService.listPaperNumber(semesterId, examId, courseId, printPlanId));
     }
 
     @ApiOperation(value = "印刷计划")
@@ -72,14 +72,6 @@ public class ConditionController {
         return ResultUtil.ok(conditionService.listPrintPlan(semesterId, examId, source));
     }
 
-    @ApiOperation(value = "班级")
-    @RequestMapping(value = "/list_clazz", method = RequestMethod.POST)
-    @ApiResponses({ @ApiResponse(code = 200, message = "查询成功", response = BasicClazz.class) })
-    public Result listClazz(@ApiParam(value = "学期ID") @RequestParam(required = false) Long semesterId, @ApiParam(value = "考试ID") @RequestParam(required = false) Long examId,
-            @ApiParam(value = "课程代码") @RequestParam(required = false) String courseCode, @ApiParam(value = "班级名称") @RequestParam(required = false) String clazzName) {
-        return ResultUtil.ok(conditionService.listClazz(semesterId, examId, courseCode, clazzName));
-    }
-
     @ApiOperation(value = "学院")
     @RequestMapping(value = "/list_college", method = RequestMethod.POST)
     @ApiResponses({ @ApiResponse(code = 200, message = "查询成功", response = SysOrg.class) })

+ 6 - 11
distributed-print/src/main/java/com/qmth/distributed/print/api/ExamCardController.java

@@ -119,17 +119,12 @@ public class ExamCardController {
         return ResultUtil.ok(examCard);
     }
 
-    /**
-     * 选择已有题卡列表
-     *
-     * @param examId     考试id
-     * @param courseCode 课程编号
-     * @return 结果
-     */
     @ApiOperation(value = "选择已有题卡列表")
     @RequestMapping(value = "/select_card_list", method = RequestMethod.POST)
-    public Result selectCardList(@RequestParam Long examId, @RequestParam String courseCode, @RequestParam(required = false) String paperNumber) {
-        List<ExamCard> list = examCardService.listSelectCard(courseCode, examId, paperNumber);
+    public Result selectCardList(@ApiParam(value = "考试ID") @RequestParam Long examId,
+                                 @ApiParam(value = "课程ID") @RequestParam Long courseId,
+                                 @ApiParam(value = "试卷编号") @RequestParam(required = false) String paperNumber) {
+        List<ExamCard> list = examCardService.listSelectCard(examId, courseId, paperNumber);
         return ResultUtil.ok(list);
     }
 
@@ -142,8 +137,8 @@ public class ExamCardController {
     @RequestMapping(value = "/copy", method = RequestMethod.POST)
     @OperationLogDetail(operationType = OperationTypeEnum.UPDATE, detail = "复制题卡操作,题卡ID:{{id}}")
     public Result copyCard(@RequestParam(value = "id") String id,
-                           @RequestParam(value = "courseCode") String courseCode) {
-        Long copyCardId = examCardService.copyCard(SystemConstant.convertIdToLong(id), courseCode);
+                           @RequestParam(value = "courseId") Long courseId) {
+        Long copyCardId = examCardService.copyCard(SystemConstant.convertIdToLong(id), courseId);
         return ResultUtil.ok(String.valueOf(copyCardId), "");
     }
 

+ 2 - 2
distributed-print/src/main/java/com/qmth/distributed/print/api/ExamPrintTaskController.java

@@ -66,7 +66,7 @@ public class ExamPrintTaskController {
                            @ApiParam(value = "考试ID") @RequestParam(required = false) String examId,
                            @ApiParam(value = "印刷计划ID") @RequestParam(value = "printPlanId", required = false) Long printPlanId,
                            @ApiParam(value = "印刷计划状态") @RequestParam(value = "status", required = false) String status,
-                           @ApiParam(value = "课程代码") @RequestParam(value = "courseCode", required = false) String courseCode,
+                           @ApiParam(value = "课程ID") @RequestParam(value = "courseId", required = false) Long courseId,
                            @ApiParam(value = "试卷编号") @RequestParam(value = "paperNumber", required = false) String paperNumber,
                            @ApiParam(value = "考点") @RequestParam(value = "examPlace", required = false) String examPlace,
                            @ApiParam(value = "考场") @RequestParam(value = "examRoom", required = false) String examRoom,
@@ -83,7 +83,7 @@ public class ExamPrintTaskController {
         if (examId == null) {
             throw ExceptionResultEnum.EXAM_ID_IS_NULL.exception();
         }
-        IPage<PrintTaskDto> examTasks = examDetailService.listPrintTask(SystemConstant.convertIdToLong(semesterId), SystemConstant.convertIdToLong(examId), printPlanId, status, courseCode, paperNumber, examPlace, examRoom, examStartTime, examEndTime, printStartTime, printEndTime, SystemConstant.convertIdToLong(printHouseId), pageNumber, pageSize);
+        IPage<PrintTaskDto> examTasks = examDetailService.listPrintTask(SystemConstant.convertIdToLong(semesterId), SystemConstant.convertIdToLong(examId), printPlanId, status, courseId, paperNumber, examPlace, examRoom, examStartTime, examEndTime, printStartTime, printEndTime, SystemConstant.convertIdToLong(printHouseId), pageNumber, pageSize);
         return ResultUtil.ok(examTasks);
     }
 

+ 19 - 39
distributed-print/src/main/java/com/qmth/distributed/print/api/ExamTaskApplyController.java

@@ -52,54 +52,34 @@ public class ExamTaskApplyController {
 
     @Resource
     private ExamTaskService examTaskService;
-
     @Resource
     private PrintCommonService printCommonService;
-
     @Resource
     private ExamTaskPrintService examTaskPrintService;
-
     @Resource
-    TaskService taskService;
-
+    private TaskService taskService;
     @Resource
-    ActivitiService activitiService;
-
+    private ActivitiService activitiService;
     @Resource
-    TFFlowJoinService tfFlowJoinService;
+    private TFFlowJoinService tfFlowJoinService;
 
 
-    /**
-     * 入库申请-查询
-     *
-     * @param auditStatus
-     * @param cardRuleId
-     * @param courseCode
-     * @param paperNumber
-     * @param startTime
-     * @param endTime
-     * @param userName    命题老师名称
-     * @param pageNumber
-     * @param pageSize
-     * @return
-     */
     @ApiOperation(value = "入库申请-分页查询")
     @RequestMapping(value = "/apply_list", method = RequestMethod.POST)
-    public Result taskApplyList(@RequestParam(value = "semesterId", required = false) Long semesterId,
-                                @RequestParam(value = "examId", required = false) Long examId,
-                                @RequestParam(value = "auditStatus", required = false) String auditStatus,
-                                @RequestParam(value = "cardRuleId", required = false) String cardRuleId,
-                                @RequestParam(value = "courseCode", required = false) String courseCode,
-                                @RequestParam(value = "paperNumber", required = false) String paperNumber,
-                                @RequestParam(value = "startTime", required = false) Long startTime,
-                                @RequestParam(value = "endTime", required = false) Long endTime,
-                                @RequestParam(value = "userName", required = false) String userName,
-                                @RequestParam @Min(SystemConstant.PAGE_NUMBER_MIN) Integer pageNumber,
-                                @RequestParam @Min(SystemConstant.PAGE_SIZE_MIN) @Max(SystemConstant.PAGE_SIZE_MAX) Integer pageSize) {
+    public Result taskApplyList(@ApiParam(value = "学期ID") @RequestParam(value = "semesterId", required = false) Long semesterId,
+                                @ApiParam(value = "考试ID") @RequestParam(value = "examId", required = false) Long examId,
+                                @ApiParam(value = "课程ID") @RequestParam(value = "courseId", required = false) Long courseId,
+                                @ApiParam(value = "试卷编号") @RequestParam(value = "paperNumber", required = false) String paperNumber,
+                                @ApiParam(value = "审核状态") @RequestParam(value = "auditStatus", required = false) String auditStatus,
+                                @ApiParam(value = "命题老师") @RequestParam(value = "userName", required = false) String userName,
+                                @ApiParam(value = "命题时间(开始)") @RequestParam(value = "startTime", required = false) Long startTime,
+                                @ApiParam(value = "命题时间(结束)") @RequestParam(value = "endTime", required = false) Long endTime,
+                                @ApiParam(value = "分页参数") @RequestParam @Min(SystemConstant.PAGE_NUMBER_MIN) Integer pageNumber,
+                                @ApiParam(value = "分页参数") @RequestParam @Min(SystemConstant.PAGE_SIZE_MIN) @Max(SystemConstant.PAGE_SIZE_MAX) Integer pageSize) {
         if (examId == null) {
             throw ExceptionResultEnum.EXAM_ID_IS_NULL.exception();
         }
-        return ResultUtil.ok(examTaskService.listTaskApply(semesterId, examId, auditStatus, SystemConstant.convertIdToLong(cardRuleId), courseCode, paperNumber, startTime, endTime, userName, pageNumber, pageSize));
+        return ResultUtil.ok(examTaskService.listTaskApply(semesterId, examId, auditStatus, courseId, paperNumber, startTime, endTime, userName, pageNumber, pageSize));
     }
 
     /**
@@ -165,7 +145,7 @@ public class ExamTaskApplyController {
         ExamTask examTask = examTaskService.getById(examTaskDetail.getExamTaskId());
         if (examTaskDetail.getOperateType().equals(ExamStatusEnum.SUBMIT.name()) && (Objects.nonNull(examTask.getReview()) && !examTask.getReview())) {
             // 校验是否可以提交打印状态
-            printCommonService.checkExamDataAndCreatePdfTask(examTask.getSchoolId(), examTask.getExamId(), examTask.getCourseCode(), examTask.getPaperNumber(), (SysUser) ServletUtil.getRequestUser());
+            printCommonService.checkExamDataAndCreatePdfTask(examTask.getSchoolId(), examTask.getExamId(), examTask.getCourseId(), examTask.getPaperNumber(), (SysUser) ServletUtil.getRequestUser());
         }
         Boolean sendFlowMq = (Boolean) map.get(SystemConstant.SEND_FLOW_MQ);
         if (Objects.nonNull(sendFlowMq) && sendFlowMq) {
@@ -205,7 +185,7 @@ public class ExamTaskApplyController {
         ExamTask examTask = (ExamTask) map.get(SystemConstant.EXAM_TASK);
         if (Objects.nonNull(examTask.getReview()) && !examTask.getReview()) {
             // 校验是否可以提交打印状态
-            printCommonService.checkExamDataAndCreatePdfTask(examTask.getSchoolId(), examTask.getExamId(), examTask.getCourseCode(), examTask.getPaperNumber(), (SysUser) ServletUtil.getRequestUser());
+            printCommonService.checkExamDataAndCreatePdfTask(examTask.getSchoolId(), examTask.getExamId(), examTask.getCourseId(), examTask.getPaperNumber(), (SysUser) ServletUtil.getRequestUser());
         }
         Boolean sendFlowStartMq = (Boolean) map.get(SystemConstant.SEND_FLOW_START_MQ);
         Boolean sendFlowMq = (Boolean) map.get(SystemConstant.SEND_FLOW_MQ);
@@ -247,12 +227,12 @@ public class ExamTaskApplyController {
     @RequestMapping(value = "/find_exam_task_student_object", method = RequestMethod.POST)
     @Transactional(rollbackFor = Exception.class)
     @ApiResponses({@ApiResponse(code = 200, message = "{\"success\":true}", response = Result.class)})
-    public Result findExamTaskStudentObject(@RequestParam(required = false) String examId,
-                                            @RequestParam(required = false) String courseCode,
+    public Result findExamTaskStudentObject(@RequestParam(required = false) Long examId,
+                                            @RequestParam(required = false) Long courseId,
                                             @RequestParam(required = false) String teacher,
                                             @RequestParam(required = false) String className) throws Exception {
         SysUser requestUser = (SysUser) ServletUtil.getRequestUser();
-        return ResultUtil.ok(examTaskService.findExamTaskStudentObject(SystemConstant.convertIdToLong(examId), courseCode, teacher, className, requestUser));
+        return ResultUtil.ok(examTaskService.findExamTaskStudentObject(examId, courseId, teacher, className, requestUser));
     }
 
     @ApiOperation(value = "入库申请-导入考生对象")

+ 30 - 64
distributed-print/src/main/java/com/qmth/distributed/print/api/ExamTaskAuditController.java

@@ -74,79 +74,45 @@ public class ExamTaskAuditController {
         return ResultUtil.ok();
     }
 
-    /**
-     * 入库审核-查询-未审核
-     *
-     * @param courseCode
-     * @param paperNumber
-     * @param userId
-     * @param cardRuleId
-     * @param startTime
-     * @param endTime
-     * @param startCreateTime 申请时间-起始
-     * @param endCreateTime   申请时间-终止
-     * @param createName      创建人
-     * @param pageNumber
-     * @param pageSize
-     * @return
-     */
     @ApiOperation(value = "入库审核-查询-未审核")
     @RequestMapping(value = "/review_list_unaudited", method = RequestMethod.POST)
-    public Result taskReviewListUnaudited(@RequestParam(value = "semesterId", required = false) Long semesterId,
-                                          @RequestParam(value = "examId", required = false) Long examId,
-                                          @RequestParam(value = "courseCode", required = false) String courseCode,
-                                          @RequestParam(value = "paperNumber", required = false) String paperNumber,
-                                          @RequestParam(value = "userId", required = false) Long userId,
-                                          @RequestParam(value = "cardRuleId", required = false) String cardRuleId,
-                                          @RequestParam(value = "startTime", required = false) Long startTime,
-                                          @RequestParam(value = "endTime", required = false) Long endTime,
-                                          @RequestParam(value = "startCreateTime", required = false) Long startCreateTime,
-                                          @RequestParam(value = "endCreateTime", required = false) Long endCreateTime,
-                                          @RequestParam(value = "createName", required = false) String createName,
-                                          @RequestParam @Min(SystemConstant.PAGE_NUMBER_MIN) Integer pageNumber,
-                                          @RequestParam @Min(SystemConstant.PAGE_SIZE_MIN) @Max(SystemConstant.PAGE_SIZE_MAX) Integer pageSize) {
-        if(examId == null){
+    public Result taskReviewListUnaudited(@ApiParam(value = "学期ID") @RequestParam(value = "semesterId", required = false) Long semesterId,
+                                          @ApiParam(value = "考试ID") @RequestParam(value = "examId", required = false) Long examId,
+                                          @ApiParam(value = "课程ID") @RequestParam(value = "courseId", required = false) Long courseId,
+                                          @ApiParam(value = "试卷编号") @RequestParam(value = "paperNumber", required = false) String paperNumber,
+                                          @ApiParam(value = "命题老师ID") @RequestParam(value = "userId", required = false) Long userId,
+                                          @ApiParam(value = "命题时间(开始)") @RequestParam(value = "startTime", required = false) Long startTime,
+                                          @ApiParam(value = "命题时间(结束)") @RequestParam(value = "endTime", required = false) Long endTime,
+                                          @ApiParam(value = "申请时间(开始)") @RequestParam(value = "startCreateTime", required = false) Long startCreateTime,
+                                          @ApiParam(value = "申请时间(结束)") @RequestParam(value = "endCreateTime", required = false) Long endCreateTime,
+                                          @ApiParam(value = "分页参数") @RequestParam @Min(SystemConstant.PAGE_NUMBER_MIN) Integer pageNumber,
+                                          @ApiParam(value = "分页参数") @RequestParam @Min(SystemConstant.PAGE_SIZE_MIN) @Max(SystemConstant.PAGE_SIZE_MAX) Integer pageSize) {
+        if (semesterId == null) {
+            throw ExceptionResultEnum.SEMESTER_ID_IS_NULL.exception();
+        }
+        if (examId == null) {
             throw ExceptionResultEnum.EXAM_ID_IS_NULL.exception();
         }
-        return ResultUtil.ok(examTaskService.listTaskReviewUnaudited(semesterId, examId, courseCode, paperNumber, userId, SystemConstant.convertIdToLong(cardRuleId), startTime, endTime, startCreateTime, endCreateTime, createName, pageNumber, pageSize));
+        return ResultUtil.ok(examTaskService.listTaskReviewUnaudited(semesterId, examId, courseId, paperNumber, userId, startTime, endTime, startCreateTime, endCreateTime, pageNumber, pageSize));
     }
 
-    /**
-     * 入库审核-查询-未审核
-     *
-     * @param courseCode      课程代码
-     * @param paperNumber     试卷编号
-     * @param userId          命题老师ID
-     * @param cardRuleId      题卡规则ID
-     * @param startTime       开始时间
-     * @param endTime         结束时间
-     * @param startCreateTime 申请时间-起始
-     * @param endCreateTime   申请时间-终止
-     * @param createName      创建人
-     * @param pageNumber      分页参数
-     * @param pageSize        分页参数
-     * @return Result
-     */
     @ApiOperation(value = "入库审核-查询-已审核")
     @RequestMapping(value = "/review_list_audited", method = RequestMethod.POST)
-    public Result taskReviewListAudited(@RequestParam(value = "semesterId", required = false) Long semesterId,
-                                        @RequestParam(value = "examId", required = false) Long examId,
-                                        @RequestParam(value = "reviewStatus", required = false) String reviewStatus,
-                                        @RequestParam(value = "courseCode", required = false) String courseCode,
-                                        @RequestParam(value = "paperNumber", required = false) String paperNumber,
-                                        @RequestParam(value = "userId", required = false) Long userId,
-                                        @RequestParam(value = "cardRuleId", required = false) String cardRuleId,
-                                        @RequestParam(value = "startTime", required = false) Long startTime,
-                                        @RequestParam(value = "endTime", required = false) Long endTime,
-                                        @RequestParam(value = "startCreateTime", required = false) Long startCreateTime,
-                                        @RequestParam(value = "endCreateTime", required = false) Long endCreateTime,
-                                        @RequestParam(value = "createName", required = false) String createName,
-                                        @RequestParam @Min(SystemConstant.PAGE_NUMBER_MIN) Integer pageNumber,
-                                        @RequestParam @Min(SystemConstant.PAGE_SIZE_MIN) @Max(SystemConstant.PAGE_SIZE_MAX) Integer pageSize) {
-        if(examId == null){
+    public Result taskReviewListAudited(@ApiParam(value = "学期ID") @RequestParam(value = "semesterId", required = false) Long semesterId,
+                                        @ApiParam(value = "考试ID") @RequestParam(value = "examId", required = false) Long examId,
+                                        @ApiParam(value = "课程ID") @RequestParam(value = "courseId", required = false) Long courseId,
+                                        @ApiParam(value = "试卷编号") @RequestParam(value = "paperNumber", required = false) String paperNumber,
+                                        @ApiParam(value = "命题老师ID") @RequestParam(value = "userId", required = false) Long userId,
+                                        @ApiParam(value = "命题时间(开始)") @RequestParam(value = "startTime", required = false) Long startTime,
+                                        @ApiParam(value = "命题时间(结束)") @RequestParam(value = "endTime", required = false) Long endTime,
+                                        @ApiParam(value = "申请时间(开始)") @RequestParam(value = "startCreateTime", required = false) Long startCreateTime,
+                                        @ApiParam(value = "申请时间(结束)") @RequestParam(value = "endCreateTime", required = false) Long endCreateTime,
+                                        @ApiParam(value = "分页参数") @RequestParam @Min(SystemConstant.PAGE_NUMBER_MIN) Integer pageNumber,
+                                        @ApiParam(value = "分页参数") @RequestParam @Min(SystemConstant.PAGE_SIZE_MIN) @Max(SystemConstant.PAGE_SIZE_MAX) Integer pageSize) {
+        if (examId == null) {
             throw ExceptionResultEnum.EXAM_ID_IS_NULL.exception();
         }
-        return ResultUtil.ok(examTaskService.listTaskReviewAudited(semesterId, examId, reviewStatus, courseCode, paperNumber, userId, SystemConstant.convertIdToLong(cardRuleId), startTime, endTime, startCreateTime, endCreateTime, createName, pageNumber, pageSize));
+        return ResultUtil.ok(examTaskService.listTaskReviewAudited(semesterId, examId, courseId, paperNumber, userId, startTime, endTime, startCreateTime, endCreateTime, pageNumber, pageSize));
     }
 
     /**
@@ -157,7 +123,7 @@ public class ExamTaskAuditController {
     @ApiOperation(value = "入库审核-查询-已审核数量")
     @RequestMapping(value = "/review_list_audited_count", method = RequestMethod.POST)
     public Result taskReviewListAuditedCount() {
-        int taskReviewAuditedCount = examTaskService.listTaskReviewAudited(null, null, null, null, null, null, null, null, null, null, null, null, SystemConstant.PAGE_NUMBER, SystemConstant.PAGE_SIZE).getRecords().size();
+        int taskReviewAuditedCount = examTaskService.listTaskReviewAudited(null, null, null, null, null, null, null, null, null, SystemConstant.PAGE_NUMBER, SystemConstant.PAGE_SIZE).getRecords().size();
         long paperCount = markPaperService.countByPropositionTeacherId(true);
         long gradeCount = gradeInitializeService.countByPropositionTeacherId(GradeAnalyzePaperStatusEnum.SETTING_GRADE_PAPER_PARAM, true);
         return ResultUtil.ok(taskReviewAuditedCount + paperCount + gradeCount);

+ 16 - 36
distributed-print/src/main/java/com/qmth/distributed/print/api/ExamTaskController.java

@@ -48,57 +48,37 @@ public class ExamTaskController {
 
     @Resource
     private ExamTaskService examTaskService;
-
     @Resource
     private BasicAttachmentService basicAttachmentService;
-
     @Resource
     private PrintCommonService printCommonService;
-
     @Resource
     private ExamTaskPrintService examTaskPrintService;
-
     @Resource
     ActivitiService activitiService;
-
     @Resource
     ExamTaskApplyTempService examTaskApplyTempService;
 
-    /**
-     * 命题任务管理-查询
-     *
-     * @param enable      正常/禁用
-     * @param status      状态
-     * @param cardRuleId  题卡规则ID
-     * @param courseCode  课程代码
-     * @param paperNumber 试卷编号
-     * @param startTime   开始时间
-     * @param endTime     结束时间
-     * @param userName    命题老师名称
-     * @param createName  创建人名称
-     * @param pageNumber  分页参数
-     * @param pageSize    分页参数
-     * @return Result
-     */
     @ApiOperation(value = "命题任务管理-分页查询")
     @RequestMapping(value = "/list", method = RequestMethod.POST)
-    public Result list(@RequestParam(required = false) String semesterId,
-                       @RequestParam(required = false) String examId,
-                       @RequestParam(required = false) Boolean enable,
-                       @RequestParam(required = false) String status,
-                       @RequestParam(required = false) String cardRuleId,
-                       @RequestParam(required = false) String courseCode,
-                       @RequestParam(required = false) String paperNumber,
-                       @RequestParam(required = false) Long startTime,
-                       @RequestParam(required = false) Long endTime,
-                       @RequestParam(required = false) String userName,
-                       @RequestParam(required = false) String createName,
-                       @RequestParam @Min(SystemConstant.PAGE_NUMBER_MIN) Integer pageNumber,
-                       @RequestParam @Min(SystemConstant.PAGE_SIZE_MIN) @Max(SystemConstant.PAGE_SIZE_MAX) Integer pageSize) {
-        if(examId == null){
+    public Result list(@ApiParam(value = "学期ID") @RequestParam(required = false) String semesterId,
+                       @ApiParam(value = "考试ID") @RequestParam(required = false) String examId,
+                       @ApiParam(value = "课程ID") @RequestParam(required = false) Long courseId,
+                       @ApiParam(value = "试卷编号") @RequestParam(required = false) String paperNumber,
+                       @ApiParam(value = "命题状态") @RequestParam(required = false) String status,
+                       @ApiParam(value = "命题老师姓名") @RequestParam(required = false) String userName,
+                       @ApiParam(value = "命题时间(开始)") @RequestParam(required = false) Long startTime,
+                       @ApiParam(value = "命题时间(结束)") @RequestParam(required = false) Long endTime,
+                       @ApiParam(value = "启用/禁用状态") @RequestParam(required = false) Boolean enable,
+                       @ApiParam(value = "分页参数") @RequestParam @Min(SystemConstant.PAGE_NUMBER_MIN) Integer pageNumber,
+                       @ApiParam(value = "分页参数") @RequestParam @Min(SystemConstant.PAGE_SIZE_MIN) @Max(SystemConstant.PAGE_SIZE_MAX) Integer pageSize) {
+        if (semesterId == null) {
+            throw ExceptionResultEnum.SEMESTER_ID_IS_NULL.exception();
+        }
+        if (examId == null) {
             throw ExceptionResultEnum.EXAM_ID_IS_NULL.exception();
         }
-        return ResultUtil.ok(examTaskService.list(SystemConstant.convertIdToLong(semesterId), SystemConstant.convertIdToLong(examId), enable, status, SystemConstant.convertIdToLong(cardRuleId), courseCode, paperNumber, startTime, endTime, userName, createName, pageNumber, pageSize));
+        return ResultUtil.ok(examTaskService.list(SystemConstant.convertIdToLong(semesterId), SystemConstant.convertIdToLong(examId), enable, status, courseId, paperNumber, startTime, endTime, userName, pageNumber, pageSize));
     }
 
     /**

+ 27 - 39
distributed-print/src/main/java/com/qmth/distributed/print/api/ExamTaskQueryController.java

@@ -16,10 +16,7 @@ import com.qmth.teachcloud.common.enums.log.OperationTypeEnum;
 import com.qmth.teachcloud.common.util.Result;
 import com.qmth.teachcloud.common.util.ResultUtil;
 import com.qmth.teachcloud.common.util.ServletUtil;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import io.swagger.annotations.ApiResponse;
-import io.swagger.annotations.ApiResponses;
+import io.swagger.annotations.*;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
 
@@ -56,33 +53,23 @@ public class ExamTaskQueryController {
     @Resource
     private ActivitiService activitiService;
 
-    /**
-     * 卷库查询
-     *
-     * @param courseCode  课程代码
-     * @param paperNumber 试卷编号
-     * @param startTime   开始时间
-     * @param endTime     结束时间
-     * @param pageNumber  分页参数
-     * @param pageSize    分页参数
-     * @return Result
-     */
-    @ApiOperation(value = "卷库查询")
+    @ApiOperation(value = "卷库查询-分页查询")
     @RequestMapping(value = "/paper_list", method = RequestMethod.POST)
-    public Result taskPaperList(@RequestParam(value = "semesterId", required = false) Long semesterId,
-                                @RequestParam(value = "examId", required = false) Long examId,
-                                @RequestParam(value = "courseCode", required = false) String courseCode,
-                                @RequestParam(value = "paperNumber", required = false) String paperNumber,
-                                @RequestParam(value = "startTime", required = false) Long startTime,
-                                @RequestParam(value = "endTime", required = false) Long endTime,
-                                @RequestParam(value = "makeMethod", required = false) MakeMethodEnum makeMethod,
-                                @RequestParam(value = "cardRuleId", required = false) String cardRuleId,
-                                @RequestParam @Min(SystemConstant.PAGE_NUMBER_MIN) Integer pageNumber,
-                                @RequestParam @Min(SystemConstant.PAGE_SIZE_MIN) @Max(SystemConstant.PAGE_SIZE_MAX) Integer pageSize) {
-        if(examId == null){
+    public Result taskPaperList(@ApiParam(value = "学期ID") @RequestParam(value = "semesterId", required = false) Long semesterId,
+                                @ApiParam(value = "考试ID") @RequestParam(value = "examId", required = false) Long examId,
+                                @ApiParam(value = "课程ID") @RequestParam(value = "courseCode", required = false) Long courseId,
+                                @ApiParam(value = "试卷编号") @RequestParam(value = "paperNumber", required = false) String paperNumber,
+                                @ApiParam(value = "入库时间(开始)") @RequestParam(value = "startTime", required = false) Long startTime,
+                                @ApiParam(value = "入库时间(结束)") @RequestParam(value = "endTime", required = false) Long endTime,
+                                @ApiParam(value = "分页参数") @RequestParam @Min(SystemConstant.PAGE_NUMBER_MIN) Integer pageNumber,
+                                @ApiParam(value = "分页参数") @RequestParam @Min(SystemConstant.PAGE_SIZE_MIN) @Max(SystemConstant.PAGE_SIZE_MAX) Integer pageSize) {
+        if (semesterId == null) {
+            throw ExceptionResultEnum.SEMESTER_ID_IS_NULL.exception();
+        }
+        if (examId == null) {
             throw ExceptionResultEnum.EXAM_ID_IS_NULL.exception();
         }
-        return ResultUtil.ok(examTaskService.listTaskPaper(semesterId, examId, courseCode, paperNumber, startTime, endTime, makeMethod, SystemConstant.convertIdToLong(cardRuleId), pageNumber, pageSize));
+        return ResultUtil.ok(examTaskService.listTaskPaper(semesterId, examId, courseId, paperNumber, startTime, endTime, pageNumber, pageSize));
     }
 
     /**
@@ -116,7 +103,7 @@ public class ExamTaskQueryController {
             Boolean isCreate = printCommonService.checkExamDetailStatus(examTask.getSchoolId(), null, examTask.getExamId(), examTask.getCourseCode(), examTask.getPaperNumber());
             // 校验是否可以提交打印状态
             if (isCreate) {
-                printCommonService.checkExamDataAndCreatePdfTask(examTask.getSchoolId(), examTask.getExamId(), examTask.getCourseCode(), examTask.getPaperNumber(), sysUser);
+                printCommonService.checkExamDataAndCreatePdfTask(examTask.getSchoolId(), examTask.getExamId(), examTask.getCourseId(), examTask.getPaperNumber(), sysUser);
             }
         }
         return ResultUtil.ok(isSuccess);
@@ -163,18 +150,19 @@ public class ExamTaskQueryController {
     @RequestMapping(value = "/paper_card_download_pdf", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "返回信息", response = EditResult.class)})
     @OperationLogDetail(operationType = OperationTypeEnum.EXPORT, detail = "批量下载试卷PDF、题卡操作,考试ID:{{examId}}、课程代码:{{courseCode}}、试卷编号:{{paperNumber}}")
-    public Result paperCardDownloadPdf(@RequestParam(value = "semesterId", required = false) Long semesterId,
-                                       @RequestParam(value = "examId", required = false) Long examId,
-                                       @RequestParam(value = "courseCode", required = false) String courseCode,
-                                       @RequestParam(value = "paperNumber", required = false) String paperNumber,
-                                       @RequestParam(value = "cardRuleId", required = false) Long cardRuleId,
-                                       @RequestParam(value = "makeMethod", required = false) MakeMethodEnum makeMethod,
-                                       @RequestParam(value = "startTime", required = false) Long startTime,
-                                       @RequestParam(value = "endTime", required = false) Long endTime) {
-        if(examId == null){
+    public Result paperCardDownloadPdf(@ApiParam(value = "学期ID") @RequestParam(value = "semesterId", required = false) Long semesterId,
+                                       @ApiParam(value = "考试ID") @RequestParam(value = "examId", required = false) Long examId,
+                                       @ApiParam(value = "课程ID") @RequestParam(value = "courseCode", required = false) Long courseId,
+                                       @ApiParam(value = "试卷编号") @RequestParam(value = "paperNumber", required = false) String paperNumber,
+                                       @ApiParam(value = "入库时间(开始)") @RequestParam(value = "startTime", required = false) Long startTime,
+                                       @ApiParam(value = "入库时间(结束)") @RequestParam(value = "endTime", required = false) Long endTime) {
+        if (semesterId == null) {
+            throw ExceptionResultEnum.SEMESTER_ID_IS_NULL.exception();
+        }
+        if (examId == null) {
             throw ExceptionResultEnum.EXAM_ID_IS_NULL.exception();
         }
-        TBTask tbTask = examTaskService.taskDownloadPdf(semesterId, examId, courseCode, paperNumber, cardRuleId, makeMethod, startTime, endTime);
+        TBTask tbTask = examTaskService.taskDownloadPdf(semesterId, examId, courseId, paperNumber, startTime, endTime);
         return Objects.nonNull(tbTask) ? ResultUtil.ok(new EditResult(tbTask.getId())) : ResultUtil.error("创建任务失败");
     }
 

+ 0 - 8
distributed-print/src/main/java/com/qmth/distributed/print/api/SysController.java

@@ -645,14 +645,6 @@ public class SysController {
         return ResultUtil.ok(System.currentTimeMillis());
     }
 
-    @ApiOperation(value = "获取系统编码")
-    @RequestMapping(value = "/get_code", method = RequestMethod.POST)
-    public Result getCode(@ApiParam(value = "编码类型", required = true) @RequestParam SystemCodeEnum type) {
-        SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
-        String number = teachcloudCommonService.getSysIncrCode(type, sysUser);
-        return ResultUtil.ok((Object) number);
-    }
-
     @ApiOperation(value = "共用接口-查询字典")
     @RequestMapping(value = "/get_dictionary", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "查询成功", response = Result.class)})

+ 8 - 22
distributed-print/src/main/java/com/qmth/distributed/print/api/SysOrgController.java

@@ -39,9 +39,6 @@ public class SysOrgController {
 
     @Resource
     private SysOrgService sysOrgService;
-
-    @Resource
-    private PrintCommonService printCommonService;
     @Resource
     private TeachcloudCommonService teachcloudCommonService;
 
@@ -52,12 +49,14 @@ public class SysOrgController {
      */
     @ApiOperation(value = "查询")
     @RequestMapping(value = "/list", method = RequestMethod.POST)
-    public Result list(@RequestParam(value = "specialPrivilege", required = false) RoleTypeEnum specialPrivilege,
-                       @RequestParam(value = "withoutPrintingRoom", required = false) boolean withoutPrintingRoom,
-                       @ApiParam(value = "科目编码") @RequestParam(required = false) String courseCode,
-                       @ApiParam(value = "父机构ID") @RequestParam(required = false) Long orgId) {
+    public Result list(@ApiParam(value = "指定角色类型") @RequestParam(required = false) RoleTypeEnum specialPrivilege,
+                       @ApiParam(value = "是否过滤印刷室") @RequestParam(required = false) boolean withoutPrintingRoom,
+                       @ApiParam(value = "课程ID") @RequestParam(required = false) Long courseId,
+                       @ApiParam(value = "父机构ID") @RequestParam(required = false) Long orgId,
+                       @ApiParam(value = "是否包含课程") @RequestParam(required = false) boolean includeCourse,
+                       @ApiParam(value = "是否包含用户") @RequestParam(required = false) boolean includeUser) {
         Set<Long> longSet = teachcloudCommonService.listSubOrgIds(orgId);
-        return ResultUtil.ok(sysOrgService.listOrgTree(specialPrivilege, withoutPrintingRoom, courseCode, longSet));
+        return ResultUtil.ok(sysOrgService.listOrgTree(specialPrivilege, withoutPrintingRoom, courseId, longSet));
     }
 
     /**
@@ -77,19 +76,6 @@ public class SysOrgController {
         return ResultUtil.ok(sysOrgService.saveOrg(org, sysUser));
     }
 
-    /**
-     * 启用/禁用
-     *
-     * @param org
-     * @return
-     */
-    @ApiOperation(value = "启用/禁用")
-    @RequestMapping(value = "/enable", method = RequestMethod.POST)
-    @OperationLogDetail(operationType = OperationTypeEnum.ENABLE, detail = "启用/禁用操作,机构ID:{{org.id}},启用/禁用状态:{{org.enable}}")
-    public Result enable(@RequestBody SysOrg org) {
-        return ResultUtil.ok(printCommonService.enable(org));
-    }
-
     /**
      * 删除
      *
@@ -100,7 +86,7 @@ public class SysOrgController {
     @RequestMapping(value = "/remove", method = RequestMethod.POST)
     @OperationLogDetail(operationType = OperationTypeEnum.DELETE, detail = "删除操作,机构ID:{{org.id}}")
     public Result remove(@RequestBody SysOrg org) {
-        return ResultUtil.ok(printCommonService.sysOrgRemove(org.getId()));
+        return ResultUtil.ok(sysOrgService.delete(org.getId()));
     }
 
     /**

+ 3 - 7
distributed-print/src/main/java/com/qmth/distributed/print/api/SysUserController.java

@@ -97,16 +97,12 @@ public class SysUserController {
 
     /**
      * 根据科目查询命题老师
-     *
-     * @param courseCode
-     * @param param
-     * @return
      */
-    @ApiOperation(value = "根据科目查询命题老师")
+    @ApiOperation(value = "命题任务管理-根据科目查询命题老师")
     @RequestMapping(value = "/user_list", method = RequestMethod.POST)
-    public Result userQuery(@RequestParam(value = "courseCode", required = false) String courseCode,
+    public Result userQuery(@ApiParam(value = "课程ID") @RequestParam(value = "courseId", required = false) Long courseId,
                             @RequestParam(value = "param", required = false) String param) {
-        return ResultUtil.ok(sysUserService.listUser(courseCode, param));
+        return ResultUtil.ok(sysUserService.listUser(courseId, param));
     }
 
     /**

+ 1 - 1
distributed-print/src/main/java/com/qmth/distributed/print/api/TBSyncTaskController.java

@@ -33,7 +33,7 @@ import javax.validation.constraints.Min;
  * @Author: CaoZixuan
  * @Date: 2021-11-08
  */
-@Api(tags = "数据管理-任务管理Controller")
+@Api(tags = "数据管理-同步管理Controller")
 @RestController
 @RequestMapping(ApiConstant.DEFAULT_URI_PREFIX  + SystemConstant.PREFIX_URL_DATA + "/sync")
 @Validated

+ 0 - 103
distributed-print/src/main/java/com/qmth/distributed/print/api/TeachCourseController.java

@@ -62,19 +62,6 @@ public class TeachCourseController {
                         pageSize));
     }
 
-    @ApiOperation(value = "教学课程-手动添加课程")
-    @RequestMapping(value = "/manual_create", method = RequestMethod.POST)
-    @ApiResponses({@ApiResponse(code = 200, message = "创建成功", response = EditResult.class)})
-    @OperationLogDetail(detail = "手动添加教学课程,参数[{{teachCourseParams}}]", operationType = OperationTypeEnum.ADD)
-    @Deprecated
-    public Result manualCreate(@Valid @RequestBody TeachCourseParams teachCourseParams, BindingResult bindingResult) {
-        SysUser requestUser = (SysUser) ServletUtil.getRequestUser();
-        if (bindingResult.hasErrors()) {
-            return ResultUtil.error(bindingResult.getAllErrors().get(0).getDefaultMessage());
-        }
-        return ResultUtil.ok(teachCourseService.manualCreate(teachCourseParams, requestUser));
-    }
-
     @ApiOperation(value = "教学课程-课程表选择教学课程")
     @RequestMapping(value = "/select_create", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "创建成功", response = EditResult.class)})
@@ -87,17 +74,6 @@ public class TeachCourseController {
         return ResultUtil.ok();
     }
 
-    @ApiOperation(value = "教学课程-教学课程批量导入")
-    @RequestMapping(value = "/import", method = RequestMethod.POST)
-    @ApiResponses({@ApiResponse(code = 200, message = "创建成功", response = EditResult.class)})
-    @OperationLogDetail(detail = "教学课程批量导入", operationType = OperationTypeEnum.ADD)
-    @Deprecated
-    public Result importTeachCourse(@ApiParam(value = "上传文件", required = true) @RequestParam MultipartFile file) throws IOException, NoSuchFieldException {
-        SysUser requestUser = (SysUser) ServletUtil.getRequestUser();
-        teachCourseService.importTeachCourse(file, requestUser);
-        return ResultUtil.ok();
-    }
-
     @ApiOperation(value = "教学课程-查找基础课程")
     @RequestMapping(value = "/find_basic_course", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "查询成功", response = Result.class)})
@@ -116,62 +92,6 @@ public class TeachCourseController {
         return ResultUtil.ok();
     }
 
-    @ApiOperation(value = "教师团队-手动添加教师")
-    @RequestMapping(value = "/manual_create_teacher", method = RequestMethod.POST)
-    @ApiResponses({@ApiResponse(code = 200, message = "创建成功", response = EditResult.class)})
-    @OperationLogDetail(detail = "手动添加教师,参数[{{teacherTeamParam}}]", operationType = OperationTypeEnum.ADD)
-    public Result manualCreateTeacher(@Valid @RequestBody TeacherTeamParam teacherTeamParam, BindingResult bindingResult) throws IllegalAccessException {
-        SysUser requestUser = (SysUser) ServletUtil.getRequestUser();
-        if (bindingResult.hasErrors()) {
-            return ResultUtil.error(bindingResult.getAllErrors().get(0).getDefaultMessage());
-        }
-        teachCourseService.manualCreateTeacher(teacherTeamParam, requestUser);
-        return ResultUtil.ok();
-    }
-
-    @ApiOperation(value = "教师团队-用户表选择教师")
-    @RequestMapping(value = "/select_create_teacher", method = RequestMethod.POST)
-    @ApiResponses({@ApiResponse(code = 200, message = "创建成功", response = EditResult.class)})
-    @OperationLogDetail(operationType = OperationTypeEnum.ADD)
-    public Result selectCreate(@ApiParam(value = "考试id", required = true) @RequestParam String teachCourseId,
-                               @ApiParam(value = "教师id集合", required = true) @RequestParam List<String> userIdList) {
-        SysUser requestUser = (SysUser) ServletUtil.getRequestUser();
-        teachCourseService.selectCreateTeacher(SystemConstant.convertIdToLong(teachCourseId),
-                userIdList.stream().map(SystemConstant::convertIdToLong).collect(Collectors.toList()), requestUser);
-        return ResultUtil.ok();
-    }
-
-    @ApiOperation(value = "教师团队-批量导入教师")
-    @RequestMapping(value = "/import_teacher", method = RequestMethod.POST)
-    @ApiResponses({@ApiResponse(code = 200, message = "创建成功", response = EditResult.class)})
-    @OperationLogDetail(detail = "教学课程批量导入", operationType = OperationTypeEnum.ADD)
-    @Deprecated
-    public Result importTeacherTeam(@ApiParam(value = "上传文件", required = true) @RequestParam MultipartFile file, @ApiParam(value = "基础课程", required = true) @RequestParam Long basicCourseId)
-            throws IOException, NoSuchFieldException, IllegalAccessException {
-        SysUser requestUser = (SysUser) ServletUtil.getRequestUser();
-        teachCourseService.importTeacherTeam(file, basicCourseId, requestUser);
-        return ResultUtil.ok();
-    }
-
-    @ApiOperation(value = "教师团队-分页查询")
-    @RequestMapping(value = "/teacher_team_page", method = RequestMethod.POST)
-    @ApiResponses({@ApiResponse(code = 200, message = "查询成功", response = Result.class)})
-    public Result findTeachTeamPage(@ApiParam(value = "教学课程id", required = true) @RequestParam String teachCourseId,
-                                    @ApiParam(value = "用户姓名工号(模糊查询)") @RequestParam(required = false) String userInfo,
-                                    @ApiParam(value = "分页页码", required = true) @RequestParam @Min(SystemConstant.PAGE_NUMBER_MIN) Integer pageNumber,
-                                    @ApiParam(value = "分页数", required = true) @RequestParam @Min(SystemConstant.PAGE_SIZE_MIN) @Max(SystemConstant.PAGE_SIZE_MAX) Integer pageSize) {
-        return ResultUtil.ok(
-                teachCourseService.findTeacherTeamPage(SystemConstant.convertIdToLong(teachCourseId), userInfo,
-                        pageNumber, pageSize));
-    }
-
-    @ApiOperation(value = "教师团队-根据机构查询")
-    @RequestMapping(value = "/find_teacher_by_org", method = RequestMethod.POST)
-    @ApiResponses({@ApiResponse(code = 200, message = "查询成功", response = Result.class)})
-    public Result findTeachCoursePage(@ApiParam(value = "课程名称(模糊查询)") @RequestParam(required = false) Long orgId) {
-        return ResultUtil.ok(teachCourseService.findUserByOrgId(orgId));
-    }
-
     @ApiOperation(value = "教学课程-查询课程权重设置状态")
     @RequestMapping(value = "/find_course_weight_setting_status", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "查询成功", response = Result.class)})
@@ -179,27 +99,4 @@ public class TeachCourseController {
         return ResultUtil.ok(
                 teachCourseService.findCourseWeightSettingStatus(SystemConstant.convertIdToLong(teachCourseId)));
     }
-
-    @ApiOperation(value = "教师团队管理-分配班级列表查询")
-    @RequestMapping(value = "/find_clazz_list", method = RequestMethod.POST)
-    @ApiResponses({@ApiResponse(code = 200, message = "查询成功", response = Result.class)})
-    public Result findClazzList(@ApiParam(value = "教学课程id", required = true) @RequestParam String teachCourseId,
-                                @ApiParam(value = "班级名称") @RequestParam(required = false) String clazzName) {
-        return ResultUtil.ok(
-                teachCourseService.findClazzDistributedStatus(SystemConstant.convertIdToLong(teachCourseId),
-                        clazzName));
-    }
-
-    @ApiOperation(value = "教师团队管理-分配班级")
-    @RequestMapping(value = "/assign_clazz", method = RequestMethod.POST)
-    @ApiResponses({@ApiResponse(code = 200, message = "创建成功", response = EditResult.class)})
-    @OperationLogDetail(detail = "分配班级,参数[{{assignClazzParam}}]", operationType = OperationTypeEnum.ADD)
-    public Result assignClazz(@Valid @RequestBody AssignClazzParam assignClazzParam, BindingResult bindingResult) {
-        SysUser requestUser = (SysUser) ServletUtil.getRequestUser();
-        if (bindingResult.hasErrors()) {
-            return ResultUtil.error(bindingResult.getAllErrors().get(0).getDefaultMessage());
-        }
-        teachCourseService.assignClazz(assignClazzParam, requestUser);
-        return ResultUtil.ok();
-    }
 }

+ 0 - 24
distributed-print/src/main/java/com/qmth/distributed/print/api/mark/MarkScoreController.java

@@ -1,24 +0,0 @@
-package com.qmth.distributed.print.api.mark;
-
-
-import com.qmth.boot.api.constant.ApiConstant;
-import com.qmth.teachcloud.common.contant.SystemConstant;
-import io.swagger.annotations.Api;
-import org.springframework.web.bind.annotation.RequestMapping;
-
-import org.springframework.web.bind.annotation.RestController;
-
-/**
- * <p>
- * 成绩相关 前端控制器
- * </p>
- *
- * @author xf
- * @since 2023-09-22
- */
-@Api(tags = "评卷-成绩检查")
-@RestController
-@RequestMapping(ApiConstant.DEFAULT_URI_PREFIX + SystemConstant.PREFIX_URL_MARK + "/score")
-public class MarkScoreController {
-
-}

+ 0 - 24
distributed-print/src/main/java/com/qmth/distributed/print/api/mark/ScanPaperController.java

@@ -1,24 +0,0 @@
-package com.qmth.distributed.print.api.mark;
-
-
-import com.qmth.boot.api.constant.ApiConstant;
-import com.qmth.teachcloud.common.contant.SystemConstant;
-import io.swagger.annotations.Api;
-import org.springframework.web.bind.annotation.RequestMapping;
-
-import org.springframework.web.bind.annotation.RestController;
-
-/**
- * <p>
- * 试卷 前端控制器
- * </p>
- *
- * @author xf
- * @since 2023-09-22
- */
-@Api(tags = "扫描-试卷")
-@RestController
-@RequestMapping(ApiConstant.DEFAULT_URI_PREFIX + SystemConstant.PREFIX_URL_SCAN + "/paper")
-public class ScanPaperController {
-
-}

BIN
distributed-print/src/main/resources/temps/examTask.xlsx


+ 0 - 96
teachcloud-common/src/main/java/com/qmth/teachcloud/common/entity/BasicCampus.java

@@ -1,96 +0,0 @@
-package com.qmth.teachcloud.common.entity;
-
-import com.fasterxml.jackson.databind.annotation.JsonSerialize;
-import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
-import com.qmth.teachcloud.common.base.BaseEntity;
-import io.swagger.annotations.ApiModel;
-import io.swagger.annotations.ApiModelProperty;
-
-import java.io.Serializable;
-
-/**
- * <p>
- * 基础校区表
- * </p>
- *
- * @author wangliang
- * @since 2021-08-02
- */
-@ApiModel(value = "BasicCampus对象", description = "基础校区表")
-public class BasicCampus extends BaseEntity implements Serializable {
-
-    private static final long serialVersionUID = 1L;
-
-    @ApiModelProperty(value = "学校id")
-    @JsonSerialize(using = ToStringSerializer.class)
-    private Long schoolId;
-
-    @ApiModelProperty(value = "校区名称")
-    private String campusName;
-
-    @ApiModelProperty(value = "校区编码")
-    private String campusCode;
-
-    @ApiModelProperty(value = "印刷室id")
-    @JsonSerialize(using = ToStringSerializer.class)
-    private Long printHouseId;
-
-    @ApiModelProperty(value = "是否可用")
-    private Boolean enable;
-
-    @ApiModelProperty(value = "机构id")
-    @JsonSerialize(using = ToStringSerializer.class)
-    private Long orgId;
-
-    public static long getSerialVersionUID() {
-        return serialVersionUID;
-    }
-
-    public Long getSchoolId() {
-        return schoolId;
-    }
-
-    public void setSchoolId(Long schoolId) {
-        this.schoolId = schoolId;
-    }
-
-    public String getCampusName() {
-        return campusName;
-    }
-
-    public void setCampusName(String campusName) {
-        this.campusName = campusName;
-    }
-
-    public String getCampusCode() {
-        return campusCode;
-    }
-
-    public void setCampusCode(String campusCode) {
-        this.campusCode = campusCode;
-    }
-
-    public Long getPrintHouseId() {
-        return printHouseId;
-    }
-
-    public void setPrintHouseId(Long printHouseId) {
-        this.printHouseId = printHouseId;
-    }
-
-    public Boolean getEnable() {
-        return enable;
-    }
-
-    public void setEnable(Boolean enable) {
-        this.enable = enable;
-    }
-
-    public Long getOrgId() {
-        return orgId;
-    }
-
-    public void setOrgId(Long orgId) {
-        this.orgId = orgId;
-    }
-}

+ 0 - 54
teachcloud-common/src/main/java/com/qmth/teachcloud/common/entity/BasicCollege.java

@@ -1,54 +0,0 @@
-package com.qmth.teachcloud.common.entity;
-
-import com.fasterxml.jackson.databind.annotation.JsonSerialize;
-import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
-import com.qmth.teachcloud.common.base.BaseEntity;
-import io.swagger.annotations.ApiModel;
-import io.swagger.annotations.ApiModelProperty;
-
-import java.io.Serializable;
-
-/**
- * @Description: 学生学院表
- * @Author: CaoZixuan
- * @Date: 2022-08-17
- */
-@ApiModel(value = "BasicCollege对象", description = "基础学院表")
-public class BasicCollege extends BaseEntity implements Serializable {
-    private static final long serialVersionUID = 1L;
-
-    @JsonSerialize(using = ToStringSerializer.class)
-    @ApiModelProperty(value = "学校id")
-    private Long schoolId;
-
-    @ApiModelProperty(value = "学院名称")
-    private String collegeName;
-
-    @JsonSerialize(using = ToStringSerializer.class)
-    @ApiModelProperty(value = "数据权限id")
-    private Long orgId;
-
-    public Long getSchoolId() {
-        return schoolId;
-    }
-
-    public void setSchoolId(Long schoolId) {
-        this.schoolId = schoolId;
-    }
-
-    public String getCollegeName() {
-        return collegeName;
-    }
-
-    public void setCollegeName(String collegeName) {
-        this.collegeName = collegeName;
-    }
-
-    public Long getOrgId() {
-        return orgId;
-    }
-
-    public void setOrgId(Long orgId) {
-        this.orgId = orgId;
-    }
-}

+ 11 - 1
teachcloud-common/src/main/java/com/qmth/teachcloud/common/entity/BasicTeachClazz.java

@@ -26,7 +26,9 @@ public class BasicTeachClazz extends BaseEntity {
     @ApiModelProperty(value = "考试id")
     @JsonSerialize(using = ToStringSerializer.class)
     private Long examId;
-
+    @ApiModelProperty(value = "课程id")
+    @JsonSerialize(using = ToStringSerializer.class)
+    private Long courseId;
     @ApiModelProperty(value = "课程编号")
     private String courseCode;
 
@@ -49,6 +51,14 @@ public class BasicTeachClazz extends BaseEntity {
         this.examId = examId;
     }
 
+    public Long getCourseId() {
+        return courseId;
+    }
+
+    public void setCourseId(Long courseId) {
+        this.courseId = courseId;
+    }
+
     public String getCourseCode() {
         return courseCode;
     }

+ 0 - 12
teachcloud-common/src/main/java/com/qmth/teachcloud/common/entity/SysOrg.java

@@ -60,10 +60,6 @@ public class SysOrg extends BaseEntity implements Serializable {
     @ApiModelProperty("历史机构名")
     private String historicName;
 
-    @ApiModelProperty("云阅卷机构ID")
-    @TableField(updateStrategy = FieldStrategy.IGNORED)
-    private Integer thirdRelateId;
-
     public SysOrg() {
 
     }
@@ -159,12 +155,4 @@ public class SysOrg extends BaseEntity implements Serializable {
     public void setEnable(Boolean enable) {
         this.enable = enable;
     }
-
-    public Integer getThirdRelateId() {
-        return thirdRelateId;
-    }
-
-    public void setThirdRelateId(Integer thirdRelateId) {
-        this.thirdRelateId = thirdRelateId;
-    }
 }

+ 0 - 1
teachcloud-common/src/main/java/com/qmth/teachcloud/common/enums/SystemCodeEnum.java

@@ -9,7 +9,6 @@ import java.util.List;
  * @Date: 2021-08-09
  */
 public enum SystemCodeEnum {
-    CAMPUS_CODE("校区编码","campusCode","campusCode",4),
     COURSE_CODE("课程编码","courseCode","courseCode",4);
     private final String desc;
     private final String code;

+ 0 - 28
teachcloud-common/src/main/java/com/qmth/teachcloud/common/mapper/BasicCampusMapper.java

@@ -1,28 +0,0 @@
-package com.qmth.teachcloud.common.mapper;
-
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.qmth.teachcloud.common.bean.result.BasicCampusResult;
-import com.qmth.teachcloud.common.entity.BasicCampus;
-import org.apache.ibatis.annotations.Param;
-
-import java.util.List;
-
-/**
- * <p>
- * 基础校区表 Mapper 接口
- * </p>
- *
- * @author wangliang
- * @since 2021-08-02
- */
-public interface BasicCampusMapper extends BaseMapper<BasicCampus> {
-
-    /**
-     * 查找基础校区信息
-     *
-     * @param schoolId 学校id
-     * @return 基础校区信息
-     */
-    List<BasicCampusResult> findBasicCampusResult(@Param("schoolId") Long schoolId);
-
-}

+ 0 - 33
teachcloud-common/src/main/java/com/qmth/teachcloud/common/mapper/BasicCollegeMapper.java

@@ -1,33 +0,0 @@
-package com.qmth.teachcloud.common.mapper;
-
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.qmth.teachcloud.common.bean.dto.DataPermissionRule;
-import com.qmth.teachcloud.common.bean.result.BasicCollegeResult;
-import com.qmth.teachcloud.common.bean.result.BasicMajorResult;
-import com.qmth.teachcloud.common.entity.BasicCollege;
-import org.apache.ibatis.annotations.Param;
-
-import java.util.Set;
-
-/**
- * @Description: 学生学院mapper
- * @Author: CaoZixuan
- * @Date: 2022-08-17
- */
-public interface BasicCollegeMapper extends BaseMapper<BasicCollege> {
-    /**
-     * 分页查询基础专业信息
-     *
-     * @param iPage       分页参数
-     * @param schoolId    学校id
-     * @param collegeName 学院名称
-     * @param dpr      dpr
-     * @return 基础专业分页参数
-     */
-    IPage<BasicCollegeResult> findBasicCollegePage(@Param("iPage") Page<BasicCollegeResult> iPage,
-                                                   @Param("schoolId") Long schoolId,
-                                                   @Param("collegeName") String collegeName,
-                                                   @Param("dpr") DataPermissionRule dpr);
-}

+ 10 - 0
teachcloud-common/src/main/java/com/qmth/teachcloud/common/mapper/BasicCourseMapper.java

@@ -76,4 +76,14 @@ public interface BasicCourseMapper extends BaseMapper<BasicCourse> {
      * @return 课程名集合
      */
     List<String> findTeachCourseCourseName(@Param("schoolId") Long schoolId, @Param("courseCodeSet") Set<String> courseCodeSet);
+
+    int countTeachCourseByCourseId(Long courseId);
+
+    int countBasicExamStudentByCourseId(Long courseId);
+
+    int countExamTaskByCourseId(Long courseId);
+
+    int countExamCardByCourseId(Long courseId);
+
+    int countMarkPaperByCourseId(Long courseId);
 }

+ 1 - 1
teachcloud-common/src/main/java/com/qmth/teachcloud/common/mapper/BasicStudentMapper.java

@@ -61,7 +61,7 @@ public interface BasicStudentMapper extends BaseMapper<BasicStudent> {
      */
     List<BasicExamStudentResult> findBasicStudentList(@Param("schoolId") Long schoolId,
                                                       @Param("examId") Long examId,
-                                                      @Param("courseCode") String courseCode,
+                                                      @Param("courseId") Long courseId,
                                                       @Param("teacher") String teacher,
                                                       @Param("className") String className,
                                                       @Param("studentCodeList") List<String> studentCodeList);

+ 1 - 5
teachcloud-common/src/main/java/com/qmth/teachcloud/common/mapper/SysUserMapper.java

@@ -113,12 +113,8 @@ public interface SysUserMapper extends BaseMapper<SysUser> {
 
     /**
      * 查找科目下命题老师
-     *
-     * @param schoolId
-     * @param courseCode
-     * @return
      */
-    List<SysUserResult> findCourseSysUserResultList(@Param("schoolId") Long schoolId, @Param("courseCode") String courseCode);
+    List<SysUserResult> findCourseSysUserResultList(@Param("schoolId") Long schoolId, @Param("courseId") Long courseId);
 
     /**
      * 查找内置老师

+ 0 - 51
teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/BasicCampusService.java

@@ -1,51 +0,0 @@
-package com.qmth.teachcloud.common.service;
-
-import com.baomidou.mybatisplus.extension.service.IService;
-import com.qmth.teachcloud.common.bean.params.BasicCampusParams;
-import com.qmth.teachcloud.common.bean.result.BasicCampusResult;
-import com.qmth.teachcloud.common.entity.BasicCampus;
-
-import java.util.List;
-
-/**
- * <p>
- * 基础校区表 服务类
- * </p>
- *
- * @author wangliang
- * @since 2021-08-02
- */
-public interface BasicCampusService extends IService<BasicCampus> {
-    /**
-     * 根据学校id查询该学校的基础校区(不分页)
-     * @param schoolId 学校id
-     * @return 校区结果集
-     */
-    List<BasicCampusResult> basicCampusList(Long schoolId);
-
-    /**
-     * 新增/编辑 校区基础信息
-     * @param basicCampusParams 基础校区信息参数
-     * @return 新增或编辑的校区id
-     */
-    Long saveBasicCampus(BasicCampusParams basicCampusParams);
-
-    /**
-     * 根据校区id删除校区(物理删除)
-     * @param id 要删除的校区主键
-     * @return 是否成功
-     */
-    Boolean removeBasicCampusById(Long id);
-
-    @Deprecated
-    Long getPrintHouseIdBySchoolIdAndCampusName(Long schoolId, String campusName);
-
-    /**
-     * 根据班级id集合查找对应的校区
-     * @param clazzIdList  班级id集合
-     * @param separator 校区连接符
-     * @return 连接符连好的校区
-     */
-    @Deprecated
-    String findCampusNamesByClazzIdList(List<Long> clazzIdList, String separator);
-}

+ 0 - 42
teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/BasicCollegeService.java

@@ -1,42 +0,0 @@
-package com.qmth.teachcloud.common.service;
-
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.extension.service.IService;
-import com.qmth.teachcloud.common.bean.params.BasicCollegeParams;
-import com.qmth.teachcloud.common.bean.result.BasicCollegeResult;
-import com.qmth.teachcloud.common.entity.BasicCollege;
-import com.qmth.teachcloud.common.entity.SysUser;
-
-import java.util.List;
-
-/**
- * @Description: 学生学院接口服务类
- * @Author: CaoZixuan
- * @Date: 2022-08-17
- */
-public interface BasicCollegeService extends IService<BasicCollege> {
-    
-    /**
-     * 基础专业分页查询
-     * @param schoolId 学校id
-     * @param collegeName 专业名称模糊查询
-     * @param pageNumber 分页页数
-     * @param pageSize 分页容量
-     * @return 分页结果
-     */
-    IPage<BasicCollegeResult> basicCollegePage(Long schoolId, String collegeName, int pageNumber, int pageSize);
-
-    /**
-     * 基础专业编辑
-     * @param basicCollegeParams 编辑参数
-     * @return 编辑后该专业id
-     */
-    Long saveBasicCollege(BasicCollegeParams basicCollegeParams, SysUser requestUser) throws IllegalAccessException;
-
-    /**
-     * 专业删除
-     * @param idList 专业主键id集合
-     * @return 是否删除成功
-     */
-    boolean deleteBasicCollegeByIdList(List<Long> idList);
-}

+ 1 - 1
teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/BasicStudentService.java

@@ -62,7 +62,7 @@ public interface BasicStudentService extends IService<BasicStudent> {
      * @param studentCodeList 学号集合
      * @return 学生查询结果
      */
-    List<BasicExamStudentResult> basicStudentList(Long schoolId, Long examId, String courseCode, String teacher, String className, List<String> studentCodeList);
+    List<BasicExamStudentResult> basicStudentList(Long schoolId, Long examId, Long courseId, String teacher, String className, List<String> studentCodeList);
 
     /**
      * 新增/编辑 学生基础信息

+ 3 - 7
teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/SysOrgService.java

@@ -24,14 +24,8 @@ public interface SysOrgService extends IService<SysOrg> {
 
     /**
      * 机构树
-     *
-     * @param specialPrivilegeEnum 特殊权限
-     * @param withoutPrintingRoom  是否去除印刷室机构
-     * @param courseCode
-     * @param orgId
-     * @return 查询到的机构
      */
-    List<OrgDto> listOrgTree(RoleTypeEnum specialPrivilegeEnum, boolean withoutPrintingRoom, String courseCode, Set<Long> orgId);
+    List<OrgDto> listOrgTree(RoleTypeEnum specialPrivilegeEnum, boolean withoutPrintingRoom, Long courseId, Set<Long> orgId);
 
     /**
      * 获取所有机构
@@ -185,4 +179,6 @@ public interface SysOrgService extends IService<SysOrg> {
      * @param name     学院名称
      */
     List<SysOrg> getSecondOrg(Long schoolId, String name);
+
+    boolean delete(Long id);
 }

+ 2 - 4
teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/SysUserService.java

@@ -93,7 +93,7 @@ public interface SysUserService extends IService<SysUser> {
 
     boolean bindRoles(SysUser sysUser);
 
-    AssignTeacherDto listUser(String courseCode, String param);
+    AssignTeacherDto listUser(Long courseId, String param);
 
     List<SysUser> listByOrgId(Long id);
 
@@ -229,11 +229,9 @@ public interface SysUserService extends IService<SysUser> {
     /**
      * 查找科目下命题老师
      *
-     * @param schoolId
-     * @param courseCode
      * @return
      */
-    List<SysUserResult> findCourseSysUserResultList(Long schoolId, String courseCode);
+    List<SysUserResult> findCourseSysUserResultList(Long schoolId, Long courseId);
 
     /**
      * 查找内置老师

+ 0 - 10
teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/TeachcloudCommonService.java

@@ -182,16 +182,6 @@ public interface TeachcloudCommonService {
      */
     LoginResult login(String password, SysUser sysUser, AppSourceEnum appSource) throws NoSuchAlgorithmException;
 
-    /**
-     * /**
-     * 根据编码类型获取系统编码
-     *
-     * @param type        编码类型
-     * @param requestUser 请求的用户
-     * @return 系统编码
-     */
-    String getSysIncrCode(SystemCodeEnum type, SysUser requestUser);
-
     /**
      * 校验用户是否包含某权限
      *

+ 0 - 145
teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/impl/BasicCampusServiceImpl.java

@@ -1,145 +0,0 @@
-package com.qmth.teachcloud.common.service.impl;
-
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.qmth.teachcloud.common.bean.params.BasicCampusParams;
-import com.qmth.teachcloud.common.bean.result.BasicCampusResult;
-import com.qmth.teachcloud.common.contant.SystemConstant;
-import com.qmth.teachcloud.common.entity.BasicCampus;
-import com.qmth.teachcloud.common.entity.BasicClazz;
-import com.qmth.teachcloud.common.entity.SysUser;
-import com.qmth.teachcloud.common.enums.ExceptionResultEnum;
-import com.qmth.teachcloud.common.mapper.BasicCampusMapper;
-import com.qmth.teachcloud.common.service.BasicCampusService;
-import com.qmth.teachcloud.common.service.BasicClazzService;
-import com.qmth.teachcloud.common.util.ServletUtil;
-import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
-import org.springframework.util.CollectionUtils;
-
-import javax.annotation.Resource;
-import java.util.List;
-import java.util.Objects;
-import java.util.stream.Collectors;
-
-/**
- * <p>
- * 基础校区表 服务实现类
- * </p>
- *
- * @author wangliang
- * @since 2021-08-02
- */
-@Service
-public class BasicCampusServiceImpl extends ServiceImpl<BasicCampusMapper, BasicCampus> implements BasicCampusService {
-    @Resource
-    private BasicCampusMapper basicCampusMapper;
-    @Resource
-    private BasicClazzService basicClazzService;
-
-    @Override
-    public List<BasicCampusResult> basicCampusList(Long schoolId) {
-        return basicCampusMapper.findBasicCampusResult(schoolId);
-    }
-
-    @Transactional(rollbackFor = Exception.class)
-    @Override
-    public Long saveBasicCampus(BasicCampusParams basicCampusParams) {
-        SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
-        Long schoolId = sysUser.getSchoolId();
-        Long orgId = sysUser.getOrgId();
-
-        Long campusId = basicCampusParams.getId();
-        String campusName = basicCampusParams.getCampusName();
-        String campusCode = basicCampusParams.getCampusCode();
-        Long printHouseId = basicCampusParams.getPrintHouseId();
-        if (!SystemConstant.strNotNull(campusCode)){
-            throw ExceptionResultEnum.ERROR.exception("缺少校区编号");
-        }
-        BasicCampus checkName = this.getOne(new QueryWrapper<BasicCampus>().lambda().eq(BasicCampus::getEnable,true).eq(BasicCampus::getSchoolId,schoolId).eq(BasicCampus::getCampusName,campusName));
-        if (Objects.nonNull(checkName) && !checkName.getId().equals(campusId)){
-            throw ExceptionResultEnum.ERROR.exception("校区名称[" + campusName + "]重复");
-        }
-        BasicCampus checkCode = this.getOne(new QueryWrapper<BasicCampus>().lambda().eq(BasicCampus::getEnable,true).eq(BasicCampus::getSchoolId,schoolId).eq(BasicCampus::getCampusCode,campusCode));
-        if (Objects.nonNull(checkCode) && !checkCode.getId().equals(campusId)){
-            throw ExceptionResultEnum.ERROR.exception("校区编号[" + campusCode + "]重复");
-        }
-
-        if (SystemConstant.longNotNull(campusId)){
-            // 编辑
-            campusId = basicCampusParams.getId();
-            BasicCampus old = this.getById(campusId);
-            if (Objects.isNull(old) || old.getEnable().equals(false)){
-                throw ExceptionResultEnum.ERROR.exception("所选校区主键不存在或被禁用");
-            }
-            UpdateWrapper<BasicCampus> updateWrapper = new UpdateWrapper<>();
-            updateWrapper.lambda()
-                    .set(BasicCampus::getCampusName,campusName)
-                    .set(BasicCampus::getSchoolId,schoolId)
-                    .set(BasicCampus::getPrintHouseId, printHouseId)
-                    .set(BasicCampus::getUpdateId,sysUser.getId())
-                    .eq(BasicCampus::getId,campusId);
-            this.update(updateWrapper);
-        }else {
-            // 新增
-            campusId = SystemConstant.getDbUuid();
-            BasicCampus basicCampus = new BasicCampus();
-            basicCampus.setId(campusId);
-            basicCampus.setCampusCode(campusCode);
-            basicCampus.setCampusName(campusName);
-            basicCampus.setPrintHouseId(printHouseId);
-            basicCampus.setOrgId(orgId);
-            basicCampus.setEnable(true);
-            basicCampus.setCreateId(sysUser.getId());
-            basicCampus.setSchoolId(schoolId);
-            this.save(basicCampus);
-        }
-        return campusId;
-    }
-
-    @Transactional(rollbackFor = Exception.class)
-    @Override
-    public Boolean removeBasicCampusById(Long id) {
-        SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
-//        if (basicClazzService.list(new QueryWrapper<BasicClazz>().lambda().eq(BasicClazz::getCampusId,id)).size() > 0){
-//            throw ExceptionResultEnum.ERROR.exception("基础班级中绑定了要删除的校区,无法删除");
-//        }
-        return this.removeById(id);
-    }
-
-    @Override
-    public Long getPrintHouseIdBySchoolIdAndCampusName(Long schoolId, String campusName) {
-        QueryWrapper<BasicCampus> queryWrapper = new QueryWrapper<>();
-        queryWrapper.lambda().eq(BasicCampus::getSchoolId, schoolId).eq(BasicCampus::getCampusName, campusName);
-        BasicCampus basicCampus = this.getOne(queryWrapper);
-        if(Objects.isNull(basicCampus)){
-            throw ExceptionResultEnum.ERROR.exception("校区不存在");
-        }
-        if(Objects.isNull(basicCampus.getPrintHouseId())){
-            throw ExceptionResultEnum.ERROR.exception("校区没有绑定印刷室");
-        }
-        return basicCampus.getPrintHouseId();
-    }
-
-    @Override
-    public String findCampusNamesByClazzIdList(List<Long> clazzIdList, String separator) {
-        // TODO: 2022/8/17 czx - 校区相关
-//        String campusNames = "";
-////        Long schoolId = SystemConstant.convertIdToLong(ServletUtil.getRequestHeaderSchoolId().toString());
-//        List<Long> campusId = basicClazzService.list(new QueryWrapper<BasicClazz>().lambda()
-//                .in(BasicClazz::getId,clazzIdList))
-//                .stream()
-//                .map(BasicClazz::getCampusId)
-//                .distinct()
-//                .collect(Collectors.toList());
-//        if (!CollectionUtils.isEmpty(campusId)){
-//            List<BasicCampus> basicCampusList = this.list(new QueryWrapper<BasicCampus>().lambda()
-////                    .eq(BasicCampus::getSchoolId,schoolId)
-//                    .in(BasicCampus::getId,campusId));
-//            campusNames = basicCampusList.stream().map(BasicCampus::getCampusName).distinct().collect(Collectors.joining(separator));
-//        }
-//        return campusNames;
-        return "";
-    }
-}

+ 0 - 123
teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/impl/BasicCollegeServiceImpl.java

@@ -1,123 +0,0 @@
-package com.qmth.teachcloud.common.service.impl;
-
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.qmth.teachcloud.common.bean.dto.DataPermissionRule;
-import com.qmth.teachcloud.common.bean.params.BasicCollegeParams;
-import com.qmth.teachcloud.common.bean.result.BasicCollegeResult;
-import com.qmth.teachcloud.common.contant.SystemConstant;
-import com.qmth.teachcloud.common.entity.*;
-import com.qmth.teachcloud.common.enums.ExceptionResultEnum;
-import com.qmth.teachcloud.common.mapper.BasicCollegeMapper;
-import com.qmth.teachcloud.common.service.*;
-import com.qmth.teachcloud.common.util.ServletUtil;
-import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
-
-import javax.annotation.Resource;
-import java.util.List;
-import java.util.Objects;
-import java.util.stream.Collectors;
-
-/**
- * @Description: 学生学院服务实现类
- * @Author: CaoZixuan
- * @Date: 2022-08-17
- */
-@Service
-public class BasicCollegeServiceImpl extends ServiceImpl<BasicCollegeMapper, BasicCollege> implements BasicCollegeService {
-    @Resource
-    private BasicMajorService basicMajorService;
-    @Resource
-    private BasicStudentService basicStudentService;
-    @Resource
-    private CommonCacheService commonCacheService;
-    @Resource
-    private BasicRoleDataPermissionService basicRoleDataPermissionService;
-
-    @Override
-    public IPage<BasicCollegeResult> basicCollegePage(Long schoolId, String collegeName, int pageNumber, int pageSize) {
-        collegeName = SystemConstant.translateSpecificSign(collegeName);
-        SysUser requestUser = (SysUser) ServletUtil.getRequestUser();
-        DataPermissionRule dpr = basicRoleDataPermissionService.findDataPermission(schoolId,requestUser.getId(),ServletUtil.getRequest().getServletPath());
-        return this.baseMapper.findBasicCollegePage(new Page<>(pageNumber, pageSize), schoolId, collegeName, dpr);
-    }
-
-    @Transactional(rollbackFor = Exception.class)
-    @Override
-    public Long saveBasicCollege(BasicCollegeParams basicCollegeParams, SysUser requestUser) throws IllegalAccessException {
-        SystemConstant.verifyDBFields(basicCollegeParams, basicCollegeParams.getClass());
-
-        Long id = basicCollegeParams.getId();
-        Long schoolId = requestUser.getSchoolId();
-        String collegeName = basicCollegeParams.getCollegeName();
-        // 检验学院名称一定和二级机构(学院级机构)名称一致 
-        List<SysOrg> collegeOrgList = commonCacheService.addOrgCollegeLevelCache(schoolId);
-        if (collegeOrgList.stream().noneMatch(e -> collegeName.equals(e.getName()))){
-            throw ExceptionResultEnum.ERROR.exception("学生所在的学院名称[" + collegeName + "]不在学院机构中");
-        }
-
-        // 校验专业唯一性(名称在学院下)
-        BasicCollege checkName = this.getOne(new QueryWrapper<BasicCollege>().lambda()
-                .eq(BasicCollege::getSchoolId, schoolId)
-                .eq(BasicCollege::getCollegeName, collegeName));
-        if (Objects.nonNull(checkName) && !checkName.getId().equals(id)) {
-            throw ExceptionResultEnum.ERROR.exception("学生学院名称[" + collegeName + "]重复");
-        }
-        if (SystemConstant.longNotNull(id)) {
-            // 编辑
-            BasicCollege old = this.getById(id);
-            if (Objects.isNull(old)) {
-                throw ExceptionResultEnum.ERROR.exception("所选学生学院不存在");
-            }
-            this.update(new UpdateWrapper<BasicCollege>().lambda()
-                    .eq(BasicCollege::getId, id)
-                    .set(BasicCollege::getCollegeName, collegeName)
-                    .set(BasicCollege::getUpdateId,requestUser.getId()));
-
-        } else {
-            // 新增
-            id = SystemConstant.getDbUuid();
-            BasicCollege basicCollege = new BasicCollege();
-            basicCollege.setId(id);
-            basicCollege.setCollegeName(collegeName);
-            basicCollege.setSchoolId(schoolId);
-            basicCollege.setOrgId(requestUser.getOrgId());
-            basicCollege.setCreateId(requestUser.getId());
-            this.save(basicCollege);
-        }
-        return id;
-    }
-
-    @Transactional(rollbackFor = Exception.class)
-    @Override
-    public boolean deleteBasicCollegeByIdList(List<Long> idList) {
-        // 判断专业
-        List<BasicMajor> basicMajorList = basicMajorService.list(new QueryWrapper<BasicMajor>().lambda().in(BasicMajor::getBelongOrgId, idList));
-        if (basicMajorList.size() > 0) {
-            List<Long> collegeIdList = basicMajorList.stream().map(BasicMajor::getBelongOrgId).distinct().collect(Collectors.toList());
-            String collegeNames = this.list(new QueryWrapper<BasicCollege>()
-                            .lambda()
-                            .in(BasicCollege::getId, collegeIdList))
-                    .stream()
-                    .map(BasicCollege::getCollegeName)
-                    .collect(Collectors.joining(","));
-            throw ExceptionResultEnum.ERROR.exception("学生学院[" + collegeNames + "]被专业绑定,无法优先删除");
-        }
-
-        // 判断学生
-        List<BasicStudent> basicStudentList = basicStudentService.list(new QueryWrapper<BasicStudent>().lambda().in(BasicStudent::getBelongOrgId, idList));
-        if (basicStudentList.size() > 0) {
-            List<Long> collegeIdList = basicStudentList.stream().map(BasicStudent::getBelongOrgId).distinct().collect(Collectors.toList());
-            String collegeNames = this.list(new QueryWrapper<BasicCollege>().lambda().in(BasicCollege::getId, collegeIdList))
-                    .stream()
-                    .map(BasicCollege::getCollegeName)
-                    .collect(Collectors.joining(","));
-            throw ExceptionResultEnum.ERROR.exception("学生学院[" + collegeNames + "]被学生绑定,无法优先删除");
-        }
-        return this.removeByIds(idList);
-    }
-}

+ 33 - 44
teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/impl/BasicCourseServiceImpl.java

@@ -165,13 +165,13 @@ public class BasicCourseServiceImpl extends ServiceImpl<BasicCourseMapper, Basic
             if (basicCourse != null) {
                 throw ExceptionResultEnum.ERROR.exception("开课学院[" + sysOrg.getName() + "]下已存在课程代码[" + basicCourseParams.getCourseCode() + "]的课程");
             } else {
-                basicCourse = new BasicCourse(sysUser.getSchoolId(), basicCourseParams.getTeachingRoomId(), basicCourseParams.getCourseCode(), basicCourseParams.getCourseCode());
+                basicCourse = new BasicCourse(sysUser.getSchoolId(), basicCourseParams.getTeachingRoomId(), basicCourseParams.getCourseCode(), basicCourseParams.getCourseName());
                 basicCourse.insertInfo(sysUser.getId());
                 this.save(basicCourse);
                 return basicCourse.getId();
             }
         } else {
-            if(basicCourse != null && !basicCourse.getId().equals(basicCourseParams.getId())){
+            if (basicCourse != null && !basicCourse.getId().equals(basicCourseParams.getId())) {
                 throw ExceptionResultEnum.ERROR.exception("开课学院[" + sysOrg.getName() + "]下已存在课程代码[" + basicCourseParams.getCourseCode() + "]的课程");
             }
             BasicCourse editBasicCourse = this.getById(basicCourseParams.getId());
@@ -186,54 +186,43 @@ public class BasicCourseServiceImpl extends ServiceImpl<BasicCourseMapper, Basic
     @Transactional(rollbackFor = Exception.class)
     @Override
     public Boolean removeBasicCourseBatch(List<Long> idList) {
-        Long schoolId = SystemConstant.convertIdToLong(ServletUtil.getRequestHeaderSchoolId().toString());
-        if (idList.size() == 0) {
-            throw ExceptionResultEnum.ERROR.exception("请选择要目标");
-        }
         SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
-        // 批量禁用判断
-        // 业务判断
-        Set<String> courseCodeSet = idList.stream().map(e -> {
-            BasicCourse basicCourse = this.getById(e);
-            if (Objects.isNull(basicCourse)) {
-                throw ExceptionResultEnum.ERROR.exception("未找到课程");
-            }
-            return basicCourse.getCode();
-        }).collect(Collectors.toSet());
-
-        Map<String, String> courseMap = this.list(
-                        new QueryWrapper<BasicCourse>().lambda().in(BasicCourse::getId, idList)).stream()
-                .collect(Collectors.toMap(BasicCourse::getCode, BasicCourse::getName));
-        // 考生字典数据不包含该课程校验
-        List<String> basicExamStudentCourseNameList = basicCourseMapper.findBasicExamStudentCourseName(schoolId,
-                courseCodeSet).stream().map(courseMap::get).collect(Collectors.toList());
-        if (!CollectionUtils.isEmpty(basicExamStudentCourseNameList)) {
-            throw ExceptionResultEnum.ERROR.exception(
-                    String.format("考生字典中包含[%s]课程,不能删除", String.join(",", basicExamStudentCourseNameList)));
-        }
-        // 教学课程不包含该课程校验
-        List<String> teachCourseCourseNameList = basicCourseMapper.findTeachCourseCourseName(schoolId, courseCodeSet).stream().map(courseMap::get).collect(Collectors.toList());
-        if (!CollectionUtils.isEmpty(teachCourseCourseNameList)) {
-            throw ExceptionResultEnum.ERROR.exception(
-                    String.format("教学课程中包含[%s]课程,不能删除", String.join(",", teachCourseCourseNameList)));
+        if (CollectionUtils.isEmpty(idList)) {
+            throw ExceptionResultEnum.ERROR.exception("请选择删除的课程");
         }
 
-        // 命题任务不包含该课程校验
-        Set<Map<String, Object>> mapList = basicCourseMapper.findExamTaskByCourseCode(schoolId, courseCodeSet);
-        if (mapList.size() > 0) {
-            StringBuilder courseNames = new StringBuilder();
-            for (Map<String, Object> map : mapList) {
-                courseNames.append(map.get("courseName")).append(",");
+        for (Long courseId : idList) {
+            BasicCourse basicCourse = this.getById(courseId);
+            if (basicCourse == null) {
+                continue;
+            }
+            // 教师课程数据
+            int countTeachCourseByCourseId = this.baseMapper.countTeachCourseByCourseId(courseId);
+            if (countTeachCourseByCourseId > 0) {
+                throw ExceptionResultEnum.ERROR.exception("课程代码[" + basicCourse.getCode() + "],课程名称[" + basicCourse.getName() + "]已有老师绑定,不能删除");
+            }
+            // 考生管理
+            int countBasicExamStudentByCourseId = this.baseMapper.countBasicExamStudentByCourseId(courseId);
+            if (countBasicExamStudentByCourseId > 0) {
+                throw ExceptionResultEnum.ERROR.exception("课程代码[" + basicCourse.getCode() + "],课程名称[" + basicCourse.getName() + "]下已有考生数据,不能删除");
+            }
+            // 命题任务
+            int countExamTaskByCourseId = this.baseMapper.countExamTaskByCourseId(courseId);
+            if (countExamTaskByCourseId > 0) {
+                throw ExceptionResultEnum.ERROR.exception("课程代码[" + basicCourse.getCode() + "],课程名称[" + basicCourse.getName() + "]下已有命题数据,不能删除");
+            }
+            // 题卡管理
+            int countExamCardByCourseId = this.baseMapper.countExamCardByCourseId(courseId);
+            if (countExamCardByCourseId > 0) {
+                throw ExceptionResultEnum.ERROR.exception("课程代码[" + basicCourse.getCode() + "],课程名称[" + basicCourse.getName() + "]下已有题卡数据,不能删除");
+            }
+            // 扫描阅卷课程
+            int countMarkPaperByCourseId = this.baseMapper.countMarkPaperByCourseId(courseId);
+            if (countMarkPaperByCourseId > 0) {
+                throw ExceptionResultEnum.ERROR.exception("课程代码[" + basicCourse.getCode() + "],课程名称[" + basicCourse.getName() + "]下已有扫描课程数据,不能删除");
             }
-            throw ExceptionResultEnum.ERROR.exception("课程[" + courseNames.substring(0, courseNames.length() - 1) + "]已经生成了命题任务,不允许删除");
         }
-        // 课程批量删除
-        basicUserCourseService.remove(
-                new QueryWrapper<BasicUserCourse>().lambda().in(BasicUserCourse::getCourseId, idList).eq(BasicUserCourse::getSchoolId, sysUser.getSchoolId()));
 
-        // 老师批量删除
-        basicTeachCourseService.remove(
-                new QueryWrapper<BasicTeachCourse>().lambda().in(BasicTeachCourse::getCourseId, idList).eq(BasicTeachCourse::getSchoolId, sysUser.getSchoolId()));
         return this.removeByIds(idList);
     }
 

+ 2 - 2
teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/impl/BasicStudentServiceImpl.java

@@ -94,8 +94,8 @@ public class BasicStudentServiceImpl extends ServiceImpl<BasicStudentMapper, Bas
     }
 
     @Override
-    public List<BasicExamStudentResult> basicStudentList(Long schoolId, Long examId, String courseCode, String teacher, String className, List<String> studentCodeList) {
-        return this.baseMapper.findBasicStudentList(schoolId, examId, courseCode, teacher, className, studentCodeList);
+    public List<BasicExamStudentResult> basicStudentList(Long schoolId, Long examId, Long courseId, String teacher, String className, List<String> studentCodeList) {
+        return this.baseMapper.findBasicStudentList(schoolId, examId, courseId, teacher, className, studentCodeList);
     }
 
     @Override

+ 24 - 8
teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/impl/SysOrgServiceImpl.java

@@ -69,7 +69,7 @@ public class SysOrgServiceImpl extends ServiceImpl<SysOrgMapper, SysOrg> impleme
     private BasicCourseService basicCourseService;
 
     @Override
-    public List<OrgDto> listOrgTree(RoleTypeEnum specialPrivilegeEnum, boolean withoutPrintingRoom, String courseCode, Set<Long> orgIds) {
+    public List<OrgDto> listOrgTree(RoleTypeEnum specialPrivilegeEnum, boolean withoutPrintingRoom, Long courseId, Set<Long> orgIds) {
         Long schoolId = Long.valueOf(ServletUtil.getRequestHeaderSchoolId().toString());
         List<SysUserResult> finalSysUserResultList = sysUserService.findSysUserResultListNew(schoolId, specialPrivilegeEnum);
         if (!CollectionUtils.isEmpty(finalSysUserResultList)) {
@@ -114,8 +114,9 @@ public class SysOrgServiceImpl extends ServiceImpl<SysOrgMapper, SysOrg> impleme
             map.remove(key);
         }
         List<OrgDto> list = new ArrayList<>(map.values());
-        if ((specialPrivilegeEnum == RoleTypeEnum.MARKER) && Objects.nonNull(courseCode)) {
-            List<SysUserResult> resultList = sysUserService.findCourseSysUserResultList(schoolId, courseCode);
+        if ((specialPrivilegeEnum == RoleTypeEnum.MARKER) && Objects.nonNull(courseId)) {
+            BasicCourse basicCourse = basicCourseService.getById(courseId);
+            List<SysUserResult> resultList = sysUserService.findCourseSysUserResultList(schoolId, basicCourse.getId());
             list.get(0).setCourseUserList(resultList);
         }
         return list;
@@ -143,11 +144,6 @@ public class SysOrgServiceImpl extends ServiceImpl<SysOrgMapper, SysOrg> impleme
                 org.insertInfo(sysUser.getId());
                 success = this.save(org);
             } else { // 修改
-                // 已经推送到云阅卷,不允许修改机构代码
-                SysOrg sysOrg = this.getById(org.getId());
-                if (sysOrg.getThirdRelateId() != null && !org.getCode().equals(sysOrg.getCode())) {
-                    throw ExceptionResultEnum.ERROR.exception("机构已经同步到云阅卷,不支持修改机构代码");
-                }
                 org.updateInfo(sysUser.getId());
                 success = this.updateById(org);
             }
@@ -557,6 +553,26 @@ public class SysOrgServiceImpl extends ServiceImpl<SysOrgMapper, SysOrg> impleme
         return this.list(queryWrapper);
     }
 
+    @Override
+    public boolean delete(Long id) {
+        Long schoolId = Long.valueOf(ServletUtil.getRequestHeaderSchoolId().toString());
+        // 机构下是否有用户
+        List<SysUser> sysUsers = sysUserService.listByOrgId(id);
+        if (!CollectionUtils.isEmpty(sysUsers)) {
+            throw ExceptionResultEnum.ERROR.exception("该机构下有用户,不能删除");
+        }
+
+        // 机构下是否有子机构
+        QueryWrapper<SysOrg> orgQueryWrapper = new QueryWrapper<>();
+        orgQueryWrapper.lambda().eq(SysOrg::getParentId, id);
+        List<SysOrg> sysOrgList = this.list(orgQueryWrapper);
+        if (!CollectionUtils.isEmpty(sysOrgList)) {
+            throw ExceptionResultEnum.ERROR.exception("该机构下有子机构,不能删除");
+        }
+        commonCacheService.removeOrgCollegeLevelCache(schoolId);
+        return this.removeById(id);
+    }
+
     /**
      * 根据子机构id深度优先搜索其父机构们
      *

+ 5 - 38
teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/impl/SysUserServiceImpl.java

@@ -340,33 +340,13 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
     }
 
     @Override
-    public AssignTeacherDto listUser(String courseCode, String param) {
+    public AssignTeacherDto listUser(Long courseId, String param) {
         Long schoolId = Long.valueOf(ServletUtil.getRequestHeaderSchoolId().toString());
-        QueryWrapper<BasicCourse> basicCourseQueryWrapper = new QueryWrapper<>();
-        basicCourseQueryWrapper.lambda().eq(BasicCourse::getSchoolId, schoolId)
-                .eq(BasicCourse::getCode, courseCode)
-                .eq(BasicCourse::getEnable, true);
-        BasicCourse basicCourse = basicCourseService.getOne(basicCourseQueryWrapper);
+        BasicCourse basicCourse = basicCourseService.getById(courseId);
         if (Objects.isNull(basicCourse)) {
             throw ExceptionResultEnum.ERROR.exception("找不到此课程信息");
         }
-
-//        Map<String, List<String>> flowSchoolCodeMap = SystemConstant.getFlowSchoolCodeMap();
-//        BasicSchool basicSchool = (BasicSchool) ServletUtil.getRequestSchool();
-//        if (flowSchoolCodeMap.get(SystemConstant.JXZYY_FLOW_KEY).contains(basicSchool.getCode())) {
-//            List<ApproveUserResult> approveUserResultList = sysUserService.findByJxzyyDirectorApprove(null, FlowApproveNameEnum.TEACHER);
-//            if (Objects.nonNull(approveUserResultList) && approveUserResultList.size() > 0) {//说明是实施人员提交
-//                List<BlurryUserDto> blurryUserDtoList = new ArrayList<>();
-//                for (ApproveUserResult sysUser : approveUserResultList) {
-//                    blurryUserDtoList.add(new BlurryUserDto(sysUser.getId(), sysUser.getLoginName(), sysUser.getRealName()));
-//                }
-//                return blurryUserDtoList;
-//            } else {
-//                return listUserCommon(basicCourse, schoolId);
-//            }
-//        } else {
         return listUserCommon(basicCourse, schoolId);
-//        }
     }
 
     /**
@@ -377,15 +357,6 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
      * @return
      */
     private AssignTeacherDto listUserCommon(BasicCourse basicCourse, Long schoolId) {
-//        int count = this.countByTeachingRoomId(basicCourse.getTeachingRoomId());
-//        List<SysOrg> sysOrgList = null;
-//        if (count == 0) {
-//            sysOrgList = sysOrgService.findByConnectByParentId(basicCourse.getTeachingRoomId(), true, true);
-//        } else {
-//        List<SysOrg> sysOrgList = sysOrgService.findByConnectByRootOrgId(basicCourse.getTeachingRoomId());
-//        }
-//        Set<Long> orgIds = sysOrgList.stream().map(s -> s.getId()).collect(Collectors.toSet());
-//        List<ApproveUserResult> sysUserList = sysUserService.filterFlowPrivilege(schoolId, orgIds, false, null, null);
         List<SysUserResult> finalSysUserResultList = sysUserService.findSysUserResultListNew(schoolId, null);
         if (!CollectionUtils.isEmpty(finalSysUserResultList)) {
             finalSysUserResultList.forEach(e -> {
@@ -423,7 +394,7 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
             map.remove(key);
         }
         List<OrgDto> list = new ArrayList<>(map.values());
-        List<SysUserResult> resultList = sysUserService.findCourseSysUserResultList(schoolId, basicCourse.getCode());
+        List<SysUserResult> resultList = sysUserService.findCourseSysUserResultList(schoolId, basicCourse.getId());
 //        List<BlurryUserDto> blurryUserDtoList = new ArrayList<>();
 //        for (ApproveUserResult sysUser : sysUserList) {
 //            blurryUserDtoList.add(new BlurryUserDto(sysUser.getId(), sysUser.getLoginName(), sysUser.getRealName()));
@@ -1030,14 +1001,10 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
 
     /**
      * 查找科目下命题老师
-     *
-     * @param schoolId
-     * @param courseCode
-     * @return
      */
     @Override
-    public List<SysUserResult> findCourseSysUserResultList(Long schoolId, String courseCode) {
-        return sysUserMapper.findCourseSysUserResultList(schoolId, courseCode);
+    public List<SysUserResult> findCourseSysUserResultList(Long schoolId, Long courseId) {
+        return sysUserMapper.findCourseSysUserResultList(schoolId, courseId);
     }
 
     /**

+ 0 - 32
teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/impl/TeachcloudCommonServiceImpl.java

@@ -93,13 +93,6 @@ public class TeachcloudCommonServiceImpl implements TeachcloudCommonService {
 
     @Resource
     SysUserService sysUserService;
-
-    @Resource
-    ConvertUtil convertUtil;
-
-    @Resource
-    BasicCampusService basicCampusService;
-
     @Resource
     BasicCourseService basicCourseService;
 
@@ -744,31 +737,6 @@ public class TeachcloudCommonServiceImpl implements TeachcloudCommonService {
         return loginResult;
     }
 
-    @Override
-    public String getSysIncrCode(SystemCodeEnum type, SysUser requestUser) {
-        Long schoolId = requestUser.getSchoolId();
-        String date = DateUtil.today().replace(SystemConstant.HYPHEN, "");
-        int count = 0;
-        String code = date.concat(redisCounterUtil.getCounter(schoolId, 4, type.getCode()));
-        do {
-            switch (type) {
-                case CAMPUS_CODE:
-                    count = basicCampusService.count(new QueryWrapper<BasicCampus>().lambda()
-                            .eq(BasicCampus::getCampusCode, code)
-                            .eq(BasicCampus::getSchoolId, schoolId));
-                    break;
-                case COURSE_CODE:
-                    count = basicCourseService.count(new QueryWrapper<BasicCourse>().lambda()
-                            .eq(BasicCourse::getCode, code)
-                            .eq(BasicCourse::getSchoolId, schoolId));
-                    break;
-                default:
-                    break;
-            }
-        } while (count > 0);
-        return code;
-    }
-
     @Override
     public boolean containsPrivilege(Long userId, String button, String selectStudent) {
         MenuResult menuResult = commonCacheService.userMenuCache(userId);

+ 0 - 24
teachcloud-common/src/main/resources/mapper/BasicCampusMapper.xml

@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.qmth.teachcloud.common.mapper.BasicCampusMapper">
-
-    <select id="findBasicCampusResult"
-            resultType="com.qmth.teachcloud.common.bean.result.BasicCampusResult">
-        SELECT
-            cam.id AS id,
-            campus_name AS campusName,
-            campus_code AS campusCode,
-            print_house_id AS printHouseId,
-            org.name AS printHouseName,
-            cam.create_id AS createId,
-            cam.create_time AS createTime
-        FROM
-            basic_campus cam
-                LEFT JOIN
-            sys_org org ON cam.print_house_id = org.id
-        WHERE
-            cam.school_id = #{schoolId}
-          AND cam.enable = TRUE
-        ORDER BY cam.create_time DESC
-    </select>
-</mapper>

+ 0 - 33
teachcloud-common/src/main/resources/mapper/BasicCollegeMapper.xml

@@ -1,33 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.qmth.teachcloud.common.mapper.BasicCollegeMapper">
-
-    <select id="findBasicCollegePage" resultType="com.qmth.teachcloud.common.bean.result.BasicCollegeResult">
-        SELECT
-            id,
-            college_name as collegeName,
-            create_time as createTime
-        FROM
-            basic_college
-        <where>
-            <if test="schoolId != null and schoolId != ''">
-                AND school_id = #{schoolId}
-            </if>
-            <if test="collegeName != null and collegeName != ''">
-                AND college_name LIKE CONCAT('%',#{collegeName},'%')
-            </if>
-            <if test="dpr != null">
-                <if test="dpr.requestUserId != null">
-                    AND create_id = #{dpr.requestUserId}
-                </if>
-                <if test="dpr.orgIdSet != null and dpr.orgIdSet != '' and dpr.orgIdSet.size > 0">
-                    AND org_id IN
-                    <foreach collection="dpr.orgIdSet" item="item" index="index" open="(" separator="," close=")">
-                        #{item}
-                    </foreach>
-                </if>
-            </if>
-        </where>
-        ORDER BY create_time DESC
-    </select>
-</mapper>

+ 15 - 0
teachcloud-common/src/main/resources/mapper/BasicCourseMapper.xml

@@ -216,4 +216,19 @@
             </if>
         </where>
     </select>
+    <select id="countTeachCourseByCourseId" resultType="java.lang.Integer">
+        select count(1) from teach_course where course_id = #{courseId}
+    </select>
+    <select id="countBasicExamStudentByCourseId" resultType="java.lang.Integer">
+        select count(1) from basic_exam_student where course_id = #{courseId}
+    </select>
+    <select id="countExamTaskByCourseId" resultType="java.lang.Integer">
+        select count(1) from exam_task where course_id = #{courseId}
+    </select>
+    <select id="countExamCardByCourseId" resultType="java.lang.Integer">
+        select count(1) from exam_card where course_id = #{courseId}
+    </select>
+    <select id="countMarkPaperByCourseId" resultType="java.lang.Integer">
+        select count(1) from mark_paper where course_id = #{courseId}
+    </select>
 </mapper>

+ 2 - 2
teachcloud-common/src/main/resources/mapper/BasicStudentMapper.xml

@@ -131,8 +131,8 @@
             <if test="examId != null">
                 and stu.exam_id = #{examId}
             </if>
-            <if test="courseCode != null and courseCode != ''">
-                and stu.course_code = #{courseCode}
+            <if test="courseId != null">
+                and stu.course_id = #{courseId}
             </if>
             <if test="teacher != null and teacher != ''">
                 and (su.login_name like concat('%', #{teacher}, '%') or su.real_name like concat('%', #{teacher}, '%'))

+ 3 - 4
teachcloud-common/src/main/resources/mapper/SysUserMapper.xml

@@ -425,13 +425,12 @@
             join sys_user_role sur on sur.user_id = su.id
             join sys_role sr on sr.id = sur.role_id
             join teach_course tc on tc.user_id = su.id
-            join basic_course bc on tc.school_id = bc.school_id AND bc.code = tc.course_code
         <where>
-            <if test="schoolId != null and schoolId != ''">
+            <if test="schoolId != null">
                 and tc.school_id = #{schoolId}
             </if>
-            <if test="courseCode != null and courseCode != ''">
-                and bc.code = #{courseCode}
+            <if test="courseId != null">
+                and tc.course_id = #{courseId}
             </if>
         </where>
         group by

Some files were not shown because too many files changed in this diff