Browse Source

机构整合-还原basicTemplateOrg

wangliang 2 years ago
parent
commit
64e9f609c8

+ 83 - 0
distributed-print-business/src/main/java/com/qmth/distributed/print/business/entity/BasicTemplateOrg.java

@@ -0,0 +1,83 @@
+package com.qmth.distributed.print.business.entity;
+
+import com.baomidou.mybatisplus.annotation.FieldStrategy;
+import com.baomidou.mybatisplus.annotation.TableField;
+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.enums.TemplateTypeEnum;
+import com.qmth.teachcloud.common.base.BaseEntity;
+import io.swagger.annotations.ApiModelProperty;
+
+import java.io.Serializable;
+
+/**
+ * <p>
+ * 适用学院(题卡规则、模板适用学院)
+ * </p>
+ *
+ * @author xf
+ * @since 2021-03-23
+ */
+@TableName("basic_template_org")
+public class BasicTemplateOrg extends BaseEntity implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @ApiModelProperty(value = "学校id")
+    @JsonSerialize(using = ToStringSerializer.class)
+    @TableField("school_id")
+    private Long schoolId;
+
+    @ApiModelProperty(value = "机构id")
+    @JsonSerialize(using = ToStringSerializer.class)
+    @TableField(value = "org_id", updateStrategy = FieldStrategy.IGNORED)
+    private Long orgId;
+
+    /**
+     * 模板类型:GENERIC-通卡模板,VARIABLE-变量印品模板,ORDINARY-普通印品模板,CARD_RULE-题卡规则
+     */
+    private TemplateTypeEnum type;
+    /**
+     * 通卡模板ID
+     */
+    @JsonSerialize(using = ToStringSerializer.class)
+    @TableField("rule_id")
+    private Long ruleId;
+
+    public static long getSerialVersionUID() {
+        return serialVersionUID;
+    }
+
+    public Long getSchoolId() {
+        return schoolId;
+    }
+
+    public void setSchoolId(Long schoolId) {
+        this.schoolId = schoolId;
+    }
+
+    public Long getOrgId() {
+        return orgId;
+    }
+
+    public void setOrgId(Long orgId) {
+        this.orgId = orgId;
+    }
+
+    public TemplateTypeEnum getType() {
+        return type;
+    }
+
+    public void setType(TemplateTypeEnum type) {
+        this.type = type;
+    }
+
+    public Long getRuleId() {
+        return ruleId;
+    }
+
+    public void setRuleId(Long ruleId) {
+        this.ruleId = ruleId;
+    }
+}

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

@@ -0,0 +1,29 @@
+package com.qmth.distributed.print.business.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.qmth.distributed.print.business.bean.result.TemplatePrintInfoResult;
+import com.qmth.distributed.print.business.entity.BasicTemplateOrg;
+import com.qmth.teachcloud.common.entity.SysOrg;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 适用学院(题卡规则、模板适用学院) Mapper 接口
+ * </p>
+ *
+ * @author xf
+ * @since 2021-03-23
+ */
+public interface BasicTemplateOrgMapper extends BaseMapper<BasicTemplateOrg> {
+
+    List<SysOrg> listByTypeAndTemplateId(@Param("type") String type, @Param("templateId") Long templateId);
+
+    /**
+     * 查询机构集合所使用的印品模板信息
+     * @param orgIds 机构集合
+     * @return 模板信息
+     */
+    List<TemplatePrintInfoResult> templateListByOrgIds(@Param("orgIds")List<Long> orgIds);
+}

+ 42 - 0
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/BasicTemplateOrgService.java

