xuhao преди 7 месеца
родител
ревизия
de9adefd50

+ 31 - 0
src/main/java/fi/em/formPlugin/BusinessProcessingConvertPlugIn.java

@@ -0,0 +1,31 @@
+package fi.em.formPlugin;
+
+import kd.bos.entity.botp.plugin.AbstractConvertPlugIn;
+import kd.bos.entity.botp.plugin.args.BeforeBuildRowConditionEventArgs;
+import kd.bos.orm.query.QCP;
+import kd.bos.orm.query.QFilter;
+import kd.sdk.plugin.Plugin;
+
+public class BusinessProcessingConvertPlugIn extends AbstractConvertPlugIn implements Plugin {
+    @Override
+    public void beforeBuildRowCondition(BeforeBuildRowConditionEventArgs e) {
+        //获取页面插件传递过来的操作参数
+        String bdsupplier = this.getOption().getVariableValue("bdsupplier");
+        String orgnumber = this.getOption().getVariableValue("orgnumber");
+        String type = this.getOption().getVariableValue("type");
+        if("drawyfgz".equals(type)){
+            QFilter numberQFilter = new QFilter("ap_finapbill.org.number", QCP.equals, orgnumber);
+            numberQFilter.and("ap_finapbill.asstact.number", QCP.equals, bdsupplier);
+            e.getCustQFilters().add(numberQFilter);
+        }else if("drawysgz".equals(type)){
+            QFilter numberQFilter = new QFilter("ar_finarbill.org.number", QCP.equals, orgnumber);
+            numberQFilter.and("ar_finarbill.asstact.number", QCP.equals, bdsupplier);
+            e.getCustQFilters().add(numberQFilter);
+        }else if("drawzlht".equals(type)){
+            QFilter numberQFilter = new QFilter("fa_lease_contract.org.number", QCP.equals, orgnumber);
+            numberQFilter.and("fa_lease_contract.asstact.number", QCP.equals, bdsupplier);
+            e.getCustQFilters().add(numberQFilter);
+        }
+        super.beforeBuildRowCondition(e);
+    }
+}

+ 58 - 22
src/main/java/fi/em/formPlugin/BusinessProcessingUnAuditEditPlugin.java

@@ -1,36 +1,72 @@
 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.exception.KDBizException;
 import kd.bos.form.events.BeforeDoOperationEventArgs;
+import kd.bos.form.operate.botp.Draw;
 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);  //获取选中行的单据体数据
+    public void beforeDoOperation(BeforeDoOperationEventArgs args) {
+        if (args.getSource() instanceof Draw) {
+            Draw draw = (Draw) args.getSource();
+            if (draw.getOperateKey().equals("drawysgz")) {
+//                int count = this.getModel().getEntryRowCount("nckd_entryentity1");
+//                StringBuilder numbers = new StringBuilder();
+                Object value = this.getModel().getValue("nckd_payeenamev");//获取当前单据付款人
+                Object nckd_orgv = this.getModel().getValue("nckd_orgv");//获取当前单据付款人
+                DynamicObject dynamicObject = (DynamicObject) value;
+                DynamicObject orgv = (DynamicObject) nckd_orgv;
+                if (dynamicObject == null) {
+                    throw new KDBizException("收款信息付款人为空!");
+                }
+                if (orgv == null) {
+                    throw new KDBizException("收款信息收款人为空!");
+                }
+                String bdsupplier = dynamicObject.getString("number");//当前单据付款供应商
+                draw.getOption().setVariableValue("bdsupplier", bdsupplier);
+                String orgnumber = orgv.getString("number");
+                draw.getOption().setVariableValue("orgnumber", orgnumber);
+                draw.getOption().setVariableValue("type", "drawysgz");
+            } else if (draw.getOperateKey().equals("drawyfgz")) {
+                //int count = this.getModel().getEntryRowCount("nckd_entryentity2");
+                Object value = this.getModel().getValue("nckd_payeenamevs");//获取当前单据付款人
+                Object nckd_orgvs = this.getModel().getValue("nckd_orgvs");//获取当前单据收款人
+                DynamicObject dynamicObject = (DynamicObject) value;
+                DynamicObject orgvs = (DynamicObject) nckd_orgvs;
+                if (dynamicObject == null) {
+                    throw new KDBizException("付款信息收款人为空!");
+                }
+                if (orgvs == null) {
+                    throw new KDBizException("付款信息付款人为空!");
+                }
+                String bdsupplier = dynamicObject.getString("number");//当前单据付款供应商
+                draw.getOption().setVariableValue("bdsupplier", bdsupplier);
+                String orgnumber = orgvs.getString("number");
+                draw.getOption().setVariableValue("orgnumber", orgnumber);
+                draw.getOption().setVariableValue("type", "drawyfgz");
+            }else if (draw.getOperateKey().equals("drawzlht")) {
+                Object value = this.getModel().getValue("nckd_orgv");//获取当前单据核算组织
+                Object nckd_payeenamevs = this.getModel().getValue("nckd_payeenamev");//获取当前单据付款人
+                DynamicObject dynamicObject = (DynamicObject) value;
+                DynamicObject payeenamevs = (DynamicObject) nckd_payeenamevs;
+                if (dynamicObject == null) {
+                    throw new KDBizException("收款信息收款人为空!");
+                }
+                if (payeenamevs == null) {
+                    throw new KDBizException("收款信息付款人为空!");
                 }
+                String bdsupplier = payeenamevs.getString("number");//当前单据付款供应商
+                draw.getOption().setVariableValue("bdsupplier", bdsupplier);
+                String orgnumber = dynamicObject.getString("number");
+                draw.getOption().setVariableValue("orgnumber", orgnumber);
+                draw.getOption().setVariableValue("type", "drawzlht");
             }
-
-
-        }
         }
-
-
+        super.beforeDoOperation(args);
+    }
 }