caozixuan 4 anni fa
parent
commit
f6142a18c6
15 ha cambiato i file con 457 aggiunte e 74 eliminazioni
  1. 191 41
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/bean/result/PrintPlanResult.java
  2. 8 6
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/entity/ExamPrintPlan.java
  3. 2 1
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/enums/EnumType.java
  4. 41 0
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/enums/PrintPlanStatusEnum.java
  5. 11 1
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/mapper/ExamPrintPlanMapper.java
  6. 6 0
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/ExamDetailCourseService.java
  7. 12 0
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/ExamDetailService.java
  8. 15 1
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/ExamPrintPlanService.java
  9. 8 0
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/ExamDetailCourseServiceImpl.java
  10. 27 0
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/ExamDetailServiceImpl.java
  11. 32 2
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/ExamPrintPlanServiceImpl.java
  12. 49 0
      distributed-print-business/src/main/resources/mapper/ExamPrintPlanMapper.xml
  13. 4 1
      distributed-print/src/main/java/com/qmth/distributed/print/api/EnumsController.java
  14. 32 2
      distributed-print/src/main/java/com/qmth/distributed/print/api/ExamPrintPlanController.java
  15. 19 19
      distributed-print/src/main/java/com/qmth/distributed/print/api/SysController.java

+ 191 - 41
distributed-print-business/src/main/java/com/qmth/distributed/print/business/bean/result/PrintPlanResult.java

@@ -1,6 +1,10 @@
 package com.qmth.distributed.print.business.bean.result;
 
+import com.fasterxml.jackson.annotation.JsonIgnore;
 import com.qmth.distributed.print.business.enums.BackupMethodEnum;
+import com.qmth.distributed.print.business.enums.DrawRuleEnum;
+import com.qmth.distributed.print.business.enums.PrintPlanStatusEnum;
+import io.swagger.annotations.ApiModelProperty;
 
 import java.util.List;
 import java.util.Map;
