You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

588 lines
18 KiB

/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.epmet.service;
import com.epmet.commons.mybatis.service.BaseService;
import com.epmet.commons.tools.dto.result.OptionDataResultDTO;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.redis.common.bean.IcResiUserInfoCache;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.Result;
import com.epmet.dto.IcResiUserDTO;
import com.epmet.dto.form.*;
import com.epmet.dto.result.*;
import com.epmet.dto.result.demand.OptionDTO;
import com.epmet.dto.result.resi.IcResiNonDynamicResultDTO;
import com.epmet.dto.result.resi.ResiPortrayalDetailDTO;
import com.epmet.dto.result.resi.ResiPortrayalResultDTO;
import com.epmet.entity.IcResiUserEntity;
import com.epmet.excel.support.ExportResiUserItemDTO;
import com.epmet.resi.partymember.dto.partymember.IcPartyMemberDTO;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.List;
import java.util.Map;
/**
* 用户基础信息
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2021-10-26
*/
public interface IcResiUserService extends BaseService<IcResiUserEntity> {
/**
* 单个删除
*
* @return void
* @author generator
* @date 2021-10-26
*/
void delete(DelIcResiUserFormDTO formDTO);
/**
* 开发人员掉员工此接口
* @param formDTO
*/
void deleteInternal(InternalDelIcResiUserFormDTO formDTO);
/**
* @Author sun
* @Description 党建互联平台--保存居民信息
**/
String add(TokenDto tokenDto, List<IcResiUserFormDTO> formDTO);
/**
* @Author sun
* @Description 党建互联平台--修改居民信息
**/
String edit(TokenDto tokenDto, List<IcResiUserFormDTO> formDTO);
/**
* @Description 获取房间内人员
* @Param homeId
* @Return {@link List< HomeUserResultDTO>}
* @Author zhaoqifeng
* @Date 2021/11/1 10:52
*/
List<HomeUserResultDTO> getPeopleByRoom(String homeId);
PageData<Map<String, Object>> pageResiMap(IcResiUserPageFormDTO formDTO);
/**
* 编辑页面,显示居民信息详情
*
* @param pageFormDTO
* @return java.util.Map
* @author yinzuomei
* @date 2021/10/28 10:29 上午
*/
Map queryIcResiDetail(IcResiDetailFormDTO pageFormDTO);
List<Map<String, Object>> dynamicQuery(String customerId,
String formCode,
String resultTableName,
List<ResiUserQueryValueDTO> conditions,
String currentStaffAgencyId,
String staffOrgPath);
/**
* @param formDTO
* @Description 查询个人数据
* @author zxc
* @date 2021/11/3 9:21 上午
*/
PersonDataResultDTO personData(PersonDataFormDTO formDTO);
/**
* @param formDTO
* @Description 根据名字搜索
* @Description 根据名字搜索
* @author zxc
* @date 2021/11/3 1:42 下午
*/
PageData<SearchByNameResultDTO> searchByName(SearchByNameFormDTO formDTO);
/**
* desc:条件导出
*
* @param exportResiUserItemDTO
* @param baseTableName
* @return Map<String, Map < String, Object>> 用户Id:用户信息所有的字段名及值
*/
List<Map<String, Object>> getDataForExport(ExportResiUserItemDTO exportResiUserItemDTO, String baseTableName, IcResiUserPageFormDTO pageFormDTO, String currentStaffAgencyId,
String staffOrgPath);
/**
* @Description 家庭关系
* @Param userId
* @Return {@link OwnerRelationResultDTO}
* @Author zhaoqifeng
* @Date 2021/11/5 10:28
*/
OwnerRelationResultDTO getOwnerRelation(String userId);
/**
* @Description 获取一栋楼每个房间人员分类的数量
* @Param buildId
* @Return {@link Map< String, Map< String, String>>}
* @Author zhaoqifeng
* @Date 2021/11/5 14:40
*/
Map<String, Map<String, String>> getHomeUserCategoryCount(String buildId);
/**
* desc:根据formCode 获取标单项
*
* @param customerId
* @param formCode
* @return
*/
List<FormItemResult> listFormItems(String customerId, String formCode);
List<DemandUserResDTO> queryDemandUsers(DemandUserFormDTO formDTO);
/**
* 返回ic_resi_user.id
*
* @param customerId
* @param idNum
* @return
*/
IcResiUserDTO getByIdCard(String customerId, String idNum, String icResiUserId);
IcResiUserBriefDTO findFamilyMem(String icResiUserId);
/**
* 党员年龄范围统计
*
* @Param formDTO
* @Return {@link List< OptionDataResultDTO >}
* @Author zhaoqifeng
* @Date 2021/12/10 15:54
*/
List<OptionDataResultDTO> partyMemberAgeStatistics(PartyMemberStatisticsFormDTO formDTO);
/**
* 获取年龄范围内党员列表
*
* @Param formDTO
* @Return {@link PageData< PartyMemberAgeResultDTO>}
* @Author zhaoqifeng
* @Date 2021/12/10 17:40
*/
PageData<PartyMemberAgeResultDTO> getPartyMemberAgeList(PartyMemberListFormDTO formDTO);
/**
* 党员文化程度统计
*
* @Param formDTO
* @Return {@link List< OptionDataResultDTO>}
* @Author zhaoqifeng
* @Date 2021/12/10 17:40
*/
List<OptionDataResultDTO> partyMemberEducationStatistics(PartyMemberStatisticsFormDTO formDTO);
/**
* 按教育程度获取党员列表
*
* @Param formDTO
* @Return {@link PageData< PartyMemberEducationResultDTO>}
* @Author zhaoqifeng
* @Date 2021/12/10 17:40
*/
PageData<PartyMemberEducationResultDTO> getPartyMemberEducationList(PartyMemberListFormDTO formDTO);
IcResiUserBriefDTO getResiBrief(String resiUserId, String customerId);
/**
* 获取居民主表记录
*
* @param icResiUserId
* @return
*/
IcResiUserDTO get(String icResiUserId);
/**
* @param formDTO
* @param tokenDto
* @Description 【社区查询】人员预警右侧列表
* @author zxc
* @date 2022/1/17 4:25 下午
*/
PersonWarnRightListResultDTO personWarnRightList(PersonWarnRightListFormDTO formDTO, TokenDto tokenDto);
/**
* Desc: 根据房屋IDs查询房屋下是否有存在居民的
*
* @param ids
* @author zxc
* @date 2022/3/2 10:32 上午
*/
List<String> getExistUserByHouseIds(List<String> ids);
/**
* 居民防疫信息查询
*
* @Param formDTO
* @Return {@link PageData< EpidemicPreventionResultDTO>}
* @Author zhaoqifeng
* @Date 2022/3/29 14:27
*/
PageData<EpidemicPreventionResultDTO> epidemicPreventionList(EpidemicPreventionFormDTO formDTO);
PageData<EpidemicPreventionResultDTO> userList(EpidemicPreventionFormDTO formDTO);
/**
* 居民防疫信息详情
*
* @Param formDTO
* @Return {@link EpidemicPreventionResultDTO}
* @Author zhaoqifeng
* @Date 2022/3/29 15:16
*/
EpidemicPreventionResultDTO getEpidemicPreventionDetail(EpidemicPreventionFormDTO formDTO);
/**
* 居民防疫信息详情:核酸,疫苗,行程
*
* @Param formDTO
* @Return {@link EpidemicPreventionInfoDTO}
* @Author zhaoqifeng
* @Date 2022/3/29 16:25
*/
EpidemicPreventionInfoDTO getEpidemicPreventionInfo(EpidemicPreventionFormDTO formDTO);
/**
* @Author sun
* @Description 【人房】居民总数饼图
**/
UserChartResultDTO userChart(UserChartFormDTO formDTO);
/**
* @Author sun
* @Description 【人房】居民总数列表数据
**/
List<UserChartResultDTO> userChartList(UserChartFormDTO formDTO);
/**
* 根据房屋主键查询户内家庭成员简信息
*
* @param houseId 房屋主键
* @param customerId 客户ID
* @return java.util.List<com.epmet.dto.result.HomeUserBriefResultDTO>
* @author work@yujt.net.cn
* @date 2022/4/21/0021 15:02
*/
List<HomeUserBriefResultDTO> listHomeUserBrief(String houseId, String customerId);
List<Map<String, Object>> dynamicQuery(String loginUserCustomerId,
String formCode,
String icResiUser,
List<IcCustomExportResultDTO.SqlColumn> showSqlColumns,
List<ResiUserQueryValueDTO> conditions,
String agencyId,
List<String> finalStaffOrgPath,
List<String> gridIds);
/**
* 租客房东黑名单查询个人数据
*
* @param formDTO
* @return com.epmet.dto.result.RentTenantDataResultDTO
* @author zhy
* @date 2022/4/26 16:03
*/
RentTenantDataResultDTO getRentResiUserInfo(RentTenantDataFormDTO formDTO);
/**
* 租客房东黑名单查询个人数据
*
* @param idCard
* @return com.epmet.dto.result.RentTenantDataResultDTO
* @author zhy
* @date 2022/4/26 16:03
*/
List<RentTenantDataResultDTO> getRentResiUserInfoByIdCard(String idCard);
/**
* 租客房东根据身份证更新头像
* 5.17更新头像的同时更新居民状态是租客
* 5.18同时更新居民状态是流动
*
* @param formDTO
* @return com.epmet.commons.tools.utils.Result
* @author zhy
* @date 2022/4/26 10:48
*/
String updateImage(TokenDto tokenDto, RentTenantFormDTO formDTO);
/**
* 根据房屋id,查询居民信息表中-家庭信息-本人 的居民。如果有多个,返回最近一个
*
* @param homeId
* @param customerId
* @return
*/
HouseHolderResDTO queryHouseHold(String homeId, String customerId);
/**
* 迁入管理、出生管理,勾选了补充居民信息,输入身份证号后,调用接口校验是否可继续执行
* moveInstatus=false: 如果不是本社区下居民,但是本客户下居民,且未从其他社区下迁出,则提示“请联系**社区迁出该居民后操作“,填写完整信息后提交也进行该提示,并且不生成出生记录
*
* @param customerId
* @param idCard
* @param agencyId 当前登录用户所属的组织id
* @return
*/
SyncResiResDTO checkUser(String customerId, String idCard, String agencyId);
/**
* desc:条件获取居民基础信息 按照房屋分组
*
* @param formDTO
* @return
*/
List<HouseIcResiUserResultDTO> getResiUserGroupHomeId(RentTenantDataFormDTO formDTO);
/**
* desc:更新居民信息的所属 eg:所属网格等等
*
* @param tokenDto
* @param formDTO
* @return
*/
List<String> changeIcResiUserBelongTo(TokenDto tokenDto, IcUserBelongToChangedFormDTO formDTO);
IcResiUserBriefDTO findFamilyMemByIdCard(String idCard);
IcResiUserDTO getByResiId(String idCard);
List<String> getAllUserIds(String idCard, String customerId);
/**
* 党员信息同步
*
* @Param formDTO
* @Return {@link IcPartyMemberDTO}
* @Author zhaoqifeng
* @Date 2022/5/17 19:12
*/
IcPartyMemberDTO icPartyMemberSync(IcPartyMemberDTO formDTO);
/**
* 根据身份证获取居民信息(党员管理用,主要显示住址)
*
* @Param formDTO
* @Return {@link IcResiUserInfoDTO}
* @Author zhaoqifeng
* @Date 2022/5/20 9:59
*/
IcResiUserInfoDTO getUserByIdCard(IcResiUserDTO formDTO);
/**
* 绑定房屋
*
* @param form
* @return void
* @author LZN
* @date 2022/6/22 16:30
*/
void bindHome(BindHomeFormDTO form);
/**
* 根据身份证获取居民角色(目前只有是否是志愿者)
*
* @Param formDTO
* @Return {@link IcUserRoleResultDTO}
* @Author zhaoqifeng
* @Date 2022/5/31 9:50
*/
IcUserRoleResultDTO getUserRoleByIdCard(IcResiUserDTO formDTO);
/**
* @return com.epmet.commons.tools.utils.Result
* @describe: 新增家庭成员
* @author wangtong
* @date 2022/6/6 10:36
* @params [dto]
*/
Result addMember(TokenDto tokenDto,IcResiUserConfirmSubmitDTO dto);
/**
* @return com.epmet.commons.tools.utils.Result
* @describe: 修改家庭成员
* @author wangtong
* @date 2022/6/6 10:36
* @params [dto]
*/
Result editMember(IcResiUserConfirmSubmitDTO dto);
/**
* @return com.epmet.commons.tools.utils.Result
* @describe: 工作端-新增家庭成员
* @author wangtong
* @date 2022/6/10 13:32
* @params [dto]
*/
Result addWorkMember(IcResiUserConfirmSubmitDTO dto);
/**
* 获取组织下志愿者列表
*
* @Param customerId 客户
* @Param agencyId 组织
* @Return {@link List<OptionDTO>}
* @Author zhaoqifeng
* @Date 2022/6/16 14:58
*/
List<OptionDataResultDTO> getVolunteerList(String customerId, String agencyId);
/**
* 获取居民信息对应的居民用户ID
*
* @Param icResiUserId
* @Return {@link String}
* @Author zhaoqifeng
* @Date 2022/6/16 15:30
*/
List<String> getUserId(String icResiUserId);
List<IcResiUserDTO> getListIcResiUserDTO(List<String> icResiUserIdList);
/**
* desc:设置居民的pids pids为agencyId的pids+agencyId 即包含组织本身 如果pids 为空则pids 为agencyId
* @param entity
*/
void setIcResiUserPids(IcResiUserEntity entity);
/**
* 居民信息里的志愿者
* 社区自组织-添加成员可用
* @param customerId
* @param userId
* @return
*/
List<ResiVolunteerSelectDTO> queryVolunteerList(String customerId, String userId);
/**
* desc:根据客户Id 更新房屋的 居民人数
* @param customerId
* @return
*/
void updateIcHouseResiNumber(String customerId);
/**
* 根据社区ID获取该社区下的所有用户
* @param communityId
* @return
*/
List<SendPointNoticeFormDTO.UserListBean> getUserListByCommunityId(String communityId);
/**
* 获取录入居民的数量
*
* @Param formDTO
* @Return {@link Map<String, Integer>}
* @Author zhaoqifeng
* @Date 2022/6/29 17:32
*/
Map<String, Integer> getIcUserCount(IcUserCountFormDTO formDTO);
/**
* 综合治理图层-查询各类别(信访人员、安置帮教、吸毒人员、社区矫正、不良青少年、肇事肇祸精神病、邪教人员)居民信息
* @param pageFormDTO
* @return
*/
PageData<Map<String, Object>> listResiZhzl(IcResiUserPageFormDTO pageFormDTO);
/**
* Desc: 居民首次进入小程序,可以根据输入身份证信息查询在数字社区居民信息中的网格,匹配不成功提示
* @param formDTO
* @author zxc
* @date 2022/8/5 11:17
*/
IcUserMatchGridResultDTO icUserMatchGrid(IcUserMatchGridFormDTO formDTO);
PageData<IcResiNonDynamicResultDTO> listResiNonDynamic(Boolean fuzzy, String gridId, String name, String mobile, Integer pageNo, Integer pageSize);
PageData<SearchByNameResultDTO> icUserStatisList(UserChartFormDTO formDTO);
/**
* 更新育龄妇女状态定时任务
* @Param
* @Return
* @Author zhaoqifeng
* @Date 2022/9/8 15:45
*/
void updateYlfn();
IcResiUserInfoCache getIcResiUserInfo(String userId);
void epidemicPreventionExport(EpidemicPreventionFormDTO formDTO, HttpServletResponse response) throws IOException;
/**
* @Description 人户状况统计查询
* @param formDTO
* @Author zxc
* @Date 2022/11/16 09:22
*/
RHZKStatisticsResultDTO renHuCondition(RHZKStatisticsFormDTO formDTO);
List<RHZKStatisticsResultDTO> renHuConditionList(RHZKStatisticsFormDTO formDTO);
/**
* 烟台需求:https://modao.cc/app/DUshpXWirii6amoDQsb8OP#screen=slfbvoz5w4z9f98
* 接口地址:http://yapi.elinkservice.cn/project/356/interface/api/cat_1370
* 居民年龄分布饼图
*
* @param customerId
* @param staffId
* @param orgId
* @param orgType
* @return
*/
List<ResiPortrayalResultDTO> queryAgeDistribute(String customerId, String staffId, String orgId, String orgType);
/**
* 烟台需求:https://modao.cc/app/DUshpXWirii6amoDQsb8OP#screen=slfbvoz5w4z9f98
* 接口地址:http://yapi.elinkservice.cn/project/356/interface/api/cat_1370
* 居民学历分布饼图
*
* @param orgId
* @param orgType agency/grid
* @return
*/
List<ResiPortrayalResultDTO> queryEducationDistribute(String customerId, String staffId, String orgId, String orgType);
/**
* 烟台需求:https://modao.cc/app/DUshpXWirii6amoDQsb8OP#screen=slfbvoz5w4z9f98
* 居民画像,居民列表
*
* @return
*/
PageData<ResiPortrayalDetailDTO> queryPortrayalResiList(String customerId, String staffId,
Integer pageNo, Integer pageSize,
String orgId, String orgType,
String codeType,String code);
}