Parcourir la source

业务处理单问题处理/发票助手改造

徐昊 il y a 11 mois
Parent
commit
ae8d6eb8cf

+ 29 - 4
src/main/java/fi/em/editPlugin/BusinessProcessingEditPlugin.java

@@ -300,7 +300,7 @@ public class BusinessProcessingEditPlugin extends AbstractListPlugin implements
                 DynamicObject bank = payeenamevs.getDynamicObject("bank");
                 this.getModel().setValue("nckd_payeebank", bank, rowIndex);
             }
-        }/*else if ("nckd_payeenamev".equals(name)) {
+        }else if ("nckd_payeenamev".equals(name)) {
             ChangeData[] changeSet = e.getChangeSet();//获取值
             for (ChangeData changeData : changeSet) {
                 int rowIndex = changeData.getRowIndex();
@@ -315,13 +315,38 @@ public class BusinessProcessingEditPlugin extends AbstractListPlugin implements
                     DynamicObject dynamicObject = BusinessDataServiceHelper.loadSingle(fa_lease_contract[c].getPkValue(), fa_lease_contract[c].getDynamicObjectType().getName());
                     for (DynamicObject entryentity : dynamicObject.getDynamicObjectCollection("entry_bank")) {
                         String bankaccount = entryentity.getString("bankaccount");
-                        String accountname = entryentity.getString("accountname");
-                        this.getModel().setValue("nckd_payeebanknumlb", bankaccount,rowIndex);
+                        DynamicObject bank = entryentity.getDynamicObject("bank");
+                        QFilter banks = new QFilter("nckd_bankaccount", QCP.equals, bankaccount);
+                        DynamicObject nckd_bank = BusinessDataServiceHelper.loadSingle("nckd_supplierbankinfor", "id", new QFilter[]{banks});
+                        this.getModel().setValue("nckd_payeebanknumlb", nckd_bank);
                         this.getView().updateView("nckd_payeebanknumlb");
                     }
                 }
             }
-            }*/
+            }else if ("nckd_payeenamevs".equals(name)) {
+            ChangeData[] changeSet = e.getChangeSet();//获取值
+            for (ChangeData changeData : changeSet) {
+                int rowIndex = changeData.getRowIndex();
+                Object newValue = changeData.getNewValue();
+                Object oldValue = changeData.getOldValue();
+                DynamicObject payeenamevs = (DynamicObject) newValue;
+                //构建查询供应商参数
+                QFilter nckd_orgamountFilter = new QFilter("number", QCP.equals, payeenamevs.getString("number"));
+                DynamicObject[] fa_lease_contract = BusinessDataServiceHelper.load("bd_supplier", "id", new QFilter[]{nckd_orgamountFilter});
+                for (int c = 0; c < fa_lease_contract.length; c++) {
+                    //当前单头
+                    DynamicObject dynamicObject = BusinessDataServiceHelper.loadSingle(fa_lease_contract[c].getPkValue(), fa_lease_contract[c].getDynamicObjectType().getName());
+                    for (DynamicObject entryentity : dynamicObject.getDynamicObjectCollection("entry_bank")) {
+                        String bankaccount = entryentity.getString("bankaccount");
+                        DynamicObject bank = entryentity.getDynamicObject("bank");
+                        QFilter banks = new QFilter("nckd_bankaccount", QCP.equals, bankaccount);
+                        DynamicObject nckd_bank = BusinessDataServiceHelper.loadSingle("nckd_supplierbankinfor", "id", new QFilter[]{banks});
+                        this.getModel().setValue("nckd_payeebanknumlbs", nckd_bank);
+                        this.getView().updateView("nckd_payeebanknumlbs");
+                    }
+                }
+            }
+        }
         }
     }
 

+ 2 - 2
src/main/java/fi/em/formPlugin/BusinessProcessingPlugin.java

@@ -270,8 +270,8 @@ public class BusinessProcessingPlugin extends AbstractFormPlugin implements Plug
             this.getModel().deleteEntryData("nckd_entryentity");
             //构建查询应收挂账单参数
             QFilter nckd_orgamountFilter = new QFilter("org.number", QCP.equals,orgnumber);
-            //nckd_orgamountFilter.and("status", QCP.equals, "C");
-            nckd_orgamountFilter.and("nckd_amountfield1", QCP.large_than, new BigDecimal(0));
+            nckd_orgamountFilter.and("status", QCP.equals, "C");
+            nckd_orgamountFilter.and("nckd_amountfield1", QCP.large_than,0);
             nckd_orgamountFilter.and("leaser.number", QCP.equals, payeenamev);
             DynamicObject[] fa_lease_contract = BusinessDataServiceHelper.load("fa_lease_contract", "id", new QFilter[]{nckd_orgamountFilter});
             for (int c = 0; c < fa_lease_contract.length; c++) {

+ 8 - 2
src/main/java/fi/em/opplugin/BusinessProcessingOpPlugin.java

@@ -23,14 +23,20 @@ public class BusinessProcessingOpPlugin extends AbstractOperationServicePlugIn {
             if ("A".equals(detailtype)) {
                 DynamicObjectCollection nckdEntryentity1 = info.getDynamicObjectCollection("nckd_entryentity1");
                 if (!nckdEntryentity1.isEmpty()) {
-                    BigDecimal nckdSkmxjehj = info.getBigDecimal("nckd_skmxjehj");
-                    BigDecimal nckdYsgzjehj = info.getBigDecimal("nckd_ysgzjehj");
+                    BigDecimal nckdSkmxjehj = info.getBigDecimal("nckd_skmxjehj");//收款合计
+                    BigDecimal nckdYsgzjehj = info.getBigDecimal("nckd_ysgzjehj");//应收合计
+                    BigDecimal nckdhtamount = info.getBigDecimal("nckd_htamount");//合同合计
+                    double latitudeDo = nckdhtamount.doubleValue();
                     double latitudeDou = nckdSkmxjehj.doubleValue();
                     double latitudeDous = nckdYsgzjehj.doubleValue();
                     if (latitudeDou != latitudeDous) {
                         throw new KDBizException("收款金额与冲销金额不一致!");
                     }
+                    if (latitudeDou != latitudeDo) {
+                        throw new KDBizException("收款金额与合同冲销金额不一致!");
+                    }
                 }
+
             } else if ("B".equals(detailtype)) {
                 BigDecimal nckdFkmxjehj = info.getBigDecimal("nckd_fkmxjehj");
                 BigDecimal nckdYfgzjehj = info.getBigDecimal("nckd_yfgzjehj");