xiaof 4 ani în urmă
părinte
comite
2c647ecb00
21 a modificat fișierele cu 223 adăugiri și 143 ștergeri
  1. 18 1
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/bean/dto/ClientExamTaskDto.java
  2. 9 0
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/bean/dto/ClientPrintBackupDataDto.java
  3. 9 0
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/bean/dto/ClientPrintDataDto.java
  4. 1 1
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/mapper/ExamDetailMapper.java
  5. 2 2
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/mapper/ExamPrintPlanMapper.java
  6. 2 2
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/mapper/ExamTaskMapper.java
  7. 2 2
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/ClientService.java
  8. 9 1
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/CommonService.java
  9. 1 1
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/ExamDetailService.java
  10. 1 1
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/ExamTaskDetailService.java
  11. 82 66
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/ClientServiceImpl.java
  12. 35 32
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/CommonServiceImpl.java
  13. 3 3
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/ExamDetailServiceImpl.java
  14. 8 5
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/ExamPrintPlanServiceImpl.java
  15. 3 4
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/ExamTaskDetailServiceImpl.java
  16. 4 2
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/ExamTaskServiceImpl.java
  17. 1 1
      distributed-print-business/src/main/resources/mapper/ExamDetailCourseMapper.xml
  18. 1 1
      distributed-print-business/src/main/resources/mapper/ExamDetailMapper.xml
  19. 21 9
      distributed-print-business/src/main/resources/mapper/ExamPrintPlanMapper.xml
  20. 7 5
      distributed-print-business/src/main/resources/mapper/ExamTaskMapper.xml
  21. 4 4
      distributed-print/src/main/java/com/qmth/distributed/print/api/ClientController.java

+ 18 - 1
distributed-print-business/src/main/java/com/qmth/distributed/print/business/bean/dto/ClientExamTaskDto.java

