Commit f469fcf2 authored by hongguangwu's avatar hongguangwu

Merge remote-tracking branch 'origin/develop' into develop

parents 764e528c 41c6d96a
...@@ -21,6 +21,12 @@ import java.util.Date; ...@@ -21,6 +21,12 @@ import java.util.Date;
*/ */
@Data @Data
public class EmpContractDispatchVo implements Serializable { public class EmpContractDispatchVo implements Serializable {
/**
* 合同主键ID
*/
@Schema(description = "合同主键ID", name = "empId")
private String id;
/** /**
* 员工主键 * 员工主键
*/ */
......
package com.yifu.cloud.plus.v1.yifu.archives.vo;
import lombok.Data;
import java.io.Serializable;
import java.util.HashMap;
import java.util.Map;
/**
* @Author fxj
* @Date 2022/7/20
* @Description
* @Version 1.0
*/
@Data
public class EmpDispatchAddVo implements Serializable {
/**
* 员工档案
**/
Map<String,EmpAddDispatchVo> empAddsMap;
/**
* 员工合同
**/
Map<String,EmpContractDispatchVo> contractsMap;
/**
* 员工项目档案
**/
Map<String,EmpProjectDispatchVo> projectsMap;
}
...@@ -18,6 +18,12 @@ import java.io.Serializable; ...@@ -18,6 +18,12 @@ import java.io.Serializable;
*/ */
@Data @Data
public class EmpProjectDispatchVo implements Serializable { public class EmpProjectDispatchVo implements Serializable {
/**
* 项目档案ID
*/
@Schema(description ="项目档案ID")
private String id;
/** /**
* 人员档案主表id * 人员档案主表id
*/ */
......
...@@ -25,6 +25,7 @@ import com.yifu.cloud.plus.v1.yifu.archives.entity.TEmployeeInfo; ...@@ -25,6 +25,7 @@ import com.yifu.cloud.plus.v1.yifu.archives.entity.TEmployeeInfo;
import com.yifu.cloud.plus.v1.yifu.archives.service.TEmployeeInfoService; import com.yifu.cloud.plus.v1.yifu.archives.service.TEmployeeInfoService;
import com.yifu.cloud.plus.v1.yifu.archives.vo.DispatchCheckVo; import com.yifu.cloud.plus.v1.yifu.archives.vo.DispatchCheckVo;
import com.yifu.cloud.plus.v1.yifu.archives.vo.DispatchEmpVo; import com.yifu.cloud.plus.v1.yifu.archives.vo.DispatchEmpVo;
import com.yifu.cloud.plus.v1.yifu.archives.vo.EmpDispatchAddVo;
import com.yifu.cloud.plus.v1.yifu.archives.vo.ErrorMessageVO; import com.yifu.cloud.plus.v1.yifu.archives.vo.ErrorMessageVO;
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;
...@@ -438,4 +439,19 @@ public class TEmployeeInfoController { ...@@ -438,4 +439,19 @@ public class TEmployeeInfoController {
return tEmployeeInfoService.getDispatchEmpVo(checkVo); return tEmployeeInfoService.getDispatchEmpVo(checkVo);
} }
/**
* @Author fxj
* @Description 新增档案|项目档案|合同信息
* @Date 21:05 2022/7/20
* @Param
* @return
**/
@Operation(description = "新增档案|项目档案|合同信息")
@SysLog("新增档案|项目档案|合同信息")
@Inner
@PostMapping("/addDispatchInfo")
public EmpDispatchAddVo addDispatchInfo(@RequestBody(required = true) EmpDispatchAddVo addVo) {
return tEmployeeInfoService.addDispatchInfo(addVo);
}
} }
...@@ -182,4 +182,6 @@ public interface TEmployeeInfoService extends IService<TEmployeeInfo> { ...@@ -182,4 +182,6 @@ public interface TEmployeeInfoService extends IService<TEmployeeInfo> {
void exportLeaveEmployee(TEmployeeInfo employeeVo, HttpServletResponse response); void exportLeaveEmployee(TEmployeeInfo employeeVo, HttpServletResponse response);
Map<String,DispatchEmpVo> getDispatchEmpVo(DispatchCheckVo checkVo); Map<String,DispatchEmpVo> getDispatchEmpVo(DispatchCheckVo checkVo);
EmpDispatchAddVo addDispatchInfo(EmpDispatchAddVo addVo);
} }
...@@ -273,6 +273,7 @@ public class TEmpContractAlertServiceImpl extends ServiceImpl<TEmpContractAlertM ...@@ -273,6 +273,7 @@ public class TEmpContractAlertServiceImpl extends ServiceImpl<TEmpContractAlertM
alert.setAlertPerson(contract.getCreateName()); alert.setAlertPerson(contract.getCreateName());
alert.setEmpName(contract.getEmpName()); alert.setEmpName(contract.getEmpName());
alert.setEmpId(contract.getEmpId()); alert.setEmpId(contract.getEmpId());
alert.setEmpCode(contract.getEmpNo());
alert.setProject(contract.getSubjectDepart()); alert.setProject(contract.getSubjectDepart());
alert.setProjectNo(contract.getDeptNo()); alert.setProjectNo(contract.getDeptNo());
alert.setEmpIdcard(contract.getEmpIdcard()); alert.setEmpIdcard(contract.getEmpIdcard());
......
...@@ -28,13 +28,12 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers; ...@@ -28,13 +28,12 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; 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.pig4cloud.plugin.excel.vo.ErrorMessage; import com.pig4cloud.plugin.excel.vo.ErrorMessage;
import com.sun.org.apache.bcel.internal.generic.IF_ACMPEQ;
import com.yifu.cloud.plus.v1.check.entity.TCheckIdCard; import com.yifu.cloud.plus.v1.check.entity.TCheckIdCard;
import com.yifu.cloud.plus.v1.check.entity.TCheckMobile; import com.yifu.cloud.plus.v1.check.entity.TCheckMobile;
import com.yifu.cloud.plus.v1.yifu.archives.constants.EmployeeConstants; import com.yifu.cloud.plus.v1.yifu.archives.constants.EmployeeConstants;
import com.yifu.cloud.plus.v1.yifu.archives.entity.TEmpEducation; import com.yifu.cloud.plus.v1.yifu.archives.entity.*;
import com.yifu.cloud.plus.v1.yifu.archives.entity.TEmployeeInfo; import com.yifu.cloud.plus.v1.yifu.archives.mapper.TEmployeeContractInfoMapper;
import com.yifu.cloud.plus.v1.yifu.archives.entity.TEmployeeProject;
import com.yifu.cloud.plus.v1.yifu.archives.entity.TSettleDomain;
import com.yifu.cloud.plus.v1.yifu.archives.mapper.TEmployeeInfoMapper; import com.yifu.cloud.plus.v1.yifu.archives.mapper.TEmployeeInfoMapper;
import com.yifu.cloud.plus.v1.yifu.archives.service.*; import com.yifu.cloud.plus.v1.yifu.archives.service.*;
import com.yifu.cloud.plus.v1.yifu.archives.vo.*; import com.yifu.cloud.plus.v1.yifu.archives.vo.*;
...@@ -88,6 +87,8 @@ public class TEmployeeInfoServiceImpl extends ServiceImpl<TEmployeeInfoMapper, T ...@@ -88,6 +87,8 @@ public class TEmployeeInfoServiceImpl extends ServiceImpl<TEmployeeInfoMapper, T
private final TEmpEducationService tEmpEducationService; private final TEmpEducationService tEmpEducationService;
private final TSettleDomainService tSettleDomainService; private final TSettleDomainService tSettleDomainService;
private final TEmployeeContractInfoMapper contractMapper;
@Override @Override
public IPage<TEmployeeInfo> getPage(Page<TEmployeeInfo> page, TEmployeeInfo employeeInfo, String sql) { public IPage<TEmployeeInfo> getPage(Page<TEmployeeInfo> page, TEmployeeInfo employeeInfo, String sql) {
return baseMapper.getPage(page, employeeInfo, sql); return baseMapper.getPage(page, employeeInfo, sql);
...@@ -354,7 +355,7 @@ public class TEmployeeInfoServiceImpl extends ServiceImpl<TEmployeeInfoMapper, T ...@@ -354,7 +355,7 @@ public class TEmployeeInfoServiceImpl extends ServiceImpl<TEmployeeInfoMapper, T
project.setLeaveTime(null); project.setLeaveTime(null);
project.setProjectStatus(CommonConstants.ZERO_INT); project.setProjectStatus(CommonConstants.ZERO_INT);
tEmployeeProjectService.updateById(project); tEmployeeProjectService.updateById(project);
projectNum++ ; projectNum++;
} }
} }
} }
...@@ -2043,16 +2044,127 @@ public class TEmployeeInfoServiceImpl extends ServiceImpl<TEmployeeInfoMapper, T ...@@ -2043,16 +2044,127 @@ public class TEmployeeInfoServiceImpl extends ServiceImpl<TEmployeeInfoMapper, T
} }
@Override @Override
public Map<String,DispatchEmpVo> getDispatchEmpVo(DispatchCheckVo checkVo) { public Map<String, DispatchEmpVo> getDispatchEmpVo(DispatchCheckVo checkVo) {
List<DispatchEmpVo> voList = baseMapper.getDispatchEmpVo(checkVo); List<DispatchEmpVo> voList = baseMapper.getDispatchEmpVo(checkVo);
if (Common.isNotNull(voList)){ if (Common.isNotNull(voList)) {
Map<String,DispatchEmpVo> voMap = new HashMap<>(); Map<String, DispatchEmpVo> voMap = new HashMap<>();
for (DispatchEmpVo vo:voList){ for (DispatchEmpVo vo : voList) {
voMap.put(vo.getEmpIdcard(),vo); voMap.put(vo.getEmpIdcard(), vo);
} }
return voMap; return voMap;
} }
return null; return null;
} }
/**
* @return
* @Author fxj
* @Description 新增派单的档案 项目档案 合同
* @Date 21:51 2022/7/20
* @Param
**/
@Override
public EmpDispatchAddVo addDispatchInfo(EmpDispatchAddVo addVo) {
if (Common.isEmpty(addVo)) {
return new EmpDispatchAddVo();
}
//员工档案
Map<String, EmpAddDispatchVo> empAddsMap = addVo.getEmpAddsMap();
//员工合同
Map<String, EmpContractDispatchVo> contractsMap = addVo.getContractsMap();
//员工项目档案
Map<String, EmpProjectDispatchVo> projectsMap = addVo.getProjectsMap();
// 新增档案
saveEmp(empAddsMap);
// 新增项目档案不需要返回ID
saveProject(empAddsMap, projectsMap);
// 新增合同
saveContract(empAddsMap, contractsMap);
addVo.setProjectsMap(projectsMap);
addVo.setEmpAddsMap(empAddsMap);
addVo.setContractsMap(contractsMap);
return addVo;
}
private void saveContract(Map<String, EmpAddDispatchVo> empAddsMap, Map<String, EmpContractDispatchVo> contractsMap) {
if (Common.isNotNull(contractsMap)) {
EmpContractDispatchVo contractAdd;
TEmployeeContractInfo contract;
for (Map.Entry<String, EmpContractDispatchVo> entry : contractsMap.entrySet()) {
contractAdd = entry.getValue();
try {
if (Common.isNotNull(contractAdd)) {
contract = new TEmployeeContractInfo();
BeanUtil.copyProperties(contractAdd, contract);
if (Common.isEmpty(contract.getEmpId()) && Common.isNotNull(empAddsMap)) {
EmpAddDispatchVo emp = empAddsMap.get(contract.getEmpIdcard());
if (Common.isNotNull(emp)) {
contract.setEmpId(emp.getId());
contract.setEmpNo(emp.getEmpCode());
}
contractMapper.insert(contract);
contractAdd.setId(contract.getId());
contractsMap.put(contractAdd.getEmpIdcard() + CommonConstants.DOWN_LINE_STRING + contractAdd.getDeptNo(), contractAdd);
}
}
} catch (Exception e) {
log.error(contractAdd.getEmpIdcard() + CommonConstants.COLON_STRING + "派单新增合同失败");
}
}
}
}
private void saveEmp(Map<String, EmpAddDispatchVo> empAddsMap) {
if (Common.isNotNull(empAddsMap)) {
EmpAddDispatchVo empAdd;
TEmployeeInfo employeeInfo;
for (Map.Entry<String, EmpAddDispatchVo> entry : empAddsMap.entrySet()) {
empAdd = entry.getValue();
try {
if (Common.isNotNull(empAdd)) {
employeeInfo = new TEmployeeInfo();
BeanUtil.copyProperties(empAdd, employeeInfo);
employeeInfo.setEmpCode(getCode());
baseMapper.insert(employeeInfo);
empAdd.setId(employeeInfo.getId());
empAddsMap.put(empAdd.getEmpIdcard(), empAdd);
}
} catch (Exception e) {
log.error(empAdd.getEmpIdcard() + CommonConstants.COLON_STRING + "派单新增档案失败");
}
}
}
}
private void saveProject(Map<String, EmpAddDispatchVo> empAddsMap, Map<String, EmpProjectDispatchVo> projectsMap) {
if (Common.isNotNull(projectsMap)) {
EmpProjectDispatchVo projectAdd;
TEmployeeProject project;
EmpAddDispatchVo emp;
for (Map.Entry<String, EmpProjectDispatchVo> entry : projectsMap.entrySet()) {
projectAdd = entry.getValue();
try {
if (Common.isNotNull(projectAdd)) ;
{
project = new TEmployeeProject();
BeanUtil.copyProperties(projectAdd, project);
if (Common.isEmpty(project.getEmpId()) && Common.isNotNull(empAddsMap)) {
emp = empAddsMap.get(project.getEmpIdcard());
if (Common.isNotNull(emp)) {
project.setEmpCode(emp.getEmpCode());
project.setEmpId(emp.getId());
}
}
tEmployeeProjectService.save(project);
projectAdd.setId(project.getId());
projectsMap.put(project.getEmpIdcard() + CommonConstants.DOWN_LINE_STRING + project.getDeptNo(), projectAdd);
}
} catch (Exception e) {
log.error(projectAdd.getEmpIdcard() + CommonConstants.COLON_STRING + "派单新增项目档案失败");
}
}
}
}
} }
...@@ -378,4 +378,8 @@ public interface ErrorCodes { ...@@ -378,4 +378,8 @@ public interface ErrorCodes {
* 新增异常:必须派单社保或公积金,不支持单派档案 * 新增异常:必须派单社保或公积金,不支持单派档案
*/ */
String EMP_DISPATCH_SOCIAL_AND_FUND_NOT_EMPTY = "emp.dispatch.social.and.fund.not.empty"; String EMP_DISPATCH_SOCIAL_AND_FUND_NOT_EMPTY = "emp.dispatch.social.and.fund.not.empty";
/**
* 新增异常:未找到对应项目编码信息
*/
String EMP_DISPATCH_PROJECT_NOT_FOUND = "emp.dispatch.project.not.found";
} }
...@@ -133,6 +133,8 @@ emp.dispatch.social.exist=\u65B0\u589E\u5F02\u5E38\uFF1A\u5355\u6B21\u5BFC\u5165 ...@@ -133,6 +133,8 @@ emp.dispatch.social.exist=\u65B0\u589E\u5F02\u5E38\uFF1A\u5355\u6B21\u5BFC\u5165
emp.dispatch.social.and.fund.not.empty=\u65B0\u589E\u5F02\u5E38\uFF1A\u5FC5\u987B\u6D3E\u5355\u793E\u4FDD\u6216\u516C\u79EF\u91D1\uFF0C\u4E0D\u652F\u6301\u5355\u6D3E\u6863\u6848 emp.dispatch.social.and.fund.not.empty=\u65B0\u589E\u5F02\u5E38\uFF1A\u5FC5\u987B\u6D3E\u5355\u793E\u4FDD\u6216\u516C\u79EF\u91D1\uFF0C\u4E0D\u652F\u6301\u5355\u6D3E\u6863\u6848
emp.dispatch.project.not.found=\u65B0\u589E\u5F02\u5E38\uFF1A\u672A\u627E\u5230\u5BF9\u5E94\u9879\u76EE\u7F16\u7801\u4FE1\u606F
......
package com.yifu.cloud.plus.v1.yifu.common.dapr.util; package com.yifu.cloud.plus.v1.yifu.common.dapr.util;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.yifu.cloud.plus.v1.yifu.archives.vo.DispatchAddVo;
import com.yifu.cloud.plus.v1.yifu.archives.vo.DispatchCheckVo; import com.yifu.cloud.plus.v1.yifu.archives.vo.DispatchCheckVo;
import com.yifu.cloud.plus.v1.yifu.archives.vo.EmpDispatchAddVo;
import com.yifu.cloud.plus.v1.yifu.archives.vo.TSettleDomainSelectVo; import com.yifu.cloud.plus.v1.yifu.archives.vo.TSettleDomainSelectVo;
import com.yifu.cloud.plus.v1.yifu.common.core.constant.SecurityConstants; import com.yifu.cloud.plus.v1.yifu.common.core.constant.SecurityConstants;
import com.yifu.cloud.plus.v1.yifu.common.core.util.Common; import com.yifu.cloud.plus.v1.yifu.common.core.util.Common;
...@@ -98,4 +100,11 @@ public class ArchivesDaprUtil { ...@@ -98,4 +100,11 @@ public class ArchivesDaprUtil {
return res; return res;
} }
public R<DispatchAddVo> addDispatchInfo(EmpDispatchAddVo addVo) {
R<DispatchAddVo> res = HttpDaprUtil.invokeMethodPost(daprArchivesProperties.getAppUrl(),daprArchivesProperties.getAppId(),"/temployeeinfo/addDispatchInfo" , JSON.toJSONString(addVo), DispatchAddVo.class, SecurityConstants.FROM_IN);
if (Common.isEmpty(res)){
return R.failed("新增档案|项目档案|合同信息失败!");
}
return res;
}
} }
...@@ -5,7 +5,6 @@ import com.baomidou.mybatisplus.annotation.TableId; ...@@ -5,7 +5,6 @@ import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import com.yifu.cloud.plus.v1.yifu.common.mybatis.base.BaseEntity; import com.yifu.cloud.plus.v1.yifu.common.mybatis.base.BaseEntity;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import java.math.BigDecimal; import java.math.BigDecimal;
...@@ -21,7 +20,7 @@ import java.time.LocalDateTime; ...@@ -21,7 +20,7 @@ import java.time.LocalDateTime;
@Data @Data
@EqualsAndHashCode(callSuper = true) @EqualsAndHashCode(callSuper = true)
@TableName("t_insurance_detail") @TableName("t_insurance_detail")
@Tag(name = "商险明细表") @Schema(description = "商险明细表")
public class TInsuranceDetail extends BaseEntity { public class TInsuranceDetail extends BaseEntity {
/** /**
* 主键 * 主键
......
...@@ -3,7 +3,6 @@ package com.yifu.cloud.plus.v1.yifu.insurances.entity; ...@@ -3,7 +3,6 @@ package com.yifu.cloud.plus.v1.yifu.insurances.entity;
import com.baomidou.mybatisplus.annotation.*; import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.Data; import lombok.Data;
import java.io.Serializable; import java.io.Serializable;
...@@ -16,7 +15,7 @@ import java.time.LocalDateTime; ...@@ -16,7 +15,7 @@ import java.time.LocalDateTime;
*/ */
@Data @Data
@TableName("t_insurance_replace") @TableName("t_insurance_replace")
@Tag(name = "商险替换表") @Schema(description = "商险替换表")
public class TInsuranceReplace implements Serializable { public class TInsuranceReplace implements Serializable {
private static final long serialVersionUID = -8528017421473755436L; private static final long serialVersionUID = -8528017421473755436L;
......
package com.yifu.cloud.plus.v1.yifu.insurances.vo; package com.yifu.cloud.plus.v1.yifu.insurances.vo;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.Data; import lombok.Data;
import java.io.Serializable; import java.io.Serializable;
...@@ -11,7 +10,7 @@ import java.io.Serializable; ...@@ -11,7 +10,7 @@ import java.io.Serializable;
* @date 2022-07-18 17:03:31 * @date 2022-07-18 17:03:31
*/ */
@Data @Data
@Tag(name = "商险办理新增入参") @Schema(description = "商险办理新增入参")
public class InsuranceAddParam implements Serializable { public class InsuranceAddParam implements Serializable {
private static final long serialVersionUID = -2689686777914935788L; private static final long serialVersionUID = -2689686777914935788L;
/** /**
......
package com.yifu.cloud.plus.v1.yifu.insurances.vo; package com.yifu.cloud.plus.v1.yifu.insurances.vo;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.Data; import lombok.Data;
import java.io.Serializable; import java.io.Serializable;
...@@ -13,7 +12,7 @@ import java.time.LocalDate; ...@@ -13,7 +12,7 @@ import java.time.LocalDate;
* @date 2022-07-20 08:43:31 * @date 2022-07-20 08:43:31
*/ */
@Data @Data
@Tag(name = "商险办理批增入参") @Schema(description = "商险办理批增入参")
public class InsuranceBatchParam implements Serializable { public class InsuranceBatchParam implements Serializable {
private static final long serialVersionUID = -2689686777914935788L; private static final long serialVersionUID = -2689686777914935788L;
/** /**
......
...@@ -3,7 +3,6 @@ package com.yifu.cloud.plus.v1.yifu.insurances.vo; ...@@ -3,7 +3,6 @@ package com.yifu.cloud.plus.v1.yifu.insurances.vo;
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonIgnore;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.Data; import lombok.Data;
import java.io.Serializable; import java.io.Serializable;
...@@ -17,7 +16,7 @@ import java.time.LocalDateTime; ...@@ -17,7 +16,7 @@ import java.time.LocalDateTime;
* @date 2022-07-20 19:23:17 * @date 2022-07-20 19:23:17
*/ */
@Data @Data
@Tag(name = "投保详情VO") @Schema(description = "投保详情VO")
public class InsuranceDetailVO implements Serializable { public class InsuranceDetailVO implements Serializable {
private static final long serialVersionUID = 628032758008497542L; private static final long serialVersionUID = 628032758008497542L;
/** /**
...@@ -191,24 +190,48 @@ public class InsuranceDetailVO implements Serializable { ...@@ -191,24 +190,48 @@ public class InsuranceDetailVO implements Serializable {
@Schema(description = "商险购买地省") @Schema(description = "商险购买地省")
private String insuranceProvinceName; private String insuranceProvinceName;
/**
* 商险购买地省code
*/
@Schema(description = "商险购买地省code")
private Integer insuranceProvince;
/** /**
* 商险购买地市 * 商险购买地市
*/ */
@Schema(description = "商险购买地市") @Schema(description = "商险购买地市")
private String insuranceCityName; private String insuranceCityName;
/**
* 商险购买地市code
*/
@Schema(description = "商险购买地市code")
private Integer insuranceCity;
/** /**
* 商险办理省 * 商险办理省
*/ */
@Schema(description = "商险办理省") @Schema(description = "商险办理省")
private String insuranceHandleProvinceName; private String insuranceHandleProvinceName;
/**
* 商险办理省code
*/
@Schema(description = "商险办理省code")
private Integer insuranceHandleProvince;
/** /**
* 商险办理城市 * 商险办理城市
*/ */
@Schema(description = "商险办理城市") @Schema(description = "商险办理城市")
private String insuranceHandleCityName; private String insuranceHandleCityName;
/**
* 商险办理城市code
*/
@Schema(description = "商险办理城市code")
private Integer insuranceHandleCity;
/** /**
* 创建人姓名 * 创建人姓名
*/ */
......
package com.yifu.cloud.plus.v1.yifu.insurances.vo; package com.yifu.cloud.plus.v1.yifu.insurances.vo;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.Data; import lombok.Data;
import java.io.Serializable; import java.io.Serializable;
...@@ -12,7 +11,7 @@ import java.io.Serializable; ...@@ -12,7 +11,7 @@ import java.io.Serializable;
* @date 2022-07-20 16:14:19 * @date 2022-07-20 16:14:19
*/ */
@Data @Data
@Tag(name = "投保列表请求参数") @Schema(description = "投保列表请求参数")
public class InsuranceListParam implements Serializable { public class InsuranceListParam implements Serializable {
private static final long serialVersionUID = -4692341622141432288L; private static final long serialVersionUID = -4692341622141432288L;
......
...@@ -3,7 +3,6 @@ package com.yifu.cloud.plus.v1.yifu.insurances.vo; ...@@ -3,7 +3,6 @@ package com.yifu.cloud.plus.v1.yifu.insurances.vo;
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonIgnore;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.Data; import lombok.Data;
import java.io.Serializable; import java.io.Serializable;
...@@ -15,7 +14,7 @@ import java.time.LocalDate; ...@@ -15,7 +14,7 @@ import java.time.LocalDate;
* @date 2022-07-20 16:18:41 * @date 2022-07-20 16:18:41
*/ */
@Data @Data
@Tag(name = "投保列表VO") @Schema(description = "投保列表VO")
public class InsuranceListVO implements Serializable { public class InsuranceListVO implements Serializable {
private static final long serialVersionUID = -6673220061558171816L; private static final long serialVersionUID = -6673220061558171816L;
......
package com.yifu.cloud.plus.v1.yifu.insurances.vo; package com.yifu.cloud.plus.v1.yifu.insurances.vo;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.Data; import lombok.Data;
import java.io.Serializable; import java.io.Serializable;
import java.time.LocalDate;
/** /**
* @author licancan * @author licancan
...@@ -13,7 +11,7 @@ import java.time.LocalDate; ...@@ -13,7 +11,7 @@ import java.time.LocalDate;
* @date 2022-07-20 08:43:31 * @date 2022-07-20 08:43:31
*/ */
@Data @Data
@Tag(name = "商险办理替换入参") @Schema(description = "商险办理替换入参")
public class InsuranceReplaceParam implements Serializable { public class InsuranceReplaceParam implements Serializable {
private static final long serialVersionUID = -2689686777914935788L; private static final long serialVersionUID = -2689686777914935788L;
......
...@@ -169,9 +169,13 @@ ...@@ -169,9 +169,13 @@
detail.IS_EFFECT as isEffect, detail.IS_EFFECT as isEffect,
detail.IS_OVERDUE as isOverdue, detail.IS_OVERDUE as isOverdue,
detail.INSURANCE_PROVINCE_NAME as insuranceProvinceName, detail.INSURANCE_PROVINCE_NAME as insuranceProvinceName,
detail.INSURANCE_PROVINCE as insuranceProvince,
detail.INSURANCE_CITY_NAME as insuranceCityName, detail.INSURANCE_CITY_NAME as insuranceCityName,
detail.INSURANCE_CITY as insuranceCity,
detail.INSURANCE_HANDLE_PROVINCE_NAME as insuranceHandleProvinceName, detail.INSURANCE_HANDLE_PROVINCE_NAME as insuranceHandleProvinceName,
detail.INSURANCE_HANDLE_PROVINCE as insuranceHandleProvince,
detail.INSURANCE_HANDLE_CITY_NAME as insuranceHandleCityName, detail.INSURANCE_HANDLE_CITY_NAME as insuranceHandleCityName,
detail.INSURANCE_HANDLE_CITY as insuranceHandleCity,
detail.CREATE_NAME as createName, detail.CREATE_NAME as createName,
detail.CREATE_TIME as createTime detail.CREATE_TIME as createTime
from t_insurance_detail detail from t_insurance_detail detail
......
...@@ -106,6 +106,15 @@ public class TSocialFundInfo extends BaseEntity { ...@@ -106,6 +106,15 @@ public class TSocialFundInfo extends BaseEntity {
@Schema(description = "结算主体" ) @Schema(description = "结算主体" )
@ExcelProperty("结算主体" ) @ExcelProperty("结算主体" )
private String settleDomainName; private String settleDomainName;
/**
* 结算主体编码
*/
@Length(max = 50, message = "结算主体编码不能超过50个字符" )
@ExcelAttribute(name = "结算主体编码", maxLength = 50)
@Schema(description = "结算主体编码" )
@ExcelProperty("结算主体编码" )
private String settleDomainCode;
/** /**
* unitName * unitName
*/ */
...@@ -117,11 +126,47 @@ public class TSocialFundInfo extends BaseEntity { ...@@ -117,11 +126,47 @@ public class TSocialFundInfo extends BaseEntity {
/** /**
* unitId * unitId
*/ */
@Length(max = 32, message = "unitId 不能超过32个字符" )
@ExcelAttribute(name = "unitId", maxLength = 32) @ExcelAttribute(name = "unitId", maxLength = 32)
@Schema(description = "unitId" ) @Schema(description = "unitId" )
@ExcelProperty("unitId" ) @ExcelProperty("unitId" )
private String unitId; private String unitId;
/**
* 结算主体-公积金
*/
@ExcelAttribute(name = "结算主体-公积金", maxLength = 32)
@Schema(description = "结算主体-公积金" )
@ExcelProperty("结算主体-公积金" )
private String settleDomainFund;
/**
* 结算主体-公积金
*/
@ExcelAttribute(name = "结算主体-公积金", maxLength = 50)
@Schema(description = "结算主体-公积金" )
@ExcelProperty("结算主体-公积金" )
private String settleDomainNameFund;
/**
* 结算主体编码-公积金
*/
@ExcelAttribute(name = "结算主体编码-公积金", maxLength = 50)
@Schema(description = "结算主体编码-公积金" )
@ExcelProperty("结算主体编码-公积金" )
private String settleDomainCodeFund;
/**
* 单位名称-公积金
*/
@ExcelAttribute(name = "单位名称-公积金", maxLength = 50)
@Schema(description = "单位名称-公积金" )
@ExcelProperty("单位名称-公积金" )
private String unitNameFund;
/**
* 单位ID
*/
@ExcelAttribute(name = "单位ID", maxLength = 32)
@Schema(description = "单位ID" )
@ExcelProperty("单位ID" )
private String unitIdFund;
/** /**
* 社保户 * 社保户
*/ */
......
...@@ -16,6 +16,7 @@ ...@@ -16,6 +16,7 @@
*/ */
package com.yifu.cloud.plus.v1.yifu.social.vo; package com.yifu.cloud.plus.v1.yifu.social.vo;
import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.ExcelProperty;
import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
...@@ -402,4 +403,39 @@ public class TDispatchImportVo extends RowIndex implements Serializable { ...@@ -402,4 +403,39 @@ public class TDispatchImportVo extends RowIndex implements Serializable {
@ExcelProperty("委托备注" ) @ExcelProperty("委托备注" )
private String trustRemark; private String trustRemark;
/**
* 结算主体ID
*/
@Schema(description = "结算主体ID")
@ExcelIgnore
private String settleDomainId;
/**
* 结算主体名称
*/
@Schema(description = "结算主体名称")
@ExcelIgnore
private String departName;
/**
* 所属客户
*/
@Schema(description = "所属客户")
@ExcelIgnore
private String customerId;
/**
* 客户名称
*/
@Schema(description = "客户名称")
@ExcelIgnore
private String customerName;
/**
* 客户编码
*/
@Schema(description = "客户编码")
@ExcelIgnore
private String customerCode;
} }
...@@ -77,6 +77,7 @@ public class TDispatchInfoServiceImpl extends ServiceImpl<TDispatchInfoMapper, T ...@@ -77,6 +77,7 @@ public class TDispatchInfoServiceImpl extends ServiceImpl<TDispatchInfoMapper, T
private final SysBaseSetInfoMapper baseSetMapper; private final SysBaseSetInfoMapper baseSetMapper;
/** /**
* 派单信息记录表简单分页查询 * 派单信息记录表简单分页查询
* *
...@@ -255,6 +256,9 @@ public class TDispatchInfoServiceImpl extends ServiceImpl<TDispatchInfoMapper, T ...@@ -255,6 +256,9 @@ public class TDispatchInfoServiceImpl extends ServiceImpl<TDispatchInfoMapper, T
private void importTDispatchInfo(List<TDispatchImportVo> excelVOList, private void importTDispatchInfo(List<TDispatchImportVo> excelVOList,
List<ErrorMessage> errorMessageList, List<ErrorMessage> errorMessageList,
YifuUser user) { YifuUser user) {
if (Common.isEmpty(excelVOList)){
return;
}
// 个性化校验逻辑 // 个性化校验逻辑
ErrorMessage errorMsg; ErrorMessage errorMsg;
List<String> idcards = new ArrayList<>(); List<String> idcards = new ArrayList<>();
...@@ -266,26 +270,28 @@ public class TDispatchInfoServiceImpl extends ServiceImpl<TDispatchInfoMapper, T ...@@ -266,26 +270,28 @@ public class TDispatchInfoServiceImpl extends ServiceImpl<TDispatchInfoMapper, T
initIdcardAndCode(excelVOList, idcards, codes, socialholds, fundholds); initIdcardAndCode(excelVOList, idcards, codes, socialholds, fundholds);
// 通过身份证和项目编码获取档案&项目档案&最新合同 // 通过身份证和项目编码获取档案&项目档案&最新合同
Map<String, DispatchEmpVo> empVoMap = getDispatchEmpVo(idcards, codes); Map<String, DispatchEmpVo> empVoMap = getDispatchEmpVo(idcards, codes);
// 通过身份证查询社保&公积金&社保公积金查询信息 // 通过身份证查询社保&公积金&社保公积金查询信息: 身份证维度唯一
Map<String, TSocialFundInfo> socialFundMap = getSocialFundMap(idcards); Map<String, TSocialFundInfo> socialFundMap = getSocialFundMap(idcards);
// 获取结算主体编码数据 以供校验 // 获取结算主体编码数据 以供校验
Map<String, String> settleDomainVo = new HashMap<>(); Map<String, ProjectSetInfoVo> projectVoMap = getProjectVoMap(codes);
// 获取所有社保户和公积金户数据 // 获取所有社保户和公积金户数据
Map<String, SysBaseSetInfo> socialHoldMap = new HashMap<>(); Map<String, SysBaseSetInfo> socialHoldMap = new HashMap<>();
Map<String, SysBaseSetInfo> fundHoldMap = new HashMap<>(); Map<String, SysBaseSetInfo> fundHoldMap = new HashMap<>();
initHoldInfo(socialholds, fundholds, socialHoldMap, fundHoldMap); initHoldInfo(socialholds, fundholds, socialHoldMap, fundHoldMap);
// 员工档案 // 员工档案
List<EmpAddDispatchVo> empAdds = new ArrayList<>(); Map<String,EmpAddDispatchVo> empAddsMap = new HashMap<>();
//员工合同 //员工合同
List<EmpContractDispatchVo> contracts = new ArrayList<>(); Map<String,EmpContractDispatchVo> contractsMap = new HashMap<>();
//员工项目档案 //员工项目档案
List<EmpProjectDispatchVo> projects = new ArrayList<>(); Map<String,EmpProjectDispatchVo> projectsMap = new HashMap<>();
//新增社保 //新增社保
List<TSocialInfo> socials = new ArrayList<>(); Map<String,TSocialInfo> socialsMap = new HashMap<>();
//新增公积金 //新增公积金
List<TProvidentFund> funds = new ArrayList<>(); Map<String,TProvidentFund> fundsMap = new HashMap<>();
//新增派单信息 //新增派单信息
Map<String,TDispatchInfo> dispatchMap = new HashMap<>(); Map<String,TDispatchInfo> dispatchMap = new HashMap<>();
// 新增社保公积金查询
Map<String,TSocialFundInfo> socialFundAddMap = new HashMap<>();
EmpAddDispatchVo emp; EmpAddDispatchVo emp;
EmpContractDispatchVo contract; EmpContractDispatchVo contract;
EmpProjectDispatchVo project; EmpProjectDispatchVo project;
...@@ -296,24 +302,29 @@ public class TDispatchInfoServiceImpl extends ServiceImpl<TDispatchInfoMapper, T ...@@ -296,24 +302,29 @@ public class TDispatchInfoServiceImpl extends ServiceImpl<TDispatchInfoMapper, T
SysBaseSetInfo socialSet; SysBaseSetInfo socialSet;
SysBaseSetInfo fundSet; SysBaseSetInfo fundSet;
TDispatchInfo dispatch; TDispatchInfo dispatch;
ProjectSetInfoVo setInfoVo;
TSocialFundInfo socialFund;
TDispatchImportVo excel;
EmpDispatchAddVo addVo = new EmpDispatchAddVo();
// 执行数据插入操作 组装 // 执行数据插入操作 组装
for (int i = 0; i < excelVOList.size(); i++) { for (int i = 0; i < excelVOList.size(); i++) {
socialSet = null; excel = excelVOList.get(i);
fundSet = null; fundSet = fundHoldMap.get(excel.getProvidentHousehold());
TDispatchImportVo excel = excelVOList.get(i); socialSet = socialHoldMap.get(excel.getSocialHousehold());
socialFund = socialFundMap.get(excel.getEmpIdcard());;
setInfoVo = projectVoMap.get(excel.getSettleDomainCode());
// 数据合法情况 // 数据合法情况
if (validImport(errorMessageList, excel, dispatchMap)) { if (validImport(errorMessageList, excel, dispatchMap,setInfoVo)) {
continue; continue;
} }
if (Common.isNotNull(excel.getSocialHousehold())){ if (Common.isNotNull(excel.getSocialHousehold())){
socialSet = socialHoldMap.get(excel.getSocialHousehold());
if (Common.isEmpty(socialSet)){ if (Common.isEmpty(socialSet)){
errorMessageList.add(new ErrorMessage(excel.getRowIndex(), MsgUtils.getMessage(ErrorCodes.EMP_DISPATCH_SOCIAL_HOLD_NOT_EXIST))); errorMessageList.add(new ErrorMessage(excel.getRowIndex(), MsgUtils.getMessage(ErrorCodes.EMP_DISPATCH_SOCIAL_HOLD_NOT_EXIST)));
continue; continue;
} }
} }
if (Common.isNotNull(excel.getProvidentHousehold())){ if (Common.isNotNull(excel.getProvidentHousehold())){
fundSet = fundHoldMap.get(excel.getProvidentHousehold());
if (Common.isEmpty(fundSet)){ if (Common.isEmpty(fundSet)){
errorMessageList.add(new ErrorMessage(excel.getRowIndex(), MsgUtils.getMessage(ErrorCodes.EMP_DISPATCH_FUND_HOLD_NOT_EXIST))); errorMessageList.add(new ErrorMessage(excel.getRowIndex(), MsgUtils.getMessage(ErrorCodes.EMP_DISPATCH_FUND_HOLD_NOT_EXIST)));
continue; continue;
...@@ -327,22 +338,98 @@ public class TDispatchInfoServiceImpl extends ServiceImpl<TDispatchInfoMapper, T ...@@ -327,22 +338,98 @@ public class TDispatchInfoServiceImpl extends ServiceImpl<TDispatchInfoMapper, T
empVo = empVoMap.get(excel.getEmpIdcard()); empVo = empVoMap.get(excel.getEmpIdcard());
} }
// 初始化新增信息:档案、项目档案、员工合同 // 初始化新增信息:档案、项目档案、员工合同
initAddInfo(empAdds, contracts, projects, empVo, excel); initAddInfo(empAddsMap, contractsMap, projectsMap, empVo, excel);
// 新增社保 // 新增社保
initSocialAddInfo(socials, empVo, socialSet, excel); initSocialAddInfo(socialsMap, empVo, socialSet, excel);
// 新增公积金 // 新增公积金
if (initFundAddInfo(errorMessageList, funds, empVo, fundSet, excel)){ if (initFundAddInfo(errorMessageList, fundsMap, empVo, fundSet, excel)){
continue; continue;
} }
// 新增派单信息 // 新增派单信息
initDispatchAddInfo(user, dispatchMap, empVo, socialSet, fundSet, excel); initDispatchAddInfo(user, dispatchMap, empVo, socialSet, fundSet, excel);
// 变更社保公积金查询 // 变更社保公积金查询
initSocialFundAddInfo(socialFundAddMap, empVo, socialSet, fundSet, setInfoVo, socialFund, excel);
}
addVo.setEmpAddsMap(empAddsMap);
addVo.setContractsMap(contractsMap);
addVo.setProjectsMap(projectsMap);
R<DispatchAddVo> res = archivesDaprUtil.addDispatchInfo(addVo);
for (int i = 0; i < excelVOList.size(); i++) {
excel = excelVOList.get(i);
empVo = empVoMap.get(excel.getEmpIdcard());
// 验证档案是否插入成功
// 验证项目档案是否插入成功
// 验证合同是否插入成功
insertExcel(excel); // 插入社保信息并封装社保公积金查询信息
// 插入公积金信息并封装社保公积金查询信息
// 插入或更新社保公积金查询信息
errorMessageList.add(new ErrorMessage(excel.getRowIndex(), CommonConstants.SAVE_SUCCESS)); errorMessageList.add(new ErrorMessage(excel.getRowIndex(), CommonConstants.SAVE_SUCCESS));
} }
} }
private void initSocialFundAddInfo(Map<String, TSocialFundInfo> socialFundAddMap,
DispatchEmpVo empVo,
SysBaseSetInfo socialSet,
SysBaseSetInfo fundSet,
ProjectSetInfoVo setInfoVo,
TSocialFundInfo socialFund,
TDispatchImportVo excel) {
if (Common.isNotNull(socialFund)){
socialFund = new TSocialFundInfo();
socialFund.setEmpNo(empVo.getEmpCode());
socialFund.setEmpName(empVo.getEmpName());
socialFund.setEmpIdcard(empVo.getEmpIdcard());
socialFund.setEmpId(empVo.getId());
socialFund.setEmpType(excel.getEmpType());
if (Common.isNotNull(setInfoVo)){
if (Common.isNotNull(excel.getSocialHousehold())){
socialFund.setSettleDomain(setInfoVo.getId());
socialFund.setSettleDomainName(setInfoVo.getDepartName());
socialFund.setSettleDomainCode(setInfoVo.getDepartNo());
socialFund.setUnitName(setInfoVo.getCustomerName());
socialFund.setUnitIdFund(setInfoVo.getCustomerId());
if (Common.isNotNull(socialSet)){
socialFund.setSocialHousehold(socialSet.getId());
socialFund.setSocialHouseholdName(socialSet.getDepartName());
socialFund.setSocialProvince(Common.isNotNullToStr(socialSet.getProvince()));
socialFund.setSocialCity(Common.isNotNullToStr(socialSet.getCity()));
socialFund.setSocialTown(Common.isNotNullToStr(socialSet.getTown()));
}
}
if (Common.isNotNull(excel.getProvidentHousehold())){
socialFund.setSettleDomain(setInfoVo.getId());
socialFund.setSettleDomainName(setInfoVo.getDepartName());
socialFund.setSettleDomainCode(setInfoVo.getDepartNo());
socialFund.setUnitName(setInfoVo.getCustomerName());
socialFund.setUnitIdFund(setInfoVo.getCustomerId());
if (Common.isNotNull(fundSet)){
socialFund.setProvidentHousehold(fundSet.getId());
socialFund.setProvidentHouseholdName(fundSet.getDepartName());
socialFund.setFundProvince(Common.isNotNullToStr(fundSet.getProvince()));
socialFund.setFundCity(Common.isNotNullToStr(fundSet.getCity()));
socialFund.setFundTown(Common.isNotNullToStr(fundSet.getTown()));
}
}
}
//TODO
}
socialFundAddMap.put(excel.getEmpIdcard(), socialFund);
}
private Map<String, ProjectSetInfoVo> getProjectVoMap(List<String> codes) {
R<Map> res = archivesDaprUtil.getSetInfoByCodes(codes);
if (Common.isNotNull(res) && Common.isNotNull(res.getData())){
return res.getData();
}
return new HashMap<>();
}
private void initDispatchAddInfo(YifuUser user, private void initDispatchAddInfo(YifuUser user,
Map<String, TDispatchInfo> dispatchMap, Map<String, TDispatchInfo> dispatchMap,
DispatchEmpVo empVo, DispatchEmpVo empVo,
...@@ -374,11 +461,11 @@ public class TDispatchInfoServiceImpl extends ServiceImpl<TDispatchInfoMapper, T ...@@ -374,11 +461,11 @@ public class TDispatchInfoServiceImpl extends ServiceImpl<TDispatchInfoMapper, T
// 默认待审核 // 默认待审核
dispatch.setStatus(CommonConstants.ONE_STRING); dispatch.setStatus(CommonConstants.ONE_STRING);
dispatch.setDeleteFlag(CommonConstants.ZERO_STRING); dispatch.setDeleteFlag(CommonConstants.ZERO_STRING);
// 封装结算主体客户信息 TODO // 封装结算主体客户信息
dispatch.setSettleDomainName(""); dispatch.setSettleDomainName(excel.getDepartName());
dispatch.setSettleDomain(""); dispatch.setSettleDomain(excel.getSettleDomainId());
dispatch.setBelongUnit(""); dispatch.setBelongUnit(excel.getCustomerId());
dispatch.setBelongUnitName(""); dispatch.setBelongUnitName(excel.getCustomerName());
// 封装合同信息 默认取值派单的 // 封装合同信息 默认取值派单的
dispatch.setContractStart(excel.getContractStart()); dispatch.setContractStart(excel.getContractStart());
dispatch.setContractEnd(excel.getContractEnd()); dispatch.setContractEnd(excel.getContractEnd());
...@@ -404,15 +491,18 @@ public class TDispatchInfoServiceImpl extends ServiceImpl<TDispatchInfoMapper, T ...@@ -404,15 +491,18 @@ public class TDispatchInfoServiceImpl extends ServiceImpl<TDispatchInfoMapper, T
dispatchMap.put(excel.getEmpIdcard(),dispatch); dispatchMap.put(excel.getEmpIdcard(),dispatch);
} }
private boolean initFundAddInfo(List<ErrorMessage> errorMessageList, List<TProvidentFund> funds, DispatchEmpVo empVo, SysBaseSetInfo fundSet, TDispatchImportVo excel) { private boolean initFundAddInfo(List<ErrorMessage> errorMessageList,
Map<String, TProvidentFund> funds,
DispatchEmpVo empVo, SysBaseSetInfo fundSet,
TDispatchImportVo excel) {
TProvidentFund fund; TProvidentFund fund;
if (Common.isNotNull(excel.getProvidentHousehold())){ if (Common.isNotNull(excel.getProvidentHousehold())){
fund = new TProvidentFund(); fund = new TProvidentFund();
fund.setAuditStatus(CommonConstants.ZERO_STRING); fund.setAuditStatus(CommonConstants.ZERO_STRING);
fund.setHandleStatus(CommonConstants.ZERO_STRING); fund.setHandleStatus(CommonConstants.ZERO_STRING);
fund.setDeleteFlag(CommonConstants.ZERO_STRING); fund.setDeleteFlag(CommonConstants.ZERO_STRING);
fund.setBelongUnit(""); fund.setBelongUnit(excel.getCustomerId());
fund.setSettleDomain(""); fund.setSettleDomain(excel.getSettleDomainId());
fund.setEmpId(empVo.getId()); fund.setEmpId(empVo.getId());
fund.setEmpIdcard(excel.getEmpIdcard()); fund.setEmpIdcard(excel.getEmpIdcard());
fund.setTrustRemark(excel.getTrustRemark()); fund.setTrustRemark(excel.getTrustRemark());
...@@ -441,7 +531,7 @@ public class TDispatchInfoServiceImpl extends ServiceImpl<TDispatchInfoMapper, T ...@@ -441,7 +531,7 @@ public class TDispatchInfoServiceImpl extends ServiceImpl<TDispatchInfoMapper, T
fund.setFundPayPoint(fundSet.getPayPolicy()); fund.setFundPayPoint(fundSet.getPayPolicy());
fund.setHaveThisMonth(fundSet.getHaveThisMonth()); fund.setHaveThisMonth(fundSet.getHaveThisMonth());
} }
funds.add(fund); funds.put(excel.getEmpIdcard(),fund);
} }
return false; return false;
} }
...@@ -461,7 +551,10 @@ public class TDispatchInfoServiceImpl extends ServiceImpl<TDispatchInfoMapper, T ...@@ -461,7 +551,10 @@ public class TDispatchInfoServiceImpl extends ServiceImpl<TDispatchInfoMapper, T
return false; return false;
} }
private void initAddInfo(List<EmpAddDispatchVo> empAdds, List<EmpContractDispatchVo> contracts, List<EmpProjectDispatchVo> projects, DispatchEmpVo empVo, TDispatchImportVo excel) { private void initAddInfo(Map<String, EmpAddDispatchVo> empAdds,
Map<String, EmpContractDispatchVo> contracts,
Map<String, EmpProjectDispatchVo> projects,
DispatchEmpVo empVo, TDispatchImportVo excel) {
// 无档案无项目档案无合同无学历 // 无档案无项目档案无合同无学历
if (Common.isEmpty(empVo) || Common.isEmpty(empVo.getId())) { if (Common.isEmpty(empVo) || Common.isEmpty(empVo.getId())) {
// 初始化档案 // 初始化档案
...@@ -487,16 +580,16 @@ public class TDispatchInfoServiceImpl extends ServiceImpl<TDispatchInfoMapper, T ...@@ -487,16 +580,16 @@ public class TDispatchInfoServiceImpl extends ServiceImpl<TDispatchInfoMapper, T
} }
} }
private void initSocialAddInfo(List<TSocialInfo> socials, DispatchEmpVo empVo, SysBaseSetInfo socialSet, TDispatchImportVo excel) { private void initSocialAddInfo(Map<String, TSocialInfo> socials, DispatchEmpVo empVo, SysBaseSetInfo socialSet, TDispatchImportVo excel) {
TSocialInfo social; TSocialInfo social;
if (Common.isNotNull(excel.getSocialHousehold())) { if (Common.isNotNull(excel.getSocialHousehold())) {
social = new TSocialInfo(); social = new TSocialInfo();
social.setAuditStatus(CommonConstants.ZERO_STRING); social.setAuditStatus(CommonConstants.ZERO_STRING);
social.setHandleStatus(CommonConstants.ZERO_STRING); social.setHandleStatus(CommonConstants.ZERO_STRING);
social.setDeleteFlag(CommonConstants.ZERO_STRING); social.setDeleteFlag(CommonConstants.ZERO_STRING);
// TODO 封装单位信息 结算信息 // 封装单位信息 结算信息
social.setBelongUnit(""); social.setBelongUnit(excel.getCustomerId());
social.setSettleDomain(""); social.setSettleDomain(excel.getSettleDomainId());
social.setEmpId(empVo.getId()); social.setEmpId(empVo.getId());
social.setEmpIdcard(excel.getEmpIdcard()); social.setEmpIdcard(excel.getEmpIdcard());
social.setBigailmentHandle(CommonConstants.ZERO_STRING); social.setBigailmentHandle(CommonConstants.ZERO_STRING);
...@@ -599,7 +692,7 @@ public class TDispatchInfoServiceImpl extends ServiceImpl<TDispatchInfoMapper, T ...@@ -599,7 +692,7 @@ public class TDispatchInfoServiceImpl extends ServiceImpl<TDispatchInfoMapper, T
social.setUnitBirthCardinal(socialSet.getUpperLimit()); social.setUnitBirthCardinal(socialSet.getUpperLimit());
} }
} }
socials.add(social); socials.put(excel.getEmpIdcard(),social);
} }
} }
...@@ -641,7 +734,7 @@ public class TDispatchInfoServiceImpl extends ServiceImpl<TDispatchInfoMapper, T ...@@ -641,7 +734,7 @@ public class TDispatchInfoServiceImpl extends ServiceImpl<TDispatchInfoMapper, T
} }
} }
private void initContractInfo(List<EmpContractDispatchVo> contracts, private void initContractInfo(Map<String, EmpContractDispatchVo> contracts,
TDispatchImportVo excel, TDispatchImportVo excel,
DispatchEmpVo empVo) { DispatchEmpVo empVo) {
EmpContractDispatchVo contract; EmpContractDispatchVo contract;
...@@ -661,10 +754,10 @@ public class TDispatchInfoServiceImpl extends ServiceImpl<TDispatchInfoMapper, T ...@@ -661,10 +754,10 @@ public class TDispatchInfoServiceImpl extends ServiceImpl<TDispatchInfoMapper, T
contract.setEmpNo(empVo.getEmpCode()); contract.setEmpNo(empVo.getEmpCode());
contract.setEmpType(empVo.getEmpNatrue()); contract.setEmpType(empVo.getEmpNatrue());
} }
contracts.add(contract); contracts.put(excel.getEmpIdcard()+CommonConstants.DOWN_LINE_STRING+excel.getSettleDomainCode(),contract);
} }
private void initProjectInfo(List<EmpProjectDispatchVo> projects, private void initProjectInfo(Map<String, EmpProjectDispatchVo> projects,
TDispatchImportVo excel, TDispatchImportVo excel,
DispatchEmpVo empVo) { DispatchEmpVo empVo) {
EmpProjectDispatchVo project; EmpProjectDispatchVo project;
...@@ -680,10 +773,10 @@ public class TDispatchInfoServiceImpl extends ServiceImpl<TDispatchInfoMapper, T ...@@ -680,10 +773,10 @@ public class TDispatchInfoServiceImpl extends ServiceImpl<TDispatchInfoMapper, T
project.setEmpId(empVo.getId()); project.setEmpId(empVo.getId());
project.setEmpNo(empVo.getEmpCode()); project.setEmpNo(empVo.getEmpCode());
} }
projects.add(project); projects.put(excel.getEmpIdcard()+CommonConstants.DOWN_LINE_STRING+excel.getSettleDomainCode(),project);
} }
private void initEmpAddInfo(List<EmpAddDispatchVo> empAdds, TDispatchImportVo excel) { private void initEmpAddInfo(Map<String, EmpAddDispatchVo> empAdds, TDispatchImportVo excel) {
EmpAddDispatchVo emp; EmpAddDispatchVo emp;
emp = new EmpAddDispatchVo(); emp = new EmpAddDispatchVo();
emp.setEmpIdcard(excel.getEmpIdcard()); emp.setEmpIdcard(excel.getEmpIdcard());
...@@ -706,7 +799,12 @@ public class TDispatchInfoServiceImpl extends ServiceImpl<TDispatchInfoMapper, T ...@@ -706,7 +799,12 @@ public class TDispatchInfoServiceImpl extends ServiceImpl<TDispatchInfoMapper, T
emp.setProjectNum(CommonConstants.ONE_INT); emp.setProjectNum(CommonConstants.ONE_INT);
emp.setDeptNo(excel.getSettleDomainCode()); emp.setDeptNo(excel.getSettleDomainCode());
emp.setPost(excel.getPost()); emp.setPost(excel.getPost());
empAdds.add(emp); emp.setDeptId(excel.getSettleDomainId());
emp.setDeptNo(excel.getSettleDomainCode());
emp.setDeptName(excel.getDepartName());
emp.setUnitName(excel.getCustomerName());
emp.setUnitNo(excel.getCustomerCode());
empAdds.put(excel.getEmpIdcard(),emp);
} }
private boolean validDdispatchStatus(List<ErrorMessage> errorMessageList, Map<String, TSocialFundInfo> socialFundMap, TDispatchImportVo excel) { private boolean validDdispatchStatus(List<ErrorMessage> errorMessageList, Map<String, TSocialFundInfo> socialFundMap, TDispatchImportVo excel) {
...@@ -756,9 +854,14 @@ public class TDispatchInfoServiceImpl extends ServiceImpl<TDispatchInfoMapper, T ...@@ -756,9 +854,14 @@ public class TDispatchInfoServiceImpl extends ServiceImpl<TDispatchInfoMapper, T
private Map<String, TSocialFundInfo> getSocialFundMap(List<String> idcards) { private Map<String, TSocialFundInfo> getSocialFundMap(List<String> idcards) {
List<TSocialFundInfo> list = socialFundMapper.selectList(Wrappers.<TSocialFundInfo>query().lambda() List<TSocialFundInfo> list = socialFundMapper.selectList(Wrappers.<TSocialFundInfo>query().lambda()
.in(TSocialFundInfo::getEmpIdcard, idcards)); .in(TSocialFundInfo::getEmpIdcard, idcards)
.groupBy(TSocialFundInfo::getEmpIdcard));
if (Common.isNotNull(list)) { if (Common.isNotNull(list)) {
return list.stream().collect(Collectors.toMap(k -> k.getEmpIdcard(), k -> k)); Map<String, TSocialFundInfo> map = new HashMap<>();
for (TSocialFundInfo info:list){
map.put(info.getEmpIdcard()+CommonConstants.DOWN_LINE_STRING+info.getSettleDomainCode(),info);
}
return map;
} }
return null; return null;
} }
...@@ -797,7 +900,17 @@ public class TDispatchInfoServiceImpl extends ServiceImpl<TDispatchInfoMapper, T ...@@ -797,7 +900,17 @@ public class TDispatchInfoServiceImpl extends ServiceImpl<TDispatchInfoMapper, T
private boolean validImport(List<ErrorMessage> errorMessageList, private boolean validImport(List<ErrorMessage> errorMessageList,
TDispatchImportVo excel, TDispatchImportVo excel,
Map<String, TDispatchInfo> dispatchMap) { Map<String, TDispatchInfo> dispatchMap,
ProjectSetInfoVo setInfoVo) {
if (Common.isEmpty(setInfoVo)){
errorMessageList.add(new ErrorMessage(excel.getRowIndex(), MsgUtils.getMessage(ErrorCodes.EMP_DISPATCH_PROJECT_NOT_FOUND)));
return true;
}
excel.setSettleDomainId(setInfoVo.getId());
excel.setDepartName(setInfoVo.getDepartName());
excel.setCustomerCode(setInfoVo.getCustomerCode());
excel.setCustomerId(setInfoVo.getCustomerId());
excel.setCustomerName(setInfoVo.getCustomerName());
if (Common.isEmpty(excel.getSocialHousehold()) && Common.isEmpty(excel.getProvidentHousehold())){ if (Common.isEmpty(excel.getSocialHousehold()) && Common.isEmpty(excel.getProvidentHousehold())){
errorMessageList.add(new ErrorMessage(excel.getRowIndex(), MsgUtils.getMessage(ErrorCodes.EMP_DISPATCH_SOCIAL_AND_FUND_NOT_EMPTY))); errorMessageList.add(new ErrorMessage(excel.getRowIndex(), MsgUtils.getMessage(ErrorCodes.EMP_DISPATCH_SOCIAL_AND_FUND_NOT_EMPTY)));
return true; return true;
......
...@@ -31,9 +31,17 @@ ...@@ -31,9 +31,17 @@
<result property="empIdcard" column="EMP_IDCARD"/> <result property="empIdcard" column="EMP_IDCARD"/>
<result property="empType" column="EMP_TYPE"/> <result property="empType" column="EMP_TYPE"/>
<result property="settleDomain" column="SETTLE_DOMAIN"/> <result property="settleDomain" column="SETTLE_DOMAIN"/>
<result property="settleDomainCode" column="SETTLE_DOMAIN_CODE"/>
<result property="settleDomainName" column="SETTLE_DOMAIN_NAME"/> <result property="settleDomainName" column="SETTLE_DOMAIN_NAME"/>
<result property="unitName" column="UNIT_NAME"/> <result property="unitName" column="UNIT_NAME"/>
<result property="unitId" column="UNIT_ID"/> <result property="unitId" column="UNIT_ID"/>
<result property="settleDomainFund" column="SETTLE_DOMAIN_FUND"/>
<result property="settleDomainCodeFund" column="SETTLE_DOMAIN_CODE_FUND"/>
<result property="settleDomainNameFund" column="SETTLE_DOMAIN_NAME_FUND"/>
<result property="unitNameFund" column="UNIT_NAME_FUND"/>
<result property="unitIdFund" column="UNIT_ID_FUND"/>
<result property="socialHousehold" column="SOCIAL_HOUSEHOLD"/> <result property="socialHousehold" column="SOCIAL_HOUSEHOLD"/>
<result property="socialHouseholdName" column="SOCIAL_HOUSEHOLD_NAME"/> <result property="socialHouseholdName" column="SOCIAL_HOUSEHOLD_NAME"/>
<result property="socialProvince" column="SOCIAL_PROVINCE"/> <result property="socialProvince" column="SOCIAL_PROVINCE"/>
...@@ -145,6 +153,8 @@ ...@@ -145,6 +153,8 @@
<result property="personalSocialSum" column="PERSONAL_SOCIAL_SUM"/> <result property="personalSocialSum" column="PERSONAL_SOCIAL_SUM"/>
<result property="unitInterestFee" column="UNIT_INTEREST_FEE"/> <result property="unitInterestFee" column="UNIT_INTEREST_FEE"/>
<result property="personalInterestFee" column="PERSONAL_INTEREST_FEE"/> <result property="personalInterestFee" column="PERSONAL_INTEREST_FEE"/>
</resultMap> </resultMap>
<sql id="Base_Column_List"> <sql id="Base_Column_List">
a.ID, a.ID,
...@@ -154,9 +164,15 @@ ...@@ -154,9 +164,15 @@
a.EMP_IDCARD, a.EMP_IDCARD,
a.EMP_TYPE, a.EMP_TYPE,
a.SETTLE_DOMAIN, a.SETTLE_DOMAIN,
a.SETTLE_DOMAIN_CODE,
a.SETTLE_DOMAIN_NAME, a.SETTLE_DOMAIN_NAME,
a.UNIT_NAME, a.UNIT_NAME,
a.UNIT_ID, a.UNIT_ID,
a.SETTLE_DOMAIN_FUND,
a.SETTLE_DOMAIN_CODE_FUND,
a.SETTLE_DOMAIN_NAME_FUND,
a.UNIT_NAME_FUND,
a.UNIT_ID_FUND,
a.SOCIAL_HOUSEHOLD, a.SOCIAL_HOUSEHOLD,
a.SOCIAL_HOUSEHOLD_NAME, a.SOCIAL_HOUSEHOLD_NAME,
a.SOCIAL_PROVINCE, a.SOCIAL_PROVINCE,
......
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