caozixuan 4 năm trước cách đây
mục cha
commit
7afb6e8abb

+ 30 - 0
distributed-print-business/src/main/java/com/qmth/distributed/print/business/bean/params/DeleteParams.java

@@ -0,0 +1,30 @@
+package com.qmth.distributed.print.business.bean.params;
+
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
+import io.swagger.annotations.ApiModelProperty;
+import org.hibernate.validator.constraints.Range;
+
+import javax.validation.constraints.NotNull;
+
+/**
+ * @Description: 单个删除参数
+ * @Author: CaoZixuan
+ * @Date: 2021-04-06
+ */
+public class DeleteParams {
+
+    @JsonSerialize(using = ToStringSerializer.class)
+    @ApiModelProperty(value = "要删除的记录主键", required = true)
+    @NotNull(message = "请输入要删除的记录主键")
+    @Range(min = 1L, message = "请输入要删除的记录主键")
+    private Long id;
+
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+}

+ 160 - 0
distributed-print-business/src/main/java/com/qmth/distributed/print/business/bean/params/PrintPlanParams.java

@@ -0,0 +1,160 @@
+package com.qmth.distributed.print.business.bean.params;
+
+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 io.swagger.annotations.ApiModelProperty;
+import org.hibernate.validator.constraints.Length;
+import org.hibernate.validator.constraints.Range;
+
+import javax.validation.constraints.NotNull;
+import java.util.List;
+
+/**
+ * @Description: 印刷计划保存参数
+ * @Author: CaoZixuan
+ * @Date: 2021-04-06
+ */
+public class PrintPlanParams {
+
+    @JsonSerialize(using = ToStringSerializer.class)
+    @ApiModelProperty(value = "印刷计划id")
+    private Long id;
+
+    @JsonSerialize(using = ToStringSerializer.class)
+    @ApiModelProperty(value = "学校id",required = true)
+    @NotNull(message = "请输入学校id")
+    @Range(min = 1L,message = "请输入学校id")
+    private Long schoolId;
+
+    @ApiModelProperty(value = "印刷计划名称",required = true)
+    @NotNull(message = "请输入印刷计划名称")
+    @Length(min = 1,message = "请输入印刷计划名称")
+    private String name;
+
+    @JsonSerialize(using = ToStringSerializer.class)
+    @ApiModelProperty(value = "考试开始时间",required = true)
+    @NotNull(message = "请输入考试开始时间")
+    @Range(min = 1L,message = "请输入考试开始时间")
+    private Long examStartTime;
+
+    @JsonSerialize(using = ToStringSerializer.class)
+    @ApiModelProperty(value = "考试结束时间",required = true)
+    @NotNull(message = "请输入考试结束时间")
+    @Range(min = 1L,message = "请输入考试结束时间")
+    private Long examEndTime;
+
+    @ApiModelProperty(value = "*打印内容:{“PAPER”, \"CARD\"}",required = true)
+    @NotNull(message = "请输入打印内容")
+    private List<String> printContentList;
+
+    @ApiModelProperty(value = "备份方式:PLACE-按考点,ROOM-按考场",required = true)
+    @NotNull(message = "请输入备份方式")
+    private BackupMethodEnum backupMethod;
+
+    @ApiModelProperty(value = "备份数量",required = true)
+    @NotNull(message = "请输入备份数量")
+    @Range(min = 0,message = "请输入正数")
+    private Integer backupCount;
+
+    @ApiModelProperty(value = "抽卷规则:ONE-只抽一次,CIRCLE-可循环抽取",required = true)
+    @NotNull(message = "请设置抽卷规则")
+    private DrawRuleEnum drawRule;
+
+    @ApiModelProperty(value = "变量印品:样例",required = true)
+    @NotNull(message = "请设置变量印品")
+    private String variableContent;
+
+    @ApiModelProperty(value = "普通印品:样例",required = true)
+    @NotNull(message = "请设置普通印品")
+    private String ordinaryContent;
+
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+
+    public Long getSchoolId() {
+        return schoolId;
+    }
+
+    public void setSchoolId(Long schoolId) {
+        this.schoolId = schoolId;
+    }
+
+    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 List<String> getPrintContentList() {
+        return printContentList;
+    }
+
+    public void setPrintContentList(List<String> printContentList) {
+        this.printContentList = printContentList;
+    }
+
+    public BackupMethodEnum getBackupMethod() {
+        return backupMethod;
+    }
+
+    public void setBackupMethod(BackupMethodEnum backupMethod) {
+        this.backupMethod = backupMethod;
+    }
+
+    public Integer getBackupCount() {
+        return backupCount;
+    }
+
+    public void setBackupCount(Integer backupCount) {
+        this.backupCount = backupCount;
+    }
+
+    public DrawRuleEnum getDrawRule() {
+        return drawRule;
+    }
+
+    public void setDrawRule(DrawRuleEnum drawRule) {
+        this.drawRule = drawRule;
+    }
+
+    public String getVariableContent() {
+        return variableContent;
+    }
+
+    public void setVariableContent(String variableContent) {
+        this.variableContent = variableContent;
+    }
+
+    public String getOrdinaryContent() {
+        return ordinaryContent;
+    }
+
+    public void setOrdinaryContent(String ordinaryContent) {
+        this.ordinaryContent = ordinaryContent;
+    }
+}

+ 4 - 3
distributed-print-business/src/main/java/com/qmth/distributed/print/business/entity/ExamPrintPlan.java

@@ -5,6 +5,7 @@ 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.BackupMethodEnum;
 import com.qmth.distributed.print.business.enums.DrawRuleEnum;
 import com.qmth.distributed.print.business.enums.PrintPlanStatusEnum;
 
@@ -49,7 +50,7 @@ public class ExamPrintPlan extends BaseEntity implements Serializable {
      * PLACE-按考点,ROOM-按考场
      */
     @TableField("backup_method")
-    private String backupMethod;
+    private BackupMethodEnum backupMethod;
     @TableField("backup_count")
     private Integer backupCount;
     /**
@@ -129,11 +130,11 @@ public class ExamPrintPlan extends BaseEntity implements Serializable {
         this.printContent = printContent;
     }
 
-    public String getBackupMethod() {
+    public BackupMethodEnum getBackupMethod() {
         return backupMethod;
     }
 
-    public void setBackupMethod(String backupMethod) {
+    public void setBackupMethod(BackupMethodEnum backupMethod) {
         this.backupMethod = backupMethod;
     }
 

+ 16 - 0
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/ExamPrintPlanService.java

@@ -2,6 +2,8 @@ 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.params.DeleteParams;
+import com.qmth.distributed.print.business.bean.params.PrintPlanParams;
 import com.qmth.distributed.print.business.bean.result.PrintPlanBrief;
 import com.qmth.distributed.print.business.bean.result.PrintPlanResult;
 import com.qmth.distributed.print.business.bean.result.PrintPlanTemplateResult;
@@ -50,4 +52,18 @@ public interface ExamPrintPlanService extends IService<ExamPrintPlan> {
      * @return 模板数据源
      */
     Map<String,Object> printPlanTemplateDatasource(Long schoolId,Long userId);
+
+    /**
+     * 保存印刷计划
+     * @param printPlanParams 印刷计划参数
+     * @return 是否成功
+     */
+    Boolean savePrintPlan(PrintPlanParams printPlanParams);
+
+    /**
+     * 删除印刷计划
+     * @param deleteParams 删除参数
+     * @return 是否成功
+     */
+    Boolean removePrintPlan(DeleteParams deleteParams);
 }

+ 112 - 45
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/ExamPrintPlanServiceImpl.java

@@ -5,11 +5,12 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 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.params.DeleteParams;
+import com.qmth.distributed.print.business.bean.params.PrintPlanParams;
 import com.qmth.distributed.print.business.bean.result.PrintPlanBrief;
 import com.qmth.distributed.print.business.bean.result.PrintPlanResult;
-import com.qmth.distributed.print.business.bean.result.PrintPlanTemplateResult;
 import com.qmth.distributed.print.business.bean.result.TemplatePrintInfoResult;
-import com.qmth.distributed.print.business.entity.ExamDetail;
+import com.qmth.distributed.print.business.entity.BasicSchool;
 import com.qmth.distributed.print.business.entity.ExamPrintPlan;
 import com.qmth.distributed.print.business.entity.SysOrg;
 import com.qmth.distributed.print.business.entity.SysUser;
@@ -18,7 +19,11 @@ import com.qmth.distributed.print.business.enums.PrintPlanStatusEnum;
 import com.qmth.distributed.print.business.enums.TemplateTypeEnum;
 import com.qmth.distributed.print.business.mapper.ExamPrintPlanMapper;
 import com.qmth.distributed.print.business.service.*;
