Răsfoiți Sursa

机构整合

wangliang 2 ani în urmă
părinte
comite
c59063594f

+ 0 - 14
distributed-print-business/src/main/java/com/qmth/distributed/print/business/bean/params/GenericExamCardParams.java

@@ -1,12 +1,7 @@
 package com.qmth.distributed.print.business.bean.params;
 
-import com.qmth.distributed.print.business.enums.CardStatusEnum;
-import com.qmth.distributed.print.business.enums.CardTypeEnum;
-import com.qmth.distributed.print.business.enums.MakeMethodEnum;
 import com.qmth.teachcloud.common.enums.CardCreateMethodEnum;
 
-import java.util.List;
-
 /**
  * 题卡管理(通卡)参数
  */
@@ -25,7 +20,6 @@ public class GenericExamCardParams {
     private String remark;
     private Long cardRuleId;
     private String status;
-    private Long[] orgIds;
 
     public Long getId() {
         return id;
@@ -91,14 +85,6 @@ public class GenericExamCardParams {
         this.cardRuleId = cardRuleId;
     }
 
-    public Long[] getOrgIds() {
-        return orgIds;
-    }
-
-    public void setOrgIds(Long[] orgIds) {
-        this.orgIds = orgIds;
-    }
-
     public String getStatus() {
         return status;
     }

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

@@ -12,16 +12,6 @@ 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")

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

@@ -4,10 +4,12 @@ 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.TemplateDto;
-import com.qmth.distributed.print.business.bean.params.TemplateParam;
+import com.qmth.distributed.print.business.bean.result.TemplatePrintInfoResult;
 import com.qmth.distributed.print.business.entity.BasicTemplate;
 import org.apache.ibatis.annotations.Param;
 
+import java.util.List;
+
 /**
  * <p>
  * 通用模板 Mapper 接口
@@ -19,4 +21,12 @@ import org.apache.ibatis.annotations.Param;
 public interface BasicTemplateMapper extends BaseMapper<BasicTemplate> {
 
     IPage<TemplateDto> listPage(Page<TemplateDto> page, @Param("schoolId") Long schoolId, @Param("enable") Boolean enable, @Param("type") String type, @Param("name") String name, @Param("startTime") Long startTime, @Param("endTime") Long endTime);
+
+    /**
+     * 查找模版(机构同级及以下)
+     *
+     * @param ids
+     * @return
+     */
+    List<TemplatePrintInfoResult> findTemplateInfoByOrgIds(@Param("orgIds") List<Long> ids);
 }

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

@@ -3,9 +3,11 @@ 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.TemplateDto;
-import com.qmth.distributed.print.business.bean.params.TemplateParam;
+import com.qmth.distributed.print.business.bean.result.TemplatePrintInfoResult;
 import com.qmth.distributed.print.business.entity.BasicTemplate;
 
+import java.util.List;
+
 /**
  * <p>
  * 通用模板 服务类
@@ -25,4 +27,12 @@ public interface BasicTemplateService extends IService<BasicTemplate> {
     BasicTemplate getOne(Long id);
 
     Object readContent(Long attachmentId);
+
+    /**
+     * 查找模版(机构同级及以下)
+     *
+     * @param ids
+     * @return
+     */
+    List<TemplatePrintInfoResult> findTemplateInfoByOrgIds(List<Long> ids);
 }

+ 15 - 0
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/BasicTemplateServiceImpl.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.TemplateDto;
 import com.qmth.distributed.print.business.bean.params.ExamCardParams;
+import com.qmth.distributed.print.business.bean.result.TemplatePrintInfoResult;
 import com.qmth.distributed.print.business.entity.BasicTemplate;
 import com.qmth.distributed.print.business.entity.ExamCard;
 import com.qmth.distributed.print.business.entity.ExamCardDetail;
@@ -30,6 +31,7 @@ import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
 import javax.annotation.Resource;
