Commit 71b92c4a authored by fangxinjiang's avatar fangxinjiang

见费出单逻辑-fxj

parent bb8c82fb
package com.yifu.cloud.plus.v1.yifu.insurances.vo;
import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.HeadFontStyle;
import com.fasterxml.jackson.annotation.JsonFormat;
......@@ -192,4 +193,11 @@ public class InsuranceExportListOneVO implements Serializable {
*/
@Schema(description = "客户名称")
private String unitName;
/**
* 默认结算信息id
*/
@ExcelIgnore
@Schema(description = "默认结算信息id")
private String defaultSettleId;
}
package com.yifu.cloud.plus.v1.yifu.insurances.vo;
import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.HeadFontStyle;
import com.baomidou.mybatisplus.annotation.FieldStrategy;
import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore;
import io.swagger.v3.oas.annotations.media.Schema;
......@@ -204,4 +207,11 @@ public class InsuranceExportListVO implements Serializable {
@ExcelProperty(value = "派单备注")
private String remarkDispatch;
/**
* 默认结算信息id
*/
@ExcelIgnore
@Schema(description = "默认结算信息id")
private String defaultSettleId;
}
......@@ -1378,9 +1378,17 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
//update状态由「待投保」置为「投保中」
detail.setBuyHandleStatus(CommonConstants.TWO_INT);
if (record.getBuyType() == CommonConstants.ONE_INT){
// if 投保类型 == 新增,then 更新保单生效日期为:T+1,无需考虑节假日
// “投保类型”为“新增”的 若保单开始日期等于导出办理日期+1日,则为导出办理日期+1日; 若小于导入办理日期+1日,则也按照导出办理日期+1日算 若大于导出办理日期+1日,则等于保单开始日期;
if (null != record.getPolicyStart() && record.getPolicyStart().isAfter(LocalDate.now().plusDays(CommonConstants.ONE_INT))){
detail.setPolicyEffect(record.getPolicyStart());
}else {
detail.setPolicyEffect(LocalDate.now().plusDays(CommonConstants.ONE_INT));
}
}else {
//批增和替换的生效日期就等于导出办理日期+1日
detail.setPolicyEffect(LocalDate.now().plusDays(CommonConstants.ONE_INT));
}
detail.setDefaultSettleId(record.getDefaultSettleId());
detail.setHandledBy(user.getId());
detail.setHandledTime(LocalDateTime.now());
detail.setUpdateBy(user.getId());
......@@ -1697,6 +1705,17 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
listVO.setErrorMessage(InsurancesConstants.REDUCE_ROLLBACK_REDUCE_IS_NOT_ALLOW);
errorList.add(listVO);
}else{
//判断是否已支出或支出中
EkpSettleStatusVo vo = ekpSettleService.getSettleStatusFromEkpInsuranceDetail(detail.getId());
if (vo != null && (vo.getPayStatus().equals("已结算")
|| vo.getPayStatus().equals("结算中"))) {
InsuranceListVO listVO = new InsuranceListVO();
BeanCopyUtils.copyProperties(detail,listVO);
listVO.setProjectName(detail.getDeptName());
listVO.setErrorMessage(InsurancesConstants.REDUCE_ROLLBACK_PAY_IS_NOT_ALLOW);
errorList.add(listVO);
continue;
}
//判断是否是替换类型的退回,如果是,需要将被替换者激活,替换者有效状态为空
if(detail.getBuyType() == CommonConstants.FOUR_INT){
//替换者有效状态为空
......@@ -1736,15 +1755,7 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
sourceIdCardList.add(detail.getEmpIdcardNo());
replaceIdList.add(detail.getId());
}
//判断是否已支出或支出中
EkpSettleStatusVo vo = ekpSettleService.getSettleStatusFromEkpInsuranceDetail(detail.getId());
if (vo != null && (vo.getPayStatus().equals("已结算")
|| vo.getPayStatus().equals("结算中"))) {
InsuranceListVO listVO = new InsuranceListVO();
BeanCopyUtils.copyProperties(detail,listVO);
listVO.setProjectName(detail.getDeptName());
listVO.setErrorMessage(InsurancesConstants.REDUCE_ROLLBACK_PAY_IS_NOT_ALLOW);
}
}
//批量更新商险和替换表
if (!updList.isEmpty()) {
......@@ -1814,10 +1825,8 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
detail.setDefaultSettleId(burden.getId());
pushResult = pushEstimate(detail, CommonConstants.THREE_INT);
//已投保 需要处理实缴和差额数据 (已支出或支出中禁止退保)
if (CommonConstants.THREE_INT == detail.getBuyHandleStatus()){
//直接删除实缴及实缴与预估的差额
ekpSettleService.deleteEkpInsuranceDetailAsso(detail.getId());
}
//直接删除实缴及实缴与预估的差额
ekpSettleService.deleteEkpInsuranceDetailAsso(detail.getId());
} else {
//预估已推送,实缴未推送
if(isEstimatePush == CommonConstants.ONE_INT && isActualPush == CommonConstants.ZERO_INT){
......
......@@ -740,6 +740,7 @@ public class DoJointInsuranceTask {
if (Common.isNotNull(list) && !list.isEmpty()) {
for (EkpInsurancesInfo info: list) {
initValueUpdate(info, deptInfoVo, param);
}
}
//更新实缴单据应收金额
......@@ -752,6 +753,10 @@ public class DoJointInsuranceTask {
info.setFd_3adfe6e30f2a3c("是".equals(param.getBpoFlag()) ? 0 : BigDecimalUtils.safeSubtract(false,param.getActualPremium(),param.getEstimatePremium()).doubleValue());
//应支
info.setFd_3adfe6e3911ffe(param.getActualPremium().doubleValue());
if ("0".equals(param.getIsJfcd())){
//见费出单 实缴的应收为0
info.setFd_3adfe6e30f2a3c(0.00);
}
insurancesInfoMapper.updateById(info);
}
}
......
......@@ -241,7 +241,8 @@
a.PAYMENT_STATUS as paymentStatus,
a.PAYMENT_TIME as paymentTime,
a.IS_JFCD as isJfcd,
a.PURCHASE_CYCLE as purchaseCycle,
<!-- a.PURCHASE_CYCLE as purchaseCycle, -->
IF(a.BILLING_TYPE='0',CONCAT(a.PURCHASE_CYCLE,'天'),CONCAT(a.PURCHASE_CYCLE,'个月')) as purchaseCycle,
a.PRE_HANDLE_TIME as preHandleTime,
a.ESTIMATE_PREMIUM as estimatePremium,
a.BILLING_TYPE as billingType
......@@ -468,7 +469,7 @@
a.CREATE_NAME as createName,
a.POLICY_NO as policyNo,
a.REMARK as remark,
a.IS_ADRESS as isAdress
a.IS_ADRESS as isAdress,a.DEFAULT_SETTLE_ID as defaultSettleId
from t_insurance_detail a
where a.DELETE_FLAG = 0 and a.id in
<foreach collection="idList" index="index" item="item" open="(" separator="," close=")">
......@@ -503,7 +504,7 @@
a.CREATE_NAME as createName,
a.POLICY_NO as policyNo,
a.REMARK as remark,
a.IS_ADRESS as isAdress
a.IS_ADRESS as isAdress,a.DEFAULT_SETTLE_ID as defaultSettleId
from t_insurance_detail a
where a.DELETE_FLAG = 0 and a.BUY_HANDLE_STATUS = #{param.buyHandleStatus}
<if test="param.empName != null and param.empName.trim() != ''">
......@@ -569,7 +570,7 @@
a.SETTLE_TYPE as settleType,
a.CREATE_NAME as createName,
a.POLICY_NO as policyNo,
a.REMARK as remark,a.UNIT_NAME as unitName
a.REMARK as remark,a.UNIT_NAME as unitName,a.DEFAULT_SETTLE_ID as defaultSettleId
from t_insurance_detail a
where a.DELETE_FLAG = 0 and a.id in
<foreach collection="idList" index="index" item="item" open="(" separator="," close=")">
......@@ -601,7 +602,7 @@
a.SETTLE_TYPE as settleType,
a.CREATE_NAME as createName,
a.POLICY_NO as policyNo,
a.REMARK as remark,a.UNIT_NAME as unitName
a.REMARK as remark,a.UNIT_NAME as unitName,a.DEFAULT_SETTLE_ID as defaultSettleId
from t_insurance_detail a
where a.DELETE_FLAG = 0 and a.BUY_HANDLE_STATUS = #{param.buyHandleStatus}
<if test="param.empName != null and param.empName.trim() != ''">
......
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