Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in
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
90ff8965
You need to sign in or sign up before continuing.
Commit
90ff8965
authored
Aug 10, 2022
by
hongguangwu
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/develop' into develop
parents
74286c55
f4346bdb
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
649 additions
and
395 deletions
+649
-395
TInsuranceDetail.java
...loud/plus/v1/yifu/insurances/entity/TInsuranceDetail.java
+14
-0
EKPUtil.java
.../com/yifu/cloud/plus/v1/yifu/insurances/util/EKPUtil.java
+122
-21
DeptChangeCheckParam.java
...loud/plus/v1/yifu/insurances/vo/DeptChangeCheckParam.java
+24
-0
EKPInteractiveParam.java
...cloud/plus/v1/yifu/insurances/vo/EKPInteractiveParam.java
+8
-1
TInsuranceSettlePushParam.java
...plus/v1/yifu/insurances/vo/TInsuranceSettlePushParam.java
+14
-74
TInsuranceDetailServiceImpl.java
.../insurances/service/impl/TInsuranceDetailServiceImpl.java
+461
-294
TInsuranceDetailMapper.xml
...-biz/src/main/resources/mapper/TInsuranceDetailMapper.xml
+6
-5
No files found.
yifu-insurances/yifu-insurances-api/src/main/java/com/yifu/cloud/plus/v1/yifu/insurances/entity/TInsuranceDetail.java
View file @
90ff8965
package
com
.
yifu
.
cloud
.
plus
.
v1
.
yifu
.
insurances
.
entity
;
import
com.alibaba.excel.annotation.ExcelIgnore
;
import
com.alibaba.excel.annotation.ExcelProperty
;
import
com.baomidou.mybatisplus.annotation.*
;
import
com.yifu.cloud.plus.v1.yifu.common.mybatis.base.BaseEntity
;
import
io.swagger.v3.oas.annotations.media.Schema
;
...
...
@@ -271,5 +273,17 @@ public class TInsuranceDetail extends BaseEntity {
@Schema
(
description
=
"是否删除 0否/1是"
)
private
Integer
deleteFlag
;
/**
* 商险办理人
*/
@Schema
(
description
=
"商险办理人"
)
private
String
handledBy
;
/**
* 商险办理时间
*/
@Schema
(
description
=
"商险办理时间"
)
private
LocalDateTime
handledTime
;
private
static
final
long
serialVersionUID
=
1L
;
}
\ No newline at end of file
yifu-insurances/yifu-insurances-api/src/main/java/com/yifu/cloud/plus/v1/yifu/insurances/util/EKPUtil.java
View file @
90ff8965
...
...
@@ -2,13 +2,13 @@ package com.yifu.cloud.plus.v1.yifu.insurances.util;
import
cn.hutool.json.JSONObject
;
import
com.fasterxml.jackson.databind.ObjectMapper
;
import
com.yifu.cloud.plus.v1.yifu.common.core.constant.CommonConstants
;
import
com.yifu.cloud.plus.v1.yifu.insurances.vo.EKPInteractiveParam
;
import
com.yifu.cloud.plus.v1.yifu.insurances.vo.TInsuranceSettlePushParam
;
import
lombok.Getter
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.lang.StringUtils
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.context.annotation.ComponentScan
;
import
org.springframework.http.*
;
import
org.springframework.stereotype.Component
;
import
org.springframework.util.LinkedMultiValueMap
;
...
...
@@ -94,14 +94,16 @@ public class EKPUtil {
loginName
.
append
(
"LoginName"
,
LoginName
);
String
loginData
=
new
ObjectMapper
().
writeValueAsString
(
loginName
);
MultiValueMap
<
String
,
Object
>
wholeForm
=
new
LinkedMultiValueMap
<>();
wholeForm
.
add
(
"docSubject"
,
new
String
(
docSubject
.
getBytes
(
"UTF-8"
),
"ISO-8859-1"
)
);
//wholeForm.add("docCreator", "{\"LoginName\":\"admin\"}");
wholeForm
.
add
(
"docCreator"
,
loginData
);
//wholeForm.add("docSubject", new String(docSubject.getBytes("UTF-8"),"ISO-8859-1") );
wholeForm
.
add
(
"docSubject"
,
docSubject
);
wholeForm
.
add
(
"docCreator"
,
"{\"LoginName\":\"admin\"}"
);
//wholeForm.add("docCreator", loginData);
wholeForm
.
add
(
"docStatus"
,
docStatus
);
wholeForm
.
add
(
"fdModelId"
,
fdModelId
);
wholeForm
.
add
(
"fdFlowId"
,
fdFlowId
);
//wholeForm.add("formValues", new String(formValues.getBytes("UTF-8"),"ISO-8859-1"));
wholeForm
.
add
(
"formValues"
,
new
String
(
"{\"fd_3adfe6af71a1cc\":\"王五\", \"fd_3adfe658c6229e\":\"2019-03-26\", \"fd_3adfe6592b4158\":\"这里内容\"}"
.
getBytes
(
"UTF-8"
),
"ISO-8859-1"
)
);
wholeForm
.
add
(
"formValues"
,
formValues
);
//wholeForm.add("formValues", new String("{\"fd_3adfe6af71a1cc\":\"王五\", \"fd_3adfe658c6229e\":\"2019-03-26\", \"fd_3adfe6592b4158\":\"这里内容\"}".getBytes("UTF-8"),"ISO-8859-1") );
System
.
out
.
println
(
"wholeForm:"
+
wholeForm
);
HttpHeaders
headers
=
new
HttpHeaders
();
//如果EKP对该接口启用了Basic认证,那么客户端需要加入
...
...
@@ -128,53 +130,152 @@ public class EKPUtil {
}
}
/**
* 将类转换成EKP要求的格式
*
* @author zhaji
* @param param 转换类
* @return {@link TInsuranceSettlePushParam}
*/
public
static
TInsuranceSettlePushParam
InsuranceDetail2PushParam
(
EKPInteractiveParam
param
){
String
format
=
LocalDate
.
now
().
format
(
DateTimeFormatter
.
ofPattern
(
"yyyy-MM-dd"
));
TInsuranceSettlePushParam
pushParam
=
new
TInsuranceSettlePushParam
();
//ekpId
if
(
null
!=
param
.
getId
()
&&
null
!=
param
.
getDefaultSettleId
()){
pushParam
.
setFd_3afa8a70006bea
(
param
.
getId
()+
CommonConstants
.
DOWN_LINE_STRING
+
param
.
getDefaultSettleId
());
}
else
{
pushParam
.
setFd_3afa8a70006bea
(
CommonConstants
.
EMPTY_STRING
);
}
//单据类型
pushParam
.
setFd_3adfe6af71a1cc
(
param
.
getSettleType
());
if
(
null
!=
param
.
getSettleType
()){
pushParam
.
setFd_3adfe6af71a1cc
(
param
.
getSettleType
());
}
else
{
pushParam
.
setFd_3adfe6af71a1cc
(
CommonConstants
.
ZERO_INT
);
}
//项目编码
pushParam
.
setFd_3adfe658c6229e
(
param
.
getDeptNo
());
if
(
null
!=
param
.
getDeptNo
()){
pushParam
.
setFd_3adfe658c6229e
(
param
.
getDeptNo
());
}
else
{
pushParam
.
setFd_3adfe658c6229e
(
CommonConstants
.
EMPTY_STRING
);
}
//项目名称
pushParam
.
setFd_3adfe6592b4158
(
param
.
getDeptName
());
if
(
null
!=
param
.
getDeptName
()){
pushParam
.
setFd_3adfe6592b4158
(
param
.
getDeptName
());
}
else
{
pushParam
.
setFd_3adfe6592b4158
(
CommonConstants
.
EMPTY_STRING
);
}
//客户编码
pushParam
.
setFd_3adfe6598281e8
(
param
.
getCustomerCode
());
if
(
null
!=
param
.
getCustomerCode
()){
pushParam
.
setFd_3adfe6598281e8
(
param
.
getCustomerCode
());
}
else
{
pushParam
.
setFd_3adfe6598281e8
(
CommonConstants
.
EMPTY_STRING
);
}
//客户名称
pushParam
.
setFd_3adfe7a2688902
(
param
.
getCustomerName
());
if
(
null
!=
param
.
getCustomerName
()){
pushParam
.
setFd_3adfe7a2688902
(
param
.
getCustomerName
());
}
else
{
pushParam
.
setFd_3adfe7a2688902
(
CommonConstants
.
EMPTY_STRING
);
}
//发生日期
pushParam
.
setFd_3adfe67c24dace
(
format
);
//姓名
pushParam
.
setFd_3adfe65d759650
(
param
.
getEmpName
());
if
(
null
!=
param
.
getEmpName
()){
pushParam
.
setFd_3adfe65d759650
(
param
.
getEmpName
());
}
else
{
pushParam
.
setFd_3adfe65d759650
(
CommonConstants
.
EMPTY_STRING
);
}
//身份证号
pushParam
.
setFd_3adfe65dbd9f68
(
param
.
getEmpIdcardNo
());
if
(
null
!=
param
.
getEmpIdcardNo
()){
pushParam
.
setFd_3adfe65dbd9f68
(
param
.
getEmpIdcardNo
());
}
else
{
pushParam
.
setFd_3adfe65dbd9f68
(
CommonConstants
.
EMPTY_STRING
);
}
//发票号
pushParam
.
setFd_3adfe65e0cd094
(
param
.
getInvoiceNo
());
if
(
null
!=
param
.
getInvoiceNo
()){
pushParam
.
setFd_3adfe65e0cd094
(
param
.
getInvoiceNo
());
}
else
{
pushParam
.
setFd_3adfe65e0cd094
(
CommonConstants
.
EMPTY_STRING
);
}
//险种
pushParam
.
setFd_3adfe65f6599e4
(
param
.
getInsuranceTypeName
());
if
(
null
!=
param
.
getInsuranceTypeName
()){
pushParam
.
setFd_3adfe65f6599e4
(
param
.
getInsuranceTypeName
());
}
else
{
pushParam
.
setFd_3adfe65f6599e4
(
CommonConstants
.
EMPTY_STRING
);
}
//保险公司
pushParam
.
setFd_3adfe65ea04728
(
param
.
getInsuranceCompanyName
());
if
(
null
!=
param
.
getInsuranceCompanyName
()){
pushParam
.
setFd_3adfe65ea04728
(
param
.
getInsuranceCompanyName
());
}
else
{
pushParam
.
setFd_3adfe65ea04728
(
CommonConstants
.
EMPTY_STRING
);
}
//保单号
pushParam
.
setFd_3adfe65e60e110
(
param
.
getPolicyNo
());
if
(
null
!=
param
.
getPolicyNo
()){
pushParam
.
setFd_3adfe65e60e110
(
param
.
getPolicyNo
());
}
else
{
pushParam
.
setFd_3adfe65e60e110
(
CommonConstants
.
EMPTY_STRING
);
}
//保险开始日期
pushParam
.
setFd_3adfe6b7e0ede8
(
param
.
getPolicyStart
().
toString
());
if
(
null
!=
param
.
getPolicyStart
()){
pushParam
.
setFd_3adfe6b7e0ede8
(
param
.
getPolicyStart
().
toString
());
}
else
{
pushParam
.
setFd_3adfe6b7e0ede8
(
CommonConstants
.
EMPTY_STRING
);
}
//保险结束日期
pushParam
.
setFd_3adfe6b847bfe6
(
param
.
getPolicyEnd
().
toString
());
if
(
null
!=
param
.
getPolicyEnd
()){
pushParam
.
setFd_3adfe6b847bfe6
(
param
.
getPolicyEnd
().
toString
());
}
else
{
pushParam
.
setFd_3adfe6b847bfe6
(
CommonConstants
.
EMPTY_STRING
);
}
//购买标准
pushParam
.
setFd_3adfe6d55384c6
(
param
.
getBuyStandard
());
if
(
null
!=
param
.
getBuyStandard
()){
pushParam
.
setFd_3adfe6d55384c6
(
param
.
getBuyStandard
());
}
else
{
pushParam
.
setFd_3adfe6d55384c6
(
CommonConstants
.
EMPTY_STRING
);
}
//实际保费
pushParam
.
setFd_3adfe6610c0d2c
(
param
.
getActualPremium
());
if
(
null
!=
param
.
getActualPremium
()){
pushParam
.
setFd_3adfe6610c0d2c
(
param
.
getActualPremium
().
toString
());
}
else
{
pushParam
.
setFd_3adfe6610c0d2c
(
CommonConstants
.
EMPTY_STRING
);
}
//医保
pushParam
.
setFd_3adfe66041a996
(
param
.
getMedicalQuota
());
if
(
null
!=
param
.
getMedicalQuota
()){
pushParam
.
setFd_3adfe66041a996
(
param
.
getMedicalQuota
());
}
else
{
pushParam
.
setFd_3adfe66041a996
(
CommonConstants
.
EMPTY_STRING
);
}
//事故或残疾
pushParam
.
setFd_3adfe6609aa810
(
param
.
getDieDisableQuota
());
if
(
null
!=
param
.
getDieDisableQuota
()){
pushParam
.
setFd_3adfe6609aa810
(
param
.
getDieDisableQuota
());
}
else
{
pushParam
.
setFd_3adfe6609aa810
(
CommonConstants
.
EMPTY_STRING
);
}
//预估保费
pushParam
.
setFd_3adfe6e30f2a3c
(
param
.
getEstimatePremium
());
if
(
null
!=
param
.
getEstimatePremium
()){
pushParam
.
setFd_3adfe6e30f2a3c
(
param
.
getEstimatePremium
().
toString
());
}
else
{
pushParam
.
setFd_3adfe6e30f2a3c
(
CommonConstants
.
EMPTY_STRING
);
}
//结算月
pushParam
.
setFd_3aea2f0180eccc
(
param
.
getSettleMonth
());
if
(
null
!=
param
.
getSettleMonth
()){
pushParam
.
setFd_3aea2f0180eccc
(
param
.
getSettleMonth
());
}
else
{
pushParam
.
setFd_3aea2f0180eccc
(
CommonConstants
.
EMPTY_STRING
);
}
//交易类型
if
(
null
!=
param
.
getInteractiveType
()){
pushParam
.
setFd_3af9197b31071c
(
param
.
getInteractiveType
());
}
else
{
pushParam
.
setFd_3af9197b31071c
(
CommonConstants
.
ZERO_INT
);
}
return
pushParam
;
}
...
...
yifu-insurances/yifu-insurances-api/src/main/java/com/yifu/cloud/plus/v1/yifu/insurances/vo/DeptChangeCheckParam.java
View file @
90ff8965
...
...
@@ -122,5 +122,29 @@ public class DeptChangeCheckParam implements Serializable {
@Schema
(
description
=
"实际保费"
)
private
BigDecimal
actualPremium
;
/**
* 客户名称
*/
@Schema
(
description
=
"客户名称"
)
private
String
newCustomerName
;
/**
* 客户编码
*/
@Schema
(
description
=
"客户编码"
)
private
String
newCustomerCode
;
/**
* 客户名称
*/
@Schema
(
description
=
"客户名称"
)
private
String
oldCustomerName
;
/**
* 客户编码
*/
@Schema
(
description
=
"客户编码"
)
private
String
oldCustomerCode
;
}
yifu-insurances/yifu-insurances-api/src/main/java/com/yifu/cloud/plus/v1/yifu/insurances/vo/EKPInteractiveParam.java
View file @
90ff8965
...
...
@@ -26,6 +26,13 @@ public class EKPInteractiveParam implements Serializable {
@Schema
(
description
=
"主键"
)
private
String
id
;
/**
* 结算id
*/
@Schema
(
description
=
"结算id"
)
private
String
defaultSettleId
;
/**
* 单据类型 (0、与薪资合并结算 1、单独结算)
*/
...
...
@@ -149,7 +156,7 @@ public class EKPInteractiveParam implements Serializable {
/**
* 单据状态
*/
@Schema
(
description
=
"状态:1新增结算单,2
作废结算信息,3更新保单
信息"
)
@Schema
(
description
=
"状态:1新增结算单,2
更新保单信息,3作废结算
信息"
)
private
Integer
interactiveType
;
}
yifu-insurances/yifu-insurances-api/src/main/java/com/yifu/cloud/plus/v1/yifu/insurances/vo/TInsuranceSettlePushParam.java
View file @
90ff8965
package
com
.
yifu
.
cloud
.
plus
.
v1
.
yifu
.
insurances
.
vo
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
com.fasterxml.jackson.databind.annotation.JsonDeserialize
;
import
com.fasterxml.jackson.databind.annotation.JsonSerialize
;
import
com.fasterxml.jackson.datatype.jsr310.deser.LocalDateTimeDeserializer
;
import
com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer
;
import
io.swagger.v3.oas.annotations.media.Schema
;
import
lombok.Builder
;
import
lombok.Data
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.stereotype.Component
;
import
java.math.BigDecimal
;
import
java.time.LocalDate
;
import
java.util.Date
;
/**
* @author zhaji
...
...
@@ -19,10 +16,6 @@ import java.util.Date;
*/
@Data
public
class
TInsuranceSettlePushParam
{
/**
* ID主键 36位
*/
private
String
fd_id
;
/**
* 单据类型 200 单选(1,预估单,2,实缴单,3,差异单)
...
...
@@ -42,12 +35,6 @@ public class TInsuranceSettlePushParam{
@Schema
(
description
=
"项目名称"
)
private
String
fd_3adfe6592b4158
;
/**
* 单号 200
*/
@Schema
(
description
=
"单号"
)
private
String
fd_3adfe67a9f6364
;
/**
* 客户编码 200
*/
...
...
@@ -127,7 +114,7 @@ public class TInsuranceSettlePushParam{
* 实际保费 精确到小数点后两位
*/
@Schema
(
description
=
"实际保费"
)
private
BigDecimal
fd_3adfe6610c0d2c
;
private
String
fd_3adfe6610c0d2c
;
/**
* 医保 精确到小数点后两位
...
...
@@ -145,61 +132,8 @@ public class TInsuranceSettlePushParam{
* 预估保费(应收) 精确到小数点后两位
*/
@Schema
(
description
=
"预估保费"
)
private
BigDecimal
fd_3adfe6e30f2a3c
;
/**
* 结算状态 200 单选(1未结算,2结算中,3已结算)
*/
@Schema
(
description
=
"结算状态"
)
private
String
fd_3adfe6ec6a8cbe
;
/**
* 收款状态 200 单选(1未收,2已收)
*/
@Schema
(
description
=
"收款状态"
)
private
String
fd_3adfe6ef5dfaac
;
/**
* 收入结算单号 200
*/
@Schema
(
description
=
"收入结算单号"
)
private
String
fd_3adfe79fd04606
;
/**
* 收款认领单号 200
*/
@Schema
(
description
=
"收款认领单号"
)
private
String
fd_3adfe7a117f086
;
private
String
fd_3adfe6e30f2a3c
;
/**
* 应支出 精确到小数点后两位
*/
@Schema
(
description
=
"应支出"
)
private
Double
fd_3adfe6e3911ffe
;
/**
* 支出结算状态 200 单选(已结算,结算中,未结算)
*/
@Schema
(
description
=
"支出结算状态"
)
private
String
fd_3adfe6eda67236
;
/**
* 付款状态 200 单选(已收,未收)
*/
@Schema
(
description
=
"付款状态"
)
private
String
fd_3adfe6f05531ec
;
/**
* 支出结算单号 200
*/
@Schema
(
description
=
"支出结算单号"
)
private
String
fd_3adfe7a035849c
;
/**
* 付款单号 200
*/
@Schema
(
description
=
"付款单号"
)
private
String
fd_3adfe7a08eba96
;
/**
* 结算月份 200
...
...
@@ -208,10 +142,16 @@ public class TInsuranceSettlePushParam{
private
String
fd_3aea2f0180eccc
;
/**
* 状态 200
* 交易类型 200
*/
@Schema
(
description
=
"交易类型 1新增结算单,2作废结算信息,3更新保单信息"
)
private
Integer
fd_3af9197b31071c
;
/**
* 商险ID 200
*/
@Schema
(
description
=
"
状态1新增结算单,2作废结算信息,3更新保单信息
"
)
private
String
fd_3af
9197b31071c
;
@Schema
(
description
=
"
商险ID(商险id_结算id)
"
)
private
String
fd_3af
a8a70006bea
;
}
yifu-insurances/yifu-insurances-biz/src/main/java/com/yifu/cloud/plus/v1/yifu/insurances/service/impl/TInsuranceDetailServiceImpl.java
View file @
90ff8965
...
...
@@ -837,6 +837,8 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
// if 投保类型 == 新增,then 更新保单生效日期为:T+1,无需考虑节假日
detail
.
setPolicyEffect
(
LocalDate
.
now
().
plusDays
(
CommonConstants
.
ONE_INT
));
}
detail
.
setHandledBy
(
user
.
getId
());
detail
.
setHandledTime
(
LocalDateTime
.
now
());
detail
.
setUpdateBy
(
user
.
getId
());
detail
.
setUpdateTime
(
LocalDateTime
.
now
());
detailList
.
add
(
detail
);
...
...
@@ -953,11 +955,12 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
}
}
}
// 记录状态置为「退回」
detail
.
setBuyHandleStatus
(
CommonConstants
.
FOUR_INT
);
//投保成功后再次投保退回,需要将保单生效日期、是否有效、是否过期置为空
if
(
detail
.
getSignFlag
()
==
CommonConstants
.
ONE_INT
){
detail
.
setHandledTime
(
null
);
detail
.
setHandledBy
(
null
);
detail
.
setPolicyEffect
(
null
);
detail
.
setIsEffect
(
null
);
detail
.
setIsOverdue
(
null
);
...
...
@@ -1048,6 +1051,7 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
detail
.
setIsOverdue
(
CommonConstants
.
ZERO_INT
);
detail
.
setIsUse
(
CommonConstants
.
ZERO_INT
);
detail
.
setUpdateTime
(
LocalDateTime
.
now
());
detail
.
setUpdateBy
(
user
.
getId
());
successList
.
add
(
detail
);
}
else
{
//根据结算类型判断是否需要计算预估保费
...
...
@@ -1082,9 +1086,7 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
settle
.
setCreateTime
(
LocalDateTime
.
now
());
tInsuranceSettleService
.
save
(
settle
);
detail
.
setDefaultSettleId
(
settle
.
getId
());
successList
.
add
(
detail
);
}
else
{
//按天
//计算起止时间的天数
...
...
@@ -1116,7 +1118,6 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
settle
.
setCreateTime
(
LocalDateTime
.
now
());
tInsuranceSettleService
.
save
(
settle
);
detail
.
setDefaultSettleId
(
settle
.
getId
());
successList
.
add
(
detail
);
}
}
...
...
@@ -1140,6 +1141,11 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
}
}
if
(
CollectionUtils
.
isNotEmpty
(
successList
)){
for
(
TInsuranceDetail
tInsuranceDetail
:
successList
)
{
this
.
updateById
(
tInsuranceDetail
);
pushEstimate
(
tInsuranceDetail
);
}
//更新
this
.
saveOrUpdateBatch
(
successList
);
...
...
@@ -2159,18 +2165,7 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
}
}
}
//校验当前项目是否在权限范围内
if
(!
deptNoList
.
stream
().
anyMatch
(
u
->
u
.
equals
(
param
.
getDeptNo
()))){
param
.
setErrorMessage
(
InsurancesConstants
.
OLD_DEPT_NO_NOT_IN_DEPT_LIST
);
listResult
.
add
(
param
);
continue
;
}
//校验当前项目是否在权限范围内
if
(!
deptNoList
.
stream
().
anyMatch
(
u
->
u
.
equals
(
param
.
getReplaceDeptNo
()))){
param
.
setErrorMessage
(
InsurancesConstants
.
NEW_DEPT_NO_NOT_IN_DEPT_LIST
);
listResult
.
add
(
param
);
continue
;
}
//原数据查重校验:姓名 + 身份证号 + 项目编码 + 保险公司 + 险种名称 + 保单开始时间 + 保单结束时间
TInsuranceDetail
detail
=
this
.
baseMapper
.
selectOne
(
Wrappers
.<
TInsuranceDetail
>
query
().
lambda
()
.
eq
(
TInsuranceDetail:
:
getEmpName
,
param
.
getEmpName
())
...
...
@@ -2189,6 +2184,18 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
listResult
.
add
(
param
);
continue
;
}
else
{
//校验当前项目是否在权限范围内
if
(!
deptNoList
.
stream
().
anyMatch
(
u
->
u
.
equals
(
param
.
getDeptNo
()))){
param
.
setErrorMessage
(
InsurancesConstants
.
OLD_DEPT_NO_NOT_IN_DEPT_LIST
);
listResult
.
add
(
param
);
continue
;
}
//校验当前项目是否在权限范围内
if
(!
deptNoList
.
stream
().
anyMatch
(
u
->
u
.
equals
(
param
.
getReplaceDeptNo
()))){
param
.
setErrorMessage
(
InsurancesConstants
.
NEW_DEPT_NO_NOT_IN_DEPT_LIST
);
listResult
.
add
(
param
);
continue
;
}
// 投保状态 待投保 不能替换
if
(
detail
.
getBuyHandleStatus
()
==
CommonConstants
.
ONE_INT
){
param
.
setErrorMessage
(
InsurancesConstants
.
ONE_REPLACE_IS_NOT_ALLOW
);
...
...
@@ -2904,6 +2911,7 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
TInsuranceRefund
refund
=
new
TInsuranceRefund
();
detail
.
setId
(
record
.
getId
());
//update状态由「待减员」置为「减员中」
detail
.
setUpdateBy
(
user
.
getId
());
detail
.
setUpdateTime
(
LocalDateTime
.
now
());
detail
.
setReduceHandleStatus
(
CommonConstants
.
TWO_INT
);
detailList
.
add
(
detail
);
...
...
@@ -2981,6 +2989,7 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
}
else
{
tInsuranceDetail
.
setBuyHandleStatus
(
CommonConstants
.
THREE_INT
);
}
tInsuranceDetail
.
setUpdateBy
(
user
.
getId
());
tInsuranceDetail
.
setUpdateTime
(
LocalDateTime
.
now
());
successList
.
add
(
tInsuranceDetail
);
//更新减员记录
...
...
@@ -3026,18 +3035,65 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
}
Map
<
String
,
List
<
SettleMonthChangeCheckParam
>>
map
=
settleMonthChangeCheck
(
settleMonthCheckList
,
user
);
//todo 生成EKP通知,通知ekp变更结算月份
List
<
TInsuranceOperate
>
operateList
=
new
ArrayList
<>();
List
<
TInsuranceOperate
>
operateList
=
new
ArrayList
<>(
16
);
List
<
SettleMonthChangeCheckParam
>
successList
=
map
.
get
(
"successList"
);
List
<
SettleMonthChangeCheckParam
>
errorList
=
map
.
get
(
"errorList"
);
if
(
CollectionUtils
.
isNotEmpty
(
successList
)){
//当前保单结算信息不为空且已推送的情况下,推送EKP进行变更
List
<
EKPInteractiveParam
>
deptDetail
=
getDeptDetail
(
successList
);
for
(
EKPInteractiveParam
ekpInteractiveParam
:
deptDetail
)
{
threadPool
.
execute
(()
->
{
String
settleMonth
=
ekpInteractiveParam
.
getSettleMonth
();
TInsuranceDetail
byId
=
getById
(
ekpInteractiveParam
.
getId
());
BeanCopyUtils
.
copyProperties
(
byId
,
ekpInteractiveParam
);
String
body
=
EKPUtil
.
sendToEKP
(
ekpInteractiveParam
);
System
.
out
.
println
(
"变更成功后的id为:"
+
body
);
if
(!
StringUtils
.
isBlank
(
body
)){
String
defaultSettleId
=
byId
.
getDefaultSettleId
();
if
(
StringUtils
.
isNotBlank
(
defaultSettleId
)){
TInsuranceSettle
settle
=
tInsuranceSettleService
.
getById
(
defaultSettleId
);
Integer
isActualPush
=
settle
.
getIsActualPush
();
Integer
isEstimatePush
=
settle
.
getIsEstimatePush
();
if
(
isEstimatePush
==
CommonConstants
.
ONE_INT
||
isActualPush
==
CommonConstants
.
ONE_INT
){
BeanCopyUtils
.
copyProperties
(
byId
,
ekpInteractiveParam
);
ekpInteractiveParam
.
setSettleMonth
(
settleMonth
);
String
body
=
EKPUtil
.
sendToEKP
(
ekpInteractiveParam
);
System
.
out
.
println
(
"变更成功后的id为:"
+
body
);
if
(!
StringUtils
.
isBlank
(
body
)){
LambdaUpdateWrapper
<
TInsuranceDetail
>
updateWrapper
=
new
LambdaUpdateWrapper
<>();
updateWrapper
.
eq
(
TInsuranceDetail
::
getId
,
ekpInteractiveParam
.
getId
())
.
set
(
TInsuranceDetail
::
getSettleMonth
,
ekpInteractiveParam
.
getSettleMonth
())
.
set
(
TInsuranceDetail
::
getUpdateBy
,
user
.
getId
())
.
set
(
TInsuranceDetail
::
getUpdateTime
,
LocalDateTime
.
now
());
update
(
updateWrapper
);
TInsuranceOperate
insuranceOperate
=
new
TInsuranceOperate
();
insuranceOperate
.
setInsuranceDetailId
(
ekpInteractiveParam
.
getId
());
insuranceOperate
.
setCreateBy
(
user
.
getId
());
insuranceOperate
.
setCreateName
(
user
.
getNickname
());
insuranceOperate
.
setCreateTime
(
LocalDateTime
.
now
());
insuranceOperate
.
setOperateDesc
(
InsurancesConstants
.
MONTH_CHANGE
);
operateList
.
add
(
insuranceOperate
);
}
else
{
System
.
out
.
println
(
"更新EKP结算月份失败"
);
for
(
SettleMonthChangeCheckParam
success:
successList
){
if
(
success
.
getId
().
equals
(
ekpInteractiveParam
.
getId
())){
success
.
setErrorMessage
(
"更新EKP结算月份失败"
);
errorList
.
add
(
success
);
}
}
}
}
else
{
LambdaUpdateWrapper
<
TInsuranceDetail
>
updateWrapper
=
new
LambdaUpdateWrapper
<>();
updateWrapper
.
eq
(
TInsuranceDetail
::
getId
,
ekpInteractiveParam
.
getId
())
.
set
(
TInsuranceDetail
::
getSettleMonth
,
ekpInteractiveParam
.
getSettleMonth
())
.
set
(
TInsuranceDetail
::
getUpdateBy
,
user
.
getId
())
.
set
(
TInsuranceDetail
::
getUpdateTime
,
LocalDateTime
.
now
());
update
(
updateWrapper
);
TInsuranceOperate
insuranceOperate
=
new
TInsuranceOperate
();
insuranceOperate
.
setInsuranceDetailId
(
ekpInteractiveParam
.
getId
());
insuranceOperate
.
setCreateBy
(
user
.
getId
());
insuranceOperate
.
setCreateName
(
user
.
getNickname
());
insuranceOperate
.
setCreateTime
(
LocalDateTime
.
now
());
insuranceOperate
.
setOperateDesc
(
InsurancesConstants
.
MONTH_CHANGE
);
operateList
.
add
(
insuranceOperate
);
}
}
else
{
LambdaUpdateWrapper
<
TInsuranceDetail
>
updateWrapper
=
new
LambdaUpdateWrapper
<>();
updateWrapper
.
eq
(
TInsuranceDetail
::
getId
,
ekpInteractiveParam
.
getId
())
.
set
(
TInsuranceDetail
::
getSettleMonth
,
ekpInteractiveParam
.
getSettleMonth
())
...
...
@@ -3051,20 +3107,12 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
insuranceOperate
.
setCreateTime
(
LocalDateTime
.
now
());
insuranceOperate
.
setOperateDesc
(
InsurancesConstants
.
MONTH_CHANGE
);
operateList
.
add
(
insuranceOperate
);
System
.
out
.
println
(
"返回的id为:"
+
body
);
}
else
{
System
.
out
.
println
(
"更新EKP结算月份失败"
);
for
(
SettleMonthChangeCheckParam
success:
successList
){
if
(
success
.
getId
().
equals
(
ekpInteractiveParam
.
getId
())){
success
.
setErrorMessage
(
"更新EKP结算月份失败"
);
errorList
.
add
(
success
);
}
}
}
});
}
tInsuranceOperateService
.
saveBatch
(
operateList
);
}
tInsuranceOperateService
.
saveBatch
(
operateList
);
return
R
.
ok
(
errorList
,
"导入成功"
);
}
...
...
@@ -3078,6 +3126,8 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
@Override
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
R
deptChange
(
List
<
DeptChangeCheckParam
>
deptChangeCheckList
)
{
//初始化线程池
ThreadPoolExecutor
threadPool
=
new
ThreadPoolExecutor
(
50
,
50
,
100
,
TimeUnit
.
SECONDS
,
new
LinkedBlockingQueue
<>(
10
));
YifuUser
user
=
SecurityUtils
.
getUser
();
if
(!
Common
.
isNotEmpty
(
deptChangeCheckList
)){
return
R
.
failed
(
"当前变更所属项目列表为空"
);
...
...
@@ -3086,76 +3136,32 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
//todo 生成EKP通知,通知ekp变更结算所属项目
List
<
DeptChangeCheckParam
>
successList
=
stringListMap
.
get
(
"successList"
);
List
<
TInsuranceOperate
>
operateList
=
new
ArrayList
<>(
16
);
List
<
TInsuranceDetail
>
detailList
=
new
ArrayList
<>(
16
);
if
(
CollectionUtils
.
isNotEmpty
(
successList
)){
for
(
DeptChangeCheckParam
success
:
successList
)
{
TInsuranceDetail
one
=
getOne
(
lambdaQuery
().
getWrapper
().
eq
(
TInsuranceDetail:
:
getId
,
success
.
getId
()));
LambdaUpdateWrapper
<
TInsuranceDetail
>
updateWrapper
=
new
LambdaUpdateWrapper
<>();
Integer
oldSettleType
=
success
.
getOldSettleType
();
Integer
newSettleType
=
success
.
getNewSettleType
();
updateWrapper
.
eq
(
TInsuranceDetail
::
getId
,
success
.
getId
())
.
set
(
TInsuranceDetail
::
getDeptNo
,
success
.
getNewDeptNo
())
.
set
(
TInsuranceDetail
::
getSettleType
,
success
.
getNewSettleType
())
.
set
(
TInsuranceDetail
::
getUpdateBy
,
user
.
getId
())
.
set
(
TInsuranceDetail
::
getUpdateTime
,
LocalDateTime
.
now
());
String
insuranceDetailId
=
success
.
getId
();
//结算信息id
String
defaultSettleId
=
success
.
getDefaultSettleId
();
//实际保费
BigDecimal
actualPremium
=
success
.
getActualPremium
();
//如果变更前为单独结算
if
(
CommonConstants
.
ONE_INT
==
oldSettleType
){
//登记了保单保费
if
(!
BigDecimalUtils
.
isNullOrZero
(
actualPremium
)){
//变更后为单独结算
if
(
CommonConstants
.
ONE_INT
==
newSettleType
){
threadPool
.
execute
(()
->
{
EKPInteractiveParam
interactiveParam
=
new
EKPInteractiveParam
();
TInsuranceDetail
one
=
getOne
(
lambdaQuery
().
getWrapper
().
eq
(
TInsuranceDetail:
:
getId
,
success
.
getId
()));
BeanCopyUtils
.
copyProperties
(
one
,
interactiveParam
);
//更新新的客户,项目信息
LambdaUpdateWrapper
<
TInsuranceDetail
>
updateWrapper
=
new
LambdaUpdateWrapper
<>();
Integer
oldSettleType
=
success
.
getOldSettleType
();
Integer
newSettleType
=
success
.
getNewSettleType
();
updateWrapper
.
eq
(
TInsuranceDetail
::
getId
,
success
.
getId
())
.
set
(
TInsuranceDetail
::
getDeptNo
,
success
.
getNewDeptNo
())
.
set
(
TInsuranceDetail
::
getSettleType
,
success
.
getNewSettleType
())
.
set
(
TInsuranceDetail
::
getUpdateBy
,
user
.
getId
())
.
set
(
TInsuranceDetail
::
getUpdateTime
,
LocalDateTime
.
now
());
String
insuranceDetailId
=
success
.
getId
();
//结算信息id
String
defaultSettleId
=
success
.
getDefaultSettleId
();
//实际保费
BigDecimal
actualPremium
=
success
.
getActualPremium
();
//如果变更前为单独结算
if
(
CommonConstants
.
ONE_INT
==
oldSettleType
){
//登记了保单保费
if
(!
BigDecimalUtils
.
isNullOrZero
(
actualPremium
))
{
//根据旧的结算id获取旧的结算信息
TInsuranceSettle
byId
=
tInsuranceSettleService
.
getById
(
defaultSettleId
);
//如果已经推送过实际保费,则先作废,再推送新的实际保费
if
(
byId
.
getIsActualPush
()
==
CommonConstants
.
ONE_INT
){
//作废旧的数据,生成作废结算信息记录
TInsuranceSettleCancel
cancel
=
new
TInsuranceSettleCancel
();
cancel
.
setDeptNo
(
success
.
getOldDeptNo
());
cancel
.
setInsDetailId
(
success
.
getId
());
cancel
.
setSettleId
(
defaultSettleId
);
cancel
.
setCreateUesr
(
user
.
getId
());
cancel
.
setCreateTime
(
LocalDateTime
.
now
());
cancel
.
setDeptName
(
success
.
getOldDeptName
());
cancel
.
setIsCancelPush
(
CommonConstants
.
ZERO_INT
);
tInsuranceSettleCancelService
.
save
(
cancel
);
//推送至EKP执行作废操作
//TODO: 2022/8/2
//推送成功更新推送状态
cancel
.
setIsCancelPush
(
CommonConstants
.
ONE_INT
);
tInsuranceSettleCancelService
.
updateById
(
cancel
);
//生成新的结算信息
TInsuranceSettle
newInsuranceSettle
=
new
TInsuranceSettle
();
newInsuranceSettle
.
setInsDetailId
(
insuranceDetailId
);
newInsuranceSettle
.
setSettleType
(
newSettleType
);
newInsuranceSettle
.
setIsEstimatePush
(
CommonConstants
.
ZERO_INT
);
newInsuranceSettle
.
setIsActualPush
(
CommonConstants
.
ZERO_INT
);
newInsuranceSettle
.
setSettleHandleStatus
(
CommonConstants
.
ONE_STRING
);
newInsuranceSettle
.
setCreateTime
(
LocalDateTime
.
now
());
newInsuranceSettle
.
setActualPremium
(
success
.
getActualPremium
());
tInsuranceSettleService
.
save
(
newInsuranceSettle
);
//赋值新的结算信息id
updateWrapper
.
set
(
TInsuranceDetail
::
getDefaultSettleId
,
newInsuranceSettle
.
getId
());
update
(
updateWrapper
);
//推送新的
// TODO: 2022/8/2
//推送成功更新推送状态
newInsuranceSettle
.
setActualPushTime
(
LocalDateTime
.
now
());
newInsuranceSettle
.
setIsActualPush
(
CommonConstants
.
ONE_INT
);
newInsuranceSettle
.
setUpdateTime
(
LocalDateTime
.
now
());
tInsuranceSettleService
.
updateById
(
newInsuranceSettle
);
}
//如果没有推送过实际保费
if
(
byId
.
getIsActualPush
()
==
CommonConstants
.
ZERO_INT
){
//推送新的至EKP
}
}
//变更后为合并结算
if
(
CommonConstants
.
ZERO_INT
==
newSettleType
){
//作废旧的数据,生成作废结算信息记录
TInsuranceSettleCancel
cancel
=
new
TInsuranceSettleCancel
();
cancel
.
setDeptNo
(
success
.
getOldDeptNo
());
...
...
@@ -3166,120 +3172,162 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
cancel
.
setDeptName
(
success
.
getOldDeptName
());
cancel
.
setIsCancelPush
(
CommonConstants
.
ZERO_INT
);
tInsuranceSettleCancelService
.
save
(
cancel
);
//查询旧的结算信息
TInsuranceSettle
byId
=
tInsuranceSettleService
.
getById
(
defaultSettleId
);
//推送EKP
// TODO: 2022/8/2
//推送成功更新作废推送状态
cancel
.
setIsCancelPush
(
CommonConstants
.
ONE_INT
);
tInsuranceSettleCancelService
.
updateById
(
cancel
);
//新增新的结算信息
TInsuranceSettle
newInsuranceSettle
=
new
TInsuranceSettle
();
newInsuranceSettle
.
setInsDetailId
(
insuranceDetailId
);
newInsuranceSettle
.
setSettleType
(
newSettleType
);
newInsuranceSettle
.
setIsEstimatePush
(
CommonConstants
.
ZERO_INT
);
newInsuranceSettle
.
setIsActualPush
(
CommonConstants
.
ZERO_INT
);
newInsuranceSettle
.
setSettleHandleStatus
(
CommonConstants
.
ONE_STRING
);
newInsuranceSettle
.
setCreateTime
(
LocalDateTime
.
now
());
newInsuranceSettle
.
setActualPremium
(
success
.
getActualPremium
());
newInsuranceSettle
.
setEstimatePremium
(
success
.
getEstimatePremium
());
//生成新的结算信息
tInsuranceSettleService
.
save
(
newInsuranceSettle
);
//赋值新的预估费用和新的结算信息
updateWrapper
.
set
(
TInsuranceDetail
::
getEstimatePremium
,
success
.
getEstimatePremium
());
updateWrapper
.
set
(
TInsuranceDetail
::
getDefaultSettleId
,
newInsuranceSettle
.
getId
());
update
(
updateWrapper
);
//推送EKP
// TODO: 2022/8/2
//推送成功后更新本地推送状态
newInsuranceSettle
.
setActualPushTime
(
LocalDateTime
.
now
());
newInsuranceSettle
.
setEstimatePushTime
(
LocalDateTime
.
now
());
newInsuranceSettle
.
setIsActualPush
(
CommonConstants
.
ONE_INT
);
newInsuranceSettle
.
setIsEstimatePush
(
CommonConstants
.
ONE_INT
);
newInsuranceSettle
.
setUpdateTime
(
LocalDateTime
.
now
());
tInsuranceSettleService
.
updateById
(
newInsuranceSettle
);
}
}
//未登记保单保费
if
(
BigDecimalUtils
.
isNullOrZero
(
actualPremium
)){
//变更后为单独结算
if
(
CommonConstants
.
ONE_INT
==
newSettleType
){
//变更项目且不做处理
update
(
updateWrapper
);
//如果已经推送过实际保费,则先作废,再推送新的实际保费
if
(
byId
.
getIsActualPush
()
==
CommonConstants
.
ONE_INT
)
{
//TODO: 2022/8/2
//推送至EKP执行作废操作
interactiveParam
.
setActualPremium
(
one
.
getActualPremium
());
interactiveParam
.
setCustomerCode
(
success
.
getOldCustomerCode
());
interactiveParam
.
setCustomerName
(
success
.
getOldCustomerName
());
interactiveParam
.
setDeptNo
(
success
.
getOldDeptNo
());
interactiveParam
.
setDeptName
(
success
.
getOldDeptName
());
interactiveParam
.
setInteractiveType
(
CommonConstants
.
THREE_INT
);
String
deleteBody
=
EKPUtil
.
sendToEKP
(
interactiveParam
);
if
(
StringUtils
.
isBlank
(
deleteBody
))
{
//推送成功更新作废推送状态
cancel
.
setIsCancelPush
(
CommonConstants
.
ONE_INT
);
tInsuranceSettleCancelService
.
updateById
(
cancel
);
//变更后为单独结算
if
(
CommonConstants
.
ONE_INT
==
newSettleType
)
{
//生成新的结算信息
TInsuranceSettle
newInsuranceSettle
=
new
TInsuranceSettle
();
newInsuranceSettle
.
setInsDetailId
(
insuranceDetailId
);
newInsuranceSettle
.
setSettleType
(
newSettleType
);
newInsuranceSettle
.
setIsEstimatePush
(
CommonConstants
.
ZERO_INT
);
newInsuranceSettle
.
setIsActualPush
(
CommonConstants
.
ZERO_INT
);
newInsuranceSettle
.
setSettleHandleStatus
(
CommonConstants
.
ONE_STRING
);
newInsuranceSettle
.
setCreateTime
(
LocalDateTime
.
now
());
newInsuranceSettle
.
setActualPremium
(
success
.
getActualPremium
());
tInsuranceSettleService
.
save
(
newInsuranceSettle
);
//赋值新的结算信息id
updateWrapper
.
set
(
TInsuranceDetail:
:
getDefaultSettleId
,
newInsuranceSettle
.
getId
());
update
(
updateWrapper
);
// TODO: 2022/8/2
//推送新的结算信息至EKP
interactiveParam
.
setSettleType
(
CommonConstants
.
ONE_INT
);
interactiveParam
.
setInteractiveType
(
CommonConstants
.
ONE_INT
);
interactiveParam
.
setCustomerCode
(
success
.
getNewCustomerCode
());
interactiveParam
.
setCustomerName
(
success
.
getNewCustomerName
());
interactiveParam
.
setDeptNo
(
success
.
getNewDeptNo
());
interactiveParam
.
setDeptName
(
success
.
getNewDeptName
());
interactiveParam
.
setActualPremium
(
success
.
getActualPremium
());
String
addBody
=
EKPUtil
.
sendToEKP
(
interactiveParam
);
if
(
StringUtils
.
isNotBlank
(
addBody
)){
newInsuranceSettle
.
setActualPushTime
(
LocalDateTime
.
now
());
newInsuranceSettle
.
setIsActualPush
(
CommonConstants
.
ONE_INT
);
newInsuranceSettle
.
setUpdateTime
(
LocalDateTime
.
now
());
tInsuranceSettleService
.
updateById
(
newInsuranceSettle
);
}
else
{
//异常处理 // TODO: 2022/8/9
}
}
//变更后为合并结算
if
(
CommonConstants
.
ZERO_INT
==
newSettleType
)
{
//新增新的结算信息
TInsuranceSettle
newInsuranceSettle
=
new
TInsuranceSettle
();
newInsuranceSettle
.
setInsDetailId
(
insuranceDetailId
);
newInsuranceSettle
.
setSettleType
(
newSettleType
);
newInsuranceSettle
.
setIsEstimatePush
(
CommonConstants
.
ZERO_INT
);
newInsuranceSettle
.
setIsActualPush
(
CommonConstants
.
ZERO_INT
);
newInsuranceSettle
.
setSettleHandleStatus
(
CommonConstants
.
ONE_STRING
);
newInsuranceSettle
.
setCreateTime
(
LocalDateTime
.
now
());
newInsuranceSettle
.
setActualPremium
(
success
.
getActualPremium
());
newInsuranceSettle
.
setEstimatePremium
(
success
.
getEstimatePremium
());
//生成新的结算信息
tInsuranceSettleService
.
save
(
newInsuranceSettle
);
//赋值新的预估费用和新的结算信息
updateWrapper
.
set
(
TInsuranceDetail:
:
getEstimatePremium
,
success
.
getEstimatePremium
());
updateWrapper
.
set
(
TInsuranceDetail:
:
getDefaultSettleId
,
newInsuranceSettle
.
getId
());
update
(
updateWrapper
);
//推送EKP
// TODO: 2022/8/2
//先推送预估,再推送实际
interactiveParam
.
setCustomerCode
(
success
.
getNewCustomerCode
());
interactiveParam
.
setCustomerName
(
success
.
getNewCustomerName
());
interactiveParam
.
setDeptNo
(
success
.
getNewDeptNo
());
interactiveParam
.
setDeptName
(
success
.
getNewDeptName
());
interactiveParam
.
setInteractiveType
(
CommonConstants
.
ONE_INT
);
//推送预估单
interactiveParam
.
setEstimatePremium
(
success
.
getEstimatePremium
());
interactiveParam
.
setActualPremium
(
null
);
interactiveParam
.
setSettleType
(
CommonConstants
.
ZERO_INT
);
String
estimateBody
=
EKPUtil
.
sendToEKP
(
interactiveParam
);
if
(!
StringUtils
.
isBlank
(
estimateBody
))
{
newInsuranceSettle
.
setEstimatePushTime
(
LocalDateTime
.
now
());
newInsuranceSettle
.
setIsEstimatePush
(
CommonConstants
.
ONE_INT
);
newInsuranceSettle
.
setUpdateTime
(
LocalDateTime
.
now
());
tInsuranceSettleService
.
updateById
(
newInsuranceSettle
);
//推送实缴单
interactiveParam
.
setSettleType
(
CommonConstants
.
ONE_INT
);
interactiveParam
.
setEstimatePremium
(
null
);
interactiveParam
.
setActualPremium
(
success
.
getActualPremium
());
String
actualBody
=
EKPUtil
.
sendToEKP
(
interactiveParam
);
if
(!
StringUtils
.
isBlank
(
actualBody
))
{
//推送成功后更新本地推送状态
newInsuranceSettle
.
setActualPushTime
(
LocalDateTime
.
now
());
newInsuranceSettle
.
setIsActualPush
(
CommonConstants
.
ONE_INT
);
newInsuranceSettle
.
setUpdateTime
(
LocalDateTime
.
now
());
tInsuranceSettleService
.
updateById
(
newInsuranceSettle
);
}
else
{
//异常处理 // TODO: 2022/8/9
}
}
}
}
}
else
{
//异常处理 // TODO: 2022/8/9
}
}
//变更后为合并结算
if
(
CommonConstants
.
ZERO_INT
==
newSettleType
){
//生成预估结算信息
TInsuranceSettle
tInsuranceSettle
=
new
TInsuranceSettle
();
tInsuranceSettle
.
setInsDetailId
(
success
.
getId
());
tInsuranceSettle
.
setSettleType
(
success
.
getNewSettleType
());
tInsuranceSettle
.
setSettleHandleStatus
(
CommonConstants
.
ONE_STRING
);
tInsuranceSettle
.
setEstimatePremium
(
success
.
getEstimatePremium
());
tInsuranceSettle
.
setIsActualPush
(
CommonConstants
.
ZERO_INT
);
tInsuranceSettle
.
setIsEstimatePush
(
CommonConstants
.
ZERO_INT
);
tInsuranceSettle
.
setCreateTime
(
LocalDateTime
.
now
());
tInsuranceSettleService
.
save
(
tInsuranceSettle
);
//将结算id赋值给保单信息,并新增预估费用
updateWrapper
.
set
(
TInsuranceDetail
::
getEstimatePremium
,
success
.
getEstimatePremium
())
.
set
(
TInsuranceDetail
::
getDefaultSettleId
,
tInsuranceSettle
.
getId
());
update
(
updateWrapper
);
//推送结算信息至EKP
// TODO: 2022/8/2
//推送成功后更新本地推送状态
tInsuranceSettle
.
setIsEstimatePush
(
CommonConstants
.
ONE_INT
);
tInsuranceSettle
.
setEstimatePushTime
(
LocalDateTime
.
now
());
tInsuranceSettle
.
setUpdateTime
(
LocalDateTime
.
now
());
tInsuranceSettleService
.
updateById
(
tInsuranceSettle
);
//未登记保单保费
if
(
BigDecimalUtils
.
isNullOrZero
(
actualPremium
)){
//变更后为单独结算
if
(
CommonConstants
.
ONE_INT
==
newSettleType
){
//变更项目且不做处理
update
(
updateWrapper
);
}
//变更后为合并结算
if
(
CommonConstants
.
ZERO_INT
==
newSettleType
){
//生成预估结算信息
TInsuranceSettle
tInsuranceSettle
=
new
TInsuranceSettle
();
tInsuranceSettle
.
setInsDetailId
(
success
.
getId
());
tInsuranceSettle
.
setSettleType
(
success
.
getNewSettleType
());
tInsuranceSettle
.
setSettleHandleStatus
(
CommonConstants
.
ONE_STRING
);
tInsuranceSettle
.
setEstimatePremium
(
success
.
getEstimatePremium
());
tInsuranceSettle
.
setIsActualPush
(
CommonConstants
.
ZERO_INT
);
tInsuranceSettle
.
setIsEstimatePush
(
CommonConstants
.
ZERO_INT
);
tInsuranceSettle
.
setCreateTime
(
LocalDateTime
.
now
());
tInsuranceSettleService
.
save
(
tInsuranceSettle
);
//将结算id赋值给保单信息,并新增预估费用
updateWrapper
.
set
(
TInsuranceDetail
::
getEstimatePremium
,
success
.
getEstimatePremium
())
.
set
(
TInsuranceDetail
::
getDefaultSettleId
,
tInsuranceSettle
.
getId
());
update
(
updateWrapper
);
//推送结算信息至EKP
// TODO: 2022/8/2
interactiveParam
.
setCustomerCode
(
success
.
getNewCustomerCode
());
interactiveParam
.
setCustomerName
(
success
.
getNewCustomerName
());
interactiveParam
.
setDeptNo
(
success
.
getNewDeptNo
());
interactiveParam
.
setDeptName
(
success
.
getNewDeptName
());
interactiveParam
.
setInteractiveType
(
CommonConstants
.
ONE_INT
);
interactiveParam
.
setEstimatePremium
(
success
.
getEstimatePremium
());
interactiveParam
.
setActualPremium
(
null
);
interactiveParam
.
setSettleType
(
CommonConstants
.
ZERO_INT
);
String
estimateBody
=
EKPUtil
.
sendToEKP
(
interactiveParam
);
if
(!
StringUtils
.
isBlank
(
estimateBody
)){
//推送成功后更新本地推送状态
tInsuranceSettle
.
setIsEstimatePush
(
CommonConstants
.
ONE_INT
);
tInsuranceSettle
.
setEstimatePushTime
(
LocalDateTime
.
now
());
tInsuranceSettle
.
setUpdateTime
(
LocalDateTime
.
now
());
tInsuranceSettleService
.
updateById
(
tInsuranceSettle
);
}
else
{
//异常处理 // TODO: 2022/8/9
}
}
}
}
}
//变更前为合并结算
if
(
CommonConstants
.
ZERO_INT
==
oldSettleType
){
//如果已经登记保费
if
(!
BigDecimalUtils
.
isNullOrZero
(
actualPremium
)){
//变更为单独结算
if
(
CommonConstants
.
ONE_INT
==
newSettleType
){
//作废旧的结算信息
TInsuranceSettleCancel
cancel
=
new
TInsuranceSettleCancel
();
cancel
.
setDeptNo
(
success
.
getOldDeptNo
());
cancel
.
setInsDetailId
(
success
.
getId
());
cancel
.
setSettleId
(
defaultSettleId
);
cancel
.
setCreateUesr
(
user
.
getId
());
cancel
.
setCreateTime
(
LocalDateTime
.
now
());
cancel
.
setDeptName
(
success
.
getOldDeptName
());
cancel
.
setIsCancelPush
(
CommonConstants
.
ZERO_INT
);
tInsuranceSettleCancelService
.
save
(
cancel
);
TInsuranceSettle
byId
=
tInsuranceSettleService
.
getById
(
defaultSettleId
);
//推送EKP
// TODO: 2022/8/2
//推送成功更新作废推送状态
cancel
.
setIsCancelPush
(
CommonConstants
.
ONE_INT
);
tInsuranceSettleCancelService
.
updateById
(
cancel
);
//新增新的结算信息
TInsuranceSettle
newInsuranceSettle
=
new
TInsuranceSettle
();
newInsuranceSettle
.
setInsDetailId
(
insuranceDetailId
);
newInsuranceSettle
.
setSettleType
(
newSettleType
);
newInsuranceSettle
.
setIsEstimatePush
(
CommonConstants
.
ZERO_INT
);
newInsuranceSettle
.
setIsActualPush
(
CommonConstants
.
ZERO_INT
);
newInsuranceSettle
.
setSettleHandleStatus
(
CommonConstants
.
ONE_STRING
);
newInsuranceSettle
.
setCreateTime
(
LocalDateTime
.
now
());
newInsuranceSettle
.
setActualPremium
(
success
.
getActualPremium
());
tInsuranceSettleService
.
save
(
newInsuranceSettle
);
//更新预估费用为0.00
updateWrapper
.
set
(
TInsuranceDetail
::
getEstimatePremium
,
new
BigDecimal
(
"0.00"
));
updateWrapper
.
set
(
TInsuranceDetail
::
getDefaultSettleId
,
newInsuranceSettle
.
getId
());
update
(
updateWrapper
);
//推送新的结算信息至EKP
// TODO: 2022/8/2
//推送成功,更新推送状态
newInsuranceSettle
.
setIsActualPush
(
CommonConstants
.
ONE_INT
);
newInsuranceSettle
.
setActualPushTime
(
LocalDateTime
.
now
());
newInsuranceSettle
.
setUpdateTime
(
LocalDateTime
.
now
());
tInsuranceSettleService
.
updateById
(
newInsuranceSettle
);
}
//变更为合并结算
if
(
CommonConstants
.
ZERO_INT
==
newSettleType
){
//变更前为合并结算
if
(
CommonConstants
.
ZERO_INT
==
oldSettleType
){
//如果已经登记保费
if
(!
BigDecimalUtils
.
isNullOrZero
(
actualPremium
)){
//作废旧的结算信息
TInsuranceSettleCancel
cancel
=
new
TInsuranceSettleCancel
();
cancel
.
setDeptNo
(
success
.
getOldDeptNo
());
...
...
@@ -3290,42 +3338,105 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
cancel
.
setDeptName
(
success
.
getOldDeptName
());
cancel
.
setIsCancelPush
(
CommonConstants
.
ZERO_INT
);
tInsuranceSettleCancelService
.
save
(
cancel
);
TInsuranceSettle
byId
=
tInsuranceSettleService
.
getById
(
defaultSettleId
);
//推送EKP
//推送作废结算信息至EKP
// TODO: 2022/8/2
//推送成功更新作废推送状态
cancel
.
setIsCancelPush
(
CommonConstants
.
ONE_INT
);
tInsuranceSettleCancelService
.
updateById
(
cancel
);
//新增新的结算信息
TInsuranceSettle
newInsuranceSettle
=
new
TInsuranceSettle
();
newInsuranceSettle
.
setInsDetailId
(
insuranceDetailId
);
newInsuranceSettle
.
setSettleType
(
newSettleType
);
newInsuranceSettle
.
setIsEstimatePush
(
CommonConstants
.
ZERO_INT
);
newInsuranceSettle
.
setIsActualPush
(
CommonConstants
.
ZERO_INT
);
newInsuranceSettle
.
setSettleHandleStatus
(
CommonConstants
.
ONE_STRING
);
newInsuranceSettle
.
setCreateTime
(
LocalDateTime
.
now
());
newInsuranceSettle
.
setActualPremium
(
success
.
getActualPremium
());
newInsuranceSettle
.
setEstimatePremium
(
success
.
getEstimatePremium
());
tInsuranceSettleService
.
save
(
newInsuranceSettle
);
//更新预估费用为新的预估费用
updateWrapper
.
set
(
TInsuranceDetail
::
getEstimatePremium
,
success
.
getEstimatePremium
());
updateWrapper
.
set
(
TInsuranceDetail
::
getDefaultSettleId
,
newInsuranceSettle
.
getId
());
update
(
updateWrapper
);
//推送新的结算信息
// TODO: 2022/8/2
//推送成功,更新预估和实际保费的推送状态
newInsuranceSettle
.
setIsEstimatePush
(
CommonConstants
.
ONE_INT
);
newInsuranceSettle
.
setEstimatePushTime
(
LocalDateTime
.
now
());
newInsuranceSettle
.
setIsActualPush
(
CommonConstants
.
ONE_INT
);
newInsuranceSettle
.
setActualPushTime
(
LocalDateTime
.
now
());
newInsuranceSettle
.
setUpdateTime
(
LocalDateTime
.
now
());
tInsuranceSettleService
.
updateById
(
newInsuranceSettle
);
interactiveParam
.
setCustomerCode
(
success
.
getOldCustomerCode
());
interactiveParam
.
setCustomerName
(
success
.
getOldCustomerName
());
interactiveParam
.
setDeptNo
(
success
.
getOldDeptNo
());
interactiveParam
.
setDeptName
(
success
.
getOldDeptName
());
interactiveParam
.
setInteractiveType
(
CommonConstants
.
THREE_INT
);
interactiveParam
.
setEstimatePremium
(
one
.
getEstimatePremium
());
interactiveParam
.
setActualPremium
(
one
.
getActualPremium
());
interactiveParam
.
setSettleType
(
CommonConstants
.
ZERO_INT
);
String
deleteBody
=
EKPUtil
.
sendToEKP
(
interactiveParam
);
if
(
StringUtils
.
isNotBlank
(
deleteBody
)){
//推送成功更新作废推送状态
cancel
.
setIsCancelPush
(
CommonConstants
.
ONE_INT
);
tInsuranceSettleCancelService
.
updateById
(
cancel
);
//变更为单独结算
if
(
CommonConstants
.
ONE_INT
==
newSettleType
){
//新增新的结算信息
TInsuranceSettle
newInsuranceSettle
=
new
TInsuranceSettle
();
newInsuranceSettle
.
setInsDetailId
(
insuranceDetailId
);
newInsuranceSettle
.
setSettleType
(
newSettleType
);
newInsuranceSettle
.
setIsEstimatePush
(
CommonConstants
.
ZERO_INT
);
newInsuranceSettle
.
setIsActualPush
(
CommonConstants
.
ZERO_INT
);
newInsuranceSettle
.
setSettleHandleStatus
(
CommonConstants
.
ONE_STRING
);
newInsuranceSettle
.
setCreateTime
(
LocalDateTime
.
now
());
newInsuranceSettle
.
setActualPremium
(
success
.
getActualPremium
());
tInsuranceSettleService
.
save
(
newInsuranceSettle
);
//更新预估费用为0.00
updateWrapper
.
set
(
TInsuranceDetail
::
getEstimatePremium
,
new
BigDecimal
(
"0.00"
));
updateWrapper
.
set
(
TInsuranceDetail
::
getDefaultSettleId
,
newInsuranceSettle
.
getId
());
update
(
updateWrapper
);
//推送新的结算信息至EKP,先推预估单,再推实际保费
// TODO: 2022/8/2
interactiveParam
.
setCustomerCode
(
success
.
getNewCustomerCode
());
interactiveParam
.
setCustomerName
(
success
.
getNewCustomerName
());
interactiveParam
.
setDeptNo
(
success
.
getNewDeptNo
());
interactiveParam
.
setDeptName
(
success
.
getNewDeptName
());
interactiveParam
.
setInteractiveType
(
CommonConstants
.
ONE_INT
);
interactiveParam
.
setEstimatePremium
(
null
);
interactiveParam
.
setActualPremium
(
success
.
getActualPremium
());
interactiveParam
.
setSettleType
(
CommonConstants
.
ONE_INT
);
String
actualBody
=
EKPUtil
.
sendToEKP
(
interactiveParam
);
if
(
StringUtils
.
isNotBlank
(
actualBody
)){
//推送成功,更新推送状态
newInsuranceSettle
.
setIsActualPush
(
CommonConstants
.
ONE_INT
);
newInsuranceSettle
.
setActualPushTime
(
LocalDateTime
.
now
());
newInsuranceSettle
.
setUpdateTime
(
LocalDateTime
.
now
());
tInsuranceSettleService
.
updateById
(
newInsuranceSettle
);
}
else
{
//异常处理 // TODO: 2022/8/9
}
}
//变更为合并结算
if
(
CommonConstants
.
ZERO_INT
==
newSettleType
){
//新增新的结算信息
TInsuranceSettle
newInsuranceSettle
=
new
TInsuranceSettle
();
newInsuranceSettle
.
setInsDetailId
(
insuranceDetailId
);
newInsuranceSettle
.
setSettleType
(
newSettleType
);
newInsuranceSettle
.
setIsEstimatePush
(
CommonConstants
.
ZERO_INT
);
newInsuranceSettle
.
setIsActualPush
(
CommonConstants
.
ZERO_INT
);
newInsuranceSettle
.
setSettleHandleStatus
(
CommonConstants
.
ONE_STRING
);
newInsuranceSettle
.
setCreateTime
(
LocalDateTime
.
now
());
newInsuranceSettle
.
setActualPremium
(
success
.
getActualPremium
());
newInsuranceSettle
.
setEstimatePremium
(
success
.
getEstimatePremium
());
tInsuranceSettleService
.
save
(
newInsuranceSettle
);
//更新预估费用为新的预估费用
updateWrapper
.
set
(
TInsuranceDetail
::
getEstimatePremium
,
success
.
getEstimatePremium
());
updateWrapper
.
set
(
TInsuranceDetail
::
getDefaultSettleId
,
newInsuranceSettle
.
getId
());
update
(
updateWrapper
);
//推送新的结算信息
// TODO: 2022/8/2
interactiveParam
.
setCustomerCode
(
success
.
getNewCustomerCode
());
interactiveParam
.
setCustomerName
(
success
.
getNewCustomerName
());
interactiveParam
.
setDeptNo
(
success
.
getNewDeptNo
());
interactiveParam
.
setDeptName
(
success
.
getNewDeptName
());
interactiveParam
.
setInteractiveType
(
CommonConstants
.
ONE_INT
);
interactiveParam
.
setEstimatePremium
(
null
);
interactiveParam
.
setActualPremium
(
success
.
getActualPremium
());
interactiveParam
.
setSettleType
(
CommonConstants
.
ONE_INT
);
String
actualBody
=
EKPUtil
.
sendToEKP
(
interactiveParam
);
//推送成功,更新预估和实际保费的推送状态
if
(
StringUtils
.
isNotBlank
(
actualBody
)){
newInsuranceSettle
.
setIsEstimatePush
(
CommonConstants
.
ONE_INT
);
newInsuranceSettle
.
setEstimatePushTime
(
LocalDateTime
.
now
());
newInsuranceSettle
.
setIsActualPush
(
CommonConstants
.
ONE_INT
);
newInsuranceSettle
.
setActualPushTime
(
LocalDateTime
.
now
());
newInsuranceSettle
.
setUpdateTime
(
LocalDateTime
.
now
());
tInsuranceSettleService
.
updateById
(
newInsuranceSettle
);
}
else
{
//异常处理 // TODO: 2022/8/9
}
}
}
else
{
//异常处理 // TODO: 2022/8/9
}
}
}
//如果没有登记保费
if
(
BigDecimalUtils
.
isNullOrZero
(
actualPremium
)){
//变更为单独结算
if
(
CommonConstants
.
ONE_INT
==
newSettleType
){
//如果没有登记保费
if
(
BigDecimalUtils
.
isNullOrZero
(
actualPremium
)){
//作废旧的结算信息
TInsuranceSettleCancel
cancel
=
new
TInsuranceSettleCancel
();
cancel
.
setDeptNo
(
success
.
getOldDeptNo
());
...
...
@@ -3338,56 +3449,69 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
tInsuranceSettleCancelService
.
save
(
cancel
);
//推送至EKP
// TODO: 2022/8/2
//推送成功后更新作废信息推送状态
cancel
.
setIsCancelPush
(
CommonConstants
.
ONE_INT
);
tInsuranceSettleCancelService
.
updateById
(
cancel
);
//删除预估费用和结算id
updateWrapper
.
set
(
TInsuranceDetail
::
getEstimatePremium
,
new
BigDecimal
(
"0.00"
));
updateWrapper
.
set
(
TInsuranceDetail
::
getDefaultSettleId
,
null
);
update
(
updateWrapper
);
}
//变更为合并结算
if
(
CommonConstants
.
ZERO_INT
==
newSettleType
){
//作废旧的结算信息
TInsuranceSettleCancel
cancel
=
new
TInsuranceSettleCancel
();
cancel
.
setDeptNo
(
success
.
getOldDeptNo
());
cancel
.
setInsDetailId
(
success
.
getId
());
cancel
.
setSettleId
(
defaultSettleId
);
cancel
.
setCreateUesr
(
user
.
getId
());
cancel
.
setCreateTime
(
LocalDateTime
.
now
());
cancel
.
setDeptName
(
success
.
getOldDeptName
());
cancel
.
setIsCancelPush
(
CommonConstants
.
ZERO_INT
);
tInsuranceSettleCancelService
.
save
(
cancel
);
TInsuranceSettle
byId
=
tInsuranceSettleService
.
getById
(
defaultSettleId
);
//推送至EKP作废
// TODO: 2022/8/2
//推送成功更新作废推送状态
cancel
.
setIsCancelPush
(
CommonConstants
.
ONE_INT
);
tInsuranceSettleCancelService
.
updateById
(
cancel
);
//新增新的结算信息
TInsuranceSettle
newInsuranceSettle
=
new
TInsuranceSettle
();
newInsuranceSettle
.
setInsDetailId
(
insuranceDetailId
);
newInsuranceSettle
.
setSettleType
(
newSettleType
);
newInsuranceSettle
.
setIsEstimatePush
(
CommonConstants
.
ZERO_INT
);
newInsuranceSettle
.
setIsActualPush
(
CommonConstants
.
ZERO_INT
);
newInsuranceSettle
.
setSettleHandleStatus
(
CommonConstants
.
ONE_STRING
);
newInsuranceSettle
.
setCreateTime
(
LocalDateTime
.
now
());
newInsuranceSettle
.
setEstimatePremium
(
success
.
getEstimatePremium
());
tInsuranceSettleService
.
save
(
newInsuranceSettle
);
//更新预估费用
updateWrapper
.
set
(
TInsuranceDetail
::
getEstimatePremium
,
success
.
getEstimatePremium
());
updateWrapper
.
set
(
TInsuranceDetail
::
getDefaultSettleId
,
newInsuranceSettle
.
getId
());
update
(
updateWrapper
);
//推送新的结算信息至EKP
// TODO: 2022/8/2
//推送成功更新预估推送状态
newInsuranceSettle
.
setIsEstimatePush
(
CommonConstants
.
ONE_INT
);
newInsuranceSettle
.
setEstimatePushTime
(
LocalDateTime
.
now
());
newInsuranceSettle
.
setUpdateTime
(
LocalDateTime
.
now
());
tInsuranceSettleService
.
updateById
(
newInsuranceSettle
);
interactiveParam
.
setCustomerCode
(
success
.
getOldCustomerCode
());
interactiveParam
.
setCustomerName
(
success
.
getOldCustomerName
());
interactiveParam
.
setDeptNo
(
success
.
getOldDeptNo
());
interactiveParam
.
setDeptName
(
success
.
getOldDeptName
());
interactiveParam
.
setInteractiveType
(
CommonConstants
.
THREE_INT
);
interactiveParam
.
setEstimatePremium
(
one
.
getEstimatePremium
());
interactiveParam
.
setSettleType
(
CommonConstants
.
ZERO_INT
);
String
deleteBody
=
EKPUtil
.
sendToEKP
(
interactiveParam
);
if
(
StringUtils
.
isNotBlank
(
deleteBody
)){
//推送成功后更新作废信息推送状态
cancel
.
setIsCancelPush
(
CommonConstants
.
ONE_INT
);
tInsuranceSettleCancelService
.
updateById
(
cancel
);
//变更为单独结算
if
(
CommonConstants
.
ONE_INT
==
newSettleType
){
//删除预估费用和结算id
updateWrapper
.
set
(
TInsuranceDetail
::
getEstimatePremium
,
new
BigDecimal
(
"0.00"
));
updateWrapper
.
set
(
TInsuranceDetail
::
getDefaultSettleId
,
null
);
update
(
updateWrapper
);
}
//变更为合并结算
if
(
CommonConstants
.
ZERO_INT
==
newSettleType
){
//新增新的结算信息
TInsuranceSettle
newInsuranceSettle
=
new
TInsuranceSettle
();
newInsuranceSettle
.
setInsDetailId
(
insuranceDetailId
);
newInsuranceSettle
.
setSettleType
(
newSettleType
);
newInsuranceSettle
.
setIsEstimatePush
(
CommonConstants
.
ZERO_INT
);
newInsuranceSettle
.
setIsActualPush
(
CommonConstants
.
ZERO_INT
);
newInsuranceSettle
.
setSettleHandleStatus
(
CommonConstants
.
ONE_STRING
);
newInsuranceSettle
.
setCreateTime
(
LocalDateTime
.
now
());
newInsuranceSettle
.
setEstimatePremium
(
success
.
getEstimatePremium
());
tInsuranceSettleService
.
save
(
newInsuranceSettle
);
//更新预估费用
updateWrapper
.
set
(
TInsuranceDetail
::
getEstimatePremium
,
success
.
getEstimatePremium
());
updateWrapper
.
set
(
TInsuranceDetail
::
getDefaultSettleId
,
newInsuranceSettle
.
getId
());
update
(
updateWrapper
);
//推送新的结算信息至EKP
// TODO: 2022/8/2
interactiveParam
.
setCustomerCode
(
success
.
getNewCustomerCode
());
interactiveParam
.
setCustomerName
(
success
.
getNewCustomerName
());
interactiveParam
.
setDeptNo
(
success
.
getNewDeptNo
());
interactiveParam
.
setDeptName
(
success
.
getNewDeptName
());
interactiveParam
.
setInteractiveType
(
CommonConstants
.
ONE_INT
);
interactiveParam
.
setEstimatePremium
(
success
.
getEstimatePremium
());
interactiveParam
.
setActualPremium
(
null
);
interactiveParam
.
setSettleType
(
CommonConstants
.
ONE_INT
);
String
estimateBody
=
EKPUtil
.
sendToEKP
(
interactiveParam
);
if
(
StringUtils
.
isNotBlank
(
estimateBody
)){
//推送成功更新预估推送状态
newInsuranceSettle
.
setIsEstimatePush
(
CommonConstants
.
ONE_INT
);
newInsuranceSettle
.
setEstimatePushTime
(
LocalDateTime
.
now
());
newInsuranceSettle
.
setUpdateTime
(
LocalDateTime
.
now
());
tInsuranceSettleService
.
updateById
(
newInsuranceSettle
);
}
else
{
//异常处理 // TODO: 2022/8/9
}
}
}
else
{
//异常处理 // TODO: 2022/8/9
}
}
}
}
}
);
//新增操作信息
TInsuranceOperate
insuranceOperate
=
new
TInsuranceOperate
();
insuranceOperate
.
setInsuranceDetailId
(
success
.
getId
());
...
...
@@ -3396,12 +3520,10 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
insuranceOperate
.
setCreateTime
(
LocalDateTime
.
now
());
insuranceOperate
.
setOperateDesc
(
InsurancesConstants
.
DEPT_CHANGE
);
operateList
.
add
(
insuranceOperate
);
detailList
.
add
(
one
);
}
}
tInsuranceOperateService
.
saveBatch
(
operateList
);
List
<
DeptChangeCheckParam
>
errorList
=
stringListMap
.
get
(
"errorList"
);
//EKPUtil.testAddNewsInRestTemplate(detailList);
return
R
.
ok
(
errorList
,
"导入成功"
);
}
...
...
@@ -3892,7 +4014,8 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
.
eq
(
TInsuranceDetail
::
getEmpName
,
empName
)
.
eq
(
TInsuranceDetail
::
getEmpIdcardNo
,
empIdCardNo
)
.
eq
(
TInsuranceDetail
::
getInsuranceCompanyName
,
insuranceCompanyName
)
.
eq
(
TInsuranceDetail
::
getDeptNo
,
deptNo
).
eq
(
TInsuranceDetail
::
getBuyStandard
,
buyStandard
)
.
eq
(
TInsuranceDetail
::
getDeptNo
,
deptNo
)
.
eq
(
TInsuranceDetail
::
getBuyStandard
,
buyStandard
)
.
eq
(
TInsuranceDetail
::
getInsuranceTypeName
,
insuranceTypeName
)
.
eq
(
TInsuranceDetail
::
getPolicyStart
,
LocalDateUtil
.
parseLocalDate
(
policyStart
)
)
.
eq
(
TInsuranceDetail
::
getPolicyEnd
,
LocalDateUtil
.
parseLocalDate
(
policyEnd
))
...
...
@@ -3953,7 +4076,7 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
if
(
StringUtils
.
isNotEmpty
(
defaultSettleId
)){
//查询结算状态
LambdaQueryWrapper
<
TInsuranceSettle
>
insuranceSettleQuery
=
new
LambdaQueryWrapper
<>();
insuranceSettleQuery
.
eq
(
TInsuranceSettle
::
getI
nsDetailId
,
insuranceDetail
.
getId
()
);
insuranceSettleQuery
.
eq
(
TInsuranceSettle
::
getI
d
,
defaultSettleId
);
TInsuranceSettle
insuranceSettle
=
tInsuranceSettleService
.
getOne
(
insuranceSettleQuery
);
if
(!
Common
.
isEmpty
(
insuranceSettle
)){
//当前结算状态为结算中时,不能变更结算月
...
...
@@ -4115,7 +4238,11 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
continue
;
}
param
.
setOldDeptName
(
oldJsonObject
.
getDepartName
());
param
.
setOldCustomerCode
(
oldJsonObject
.
getCustomerCode
());
param
.
setOldCustomerName
(
oldJsonObject
.
getCustomerName
());
param
.
setNewDeptName
(
jsonObject
.
getDepartName
());
param
.
setNewCustomerName
(
jsonObject
.
getCustomerName
());
param
.
setOldCustomerCode
(
jsonObject
.
getCustomerCode
());
String
settleType
=
jsonObject
.
getInsuranceSettleType
();
if
(
StringUtils
.
isEmpty
(
settleType
)){
param
.
setErrorMessage
(
InsurancesConstants
.
PROJECT_NOT_FIND_SETTLE_TYPE
);
...
...
@@ -4164,6 +4291,18 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
errorList
.
add
(
param
);
continue
;
}
//旧项目ID不在当前权限范围内
if
(!
deptNoList
.
stream
().
anyMatch
(
u
->
u
.
equals
(
oldDeptNo
))){
param
.
setErrorMessage
(
InsurancesConstants
.
OLD_DEPT_NO_NOT_IN_DEPT_LIST
);
errorList
.
add
(
param
);
continue
;
}
//新项目ID不在当前权限范围内
if
(!
deptNoList
.
stream
().
anyMatch
(
u
->
u
.
equals
(
newDeptNo
))){
param
.
setErrorMessage
(
InsurancesConstants
.
NEW_DEPT_NO_NOT_IN_DEPT_LIST
);
errorList
.
add
(
param
);
continue
;
}
//替换类型的保单不能变更所属项目
Integer
buyType
=
insuranceDetail
.
getBuyType
();
if
(
CommonConstants
.
FOUR_INT
==
buyType
){
...
...
@@ -4377,6 +4516,13 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
}
/**
* 获取项目权限
*
* @author zhaji
* @param user
* @return {@link List< String>}
*/
public
List
<
String
>
getDeptNoList
(
YifuUser
user
){
List
<
String
>
deptList
=
new
ArrayList
<>(
16
);
String
id
=
user
.
getId
();
...
...
@@ -4408,6 +4554,13 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
return
deptList
;
}
/**
* 获取地市权限
*
* @author zhaji
* @param user
* @return {@link String}
*/
public
String
getRegionSQL
(
YifuUser
user
){
String
id
=
user
.
getId
();
String
sql
;
...
...
@@ -4444,6 +4597,7 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
for
(
SettleMonthChangeCheckParam
param
:
list
)
{
ProjectSetInfoVo
projectSetInfoVo
=
data
.
get
(
param
.
getDeptNo
());
ekpInteractiveParam
.
setId
(
param
.
getId
());
ekpInteractiveParam
.
setSettleMonth
(
param
.
getSettleMonth
());
ekpInteractiveParam
.
setDeptName
(
projectSetInfoVo
.
getDepartName
());
ekpInteractiveParam
.
setCustomerName
(
projectSetInfoVo
.
getCustomerName
());
ekpInteractiveParam
.
setCustomerCode
(
projectSetInfoVo
.
getCustomerCode
());
...
...
@@ -4454,4 +4608,17 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
}
/**
* 投保成功后推送预估保费
*
* @author zhaji
* @param
* @return {@link String}
*/
public
String
pushEstimate
(
TInsuranceDetail
tInsuranceDetail
){
String
deptNo
=
tInsuranceDetail
.
getDeptNo
();
return
null
;
}
}
yifu-insurances/yifu-insurances-biz/src/main/resources/mapper/TInsuranceDetailMapper.xml
View file @
90ff8965
...
...
@@ -51,7 +51,9 @@
<result
property=
"updateBy"
column=
"UPDATE_BY"
jdbcType=
"VARCHAR"
/>
<result
property=
"updateTime"
column=
"UPDATE_TIME"
jdbcType=
"TIMESTAMP"
/>
<result
property=
"deleteFlag"
column=
"DELETE_FLAG"
jdbcType=
"TINYINT"
/>
</resultMap>
<result
property=
"handledBy"
column=
"HANDLED_BY"
jdbcType=
"VARCHAR"
/>
<result
property=
"handledTime"
column=
"HANDLED_TIME"
jdbcType=
"TIMESTAMP"
/>
</resultMap>
<sql
id=
"Base_Column_List"
>
ID,EMP_NAME,
...
...
@@ -65,8 +67,8 @@
BUY_HANDLE_STATUS,DEFAULT_SETTLE_ID,REDUCE_HANDLE_STATUS,
IS_USE,IS_EFFECT,IS_OVERDUE,REMARK,
CREATE_BY,CREATE_NAME,CREATE_TIME,
UPDATE_BY,UPDATE_TIME,DELETE_FLAG,DEFAULT_SETTLE_ID
</sql>
UPDATE_BY,UPDATE_TIME,DELETE_FLAG,DEFAULT_SETTLE_ID
,HANDLED_BY,HANDLED_TIME
</sql>
<!--投保办理分页查询-->
<select
id=
"getInsuranceListPage"
resultType=
"com.yifu.cloud.plus.v1.yifu.insurances.vo.InsuranceListVO"
>
select detail.id as id,
...
...
@@ -167,7 +169,7 @@
and ${param.regionSql}
</if>
<if
test=
"param.updateBy != null and param.updateBy.trim() != ''"
>
and detail.
UPDATE
_BY = #{param.updateBy}
and detail.
HANDLED
_BY = #{param.updateBy}
</if>
ORDER BY detail.BUY_HANDLE_STATUS,detail.CREATE_TIME DESC
</select>
...
...
@@ -886,7 +888,6 @@
<where>
1=1
AND EMP_IDCARD_NO = #{idCard}
AND IS_EFFECT = 0
</where>
ORDER BY CREATE_TIME desc
</select>
...
...
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