package com.fs.sop.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.fs.common.annotation.DataSource;
import com.fs.common.enums.DataSourceType;
import com.fs.sop.domain.QwSopTempContent;

import java.util.Collection;
import java.util.List;
import java.util.Set;

/**
 * sop任务模板内容Service接口
 *
 * @author fs
 * @date 2025-02-06
 */
@DataSource(DataSourceType.SOP)
public interface IQwSopTempContentService extends IService<QwSopTempContent>{
    /**
     * 查询sop任务模板内容
     *
     * @param id sop任务模板内容主键
     * @return sop任务模板内容
     */
    QwSopTempContent selectQwSopTempContentById(String id);

    /**
     * 查询sop任务模板内容列表
     *
     * @param qwSopTempContent sop任务模板内容
     * @return sop任务模板内容集合
     */
    List<QwSopTempContent> selectQwSopTempContentList(QwSopTempContent qwSopTempContent);

    /**
     * 新增sop任务模板内容
     *
     * @param qwSopTempContent sop任务模板内容
     * @return 结果
     */
    int insertQwSopTempContent(QwSopTempContent qwSopTempContent);

    /**
     * 修改sop任务模板内容
     *
     * @param qwSopTempContent sop任务模板内容
     * @return 结果
     */
    int updateQwSopTempContent(QwSopTempContent qwSopTempContent);

    /**
     * 批量删除sop任务模板内容
     *
     * @param ids 需要删除的sop任务模板内容主键集合
     * @return 结果
     */
    int deleteQwSopTempContentByIds(String[] ids);

    /**
     * 删除sop任务模板内容信息
     *
     * @param id sop任务模板内容主键
     * @return 结果
     */
    int deleteQwSopTempContentById(String id);

    void deleteByTempId(String id);

    void insertBatch(List<QwSopTempContent> list);

    void deleteByRulesId(String id);

    List<QwSopTempContent> listByRulesIds(List<Long> strings);

    void deleteByRulesIdList(List<Long> ids);

    void saveList(List<QwSopTempContent> contentList);

    void removeByDayId(Long id);

    List<QwSopTempContent> listVoice(String tempId);

    List<QwSopTempContent> listByTempAndDay(String tempId, Long dayId);

    void updateDay(QwSopTempContent content);

    List<QwSopTempContent> selectQwSopTempContentByTempId(String tempId);

    void removeByTempIds(Collection<String> tempIds);

    List<QwSopTempContent> listByTempIds(Collection<String> tempIds);
}
