package com.xinelu.manage.mapper.propagandainfo;

import com.xinelu.manage.domain.propagandainfo.PropagandaInfo;
import com.xinelu.manage.dto.propagandainfo.PropagandaInfoDto;
import com.xinelu.manage.vo.department.DepartmentVO;
import java.util.List;

/**
 * 宣教库管理Mapper接口
 *
 * @author haown
 * @date 2024-02-27
 */
public interface PropagandaInfoMapper {
    /**
     * 查询宣教库管理
     *
     * @param id 宣教库管理主键
     * @return 宣教库管理
     */
    PropagandaInfo selectPropagandaInfoById(Long id);

    /**
     * 查询宣教库管理列表
     *
     * @param propagandaInfo 宣教库管理
     * @return 宣教库管理集合
     */
    List<PropagandaInfo> selectPropagandaInfoList(PropagandaInfoDto propagandaInfo);

    /**
     * 新增宣教库管理
     *
     * @param propagandaInfo 宣教库管理
     * @return 结果
     */
    int insertPropagandaInfo(PropagandaInfo propagandaInfo);

    /**
     * 修改宣教库管理
     *
     * @param propagandaInfo 宣教库管理
     * @return 结果
     */
    int updatePropagandaInfo(PropagandaInfo propagandaInfo);

    /**
     * 删除宣教库管理
     *
     * @param id 宣教库管理主键
     * @return 结果
     */
    int deletePropagandaInfoById(Long id);

    /**
     * 批量删除宣教库管理
     *
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    int deletePropagandaInfoByIds(Long[] ids);

	/**
	 * 查询科室信息列表及包含宣教库数量
	 *
	 * @param propagandaInfoDto 宣教库查询传输对象
	 * @return
	 */
	List<DepartmentVO> selectNumByDept(PropagandaInfoDto propagandaInfoDto);

}
