Parcourir la source

引入引出资产盘点

wanwei il y a 5 mois
Parent
commit
2995fa882b

+ 50 - 0
src/main/java/fi/em/formPlugin/BusinessPdF7FormPlugin.java

@@ -0,0 +1,50 @@
+package fi.em.formPlugin;
+
+import kd.bos.bill.AbstractBillPlugIn;
+import kd.bos.dataentity.entity.DynamicObject;
+import kd.bos.dataentity.entity.DynamicObjectCollection;
+import kd.bos.form.field.BasedataEdit;
+import kd.bos.form.field.events.BeforeF7SelectEvent;
+import kd.bos.form.field.events.BeforeF7SelectListener;
+import kd.bos.list.ListShowParameter;
+import kd.bos.orm.query.QCP;
+import kd.bos.orm.query.QFilter;
+import kd.sdk.plugin.Plugin;
+import org.apache.commons.lang.StringUtils;
+
+import java.util.ArrayList;
+import java.util.EventObject;
+import java.util.List;
+
+public class BusinessPdF7FormPlugin extends AbstractBillPlugIn implements Plugin, BeforeF7SelectListener {
+    @Override
+    public void registerListener(EventObject e) {
+        super.registerListener(e);
+        // 侦听基础资料字段的事件
+        BasedataEdit fieldEdit = this.getView().getControl("nckd_basedatafield18");
+        fieldEdit.addBeforeF7SelectListener(this);
+    }
+
+    @Override
+    public void beforeF7Select(BeforeF7SelectEvent beforeF7SelectEvent) {
+        String fieldKey = beforeF7SelectEvent.getProperty().getName();
+        if (StringUtils.equals(fieldKey, "nckd_basedatafield18")){
+            List<String> numberList = new ArrayList<>();
+            DynamicObjectCollection dynamicObjectCollections = this.getModel().getEntryEntity("nckd_entryentity61121");
+            for (DynamicObject dynamicObject : dynamicObjectCollections) {
+                DynamicObject fin = dynamicObject.getDynamicObject("nckd_basedatafield18");
+                if (fin != null) {
+                    String number = fin.getString("number");
+                    numberList.add(number);
+                }
+            }
+            if (numberList.size() > 0) {
+                QFilter qFilter = new QFilter("number", QCP.not_in, numberList);
+                // 表过滤条件
+                ListShowParameter showParameter = (ListShowParameter)beforeF7SelectEvent.getFormShowParameter();
+                showParameter.setShowApproved(false);
+                showParameter.getListFilterParameter().setFilter(qFilter);
+            }
+        }
+    }
+}

+ 2 - 13
src/main/java/fi/em/formPlugin/BusinessProcessingSplitPlugin.java

@@ -8,16 +8,13 @@ import kd.bos.dataentity.entity.DynamicObjectCollection;
 import kd.bos.entity.datamodel.events.BeforeImportEntryEventArgs;
 import kd.bos.entity.datamodel.events.ChangeData;
 import kd.bos.entity.datamodel.events.PropertyChangedArgs;
-import kd.bos.exception.KDBizException;
 import kd.bos.form.plugin.AbstractFormPlugin;
 import kd.bos.form.plugin.importentry.resolving.ImportEntryData;
 import kd.bos.orm.query.QCP;
 import kd.bos.orm.query.QFilter;
 import kd.bos.servicehelper.BusinessDataServiceHelper;
-import scala.Int;
-
 import java.util.*;
-import java.util.stream.Collectors;
+
 
 public class BusinessProcessingSplitPlugin extends AbstractFormPlugin {
 
@@ -64,9 +61,6 @@ public class BusinessProcessingSplitPlugin extends AbstractFormPlugin {
                 if (CollectionUtils.isEmpty(entryEntityImportDataList)) {
                     return;
                 }
-                DynamicObject nckd_orgfield = (DynamicObject) this.getModel().getValue("nckd_orgfield");
-                Long orgId = nckd_orgfield.getLong("id");
-
 
                 DynamicObjectCollection nckd_entryentity61121s =  this.getModel().getEntryEntity("nckd_entryentity61121");
                 Map<String, DynamicObject> entryMap = new HashMap<>();
@@ -80,12 +74,7 @@ public class BusinessProcessingSplitPlugin extends AbstractFormPlugin {
                     JSONObject jsonObject =  entryData.getData();
                     String importNumber = jsonObject.getJSONObject("nckd_basedatafield18").getString("number");
                     DynamicObject dynamicObject = entryMap.get(importNumber);
-                    QFilter cardFilter = new QFilter("number", QCP.equals, importNumber);
-                    cardFilter.and("org", QCP.equals, orgId);
-                    DynamicObject[] card = BusinessDataServiceHelper.load("fa_card_fin","id",new QFilter[] {cardFilter});
-                    if (card.length == 0) {
-                        iterator.remove();
-                    }else if (card.length > 0 && dynamicObject != null){
+                    if (dynamicObject != null){
                         nckd_entryentity61121s.remove(dynamicObject);
                     }
                 }