|
@@ -92,6 +92,18 @@ public class InsFeeOrdersServiceImpl extends ServiceImpl<InsFeeOrdersMapper, Ins
|
|
|
return insFeeOrders;
|
|
return insFeeOrders;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 获取并计算保险费用订单的完整信息
|
|
|
|
|
+ * 主要流程:
|
|
|
|
|
+ * 1. 查询订单、费用、协议等基础数据
|
|
|
|
|
+ * 2. 校验并调整手续费比例(手续费比例不能大于入口比例,超出时强制调整为入口比例)
|
|
|
|
|
+ * 3. 保存各项比例信息(手续费、入口、跟单、加投、出口、留点)
|
|
|
|
|
+ * 4. 按险种(交强险、商业险、驾乘险)重新计算所有费用
|
|
|
|
|
+ * 5. 汇总总应收和总应付金额
|
|
|
|
|
+ *
|
|
|
|
|
+ * @param ptlAgreementCostRatioVo 协议成本比例VO对象,包含订单号和各险种的比例配置
|
|
|
|
|
+ * @return 计算后的保险费用订单对象
|
|
|
|
|
+ */
|
|
|
private InsFeeOrders getInsFeeOrders(PtlAgreementCostRatioVo ptlAgreementCostRatioVo) {
|
|
private InsFeeOrders getInsFeeOrders(PtlAgreementCostRatioVo ptlAgreementCostRatioVo) {
|
|
|
// 常量定义 保留小数5位
|
|
// 常量定义 保留小数5位
|
|
|
final int SCALE = 5;
|
|
final int SCALE = 5;
|
|
@@ -440,6 +452,15 @@ public class InsFeeOrdersServiceImpl extends ServiceImpl<InsFeeOrdersMapper, Ins
|
|
|
return insFeeOrdersMapper.getInsFeeOrderByOrderNo(orderNo);
|
|
return insFeeOrdersMapper.getInsFeeOrderByOrderNo(orderNo);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 更新订单的可用金额,同时调整剩余金额
|
|
|
|
|
+ * 更新前会校验:订单存在性、出口留点比例必须为0、新可用金额不能大于当前金额
|
|
|
|
|
+ * 剩余金额调整规则:剩余金额 = 原剩余金额 + (原可用金额 - 新可用金额)
|
|
|
|
|
+ *
|
|
|
|
|
+ * @param orderNo 订单号
|
|
|
|
|
+ * @param availableAmount 新的可用金额,必须大于等于0且小于等于当前可用金额
|
|
|
|
|
+ * @return 更新结果,成功返回"更新成功"
|
|
|
|
|
+ */
|
|
|
@Override
|
|
@Override
|
|
|
public HttpResult updateAvailableAmount(String orderNo, BigDecimal availableAmount) {
|
|
public HttpResult updateAvailableAmount(String orderNo, BigDecimal availableAmount) {
|
|
|
// 1. 参数校验
|
|
// 1. 参数校验
|
|
@@ -479,11 +500,11 @@ public class InsFeeOrdersServiceImpl extends ServiceImpl<InsFeeOrdersMapper, Ins
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
|
- * 查询指定订单的应收总额
|
|
|
|
|
|
|
+ * 查询指定订单列表的应收保费总额
|
|
|
|
|
+ * 支持批量查询,内部按3000个订单分批处理以避免SQL参数过多
|
|
|
*
|
|
*
|
|
|
- * @param orderNos 订单编号
|
|
|
|
|
- * @author lipf
|
|
|
|
|
- * @date 2026/6/4 10:17
|
|
|
|
|
|
|
+ * @param orderNos 订单号列表
|
|
|
|
|
+ * @return 所有订单的应收保费总和,无数据时返回0
|
|
|
*/
|
|
*/
|
|
|
@Override
|
|
@Override
|
|
|
public BigDecimal queryAllTotalReceivablePremiumByOrderNo(List<String> orderNos) {
|
|
public BigDecimal queryAllTotalReceivablePremiumByOrderNo(List<String> orderNos) {
|