xiaof 4 ani în urmă
părinte
comite
e3689dddcf

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

@@ -265,11 +265,11 @@ public class ClientServiceImpl implements ClientService {
         }
         finalMap.put("other", otherList);
 
-        // 更新印刷中状态,更新曝光卷型、未曝光卷型
+        // 更新印刷中状态,更新曝光卷型、未曝光卷型,打印开始时间
         if (isPrint) {
             // 更新exam_detail状态为印刷中
             UpdateWrapper<ExamDetail> examDetailUpdateWrapper = new UpdateWrapper<>();
-            examDetailUpdateWrapper.lambda().set(ExamDetail::getStatus, ExamDetailStatusEnum.PRINTING).set(ExamDetail::getPrintUser, printUser).eq(ExamDetail::getId, examDetailId);
+            examDetailUpdateWrapper.lambda().set(ExamDetail::getStatus, ExamDetailStatusEnum.PRINTING).set(ExamDetail::getPrintStartTime, System.currentTimeMillis()).set(ExamDetail::getPrintUser, printUser).eq(ExamDetail::getId, examDetailId);
             examDetailService.update(examDetailUpdateWrapper);
 
             // 更新曝光卷型、未曝光卷型

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

@@ -208,8 +208,8 @@ public class ExamDetailServiceImpl extends ServiceImpl<ExamDetailMapper, ExamDet
 
     @Transactional(rollbackFor = Exception.class)
     @Override
-    public IPage<ExaminationResult> findExaminationBriefPage(Long schoolId, Long printPlanId, String courseCode, String paperNumber, String examPlace, String examRoom, String packageCode, int pageNumber, int pageSize,Set<Long> orgIds) {
-        IPage<ExaminationResult> page = examDetailMapper.findBriefPage(new Page<>(pageNumber, pageSize), schoolId, printPlanId, courseCode, paperNumber, examPlace, examRoom, packageCode,orgIds);
+    public IPage<ExaminationResult> findExaminationBriefPage(Long schoolId, Long printPlanId, String courseCode, String paperNumber, String examPlace, String examRoom, String packageCode, int pageNumber, int pageSize, Set<Long> orgIds) {
+        IPage<ExaminationResult> page = examDetailMapper.findBriefPage(new Page<>(pageNumber, pageSize), schoolId, printPlanId, courseCode, paperNumber, examPlace, examRoom, packageCode, orgIds);
         List<ExaminationResult> list = page.getRecords();
         for (ExaminationResult examinationResult : list) {
             String examDetailCourseIds = examinationResult.getExamDetailCourseIds();
@@ -250,7 +250,7 @@ public class ExamDetailServiceImpl extends ServiceImpl<ExamDetailMapper, ExamDet
     @Transactional(rollbackFor = Exception.class)
     @Override
     public SummarizedDataResult findSummarizedData(Long schoolId, Long printPlanId, String courseCode, String paperNumber, String examPlace, String examRoom, String packageCode, Set<Long> orgIds) {
-        IPage<ExaminationResult> page = this.findExaminationBriefPage(schoolId, printPlanId, courseCode, paperNumber, examPlace, examRoom, packageCode, SystemConstant.PAGE_NUMBER, SystemConstant.PAGE_SIZE,orgIds);
+        IPage<ExaminationResult> page = this.findExaminationBriefPage(schoolId, printPlanId, courseCode, paperNumber, examPlace, examRoom, packageCode, SystemConstant.PAGE_NUMBER, SystemConstant.PAGE_SIZE, orgIds);
         List<ExaminationResult> list = page.getRecords();
         int totalSubjects = 0;
         for (ExaminationResult examinationResult : list) {
@@ -268,7 +268,7 @@ public class ExamDetailServiceImpl extends ServiceImpl<ExamDetailMapper, ExamDet
     @Override
     public IPage<ExaminationDetailResult> findExaminationDetail(Long schoolId, Long printPlanId, String courseCode, String paperNumber, String examPlace, String examRoom, String studentParams, int pageNumber, int pageSize) {
         Set<Long> orgIds = commonService.listSubOrgIds(null);
-        return examDetailMapper.findDetailPage(new Page<>(pageNumber, pageSize), schoolId, printPlanId, courseCode, paperNumber, examPlace, examRoom, studentParams,orgIds);
+        return examDetailMapper.findDetailPage(new Page<>(pageNumber, pageSize), schoolId, printPlanId, courseCode, paperNumber, examPlace, examRoom, studentParams, orgIds);
     }
 
     @Transactional(rollbackFor = Exception.class)
@@ -595,7 +595,7 @@ public class ExamDetailServiceImpl extends ServiceImpl<ExamDetailMapper, ExamDet
             packageCode = String.valueOf(map.get("packageCode"));
         }
         Set<Long> orgIds = new HashSet<>();
-        if (Objects.nonNull(map.get("orgIds"))){
+        if (Objects.nonNull(map.get("orgIds"))) {
             orgIds = (Set<Long>) map.get("orgIds");
         }
 
@@ -605,7 +605,7 @@ public class ExamDetailServiceImpl extends ServiceImpl<ExamDetailMapper, ExamDet
 
         List<ExaminationResult> examinationResultList = this.findExaminationBriefPage(schoolId,
                 printPlanId, courseCode, paperNumber, examPlace, examRoom, packageCode,
-                SystemConstant.PAGE_NUMBER, SystemConstant.PAGE_SIZE,orgIds).getRecords();
+                SystemConstant.PAGE_NUMBER, SystemConstant.PAGE_SIZE, orgIds).getRecords();
         int index = 0;
         List<ExaminationExportDto> examinationExportDtoList = new ArrayList<>();
         for (ExaminationResult examinationResult : examinationResultList) {
@@ -628,9 +628,9 @@ public class ExamDetailServiceImpl extends ServiceImpl<ExamDetailMapper, ExamDet
 
     @Override
     public Boolean updatePrintProgress(Long schoolId, Long examDetailId, Integer printProgress) {
-        // 更新考场进度、状态
+        // 更新考场进度、状态、打印结束时间
         UpdateWrapper<ExamDetail> updateWrapper = new UpdateWrapper<>();
-        updateWrapper.lambda().set(ExamDetail::getPrintProgress, printProgress).set(ExamDetail::getStatus, ExamDetailStatusEnum.FINISH).eq(ExamDetail::getId, examDetailId);
+        updateWrapper.lambda().set(ExamDetail::getPrintProgress, printProgress).set(ExamDetail::getPrintEndTime, System.currentTimeMillis()).set(ExamDetail::getStatus, ExamDetailStatusEnum.FINISH).eq(ExamDetail::getId, examDetailId);
         return this.update(updateWrapper);
     }
 

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

@@ -626,8 +626,6 @@ public class ExamTaskServiceImpl extends ServiceImpl<ExamTaskMapper, ExamTask> i
             ExamStatusEnum statusEnum;
             if (taskReviewLog.getReviewStatus().name().equals(ReviewStatusEnum.PASS.name())) {
                 statusEnum = ExamStatusEnum.FINISH;
-                // 校验是否可以提交打印状态
-                commonService.checkData(examTask.getSchoolId(), examTask.getCourseCode(), examTask.getPaperNumber(), sysUser);
             } else {
                 statusEnum = ExamStatusEnum.STAGE;
             }
@@ -649,7 +647,6 @@ public class ExamTaskServiceImpl extends ServiceImpl<ExamTaskMapper, ExamTask> i
                         .set(ExamTaskDetail::getCardId, examTaskPaperLog.getCardId())
                         .eq(ExamTaskDetail::getExamTaskId, taskReviewLog.getExamTaskId());
                 examTaskDetailService.update(examTaskDetailUpdateWrapper);
-                commonService.checkData(examTask.getSchoolId(), examTask.getCourseCode(), examTask.getPaperNumber(), sysUser);
             }
             return true;
         }
@@ -685,10 +682,6 @@ public class ExamTaskServiceImpl extends ServiceImpl<ExamTaskMapper, ExamTask> i
                 UpdateWrapper<ExamTask> updateWrapper = new UpdateWrapper<>();
                 updateWrapper.lambda().set(ExamTask::getStatus, statusEnum).set(ExamTask::getReviewStatus, taskReviewLog.getReviewStatus()).eq(ExamTask::getId, taskReviewLog.getExamTaskId());
                 this.update(updateWrapper);
-                if (taskReviewLog.getReviewStatus().name().equals(ReviewStatusEnum.PASS.name())) {
-                    // 校验是否可以提交打印状态
-                    commonService.checkData(examTask.getSchoolId(), examTask.getCourseCode(), examTask.getPaperNumber(), sysUser);
-                }
             } else {
                 // 更新记录表状态
                 examTaskPaperLog.setReview(true);
@@ -705,7 +698,6 @@ public class ExamTaskServiceImpl extends ServiceImpl<ExamTaskMapper, ExamTask> i
                             .set(ExamTaskDetail::getCardId, examTaskPaperLog.getCardId())
                             .eq(ExamTaskDetail::getExamTaskId, taskReviewLog.getExamTaskId());
                     examTaskDetailService.update(examTaskDetailUpdateWrapper);
-                    commonService.checkData(examTask.getSchoolId(), examTask.getCourseCode(), examTask.getPaperNumber(), sysUser);
                 }
             }
         }

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

@@ -43,7 +43,9 @@
             ifnull(b.pages_a4, 0) pagesA4,
             c.singlePagesA3,
             b.status,
-            b.validate
+            b.validate,
+            b.print_start_time printStartTime,
+            b.print_end_time printEndTime
         FROM
             exam_print_plan a
                  JOIN
@@ -65,7 +67,7 @@
                     </if>
                 </where>
             GROUP BY exam_detail_id) c ON b.id = c.exam_detail_id