+import java.util.List;
 import java.util.Objects;
 
 /**
@@ -55,6 +57,9 @@ public class BasicTemplateServiceImpl extends ServiceImpl<BasicTemplateMapper, B
     @Resource
     TeachcloudCommonService teachcloudCommonService;
 
+    @Resource
+    BasicTemplateMapper basicTemplateMapper;
+
     @Override
     public IPage<TemplateDto> list(Boolean enable, String type, String name, Long startTime, Long endTime, Integer pageNumber, Integer pageSize) {
         Long schoolId = Long.valueOf(ServletUtil.getRequestHeaderSchoolId().toString());
@@ -160,4 +165,14 @@ public class BasicTemplateServiceImpl extends ServiceImpl<BasicTemplateMapper, B
         return null;
     }
 
+    /**
+     * 查找模版(机构同级及以下)
+     *
+     * @param ids
+     * @return
+     */
+    @Override
+    public List<TemplatePrintInfoResult> findTemplateInfoByOrgIds(List<Long> ids) {
+        return basicTemplateMapper.findTemplateInfoByOrgIds(ids);
+    }
 }

+ 0 - 9
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/ExamCardServiceImpl.java

@@ -411,16 +411,7 @@ public class ExamCardServiceImpl extends ServiceImpl<ExamCardMapper, ExamCard> i
                 examCardDetail.setJpgAttachmentInfo(JSON.toJSONString(convertJpgStorageList));
             }
             examCardDetailService.updateById(examCardDetail);
-
-            //删除权限
-//            basicTemplateOrgService.removeByRuleId(examCard.getId());
-        }
-
-        // 保存适用范围
-        if (params.getOrgIds() == null || params.getOrgIds().length == 0) {
-            throw ExceptionResultEnum.ERROR.exception("请选择适用范围");
         }
-//        basicTemplateOrgService.saveBatch(schoolId, TemplateTypeEnum.GENERIC, examCard.getId(), params.getOrgIds(), examCard.getCreateId());
         return examCard.getId();
     }
 

+ 58 - 55
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/ExamPrintPlanServiceImpl.java

@@ -12,11 +12,9 @@ import com.qmth.distributed.print.business.bean.params.PrintPlanParams;
 import com.qmth.distributed.print.business.bean.params.SyncDataParam;
 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.TemplatePrintInfoResult;
 import com.qmth.distributed.print.business.entity.*;
-import com.qmth.distributed.print.business.enums.ExamDetailStatusEnum;
-import com.qmth.distributed.print.business.enums.ExamPrintPlanSyncStatusEnum;
-import com.qmth.distributed.print.business.enums.MessageEnum;
-import com.qmth.distributed.print.business.enums.PrintPlanStatusEnum;
+import com.qmth.distributed.print.business.enums.*;
 import com.qmth.distributed.print.business.mapper.ExamPrintPlanMapper;
 import com.qmth.distributed.print.business.service.*;
 import com.qmth.distributed.print.business.templete.execute.AsyncCloudMarkingTaskService;
@@ -87,6 +85,7 @@ public class ExamPrintPlanServiceImpl extends ServiceImpl<ExamPrintPlanMapper, E
 
     @Autowired
     BasicClazzService basicClazzService;
+
     @Resource
     ExamDetailCourseService examDetailCourseService;
 
@@ -99,6 +98,9 @@ public class ExamPrintPlanServiceImpl extends ServiceImpl<ExamPrintPlanMapper, E
     @Resource
     CloudMarkingTaskUtils cloudMarkingTaskUtils;
 
+    @Resource
+    BasicTemplateService basicTemplateService;
+
     @Transactional(rollbackFor = Exception.class)
     @Override
     public IPage<PrintPlanResult> printPlanPage(Long schoolId, Long semesterId, Long examId, List<Long> printPlanIdList, PrintPlanStatusEnum status, Long startTime, Long endTime, int pageNumber, int pageSize) {
@@ -192,59 +194,60 @@ public class ExamPrintPlanServiceImpl extends ServiceImpl<ExamPrintPlanMapper, E
         }
 
         //3.关联template和template_org表 查询出来orgIds所包含的所有模板并组装
-//        List<TemplatePrintInfoResult> templateInfoList = basicTemplateOrgService.findTemplateInfoByOrgIds(orgIds);
-//        templateInfoList = templateInfoList.stream().distinct().collect(Collectors.toList());
-//        System.out.println(JSONObject.toJSONString(templateInfoList));
+        if (CollectionUtils.isEmpty(orgIds)) {
+            return null;
+        }
+        List<TemplatePrintInfoResult> templateInfoList = basicTemplateService.findTemplateInfoByOrgIds(orgIds);
         Map<String, Object> result = new HashMap<>();
 
