Commit 35d11a7e by zhangxingmin

push

parent f47a08f6
...@@ -759,15 +759,11 @@ public class ApiPremiumReconciliationServiceImpl implements ApiPremiumReconcilia ...@@ -759,15 +759,11 @@ public class ApiPremiumReconciliationServiceImpl implements ApiPremiumReconcilia
log.info("计算待付金额 - 保单号: {}, 保单币种: {}, 认定币种: {}, 认定金额: {}", log.info("计算待付金额 - 保单号: {}, 保单币种: {}, 认定币种: {}, 认定金额: {}",
premiumReconciliation.getPolicyNo(), policyCurrency, recognizedCurrency, currentRecognizedAmount); premiumReconciliation.getPolicyNo(), policyCurrency, recognizedCurrency, currentRecognizedAmount);
//==============================================
// 优化后的汇率转换逻辑 - 与page方法保持一致
//==============================================
// 构建转换请求列表(与其他对账记录一起批量转换) // 构建转换请求列表(与其他对账记录一起批量转换)
List<ApiExchangeRateConvertRequest> convertRequests = new ArrayList<>(); List<ApiExchangeRateConvertRequest> convertRequests = new ArrayList<>();
List<ConvertInfo> convertInfoList = new ArrayList<>(); List<ConvertInfo> convertInfoList = new ArrayList<>();
// 1. 首先处理当前认定金额的转换 //首先处理当前认定金额的转换
if (!recognizedCurrency.equalsIgnoreCase(policyCurrency)) { if (!recognizedCurrency.equalsIgnoreCase(policyCurrency)) {
ApiExchangeRateConvertRequest currentConvertRequest = new ApiExchangeRateConvertRequest(); ApiExchangeRateConvertRequest currentConvertRequest = new ApiExchangeRateConvertRequest();
currentConvertRequest.setAmount(currentRecognizedAmount); currentConvertRequest.setAmount(currentRecognizedAmount);
...@@ -789,7 +785,7 @@ public class ApiPremiumReconciliationServiceImpl implements ApiPremiumReconcilia ...@@ -789,7 +785,7 @@ public class ApiPremiumReconciliationServiceImpl implements ApiPremiumReconcilia
currentRecognizedAmount, recognizedCurrency, policyCurrency, currentConvertRequest.getRequestId()); currentRecognizedAmount, recognizedCurrency, policyCurrency, currentConvertRequest.getRequestId());
} }
// 2. 获取其他对账记录需要转换的金额 //获取其他对账记录需要转换的金额
List<PremiumReconciliation> premiumReconciliationList = iPremiumReconciliationService.queryList(PremiumReconciliationDto.builder() List<PremiumReconciliation> premiumReconciliationList = iPremiumReconciliationService.queryList(PremiumReconciliationDto.builder()
.premiumReconciliationBizId(request.getPremiumReconciliationBizId()) .premiumReconciliationBizId(request.getPremiumReconciliationBizId())
.policyNo(premiumReconciliation.getPolicyNo()) .policyNo(premiumReconciliation.getPolicyNo())
...@@ -832,7 +828,7 @@ public class ApiPremiumReconciliationServiceImpl implements ApiPremiumReconcilia ...@@ -832,7 +828,7 @@ public class ApiPremiumReconciliationServiceImpl implements ApiPremiumReconcilia
} }
} }
// 3. 执行汇率转换 //执行汇率转换
BigDecimal totalRecognizedAmountInPolicyCurrency = BigDecimal.ZERO; BigDecimal totalRecognizedAmountInPolicyCurrency = BigDecimal.ZERO;
// 先累加币种相同的金额 // 先累加币种相同的金额
...@@ -854,7 +850,7 @@ public class ApiPremiumReconciliationServiceImpl implements ApiPremiumReconcilia ...@@ -854,7 +850,7 @@ public class ApiPremiumReconciliationServiceImpl implements ApiPremiumReconcilia
} }
} }
// 4. 批量转换需要转换的金额 // 批量转换需要转换的金额
if (!CollectionUtils.isEmpty(convertRequests)) { if (!CollectionUtils.isEmpty(convertRequests)) {
try { try {
log.info("开始批量汇率转换,共 {} 条请求", convertRequests.size()); log.info("开始批量汇率转换,共 {} 条请求", convertRequests.size());
...@@ -929,7 +925,7 @@ public class ApiPremiumReconciliationServiceImpl implements ApiPremiumReconcilia ...@@ -929,7 +925,7 @@ public class ApiPremiumReconciliationServiceImpl implements ApiPremiumReconcilia
} }
} }
// 5. 计算总保费和剩余待付金额 // 计算总保费和剩余待付金额
BigDecimal paymentPremium = policy.getPaymentPremium() != null ? BigDecimal paymentPremium = policy.getPaymentPremium() != null ?
policy.getPaymentPremium() : BigDecimal.ZERO; policy.getPaymentPremium() : BigDecimal.ZERO;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment