package com.boman.web.core.mapper;

import com.boman.domain.CzrkJzdz;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 常住人口对应的居住地址Mapper接口
 * 
 * @author ruoyi
 * @date 2022-01-14
 */
 public interface CzrkJzdzMapper
{
    /**
     * 查询常住人口对应的居住地址
     * 
     * @param id 常住人口对应的居住地址主键
     * @return 常住人口对应的居住地址
     */
     CzrkJzdz selectCzrkJzdzById(Long id);

    /**
     * 查询常住人口对应的居住地址列表
     * 
     * @param czrkJzdz 常住人口对应的居住地址
     * @return 常住人口对应的居住地址集合
     */
     List<CzrkJzdz> selectCzrkJzdzList(CzrkJzdz czrkJzdz);

     List<String> listIdCard(CzrkJzdz czrkJzdz);

    /**
     * 新增常住人口对应的居住地址
     * 
     * @param czrkJzdz 常住人口对应的居住地址
     * @return 结果
     */
     int insertCzrkJzdz(CzrkJzdz czrkJzdz);

    /**
     * 修改常住人口对应的居住地址
     * 
     * @param czrkJzdz 常住人口对应的居住地址
     * @return 结果
     */
     int updateCzrkJzdz(CzrkJzdz czrkJzdz);

    /**
     * 删除常住人口对应的居住地址
     * 
     * @param id 常住人口对应的居住地址主键
     * @return 结果
     */
     int deleteCzrkJzdzById(Long id);
     int deleteByCzrkId(Long czrkId);

    /**
     * 批量删除常住人口对应的居住地址
     * 
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
     int deleteCzrkJzdzByIds(Long[] ids);

    List<CzrkJzdz> listByIdCard(@Param("idCardList") List<String> idCardList);

    List<CzrkJzdz> listByCzrkIds(@Param("czrkIds") List<Long> czrkIds);

    List<CzrkJzdz> listByCzrkId(@Param("czrkId") Long czrkId);

    List<Long> listCzrkIdByTypeAreaIdUserName(@Param("type") int type, @Param("areaId") Long areaId, @Param("userName") String userName);

    int updateByIdCard(CzrkJzdz czrkJzdz);

    int updateByCzrkId(CzrkJzdz czrkJzdz);

    List<CzrkJzdz> selectCzrkJzdzListPage(@Param("startNum") int startNum, @Param("endNum") int endNum);

    int updateHouseholdRegister(@Param("idCardList")List<String> idCardList,@Param("hzCzrkJzdz")CzrkJzdz hzCzrkJzdz);

    List<CzrkJzdz> selectCzrkJzdzListByDeptId(@Param("deptIdList")List<Long> deptIdList);

    List<CzrkJzdz> selectCzrkJzdzListByRegionId(@Param("regionId")String regionId);

    List<CzrkJzdz> getCzrkJzdzByTime(@Param("todayStartStr")String todayStartStr, @Param("todayEndStr")String todayEndStr,
                                     @Param("regionId")String regionId, @Param("status")String status);
}
