提交 bfe138fa authored 作者: liuhaiquan's avatar liuhaiquan

Merge remote-tracking branch 'origin/v10.7_borrowing_and_repayment_20240118'…

Merge remote-tracking branch 'origin/v10.7_borrowing_and_repayment_20240118' into v10.7_borrowing_and_repayment_20240118
......@@ -196,15 +196,13 @@ public class OrderChildLoanComponent {
String childNo = settlementDriverDetail.getChildNo();
List<OwnerLoanAccountRunningWaterRecord> runningWaterRecordList = ownerLoanAccountRunningWaterRecordDao.getListByOrderNoAndRunningWaterType
(childNo, OwnerLoanAccountRunningWaterRecordEnum.RunWaterType.APPROVE_FROZEN.getCode());
//已借款
settlementDriverDetail.setLoanFlag(OwnerLoanRecordEnum.LoanFlag.LOAN.getCode());
// 抵扣金额
settlementOwnerDetail.setLoanFreight(settlementFreightCalc(orderChild.getSettlementWay(), settlementOwnerDetail));
settlementOwnerDetail.setLoanFreight(settlementOwnerDetail.getSettlementFreight());
//临时结算金额,借款抵扣后需要重新赋值结算金额为0
settlementOwnerDetail.setSettlementFreight(settlementFreightCalc(orderChild.getSettlementWay(), settlementOwnerDetail));
log.info("4.查询当前运单号:{}, 当前货主,{}, 此运单借款冻结记录:{}", childNo, settlementOwnerDetail.getOwnerUserNo(), JSONUtil.parse(runningWaterRecordList));
if (CollectionUtil.isEmpty(runningWaterRecordList)) {
//说明当初没借款,预付运费够,但是真实结算后,预付运费不够,走此逻辑
log.info("4.1 说明当初没借款,预付运费够,但是真实结算后,预付运费不够,走此逻辑");
LoanBalanceDTO param = new LoanBalanceDTO();
......@@ -218,15 +216,17 @@ public class OrderChildLoanComponent {
runningWaterRecordList = ownerLoanAccountRunningWaterRecordDao.getListByOrderNoAndRunningWaterType
(childNo, OwnerLoanAccountRunningWaterRecordEnum.RunWaterType.APPROVE_FROZEN.getCode());
childWriteOffOwnerLoanAccount(runningWaterRecordList);
} else {
BigDecimal alterationBalance = runningWaterRecordList.stream().map(OwnerLoanAccountRunningWaterRecord::getAlterationBalance).reduce(BigDecimal.ZERO, BigDecimal::add);
if (alterationBalance.compareTo(settlementOwnerDetail.getSettlementFreight()) == 0) {
log.info("4.2 相等直接生成运单核销");
//相等直接生成运单核销
childWriteOffOwnerLoanAccount(runningWaterRecordList);
} else if (alterationBalance.compareTo(settlementOwnerDetail.getSettlementFreight()) > 0) {
//大于,则生成核销后,释放冻结的借款
log.info("4.3 大于,则生成核销后,释放冻结的借款");
......@@ -262,7 +262,11 @@ public class OrderChildLoanComponent {
}
}
//已借款
settlementDriverDetail.setLoanFlag(OwnerLoanRecordEnum.LoanFlag.LOAN.getCode());
// 抵扣金额
settlementOwnerDetail.setLoanFreight(settlementOwnerDetail.getSettlementFreight());
settlementOwnerDetail.setSettlementFreight(BigDecimal.ZERO);
}
......@@ -404,7 +408,7 @@ public class OrderChildLoanComponent {
/**
* 结算金额
* 抵扣金额
*/
private BigDecimal settlementFreightCalc(Integer settlementWay, SettlementOwnerDetail settlementOwnerDetail) {
if (Objects.equals(settlementWay, SettlementWayEnum.WayType.LOAD.getCode())) { //订单结算方式为“装车净重”时,结算金额=实际净重*平台运费报价-预付运费-货损金额。
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论