Browse Source

bug修改

xiaof 4 years ago
parent
commit
3441c2249b

+ 74 - 0
distributed-print-business/src/main/java/com/qmth/distributed/print/business/bean/dto/ClientPrintTaskDto.java

@@ -48,6 +48,16 @@ public class ClientPrintTaskDto {
     private Long createId;
     private Long createId;
     private Long createTime;
     private Long createTime;
 
 
+    private String printContent;
+    private String variableContent;
+    private String ordinaryContent;
+
+    private Boolean incluedPaper;
+    private Boolean incluedCard;
+    private Boolean incluedSign;
+    private Boolean incluedPackage;
+    private Boolean incluedCheckin;
+
     public String getExamDetailId() {
     public String getExamDetailId() {
         return examDetailId;
         return examDetailId;
     }
     }
@@ -239,4 +249,68 @@ public class ClientPrintTaskDto {
     public void setCreateTime(Long createTime) {
     public void setCreateTime(Long createTime) {
         this.createTime = createTime;
         this.createTime = createTime;
     }
     }
+
+    public String getPrintContent() {
+        return printContent;
+    }
+
+    public void setPrintContent(String printContent) {
+        this.printContent = printContent;
+    }
+
+    public String getVariableContent() {
+        return variableContent;
+    }
+
+    public void setVariableContent(String variableContent) {
+        this.variableContent = variableContent;
+    }
+
+    public String getOrdinaryContent() {
+        return ordinaryContent;
+    }
+
+    public void setOrdinaryContent(String ordinaryContent) {
+        this.ordinaryContent = ordinaryContent;
+    }
+
+    public Boolean getIncluedPaper() {
+        return incluedPaper;
+    }
+
+    public void setIncluedPaper(Boolean incluedPaper) {
+        this.incluedPaper = incluedPaper;
+    }
+
+    public Boolean getIncluedCard() {
+        return incluedCard;
+    }
+
+    public void setIncluedCard(Boolean incluedCard) {
+        this.incluedCard = incluedCard;
+    }
+
+    public Boolean getIncluedSign() {
+        return incluedSign;
+    }
+
+    public void setIncluedSign(Boolean incluedSign) {
+        this.incluedSign = incluedSign;
+    }
+
+    public Boolean getIncluedPackage() {
+        return incluedPackage;
+    }
+
+    public void setIncluedPackage(Boolean incluedPackage) {
+        this.incluedPackage = incluedPackage;
+    }
+
+    public Boolean getIncluedCheckin() {
+        return incluedCheckin;
+    }
+
+    public void setIncluedCheckin(Boolean incluedCheckin) {
+        this.incluedCheckin = incluedCheckin;
+    }
 }
 }

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

@@ -1,5 +1,6 @@
 package com.qmth.distributed.print.business.service.impl;
 package com.qmth.distributed.print.business.service.impl;
 
 
+import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -27,6 +28,7 @@ import com.qmth.distributed.print.common.enums.ExceptionResultEnum;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.redis.connection.StringRedisConnection;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.transaction.annotation.Transactional;
 
 
@@ -283,7 +285,40 @@ public class ExamPrintPlanServiceImpl extends ServiceImpl<ExamPrintPlanMapper, E
     public IPage<ClientPrintTaskDto> listClientPrintTask(Page<ClientPrintTaskDto> page, Long schoolId, Long machineCode, String printPlanId, String status, String courseCode, String paperNumber, String examPlace, String examRoom, Long examStartTime, Long examEndTime, Boolean isDownload, Boolean validate, Set<Long> orgIds) {
     public IPage<ClientPrintTaskDto> listClientPrintTask(Page<ClientPrintTaskDto> page, Long schoolId, Long machineCode, String printPlanId, String status, String courseCode, String paperNumber, String examPlace, String examRoom, Long examStartTime, Long examEndTime, Boolean isDownload, Boolean validate, Set<Long> orgIds) {
         // 以下状态考场状态不可查询
         // 以下状态考场状态不可查询
         String[] examDetailStatus = new String[]{ExamDetailStatusEnum.NEW.name(), PrintPlanStatusEnum.READY.name()};
         String[] examDetailStatus = new String[]{ExamDetailStatusEnum.NEW.name(), PrintPlanStatusEnum.READY.name()};
-        return this.baseMapper.listClientPrintTask(page, schoolId, machineCode, printPlanId, status, courseCode, paperNumber, examPlace, examRoom, examStartTime, examEndTime, isDownload, validate, orgIds, examDetailStatus);
+        IPage<ClientPrintTaskDto> clientPrintTaskDtoIPage = this.baseMapper.listClientPrintTask(page, schoolId, machineCode, printPlanId, status, courseCode, paperNumber, examPlace, examRoom, examStartTime, examEndTime, isDownload, validate, orgIds, examDetailStatus);
+        for (ClientPrintTaskDto record : clientPrintTaskDtoIPage.getRecords()) {
+            // 试卷、题卡
+            String printContent = record.getPrintContent();
+            record.setIncluedPaper(StringUtils.isBlank(printContent) ? false : printContent.contains("PAPER"));
+            record.setIncluedCard(StringUtils.isBlank(printContent) ? false : printContent.contains("CARD"));
+            //
+            String variableContent = record.getVariableContent();
+            List<Map> variableList = JSONObject.parseArray(variableContent, Map.class);
+            record.setIncluedSign(false);
+            record.setIncluedPackage(false);
+            for (Map map : variableList) {
+                String type = map.get("type").toString();
+                String templateId = map.get("templateId").toString();
+                if(ClassifyEnum.SIGN.name().equals(type) && StringUtils.isNotBlank(templateId)){
+                    record.setIncluedSign(true);
+                }
+                if(ClassifyEnum.PACKAGE.name().equals(type) && StringUtils.isNotBlank(templateId)){
+                    record.setIncluedPackage(true);
+                }
+            }
+            String ordinaryContent = record.getOrdinaryContent();
+            List<Map> ordinaryList = JSONObject.parseArray(ordinaryContent, Map.class);
+            record.setIncluedCheckin(false);
+            for (Map map : ordinaryList) {
+                String type = map.get("type").toString();
+                String templateId = map.get("templateId").toString();
+                if(ClassifyEnum.CHECK_IN.name().equals(type) && StringUtils.isNotBlank(templateId)){
+                    record.setIncluedCheckin(true);
+                }
+            }
+
+        }
+        return clientPrintTaskDtoIPage;
     }
     }
 
 
 
 

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

