package com.boman.web.core.service.czrk;


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

import java.util.List;

/**
 * 常住人口对应的居住地址Service接口
 *
 * @author ruoyi
 * @date 2022-01-14
 */
public interface ICzrkJzdzService {
    /**
     * 查询常住人口对应的居住地址
     *
     * @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 ids 需要删除的常住人口对应的居住地址主键集合
     * @return 结果
     */
    int deleteCzrkJzdzByIds(Long[] ids);

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

    List<CzrkJzdz> listByIdCard(List<String> idCardList);


    /**
     * 查看家庭成员,获取居住地址,根据czrkId查询
     * @param czrkIds
     * @return
     */
    List<CzrkJzdz> listByCzrkIds(List<Long> czrkIds);

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

    int updateByIdCard(CzrkJzdz czrkJzdz);
    int updateByCzrkId(CzrkJzdz czrkJzdz);

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

    List<CzrkJzdz> listByCzrkId(Long czrkId);

    List<CzrkJzdz> selectCzrkJzdzListByDeptId(List<Long> deptIdList);

    List<CzrkJzdz> selectCzrkJzdzListByRegionId(String regionId);

    /**
     * 2022/3/23重新修复的PC人员信息查看常住人口接口
     * @param czrk
     * @return
     */
    List<Czrk> listByCzrkJzdz(Czrk czrk);

    List<CzrkJzdz> getCzrkJzdzByTime(String todayStartStr, String todayEndStr, String regionId, String status);

    List<Czrk> exportQianShanCz();
}
