Răsfoiți Sursa

3.2.6 广药新需求bug修复

xiaofei 2 ani în urmă
părinte
comite
f7627d620d

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

@@ -249,4 +249,6 @@ public interface ExamDetailService extends IService<ExamDetail> {
     List<ExamStudent> listStudentByExamDetailId(String examDetailId);
 
     List<ExamDetailCourse> listByExamIdAndCourseCode(Long schoolId, Long examId, String courseCode);
+
+    void deleteByExamIdAndPaperNumber(Long schoolId, Long examId, String paperNumber);
 }

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

@@ -47,4 +47,6 @@ public interface ExamStudentService extends IService<ExamStudent> {
     List<SyncExamStudentDto> listStudentByExamDetailCourseId(List<ExamDetailCourseDto> examDetailCourseList, String paperType);
 
     List<String> listTicketNumberBySemesterId(String semesterId, Long examId);
+
+    void removeByExamDetailCourseId(Long id);
 }

+ 15 - 0
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/ExamDetailServiceImpl.java

@@ -1141,6 +1141,21 @@ public class ExamDetailServiceImpl extends ServiceImpl<ExamDetailMapper, ExamDet
         return this.baseMapper.listByExamIdAndCourseCode(schoolId, examId, courseCode);
     }
 
+    @Override
+    public void deleteByExamIdAndPaperNumber(Long schoolId, Long examId, String paperNumber) {
+        List<ExamDetailCourse> examDetailCourseList = examDetailCourseService.listExamDetailByExamIdAndPaperNumber(schoolId, examId, paperNumber);
+        if(!CollectionUtils.isEmpty(examDetailCourseList)){
+            for (ExamDetailCourse examDetailCourse : examDetailCourseList) {
+                // 删除考场
+                this.removeById(examDetailCourse.getExamDetailId());
+                // 删除考场科目
+                examDetailCourseService.removeById(examDetailCourse.getId());
+                // 删除考生
+                examStudentService.removeByExamDetailCourseId(examDetailCourse.getId());
+            }
+        }
+    }
+
     @Transactional(rollbackFor = Exception.class)
     @Override
     public void deleteExaminationData(Long printPlanId, ExamDataSourceEnum source) {

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

@@ -322,7 +322,7 @@ public class ExamPrintPlanServiceImpl extends ServiceImpl<ExamPrintPlanMapper, E
     @Override
     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()};
+        String[] examDetailStatus = new String[]{ExamDetailStatusEnum.NEW.name(), ExamDetailStatusEnum.READY.name(), ExamDetailStatusEnum.CANCEL.name()};
         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()) {
             // 试卷、题卡
@@ -377,7 +377,7 @@ public class ExamPrintPlanServiceImpl extends ServiceImpl<ExamPrintPlanMapper, E
     @Override
     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()};
+        String[] examDetailStatus = new String[]{ExamDetailStatusEnum.NEW.name(), ExamDetailStatusEnum.READY.name(), ExamDetailStatusEnum.CANCEL.name()};
         return this.baseMapper.listClientPrintTask(schoolId, semesterId, examId, machineCode, printPlanId, status, courseCode, paperNumber, examPlace, examRoom, examStartTime, examEndTime, isDownload, validate, orgId, examDetailStatus);
     }
 
@@ -386,7 +386,7 @@ public class ExamPrintPlanServiceImpl extends ServiceImpl<ExamPrintPlanMapper, E
         Long schoolId = Long.valueOf(ServletUtil.getRequestHeaderSchoolId().toString());
 //        Set<Long> orgIds = teachcloudCommonService.listSubOrgIds(null);
         // 以下状态考场状态不可查询
-        String[] examDetailStatus = new String[]{ExamDetailStatusEnum.NEW.name(), PrintPlanStatusEnum.READY.name()};
+        String[] examDetailStatus = new String[]{ExamDetailStatusEnum.NEW.name(), ExamDetailStatusEnum.READY.name(), ExamDetailStatusEnum.CANCEL.name()};
         ClientPrintTaskTotalDto clientPrintTaskTotalDto = this.baseMapper.clientTaskTotalData(schoolId, semesterId, examId, printPlanId, status, courseCode, paperNumber, examPlace, examRoom, examStartTime, examEndTime, isDownload, validate, machineCode, orgId, examDetailStatus);
 
         if (clientPrintTaskTotalDto != null) {

+ 8 - 0
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/ExamStudentServiceImpl.java

@@ -2,6 +2,7 @@ package com.qmth.distributed.print.business.service.impl;
 
 import com.alibaba.fastjson.JSONObject;
 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.distributed.print.business.bean.dto.ExamDetailCourseDto;
 import com.qmth.distributed.print.business.bean.dto.ExamStudentCourseDto;
@@ -122,4 +123,11 @@ public class ExamStudentServiceImpl extends ServiceImpl<ExamStudentMapper, ExamS
     public List<String> listTicketNumberBySemesterId(String semesterId, Long examId) {
         return this.baseMapper.listTicketNumberBySemesterId(semesterId, examId);
     }
+
+    @Override
+    public void removeByExamDetailCourseId(Long id) {
+        UpdateWrapper<ExamStudent> updateWrapper = new UpdateWrapper<>();
+        updateWrapper.lambda().eq(ExamStudent::getExamDetailCourseId, id);
+        this.remove(updateWrapper);
+    }
 }

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

@@ -1155,7 +1155,7 @@ public class ExamTaskServiceImpl extends ServiceImpl<ExamTaskMapper, ExamTask> i
             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()};
+        String[] examDetailStatus = {ExamDetailStatusEnum.NEW.name(), ExamDetailStatusEnum.READY.name(), ExamDetailStatusEnum.CANCEL.name()};
         return this.baseMapper.listClientExamTaskPage(page, schoolId, semesterId, examId, machineCode, printPlanId, courseCode, paperNumber, isTry, isPass, orgId, PrintPlanStatusEnum.PRINTING.name(), examDetailStatus);
     }
 
@@ -1163,7 +1163,7 @@ public class ExamTaskServiceImpl extends ServiceImpl<ExamTaskMapper, ExamTask> i
     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()};
+        String[] examDetailStatus = {ExamDetailStatusEnum.NEW.name(), ExamDetailStatusEnum.READY.name(), ExamDetailStatusEnum.CANCEL.name()};
         return this.baseMapper.listClientExamTaskPage(schoolId, semesterId, examId, machineCode, printPlanId, courseCode, paperNumber, isTry, isPass, orgId, PrintPlanStatusEnum.PRINTING.name(), examDetailStatus);
     }
 
@@ -2353,6 +2353,8 @@ public class ExamTaskServiceImpl extends ServiceImpl<ExamTaskMapper, ExamTask> i
         }
         this.removeById(id);
         this.removeByExamTaskId(id);
+        // 删除考场信息
+        examDetailService.deleteByExamIdAndPaperNumber(examTask.getSchoolId(), examTask.getExamId(), examTask.getPaperNumber());
     }
 
     @Override