Ver Fonte

Merge branch 'dev' of http://git.qmth.com.cn/wangliang/distributed-print-service into dev

xiaof há 4 anos atrás
pai
commit
ab45b0f310

+ 43 - 0
distributed-print-business/src/main/java/com/qmth/distributed/print/business/bean/dto/ReviewSampleDto.java

@@ -0,0 +1,43 @@
+package com.qmth.distributed.print.business.bean.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+
+/**
+ * @Description: 审核样品Dto(来自 exam_task_detail 和 exam_task_paper_log)
+ * @Author: CaoZixuan
+ * @Date: 2021-04-27
+ */
+public class ReviewSampleDto {
+    @ApiModelProperty(value = "试卷副本信息")
+    private String paperAttachmentIds;
+
+    @ApiModelProperty(value = "题卡副本信息")
+    private Long cardId;
+
+    @ApiModelProperty(value = "审核副本信息")
+    private String paperConfirmAttachmentIds;
+
+    public String getPaperAttachmentIds() {
+        return paperAttachmentIds;
+    }
+
+    public void setPaperAttachmentIds(String paperAttachmentIds) {
+        this.paperAttachmentIds = paperAttachmentIds;
+    }
+
+    public Long getCardId() {
+        return cardId;
+    }
+
+    public void setCardId(Long cardId) {
+        this.cardId = cardId;
+    }
+
+    public String getPaperConfirmAttachmentIds() {
+        return paperConfirmAttachmentIds;
+    }
+
+    public void setPaperConfirmAttachmentIds(String paperConfirmAttachmentIds) {
+        this.paperConfirmAttachmentIds = paperConfirmAttachmentIds;
+    }
+}

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

@@ -77,4 +77,11 @@ public interface ExamTaskMapper extends BaseMapper<ExamTask> {
     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("orgIds") Set<Long> orgIds, @Param("printPlanStatus") String printPlanStatus, @Param("examDetailStatus") String examDetailStatus);
 
     List<ExamTask> listExamTaskByCardId(Long cardId);
+
+    /**
+     * 查询审核样品
+     * @param examTaskId 命题任务id
+     * @return 结果
+     */
+    List<ReviewSampleDto> listReviewSampleInfoByExamTaskId(@Param("examTaskId") Long examTaskId);
 }

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

@@ -115,4 +115,11 @@ public interface ExamTaskService extends IService<ExamTask> {
     void checkDataByExamination(Long examDetailId, SysUser user) throws IOException;
 
     List<ExamTask> listExamTaskByCardId(Long cardId);
+
+    /**
+     * 根据命题任务id从('exam_task_detail'表和'exam_task_paper_log'表查找审核样品信息)
+     * @param examTaskId 命题任务主键
+     * @return 命题任务信息
+     */
+    ReviewSampleDto findReviewSampleInfoByExamTaskId(Long examTaskId);
 }

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

@@ -1028,4 +1028,13 @@ public class ExamTaskServiceImpl extends ServiceImpl<ExamTaskMapper, ExamTask> i
     public List<ExamTask> listExamTaskByCardId(Long cardId) {
         return this.baseMapper.listExamTaskByCardId(cardId);
     }
+
+    @Override
+    public ReviewSampleDto findReviewSampleInfoByExamTaskId(Long examTaskId) {
+        List<ReviewSampleDto> reviewSampleDtoList = examTaskMapper.listReviewSampleInfoByExamTaskId(examTaskId);
+        if (reviewSampleDtoList.size() != 1){
+            throw ExceptionResultEnum.ERROR.exception("不能找到所选命题任务[" + examTaskId + "]的审核样本信息");
+        }
+        return reviewSampleDtoList.get(0);
+    }
 }

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

@@ -658,15 +658,16 @@ public class TaskLogicServiceImpl implements TaskLogicService {
             }
             String examTaskSign = examTask.getSchoolId() + "-" + examTask.getCourseName() + "-" + examTask.getPaperNumber();
             String firstPath = zipLocalRootPath + File.separator + examTaskSign;
-            List<ExamTaskDetail> examTaskDetailList = examTaskDetailService.list(new QueryWrapper<ExamTaskDetail>().lambda().eq(ExamTaskDetail::getExamTaskId, id));
-            if (examTaskDetailList.size() != 1) {
-                throw ExceptionResultEnum.ERROR.exception("获取命题任务详情失败");
-            }
-            ExamTaskDetail examTaskDetail = examTaskDetailList.get(0);
+//            List<ExamTaskDetail> examTaskDetailList = examTaskDetailService.list(new QueryWrapper<ExamTaskDetail>().lambda().eq(ExamTaskDetail::getExamTaskId, id));
+//            if (examTaskDetailList.size() != 1) {
+//                throw ExceptionResultEnum.ERROR.exception("获取命题任务详情失败");
+//            }
+//            ExamTaskDetail examTaskDetail = examTaskDetailList.get(0);
+            ReviewSampleDto reviewSampleDto = examTaskService.findReviewSampleInfoByExamTaskId(id);
 
 
             // 处理试卷样品
-            List<Map> paperInfo = JSONObject.parseArray(examTaskDetail.getPaperAttachmentIds(), Map.class);
+            List<Map> paperInfo = JSONObject.parseArray(reviewSampleDto.getPaperAttachmentIds(), Map.class);
             if (Objects.isNull(paperInfo)) {
                 throw ExceptionResultEnum.ERROR.exception("试卷信息不存在");
             }
@@ -689,7 +690,7 @@ public class TaskLogicServiceImpl implements TaskLogicService {
             }
 
             // 处理审核样品
-            List<Map> confirmInfo = JSONObject.parseArray(examTaskDetail.getPaperConfirmAttachmentIds(), Map.class);
+            List<Map> confirmInfo = JSONObject.parseArray(reviewSampleDto.getPaperConfirmAttachmentIds(), Map.class);
             System.out.println("confirmInfo = " + JSON.toJSONString(confirmInfo));
             Set<Long> attConfirmIds = new HashSet<>();
             for (Map confirmMap : confirmInfo) {
@@ -710,7 +711,7 @@ public class TaskLogicServiceImpl implements TaskLogicService {
             }
 
             // 处理题卡
-            Long cardId = examTaskDetail.getCardId();
+            Long cardId = reviewSampleDto.getCardId();
             ExamCard examCard = examCardService.getById(cardId);
             if (Objects.isNull(examCard)) {
                 throw ExceptionResultEnum.ERROR.exception("找不到答题卡");

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

@@ -508,6 +508,22 @@
         WHERE
             b.card_id = #{cardId}
     </select>
+    <select id="listReviewSampleInfoByExamTaskId"
+            resultType="com.qmth.distributed.print.business.bean.dto.ReviewSampleDto">
+        SELECT
+            IFNULL(log.paper_attachment_ids,
+                   det.paper_attachment_ids) AS paperAttachmentIds,
+            IFNULL(log.card_id, det.card_id) AS cardId,
+            det.paper_confirm_attachment_ids AS paperConfirmAttachmentIds
+        FROM
+            exam_task_detail det
+                LEFT JOIN
+            exam_task_paper_log log ON det.exam_task_id = log.exam_task_id
+                AND log.review = 0
+        WHERE
+            det.exam_task_id = #{examTaskId}
+        ORDER BY det.update_time DESC
+    </select>
 
     <sql id="myworkCommonHead">
         SELECT