Commit c05990ae authored by fangxinjiang's avatar fangxinjiang

可替换标签退回恢复优化-fxj

parent 129d0dcf
......@@ -453,6 +453,13 @@ public class TInsuranceDetail extends BaseEntity {
@Schema(description = "可替换说明")
private String replaceRemark;
/**
* 可替换说明备份 (用于退保时恢复)
*/
@TableField(updateStrategy = FieldStrategy.IGNORED)
@Schema(description = "可替换说明备份")
private String replaceRemarkBak;
/**
* 差额 settleId
*/
......
......@@ -858,6 +858,12 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
BeanCopyUtils.copyProperties(detail,newDetail);
detail.setIsEffect(CommonConstants.ONE_INT);
detail.setIsOverdue(null);
// 【调整】保存被替换人 A 的替换说明到备份字段 (不清空,用于后续退保时恢复)
if (StringUtils.isNotBlank(detail.getReplaceRemark())) {
detail.setReplaceRemarkBak(detail.getReplaceRemark());
}
// 清空被替换数据的替换标签和说明
detail.setReplaceTag(null);
detail.setReplaceRemark(null);
......@@ -1976,7 +1982,7 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
detail.setIsEffect(null);
one = tInsuranceReplaceService.getOne(Wrappers.<TInsuranceReplace>query().lambda()
.eq(TInsuranceReplace::getToInsuranceDetailId, detail.getId())
//huyc-代码优化,取替换状态为成功的那一条数据
//huyc-代码优化取替换状态为成功的那一条数据
.eq(TInsuranceReplace::getReplaceStatus, CommonConstants.ONE_INT)
.last(CommonConstants.LAST_ONE_SQL));
if (Optional.ofNullable(one).isPresent()){
......@@ -1988,6 +1994,17 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
//被替换者激活
byId.setIsEffect(CommonConstants.ZERO_INT);
byId.setIsOverdue(CommonConstants.ZERO_INT);
// 【调整】从被替换人 A 自己的备份字段恢复标签信息
// 优先使用 A 自己的 replaceRemarkBak 值
if (StringUtils.isNotBlank(byId.getReplaceRemarkBak())) {
byId.setReplaceRemark(byId.getReplaceRemarkBak());
} else {
// 如果备份字段为空,使用默认值
byId.setReplaceRemark("可替换");
}
byId.setReplaceTag("可替换");
updList.add(byId);
}
}
......
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