+import com.qmth.distributed.print.business.util.ServletUtil;
+import com.qmth.distributed.print.common.contant.SystemConstant;
 import com.qmth.distributed.print.common.enums.ExceptionResultEnum;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.BeanUtils;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
@@ -49,6 +54,8 @@ public class ExamPrintPlanServiceImpl extends ServiceImpl<ExamPrintPlanMapper, E
     private SysOrgService sysOrgService;
     @Resource
     private BasicTemplateOrgService basicTemplateOrgService;
+    @Resource
+    private BasicSchoolService basicSchoolService;
 
     @Transactional(rollbackFor = Exception.class)
     @Override
@@ -56,7 +63,7 @@ public class ExamPrintPlanServiceImpl extends ServiceImpl<ExamPrintPlanMapper, E
         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> variableContent = JSONObject.parseArray(printPlanResult.getVariableContentTemp(), Map.class);
             List<Map> ordinaryContent = JSONObject.parseArray(printPlanResult.getOrdinaryContentTemp(),Map.class);
             printPlanResult.setVariableContent(variableContent);
             printPlanResult.setOrdinaryContent(ordinaryContent);
@@ -73,11 +80,11 @@ public class ExamPrintPlanServiceImpl extends ServiceImpl<ExamPrintPlanMapper, E
     @Override
     public List<PrintPlanBrief> printPlanBriefQuery(String param) {
         List<PrintPlanBrief> printPlanBriefList = new ArrayList<>();
-        List<ExamPrintPlan> examPrintPlanList = this.list(new QueryWrapper<ExamPrintPlan>().lambda().like(ExamPrintPlan::getName,param));
+        List<ExamPrintPlan> examPrintPlanList = this.list(new QueryWrapper<ExamPrintPlan>().lambda().like(ExamPrintPlan::getName, param));
         for (ExamPrintPlan examPrintPlan : examPrintPlanList) {
             Long id = examPrintPlan.getId();
             String name = examPrintPlan.getName();
-            printPlanBriefList.add(new PrintPlanBrief(id,name));
+            printPlanBriefList.add(new PrintPlanBrief(id, name));
         }
         return printPlanBriefList;
     }