@@ -11,58 +15,204 @@ import java.util.Map;
  * @Date: 2021-04-02
  */
 public class PrintPlanResult {
+
+    @ApiModelProperty(value = "印刷计划id")
     private Long id;
+
+    @ApiModelProperty(value = "印刷计划名称")
     private String name;
+
+    @ApiModelProperty(value = "考试开始时间")
     private Long examStartTime;
+
+    @ApiModelProperty(value = "考试结束时间")
     private Long examEndTime;
-    private Object status;
+
+    @ApiModelProperty(value = "印刷计划状态")
+    private PrintPlanStatusEnum status;
+
+    @ApiModelProperty(value = "总门次")
     private int totalGates;
+
+    @ApiModelProperty(value = "总科次")
     private int totalSubjects;
+
+    @ApiModelProperty(value = "总卷袋数")
     private int totalPackages;
-    private Object printContent;
+
+    @ApiModelProperty(value = "试卷&&题卡印品类型")
+    private String printContent;
+
+    @ApiModelProperty(value = "试卷备份方式(考点||场次)")
     private BackupMethodEnum backupMethod;
+
+    @ApiModelProperty(value = "试卷备份数量")
     private int backupCount;
-    private List<Map<String,Object>> variableContent;
-    private List<Map<String,Object>> ordinaryContent;
+
+    @ApiModelProperty(value = "抽卷规则")
+    private DrawRuleEnum drawRule;
+
+    @ApiModelProperty(value = "变量印品信息")
+    private List<Map> variableContent;
+
+    @ApiModelProperty(value = "普通印品信息")
+    private List<Map> ordinaryContent;
+
+    @JsonIgnore
+    @ApiModelProperty(value = "变量印品JSON临时接收属性")
+    private String variableContentTemp;
+
+    @JsonIgnore
+    @ApiModelProperty(value = "普通印品JSON临时接收属性")
+    private String ordinaryContentTemp;
+
+    @ApiModelProperty(value = "创建人id")
     private Long createId;
+
+    @ApiModelProperty(value = "创建时间")
     private Long createTime;
 
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public Long getExamStartTime() {
+        return examStartTime;
+    }
+
+    public void setExamStartTime(Long examStartTime) {
+        this.examStartTime = examStartTime;
+    }
+
+    public Long getExamEndTime() {
+        return examEndTime;
+    }
+
+    public void setExamEndTime(Long examEndTime) {
+        this.examEndTime = examEndTime;
+    }
+
+    public PrintPlanStatusEnum getStatus() {
+        return status;
+    }
+
+    public void setStatus(PrintPlanStatusEnum status) {
+        this.status = status;
+    }
+
+    public int getTotalGates() {
+        return totalGates;
+    }
+
+    public void setTotalGates(int totalGates) {
+        this.totalGates = totalGates;
+    }
+
+    public int getTotalSubjects() {
+        return totalSubjects;
+    }
+
+    public void setTotalSubjects(int totalSubjects) {
+        this.totalSubjects = totalSubjects;
+    }
+
+    public int getTotalPackages() {
+        return totalPackages;
+    }
+
+    public void setTotalPackages(int totalPackages) {
+        this.totalPackages = totalPackages;
+    }
+
+    public String getPrintContent() {
+        return printContent;
+    }
+
+    public void setPrintContent(String printContent) {
+        this.printContent = printContent;
+    }
+
+    public BackupMethodEnum getBackupMethod() {
+        return backupMethod;
+    }
+
+    public void setBackupMethod(BackupMethodEnum backupMethod) {
+        this.backupMethod = backupMethod;
+    }
+
+    public int getBackupCount() {
+        return backupCount;
+    }
+
+    public void setBackupCount(int backupCount) {
+        this.backupCount = backupCount;
+    }
+
+    public DrawRuleEnum getDrawRule() {
+        return drawRule;
+    }
+
+    public void setDrawRule(DrawRuleEnum drawRule) {
+        this.drawRule = drawRule;
+    }
+
+    public List<Map> getVariableContent() {
+        return variableContent;
+    }
+
+    public void setVariableContent(List<Map> variableContent) {
+        this.variableContent = variableContent;
+    }
+
+    public List<Map> getOrdinaryContent() {
+        return ordinaryContent;
+    }
+
+    public void setOrdinaryContent(List<Map> ordinaryContent) {
+        this.ordinaryContent = ordinaryContent;
+    }
+
+    public String getVariableContentTemp() {
+        return variableContentTemp;
+    }
+
+    public void setVariableContentTemp(String variableContentTemp) {
+        this.variableContentTemp = variableContentTemp;
+    }
+
+    public String getOrdinaryContentTemp() {
+        return ordinaryContentTemp;
+    }
+
+    public void setOrdinaryContentTemp(String ordinaryContentTemp) {
+        this.ordinaryContentTemp = ordinaryContentTemp;
+    }
+
+    public Long getCreateId() {
+        return createId;
+    }
+
+    public void setCreateId(Long createId) {
+        this.createId = createId;
+    }
+
+    public Long getCreateTime() {
+        return createTime;
+    }
 
-//    {
-//        "id": 1,
-//            "name": "2020期末考试",
-//            "examStartTime": "1616403935250",
-//            "examEndTime": "1616403935250",
-//            "status": "NEW",
-//            "totalGates": 352,
-//            "totalSubjects": 15234,
-//            "totalPackages": 67,
-//            "printContent": "PAPER",
-//            "backupMethod": "PLACE",
-//            "backupCount": 5,
-//            "variableContent": [
-//        {
-//            "type": "SIGN",
-//                "usedId": 1,
-//                "backupMethod": "ROOM",
-//                "backupCount": 3
-//        },
-//        {
-//            "type": "PACKAG",
-//                "usedId": 3,
-//                "backupMethod": "STUDENT",
-//                "backupCount": 5
-//        }
-//        ],
-//        "ordinaryContent": [
-//        {
-//            "type": "CHECK_IN",
-//                "usedId": 1,
-//                "backupMethod": "ROOM",
-//                "backupCount": 3
-//        }
-//        ],
-//        "createId": 1,
-//            "createTime": ""
-//    },
+    public void setCreateTime(Long createTime) {
+        this.createTime = createTime;
+    }
 }