@@ -0,0 +1,42 @@
+package com.qmth.distributed.print.business.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.qmth.distributed.print.business.entity.BasicTemplateOrg;
+import com.qmth.distributed.print.business.enums.TemplateTypeEnum;
+import com.qmth.teachcloud.common.entity.SysOrg;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 适用学院(题卡规则、模板适用学院) 服务类
+ * </p>
+ *
+ * @author xf
+ * @since 2021-03-23
+ */
+public interface BasicTemplateOrgService extends IService<BasicTemplateOrg> {
+
+    List<SysOrg> listByTypeAndTemplateId(String type, Long templateId);
+
+    void removeByRuleId(Long id);
+
+    void saveBatch(Long schoolId, TemplateTypeEnum type, Long ruleId, Long[] orgIds, Long createId);
+
+//    /**
+//     * 根据机构id查询所有机构集合下所使用的的模板信息
+//     *
+//     * @param ids 机构id集合
+//     * @return 模板信息集合
+//     */
+//    List<TemplatePrintInfoResult> findTemplateInfoByOrgIds(List<Long> ids);
+//
+//    /**
+//     * 查询基础机构模板对应关系根据课程编号
+//     * @param courseCode 课程编号
+//     * @param templateTypeEnum 类型
+//     * @param schoolId 学校id
+//     * @return 对应关系
+//     */
+//    List<BasicTemplateOrg> findByCourseCodeAndType(String courseCode,TemplateTypeEnum templateTypeEnum,Long schoolId);
+}

+ 62 - 43
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/BasicPrintConfigServiceImpl.java

@@ -6,10 +6,12 @@ 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.BasicPrintConfigDto;
+import com.qmth.distributed.print.business.entity.BasicTemplateOrg;
 import com.qmth.distributed.print.business.enums.TemplateTypeEnum;
 import com.qmth.distributed.print.business.mapper.BasicPrintConfigMapper;
 import com.qmth.distributed.print.business.service.BasicExamService;
 import com.qmth.distributed.print.business.service.BasicPrintConfigService;
+import com.qmth.distributed.print.business.service.BasicTemplateOrgService;
 import com.qmth.teachcloud.common.contant.SystemConstant;
 import com.qmth.teachcloud.common.entity.BasicExam;
 import com.qmth.teachcloud.common.entity.BasicPrintConfig;
