Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in / Register
Toggle navigation
Y
yifu-mvp
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
fangxinjiang
yifu-mvp
Commits
a6b8d1b0
Commit
a6b8d1b0
authored
Mar 19, 2026
by
fangxinjiang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
商险可替换标识-fxj
parent
28350db6
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
280 additions
and
1 deletion
+280
-1
EmployeeRegistrationPreServiceImpl.java
...ives/service/impl/EmployeeRegistrationPreServiceImpl.java
+3
-0
BaseSearchVO.java
.../yifu/cloud/plus/v1/yifu/common/core/vo/BaseSearchVO.java
+3
-0
InsuranceDaprUtil.java
...loud/plus/v1/yifu/common/dapr/util/InsuranceDaprUtil.java
+22
-0
EmployeeRegistrationLeaveServiceImpl.java
...sp/service/impl/EmployeeRegistrationLeaveServiceImpl.java
+48
-1
InsurancesConstants.java
...lus/v1/yifu/insurances/constants/InsurancesConstants.java
+1
-0
TInsuranceDetail.java
...loud/plus/v1/yifu/insurances/entity/TInsuranceDetail.java
+2
-0
TInsuranceDetailController.java
...ifu/insurances/controller/TInsuranceDetailController.java
+18
-0
TInsuranceDetailService.java
...insurances/service/insurance/TInsuranceDetailService.java
+11
-0
TEmployeeInsurancePreServiceImpl.java
...vice/insurance/impl/TEmployeeInsurancePreServiceImpl.java
+41
-0
TInsuranceDetailServiceImpl.java
...s/service/insurance/impl/TInsuranceDetailServiceImpl.java
+131
-0
No files found.
yifu-archives/yifu-archives-biz/src/main/java/com/yifu/cloud/plus/v1/yifu/archives/service/impl/EmployeeRegistrationPreServiceImpl.java
View file @
a6b8d1b0
...
...
@@ -300,6 +300,9 @@ public class EmployeeRegistrationPreServiceImpl extends ServiceImpl<EmployeeRegi
//处理商险待办信息
BaseSearchVO
insuranceSearchVo
=
new
BaseSearchVO
();
insuranceSearchVo
.
setRegisterId
(
updatePre
.
getId
());
if
(
null
!=
user
){
insuranceSearchVo
.
setOperator
(
user
.
getNickname
());
}
booleanR
=
insuranceDaprUtil
.
refuseInsurancePreByRegisterId
(
insuranceSearchVo
);
if
(
null
!=
booleanR
&&
booleanR
.
getData
().
booleanValue
()){
if
(
sb
.
length
()
==
0
){
...
...
yifu-common/yifu-common-core/src/main/java/com/yifu/cloud/plus/v1/yifu/common/core/vo/BaseSearchVO.java
View file @
a6b8d1b0
...
...
@@ -68,4 +68,7 @@ public class BaseSearchVO implements Serializable {
//入职登记表ID
private
String
registerId
;
//拒绝入职操作人
private
String
operator
;
}
yifu-common/yifu-common-dapr/src/main/java/com/yifu/cloud/plus/v1/yifu/common/dapr/util/InsuranceDaprUtil.java
View file @
a6b8d1b0
...
...
@@ -17,7 +17,9 @@ import lombok.extern.log4j.Log4j2;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.boot.context.properties.EnableConfigurationProperties
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
/**
* @Author hgw
...
...
@@ -199,4 +201,24 @@ public class InsuranceDaprUtil {
return
res
;
}
/**
* @param paramVoList 查询参数列表(身份证 + 项目编码)
* @param operator 操作人员
* @param operateType 操作类型
* @Description: 批量更新商险替换标签和说明(商险服务侧实现完整逻辑)
* @Author: fxj
* @Date: 2026-03-19
* @return: void
**/
public
void
batchUpdateInsuranceReplaceTagByParamList
(
List
<
BaseSearchVO
>
paramVoList
,
String
operator
,
String
operateType
)
{
// 构建请求参数
Map
<
String
,
Object
>
paramMap
=
new
HashMap
<>();
paramMap
.
put
(
"paramVoList"
,
paramVoList
);
paramMap
.
put
(
"operator"
,
operator
);
paramMap
.
put
(
"operateType"
,
operateType
);
HttpDaprUtil
.
invokeMethodPost
(
daprInsurancesProperties
.
getAppUrl
(),
daprInsurancesProperties
.
getAppId
()
,
"/insuranceDetail/inner/batchUpdateInsuranceReplaceTagByParamList"
,
paramMap
,
Object
.
class
,
SecurityConstants
.
FROM_IN
);
}
}
yifu-csp/yifu-csp-biz/src/main/java/com/yifu/cloud/plus/v1/csp/service/impl/EmployeeRegistrationLeaveServiceImpl.java
View file @
a6b8d1b0
...
...
@@ -27,6 +27,7 @@ import com.yifu.cloud.plus.v1.csp.entity.EmployeeRegistration;
import
com.yifu.cloud.plus.v1.csp.entity.EmployeeRegistrationLeave
;
import
com.yifu.cloud.plus.v1.csp.entity.EmployeeRegistrationLeaveInsurance
;
import
com.yifu.cloud.plus.v1.csp.entity.EmployeeRegistrationLeaveLog
;
import
com.yifu.cloud.plus.v1.yifu.insurances.constants.InsurancesConstants
;
import
com.yifu.cloud.plus.v1.csp.mapper.EmployeeRegistrationLeaveInsuranceMapper
;
import
com.yifu.cloud.plus.v1.csp.mapper.EmployeeRegistrationLeaveMapper
;
import
com.yifu.cloud.plus.v1.csp.mapper.EmployeeRegistrationMapper
;
...
...
@@ -892,12 +893,15 @@ public class EmployeeRegistrationLeaveServiceImpl extends ServiceImpl<EmployeeRe
leave
.
setConfirmUser
(
user
.
getNickname
());
leave
.
setConfirmTime
(
LocalDateTime
.
now
());
this
.
updateById
(
leave
);
// 离职待办确认后,更新为商险续签待办为已离职
BaseSearchVO
paramVo
=
new
BaseSearchVO
();
paramVo
.
setEmpIdCard
(
registrationOld
.
getEmpIdcard
());
paramVo
.
setDeptNo
(
registrationOld
.
getDeptNo
());
insuranceDaprUtil
.
updateInsurancePreRenewToIsLeave
(
paramVo
);
// 离职确认后,对该人员在该项目下的已投保未过期且有效的商险数据进行打标“可替换”
updateInsuranceReplaceTagBySingle
(
registrationOld
.
getEmpIdcard
(),
registrationOld
.
getDeptNo
(),
user
.
getNickname
());
return
R
.
ok
();
}
else
{
return
R
.
failed
(
"状态不是待确认"
);
...
...
@@ -1012,6 +1016,9 @@ public class EmployeeRegistrationLeaveServiceImpl extends ServiceImpl<EmployeeRe
BaseSearchListVO
baseSearchListVO
=
new
BaseSearchListVO
();
baseSearchListVO
.
setListParam
(
paramVoList
);
insuranceDaprUtil
.
updateInsurancePreRenewToIsLeaveList
(
baseSearchListVO
);
// 离职确认后,对该人员在该项目下的已投保未过期且有效的商险数据进行打标“可替换”
updateInsuranceReplaceTagByBatch
(
paramVoList
,
user
.
getNickname
());
}
return
R
.
ok
();
}
...
...
@@ -1029,6 +1036,46 @@ public class EmployeeRegistrationLeaveServiceImpl extends ServiceImpl<EmployeeRe
return
holidayMap
;
}
/**
* @Description: 单个离职确认后更新商险替换标签为“可替换”
* @Author: fxj
* @Date: 2026-03-19
* @param empIdcard: 身份证号
* @param deptNo: 项目编码
* @param operator: 操作人员
* @return: void
**/
private
void
updateInsuranceReplaceTagBySingle
(
String
empIdcard
,
String
deptNo
,
String
operator
)
{
List
<
BaseSearchVO
>
paramVoList
=
new
ArrayList
<>();
BaseSearchVO
paramVo
=
new
BaseSearchVO
();
paramVo
.
setEmpIdCard
(
empIdcard
);
paramVo
.
setDeptNo
(
deptNo
);
paramVoList
.
add
(
paramVo
);
updateInsuranceReplaceTagByBatch
(
paramVoList
,
operator
);
}
/**
* @Description: 批量离职确认后更新商险替换标签为“可替换”(调用商险服务接口)
* @Author: fxj
* @Date: 2026-03-19
* @param paramVoList: 查询参数列表(身份证 + 项目编码)
* @param operator: 操作人员
* @return: void
**/
private
void
updateInsuranceReplaceTagByBatch
(
List
<
BaseSearchVO
>
paramVoList
,
String
operator
)
{
if
(
Common
.
isEmpty
(
paramVoList
))
{
log
.
warn
(
"批量更新商险替换标签失败,参数列表为空"
);
return
;
}
try
{
// 调用商险服务批量更新替换标签和说明
insuranceDaprUtil
.
batchUpdateInsuranceReplaceTagByParamList
(
paramVoList
,
operator
,
"离职确认操作"
);
}
catch
(
Exception
e
)
{
log
.
warn
(
"批量更新商险替换标签异常,参数列表大小:{}"
,
paramVoList
.
size
(),
e
);
}
}
// 去除浮动的商险
private
void
removeInsuranceToDoType
(
EmployeeRegistrationLeave
alert
)
{
if
(
alert
.
getDoType
().
contains
(
",3"
))
{
...
...
yifu-insurances/yifu-insurances-api/src/main/java/com/yifu/cloud/plus/v1/yifu/insurances/constants/InsurancesConstants.java
View file @
a6b8d1b0
...
...
@@ -1381,4 +1381,5 @@ public class InsurancesConstants {
public
static
final
String
REFUND_YI_SETTLE
=
"费用已支出,禁止重复登记"
;
public
static
final
String
REFUND_ZH_SETTLE
=
"费用支出中,禁止重复登记"
;
public
static
final
String
REFUND_TYPE
=
"退费"
;
public
static
final
String
INSURANCE_REPLACE_TAG_REPLACE
=
"可替换"
;
}
yifu-insurances/yifu-insurances-api/src/main/java/com/yifu/cloud/plus/v1/yifu/insurances/entity/TInsuranceDetail.java
View file @
a6b8d1b0
...
...
@@ -442,12 +442,14 @@ public class TInsuranceDetail extends BaseEntity {
/**
* 替换标签
*/
@TableField
(
updateStrategy
=
FieldStrategy
.
IGNORED
)
@Schema
(
description
=
"替换标签"
)
private
String
replaceTag
;
/**
* 可替换说明
*/
@TableField
(
updateStrategy
=
FieldStrategy
.
IGNORED
)
@Schema
(
description
=
"可替换说明"
)
private
String
replaceRemark
;
...
...
yifu-insurances/yifu-insurances-biz/src/main/java/com/yifu/cloud/plus/v1/yifu/insurances/controller/TInsuranceDetailController.java
View file @
a6b8d1b0
...
...
@@ -35,6 +35,7 @@ import javax.servlet.http.HttpServletResponse;
import
javax.validation.Valid
;
import
javax.validation.constraints.Size
;
import
java.util.List
;
import
java.util.Map
;
/**
* @author licancan
...
...
@@ -437,6 +438,23 @@ public class TInsuranceDetailController {
return
tInsuranceDetailService
.
leaveToReduceInsurance
(
paramVo
);
}
/**
* @param paramMap 请求参数(paramVoList: 查询参数列表,operator: 操作人员,operateType: 操作类型)
* @Description: 批量更新商险替换标签和说明(商险服务侧实现完整逻辑)
* @Author: hgw
* @Date: 2026-03-19
* @return: void
**/
@Inner
@PostMapping
(
"/inner/batchUpdateInsuranceReplaceTagByParamList"
)
public
void
batchUpdateInsuranceReplaceTagByParamList
(
@RequestBody
Map
<
String
,
Object
>
paramMap
){
List
<
BaseSearchVO
>
paramVoList
=
(
List
<
BaseSearchVO
>)
paramMap
.
get
(
"paramVoList"
);
String
operator
=
(
String
)
paramMap
.
get
(
"operator"
);
String
operateType
=
(
String
)
paramMap
.
get
(
"operateType"
);
tInsuranceDetailService
.
batchUpdateInsuranceReplaceTagByParamList
(
paramVoList
,
operator
,
operateType
);
}
/***********************减员办理********************************/
/**
* 导入减员校验
...
...
yifu-insurances/yifu-insurances-biz/src/main/java/com/yifu/cloud/plus/v1/yifu/insurances/service/insurance/TInsuranceDetailService.java
View file @
a6b8d1b0
...
...
@@ -225,6 +225,17 @@ public interface TInsuranceDetailService extends IService<TInsuranceDetail> {
BaseSearchListVO
leaveToReduceInsurance
(
BaseSearchListVO
paramVo
);
/**
* @param paramVoList 查询参数列表(身份证 + 项目编码)
* @param operator 操作人员
* @param operateType 操作类型
* @Description: 批量更新商险替换标签和说明(商险服务侧实现完整逻辑)
* @Author: hgw
* @Date: 2026-03-19
* @return: void
**/
void
batchUpdateInsuranceReplaceTagByParamList
(
List
<
BaseSearchVO
>
paramVoList
,
String
operator
,
String
operateType
);
/***********************减员办理********************************/
/**
...
...
yifu-insurances/yifu-insurances-biz/src/main/java/com/yifu/cloud/plus/v1/yifu/insurances/service/insurance/impl/TEmployeeInsurancePreServiceImpl.java
View file @
a6b8d1b0
...
...
@@ -27,6 +27,7 @@ import com.yifu.cloud.plus.v1.yifu.common.dapr.util.ArchivesDaprUtil;
import
com.yifu.cloud.plus.v1.yifu.common.dapr.util.UpmsDaprUtils
;
import
com.yifu.cloud.plus.v1.yifu.common.security.util.SecurityUtils
;
import
com.yifu.cloud.plus.v1.yifu.insurances.config.WxConfig
;
import
com.yifu.cloud.plus.v1.yifu.insurances.constants.InsurancesConstants
;
import
com.yifu.cloud.plus.v1.yifu.insurances.entity.*
;
import
com.yifu.cloud.plus.v1.yifu.insurances.mapper.insurances.TEmployeeInsurancePreMapper
;
import
com.yifu.cloud.plus.v1.yifu.insurances.service.insurance.*
;
...
...
@@ -1003,6 +1004,46 @@ public class TEmployeeInsurancePreServiceImpl extends ServiceImpl<TEmployeeInsur
}
@Override
public
Boolean
refuseInsurancePreByRegisterId
(
BaseSearchVO
preVo
)
{
// 查询是否有商险已投保未过期且有效的商险数据,若有则将替换标签更新为"可替换"并添加替换说明
TEmployeeInsurancePre
insurancePre
=
baseMapper
.
selectOne
(
Wrappers
.<
TEmployeeInsurancePre
>
query
()
.
lambda
()
.
eq
(
TEmployeeInsurancePre:
:
getRegisterId
,
preVo
.
getRegisterId
())
.
last
(
CommonConstants
.
LAST_ONE_SQL
)
);
if
(
null
!=
insurancePre
&&
null
!=
insurancePre
.
getInsurancesId
())
{
// 查询对应的商险信息(已投保、未过期且有效)
TInsuranceDetail
insuranceDetail
=
detailService
.
getOne
(
Wrappers
.<
TInsuranceDetail
>
query
()
.
lambda
()
.
eq
(
TInsuranceDetail:
:
getId
,
insurancePre
.
getInsurancesId
())
.
eq
(
TInsuranceDetail:
:
getIsEffect
,
CommonConstants
.
ZERO_INT
)
.
eq
(
TInsuranceDetail:
:
getIsOverdue
,
CommonConstants
.
ZERO_INT
)
.
eq
(
TInsuranceDetail:
:
getBuyHandleStatus
,
CommonConstants
.
THREE_INT
)
.
eq
(
TInsuranceDetail:
:
getDeleteFlag
,
CommonConstants
.
ZERO_INT
),
false
// 不抛出异常,允许返回 null
);
if
(
null
!=
insuranceDetail
)
{
try
{
// 设置替换标签为"可替换"
insuranceDetail
.
setReplaceTag
(
InsurancesConstants
.
INSURANCE_REPLACE_TAG_REPLACE
);
// 构建替换说明:时间 + 操作人员 + 原因
String
operateTime
=
DateUtil
.
dateToString
(
new
Date
(),
DateUtil
.
DATETIME_PATTERN_MINUTE
);
String
operator
=
Common
.
isEmpty
(
preVo
.
getOperator
())
?
"系统"
:
preVo
.
getOperator
();
String
replaceRemark
=
String
.
format
(
"%s-客服%s-对人员进行拒绝入职操作"
,
operateTime
,
operator
);
insuranceDetail
.
setReplaceRemark
(
replaceRemark
);
// 更新数据库
detailService
.
updateById
(
insuranceDetail
);
}
catch
(
Exception
e
)
{
log
.
error
(
"更新商险替换标签失败,商险 ID: {}"
,
insuranceDetail
.
getId
(),
e
);
throw
new
RuntimeException
(
"更新商险替换标签失败:"
+
e
.
getMessage
());
}
}
}
LambdaUpdateWrapper
<
TEmployeeInsurancePre
>
updateWrapper
=
new
LambdaUpdateWrapper
<>();
updateWrapper
.
eq
(
TEmployeeInsurancePre:
:
getRegisterId
,
preVo
.
getRegisterId
());
updateWrapper
.
set
(
TEmployeeInsurancePre:
:
getIsRefuse
,
CommonConstants
.
ZERO_STRING
);
...
...
yifu-insurances/yifu-insurances-biz/src/main/java/com/yifu/cloud/plus/v1/yifu/insurances/service/insurance/impl/TInsuranceDetailServiceImpl.java
View file @
a6b8d1b0
...
...
@@ -224,6 +224,11 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
log
.
info
(
"定时任务扫描到的已过期数据是:{}条"
,
collect
.
size
());
this
.
updateBatchById
(
collect
);
}
// 清空已过期数据的替换标签和说明
if
(
CollectionUtils
.
isNotEmpty
(
collect
))
{
List
<
String
>
expiredIds
=
collect
.
stream
().
map
(
TInsuranceDetail:
:
getId
).
collect
(
Collectors
.
toList
());
batchClearInsuranceReplaceTag
(
expiredIds
,
"1"
);
}
this
.
doFailInfo
(
changeList
,
sourceIdCardList
,
replaceIdList
,
CommonConstants
.
THREE_STRING
);
}
}
...
...
@@ -855,6 +860,9 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
BeanCopyUtils
.
copyProperties
(
detail
,
newDetail
);
detail
.
setIsEffect
(
CommonConstants
.
ONE_INT
);
detail
.
setIsOverdue
(
null
);
// 清空被替换数据的替换标签和说明
detail
.
setReplaceTag
(
null
);
detail
.
setReplaceRemark
(
null
);
detail
.
setUpdateTime
(
LocalDateTime
.
now
());
this
.
updateById
(
detail
);
// 保险公司-险种-购买标准 是否存在
...
...
@@ -2001,6 +2009,9 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
detail
.
setPolicyEffect
(
null
);
detail
.
setIsEffect
(
null
);
detail
.
setIsOverdue
(
null
);
//投保成功后 退保 清空替换标签和替换说明
detail
.
setReplaceTag
(
null
);
detail
.
setReplaceRemark
(
null
);
}
detail
.
setUpdateBy
(
user
.
getId
());
detail
.
setUpdateTime
(
LocalDateTime
.
now
());
...
...
@@ -5461,6 +5472,75 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
}
return
vo
;
}
/**
* @param paramVoList 查询参数列表(身份证 + 项目编码)
* @param operator 操作人员
* @param operateType 操作类型
* @Description: 批量更新商险替换标签和说明(商险服务侧实现完整逻辑)
* @Author: hgw
* @Date: 2026-03-19
* @return: void
**/
@Override
public
void
batchUpdateInsuranceReplaceTagByParamList
(
List
<
BaseSearchVO
>
paramVoList
,
String
operator
,
String
operateType
)
{
if
(
Common
.
isEmpty
(
paramVoList
))
{
log
.
warn
(
"批量更新商险替换标签失败,参数列表为空"
);
return
;
}
try
{
// 遍历每个参数,查询并更新对应的商险数据
for
(
BaseSearchVO
paramVo
:
paramVoList
)
{
if
(
Common
.
isEmpty
(
paramVo
.
getEmpIdCard
())
||
Common
.
isEmpty
(
paramVo
.
getDeptNo
()))
{
log
.
warn
(
"跳过无效参数,身份证号或项目编码为空,paramVo: {}"
,
paramVo
);
continue
;
}
// 查询符合条件的商险数据:已投保、未过期且有效
List
<
TInsuranceDetail
>
insuranceList
=
baseMapper
.
selectList
(
Wrappers
.<
TInsuranceDetail
>
query
().
lambda
()
.
eq
(
TInsuranceDetail:
:
getEmpIdcardNo
,
paramVo
.
getEmpIdCard
())
.
eq
(
TInsuranceDetail:
:
getDeptNo
,
paramVo
.
getDeptNo
())
.
eq
(
TInsuranceDetail:
:
getBuyHandleStatus
,
CommonConstants
.
THREE_INT
)
// 已投保
.
eq
(
TInsuranceDetail:
:
getIsOverdue
,
CommonConstants
.
ZERO_INT
)
// 未过期
.
eq
(
TInsuranceDetail:
:
getIsEffect
,
CommonConstants
.
ZERO_INT
)
// 有效
.
eq
(
TInsuranceDetail:
:
getDeleteFlag
,
CommonConstants
.
ZERO_INT
));
// 未删除
if
(
Common
.
isEmpty
(
insuranceList
))
{
continue
;
}
// 构建替换说明
String
operateTime
=
DateUtil
.
dateToString
(
new
Date
(),
DateUtil
.
DATETIME_PATTERN_MINUTE
);
String
replaceRemark
=
String
.
format
(
"%s-客服%s-%s"
,
operateTime
,
Common
.
isEmpty
(
operator
)
?
"系统"
:
operator
,
operateType
);
// 批量更新该人员的所有符合条件的商险数据
LocalDateTime
updateTime
=
LocalDateTime
.
now
();
for
(
TInsuranceDetail
detail
:
insuranceList
)
{
try
{
LambdaUpdateWrapper
<
TInsuranceDetail
>
updateWrapper
=
new
LambdaUpdateWrapper
<>();
updateWrapper
.
set
(
TInsuranceDetail:
:
getReplaceTag
,
InsurancesConstants
.
INSURANCE_REPLACE_TAG_REPLACE
)
.
set
(
TInsuranceDetail:
:
getReplaceRemark
,
replaceRemark
)
.
set
(
TInsuranceDetail:
:
getUpdateBy
,
'1'
)
.
set
(
TInsuranceDetail:
:
getUpdateTime
,
updateTime
)
.
eq
(
TInsuranceDetail:
:
getId
,
detail
.
getId
());
update
(
updateWrapper
);
}
catch
(
Exception
e
)
{
log
.
error
(
"更新单个商险替换标签异常,商险 ID: {}"
,
detail
.
getId
(),
e
);
}
}
log
.
info
(
"批量更新商险替换标签成功,身份证号:{}, 项目编码:{}, 操作类型:{}, 更新数量:{}"
,
paramVo
.
getEmpIdCard
(),
paramVo
.
getDeptNo
(),
operateType
,
insuranceList
.
size
());
}
}
catch
(
Exception
e
)
{
log
.
error
(
"批量更新商险替换标签异常,参数列表大小:{}"
,
paramVoList
.
size
(),
e
);
}
}
/***********************减员办理********************************/
/**
...
...
@@ -6080,6 +6160,8 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
if
(
CommonConstants
.
FOUR_INT
==
refundType
){
tInsuranceDetail
.
setIsOverdue
(
null
);
tInsuranceDetail
.
setIsEffect
(
null
);
tInsuranceDetail
.
setReplaceRemark
(
null
);
tInsuranceDetail
.
setReplaceTag
(
null
);
tInsuranceDetail
.
setBuyHandleStatus
(
CommonConstants
.
FIVE_INT
);
// 已减员
...
...
@@ -6165,6 +6247,8 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
if
(
InsurancesConstants
.
SUCCESS
.
equals
(
param
.
getHandType
())){
detail
.
setReduceHandleStatus
(
CommonConstants
.
FOUR_INT
);
detail
.
setBuyHandleStatus
(
CommonConstants
.
FIVE_INT
);
detail
.
setReplaceTag
(
null
);
detail
.
setReplaceRemark
(
null
);
refund
.
set
(
TInsuranceRefund
::
getReduceHandleStatus
,
CommonConstants
.
FOUR_INT
);
}
else
{
detail
.
setReduceHandleStatus
(
CommonConstants
.
THREE_INT
);
...
...
@@ -7209,6 +7293,16 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
insuranceRefund
.
setUpdateBy
(
user
.
getId
());
insuranceRefund
.
setUpdateTime
(
LocalDateTime
.
now
());
tInsuranceRefundService
.
updateRefundMoney
(
insuranceRefund
);
//清空原商险的可替换标签和可替换说明
if
(
Common
.
isNotNull
(
param
.
getInsDetailId
())){
TInsuranceDetail
insuranceDetail
=
baseMapper
.
selectById
(
param
.
getInsDetailId
());
if
(
insuranceDetail
!=
null
){
insuranceDetail
.
setReplaceTag
(
null
);
insuranceDetail
.
setReplaceRemark
(
null
);
baseMapper
.
updateById
(
insuranceDetail
);
}
}
//新增操作记录
TInsuranceOperate
insuranceOperate
=
new
TInsuranceOperate
();
insuranceOperate
.
setInsuranceDetailId
(
param
.
getInsDetailId
());
...
...
@@ -10382,4 +10476,41 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
}
return
sysUserMap
;
}
/**
* @param insuranceIds 需要清空替换标签的商险 ID 列表
* @param updateBy 更新人
* @Description: 批量清空商险替换标签和说明(当商险状态变为非已投保且未过期且有效时调用)
* @Author: hgw
* @Date: 2026-03-19
* @return: void
**/
private
void
batchClearInsuranceReplaceTag
(
List
<
String
>
insuranceIds
,
String
updateBy
)
{
if
(
Common
.
isEmpty
(
insuranceIds
))
{
return
;
}
try
{
LocalDateTime
updateTime
=
LocalDateTime
.
now
();
for
(
String
id
:
insuranceIds
)
{
if
(
Common
.
isEmpty
(
id
))
{
continue
;
}
try
{
LambdaUpdateWrapper
<
TInsuranceDetail
>
updateWrapper
=
new
LambdaUpdateWrapper
<>();
updateWrapper
.
set
(
TInsuranceDetail:
:
getReplaceTag
,
null
)
.
set
(
TInsuranceDetail:
:
getReplaceRemark
,
null
)
.
set
(
TInsuranceDetail:
:
getUpdateBy
,
updateBy
)
.
set
(
TInsuranceDetail:
:
getUpdateTime
,
updateTime
)
.
eq
(
TInsuranceDetail:
:
getId
,
id
);
update
(
updateWrapper
);
}
catch
(
Exception
e
)
{
log
.
error
(
"清空单个商险替换标签异常,商险 ID: {}"
,
id
,
e
);
}
}
log
.
info
(
"批量清空商险替换标签成功,清空数量:{}"
,
insuranceIds
.
size
());
}
catch
(
Exception
e
)
{
log
.
error
(
"批量清空商险替换标签异常,清空数量:{}"
,
insuranceIds
.
size
(),
e
);
}
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment