فهرست منبع

Merge remote-tracking branch 'origin/master'

yyy 1 هفته پیش
والد
کامیت
e9430ab35b
1فایلهای تغییر یافته به همراه7 افزوده شده و 5 حذف شده
  1. 7 5
      code/fi/nckd-xtpoc-fi/src/main/java/nckd/xtpoc/fi/app/plugin/form/SettlebillFormPlugin.java

+ 7 - 5
code/fi/nckd-xtpoc-fi/src/main/java/nckd/xtpoc/fi/app/plugin/form/SettlebillFormPlugin.java

@@ -339,8 +339,7 @@ public class SettlebillFormPlugin extends AbstractFormPlugin implements Plugin {
                 // 计算本次可核销金额(取主体剩余金额和辅助未核销金额的较小值)
                 BigDecimal writeOffAmount = remainingMainAmount.min(assistUnwrittenAmount);
 
-                // 执行核销操作
-                performRowWriteOffWithSupplier(mainBill, assistBill, writeOffAmount, mainSupplier);
+
 
                 // 更新主体行未核销金额
                 remainingMainAmount = remainingMainAmount.subtract(writeOffAmount);
@@ -350,6 +349,9 @@ public class SettlebillFormPlugin extends AbstractFormPlugin implements Plugin {
                 BigDecimal newAssistUnwrittenAmount = assistUnwrittenAmount.subtract(writeOffAmount);
                 assistBill.set("nckd_writeoffamount", newAssistUnwrittenAmount);
 
+                // 执行核销操作
+                performRowWriteOffWithSupplier(mainBill, assistBill, writeOffAmount, mainSupplier,remainingMainAmount,newAssistUnwrittenAmount);
+
                 System.out.println("主体行" + (i+1) + "(供应商:" + mainSupplier + ")与辅助行" + (j+1) +
                         "(供应商:" + assistSupplier + ")核销金额:" + writeOffAmount +
                         ",主体剩余未核销:" + remainingMainAmount +
@@ -408,7 +410,7 @@ public class SettlebillFormPlugin extends AbstractFormPlugin implements Plugin {
      * @param supplier 供应商信息
      */
     private void performRowWriteOffWithSupplier(DynamicObject mainBill, DynamicObject assistBill,
-                                                BigDecimal amount, String supplier) {
+                                                BigDecimal amount, String supplier,BigDecimal mainUnwrittenAmount,BigDecimal assistUnwrittenAmount) {
         // 获取单据相关信息
         String mainBillNo = mainBill.getString("nckd_billno");
         String assistBillNo = assistBill.getString("nckd_billno1");
@@ -441,8 +443,8 @@ public class SettlebillFormPlugin extends AbstractFormPlugin implements Plugin {
         //dyn.set("nckd_asstdate", assistBill.getDate("nckd_date1"));
         dyn.set("nckd_mainamt", mainBill.getBigDecimal("nckd_amount"));
         dyn.set("nckd_asstamt", assistBill.getBigDecimal("nckd_amount1"));
-        dyn.set("nckd_maincheckamt", mainBill.getBigDecimal("nckd_writeamount"));
-        dyn.set("nckd_asstcheckamt", assistBill.getBigDecimal("nckd_writeoffamount"));
+        dyn.set("nckd_maincheckamt", mainUnwrittenAmount);
+        dyn.set("nckd_asstcheckamt", assistUnwrittenAmount);
         dyn.set("nckd_amount", amount);
         dyn.set("enable", "1");