Commit fa7fc4a8 authored by huyuchen's avatar huyuchen

huych-商险自动化逻辑调整

parent 48331ebb
......@@ -980,6 +980,8 @@ public class EmployeeRegistrationServiceImpl extends ServiceImpl<EmployeeRegistr
if (preVo.getServerItem().contains("商险") && !preVo.getEmployeeInsurancePreVos().isEmpty()) {
//生成商险待购买的数据
TEmployeeInsurancePreVo insurancePreVo = preVo.getEmployeeInsurancePreVos().get(0);
//批量的商险是否已购买默认为否
preVo.setInsuranceIsBuy(CommonConstants.ONE_STRING);
initInsruancePreInfo(registration, insurancePreVo, user, domainR.getData());
insuranceDaprUtil.saveInsurancePreInfo(preVo);
}
......
......@@ -2726,6 +2726,83 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
listResult.add(param);
continue;
}
//根据项目编码查询项目是否存在
try {
R<SetInfoVo> setInfoByCodes = archivesDaprUtil.getSetInfoByCodes(Arrays.asList(param.getDeptNo()));
if (null != setInfoByCodes && setInfoByCodes.getCode() == CommonConstants.SUCCESS) {
Map<String, ProjectSetInfoVo> data = setInfoByCodes.getData().getProjectSetInfoVoMap();
if (MapUtils.isEmpty(data)) {
param.setErrorMessage(InsurancesConstants.DEPT_NO_IS_NOT_EXIST);
listResult.add(param);
continue;
} else {
ProjectSetInfoVo projectSetInfoVo = data.get(param.getDeptNo());
if (null == projectSetInfoVo) {
param.setErrorMessage(InsurancesConstants.DEPT_NO_IS_NOT_EXIST);
listResult.add(param);
continue;
} else {
// MVP1.7.11:校验户是否在服务项里
// 获取项目的服务项
if (Common.isEmpty(projectSetInfoVo.getServerItem())) {
param.setErrorMessage("项目未维护服务项目,请联系管理员");
listResult.add(param);
continue;
}
String[] serverItemArr = projectSetInfoVo.getServerItem().split("、");
// 服务项校验
if (!ArrayUtils.contains(serverItemArr, "商险")) {
param.setErrorMessage("该项目未勾选 商险 服务项,请至EKP系统-项目查询与变更处勾选后,再次尝试");
listResult.add(param);
continue;
}
//对应的项目编码已停止合作
if (CommonConstants.ONE_STRING.equals(projectSetInfoVo.getStopFlag()) ||
CommonConstants.TWO_STRING.equals(projectSetInfoVo.getStopFlag())) {
param.setErrorMessage(InsurancesConstants.EMP_DISPATCH_SETTLEDOMAIN_STOP);
listResult.add(param);
continue;
}
//结算类型,根据项目编码获取,并冗余到明细记录中
String settleType = projectSetInfoVo.getInsuranceSettleType();
if (StringUtils.isEmpty(settleType)) {
param.setErrorMessage(InsurancesConstants.PROJECT_NOT_FIND_SETTLE_TYPE);
listResult.add(param);
continue;
} else {
param.setBpoFlag(projectSetInfoVo.getBpoFlag());
param.setSettleType(Integer.parseInt(settleType));
}
param.setBpoFlag(projectSetInfoVo.getBpoFlag());
param.setDeptId(projectSetInfoVo.getId());
param.setDeptName(projectSetInfoVo.getDepartName());
param.setUnitId(projectSetInfoVo.getCustomerId());
param.setUnitName(projectSetInfoVo.getCustomerName());
param.setUnitNo(projectSetInfoVo.getCustomerCode());
}
}
}
} catch (Exception e) {
log.error(InsurancesConstants.GET_DEPT_DETAIL_ERROR + e);
param.setErrorMessage(InsurancesConstants.GET_DEPT_DETAIL_ERROR);
listResult.add(param);
continue;
}
//校验当前项目是否在权限范围内
//1.9.11超管无需校验项目权限
if (Common.isNotNull(user) && !CommonConstants.ZERO_STRING.equals(user.getSystemFlag())) {
if (CollectionUtils.isEmpty(deptNoList)) {
param.setErrorMessage(InsurancesConstants.DEPT_NO_NOT_IN_USER_DEPT_LIST);
listResult.add(param);
continue;
}
if (!deptNoList.stream().anyMatch(u -> u.equals(param.getDeptNo()))) {
param.setErrorMessage(InsurancesConstants.DEPT_NO_NOT_IN_USER_DEPT_LIST);
listResult.add(param);
continue;
}
}
if (StringUtils.isBlank(param.getInsuranceCompanyName())) {
param.setErrorMessage(InsurancesConstants.INSURANCE_COMPANY_NAME_NOT_EMPTY);
listResult.add(param);
......@@ -2847,83 +2924,6 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
}
}
//根据项目编码查询项目是否存在
try {
R<SetInfoVo> setInfoByCodes = archivesDaprUtil.getSetInfoByCodes(Arrays.asList(param.getDeptNo()));
if (null != setInfoByCodes && setInfoByCodes.getCode() == CommonConstants.SUCCESS) {
Map<String, ProjectSetInfoVo> data = setInfoByCodes.getData().getProjectSetInfoVoMap();
if (MapUtils.isEmpty(data)) {
param.setErrorMessage(InsurancesConstants.DEPT_NO_IS_NOT_EXIST);
listResult.add(param);
continue;
} else {
ProjectSetInfoVo projectSetInfoVo = data.get(param.getDeptNo());
if (null == projectSetInfoVo) {
param.setErrorMessage(InsurancesConstants.DEPT_NO_IS_NOT_EXIST);
listResult.add(param);
continue;
} else {
// MVP1.7.11:校验户是否在服务项里
// 获取项目的服务项
if (Common.isEmpty(projectSetInfoVo.getServerItem())) {
param.setErrorMessage("项目未维护服务项目,请联系管理员");
listResult.add(param);
continue;
}
String[] serverItemArr = projectSetInfoVo.getServerItem().split("、");
// 服务项校验
if (!ArrayUtils.contains(serverItemArr, "商险")) {
param.setErrorMessage("该项目未勾选 商险 服务项,请至EKP系统-项目查询与变更处勾选后,再次尝试");
listResult.add(param);
continue;
}
//对应的项目编码已停止合作
if (CommonConstants.ONE_STRING.equals(projectSetInfoVo.getStopFlag()) ||
CommonConstants.TWO_STRING.equals(projectSetInfoVo.getStopFlag())) {
param.setErrorMessage(InsurancesConstants.EMP_DISPATCH_SETTLEDOMAIN_STOP);
listResult.add(param);
continue;
}
//结算类型,根据项目编码获取,并冗余到明细记录中
String settleType = projectSetInfoVo.getInsuranceSettleType();
if (StringUtils.isEmpty(settleType)) {
param.setErrorMessage(InsurancesConstants.PROJECT_NOT_FIND_SETTLE_TYPE);
listResult.add(param);
continue;
} else {
param.setBpoFlag(projectSetInfoVo.getBpoFlag());
param.setSettleType(Integer.parseInt(settleType));
}
param.setBpoFlag(projectSetInfoVo.getBpoFlag());
param.setDeptId(projectSetInfoVo.getId());
param.setDeptName(projectSetInfoVo.getDepartName());
param.setUnitId(projectSetInfoVo.getCustomerId());
param.setUnitName(projectSetInfoVo.getCustomerName());
param.setUnitNo(projectSetInfoVo.getCustomerCode());
}
}
}
} catch (Exception e) {
log.error(InsurancesConstants.GET_DEPT_DETAIL_ERROR + e);
param.setErrorMessage(InsurancesConstants.GET_DEPT_DETAIL_ERROR);
listResult.add(param);
continue;
}
//校验当前项目是否在权限范围内
//1.9.11超管无需校验项目权限
if (Common.isNotNull(user) && !CommonConstants.ZERO_STRING.equals(user.getSystemFlag())) {
if (CollectionUtils.isEmpty(deptNoList)) {
param.setErrorMessage(InsurancesConstants.DEPT_NO_NOT_IN_USER_DEPT_LIST);
listResult.add(param);
continue;
}
if (!deptNoList.stream().anyMatch(u -> u.equals(param.getDeptNo()))) {
param.setErrorMessage(InsurancesConstants.DEPT_NO_NOT_IN_USER_DEPT_LIST);
listResult.add(param);
continue;
}
}
//省市区域校验是否正确并设置对应id
String redisProvinceName = getRedisAreaValue(param.getInsuranceProvinceName());
if (Common.isEmpty(redisProvinceName)) {
......@@ -3117,6 +3117,81 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
listResult.add(param);
continue;
}
//根据项目编码查询项目是否存在
try{
R<SetInfoVo> setInfoByCodes = archivesDaprUtil.getSetInfoByCodes(Arrays.asList(param.getDeptNo()));
if (null != setInfoByCodes && setInfoByCodes.getCode() == CommonConstants.SUCCESS) {
Map<String, ProjectSetInfoVo> data = setInfoByCodes.getData().getProjectSetInfoVoMap();
if (MapUtils.isEmpty(data)){
param.setErrorMessage(InsurancesConstants.DEPT_NO_IS_NOT_EXIST);
listResult.add(param);
continue;
}else {
ProjectSetInfoVo projectSetInfoVo = data.get(param.getDeptNo());
if (null == projectSetInfoVo){
param.setErrorMessage(InsurancesConstants.DEPT_NO_IS_NOT_EXIST);
listResult.add(param);
continue;
}else {
// MVP1.7.11:校验户是否在服务项里
// 获取项目的服务项
if (Common.isEmpty(projectSetInfoVo.getServerItem())){
param.setErrorMessage("项目未维护服务项目,请联系管理员");
listResult.add(param);
continue;
}
String[] serverItemArr = projectSetInfoVo.getServerItem().split("、");
// 服务项校验
if (!ArrayUtils.contains(serverItemArr, "商险")) {
param.setErrorMessage("该项目未勾选 商险 服务项,请至EKP系统-项目查询与变更处勾选后,再次尝试");
listResult.add(param);
continue;
}
//对应的项目编码已停止合作
if (CommonConstants.ONE_STRING.equals(projectSetInfoVo.getStopFlag()) ||
CommonConstants.TWO_STRING.equals(projectSetInfoVo.getStopFlag())){
param.setErrorMessage(InsurancesConstants.EMP_DISPATCH_SETTLEDOMAIN_STOP);
listResult.add(param);
continue;
}
//结算类型,根据项目编码获取,并冗余到明细记录中
String settleType = projectSetInfoVo.getInsuranceSettleType();
if (StringUtils.isEmpty(settleType)){
param.setErrorMessage(InsurancesConstants.PROJECT_NOT_FIND_SETTLE_TYPE);
listResult.add(param);
continue;
}else {
param.setSettleType(Integer.parseInt(settleType));
}
param.setBpoFlag(projectSetInfoVo.getBpoFlag());
param.setDeptId(projectSetInfoVo.getId());
param.setDeptName(projectSetInfoVo.getDepartName());
param.setUnitId(projectSetInfoVo.getCustomerId());
param.setUnitName(projectSetInfoVo.getCustomerName());
param.setUnitNo(projectSetInfoVo.getCustomerCode());
}
}
}
}catch (Exception e){
log.error("查询项目信息出错:"+e);
param.setErrorMessage(InsurancesConstants.GET_DEPT_DETAIL_ERROR);
listResult.add(param);
continue;
}
//校验当前项目是否在权限范围内
//1.9.11超管无需校验项目权限
if (Common.isNotNull(user) && !CommonConstants.ZERO_STRING.equals(user.getSystemFlag())) {
if (CollectionUtils.isEmpty(deptNoList)) {
param.setErrorMessage(InsurancesConstants.DEPT_NO_NOT_IN_USER_DEPT_LIST);
listResult.add(param);
continue;
}
if (!deptNoList.stream().anyMatch(u -> u.equals(param.getDeptNo()))) {
param.setErrorMessage(InsurancesConstants.DEPT_NO_NOT_IN_USER_DEPT_LIST);
listResult.add(param);
continue;
}
}
if (StringUtils.isBlank(param.getEmpName())){
param.setErrorMessage(InsurancesConstants.EMP_NAME_NOT_EMPTY);
listResult.add(param);
......@@ -3215,82 +3290,6 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
continue;
}
}
//根据项目编码查询项目是否存在
try{
R<SetInfoVo> setInfoByCodes = archivesDaprUtil.getSetInfoByCodes(Arrays.asList(param.getDeptNo()));
if (null != setInfoByCodes && setInfoByCodes.getCode() == CommonConstants.SUCCESS) {
Map<String, ProjectSetInfoVo> data = setInfoByCodes.getData().getProjectSetInfoVoMap();
if (MapUtils.isEmpty(data)){
param.setErrorMessage(InsurancesConstants.DEPT_NO_IS_NOT_EXIST);
listResult.add(param);
continue;
}else {
ProjectSetInfoVo projectSetInfoVo = data.get(param.getDeptNo());
if (null == projectSetInfoVo){
param.setErrorMessage(InsurancesConstants.DEPT_NO_IS_NOT_EXIST);
listResult.add(param);
continue;
}else {
// MVP1.7.11:校验户是否在服务项里
// 获取项目的服务项
if (Common.isEmpty(projectSetInfoVo.getServerItem())){
param.setErrorMessage("项目未维护服务项目,请联系管理员");
listResult.add(param);
continue;
}
String[] serverItemArr = projectSetInfoVo.getServerItem().split("、");
// 服务项校验
if (!ArrayUtils.contains(serverItemArr, "商险")) {
param.setErrorMessage("该项目未勾选 商险 服务项,请至EKP系统-项目查询与变更处勾选后,再次尝试");
listResult.add(param);
continue;
}
//对应的项目编码已停止合作
if (CommonConstants.ONE_STRING.equals(projectSetInfoVo.getStopFlag()) ||
CommonConstants.TWO_STRING.equals(projectSetInfoVo.getStopFlag())){
param.setErrorMessage(InsurancesConstants.EMP_DISPATCH_SETTLEDOMAIN_STOP);
listResult.add(param);
continue;
}
//结算类型,根据项目编码获取,并冗余到明细记录中
String settleType = projectSetInfoVo.getInsuranceSettleType();
if (StringUtils.isEmpty(settleType)){
param.setErrorMessage(InsurancesConstants.PROJECT_NOT_FIND_SETTLE_TYPE);
listResult.add(param);
continue;
}else {
param.setSettleType(Integer.parseInt(settleType));
}
param.setBpoFlag(projectSetInfoVo.getBpoFlag());
param.setDeptId(projectSetInfoVo.getId());
param.setDeptName(projectSetInfoVo.getDepartName());
param.setUnitId(projectSetInfoVo.getCustomerId());
param.setUnitName(projectSetInfoVo.getCustomerName());
param.setUnitNo(projectSetInfoVo.getCustomerCode());
}
}
}
}catch (Exception e){
log.error("查询项目信息出错:"+e);
param.setErrorMessage(InsurancesConstants.GET_DEPT_DETAIL_ERROR);
listResult.add(param);
continue;
}
//校验当前项目是否在权限范围内
//1.9.11超管无需校验项目权限
if (Common.isNotNull(user) && !CommonConstants.ZERO_STRING.equals(user.getSystemFlag())) {
if (CollectionUtils.isEmpty(deptNoList)) {
param.setErrorMessage(InsurancesConstants.DEPT_NO_NOT_IN_USER_DEPT_LIST);
listResult.add(param);
continue;
}
if (!deptNoList.stream().anyMatch(u -> u.equals(param.getDeptNo()))) {
param.setErrorMessage(InsurancesConstants.DEPT_NO_NOT_IN_USER_DEPT_LIST);
listResult.add(param);
continue;
}
}
//省市区域校验是否正确并设置对应id
String redisProvinceName = getRedisAreaValue(param.getInsuranceProvinceName());
if (Common.isEmpty(redisProvinceName)){
......@@ -3536,6 +3535,68 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
listResult.add(param);
continue;
}
//根据项目编码查询项目是否存在
try{
R<SetInfoVo> setInfoByCodes = archivesDaprUtil.getSetInfoByCodes(Arrays.asList(param.getReplaceDeptNo()));
if (null != setInfoByCodes && setInfoByCodes.getCode() == CommonConstants.SUCCESS) {
Map<String, ProjectSetInfoVo> data = setInfoByCodes.getData().getProjectSetInfoVoMap();
if (MapUtils.isEmpty(data)){
param.setErrorMessage(InsurancesConstants.REPLACE_DEPT_NO_IS_NOT_EXIST);
listResult.add(param);
continue;
}else {
ProjectSetInfoVo projectSetInfoVo = data.get(param.getReplaceDeptNo());
if (null == projectSetInfoVo){
param.setErrorMessage(InsurancesConstants.REPLACE_DEPT_NO_IS_NOT_EXIST);
listResult.add(param);
continue;
}else {
// MVP1.7.11:校验户是否在服务项里
// 获取项目的服务项
if (Common.isEmpty(projectSetInfoVo.getServerItem())){
param.setErrorMessage("项目未维护服务项目,请联系管理员");
listResult.add(param);
continue;
}
String[] serverItemArr = projectSetInfoVo.getServerItem().split("、");
// 服务项校验
if (!ArrayUtils.contains(serverItemArr, "商险")) {
param.setErrorMessage("该项目未勾选 商险 服务项,请至EKP系统-项目查询与变更处勾选后,再次尝试");
listResult.add(param);
continue;
}
//对应的替换员工项目编码已停止合作
if (CommonConstants.ONE_STRING.equals(projectSetInfoVo.getStopFlag()) ||
CommonConstants.TWO_STRING.equals(projectSetInfoVo.getStopFlag())){
param.setErrorMessage(InsurancesConstants.EMP_DISPATCH_REPALCE_SETTLEDOMAIN_STOP);
listResult.add(param);
continue;
}
//结算类型,根据项目编码获取,并冗余到明细记录中
String settleType = projectSetInfoVo.getInsuranceSettleType();
if (StringUtils.isEmpty(settleType)){
param.setErrorMessage(InsurancesConstants.REPLACE_PROJECT_NOT_FIND_SETTLE_TYPE);
listResult.add(param);
continue;
}else {
param.setSettleType(Integer.parseInt(settleType));
param.setDeptId(projectSetInfoVo.getId());
param.setBpoFlag(projectSetInfoVo.getBpoFlag());
param.setDeptName(projectSetInfoVo.getDepartName());
param.setUnitId(projectSetInfoVo.getCustomerId());
param.setUnitName(projectSetInfoVo.getCustomerName());
param.setUnitNo(projectSetInfoVo.getCustomerCode());
}
}
}
}
}catch (Exception e){
log.error("查询项目信息出错:"+e);
param.setErrorMessage(InsurancesConstants.GET_DEPT_DETAIL_ERROR);
listResult.add(param);
continue;
}
if (StringUtils.isBlank(param.getInsuranceCompanyName())){
param.setErrorMessage(InsurancesConstants.INSURANCE_COMPANY_NAME_NOT_EMPTY);
listResult.add(param);
......@@ -3685,68 +3746,6 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
listResult.add(param);
continue;
}
//根据项目编码查询项目是否存在
try{
R<SetInfoVo> setInfoByCodes = archivesDaprUtil.getSetInfoByCodes(Arrays.asList(param.getReplaceDeptNo()));
if (null != setInfoByCodes && setInfoByCodes.getCode() == CommonConstants.SUCCESS) {
Map<String, ProjectSetInfoVo> data = setInfoByCodes.getData().getProjectSetInfoVoMap();
if (MapUtils.isEmpty(data)){
param.setErrorMessage(InsurancesConstants.REPLACE_DEPT_NO_IS_NOT_EXIST);
listResult.add(param);
continue;
}else {
ProjectSetInfoVo projectSetInfoVo = data.get(param.getReplaceDeptNo());
if (null == projectSetInfoVo){
param.setErrorMessage(InsurancesConstants.REPLACE_DEPT_NO_IS_NOT_EXIST);
listResult.add(param);
continue;
}else {
// MVP1.7.11:校验户是否在服务项里
// 获取项目的服务项
if (Common.isEmpty(projectSetInfoVo.getServerItem())){
param.setErrorMessage("项目未维护服务项目,请联系管理员");
listResult.add(param);
continue;
}
String[] serverItemArr = projectSetInfoVo.getServerItem().split("、");
// 服务项校验
if (!ArrayUtils.contains(serverItemArr, "商险")) {
param.setErrorMessage("该项目未勾选 商险 服务项,请至EKP系统-项目查询与变更处勾选后,再次尝试");
listResult.add(param);
continue;
}
//对应的替换员工项目编码已停止合作
if (CommonConstants.ONE_STRING.equals(projectSetInfoVo.getStopFlag()) ||
CommonConstants.TWO_STRING.equals(projectSetInfoVo.getStopFlag())){
param.setErrorMessage(InsurancesConstants.EMP_DISPATCH_REPALCE_SETTLEDOMAIN_STOP);
listResult.add(param);
continue;
}
//结算类型,根据项目编码获取,并冗余到明细记录中
String settleType = projectSetInfoVo.getInsuranceSettleType();
if (StringUtils.isEmpty(settleType)){
param.setErrorMessage(InsurancesConstants.REPLACE_PROJECT_NOT_FIND_SETTLE_TYPE);
listResult.add(param);
continue;
}else {
param.setSettleType(Integer.parseInt(settleType));
param.setDeptId(projectSetInfoVo.getId());
param.setBpoFlag(projectSetInfoVo.getBpoFlag());
param.setDeptName(projectSetInfoVo.getDepartName());
param.setUnitId(projectSetInfoVo.getCustomerId());
param.setUnitName(projectSetInfoVo.getCustomerName());
param.setUnitNo(projectSetInfoVo.getCustomerCode());
}
}
}
}
}catch (Exception e){
log.error("查询项目信息出错:"+e);
param.setErrorMessage(InsurancesConstants.GET_DEPT_DETAIL_ERROR);
listResult.add(param);
continue;
}
//原数据查重校验:姓名 + 身份证号 + 项目编码 + 保险公司 + 险种名称 + 保单开始时间 + 保单结束时间 + 购买标准 + 有效
TInsuranceDetail detail = this.baseMapper.selectOne(Wrappers.<TInsuranceDetail>query().lambda()
.eq(TInsuranceDetail::getEmpName, param.getEmpName())
......
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