Explorar o código

3.2.4 客户端接口增加学期和考试选择

xiaofei %!s(int64=2) %!d(string=hai) anos
pai
achega
af877e3928
Modificáronse 13 ficheiros con 132 adicións e 68 borrados
  1. 9 0
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/bean/dto/ClientExamTaskDto.java
  2. 5 5
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/mapper/ExamPrintPlanMapper.java
  3. 4 4
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/mapper/ExamTaskMapper.java
  4. 8 8
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/ClientService.java
  5. 5 5
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/ExamPrintPlanService.java
  6. 2 2
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/ExamTaskService.java
  7. 16 16
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/ClientServiceImpl.java
  8. 10 10
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/ExamPrintPlanServiceImpl.java
  9. 4 4
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/ExamTaskServiceImpl.java
  10. 0 6
      distributed-print-business/src/main/resources/mapper/ConditionMapper.xml
  11. 32 0
      distributed-print-business/src/main/resources/mapper/ExamPrintPlanMapper.xml
  12. 13 0
      distributed-print-business/src/main/resources/mapper/ExamTaskMapper.xml
  13. 24 8
      distributed-print/src/main/java/com/qmth/distributed/print/api/ClientController.java

+ 9 - 0
distributed-print-business/src/main/java/com/qmth/distributed/print/business/bean/dto/ClientExamTaskDto.java

