package com.emr.dao.emrCollect;

import com.emr.entity.emrCollect.Emr_Collect;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface Emr_CollectMapper {
    int deleteByPrimaryKey(Integer id);

    int insert(Emr_Collect record);

    int insertSelective(Emr_Collect record);

    Emr_Collect selectByPrimaryKey(Integer id);

    int updateByPrimaryKeySelective(Emr_Collect record);

    int updateByPrimaryKey(Emr_Collect record);
    /**
     *根据用户id查询收藏分类
     * */
    List<Emr_Collect> selectAllCollectTypeByCreater(@Param("userIds") String userIds, @Param("collectTypeFlag") Integer collectTypeFlag);
    /**
     *根据用户id查询收藏集合
     * */
    List<Emr_Collect> selectAllCollectByCreater(@Param("userIds") String userIds,@Param("record") Emr_Collect record,@Param("startTime")String startTime,@Param("endTime")String endTime);
    /**
     *根据用户id和patientId查询收藏对象
     * */
    Emr_Collect selectCollectByUserIdAndPatientId(@Param("userId") Integer userId, @Param("patientId") String patientId);
    /**
     *根据用户ID和收藏类别名称查验类别名称是否存在
     * */
    Emr_Collect checkCollectTypeNameByCreaterAndTypeName(@Param("userId")Integer userId,@Param("collectTypeName")String collectTypeName);
    /**
     *根据id查询对象，包含是否可查看0不可查看，1可查看，是否被锁0未锁，1被锁
     * */
    Emr_Collect getCollectAndShowAndLockById(@Param("id")Integer id,@Param("applyer")String applyer);
    /**
     *删除父集时，父id置空
     * */
    void updateByDelParentId(Integer parentId);
    /**
     *删除父集时，父id置空
     * */
    Emr_Collect checkTypeFlagOrTypeName(@Param("userId")Integer userId,@Param("collectTypeFlag")String collectTypeFlag,@Param("collectTypeName")String collectTypeName);
    /**
     *根据id集合查询
     * */
    List<Emr_Collect> selectAllByIds(@Param("checks")String checks);
}