package com.zd.laboratory.service;

import java.util.List;
import com.zd.laboratory.domain.LabSecurityMaterialData;
import com.zd.laboratory.domain.vo.LabSecurityMaterialDataVO;

/**
 * 安全准入申请材料配置Service接口
 *
 * @author zd
 * @date 2022-01-24
 */
public interface ILabSecurityMaterialDataService
{
    /**
     * 查询安全准入申请材料配置
     *
     * @param id 安全准入申请材料配置主键
     * @return 安全准入申请材料配置
     */
    public LabSecurityMaterialData selectLabSecurityMaterialDataById(Long id);

    /**
     * 查询安全准入申请材料配置列表
     *
     * @param labSecurityMaterialData 安全准入申请材料配置
     * @return 安全准入申请材料配置集合
     */
    public List<LabSecurityMaterialData> selectLabSecurityMaterialDataList(LabSecurityMaterialData labSecurityMaterialData);

    /**
     * 新增安全准入申请材料配置
     *
     * @param labSecurityMaterialData 安全准入申请材料配置
     * @return 结果
     */
    public int insertLabSecurityMaterialData(LabSecurityMaterialData labSecurityMaterialData);

    /**
     * 修改安全准入申请材料配置
     *
     * @param labSecurityMaterialData 安全准入申请材料配置
     * @return 结果
     */
    public int updateLabSecurityMaterialData(LabSecurityMaterialData labSecurityMaterialData);

    /**
     * 批量删除安全准入申请材料配置
     *
     * @param ids 需要删除的安全准入申请材料配置主键集合
     * @return 结果
     */
    public int deleteLabSecurityMaterialDataByIds(Long[] ids);

    /**
     * 删除安全准入申请材料配置信息
     *
     * @param id 安全准入申请材料配置主键
     * @return 结果
     */
    public int deleteLabSecurityMaterialDataById(Long id);

    /**
     * 根据登录用户身份查询模板
     * @param materialSuit
     * @return
     */
    public List<LabSecurityMaterialData> selectLabSecurityMaterialDataByIdentity(Long[] materialSuit);

    /**
     * 实验室下老师模板
     * @param subjectId
     * @return
     */
    public List<LabSecurityMaterialDataVO> selectLabSecurityMaterialDataTeacher(Long subjectId);

    /***
     * 实验室下学生模板
     * @param subjectId
     * @return
     */
    public List<LabSecurityMaterialDataVO> selectLabSecurityMaterialDataStudent(Long subjectId);

    /**
     * 教职工模板
     * @return
     */
    public List<LabSecurityMaterialDataVO> selectTemplateTeacherList();

    /**
     * 学生模板
     * @return
     */
    public List<LabSecurityMaterialDataVO> selectTemplateStudentList();
}