-//        // 变量印品
-//        List<Map<String, Object>> variable = new ArrayList<>();
-//        List<TemplatePrintInfoResult> variableList = templateInfoList.stream()
-//                .filter(e -> TemplateTypeEnum.VARIABLE.equals(e.getTemplateType()))
-//                .collect(Collectors.toList());
-//        for (ClassifyEnum value : ClassifyEnum.values()) {
-//            Map<String, Object> variableMap = new HashMap<>();
-//            List<TemplatePrintInfoResult> sourceList = variableList.stream().filter(e -> value.equals(e.getTemplateClassify())).collect(Collectors.toList());
-//            List<Map<String, Object>> templateList = new ArrayList<>();
-//            for (TemplatePrintInfoResult templatePrintInfoResult : sourceList) {
-//                Map<String, Object> printMap = new HashMap<>();
-//                printMap.put("id", String.valueOf(templatePrintInfoResult.getTemplateId()));
-//                printMap.put("name", templatePrintInfoResult.getTemplateName());
-//                printMap.put("attachmentId", templatePrintInfoResult.getAttachmentId().toString());
-//                templateList.add(printMap);
-//            }
-//            if (templateList.size() > 0) {
-//                variableMap.put("type", value);
-//                variableMap.put("template", templateList);
-//                variable.add(variableMap);
-//            }
-//        }
-//
-//        // 普通印品
-//        List<Map<String, Object>> ordinary = new ArrayList<>();
-//        List<TemplatePrintInfoResult> ordinaryList = templateInfoList.stream()
-//                .filter(e -> TemplateTypeEnum.ORDINARY.equals(e.getTemplateType()))
-//                .collect(Collectors.toList());
-//        Map<String, Object> ordinaryMap = new HashMap<>();
-//        for (ClassifyEnum value : ClassifyEnum.values()) {
-//            List<TemplatePrintInfoResult> sourceList = ordinaryList.stream().filter(e -> value.equals(e.getTemplateClassify())).collect(Collectors.toList());
-//            List<Map<String, Object>> templateList = new ArrayList<>();
-//            for (TemplatePrintInfoResult templatePrintInfoResult : sourceList) {
-//                Map<String, Object> printMap = new HashMap<>();
-//                printMap.put("id", String.valueOf(templatePrintInfoResult.getTemplateId()));
-//                printMap.put("name", templatePrintInfoResult.getTemplateName());
-//                printMap.put("attachmentId", templatePrintInfoResult.getAttachmentId().toString());
-//                templateList.add(printMap);
-//            }
-//            if (templateList.size() > 0) {
-//                ordinaryMap.put("type", value);
-//                ordinaryMap.put("template", templateList);
-//                ordinary.add(ordinaryMap);
-//            }
-//        }
-//
-//        result.put("variable", variable);
-//        result.put("ordinary", ordinary);
+        // 变量印品
+        List<Map<String, Object>> variable = new ArrayList<>();
+        List<TemplatePrintInfoResult> variableList = templateInfoList.stream()
+                .filter(e -> TemplateTypeEnum.VARIABLE.equals(e.getTemplateType()))
+                .collect(Collectors.toList());
+        for (ClassifyEnum value : ClassifyEnum.values()) {
+            Map<String, Object> variableMap = new HashMap<>();
+            List<TemplatePrintInfoResult> sourceList = variableList.stream().filter(e -> value.equals(e.getTemplateClassify())).collect(Collectors.toList());
+            List<Map<String, Object>> templateList = new ArrayList<>();
+            for (TemplatePrintInfoResult templatePrintInfoResult : sourceList) {
+                Map<String, Object> printMap = new HashMap<>();
+                printMap.put("id", String.valueOf(templatePrintInfoResult.getTemplateId()));
+                printMap.put("name", templatePrintInfoResult.getTemplateName());
+                printMap.put("attachmentId", templatePrintInfoResult.getAttachmentId().toString());
+                templateList.add(printMap);
+            }
+            if (templateList.size() > 0) {
+                variableMap.put("type", value);
+                variableMap.put("template", templateList);
+                variable.add(variableMap);
+            }
+        }
+
+        // 普通印品
+        List<Map<String, Object>> ordinary = new ArrayList<>();
+        List<TemplatePrintInfoResult> ordinaryList = templateInfoList.stream()
+                .filter(e -> TemplateTypeEnum.ORDINARY.equals(e.getTemplateType()))
+                .collect(Collectors.toList());
+        Map<String, Object> ordinaryMap = new HashMap<>();
+        for (ClassifyEnum value : ClassifyEnum.values()) {
+            List<TemplatePrintInfoResult> sourceList = ordinaryList.stream().filter(e -> value.equals(e.getTemplateClassify())).collect(Collectors.toList());
+            List<Map<String, Object>> templateList = new ArrayList<>();
+            for (TemplatePrintInfoResult templatePrintInfoResult : sourceList) {
+                Map<String, Object> printMap = new HashMap<>();
+                printMap.put("id", String.valueOf(templatePrintInfoResult.getTemplateId()));
+                printMap.put("name", templatePrintInfoResult.getTemplateName());
+                printMap.put("attachmentId", templatePrintInfoResult.getAttachmentId().toString());
+                templateList.add(printMap);
+            }
+            if (templateList.size() > 0) {
+                ordinaryMap.put("type", value);
+                ordinaryMap.put("template", templateList);
+                ordinary.add(ordinaryMap);
+            }
+        }
+
+        result.put("variable", variable);
+        result.put("ordinary", ordinary);
         return result;
     }
 

