Quellcode durchsuchen

Merge remote-tracking branch 'origin/dev' into dev

wangliang vor 4 Jahren
Ursprung
Commit
ffdf1bb1ba
33 geänderte Dateien mit 623 neuen und 282 gelöschten Zeilen
  1. 161 0
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/bean/dto/PrintTaskDto.java
  2. 62 0
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/bean/dto/PrintTaskTotalDto.java
  3. 6 8
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/bean/params/PrintPlanParams.java
  4. 37 0
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/bean/params/RelatePaperParam.java
  5. 6 0
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/bean/result/ExaminationDetailResult.java
  6. 6 0
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/bean/result/ExaminationResult.java
  7. 17 1
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/bean/result/PrintPlanBrief.java
  8. 4 0
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/bean/result/PrintPlanResult.java
  9. 4 0
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/bean/result/SummarizedDataResult.java
  10. 6 0
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/bean/result/TemplatePrintInfoResult.java
  11. 0 1
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/mapper/BasicTemplateOrgMapper.java
  12. 7 4
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/mapper/ExamDetailMapper.java
  13. 1 1
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/mapper/ExamPrintPlanMapper.java
  14. 0 2
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/BasicAttachmentService.java
  15. 7 0
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/CommonService.java
  16. 12 14
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/ExamDetailService.java
  17. 15 12
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/ExamPrintPlanService.java
  18. 2 3
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/ExamTaskDetailService.java
  19. 0 76
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/BasicAttachmentServiceImpl.java
  20. 3 4
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/BasicCardRuleServiceImpl.java
  21. 1 35
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/BasicTemplateServiceImpl.java
  22. 35 1
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/CommonServiceImpl.java
  23. 21 18
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/ExamDetailServiceImpl.java
  24. 9 8
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/ExamPrintPlanServiceImpl.java
  25. 4 5
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/ExamTaskDetailServiceImpl.java
  26. 7 1
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/ExamTaskServiceImpl.java
  27. 1 1
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/SysUserServiceImpl.java
  28. 93 6
      distributed-print-business/src/main/resources/mapper/ExamDetailMapper.xml
  29. 2 2
      distributed-print-business/src/main/resources/mapper/ExamPrintPlanMapper.xml
  30. 1 1
      distributed-print-business/src/main/resources/mapper/SysRoleMapper.xml
  31. 23 15
      distributed-print/src/main/java/com/qmth/distributed/print/api/ExamDetailController.java
  32. 46 39
      distributed-print/src/main/java/com/qmth/distributed/print/api/ExamPrintPlanController.java
  33. 24 24
      distributed-print/src/main/java/com/qmth/distributed/print/api/SysController.java

+ 161 - 0
distributed-print-business/src/main/java/com/qmth/distributed/print/business/bean/dto/PrintTaskDto.java

@@ -0,0 +1,161 @@
+package com.qmth.distributed.print.business.bean.dto;
+
+/**
+ * @Date: 2021/3/29.
+ */
+public class PrintTaskDto {
+
+    private String printPlanId;
+    private String printPlanName;
+    private String examDate;
+    private String examTime;
+    private String courseNameCode;
+    private String paperNumber;
+    private String examPlace;
+    private String examRoom;
+    private String pageA3;
+    private String pageA4;
+    private Integer totalSubjects;
+    private Integer totalPages;
+    private String status;
+    private Boolean validate;
+    private Long printStartTime;
+    private Long printEndTime;
+    private String packageCode;
+
+    public String getPrintPlanId() {
+        return printPlanId;
+    }
+
+    public void setPrintPlanId(String printPlanId) {
+        this.printPlanId = printPlanId;
+    }
+
+    public String getPrintPlanName() {
+        return printPlanName;
+    }
+
+    public void setPrintPlanName(String printPlanName) {
+        this.printPlanName = printPlanName;
+    }
+
+    public String getExamDate() {
+        return examDate;
+    }
+
+    public void setExamDate(String examDate) {
+        this.examDate = examDate;
+    }
+
+    public String getExamTime() {
+        return examTime;
+    }
+
+    public void setExamTime(String examTime) {
+        this.examTime = examTime;
+    }
+
+    public String getCourseNameCode() {
+        return courseNameCode;
+    }
+
+    public void setCourseNameCode(String courseNameCode) {
+        this.courseNameCode = courseNameCode;
+    }
+
+    public String getPaperNumber() {
+        return paperNumber;
+    }
+
+    public void setPaperNumber(String paperNumber) {
+        this.paperNumber = paperNumber;
+    }
+
+    public String getExamPlace() {
+        return examPlace;
+    }
+
+    public void setExamPlace(String examPlace) {
+        this.examPlace = examPlace;
+    }
+
+    public String getExamRoom() {
+        return examRoom;
+    }
+
+    public void setExamRoom(String examRoom) {
+        this.examRoom = examRoom;
+    }
+
+    public String getPageA3() {
+        return pageA3;
+    }
+
+    public void setPageA3(String pageA3) {
+        this.pageA3 = pageA3;
+    }
+
+    public String getPageA4() {
+        return pageA4;
+    }
+
+    public void setPageA4(String pageA4) {
+        this.pageA4 = pageA4;
+    }
+
+    public Integer getTotalSubjects() {
+        return totalSubjects;
+    }
+
+    public void setTotalSubjects(Integer totalSubjects) {
+        this.totalSubjects = totalSubjects;
+    }
+
+    public Integer getTotalPages() {
+        return totalPages;
+    }
+
+    public void setTotalPages(Integer totalPages) {
+        this.totalPages = totalPages;
+    }
+
+    public String getStatus() {
+        return status;
+    }
+
+    public void setStatus(String status) {
+        this.status = status;
+    }
+
+    public Boolean getValidate() {
+        return validate;
+    }
+
+    public void setValidate(Boolean validate) {
+        this.validate = validate;
+    }
+
+    public Long getPrintStartTime() {
+        return printStartTime;
+    }
+
+    public void setPrintStartTime(Long printStartTime) {
+        this.printStartTime = printStartTime;
+    }
+
+    public Long getPrintEndTime() {
+        return printEndTime;
+    }
+
+    public void setPrintEndTime(Long printEndTime) {
+        this.printEndTime = printEndTime;
+    }
+
+    public String getPackageCode() {
+        return packageCode;
+    }
+
+    public void setPackageCode(String packageCode) {
+        this.packageCode = packageCode;
+    }
+}

+ 62 - 0
distributed-print-business/src/main/java/com/qmth/distributed/print/business/bean/dto/PrintTaskTotalDto.java

@@ -0,0 +1,62 @@
+package com.qmth.distributed.print.business.bean.dto;
+
+/**
+ * @Date: 2021/3/29.
+ */
+public class PrintTaskTotalDto {
+
+    private String totalSubjects;
+    private String packageCount;
+    private String pageA3;
+    private String pageA4;
+    private String pageA3Left;
+    private String pageA4Left;
+
+    public String getTotalSubjects() {
+        return totalSubjects;
+    }
+
+    public void setTotalSubjects(String totalSubjects) {
+        this.totalSubjects = totalSubjects;
+    }
+
+    public String getPackageCount() {
+        return packageCount;
+    }
+
+    public void setPackageCount(String packageCount) {
+        this.packageCount = packageCount;
+    }
+
+    public String getPageA3() {
+        return pageA3;
+    }
+
+    public void setPageA3(String pageA3) {
+        this.pageA3 = pageA3;
+    }
+
+    public String getPageA4() {
+        return pageA4;
+    }
+
+    public void setPageA4(String pageA4) {
+        this.pageA4 = pageA4;
+    }
+
+    public String getPageA3Left() {
+        return pageA3Left;
+    }
+
+    public void setPageA3Left(String pageA3Left) {
+        this.pageA3Left = pageA3Left;
+    }
+
+    public String getPageA4Left() {
+        return pageA4Left;
+    }
+
+    public void setPageA4Left(String pageA4Left) {
+        this.pageA4Left = pageA4Left;
+    }
+}

+ 6 - 8
distributed-print-business/src/main/java/com/qmth/distributed/print/business/bean/params/PrintPlanParams.java

@@ -23,9 +23,7 @@ public class PrintPlanParams {
     private Long id;
 
     @JsonSerialize(using = ToStringSerializer.class)
-    @ApiModelProperty(value = "学校id",required = true)
-    @NotNull(message = "请输入学校id")
-    @Range(min = 1L,message = "请输入学校id")
+    @ApiModelProperty(value = "学校id")
     private Long schoolId;
 
     @ApiModelProperty(value = "印刷计划名称",required = true)
@@ -47,7 +45,7 @@ public class PrintPlanParams {
 
     @ApiModelProperty(value = "*打印内容:{“PAPER”, \"CARD\"}",required = true)
     @NotNull(message = "请输入打印内容")
-    private List<String> printContentList;
+    private List<String> printContent;
 
     @ApiModelProperty(value = "备份方式:PLACE-按考点,ROOM-按考场",required = true)
     @NotNull(message = "请输入备份方式")
@@ -110,12 +108,12 @@ public class PrintPlanParams {
         this.examEndTime = examEndTime;
     }
 
-    public List<String> getPrintContentList() {
-        return printContentList;
+    public List<String> getPrintContent() {
+        return printContent;
     }
 
-    public void setPrintContentList(List<String> printContentList) {
-        this.printContentList = printContentList;
+    public void setPrintContent(List<String> printContent) {
+        this.printContent = printContent;
     }
 
     public BackupMethodEnum getBackupMethod() {

+ 37 - 0
distributed-print-business/src/main/java/com/qmth/distributed/print/business/bean/params/RelatePaperParam.java

@@ -0,0 +1,37 @@
+package com.qmth.distributed.print.business.bean.params;
+
+import com.qmth.distributed.print.business.base.BasePage;
+
+/**
+ * @Date: 2021/3/23.
+ */
+public class RelatePaperParam extends BasePage {
+
+    private Long examTaskId;
+    private String paperNumber;
+    private String relatePaperType;
+
+    public Long getExamTaskId() {
+        return examTaskId;
+    }
+
+    public void setExamTaskId(Long examTaskId) {
+        this.examTaskId = examTaskId;
+    }
+
+    public String getPaperNumber() {
+        return paperNumber;
+    }
+
+    public void setPaperNumber(String paperNumber) {
+        this.paperNumber = paperNumber;
+    }
+
+    public String getRelatePaperType() {
+        return relatePaperType;
+    }
+
+    public void setRelatePaperType(String relatePaperType) {
+        this.relatePaperType = relatePaperType;
+    }
+}

+ 6 - 0
distributed-print-business/src/main/java/com/qmth/distributed/print/business/bean/result/ExaminationDetailResult.java

@@ -1,5 +1,7 @@
 package com.qmth.distributed.print.business.bean.result;
 
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
 import io.swagger.annotations.ApiModelProperty;
 
 /**
@@ -8,9 +10,12 @@ import io.swagger.annotations.ApiModelProperty;
  * @Date: 2021-04-08
  */
 public class ExaminationDetailResult {
+
+    @JsonSerialize(using = ToStringSerializer.class)
     @ApiModelProperty(value = "考务数据-学生明细主键")
     private Long id;
 
+    @JsonSerialize(using = ToStringSerializer.class)
     @ApiModelProperty(value = "印刷计划主键")
     private Long printPlanId;
 
@@ -41,6 +46,7 @@ public class ExaminationDetailResult {
     @ApiModelProperty(value = "座位号")
     private String siteNumber;
 
+    @JsonSerialize(using = ToStringSerializer.class)
     @ApiModelProperty(value = "创建人主键")
     private Long createId;
 

+ 6 - 0
distributed-print-business/src/main/java/com/qmth/distributed/print/business/bean/result/ExaminationResult.java

@@ -1,5 +1,7 @@
 package com.qmth.distributed.print.business.bean.result;
 
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
 import io.swagger.annotations.ApiModelProperty;
 
 /**
@@ -8,9 +10,12 @@ import io.swagger.annotations.ApiModelProperty;
  * @Date: 2021-04-07
  */
 public class ExaminationResult {
+
+    @JsonSerialize(using = ToStringSerializer.class)
     @ApiModelProperty(value = "examDetailId")
     private Long id;
 
+    @JsonSerialize(using = ToStringSerializer.class)
     @ApiModelProperty(value = "学校id")
     private Long schoolId;
 
@@ -44,6 +49,7 @@ public class ExaminationResult {
     @ApiModelProperty(value = "科次")
     private int totalSubjects;
 
+    @JsonSerialize(using = ToStringSerializer.class)
     @ApiModelProperty(value = "创建人id")
     private Long createId;
 

+ 17 - 1
distributed-print-business/src/main/java/com/qmth/distributed/print/business/bean/result/PrintPlanBrief.java

@@ -1,5 +1,8 @@
 package com.qmth.distributed.print.business.bean.result;
 
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
+import com.qmth.distributed.print.business.enums.PrintPlanStatusEnum;
 import io.swagger.annotations.ApiModelProperty;
 
 /**
@@ -9,15 +12,20 @@ import io.swagger.annotations.ApiModelProperty;
  */
 public class PrintPlanBrief {
 
+    @JsonSerialize(using = ToStringSerializer.class)
     @ApiModelProperty(value = "印刷计划id")
     private Long id;
 
     @ApiModelProperty(value = "印刷计划名称")
     private String name;
 
-    public PrintPlanBrief(Long id, String name) {
+    @ApiModelProperty(value = "印刷计划状态")
+    private PrintPlanStatusEnum status;
+
+    public PrintPlanBrief(Long id, String name, PrintPlanStatusEnum status) {
         this.id = id;
         this.name = name;
+        this.status = status;
     }
 
     public PrintPlanBrief() {
@@ -38,4 +46,12 @@ public class PrintPlanBrief {
     public void setName(String name) {
         this.name = name;
     }
+
+    public PrintPlanStatusEnum getStatus() {
+        return status;
+    }
+
+    public void setStatus(PrintPlanStatusEnum status) {
+        this.status = status;
+    }
 }

+ 4 - 0
distributed-print-business/src/main/java/com/qmth/distributed/print/business/bean/result/PrintPlanResult.java

@@ -1,6 +1,8 @@
 package com.qmth.distributed.print.business.bean.result;
 
 import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
 import com.qmth.distributed.print.business.enums.BackupMethodEnum;
 import com.qmth.distributed.print.business.enums.DrawRuleEnum;
 import com.qmth.distributed.print.business.enums.PrintPlanStatusEnum;
@@ -16,6 +18,7 @@ import java.util.Map;
  */
 public class PrintPlanResult {
 
+    @JsonSerialize(using = ToStringSerializer.class)
     @ApiModelProperty(value = "印刷计划id")
     private Long id;
 
@@ -66,6 +69,7 @@ public class PrintPlanResult {
     @ApiModelProperty(value = "普通印品JSON临时接收属性")
     private String ordinaryContentTemp;
 
+    @JsonSerialize(using = ToStringSerializer.class)
     @ApiModelProperty(value = "创建人id")
     private Long createId;
 

+ 4 - 0
distributed-print-business/src/main/java/com/qmth/distributed/print/business/bean/result/SummarizedDataResult.java

@@ -1,5 +1,7 @@
 package com.qmth.distributed.print.business.bean.result;
 
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
 import io.swagger.annotations.ApiModelProperty;
 
 /**
@@ -8,6 +10,8 @@ import io.swagger.annotations.ApiModelProperty;
  * @Date: 2021-04-08
  */
 public class SummarizedDataResult {
+
+    @JsonSerialize(using = ToStringSerializer.class)
     @ApiModelProperty(value = "学校id")
     private Long schoolId;
 

+ 6 - 0
distributed-print-business/src/main/java/com/qmth/distributed/print/business/bean/result/TemplatePrintInfoResult.java

@@ -1,5 +1,7 @@
 package com.qmth.distributed.print.business.bean.result;
 
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
 import com.qmth.distributed.print.business.enums.ClassifyEnum;
 import com.qmth.distributed.print.business.enums.TemplateTypeEnum;
 import io.swagger.annotations.ApiModelProperty;
@@ -10,18 +12,22 @@ import io.swagger.annotations.ApiModelProperty;
  * @Date: 2021-04-05
  */
 public class TemplatePrintInfoResult {
+    @JsonSerialize(using = ToStringSerializer.class)
     @ApiModelProperty(value = "关联表id")
     private Long templateOrgId;
 
     @ApiModelProperty(value = "关联表印品类型")
     private TemplateTypeEnum templateOrgType;
 
+    @JsonSerialize(using = ToStringSerializer.class)
     @ApiModelProperty(value = "机构id")
     private Long orgId;
 
+    @JsonSerialize(using = ToStringSerializer.class)
     @ApiModelProperty(value = "模板id")
     private Long templateId;
 
+    @JsonSerialize(using = ToStringSerializer.class)
     @ApiModelProperty(value = "学校id")
     private Long schoolId;
 

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

@@ -7,7 +7,6 @@ import com.qmth.distributed.print.business.entity.SysOrg;
 import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
-import java.util.Map;
 
 /**
  * <p>

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

@@ -3,7 +3,7 @@ package com.qmth.distributed.print.business.mapper;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.qmth.distributed.print.business.bean.dto.ExamTaskDetailDto;
+import com.qmth.distributed.print.business.bean.dto.PrintTaskDto;
 import com.qmth.distributed.print.business.bean.result.ExaminationDetailResult;
 import com.qmth.distributed.print.business.bean.result.ExaminationResult;
 import com.qmth.distributed.print.business.entity.ExamDetail;
@@ -19,11 +19,11 @@ import org.apache.ibatis.annotations.Param;
  */
 public interface ExamDetailMapper extends BaseMapper<ExamDetail> {
 
-    IPage<ExamTaskDetailDto> listPrintTask(Page<ExamTaskDetailDto> page, @Param("schoolId") Long schoolId, @Param("printPlanName") String printPlanName, @Param("status") String status, @Param("courseCode") String courseCode, @Param("paperNumber") String paperNumber, @Param("examPlace") String examPlace, @Param("examStartTime") Long examStartTime, @Param("examEndTime") Long examEndTime);
+    IPage<PrintTaskDto> listPrintTask(Page<PrintTaskDto> page, @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);
 
     IPage<ExaminationResult> findBriefPage(@Param("page") Page<ExaminationResult> page,
                                            @Param("schoolId") Long schoolId,
-                                           @Param("printPlanName") String printPlanName,
+                                           @Param("printPlanId") Long printPlanId,
                                            @Param("courseCode") String courseCode,
                                            @Param("paperNumber") String paperNumber,
                                            @Param("examPlace") String examPlace,
@@ -32,9 +32,12 @@ public interface ExamDetailMapper extends BaseMapper<ExamDetail> {
 
     IPage<ExaminationDetailResult> findDetailPage(@Param("page") Page<ExaminationDetailResult> page,
                                                   @Param("printPlanId") Long printPlanId,
-                                                  @Param("courseCode")  String courseCode,
+                                                  @Param("courseCode") String courseCode,
                                                   @Param("paperNumber") String paperNumber,
                                                   @Param("examPlace") String examPlace,
                                                   @Param("examRoom") String examRoom,
                                                   @Param("studentParam") String studentParam);
+
+    IPage<ExaminationDetailResult> findDetailPageById(@Param("page") Page<ExaminationDetailResult> page,
+                                                  @Param("examDetailId") Long examDetailId);
 }

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

@@ -19,7 +19,7 @@ import org.apache.ibatis.annotations.Param;
 public interface ExamPrintPlanMapper extends BaseMapper<ExamPrintPlan> {
     IPage<PrintPlanResult> findPrintPlanPage(@Param("iPage") Page<PrintPlanResult> iPage,
                                              @Param("schoolId") Long schoolId,
-                                             @Param("name") String name,
+                                             @Param("printPlanId") Long printPlanId,
                                              @Param("status") PrintPlanStatusEnum status,
                                              @Param("startTime") Long startTime,
                                              @Param("endTime") Long endTime);

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

@@ -18,8 +18,6 @@ import java.util.List;
  */
 public interface BasicAttachmentService extends IService<BasicAttachment> {
 
-    BasicAttachment save(MultipartFile file, String md5, Long userId);
-
     /**
      * 保存附件
      *

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

@@ -90,4 +90,11 @@ public interface CommonService {
      * @return
      */
     public String filePreview(String path);
+
+    /**
+     * 题卡html文件上传,读取文件内容
+     * @param path
+     * @return
+     */
+    public String readFileContent(String path);
 }

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

@@ -2,17 +2,16 @@ package com.qmth.distributed.print.business.service;
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.IService;
-import com.qmth.distributed.print.business.bean.dto.ExamTaskDetailDto;
 import com.qmth.distributed.print.business.bean.dto.FieldsDto;
+import com.qmth.distributed.print.business.bean.dto.PrintTaskDto;
+import com.qmth.distributed.print.business.bean.dto.PrintTaskTotalDto;
 import com.qmth.distributed.print.business.bean.result.ExaminationDetailResult;
 import com.qmth.distributed.print.business.bean.result.ExaminationResult;
 import com.qmth.distributed.print.business.bean.result.SummarizedDataResult;
 import com.qmth.distributed.print.business.entity.ExamDetail;
-import com.qmth.distributed.print.business.entity.ExamPrintPlan;
 
 import javax.servlet.http.HttpServletResponse;
 import java.io.IOException;
-import java.io.UnsupportedEncodingException;
 import java.util.List;
 import java.util.Map;
 
@@ -39,9 +38,9 @@ public interface ExamDetailService extends IService<ExamDetail> {
      */
     double calculateTotalPackages(Long printPlanId);
 
-    IPage<ExamTaskDetailDto> listPrintTask(String printPlanName, String status, String courseCode, String paperNumber, String examPlace, Long examStartTime, Long examEndTime, Integer pageNumber, Integer pageSize);
+    IPage<PrintTaskDto> listPrintTask(Long printPlanId, String status, String courseCode, String paperNumber, String examPlace, String examRoom, Long examStartTime, Long examEndTime, Integer pageNumber, Integer pageSize);
 
-    Map<String, Object> taskTotalData(String printPlanName, String status, String courseCode, String paperNumber, String examPlace, Long examStartTime, Long examEndTime);
+    PrintTaskTotalDto taskTotalData(Long printPlanId, String status, String courseCode, String paperNumber, String examPlace, String examRoom, Long examStartTime, Long examEndTime);
 
     String taskViewPDF(Long id);
 
@@ -63,7 +62,7 @@ public interface ExamDetailService extends IService<ExamDetail> {
     /**
      * 查询考务数据-简略
      * @param schoolId 学校id
-     * @param printPlanName 印刷计划名称
+     * @param printPlanId 印刷计划id
      * @param courseCode 课程代码
      * @param paperNumber 试卷编号
      * @param examPlace 考点
@@ -73,13 +72,13 @@ public interface ExamDetailService extends IService<ExamDetail> {
      * @param pageSize 分页数量
      * @return 查询结果
      */
-    IPage<ExaminationResult> findExaminationBriefPage(Long schoolId,String printPlanName,String courseCode,String paperNumber,
+    IPage<ExaminationResult> findExaminationBriefPage(Long schoolId,Long printPlanId,String courseCode,String paperNumber,
                                                       String examPlace,String examRoom,String packageCode,int pageNumber,int pageSize);
 
     /**
      * 查询考务数据-汇总数据查询
      * @param schoolId 学校id
-     * @param printPlanName 印刷计划名称
+     * @param printPlanId 印刷计划id
      * @param courseCode 课程代码
      * @param paperNumber 试卷编号
      * @param examPlace 考点
@@ -87,7 +86,7 @@ public interface ExamDetailService extends IService<ExamDetail> {
      * @param packageCode 卷袋编号
      * @return 查询结果
      */
-    SummarizedDataResult findSummarizedData(Long schoolId,String printPlanName,String courseCode,String paperNumber,
+    SummarizedDataResult findSummarizedData(Long schoolId,Long printPlanId,String courseCode,String paperNumber,
                                             String examPlace,String examRoom,String packageCode);
 
 
@@ -106,18 +105,17 @@ public interface ExamDetailService extends IService<ExamDetail> {
     IPage<ExaminationDetailResult> findExaminationDetail(Long printPlanId,String courseCode,String paperNumber,String examPlace,
                                                          String examRoom,String studentParam,int pageNumber,int pageSize);
 
+    IPage<ExaminationDetailResult> findExaminationDetail(Long convertIdToLong, int pageNumber, int pageSize);
+
     /**
      * 查询印刷计划下考点数据源
-     * @param printPlaneId 印刷计划id
      * @return 考点集合
      */
-    List<String> findExamPlaceDatasource(Long printPlaneId);
+    List<String> findExamPlaceDatasource();
 
     /**
      * 查询印刷计划下考场数据源
-     * @param printPlaneId 印刷计划id
      * @return 考场集合
      */
-    List<String> findExamRoomDatasource(Long printPlaneId);
-
+    List<String> findExamRoomDatasource();
 }

+ 15 - 12
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/ExamPrintPlanService.java

@@ -25,36 +25,38 @@ import java.util.Map;
 public interface ExamPrintPlanService extends IService<ExamPrintPlan> {
     /**
      * 印刷计划分页查询
-     * @param schoolId 学校id
-     * @param name 印刷计划名称
-     * @param status 印刷计划状态
-     * @param startTime 印刷计划创建时间开始
-     * @param endTime 印刷计划创建时间结束
+     *
+     * @param schoolId   学校id
+     * @param printPlanId  印刷计划名称
+     * @param status     印刷计划状态
+     * @param startTime  印刷计划创建时间开始
+     * @param endTime    印刷计划创建时间结束
      * @param pageNumber 分页页数
-     * @param pageSize 分页容量
+     * @param pageSize   分页容量
      * @return 分页查询结果
      */
-    IPage<PrintPlanResult> printPlanPage(Long schoolId, String name, PrintPlanStatusEnum status, Long startTime, Long endTime, int pageNumber, int pageSize);
+    IPage<PrintPlanResult> printPlanPage(Long schoolId, Long printPlanId, PrintPlanStatusEnum status, Long startTime, Long endTime, int pageNumber, int pageSize);
 
     /**
      * 印刷计划模糊名称
-     * @param param 印刷计划名称
+     *
      * @return 印刷计划id和名称
      */
-    List<PrintPlanBrief> printPlanBriefQuery(String param);
-
+    List<PrintPlanBrief> printPlanBriefQuery();
 
 
     /**
      * 查询登录用户所属机构下变量印品和普通印品模板数据源
+     *
      * @param schoolId 学校id
-     * @param userId 登录用户id
+     * @param userId   登录用户id
      * @return 模板数据源
      */
-    Map<String,Object> printPlanTemplateDatasource(Long schoolId,Long userId);
+    Map<String, Object> printPlanTemplateDatasource(Long schoolId, Long userId);
 
     /**
      * 保存印刷计划
+     *
      * @param printPlanParams 印刷计划参数
      * @return 是否成功
      */
@@ -62,6 +64,7 @@ public interface ExamPrintPlanService extends IService<ExamPrintPlan> {
 
     /**
      * 删除印刷计划
+     *
      * @param deleteParams 删除参数
      * @return 是否成功
      */

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

@@ -3,11 +3,10 @@ package com.qmth.distributed.print.business.service;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.qmth.distributed.print.business.bean.dto.ExamTaskDetailDto;
-import com.qmth.distributed.print.business.bean.params.ExamCardParams;
+import com.qmth.distributed.print.business.bean.params.RelatePaperParam;
 import com.qmth.distributed.print.business.entity.ExamTaskDetail;
 
 import java.util.List;
-import java.util.Map;
 
 /**
  * <p>
@@ -21,7 +20,7 @@ public interface ExamTaskDetailService extends IService<ExamTaskDetail> {
 
     boolean enable(ExamTaskDetail examTaskDetail);
 
-    boolean updatePaper(Map<String, String> map);
+    boolean updatePaper(RelatePaperParam paperParam);
 
     IPage<ExamTaskDetailDto> list(String relateType, Long printPlanId, String courseCode, String paperNumber, Integer pageNumber, Integer pageSize);
 

+ 0 - 76
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/BasicAttachmentServiceImpl.java

@@ -57,82 +57,6 @@ public class BasicAttachmentServiceImpl extends ServiceImpl<BasicAttachmentMappe
     @Autowired
     private DictionaryConfig dictionaryConfig;
 
-    @Override
-    public BasicAttachment save(MultipartFile file, String md5, Long userId) {
-        Long schoolId = Long.valueOf(ServletUtil.getRequestHeaderSchoolId().toString());
-        try {
-            if (file == null) {
-                throw ExceptionResultEnum.ERROR.exception("文件为空");
-            }
-            if (StringUtils.isBlank(md5)) {
-                throw ExceptionResultEnum.ERROR.exception("md5为空");
-            }
-            // 文件名
-            String fileName = file.getOriginalFilename();
-            int lastIndex = fileName.lastIndexOf(".");
-            // 文件类型
-            String type = fileName.substring(lastIndex);
-            List<String> attachmentType = dictionaryConfig.sysDomain().getAttachmentType();
-            if (attachmentType != null && attachmentType.size() > 0) {
-                if (!attachmentType.contains(type)) {
-                    throw ExceptionResultEnum.ERROR.exception("文件格式不支持");
-                }
-            }
-
-            // 文件大小
-            long size = file.getSize();
-            if (size > 200 * 1024 * 1024) {
-                throw ExceptionResultEnum.ERROR.exception("文件大小不能超过200M");
-            }
-
-            // md5
-            String fileMd5 = DigestUtils.md5Hex(file.getBytes());
-            if (!md5.equals(fileMd5)) {
-                throw ExceptionResultEnum.ERROR.exception("md5不一致,文件可能损坏");
-            }
-
-            // 保存
-            BasicAttachment attachment = new BasicAttachment();
-
-            // 保存文件
-            boolean isOss = dictionaryConfig.sysDomain().isOss();
-            // 文件保存路径
-            LocalDateTime localDateTime = LocalDateTime.now();
-            String serverUpload = dictionaryConfig.sysDomain().getServerUpload();
-            StringJoiner sj = new StringJoiner(File.separator)
-                    .add(serverUpload)
-                    .add(String.valueOf(schoolId))
-                    .add(String.valueOf(localDateTime.getYear()))
-                    .add(String.valueOf(localDateTime.getMonthValue()))
-                    .add(String.valueOf(localDateTime.getDayOfMonth()));
-            if (isOss) {
-                // todo
-            } else {
-                File destFolder = new File(sj.toString());
-                if (!destFolder.exists()) {
-                    destFolder.mkdirs();
-                }
-                File newFile = new File(sj.toString(), UUID.fastUUID() + type);
-                FileUtils.copyInputStreamToFile(file.getInputStream(), newFile);
-                attachment.setPath(newFile.getPath());
-            }
-
-            attachment.setName(file.getOriginalFilename());
-            attachment.setType(type);
-            attachment.setSize(BigDecimal.valueOf(size));
-            attachment.setMd5(md5);
-            attachment.setCreateId(userId);
-            attachment.setCreateTime(System.currentTimeMillis());
-
-            this.save(attachment);
-            return attachment;
-        } catch (IOException e) {
-            e.printStackTrace();
-        } finally {
-        }
-        return null;
-    }
-
     /**
      * 保存附件
      *

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

@@ -13,6 +13,7 @@ import com.qmth.distributed.print.business.enums.TemplateTypeEnum;
 import com.qmth.distributed.print.business.mapper.BasicCardRuleMapper;
 import com.qmth.distributed.print.business.service.BasicCardRuleService;
 import com.qmth.distributed.print.business.service.BasicTemplateOrgService;
+import com.qmth.distributed.print.business.service.ExamTaskService;
 import com.qmth.distributed.print.business.util.ServletUtil;
 import com.qmth.distributed.print.common.contant.SystemConstant;
 import com.qmth.distributed.print.common.enums.ExceptionResultEnum;
@@ -38,7 +39,6 @@ public class BasicCardRuleServiceImpl extends ServiceImpl<BasicCardRuleMapper, B
     @Autowired
     private BasicTemplateOrgService basicTemplateOrgService;
 
-
     @Override
     public IPage<CardRuleDto> list(Boolean enable, String name, Long createTime, Integer pageNumber, Integer pageSize) {
         Long schoolId = Long.valueOf(ServletUtil.getRequestHeaderSchoolId().toString());
@@ -58,8 +58,8 @@ public class BasicCardRuleServiceImpl extends ServiceImpl<BasicCardRuleMapper, B
     public List<BasicCardRule> list(String param) {
         Long schoolId = Long.valueOf(ServletUtil.getRequestHeaderSchoolId().toString());
         QueryWrapper<BasicCardRule> queryWrapper = new QueryWrapper<>();
-        queryWrapper.lambda().eq(BasicCardRule::getSchoolId, schoolId);
-        if(StringUtils.isNotBlank(param)){
+        queryWrapper.lambda().eq(BasicCardRule::getSchoolId, schoolId).eq(BasicCardRule::getEnable, true);
+        if (StringUtils.isNotBlank(param)) {
             queryWrapper.lambda().like(BasicCardRule::getName, param);
         }
         return this.list(queryWrapper);
@@ -67,7 +67,6 @@ public class BasicCardRuleServiceImpl extends ServiceImpl<BasicCardRuleMapper, B
 
     @Override
     public boolean enable(BasicCardRule cardRule) {
-        // todo 校验规则是否有使用
         UpdateWrapper<BasicCardRule> updateWrapper = new UpdateWrapper<>();
         updateWrapper.lambda().set(BasicCardRule::getEnable, cardRule.getEnable()).eq(BasicCardRule::getId, cardRule.getId());
         return this.update(updateWrapper);

+ 1 - 35
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/BasicTemplateServiceImpl.java

@@ -1,6 +1,5 @@
 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;
@@ -22,7 +21,6 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
-import java.io.*;
 import java.util.List;
 import java.util.Objects;
 
@@ -49,10 +47,6 @@ public class BasicTemplateServiceImpl extends ServiceImpl<BasicTemplateMapper, B
     @Autowired
     private ExamCardService examCardService;
 
-    @Autowired
-    private OssUtil ossUtil;
-
-
     @Override
     public IPage<TemplateDto> list(Boolean enable, String type, String name, Long startTime, Long endTime, Integer pageNumber, Integer pageSize) {
         Page<TemplateDto> page = new Page<>(pageNumber, pageSize);
@@ -124,7 +118,7 @@ public class BasicTemplateServiceImpl extends ServiceImpl<BasicTemplateMapper, B
         examCardParams.setType(CardTypeEnum.GENERIC); // 默认GENERIC
         examCardParams.setTemplateId(template.getId());
         examCardParams.setStatus(CardStatusEnum.SUBMIT); // 默认SUBMIT
-        examCardParams.setHtmlContent(readFileByAttachmentId(attachment.getPath()));
+        examCardParams.setHtmlContent(commonService.readFileContent(attachment.getPath()));
         examCardService.saveExamCard(examCardParams);
         return isSuccess;
     }
@@ -155,32 +149,4 @@ public class BasicTemplateServiceImpl extends ServiceImpl<BasicTemplateMapper, B
         return basicTemplate;
     }
 
-    /**
-     * 读取附件内容
-     *
-     * @return
-     */
-    private String readFileByAttachmentId(String path) {
-        // 解析path
-        JSONObject object = JSONObject.parseObject(path);
-        String filePath = object.getString(SystemConstant.PATH);
-        String type = object.getString(SystemConstant.TYPE);
-        StringBuffer sb = new StringBuffer();
-        try {
-            byte[] bytes = null;
-            if (type.equals(SystemConstant.OSS)) {
-                bytes = ossUtil.ossDownload(filePath);
-            }
-            InputStream fis = new ByteArrayInputStream(bytes);
-            BufferedReader br = new BufferedReader(new InputStreamReader(fis));
-            String s;
-            while ((s = br.readLine()) != null) {
-                sb.append(s).append("\n");
-            }
-        } catch (IOException e) {
-            throw ExceptionResultEnum.ERROR.exception("文件读取异常");
-        }
-        return sb.toString();
-    }
-
 }

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

@@ -28,7 +28,7 @@ import org.springframework.stereotype.Service;
 import org.springframework.util.LinkedMultiValueMap;
 
 import javax.annotation.Resource;
-import java.io.File;
+import java.io.*;
 import java.security.NoSuchAlgorithmException;
 import java.util.*;
 import java.util.stream.Collectors;
@@ -319,4 +319,38 @@ public class CommonServiceImpl implements CommonService {
         }
         return url;
     }
+
+    @Override
+    public String readFileContent(String path) {
+        // 解析path
+        JSONObject object = JSONObject.parseObject(path);
+        String filePath = object.getString(SystemConstant.PATH);
+        String type = object.getString(SystemConstant.TYPE);
+        if(filePath.endsWith(".html")) {
+            StringBuffer sb = new StringBuffer();
+            try {
+                InputStream fis;
+                if (type.equals(SystemConstant.OSS)) {
+                    byte[] bytes = ossUtil.ossDownload(filePath);
+                    fis = new ByteArrayInputStream(bytes);
+                } else {
+                    String url = SystemConstant.HTTP + dictionaryConfig.sysDomain().getFileHost() + File.separator + filePath;
+                    File file = new File(url);
+                    if (!file.exists()) {
+                        throw ExceptionResultEnum.ERROR.exception("附件文件不存在");
+                    }
+                    fis = new FileInputStream(file);
+                }
+                BufferedReader br = new BufferedReader(new InputStreamReader(fis));
+                String s;
+                while ((s = br.readLine()) != null) {
+                    sb.append(s).append("\n");
+                }
+            } catch (IOException e) {
+                throw ExceptionResultEnum.ERROR.exception("文件读取异常");
+            }
+            return sb.toString();
+        }
+        return null;
+    }
 }

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

@@ -2,20 +2,18 @@ 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.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.qmth.distributed.print.business.bean.dto.ExamTaskDetailDto;
 import com.qmth.distributed.print.business.bean.dto.FieldsDto;
+import com.qmth.distributed.print.business.bean.dto.PrintTaskDto;
+import com.qmth.distributed.print.business.bean.dto.PrintTaskTotalDto;
 import com.qmth.distributed.print.business.bean.result.ExaminationDetailResult;
 import com.qmth.distributed.print.business.bean.result.ExaminationResult;
 import com.qmth.distributed.print.business.bean.result.SummarizedDataResult;
 import com.qmth.distributed.print.business.entity.BasicExamRule;
 import com.qmth.distributed.print.business.entity.ExamDetail;
 import com.qmth.distributed.print.business.entity.ExamDetailCourse;
-import com.qmth.distributed.print.business.entity.ExamPrintPlan;
-import com.qmth.distributed.print.business.enums.PrintPlanStatusEnum;
 import com.qmth.distributed.print.business.mapper.ExamDetailMapper;
 import com.qmth.distributed.print.business.service.BasicExamRuleService;
 import com.qmth.distributed.print.business.service.CacheService;
@@ -35,7 +33,6 @@ import javax.annotation.Resource;
 import javax.servlet.ServletOutputStream;
 import javax.servlet.http.HttpServletResponse;
 import java.io.IOException;
-import java.io.UnsupportedEncodingException;
 import java.net.URLEncoder;
 import java.util.ArrayList;
 import java.util.List;
@@ -83,15 +80,15 @@ public class ExamDetailServiceImpl extends ServiceImpl<ExamDetailMapper, ExamDet
     }
 
     @Override
-    public IPage<ExamTaskDetailDto> listPrintTask(String printPlanName, String status, String courseCode, String paperNumber, String examPlace, Long examStartTime, Long examEndTime, Integer pageNumber, Integer pageSize) {
+    public IPage<PrintTaskDto> listPrintTask(Long printPlanId, String status, String courseCode, String paperNumber, String examPlace, String examRoom, Long examStartTime, Long examEndTime, Integer pageNumber, Integer pageSize) {
         Long schoolId = Long.valueOf(ServletUtil.getRequestHeaderSchoolId().toString());
-        Page<ExamTaskDetailDto> page = new Page<>(pageNumber, pageSize);
-        IPage<ExamTaskDetailDto> examTaskDetailDtoIPage = this.baseMapper.listPrintTask(page, schoolId, printPlanName,status, courseCode, paperNumber, examPlace, examStartTime, examEndTime);
-        return examTaskDetailDtoIPage;
+        Page<PrintTaskDto> page = new Page<>(pageNumber, pageSize);
+        IPage<PrintTaskDto> pirntTaskDtoIPage = this.baseMapper.listPrintTask(page, schoolId, printPlanId,status, courseCode, paperNumber, examPlace,examRoom, examStartTime, examEndTime);
+        return pirntTaskDtoIPage;
     }
 
     @Override
-    public Map<String, Object> taskTotalData(String printPlanName, String status, String courseCode, String paperNumber, String examPlace, Long examStartTime, Long examEndTime) {
+    public PrintTaskTotalDto taskTotalData(Long printPlanId, String status, String courseCode, String paperNumber, String examPlace, String examRoom, Long examStartTime, Long examEndTime) {
         return null;
     }
 
@@ -186,8 +183,8 @@ public class ExamDetailServiceImpl extends ServiceImpl<ExamDetailMapper, ExamDet
 
     @Transactional(rollbackFor = Exception.class)
     @Override
-    public IPage<ExaminationResult> findExaminationBriefPage(Long schoolId, String printPlanName, String courseCode, String paperNumber, String examPlace, String examRoom, String packageCode, int pageNumber, int pageSize) {
-        IPage<ExaminationResult> page = examDetailMapper.findBriefPage(new Page<>(pageNumber,pageSize),schoolId,printPlanName,courseCode,paperNumber,examPlace,examRoom,packageCode);
+    public IPage<ExaminationResult> findExaminationBriefPage(Long schoolId, Long printPlanId, String courseCode, String paperNumber, String examPlace, String examRoom, String packageCode, int pageNumber, int pageSize) {
+        IPage<ExaminationResult> page = examDetailMapper.findBriefPage(new Page<>(pageNumber,pageSize),schoolId,printPlanId,courseCode,paperNumber,examPlace,examRoom,packageCode);
         List<ExaminationResult> list = page.getRecords();
         for (ExaminationResult examinationResult : list) {
             String examDetailCourseIds = examinationResult.getExamDetailCourseIds();
@@ -217,8 +214,8 @@ public class ExamDetailServiceImpl extends ServiceImpl<ExamDetailMapper, ExamDet
 
     @Transactional(rollbackFor = Exception.class)
     @Override
-    public SummarizedDataResult findSummarizedData(Long schoolId, String printPlanName, String courseCode, String paperNumber, String examPlace, String examRoom, String packageCode) {
-        IPage<ExaminationResult> page = this.findExaminationBriefPage(schoolId, printPlanName, courseCode, paperNumber, examPlace, examRoom, packageCode, SystemConstant.PAGE_NUMBER, SystemConstant.PAGE_SIZE);
+    public SummarizedDataResult findSummarizedData(Long schoolId, Long printPlanId, String courseCode, String paperNumber, String examPlace, String examRoom, String packageCode) {
+        IPage<ExaminationResult> page = this.findExaminationBriefPage(schoolId, printPlanId, courseCode, paperNumber, examPlace, examRoom, packageCode, SystemConstant.PAGE_NUMBER, SystemConstant.PAGE_SIZE);
         List<ExaminationResult> list = page.getRecords();
         int totalSubjects = 0;
         int packageCount = 0;
@@ -243,15 +240,21 @@ public class ExamDetailServiceImpl extends ServiceImpl<ExamDetailMapper, ExamDet
 
     @Transactional(rollbackFor = Exception.class)
     @Override
-    public List<String> findExamPlaceDatasource(Long printPlaneId) {
-        List<ExamDetail> examDetail = this.list(new QueryWrapper<ExamDetail>().lambda().eq(ExamDetail::getPrintPlanId,printPlaneId));
+    public IPage<ExaminationDetailResult> findExaminationDetail(Long examDetailId, int pageNumber, int pageSize) {
+        return examDetailMapper.findDetailPageById(new Page<>(pageNumber,pageSize),examDetailId);
+    }
+
+    @Transactional(rollbackFor = Exception.class)
+    @Override
+    public List<String> findExamPlaceDatasource() {
+        List<ExamDetail> examDetail = this.list();
         return examDetail.stream().map(ExamDetail::getExamPlace).distinct().collect(Collectors.toList());
     }
 
     @Transactional(rollbackFor = Exception.class)
     @Override
-    public List<String> findExamRoomDatasource(Long printPlaneId) {
-        List<ExamDetail> examDetail = this.list(new QueryWrapper<ExamDetail>().lambda().eq(ExamDetail::getPrintPlanId,printPlaneId));
+    public List<String> findExamRoomDatasource() {
+        List<ExamDetail> examDetail = this.list();
         return examDetail.stream().map(ExamDetail::getExamRoom).distinct().collect(Collectors.toList());
     }
 }

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

@@ -60,8 +60,8 @@ public class ExamPrintPlanServiceImpl extends ServiceImpl<ExamPrintPlanMapper, E
 
     @Transactional(rollbackFor = Exception.class)
     @Override
-    public IPage<PrintPlanResult> printPlanPage(Long schoolId, String name, PrintPlanStatusEnum status, Long startTime, Long endTime, int pageNumber, int pageSize) {
-        IPage<PrintPlanResult> page = examPrintPlanMapper.findPrintPlanPage(new Page<>(pageNumber, pageSize), schoolId, name, status, startTime, endTime);
+    public IPage<PrintPlanResult> printPlanPage(Long schoolId, Long printPlanId, PrintPlanStatusEnum status, Long startTime, Long endTime, int pageNumber, int pageSize) {
+        IPage<PrintPlanResult> page = examPrintPlanMapper.findPrintPlanPage(new Page<>(pageNumber, pageSize), schoolId, printPlanId, status, startTime, endTime);
         List<PrintPlanResult> list = page.getRecords();
         for (PrintPlanResult printPlanResult : list) {
             List<Map> variableContent = JSONObject.parseArray(printPlanResult.getVariableContentTemp(), Map.class);
@@ -79,13 +79,14 @@ public class ExamPrintPlanServiceImpl extends ServiceImpl<ExamPrintPlanMapper, E
 
     @Transactional(rollbackFor = Exception.class)
     @Override
-    public List<PrintPlanBrief> printPlanBriefQuery(String param) {
+    public List<PrintPlanBrief> printPlanBriefQuery() {
         List<PrintPlanBrief> printPlanBriefList = new ArrayList<>();
-        List<ExamPrintPlan> examPrintPlanList = this.list(new QueryWrapper<ExamPrintPlan>().lambda().like(ExamPrintPlan::getName, param));
+        List<ExamPrintPlan> examPrintPlanList = this.list();
         for (ExamPrintPlan examPrintPlan : examPrintPlanList) {
             Long id = examPrintPlan.getId();
             String name = examPrintPlan.getName();
-            printPlanBriefList.add(new PrintPlanBrief(id, name));
+            PrintPlanStatusEnum status = examPrintPlan.getStatus();
+            printPlanBriefList.add(new PrintPlanBrief(id, name ,status));
         }
         return printPlanBriefList;
     }
@@ -129,7 +130,7 @@ public class ExamPrintPlanServiceImpl extends ServiceImpl<ExamPrintPlanMapper, E
             List<Map<String,Object>> templateList = new ArrayList<>();
             for (TemplatePrintInfoResult templatePrintInfoResult : sourceList) {
                 Map<String, Object> printMap = new HashMap<>();
-                printMap.put("id", templatePrintInfoResult.getTemplateId());
+                printMap.put("id", String.valueOf(templatePrintInfoResult.getTemplateId()));
                 printMap.put("name", templatePrintInfoResult.getTemplateName());
                 templateList.add(printMap);
             }
@@ -151,7 +152,7 @@ public class ExamPrintPlanServiceImpl extends ServiceImpl<ExamPrintPlanMapper, E
             List<Map<String,Object>> templateList = new ArrayList<>();
             for (TemplatePrintInfoResult templatePrintInfoResult : sourceList) {
                 Map<String, Object> printMap = new HashMap<>();
-                printMap.put("id", templatePrintInfoResult.getTemplateId());
+                printMap.put("id", String.valueOf(templatePrintInfoResult.getTemplateId()));
                 printMap.put("name", templatePrintInfoResult.getTemplateName());
                 templateList.add(printMap);
             }
@@ -179,7 +180,7 @@ public class ExamPrintPlanServiceImpl extends ServiceImpl<ExamPrintPlanMapper, E
             throw ExceptionResultEnum.ERROR.exception("输入的学校id不满足条件 schoolId = " + schoolId);
         }
 
-        List<String> printContentList = printPlanParams.getPrintContentList();
+        List<String> printContentList = printPlanParams.getPrintContent();
         if (printContentList.contains("PAPER") && !printContentList.contains("CARD")) {
             throw ExceptionResultEnum.ERROR.exception("如果试卷题卡印品选择了试卷,题卡必须被选择");
         }

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

@@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.qmth.distributed.print.business.bean.dto.ExamTaskDetailDto;
 import com.qmth.distributed.print.business.bean.params.ExamCardParams;
+import com.qmth.distributed.print.business.bean.params.RelatePaperParam;
 import com.qmth.distributed.print.business.entity.ExamTask;
 import com.qmth.distributed.print.business.entity.ExamTaskDetail;
 import com.qmth.distributed.print.business.mapper.ExamTaskDetailMapper;
@@ -43,18 +44,16 @@ public class ExamTaskDetailServiceImpl extends ServiceImpl<ExamTaskDetailMapper,
 
     @Transactional
     @Override
-    public boolean updatePaper(Map<String, String> map) {
+    public boolean updatePaper(RelatePaperParam paperParam) {
         // 更新试卷编号
         UpdateWrapper<ExamTask> examTaskUpdateWrapper = new UpdateWrapper<>();
-        examTaskUpdateWrapper.lambda().set(ExamTask::getPaperNumber, map.get("paperNumber"));
+        examTaskUpdateWrapper.lambda().set(ExamTask::getPaperNumber, paperParam.getPaperNumber());
         examTaskService.update(examTaskUpdateWrapper);
 
         // 更新关联卷型
         UpdateWrapper<ExamTaskDetail> updateWrapper = new UpdateWrapper<>();
-        updateWrapper.lambda().set(ExamTaskDetail::getRelatePaperType, map.get("relatePaperType")).eq(ExamTaskDetail::getExamTaskId, map.get("examTaskId"));
+        updateWrapper.lambda().set(ExamTaskDetail::getRelatePaperType, paperParam.getRelatePaperType()).eq(ExamTaskDetail::getExamTaskId, paperParam.getExamTaskId());
         this.update(updateWrapper);
-
-        // todo 更新卷型曝光类型
         return true;
     }
 

+ 7 - 1
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/ExamTaskServiceImpl.java

@@ -127,7 +127,7 @@ public class ExamTaskServiceImpl extends ServiceImpl<ExamTaskMapper, ExamTask> i
         }
         UpdateWrapper<ExamTask> updateWrapper = new UpdateWrapper<>();
         // 启用时,后续状态清空
-        if(examTask.getEnable()){
+        if (examTask.getEnable()) {
             updateWrapper.lambda().set(ExamTask::getEnable, examTask.getEnable()) // 修改启用状态
                     .set(ExamTask::getReviewStatus, null) // 清空审核状态
                     .set(ExamTask::getStatus, ExamStatusEnum.STAGE) // 更新为命题中
@@ -354,6 +354,12 @@ public class ExamTaskServiceImpl extends ServiceImpl<ExamTaskMapper, ExamTask> i
         ExamTaskDetail detail = examTaskDetailService.getOne(queryWrapper);
         if (detail != null) {
             examTaskDetail.setId(detail.getId());
+            // 已曝光试卷和未曝光试卷赋值
+            examTaskDetail.setExposedPaperType(detail.getExposedPaperType());
+            examTaskDetail.setUnexposedPaperType(detail.getUnexposedPaperType());
+        } else {
+            // 已曝光试卷和未曝光试卷赋值(新增时,已曝光试卷为null,未曝光试卷为paper_type)
+            examTaskDetail.setUnexposedPaperType(examTaskDetail.getPaperType());
         }
 
         return examTaskDetailService.saveOrUpdate(examTaskDetail);

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

@@ -223,7 +223,7 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
         loginDto.setEnable(sysUser.getEnable());
         loginDto.setPwdUpdateTime(sysUser.getPwdUpdateTime());
 
-        if("sysadmin".equals(sysUser.getLoginName())){
+        if("admin".equals(sysUser.getLoginName())){
             loginDto.setRoles(Arrays.asList("ADMIN"));
         } else {
             List<SysRole> list = sysUserRoleService.listRoleByUserId(sysUser.getId());

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

@@ -26,7 +26,60 @@
         id,
         school_id, print_plan_id, print_plan_name, exam_name, exam_start_time, exam_end_time, exam_place, total_subjects, exam_room, print_progress, print_user, package_code, create_id, create_time
     </sql>
-    <select id="listPrintTask" resultType="com.qmth.distributed.print.business.bean.dto.ExamTaskDetailDto"></select>
+    <select id="listPrintTask" resultType="com.qmth.distributed.print.business.bean.dto.PrintTaskDto">
+        SELECT
+            b.package_code packageCode,
+            a.id printPlanId,
+            a.name printPlanName,
+            b.exam_start_time examStartTime,
+            b.exam_end_time examEndTime,
+            c.courseNameCode,
+            c.paperNumber,
+            b.exam_place examPlace,
+            b.exam_room examRoom,
+            b.total_subjects totalSubjects
+        FROM
+            exam_print_plan a
+                LEFT JOIN
+            exam_detail b ON a.id = b.print_plan_id
+                LEFT JOIN
+            (SELECT
+                exam_detail_id,
+                    GROUP_CONCAT(CONCAT(course_name, '(', course_code, ')')) courseNameCode,
+                    GROUP_CONCAT(paper_number) paperNumber
+            FROM
+                exam_detail_course
+                <where>
+                    <if test="courseCode != null and courseCode != ''">
+                        course_code = #{courseCode}
+                    </if>
+                    <if test="paperNumber != null and paperNumber != ''">
+                        paper_number = #{paperNumber}
+                    </if>
+                </where>
+            GROUP BY exam_detail_id) c ON b.id = c.exam_detail_id
+            <where>
+                <if test="printPlanId != null and printPlanId != ''">
+                    a.id = #{printPlanId}
+                </if>
+                <if test="status != null and status != ''">
+                    a.status = #{status}
+                </if>
+                <if test="examPlace != null and examPlace != ''">
+                    b.exam_place = #{examPlace}
+                </if>
+                <if test="examRoom != null and examRoom != ''">
+                    b.exam_room = #{examRoom}
+                </if>
+                <if test="examStartTime != null and examStartTime != ''">
+                    b.exam_start_time &gt; #{examStartTime}
+                </if>
+                <if test="examEndTime != null and examEndTime != ''">
+                    b.exam_end_time &lt; #{examEndTime}
+                </if>
+            </where>
+        ORDER BY a.create_time desc
+    </select>
 
     <select id="findBriefPage" resultType="com.qmth.distributed.print.business.bean.result.ExaminationResult">
         SELECT
@@ -54,17 +107,17 @@
             <if test="schoolId != null and schoolId > 0">
                 AND det.school_id = #{schoolId}
             </if>
-            <if test="printPlanName != null and printPlanName.length > 0">
-                AND det.print_plan_name LIKE CONCAT('%',#{printPlanName},'%')
+            <if test="printPlanId != null and printPlanId > 0">
+                AND det.print_plan_id = #{printPlanId}
             </if>
             <if test="examPlace != null and examPlace.length > 0">
-                AND det.exam_place LIKE CONCAT('%',#{examPlace},'%')
+                AND det.exam_place = #{examPlace}
             </if>
             <if test="examRoom != null and examRoom.length > 0">
-                AND det.exam_room LIKE CONCAT('%',#{examRoom},'%')
+                AND det.exam_room = #{examRoom}
             </if>
             <if test="packageCode != null and packageCode.length > 0">
-                AND det.package_code LIKE CONCAT('%',#{packageCode},'%')
+                AND det.package_code = #{packageCode}
             </if>
         </where>
         GROUP BY det.id
@@ -126,5 +179,39 @@
             </if>
         </where>
     </select>
+    <select id="findDetailPageById"
+            resultType="com.qmth.distributed.print.business.bean.result.ExaminationDetailResult">
+        SELECT
+            stu.id AS id,
+            stu.exam_detail_course_id,
+            stu.student_name AS studentName,
+            stu.student_code AS studentCode,
+            stu.ticket_number AS ticketNumber,
+            stu.site_number AS siteNumber,
+            stu.create_id AS createId,
+            stu.create_time AS createTime,
+            CONCAT(cou.course_name,
+                   '(',
+                   cou.course_code,
+                   ')') AS courseNameCode,
+            cou.paper_number AS paperNumber,
+            det.print_plan_id AS printPlanId,
+            det.print_plan_name AS printPlanName,
+            det.exam_place AS examPlace,
+            det.exam_room AS examRoom
+        FROM
+            exam_student stu
+                INNER JOIN
+            exam_detail_course cou ON stu.exam_detail_course_id = cou.id
+                AND stu.school_id = cou.school_id
+                INNER JOIN
+            exam_detail det ON cou.exam_detail_id = det.id
+                AND stu.school_id = det.school_id
+        <where>
+            <if test="examDetailId != null and examDetailId > 0">
+                AND det.id = #{examDetailId}
+            </if>
+        </where>
+    </select>
 
 </mapper>

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

@@ -58,8 +58,8 @@
             <if test="schoolId != null and schoolId > 0">
                 and school_id = #{schoolId}
             </if>
-            <if test="name != null and name.length > 0">
-                and name LIKE CONCAT('%',#{name},'%')
+            <if test="printPlanId != null and printPlanId > 0">
+                and id = #{printPlanId}
             </if>
             <if test="status != null">
                 and status = #{status}

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

@@ -20,7 +20,7 @@
         select id, school_id, name, enable, type, create_id, create_time, update_id, update_time from sys_role
     </sql>
     <select id="listRolesByUserId" resultMap="BaseResultMap">
-        SELECT
+        SELECT distinct
             a.id,
             a.name,
             a.type

+ 23 - 15
distributed-print/src/main/java/com/qmth/distributed/print/api/ExamDetailController.java

@@ -6,7 +6,6 @@ import com.qmth.boot.api.annotation.BOOL;
 import com.qmth.boot.api.constant.ApiConstant;
 import com.qmth.distributed.print.business.bean.result.EditResult;
 import com.qmth.distributed.print.business.entity.TBTask;
-import com.qmth.distributed.print.business.enums.PrintPlanStatusEnum;
 import com.qmth.distributed.print.business.enums.TaskTypeEnum;
 import com.qmth.distributed.print.business.service.ExamDetailService;
 import com.qmth.distributed.print.business.service.TBTaskService;
@@ -51,7 +50,6 @@ public class ExamDetailController {
     @RequestMapping(value = "/data_import", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "返回信息", response = EditResult.class)})
     public Result examinationImportAysnc(@ApiParam(value = "上传文件", required = true) @RequestParam MultipartFile file,
-                                         @ApiParam(value = "学校id", required = true) @RequestParam String schoolId,
                                          @ApiParam(value = "印刷计划id", required = true) @RequestParam String printPlanId) throws Exception {
         Map<String, Object> map = tbTaskService.saveTask(SystemConstant.convertIdToLong(printPlanId), file, TaskTypeEnum.EXAMINATION_IMPORT);
         asyncExaminationImportTemplateService.importTask(map);
@@ -62,8 +60,7 @@ public class ExamDetailController {
     @ApiOperation(value = "考务数据导入-查询")
     @RequestMapping(value = "/data_list", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "查询成功", response = Result.class)})
-    public Result findExaminationBrief(@ApiParam(value = "学校主键", required = true) @RequestParam String schoolId,
-                                       @ApiParam(value = "印刷计划名称") @RequestParam(required = false) String printPlanName,
+    public Result findExaminationBrief(@ApiParam(value = "印刷计划id") @RequestParam(required = false) String printPlanId,
                                        @ApiParam(value = "课程代码") @RequestParam(required = false) String courseCode,
                                        @ApiParam(value = "试卷编号") @RequestParam(required = false) String paperNumber,
                                        @ApiParam(value = "考点") @RequestParam(required = false) String examPlace,
@@ -72,29 +69,30 @@ public class ExamDetailController {
                                        @ApiParam(value = "分页页码", required = true) @RequestParam int pageNumber,
                                        @ApiParam(value = "分页数", required = true) @RequestParam int pageSize) {
 
-        return ResultUtil.ok(examDetailService.findExaminationBriefPage(SystemConstant.convertIdToLong(schoolId),
-                printPlanName, courseCode, paperNumber, examPlace, examRoom, packageCode, pageNumber, pageSize));
+        Long schoolId = Long.valueOf(ServletUtil.getRequestHeaderSchoolId().toString());
+        return ResultUtil.ok(examDetailService.findExaminationBriefPage(schoolId,
+                SystemConstant.convertIdToLong(printPlanId), courseCode, paperNumber, examPlace, examRoom, packageCode, pageNumber, pageSize));
     }
 
     @ApiOperation(value = "考务数据导入-汇总数据查询")
     @RequestMapping(value = "/data_total", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "查询成功", response = Result.class)})
-    public Result findSummarizedData(@ApiParam(value = "学校主键", required = true) @RequestParam String schoolId,
-                                     @ApiParam(value = "印刷计划名称") @RequestParam(required = false) String printPlanName,
+    public Result findSummarizedData(@ApiParam(value = "印刷计划id") @RequestParam(required = false) String printPlanId,
                                      @ApiParam(value = "课程代码") @RequestParam(required = false) String courseCode,
                                      @ApiParam(value = "试卷编号") @RequestParam(required = false) String paperNumber,
                                      @ApiParam(value = "考点") @RequestParam(required = false) String examPlace,
                                      @ApiParam(value = "考场") @RequestParam(required = false) String examRoom,
                                      @ApiParam(value = "卷袋号") @RequestParam(required = false) String packageCode) {
 
-        return ResultUtil.ok(examDetailService.findSummarizedData(SystemConstant.convertIdToLong(schoolId),
-                printPlanName, courseCode, paperNumber, examPlace, examRoom, packageCode));
+        Long schoolId = Long.valueOf(ServletUtil.getRequestHeaderSchoolId().toString());
+        return ResultUtil.ok(examDetailService.findSummarizedData(schoolId,
+                SystemConstant.convertIdToLong(printPlanId), courseCode, paperNumber, examPlace, examRoom, packageCode));
     }
 
     @ApiOperation(value = "考务数据导入-查看明细")
     @RequestMapping(value = "/data_detail", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "查询成功", response = Result.class)})
-    public Result findExaminationDetail(@ApiParam(value = "印刷计划主键", required = true) @RequestParam String printPlanId,
+    public Result findExaminationDetail(@ApiParam(value = "印刷计划主键") @RequestParam(required = false) String printPlanId,
                                         @ApiParam(value = "课程代码") @RequestParam(required = false) String courseCode,
                                         @ApiParam(value = "试卷编号") @RequestParam(required = false) String paperNumber,
                                         @ApiParam(value = "考点") @RequestParam(required = false) String examPlace,
@@ -107,18 +105,28 @@ public class ExamDetailController {
                 courseCode, paperNumber, examPlace, examRoom, studentParam, pageNumber, pageSize));
     }
 
+    @ApiOperation(value = "考务数据导入-查看明细弹窗")
+    @RequestMapping(value = "/data_detail_list", method = RequestMethod.POST)
+    @ApiResponses({@ApiResponse(code = 200, message = "查询成功", response = Result.class)})
+    public Result findExaminationDetailById(@ApiParam(value = "考务场次id",required = true) @RequestParam String examDetailId,
+                                        @ApiParam(value = "分页页码", required = true) @RequestParam int pageNumber,
+                                        @ApiParam(value = "分页数", required = true) @RequestParam int pageSize) {
+
+        return ResultUtil.ok(examDetailService.findExaminationDetail(SystemConstant.convertIdToLong(examDetailId),pageNumber,pageSize));
+    }
+
     @ApiOperation(value = "考务数据导入-考点模糊查询")
     @RequestMapping(value = "/data_place_query", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "查询成功", response = Result.class)})
-    public Result findExamPlaceDatasource(@ApiParam(value = "印刷计划主键", required = true) @RequestParam String printPlanId) {
-        return ResultUtil.ok(examDetailService.findExamPlaceDatasource(SystemConstant.convertIdToLong(printPlanId)));
+    public Result findExamPlaceDatasource() {
+        return ResultUtil.ok(examDetailService.findExamPlaceDatasource());
     }
 
     @ApiOperation(value = "考务数据导入-考场模糊查询")
     @RequestMapping(value = "/data_room_query", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "查询成功", response = Result.class)})
-    public Result findExamRoomDatasource(@ApiParam(value = "印刷计划主键", required = true) @RequestParam String printPlanId) {
-        return ResultUtil.ok(examDetailService.findExamRoomDatasource(SystemConstant.convertIdToLong(printPlanId)));
+    public Result findExamRoomDatasource() {
+        return ResultUtil.ok(examDetailService.findExamRoomDatasource());
     }
 
     @ApiOperation(value = "考务数据导入-模板下载")

+ 46 - 39
distributed-print/src/main/java/com/qmth/distributed/print/api/ExamPrintPlanController.java

@@ -6,15 +6,20 @@ import com.qmth.boot.api.annotation.Aac;
 import com.qmth.boot.api.annotation.BOOL;
 import com.qmth.boot.api.constant.ApiConstant;
 import com.qmth.distributed.print.business.bean.dto.ExamTaskDetailDto;
+import com.qmth.distributed.print.business.bean.dto.PrintTaskDto;
+import com.qmth.distributed.print.business.bean.dto.PrintTaskTotalDto;
 import com.qmth.distributed.print.business.bean.dto.RelatePaperDto;
 import com.qmth.distributed.print.business.bean.params.DeleteParams;
 import com.qmth.distributed.print.business.bean.params.PrintPlanParams;
+import com.qmth.distributed.print.business.bean.params.RelatePaperParam;
 import com.qmth.distributed.print.business.entity.ExamPrintPlan;
+import com.qmth.distributed.print.business.entity.SysUser;
 import com.qmth.distributed.print.business.enums.PrintPlanStatusEnum;
 import com.qmth.distributed.print.business.service.ExamDetailService;
 import com.qmth.distributed.print.business.service.ExamPrintPlanService;
 import com.qmth.distributed.print.business.service.ExamTaskDetailService;
 import com.qmth.distributed.print.business.service.ExamTaskService;
+import com.qmth.distributed.print.business.util.ServletUtil;
 import com.qmth.distributed.print.common.contant.SystemConstant;
 import com.qmth.distributed.print.common.util.Result;
 import com.qmth.distributed.print.common.util.ResultUtil;
@@ -27,7 +32,6 @@ import javax.annotation.Resource;
 import javax.servlet.http.HttpServletRequest;
 import javax.validation.Valid;
 import java.util.List;
-import java.util.Map;
 
 /**
  * <p>
@@ -57,31 +61,32 @@ public class ExamPrintPlanController {
     @ApiOperation(value = "印刷计划查询")
     @RequestMapping(value = "/list", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "查询成功", response = Result.class)})
-    public Result findPrintPlanPage(@ApiParam(value = "学校主键", required = true) @RequestParam String schoolId,
-                                    @ApiParam(value = "印刷计划名称") @RequestParam(required = false) String name,
+    public Result findPrintPlanPage(@ApiParam(value = "印刷计划id") @RequestParam(required = false) String printPlanId,
                                     @ApiParam(value = "印刷计划状态") @RequestParam(required = false) PrintPlanStatusEnum status,
                                     @ApiParam(value = "计划创建时间段开始时间") @RequestParam(required = false) Long startTime,
                                     @ApiParam(value = "计划创建时间段结束时间") @RequestParam(required = false) Long endTime,
                                     @ApiParam(value = "分页页码", required = true) @RequestParam int pageNumber,
                                     @ApiParam(value = "分页数", required = true) @RequestParam int pageSize) {
 
-        return ResultUtil.ok(examPrintPlanService.printPlanPage(SystemConstant.convertIdToLong(schoolId), name, status, startTime, endTime, pageNumber, pageSize));
+        Long schoolId = Long.valueOf(ServletUtil.getRequestHeaderSchoolId().toString());
+        return ResultUtil.ok(examPrintPlanService.printPlanPage(schoolId, SystemConstant.convertIdToLong(printPlanId), status, startTime, endTime, pageNumber, pageSize));
     }
 
     @ApiOperation(value = "印刷计划模糊查询")
     @RequestMapping(value = "/query", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "查询成功", response = Result.class)})
-    public Result findPrintPlanQuery(@ApiParam(value = "印刷计划名称", required = true) @RequestParam String param) {
-        return ResultUtil.ok(examPrintPlanService.printPlanBriefQuery(param));
+    public Result findPrintPlanQuery() {
+        return ResultUtil.ok(examPrintPlanService.printPlanBriefQuery());
     }
 
     @ApiOperation(value = "按类型查询模板")
     @RequestMapping(value = "/get_template", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "查询成功", response = Result.class)})
-    public Result findPrintPlanPage(@ApiParam(value = "学校主键", required = true) @RequestParam String schoolId,
-                                    @ApiParam(value = "用户主键", required = true) @RequestParam String userId) {
-
-        return ResultUtil.ok(examPrintPlanService.printPlanTemplateDatasource(SystemConstant.convertIdToLong(schoolId), SystemConstant.convertIdToLong(userId)));
+    public Result findPrintPlanPage() {
+        Long schoolId = Long.valueOf(ServletUtil.getRequestHeaderSchoolId().toString());
+        SysUser user = (SysUser) ServletUtil.getRequestUser();
+        Long userId = user.getId();
+        return ResultUtil.ok(examPrintPlanService.printPlanTemplateDatasource(schoolId, userId));
     }
 
     @ApiOperation(value = "印刷计划-新增/修改")
@@ -91,6 +96,8 @@ public class ExamPrintPlanController {
         if (bindingResult.hasErrors()) {
             return ResultUtil.error(bindingResult.getAllErrors().get(0).getDefaultMessage());
         }
+        Long schoolId = Long.valueOf(ServletUtil.getRequestHeaderSchoolId().toString());
+        printPlanParams.setSchoolId(schoolId);
         return ResultUtil.ok(examPrintPlanService.savePrintPlan(printPlanParams));
     }
 
@@ -117,10 +124,10 @@ public class ExamPrintPlanController {
      */
     @ApiOperation(value = "关联试卷管理-查询")
     @RequestMapping(value = "/relate_list", method = RequestMethod.POST)
-    public Result relateList(@RequestParam String relateType,
-                             @RequestParam Long printPlanId,
-                             @RequestParam String courseCode,
-                             @RequestParam String paperNumber,
+    public Result relateList(@RequestParam(value = "relateType", required = false) String relateType,
+                             @RequestParam(value = "printPlanId", required = false) Long printPlanId,
+                             @RequestParam(value = "courseCode", required = false) String courseCode,
+                             @RequestParam(value = "paperNumber", required = false) String paperNumber,
                              @RequestParam Integer pageNumber,
                              @RequestParam Integer pageSize) {
         IPage<ExamTaskDetailDto> examTasks = examTaskDetailService.list(relateType, printPlanId, courseCode, paperNumber, pageNumber, pageSize);
@@ -130,13 +137,12 @@ public class ExamPrintPlanController {
     /**
      * 关联/更换试卷
      *
-     * @param request
-     * @param map
+     * @param paperParam
      * @return
      */
     @RequestMapping(value = "/relate_update", method = RequestMethod.POST)
-    public Result relateUpdate(HttpServletRequest request, @RequestBody Map<String, String> map) {
-        boolean isSuccess = examTaskDetailService.updatePaper(map);
+    public Result relateUpdate(@RequestBody RelatePaperParam paperParam) {
+        boolean isSuccess = examTaskDetailService.updatePaper(paperParam);
         return ResultUtil.ok(isSuccess);
     }
 
@@ -155,7 +161,7 @@ public class ExamPrintPlanController {
     /**
      * 印刷任务管理-查询
      *
-     * @param printPlanName
+     * @param printPlanId
      * @param status
      * @param courseCode
      * @param paperNumber
@@ -168,16 +174,17 @@ public class ExamPrintPlanController {
      */
     @ApiOperation(value = "印刷任务管理-查询")
     @RequestMapping(value = "/task_list", method = RequestMethod.POST)
-    public Result taskList(@RequestParam String printPlanName,
-                           @RequestParam String status,
-                           @RequestParam String courseCode,
-                           @RequestParam String paperNumber,
-                           @RequestParam String examPlace,
-                           @RequestParam Long examStartTime,
-                           @RequestParam Long examEndTime,
+    public Result taskList(@RequestParam(value = "printPlanId", required = false) Long printPlanId,
+                           @RequestParam(value = "status", required = false) String status,
+                           @RequestParam(value = "courseCode", required = false) String courseCode,
+                           @RequestParam(value = "paperNumber", required = false) String paperNumber,
+                           @RequestParam(value = "examPlace", required = false) String examPlace,
+                           @RequestParam(value = "examRoom", required = false) String examRoom,
+                           @RequestParam(value = "examStartTime", required = false) Long examStartTime,
+                           @RequestParam(value = "examEndTime", required = false) Long examEndTime,
                            @RequestParam Integer pageNumber,
                            @RequestParam Integer pageSize) {
-        IPage<ExamTaskDetailDto> examTasks = examDetailService.listPrintTask(printPlanName, status, courseCode, paperNumber, examPlace, examStartTime, examEndTime, pageNumber, pageSize);
+        IPage<PrintTaskDto> examTasks = examDetailService.listPrintTask(printPlanId, status, courseCode, paperNumber, examPlace, examRoom, examStartTime, examEndTime, pageNumber, pageSize);
         return ResultUtil.ok(examTasks);
     }
 
@@ -206,28 +213,28 @@ public class ExamPrintPlanController {
     /**
      * 印刷任务管理-汇总数据查询
      *
-     * @param request
-     * @param printPlanName
+     * @param printPlanId
      * @param status
      * @param courseCode
      * @param paperNumber
      * @param examPlace
+     * @param examRoom
      * @param examStartTime
      * @param examEndTime
      * @return
      */
     @ApiOperation(value = "印刷任务管理-汇总数据查询")
     @RequestMapping(value = "/task_total_data", method = RequestMethod.POST)
-    public Result taskTotalData(HttpServletRequest request,
-                                @RequestParam String printPlanName,
-                                @RequestParam String status,
-                                @RequestParam String courseCode,
-                                @RequestParam String paperNumber,
-                                @RequestParam String examPlace,
-                                @RequestParam Long examStartTime,
-                                @RequestParam Long examEndTime) {
-        Map<String, Object> map = examDetailService.taskTotalData(printPlanName, status, courseCode, paperNumber, examPlace, examStartTime, examEndTime);
-        return ResultUtil.ok(map);
+    public Result taskTotalData(@RequestParam(value = "printPlanId", required = false) Long printPlanId,
+                                @RequestParam(value = "status", required = false) String status,
+                                @RequestParam(value = "courseCode", required = false) String courseCode,
+                                @RequestParam(value = "paperNumber", required = false) String paperNumber,
+                                @RequestParam(value = "examPlace", required = false) String examPlace,
+                                @RequestParam(value = "examRoom", required = false) String examRoom,
+                                @RequestParam(value = "examStartTime", required = false) Long examStartTime,
+                                @RequestParam(value = "examEndTime", required = false) Long examEndTime) {
+        PrintTaskTotalDto printTaskTotalDto = examDetailService.taskTotalData(printPlanId, status, courseCode, paperNumber, examPlace, examRoom, examStartTime, examEndTime);
+        return ResultUtil.ok(printTaskTotalDto);
     }
 
     /**

+ 24 - 24
distributed-print/src/main/java/com/qmth/distributed/print/api/SysController.java

@@ -40,10 +40,7 @@ import org.springframework.web.multipart.MultipartFile;
 import javax.annotation.Resource;
 import javax.validation.Valid;
 import java.security.NoSuchAlgorithmException;
-import java.util.Collections;
-import java.util.List;
-import java.util.Objects;
-import java.util.Set;
+import java.util.*;
 import java.util.stream.Collectors;
 
 /**
@@ -83,6 +80,9 @@ public class SysController {
     @Resource
     BasicAttachmentService basicAttachmentService;
 
+    @Autowired
+    private SysConfigService sysConfigService;
+
     /**
      * 登录
      *
@@ -144,26 +144,26 @@ public class SysController {
         if (!sysUser.getEnable()) {
             throw ExceptionResultEnum.USER_ENABLE.exception();
         }
-        //校验验证码
-//        String value = sysConfigService.getByKey("sys.code.enable");
-//        if (Objects.nonNull(value) && value.equals("true")) {
-//            String code = login.getCode();
-//            if (Objects.isNull(code)) {
-//                throw ExceptionResultEnum.ERROR.exception("验证码为空");
-//            }
-//            if (!dictionaryConfig.smsDomain().getSmsNormalCode().equals(code)) {
-//                QueryWrapper<BasicVerifyCode> codeWrapper = new QueryWrapper<>();
-//                codeWrapper.lambda().eq(BasicVerifyCode::getMobileNumber, sysUser.getMobileNumber()).eq(BasicVerifyCode::getUserId, sysUser.getId());
-//                BasicVerifyCode accessControl = basicVerifyCodeService.getOne(codeWrapper);
-//                if (accessControl == null || (accessControl != null && !accessControl.getVerifyCode().equals(code))) {
-//                    throw ExceptionResultEnum.ERROR.exception("短信验证码错误,请仔细核对后再次输入");
-//                }
-//
-//                if (new Date(accessControl.getExpireTime()).before(new Date())) {
-//                    throw ExceptionResultEnum.ERROR.exception("短信验证码已过期");
-//                }
-//            }
-//        }
+//        校验验证码
+        SysConfig value = sysConfigService.getByKey("sys.code.enable");
+        if (Objects.nonNull(value) && value.getConfigValue().equals("true")) {
+            String code = login.getCode();
+            if (Objects.isNull(code)) {
+                throw ExceptionResultEnum.ERROR.exception("验证码为空");
+            }
+            if (!dictionaryConfig.smsDomain().getSmsNormalCode().equals(code)) {
+                QueryWrapper<BasicVerifyCode> codeWrapper = new QueryWrapper<>();
+                codeWrapper.lambda().eq(BasicVerifyCode::getMobileNumber, sysUser.getMobileNumber()).eq(BasicVerifyCode::getUserId, sysUser.getId());
+                BasicVerifyCode accessControl = basicVerifyCodeService.getOne(codeWrapper);
+                if (accessControl == null || (accessControl != null && !accessControl.getVerifyCode().equals(code))) {
+                    throw ExceptionResultEnum.ERROR.exception("短信验证码错误,请仔细核对后再次输入");
+                }
+
+                if (new Date(accessControl.getExpireTime()).before(new Date())) {
+                    throw ExceptionResultEnum.ERROR.exception("短信验证码已过期");
+                }
+            }
+        }
 
         Platform platform = ServletUtil.getRequestPlatform();
         String deviceId = ServletUtil.getRequestDeviceId();