Commit 4c0d6276 authored by chenyuxi's avatar chenyuxi

feat: 不购买商险人员离职

parent 46680ef7
......@@ -87,6 +87,12 @@ public class TInsuranceUnpurchasePerson extends BaseEntity {
@Schema(description = "申请状态 0 草稿 1待提交 2 待审核 3 审核通过 4 审核不通过")
private String status;
/**
* 1.9.7版本新增:历史申请日期(流程通过)
* 陈宇茜
*/
private String historicalApplicationDate;
/**
* 印章附件
*/
......
......@@ -39,4 +39,11 @@ public class TInsuranceUnpurchasePersonAddVo implements Serializable {
@Schema(description = "错误信息")
private String message;
/**
* 1.9.7版本新增:历史申请日期(流程通过)
* 陈宇茜
*/
private String historicalApplicationDate;
}
......@@ -3,6 +3,7 @@ package com.yifu.cloud.plus.v1.yifu.salary.service.impl;
import com.alibaba.excel.EasyExcel;
import com.alibaba.excel.ExcelWriter;
import com.alibaba.excel.write.metadata.WriteSheet;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
......@@ -14,10 +15,7 @@ import com.yifu.cloud.plus.v1.yifu.common.core.constant.CommonConstants;
import com.yifu.cloud.plus.v1.yifu.common.core.constant.ResultConstants;
import com.yifu.cloud.plus.v1.yifu.common.core.exception.CheckedException;
import com.yifu.cloud.plus.v1.yifu.common.core.redis.RedisDistributedLock;
import com.yifu.cloud.plus.v1.yifu.common.core.util.Common;
import com.yifu.cloud.plus.v1.yifu.common.core.util.DateUtil;
import com.yifu.cloud.plus.v1.yifu.common.core.util.OSSUtil;
import com.yifu.cloud.plus.v1.yifu.common.core.util.R;
import com.yifu.cloud.plus.v1.yifu.common.core.util.*;
import com.yifu.cloud.plus.v1.yifu.common.core.vo.YifuUser;
import com.yifu.cloud.plus.v1.yifu.common.dapr.util.ArchivesDaprUtil;
import com.yifu.cloud.plus.v1.yifu.common.dapr.util.SocialDaprUtils;
......@@ -53,10 +51,7 @@ import javax.servlet.http.HttpServletResponse;
import java.net.URL;
import java.net.URLEncoder;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.*;
import java.util.stream.Collectors;
/**
......@@ -245,8 +240,13 @@ public class TInsuranceUnpurchaseApplyServiceImpl extends ServiceImpl<TInsurance
}
//申请人是否属于子分公司和该项目是否有审批通过记录赋值
setValue(tInsuranceUnpurchaseApply, user);
// 1.9.7 人员离职判断
setPersonnelResignationValue(tInsuranceUnpurchaseApply, personList);
tInsuranceUnpurchaseApply.setCreateTimeZc(LocalDateTime.now());
baseMapper.updateById(tInsuranceUnpurchaseApply);
// 有提交即审核通过的,记录审批日志
// 1.9.7 增加人员离职自动审批处理
createProcessLog(tInsuranceUnpurchaseApply, user);
//更新附件
updateFileId(tInsuranceUnpurchaseApply);
......@@ -261,6 +261,8 @@ public class TInsuranceUnpurchaseApplyServiceImpl extends ServiceImpl<TInsurance
person.setPost(vo.getPost());
person.setApplyNoDetail(getCodeDetail());
person.setCreateTime(tInsuranceUnpurchaseApply.getCreateTimeZc());
// 1.9.7 增加: 历史申请日期(流程通过)
person.setHistoricalApplicationDate(vo.getHistoricalApplicationDate());
initValue(tInsuranceUnpurchaseApply, person);
personInfoList.add(person);
}
......@@ -268,6 +270,9 @@ public class TInsuranceUnpurchaseApplyServiceImpl extends ServiceImpl<TInsurance
} else {
//申请人是否属于子分公司和该项目是否有审批通过记录赋值
setValue(tInsuranceUnpurchaseApply, user);
// 1.9.7 人员离职判断
setPersonnelResignationValue(tInsuranceUnpurchaseApply, personList);
tInsuranceUnpurchaseApply.setCreateTimeZc(LocalDateTime.now());
tInsuranceUnpurchaseApply.setCreateBy(user.getId());
tInsuranceUnpurchaseApply.setCreateName(user.getNickname());
......@@ -275,6 +280,8 @@ public class TInsuranceUnpurchaseApplyServiceImpl extends ServiceImpl<TInsurance
tInsuranceUnpurchaseApply.setCreateUserDeptId(user.getDeptId().toString());
tInsuranceUnpurchaseApply.setApplyNo(applyNo);
baseMapper.insert(tInsuranceUnpurchaseApply);
// 有提交即审核通过的,记录审批日志
// 1.9.7 增加人员离职自动审批处理
createProcessLog(tInsuranceUnpurchaseApply, user);
//更新附件
updateFileId(tInsuranceUnpurchaseApply);
......@@ -286,6 +293,8 @@ public class TInsuranceUnpurchaseApplyServiceImpl extends ServiceImpl<TInsurance
person.setPost(vo.getPost());
person.setApplyNoDetail(getCodeDetail());
person.setCreateTime(tInsuranceUnpurchaseApply.getCreateTimeZc());
// 1.9.7 增加: 历史申请日期(流程通过)
person.setHistoricalApplicationDate(vo.getHistoricalApplicationDate());
initValue(tInsuranceUnpurchaseApply, person);
personInfoList.add(person);
}
......@@ -382,8 +391,11 @@ public class TInsuranceUnpurchaseApplyServiceImpl extends ServiceImpl<TInsurance
return personList;
}
// 提交自动审核通过,加审核日志
private void createProcessLog(TInsuranceUnpurchaseApply tInsuranceUnpurchaseApply,YifuUser user){
if (Common.isNotNull(tInsuranceUnpurchaseApply.getAuditFlag()) &&
// 是 “已购买社保”并且 有审核通过的项目:提交即审核通过
if (CommonConstants.ONE_STRING.equals(tInsuranceUnpurchaseApply.getReasonType())
&& Common.isNotNull(tInsuranceUnpurchaseApply.getAuditFlag()) &&
tInsuranceUnpurchaseApply.getAuditFlag().equals(CommonConstants.ZERO_STRING)) {
// 记录提交审核日志
TAuditRecord submitAuditRecord = new TAuditRecord();
......@@ -411,8 +423,50 @@ public class TInsuranceUnpurchaseApplyServiceImpl extends ServiceImpl<TInsurance
submitAuditRecord.setEntityName(tInsuranceUnpurchaseApply.getApplyNo());
auditRecordService.save(submitAuditRecord);
}
if(CommonConstants.TWO_STRING.equals(tInsuranceUnpurchaseApply.getReasonType())){
// 是“人员已离职”并且 申请已审核通过
// 记录提交审核日志
TAuditRecord submitAuditRecord = new TAuditRecord();
submitAuditRecord.setDomainId(tInsuranceUnpurchaseApply.getId());
submitAuditRecord.setFlowId(CommonConstants.EMPTY_STRING);
submitAuditRecord.setNodeId(CommonConstants.EMPTY_STRING);
submitAuditRecord.setApprovalMan(user.getId());
submitAuditRecord.setApprovalManName(user.getNickname());
submitAuditRecord.setApprovalResult(CommonConstants.dingleDigitStrArray[3]);
submitAuditRecord.setDeleteFlag(CommonConstants.NOT_DELETE_FLAG);
submitAuditRecord.setApprovalTime(LocalDateTime.now());
submitAuditRecord.setPreFlag(CommonConstants.ONE_STRING);
submitAuditRecord.setSubmitMan(user.getId());
submitAuditRecord.setSubmitManName(user.getNickname());
submitAuditRecord.setAuditType(CommonConstants.ZERO_STRING);
submitAuditRecord.setCreateTime(LocalDateTime.now());
submitAuditRecord.setNodeName("提交");
submitAuditRecord.setSubmitCreateTime(LocalDateTime.now());
submitAuditRecord.setEntityName(tInsuranceUnpurchaseApply.getApplyNo());
auditRecordService.save(submitAuditRecord);
// 记录系统自动审核通过日志
TAuditRecord autoAuditRecord = new TAuditRecord();
autoAuditRecord.setDomainId(tInsuranceUnpurchaseApply.getId());
autoAuditRecord.setFlowId(CommonConstants.EMPTY_STRING);
autoAuditRecord.setNodeId(CommonConstants.EMPTY_STRING);
autoAuditRecord.setNodeName("SSC审核");
autoAuditRecord.setApprovalMan(CommonConstants.ONE_STRING);
autoAuditRecord.setApprovalManName("系统默认审核通过");
autoAuditRecord.setApprovalOpinion("默认审核通过");
autoAuditRecord.setApprovalTime(LocalDateTime.now());
autoAuditRecord.setDeleteFlag(CommonConstants.NOT_DELETE_FLAG);
autoAuditRecord.setPreFlag(CommonConstants.ONE_STRING);
autoAuditRecord.setApprovalResult(CommonConstants.ZERO_STRING);
autoAuditRecord.setSubmitMan(user.getId());
autoAuditRecord.setSubmitManName(user.getNickname());
autoAuditRecord.setSubmitCreateTime(submitAuditRecord.getSubmitCreateTime());
autoAuditRecord.setAuditType(CommonConstants.ZERO_STRING);
autoAuditRecord.setCreateTime(LocalDateTime.now());
autoAuditRecord.setEntityName(tInsuranceUnpurchaseApply.getApplyNo());
auditRecordService.save(autoAuditRecord);
}
}
//申请人是否属于子分公司和该项目是否有审批通过记录赋值
private void setValue(TInsuranceUnpurchaseApply tInsuranceUnpurchaseApply,YifuUser user) {
if (Common.isNotNull(tInsuranceUnpurchaseApply.getDeptNo())) {
......@@ -437,6 +491,45 @@ public class TInsuranceUnpurchaseApplyServiceImpl extends ServiceImpl<TInsurance
}
}
// 1.9.7:人员离职 判断本批人员是否之前有审核通过的记录
private void setPersonnelResignationValue(TInsuranceUnpurchaseApply tInsuranceUnpurchaseApply, List<TInsuranceUnpurchasePersonAddVo> personList) {
if (CommonConstants.TWO_STRING.equals(tInsuranceUnpurchaseApply.getReasonType()) && Common.isNotNull(personList)) {
// 判断本批人员是否之前在同一个项目下有审核通过的明细记录, 都没审核过,可以变为自动审核通过
Set<String> idcardSet = personList.stream().map(TInsuranceUnpurchasePersonAddVo::getEmpIdcardNo).collect(Collectors.toSet());
LambdaQueryWrapper<TInsuranceUnpurchasePerson> personQuery = Wrappers.<TInsuranceUnpurchasePerson>query().lambda()
.eq(TInsuranceUnpurchasePerson::getDeptNo, tInsuranceUnpurchaseApply.getDeptNo())
.eq(TInsuranceUnpurchasePerson::getReasonType, CommonConstants.TWO_STRING)
.eq(TInsuranceUnpurchasePerson::getStatus, CommonConstants.THREE_STRING)
.in(TInsuranceUnpurchasePerson::getEmpIdcardNo, idcardSet).orderByAsc(TInsuranceUnpurchasePerson::getCreateTime);
List<TInsuranceUnpurchasePerson> findList = personService.list(personQuery);
// 存有记录的 历史申请日期
if (Common.isNotNull(findList)) {
Map<String,String> dateMap = new HashMap<>();
for (TInsuranceUnpurchasePerson personInfo : findList) {
// 组装【历史申请日期】
String dateStr = dateMap.get(personInfo.getEmpIdcardNo());
if(Common.isEmpty(dateStr)){
dateStr = LocalDateTimeUtils.formatTime(personInfo.getCreateTime(),LocalDateTimeUtils.DATE_SHORT_PATTERN);
} else {
dateStr = dateStr+"、"+LocalDateTimeUtils.formatTime(personInfo.getCreateTime(),LocalDateTimeUtils.DATE_SHORT_PATTERN);
}
dateMap.put(personInfo.getEmpIdcardNo(), dateStr);
}
for(TInsuranceUnpurchasePersonAddVo person : personList){
String dateStr = dateMap.get(person.getEmpIdcardNo());
if(Common.isNotNull(dateStr)){
person.setHistoricalApplicationDate(dateStr);
} else {
person.setHistoricalApplicationDate("");
}
}
} else {
tInsuranceUnpurchaseApply.setStatus(CommonConstants.THREE_STRING);
}
}
}
private void initValue(TInsuranceUnpurchaseApply tInsuranceUnpurchaseApply,TInsuranceUnpurchasePerson person) {
person.setParnetId(tInsuranceUnpurchaseApply.getId());
person.setApplyNo(tInsuranceUnpurchaseApply.getApplyNo());
......
......@@ -30,6 +30,7 @@
<result property="newLine" column="NEW_LINE"/>
<result property="division" column="DIVISION"/>
<result property="insuranceFlag" column="INSURANCE_FLAG"/>
<result property="historicalApplicationDate" column="HISTORICAL_APPLICATION_DATE"/>
</resultMap>
<resultMap id="tInsuranceUnpurchasePersonExportMap" type="com.yifu.cloud.plus.v1.yifu.salary.vo.TInsuranceUnpurchasePersonVo">
......@@ -73,7 +74,8 @@
a.HAS_CONTAIN_RISKS,
a.NEW_LINE,
a.DIVISION,
a.INSURANCE_FLAG
a.INSURANCE_FLAG,
a.HISTORICAL_APPLICATION_DATE
</sql>
<sql id="tInsuranceUnpurchasePerson_where">
<if test="tInsuranceUnpurchasePerson != null">
......@@ -206,7 +208,8 @@
a.ID,
a.EMP_NAME empName,
a.EMP_IDCARD_NO empIdcardNo,
if(a.POST = '--','',post) post
if(a.POST = '--','',post) post,
a.HISTORICAL_APPLICATION_DATE
FROM t_insurance_unpurchase_person a
where a.PARNET_ID = #{id}
</select>
......
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