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