Commit d401ee45 by jianan

出账检核-增加币种52

parent e5425376
......@@ -1027,6 +1027,11 @@ public class ApiExpectedFortuneServiceImpl implements ApiExpectedFortuneService
Map<String, Policy> policyMap = policyService.queryPolicyMap(policyNoSet);
// 当前登录用户
AuthUserDto authUserDto = SecurityUtil.getCurrentLoginUser();
// 当前时间
LocalDateTime now = LocalDateTime.now();
// 查询最新一条有 payableNo 记录
// int currentSeq = iExpectedFortuneService.getPayableNoCurrentSeq();
......@@ -1035,6 +1040,13 @@ public class ApiExpectedFortuneServiceImpl implements ApiExpectedFortuneService
ExpectedFortune expectedFortune = new ExpectedFortune();
BeanUtil.copyProperties(expectedFortuneDto, expectedFortune, "payoutDate", "actualPayoutDate");
// 设置创建人、更新人
expectedFortune.setCreatorId(authUserDto.getUserBizId());
expectedFortune.setCreatorName(authUserDto.getRealName());
expectedFortune.setUpdaterId(authUserDto.getUserBizId());
expectedFortune.setCreateTime(now);
expectedFortune.setUpdateTime(now);
if ("R".equals(expectedFortuneDto.getFortuneBizType())) {
Policy policy = policyMap.get(expectedFortuneDto.getPolicyNo());
if (ObjectUtils.isEmpty(policy)) {
......@@ -1053,14 +1065,18 @@ public class ApiExpectedFortuneServiceImpl implements ApiExpectedFortuneService
// 预计发佣类型名称
expectedFortune.setFortuneName(queryByDict(expectedFortuneDto.getFortuneType()));
// 预计出账年月
if (StringUtils.isNotBlank(expectedFortuneDto.getPayoutDate())) {
expectedFortune.setPayoutDate(LocalDate.parse(expectedFortuneDto.getPayoutDate() + "-01"));
}
// 实际出账年月
if (StringUtils.isNotBlank(expectedFortuneDto.getActualPayoutDate())) {
expectedFortune.setActualPayoutDate(LocalDate.parse(expectedFortuneDto.getActualPayoutDate() + "-01"));
}
// 转介人比例默认100%
expectedFortune.setBrokerRatio("100");
// 已出帐金额、待出帐金额、已出帐比例、待出帐比例
expectedFortune.setPaidAmount(BigDecimal.ZERO);
// 转介人比例默认100%
expectedFortune.setBrokerRatio("100");
expectedFortune.setUnpaidAmount(expectedFortune.getHkdAmount());
expectedFortune.setPaidRatio(BigDecimal.ZERO);
expectedFortune.setUnpaidRatio(BigDecimal.valueOf(100));
......@@ -1373,8 +1389,11 @@ public class ApiExpectedFortuneServiceImpl implements ApiExpectedFortuneService
policy = policyService.getOne(new QueryWrapper<Policy>().eq("policy_no", request.getPolicyNo()));
}
// 查询关联 fortune 数据,重新计算:已出帐金额、待出帐金额、已出帐比例、待出帐比例
List<Fortune> fortuneList = fortuneService.lambdaQuery().eq(Fortune::getExpectedFortuneBizId, expectedFortune.getExpectedFortuneBizId()).list();
// 根据保单号、期数查询关联 fortune 数据,重新计算:已出帐金额、待出帐金额、已出帐比例、待出帐比例
List<Fortune> fortuneList = fortuneService.lambdaQuery()
.eq(Fortune::getPolicyNo, request.getPolicyNo())
.eq(Fortune::getFortunePeriod, request.getFortunePeriod())
.list();
BigDecimal paidAmount = BigDecimal.ZERO;
BigDecimal unpaidAmount = request.getHkdAmount();
BigDecimal paidRatio = BigDecimal.ZERO;
......@@ -1397,22 +1416,31 @@ public class ApiExpectedFortuneServiceImpl implements ApiExpectedFortuneService
String loginUserId = currentLoginUser.getId().toString();
ExpectedFortune updateExpectedFortune = new ExpectedFortune();
BeanUtils.copyProperties(request, updateExpectedFortune);
BeanUtils.copyProperties(request, updateExpectedFortune, "payoutDate", "actualPayoutDate");
updateExpectedFortune.setId(expectedFortune.getId());
// 设置 policy 关联字段
if (policy != null) {
expectedFortune.setInsuranceCompanyBizId(policy.getInsuranceCompanyBizId());
expectedFortune.setProductLaunchBizId(policy.getProductLaunchBizId());
expectedFortune.setPremium(policy.getPaymentPremium());
expectedFortune.setPolicyCurrency(policy.getCurrency());
updateExpectedFortune.setInsuranceCompanyBizId(policy.getInsuranceCompanyBizId());
updateExpectedFortune.setProductLaunchBizId(policy.getProductLaunchBizId());
updateExpectedFortune.setPremium(policy.getPaymentPremium());
updateExpectedFortune.setPolicyCurrency(policy.getCurrency());
}
// 处理出账年月字段
if (StringUtils.isNotBlank(request.getPayoutDate())) {
updateExpectedFortune.setPayoutDate(LocalDate.parse(request.getPayoutDate() + "-01"));
}
// 处理实际出账年月字段
if (StringUtils.isNotBlank(request.getActualPayoutDate())) {
updateExpectedFortune.setActualPayoutDate(LocalDate.parse(request.getActualPayoutDate() + "-01"));
}
// 已出帐金额、待出帐金额、已出帐比例、待出帐比例
expectedFortune.setPaidAmount(paidAmount);
expectedFortune.setUnpaidAmount(unpaidAmount);
expectedFortune.setPaidRatio(paidRatio);
expectedFortune.setUnpaidRatio(unpaidRatio);
updateExpectedFortune.setPaidAmount(paidAmount);
updateExpectedFortune.setUnpaidAmount(unpaidAmount);
updateExpectedFortune.setPaidRatio(paidRatio);
updateExpectedFortune.setUnpaidRatio(unpaidRatio);
updateExpectedFortune.setUpdaterId(loginUserId);
updateExpectedFortune.setUpdateTime(LocalDateTime.now());
......
......@@ -581,6 +581,12 @@ public class FortuneServiceImpl extends ServiceImpl<FortuneMapper, Fortune>
if (ObjectUtils.isEmpty(fortuneAddRequest.getFortuneBizType())) {
throw new BusinessException(ResultCode.PARAM_CHECK_ERROR.getCode(), "出账类型不能为空");
}
if (ObjectUtils.isEmpty(fortuneAddRequest.getPayoutDate())) {
throw new BusinessException(ResultCode.PARAM_CHECK_ERROR.getCode(), "出账年月(估)不能为空");
}
if (ObjectUtils.isEmpty(fortuneAddRequest.getActualPayoutDate())) {
throw new BusinessException(ResultCode.PARAM_CHECK_ERROR.getCode(), "出账年月(实)不能为空");
}
if (ObjectUtils.isEmpty(fortuneAddRequest.getOriginalCurrency())) {
throw new BusinessException(ResultCode.PARAM_CHECK_ERROR.getCode(), "原币种不能为空");
......
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