Parcourir la source

Merge remote-tracking branch 'origin/master'

xuhao il y a 6 mois
Parent
commit
a309f8b310

+ 45 - 0
src/main/java/fi/em/formPlugin/BusinessProcessingSplitPlugin.java

@@ -0,0 +1,45 @@
+package fi.em.formPlugin;
+
+import com.alibaba.druid.util.StringUtils;
+import kd.bos.dataentity.entity.DynamicObject;
+import kd.bos.entity.datamodel.events.ChangeData;
+import kd.bos.entity.datamodel.events.PropertyChangedArgs;
+import kd.bos.form.plugin.AbstractFormPlugin;
+import kd.bos.orm.query.QCP;
+import kd.bos.orm.query.QFilter;
+import kd.bos.servicehelper.BusinessDataServiceHelper;
+
+public class BusinessProcessingSplitPlugin extends AbstractFormPlugin {
+
+    @Override
+    public void propertyChanged(PropertyChangedArgs e) {
+        String fieldKey = e.getProperty().getName();
+        if (StringUtils.equals("nckd_basedatafield19", fieldKey)) {
+            //获取变更的数据
+            ChangeData changeData = e.getChangeSet()[0];
+            DynamicObject dynamicObject = (DynamicObject) changeData.getNewValue();
+            this.getModel().deleteEntryData("nckd_entryentity6112");
+            if (dynamicObject != null) {
+                DynamicObject realCard = dynamicObject.getDynamicObject("realcard");
+                String number = realCard.getString("number");
+                QFilter filter = new QFilter("nckd_card_real_code", QCP.equals,number);
+                DynamicObject[] dynamicObjects = BusinessDataServiceHelper.load("nckd_fa_card_real_list","id",new QFilter[] {filter});
+                int rowIndex = this.getModel().createNewEntryRow("nckd_entryentity6112");
+                this.getModel().setValue("nckd_combofield5", "拆分前", 0);
+                if (dynamicObjects.length > 0) {
+                    this.getView().setVisible(false, "nckd_advconbaritemap61");
+                    this.getView().setVisible(false, "nckd_advconbaritemap6");
+                    this.getView().setVisible(true, "nckd_card");
+                    this.getView().setEnable(false, "nckd_integerfield1");
+                    this.getModel().setValue("nckd_integerfield1", dynamicObjects.length);
+                }else {
+                    this.getView().setVisible(true, "nckd_advconbaritemap61");
+                    this.getView().setVisible(true, "nckd_advconbaritemap6");
+                    this.getView().setVisible(false, "nckd_card");
+                    this.getView().setEnable(true, "nckd_integerfield1");
+                    this.getModel().setValue("nckd_integerfield1", 0);
+                }
+            }
+        }
+    }
+}

+ 46 - 0
src/main/java/fi/em/opplugin/BusinessProcessingSplitOpPlugin.java

@@ -0,0 +1,46 @@
+package fi.em.opplugin;
+
+import kd.bos.dataentity.entity.DynamicObject;
+import kd.bos.dataentity.entity.DynamicObjectCollection;
+import kd.bos.form.events.AfterDoOperationEventArgs;
+import kd.bos.list.plugin.AbstractListPlugin;
+import kd.bos.orm.query.QCP;
+import kd.bos.orm.query.QFilter;
+import kd.bos.servicehelper.BusinessDataServiceHelper;
+import kd.sdk.plugin.Plugin;
+
+public class BusinessProcessingSplitOpPlugin extends AbstractListPlugin implements Plugin {
+    private final static String KEY_Card = "selectcard";//匹配卡片清单按钮
+    @Override
+    public void afterDoOperation(AfterDoOperationEventArgs e) {
+        String operateKey = e.getOperateKey();
+        if (KEY_Card.equals(e.getOperateKey())) {
+            //获取实物卡片编码
+            DynamicObject nckd_basedatafield19 = this.getModel().getDataEntity().getDynamicObject("nckd_basedatafield19");
+            DynamicObjectCollection nckd_entryentity6112 = this.getModel().getDataEntity().getDynamicObjectCollection("nckd_entryentity6112");
+            if (nckd_entryentity6112.size() == 1 && nckd_basedatafield19 != null) {
+                DynamicObject dept = nckd_entryentity6112.get(0).getDynamicObject("nckd_orgfield6");
+                String number = nckd_basedatafield19.getDynamicObject("realcard").getString("number");
+                Long id = nckd_basedatafield19.getDynamicObject("realcard").getLong("id");
+                //查询e管家实物卡片清单
+                QFilter filter = new QFilter("nckd_card_real_code", QCP.equals,number);
+                DynamicObject[] dynamicObjects = BusinessDataServiceHelper.load("nckd_fa_card_real_list","id",new QFilter[] {filter});
+                for (int i = 0; i < dynamicObjects.length; i++) {
+                    DynamicObject info = BusinessDataServiceHelper.loadSingle(dynamicObjects[i].getPkValue(), dynamicObjects[i].getDynamicObjectType().getName());
+                    //资产名称
+                    String name = info.getString("name");
+                    String nckd_card_model = info.getString("nckd_card_model");
+                    //资产拆分明细分录
+                    int rowIndex = this.getModel().createNewEntryRow("nckd_entryentity6112");
+                    this.getModel().setValue("nckd_textfield38", name, rowIndex);
+                    this.getModel().setValue("nckd_combofield5", "拆分后", rowIndex);
+                    this.getModel().setValue("nckd_textfield34", nckd_card_model, rowIndex);
+                    this.getModel().setValue("nckd_orgfield6", dept, rowIndex);
+                    this.getModel().setValue("nckd_real_card_list", info.getLong("id"), rowIndex);
+                }
+                this.getModel().setValue("nckd_integerfield1", dynamicObjects.length);
+                this.getView().updateView("nckd_entryentity6112");
+            }
+        }
+    }
+}