Commit 731fbd70 authored by 李灿灿's avatar 李灿灿

Merge branch 'develop' into feature-licancan

parents 2e39369d 957fa46a
......@@ -21,6 +21,12 @@ import java.util.Date;
*/
@Data
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;
*/
@Data
public class EmpProjectDispatchVo implements Serializable {
/**
* 项目档案ID
*/
@Schema(description ="项目档案ID")
private String id;
/**
* 人员档案主表id
*/
......
......@@ -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.vo.DispatchCheckVo;
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.common.core.constant.CacheConstants;
import com.yifu.cloud.plus.v1.yifu.common.core.constant.CommonConstants;
......@@ -438,4 +439,19 @@ public class TEmployeeInfoController {
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> {
void exportLeaveEmployee(TEmployeeInfo employeeVo, HttpServletResponse response);
Map<String,DispatchEmpVo> getDispatchEmpVo(DispatchCheckVo checkVo);
EmpDispatchAddVo addDispatchInfo(EmpDispatchAddVo addVo);
}
......@@ -273,6 +273,7 @@ public class TEmpContractAlertServiceImpl extends ServiceImpl<TEmpContractAlertM
alert.setAlertPerson(contract.getCreateName());
alert.setEmpName(contract.getEmpName());
alert.setEmpId(contract.getEmpId());
alert.setEmpCode(contract.getEmpNo());
alert.setProject(contract.getSubjectDepart());
alert.setProjectNo(contract.getDeptNo());
alert.setEmpIdcard(contract.getEmpIdcard());
......
......@@ -28,13 +28,12 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
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.TCheckMobile;
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.TEmployeeInfo;
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.entity.*;
import com.yifu.cloud.plus.v1.yifu.archives.mapper.TEmployeeContractInfoMapper;
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.vo.*;
......@@ -88,6 +87,8 @@ public class TEmployeeInfoServiceImpl extends ServiceImpl<TEmployeeInfoMapper, T
private final TEmpEducationService tEmpEducationService;
private final TSettleDomainService tSettleDomainService;
private final TEmployeeContractInfoMapper contractMapper;
@Override
public IPage<TEmployeeInfo> getPage(Page<TEmployeeInfo> page, TEmployeeInfo employeeInfo, String sql) {
return baseMapper.getPage(page, employeeInfo, sql);
......@@ -354,7 +355,7 @@ public class TEmployeeInfoServiceImpl extends ServiceImpl<TEmployeeInfoMapper, T
project.setLeaveTime(null);
project.setProjectStatus(CommonConstants.ZERO_INT);
tEmployeeProjectService.updateById(project);
projectNum++ ;
projectNum++;
}
}
}
......@@ -2043,16 +2044,127 @@ public class TEmployeeInfoServiceImpl extends ServiceImpl<TEmployeeInfoMapper, T
}
@Override
public Map<String,DispatchEmpVo> getDispatchEmpVo(DispatchCheckVo checkVo) {
public Map<String, DispatchEmpVo> getDispatchEmpVo(DispatchCheckVo checkVo) {
List<DispatchEmpVo> voList = baseMapper.getDispatchEmpVo(checkVo);
if (Common.isNotNull(voList)){
Map<String,DispatchEmpVo> voMap = new HashMap<>();
for (DispatchEmpVo vo:voList){
voMap.put(vo.getEmpIdcard(),vo);
if (Common.isNotNull(voList)) {
Map<String, DispatchEmpVo> voMap = new HashMap<>();
for (DispatchEmpVo vo : voList) {
voMap.put(vo.getEmpIdcard(), vo);
}
return voMap;
}
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 {
* 新增异常:必须派单社保或公积金,不支持单派档案
*/
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
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;
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.EmpDispatchAddVo;
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.util.Common;
......@@ -98,4 +100,11 @@ public class ArchivesDaprUtil {
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;
}
}
......@@ -494,6 +494,12 @@ public class TForecastLibrary extends BaseEntity {
@ExcelAttribute(name = "数据同步:0未同步;1已同步")
@ExcelProperty("数据同步:0未同步;1已同步")
private Integer dataPush;
/**
* 类型:0社保;1公积金
*/
@ExcelAttribute(name = "类型:0社保;1公积金")
@ExcelProperty("类型:0社保;1公积金")
private Integer dataType;
@TableField(exist = false)
private List<String> idList;
......
......@@ -106,6 +106,15 @@ public class TSocialFundInfo extends BaseEntity {
@Schema(description = "结算主体" )
@ExcelProperty("结算主体" )
private String settleDomainName;
/**
* 结算主体编码
*/
@Length(max = 50, message = "结算主体编码不能超过50个字符" )
@ExcelAttribute(name = "结算主体编码", maxLength = 50)
@Schema(description = "结算主体编码" )
@ExcelProperty("结算主体编码" )
private String settleDomainCode;
/**
* unitName
*/
......@@ -117,11 +126,47 @@ public class TSocialFundInfo extends BaseEntity {
/**
* unitId
*/
@Length(max = 32, message = "unitId 不能超过32个字符" )
@ExcelAttribute(name = "unitId", maxLength = 32)
@Schema(description = "unitId" )
@ExcelProperty("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 @@
*/
package com.yifu.cloud.plus.v1.yifu.social.vo;
import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
......@@ -402,4 +403,39 @@ public class TDispatchImportVo extends RowIndex implements Serializable {
@ExcelProperty("委托备注" )
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;
}
......@@ -94,6 +94,7 @@
<result property="providentHouseholdName" column="PROVIDENT_HOUSEHOLD_NAME"/>
<result property="providentNo" column="PROVIDENT_NO"/>
<result property="dataPush" column="DATA_PUSH"/>
<result property="dataType" column="DATA_TYPE"/>
<result property="createBy" column="CREATE_BY"/>
<result property="createName" column="CREATE_NAME"/>
<result property="createTime" column="CREATE_TIME"/>
......@@ -101,10 +102,7 @@
<result property="updateTime" column="UPDATE_TIME"/>
</resultMap>
<sql id="Base_Column_List">
a
.
ID
,
a.ID,
a.EMP_ID,
a.EMP_NO,
a.EMP_NAME,
......@@ -174,6 +172,7 @@
a.PROVIDENT_HOUSEHOLD_NAME,
a.PROVIDENT_NO,
a.DATA_PUSH,
a.DATA_TYPE,
a.CREATE_BY,
a.CREATE_NAME,
a.CREATE_TIME,
......@@ -398,6 +397,9 @@
<if test="tForecastLibrary.dataPush != null">
AND a.DATA_PUSH = #{tForecastLibrary.dataPush}
</if>
<if test="tForecastLibrary.dataType != null">
AND a.DATA_TYPE = #{tForecastLibrary.dataType}
</if>
<if test="tForecastLibrary.createBy != null and tForecastLibrary.createBy.trim() != ''">
AND a.CREATE_BY = #{tForecastLibrary.createBy}
</if>
......
......@@ -31,9 +31,17 @@
<result property="empIdcard" column="EMP_IDCARD"/>
<result property="empType" column="EMP_TYPE"/>
<result property="settleDomain" column="SETTLE_DOMAIN"/>
<result property="settleDomainCode" column="SETTLE_DOMAIN_CODE"/>
<result property="settleDomainName" column="SETTLE_DOMAIN_NAME"/>
<result property="unitName" column="UNIT_NAME"/>
<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="socialHouseholdName" column="SOCIAL_HOUSEHOLD_NAME"/>
<result property="socialProvince" column="SOCIAL_PROVINCE"/>
......@@ -145,6 +153,8 @@
<result property="personalSocialSum" column="PERSONAL_SOCIAL_SUM"/>
<result property="unitInterestFee" column="UNIT_INTEREST_FEE"/>
<result property="personalInterestFee" column="PERSONAL_INTEREST_FEE"/>
</resultMap>
<sql id="Base_Column_List">
a.ID,
......@@ -154,9 +164,15 @@
a.EMP_IDCARD,
a.EMP_TYPE,
a.SETTLE_DOMAIN,
a.SETTLE_DOMAIN_CODE,
a.SETTLE_DOMAIN_NAME,
a.UNIT_NAME,
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_NAME,
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