Commit 35a3b57a authored by chenyuxi's avatar chenyuxi

feat: HCM获取人员信息列表接口

parent cf539d03
/*
* Copyright (c) 2018-2025, lengleng All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* Neither the name of the yifu4cloud.com developer nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
* Author: lengleng (wangiegie@gmail.com)
*/
package com.yifu.cloud.plus.v1.yifu.archives.vo;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.io.Serializable;
/**
* HCM档案子Vo
* 不良记录
* @author chenyuxi
* @date 2025-08-08
*/
@Data
@ColumnWidth(30)
public class HcmArchiveBadRecordVo implements Serializable {
private static final long serialVersionUID = 1L;
@Schema(description = "发生时间")
private String happenDate;
@Schema(description = "不良记录描述")
private String remark;
@Schema(description = "身份证号")
private String empIdCard;
}
...@@ -60,13 +60,73 @@ public class HcmArchiveBasicVo implements Serializable { ...@@ -60,13 +60,73 @@ public class HcmArchiveBasicVo implements Serializable {
@Schema(description = "民族") @Schema(description = "民族")
private String nation; private String nation;
// 户籍所在地 // 户籍所在地
@Schema(description = "籍贯") @Schema(description = "籍贯(省+市+区)")
private String nativePlace; private String nativePlace;
@Schema(description = "政治面貌") @Schema(description = "政治面貌")
private String political; private String political;
// 通讯地址 // 通讯地址
@Schema(description = "联系地址") @Schema(description = "联系地址(省+市+区+详细地址)")
private String contactAddress; private String contactAddress;
// 1.7.14新增推送字段
@Schema(description = "手机号")
private String empPhone;
@Schema(description = "户籍所在地(省+市+区)")
private String householdPlace;
@Schema(description = "紧急联系人")
private String emergencyContactName;
@Schema(description = "紧急联系人与本人关系")
private String emergencyContactRelation;
@Schema(description = "紧急联系人电话")
private String emergencyContactPhone;
@Schema(description = "银行卡号")
private String bankNo;
@Schema(description = "开户行(总行)")
private String bankName;
@Schema(description = "社保户")
private String socialHouseholdName;
@Schema(description = "最高学历字典值")
private String educationValue;
// 户口性质
@Schema(description = "户口类型字典值")
private String residentTypeValue;
@Schema(description = "婚姻状况字典值")
private String maritalStatusValue;
@Schema(description = "民族字典值")
private String nationValue;
@Schema(description = "政治面貌字典值")
private String politicalValue;
@Schema(description = "身份证-省")
private Integer idProvince;
@Schema(description = "身份证-市")
private Integer idCity;
@Schema(description = "身份证-县")
private Integer idTown;
@Schema(description = "通信地址省")
private Integer contactProvince;
@Schema(description = "通信地址市")
private Integer contactCity;
@Schema(description = "通信地址县")
private Integer contactTown;
} }
...@@ -52,4 +52,10 @@ public class HcmArchiveCertificateVo implements Serializable { ...@@ -52,4 +52,10 @@ public class HcmArchiveCertificateVo implements Serializable {
@Schema(description = "证照附件") @Schema(description = "证照附件")
private String annex; private String annex;
@Schema(description = "身份证号")
private String empIdCard;
@Schema(description = "资格类型")
private String certificateType;
} }
...@@ -33,16 +33,16 @@ import java.io.Serializable; ...@@ -33,16 +33,16 @@ import java.io.Serializable;
public class HcmArchiveEducationVo implements Serializable { public class HcmArchiveEducationVo implements Serializable {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
// 学校
@Schema(description = "学校名称") @Schema(description = "学校名称")
private String schoolName; private String schoolName;
// 工作部门
@Schema(description = "专业") @Schema(description = "专业")
private String major; private String major;
// 工作岗位
@Schema(description = "学历") @Schema(description = "学历")
private String education; private String education;
// 入学时间
@Schema(description = "入校日期") @Schema(description = "入校日期")
private String joinDate; private String joinDate;
// 毕业时间 // 毕业时间
...@@ -55,4 +55,13 @@ public class HcmArchiveEducationVo implements Serializable { ...@@ -55,4 +55,13 @@ public class HcmArchiveEducationVo implements Serializable {
@Schema(description = "学历附件") @Schema(description = "学历附件")
private String annex; private String annex;
@Schema(description = "身份证号")
private String empIdCard;
@Schema(description = "学历值")
private String educationValue;
@Schema(description = "学历类型值")
private String educationTypeValue;
} }
...@@ -53,4 +53,10 @@ public class HcmArchiveFamilyVo implements Serializable { ...@@ -53,4 +53,10 @@ public class HcmArchiveFamilyVo implements Serializable {
@Schema(description = "职位/职务") @Schema(description = "职位/职务")
private String jobName; private String jobName;
@Schema(description = "与本人关系")
private String relation;
@Schema(description = "身份证号")
private String empIdCard;
} }
...@@ -52,4 +52,7 @@ public class HcmArchiveJobVo implements Serializable { ...@@ -52,4 +52,7 @@ public class HcmArchiveJobVo implements Serializable {
@Schema(description = "职位描述") @Schema(description = "职位描述")
private String remark; private String remark;
@Schema(description = "身份证号")
private String empIdCard;
} }
...@@ -48,5 +48,8 @@ public class HcmEmployeeInfoVO extends RowIndex implements Serializable { ...@@ -48,5 +48,8 @@ public class HcmEmployeeInfoVO extends RowIndex implements Serializable {
// 合同信息-含附件 // 合同信息-含附件
private List<HcmContractVo> contract; private List<HcmContractVo> contract;
// 不良记录
private List<HcmArchiveBadRecordVo> archiveBadRecord;
} }
package com.yifu.cloud.plus.v1.yifu.archives.vo;
import lombok.Data;
import java.util.Map;
import java.util.Set;
/**
* 获取社保公积信息
*
* @author chenyuxi
* @date 2025/8/6
* @since v1.7.14
**/
@Data
public class SocialFundVo {
private Set<String> empIdCardSet;
private Map<String,String> socialFundByIdCard;
}
package com.yifu.cloud.plus.v1.yifu.archives.vo;
import lombok.Data;
import java.io.Serializable;
/**
* 地区包装类
* @author chenyuxi
* @date 2025/8/6
* @since v1.7.14
*/
@Data
public class SysAreaVo implements Serializable {
private Integer id;
private String name;
}
...@@ -146,4 +146,19 @@ public interface TEmployeeInfoMapper extends BaseMapper<TEmployeeInfo> { ...@@ -146,4 +146,19 @@ public interface TEmployeeInfoMapper extends BaseMapper<TEmployeeInfo> {
void updateEmployeeAgeTask(); void updateEmployeeAgeTask();
Set<String> getEmpOnlineMap(@Param("empIdCardList")List<String> empIdCardList); Set<String> getEmpOnlineMap(@Param("empIdCardList")List<String> empIdCardList);
List<HcmArchiveBasicVo> getHcmArchiveBasicList(@Param("idCardSet") Set<String> idCardSet);
List<HcmArchiveFamilyVo> getHcmArchiveFamilyList(@Param("idCardSet") Set<String> idCardSet);
List<HcmArchiveEducationVo> getHcmArchiveEducationList(@Param("idCardSet") Set<String> idCardSet);
List<HcmArchiveJobVo> getHcmArchiveJobList(@Param("idCardSet") Set<String> idCardSet);
List<HcmArchiveBadRecordVo> getHcmArchiveBadRecordList(@Param("idCardSet") Set<String> idCardSet);
List<HcmArchiveCertificateVo> getHcmArchiveCertificateList(@Param("idCardSet") Set<String> idCardSet);
List<SysAreaVo> getSysAreaList(@Param("areaIdSet") Set<Integer> areaIdSet);
} }
...@@ -34,6 +34,7 @@ import javax.servlet.http.HttpServletResponse; ...@@ -34,6 +34,7 @@ import javax.servlet.http.HttpServletResponse;
import java.io.InputStream; import java.io.InputStream;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.Set;
/** /**
* 项目档案表 * 项目档案表
...@@ -312,4 +313,6 @@ public interface TEmployeeProjectService extends IService<TEmployeeProject> { ...@@ -312,4 +313,6 @@ public interface TEmployeeProjectService extends IService<TEmployeeProject> {
**/ **/
void doSaveBelongDept(TEmployeeProject p, String feedbackType); void doSaveBelongDept(TEmployeeProject p, String feedbackType);
Map<String,String> getSocialFundByEmpIdcardSet(Set<String> empIdCardSet);
} }
...@@ -85,6 +85,7 @@ import java.time.LocalDateTime; ...@@ -85,6 +85,7 @@ import java.time.LocalDateTime;
import java.time.ZoneId; import java.time.ZoneId;
import java.util.*; import java.util.*;
import java.util.concurrent.atomic.AtomicInteger; import java.util.concurrent.atomic.AtomicInteger;
import java.util.stream.Collectors;
/** /**
* 人员档案表 * 人员档案表
...@@ -3044,14 +3045,289 @@ public class TEmployeeInfoServiceImpl extends ServiceImpl<TEmployeeInfoMapper, T ...@@ -3044,14 +3045,289 @@ public class TEmployeeInfoServiceImpl extends ServiceImpl<TEmployeeInfoMapper, T
return R.ok(a); return R.ok(a);
} }
/**
* HCM获取人员信息列表
* @param idCardList 身份证列表
*
* @author chenyuxi
* @date 2025/8/6
* @since v1.7.14
* @return R<List<HcmEmployeeInfoVO>>
**/
@Override @Override
public R<List<HcmEmployeeInfoVO>> getHcmEmpInfoList(List<String> idCardList) { public R<List<HcmEmployeeInfoVO>> getHcmEmpInfoList(List<String> idCardList) {
if(idCardList.size() > 100){
return R.failed("单次档案信息查询不能超过100条");
}
if(idCardList.size() == 0){
return R.failed("暂无数据查询");
}
Set<String> idCardSet = idCardList.stream().collect(Collectors.toSet());
List<HcmEmployeeInfoVO> list = new ArrayList<>(); List<HcmEmployeeInfoVO> list = new ArrayList<>();
HcmEmployeeInfoVO vo; HcmEmployeeInfoVO vo;
// 获取个人信息列表
List<HcmArchiveBasicVo> basicList = baseMapper.getHcmArchiveBasicList(idCardSet);
if(Common.isEmpty(basicList)){
return R.failed("暂无数据返回");
}
// 收集区域Id集合信息
Set<Integer> areaIdSet = new HashSet<>();
Map<Integer, String> areaMap = new HashMap<>();
// 收集身份证集合
Set<String> empIdCardSet = new HashSet<>();
for (HcmArchiveBasicVo basicInfo : basicList) {
areaIdSet.add(basicInfo.getIdProvince());
areaIdSet.add(basicInfo.getContactProvince());
areaIdSet.add(basicInfo.getIdCity());
areaIdSet.add(basicInfo.getContactCity());
areaIdSet.add(basicInfo.getIdTown());
areaIdSet.add(basicInfo.getContactTown());
empIdCardSet.add(basicInfo.getEmpIdCard());
}
// 获取地区的中文名
List<SysAreaVo> areaList = baseMapper.getSysAreaList(areaIdSet);
if(Common.isNotNull(areaList)){
areaMap = areaList.stream().collect(Collectors.toMap(SysAreaVo::getId, SysAreaVo::getName));
}
// 调用字典服务,渲染字典值
R<Map<String, Map<String, Map<String, String>>>> dictR = HttpDaprUtil.invokeMethodPost(daprUpmsProperties.getAppUrl(), daprUpmsProperties.getAppId()
, "/dict/inner/getDictToValue", null, Map.class, SecurityConstants.FROM_IN);
Map<String, Map<String, Map<String, String>>> dictDataMap;
Map<String, Map<String, String>> dictMap;
// 婚姻状况
Map<String, String> empMarriMap = new HashMap<>();
// 民族
Map<String, String> empNationalMap = new HashMap<>();
// 政治面貌
Map<String, String> empPoliticalMap = new HashMap<>();
// 户口性质
Map<String, String> regisTypeMap = new HashMap<>();
// 最高学历
Map<String, String> educationMap = new HashMap<>();
// 学历类型
Map<String, String> educationTypeMap = new HashMap<>();
// 与本人关系
Map<String, String> familyRelationMap = new HashMap<>();
// 资格证书名称
Map<String, String> qualificationTypeMap = new HashMap<>();
if (dictR == null || dictR.getData() == null) {
return R.failed("获取字典失败!");
} else {
dictDataMap = dictR.getData();
dictMap = dictDataMap.get("data");
empMarriMap = dictMap.get("emp_married");
empNationalMap = dictMap.get("emp_national");
empPoliticalMap = dictMap.get("emp_political");
regisTypeMap = dictMap.get("emp_registype");
educationMap = dictMap.get("education");
educationTypeMap = dictMap.get("education_type");
familyRelationMap = dictMap.get("family_relation");
qualificationTypeMap = dictMap.get("qualification_type");
}
// 获取紧急联系人
List<TEmpContactInfo> contactList = tEmpContactInfoService.list(Wrappers.<TEmpContactInfo>query().lambda()
.in(TEmpContactInfo::getEmpIdcard, empIdCardSet));
Map<String, TEmpContactInfo> contactMap = new HashMap<>();
if(Common.isNotNull(contactList)){
contactMap = contactList.stream().collect(Collectors.toMap(TEmpContactInfo::getEmpIdcard, v -> v, (v1, v2) -> v1));
}
// 获取社保户信息
Map<String,String> socialFundMap = tEmployeeProjectService.getSocialFundByEmpIdcardSet(empIdCardSet);
// 赋值个人信息
for (HcmArchiveBasicVo basicInfo : basicList) {
// 赋值字典值
if(Common.isNotNull(basicInfo.getEducationValue())
&& Common.isNotNull(educationMap) && Common.isNotNull(educationMap.get(basicInfo.getEducationValue()))){
basicInfo.setEducation(educationMap.get(basicInfo.getEducationValue()));
}
if(Common.isNotNull(basicInfo.getResidentTypeValue())
&& Common.isNotNull(regisTypeMap) && Common.isNotNull(regisTypeMap.get(basicInfo.getResidentTypeValue()))){
basicInfo.setResidentType(regisTypeMap.get(basicInfo.getResidentTypeValue()));
}
if(Common.isNotNull(basicInfo.getMaritalStatusValue())
&& Common.isNotNull(empMarriMap) && Common.isNotNull(empMarriMap.get(basicInfo.getMaritalStatusValue()))){
basicInfo.setMaritalStatus(empMarriMap.get(basicInfo.getMaritalStatusValue()));
}
if(Common.isNotNull(basicInfo.getNationValue())
&& Common.isNotNull(empNationalMap) && Common.isNotNull(empNationalMap.get(basicInfo.getNationValue()))){
basicInfo.setNation(empNationalMap.get(basicInfo.getNationValue()));
}
if(Common.isNotNull(basicInfo.getPoliticalValue())
&& Common.isNotNull(empPoliticalMap) && Common.isNotNull(empPoliticalMap.get(basicInfo.getPoliticalValue()))){
basicInfo.setPolitical(empPoliticalMap.get(basicInfo.getPoliticalValue()));
}
// 赋值户籍地区
String idProvinceName = "";
String idCityName = "";
String idTownName = "";
if(Common.isNotNull(basicInfo.getIdProvince()) &&
Common.isNotNull(areaMap.get(basicInfo.getIdProvince()))){
idProvinceName = areaMap.get(basicInfo.getIdProvince());
}
if(Common.isNotNull(basicInfo.getIdCity()) &&
Common.isNotNull(areaMap.get(basicInfo.getIdCity()))){
idCityName = areaMap.get(basicInfo.getIdCity());
}
if(Common.isNotNull(basicInfo.getIdTown()) &&
Common.isNotNull(areaMap.get(basicInfo.getIdTown()))){
idTownName = areaMap.get(basicInfo.getIdTown());
}
basicInfo.setNativePlace(idProvinceName+idCityName+idTownName);
basicInfo.setHouseholdPlace(idProvinceName+idCityName+idTownName);
// 赋值联系地址
String contactProvinceName = "";
String contactCityName = "";
String contactTownName = "";
String contactAddress = basicInfo.getContactAddress();
if(Common.isNotNull(basicInfo.getContactProvince()) &&
Common.isNotNull(areaMap.get(basicInfo.getContactProvince()))){
contactProvinceName = areaMap.get(basicInfo.getContactProvince());
}
if(Common.isNotNull(basicInfo.getContactCity()) &&
Common.isNotNull(areaMap.get(basicInfo.getContactCity()))){
contactCityName = areaMap.get(basicInfo.getContactCity());
}
if(Common.isNotNull(basicInfo.getContactTown()) &&
Common.isNotNull(areaMap.get(basicInfo.getContactTown()))){
contactTownName = areaMap.get(basicInfo.getContactTown());
}
basicInfo.setContactAddress(contactProvinceName+contactCityName+contactTownName+contactAddress);
if(Common.isNotNull(basicInfo.getEmpIdCard())){
// 赋值紧急联系人信息
if(Common.isNotNull(contactMap.get(basicInfo.getEmpIdCard()))){
TEmpContactInfo contactInfo = contactMap.get(basicInfo.getEmpIdCard());
basicInfo.setEmergencyContactName(contactInfo.getEmpName());
basicInfo.setEmergencyContactRelation(contactInfo.getRelationType());
basicInfo.setEmergencyContactPhone(contactInfo.getTel());
}
// 赋值社保户
if(Common.isNotNull(socialFundMap.get(basicInfo.getEmpIdCard()))){
basicInfo.setSocialHouseholdName(socialFundMap.get(basicInfo.getEmpIdCard()));
}
}
}
// 身份证做key,个人信息做value
Map<String, HcmArchiveBasicVo> basicMap = basicList.stream().collect(Collectors.toMap(HcmArchiveBasicVo::getEmpIdCard, v -> v, (v1, v2) -> v1));
// 获取家庭信息列表
List<HcmArchiveFamilyVo> familyList = baseMapper.getHcmArchiveFamilyList(empIdCardSet);
Map<String, List<HcmArchiveFamilyVo>> familyMap = new HashMap<>();
if(Common.isNotNull(familyList)){
for (HcmArchiveFamilyVo familyInfo : familyList) {
// 赋值字典值
if(Common.isNotNull(familyInfo.getRelation())
&& Common.isNotNull(familyRelationMap) && Common.isNotNull(familyRelationMap.get(familyInfo.getRelation()))){
familyInfo.setRelationName(familyRelationMap.get(familyInfo.getRelation()));
}
List<HcmArchiveFamilyVo> familyVoList = familyMap.get(familyInfo.getEmpIdCard());
if(Common.isEmpty(familyVoList)){
familyVoList = new ArrayList<>();
}
familyVoList.add(familyInfo);
familyMap.put(familyInfo.getEmpIdCard(),familyVoList);
}
}
// 获取教育信息列表
List<HcmArchiveEducationVo> educationList = baseMapper.getHcmArchiveEducationList(empIdCardSet);
Map<String, List<HcmArchiveEducationVo>> educationEmpMap = new HashMap<>();
if(Common.isNotNull(educationList)){
for (HcmArchiveEducationVo educationInfo : educationList) {
// 赋值字典值
if(Common.isNotNull(educationInfo.getEducationTypeValue())
&& Common.isNotNull(educationTypeMap) && Common.isNotNull(educationTypeMap.get(educationInfo.getEducationTypeValue()))){
educationInfo.setIsFullTime(educationTypeMap.get(educationInfo.getEducationTypeValue()));
}
// 赋值字典值
if(Common.isNotNull(educationInfo.getEducationValue())
&& Common.isNotNull(educationMap) && Common.isNotNull(educationMap.get(educationInfo.getEducationValue()))){
educationInfo.setEducation(educationMap.get(educationInfo.getEducationValue()));
}
List<HcmArchiveEducationVo> educationVoList = educationEmpMap.get(educationInfo.getEmpIdCard());
if(Common.isEmpty(educationVoList)){
educationVoList = new ArrayList<>();
}
educationVoList.add(educationInfo);
educationEmpMap.put(educationInfo.getEmpIdCard(),educationVoList);
}
}
// 获取工作经历列表
List<HcmArchiveJobVo> workList = baseMapper.getHcmArchiveJobList(empIdCardSet);
Map<String, List<HcmArchiveJobVo>> workMap = new HashMap<>();
if(Common.isNotNull(workList)){
for (HcmArchiveJobVo workInfo : workList) {
List<HcmArchiveJobVo> workVoList = workMap.get(workInfo.getEmpIdCard());
if(Common.isEmpty(workVoList)){
workVoList = new ArrayList<>();
}
workVoList.add(workInfo);
workMap.put(workInfo.getEmpIdCard(),workVoList);
}
}
// 获取不良记录列表
List<HcmArchiveBadRecordVo> badRecordList = baseMapper.getHcmArchiveBadRecordList(empIdCardSet);
Map<String, List<HcmArchiveBadRecordVo>> badRecordMap = new HashMap<>();
if(Common.isNotNull(badRecordList)){
for (HcmArchiveBadRecordVo badRecordInfo : badRecordList) {
List<HcmArchiveBadRecordVo> badRecordVoList = badRecordMap.get(badRecordInfo.getEmpIdCard());
if(Common.isEmpty(badRecordVoList)){
badRecordVoList = new ArrayList<>();
}
badRecordVoList.add(badRecordInfo);
badRecordMap.put(badRecordInfo.getEmpIdCard(), badRecordVoList);
}
}
// 获取资格证书列表
List<HcmArchiveCertificateVo> certificateList = baseMapper.getHcmArchiveCertificateList(empIdCardSet);
Map<String, List<HcmArchiveCertificateVo>> certificateMap = new HashMap<>();
if(Common.isNotNull(certificateList)){
for (HcmArchiveCertificateVo certificateInfo : certificateList) {
// 赋值字典值: 资格类型 找 证件名称
if(Common.isNotNull(certificateInfo.getCertificateType())
&& Common.isNotNull(qualificationTypeMap) && Common.isNotNull(qualificationTypeMap.get(certificateInfo.getCertificateType()))){
certificateInfo.setCertificateName(qualificationTypeMap.get(certificateInfo.getCertificateType()));
}
List<HcmArchiveCertificateVo> certificateVoList = certificateMap.get(certificateInfo.getEmpIdCard());
if(Common.isEmpty(certificateVoList)){
certificateVoList = new ArrayList<>();
}
certificateVoList.add(certificateInfo);
certificateMap.put(certificateInfo.getEmpIdCard(),certificateVoList);
}
}
// 组装返回给E人事的档案信息
for (String idCard : idCardList) { for (String idCard : idCardList) {
vo = this.getHcmEmployeeInfoVoByIdCard(idCard); vo = new HcmEmployeeInfoVO();
vo.setArchiveBasic(basicMap.get(idCard));
vo.setArchiveFamily(familyMap.get(idCard));
vo.setArchiveEducation(educationEmpMap.get(idCard));
vo.setArchiveJob(workMap.get(idCard));
vo.setArchiveCertificate(certificateMap.get(idCard));
vo.setArchiveBadRecord(badRecordMap.get(idCard));
list.add(vo); list.add(vo);
} }
return R.ok(list); return R.ok(list);
} }
......
...@@ -2157,4 +2157,17 @@ public class TEmployeeProjectServiceImpl extends ServiceImpl<TEmployeeProjectMap ...@@ -2157,4 +2157,17 @@ public class TEmployeeProjectServiceImpl extends ServiceImpl<TEmployeeProjectMap
} }
} }
@Override
public Map<String,String> getSocialFundByEmpIdcardSet(Set<String> empIdCardSet) {
// 获取社保和公积金派减信息
SocialFundVo vo = new SocialFundVo();
vo.setEmpIdCardSet(empIdCardSet);
Map<String,String> socialFundMap = new HashMap<>();
R<SocialFundVo> reduceVoR = HttpDaprUtil.invokeMethodPost(daprSocialProperties.getAppUrl(), daprSocialProperties.getAppId()
, "/tsocialfundinfo/inner/getSocialAndFundReduceListByEmpIdCardSet", vo, SocialFundVo.class, SecurityConstants.FROM_IN);
if (null != reduceVoR && reduceVoR.getData() != null){
socialFundMap = reduceVoR.getData().getSocialFundByIdCard();
}
return socialFundMap;
}
} }
...@@ -1408,4 +1408,124 @@ ...@@ -1408,4 +1408,124 @@
and DELETE_FLAG ='0' <!-- 未删除 --> and DELETE_FLAG ='0' <!-- 未删除 -->
</select> </select>
<select id="getHcmArchiveBasicList" resultType="com.yifu.cloud.plus.v1.yifu.archives.vo.HcmArchiveBasicVo">
select
a.EMP_NAME empName
,a.EMP_IDCARD empIdCard
,a.EMP_PHONE empPhone
,a.EMP_EMAIL email
,a.EMP_BIRTHDAY bornDate
,if(a.EMP_SEX='2','女',if(a.EMP_SEX='1','男','-')) sex
,a.HIGN_EDUCATION educationValue
,a.EMP_REGIS_TYPE residentTypeValue
,a.EMP_MARRI_STATUS maritalStatusValue
,a.EMP_NATIONAL nationValue
,a.POLITICAL_STATUS politicalValue
,a.ID_PROVINCE idProvince
,a.ID_CITY idCity
,a.ID_TOWN idTown
,a.CONTACT_PROVINCE contactProvince
,a.CONTACT_CITY contactCity
,a.CONTACT_TOWN contactTown
,a.contact_Address contactAddress
,a.BANK_NO bankNo
,a.BANK_NAME bankName
from t_employee_info a
where a.DELETE_FLAG = '0' and a.EMP_IDCARD in
<foreach item="item" index="index" collection="idCardSet" open="(" separator="," close=")">
#{item}
</foreach>
</select>
<select id="getSysAreaList" resultType="com.yifu.cloud.plus.v1.yifu.archives.vo.SysAreaVo">
select a.id id,a.AREA_NAME name from sys_area a
where a.id in
<foreach item="item" index="index" collection="areaIdSet" open="(" separator="," close=")">
#{item}
</foreach>
</select>
<select id="getHcmArchiveFamilyList" resultType="com.yifu.cloud.plus.v1.yifu.archives.vo.HcmArchiveFamilyVo">
select
a.RELATIONSHIP_SELF relation
,a.EMP_IDCARD empIdCard
,a.FAMILY_NAME trueName
,a.BIRTHDAY bornTime
,'' political
,a.WORK_UNIT company
,'' jobName
from t_emp_family a
where a.DELETE_FLAG = '0' and a.EMP_IDCARD in
<foreach item="item" index="index" collection="idCardSet" open="(" separator="," close=")">
#{item}
</foreach>
order by a.CREATE_TIME desc
</select>
<select id="getHcmArchiveEducationList" resultType="com.yifu.cloud.plus.v1.yifu.archives.vo.HcmArchiveEducationVo">
select
a.SCHOOL schoolName
,a.EMP_IDCARD empIdCard
,a.MAJOR major
,EDUCATION_NAME educationValue
,a.ENTRY_DATE joinDate
,a.GRADUTION_DATE leaveDate
,a.type educationTypeValue
,'' annex
from t_emp_education a
where a.DELETE_FLAG = '0' and a.EMP_IDCARD in
<foreach item="item" index="index" collection="idCardSet" open="(" separator="," close=")">
#{item}
</foreach>
order by a.CREATE_TIME desc
</select>
<select id="getHcmArchiveJobList" resultType="com.yifu.cloud.plus.v1.yifu.archives.vo.HcmArchiveJobVo">
select
a.WORK_UNIT companyName
,a.EMP_IDCARD empIdCard
,a.WORK_DEPART deptName
,a.WORK_JOB jobName
,a.START_DATE joinDate
,a.END_DATE leaveDate
,a.REMARK remark
from t_emp_work_recording a
where a.DELETE_FLAG = '0' and a.EMP_IDCARD in
<foreach item="item" index="index" collection="idCardSet" open="(" separator="," close=")">
#{item}
</foreach>
order by a.CREATE_TIME desc
</select>
<select id="getHcmArchiveBadRecordList" resultType="com.yifu.cloud.plus.v1.yifu.archives.vo.HcmArchiveBadRecordVo">
select
a.EMP_IDCARD empIdCard
,a.HAPPEN_TIME happenDate
,a.REMARK remark
from t_emp_bad_record a
where a.EMP_IDCARD in
<foreach item="item" index="index" collection="idCardSet" open="(" separator="," close=")">
#{item}
</foreach>
order by a.CREATE_TIME desc
</select>
<select id="getHcmArchiveCertificateList" resultType="com.yifu.cloud.plus.v1.yifu.archives.vo.HcmArchiveCertificateVo">
select
a.QUALIFICATION_TYPE certificateType
,a.EMP_IDCARD empIdCard
,a.CERTIFICATION_NO certificateNo
,a.ASSESSMENT_UNIT certificateOrg
,'' certificateDate
,'' certificateExpireDate
,'' annex
from t_emp_professional_qualification a
where a.DELETE_FLAG = '0' and a.EMP_IDCARD in
<foreach item="item" index="index" collection="idCardSet" open="(" separator="," close=")">
#{item}
</foreach>
order by a.CREATE_TIME desc
</select>
</mapper> </mapper>
...@@ -19,6 +19,7 @@ package com.yifu.cloud.plus.v1.yifu.social.controller; ...@@ -19,6 +19,7 @@ package com.yifu.cloud.plus.v1.yifu.social.controller;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yifu.cloud.plus.v1.yifu.archives.vo.SocialFundVo;
import com.yifu.cloud.plus.v1.yifu.common.core.constant.CommonConstants; import com.yifu.cloud.plus.v1.yifu.common.core.constant.CommonConstants;
import com.yifu.cloud.plus.v1.yifu.common.core.util.Common; import com.yifu.cloud.plus.v1.yifu.common.core.util.Common;
import com.yifu.cloud.plus.v1.yifu.common.core.util.ErrorMessage; import com.yifu.cloud.plus.v1.yifu.common.core.util.ErrorMessage;
...@@ -65,7 +66,7 @@ public class TSocialFundInfoController { ...@@ -65,7 +66,7 @@ public class TSocialFundInfoController {
private final MenuUtil menuUtil; private final MenuUtil menuUtil;
/** /**
* 简单分页查询 * 简单分页查询
* @param page 分页对象 * @param page 分页对象
...@@ -208,4 +209,20 @@ public class TSocialFundInfoController { ...@@ -208,4 +209,20 @@ public class TSocialFundInfoController {
return tSocialFundInfoService.selectWorkInjuryHandleAll(); return tSocialFundInfoService.selectWorkInjuryHandleAll();
} }
/**
* 获取社保和公积金列表信息通过身份证集合
* @Author hgw
* @Date 2020-08-25
* @return
**/
@SysLog("获取社保和公积金列表信息通过身份证集合")
@PostMapping(value = "/inner/getSocialAndFundReduceListByEmpIdCardSet")
@Inner
public SocialFundVo getSocialAndFundReduceListByEmpIdCardSet(@RequestBody SocialFundVo vo) {
if (Common.isNotNull(vo.getEmpIdCardSet())) {
return tSocialFundInfoService.getSocialAndFundReduceListByEmpIdCardSet(vo.getEmpIdCardSet());
}
return new SocialFundVo();
}
} }
...@@ -20,6 +20,7 @@ package com.yifu.cloud.plus.v1.yifu.social.service; ...@@ -20,6 +20,7 @@ package com.yifu.cloud.plus.v1.yifu.social.service;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.yifu.cloud.plus.v1.yifu.archives.vo.SocialFundVo;
import com.yifu.cloud.plus.v1.yifu.common.core.util.ErrorMessage; import com.yifu.cloud.plus.v1.yifu.common.core.util.ErrorMessage;
import com.yifu.cloud.plus.v1.yifu.common.core.util.R; import com.yifu.cloud.plus.v1.yifu.common.core.util.R;
import com.yifu.cloud.plus.v1.yifu.salary.vo.ListStringVo; import com.yifu.cloud.plus.v1.yifu.salary.vo.ListStringVo;
...@@ -34,6 +35,7 @@ import com.yifu.cloud.plus.v1.yifu.social.vo.TSocialFundInfoSearchVo; ...@@ -34,6 +35,7 @@ import com.yifu.cloud.plus.v1.yifu.social.vo.TSocialFundInfoSearchVo;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.io.InputStream; import java.io.InputStream;
import java.util.List; import java.util.List;
import java.util.Set;
/** /**
* 社保公积金查询表 * 社保公积金查询表
...@@ -93,4 +95,6 @@ public interface TSocialFundInfoService extends IService<TSocialFundInfo> { ...@@ -93,4 +95,6 @@ public interface TSocialFundInfoService extends IService<TSocialFundInfo> {
**/ **/
ListStringVo selectWorkInjuryHandleAll(); ListStringVo selectWorkInjuryHandleAll();
SocialFundVo getSocialAndFundReduceListByEmpIdCardSet(Set<String> empIdCardSet);
} }
...@@ -32,6 +32,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; ...@@ -32,6 +32,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.yifu.cloud.plus.v1.yifu.archives.entity.TEmployeeInfo; import com.yifu.cloud.plus.v1.yifu.archives.entity.TEmployeeInfo;
import com.yifu.cloud.plus.v1.yifu.archives.entity.TEmployeeProject; import com.yifu.cloud.plus.v1.yifu.archives.entity.TEmployeeProject;
import com.yifu.cloud.plus.v1.yifu.archives.vo.SocialFundVo;
import com.yifu.cloud.plus.v1.yifu.common.core.constant.CacheConstants; import com.yifu.cloud.plus.v1.yifu.common.core.constant.CacheConstants;
import com.yifu.cloud.plus.v1.yifu.common.core.constant.CommonConstants; import com.yifu.cloud.plus.v1.yifu.common.core.constant.CommonConstants;
import com.yifu.cloud.plus.v1.yifu.common.core.exception.ErrorCodes; import com.yifu.cloud.plus.v1.yifu.common.core.exception.ErrorCodes;
...@@ -57,10 +58,7 @@ import java.io.InputStream; ...@@ -57,10 +58,7 @@ import java.io.InputStream;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.net.URLEncoder; import java.net.URLEncoder;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.ArrayList; import java.util.*;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import java.util.stream.Stream; import java.util.stream.Stream;
...@@ -933,4 +931,23 @@ public class TSocialFundInfoServiceImpl extends ServiceImpl<TSocialFundInfoMappe ...@@ -933,4 +931,23 @@ public class TSocialFundInfoServiceImpl extends ServiceImpl<TSocialFundInfoMappe
vo.setListVo(socialList); vo.setListVo(socialList);
return vo; return vo;
} }
}
\ No newline at end of file @Override
public SocialFundVo getSocialAndFundReduceListByEmpIdCardSet(Set<String> empIdCardSet) {
SocialFundVo socialFundVo = new SocialFundVo();
List<TSocialFundInfo> socialFundList = baseMapper.selectList(Wrappers.<TSocialFundInfo>query().lambda()
.in(TSocialFundInfo::getEmpIdcard, empIdCardSet));
if(Common.isNotNull(socialFundList)){
Map<String,String> fundByIdCard = new HashMap<>();
for (TSocialFundInfo socialFund : socialFundList) {
fundByIdCard.put(socialFund.getEmpIdcard(),socialFund.getSocialHouseholdName());
}
socialFundVo.setSocialFundByIdCard(fundByIdCard);
}
return socialFundVo;
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment