Commit 80f90da4 authored by fangxinjiang's avatar fangxinjiang

入职确认修改查询身份证+项目在途或在用商险数据优化-fxj

parent 01a7664c
......@@ -31,6 +31,8 @@ import com.yifu.cloud.plus.v1.yifu.common.dapr.util.*;
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.TInsuranceDetail;
import com.yifu.cloud.plus.v1.yifu.insurances.entity.TInsurancePreDetail;
import com.yifu.cloud.plus.v1.yifu.insurances.vo.OnProcessInsurancesVo;
import com.yifu.cloud.plus.v1.yifu.insurances.vo.*;
import lombok.RequiredArgsConstructor;
import lombok.extern.log4j.Log4j2;
......@@ -715,8 +717,23 @@ public class EmployeeRegistrationPreServiceImpl extends ServiceImpl<EmployeeRegi
if (sdr != null && sdr.getData() != null && sdr.getData().getPreList() != null && !sdr.getData().getPreList().isEmpty()) {
oldList = sdr.getData().getPreList();
}
StringBuilder errorTemp = new StringBuilder();
// 服务事项取消勾选商险时要查询 身份证+项目的在途或在保商险数据并给出提示:"存在办理中/已办理的数据,服务事项必须勾选"
// 触发条件:原数据含商险,新数据不含商险
if (Common.isNotNull(comparePre.getServerItem()) && comparePre.getServerItem().contains("商险")
&& (Common.isEmpty(employeeRegistrationPre.getServerItem()) || !employeeRegistrationPre.getServerItem().contains("商险"))) {
// 查询该身份证+项目是否存在在途或在保的商险数据
BaseSearchVO paramVo = new BaseSearchVO();
paramVo.setEmpIdCard(employeeRegistrationPre.getEmpIdcard());
paramVo.setDeptNo(employeeRegistrationPre.getDeptNo());
R<OnProcessInsurancesVo> insuranceListR = insuranceDaprUtil.getOnProcessInsurancesAsso(paramVo);
if (insuranceListR != null && Common.isNotNull(insuranceListR.getData())
&& Boolean.TRUE.equals(insuranceListR.getData().getHasOnProcess())) {
// 存在在途或在保的商险数据,不允许取消勾选
errorTemp.append("存在办理中/已办理的数据,服务事项必须勾选;");
}
}
// 1:存在商险,判断合规性+日期+五个不同等:
if (Common.isNotNull(employeeRegistrationPre.getServerItem()) && employeeRegistrationPre.getServerItem().contains("商险")) {
//商险是否购买为是时增加校验
......
......@@ -9,10 +9,10 @@ import com.yifu.cloud.plus.v1.yifu.common.core.util.R;
import com.yifu.cloud.plus.v1.yifu.common.core.vo.BaseSearchListVO;
import com.yifu.cloud.plus.v1.yifu.common.core.vo.BaseSearchVO;
import com.yifu.cloud.plus.v1.yifu.common.dapr.config.DaprInsurancesProperties;
import com.yifu.cloud.plus.v1.yifu.insurances.vo.OnProcessInsurancesVo;
import com.yifu.cloud.plus.v1.yifu.insurances.vo.TEmployeeInsurancePreVo;
import com.yifu.cloud.plus.v1.yifu.insurances.vo.TEmployeeInsuranceSelectVo;
import com.yifu.cloud.plus.v1.yifu.social.vo.ChangeDeptVo;
import com.yifu.cloud.plus.v1.yifu.social.vo.TDispatchReduceVo;
import lombok.extern.log4j.Log4j2;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
......@@ -114,6 +114,22 @@ public class InsuranceDaprUtil {
}
return res;
}
/**
* @param paramVo 查询参数,主要是身份证与项目编码
* @Description: 查询身份证+项目的在途或在保商险数据
* @Author: system
* @Date: 2026/4/27
* @return: com.yifu.cloud.plus.v1.yifu.common.core.util.R<com.yifu.cloud.plus.v1.yifu.insurances.vo.OnProcessInsurancesVo>
**/
public R<OnProcessInsurancesVo> getOnProcessInsurancesAsso(BaseSearchVO paramVo) {
R<OnProcessInsurancesVo> res = HttpDaprUtil.invokeMethodPost(daprInsurancesProperties.getAppUrl(),daprInsurancesProperties.getAppId()
,"/insuranceDetail/inner/getOnProcessInsurancesAsso", paramVo, OnProcessInsurancesVo.class, SecurityConstants.FROM_IN);
if (Common.isEmpty(res)){
return R.failed("查询在途或在保商险数据失败!");
}
return res;
}
/**
* @Author fxj
* @Description 通过如入职ID删除商险待办数据
......
package com.yifu.cloud.plus.v1.yifu.insurances.vo;
import com.yifu.cloud.plus.v1.yifu.insurances.entity.TInsurancePreDetail;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
/**
* 在途或在保商险数据返回对象
*
* @author system
* @date 2026-04-27
*/
@Data
@Schema(description = "在途或在保商险数据返回对象")
public class OnProcessInsurancesVo implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 在途或在保商险列表
*/
@Schema(description = "在途或在保商险列表")
private List<TInsurancePreDetail> insuranceList;
/**
* 是否存在在途或在保商险
*/
@Schema(description = "是否存在在途或在保商险")
private Boolean hasOnProcess;
/**
* 在途或在保商险数量
*/
@Schema(description = "在途或在保商险数量")
private Integer count;
}
......@@ -1015,6 +1015,37 @@ public class TInsuranceDetailController {
return tInsuranceDetailService.getInsurancesStatus(paramVo);
}
/**
* @param paramVo
* @Description: 查询身份证+项目的在途或在保商险数据(内部接口)
* @Author: system
* @Date: 2026/4/27
* @return: com.yifu.cloud.plus.v1.yifu.insurances.vo.OnProcessInsurancesVo
**/
@Operation(summary = "查询在途或在保商险数据", description = "查询在途或在保商险数据")
@Inner
@PostMapping("/inner/getOnProcessInsurancesAsso")
public R<OnProcessInsurancesVo> getOnProcessInsurancesAsso(@RequestBody BaseSearchVO paramVo) {
if (Common.isEmpty(paramVo) || Common.isEmpty(paramVo.getEmpIdCard())) {
return R.failed("身份证号不能为空");
}
// flag=2 表示只根据身份证和项目查询,不限制registerId
String flag = CommonConstants.TWO_STRING;
List<TInsurancePreDetail> list = tInsuranceDetailService.getOnProcessInsurancesAsso(
paramVo.getEmpIdCard(),
flag,
null,
paramVo.getDeptNo()
);
OnProcessInsurancesVo resultVo = new OnProcessInsurancesVo();
resultVo.setInsuranceList(list);
resultVo.setHasOnProcess(list != null && !list.isEmpty());
resultVo.setCount(list != null ? list.size() : 0);
return R.ok(resultVo);
}
/**
* @param paramVo
* @Description: 查询人员的已减完成的商险(返回值,则表示有未减完成的商险
......
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