@@ -27,6 +29,7 @@ import javax.annotation.Resource;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Objects;
+import java.util.stream.Collectors;
 
 /**
  * <p>
@@ -48,10 +51,26 @@ public class BasicPrintConfigServiceImpl extends ServiceImpl<BasicPrintConfigMap
     @Autowired
     private SysOrgService sysOrgService;
 
+    @Resource
+    BasicTemplateOrgService basicTemplateOrgService;
+
     @Override
     public IPage<BasicPrintConfigDto> listPage(Long examId, Boolean enable, Long createStartTime, Long createEndTime, Integer pageNumber, Integer pageSize) {
         Long schoolId = Long.valueOf(ServletUtil.getRequestHeaderSchoolId().toString());
-        return this.baseMapper.listPage(new Page<>(pageNumber, pageSize), schoolId, examId, enable, createStartTime, createEndTime);
+        Page<BasicPrintConfigDto> page = new Page<>(pageNumber, pageSize);
+        IPage<BasicPrintConfigDto> printConfigDtoIPage = this.baseMapper.listPage(page, schoolId, examId, enable, createStartTime, createEndTime);
+        if (printConfigDtoIPage.getRecords().size() > 0) {
+            printConfigDtoIPage.getRecords().forEach(m -> {
+                //查询适用学院
+                List<SysOrg> sysOrgs = basicTemplateOrgService.listByTypeAndTemplateId(TemplateTypeEnum.PRINT_CONFIG.name(), Long.valueOf(m.getId()));
+                if (sysOrgs != null && sysOrgs.size() > 0) {
+                    String orgNames = sysOrgs.stream().map(SysOrg::getName).collect(Collectors.joining(","));
+                    m.setOrgNames(orgNames);
+                }
+                m.setOrgs(sysOrgs);
+            });
+        }
+        return printConfigDtoIPage;
     }
 
     @Override
@@ -72,21 +91,21 @@ public class BasicPrintConfigServiceImpl extends ServiceImpl<BasicPrintConfigMap
 
         // 新增
         if (Objects.isNull(basicPrintConfig.getId())) {
-//            QueryWrapper<BasicPrintConfig> queryWrapper = new QueryWrapper<>();
-//            queryWrapper.lambda().eq(BasicPrintConfig::getSchoolId, schoolId).eq(BasicPrintConfig::getExamId, basicPrintConfig.getExamId());
-//            List<BasicPrintConfig> basicPrintConfigs = this.list(queryWrapper);
-            // 同一个考试下,一个学院只能对应一个印品配置方案
-//            Long[] orgIds = basicPrintConfig.getOrgIds();
-//            if (basicPrintConfigs != null && basicPrintConfigs.size() > 0) {
-//                List<Long> printConfigIds = basicPrintConfigs.stream().map(BasicPrintConfig::getId).collect(Collectors.toList());
-//                QueryWrapper<BasicTemplateOrg> basicTemplateOrgQueryWrapper = new QueryWrapper<>();
-//                basicTemplateOrgQueryWrapper.lambda().in(BasicTemplateOrg::getRuleId, printConfigIds).eq(BasicTemplateOrg::getType, TemplateTypeEnum.PRINT_CONFIG)
-//                        .in(BasicTemplateOrg::getOrgId, orgIds);
-//                List<BasicTemplateOrg> basicTemplateOrgList = basicTemplateOrgService.list(basicTemplateOrgQueryWrapper);
-//                if (basicTemplateOrgList != null && basicTemplateOrgList.size() > 0) {
-//                    throw ExceptionResultEnum.ERROR.exception("有" + basicTemplateOrgList.size() + "个机构已经设置了印品,不能重复设置");
-//                }
-//            }
+            QueryWrapper<BasicPrintConfig> queryWrapper = new QueryWrapper<>();
+            queryWrapper.lambda().eq(BasicPrintConfig::getSchoolId, schoolId).eq(BasicPrintConfig::getExamId, basicPrintConfig.getExamId());
+            List<BasicPrintConfig> basicPrintConfigs = this.list(queryWrapper);
+            //同一个考试下,一个学院只能对应一个印品配置方案
+            Long[] orgIds = basicPrintConfig.getOrgIds();
+            if (basicPrintConfigs != null && basicPrintConfigs.size() > 0) {
+                List<Long> printConfigIds = basicPrintConfigs.stream().map(BasicPrintConfig::getId).collect(Collectors.toList());
+                QueryWrapper<BasicTemplateOrg> basicTemplateOrgQueryWrapper = new QueryWrapper<>();
+                basicTemplateOrgQueryWrapper.lambda().in(BasicTemplateOrg::getRuleId, printConfigIds).eq(BasicTemplateOrg::getType, TemplateTypeEnum.PRINT_CONFIG)
+                        .in(BasicTemplateOrg::getOrgId, orgIds);
+                List<BasicTemplateOrg> basicTemplateOrgList = basicTemplateOrgService.list(basicTemplateOrgQueryWrapper);
+                if (basicTemplateOrgList != null && basicTemplateOrgList.size() > 0) {
+                    throw ExceptionResultEnum.ERROR.exception("有" + basicTemplateOrgList.size() + "个机构已经设置了印品,不能重复设置");
+                }
+            }
 
             basicPrintConfig.setId(SystemConstant.getDbUuid());
             basicPrintConfig.setCreateId(sysUser.getId());
@@ -95,35 +114,35 @@ public class BasicPrintConfigServiceImpl extends ServiceImpl<BasicPrintConfigMap
         }
         // 修改
         else {
-//            QueryWrapper<BasicPrintConfig> queryWrapper = new QueryWrapper<>();
-//            queryWrapper.lambda().eq(BasicPrintConfig::getSchoolId, schoolId)
-//                    .eq(BasicPrintConfig::getExamId, basicPrintConfig.getExamId())
-//                    .ne(BasicPrintConfig::getId, basicPrintConfig.getId());
-//            List<BasicPrintConfig> basicPrintConfigs = this.list(queryWrapper);
-            // 一个学院只能对应一个印品配置方案
-//            Long[] orgIds = basicPrintConfig.getOrgIds();
-//            if (basicPrintConfigs != null && basicPrintConfigs.size() > 0) {
-//                List<Long> printConfigIds = basicPrintConfigs.stream().map(BasicPrintConfig::getId).collect(Collectors.toList());
-//                QueryWrapper<BasicTemplateOrg> basicTemplateOrgQueryWrapper = new QueryWrapper<>();
-//                basicTemplateOrgQueryWrapper.lambda().in(BasicTemplateOrg::getRuleId, printConfigIds)
-//                        .eq(BasicTemplateOrg::getType, TemplateTypeEnum.PRINT_CONFIG)
-//                        .in(BasicTemplateOrg::getOrgId, orgIds);
-//                List<BasicTemplateOrg> basicTemplateOrgList = basicTemplateOrgService.list(basicTemplateOrgQueryWrapper);
-//                if (basicTemplateOrgList != null && basicTemplateOrgList.size() > 0) {
-//                    throw ExceptionResultEnum.ERROR.exception("有" + basicTemplateOrgList.size() + "个机构已经设置了印品,不能重复设置");
-//                }
-//            }
+            QueryWrapper<BasicPrintConfig> queryWrapper = new QueryWrapper<>();
+            queryWrapper.lambda().eq(BasicPrintConfig::getSchoolId, schoolId)
+                    .eq(BasicPrintConfig::getExamId, basicPrintConfig.getExamId())
+                    .ne(BasicPrintConfig::getId, basicPrintConfig.getId());
+            List<BasicPrintConfig> basicPrintConfigs = this.list(queryWrapper);
+            //一个学院只能对应一个印品配置方案
+            Long[] orgIds = basicPrintConfig.getOrgIds();
+            if (basicPrintConfigs != null && basicPrintConfigs.size() > 0) {
+                List<Long> printConfigIds = basicPrintConfigs.stream().map(BasicPrintConfig::getId).collect(Collectors.toList());
+                QueryWrapper<BasicTemplateOrg> basicTemplateOrgQueryWrapper = new QueryWrapper<>();
+                basicTemplateOrgQueryWrapper.lambda().in(BasicTemplateOrg::getRuleId, printConfigIds)
+                        .eq(BasicTemplateOrg::getType, TemplateTypeEnum.PRINT_CONFIG)
+                        .in(BasicTemplateOrg::getOrgId, orgIds);
+                List<BasicTemplateOrg> basicTemplateOrgList = basicTemplateOrgService.list(basicTemplateOrgQueryWrapper);
+                if (basicTemplateOrgList != null && basicTemplateOrgList.size() > 0) {
+                    throw ExceptionResultEnum.ERROR.exception("有" + basicTemplateOrgList.size() + "个机构已经设置了印品,不能重复设置");
+                }
+            }
 
             basicPrintConfig.setUpdateId(sysUser.getId());
             basicPrintConfig.setUpdateTime(System.currentTimeMillis());
 
             //删除权限
-//            basicTemplateOrgService.removeByRuleId(basicPrintConfig.getId());
+            basicTemplateOrgService.removeByRuleId(basicPrintConfig.getId());
             isSuccess = this.updateById(basicPrintConfig);
         }
 
         // 新增权限
-//        basicTemplateOrgService.saveBatch(schoolId, TemplateTypeEnum.PRINT_CONFIG, basicPrintConfig.getId(), basicPrintConfig.getOrgIds(), basicPrintConfig.getCreateId());
+        basicTemplateOrgService.saveBatch(schoolId, TemplateTypeEnum.PRINT_CONFIG, basicPrintConfig.getId(), basicPrintConfig.getOrgIds(), basicPrintConfig.getCreateId());
         return isSuccess;
     }
 
@@ -179,14 +198,14 @@ public class BasicPrintConfigServiceImpl extends ServiceImpl<BasicPrintConfigMap
         if (id != null) {
             queryWrapper.lambda().ne(BasicPrintConfig::getId, id);
         }
-//        List<BasicPrintConfig> basicPrintConfigs = this.list(queryWrapper);
+        List<BasicPrintConfig> basicPrintConfigs = this.list(queryWrapper);
         List<String> orgIds = new ArrayList<>();
-//        for (BasicPrintConfig basicPrintConfig : basicPrintConfigs) {
-//            List<SysOrg> sysOrgList = basicTemplateOrgService.listByTypeAndTemplateId(TemplateTypeEnum.PRINT_CONFIG.name(), basicPrintConfig.getId());
-//            for (SysOrg sysOrg : sysOrgList) {
-//                orgIds.add(String.valueOf(sysOrg.getId()));
-//            }
-//        }
+        for (BasicPrintConfig basicPrintConfig : basicPrintConfigs) {
+            List<SysOrg> sysOrgList = basicTemplateOrgService.listByTypeAndTemplateId(TemplateTypeEnum.PRINT_CONFIG.name(), basicPrintConfig.getId());
+            for (SysOrg sysOrg : sysOrgList) {
+                orgIds.add(String.valueOf(sysOrg.getId()));
+            }
+        }
         return orgIds;
     }
 

+ 77 - 0
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/BasicTemplateOrgServiceImpl.java

@@ -0,0 +1,77 @@
+package com.qmth.distributed.print.business.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.qmth.distributed.print.business.entity.BasicTemplateOrg;
+import com.qmth.distributed.print.business.enums.TemplateTypeEnum;
+import com.qmth.distributed.print.business.mapper.BasicTemplateOrgMapper;
+import com.qmth.distributed.print.business.service.BasicTemplateOrgService;
+import com.qmth.teachcloud.common.entity.SysOrg;
+import com.qmth.teachcloud.common.service.BasicCourseService;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * <p>
+ * 适用学院(题卡规则、模板适用学院) 服务实现类
+ * </p>
+ *
+ * @author xf
+ * @since 2021-03-23
+ */
+@Service
+public class BasicTemplateOrgServiceImpl extends ServiceImpl<BasicTemplateOrgMapper, BasicTemplateOrg> implements BasicTemplateOrgService {
+
+    @Resource
+    private BasicTemplateOrgMapper basicTemplateOrgMapper;
+
+    @Resource
+    private BasicCourseService basicCourseService;
+
+    @Override
+    public List<SysOrg> listByTypeAndTemplateId(String type, Long templateId) {
+        return this.baseMapper.listByTypeAndTemplateId(type, templateId);
+    }
+
+    @Override
+    public void removeByRuleId(Long id) {
+        UpdateWrapper<BasicTemplateOrg> updateWrapper = new UpdateWrapper<>();
+        updateWrapper.lambda().eq(BasicTemplateOrg::getRuleId, id);
+        this.remove(updateWrapper);
+    }
+
+    @Override
+    public void saveBatch(Long schoolId, TemplateTypeEnum type, Long ruleId, Long[] orgIds, Long createId) {
+        List<BasicTemplateOrg> list = new ArrayList<>();
+        for (Long orgId : orgIds) {
+            BasicTemplateOrg basicTemplateOrg = new BasicTemplateOrg();
+            basicTemplateOrg.setSchoolId(schoolId);
+            basicTemplateOrg.setType(type);
+            basicTemplateOrg.setRuleId(ruleId);
+            basicTemplateOrg.setOrgId(orgId);
+            basicTemplateOrg.insertInfo(createId);
+            list.add(basicTemplateOrg);
+        }
+        this.saveBatch(list);
+    }
+
+//    @Override
+//    public List<TemplatePrintInfoResult> findTemplateInfoByOrgIds(List<Long> ids) {
+//        return basicTemplateOrgMapper.templateListByOrgIds(ids);
+//    }
+//
+//    @Override
+//    public List<BasicTemplateOrg> findByCourseCodeAndType(String courseCode, TemplateTypeEnum templateTypeEnum, Long schoolId) {
+//        BasicCourse basicCourse = basicCourseService.getOne(new QueryWrapper<BasicCourse>().lambda().eq(BasicCourse::getSchoolId,schoolId).eq(BasicCourse::getCode,courseCode));
+//        if (Objects.isNull(basicCourse)){
+//            throw ExceptionResultEnum.ERROR.exception("未找到基础课程信息");
+//        }
+//        return this.list(new QueryWrapper<BasicTemplateOrg>().lambda()
+//                .eq(BasicTemplateOrg::getSchoolId,schoolId)
+//                .eq(BasicTemplateOrg::getType,templateTypeEnum)
+//                .eq(BasicTemplateOrg::getOrgId,basicCourse.getTeachingRoomId()));
+//    }
+}

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

