Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
Y
yd-csf
Overview
Overview
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
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
xingmin
yd-csf
Commits
8e7e2381
Commit
8e7e2381
authored
Jun 03, 2026
by
zhangxingmin
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/dev' into prod
parents
d77df53c
0b7a2a19
Hide whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
161 additions
and
113 deletions
+161
-113
yd-csf-api/src/main/java/com/yd/csf/api/controller/ApiCommissionExpectedController.java
+2
-2
yd-csf-api/src/main/java/com/yd/csf/api/service/impl/ApiExpectedFortuneServiceImpl.java
+1
-1
yd-csf-api/src/main/java/com/yd/csf/api/service/impl/ApiPremiumRemittanceServiceImpl.java
+32
-4
yd-csf-feign/src/main/java/com/yd/csf/feign/dto/premiumremittance/ApiPremiumRemittanceDto.java
+11
-11
yd-csf-service/src/main/java/com/yd/csf/service/dao/CommissionExpectedMapper.java
+3
-1
yd-csf-service/src/main/java/com/yd/csf/service/dto/FortuneAccountQueryRequest.java
+2
-0
yd-csf-service/src/main/java/com/yd/csf/service/service/CommissionExpectedService.java
+1
-1
yd-csf-service/src/main/java/com/yd/csf/service/service/impl/CommissionExpectedServiceImpl.java
+6
-6
yd-csf-service/src/main/java/com/yd/csf/service/service/impl/CommissionServiceImpl.java
+34
-22
yd-csf-service/src/main/java/com/yd/csf/service/service/impl/FortuneAccountServiceImpl.java
+4
-1
yd-csf-service/src/main/resources/mappers/CommissionExpectedMapper.xml
+65
-64
No files found.
yd-csf-api/src/main/java/com/yd/csf/api/controller/ApiCommissionExpectedController.java
View file @
8e7e2381
...
@@ -241,7 +241,7 @@ public class ApiCommissionExpectedController {
...
@@ -241,7 +241,7 @@ public class ApiCommissionExpectedController {
.
map
(
CommissionExpected:
:
getId
)
.
map
(
CommissionExpected:
:
getId
)
.
collect
(
Collectors
.
toList
());
.
collect
(
Collectors
.
toList
());
CommissionExpectedStatisticsVO
statisticsNewVO
=
commissionExpectedService
CommissionExpectedStatisticsVO
statisticsNewVO
=
commissionExpectedService
.
getExpectedStatisticsNew
(
expectedIds
);
.
getExpectedStatisticsNew
(
allExpectedList
);
// 获取混合分页结果
// 获取混合分页结果
Page
<
CommissionExpectedNewVO
>
mixedPage
=
commissionExpectedService
Page
<
CommissionExpectedNewVO
>
mixedPage
=
commissionExpectedService
...
@@ -380,7 +380,7 @@ public class ApiCommissionExpectedController {
...
@@ -380,7 +380,7 @@ public class ApiCommissionExpectedController {
List
<
Long
>
allExpectedIdList
=
allCommissionExpectedList
.
stream
().
map
(
CommissionExpected:
:
getId
).
collect
(
Collectors
.
toList
());
List
<
Long
>
allExpectedIdList
=
allCommissionExpectedList
.
stream
().
map
(
CommissionExpected:
:
getId
).
collect
(
Collectors
.
toList
());
// 查询统计数据(基于所有符合条件的记录)
// 查询统计数据(基于所有符合条件的记录)
CommissionExpectedStatisticsVO
statisticsVO
=
commissionExpectedService
.
getExpectedStatisticsNew
(
all
ExpectedI
dList
);
CommissionExpectedStatisticsVO
statisticsVO
=
commissionExpectedService
.
getExpectedStatisticsNew
(
all
CommissionExpecte
dList
);
// 应收款报表分页查询 - 按保单号和期数维度统计
// 应收款报表分页查询 - 按保单号和期数维度统计
Page
<
ReceivableReportVO
>
reportPage
=
new
Page
<>(
commissionExpectedQueryRequest
.
getPageNo
(),
commissionExpectedQueryRequest
.
getPageSize
());
Page
<
ReceivableReportVO
>
reportPage
=
new
Page
<>(
commissionExpectedQueryRequest
.
getPageNo
(),
commissionExpectedQueryRequest
.
getPageSize
());
...
...
yd-csf-api/src/main/java/com/yd/csf/api/service/impl/ApiExpectedFortuneServiceImpl.java
View file @
8e7e2381
...
@@ -1136,7 +1136,7 @@ public class ApiExpectedFortuneServiceImpl implements ApiExpectedFortuneService
...
@@ -1136,7 +1136,7 @@ public class ApiExpectedFortuneServiceImpl implements ApiExpectedFortuneService
// 校验是否存在
// 校验是否存在
for
(
ExpectedFortuneAddRequest
request
:
fortuneAddRequestList
)
{
for
(
ExpectedFortuneAddRequest
request
:
fortuneAddRequestList
)
{
String
key
=
String
.
format
(
"%s_%s_%s"
,
request
.
getPolicyNo
(),
request
.
getFortunePeriod
(),
request
.
getFortune
Biz
Type
());
String
key
=
String
.
format
(
"%s_%s_%s"
,
request
.
getPolicyNo
(),
request
.
getFortunePeriod
(),
request
.
getFortuneType
());
if
(
existingRecordsMap
.
containsKey
(
key
))
{
if
(
existingRecordsMap
.
containsKey
(
key
))
{
throw
new
BusinessException
(
ResultCode
.
PARAM_CHECK_ERROR
.
getCode
(),
"当前期数已存在: "
+
request
.
getFortuneName
());
throw
new
BusinessException
(
ResultCode
.
PARAM_CHECK_ERROR
.
getCode
(),
"当前期数已存在: "
+
request
.
getFortuneName
());
}
}
...
...
yd-csf-api/src/main/java/com/yd/csf/api/service/impl/ApiPremiumRemittanceServiceImpl.java
View file @
8e7e2381
...
@@ -90,9 +90,23 @@ public class ApiPremiumRemittanceServiceImpl implements ApiPremiumRemittanceServ
...
@@ -90,9 +90,23 @@ public class ApiPremiumRemittanceServiceImpl implements ApiPremiumRemittanceServ
PremiumRemittance
premiumRemittance
=
result
.
getData
();
PremiumRemittance
premiumRemittance
=
result
.
getData
();
BeanUtils
.
copyProperties
(
request
,
premiumRemittance
);
BeanUtils
.
copyProperties
(
request
,
premiumRemittance
);
//支付凭证
//支付凭证
premiumRemittance
.
setPaymentVoucher
(!
CollectionUtils
.
isEmpty
(
request
.
getPaymentVoucherList
())
?
String
.
join
(
";"
,
request
.
getPaymentVoucherList
())
:
""
);
List
<
String
>
paymentVoucherList
=
new
ArrayList
<>();
if
(!
CollectionUtils
.
isEmpty
(
request
.
getPaymentVoucherDtoList
()))
{
paymentVoucherList
=
request
.
getPaymentVoucherDtoList
().
stream
()
.
filter
(
dto
->
StringUtils
.
isNotBlank
(
dto
.
getFileUrl
()))
.
map
(
ApiPremiumRemittanceFileDto:
:
getFileUrl
)
.
collect
(
Collectors
.
toList
());
}
premiumRemittance
.
setPaymentVoucher
(!
CollectionUtils
.
isEmpty
(
paymentVoucherList
)
?
String
.
join
(
";"
,
paymentVoucherList
)
:
""
);
//账户证明
//账户证明
premiumRemittance
.
setAccountVerification
(!
CollectionUtils
.
isEmpty
(
request
.
getAccountVerificationList
())
?
String
.
join
(
";"
,
request
.
getAccountVerificationList
())
:
""
);
List
<
String
>
accountVerificationList
=
new
ArrayList
<>();
if
(!
CollectionUtils
.
isEmpty
(
request
.
getAccountVerificationDtoList
()))
{
accountVerificationList
=
request
.
getAccountVerificationDtoList
().
stream
()
.
filter
(
dto
->
StringUtils
.
isNotBlank
(
dto
.
getFileUrl
()))
.
map
(
ApiPremiumRemittanceFileDto:
:
getFileUrl
)
.
collect
(
Collectors
.
toList
());
}
premiumRemittance
.
setAccountVerification
(!
CollectionUtils
.
isEmpty
(
accountVerificationList
)
?
String
.
join
(
";"
,
accountVerificationList
)
:
""
);
iPremiumRemittanceService
.
saveOrUpdate
(
premiumRemittance
);
iPremiumRemittanceService
.
saveOrUpdate
(
premiumRemittance
);
//保存-保费对账汇款记录附件列表
//保存-保费对账汇款记录附件列表
apiPremiumRemittanceFileService
.
savePremiumRemittanceFileList
(
request
.
getApiPremiumRemittanceFileDtoList
(),
request
.
getPremiumRemittanceBizId
());
apiPremiumRemittanceFileService
.
savePremiumRemittanceFileList
(
request
.
getApiPremiumRemittanceFileDtoList
(),
request
.
getPremiumRemittanceBizId
());
...
@@ -154,9 +168,23 @@ public class ApiPremiumRemittanceServiceImpl implements ApiPremiumRemittanceServ
...
@@ -154,9 +168,23 @@ public class ApiPremiumRemittanceServiceImpl implements ApiPremiumRemittanceServ
//保费对账-汇款记录表唯一业务ID
//保费对账-汇款记录表唯一业务ID
premiumRemittance
.
setPremiumRemittanceBizId
(
RandomStringGenerator
.
generateBizId16
(
CommonEnum
.
UID_TYPE_PREMIUM_REMITTANCE
.
getCode
()));
premiumRemittance
.
setPremiumRemittanceBizId
(
RandomStringGenerator
.
generateBizId16
(
CommonEnum
.
UID_TYPE_PREMIUM_REMITTANCE
.
getCode
()));
//支付凭证
//支付凭证
premiumRemittance
.
setPaymentVoucher
(!
CollectionUtils
.
isEmpty
(
dto
.
getPaymentVoucherList
())
?
String
.
join
(
";"
,
dto
.
getPaymentVoucherList
())
:
""
);
List
<
String
>
paymentVoucherList
=
new
ArrayList
<>();
if
(!
CollectionUtils
.
isEmpty
(
dto
.
getPaymentVoucherDtoList
()))
{
paymentVoucherList
=
dto
.
getPaymentVoucherDtoList
().
stream
()
.
filter
(
dto1
->
StringUtils
.
isNotBlank
(
dto1
.
getFileUrl
()))
.
map
(
ApiPremiumRemittanceFileDto:
:
getFileUrl
)
.
collect
(
Collectors
.
toList
());
}
premiumRemittance
.
setPaymentVoucher
(!
CollectionUtils
.
isEmpty
(
paymentVoucherList
)
?
String
.
join
(
";"
,
paymentVoucherList
)
:
""
);
//账户证明
//账户证明
premiumRemittance
.
setAccountVerification
(!
CollectionUtils
.
isEmpty
(
dto
.
getAccountVerificationList
())
?
String
.
join
(
";"
,
dto
.
getAccountVerificationList
())
:
""
);
List
<
String
>
accountVerificationList
=
new
ArrayList
<>();
if
(!
CollectionUtils
.
isEmpty
(
dto
.
getAccountVerificationDtoList
()))
{
accountVerificationList
=
dto
.
getAccountVerificationDtoList
().
stream
()
.
filter
(
dto1
->
StringUtils
.
isNotBlank
(
dto1
.
getFileUrl
()))
.
map
(
ApiPremiumRemittanceFileDto:
:
getFileUrl
)
.
collect
(
Collectors
.
toList
());
}
premiumRemittance
.
setAccountVerification
(!
CollectionUtils
.
isEmpty
(
accountVerificationList
)
?
String
.
join
(
";"
,
accountVerificationList
)
:
""
);
iPremiumRemittanceService
.
saveOrUpdate
(
premiumRemittance
);
iPremiumRemittanceService
.
saveOrUpdate
(
premiumRemittance
);
//添加-保费对账汇款记录附件列表
//添加-保费对账汇款记录附件列表
...
...
yd-csf-feign/src/main/java/com/yd/csf/feign/dto/premiumremittance/ApiPremiumRemittanceDto.java
View file @
8e7e2381
...
@@ -73,17 +73,17 @@ public class ApiPremiumRemittanceDto {
...
@@ -73,17 +73,17 @@ public class ApiPremiumRemittanceDto {
@JsonDeserialize
(
using
=
CustomLocalDateTimeDeserializer
.
class
)
@JsonDeserialize
(
using
=
CustomLocalDateTimeDeserializer
.
class
)
private
LocalDateTime
paymentDate
;
private
LocalDateTime
paymentDate
;
/**
//
/**
* 支付凭证列表
//
* 支付凭证列表
*/
//
*/
@NotEmpty
(
message
=
"支付凭证列表不能为空"
)
//
@NotEmpty(message = "支付凭证列表不能为空")
private
List
<
String
>
paymentVoucherList
;
//
private List<String> paymentVoucherList;
//
/**
//
/**
* 账户证明列表
//
* 账户证明列表
*/
//
*/
@NotEmpty
(
message
=
"账户证明列表不能为空"
)
//
@NotEmpty(message = "账户证明列表不能为空")
private
List
<
String
>
accountVerificationList
;
//
private List<String> accountVerificationList;
/**
/**
* 支付凭证列表
* 支付凭证列表
...
...
yd-csf-service/src/main/java/com/yd/csf/service/dao/CommissionExpectedMapper.java
View file @
8e7e2381
package
com
.
yd
.
csf
.
service
.
dao
;
package
com
.
yd
.
csf
.
service
.
dao
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.core.toolkit.Constants
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.yd.csf.service.model.CommissionExpected
;
import
com.yd.csf.service.model.CommissionExpected
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
...
@@ -27,7 +29,7 @@ public interface CommissionExpectedMapper extends BaseMapper<CommissionExpected>
...
@@ -27,7 +29,7 @@ public interface CommissionExpectedMapper extends BaseMapper<CommissionExpected>
* @return 应收款报表VO分页列表
* @return 应收款报表VO分页列表
*/
*/
IPage
<
ReceivableReportVO
>
receivableReportPage
(
@Param
(
"page"
)
Page
<
ReceivableReportVO
>
page
,
IPage
<
ReceivableReportVO
>
receivableReportPage
(
@Param
(
"page"
)
Page
<
ReceivableReportVO
>
page
,
@Param
(
"expectedIds"
)
List
<
Long
>
expectedIds
);
@Param
(
"expectedIds"
)
List
<
Long
>
expectedIds
);
}
}
...
...
yd-csf-service/src/main/java/com/yd/csf/service/dto/FortuneAccountQueryRequest.java
View file @
8e7e2381
...
@@ -40,4 +40,6 @@ public class FortuneAccountQueryRequest extends PageDto {
...
@@ -40,4 +40,6 @@ public class FortuneAccountQueryRequest extends PageDto {
@Schema
(
description
=
"出账日期结束"
)
@Schema
(
description
=
"出账日期结束"
)
private
String
accountDateEnd
;
private
String
accountDateEnd
;
private
String
businessNo
;
}
}
yd-csf-service/src/main/java/com/yd/csf/service/service/CommissionExpectedService.java
View file @
8e7e2381
...
@@ -60,7 +60,7 @@ public interface CommissionExpectedService extends IService<CommissionExpected>
...
@@ -60,7 +60,7 @@ public interface CommissionExpectedService extends IService<CommissionExpected>
CommissionExpectedStatisticsVO
getExpectedStatistics
(
List
<
Long
>
expectedIds
);
CommissionExpectedStatisticsVO
getExpectedStatistics
(
List
<
Long
>
expectedIds
);
CommissionExpectedStatisticsVO
getExpectedStatisticsNew
(
List
<
Long
>
expectedIds
);
CommissionExpectedStatisticsVO
getExpectedStatisticsNew
(
List
<
CommissionExpected
>
allExpectedList
);
CommissionExpected
getByBizId
(
String
commissionExpectedBizId
);
CommissionExpected
getByBizId
(
String
commissionExpectedBizId
);
...
...
yd-csf-service/src/main/java/com/yd/csf/service/service/impl/CommissionExpectedServiceImpl.java
View file @
8e7e2381
...
@@ -970,17 +970,17 @@ public class CommissionExpectedServiceImpl extends ServiceImpl<CommissionExpecte
...
@@ -970,17 +970,17 @@ public class CommissionExpectedServiceImpl extends ServiceImpl<CommissionExpecte
}
}
@Override
@Override
public
CommissionExpectedStatisticsVO
getExpectedStatisticsNew
(
List
<
Long
>
expectedIds
)
{
public
CommissionExpectedStatisticsVO
getExpectedStatisticsNew
(
List
<
CommissionExpected
>
allExpectedList
)
{
// 空集合直接返回空统计
// 空集合直接返回空统计
if
(
CollectionUtils
.
isEmpty
(
expectedIds
))
{
if
(
CollectionUtils
.
isEmpty
(
allExpectedList
))
{
return
emptyStatistics
();
return
emptyStatistics
();
}
}
// 查询所有记录(包含失效状态)
// 查询所有记录(包含失效状态)
List
<
CommissionExpected
>
allExpectedList
=
this
.
listByIds
(
expectedIds
);
//
List<CommissionExpected> allExpectedList = this.listByIds(expectedIds);
if
(
CollectionUtils
.
isEmpty
(
allExpectedList
))
{
//
if (CollectionUtils.isEmpty(allExpectedList)) {
return
emptyStatistics
();
//
return emptyStatistics();
}
//
}
// 过滤掉已失效的记录(status = "3")
// 过滤掉已失效的记录(status = "3")
List
<
CommissionExpected
>
validList
=
allExpectedList
.
stream
()
List
<
CommissionExpected
>
validList
=
allExpectedList
.
stream
()
...
...
yd-csf-service/src/main/java/com/yd/csf/service/service/impl/CommissionServiceImpl.java
View file @
8e7e2381
...
@@ -652,7 +652,7 @@ public class CommissionServiceImpl extends ServiceImpl<CommissionMapper, Commiss
...
@@ -652,7 +652,7 @@ public class CommissionServiceImpl extends ServiceImpl<CommissionMapper, Commiss
// 2. 根据本次发佣期数,删除未出账的记录
// 2. 根据本次发佣期数,删除未出账的记录
List
<
Fortune
>
fortuneList
=
fortuneService
.
lambdaQuery
()
List
<
Fortune
>
fortuneList
=
fortuneService
.
lambdaQuery
()
.
eq
(
Fortune:
:
getStatus
,
FortuneStatusEnum
.
CAN_SEND
.
getItemValue
())
.
in
(
Fortune:
:
getStatus
,
FortuneStatusEnum
.
CAN_SEND
.
getItemValue
(),
FortuneStatusEnum
.
WAIT
.
getItemValue
())
.
in
(
Fortune:
:
getExpectedFortuneBizId
,
filteredExpectedFortuneList1
.
stream
().
map
(
ExpectedFortune:
:
getExpectedFortuneBizId
).
collect
(
Collectors
.
toList
()))
.
in
(
Fortune:
:
getExpectedFortuneBizId
,
filteredExpectedFortuneList1
.
stream
().
map
(
ExpectedFortune:
:
getExpectedFortuneBizId
).
collect
(
Collectors
.
toList
()))
.
list
();
.
list
();
...
@@ -783,28 +783,40 @@ public class CommissionServiceImpl extends ServiceImpl<CommissionMapper, Commiss
...
@@ -783,28 +783,40 @@ public class CommissionServiceImpl extends ServiceImpl<CommissionMapper, Commiss
String
key
=
buildPolicyPeriodKey
(
expectedFortune
.
getPolicyNo
(),
expectedFortune
.
getFortunePeriod
());
String
key
=
buildPolicyPeriodKey
(
expectedFortune
.
getPolicyNo
(),
expectedFortune
.
getFortunePeriod
());
BigDecimal
exchangeRate
=
exchangeRateMap
.
get
(
key
);
BigDecimal
exchangeRate
=
exchangeRateMap
.
get
(
key
);
if
(
exchangeRate
!=
null
)
{
if
(
exchangeRate
!=
null
)
{
// 入账检核汇率 — 仅审计追溯,始终写入
fortune
.
setExchangeRate
(
exchangeRate
);
fortune
.
setExchangeRate
(
exchangeRate
);
fortune
.
setOriginalToHkdRate
(
exchangeRate
);
// 重新计算港币金额
// 判断 expectedFortune.originalCurrency 、入账币种-fortune.currency 是否都等于 HKD
BigDecimal
hkdAmount
=
fortune
.
getRuleAmount
().
multiply
(
exchangeRate
);
Commission
matchedCommission
=
commissionByPolicyPeriod
.
get
(
key
);
boolean
isAllHkd
=
matchedCommission
!=
null
fortune
.
setHkdAmount
(
hkdAmount
);
&&
"HKD"
.
equalsIgnoreCase
(
expectedFortune
.
getOriginalCurrency
())
fortune
.
setCurrentPaymentAmount
(
fortune
.
getRuleAmount
());
&&
"HKD"
.
equalsIgnoreCase
(
matchedCommission
.
getCurrency
());
fortune
.
setCurrentPaymentHkdAmount
(
hkdAmount
);
// 重新计算发放币种金额
if
(
isAllHkd
)
{
BigDecimal
payoutAmount
=
hkdAmount
.
multiply
(
expectedFortune
.
getHkdToPayoutRate
());
// 原币种 = HKD 时,exchangeRate = 保单币种 → 港币,可安全使用
fortune
.
setPayoutAmount
(
payoutAmount
);
fortune
.
setOriginalToHkdRate
(
exchangeRate
);
BigDecimal
hkdAmount
=
fortune
.
getRuleAmount
().
multiply
(
exchangeRate
);
// 更新预计发佣记录的港币金额
fortune
.
setHkdAmount
(
hkdAmount
);
ExpectedFortune
update
=
new
ExpectedFortune
();
fortune
.
setCurrentPaymentAmount
(
fortune
.
getRuleAmount
());
update
.
setId
(
expectedFortune
.
getId
());
fortune
.
setCurrentPaymentHkdAmount
(
hkdAmount
);
update
.
setDefaultExchangeRate
(
exchangeRate
);
BigDecimal
payoutAmount
=
hkdAmount
.
multiply
(
expectedFortune
.
getHkdToPayoutRate
());
update
.
setOriginalToHkdRate
(
exchangeRate
);
fortune
.
setPayoutAmount
(
payoutAmount
);
update
.
setHkdAmount
(
hkdAmount
);
update
.
setUnpaidAmount
(
hkdAmount
);
ExpectedFortune
update
=
new
ExpectedFortune
();
update
.
setUnpaidRuleAmountHkd
(
hkdAmount
);
update
.
setId
(
expectedFortune
.
getId
());
update
.
setPayoutAmount
(
payoutAmount
);
update
.
setDefaultExchangeRate
(
exchangeRate
);
updatedExpectedFortuneList
.
add
(
update
);
update
.
setOriginalToHkdRate
(
exchangeRate
);
update
.
setHkdAmount
(
hkdAmount
);
update
.
setUnpaidAmount
(
hkdAmount
);
update
.
setUnpaidRuleAmountHkd
(
hkdAmount
);
update
.
setPayoutAmount
(
payoutAmount
);
updatedExpectedFortuneList
.
add
(
update
);
}
else
{
// 入账币种 ≠ HKD,无法推导保单币种 → 港币,用 ExpectedFortune 已有默认值
fortune
.
setExchangeRate
(
expectedFortune
.
getDefaultExchangeRate
());
fortune
.
setCurrentPaymentAmount
(
expectedFortune
.
getOriginalAmount
());
fortune
.
setCurrentPaymentHkdAmount
(
expectedFortune
.
getHkdAmount
());
}
}
else
{
}
else
{
fortune
.
setExchangeRate
(
expectedFortune
.
getDefaultExchangeRate
());
fortune
.
setExchangeRate
(
expectedFortune
.
getDefaultExchangeRate
());
fortune
.
setCurrentPaymentAmount
(
expectedFortune
.
getOriginalAmount
());
fortune
.
setCurrentPaymentAmount
(
expectedFortune
.
getOriginalAmount
());
...
...
yd-csf-service/src/main/java/com/yd/csf/service/service/impl/FortuneAccountServiceImpl.java
View file @
8e7e2381
...
@@ -86,6 +86,7 @@ public class FortuneAccountServiceImpl extends ServiceImpl<FortuneAccountMapper,
...
@@ -86,6 +86,7 @@ public class FortuneAccountServiceImpl extends ServiceImpl<FortuneAccountMapper,
Date
end
=
parseEndDate
(
fortuneAccountQueryRequest
.
getAccountDateEnd
());
Date
end
=
parseEndDate
(
fortuneAccountQueryRequest
.
getAccountDateEnd
());
queryWrapper
.
ge
(
start
!=
null
,
"fortune_account_date"
,
start
);
queryWrapper
.
ge
(
start
!=
null
,
"fortune_account_date"
,
start
);
queryWrapper
.
le
(
end
!=
null
,
"fortune_account_date"
,
end
);
queryWrapper
.
le
(
end
!=
null
,
"fortune_account_date"
,
end
);
queryWrapper
.
like
(
StringUtils
.
isNotBlank
(
fortuneAccountQueryRequest
.
getBusinessNo
()),
"business_no"
,
fortuneAccountQueryRequest
.
getBusinessNo
());
// 默认排序
// 默认排序
queryWrapper
.
orderByDesc
(
"fortune_account_date"
);
queryWrapper
.
orderByDesc
(
"fortune_account_date"
);
return
queryWrapper
;
return
queryWrapper
;
...
@@ -504,6 +505,8 @@ public class FortuneAccountServiceImpl extends ServiceImpl<FortuneAccountMapper,
...
@@ -504,6 +505,8 @@ public class FortuneAccountServiceImpl extends ServiceImpl<FortuneAccountMapper,
// 应发港币金额(估)
// 应发港币金额(估)
BigDecimal
hkdAmount
=
hkdAmountMap
.
getOrDefault
(
ef
.
getExpectedFortuneBizId
(),
BigDecimal
.
ZERO
);
BigDecimal
hkdAmount
=
hkdAmountMap
.
getOrDefault
(
ef
.
getExpectedFortuneBizId
(),
BigDecimal
.
ZERO
);
BigDecimal
expectedHKD
=
hkdAmount
.
add
(
unpaidRuleAmountHkd
);
BigDecimal
expectedHKD
=
hkdAmount
.
add
(
unpaidRuleAmountHkd
);
// 发放币种金额 = 港币 × 港币兑发放币种汇率
BigDecimal
expectedPayout
=
expectedHKD
.
multiply
(
ef
.
getHkdToPayoutRate
());
// 累计出账港币金额
// 累计出账港币金额
BigDecimal
paid
=
paidMap
.
getOrDefault
(
ef
.
getExpectedFortuneBizId
(),
BigDecimal
.
ZERO
);
BigDecimal
paid
=
paidMap
.
getOrDefault
(
ef
.
getExpectedFortuneBizId
(),
BigDecimal
.
ZERO
);
...
@@ -526,7 +529,7 @@ public class FortuneAccountServiceImpl extends ServiceImpl<FortuneAccountMapper,
...
@@ -526,7 +529,7 @@ public class FortuneAccountServiceImpl extends ServiceImpl<FortuneAccountMapper,
.
set
(
ExpectedFortune:
:
getUnpaidRuleAmount
,
unpaidRule
)
.
set
(
ExpectedFortune:
:
getUnpaidRuleAmount
,
unpaidRule
)
.
set
(
ExpectedFortune:
:
getUnpaidRuleAmountHkd
,
unpaidRuleAmountHkd
)
.
set
(
ExpectedFortune:
:
getUnpaidRuleAmountHkd
,
unpaidRuleAmountHkd
)
.
set
(
ExpectedFortune:
:
getHkdAmount
,
expectedHKD
)
.
set
(
ExpectedFortune:
:
getHkdAmount
,
expectedHKD
)
.
set
(
ExpectedFortune:
:
getPayoutAmount
,
expected
HKD
)
.
set
(
ExpectedFortune:
:
getPayoutAmount
,
expected
Payout
)
.
set
(
ExpectedFortune:
:
getPaidAmount
,
paid
)
.
set
(
ExpectedFortune:
:
getPaidAmount
,
paid
)
.
set
(
ExpectedFortune:
:
getUnpaidAmount
,
unpaidRuleAmountHkd
)
.
set
(
ExpectedFortune:
:
getUnpaidAmount
,
unpaidRuleAmountHkd
)
.
set
(
ExpectedFortune:
:
getPaidRatio
,
totalPaidRatio
)
.
set
(
ExpectedFortune:
:
getPaidRatio
,
totalPaidRatio
)
...
...
yd-csf-service/src/main/resources/mappers/CommissionExpectedMapper.xml
View file @
8e7e2381
...
@@ -70,38 +70,38 @@
...
@@ -70,38 +70,38 @@
<select
id=
"receivableReportPage"
resultType=
"com.yd.csf.service.vo.ReceivableReportVO"
>
<select
id=
"receivableReportPage"
resultType=
"com.yd.csf.service.vo.ReceivableReportVO"
>
select
select
null as receivableNo,
null as receivableNo,
ce.policy_no as policyNo,
ce.policy_no as policyNo,
(select pp.name from policy_policyholder pp where pp.policy_biz_id = p.policy_biz_id limit 1) as policyHolder,
(select pp.name from policy_policyholder pp where pp.policy_biz_id = p.policy_biz_id limit 1) as policyHolder,
(select pp.name_en from policy_policyholder pp where pp.policy_biz_id = p.policy_biz_id limit 1) as policyHolderEn,
(select pp.name_en from policy_policyholder pp where pp.policy_biz_id = p.policy_biz_id limit 1) as policyHolderEn,
(select pi.name from policy_insurant pi where pi.policy_biz_id = p.policy_biz_id limit 1) as insured,
(select pi.name from policy_insurant pi where pi.policy_biz_id = p.policy_biz_id limit 1) as insured,
(select pi.name_en from policy_insurant pi where pi.policy_biz_id = p.policy_biz_id limit 1) as insuredEn,
(select pi.name_en from policy_insurant pi where pi.policy_biz_id = p.policy_biz_id limit 1) as insuredEn,
ce.manual_remark as manualRemark,
ce.manual_remark as manualRemark,
MAX(ce.reconciliation_company) as reconciliationCompany,
MAX(ce.reconciliation_company) as reconciliationCompany,
MAX(ce.reconciliation_company_biz_id) as reconciliationCompanyBizId,
MAX(ce.reconciliation_company_biz_id) as reconciliationCompanyBizId,
ce.commission_period as commissionPeriod,
ce.commission_period as commissionPeriod,
MAX(ce.total_period) as totalPeriod,
MAX(ce.total_period) as totalPeriod,
MAX(ce.commission_date) as commissionDate,
MAX(ce.commission_date) as commissionDate,
ifnull(sum(ce.commission_ratio), 0) as commissionRatio,
ifnull(sum(ce.commission_ratio), 0) as commissionRatio,
ifnull(sum(ce.paid_ratio), 0) as paid,
ifnull(sum(ce.paid_ratio), 0) as paid,
ifnull(sum(ce.amount), 0) as amount,
ifnull(sum(ce.amount), 0) as amount,
MAX(ce.currency) as currency,
MAX(ce.currency) as currency,
ifnull(sum(ce.expected_amount), 0) as hkdAmount,
ifnull(sum(ce.expected_amount), 0) as hkdAmount,
ifnull(sum(ce.paid_amount), 0) as paidAmount,
ifnull(sum(ce.paid_amount), 0) as paidAmount,
ifnull(sum(ce.expected_amount) - sum(ce.paid_amount), 0) as unpaidAmount,
ifnull(sum(ce.expected_amount) - sum(ce.paid_amount), 0) as unpaidAmount,
case when ifnull(sum(ce.expected_amount), 0) > 0
case when ifnull(sum(ce.expected_amount), 0) > 0
then round(ifnull(sum(ce.paid_amount), 0) / ifnull(sum(ce.expected_amount), 0) * 100, 2)
then round(ifnull(sum(ce.paid_amount), 0) / ifnull(sum(ce.expected_amount), 0) * 100, 2)
else 0
else 0
end as paidRatio,
end as paidRatio,
case when ifnull(sum(ce.expected_amount), 0) > 0
case when ifnull(sum(ce.expected_amount), 0) > 0
then round((ifnull(sum(ce.expected_amount), 0) - ifnull(sum(ce.paid_amount), 0)) / ifnull(sum(ce.expected_amount), 0) * 100, 2)
then round((ifnull(sum(ce.expected_amount), 0) - ifnull(sum(ce.paid_amount), 0)) / ifnull(sum(ce.expected_amount), 0) * 100, 2)
else 0
else 0
end as unpaidRatio,
end as unpaidRatio,
MAX(ce.default_exchange_rate) as exchangeRate,
MAX(ce.default_exchange_rate) as exchangeRate,
MAX(p.insurance_company) as insuranceCompany,
MAX(p.insurance_company) as insuranceCompany,
MAX(p.product_name) as productName,
MAX(p.product_name) as productName,
ifnull(avg(ce.premium), 0) as premium,
ifnull(avg(ce.premium), 0) as premium,
MAX(p.currency) as policyCurrency
MAX(p.currency) as policyCurrency
from commission_expected ce
from commission_expected ce
left join policy p on ce.policy_no = p.policy_no
left join policy p on ce.policy_no = p.policy_no
<where>
<where>
...
@@ -117,38 +117,38 @@
...
@@ -117,38 +117,38 @@
group by ce.policy_no, ce.commission_period
group by ce.policy_no, ce.commission_period
union all
union all
select
select
ce.receivable_no as receivableNo,
ce.receivable_no as receivableNo,
ce.policy_no as policyNo,
ce.policy_no as policyNo,
(select pp.name from policy_policyholder pp where pp.policy_biz_id = p.policy_biz_id limit 1) as policyHolder,
(select pp.name from policy_policyholder pp where pp.policy_biz_id = p.policy_biz_id limit 1) as policyHolder,
(select pp.name_en from policy_policyholder pp where pp.policy_biz_id = p.policy_biz_id limit 1) as policyHolderEn,
(select pp.name_en from policy_policyholder pp where pp.policy_biz_id = p.policy_biz_id limit 1) as policyHolderEn,
(select pi.name from policy_insurant pi where pi.policy_biz_id = p.policy_biz_id limit 1) as insured,
(select pi.name from policy_insurant pi where pi.policy_biz_id = p.policy_biz_id limit 1) as insured,
(select pi.name_en from policy_insurant pi where pi.policy_biz_id = p.policy_biz_id limit 1) as insuredEn,
(select pi.name_en from policy_insurant pi where pi.policy_biz_id = p.policy_biz_id limit 1) as insuredEn,
ce.manual_remark as manualRemark,
ce.manual_remark as manualRemark,
ce.reconciliation_company as reconciliationCompany,
ce.reconciliation_company as reconciliationCompany,
ce.reconciliation_company_biz_id as reconciliationCompanyBizId,
ce.reconciliation_company_biz_id as reconciliationCompanyBizId,
ce.commission_period as commissionPeriod,
ce.commission_period as commissionPeriod,
ce.total_period as totalPeriod,
ce.total_period as totalPeriod,
ce.commission_date as commissionDate,
ce.commission_date as commissionDate,
null as commissionRatio,
null as commissionRatio,
null as paid,
null as paid,
ifnull(ce.amount, 0) as amount,
ifnull(ce.amount, 0) as amount,
ce.currency as currency,
ce.currency as currency,
ifnull(ce.expected_amount, 0) as hkdAmount,
ifnull(ce.expected_amount, 0) as hkdAmount,
ifnull(ce.paid_amount, 0) as paidAmount,
ifnull(ce.paid_amount, 0) as paidAmount,
ifnull(ce.expected_amount - ce.paid_amount, 0) as unpaidAmount,
ifnull(ce.expected_amount - ce.paid_amount, 0) as unpaidAmount,
case when ifnull(ce.expected_amount, 0) > 0
case when ifnull(ce.expected_amount, 0) > 0
then round(ifnull(ce.paid_amount, 0) / ifnull(ce.expected_amount, 0) * 100, 2)
then round(ifnull(ce.paid_amount, 0) / ifnull(ce.expected_amount, 0) * 100, 2)
else 0
else 0
end as paidRatio,
end as paidRatio,
case when ifnull(ce.expected_amount, 0) > 0
case when ifnull(ce.expected_amount, 0) > 0
then round((ifnull(ce.expected_amount, 0) - ifnull(ce.paid_amount, 0)) / ifnull(ce.expected_amount, 0) * 100, 2)
then round((ifnull(ce.expected_amount, 0) - ifnull(ce.paid_amount, 0)) / ifnull(ce.expected_amount, 0) * 100, 2)
else 0
else 0
end as unpaidRatio,
end as unpaidRatio,
ce.default_exchange_rate as exchangeRate,
ce.default_exchange_rate as exchangeRate,
p.insurance_company as insuranceCompany,
p.insurance_company as insuranceCompany,
p.product_name as productName,
p.product_name as productName,
ifnull(ce.premium, 0) as premium,
ifnull(ce.premium, 0) as premium,
null as policyCurrency
null as policyCurrency
from commission_expected ce
from commission_expected ce
left join policy p on ce.policy_no = p.policy_no
left join policy p on ce.policy_no = p.policy_no
<where>
<where>
...
@@ -162,4 +162,5 @@
...
@@ -162,4 +162,5 @@
and ce.is_deleted = 0
and ce.is_deleted = 0
</where>
</where>
</select>
</select>
</mapper>
</mapper>
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