Commit ce53a2e9 authored by fangxinjiang's avatar fangxinjiang

Merge remote-tracking branch 'origin/MVP1.7.5' into MVP1.7.5

parents d4b75b36 c0d7d920
......@@ -45,6 +45,10 @@ public interface TInsuranceUnpurchaseApplyMapper extends BaseMapper<TInsuranceUn
String getMaxInusuranceDetailCode();
long selectSocialCount(@Param("deptNo") String deptNo,@Param("cardNo") String cardNo,@Param("id") String id);
long selectArchCount(@Param("deptNo") String deptNo,@Param("cardNo") String cardNo,@Param("id") String id);
/**
* 待审核分页查询
* @param page 分页信息
......
......@@ -20,10 +20,12 @@ 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;
import com.yifu.cloud.plus.v1.yifu.common.security.util.SecurityUtils;
import com.yifu.cloud.plus.v1.yifu.salary.entity.TAuditRecord;
import com.yifu.cloud.plus.v1.yifu.salary.entity.TInsuranceUnpurchaseApply;
import com.yifu.cloud.plus.v1.yifu.salary.entity.TInsuranceUnpurchasePerson;
import com.yifu.cloud.plus.v1.yifu.salary.entity.TSalaryAtta;
import com.yifu.cloud.plus.v1.yifu.salary.mapper.TInsuranceUnpurchaseApplyMapper;
import com.yifu.cloud.plus.v1.yifu.salary.service.TAuditRecordService;
import com.yifu.cloud.plus.v1.yifu.salary.service.TInsuranceUnpurchaseApplyService;
import com.yifu.cloud.plus.v1.yifu.salary.service.TInsuranceUnpurchasePersonService;
import com.yifu.cloud.plus.v1.yifu.salary.service.TSalaryAttaService;
......@@ -70,6 +72,9 @@ public class TInsuranceUnpurchaseApplyServiceImpl extends ServiceImpl<TInsurance
@Resource
private TSalaryAttaService tSalaryAttaService;
@Resource
@Lazy
private TAuditRecordService auditRecordService;
@Resource
private OSSUtil ossUtil;
@Resource
@Lazy
......@@ -158,20 +163,19 @@ public class TInsuranceUnpurchaseApplyServiceImpl extends ServiceImpl<TInsurance
return R.failed("原因说明不能超过两百个字符");
}
try {
//申请编号
String applyNo = getCode();
//获取明细当日最大申请编号
String applyDetail = baseMapper.getMaxInusuranceDetailCode();
String applyDetail;
applyDetail = baseMapper.getMaxInusuranceDetailCode();
//暂存不做校验
if (CommonConstants.ONE_STRING.equals(tInsuranceUnpurchaseApply.getSaveFlag())) {
if (Common.isEmpty(tInsuranceUnpurchaseApply.getId())) {
tInsuranceUnpurchaseApply.setApplyNo(applyNo);
// tInsuranceUnpurchaseApply.setApplyNo(applyNo);
tInsuranceUnpurchaseApply.setCreateBy(user.getId());
tInsuranceUnpurchaseApply.setCreateName(user.getNickname());
tInsuranceUnpurchaseApply.setCreateUserDeptName(user.getDeptName());
tInsuranceUnpurchaseApply.setCreateUserDeptId(user.getDeptId().toString());
baseMapper.insert(tInsuranceUnpurchaseApply);
}else {
} else {
baseMapper.updateById(tInsuranceUnpurchaseApply);
}
//更新附件
......@@ -188,7 +192,7 @@ public class TInsuranceUnpurchaseApplyServiceImpl extends ServiceImpl<TInsurance
person.setEmpIdcardNo(vo.getEmpIdcardNo());
person.setEmpName(vo.getEmpName());
person.setPost(vo.getPost());
person.setApplyNoDetail(getDetailCode(applyDetail,vo.getRowIndex()));
person.setApplyNoDetail(getDetailCode(applyDetail, vo.getRowIndex()));
initValue(tInsuranceUnpurchaseApply, person);
personList.add(person);
}
......@@ -196,20 +200,24 @@ public class TInsuranceUnpurchaseApplyServiceImpl extends ServiceImpl<TInsurance
}
return R.ok();
} else if (CommonConstants.TWO_STRING.equals(tInsuranceUnpurchaseApply.getSaveFlag())) {
//校验若该项目&该人员身份证号是否已经有过“已购买社保”的不购买商险明细,若有也会禁止重复提交!提示:姓名+身份证号、姓名+身份证号、已有申请记录,无需重复提交,可删除后再提交;
//校验该身份证&姓名组合的数据能否找到在途或在保的社保-工伤险数据,即是否为-“工伤”险正常参保的人员,不受项目限制,若“工伤”险皆正常在保或有在途“待审核、待办理”,则可正常提交,若未正常参保或无在途的参保数据,则提示“姓名+身份证号、姓名+身份证号无正常参保或派单中的数据,禁止提交!”
List<TInsuranceUnpurchasePersonAddVo> personList = addAndUpdCheck(tInsuranceUnpurchaseApply);
if (Common.isNotNull(personList) && !personList.isEmpty() &&
personList.stream().noneMatch(e -> CommonConstants.ONE_STRING.equals(e.getCode()))) {
//申请编号
String applyNo = getCode();
tInsuranceUnpurchaseApply.setUnbuyNum(String.valueOf(personList.size()));
//申请人是否属于子分公司和该项目是否有审批通过记录赋值
setValue(tInsuranceUnpurchaseApply,user);
if (Common.isNotNull(tInsuranceUnpurchaseApply.getId())) {
if (Common.isEmpty(tInsuranceUnpurchaseApply.getApplyNo())) {
tInsuranceUnpurchaseApply.setApplyNo(applyNo);
}
//申请人是否属于子分公司和该项目是否有审批通过记录赋值
setValue(tInsuranceUnpurchaseApply, user);
tInsuranceUnpurchaseApply.setCreateTimeZc(LocalDateTime.now());
baseMapper.updateById(tInsuranceUnpurchaseApply);
createProcessLog(tInsuranceUnpurchaseApply,user);
//更新附件
updateFileId(tInsuranceUnpurchaseApply);
//先删除明细表数据再重新生成
......@@ -228,6 +236,8 @@ public class TInsuranceUnpurchaseApplyServiceImpl extends ServiceImpl<TInsurance
}
personService.saveBatch(personInfoList);
} else {
//申请人是否属于子分公司和该项目是否有审批通过记录赋值
setValue(tInsuranceUnpurchaseApply, user);
tInsuranceUnpurchaseApply.setCreateTimeZc(LocalDateTime.now());
tInsuranceUnpurchaseApply.setCreateBy(user.getId());
tInsuranceUnpurchaseApply.setCreateName(user.getNickname());
......@@ -235,6 +245,7 @@ public class TInsuranceUnpurchaseApplyServiceImpl extends ServiceImpl<TInsurance
tInsuranceUnpurchaseApply.setCreateUserDeptId(user.getDeptId().toString());
tInsuranceUnpurchaseApply.setApplyNo(applyNo);
baseMapper.insert(tInsuranceUnpurchaseApply);
createProcessLog(tInsuranceUnpurchaseApply,user);
//更新附件
updateFileId(tInsuranceUnpurchaseApply);
List<TInsuranceUnpurchasePerson> personInfoList = new ArrayList<>();
......@@ -288,8 +299,7 @@ public class TInsuranceUnpurchaseApplyServiceImpl extends ServiceImpl<TInsurance
public List<TInsuranceUnpurchasePersonAddVo> addAndUpdCheck(TInsuranceUnpurchaseApply tInsuranceUnpurchaseApply) {
Map<String,String> sameCheckMap = new HashMap<>();
TInsuranceUnpurchaseApply exitApply;
TInsuranceUnpurchasePerson exit;
List<TInsuranceUnpurchasePersonAddVo> personList = tInsuranceUnpurchaseApply.getPersonList();
if (Common.isNotNull(personList) && !personList.isEmpty()) {
R<Boolean> flagSocial;
......@@ -305,23 +315,16 @@ public class TInsuranceUnpurchaseApplyServiceImpl extends ServiceImpl<TInsurance
vo.setCode(CommonConstants.ONE_STRING);
vo.setMessage(vo.getEmpName() + "_" + vo.getEmpIdcardNo() + ":存在重复的身份证+姓名信息,可删除后再提交");
}
exitApply = baseMapper.selectOne(Wrappers.<TInsuranceUnpurchaseApply>query().lambda()
.eq(TInsuranceUnpurchaseApply::getDeptNo, tInsuranceUnpurchaseApply.getDeptNo())
.eq(TInsuranceUnpurchaseApply::getDeleteFlag, CommonConstants.ZERO_STRING)
.eq(TInsuranceUnpurchaseApply::getReasonType, tInsuranceUnpurchaseApply.getReasonType())
.ne(TInsuranceUnpurchaseApply::getStatus, CommonConstants.ZERO_STRING)
.ne(TInsuranceUnpurchaseApply::getId, tInsuranceUnpurchaseApply.getId())
.last(CommonConstants.LAST_ONE_SQL));
if (Common.isNotNull(exitApply)) {
exit = personService.getOne(Wrappers.<TInsuranceUnpurchasePerson>query().lambda()
.eq(TInsuranceUnpurchasePerson::getParnetId, exitApply.getId())
.eq(TInsuranceUnpurchasePerson::getEmpIdcardNo, vo.getEmpIdcardNo())
.last(CommonConstants.LAST_ONE_SQL));
if (Common.isNotNull(exit)) {
vo.setCode(CommonConstants.ONE_STRING);
vo.setMessage(vo.getEmpName() + "_" + vo.getEmpIdcardNo() + ":已有申请记录,无需重复提交,可删除后再提交");
continue;
}
long count = 0;
if (CommonConstants.ONE_STRING.equals(tInsuranceUnpurchaseApply.getReasonType())) {
count = baseMapper.selectSocialCount(tInsuranceUnpurchaseApply.getDeptNo(), vo.getEmpIdcardNo(), tInsuranceUnpurchaseApply.getId());
} else {
count = baseMapper.selectArchCount(tInsuranceUnpurchaseApply.getDeptNo(), vo.getEmpIdcardNo(), tInsuranceUnpurchaseApply.getId());
}
if (count > 0) {
vo.setCode(CommonConstants.ONE_STRING);
vo.setMessage(vo.getEmpName() + "_" + vo.getEmpIdcardNo() + ":已有申请记录,无需重复提交,可删除后再提交");
continue;
}
//人员有项目档案且未减项拦截
TInsuranceUnpurchasePersonCardVo cardVo = new TInsuranceUnpurchasePersonCardVo();
......@@ -346,6 +349,37 @@ public class TInsuranceUnpurchaseApplyServiceImpl extends ServiceImpl<TInsurance
return personList;
}
private void createProcessLog(TInsuranceUnpurchaseApply tInsuranceUnpurchaseApply,YifuUser user){
if (Common.isNotNull(tInsuranceUnpurchaseApply.getAuditFlag()) &&
tInsuranceUnpurchaseApply.getAuditFlag().equals(CommonConstants.ZERO_STRING)) {
// 记录提交审核日志
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());
// 审核记录标识 1当前审核记录
submitAuditRecord.setPreFlag(CommonConstants.ONE_STRING);
submitAuditRecord.setSubmitMan(user.getId());
submitAuditRecord.setSubmitManName(user.getNickname());
// 申请原因
// submitAuditRecord.setReason(reason);
// 审核类型
submitAuditRecord.setAuditType(CommonConstants.ZERO_STRING);
submitAuditRecord.setCreateTime(LocalDateTime.now());
// 提交节点名称
submitAuditRecord.setNodeName("提交即审核通过");
submitAuditRecord.setSubmitCreateTime(LocalDateTime.now());
submitAuditRecord.setEntityName(tInsuranceUnpurchaseApply.getApplyNo());
auditRecordService.save(submitAuditRecord);
}
}
//申请人是否属于子分公司和该项目是否有审批通过记录赋值
private void setValue(TInsuranceUnpurchaseApply tInsuranceUnpurchaseApply,YifuUser user) {
if (Common.isNotNull(tInsuranceUnpurchaseApply.getDeptNo())) {
......@@ -365,7 +399,6 @@ public class TInsuranceUnpurchaseApplyServiceImpl extends ServiceImpl<TInsurance
}
private void initValue(TInsuranceUnpurchaseApply tInsuranceUnpurchaseApply,TInsuranceUnpurchasePerson person) {
person.setCreateTime(tInsuranceUnpurchaseApply.getCreateTimeZc());
person.setParnetId(tInsuranceUnpurchaseApply.getId());
person.setApplyNo(tInsuranceUnpurchaseApply.getApplyNo());
person.setDeptId(tInsuranceUnpurchaseApply.getDeptId());
......
......@@ -118,6 +118,34 @@
</where>
</select>
<select id="selectSocialCount" resultType="java.lang.Long">
SELECT
count(1)
FROM t_insurance_unpurchase_apply a
inner join t_insurance_unpurchase_person b
on a.id = b.PARNET_ID
where
1=1 and a.DELETE_FLAG = '0' and a.reason_type = '1' and a.status in ('2','3')
<if test="id != null ">
AND a.id != #{id}
</if>
and a.DEPT_NO = #{deptNo} and b.EMP_IDCARD_NO = #{cardNo}
</select>
<select id="selectArchCount" resultType="java.lang.Long">
SELECT
count(1)
FROM t_insurance_unpurchase_apply a
inner join t_insurance_unpurchase_person b
on a.id = b.PARNET_ID
where
1=1 and a.DELETE_FLAG = '0' and a.reason_type = '2' and a.status in ('2','3') and b.SALARY_NUM = 0
<if test="id != null ">
AND a.id != #{id}
</if>
and a.DEPT_NO = #{deptNo} and b.EMP_IDCARD_NO = #{cardNo}
</select>
<!-- tInsuranceUnpurchaseApply简单分页查询 -->
<select id="getTInsuranceUnpurchaseApplyExportList" resultMap="tInsuranceUnpurchaseApplyExportMap">
SELECT
......@@ -126,7 +154,7 @@
a.DEPT_NO,
a.CREATE_NAME,
a.CREATE_USER_DEPT_NAME,
a.CREATE_TIME,
a.CREATE_TIME_ZC as CREATE_TIME,
a.AUDIT_USER,
if(a.REASON_TYPE = '1','已购买社保','人员已离职') REASON_TYPE,
CASE WHEN a.STATUS=0 THEN "草稿"
......
......@@ -130,7 +130,31 @@
<!--tInsuranceUnpurchasePerson简单分页查询-->
<select id="getTInsuranceUnpurchasePersonPage" resultMap="tInsuranceUnpurchasePersonMap">
SELECT
<include refid="Base_Column_List"/>
a.ID,
a.PARNET_ID,
a.EMP_NAME,
a.EMP_IDCARD_NO,
a.POST,
a.APPLY_NO_DETAIL,
a.DEPT_ID,
a.DEPT_NO,
a.DEPT_NAME,
a.CREATE_USER_DEPT_ID,
a.CREATE_USER_DEPT_NAME,
a.REASON_TYPE,
a.REASON_INFO,
a.APPLY_NO,
if(a.REASON_TYPE = '2','',a.SOCIAL_STATUS) SOCIAL_STATUS,
a.SALARY_NUM,
a.CREATE_BY,
a.CREATE_NAME,
a.CREATE_TIME,
a.UPDATE_BY,
a.UPDATE_TIME,
a.HAS_CONTAIN_RISKS,
a.NEW_LINE,
a.DIVISION,
a.INSURANCE_FLAG
FROM t_insurance_unpurchase_person a
<where>
1=1 and STATUS = '3'
......@@ -162,7 +186,7 @@
EMP_NAME,
EMP_IDCARD_NO,
if(a.REASON_TYPE = '1','已购买社保','人员已离职') REASON_TYPE,
if(a.SOCIAL_STATUS='0','在保','不在保') SOCIAL_STATUS,
if(a.REASON_TYPE = '2','',if(a.SOCIAL_STATUS='0','在保','不在保')) SOCIAL_STATUS,
SALARY_NUM,
CREATE_NAME,
CREATE_TIME
......
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