package com.qmth.distributed.print.business.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.qmth.distributed.print.business.bean.result.TemplatePrintInfoResult;
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);
}
