Commit 71b92c4a authored by fangxinjiang's avatar fangxinjiang

见费出单逻辑-fxj

parent bb8c82fb
package com.yifu.cloud.plus.v1.yifu.insurances.vo; 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.ExcelProperty;
import com.alibaba.excel.annotation.write.style.HeadFontStyle; import com.alibaba.excel.annotation.write.style.HeadFontStyle;
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
...@@ -192,4 +193,11 @@ public class InsuranceExportListOneVO implements Serializable { ...@@ -192,4 +193,11 @@ public class InsuranceExportListOneVO implements Serializable {
*/ */
@Schema(description = "客户名称") @Schema(description = "客户名称")
private String unitName; private String unitName;
/**
* 默认结算信息id
*/
@ExcelIgnore
@Schema(description = "默认结算信息id")
private String defaultSettleId;
} }
package com.yifu.cloud.plus.v1.yifu.insurances.vo; 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.ExcelProperty;
import com.alibaba.excel.annotation.write.style.HeadFontStyle; 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.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonIgnore;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
...@@ -204,4 +207,11 @@ public class InsuranceExportListVO implements Serializable { ...@@ -204,4 +207,11 @@ public class InsuranceExportListVO implements Serializable {
@ExcelProperty(value = "派单备注") @ExcelProperty(value = "派单备注")
private String remarkDispatch; private String remarkDispatch;
/**
* 默认结算信息id
*/
@ExcelIgnore
@Schema(description = "默认结算信息id")
private String defaultSettleId;
} }
...@@ -1378,9 +1378,17 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap ...@@ -1378,9 +1378,17 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
//update状态由「待投保」置为「投保中」 //update状态由「待投保」置为「投保中」
detail.setBuyHandleStatus(CommonConstants.TWO_INT); detail.setBuyHandleStatus(CommonConstants.TWO_INT);
if (record.getBuyType() == CommonConstants.ONE_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.setPolicyEffect(LocalDate.now().plusDays(CommonConstants.ONE_INT));
} }
detail.setDefaultSettleId(record.getDefaultSettleId());
detail.setHandledBy(user.getId()); detail.setHandledBy(user.getId());
detail.setHandledTime(LocalDateTime.now()); detail.setHandledTime(LocalDateTime.now());
detail.setUpdateBy(user.getId()); detail.setUpdateBy(user.getId());
...@@ -1697,6 +1705,17 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap ...@@ -1697,6 +1705,17 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
listVO.setErrorMessage(InsurancesConstants.REDUCE_ROLLBACK_REDUCE_IS_NOT_ALLOW); listVO.setErrorMessage(InsurancesConstants.REDUCE_ROLLBACK_REDUCE_IS_NOT_ALLOW);
errorList.add(listVO); errorList.add(listVO);
}else{ }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){ if(detail.getBuyType() == CommonConstants.FOUR_INT){
//替换者有效状态为空 //替换者有效状态为空
...@@ -1736,15 +1755,7 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap ...@@ -1736,15 +1755,7 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
sourceIdCardList.add(detail.getEmpIdcardNo()); sourceIdCardList.add(detail.getEmpIdcardNo());
replaceIdList.add(detail.getId()); 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()) { if (!updList.isEmpty()) {
...@@ -1814,10 +1825,8 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap ...@@ -1814,10 +1825,8 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
detail.setDefaultSettleId(burden.getId()); detail.setDefaultSettleId(burden.getId());
pushResult = pushEstimate(detail, CommonConstants.THREE_INT); pushResult = pushEstimate(detail, CommonConstants.THREE_INT);
//已投保 需要处理实缴和差额数据 (已支出或支出中禁止退保) //已投保 需要处理实缴和差额数据 (已支出或支出中禁止退保)
if (CommonConstants.THREE_INT == detail.getBuyHandleStatus()){ //直接删除实缴及实缴与预估的差额
//直接删除实缴及实缴与预估的差额 ekpSettleService.deleteEkpInsuranceDetailAsso(detail.getId());
ekpSettleService.deleteEkpInsuranceDetailAsso(detail.getId());
}
} else { } else {
//预估已推送,实缴未推送 //预估已推送,实缴未推送
if(isEstimatePush == CommonConstants.ONE_INT && isActualPush == CommonConstants.ZERO_INT){ if(isEstimatePush == CommonConstants.ONE_INT && isActualPush == CommonConstants.ZERO_INT){
......
...@@ -740,6 +740,7 @@ public class DoJointInsuranceTask { ...@@ -740,6 +740,7 @@ public class DoJointInsuranceTask {
if (Common.isNotNull(list) && !list.isEmpty()) { if (Common.isNotNull(list) && !list.isEmpty()) {
for (EkpInsurancesInfo info: list) { for (EkpInsurancesInfo info: list) {
initValueUpdate(info, deptInfoVo, param); initValueUpdate(info, deptInfoVo, param);
} }
} }
//更新实缴单据应收金额 //更新实缴单据应收金额
...@@ -752,6 +753,10 @@ public class DoJointInsuranceTask { ...@@ -752,6 +753,10 @@ public class DoJointInsuranceTask {
info.setFd_3adfe6e30f2a3c("是".equals(param.getBpoFlag()) ? 0 : BigDecimalUtils.safeSubtract(false,param.getActualPremium(),param.getEstimatePremium()).doubleValue()); info.setFd_3adfe6e30f2a3c("是".equals(param.getBpoFlag()) ? 0 : BigDecimalUtils.safeSubtract(false,param.getActualPremium(),param.getEstimatePremium()).doubleValue());
//应支 //应支
info.setFd_3adfe6e3911ffe(param.getActualPremium().doubleValue()); info.setFd_3adfe6e3911ffe(param.getActualPremium().doubleValue());
if ("0".equals(param.getIsJfcd())){
//见费出单 实缴的应收为0
info.setFd_3adfe6e30f2a3c(0.00);
}
insurancesInfoMapper.updateById(info); insurancesInfoMapper.updateById(info);
} }
} }
......
...@@ -241,7 +241,8 @@ ...@@ -241,7 +241,8 @@
a.PAYMENT_STATUS as paymentStatus, a.PAYMENT_STATUS as paymentStatus,
a.PAYMENT_TIME as paymentTime, a.PAYMENT_TIME as paymentTime,
a.IS_JFCD as isJfcd, 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.PRE_HANDLE_TIME as preHandleTime,
a.ESTIMATE_PREMIUM as estimatePremium, a.ESTIMATE_PREMIUM as estimatePremium,
a.BILLING_TYPE as billingType a.BILLING_TYPE as billingType
...@@ -468,7 +469,7 @@ ...@@ -468,7 +469,7 @@
a.CREATE_NAME as createName, a.CREATE_NAME as createName,
a.POLICY_NO as policyNo, a.POLICY_NO as policyNo,
a.REMARK as remark, 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 from t_insurance_detail a
where a.DELETE_FLAG = 0 and a.id in where a.DELETE_FLAG = 0 and a.id in
<foreach collection="idList" index="index" item="item" open="(" separator="," close=")"> <foreach collection="idList" index="index" item="item" open="(" separator="," close=")">
...@@ -503,7 +504,7 @@ ...@@ -503,7 +504,7 @@
a.CREATE_NAME as createName, a.CREATE_NAME as createName,
a.POLICY_NO as policyNo, a.POLICY_NO as policyNo,
a.REMARK as remark, 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 from t_insurance_detail a
where a.DELETE_FLAG = 0 and a.BUY_HANDLE_STATUS = #{param.buyHandleStatus} where a.DELETE_FLAG = 0 and a.BUY_HANDLE_STATUS = #{param.buyHandleStatus}
<if test="param.empName != null and param.empName.trim() != ''"> <if test="param.empName != null and param.empName.trim() != ''">
...@@ -569,7 +570,7 @@ ...@@ -569,7 +570,7 @@
a.SETTLE_TYPE as settleType, a.SETTLE_TYPE as settleType,
a.CREATE_NAME as createName, a.CREATE_NAME as createName,
a.POLICY_NO as policyNo, 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 from t_insurance_detail a
where a.DELETE_FLAG = 0 and a.id in where a.DELETE_FLAG = 0 and a.id in
<foreach collection="idList" index="index" item="item" open="(" separator="," close=")"> <foreach collection="idList" index="index" item="item" open="(" separator="," close=")">
...@@ -601,7 +602,7 @@ ...@@ -601,7 +602,7 @@
a.SETTLE_TYPE as settleType, a.SETTLE_TYPE as settleType,
a.CREATE_NAME as createName, a.CREATE_NAME as createName,
a.POLICY_NO as policyNo, 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 from t_insurance_detail a
where a.DELETE_FLAG = 0 and a.BUY_HANDLE_STATUS = #{param.buyHandleStatus} where a.DELETE_FLAG = 0 and a.BUY_HANDLE_STATUS = #{param.buyHandleStatus}
<if test="param.empName != null and param.empName.trim() != ''"> <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