Commit cb305a48 by jianan

前端对接问题修复58

parent bff9005e
......@@ -115,7 +115,7 @@ public class ApiCommissionController {
}
// 数据完整性校验
// validateCommissionUpload(dataList);
validateCommissionUpload(dataList);
// 校验保单是否存在
Set<String> policyNos = dataList.stream()
......@@ -136,7 +136,7 @@ public class ApiCommissionController {
}
}
if (StringUtils.isNotBlank(errorMsg)) {
errorMsg.append("\n请确认新单跟进中保单是否存在,若不存在请先添加保单");
errorMsg.append("\n请确认保单中心是否存在该保单,若不存在请先添加");
throw new BusinessException(ResultCode.PARAMS_ERROR.getCode(), errorMsg.toString());
}
......@@ -185,21 +185,25 @@ public class ApiCommissionController {
StringBuilder errorMsg = new StringBuilder();
for (CommissionExcelDTO excelDTO : dataList) {
// 校验必填字段是否为空
if (StringUtils.isBlank(excelDTO.getPolicyNo()) ||
StringUtils.isBlank(excelDTO.getReconciliationCompany()) ||
StringUtils.isBlank(excelDTO.getCommissionName()) ||
excelDTO.getAmount() == null ||
StringUtils.isBlank(excelDTO.getCurrency()) ||
excelDTO.getCommissionDate() == null) {
errorMsg.append("第").append(dataList.indexOf(excelDTO) + 1).append("行存在空字段");
}
// 校验来佣金额是否为正数
if (excelDTO.getAmount().compareTo(BigDecimal.ZERO) <= 0) {
errorMsg.append("第").append(dataList.indexOf(excelDTO) + 1).append("行来佣金额必须为正数");
}
// 如果没有保单号,应收账款编号不能为空
if (StringUtils.isBlank(excelDTO.getPolicyNo()) && StringUtils.isBlank(excelDTO.getReceivableNo())) {
errorMsg.append("第").append(dataList.indexOf(excelDTO) + 1).append("行无保单号时应收账款编号不能为空");
// if (StringUtils.isBlank(excelDTO.getPolicyNo()) ||
// StringUtils.isBlank(excelDTO.getReconciliationCompany()) ||
// StringUtils.isBlank(excelDTO.getCommissionName()) ||
// excelDTO.getAmount() == null ||
// StringUtils.isBlank(excelDTO.getCurrency()) ||
// excelDTO.getCommissionDate() == null) {
// errorMsg.append("第").append(dataList.indexOf(excelDTO) + 1).append("行存在空字段");
// }
if ("关联保单应收单".equals(excelDTO.getCommissionBizType())) {
if (StringUtils.isBlank(excelDTO.getPolicyNo())) {
errorMsg.append("第").append(dataList.indexOf(excelDTO) + 1).append("行关联保单应收单, 保单号不能为空");
}
if (excelDTO.getAmount2() == null) {
errorMsg.append("第").append(dataList.indexOf(excelDTO) + 1).append("行关联保单应收单, 来佣金额不能为空");
}
if (StringUtils.isBlank(excelDTO.getExchangeRate2())) {
errorMsg.append("第").append(dataList.indexOf(excelDTO) + 1).append("行关联保单应收单, 结算汇率不能为空");
}
}
}
if (errorMsg.length() > 0) {
......
......@@ -194,7 +194,7 @@ public class CommissionAsyncService {
BigDecimal paidAmount = BigDecimal.ZERO;
for (Commission item : existingCommissions) {
if (item.getCurrentCommissionRatio() == null) {
log.warn("当前来佣比例为空,临时计算当前来佣比例: {}", item);
log.warn("当前来佣比例为空,临时计算当前来佣比例: commission_id={}", item.getId());
paidRatio = paidRatio.add(item.calculateCurrentPaidRatio());
} else {
paidRatio = paidRatio.add(item.getCurrentCommissionRatio());
......
......@@ -239,6 +239,7 @@ public class CommissionServiceImpl extends ServiceImpl<CommissionMapper, Commiss
commission.setReconciliationCompany(policy.getReconciliationCompany());
commission.setReconciliationCompanyCode(policy.getReconciliationCompanyCode());
commission.setReconciliationCompanyBizId(policy.getReconciliationCompanyBizId());
commission.setCurrentCommissionRatio(commission.calculateCurrentPaidRatio());
}
// 根据保单号、期数、入账名称、币种查询预计来佣记录
CommissionExpected expected = findExpectedFromList(commission, commissionExpectedList);
......@@ -729,6 +730,8 @@ public class CommissionServiceImpl extends ServiceImpl<CommissionMapper, Commiss
commission.setProductLaunchBizId(policy.getProductLaunchBizId());
commission.setInsuranceCompanyBizId(policy.getInsuranceCompanyBizId());
commission.setPremium(Convert.toStr(policy.getPaymentPremium()));
// 本次入账比例
commission.setCurrentCommissionRatio(commission.calculateCurrentPaidRatio());
}
}
// 关联预计来佣信息
......@@ -784,6 +787,12 @@ public class CommissionServiceImpl extends ServiceImpl<CommissionMapper, Commiss
if (StringUtils.isBlank(request.getCommissionName())) {
throw new BusinessException(ResultCode.PARAMS_ERROR.getCode(), "入账项目名称不能为空");
}
if ("R".equals(request.getCommissionBizType())) {
// 校验保单号是否存在
if (StringUtils.isBlank(request.getExchangeRate())) {
throw new BusinessException(ResultCode.PARAMS_ERROR.getCode(), "关联保单号记录,结算汇率不能为空");
}
}
}
}
......
......@@ -83,6 +83,12 @@ public class CommissionExpectedVO implements Serializable {
private String reconciliationCompany;
/**
* 对账公司业务ID
*/
@Schema(description = "对账公司业务ID")
private String reconciliationCompanyBizId;
/**
* 佣金期数(1=第一年; 2=第二年; 3=第三年; 4=第四年; 5=第五年)
*/
@Schema(description = "佣金期数(1=第一年; 2=第二年; 3=第三年; 4=第四年; 5=第五年)")
......
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