feat:发货联系书款项信息

This commit is contained in:
ljw 2024-09-05 21:27:23 +08:00 committed by violet
parent ddb6ffd8b7
commit a26db3adf6

View File

@ -185,8 +185,8 @@ public class ContactBookSaveOp extends AbstractOperationServicePlugIn
String salesorder_no = entry.getKey();
String ship_no = entry.getValue();
logger.info("发货联系书保存: salesorder_no{} , ship_no{}", salesorder_no, ship_no);
debugMsg.append(String.format("发货联系书保存: salesorder_no%s , ship_no%s", salesorder_no, ship_no)).append("\n");
logger.info("发货联系书保存: 合同号:{} , 发运明细号{}", salesorder_no, ship_no);
debugMsg.append(String.format("发货联系书保存: 合同号:%s , 发运明细号%s", salesorder_no, ship_no)).append("\n");
DynamicObject saleOrder = BusinessDataServiceHelper.loadSingle("yem_es_salesorder", new QFilter[]{new QFilter("billno", "=", salesorder_no)});
DynamicObject shipDetail = BusinessDataServiceHelper.loadSingle("yem_shippingdetails", new QFilter[]{new QFilter("billno", "=", ship_no)});
@ -195,10 +195,10 @@ public class ContactBookSaveOp extends AbstractOperationServicePlugIn
BigDecimal procPreRapRate = PaymentControlUtil.getProcPreRapRate(saleOrder);//生产预收汇比例
BigDecimal shipPreRapRate = PaymentControlUtil.getShipPreRapRate(saleOrder);//发货预收汇比例
logger.info("下单预收比例:{},发货预收比例:{}", procPreRapRate, shipPreRapRate);
debugMsg.append(String.format("下单预收比例:%s发货预收比例%s", procPreRapRate, shipPreRapRate)).append("\n");
BigDecimal lastRate = getPercentagePeriod(shipPreRapRate, procPreRapRate);//尾款比例
logger.info("尾款比例:{}", lastRate);
logger.info("下单预收比例:{},发货预收比例:{},尾款比例:{}", procPreRapRate, shipPreRapRate, lastRate);
debugMsg.append(String.format("下单预收比例:%s发货预收比例%s尾款比例%s", procPreRapRate, shipPreRapRate, lastRate)).append("\n");
BigDecimal procClaimAnt = PaymentControlUtil.getPreCollection(saleOrder, payBills, "D");//下单已认领金额
BigDecimal offeramount = saleOrder.getBigDecimal("yem_offeramount");//合同价格条款金额
BigDecimal advancePayment = PaymentControlUtil.getAdvancePayment(offeramount, procPreRapRate);
@ -214,20 +214,17 @@ public class ContactBookSaveOp extends AbstractOperationServicePlugIn
BigDecimal thisShipIOUAmt = PaymentControlUtil.getThisRealityAmt(saleOrder, shipBills, payBills, shipDetail);//本次发运欠款金额本次发运应认领金额
thisShipIOUAmt = thisShipIOUAmt.abs();
BigDecimal shipClaimAmt = PaymentControlUtil.getAmountClaimed(new DynamicObject[]{shipDetail}, "E");//本次发运已认领金额
logger.info("本次发运已认领金额:{},发运预收金额:{}", shipClaimAmt, thisShipIOUAmt);
debugMsg.append(String.format("本次发运已认领金额:%s 发运预收金额:%s", shipClaimAmt, thisShipIOUAmt)).append("\n");
logger.info("发运已认领金额:{},发运预收金额:{}", shipClaimAmt, thisShipIOUAmt);
debugMsg.append(String.format("发运已认领金额:%s 发运预收金额:%s", shipClaimAmt, thisShipIOUAmt)).append("\n");
if (shipClaimAmt.compareTo(thisShipIOUAmt) >= 0) {
isShipClaimFinish = true;
}
BigDecimal lastRate = getPercentagePeriod(shipPreRapRate, procPreRapRate);//尾款比例
logger.info("尾款比例:{}", lastRate);
debugMsg.append(String.format("尾款比例:%s", lastRate)).append("\n");
BigDecimal amount = shipDetail.getBigDecimal("yem_offeramount");//发运 价格条款金额
BigDecimal periodrefundamt = lastRate.multiply(amount);//尾款 应收金额
BigDecimal shipClaimAmt_periodrefund = PaymentControlUtil.getAmountClaimed(new DynamicObject[]{shipDetail}, "F");//本次发运已认领金额_尾款
logger.info("尾款认领金额:{} 尾款 应收金额:{}", shipClaimAmt_periodrefund, periodrefundamt);
debugMsg.append(String.format("尾款认领金额:%s 尾款 应收金额:%s", shipClaimAmt_periodrefund, periodrefundamt)).append("\n");
logger.info("尾款认领金额:{} 尾款应收金额:{}", shipClaimAmt_periodrefund, periodrefundamt);
debugMsg.append(String.format("尾款认领金额:%s 尾款应收金额:%s", shipClaimAmt_periodrefund, periodrefundamt)).append("\n");
// 尾款认领金额 >= 尾款 应收金额
if (shipClaimAmt_periodrefund.compareTo(periodrefundamt) >= 0) {
isFinalClaimFinish = true;
@ -243,7 +240,7 @@ public class ContactBookSaveOp extends AbstractOperationServicePlugIn
logger.info("欠条个数(累计):{}", iou);
debugMsg.append(String.format("欠条个数:%s", tradeapps.length)).append("\n");
debugMsg.append(String.format("欠条个数(累计):%s", iou)).append("\n");
debugMsg.append("=============split=============").append("\n");
debugMsg.append("==========================").append("\n");
}
if (!proc.contains(false) && !ship.contains(false) && !last.contains(false)) {
//全款完成