Commit c39075c6 authored by 李灿灿's avatar 李灿灿

Merge branch 'feature-licancan' into 'develop'

Feature licancan

See merge request fangxinjiang/yifu!50
parents 168a798a 6407cf03
...@@ -100,6 +100,10 @@ public class InsurancesConstants { ...@@ -100,6 +100,10 @@ public class InsurancesConstants {
* 当前记录是投保中,无法替换 * 当前记录是投保中,无法替换
*/ */
public static final String TWO_REPLACE_IS_NOT_ALLOW = "当前记录是投保中,无法替换"; public static final String TWO_REPLACE_IS_NOT_ALLOW = "当前记录是投保中,无法替换";
/**
* 当前记录是投保退回,无法替换
*/
public static final String FOUR_REPLACE_IS_NOT_ALLOW = "当前记录是投保退回,无法替换";
/** /**
* 当前记录已出险,无法替换 * 当前记录已出险,无法替换
*/ */
...@@ -121,9 +125,9 @@ public class InsurancesConstants { ...@@ -121,9 +125,9 @@ public class InsurancesConstants {
*/ */
public static final String REDUCE_REPLACE_IS_NOT_ALLOW = "当前记录在减员流程中,无法替换"; public static final String REDUCE_REPLACE_IS_NOT_ALLOW = "当前记录在减员流程中,无法替换";
/** /**
* 已减员,无法退回 * 投保状态不是投保中或已投保,无法退回
*/ */
public static final String REDUCE_ROLLBACK_IS_NOT_ALLOW = "已减员,无法退回"; public static final String REDUCE_ROLLBACK_IS_NOT_ALLOW = "投保状态不是投保中或已投保,无法退回";
/** /**
* 员工姓名不能为空 * 员工姓名不能为空
*/ */
...@@ -160,6 +164,10 @@ public class InsurancesConstants { ...@@ -160,6 +164,10 @@ public class InsurancesConstants {
* 替换员工未通过实名认证 * 替换员工未通过实名认证
*/ */
public static final String REPLACE_EMP_ID_CARD_NO_NOT_FIT = "替换员工未通过实名认证"; public static final String REPLACE_EMP_ID_CARD_NO_NOT_FIT = "替换员工未通过实名认证";
/**
* 替换信息和被替换信息一致,无法替换
*/
public static final String REPLACE_EMP_INFO_SAME = "替换信息和被替换信息一致,无法替换";
/** /**
* 替换员工身份证号格式有误 * 替换员工身份证号格式有误
*/ */
...@@ -312,10 +320,34 @@ public class InsurancesConstants { ...@@ -312,10 +320,34 @@ public class InsurancesConstants {
* 商险投保中,无法登记保单保费 * 商险投保中,无法登记保单保费
*/ */
public static final String BUY_HANDLE_TWO_NOT_REGISTERED = "商险投保中,无法登记保单保费"; public static final String BUY_HANDLE_TWO_NOT_REGISTERED = "商险投保中,无法登记保单保费";
/**
* 非投保中状态,无法标记投保成功
*/
public static final String INSURANCE_BUY_STATUS_NOT_TWO = "非投保中状态,无法标记投保成功";
/**
* 商险投保退回,无法登记保单保费
*/
public static final String BUY_HANDLE_FOUR_NOT_REGISTERED = "商险投保退回,无法登记保单保费";
/**
* 商险结算中,无法登记保单保费
*/
public static final String SETTLE_HANDLE_TWO_NOT_REGISTERED = "商险结算中,无法登记保单保费";
/**
* 商险已结算,无法登记保单保费
*/
public static final String SETTLE_HANDLE_THREE_NOT_REGISTERED = "商险已结算,无法登记保单保费";
/** /**
* 保单号不存在或已过期 * 保单号不存在或已过期
*/ */
public static final String POLICY_NO_EXIST = "保单号不存在或已过期"; public static final String POLICY_NO_EXIST = "保单号不存在或已过期";
/**
* 保单号不存
*/
public static final String POLICY_NO_NOT_EXIST = "保单号不存";
/**
* 保单号信息错误
*/
public static final String POLICY_NO_ERROR = "保单号信息错误";
/** /**
* 保险公司错误 * 保险公司错误
*/ */
......
...@@ -203,6 +203,12 @@ public class TInsuranceDetail extends BaseEntity { ...@@ -203,6 +203,12 @@ public class TInsuranceDetail extends BaseEntity {
@Schema(description = "预估保费") @Schema(description = "预估保费")
private BigDecimal estimatePremium; private BigDecimal estimatePremium;
/**
* 是否标记投保成功标识 0 未标记过 1标记过
*/
@Schema(description = "是否标记投保成功标识 0 未标记过 1标记过")
private Integer signFlag;
/** /**
* 投保办理状态 1待投保 2投保中 3已投保 4投保退回 5 已减员 * 投保办理状态 1待投保 2投保中 3已投保 4投保退回 5 已减员
*/ */
......
...@@ -33,7 +33,7 @@ public class TInsuranceSettle implements Serializable { ...@@ -33,7 +33,7 @@ public class TInsuranceSettle implements Serializable {
private String insDetailId; private String insDetailId;
/** /**
* 结算状态 * 结算状态 1、待结算,2、结算中,3、已结算
*/ */
@Schema(description = "结算状态 1、待结算,2、结算中,3、已结算") @Schema(description = "结算状态 1、待结算,2、结算中,3、已结算")
private String settleHandleStatus; private String settleHandleStatus;
......
...@@ -356,16 +356,19 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap ...@@ -356,16 +356,19 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
return R.failed(InsurancesConstants.EMP_ID_CARD_NO_NOT_FIT); return R.failed(InsurancesConstants.EMP_ID_CARD_NO_NOT_FIT);
} }
} }
// 保单开始日期 > 当前派单日期
if(!LocalDateUtil.isDate(param.getPolicyStart(),LocalDateUtil.NORM_DATE_PATTERN)){ if(!LocalDateUtil.isDate(param.getPolicyStart(),LocalDateUtil.NORM_DATE_PATTERN)){
return R.failed(InsurancesConstants.POLICY_START_PARSE_ERROR); return R.failed(InsurancesConstants.POLICY_START_PARSE_ERROR);
} }
if(!LocalDateUtil.isDate(param.getPolicyEnd(),LocalDateUtil.NORM_DATE_PATTERN)){ if(!LocalDateUtil.isDate(param.getPolicyEnd(),LocalDateUtil.NORM_DATE_PATTERN)){
return R.failed(InsurancesConstants.POLICY_END_PARSE_ERROR); return R.failed(InsurancesConstants.POLICY_END_PARSE_ERROR);
} }
//如果不是补单的,需要校验:保单开始日期 > 当前派单日期
if (byId.getSignFlag() == CommonConstants.ZERO_INT){
if(!LocalDateUtil.isFutureDate(param.getPolicyStart())){ if(!LocalDateUtil.isFutureDate(param.getPolicyStart())){
return R.failed(InsurancesConstants.POLICY_START_SHOULD_IS_FUTURE); return R.failed(InsurancesConstants.POLICY_START_SHOULD_IS_FUTURE);
} }
}
// 保险公司-险种-购买标准 是否存在 // 保险公司-险种-购买标准 是否存在
TInsuranceCompany insuranceCompany = tInsuranceCompanyService.getOne(Wrappers.<TInsuranceCompany>query().lambda() TInsuranceCompany insuranceCompany = tInsuranceCompanyService.getOne(Wrappers.<TInsuranceCompany>query().lambda()
.eq(TInsuranceCompany::getCompanyName, param.getInsuranceCompanyName()) .eq(TInsuranceCompany::getCompanyName, param.getInsuranceCompanyName())
...@@ -560,7 +563,8 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap ...@@ -560,7 +563,8 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
List<TInsuranceDetail> successList = new ArrayList<>(); List<TInsuranceDetail> successList = new ArrayList<>();
if (CollectionUtils.isNotEmpty(detailList)){ if (CollectionUtils.isNotEmpty(detailList)){
for (TInsuranceDetail detail : detailList) { for (TInsuranceDetail detail : detailList) {
if (detail.getBuyHandleStatus() == CommonConstants.FIVE_INT){ if (detail.getBuyHandleStatus() != CommonConstants.TWO_INT
&& detail.getBuyHandleStatus() != CommonConstants.THREE_INT){
InsuranceListVO listVO = new InsuranceListVO(); InsuranceListVO listVO = new InsuranceListVO();
BeanCopyUtils.copyProperties(detail,listVO); BeanCopyUtils.copyProperties(detail,listVO);
listVO.setErrorMessage(InsurancesConstants.REDUCE_ROLLBACK_IS_NOT_ALLOW); listVO.setErrorMessage(InsurancesConstants.REDUCE_ROLLBACK_IS_NOT_ALLOW);
...@@ -577,6 +581,8 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap ...@@ -577,6 +581,8 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
if (CollectionUtils.isNotEmpty(successList)){ if (CollectionUtils.isNotEmpty(successList)){
//更新状态 //更新状态
this.saveOrUpdateBatch(successList); this.saveOrUpdateBatch(successList);
//todo 判断是否推送过保费到ekp,如果推送过就新增一条负的,将结算表中的数据求和放到明细表中
} }
//根据项目编码获取项目名称 //根据项目编码获取项目名称
setProjectNameByDeptNo(errorList); setProjectNameByDeptNo(errorList);
...@@ -608,6 +614,13 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap ...@@ -608,6 +614,13 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
List<TInsuranceDetail> successList = new ArrayList<>(); List<TInsuranceDetail> successList = new ArrayList<>();
if (CollectionUtils.isNotEmpty(detailList)){ if (CollectionUtils.isNotEmpty(detailList)){
for (TInsuranceDetail detail : detailList) { for (TInsuranceDetail detail : detailList) {
//先判断投保状态是不是投保中,如果不是不给标记办理成功,防止重复推数据
if(detail.getBuyHandleStatus() != CommonConstants.TWO_INT){
InsuranceListVO listVO = new InsuranceListVO();
BeanCopyUtils.copyProperties(detail,listVO);
listVO.setErrorMessage(InsurancesConstants.INSURANCE_BUY_STATUS_NOT_TWO);
errorList.add(listVO);
}else {
//根据结算类型判断是否需要计算预估保费 //根据结算类型判断是否需要计算预估保费
//预估 //预估
if (detail.getSettleType() == CommonConstants.ZERO_INT){ if (detail.getSettleType() == CommonConstants.ZERO_INT){
...@@ -652,6 +665,7 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap ...@@ -652,6 +665,7 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
} }
//记录状态均置为「已投保」 //记录状态均置为「已投保」
detail.setBuyHandleStatus(CommonConstants.THREE_INT); detail.setBuyHandleStatus(CommonConstants.THREE_INT);
detail.setSignFlag(CommonConstants.ONE_INT);
//记录的有效状态,置为「有效」 //记录的有效状态,置为「有效」
detail.setIsEffect(CommonConstants.ZERO_INT); detail.setIsEffect(CommonConstants.ZERO_INT);
detail.setIsOverdue(CommonConstants.ZERO_INT); detail.setIsOverdue(CommonConstants.ZERO_INT);
...@@ -681,6 +695,7 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap ...@@ -681,6 +695,7 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
} }
//记录状态均置为「已投保」 //记录状态均置为「已投保」
detail.setBuyHandleStatus(CommonConstants.THREE_INT); detail.setBuyHandleStatus(CommonConstants.THREE_INT);
detail.setSignFlag(CommonConstants.ONE_INT);
//记录的有效状态,置为「有效」 //记录的有效状态,置为「有效」
detail.setIsEffect(CommonConstants.ZERO_INT); detail.setIsEffect(CommonConstants.ZERO_INT);
detail.setIsOverdue(CommonConstants.ZERO_INT); detail.setIsOverdue(CommonConstants.ZERO_INT);
...@@ -708,6 +723,7 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap ...@@ -708,6 +723,7 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
} }
//记录状态均置为「已投保」 //记录状态均置为「已投保」
detail.setBuyHandleStatus(CommonConstants.THREE_INT); detail.setBuyHandleStatus(CommonConstants.THREE_INT);
detail.setSignFlag(CommonConstants.ONE_INT);
//记录的有效状态,置为「有效」 //记录的有效状态,置为「有效」
detail.setIsEffect(CommonConstants.ZERO_INT); detail.setIsEffect(CommonConstants.ZERO_INT);
detail.setIsOverdue(CommonConstants.ZERO_INT); detail.setIsOverdue(CommonConstants.ZERO_INT);
...@@ -715,11 +731,13 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap ...@@ -715,11 +731,13 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
} }
} }
} }
}
if (CollectionUtils.isNotEmpty(successList)){ if (CollectionUtils.isNotEmpty(successList)){
//更新 //更新
this.saveOrUpdateBatch(successList); this.saveOrUpdateBatch(successList);
//todo 根据结算类型推送预估保费到ekp //todo 根据结算类型是合并结算,推送预估保费到ekp(上面已经算好,这里直接判断有预估保费的就推送)
//结算状态是待结算,结算中、已结算是ekp反馈的,如果结算失败,反馈到我们这边的状态是待结算
} }
//根据项目编码获取项目名称 //根据项目编码获取项目名称
setProjectNameByDeptNo(errorList); setProjectNameByDeptNo(errorList);
...@@ -770,7 +788,8 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap ...@@ -770,7 +788,8 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
detail.setUpdateTime(LocalDateTime.now()); detail.setUpdateTime(LocalDateTime.now());
this.updateById(detail); this.updateById(detail);
}else { }else {
// todo 根据结算类型判断推送ekp // todo 判断是否推送过ekp,没推送过调新增接口,推送过调更新接口
} }
detailList.add(detail); detailList.add(detail);
...@@ -1478,6 +1497,12 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap ...@@ -1478,6 +1497,12 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
} }
} }
if (param.getEmpName().equals(param.getReplaceEmpName()) && param.getEmpIdcardNo().equals(param.getReplaceEmpIdcardNo())){
param.setErrorMessage(InsurancesConstants.REPLACE_EMP_INFO_SAME);
listResult.add(param);
continue;
}
//根据项目编码查询项目是否存在 //根据项目编码查询项目是否存在
R<SetInfoVo> setInfoByCodes = archivesDaprUtil.getSetInfoByCodes(Arrays.asList(param.getDeptNo())); R<SetInfoVo> setInfoByCodes = archivesDaprUtil.getSetInfoByCodes(Arrays.asList(param.getDeptNo()));
if (null != setInfoByCodes && setInfoByCodes.getCode() == CommonConstants.SUCCESS) { if (null != setInfoByCodes && setInfoByCodes.getCode() == CommonConstants.SUCCESS) {
...@@ -1535,6 +1560,12 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap ...@@ -1535,6 +1560,12 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
listResult.add(param); listResult.add(param);
continue; continue;
} }
// 投保状态 投保退回 不能替换
if (detail.getBuyHandleStatus() == CommonConstants.FOUR_INT){
param.setErrorMessage(InsurancesConstants.FOUR_REPLACE_IS_NOT_ALLOW);
listResult.add(param);
continue;
}
// 投保状态 已投保 已出险 不能替换 // 投保状态 已投保 已出险 不能替换
if (detail.getBuyHandleStatus() == CommonConstants.THREE_INT if (detail.getBuyHandleStatus() == CommonConstants.THREE_INT
&& detail.getIsUse() == CommonConstants.ONE_INT){ && detail.getIsUse() == CommonConstants.ONE_INT){
...@@ -1723,6 +1754,46 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap ...@@ -1723,6 +1754,46 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
listResult.add(param); listResult.add(param);
continue; continue;
} }
//批增类型,保单号不存在
if (detail.getBuyType() == CommonConstants.THREE_INT){
TInsuranceDetail batchPolicyNo = this.baseMapper.selectOne(Wrappers.<TInsuranceDetail>query().lambda()
.eq(TInsuranceDetail::getPolicyNo, param.getPolicyNo())
.eq(TInsuranceDetail::getDeleteFlag, CommonConstants.ZERO_INT)
.last(CommonConstants.LAST_ONE_SQL)
);
if (!Optional.ofNullable(batchPolicyNo).isPresent()){
param.setErrorMessage(InsurancesConstants.POLICY_NO_NOT_EXIST);
listResult.add(param);
continue;
}else {
//批增类型,保单号已存在但是和派单时填写的不一致
if (!detail.getPolicyNo().equals(param.getPolicyNo())){
param.setErrorMessage(InsurancesConstants.POLICY_NO_ERROR);
listResult.add(param);
continue;
}
}
}
//新增类型,保单号已存在但是和填写的保险公司不一致
if (detail.getBuyType() == CommonConstants.ONE_INT){
TInsuranceDetail addPolicyNo = this.baseMapper.selectOne(Wrappers.<TInsuranceDetail>query().lambda()
.eq(TInsuranceDetail::getPolicyNo, param.getPolicyNo())
.eq(TInsuranceDetail::getDeleteFlag, CommonConstants.ZERO_INT)
.last(CommonConstants.LAST_ONE_SQL)
);
if (Optional.ofNullable(addPolicyNo).isPresent()){
if (!addPolicyNo.getInsuranceCompanyName().equals(param.getInsuranceCompanyName())){
param.setErrorMessage(InsurancesConstants.POLICY_NO_COMPANY_NAME_NOT_SAME);
listResult.add(param);
continue;
}
if (!addPolicyNo.getInsuranceTypeName().equals(param.getInsuranceTypeName())){
param.setErrorMessage(InsurancesConstants.POLICY_NO_TYPE_NAME_NOT_SAME);
listResult.add(param);
continue;
}
}
}
} }
if (detail.getBuyType() == CommonConstants.FOUR_INT){ if (detail.getBuyType() == CommonConstants.FOUR_INT){
param.setErrorMessage(InsurancesConstants.BUY_TYPE_FOUR_NOT_REGISTERED); param.setErrorMessage(InsurancesConstants.BUY_TYPE_FOUR_NOT_REGISTERED);
...@@ -1739,6 +1810,26 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap ...@@ -1739,6 +1810,26 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
listResult.add(param); listResult.add(param);
continue; continue;
} }
if (detail.getBuyHandleStatus() == CommonConstants.FOUR_INT){
param.setErrorMessage(InsurancesConstants.BUY_HANDLE_FOUR_NOT_REGISTERED);
listResult.add(param);
continue;
}
if (StringUtils.isNotBlank(detail.getDefaultSettleId())){
TInsuranceSettle settle = tInsuranceSettleService.getById(detail.getDefaultSettleId());
if (Optional.ofNullable(settle).isPresent()){
if (CommonConstants.TWO_STRING.equals(settle.getSettleHandleStatus())){
param.setErrorMessage(InsurancesConstants.SETTLE_HANDLE_TWO_NOT_REGISTERED);
listResult.add(param);
continue;
}
if (CommonConstants.THREE_STRING.equals(settle.getSettleHandleStatus())){
param.setErrorMessage(InsurancesConstants.SETTLE_HANDLE_THREE_NOT_REGISTERED);
listResult.add(param);
continue;
}
}
}
} }
listSuccess.add(param); listSuccess.add(param);
} }
......
...@@ -35,6 +35,7 @@ ...@@ -35,6 +35,7 @@
<result property="settleType" column="SETTLE_TYPE" jdbcType="TINYINT"/> <result property="settleType" column="SETTLE_TYPE" jdbcType="TINYINT"/>
<result property="actualPremium" column="ACTUAL_PREMIUM" jdbcType="DECIMAL"/> <result property="actualPremium" column="ACTUAL_PREMIUM" jdbcType="DECIMAL"/>
<result property="estimatePremium" column="ESTIMATE_PREMIUM" jdbcType="DECIMAL"/> <result property="estimatePremium" column="ESTIMATE_PREMIUM" jdbcType="DECIMAL"/>
<result property="signFlag" column="SIGN_FLAG" jdbcType="TINYINT"/>
<result property="buyHandleStatus" column="BUY_HANDLE_STATUS" jdbcType="TINYINT"/> <result property="buyHandleStatus" column="BUY_HANDLE_STATUS" jdbcType="TINYINT"/>
<result property="defaultSettleId" column="DEFAULT_SETTLE_ID" jdbcType="VARCHAR"/> <result property="defaultSettleId" column="DEFAULT_SETTLE_ID" jdbcType="VARCHAR"/>
<result property="reduceHandleStatus" column="REDUCE_HANDLE_STATUS" jdbcType="TINYINT"/> <result property="reduceHandleStatus" column="REDUCE_HANDLE_STATUS" jdbcType="TINYINT"/>
...@@ -58,7 +59,7 @@ ...@@ -58,7 +59,7 @@
BATCH_DATE,SETTLE_MONTH,INVOICE_NO, BATCH_DATE,SETTLE_MONTH,INVOICE_NO,
BUY_TYPE,INSURANCE_PROVINCE,INSURANCE_PROVINCE_NAME,INSURANCE_CITY,INSURANCE_CITY_NAME, BUY_TYPE,INSURANCE_PROVINCE,INSURANCE_PROVINCE_NAME,INSURANCE_CITY,INSURANCE_CITY_NAME,
INSURANCE_HANDLE_PROVINCE,INSURANCE_HANDLE_PROVINCE_NAME,INSURANCE_HANDLE_CITY,INSURANCE_HANDLE_CITY_NAME,SETTLE_TYPE, INSURANCE_HANDLE_PROVINCE,INSURANCE_HANDLE_PROVINCE_NAME,INSURANCE_HANDLE_CITY,INSURANCE_HANDLE_CITY_NAME,SETTLE_TYPE,
ACTUAL_PREMIUM,ESTIMATE_PREMIUM, ACTUAL_PREMIUM,ESTIMATE_PREMIUM,SIGN_FLAG,
BUY_HANDLE_STATUS,DEFAULT_SETTLE_ID,REDUCE_HANDLE_STATUS, BUY_HANDLE_STATUS,DEFAULT_SETTLE_ID,REDUCE_HANDLE_STATUS,
IS_USE,IS_EFFECT,IS_OVERDUE,REMARK, IS_USE,IS_EFFECT,IS_OVERDUE,REMARK,
CREATE_BY,CREATE_NAME,CREATE_TIME, CREATE_BY,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