+ 8 - 6
distributed-print-business/src/main/java/com/qmth/distributed/print/business/entity/ExamPrintPlan.java

@@ -5,6 +5,8 @@ import com.baomidou.mybatisplus.annotation.TableName;
 import com.fasterxml.jackson.databind.annotation.JsonSerialize;
 import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
 import com.qmth.distributed.print.business.base.BaseEntity;
+import com.qmth.distributed.print.business.enums.DrawRuleEnum;
+import com.qmth.distributed.print.business.enums.PrintPlanStatusEnum;
 
 import java.io.Serializable;
 
@@ -54,7 +56,7 @@ public class ExamPrintPlan extends BaseEntity implements Serializable {
      * ONE-只抽一次,CIRCLE-可循环抽取
      */
     @TableField("draw_rule")
-    private String drawRule;
+    private DrawRuleEnum drawRule;
     /**
      * [
      * {
@@ -85,7 +87,7 @@ public class ExamPrintPlan extends BaseEntity implements Serializable {
      */
     @TableField("ordinary_content")
     private String ordinaryContent;
-    private String status;
+    private PrintPlanStatusEnum status;
 
     public Long getSchoolId() {
         return schoolId;
@@ -143,11 +145,11 @@ public class ExamPrintPlan extends BaseEntity implements Serializable {
         this.backupCount = backupCount;
     }
 
-    public String getDrawRule() {
+    public DrawRuleEnum getDrawRule() {
         return drawRule;
     }
 
-    public void setDrawRule(String drawRule) {
+    public void setDrawRule(DrawRuleEnum drawRule) {
         this.drawRule = drawRule;
     }
 
@@ -167,11 +169,11 @@ public class ExamPrintPlan extends BaseEntity implements Serializable {
         this.ordinaryContent = ordinaryContent;
     }
 
-    public String getStatus() {
+    public PrintPlanStatusEnum getStatus() {
         return status;
     }
 
-    public void setStatus(String status) {
+    public void setStatus(PrintPlanStatusEnum status) {
         this.status = status;
     }
 

+ 2 - 1
distributed-print-business/src/main/java/com/qmth/distributed/print/business/enums/EnumType.java

@@ -20,7 +20,8 @@ public enum EnumType {
     STORAGE_TYPE("附件存储方式"),
     TEMPLATE_TYPE("模板类型"),
     CARD_REQUIRED_FIELDS("题卡规则必选字段"),
-    ORG_CENTER_TYPE_ENUM("机构用户中心类型");
+    ORG_CENTER_TYPE_ENUM("机构用户中心类型"),
+    PRINT_PLAN_STATUS_ENUM("印刷计划状态类型");
 
     EnumType(String desc) {
         this.desc = desc;

+ 41 - 0
distributed-print-business/src/main/java/com/qmth/distributed/print/business/enums/PrintPlanStatusEnum.java

@@ -0,0 +1,41 @@
+package com.qmth.distributed.print.business.enums;
+
+import com.qmth.distributed.print.business.enums.result.EnumResult;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @Description: 印刷计划状态枚举类
+ * @Author: CaoZixuan
+ * @Date: 2021-04-02
+ */
+public enum PrintPlanStatusEnum {
+    NEW("新建"),
+    READY("就绪"),
+    PRINTING("印刷中"),
+    PRINT_FINISH("印刷完成"),
+    END("已结束")
+    ;
+    private final String desc;
+
+    PrintPlanStatusEnum(String desc) {
+        this.desc = desc;
+    }
+
+    public String getDesc() {
+        return desc;
+    }
+    public static List<EnumResult> listTypes() {
+        List<EnumResult> list = new ArrayList<>();
+        for (PrintPlanStatusEnum value : PrintPlanStatusEnum.values()) {
+            EnumResult result = new EnumResult();
+            result.setName(value.name());
+            result.setOrdinal(value.ordinal());
+            result.setCode(null);
+            result.setDesc(value.getDesc());
+            list.add(result);
+        }
+        return list;
+    }
+}

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

@@ -1,7 +1,12 @@
 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.result.PrintPlanResult;
 import com.qmth.distributed.print.business.entity.ExamPrintPlan;
+import com.qmth.distributed.print.business.enums.PrintPlanStatusEnum;
+import org.apache.ibatis.annotations.Param;
 
 /**
  * <p>
@@ -12,5 +17,10 @@ import com.qmth.distributed.print.business.entity.ExamPrintPlan;
  * @since 2021-03-23
  */
 public interface ExamPrintPlanMapper extends BaseMapper<ExamPrintPlan> {
-
+    IPage<PrintPlanResult> findPrintPlanPage(@Param("iPage") Page<PrintPlanResult> iPage,
+                                             @Param("schoolId") Long schoolId,
+                                             @Param("name") String name,
+                                             @Param("status") PrintPlanStatusEnum status,
+                                             @Param("startTime") Long startTime,
+                                             @Param("endTime") Long endTime);
 }

+ 6 - 0
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/ExamDetailCourseService.java

@@ -13,4 +13,10 @@ import com.qmth.distributed.print.business.entity.ExamDetailCourse;
  */
 public interface ExamDetailCourseService extends IService<ExamDetailCourse> {
 
+    /**
+     * 根据考务场次id查询卷袋数
+     * @param examDetailId 考务数据场次id
+     * @return 该场次下卷代数
+     */
+    double calculatePackagesByDetailId(Long examDetailId);
 }

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

@@ -12,5 +12,17 @@ import com.qmth.distributed.print.business.entity.ExamDetail;
  * @since 2021-03-23
  */
 public interface ExamDetailService extends IService<ExamDetail> {
+    /**
+     * 计算印刷计划下的总科次
+     * @param printPlanId 印刷计划id
+     * @return 该印刷计划下总科次
+     */
+    double calculateTotalSubjects(Long printPlanId);
 
+    /**
+     * 计算印刷计划下的总卷袋数
+     * @param printPlanId 印刷计划id
+     * @return 该印刷计划下总卷袋数
+     */
+    double calculateTotalPackages(Long printPlanId);
 }

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

@@ -2,7 +2,9 @@ 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.result.PrintPlanResult;
 import com.qmth.distributed.print.business.entity.ExamPrintPlan;
+import com.qmth.distributed.print.business.enums.PrintPlanStatusEnum;
 
 /**
  * <p>
@@ -13,5 +15,17 @@ import com.qmth.distributed.print.business.entity.ExamPrintPlan;
  * @since 2021-03-23
  */
 public interface ExamPrintPlanService extends IService<ExamPrintPlan> {
-    IPage<Object> printPlanPage();
+    /**
+     * 印刷计划分页查询
+     * @param schoolId 学校id
+     * @param name 印刷计划名称
+     * @param status 印刷计划状态
+     * @param startTime 印刷计划创建时间开始
+     * @param endTime 印刷计划创建时间结束
+     * @param pageNumber 分页页数
+     * @param pageSize 分页容量
+     * @return 分页查询结果
+     */
+    IPage<PrintPlanResult> printPlanPage(Long schoolId, String name, PrintPlanStatusEnum status, Long startTime, Long endTime, int pageNumber, int pageSize);
+
 }

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

@@ -1,10 +1,12 @@
 package com.qmth.distributed.print.business.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.qmth.distributed.print.business.entity.ExamDetailCourse;
 import com.qmth.distributed.print.business.mapper.ExamDetailCourseMapper;
 import com.qmth.distributed.print.business.service.ExamDetailCourseService;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
 
 /**
  * <p>
@@ -17,4 +19,10 @@ import org.springframework.stereotype.Service;
 @Service
 public class ExamDetailCourseServiceImpl extends ServiceImpl<ExamDetailCourseMapper, ExamDetailCourse> implements ExamDetailCourseService {
 
+    @Transactional(rollbackFor = Exception.class)
+    @Override
+    public double calculatePackagesByDetailId(Long examDetailId) {
+        System.out.println(this.count(new QueryWrapper<ExamDetailCourse>().lambda().eq(ExamDetailCourse::getExamDetailId,examDetailId)));
+        return this.count(new QueryWrapper<ExamDetailCourse>().lambda().eq(ExamDetailCourse::getExamDetailId,examDetailId));
+    }
 }

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

@@ -1,10 +1,17 @@
 package com.qmth.distributed.print.business.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.qmth.distributed.print.business.entity.ExamDetail;
 import com.qmth.distributed.print.business.mapper.ExamDetailMapper;
+import com.qmth.distributed.print.business.service.ExamDetailCourseService;
 import com.qmth.distributed.print.business.service.ExamDetailService;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import javax.annotation.Resource;
+import java.util.List;
+import java.util.stream.Collectors;
 
 /**
  * <p>
@@ -16,5 +23,25 @@ import org.springframework.stereotype.Service;
  */
 @Service
 public class ExamDetailServiceImpl extends ServiceImpl<ExamDetailMapper, ExamDetail> implements ExamDetailService {
+    @Resource
+    private ExamDetailCourseService examDetailCourseService;
+
+    @Transactional(rollbackFor = Exception.class)
+    @Override
+    public double calculateTotalSubjects(Long printPlanId) {
+        List<ExamDetail> examDetailList = this.list(new QueryWrapper<ExamDetail>().lambda().eq(ExamDetail::getPrintPlanId,printPlanId));
+        return examDetailList.stream().collect(Collectors.summarizingDouble(ExamDetail::getTotalSubjects)).getSum();
+    }
 
+    @Transactional(rollbackFor = Exception.class)
+    @Override
+    public double calculateTotalPackages(Long printPlanId) {
+        double result = 0;
+        List<ExamDetail> examDetailList = this.list(new QueryWrapper<ExamDetail>().lambda().eq(ExamDetail::getPrintPlanId,printPlanId));
+        for (ExamDetail examDetail : examDetailList) {
+            double count = examDetailCourseService.calculatePackagesByDetailId(examDetail.getId());
+            result = result + count;
+        }
+        return result;
+    }
 }

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

@@ -1,11 +1,22 @@
 package com.qmth.distributed.print.business.service.impl;
 
+import com.alibaba.fastjson.JSONObject;
 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.result.PrintPlanResult;
+import com.qmth.distributed.print.business.entity.ExamDetail;
 import com.qmth.distributed.print.business.entity.ExamPrintPlan;
+import com.qmth.distributed.print.business.enums.PrintPlanStatusEnum;
 import com.qmth.distributed.print.business.mapper.ExamPrintPlanMapper;
+import com.qmth.distributed.print.business.service.ExamDetailService;
 import com.qmth.distributed.print.business.service.ExamPrintPlanService;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import javax.annotation.Resource;
+import java.util.List;
+import java.util.Map;
 
 /**
  * <p>
@@ -17,9 +28,28 @@ import org.springframework.stereotype.Service;
  */
 @Service
 public class ExamPrintPlanServiceImpl extends ServiceImpl<ExamPrintPlanMapper, ExamPrintPlan> implements ExamPrintPlanService {
+    @Resource
+    private ExamPrintPlanMapper examPrintPlanMapper;
+    @Resource
+    private ExamDetailService examDetailService;
 
+    @Transactional(rollbackFor = Exception.class)
     @Override
-    public IPage<Object> printPlanPage() {
-        return null;
+    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);
+        List<PrintPlanResult> list = page.getRecords();
+        for (PrintPlanResult printPlanResult : list) {
+            List<Map> variableContent = JSONObject.parseArray(printPlanResult.getVariableContentTemp(),Map.class);
+            List<Map> ordinaryContent = JSONObject.parseArray(printPlanResult.getOrdinaryContentTemp(),Map.class);
+            printPlanResult.setVariableContent(variableContent);
+            printPlanResult.setOrdinaryContent(ordinaryContent);
+
+            double totalSubjects = examDetailService.calculateTotalSubjects(printPlanResult.getId());
+            double totalPackages = examDetailService.calculateTotalPackages(printPlanResult.getId());
+            printPlanResult.setTotalSubjects((int) totalSubjects);
+            // TODO: 2021/4/4 总卷袋数的计算好像有问题 
+            printPlanResult.setTotalPackages((int) totalPackages);
+        }
+        return page;
     }
 }

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

@@ -28,4 +28,53 @@
         school_id, name, exam_start_time, exam_end_time, print_content, backup_method, backup_count, draw_rule, variable_content, ordinary_content, status, create_id, create_time, update_id, update_time
     </sql>
 
+    <select id="findPrintPlanPage"
+            resultType="com.qmth.distributed.print.business.bean.result.PrintPlanResult">
+        SELECT
+            id,
+            name,
+            exam_start_time AS examStartTime,
+            exam_end_time AS examEndTime,
+            status,
+            (SELECT
+            COUNT(*)
+            FROM
+            exam_detail_course
+            WHERE
+            exam_detail_id IN (SELECT
+            id
+            FROM
+            exam_detail
+            WHERE
+            print_plan_id = 1)) AS totalGates,
+            print_content AS printContent,
+            backup_method AS backupMethod,
+            backup_count AS backupCount,
+            draw_rule AS drawRule,
+            variable_content AS variableContentTemp,
+            ordinary_content AS ordinaryContentTemp,
+            create_id AS createId,
+            create_time AS createTime
+        FROM
+            exam_print_plan
+        <where>
+            <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>
+            <if test="status != null">
+                and status = #{status}
+            </if>
+            <if test="startTime != null and startTime > 0">
+                and create_time >= #{startTime}
+            </if>
+            <if test="endTime != null and endTime > 0">
+                and #{endTime} >= create_time
+            </if>
+        </where>
+        ORDER BY update_time DESC
+    </select>
+
 </mapper>

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

@@ -87,8 +87,11 @@ public class EnumsController {
             //考务必选字段
             list = CardRequiredFieldsEnum.listTypes();
         } else if (type.equals(EnumType.ORG_CENTER_TYPE_ENUM.name())){
-            // 机构用户中心类型
+            //机构用户中心类型
             list = OrgCenterTypeEnum.listTypes();
+        } else if (type.equals(EnumType.PRINT_PLAN_STATUS_ENUM.name())){
+            //印刷计划状态
+            list = PrintPlanStatusEnum.listTypes();
         }
         return ResultUtil.ok(list);
     }

+ 32 - 2
distributed-print/src/main/java/com/qmth/distributed/print/api/ExamPrintPlanController.java

@@ -1,10 +1,22 @@
 package com.qmth.distributed.print.api;
 
 
+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.enums.PrintPlanStatusEnum;
+import com.qmth.distributed.print.business.service.ExamPrintPlanService;
+import com.qmth.distributed.print.common.contant.SystemConstant;
+import com.qmth.distributed.print.common.util.Result;
+import com.qmth.distributed.print.common.util.ResultUtil;
+import io.swagger.annotations.*;
 import org.springframework.web.bind.annotation.RequestMapping;
-
+import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RestController;
 
+import javax.annotation.Resource;
+
 /**
  * <p>
  * 印刷计划管理 前端控制器
@@ -13,9 +25,27 @@ import org.springframework.web.bind.annotation.RestController;
  * @author xf
  * @since 2021-03-23
  */
+@Api(tags = "印刷计划管理Controller")
 @RestController
-@RequestMapping("/examPrintPlan")
+@RequestMapping(ApiConstant.DEFAULT_URI_PREFIX + "/${prefix.url.exam}/print")
+@Aac(auth = BOOL.FALSE)
 public class ExamPrintPlanController {
+    @Resource
+    private ExamPrintPlanService examPrintPlanService;
+
+
+    @ApiOperation(value = "项目列表查询接口")
+    @RequestMapping(value = "/project/query", method = RequestMethod.POST)
+    @ApiResponses({@ApiResponse(code = 200, message = "查询成功", response = Result.class)})
+    public Result query(@ApiParam(value = "学校主键",required = true) @RequestParam String schoolId,
+                        @ApiParam(value = "印刷计划名称") @RequestParam(required = false) String name,
+                        @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));
+    }
 }
 

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

@@ -103,25 +103,25 @@ public class SysController {
             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("短信验证码已过期");
-                }
-            }
-        }
+//        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("短信验证码已过期");
+//                }
+//            }
+//        }
 
         Platform platform = ServletUtil.getRequestPlatform();
         String deviceId = ServletUtil.getRequestDeviceId();