-                 JOIN
+                LEFT JOIN
             sys_user d on a.create_id = d.id
             <where>
                 <if test="printPlanId != null and printPlanId != ''">

+ 18 - 0
distributed-print/src/main/java/com/qmth/distributed/print/api/ExamTaskController.java

@@ -11,6 +11,7 @@ import com.qmth.distributed.print.business.bean.params.ArraysParams;
 import com.qmth.distributed.print.business.bean.params.PrintPlanParams;
 import com.qmth.distributed.print.business.bean.result.EditResult;
 import com.qmth.distributed.print.business.entity.*;
+import com.qmth.distributed.print.business.enums.ReviewStatusEnum;
 import com.qmth.distributed.print.business.enums.TaskTypeEnum;
 import com.qmth.distributed.print.business.enums.UploadFileEnum;
 import com.qmth.distributed.print.business.service.*;
@@ -69,6 +70,9 @@ public class ExamTaskController {
 
     @Resource
     private AsyncTaskReviewSampleExportService asyncTaskReviewSampleExportService;
+
+    @Autowired
+    private CommonService commonService;
     /**
      * 查询
      *
@@ -358,6 +362,12 @@ public class ExamTaskController {
     @RequestMapping(value = "/review_save", method = RequestMethod.POST)
     public Result taskReviewSave(@RequestBody ExamTaskReviewLog taskReviewLog) throws IOException {
         boolean isSuccess = examTaskService.taskReviewSave(taskReviewLog);
+        if (isSuccess && taskReviewLog.getReviewStatus().name().equals(ReviewStatusEnum.PASS.name())) {
+            SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
+            ExamTask examTask = examTaskService.getById(taskReviewLog.getExamTaskId());
+            // 校验是否可以提交打印状态
+            commonService.checkData(examTask.getSchoolId(), examTask.getCourseCode(), examTask.getPaperNumber(), sysUser);
+        }
         return ResultUtil.ok(isSuccess);
     }
 
@@ -371,6 +381,14 @@ public class ExamTaskController {
     @RequestMapping(value = "/review_save_batch", method = RequestMethod.POST)
     public Result taskReviewSaveBatch(@RequestBody ExamTaskReviewLog taskReviewLog) throws IOException {
         boolean isSuccess = examTaskService.taskReviewSaveBatch(taskReviewLog);
+        if (isSuccess && taskReviewLog.getReviewStatus().name().equals(ReviewStatusEnum.PASS.name())) {
+            SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
+            // 校验是否可以提交打印状态
+            for (Long examTaskId : taskReviewLog.getExamTaskIds()) {
+                ExamTask examTask = examTaskService.getById(examTaskId);
+                commonService.checkData(examTask.getSchoolId(), examTask.getCourseCode(), examTask.getPaperNumber(), sysUser);
+            }
+        }
         return ResultUtil.ok(isSuccess);
     }