@@ -86,35 +93,35 @@ public class ExamPrintPlanServiceImpl extends ServiceImpl<ExamPrintPlanMapper, E
     @Override
     public Map<String, Object> printPlanTemplateDatasource(Long schoolId, Long userId) {
         //1.根据userId,schoolId查出orgId(应该从requestUser 获取)
-        List<SysUser> requestUserList = sysUserService.list(new QueryWrapper<SysUser>().lambda().eq(SysUser::getId,userId).eq(SysUser::getSchoolId,schoolId));
-        if (requestUserList.size() != 1){
+        List<SysUser> requestUserList = sysUserService.list(new QueryWrapper<SysUser>().lambda().eq(SysUser::getId, userId).eq(SysUser::getSchoolId, schoolId));
+        if (requestUserList.size() != 1) {
             throw ExceptionResultEnum.ERROR.exception("未找到用户信息");
         }
         SysUser requestUser = requestUserList.get(0);
         Long orgId = requestUser.getOrgId();
 
         //2.根据orgId查询他的所有叶子id 并把这些id放入List<Long> ids
-        List<Long> orgIds = new ArrayList<>();
-        if ((orgId == null || orgId == 0) && (schoolId == null || schoolId == 0)){
+        List<Long> orgIds;
+        if ((orgId == null || orgId == 0) && (schoolId == null || schoolId == 0)) {
             // 超级管理员权限
             orgIds = sysOrgService.list().stream().map(SysOrg::getId).collect(Collectors.toList());
-        }else if ((orgId == null || orgId == 0) && schoolId > 0){
+        } else if ((orgId == null || orgId == 0) && schoolId > 0) {
             // 学校管理员权限
-            orgIds = sysOrgService.list(new QueryWrapper<SysOrg>().lambda().eq(SysOrg::getSchoolId,schoolId)).stream().map(SysOrg::getId).collect(Collectors.toList());
-        }else {
+            orgIds = sysOrgService.list(new QueryWrapper<SysOrg>().lambda().eq(SysOrg::getSchoolId, schoolId)).stream().map(SysOrg::getId).collect(Collectors.toList());
+        } else {
             // 普通权限
             List<Long> ids = new ArrayList<>();
             ids.add(orgId);
-            orgIds = this.dp(ids,schoolId,new ArrayList<>());
+            orgIds = this.dp(ids, schoolId, new ArrayList<>());
             System.out.println("ordIds = " + orgIds);
         }
 
         //3.关联template和template_org表 查询出来orgIds所包含的所有模板并组装
         List<TemplatePrintInfoResult> templateInfoList = basicTemplateOrgService.findTemplateInfoByOrgIds(orgIds);
-        Map<String,Object> result = new HashMap<>();
+        Map<String, Object> result = new HashMap<>();
 
         // 变量印品
-        List<Map<String,Object>> variable = new ArrayList<>();
+        List<Map<String, Object>> variable = new ArrayList<>();
         List<TemplatePrintInfoResult> SIGNList = templateInfoList.stream()
                 .filter(e -> TemplateTypeEnum.VARIABLE.equals(e.getTemplateType()))
                 .filter(e -> ClassifyEnum.SIGN.equals(e.getTemplateClassify()))
@@ -123,67 +130,127 @@ public class ExamPrintPlanServiceImpl extends ServiceImpl<ExamPrintPlanMapper, E
                 .filter(e -> TemplateTypeEnum.VARIABLE.equals(e.getTemplateType()))
                 .filter(e -> ClassifyEnum.PACKAGE.equals(e.getTemplateClassify()))
                 .collect(Collectors.toList());
-        Map<String,Object> SIGNMap = new HashMap<>();
-        List<Map<String,Object>> signTemplate = new ArrayList<>();
+        Map<String, Object> SIGNMap = new HashMap<>();
+        List<Map<String, Object>> signTemplate = new ArrayList<>();
         for (TemplatePrintInfoResult sign : SIGNList) {
-            Map<String,Object> signMap = new HashMap<>();
-            signMap.put("id",sign.getTemplateId());
-            signMap.put("name",sign.getTemplateName());
+            Map<String, Object> signMap = new HashMap<>();
+            signMap.put("id", sign.getTemplateId());
+            signMap.put("name", sign.getTemplateName());
             signTemplate.add(signMap);
         }
-        SIGNMap.put("type",ClassifyEnum.SIGN);
-        SIGNMap.put("template",signTemplate);
+        SIGNMap.put("type", ClassifyEnum.SIGN);
+        SIGNMap.put("template", signTemplate);
 
-        Map<String,Object> PACKAGEMap = new HashMap<>();
-        List<Map<String,Object>> packageTemplate = new ArrayList<>();
+        Map<String, Object> PACKAGEMap = new HashMap<>();
+        List<Map<String, Object>> packageTemplate = new ArrayList<>();
         for (TemplatePrintInfoResult pack : PACKAGEList) {
-            Map<String,Object> packageMap = new HashMap<>();
-            packageMap.put("id",pack.getTemplateId());
-            packageMap.put("name",pack.getTemplateName());
+            Map<String, Object> packageMap = new HashMap<>();
+            packageMap.put("id", pack.getTemplateId());
+            packageMap.put("name", pack.getTemplateName());
             packageTemplate.add(packageMap);
         }
-        PACKAGEMap.put("type",ClassifyEnum.PACKAGE);
-        PACKAGEMap.put("template",packageTemplate);
+        PACKAGEMap.put("type", ClassifyEnum.PACKAGE);
+        PACKAGEMap.put("template", packageTemplate);
         variable.add(SIGNMap);
         variable.add(PACKAGEMap);
 
         // 普通印品
-        List<Map<String,Object>> ordinary = new ArrayList<>();
+        List<Map<String, Object>> ordinary = new ArrayList<>();
         List<TemplatePrintInfoResult> CHECKINList = templateInfoList.stream()
                 .filter(e -> TemplateTypeEnum.ORDINARY.equals(e.getTemplateType()))
                 .filter(e -> ClassifyEnum.CHECK_IN.equals(e.getTemplateClassify()))
                 .collect(Collectors.toList());
-        Map<String,Object> CHECKINMap = new HashMap<>();
-        List<Map<String,Object>> checkInTemplate = new ArrayList<>();
+        Map<String, Object> CHECKINMap = new HashMap<>();
+        List<Map<String, Object>> checkInTemplate = new ArrayList<>();
         for (TemplatePrintInfoResult checkIn : CHECKINList) {
-            Map<String,Object> checkInMap = new HashMap<>();
-            checkInMap.put("id",checkIn.getTemplateId());
-            checkInMap.put("name",checkIn.getTemplateName());
+            Map<String, Object> checkInMap = new HashMap<>();
+            checkInMap.put("id", checkIn.getTemplateId());
+            checkInMap.put("name", checkIn.getTemplateName());
             checkInTemplate.add(checkInMap);
         }
-        CHECKINMap.put("type",ClassifyEnum.CHECK_IN);
-        CHECKINMap.put("template",checkInTemplate);
+        CHECKINMap.put("type", ClassifyEnum.CHECK_IN);
+        CHECKINMap.put("template", checkInTemplate);
         ordinary.add(CHECKINMap);
 
-        result.put("variable",variable);
-        result.put("ordinary",ordinary);
+        result.put("variable", variable);
+        result.put("ordinary", ordinary);
         return result;
     }
 
+    @Transactional(rollbackFor = Exception.class)
+    @Override
+    public Boolean savePrintPlan(PrintPlanParams printPlanParams) {
+        boolean result;
+        System.out.println("JSON = " + printPlanParams.getOrdinaryContent());
+        SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
+        Long id = printPlanParams.getId();
+        Long schoolId = printPlanParams.getSchoolId();
+        if (basicSchoolService.list(new QueryWrapper<BasicSchool>().lambda().eq(BasicSchool::getId,schoolId).eq(BasicSchool::getEnable,true)).size() != 1) {
+            throw ExceptionResultEnum.ERROR.exception("输入的学校id不满足条件 schoolId = " + schoolId);
+        }
+
+        List<String> printContentList = printPlanParams.getPrintContentList();
+        if (printContentList.contains("PAPER") && !printContentList.contains("CARD")) {
+            throw ExceptionResultEnum.ERROR.exception("如果试卷题卡印品选择了试卷,题卡必须被选择");
+        }
+
+        ExamPrintPlan examPrintPlan = new ExamPrintPlan();
+        BeanUtils.copyProperties(printPlanParams, examPrintPlan);
+        String printContent = StringUtils.join(printContentList, ",");
+        examPrintPlan.setPrintContent(printContent);
+        examPrintPlan.setCreateId(sysUser.getId());
+        examPrintPlan.setUpdateId(sysUser.getId());
+        if (id == null || id == 0) {
+            // 没有印刷计划id -> 新增印刷计划
+            examPrintPlan.setId(SystemConstant.getDbUuid());
+            examPrintPlan.setStatus(PrintPlanStatusEnum.NEW);
+            result = this.save(examPrintPlan);
+        } else {
+            // 包含印刷计划id -> 编辑印刷计划
+            ExamPrintPlan tmp = this.getById(id);
+            if (tmp == null){
+                throw ExceptionResultEnum.ERROR.exception("印刷计划id不存在 id= " + id);
+            }
+            PrintPlanStatusEnum status = tmp.getStatus();
+            if (!PrintPlanStatusEnum.NEW.equals(status) && !PrintPlanStatusEnum.READY.equals(status)) {
+                throw ExceptionResultEnum.ERROR.exception("已经开始打印的印刷计划不能编辑");
+            }
+            // 学校id不能更改
+            examPrintPlan.setSchoolId(tmp.getSchoolId());
+            result = this.updateById(examPrintPlan);
+        }
+        return result;
+    }
+
+    @Transactional(rollbackFor = Exception.class)
+    @Override
+    public Boolean removePrintPlan(DeleteParams deleteParams) {
+        Long id = deleteParams.getId();
+        ExamPrintPlan examPrintPlan = this.getById(id);
+        if (examPrintPlan == null){
+            throw ExceptionResultEnum.ERROR.exception("要删除的项目计划不存在 id = " + id);
+        }
+        if (!PrintPlanStatusEnum.NEW.equals(examPrintPlan.getStatus())){
+            throw ExceptionResultEnum.ERROR.exception("只有'新建'状态的项目计划可以被删除 status = " + examPrintPlan.getStatus());
+        }
+        return this.removeById(id);
+    }
+
     /**
      * 查找子机构
-     * @param ids 上级机构id集合
-     * @param schoolId 学校id
+     *
+     * @param ids        上级机构id集合
+     * @param schoolId   学校id
      * @param resultList 已查询所有子机构id集合
      * @return 所有子机构id集合
      */
-    private List<Long> dp(List<Long> ids,Long schoolId,List<Long> resultList){
+    private List<Long> dp(List<Long> ids, Long schoolId, List<Long> resultList) {
         resultList.addAll(ids);
         for (Long id : ids) {
-            List<SysOrg> childList = sysOrgService.list(new QueryWrapper<SysOrg>().lambda().eq(SysOrg::getParentId,id).eq(SysOrg::getSchoolId,schoolId));
-            if (childList.size() > 0){
+            List<SysOrg> childList = sysOrgService.list(new QueryWrapper<SysOrg>().lambda().eq(SysOrg::getParentId, id).eq(SysOrg::getSchoolId, schoolId));
+            if (childList.size() > 0) {
                 List<Long> childIds = childList.stream().map(SysOrg::getId).collect(Collectors.toList());
-                this.dp(childIds,schoolId,resultList);
+                this.dp(childIds, schoolId, resultList);
             }
         }
         return resultList;

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

@@ -61,6 +61,8 @@ public class OrgCenterDataDisposeServiceImpl implements OrgCenterDataDisposeServ
             Long id = SystemConstant.convertIdToLong(String.valueOf(map.get("id")));
             String code = String.valueOf(map.get("code"));
             String name = String.valueOf(map.get("name"));
+            // TODO: 2021/4/6 数据中心的logo字段 
+//            String logo = String.valueOf(map.get("logo"));
             String accessKey = String.valueOf(map.get("accessKey"));
             String accessSecret = String.valueOf(map.get("accessSecret"));
             Map typeMap = JSONObject.parseObject(String.valueOf(map.get("type")));
@@ -77,6 +79,7 @@ public class OrgCenterDataDisposeServiceImpl implements OrgCenterDataDisposeServ
                 school.setEnable(true);
                 school.setAccessKey(accessKey);
                 school.setAccessSecret(accessSecret);
+//                school.setLogo(logo);
                 basicSchoolService.save(school);
             }
         }

+ 34 - 15
distributed-print/src/main/java/com/qmth/distributed/print/api/ExamPrintPlanController.java

@@ -4,18 +4,19 @@ 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.bean.params.DeleteParams;
+import com.qmth.distributed.print.business.bean.params.PrintPlanParams;
 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 org.springframework.validation.BindingResult;
+import org.springframework.web.bind.annotation.*;
 
 import javax.annotation.Resource;
+import javax.validation.Valid;
 
 /**
  * <p>
@@ -37,15 +38,15 @@ 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,
-                        @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) {
+    public Result findPrintPlanPage(@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));
+        return ResultUtil.ok(examPrintPlanService.printPlanPage(SystemConstant.convertIdToLong(schoolId), name, status, startTime, endTime, pageNumber, pageSize));
     }
 
     @ApiOperation(value = "印刷计划模糊查询")
@@ -58,12 +59,30 @@ public class ExamPrintPlanController {
     @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) {
+    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)));
+        return ResultUtil.ok(examPrintPlanService.printPlanTemplateDatasource(SystemConstant.convertIdToLong(schoolId), SystemConstant.convertIdToLong(userId)));
     }
 
+    @ApiOperation(value = "印刷计划-新增/修改")
+    @RequestMapping(value = "/save", method = RequestMethod.POST)
+    @ApiResponses({@ApiResponse(code = 200, message = "更新成功", response = Result.class)})
+    public Result savePrintPlan(@Valid @RequestBody PrintPlanParams printPlanParams, BindingResult bindingResult) {
+        if (bindingResult.hasErrors()) {
+            return ResultUtil.error(bindingResult.getAllErrors().get(0).getDefaultMessage());
+        }
+        return ResultUtil.ok(examPrintPlanService.savePrintPlan(printPlanParams));
+    }
 
+    @ApiOperation(value = "印刷计划-删除")
+    @RequestMapping(value = "/remove", method = RequestMethod.POST)
+    @ApiResponses({@ApiResponse(code = 200, message = "删除成功", response = Result.class)})
+    public Result removePrintPlan(@Valid @RequestBody DeleteParams deleteParams, BindingResult bindingResult) {
+        if (bindingResult.hasErrors()) {
+            return ResultUtil.error(bindingResult.getAllErrors().get(0).getDefaultMessage());
+        }
+        return ResultUtil.ok(examPrintPlanService.removePrintPlan(deleteParams));
+    }
 }