提交 c6d2551a authored 作者: 艾庆国's avatar 艾庆国

Merge branch 'refs/heads/v17.5_order_child_sync_broker_20240617' into test

Former-commit-id: 7bec71c1
......@@ -19,7 +19,7 @@ public class SettlementCommonServiceImpl implements SettlementCommonService {
*/
@Override
public BigDecimal invoiceServiceFeeCalc(Integer settlementWay, SettlementOwnerDetail settlementOwnerDetail) {
return settlementOwnerDetail.getFreight().subtract(settlementOwnerDetail.getLossFreight())
return settlementOwnerDetail.getFreight().subtract(settlementOwnerDetail.getLossFreight()).setScale(0, RoundingMode.HALF_UP)
.divide(BigDecimal.ONE.subtract(settlementOwnerDetail.getInvoiceServiceFeeRate().movePointLeft(2)), 0, RoundingMode.HALF_UP)
.multiply(settlementOwnerDetail.getInvoiceServiceFeeRate().movePointLeft(2)).setScale(0, RoundingMode.HALF_UP);
}
......@@ -30,31 +30,31 @@ public class SettlementCommonServiceImpl implements SettlementCommonService {
@Override
public BigDecimal invoiceFreightCalc(Integer settlementWay, BigDecimal invoiceServiceFeeRate, SettlementOwnerDetail settlementOwnerDetail) {
if (Objects.equals(settlementWay, SettlementWayEnum.WayType.LOAD.getCode())) { //订单结算方式为“装车净重”时,开票金额=实际净重*平台运费报价-货损金额。
return settlementOwnerDetail.getWeight().multiply(settlementOwnerDetail.getFreightPrice())
return settlementOwnerDetail.getWeight().multiply(settlementOwnerDetail.getFreightPrice()).setScale(0, RoundingMode.HALF_UP)
.subtract(settlementOwnerDetail.getLossFreight());
}
else if (Objects.equals(settlementWay, SettlementWayEnum.WayType.UNLOAD_LOSS.getCode())) {
if (invoiceServiceFeeRate!=null){
//结算方式为“卸车净重(减货损)”,平台运费报价为“未税”时,开票金额=平台运费单价*实际净重-货损单价*货损吨数+开票服务费。
return settlementOwnerDetail.getWeight().multiply(settlementOwnerDetail.getFreightPrice())
return settlementOwnerDetail.getWeight().multiply(settlementOwnerDetail.getFreightPrice()).setScale(0, RoundingMode.HALF_UP)
.subtract(settlementOwnerDetail.getLossFreight())
.add(settlementOwnerDetail.getInvoiceServiceFee());
}
else{
//结算方式为“卸车净重(减货损)”,平台运费报价为“含税”时 开票金额=平台运费单价*实际净重-货损单价*货损吨数
return settlementOwnerDetail.getWeight().multiply(settlementOwnerDetail.getFreightPrice())
return settlementOwnerDetail.getWeight().multiply(settlementOwnerDetail.getFreightPrice()).setScale(0, RoundingMode.HALF_UP)
.subtract(settlementOwnerDetail.getLossFreight());
}
}
else { //订单结算方式为“卸车净重”时,开票金额=实际净重*平台运费报价。
return settlementOwnerDetail.getWeight().multiply(settlementOwnerDetail.getFreightPrice());
return settlementOwnerDetail.getWeight().multiply(settlementOwnerDetail.getFreightPrice()).setScale(0, RoundingMode.HALF_UP);
}
}
@Override
public BigDecimal settlementFreightCalc(Integer settlementWay, SettlementOwnerDetail settlementOwnerDetail) {
if (Objects.equals(settlementWay, SettlementWayEnum.WayType.LOAD.getCode())) { //订单结算方式为“装车净重”时,结算金额=实际净重*平台运费报价-预付运费-货损金额。
return settlementOwnerDetail.getWeight().multiply(settlementOwnerDetail.getFreightPrice())
return settlementOwnerDetail.getWeight().multiply(settlementOwnerDetail.getFreightPrice()).setScale(0, RoundingMode.HALF_UP)
.subtract(settlementOwnerDetail.getPrepayFreight()).subtract(settlementOwnerDetail.getLossFreight());
}
else if (Objects.equals(settlementWay, SettlementWayEnum.WayType.UNLOAD_LOSS.getCode())) {
......@@ -64,7 +64,8 @@ public class SettlementCommonServiceImpl implements SettlementCommonService {
.subtract(settlementOwnerDetail.getLoanFreight());
}else { //订单结算方式为“卸车净重”时,结算金额=实际净重*平台运费报价-预付运费
return settlementOwnerDetail.getWeight().multiply(settlementOwnerDetail.getFreightPrice()).subtract(settlementOwnerDetail.getPrepayFreight());
return settlementOwnerDetail.getWeight().multiply(settlementOwnerDetail.getFreightPrice()).setScale(0, RoundingMode.HALF_UP)
.subtract(settlementOwnerDetail.getPrepayFreight());
}
}
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论