Commit b74c946f authored by huyuchen's avatar huyuchen

huych-合同自动化代码提交

parent 8b4f7953
...@@ -2,6 +2,7 @@ package com.yifu.cloud.plus.v1.yifu.archives.entity; ...@@ -2,6 +2,7 @@ package com.yifu.cloud.plus.v1.yifu.archives.entity;
import com.baomidou.mybatisplus.annotation.*; import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
import com.yifu.cloud.plus.v1.yifu.archives.vo.TEmployeeContractPreVo;
import com.yifu.cloud.plus.v1.yifu.common.mybatis.base.BaseEntity; import com.yifu.cloud.plus.v1.yifu.common.mybatis.base.BaseEntity;
import com.yifu.cloud.plus.v1.yifu.insurances.entity.TEmployeeInsurancePre; import com.yifu.cloud.plus.v1.yifu.insurances.entity.TEmployeeInsurancePre;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
...@@ -122,6 +123,10 @@ public class EmployeeRegistrationPre extends BaseEntity { ...@@ -122,6 +123,10 @@ public class EmployeeRegistrationPre extends BaseEntity {
@TableField(exist = false) @TableField(exist = false)
private List<TEmployeeInsurancePre> insurancePreList; private List<TEmployeeInsurancePre> insurancePreList;
@Schema(description = "合同待派单信息")
@TableField(exist = false)
private TEmployeeContractPreVo employeeContractPreVo;
@Schema(description = "附件集合") @Schema(description = "附件集合")
@TableField(exist = false) @TableField(exist = false)
private List<TAttaInfo> attaList; private List<TAttaInfo> attaList;
......
...@@ -21,6 +21,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage; ...@@ -21,6 +21,7 @@ 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.entity.EmployeeRegistrationPre; import com.yifu.cloud.plus.v1.yifu.archives.entity.EmployeeRegistrationPre;
import com.yifu.cloud.plus.v1.yifu.archives.entity.TEmployeeContractPre;
import com.yifu.cloud.plus.v1.yifu.archives.entity.TEmployeePreLog; import com.yifu.cloud.plus.v1.yifu.archives.entity.TEmployeePreLog;
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.vo.YifuUser; import com.yifu.cloud.plus.v1.yifu.common.core.vo.YifuUser;
...@@ -53,7 +54,8 @@ public interface TEmployeePreLogService extends IService<TEmployeePreLog> { ...@@ -53,7 +54,8 @@ public interface TEmployeePreLogService extends IService<TEmployeePreLog> {
* @return: void * @return: void
**/ **/
void saveModifyAndUpdateInsurance(String empPreId, EmployeeRegistrationPre oldInfo void saveModifyAndUpdateInsurance(String empPreId, EmployeeRegistrationPre oldInfo
, EmployeeRegistrationPre newInfo, YifuUser user, Map<String, TEmployeeInsurancePre> oldMap); , EmployeeRegistrationPre newInfo, YifuUser user, Map<String, TEmployeeInsurancePre> oldMap
, TEmployeeContractPre contractOld);
/** /**
* @Description: 添加日志并修改商险list * @Description: 添加日志并修改商险list
......
...@@ -12,10 +12,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; ...@@ -12,10 +12,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.yifu.cloud.plus.v1.check.entity.TCheckMobile; import com.yifu.cloud.plus.v1.check.entity.TCheckMobile;
import com.yifu.cloud.plus.v1.csp.vo.EmployeeRegistrationUpdateVo; import com.yifu.cloud.plus.v1.csp.vo.EmployeeRegistrationUpdateVo;
import com.yifu.cloud.plus.v1.yifu.archives.entity.*; import com.yifu.cloud.plus.v1.yifu.archives.entity.*;
import com.yifu.cloud.plus.v1.yifu.archives.mapper.EmployeeRegistrationPreMapper; import com.yifu.cloud.plus.v1.yifu.archives.mapper.*;
import com.yifu.cloud.plus.v1.yifu.archives.mapper.TCompleteMonitorMapper;
import com.yifu.cloud.plus.v1.yifu.archives.mapper.TEmployeeInfoMapper;
import com.yifu.cloud.plus.v1.yifu.archives.mapper.TPreEmpMainMapper;
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.*;
import com.yifu.cloud.plus.v1.yifu.common.core.constant.CacheConstants; import com.yifu.cloud.plus.v1.yifu.common.core.constant.CacheConstants;
...@@ -29,7 +26,10 @@ import com.yifu.cloud.plus.v1.yifu.common.core.util.alisms.YiFuSmsUtil; ...@@ -29,7 +26,10 @@ import com.yifu.cloud.plus.v1.yifu.common.core.util.alisms.YiFuSmsUtil;
import com.yifu.cloud.plus.v1.yifu.common.core.vo.YifuUser; import com.yifu.cloud.plus.v1.yifu.common.core.vo.YifuUser;
import com.yifu.cloud.plus.v1.yifu.common.dapr.config.DaprCheckProperties; import com.yifu.cloud.plus.v1.yifu.common.dapr.config.DaprCheckProperties;
import com.yifu.cloud.plus.v1.yifu.common.dapr.config.DaprInsurancesProperties; import com.yifu.cloud.plus.v1.yifu.common.dapr.config.DaprInsurancesProperties;
import com.yifu.cloud.plus.v1.yifu.common.dapr.util.*; import com.yifu.cloud.plus.v1.yifu.common.dapr.util.CspDaprUtils;
import com.yifu.cloud.plus.v1.yifu.common.dapr.util.HttpDaprUtil;
import com.yifu.cloud.plus.v1.yifu.common.dapr.util.InsuranceDaprUtil;
import com.yifu.cloud.plus.v1.yifu.common.dapr.util.MenuUtil;
import com.yifu.cloud.plus.v1.yifu.common.security.util.SecurityUtils; import com.yifu.cloud.plus.v1.yifu.common.security.util.SecurityUtils;
import com.yifu.cloud.plus.v1.yifu.insurances.entity.TEmployeeInsurancePre; import com.yifu.cloud.plus.v1.yifu.insurances.entity.TEmployeeInsurancePre;
import com.yifu.cloud.plus.v1.yifu.insurances.entity.TInsuranceDetail; import com.yifu.cloud.plus.v1.yifu.insurances.entity.TInsuranceDetail;
...@@ -97,6 +97,10 @@ public class EmployeeRegistrationPreServiceImpl extends ServiceImpl<EmployeeRegi ...@@ -97,6 +97,10 @@ public class EmployeeRegistrationPreServiceImpl extends ServiceImpl<EmployeeRegi
private final TAttaInfoService attaInfoService; private final TAttaInfoService attaInfoService;
private final TEmployeeContractInfoMapper contractInfoMapper;
private final TEmployeeContractPreMapper contractPreMapper;
@Autowired @Autowired
@Lazy @Lazy
private ScheduleService scheduleService; private ScheduleService scheduleService;
...@@ -645,6 +649,35 @@ public class EmployeeRegistrationPreServiceImpl extends ServiceImpl<EmployeeRegi ...@@ -645,6 +649,35 @@ public class EmployeeRegistrationPreServiceImpl extends ServiceImpl<EmployeeRegi
} }
} }
//查询老的合同明细
TEmployeeContractPre contractOld = contractPreMapper.selectOne(Wrappers.<TEmployeeContractPre>query().lambda()
.eq(TEmployeeContractPre::getRegisterId,employeeRegistrationPre.getId())
.last(CommonConstants.LAST_ONE_SQL));
//1.9.12合同自动化校验逻辑
if (employeeRegistrationPre.getServerItem().contains("合同") && null != employeeRegistrationPre.getEmployeeContractPreVo()) {
TEmployeeContractPreVo employeeContractPreVo = employeeRegistrationPre.getEmployeeContractPreVo();
//根据身份证号码和项目编号查询合同
boolean flag = contractInfoMapper.selectCount(Wrappers.<TEmployeeContractInfo>query().lambda()
.eq(TEmployeeContractInfo::getEmpIdcard, employeeRegistrationPre.getEmpIdcard())
.eq(TEmployeeContractInfo::getDeptNo, employeeRegistrationPre.getDeptNo())
.and(obj -> obj.eq(TEmployeeContractInfo::getAuditStatus, CommonConstants.ONE_INT)
.or()
.eq(TEmployeeContractInfo::getAuditStatus, CommonConstants.TWO_INT)
.eq(TEmployeeContractInfo::getInUse, CommonConstants.ZERO_STRING)
)
.eq(TEmployeeContractInfo::getDeleteFlag, CommonConstants.ZERO_INT)
.last(CommonConstants.LAST_ONE_SQL)) > 0;
//是否已签署为是需要判断合同是否在用或者流程中
if (CommonConstants.ZERO_STRING.equals(employeeContractPreVo.getContractFlag()) && !flag) {
return R.failed("未找到流程中或者在用的合同!");
}
//是否已签署为否需要判断是否在用或者流程中的合同
if (CommonConstants.ONE_STRING.equals(employeeContractPreVo.getContractFlag()) && flag) {
return R.failed("该项目下存在在途/有效的合同数据,请“是否已签署合同”是否调整为“是”");
}
initContractPreInfo(employeeRegistrationPre,employeeContractPreVo, user, id);
}
//操作记录中字典值的转化 //操作记录中字典值的转化
String natureItemBefore = null; String natureItemBefore = null;
String natureItemAfter = null; String natureItemAfter = null;
...@@ -740,7 +773,7 @@ public class EmployeeRegistrationPreServiceImpl extends ServiceImpl<EmployeeRegi ...@@ -740,7 +773,7 @@ public class EmployeeRegistrationPreServiceImpl extends ServiceImpl<EmployeeRegi
} }
// 添加日志并修改商险list // 添加日志并修改商险list
tEmployeePreLogService.saveModifyAndUpdateInsurance(employeeRegistrationPre.getId(), comparePre tEmployeePreLogService.saveModifyAndUpdateInsurance(employeeRegistrationPre.getId(), comparePre
, employeeRegistrationPre, user, oldMap); , employeeRegistrationPre, user, oldMap, contractOld);
} catch (Exception e) { } catch (Exception e) {
log.error("生成入职待确认信息修改操作日志异常", e); log.error("生成入职待确认信息修改操作日志异常", e);
...@@ -771,6 +804,54 @@ public class EmployeeRegistrationPreServiceImpl extends ServiceImpl<EmployeeRegi ...@@ -771,6 +804,54 @@ public class EmployeeRegistrationPreServiceImpl extends ServiceImpl<EmployeeRegi
} }
} }
/**
* 初始化合同
*/
private void initContractPreInfo(EmployeeRegistrationPre registration, TEmployeeContractPreVo employeeContractPreVo,
YifuUser user, String id) {
employeeContractPreVo.setProcessStatus(CommonConstants.ZERO_STRING);
employeeContractPreVo.setSituation("正常签订");
// 设置员工注册ID
employeeContractPreVo.setRegisterId(id);
// 设置客户用户名
employeeContractPreVo.setCustomerUsername(registration.getCustomerUsernameNew());
// 设置客户用户登录名
employeeContractPreVo.setCustomerUserLoginname(registration.getCustomerUserLoginname());
// 设置部门名称
employeeContractPreVo.setDeptName(registration.getDeptName());
// 设置部门ID
employeeContractPreVo.setDeptId(registration.getDeptId());
// 设置数据源
employeeContractPreVo.setDataSource(registration.getDataSource());
// 设置职位
employeeContractPreVo.setPosition(registration.getPosition());
// 设置入职或离职日期
employeeContractPreVo.setJoinLeaveDate(registration.getJoinLeaveDate());
// 设置部门编号
employeeContractPreVo.setDeptNo(registration.getDeptNo());
// 设置员工联系电话
employeeContractPreVo.setEmpPhone(registration.getEmpPhone());
// 设置员工姓名
employeeContractPreVo.setEmployeeName(registration.getEmployeeName());
// 设置员工身份证号
employeeContractPreVo.setEmpIdcard(registration.getEmpIdcard());
// 设置创建者ID
employeeContractPreVo.setCreateBy(user.getId());
// 设置创建者
employeeContractPreVo.setCreateName(user.getNickname());
// 设置更新者ID
employeeContractPreVo.setUpdateBy(user.getId());
// 预计提醒时间、预计合同发起时间
try {
employeeContractPreVo.setExpectedCollectionTime(DateUtil.parseDate(DateUtil.dateToString(
employeeContractPreVo.getExpectedCollectionTime(), DateUtil.ISO_EXPANDED_DATE_FORMAT) + " 9:00", DateUtil.DATETIME_PATTERN_MINUTE));
employeeContractPreVo.setExpectedConfirmTime(DateUtil.parseDate(DateUtil.dateToString(
employeeContractPreVo.getExpectedConfirmTime(), DateUtil.ISO_EXPANDED_DATE_FORMAT) + " 8:30", DateUtil.DATETIME_PATTERN_MINUTE));
} catch (Exception e) {
log.error("合同自动化赋值报错", e);
}
}
/** /**
* @param insurancePreVo * @param insurancePreVo
* @Description: 获取5个字段构成的关键字 * @Description: 获取5个字段构成的关键字
......
...@@ -25,6 +25,7 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers; ...@@ -25,6 +25,7 @@ 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.yifu.cloud.plus.v1.yifu.archives.entity.EmployeeRegistrationPre; import com.yifu.cloud.plus.v1.yifu.archives.entity.EmployeeRegistrationPre;
import com.yifu.cloud.plus.v1.yifu.archives.entity.TEmployeeContractPre;
import com.yifu.cloud.plus.v1.yifu.archives.entity.TEmployeePreLog; import com.yifu.cloud.plus.v1.yifu.archives.entity.TEmployeePreLog;
import com.yifu.cloud.plus.v1.yifu.archives.entity.TEmployeePreLogDetail; import com.yifu.cloud.plus.v1.yifu.archives.entity.TEmployeePreLogDetail;
import com.yifu.cloud.plus.v1.yifu.archives.mapper.TEmployeePreLogMapper; import com.yifu.cloud.plus.v1.yifu.archives.mapper.TEmployeePreLogMapper;
...@@ -165,9 +166,33 @@ public class TEmployeePreLogServiceImpl extends ServiceImpl<TEmployeePreLogMappe ...@@ -165,9 +166,33 @@ public class TEmployeePreLogServiceImpl extends ServiceImpl<TEmployeePreLogMappe
IGNORE_FIELD.add("updateBy"); IGNORE_FIELD.add("updateBy");
} }
private static final List<String> CONTRACT_IGNORE_FIELD = new ArrayList<>();
static {
IGNORE_FIELD.add("joinLeaveDate");
IGNORE_FIELD.add("createTime");
IGNORE_FIELD.add("empPhone");
IGNORE_FIELD.add("employeeName");
IGNORE_FIELD.add("empIdcard");
IGNORE_FIELD.add("deptNo");
IGNORE_FIELD.add("deptName");
IGNORE_FIELD.add("deptId");
IGNORE_FIELD.add("customerUsername");
IGNORE_FIELD.add("customerUserLoginname");
IGNORE_FIELD.add("dataSource");
IGNORE_FIELD.add("position");
IGNORE_FIELD.add("createBy");
IGNORE_FIELD.add("createName");
IGNORE_FIELD.add("updateBy");
IGNORE_FIELD.add("isAddress");
IGNORE_FIELD.add("internshipPeriodNum");
IGNORE_FIELD.add("tryPeriodNum");
IGNORE_FIELD.add("id");
}
@Override @Override
public void saveModifyAndUpdateInsurance(String empPreId, EmployeeRegistrationPre oldInfo public void saveModifyAndUpdateInsurance(String empPreId, EmployeeRegistrationPre oldInfo
, EmployeeRegistrationPre newInfo, YifuUser user, Map<String, TEmployeeInsurancePre> oldMap) { , EmployeeRegistrationPre newInfo, YifuUser user, Map<String, TEmployeeInsurancePre> oldMap,
TEmployeeContractPre contractOld) {
try { try {
//1.9.11 huych 附件类型不比较差异 //1.9.11 huych 附件类型不比较差异
oldInfo.setAttaIdList(null); oldInfo.setAttaIdList(null);
...@@ -205,6 +230,7 @@ public class TEmployeePreLogServiceImpl extends ServiceImpl<TEmployeePreLogMappe ...@@ -205,6 +230,7 @@ public class TEmployeePreLogServiceImpl extends ServiceImpl<TEmployeePreLogMappe
boolean isModifyInsurance = false; boolean isModifyInsurance = false;
TEmployeeInsurancePre oldInsurance; TEmployeeInsurancePre oldInsurance;
String differenceInsuranceKey; String differenceInsuranceKey;
String differenceContractKey;
TEmployeePreLogDetail detailInsuranceLog; TEmployeePreLogDetail detailInsuranceLog;
for (TEmployeeInsurancePre newInsurance : newList) { for (TEmployeeInsurancePre newInsurance : newList) {
differenceInsuranceKey = null; differenceInsuranceKey = null;
...@@ -260,6 +286,13 @@ public class TEmployeePreLogServiceImpl extends ServiceImpl<TEmployeePreLogMappe ...@@ -260,6 +286,13 @@ public class TEmployeePreLogServiceImpl extends ServiceImpl<TEmployeePreLogMappe
saveOrUpdateList.add(newInsurance); saveOrUpdateList.add(newInsurance);
} }
} }
boolean isModifyContract =false;
if (contractOld != null && newInfo.getEmployeeContractPreVo() != null) {
differenceContractKey = HrEquator.comparisonValueIgnoreField(contractOld, newInfo.getEmployeeContractPreVo(), CONTRACT_IGNORE_FIELD);
if (null != differenceContractKey) {
isModifyContract = true;
}
}
// 如果变更了 // 如果变更了
if (isModifyInsurance) { if (isModifyInsurance) {
if (Common.isNotNull(diffTitle)) { if (Common.isNotNull(diffTitle)) {
...@@ -268,6 +301,13 @@ public class TEmployeePreLogServiceImpl extends ServiceImpl<TEmployeePreLogMappe ...@@ -268,6 +301,13 @@ public class TEmployeePreLogServiceImpl extends ServiceImpl<TEmployeePreLogMappe
diffTitle = "商险信息"; diffTitle = "商险信息";
} }
} }
if (isModifyContract) {
if (Common.isNotNull(diffTitle)) {
diffTitle += "、合同信息";
} else {
diffTitle = "合同信息";
}
}
} }
// 有修改,则加日志 // 有修改,则加日志
if (Common.isNotNull(diffTitle)) { if (Common.isNotNull(diffTitle)) {
......
...@@ -474,7 +474,6 @@ ...@@ -474,7 +474,6 @@
</where> </where>
</select> </select>
<select id="getAllUnconfimData" resultMap="tEmployeeContractPreMap"> <select id="getAllUnconfimData" resultMap="tEmployeeContractPreMap">
SELECT SELECT
<include refid="Base_Column_List"/> <include refid="Base_Column_List"/>
......
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