@@ -7,6 +7,7 @@ public class ClientExamTaskDto {
 
     private String examTaskId;
     private String schoolId;
+    private String examId;
     private String printPlanId;
     private String printPlanName;
     private String paperNumber;
@@ -35,6 +36,14 @@ public class ClientExamTaskDto {
         this.schoolId = schoolId;
     }
 
+    public String getExamId() {
+        return examId;
+    }
+
+    public void setExamId(String examId) {
+        this.examId = examId;
+    }
+
     public String getPrintPlanId() {
         return printPlanId;
     }

+ 5 - 5
distributed-print-business/src/main/java/com/qmth/distributed/print/business/mapper/ExamPrintPlanMapper.java

@@ -35,15 +35,15 @@ public interface ExamPrintPlanMapper extends BaseMapper<ExamPrintPlan> {
 
     List<PrintPlanBrief> list(@Param("schoolId") Long schoolId, @Param("source") String source, @Param("module") String module, @Param("status") String[] status, @Param("dpr") DataPermissionRule dpr);
 
-    IPage<ClientPrintTaskDto> listClientPrintTask(Page<ClientPrintTaskDto> page, @Param("schoolId") Long schoolId, @Param("machineCode") String machineCode, @Param("printPlanId") String printPlanId, @Param("status") String status, @Param("courseCode") String courseCode, @Param("paperNumber") String paperNumber, @Param("examPlace") String examPlace, @Param("examRoom") String examRoom, @Param("examStartTime") Long examStartTime, @Param("examEndTime") Long examEndTime, @Param("isDownload") Boolean isDownload, @Param("validate") Boolean validate, @Param("orgId") Long orgId, @Param("examDetailStatus") String[] examDetailStatus);
+    IPage<ClientPrintTaskDto> listClientPrintTask(Page<ClientPrintTaskDto> page, @Param("schoolId") Long schoolId, @Param("semesterId") Long semesterId, @Param("examId") Long examId, @Param("machineCode") String machineCode, @Param("printPlanId") String printPlanId, @Param("status") String status, @Param("courseCode") String courseCode, @Param("paperNumber") String paperNumber, @Param("examPlace") String examPlace, @Param("examRoom") String examRoom, @Param("examStartTime") Long examStartTime, @Param("examEndTime") Long examEndTime, @Param("isDownload") Boolean isDownload, @Param("validate") Boolean validate, @Param("orgId") Long orgId, @Param("examDetailStatus") String[] examDetailStatus);
 
-    List<ClientPrintTaskDto> listClientPrintTask(@Param("schoolId") Long schoolId, @Param("machineCode") String machineCode, @Param("printPlanId") String printPlanId, @Param("status") String status, @Param("courseCode") String courseCode, @Param("paperNumber") String paperNumber, @Param("examPlace") String examPlace, @Param("examRoom") String examRoom, @Param("examStartTime") Long examStartTime, @Param("examEndTime") Long examEndTime, @Param("isDownload") Boolean isDownload, @Param("validate") Boolean validate, @Param("orgId") Long orgId, @Param("examDetailStatus") String[] examDetailStatus);
+    List<ClientPrintTaskDto> listClientPrintTask(@Param("schoolId") Long schoolId, @Param("semesterId") Long semesterId, @Param("examId") Long examId, @Param("machineCode") String machineCode, @Param("printPlanId") String printPlanId, @Param("status") String status, @Param("courseCode") String courseCode, @Param("paperNumber") String paperNumber, @Param("examPlace") String examPlace, @Param("examRoom") String examRoom, @Param("examStartTime") Long examStartTime, @Param("examEndTime") Long examEndTime, @Param("isDownload") Boolean isDownload, @Param("validate") Boolean validate, @Param("orgId") Long orgId, @Param("examDetailStatus") String[] examDetailStatus);
 
-    ClientPrintTaskTotalDto clientTaskTotalData(@Param("schoolId") Long schoolId, @Param("printPlanId") String printPlanId, @Param("status") String status, @Param("courseCode") String courseCode, @Param("paperNumber") String paperNumber, @Param("examPlace") String examPlace, @Param("examRoom") String examRoom, @Param("examStartTime") Long examStartTime, @Param("examEndTime") Long examEndTime, @Param("isDownload") Boolean isDownload, @Param("validate") Boolean validate, @Param("machineCode") String machineCode, @Param("orgId") Long orgId, @Param("examDetailStatus") String[] examDetailStatus);
+    ClientPrintTaskTotalDto clientTaskTotalData(@Param("schoolId") Long schoolId, @Param("semesterId") Long semesterId, @Param("examId") Long examId, @Param("printPlanId") String printPlanId, @Param("status") String status, @Param("courseCode") String courseCode, @Param("paperNumber") String paperNumber, @Param("examPlace") String examPlace, @Param("examRoom") String examRoom, @Param("examStartTime") Long examStartTime, @Param("examEndTime") Long examEndTime, @Param("isDownload") Boolean isDownload, @Param("validate") Boolean validate, @Param("machineCode") String machineCode, @Param("orgId") Long orgId, @Param("examDetailStatus") String[] examDetailStatus);
 
-    IPage<ClientPrintStatisticsDto> listClientPrintStatistics(Page<ClientPrintStatisticsDto> page, @Param("schoolId") Long schoolId, @Param("printPlanId") String printPlanId, @Param("examPlace") String examPlace, @Param("examStartTime") Long examStartTime, @Param("examEndTime") Long examEndTime, @Param("courseCode") String courseCode, @Param("paperNumber") String paperNumber, @Param("orgId") Long orgId, @Param("examDetailStatus") String[] examDetailStatus);
+    IPage<ClientPrintStatisticsDto> listClientPrintStatistics(Page<ClientPrintStatisticsDto> page, @Param("schoolId") Long schoolId, @Param("semesterId") Long semesterId, @Param("examId") Long examId, @Param("printPlanId") String printPlanId, @Param("examPlace") String examPlace, @Param("examStartTime") Long examStartTime, @Param("examEndTime") Long examEndTime, @Param("courseCode") String courseCode, @Param("paperNumber") String paperNumber, @Param("orgId") Long orgId, @Param("examDetailStatus") String[] examDetailStatus);
 
-    ClientPrintStatisticsTotalDto clientStatisticsTotalData(@Param("schoolId") Long schoolId, @Param("printPlanId") Long printPlanId, @Param("examPlace") String examPlace, @Param("examStartTime") Long examStartTime, @Param("examEndTime") Long examEndTime, @Param("courseCode") String courseCode, @Param("paperNumber") String paperNumber, @Param("orgId") Long orgId, @Param("examDetailStatus") String[] examDetailStatus);
+    ClientPrintStatisticsTotalDto clientStatisticsTotalData(@Param("schoolId") Long schoolId, @Param("semesterId") Long semesterId, @Param("examId") Long examId, @Param("printPlanId") Long printPlanId, @Param("examPlace") String examPlace, @Param("examStartTime") Long examStartTime, @Param("examEndTime") Long examEndTime, @Param("courseCode") String courseCode, @Param("paperNumber") String paperNumber, @Param("orgId") Long orgId, @Param("examDetailStatus") String[] examDetailStatus);
 
     List<PrintPlanBrief> listToClient(@Param("schoolId") Long schoolId, @Param("source") String source, @Param("module") String module, @Param("status") String[] status, @Param("orgId") Long orgId);
 }

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

@@ -31,7 +31,7 @@ public interface ExamTaskMapper extends BaseMapper<ExamTask> {
 
     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("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> 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);
 
@@ -39,13 +39,13 @@ public interface ExamTaskMapper extends BaseMapper<ExamTask> {
 
     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);
 
-    List<RelatePaperDto> listPaperNumbers(@Param("schoolId") Long schoolId, @Param("courseCode") String courseCode, @Param("status") String status,@Param("dpr") DataPermissionRule dpr);
+    List<RelatePaperDto> listPaperNumbers(@Param("schoolId") Long schoolId, @Param("courseCode") String courseCode, @Param("status") String status, @Param("dpr") DataPermissionRule dpr);
 
     ExamTaskDetailCardDto applyGetOne(@Param("examTaskId") Long examTaskId, @Param("source") String source);
 
-    IPage<ClientExamTaskDto> listClientExamTaskPage(Page<ClientExamTaskDto> page, @Param("schoolId") Long schoolId, @Param("machineCode") String machineCode, @Param("printPlanId") Long printPlanId, @Param("courseCode") String courseCode, @Param("paperNumber") String paperNumber, @Param("isTry") Boolean isTry, @Param("isPass") Boolean isPass, @Param("orgId") Long orgId, @Param("printPlanStatus") String printPlanStatus, @Param("examDetailStatus") String[] examDetailStatus);
+    IPage<ClientExamTaskDto> listClientExamTaskPage(Page<ClientExamTaskDto> page, @Param("schoolId") Long schoolId, @Param("semesterId") Long semesterId, @Param("examId") Long examId, @Param("machineCode") String machineCode, @Param("printPlanId") Long printPlanId, @Param("courseCode") String courseCode, @Param("paperNumber") String paperNumber, @Param("isTry") Boolean isTry, @Param("isPass") Boolean isPass, @Param("orgId") Long orgId, @Param("printPlanStatus") String printPlanStatus, @Param("examDetailStatus") String[] examDetailStatus);
 
-    List<ClientExamTaskDto> listClientExamTaskPage(@Param("schoolId") Long schoolId, @Param("machineCode") String machineCode, @Param("printPlanId") Long printPlanId, @Param("courseCode") String courseCode, @Param("paperNumber") String paperNumber, @Param("isTry") Boolean isTry, @Param("isPass") Boolean isPass, @Param("orgId") Long orgId, @Param("printPlanStatus") String printPlanStatus, @Param("examDetailStatus") String[] examDetailStatus);
+    List<ClientExamTaskDto> listClientExamTaskPage(@Param("schoolId") Long schoolId, @Param("semesterId") Long semesterId, @Param("examId") Long examId, @Param("machineCode") String machineCode, @Param("printPlanId") Long printPlanId, @Param("courseCode") String courseCode, @Param("paperNumber") String paperNumber, @Param("isTry") Boolean isTry, @Param("isPass") Boolean isPass, @Param("orgId") Long orgId, @Param("printPlanStatus") String printPlanStatus, @Param("examDetailStatus") String[] examDetailStatus);
 
     List<ExamTask> listExamTaskByCardId(Long cardId);
 

+ 8 - 8
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/ClientService.java

@@ -10,7 +10,7 @@ import java.util.List;
 import java.util.Map;
 
 public interface ClientService {
-    IPage<ClientExamTaskDto> listTryTask(String machineCode, Long orgId, Long printPlanId, String courseCode, String paperNumber, Boolean isTry, Boolean isPass, Integer pageNumber, Integer pageSize);
+    IPage<ClientExamTaskDto> listTryTask(String machineCode, Long orgId, Long semesterId, Long examId, Long printPlanId, String courseCode, String paperNumber, Boolean isTry, Boolean isPass, Integer pageNumber, Integer pageSize);
 
     List<Map<String, Object>> getPaperUrl(List<JSONObject> objects);
 
@@ -22,11 +22,11 @@ public interface ClientService {
 
     Map<String, Object> getReprintData(Long examDetailId, String ticketNumber, String type);
 
-    IPage<ClientPrintTaskDto> listClientPrintTask(String machineCode, Long orgId, String printPlanId, String status, String courseCode, String paperNumber, String examPlace, String examRoom, Long examStartTime, Long examEndTime, Boolean isDownload, Boolean validate, Integer pageNumber, Integer pageSize);
+    IPage<ClientPrintTaskDto> listClientPrintTask(String machineCode, Long orgId, Long semesterId, Long examId, String printPlanId, String status, String courseCode, String paperNumber, String examPlace, String examRoom, Long examStartTime, Long examEndTime, Boolean isDownload, Boolean validate, Integer pageNumber, Integer pageSize);
 
     List<Map<String, Object>> getPrintData(String examDetailId, String machineCode, Boolean isPrint, String printUser);
 
-    List<Map<String, Object>> getPrintDataBatch(String machineCode, Long orgId, String printPlanId, String status, String courseCode, String paperNumber, String examPlace, String examRoom, Long examStartTime, Long examEndTime, Boolean isDownload, Boolean validate);
+    List<Map<String, Object>> getPrintDataBatch(String machineCode, Long orgId, Long semesterId, Long examId, String printPlanId, String status, String courseCode, String paperNumber, String examPlace, String examRoom, Long examStartTime, Long examEndTime, Boolean isDownload, Boolean validate);
 
     Map<String, Object> getUrlByExamDetailId(Long examDetailId);
 
@@ -34,15 +34,15 @@ public interface ClientService {
 
     Boolean validateData(Long examDetailId, String packageCode, String lastCode);
 
-    List<Map<String, Object>> getBatchUrl(String machineCode, Long orgId, Long printPlanId, String courseCode, String paperNumber, Boolean isTry, Boolean isPass);
+    List<Map<String, Object>> getBatchUrl(String machineCode, Long orgId, Long semesterId, Long examId, Long printPlanId, String courseCode, String paperNumber, Boolean isTry, Boolean isPass);
 
-    void exportClientPrintTask(HttpServletResponse response, String machineCode, Long orgId, String printPlanId, String status, String courseCode, String paperNumber, String examPlace, String examRoom, Long examStartTime, Long examEndTime, Boolean isDownload, Boolean validate) throws Exception;
+    void exportClientPrintTask(HttpServletResponse response, String machineCode, Long orgId, Long semesterId, Long examId, String printPlanId, String status, String courseCode, String paperNumber, String examPlace, String examRoom, Long examStartTime, Long examEndTime, Boolean isDownload, Boolean validate) throws Exception;
 
-    ClientPrintTaskTotalDto taskTotalData(String printPlanId, Long orgId, String status, String courseCode, String paperNumber, String examPlace, String examRoom, Long examStartTime, Long examEndTime, Boolean isDownload, Boolean validate, String machineCode);
+    ClientPrintTaskTotalDto taskTotalData(Long semesterId, Long examId, String printPlanId, Long orgId, String status, String courseCode, String paperNumber, String examPlace, String examRoom, Long examStartTime, Long examEndTime, Boolean isDownload, Boolean validate, String machineCode);
 
-    IPage<ClientPrintStatisticsDto> listClientPrintStatistics(Long orgId, String printPlanId, String examPlace, Long examStartTime, Long examEndTime, String courseCode, String paperNumber, Integer pageNumber, Integer pageSize);
+    IPage<ClientPrintStatisticsDto> listClientPrintStatistics(Long orgId, Long semesterId, Long examId, String printPlanId, String examPlace, Long examStartTime, Long examEndTime, String courseCode, String paperNumber, Integer pageNumber, Integer pageSize);
 
-    ClientPrintStatisticsTotalDto clientStatisticsTotalData(Long orgId, Long printPlanId, String examPlace, Long examStartTime, Long examEndTime, String courseCode, String paperNumber);
+    ClientPrintStatisticsTotalDto clientStatisticsTotalData(Long orgId, Long semesterId, Long examId, Long printPlanId, String examPlace, Long examStartTime, Long examEndTime, String courseCode, String paperNumber);
 
     void checkPrivilege(Long id);
 

+ 5 - 5
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/ExamPrintPlanService.java

@@ -81,15 +81,15 @@ public interface ExamPrintPlanService extends IService<ExamPrintPlan> {
 
     List<Map<String, String>> tempalteView(Long printPlanId);
 
-    IPage<ClientPrintTaskDto> listClientPrintTask(Page<ClientPrintTaskDto> page, Long schoolId, String machineCode, String printPlanId, String status, String courseCode, String paperNumber, String examPlace, String examRoom, Long examStartTime, Long examEndTime, Boolean isDownload, Boolean validate, Long orgId);
+    IPage<ClientPrintTaskDto> listClientPrintTask(Page<ClientPrintTaskDto> page, Long schoolId, Long semesterId, Long examId, String machineCode, String printPlanId, String status, String courseCode, String paperNumber, String examPlace, String examRoom, Long examStartTime, Long examEndTime, Boolean isDownload, Boolean validate, Long orgId);
 
-    List<ClientPrintTaskDto> listClientPrintTask(Long schoolId, String machineCode, String printPlanId, String status, String courseCode, String paperNumber, String examPlace, String examRoom, Long examStartTime, Long examEndTime, Boolean isDownload, Boolean validate, Long orgId);
+    List<ClientPrintTaskDto> listClientPrintTask(Long schoolId, Long semesterId, Long examId, String machineCode, String printPlanId, String status, String courseCode, String paperNumber, String examPlace, String examRoom, Long examStartTime, Long examEndTime, Boolean isDownload, Boolean validate, Long orgId);
 
-    ClientPrintTaskTotalDto clientTaskTotalData(String printPlanId, Long orgId, String status, String courseCode, String paperNumber, String examPlace, String examRoom, Long examStartTime, Long examEndTime, Boolean isDownload, Boolean validate, String machineCode);
+    ClientPrintTaskTotalDto clientTaskTotalData(Long semesterId, Long examId, String printPlanId, Long orgId, String status, String courseCode, String paperNumber, String examPlace, String examRoom, Long examStartTime, Long examEndTime, Boolean isDownload, Boolean validate, String machineCode);
 
-    IPage<ClientPrintStatisticsDto> listClientPrintStatistics(Page<ClientPrintStatisticsDto> page, Long schoolId, String printPlanId, String examPlace, Long examStartTime, Long examEndTime, String courseCode, String paperNumber, Long orgId);
+    IPage<ClientPrintStatisticsDto> listClientPrintStatistics(Page<ClientPrintStatisticsDto> page, Long schoolId, Long semesterId, Long examId, String printPlanId, String examPlace, Long examStartTime, Long examEndTime, String courseCode, String paperNumber, Long orgId);
 
-    ClientPrintStatisticsTotalDto clientStatisticsTotalData(Long orgId, Long printPlanId, String examPlace, Long examStartTime, Long examEndTime, String courseCode, String paperNumber);
+    ClientPrintStatisticsTotalDto clientStatisticsTotalData(Long orgId, Long semesterId, Long examId, Long printPlanId, String examPlace, Long examStartTime, Long examEndTime, String courseCode, String paperNumber);
 
     void syncDataCloud(SyncDataParam syncDataParam);
 

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

@@ -83,9 +83,9 @@ public interface ExamTaskService extends IService<ExamTask> {
 
     ExamTask getByCourseCodeAndPaperNumber(Long schoolId, Long examId, String courseCode, String paperNumber);
 
-    IPage<ClientExamTaskDto> listTryTask(Long schoolId, String machineCode, Long orgId, Long printPlanId, String courseCode, String paperNumber, Boolean isTry, Boolean isPass, Integer pageNumber, Integer pageSize);
+    IPage<ClientExamTaskDto> listTryTask(Long schoolId, Long semesterId, Long examId, String machineCode, Long orgId, Long printPlanId, String courseCode, String paperNumber, Boolean isTry, Boolean isPass, Integer pageNumber, Integer pageSize);
 
-    List<ClientExamTaskDto> listTryTask(Long schoolId, String machineCode, Long orgId, Long printPlanId, String courseCode, String paperNumber, Boolean isTry, Boolean isPass);
+    List<ClientExamTaskDto> listTryTask(Long schoolId, Long semesterId, Long examId, String machineCode, Long orgId, Long printPlanId, String courseCode, String paperNumber, Boolean isTry, Boolean isPass);
 
     /**
      * 检测考务数据的试卷编号和课程代码的正确性(根据试卷编号查询命题任务的试卷编号,如果存在,查询该命题任务记录对应的课程代码和考务数据导入的该条课程代码是否一致)

+ 16 - 16
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/ClientServiceImpl.java

@@ -72,9 +72,9 @@ public class ClientServiceImpl implements ClientService {
     BasicSchoolService basicSchoolService;
 
     @Override
-    public IPage<ClientExamTaskDto> listTryTask(String machineCode, Long orgId, Long printPlanId, String courseCode, String paperNumber, Boolean isTry, Boolean isPass, Integer pageNumber, Integer pageSize) {
+    public IPage<ClientExamTaskDto> listTryTask(String machineCode, Long orgId, Long semesterId, Long examId, Long printPlanId, String courseCode, String paperNumber, Boolean isTry, Boolean isPass, Integer pageNumber, Integer pageSize) {
         Long schoolId = Long.valueOf(ServletUtil.getRequestHeaderSchoolId().toString());
-        return examTaskService.listTryTask(schoolId, machineCode, orgId, printPlanId, courseCode, paperNumber, isTry, isPass, pageNumber, pageSize);
+        return examTaskService.listTryTask(schoolId, semesterId, examId, machineCode, orgId, printPlanId, courseCode, paperNumber, isTry, isPass, pageNumber, pageSize);
     }
 
     @Override
@@ -166,10 +166,10 @@ public class ClientServiceImpl implements ClientService {
     }
 
     @Override
-    public IPage<ClientPrintTaskDto> listClientPrintTask(String machineCode, Long orgId, String printPlanId, String status, String courseCode, String paperNumber, String examPlace, String examRoom, Long examStartTime, Long examEndTime, Boolean isDownload, Boolean validate, Integer pageNumber, Integer pageSize) {
+    public IPage<ClientPrintTaskDto> listClientPrintTask(String machineCode, Long orgId, Long semesterId, Long examId, String printPlanId, String status, String courseCode, String paperNumber, String examPlace, String examRoom, Long examStartTime, Long examEndTime, Boolean isDownload, Boolean validate, Integer pageNumber, Integer pageSize) {
         Long schoolId = Long.valueOf(ServletUtil.getRequestHeaderSchoolId().toString());
         Page<ClientPrintTaskDto> page = new Page<>(pageNumber, pageSize);
-        return examPrintPlanService.listClientPrintTask(page, schoolId, machineCode, printPlanId, status, courseCode, paperNumber, examPlace, examRoom, examStartTime, examEndTime, isDownload, validate, orgId);
+        return examPrintPlanService.listClientPrintTask(page, schoolId, semesterId, examId, machineCode, printPlanId, status, courseCode, paperNumber, examPlace, examRoom, examStartTime, examEndTime, isDownload, validate, orgId);
     }
 
     @Transactional
@@ -364,10 +364,10 @@ public class ClientServiceImpl implements ClientService {
     }
 
     @Override
-    public List<Map<String, Object>> getPrintDataBatch(String machineCode, Long orgId, String printPlanId, String status, String courseCode, String paperNumber, String examPlace, String examRoom, Long examStartTime, Long examEndTime, Boolean isDownload, Boolean validate) {
+    public List<Map<String, Object>> getPrintDataBatch(String machineCode, Long orgId, Long semesterId, Long examId, String printPlanId, String status, String courseCode, String paperNumber, String examPlace, String examRoom, Long examStartTime, Long examEndTime, Boolean isDownload, Boolean validate) {
         Long schoolId = Long.valueOf(ServletUtil.getRequestHeaderSchoolId().toString());
 //        Set<Long> orgIds = teachcloudCommonService.listSubOrgIds(null);
-        List<ClientPrintTaskDto> pirntTaskDtoList = examPrintPlanService.listClientPrintTask(schoolId, machineCode, printPlanId, status, courseCode, paperNumber, examPlace, examRoom, examStartTime, examEndTime, isDownload, validate, orgId);
+        List<ClientPrintTaskDto> pirntTaskDtoList = examPrintPlanService.listClientPrintTask(schoolId, semesterId, examId, machineCode, printPlanId, status, courseCode, paperNumber, examPlace, examRoom, examStartTime, examEndTime, isDownload, validate, orgId);
         // 撤回
         long count = pirntTaskDtoList.stream().map(m -> {
             ExamDetail examDetail = examDetailService.getById(m.getExamDetailId());
@@ -549,9 +549,9 @@ public class ClientServiceImpl implements ClientService {
     }
 
     @Override
-    public List<Map<String, Object>> getBatchUrl(String machineCode, Long orgId, Long printPlanId, String courseCode, String paperNumber, Boolean isTry, Boolean isPass) {
+    public List<Map<String, Object>> getBatchUrl(String machineCode, Long orgId, Long semesterId, Long examId, Long printPlanId, String courseCode, String paperNumber, Boolean isTry, Boolean isPass) {
         Long schoolId = Long.valueOf(ServletUtil.getRequestHeaderSchoolId().toString());
-        List<ClientExamTaskDto> clientExamTaskDtos = examTaskService.listTryTask(schoolId, machineCode, orgId, printPlanId, courseCode, paperNumber, isTry, isPass);
+        List<ClientExamTaskDto> clientExamTaskDtos = examTaskService.listTryTask(schoolId, semesterId, examId, machineCode, orgId, printPlanId, courseCode, paperNumber, isTry, isPass);
         List<Map<String, Object>> list = new ArrayList<>();
         for (ClientExamTaskDto clientExamTaskDto : clientExamTaskDtos) {
             Map<String, Object> map = new HashMap<>();
@@ -567,10 +567,10 @@ public class ClientServiceImpl implements ClientService {
     }
 
     @Override
-    public void exportClientPrintTask(HttpServletResponse response, String machineCode, Long orgId, String printPlanId, String status, String courseCode, String paperNumber, String examPlace, String examRoom, Long examStartTime, Long examEndTime, Boolean isDownload, Boolean validate) throws Exception {
+    public void exportClientPrintTask(HttpServletResponse response, String machineCode, Long orgId, Long semesterId, Long examId, String printPlanId, String status, String courseCode, String paperNumber, String examPlace, String examRoom, Long examStartTime, Long examEndTime, Boolean isDownload, Boolean validate) throws Exception {
         Long schoolId = Long.valueOf(ServletUtil.getRequestHeaderSchoolId().toString());
 //        Set<Long> orgIds = teachcloudCommonService.listSubOrgIds(null);
-        List<ClientPrintTaskDto> printTaskDtoIList = examPrintPlanService.listClientPrintTask(schoolId, machineCode, printPlanId, status, courseCode, paperNumber, examPlace, examRoom, examStartTime, examEndTime, isDownload, validate, orgId);
+        List<ClientPrintTaskDto> printTaskDtoIList = examPrintPlanService.listClientPrintTask(schoolId, semesterId, examId, machineCode, printPlanId, status, courseCode, paperNumber, examPlace, examRoom, examStartTime, examEndTime, isDownload, validate, orgId);
         SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
         printTaskDtoIList = printTaskDtoIList.stream().map(m -> {
             if (m.getExamStartTime() != null) {
@@ -598,20 +598,20 @@ public class ClientServiceImpl implements ClientService {
     }
 
     @Override
-    public ClientPrintTaskTotalDto taskTotalData(String printPlanId, Long orgId, String status, String courseCode, String paperNumber, String examPlace, String examRoom, Long examStartTime, Long examEndTime, Boolean isDownload, Boolean validate, String machineCode) {
-        return examPrintPlanService.clientTaskTotalData(printPlanId, orgId, status, courseCode, paperNumber, examPlace, examRoom, examStartTime, examEndTime, isDownload, validate, machineCode);
+    public ClientPrintTaskTotalDto taskTotalData(Long semesterId, Long examId, String printPlanId, Long orgId, String status, String courseCode, String paperNumber, String examPlace, String examRoom, Long examStartTime, Long examEndTime, Boolean isDownload, Boolean validate, String machineCode) {
+        return examPrintPlanService.clientTaskTotalData(semesterId, examId, printPlanId, orgId, status, courseCode, paperNumber, examPlace, examRoom, examStartTime, examEndTime, isDownload, validate, machineCode);
     }
 
     @Override
-    public IPage<ClientPrintStatisticsDto> listClientPrintStatistics(Long orgId, String printPlanId, String examPlace, Long examStartTime, Long examEndTime, String courseCode, String paperNumber, Integer pageNumber, Integer pageSize) {
+    public IPage<ClientPrintStatisticsDto> listClientPrintStatistics(Long orgId, Long semesterId, Long examId, String printPlanId, String examPlace, Long examStartTime, Long examEndTime, String courseCode, String paperNumber, Integer pageNumber, Integer pageSize) {
         Long schoolId = Long.valueOf(ServletUtil.getRequestHeaderSchoolId().toString());
         Page<ClientPrintStatisticsDto> page = new Page<>(pageNumber, pageSize);
-        return examPrintPlanService.listClientPrintStatistics(page, schoolId, printPlanId, examPlace, examStartTime, examEndTime, courseCode, paperNumber, orgId);
+        return examPrintPlanService.listClientPrintStatistics(page, schoolId, semesterId, examId, printPlanId, examPlace, examStartTime, examEndTime, courseCode, paperNumber, orgId);
     }
 
     @Override
-    public ClientPrintStatisticsTotalDto clientStatisticsTotalData(Long orgId, Long printPlanId, String examPlace, Long examStartTime, Long examEndTime, String courseCode, String paperNumber) {
-        return examPrintPlanService.clientStatisticsTotalData(orgId, printPlanId, examPlace, examStartTime, examEndTime, courseCode, paperNumber);
+    public ClientPrintStatisticsTotalDto clientStatisticsTotalData(Long orgId, Long semesterId, Long examId, Long printPlanId, String examPlace, Long examStartTime, Long examEndTime, String courseCode, String paperNumber) {
+        return examPrintPlanService.clientStatisticsTotalData(orgId, semesterId, examId, printPlanId, examPlace, examStartTime, examEndTime, courseCode, paperNumber);
     }
 
     @Override

+ 10 - 10
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/ExamPrintPlanServiceImpl.java

@@ -321,10 +321,10 @@ public class ExamPrintPlanServiceImpl extends ServiceImpl<ExamPrintPlanMapper, E
     }
 
     @Override
-    public IPage<ClientPrintTaskDto> listClientPrintTask(Page<ClientPrintTaskDto> page, Long schoolId, String machineCode, String printPlanId, String status, String courseCode, String paperNumber, String examPlace, String examRoom, Long examStartTime, Long examEndTime, Boolean isDownload, Boolean validate, Long orgId) {
+    public IPage<ClientPrintTaskDto> listClientPrintTask(Page<ClientPrintTaskDto> page, Long schoolId, Long semesterId, Long examId, String machineCode, String printPlanId, String status, String courseCode, String paperNumber, String examPlace, String examRoom, Long examStartTime, Long examEndTime, Boolean isDownload, Boolean validate, Long orgId) {
         // 以下状态考场状态不可查询
         String[] examDetailStatus = new String[]{ExamDetailStatusEnum.NEW.name(), PrintPlanStatusEnum.READY.name()};
-        IPage<ClientPrintTaskDto> clientPrintTaskDtoIPage = this.baseMapper.listClientPrintTask(page, schoolId, machineCode, printPlanId, status, courseCode, paperNumber, examPlace, examRoom, examStartTime, examEndTime, isDownload, validate, orgId, examDetailStatus);
+        IPage<ClientPrintTaskDto> clientPrintTaskDtoIPage = this.baseMapper.listClientPrintTask(page, schoolId, semesterId, examId, machineCode, printPlanId, status, courseCode, paperNumber, examPlace, examRoom, examStartTime, examEndTime, isDownload, validate, orgId, examDetailStatus);
         for (ClientPrintTaskDto record : clientPrintTaskDtoIPage.getRecords()) {
             // 试卷、题卡
             String printContent = record.getPrintContent();
@@ -366,19 +366,19 @@ public class ExamPrintPlanServiceImpl extends ServiceImpl<ExamPrintPlanMapper, E
 
 
     @Override
-    public List<ClientPrintTaskDto> listClientPrintTask(Long schoolId, String machineCode, String printPlanId, String status, String courseCode, String paperNumber, String examPlace, String examRoom, Long examStartTime, Long examEndTime, Boolean isDownload, Boolean validate, Long orgId) {
+    public List<ClientPrintTaskDto> listClientPrintTask(Long schoolId, Long semesterId, Long examId, String machineCode, String printPlanId, String status, String courseCode, String paperNumber, String examPlace, String examRoom, Long examStartTime, Long examEndTime, Boolean isDownload, Boolean validate, Long orgId) {
         // 以下状态考场状态不可查询
         String[] examDetailStatus = new String[]{ExamDetailStatusEnum.NEW.name(), PrintPlanStatusEnum.READY.name()};
-        return this.baseMapper.listClientPrintTask(schoolId, machineCode, printPlanId, status, courseCode, paperNumber, examPlace, examRoom, examStartTime, examEndTime, isDownload, validate, orgId, examDetailStatus);
+        return this.baseMapper.listClientPrintTask(schoolId, semesterId, examId, machineCode, printPlanId, status, courseCode, paperNumber, examPlace, examRoom, examStartTime, examEndTime, isDownload, validate, orgId, examDetailStatus);
     }
 
     @Override
-    public ClientPrintTaskTotalDto clientTaskTotalData(String printPlanId, Long orgId, String status, String courseCode, String paperNumber, String examPlace, String examRoom, Long examStartTime, Long examEndTime, Boolean isDownload, Boolean validate, String machineCode) {
+    public ClientPrintTaskTotalDto clientTaskTotalData(Long semesterId, Long examId, String printPlanId, Long orgId, String status, String courseCode, String paperNumber, String examPlace, String examRoom, Long examStartTime, Long examEndTime, Boolean isDownload, Boolean validate, String machineCode) {
         Long schoolId = Long.valueOf(ServletUtil.getRequestHeaderSchoolId().toString());
 //        Set<Long> orgIds = teachcloudCommonService.listSubOrgIds(null);
         // 以下状态考场状态不可查询
         String[] examDetailStatus = new String[]{ExamDetailStatusEnum.NEW.name(), PrintPlanStatusEnum.READY.name()};
-        ClientPrintTaskTotalDto clientPrintTaskTotalDto = this.baseMapper.clientTaskTotalData(schoolId, printPlanId, status, courseCode, paperNumber, examPlace, examRoom, examStartTime, examEndTime, isDownload, validate, machineCode, orgId, examDetailStatus);
+        ClientPrintTaskTotalDto clientPrintTaskTotalDto = this.baseMapper.clientTaskTotalData(schoolId, semesterId, examId, printPlanId, status, courseCode, paperNumber, examPlace, examRoom, examStartTime, examEndTime, isDownload, validate, machineCode, orgId, examDetailStatus);
 
         if (clientPrintTaskTotalDto != null) {
             // 累计a3,a4
@@ -405,19 +405,19 @@ public class ExamPrintPlanServiceImpl extends ServiceImpl<ExamPrintPlanMapper, E
     }
 
     @Override
-    public IPage<ClientPrintStatisticsDto> listClientPrintStatistics(Page<ClientPrintStatisticsDto> page, Long schoolId, String printPlanId, String examPlace, Long examStartTime, Long examEndTime, String courseCode, String paperNumber, Long orgId) {
+    public IPage<ClientPrintStatisticsDto> listClientPrintStatistics(Page<ClientPrintStatisticsDto> page, Long schoolId, Long semesterId, Long examId, String printPlanId, String examPlace, Long examStartTime, Long examEndTime, String courseCode, String paperNumber, Long orgId) {
         // 以下状态考场状态不可查询
         String[] examDetailStatus = new String[]{ExamDetailStatusEnum.NEW.name(), PrintPlanStatusEnum.READY.name()};
-        return this.baseMapper.listClientPrintStatistics(page, schoolId, printPlanId, examPlace, examStartTime, examEndTime, courseCode, paperNumber, orgId, examDetailStatus);
+        return this.baseMapper.listClientPrintStatistics(page, schoolId, semesterId, examId, printPlanId, examPlace, examStartTime, examEndTime, courseCode, paperNumber, orgId, examDetailStatus);
     }
 
     @Override
-    public ClientPrintStatisticsTotalDto clientStatisticsTotalData(Long orgId, Long printPlanId, String examPlace, Long examStartTime, Long examEndTime, String courseCode, String paperNumber) {
+    public ClientPrintStatisticsTotalDto clientStatisticsTotalData(Long orgId, Long semesterId, Long examId, Long printPlanId, String examPlace, Long examStartTime, Long examEndTime, String courseCode, String paperNumber) {
         Long schoolId = Long.valueOf(ServletUtil.getRequestHeaderSchoolId().toString());
 //        Set<Long> orgIds = teachcloudCommonService.listSubOrgIds(null);
         // 以下考场状态不可查询
         String[] examDetailStatus = new String[]{ExamDetailStatusEnum.NEW.name(), PrintPlanStatusEnum.READY.name()};
-        ClientPrintStatisticsTotalDto clientPrintStatisticsTotalDto = this.baseMapper.clientStatisticsTotalData(schoolId, printPlanId, examPlace, examStartTime, examEndTime, courseCode, paperNumber, orgId, examDetailStatus);
+        ClientPrintStatisticsTotalDto clientPrintStatisticsTotalDto = this.baseMapper.clientStatisticsTotalData(schoolId, semesterId, examId, printPlanId, examPlace, examStartTime, examEndTime, courseCode, paperNumber, orgId, examDetailStatus);
 
         if (clientPrintStatisticsTotalDto != null) {
             String paperNumberStrs = clientPrintStatisticsTotalDto.getPaperNumberAndType();

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

@@ -1158,20 +1158,20 @@ public class ExamTaskServiceImpl extends ServiceImpl<ExamTaskMapper, ExamTask> i
     }
 
     @Override
-    public IPage<ClientExamTaskDto> listTryTask(Long schoolId, String machineCode, Long orgId, Long
+    public IPage<ClientExamTaskDto> listTryTask(Long schoolId, Long semesterId, Long examId, String machineCode, Long orgId, Long
             printPlanId, String courseCode, String paperNumber, Boolean isTry, Boolean isPass, Integer pageNumber, Integer pageSize) {
         Page<ClientExamTaskDto> page = new Page<>(pageNumber, pageSize);
         // 印刷任务状态为印刷中(PRINTING),考场状态为待打印(WAITING)
         String[] examDetailStatus = {ExamDetailStatusEnum.NEW.name(), ExamDetailStatusEnum.READY.name()};
-        return this.baseMapper.listClientExamTaskPage(page, schoolId, machineCode, printPlanId, courseCode, paperNumber, isTry, isPass, orgId, PrintPlanStatusEnum.PRINTING.name(), examDetailStatus);
+        return this.baseMapper.listClientExamTaskPage(page, schoolId, semesterId, examId, machineCode, printPlanId, courseCode, paperNumber, isTry, isPass, orgId, PrintPlanStatusEnum.PRINTING.name(), examDetailStatus);
     }
 
     @Override
-    public List<ClientExamTaskDto> listTryTask(Long schoolId, String machineCode, Long orgId, Long
+    public List<ClientExamTaskDto> listTryTask(Long schoolId, Long semesterId, Long examId, String machineCode, Long orgId, Long
             printPlanId, String courseCode, String paperNumber, Boolean isTry, Boolean isPass) {
         // 印刷任务状态为印刷中(PRINTING),考场状态为待打印(WAITING)
         String[] examDetailStatus = {ExamDetailStatusEnum.NEW.name(), ExamDetailStatusEnum.READY.name()};
-        return this.baseMapper.listClientExamTaskPage(schoolId, machineCode, printPlanId, courseCode, paperNumber, isTry, isPass, orgId, PrintPlanStatusEnum.PRINTING.name(), examDetailStatus);
+        return this.baseMapper.listClientExamTaskPage(schoolId, semesterId, examId, machineCode, printPlanId, courseCode, paperNumber, isTry, isPass, orgId, PrintPlanStatusEnum.PRINTING.name(), examDetailStatus);
     }
 
     @Transactional

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

@@ -52,9 +52,7 @@
             <if test="semesterId != null">
                 AND be.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>
@@ -144,9 +142,7 @@
             <if test="semesterId != null">
                 AND be.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>
@@ -167,9 +163,7 @@
             <if test="semesterId != null">
                 AND be.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>

+ 32 - 0
distributed-print-business/src/main/resources/mapper/ExamPrintPlanMapper.xml

@@ -216,6 +216,8 @@
             sys_user e ON a.school_id = e.school_id and b.print_user = e.login_name
                 LEFT JOIN
             sys_user d ON a.create_id = d.id
+                LEFT JOIN
+            basic_exam be ON a.exam_id = be.id
         <where>
             and a.school_id = #{schoolId}
             AND a.status != 'END'
@@ -223,6 +225,12 @@
             <foreach collection="examDetailStatus" item="item" index="index" open="(" separator="," close=")">
                 #{item}
             </foreach>
+            <if test="semesterId != null">
+                and be.semester_id = #{semesterId}
+            </if>
+            <if test="examId != null">
+                and be.id = #{examId}
+            </if>
             <if test="printPlanId != null and printPlanId != ''">
                 and a.id = #{printPlanId}
             </if>
@@ -311,6 +319,8 @@
         sys_user e ON a.school_id = e.school_id and b.print_user = e.login_name
             LEFT JOIN
         sys_user d ON a.create_id = d.id
+            LEFT JOIN
+        basic_exam be ON a.exam_id = be.id
         <where>
             and a.school_id = #{schoolId}
             AND a.status != 'END'
@@ -318,6 +328,12 @@
             <foreach collection="examDetailStatus" item="item" index="index" open="(" separator="," close=")">
                 #{item}
             </foreach>
+            <if test="semesterId != null">
+                and be.semester_id = #{semesterId}
+            </if>
+            <if test="examId != null">
+                and be.id = #{examId}
+            </if>
             <if test="printPlanId != null and printPlanId != ''">
                 and a.id = #{printPlanId}
             </if>
@@ -409,6 +425,8 @@
                 GROUP BY exam_detail_id) c ON b.id = c.exam_detail_id
             LEFT JOIN
             sys_user d ON a.create_id = d.id
+                LEFT JOIN
+            basic_exam be ON a.exam_id = be.exam_id
         <where>
             and a.school_id = #{schoolId}
             AND a.status != 'END'
@@ -416,6 +434,12 @@
             <foreach collection="examDetailStatus" item="item" index="index" open="(" separator="," close=")">
                 #{item}
             </foreach>
+            <if test="semesterId != null">
+                and be.semester_id = #{semesterId}
+            </if>
+            <if test="examId != null">
+                and be.id = #{examId}
+            </if>
             <if test="printPlanId != null and printPlanId != ''">
                 and a.id = #{printPlanId}
             </if>
@@ -478,6 +502,8 @@
         GROUP BY exam_detail_id) c ON b.id = c.exam_detail_id
         LEFT JOIN
         sys_user d ON a.create_id = d.id
+            LEFT JOIN
+        basic_exam be ON a.exam_id = be.id
         <where>
             and a.school_id = #{schoolId}
             AND a.status != 'END'
@@ -485,6 +511,12 @@
             <foreach collection="examDetailStatus" item="item" index="index" open="(" separator="," close=")">
                 #{item}
             </foreach>
+            <if test="semesterId != null">
+                and be.semester_id = #{semesterId}
+            </if>
+            <if test="examId != null">
+                and be.id = #{examId}
+            </if>
             <if test="printPlanId != null and printPlanId != ''">
                 and a.id = #{printPlanId}
             </if>

+ 13 - 0
distributed-print-business/src/main/resources/mapper/ExamTaskMapper.xml

@@ -650,6 +650,7 @@
             resultType="com.qmth.distributed.print.business.bean.dto.ClientExamTaskDto">
         SELECT
             distinct a.school_id schoolId,
+            a.exam_id examId,
             a.id printPlanId,
             a.name printPlanName,
             c.course_code courseCode,
@@ -670,6 +671,7 @@
             exam_detail_course c ON b.id = c.exam_detail_id
         JOIN
             exam_task d ON d.school_id = c.school_id
+            AND d.exam_id = b.exam_id
             AND d.course_code = c.course_code
             AND d.paper_number = c.paper_number
         left join
@@ -681,6 +683,8 @@
             AND e.course_code = d.course_code
             AND e.paper_number = d.paper_number
             and e.machine_code = #{machineCode}
+        LEFT JOIN
+            basic_exam be ON a.exam_id = be.id
         LEFT JOIN
             sys_user f ON d.user_id = f.id
         LEFT JOIN
@@ -694,6 +698,15 @@
             <foreach item="item" collection="examDetailStatus" separator="," open="(" close=")" index="">
                 #{item}
             </foreach>
+            <if test="semesterId != null">
+                and be.semester_id = #{semesterId}
+            </if>
+            <if test="examId != null">
+                and be.id = #{examId}
+            </if>
+            <if test="printPlanId != null and printPlanId != ''">
+                and a.id = #{printPlanId}
+            </if>
             <if test="printPlanId != null and printPlanId != ''">
                 and a.id = #{printPlanId}
             </if>

+ 24 - 8
distributed-print/src/main/java/com/qmth/distributed/print/api/ClientController.java

@@ -108,6 +108,8 @@ public class ClientController {
     @PostMapping("/paper_try/list")
     public Result paperTryList(@RequestParam("machineCode") String machineCode,
                                @RequestParam("orgId") Long orgId,
+                               @RequestParam(value = "semesterId", required = false) Long semesterId,
+                               @RequestParam(value = "examId", required = false) Long examId,
                                @RequestParam(value = "printPlanId", required = false) Long printPlanId,
                                @RequestParam(value = "courseCode", required = false) String courseCode,
                                @RequestParam(value = "paperNumber", required = false) String paperNumber,
@@ -115,7 +117,7 @@ public class ClientController {
                                @RequestParam(value = "isPass", required = false) Boolean isPass,
                                @RequestParam Integer pageNumber,
                                @RequestParam Integer pageSize) {
-        IPage<ClientExamTaskDto> examTasks = clientService.listTryTask(machineCode, orgId, printPlanId, courseCode, paperNumber, isTry, isPass, pageNumber, pageSize);
+        IPage<ClientExamTaskDto> examTasks = clientService.listTryTask(machineCode, orgId, semesterId, examId, printPlanId, courseCode, paperNumber, isTry, isPass, pageNumber, pageSize);
         return ResultUtil.ok(examTasks);
     }
 
@@ -147,12 +149,14 @@ public class ClientController {
     @PostMapping("/paper_try/print_batch")
     public Result printBatch(@RequestParam("machineCode") String machineCode,
                              @RequestParam("orgId") Long orgId,
+                             @RequestParam(value = "semesterId", required = false) Long semesterId,
+                             @RequestParam(value = "examId", required = false) Long examId,
                              @RequestParam(value = "printPlanId", required = false) Long printPlanId,
                              @RequestParam(value = "courseCode", required = false) String courseCode,
                              @RequestParam(value = "paperNumber", required = false) String paperNumber,
                              @RequestParam(value = "isTry", required = false) Boolean isTry,
                              @RequestParam(value = "isPass", required = false) Boolean isPass) {
-        List<Map<String, Object>> urls = clientService.getBatchUrl(machineCode, orgId, printPlanId, courseCode, paperNumber, isTry, isPass);
+        List<Map<String, Object>> urls = clientService.getBatchUrl(machineCode, orgId, semesterId, examId, printPlanId, courseCode, paperNumber, isTry, isPass);
         return ResultUtil.ok(urls);
     }
 
@@ -198,6 +202,8 @@ public class ClientController {
     @PostMapping("/print/task_list")
     public Result printTaskList(@RequestParam("machineCode") String machineCode,
                                 @RequestParam("orgId") Long orgId,
+                                @RequestParam(value = "semesterId", required = false) Long semesterId,
+                                @RequestParam(value = "examId", required = false) Long examId,
                                 @RequestParam(value = "printPlanId", required = false) String printPlanId,
                                 @RequestParam(value = "status", required = false) String status,
                                 @RequestParam(value = "courseCode", required = false) String courseCode,
@@ -210,7 +216,7 @@ public class ClientController {
                                 @RequestParam(value = "validate", required = false) Boolean validate,
                                 @RequestParam Integer pageNumber,
                                 @RequestParam Integer pageSize) {
-        IPage<ClientPrintTaskDto> printTaskDtoIPage = clientService.listClientPrintTask(machineCode, orgId, printPlanId, status, courseCode, paperNumber, examPlace, examRoom, examStartTime, examEndTime, isDownload, validate, pageNumber, pageSize);
+        IPage<ClientPrintTaskDto> printTaskDtoIPage = clientService.listClientPrintTask(machineCode, orgId, semesterId, examId, printPlanId, status, courseCode, paperNumber, examPlace, examRoom, examStartTime, examEndTime, isDownload, validate, pageNumber, pageSize);
         return ResultUtil.ok(printTaskDtoIPage);
     }
 
@@ -237,6 +243,8 @@ public class ClientController {
     public void printTaskListExport(HttpServletResponse response,
                                     @RequestParam("machineCode") String machineCode,
                                     @RequestParam("orgId") Long orgId,
+                                    @RequestParam(value = "semesterId", required = false) Long semesterId,
+                                    @RequestParam(value = "examId", required = false) Long examId,
                                     @RequestParam(value = "printPlanId", required = false) String printPlanId,
                                     @RequestParam(value = "status", required = false) String status,
                                     @RequestParam(value = "courseCode", required = false) String courseCode,
@@ -247,7 +255,7 @@ public class ClientController {
                                     @RequestParam(value = "examEndTime", required = false) Long examEndTime,
                                     @RequestParam(value = "isDownload", required = false) Boolean isDownload,
                                     @RequestParam(value = "validate", required = false) Boolean validate) throws Exception {
-        clientService.exportClientPrintTask(response, machineCode, orgId, printPlanId, status, courseCode, paperNumber, examPlace, examRoom, examStartTime, examEndTime, isDownload, validate);
+        clientService.exportClientPrintTask(response, machineCode, orgId, semesterId, examId, printPlanId, status, courseCode, paperNumber, examPlace, examRoom, examStartTime, examEndTime, isDownload, validate);
     }
 
     /**
@@ -270,6 +278,8 @@ public class ClientController {
     @PostMapping("/print/task_total_data")
     public Result printTaskTotalData(@RequestParam("machineCode") String machineCode,
                                      @RequestParam("orgId") Long orgId,
+                                     @RequestParam(value = "semesterId", required = false) Long semesterId,
+                                     @RequestParam(value = "examId", required = false) Long examId,
                                      @RequestParam(value = "printPlanId", required = false) String printPlanId,
                                      @RequestParam(value = "status", required = false) String status,
                                      @RequestParam(value = "courseCode", required = false) String courseCode,
@@ -280,7 +290,7 @@ public class ClientController {
                                      @RequestParam(value = "examEndTime", required = false) Long examEndTime,
                                      @RequestParam(value = "isDownload", required = false) Boolean isDownload,
                                      @RequestParam(value = "validate", required = false) Boolean validate) {
-        ClientPrintTaskTotalDto clientPrintTaskTotalDto = clientService.taskTotalData(printPlanId, orgId, status, courseCode, paperNumber, examPlace, examRoom, examStartTime, examEndTime, isDownload, validate, machineCode);
+        ClientPrintTaskTotalDto clientPrintTaskTotalDto = clientService.taskTotalData(semesterId, examId, printPlanId, orgId, status, courseCode, paperNumber, examPlace, examRoom, examStartTime, examEndTime, isDownload, validate, machineCode);
         return ResultUtil.ok(clientPrintTaskTotalDto);
     }
 
@@ -324,6 +334,8 @@ public class ClientController {
     @PostMapping("/print/get_print_data_batch")
     public Result printGetPrintDataBatch(@RequestParam("machineCode") String machineCode,
                                          @RequestParam("orgId") Long orgId,
+                                         @RequestParam(value = "semesterId", required = false) Long semesterId,
+                                         @RequestParam(value = "examId", required = false) Long examId,
                                          @RequestParam(value = "printPlanId", required = false) String printPlanId,
                                          @RequestParam(value = "status", required = false) String status,
                                          @RequestParam(value = "courseCode", required = false) String courseCode,
@@ -334,7 +346,7 @@ public class ClientController {
                                          @RequestParam(value = "examEndTime", required = false) Long examEndTime,
                                          @RequestParam(value = "isDownload", required = false) Boolean isDownload,
                                          @RequestParam(value = "validate", required = false) Boolean validate) {
-        List<Map<String, Object>> list = clientService.getPrintDataBatch(machineCode, orgId, printPlanId, status, courseCode, paperNumber, examPlace, examRoom, examStartTime, examEndTime, isDownload, validate);
+        List<Map<String, Object>> list = clientService.getPrintDataBatch(machineCode, orgId, semesterId, examId, printPlanId, status, courseCode, paperNumber, examPlace, examRoom, examStartTime, examEndTime, isDownload, validate);
         return ResultUtil.ok(list);
     }
 
@@ -437,6 +449,8 @@ public class ClientController {
     @ApiOperation(value = "统计查询-查询列表")
     @PostMapping("/print/statistics_list")
     public Result printStatisticsList(@RequestParam("orgId") Long orgId,
+                                      @RequestParam(value = "semesterId", required = false) Long semesterId,
+                                      @RequestParam(value = "examId", required = false) Long examId,
                                       @RequestParam(value = "printPlanId", required = false) String printPlanId,
                                       @RequestParam(value = "examPlace", required = false) String examPlace,
                                       @RequestParam(value = "examStartTime", required = false) Long examStartTime,
@@ -445,7 +459,7 @@ public class ClientController {
                                       @RequestParam(value = "paperNumber", required = false) String paperNumber,
                                       @RequestParam Integer pageNumber,
                                       @RequestParam Integer pageSize) {
-        IPage<ClientPrintStatisticsDto> statisticsDtoIPage = clientService.listClientPrintStatistics(orgId, printPlanId, examPlace, examStartTime, examEndTime, courseCode, paperNumber, pageNumber, pageSize);
+        IPage<ClientPrintStatisticsDto> statisticsDtoIPage = clientService.listClientPrintStatistics(orgId, semesterId, examId, printPlanId, examPlace, examStartTime, examEndTime, courseCode, paperNumber, pageNumber, pageSize);
         return ResultUtil.ok(statisticsDtoIPage);
     }
 
@@ -463,13 +477,15 @@ public class ClientController {
     @ApiOperation(value = "统计查询-汇总数据查询")
     @PostMapping("/print/statistics_total_data")
     public Result printStatisticsTotalData(@RequestParam("orgId") Long orgId,
+                                           @RequestParam(value = "semesterId", required = false) Long semesterId,
+                                           @RequestParam(value = "examId", required = false) Long examId,
                                            @RequestParam(value = "printPlanId", required = false) Long printPlanId,
                                            @RequestParam(value = "examPlace", required = false) String examPlace,
                                            @RequestParam(value = "examStartTime", required = false) Long examStartTime,
                                            @RequestParam(value = "examEndTime", required = false) Long examEndTime,
                                            @RequestParam(value = "courseCode", required = false) String courseCode,
                                            @RequestParam(value = "paperNumber", required = false) String paperNumber) {
-        ClientPrintStatisticsTotalDto statisticsTotalDto = clientService.clientStatisticsTotalData(orgId, printPlanId, examPlace, examStartTime, examEndTime, courseCode, paperNumber);
+        ClientPrintStatisticsTotalDto statisticsTotalDto = clientService.clientStatisticsTotalData(orgId, semesterId, examId, printPlanId, examPlace, examStartTime, examEndTime, courseCode, paperNumber);
         return ResultUtil.ok(statisticsTotalDto);
     }