@@ -159,8 +159,7 @@ public class BasicTemplateServiceImpl extends ServiceImpl<BasicTemplateMapper, B
     public Object readContent(Long attachmentId) {
         BasicAttachment attachment = basicAttachmentService.getById(attachmentId);
         if (attachment.getType().equals(".ftl") || attachment.getType().equals(".html")) {
-            String content = teachcloudCommonService.readFileContent(attachment.getPath());
-            return content;
+            return teachcloudCommonService.readFileContent(attachment.getPath());
         }
         return null;
     }

+ 17 - 0
distributed-print-business/src/main/resources/db/1、init-table.sql

@@ -1,5 +1,22 @@
 SET NAMES UTF8;
 
+-- ----------------------------
+-- Table structure for basic_template_org
+-- ----------------------------
+DROP TABLE IF EXISTS `basic_template_org`;
+CREATE TABLE `basic_template_org` (
+                                      `id` bigint NOT NULL COMMENT '主键',
+                                      `school_id` bigint NOT NULL COMMENT '学校id',
+                                      `type` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '模板类型:GENERIC-通卡模板,VARIABLE-变量印品模板,ORDINARY-普通印品模板,CARD_RULE-题卡规则,PRINT_CONFIG-印品配置',
+                                      `rule_id` bigint NOT NULL COMMENT '通卡模板ID',
+                                      `org_id` bigint NOT NULL COMMENT '组织机构ID',
+                                      `create_id` bigint DEFAULT NULL COMMENT '创建人',
+                                      `create_time` bigint DEFAULT NULL COMMENT '创建时间',
+                                      `update_id` bigint DEFAULT NULL COMMENT '更新人',
+                                      `update_time` bigint DEFAULT NULL COMMENT '更新时间',
+                                      PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='适用学院(题卡规则、模板适用学院)';
+
 -- ----------------------------
 -- Table structure for basic_attachment
 -- ----------------------------

+ 60 - 0
distributed-print-business/src/main/resources/mapper/BasicTemplateOrgMapper.xml

@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.qmth.distributed.print.business.mapper.BasicTemplateOrgMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.qmth.distributed.print.business.entity.BasicTemplateOrg">
+        <result column="id" property="id"/>
+        <result column="type" property="type"/>
+        <result column="rule_id" property="ruleId"/>
+        <result column="org_id" property="orgId"/>
+    </resultMap>
+
+    <!-- 通用查询结果列 -->
+    <sql id="Base_Column_List">
+        id
+        ,
+        type, rule_id, org_id
+    </sql>
+
+    <select id="listByTypeAndTemplateId" resultType="com.qmth.teachcloud.common.entity.SysOrg">
+        SELECT a.id,
+               a.code,
+               a.name
+        FROM sys_org a
+                 JOIN
+             basic_template_org b ON a.id = b.org_id AND b.type = #{type}
+        WHERE b.rule_id = #{templateId}
+    </select>
+
+    <select id="templateListByOrgIds"
+            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_org org
+        INNER JOIN
+        basic_template tmp ON org.rule_id = tmp.id
+        <where>
+            and tmp.enable = true
+            AND (tmp.type = 'VARIABLE' OR tmp.type = 'ORDINARY')
+            <if test="orgIds.size() == 0">
+                AND org.org_id IN (null)
+            </if>
+            <if test="orgIds != null and orgIds != '' and orgIds.size() > 0">
+                AND org.org_id IN
+                <foreach collection="orgIds" item="item" index="index" open="(" separator="," close=")">
+                    #{item}
+                </foreach>
+            </if>
+        </where>
+    </select>
+
+</mapper>