@@ -6,6 +6,8 @@ package com.qmth.distributed.print.business.bean.dto;
 public class ClientExamTaskDto {
 
     private String examTaskId;
+    private String schoolId;
+    private String printPlanId;
     private String printPlanName;
     private String paperNumber;
     private String courseCode;
@@ -17,7 +19,6 @@ public class ClientExamTaskDto {
     private Boolean isPass;
     private Long tryTime;
 
-
     public String getExamTaskId() {
         return examTaskId;
     }
@@ -26,6 +27,22 @@ public class ClientExamTaskDto {
         this.examTaskId = examTaskId;
     }
 
+    public String getSchoolId() {
+        return schoolId;
+    }
+
+    public void setSchoolId(String schoolId) {
+        this.schoolId = schoolId;
+    }
+
+    public String getPrintPlanId() {
+        return printPlanId;
+    }
+
+    public void setPrintPlanId(String printPlanId) {
+        this.printPlanId = printPlanId;
+    }
+
     public String getPrintPlanName() {
         return printPlanName;
     }

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

@@ -9,6 +9,7 @@ public class ClientPrintBackupDataDto {
     private String courseName;
     private String paperNumber;
     private String paperType;
+    private String md5;
     private String url;
 
     public String getCourseCode() {
@@ -43,6 +44,14 @@ public class ClientPrintBackupDataDto {
         this.paperType = paperType;
     }
 
+    public String getMd5() {
+        return md5;
+    }
+
+    public void setMd5(String md5) {
+        this.md5 = md5;
+    }
+
     public String getUrl() {
         return url;
     }

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

@@ -11,6 +11,7 @@ public class ClientPrintDataDto {
     private String studentName;
     private String studentCode;
     private String paperType;
+    private String md5;
     private String url;
 
     public String getCourseCode() {
@@ -61,6 +62,14 @@ public class ClientPrintDataDto {
         this.paperType = paperType;
     }
 
+    public String getMd5() {
+        return md5;
+    }
+
+    public void setMd5(String md5) {
+        this.md5 = md5;
+    }
+
     public String getUrl() {
         return url;
     }

+ 1 - 1
distributed-print-business/src/main/java/com/qmth/distributed/print/business/mapper/ExamDetailMapper.java

@@ -50,7 +50,7 @@ public interface ExamDetailMapper extends BaseMapper<ExamDetail> {
 
     IPage<ClientExamStudentDto> listClientExamStudentPage(Page<ClientExamStudentDto> page, @Param("schoolId") Long schoolId, @Param("examDetailId") Long examDetailId, @Param("ticketNumber") String ticketNumber, @Param("studentName") String studentName, @Param("courseCode") String courseCode);
 
-    List<Map<String, String>> listStudentByExamDetailId(@Param("schoolId") Long schoolId, @Param("examDetailId") Long examDetailId, @Param("ticketNumber") String ticketNumber, @Param("type") String type);
+    List<Map> listStudentByExamDetailId(@Param("schoolId") Long schoolId, @Param("examDetailId") Long examDetailId, @Param("ticketNumber") String ticketNumber, @Param("type") String type);
 
     Integer selectPaperCount(@Param("schoolId") Long schoolId, @Param("printPlanId") Long 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("orgIds") Set<Long> orgIds);
 }

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

@@ -32,7 +32,7 @@ public interface ExamPrintPlanMapper extends BaseMapper<ExamPrintPlan> {
 
     List<PrintPlanBrief> list(@Param("schoolId") Long schoolId, @Param("orgIds") Set<Long> orgIds);
 
-    IPage<ClientPrintTaskDto> listClientPrintTask(Page<ClientPrintTaskDto> page, @Param("schoolId") Long schoolId, @Param("machineCode") Long 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("orgIds") Set<Long> orgIds);
+    IPage<ClientPrintTaskDto> listClientPrintTask(Page<ClientPrintTaskDto> page, @Param("schoolId") Long schoolId, @Param("machineCode") Long 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("orgIds") Set<Long> orgIds, @Param("examDetailStatus") String[] examDetailStatus);
 
-    List<ClientPrintTaskDto> listClientPrintTask(@Param("schoolId") Long schoolId, @Param("machineCode") Long 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("orgIds") Set<Long> orgIds);
+    List<ClientPrintTaskDto> listClientPrintTask(@Param("schoolId") Long schoolId, @Param("machineCode") Long 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("orgIds") Set<Long> orgIds, @Param("examDetailStatus") String[] examDetailStatus);
 }

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

@@ -72,9 +72,9 @@ public interface ExamTaskMapper extends BaseMapper<ExamTask> {
                                           @Param("schoolId") Long schoolId,
                                           @Param("status") String...status);
 
-    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("orgIds") Set<Long> orgIds);
+    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("orgIds") Set<Long> orgIds, @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("orgIds") Set<Long> orgIds);
+    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);
 }

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

@@ -15,7 +15,7 @@ import java.util.Map;
 public interface ClientService {
     IPage<ClientExamTaskDto> listTryTask(Long schoolId, String machineCode, Long orgId, Long printPlanId, String courseCode, String paperNumber, Boolean isTry, Boolean isPass, Integer pageNumber, Integer pageSize);
 
-    String getUrl(Long schoolId, Long examTaskId);
+    Map<String, String>  getUrl(Long schoolId, Long examTaskId);
 
     Boolean tagPass(Long schoolId, String courseCode, String courseName, String paperNumber, String machineCode, Boolean isPass, Long userId);
 
@@ -31,7 +31,7 @@ public interface ClientService {
 
     List<Map<String, Object>> getPrintDataBatch(Long schoolId, Long machineCode, String orgId, String printPlanId, String status, String courseCode, String paperNumber, String examPlace, String examRoom, Long examStartTime, Long examEndTime, Boolean isDownload, Boolean validate);
 
-    String getUrlByExamDetailId(Long schoolId, Long examDetailId);
+    Map<String, String> getUrlByExamDetailId(Long schoolId, Long examDetailId);
 
     Boolean updateDownload(Long schoolId, Long examDetailId, String machineCode, Boolean isDownload);
 

+ 9 - 1
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/CommonService.java

@@ -99,13 +99,21 @@ public interface CommonService {
      */
     public String filePreview(String path);
 
+    /**
+     * 文件预览
+     *
+     * @param path
+     * @return
+     */
+    public String filePreviewByPath(String path, Boolean isExpire);
+
     /**
      * 文件预览
      *
      * @param attachmentId
      * @return
      */
-    public Map<String, String> filePreview(String attachmentId, Boolean isExpire);
+    public Map<String, String> filePreviewByAttachmentId(Long attachmentId, Boolean isExpire);
 
     /**
      * 题卡html文件上传,读取文件内容

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

@@ -171,5 +171,5 @@ public interface ExamDetailService extends IService<ExamDetail> {
 
     IPage<ClientExamStudentDto> listStudent(Long schoolId, Long examDetailId, String ticketNumber, String studentName, String courseCode, Integer pageNumber, Integer pageSize);
 
-    List<Map<String, String>> listStudentByExamDetailId(Long schoolId, Long examDetailId, String ticketNumber, String type);
+    List<Map> listStudentByExamDetailId(Long schoolId, Long examDetailId, String ticketNumber, String type);
 }

+ 1 - 1
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/ExamTaskDetailService.java

@@ -34,6 +34,6 @@ public interface ExamTaskDetailService extends IService<ExamTaskDetail> {
 
     List<ExamTaskDetail> listByTemplateId(Long templateId);
 
-    String getUrl(Long schoolId, Long examTaskId);
+    Map<String, String>  getUrl(Long schoolId, Long examTaskId);
 
 }

+ 82 - 66
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/ClientServiceImpl.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.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.qmth.distributed.print.business.bean.dto.*;
@@ -56,7 +57,7 @@ public class ClientServiceImpl implements ClientService {
     }
 
     @Override
-    public String getUrl(Long schoolId, Long examTaskId) {
+    public Map<String, String>  getUrl(Long schoolId, Long examTaskId) {
         return examTaskDetailService.getUrl(schoolId, examTaskId);
     }
 
@@ -81,18 +82,18 @@ public class ClientServiceImpl implements ClientService {
         Map<String, Object> finalMap = new HashMap<>();
         // 取试卷
         List<Map<String, String>> examDetailCourses = examDetailCourseService.listByExamDetailId(examDetailId);
-        Map<String, String> map = mapCourseUrl(examDetailCourses);
+        Map<String, Map<String, String>> map = mapCourseUrl(examDetailCourses);
         // 取考生
-        List<Map<String, String>> studentList = examDetailService.listStudentByExamDetailId(schoolId, examDetailId, ticketNumber, type);
+        List<Map> studentList = examDetailService.listStudentByExamDetailId(schoolId, examDetailId, ticketNumber, type);
         // 生成试卷List
         List<ClientPrintDataDto> paperList = studentList.stream().map(m -> {
             ClientPrintDataDto printDataDto = new ClientPrintDataDto();
-            String courseCode = m.get("courseCode");
-            String courseName = m.get("courseName");
-            String paperNumber = m.get("paperNumber");
-            String studentName = m.get("studentName");
-            String studentCode = m.get("studentCode");
-            String paperType = m.get("paperType");
+            String courseCode = m.get("courseCode").toString();
+            String courseName = m.get("courseName").toString();
+            String paperNumber = m.get("paperNumber").toString();
+            String studentName = m.get("studentName").toString();
+            String studentCode = m.get("studentCode").toString();
+            String paperType = m.get("paperType").toString();
             printDataDto.setCourseCode(courseCode);
             printDataDto.setCourseName(courseName);
             printDataDto.setStudentName(studentName);
@@ -101,26 +102,28 @@ public class ClientServiceImpl implements ClientService {
 
             StringJoiner sj = new StringJoiner(SystemConstant.DELIMITER);
             String key = sj.add(courseCode).add(paperNumber).add(paperType).toString();
-            printDataDto.setUrl(map.get(key));
+            printDataDto.setMd5(map.get(key).get("md5"));
+            printDataDto.setUrl(map.get(key).get("url"));
             return printDataDto;
         }).collect(Collectors.toList());
         finalMap.put("paper", paperList);
         // 生成题卡List
         List<ClientPrintDataDto> cardList = studentList.stream().map(m -> {
             ClientPrintDataDto printDataDto = new ClientPrintDataDto();
-            String courseCode = m.get("courseCode");
-            String courseName = m.get("courseName");
-            String studentName = m.get("studentName");
-            String studentCode = m.get("studentCode");
-            String paperType = m.get("paperType");
-            String attachmentId = m.get("attachmentId");
+            String courseCode = m.get("courseCode").toString();
+            String courseName = m.get("courseName").toString();
+            String studentName = m.get("studentName").toString();
+            String studentCode = m.get("studentCode").toString();
+            String paperType = m.get("paperType").toString();
+            String attachmentId = m.get("attachmentId").toString();
             printDataDto.setCourseCode(courseCode);
             printDataDto.setCourseName(courseName);
             printDataDto.setStudentName(studentName);
             printDataDto.setStudentCode(studentCode);
             printDataDto.setPaperType(paperType);
-            Map<String, String> urlMap = commonService.filePreview(attachmentId, false);
-            printDataDto.setUrl(urlMap.get("pathUrl"));
+            Map<String, String> urlMap = commonService.filePreviewByAttachmentId(Long.valueOf(attachmentId), false);
+            printDataDto.setMd5(urlMap.get("md5"));
+            printDataDto.setUrl(urlMap.get("url"));
             return printDataDto;
         }).collect(Collectors.toList());
         finalMap.put("card", cardList);
@@ -134,18 +137,20 @@ public class ClientServiceImpl implements ClientService {
         for (Map variable : variableList) {
             Map vMap = new HashMap();
             vMap.put("type", variable.get("type"));
-            Map<String, String> urlMap = commonService.filePreview(variable.get("attachmentId").toString(), false);
+            // todo
+            /*Map<String, String> urlMap = commonService.filePreview(variable.get("attachmentId").toString(), false);
             vMap.put("htmlUrl", urlMap.get("htmlUrl"));
-            vMap.put("pdfUrl", urlMap.get("pdfUrl"));
+            vMap.put("pdfUrl", urlMap.get("pdfUrl"));*/
             otherList.add(vMap);
         }
         List<Map> ordinaryList = JSONObject.parseArray(ordinaryContent, Map.class);
         for (Map ordinary : ordinaryList) {
             Map vMap = new HashMap();
             vMap.put("type", ordinary.get("type"));
-            Map<String, String> urlMap = commonService.filePreview(ordinary.get("attachmentId").toString(), false);
+            // todo
+            /*Map<String, String> urlMap = commonService.filePreview(ordinary.get("attachmentId").toString(), false);
             vMap.put("htmlUrl", urlMap.get("htmlUrl"));
-            vMap.put("pdfUrl", urlMap.get("pdfUrl"));
+            vMap.put("pdfUrl", urlMap.get("pdfUrl"));*/
             otherList.add(vMap);
         }
         finalMap.put("other", otherList);
@@ -175,9 +180,8 @@ public class ClientServiceImpl implements ClientService {
             throw ExceptionResultEnum.ERROR.exception("考场pdf文件记录异常");
         }
 
-        Map<String, String> attachMap = commonService.filePreview(examDetail.getAttachmentId().toString(), false);
-        String totalPathUrl = attachMap.get("pathUrl");
-        if (StringUtils.isNotBlank(totalPathUrl)) {
+        Map<String, String> totalPathUrl = commonService.filePreviewByAttachmentId(examDetail.getAttachmentId(), false);
+        if (StringUtils.isBlank(totalPathUrl.get("url"))) {
             throw ExceptionResultEnum.ERROR.exception("考场pdf文件丢失");
         }
 
@@ -186,18 +190,18 @@ public class ClientServiceImpl implements ClientService {
         // 3.取学生试卷、题卡、备用试卷、题卡,印品
         Map<String, Object> detailMap = new HashMap<>();
         // 3.1取试卷
-        Map<String, String> map = mapCourseUrl(examDetailCourses);
+        Map<String, Map<String, String>> map = mapCourseUrl(examDetailCourses);
         // 3.2取考生
-        List<Map<String, String>> studentList = examDetailService.listStudentByExamDetailId(schoolId, examDetailId, "1", "1");
+        List<Map> studentList = examDetailService.listStudentByExamDetailId(schoolId, examDetailId, "1", "1");
         // 3.3生成试卷List
         List<ClientPrintDataDto> paperList = studentList.stream().map(m -> {
             ClientPrintDataDto printDataDto = new ClientPrintDataDto();
-            String courseCode = m.get("courseCode");
-            String courseName = m.get("courseName");
-            String paperNumber = m.get("paperNumber");
-            String studentName = m.get("studentName");
-            String studentCode = m.get("studentCode");
-            String paperType = m.get("paperType");
+            String courseCode = m.get("courseCode").toString();
+            String courseName = m.get("courseName").toString();
+            String paperNumber = m.get("paperNumber").toString();
+            String studentName = m.get("studentName").toString();
+            String studentCode = m.get("studentCode").toString();
+            String paperType = m.get("paperType").toString();
             printDataDto.setCourseCode(courseCode);
             printDataDto.setCourseName(courseName);
             printDataDto.setStudentName(studentName);
@@ -206,26 +210,28 @@ public class ClientServiceImpl implements ClientService {
 
             StringJoiner sj = new StringJoiner(SystemConstant.DELIMITER);
             String key = sj.add(courseCode).add(paperNumber).add(paperType).toString();
-            printDataDto.setUrl(map.get(key));
+            printDataDto.setMd5(map.get(key).get("md5"));
+            printDataDto.setUrl(map.get(key).get("url"));
             return printDataDto;
         }).collect(Collectors.toList());
         detailMap.put("paper", paperList);
         // 3.4生成题卡List
         List<ClientPrintDataDto> cardList = studentList.stream().map(m -> {
             ClientPrintDataDto printDataDto = new ClientPrintDataDto();
-            String courseCode = m.get("courseCode");
-            String courseName = m.get("courseName");
-            String studentName = m.get("studentName");
-            String studentCode = m.get("studentCode");
-            String paperType = m.get("paperType");
-            String attachmentId = m.get("attachmentId");
+            String courseCode = m.get("courseCode").toString();
+            String courseName = m.get("courseName").toString();
+            String studentName = m.get("studentName").toString();
+            String studentCode = m.get("studentCode").toString();
+            String paperType = m.get("paperType").toString();
+            String attachmentId = m.get("attachmentId").toString();
             printDataDto.setCourseCode(courseCode);
             printDataDto.setCourseName(courseName);
             printDataDto.setStudentName(studentName);
             printDataDto.setStudentCode(studentCode);
             printDataDto.setPaperType(paperType);
-            Map<String, String> urlMap = commonService.filePreview(attachmentId, false);
-            printDataDto.setUrl(urlMap.get("pathUrl"));
+            Map<String, String> urlMap = commonService.filePreviewByAttachmentId(Long.valueOf(attachmentId), false);
+            printDataDto.setMd5(urlMap.get("md5"));
+            printDataDto.setUrl(urlMap.get("url"));
             return printDataDto;
         }).collect(Collectors.toList());
         detailMap.put("card", cardList);
@@ -237,10 +243,10 @@ public class ClientServiceImpl implements ClientService {
         //试卷
         List<Map<String, String>> keyMaps = studentList.stream().map(m -> {
             Map<String, String> stringMap = new HashMap<>();
-            stringMap.put("courseCode", m.get("courseCode"));
-            stringMap.put("courseName", m.get("courseName"));
-            stringMap.put("paperNumber", m.get("paperNumber"));
-            stringMap.put("paperType", m.get("paperType"));
+            stringMap.put("courseCode", m.get("courseCode").toString());
+            stringMap.put("courseName", m.get("courseName").toString());
+            stringMap.put("paperNumber", m.get("paperNumber").toString());
+            stringMap.put("paperType", m.get("paperType").toString());
             return stringMap;
         }).distinct().collect(Collectors.toList());
         List<ClientPrintBackupDataDto> paperBackupList = new ArrayList<>();
@@ -253,7 +259,8 @@ public class ClientServiceImpl implements ClientService {
                 clientPrintBackupDataDto.setPaperType(keyMap.get("paperType"));
                 StringJoiner sj = new StringJoiner(SystemConstant.DELIMITER);
                 String key = sj.add(keyMap.get("courseCode")).add(keyMap.get("paperNumber")).add(keyMap.get("paperType")).toString();
-                clientPrintBackupDataDto.setUrl(map.get(key));
+                clientPrintBackupDataDto.setMd5(map.get(key).get("md5"));
+                clientPrintBackupDataDto.setUrl(map.get(key).get("url"));
                 paperBackupList.add(clientPrintBackupDataDto);
             }
         }
@@ -268,16 +275,19 @@ public class ClientServiceImpl implements ClientService {
             List<Map> backupCards = JSONObject.parseArray(JSONObject.toJSONString(jsonObject.get("card")), Map.class);
             for (Map backupCard : backupCards) {
                 ClientPrintBackupDataDto clientPrintBackupDataDto = new ClientPrintBackupDataDto();
-                clientPrintBackupDataDto.setCourseCode(backupCard.get("courseCode").toString());
-                clientPrintBackupDataDto.setCourseName(backupCard.get("courseName").toString());
-                clientPrintBackupDataDto.setPaperNumber(backupCard.get("paperNumber").toString());
+                clientPrintBackupDataDto.setCourseCode(examDetailCours.get("courseCode"));
+                clientPrintBackupDataDto.setCourseName(examDetailCours.get("courseName"));
+                clientPrintBackupDataDto.setPaperNumber(examDetailCours.get("paperNumber"));
                 clientPrintBackupDataDto.setPaperType(backupCard.get("name").toString());
-                Map<String, String> urlMap = commonService.filePreview(backupCard.get("attachmentId").toString(), false);
-                clientPrintBackupDataDto.setUrl(urlMap.get("pathUrl"));
+                Map<String, String> urlMap = commonService.filePreviewByAttachmentId(Long.valueOf(backupCard.get("attachmentId").toString()), false);
+                clientPrintBackupDataDto.setMd5(urlMap.get("md5"));
+                clientPrintBackupDataDto.setUrl(urlMap.get("url"));
                 cardBackupList.add(clientPrintBackupDataDto);
             }
         }
         backupMap.put("card", cardBackupList);
+        detailMap.put("backup", backupMap);
+        finalMap.put("detail", detailMap);
 
         //3.5
         String variableContent = examPrintPlan.getVariableContent();
@@ -289,9 +299,10 @@ public class ClientServiceImpl implements ClientService {
             for (int i = 0; i < count; i++) {
                 Map vMap = new HashMap();
                 vMap.put("type", variable.get("type"));
-                Map<String, String> urlMap = commonService.filePreview(variable.get("attachmentId").toString(), false);
+                // todo
+                /*Map<String, String> urlMap = commonService.filePreview(variable.get("attachmentId").toString(), false);
                 vMap.put("htmlUrl", urlMap.get("htmlUrl"));
-                vMap.put("pdfUrl", urlMap.get("pdfUrl"));
+                vMap.put("pdfUrl", urlMap.get("pdfUrl"));*/
                 otherList.add(vMap);
             }
         }
@@ -301,9 +312,10 @@ public class ClientServiceImpl implements ClientService {
             for (int i = 0; i < count; i++) {
                 Map vMap = new HashMap();
                 vMap.put("type", ordinary.get("type"));
-                Map<String, String> urlMap = commonService.filePreview(ordinary.get("attachmentId").toString(), false);
+                // todo
+                /*Map<String, String> urlMap = commonService.filePreview(ordinary.get("attachmentId").toString(), false);
                 vMap.put("htmlUrl", urlMap.get("htmlUrl"));
-                vMap.put("pdfUrl", urlMap.get("pdfUrl"));
+                vMap.put("pdfUrl", urlMap.get("pdfUrl"));*/
                 otherList.add(vMap);
             }
 
@@ -326,10 +338,10 @@ public class ClientServiceImpl implements ClientService {
     }
 
     @Override
-    public String getUrlByExamDetailId(Long schoolId, Long examDetailId) {
+    public Map<String, String> getUrlByExamDetailId(Long schoolId, Long examDetailId) {
         ExamDetail examDetail = examDetailService.getById(examDetailId);
         BasicAttachment attachment = basicAttachmentService.getById(examDetail.getAttachmentId());
-        return attachment == null ? null : commonService.filePreview(attachment.getPath());
+        return attachment == null ? null : commonService.filePreviewByAttachmentId(attachment.getId(), false);
     }
 
     @Override
@@ -416,10 +428,14 @@ public class ClientServiceImpl implements ClientService {
         }
 
         String lastCodeSub = lastCode.substring(0, lastCode.length() - 2);
-        if (packageCode.equals(lastCodeSub)) {
+        if (!packageCode.equals(lastCodeSub)) {
             throw ExceptionResultEnum.ERROR.exception("最后一张备卡条码与试卷编号不一致");
         }
-        return true;
+
+        UpdateWrapper<ExamDetail> updateWrapper = new UpdateWrapper<>();
+        updateWrapper.lambda().set(ExamDetail::getValidate, true).eq(ExamDetail::getId, examDetailId);
+
+        return examDetailService.update(updateWrapper);
     }
 
     @Override
@@ -431,8 +447,8 @@ public class ClientServiceImpl implements ClientService {
             map.put("courseCode", clientExamTaskDto.getCourseCode());
             map.put("courseName", clientExamTaskDto.getCourseName());
             map.put("paperNumber", clientExamTaskDto.getPaperNumber());
-            String url = examTaskDetailService.getUrl(schoolId, Long.valueOf(clientExamTaskDto.getExamTaskId()));
-            map.put("url", url);
+            Map<String, String> stringMap = examTaskDetailService.getUrl(schoolId, Long.valueOf(clientExamTaskDto.getExamTaskId()));
+            map.putAll(stringMap);
             list.add(map);
         }
         return list;
@@ -451,8 +467,8 @@ public class ClientServiceImpl implements ClientService {
      *
      * @return
      */
-    public Map<String, String> mapCourseUrl(List<Map<String, String>> mapList) {
-        Map<String, String> map = new HashMap<>();
+    public Map<String, Map<String, String>> mapCourseUrl(List<Map<String, String>> mapList) {
+        Map<String, Map<String, String>> map = new HashMap<>();
         for (Map<String, String> taskDetail : mapList) {
             String courseCode = taskDetail.get("courseCode");
             String paperNumber = taskDetail.get("paperNumber");
@@ -462,10 +478,10 @@ public class ClientServiceImpl implements ClientService {
                 String name = attaMap.get("name").toString();
                 String attachmentId = attaMap.get("attachmentId").toString();
                 BasicAttachment attachment = basicAttachmentService.getById(attachmentId);
-                String url = commonService.filePreview(attachment.getPath());
+                Map<String, String> stringMap = commonService.filePreviewByAttachmentId(Long.valueOf(attachmentId), false);
                 StringJoiner sj = new StringJoiner(SystemConstant.DELIMITER);
                 String key = sj.add(courseCode).add(paperNumber).add(name).toString();
-                map.put(key, url);
+                map.put(key, stringMap);
             }
         }
         return map;

+ 35 - 32
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/CommonServiceImpl.java

@@ -354,12 +354,42 @@ public class CommonServiceImpl implements CommonService {
     /**
      * 文件预览
      *
-     * @param attachmentId 附件ID
+     * @param path 附件路径
      * @param isExpire     url是否带过期时间
      * @return
      */
     @Override
-    public Map<String, String> filePreview(String attachmentId, Boolean isExpire) {
+    public String filePreviewByPath(String path, Boolean isExpire) {
+        if (StringUtils.isBlank(path)) {
+            return null;
+        }
+
+        String pathUrl;
+        JSONObject jsonObject = JSONObject.parseObject(path);
+        String attachmentType = (String) jsonObject.get(SystemConstant.TYPE);
+        String filePath = (String) jsonObject.get(SystemConstant.PATH);
+        if (Objects.equals(attachmentType, SystemConstant.LOCAL)) {
+            pathUrl = SystemConstant.HTTP + dictionaryConfig.sysDomain().getFileHost() + File.separator + filePath;
+        } else {
+            if (isExpire) {
+                pathUrl = ossUtil.getPrivateUrl(filePath);
+            } else {
+                pathUrl = dictionaryConfig.aliYunOssDomain().getUrl() + File.separator + filePath;
+            }
+
+        }
+        return pathUrl;
+    }
+
+    /**
+     * 文件预览
+     *
+     * @param attachmentId 附件路径
+     * @param isExpire     url是否带过期时间
+     * @return
+     */
+    @Override
+    public Map<String, String> filePreviewByAttachmentId(Long attachmentId, Boolean isExpire) {
         BasicAttachment attachment = basicAttachmentService.getById(attachmentId);
         if (attachment == null) {
             return null;
@@ -367,49 +397,22 @@ public class CommonServiceImpl implements CommonService {
 
         Map<String, String> map = new HashMap<>();
 
-        String pathUrl, htmlPath = null, htmlUrl = null, pdfPath = null, pdfUrl = null;
+        String pathUrl;
         JSONObject jsonObject = JSONObject.parseObject(attachment.getPath());
         String attachmentType = (String) jsonObject.get(SystemConstant.TYPE);
         String filePath = (String) jsonObject.get(SystemConstant.PATH);
-        // 有htmlPath
-        if (jsonObject.containsKey(SystemConstant.HTML_PATH)) {
-            htmlPath = (String) jsonObject.get(SystemConstant.HTML_PATH);
-        }
-        // 有pdfPath
-        if (jsonObject.containsKey(SystemConstant.PDF_PATH)) {
-            pdfPath = (String) jsonObject.get(SystemConstant.PDF_PATH);
-        }
         if (Objects.equals(attachmentType, SystemConstant.LOCAL)) {
             pathUrl = SystemConstant.HTTP + dictionaryConfig.sysDomain().getFileHost() + File.separator + filePath;
-            if (StringUtils.isNotBlank(htmlPath)) {
-                htmlUrl = SystemConstant.HTTP + dictionaryConfig.sysDomain().getFileHost() + File.separator + htmlPath;
-            }
-            if (StringUtils.isNotBlank(pdfPath)) {
-                pdfUrl = SystemConstant.HTTP + dictionaryConfig.sysDomain().getFileHost() + File.separator + pdfPath;
-            }
         } else {
             if (isExpire) {
                 pathUrl = ossUtil.getPrivateUrl(filePath);
-                if (StringUtils.isNotBlank(htmlPath)) {
-                    htmlUrl = ossUtil.getPrivateUrl(htmlPath);
-                }
-                if (StringUtils.isNotBlank(pdfPath)) {
-                    pdfUrl = ossUtil.getPrivateUrl(pdfPath);
-                }
             } else {
                 pathUrl = dictionaryConfig.aliYunOssDomain().getUrl() + File.separator + filePath;
-                if (StringUtils.isNotBlank(htmlPath)) {
-                    htmlUrl = dictionaryConfig.aliYunOssDomain().getUrl() + File.separator + htmlPath;
-                }
-                if (StringUtils.isNotBlank(pdfPath)) {
-                    pdfUrl = dictionaryConfig.aliYunOssDomain().getUrl() + File.separator + pdfPath;
-                }
             }
 
         }
-        map.put("pathUrl", pathUrl);
-        map.put("htmlUrl", htmlUrl);
-        map.put("pdfUrl", pdfUrl);
+        map.put("url", pathUrl);
+        map.put("md5", attachment.getMd5());
         return map;
     }
 

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

@@ -304,8 +304,8 @@ public class ExamDetailServiceImpl extends ServiceImpl<ExamDetailMapper, ExamDet
 
         // 印刷计划必须为就绪才可提交印刷
         ExamPrintPlan examPrintPlan = examPrintPlanService.getById(detail.getPrintPlanId());
-        if (!PrintPlanStatusEnum.READY.equals(examPrintPlan.getStatus())) {
-            throw ExceptionResultEnum.ERROR.exception("印刷计划就绪状态才可提交印刷");
+        if (!PrintPlanStatusEnum.READY.equals(examPrintPlan.getStatus()) && !PrintPlanStatusEnum.PRINTING.equals(examPrintPlan.getStatus())) {
+            throw ExceptionResultEnum.ERROR.exception("印刷计划就绪、印刷中状态才可提交印刷");
         }
 
         // 只有就绪状态并且附件生成才可提交
@@ -639,7 +639,7 @@ public class ExamDetailServiceImpl extends ServiceImpl<ExamDetailMapper, ExamDet
     }
 
     @Override
-    public List<Map<String, String>> listStudentByExamDetailId(Long schoolId, Long examDetailId, String ticketNumber, String type) {
+    public List<Map> listStudentByExamDetailId(Long schoolId, Long examDetailId, String ticketNumber, String type) {
         return this.baseMapper.listStudentByExamDetailId(schoolId, examDetailId, ticketNumber, type);
     }
 

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

@@ -277,13 +277,17 @@ public class ExamPrintPlanServiceImpl extends ServiceImpl<ExamPrintPlanMapper, E
 
     @Override
     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) {
-        return this.baseMapper.listClientPrintTask(page, schoolId, machineCode, printPlanId, status, courseCode, paperNumber, examPlace, examRoom, examStartTime, examEndTime, isDownload, validate, orgIds);
+        // 以下状态考场状态不可查询
+        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);
     }
 
 
     @Override
     public List<ClientPrintTaskDto> listClientPrintTask(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) {
-        return this.baseMapper.listClientPrintTask(schoolId, machineCode, printPlanId, status, courseCode, paperNumber, examPlace, examRoom, examStartTime, examEndTime, isDownload, validate, orgIds);
+        // 以下状态考场状态不可查询
+        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, orgIds, examDetailStatus);
     }
 
 
@@ -318,9 +322,8 @@ public class ExamPrintPlanServiceImpl extends ServiceImpl<ExamPrintPlanMapper, E
             fMap.put("utl", null);
         } else if (attachment.getType().equals(".pdf")) {
             fMap.put("content", null);
-
-            Map<String, String> urlMap = commonService.filePreview(attachmentId, false);
-            fMap.put("url", urlMap.get("pathUrl"));
+            Map<String, String> stringMap = commonService.filePreviewByAttachmentId(Long.valueOf(attachmentId), false);
+            fMap.putAll(stringMap);
         } else {
             throw ExceptionResultEnum.ERROR.exception("不支持的类型");
         }

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

@@ -141,10 +141,10 @@ public class ExamTaskDetailServiceImpl extends ServiceImpl<ExamTaskDetailMapper,
     }
 
     @Override
-    public String getUrl(Long schoolId, Long examTaskId) {
+    public Map<String, String> getUrl(Long schoolId, Long examTaskId) {
         QueryWrapper<ExamTaskDetail> examTaskDetailQueryWrapper = new QueryWrapper<>();
         examTaskDetailQueryWrapper.lambda().eq(ExamTaskDetail::getExamTaskId, examTaskId);
-        ExamTaskDetail examTaskDetail = this.getById(examTaskDetailQueryWrapper);
+        ExamTaskDetail examTaskDetail = this.getOne(examTaskDetailQueryWrapper);
         if(examTaskDetail != null){
             String relatePaperType = examTaskDetail.getRelatePaperType();
             if(StringUtils.isNotBlank(relatePaperType)){
@@ -158,8 +158,7 @@ public class ExamTaskDetailServiceImpl extends ServiceImpl<ExamTaskDetailMapper,
                     }
                 }
                 if(StringUtils.isNotBlank(attachmentId)){
-                    BasicAttachment attachment = basicAttachmentService.getById(attachmentId);
-                    return attachment == null ? null : commonService.filePreview(attachment.getPath());
+                    return commonService.filePreviewByAttachmentId(Long.valueOf(attachmentId), false);
                 }
             }
         }

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

@@ -858,14 +858,16 @@ public class ExamTaskServiceImpl extends ServiceImpl<ExamTaskMapper, ExamTask> i
     public IPage<ClientExamTaskDto> listTryTask(Long schoolId, String machineCode, Long orgId, Long printPlanId, String courseCode, String paperNumber, Boolean isTry, Boolean isPass, Integer pageNumber, Integer pageSize) {
         Set<Long> orgIds = commonService.listSubOrgIds(orgId);
         Page<ClientExamTaskDto> page = new Page<>(pageNumber, pageSize);
-        IPage<ClientExamTaskDto> examTaskDtoIPage = this.baseMapper.listClientExamTaskPage(page, schoolId, machineCode, printPlanId, courseCode, paperNumber, isTry, isPass, orgIds);
+        // 印刷任务状态为印刷中(PRINTING),考场状态为待打印(WAITING)
+        IPage<ClientExamTaskDto> examTaskDtoIPage = this.baseMapper.listClientExamTaskPage(page, schoolId, machineCode, printPlanId, courseCode, paperNumber, isTry, isPass, orgIds, PrintPlanStatusEnum.PRINTING.name(), ExamDetailStatusEnum.WAITING.name());
         return examTaskDtoIPage;
     }
 
     @Override
     public List<ClientExamTaskDto> listTryTask(Long schoolId, String machineCode, Long orgId, Long printPlanId, String courseCode, String paperNumber, Boolean isTry, Boolean isPass) {
         Set<Long> orgIds = commonService.listSubOrgIds(orgId);
-        List<ClientExamTaskDto> examTaskDtoIPage = this.baseMapper.listClientExamTaskPage(schoolId, machineCode, printPlanId, courseCode, paperNumber, isTry, isPass, orgIds);
+        // 印刷任务状态为印刷中(PRINTING),考场状态为待打印(WAITING)
+        List<ClientExamTaskDto> examTaskDtoIPage = this.baseMapper.listClientExamTaskPage(schoolId, machineCode, printPlanId, courseCode, paperNumber, isTry, isPass, orgIds, PrintPlanStatusEnum.PRINTING.name(), ExamDetailStatusEnum.WAITING.name());
         return examTaskDtoIPage;
     }
 

+ 1 - 1
distributed-print-business/src/main/resources/mapper/ExamDetailCourseMapper.xml

@@ -22,7 +22,7 @@
             a.course_code courseCode,
             a.course_name courseName,
             a.paper_number paperNumber,
-            b.paper_attachment_ids paperAttachmentIds,
+            c.paper_attachment_ids paperAttachmentIds,
             d.attachment_id attachmentIds
         FROM
             exam_detail_course a

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

@@ -328,7 +328,7 @@
             and c.ticket_number = #{ticketNumber}
         </if>
         <if test="type == 'MORE'">
-            and c.ticket_number > 0+cast(#{ticketNumber} as char)
+            and c.ticket_number > #{ticketNumber}
         </if>
     </select>
     <select id="selectPaperCount" resultType="java.lang.Integer">

+ 21 - 9
distributed-print-business/src/main/resources/mapper/ExamPrintPlanMapper.xml

@@ -114,12 +114,14 @@
             IFNULL(b.pages_a4, 0) pagesA4,
             c.singlePagesA3,
             b.status,
-            b.validate,
-            c.isDownload,
+            ifnull(b.validate, false) validate,
+            case c.isDownload when 0 then true else false end isDownload,
             b.print_user printUser,
             e.real_name printUserName,
             b.print_start_time printStartTime,
-            b.print_end_time printEndTime
+            b.print_end_time printEndTime,
+            case c.isTry when 0 then true else false end isTry,
+            case c.isPass when 0 then true else false end isPass
         FROM
             exam_print_plan a
                 JOIN
@@ -131,18 +133,24 @@
                     GROUP_CONCAT(a.paper_number) paperNumber,
                     GROUP_CONCAT(IFNULL(a.paper_pages_a3, 0) + IFNULL(a.card_pages_a3, 0)) singlePagesA3,
                     SUM(CASE b.is_download
-                        WHEN FALSE THEN 1
-                        ELSE 0
-                    END) isDownload
+                        WHEN true THEN 0
+                        ELSE 1
+                    END) isDownload,
+                    SUM(CASE b.is_try
+                        WHEN true THEN 0
+                        ELSE 1
+                    END) isTry,
+                    SUM(CASE b.is_pass
+                        WHEN true THEN 0
+                        ELSE 1
+                    END) isPass
             FROM
                 exam_detail_course a
             LEFT JOIN client_status b ON a.school_id = b.school_id
                 AND a.course_code = b.course_code
                 AND a.paper_number = b.paper_number
+                AND b.machine_code = #{machineCode}
             <where>
-                <if test="machineCode != null and machineCode != ''">
-                    and b.machine_code = #{machineCode}
-                </if>
                 <if test="courseCode != null and courseCode != ''">
                     and a.course_code = #{courseCode}
                 </if>
@@ -157,6 +165,10 @@
             sys_user d ON a.create_id = d.id
         <where>
             and a.school_id = #{schoolId}
+            AND b.status not IN
+            <foreach collection="examDetailStatus" item="item" index="index" open="(" separator="," close=")">
+                #{item}
+            </foreach>
             <if test="printPlanId != null and printPlanId != ''">
                 and a.id = #{printPlanId}
             </if>

+ 7 - 5
distributed-print-business/src/main/resources/mapper/ExamTaskMapper.xml

@@ -442,8 +442,8 @@
             d.specialty,
             d.user_id userId,
             f.real_name userName,
-            e.is_try isTry,
-            e.is_pass isPass,
+            ifnull(e.is_try, false) isTry,
+            ifnull(e.is_pass, false) isPass,
             e.try_time tryTime
         FROM
             exam_print_plan a
@@ -457,14 +457,16 @@
                 AND d.paper_number = c.paper_number
                 LEFT JOIN
             client_status e ON e.school_id = d.school_id
-                AND e.exam_task_id = d.id
+                AND e.course_code = d.course_code
+                AND e.paper_number = d.paper_number
+                and e.machine_code = #{machineCode}
                 LEFT JOIN
             sys_user f ON d.user_id = f.id
                 LEFT JOIN
             sys_user g ON a.create_id = g.id
         <where>
-            and a.status = 'READY'
-            and e.machine_code = #{machineCode}
+            and a.status = #{printPlanStatus}
+            and b.status = #{examDetailStatus}
             <if test="printPlanId != null and printPlanId != ''">
                 and a.id = #{printPlanId}
             </if>

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

@@ -133,8 +133,8 @@ public class ClientController {
     @RequestMapping(value = "/paper_try/print", method = RequestMethod.POST)
     public Result paperTryPrint(@RequestParam("schoolId") Long schoolId,
                                 @RequestParam("examTaskId") Long examTaskId) {
-        String url = clientService.getUrl(schoolId, examTaskId);
-        return ResultUtil.ok(url, "");
+        Map<String, String>  map = clientService.getUrl(schoolId, examTaskId);
+        return ResultUtil.ok(map);
     }
 
     /**
@@ -315,8 +315,8 @@ public class ClientController {
     @RequestMapping(value = "/print/preview", method = RequestMethod.POST)
     public Result printPreview(@RequestParam("schoolId") Long schoolId,
                                @RequestParam("examDetailId") Long examDetailId) {
-        String url = clientService.getUrlByExamDetailId(schoolId, examDetailId);
-        return ResultUtil.ok(url, "");
+        Map<String, String> map = clientService.getUrlByExamDetailId(schoolId, examDetailId);
+        return ResultUtil.ok(map);
     }
 
     /**