+ 49 - 24
distributed-print-business/src/main/resources/mapper/BasicTemplateMapper.xml

@@ -4,39 +4,41 @@
 
     <!-- 通用查询映射结果 -->
     <resultMap id="BaseResultMap" type="com.qmth.distributed.print.business.entity.BasicTemplate">
-    <result column="id" property="id" />
-        <result column="school_id" property="schoolId" />
-        <result column="name" property="name" />
-        <result column="type" property="type" />
-        <result column="classify" property="classify" />
-        <result column="attachment_id" property="attachmentId" />
-        <result column="enable" property="enable" />
-        <result column="remark" property="remark" />
-        <result column="create_id" property="createId" />
-        <result column="create_time" property="createTime" />
-        <result column="update_id" property="updateId" />
-        <result column="update_time" property="updateTime" />
+        <result column="id" property="id"/>
+        <result column="school_id" property="schoolId"/>
+        <result column="name" property="name"/>
+        <result column="type" property="type"/>
+        <result column="classify" property="classify"/>
+        <result column="attachment_id" property="attachmentId"/>
+        <result column="enable" property="enable"/>
+        <result column="remark" property="remark"/>
+        <result column="create_id" property="createId"/>
+        <result column="create_time" property="createTime"/>
+        <result column="update_id" property="updateId"/>
+        <result column="update_time" property="updateTime"/>
     </resultMap>
 
     <!-- 通用查询结果列 -->
     <sql id="Base_Column_List">
-        id,
+        id
+        ,
         school_id, name, type, classify, attachment_id, enable, remark, create_id, create_time, update_id, update_time
     </sql>
+
     <select id="listPage" resultType="com.qmth.distributed.print.business.bean.dto.TemplateDto">
         SELECT
-            id,
-            school_id schoolId,
-            name,
-            type,
-            classify,
-            attachment_id attachmentId,
-            enable,
-            remark,
-            create_id createId,
-            create_time createTime
+        id,
+        school_id schoolId,
+        name,
+        type,
+        classify,
+        attachment_id attachmentId,
+        enable,
+        remark,
+        create_id createId,
+        create_time createTime
         FROM
-            basic_template
+        basic_template
         <where>
             <if test="schoolId != null and schoolId != ''">
                 and school_id = #{schoolId}
@@ -60,4 +62,27 @@
         order by create_time desc
     </select>
 
+
+    <select id="findTemplateInfoByOrgIds" resultType="com.qmth.distributed.print.business.bean.result.TemplatePrintInfoResult">
+        SELECT
+        DISTINCT (tmp.id) as templateId,
+        tmp.school_id as schoolId,
+        tmp.name as templateName,
+        tmp.type as templateType,
+        tmp.classify as templateClassify,
+        tmp.attachment_id as attachmentId,
+        tmp.enable as enable,
+        tmp.remark as remark
+        FROM basic_template tmp
+        <where>
+            and tmp.enable = true
+            AND (tmp.type = 'VARIABLE' OR tmp.type = 'ORDINARY')
+            <if test="orgIds != null and orgIds != '' and orgIds.size() > 0">
+                AND tmp.org_id IN
+                <foreach collection="orgIds" item="item" index="index" open="(" separator="," close=")">
+                    #{item}
+                </foreach>
+            </if>
+        </where>
+    </select>
 </mapper>