@@ -675,6 +675,16 @@ public class ExamTaskServiceImpl extends ServiceImpl<ExamTaskMapper, ExamTask> i
                 // 更新记录表状态
                 // 更新记录表状态
                 taskAfterPass(taskReviewLog.getReviewStatus(), examTaskId, examTaskPaperLog, sysUser);
                 taskAfterPass(taskReviewLog.getReviewStatus(), examTaskId, examTaskPaperLog, sysUser);
             }
             }
+
+            if (taskReviewLog.getReviewStatus().name().equals(ReviewStatusEnum.PASS.name())) {
+                // 校验是否可以提交打印状态
+                    ExamTask examTask = this.getById(examTaskId);
+                try {
+                    commonService.checkData(examTask.getSchoolId(), examTask.getCourseCode(), examTask.getPaperNumber(), sysUser);
+                } catch (IOException e) {
+                    log.error("调用生成pdf异常");
+                }
+            }
         }
         }
         return true;
         return true;
     }
     }

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

@@ -103,6 +103,9 @@
             b.package_code packageCode,
             b.package_code packageCode,
             a.id printPlanId,
             a.id printPlanId,
             a.name printPlanName,
             a.name printPlanName,
+            a.print_content printContent,
+            a.variable_content variableContent,
+            a.ordinary_content ordinaryContent,
             b.exam_start_time examStartTime,
             b.exam_start_time examStartTime,
             b.exam_end_time examEndTime,
             b.exam_end_time examEndTime,
             c.courseNameCode,
             c.courseNameCode,

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

@@ -397,11 +397,6 @@ public class ExamTaskController {
         if (isSuccess && taskReviewLog.getReviewStatus().name().equals(ReviewStatusEnum.PASS.name())) {
         if (isSuccess && taskReviewLog.getReviewStatus().name().equals(ReviewStatusEnum.PASS.name())) {
             // 发送审核通过短信通知
             // 发送审核通过短信通知
             basicMessageService.noticeOfExamTaskAudit(examTaskIdList, MessageEnum.NOTICE_OF_AUDIT_PASS,sysUser);
             basicMessageService.noticeOfExamTaskAudit(examTaskIdList, MessageEnum.NOTICE_OF_AUDIT_PASS,sysUser);
-            // 校验是否可以提交打印状态
-            for (Long examTaskId : taskReviewLog.getExamTaskIds()) {
-                ExamTask examTask = examTaskService.getById(examTaskId);
-                commonService.checkData(examTask.getSchoolId(), examTask.getCourseCode(), examTask.getPaperNumber(), sysUser);
-            }
         }else if (isSuccess && taskReviewLog.getReviewStatus().name().equals(ReviewStatusEnum.NOT_PASS.name())){
         }else if (isSuccess && taskReviewLog.getReviewStatus().name().equals(ReviewStatusEnum.NOT_PASS.name())){
             // 发送审核不通过短信通知
             // 发送审核不通过短信通知
             basicMessageService.noticeOfExamTaskAudit(examTaskIdList, MessageEnum.NOTICE_OF_AUDIT_NOT_PASS,sysUser);
             basicMessageService.noticeOfExamTaskAudit(examTaskIdList, MessageEnum.NOTICE_OF_AUDIT_NOT_PASS,sysUser);