Commit a3ebe62c authored by fangxinjiang's avatar fangxinjiang

入职确认接收及确认修改日志调整-fxj

parent be824495
...@@ -3,6 +3,7 @@ package com.yifu.cloud.plus.v1.yifu.archives.vo; ...@@ -3,6 +3,7 @@ package com.yifu.cloud.plus.v1.yifu.archives.vo;
import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.ExcelProperty;
import com.baomidou.mybatisplus.annotation.FieldStrategy; import com.baomidou.mybatisplus.annotation.FieldStrategy;
import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.yifu.cloud.plus.v1.yifu.common.core.constant.ExcelAttribute; import com.yifu.cloud.plus.v1.yifu.common.core.constant.ExcelAttribute;
import com.yifu.cloud.plus.v1.yifu.insurances.entity.TInsurancePreDetail; import com.yifu.cloud.plus.v1.yifu.insurances.entity.TInsurancePreDetail;
import com.yifu.cloud.plus.v1.yifu.insurances.vo.TEmployeeInsurancePreVo; import com.yifu.cloud.plus.v1.yifu.insurances.vo.TEmployeeInsurancePreVo;
...@@ -71,6 +72,7 @@ public class EmployeeRegistrationPreVo implements Serializable { ...@@ -71,6 +72,7 @@ public class EmployeeRegistrationPreVo implements Serializable {
@Schema(description = "就职岗位") @Schema(description = "就职岗位")
private String position; private String position;
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern="yyyy-MM-dd HH:mm:ss")
@Schema(description = "入职日期") @Schema(description = "入职日期")
private Date joinLeaveDate; private Date joinLeaveDate;
...@@ -100,13 +102,14 @@ public class EmployeeRegistrationPreVo implements Serializable { ...@@ -100,13 +102,14 @@ public class EmployeeRegistrationPreVo implements Serializable {
@Schema(description = "数据来源") @Schema(description = "数据来源")
private String dataSource; private String dataSource;
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern="yyyy-MM-dd HH:mm:ss")
@Schema(description = "预计收集时间") @Schema(description = "预计收集时间")
private Date expectedCollectionTime; private Date expectedCollectionTime;
@Schema(description = "确认人") @Schema(description = "确认人")
private String confirmUser; private String confirmUser;
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern="yyyy-MM-dd HH:mm:ss")
@Schema(description = "确认时间") @Schema(description = "确认时间")
private Date confirmTime; private Date confirmTime;
......
...@@ -23,6 +23,7 @@ import com.yifu.cloud.plus.v1.yifu.archives.entity.TEmployeePreLog; ...@@ -23,6 +23,7 @@ import com.yifu.cloud.plus.v1.yifu.archives.entity.TEmployeePreLog;
import com.yifu.cloud.plus.v1.yifu.archives.service.TEmployeePreLogService; import com.yifu.cloud.plus.v1.yifu.archives.service.TEmployeePreLogService;
import com.yifu.cloud.plus.v1.yifu.archives.vo.TEmployeePreLogSearchVo; import com.yifu.cloud.plus.v1.yifu.archives.vo.TEmployeePreLogSearchVo;
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.common.security.annotation.Inner;
import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
...@@ -84,4 +85,16 @@ public class TEmployeePreLogController { ...@@ -84,4 +85,16 @@ public class TEmployeePreLogController {
return R.ok(tEmployeePreLogService.getById(id)); return R.ok(tEmployeePreLogService.getById(id));
} }
/**
* 批量保存入职确认信息变更日志(内部接口)
*
* @param preLogList 日志列表
* @return Boolean
*/
@Inner
@PostMapping("/inner/saveBatch")
public Boolean saveBatch(@RequestBody List<TEmployeePreLog> preLogList) {
return tEmployeePreLogService.saveBatch(preLogList);
}
} }
/*
* 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.controller;
import com.yifu.cloud.plus.v1.yifu.archives.entity.TEmployeePreLogDetail;
import com.yifu.cloud.plus.v1.yifu.archives.service.TEmployeePreLogDetailService;
import com.yifu.cloud.plus.v1.yifu.common.security.annotation.Inner;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.RequiredArgsConstructor;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* 入职确认信息变更日志明细表
*
* @author hgw
* @date 2025-04-07 15:35:05
*/
@RestController
@RequiredArgsConstructor
@RequestMapping("/temployeeprelogdetail")
@Tag(name = "入职确认信息变更日志明细表管理")
public class TEmployeePreLogDetailController {
private final TEmployeePreLogDetailService tEmployeePreLogDetailService;
/**
* 批量保存入职确认信息变更日志明细(内部接口)
*
* @param detailList 日志明细列表
* @return Boolean
*/
@Inner
@PostMapping("/inner/saveBatch")
public Boolean saveBatch(@RequestBody List<TEmployeePreLogDetail> detailList) {
return tEmployeePreLogDetailService.saveBatch(detailList);
}
}
...@@ -3,10 +3,7 @@ package com.yifu.cloud.plus.v1.yifu.common.dapr.util; ...@@ -3,10 +3,7 @@ package com.yifu.cloud.plus.v1.yifu.common.dapr.util;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.TypeReference; import com.alibaba.fastjson.TypeReference;
import com.yifu.cloud.plus.v1.yifu.admin.api.vo.SysCspDeptVo; import com.yifu.cloud.plus.v1.yifu.admin.api.vo.SysCspDeptVo;
import com.yifu.cloud.plus.v1.yifu.archives.entity.TBusinessEmployeeExtendInfo; import com.yifu.cloud.plus.v1.yifu.archives.entity.*;
import com.yifu.cloud.plus.v1.yifu.archives.entity.TEmployeeContractInfo;
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.vo.*; import com.yifu.cloud.plus.v1.yifu.archives.vo.*;
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.constant.SecurityConstants; import com.yifu.cloud.plus.v1.yifu.common.core.constant.SecurityConstants;
...@@ -783,5 +780,47 @@ public class ArchivesDaprUtil { ...@@ -783,5 +780,47 @@ public class ArchivesDaprUtil {
} }
return res; return res;
} }
/**
* @Description: 批量保存入职确认信息变更日志
* @Author: fxj
* @Date: 2026-04-16
* @param preLogList 日志主表列表
* @return: com.yifu.cloud.plus.v1.yifu.common.core.util.R<java.lang.Boolean>
**/
public R<Boolean> savePreLogBatch(List<TEmployeePreLog> preLogList){
R<Boolean> res = HttpDaprUtil.invokeMethodPost(
daprArchivesProperties.getAppUrl(),
daprArchivesProperties.getAppId(),
"/temployeeprelog/inner/saveBatch",
JSON.toJSONString(preLogList),
Boolean.class,
SecurityConstants.FROM_IN
);
if (Common.isEmpty(res)){
return R.failed("保存入职确认信息变更日志失败!");
}
return res;
}
/**
* @Description: 批量保存入职确认信息变更日志明细
* @Author: fxj
* @Date: 2026-04-16
* @param detailList 日志明细列表
* @return: com.yifu.cloud.plus.v1.yifu.common.core.util.R<java.lang.Boolean>
**/
public R<Boolean> savePreLogDetailBatch(List<TEmployeePreLogDetail> detailList){
R<Boolean> res = HttpDaprUtil.invokeMethodPost(
daprArchivesProperties.getAppUrl(),
daprArchivesProperties.getAppId(),
"/temployeeprelogdetail/inner/saveBatch",
JSON.toJSONString(detailList),
Boolean.class,
SecurityConstants.FROM_IN
);
if (Common.isEmpty(res)){
return R.failed("保存入职确认信息变更日志明细失败!");
}
return res;
}
} }
...@@ -1726,6 +1726,8 @@ public class EmployeeRegistrationServiceImpl extends ServiceImpl<EmployeeRegistr ...@@ -1726,6 +1726,8 @@ public class EmployeeRegistrationServiceImpl extends ServiceImpl<EmployeeRegistr
} }
socialDaprUtils.saveFundPreInfo(preVo); socialDaprUtils.saveFundPreInfo(preVo);
} }
//确认接收时增加 档案、商险、合同、社保、公积金的变更日志 (具体产生哪些日志按服务事项(serverItem)来生成),参考 tEmployeePreLogService.saveModifyAndUpdateInsurance的实现,只处理日志
saveConfirmReceiveLog(domainR.getData(), preVo, user);
} }
}catch (Exception e) { }catch (Exception e) {
log.error("执行异常", e); log.error("执行异常", e);
...@@ -3236,9 +3238,6 @@ public class EmployeeRegistrationServiceImpl extends ServiceImpl<EmployeeRegistr ...@@ -3236,9 +3238,6 @@ public class EmployeeRegistrationServiceImpl extends ServiceImpl<EmployeeRegistr
StringBuilder diffTitleBuilder = new StringBuilder(); StringBuilder diffTitleBuilder = new StringBuilder();
// 1. 档案信息日志(type=1) // 1. 档案信息日志(type=1)
// 使用 HrEquator 比较差异字段(新增时 old 为空,传入空对象)
String differenceArchiveKey = HrEquator.comparisonValueIgnoreField(
new EmployeeRegistrationPreVo(), preVo, PRE_IGNORE_FIELD);
TEmployeePreLogDetail archiveDetail = new TEmployeePreLogDetail(); TEmployeePreLogDetail archiveDetail = new TEmployeePreLogDetail();
archiveDetail.setModelType(CommonConstants.ONE_STRING); // 1新增 archiveDetail.setModelType(CommonConstants.ONE_STRING); // 1新增
archiveDetail.setType(CommonConstants.ONE_STRING); // 1档案 archiveDetail.setType(CommonConstants.ONE_STRING); // 1档案
...@@ -3246,7 +3245,7 @@ public class EmployeeRegistrationServiceImpl extends ServiceImpl<EmployeeRegistr ...@@ -3246,7 +3245,7 @@ public class EmployeeRegistrationServiceImpl extends ServiceImpl<EmployeeRegistr
archiveDetail.setPreLogId(logId); archiveDetail.setPreLogId(logId);
archiveDetail.setOldInfo(null); // old对象为空 archiveDetail.setOldInfo(null); // old对象为空
archiveDetail.setNewInfo(JSON.toJSONString(preVo)); archiveDetail.setNewInfo(JSON.toJSONString(preVo));
//archiveDetail.setDifferenceInfo(Common.isNotNull(differenceArchiveKey) ? differenceArchiveKey : "employeeRegistrationPre"); archiveDetail.setDifferenceInfo(null);
archiveDetail.setCreateBy(user.getId()); archiveDetail.setCreateBy(user.getId());
archiveDetail.setCreateName(user.getNickname()); archiveDetail.setCreateName(user.getNickname());
detailList.add(archiveDetail); detailList.add(archiveDetail);
...@@ -3287,9 +3286,7 @@ public class EmployeeRegistrationServiceImpl extends ServiceImpl<EmployeeRegistr ...@@ -3287,9 +3286,7 @@ public class EmployeeRegistrationServiceImpl extends ServiceImpl<EmployeeRegistr
insuranceDetail.setOldInfo(null); insuranceDetail.setOldInfo(null);
insuranceDetail.setNewInfo(JSON.toJSONString(insurancePre)); insuranceDetail.setNewInfo(JSON.toJSONString(insurancePre));
// 使用 HrEquator 比较差异字段(新增时 old 为空,传入空对象) // 使用 HrEquator 比较差异字段(新增时 old 为空,传入空对象)
String differenceInsuranceKey = HrEquator.comparisonValueIgnoreField( insuranceDetail.setDifferenceInfo(null);
new TEmployeeInsurancePreVo(), insurancePre, INSURANCE_IGNORE_FIELD);
//insuranceDetail.setDifferenceInfo(Common.isNotNull(differenceInsuranceKey) ? differenceInsuranceKey : "insurancePreList");
insuranceDetail.setCreateBy(user.getId()); insuranceDetail.setCreateBy(user.getId());
insuranceDetail.setCreateName(user.getNickname()); insuranceDetail.setCreateName(user.getNickname());
detailList.add(insuranceDetail); detailList.add(insuranceDetail);
...@@ -3312,10 +3309,7 @@ public class EmployeeRegistrationServiceImpl extends ServiceImpl<EmployeeRegistr ...@@ -3312,10 +3309,7 @@ public class EmployeeRegistrationServiceImpl extends ServiceImpl<EmployeeRegistr
contractDetail.setPreLogId(logId); contractDetail.setPreLogId(logId);
contractDetail.setOldInfo(null); contractDetail.setOldInfo(null);
contractDetail.setNewInfo(JSON.toJSONString(preVo.getEmployeeContractPreVos())); contractDetail.setNewInfo(JSON.toJSONString(preVo.getEmployeeContractPreVos()));
// 使用 HrEquator 比较差异字段(新增时 old 为空,传入空对象) contractDetail.setDifferenceInfo(null);
String differenceContractKey = HrEquator.comparisonValueIgnoreField(
new TEmployeeContractPreVo(), preVo.getEmployeeContractPreVos(), CONTRACT_IGNORE_FIELD);
//contractDetail.setDifferenceInfo(Common.isNotNull(differenceContractKey) ? differenceContractKey : "employeeContractPre");
contractDetail.setCreateBy(user.getId()); contractDetail.setCreateBy(user.getId());
contractDetail.setCreateName(user.getNickname()); contractDetail.setCreateName(user.getNickname());
detailList.add(contractDetail); detailList.add(contractDetail);
...@@ -3354,10 +3348,7 @@ public class EmployeeRegistrationServiceImpl extends ServiceImpl<EmployeeRegistr ...@@ -3354,10 +3348,7 @@ public class EmployeeRegistrationServiceImpl extends ServiceImpl<EmployeeRegistr
socialDetail.setPreLogId(logId); socialDetail.setPreLogId(logId);
socialDetail.setOldInfo(null); socialDetail.setOldInfo(null);
socialDetail.setNewInfo(JSON.toJSONString(preVo.getDispatchInfoPreVo())); socialDetail.setNewInfo(JSON.toJSONString(preVo.getDispatchInfoPreVo()));
// 使用 HrEquator 比较差异字段(新增时 old 为空,传入空对象) socialDetail.setDifferenceInfo(null);
String differenceSocialKey = HrEquator.comparisonValueIgnoreField(
new TDispatchInfoPreVo(), preVo.getDispatchInfoPreVo(), SOCIAL_IGNORE_FIELD);
//socialDetail.setDifferenceInfo(Common.isNotNull(differenceSocialKey) ? differenceSocialKey : "dispatchInfoPreVo");
socialDetail.setCreateBy(user.getId()); socialDetail.setCreateBy(user.getId());
socialDetail.setCreateName(user.getNickname()); socialDetail.setCreateName(user.getNickname());
detailList.add(socialDetail); detailList.add(socialDetail);
...@@ -3397,10 +3388,7 @@ public class EmployeeRegistrationServiceImpl extends ServiceImpl<EmployeeRegistr ...@@ -3397,10 +3388,7 @@ public class EmployeeRegistrationServiceImpl extends ServiceImpl<EmployeeRegistr
fundDetail.setPreLogId(logId); fundDetail.setPreLogId(logId);
fundDetail.setOldInfo(null); fundDetail.setOldInfo(null);
fundDetail.setNewInfo(JSON.toJSONString(preVo.getDispatchInfoFundPreVo())); fundDetail.setNewInfo(JSON.toJSONString(preVo.getDispatchInfoFundPreVo()));
// 使用 HrEquator 比较差异字段(新增时 old 为空,传入空对象) fundDetail.setDifferenceInfo(null);
String differenceFundKey = HrEquator.comparisonValueIgnoreField(
new TDispatchInfoPreVo(), preVo.getDispatchInfoFundPreVo(), SOCIAL_IGNORE_FIELD);
//fundDetail.setDifferenceInfo(Common.isNotNull(differenceFundKey) ? differenceFundKey : "dispatchInfoFundPreVo");
fundDetail.setCreateBy(user.getId()); fundDetail.setCreateBy(user.getId());
fundDetail.setCreateName(user.getNickname()); fundDetail.setCreateName(user.getNickname());
detailList.add(fundDetail); detailList.add(fundDetail);
......
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