xuhao 7 місяців тому
батько
коміт
749a270c52

+ 36 - 0
src/main/java/fi/em/formPlugin/BusinessProcessingUnAuditEditPlugin.java

@@ -0,0 +1,36 @@
+package fi.em.formPlugin;
+
+import kd.bos.dataentity.entity.DynamicObject;
+import kd.bos.dataentity.entity.DynamicObjectCollection;
+import kd.bos.entity.datamodel.events.AfterDeleteEntryEventArgs;
+import kd.bos.entity.operate.Donothing;
+import kd.bos.form.control.EntryGrid;
+import kd.bos.form.events.AfterDoOperationEventArgs;
+import kd.bos.form.events.BeforeDoOperationEventArgs;
+import kd.bos.list.plugin.AbstractListPlugin;
+import kd.sdk.plugin.Plugin;
+
+public class BusinessProcessingUnAuditEditPlugin  extends AbstractListPlugin implements Plugin {
+    public static String deleteentryys = "deleteentryys"; //冲应收挂账
+    @Override
+    public void afterDoOperation(AfterDoOperationEventArgs e) {
+        String operateKey = e.getOperateKey();
+        if (deleteentryys.equals(e.getOperateKey())) {
+            //获取单据体控件
+            EntryGrid entryGrid = this.getControl("nckd_entryentity1");
+            //获取选中行,数组为行号,从0开始int[]
+            int selectRows[] = entryGrid.getSelectRows();
+            //获取单据体数据集合
+            DynamicObjectCollection entity=this.getModel().getEntryEntity("nckd_entryentity1");
+            if(selectRows!=null && selectRows.length>0){
+                for(int selectRow :selectRows){
+                    DynamicObject dynamicObject=entity.get(selectRow);  //获取选中行的单据体数据
+                }
+            }
+
+
+        }
+        }
+
+
+}

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

@@ -22,6 +22,10 @@ public class BusinessProcessingOpPlugin extends AbstractOperationServicePlugIn {
             String detailtype = info.getString("nckd_detailtype");
             if ("A".equals(detailtype)) {
                 DynamicObjectCollection nckdEntryentity1 = info.getDynamicObjectCollection("nckd_entryentity1");
+                DynamicObjectCollection nckdEntryentity3 = info.getDynamicObjectCollection("nckd_entryentity3");
+                if(!nckdEntryentity1.isEmpty() && !nckdEntryentity3.isEmpty()){
+                    throw new KDBizException("应收挂账与租赁合同不能同时冲销!");
+                }
                 if (!nckdEntryentity1.isEmpty()) {
                     BigDecimal nckdSkmxjehj = info.getBigDecimal("nckd_skmxjehj");//收款合计
                     BigDecimal nckdYsgzjehj = info.getBigDecimal("nckd_ysgzjehj");//应收合计
@@ -32,9 +36,7 @@ public class BusinessProcessingOpPlugin extends AbstractOperationServicePlugIn {
                     if (latitudeDou != latitudeDous) {
                         throw new KDBizException("收款金额与冲销金额不一致!");
                     }
-
                 }
-                DynamicObjectCollection nckdEntryentity3 = info.getDynamicObjectCollection("nckd_entryentity3");
                 if (!nckdEntryentity3.isEmpty()) {
                     BigDecimal nckdSkmxjehj = info.getBigDecimal("nckd_skmxjehj");//收款合计
                     BigDecimal nckdYsgzjehj = info.getBigDecimal("nckd_ysgzjehj");//应收合计

+ 1 - 1
src/main/java/fi/em/opplugin/BusinessProcessingSaveOpPlugin.java

@@ -86,7 +86,7 @@ public class BusinessProcessingSaveOpPlugin  extends AbstractOperationServicePlu
                     BigDecimal nckdCyscxbalance = entryentity.getBigDecimal("nckd_cyfcxbalance");//冲销金额
                     //构建查询应收挂账单参数
                     QFilter nckd_orgamountFilter = new QFilter("id", QCP.equals,Long.valueOf(nckdBigintfield));
-                    DynamicObject[] nckd_cas_arbill = BusinessDataServiceHelper.load("ap_finapbill", "id", new QFilter[]{nckd_orgamountFilter});
+                    DynamicObject[] nckd_cas_arbill = BusinessDataServiceHelper.load("ap_finapbill", "id,supplier.number,", new QFilter[]{nckd_orgamountFilter});
                     DynamicObject dynamicObject = BusinessDataServiceHelper.loadSingle(nckd_cas_arbill[0].getPkValue(), nckd_cas_arbill[0].getDynamicObjectType().getName());
                     BigDecimal unsettleamount = dynamicObject.getBigDecimal("unsettleamount");//未结算金额
                     BigDecimal settleamount = dynamicObject.getBigDecimal("settleamount");//已结算金额