Przeglądaj źródła

中间表上查下查

wanwei 7 miesięcy temu
rodzic
commit
e92fd3ddb8

+ 52 - 0
src/main/java/fi/em/formPlugin/BusinessProcessingListPlugin.java

@@ -0,0 +1,52 @@
+package fi.em.formPlugin;
+
+import kd.bos.bill.BillShowParameter;
+import kd.bos.dataentity.entity.DynamicObject;
+import kd.bos.entity.datamodel.ListSelectedRowCollection;
+import kd.bos.form.ShowType;
+import kd.bos.form.control.events.ItemClickEvent;
+import kd.bos.list.BillList;
+import kd.bos.list.plugin.AbstractListPlugin;
+import kd.bos.servicehelper.BusinessDataServiceHelper;
+
+import java.util.EventObject;
+
+public class BusinessProcessingListPlugin extends AbstractListPlugin {
+    public void registerListener(EventObject e) {
+        super.registerListener(e);
+        this.addItemClickListeners(new String[]{"toolbarap"});
+    }
+
+    @Override
+    public void itemClick(ItemClickEvent evt) {
+        String itemKey = evt.getItemKey();
+        if ("nckd_trackup".equals(itemKey)) {
+            BillList billList = (BillList) this.getControl("billlistap");
+            ListSelectedRowCollection list = billList.getSelectedRows();
+            if (list.size() == 0) {
+                this.getView().showMessage("请选择一条数据");
+                return;
+            } else if (list.size() > 1) {
+                this.getView().showMessage("只能选择一条数据");
+                return;
+            }
+            Object[] primaryKeyValues = list.getPrimaryKeyValues();
+            long id = 0;
+            String type = null;
+            for (Object pk : primaryKeyValues) {
+                DynamicObject info = BusinessDataServiceHelper.loadSingle(pk, "nckd_ywcld");
+                id = info.getLong("nckd_mid_assert");
+                type = info.getString("nckd_source_type");
+            }
+            BillShowParameter showParameter = new BillShowParameter();
+
+            showParameter.setFormId(type);
+
+            showParameter.getOpenStyle().setShowType(ShowType.Modal);//打开方式
+
+            showParameter.setPkId(id);
+
+            this.getView().showForm(showParameter);
+        }
+    }
+}

+ 31 - 0
src/main/java/fi/fa/opplugin/AssetMidBillOpPlugin.java

@@ -2,11 +2,14 @@ package fi.fa.opplugin;
 
 import com.alibaba.druid.util.StringUtils;
 import fi.fa.opplugin.utils.ChangeDataUtils;
+import kd.bos.bill.BillShowParameter;
 import kd.bos.dataentity.OperateOption;
 import kd.bos.dataentity.entity.DynamicObject;
 import kd.bos.dataentity.entity.DynamicObjectCollection;
 import kd.bos.entity.datamodel.ListSelectedRowCollection;
 import kd.bos.entity.operate.result.OperationResult;
+import kd.bos.form.FormShowParameter;
+import kd.bos.form.ShowType;
 import kd.bos.form.control.events.ItemClickEvent;
 import kd.bos.list.BillList;
 import kd.bos.list.plugin.AbstractListPlugin;
@@ -61,6 +64,8 @@ public class AssetMidBillOpPlugin extends AbstractListPlugin {
                     busProcess.set("billstatus", "A");//暂存
                     busProcess.set("nckd_detailtype", "E");//业务类型(E:资产调拨)
                     busProcess.set("nckd_combofield2", "1");//调拨类型(1:跨组织)
+                    busProcess.set("nckd_mid_assert", pk);//中间表id
+                    busProcess.set("nckd_source_type", "nckd_e_dispatch_mid");//源单类型
                     //调出方向
                     if ("0".equals(direction)) {
                         busProcess.set("nckd_applierv", ChangeDataUtils.getUser(info.getString("nckd_user_out")));//调出申请人
@@ -110,6 +115,7 @@ public class AssetMidBillOpPlugin extends AbstractListPlugin {
                     OperationResult saveResult = SaveServiceHelper.saveOperate("nckd_ywcld", new DynamicObject[]{busProcess}, OperateOption.create());
                     if (saveResult.isSuccess()){
                         info.set("nckd_flag", "1");
+                        info.set("nckd_ywcl", saveResult.getSuccessPkIds().get(0));
                         SaveServiceHelper.save(new DynamicObject[]{info});
                         errMsg.append("单据号: ").append(info.getString("number")).append("下推生成业务处理单成功!");
                         errMsg.append("\r\n");
@@ -124,6 +130,31 @@ public class AssetMidBillOpPlugin extends AbstractListPlugin {
                 this.getView().showMessage("请至少选择一条数据");
             }
             this.getView().showMessage(errMsg.toString());
+        } else if ("nckd_trackdown".equals(itemKey)) {
+            BillList billList = (BillList) this.getControl("billlistap");
+            ListSelectedRowCollection list = billList.getSelectedRows();
+            if (list.size() == 0) {
+                this.getView().showMessage("请选择一条数据");
+                return;
+            } else if (list.size() > 1) {
+                this.getView().showMessage("只能选择一条数据");
+                return;
+            }
+            Object[] primaryKeyValues = list.getPrimaryKeyValues();
+            long id = 0;
+            for (Object pk : primaryKeyValues) {
+                DynamicObject info = BusinessDataServiceHelper.loadSingle(pk, "nckd_e_dispatch_mid");
+                id = info.getLong("nckd_ywcl");
+            }
+            BillShowParameter showParameter = new BillShowParameter();
+
+            showParameter.setFormId("nckd_ywcld");
+
+            showParameter.getOpenStyle().setShowType(ShowType.Modal);//打开方式
+
+            showParameter.setPkId(id);
+
+            this.getView().showForm(showParameter);
         }
     }
 }

+ 29 - 0
src/main/java/fi/fa/opplugin/FaChangeMidOpPlugin.java

@@ -2,11 +2,13 @@ package fi.fa.opplugin;
 
 import com.alibaba.druid.util.StringUtils;
 import fi.fa.opplugin.utils.ChangeDataUtils;
+import kd.bos.bill.BillShowParameter;
 import kd.bos.dataentity.OperateOption;
 import kd.bos.dataentity.entity.DynamicObject;
 import kd.bos.dataentity.entity.DynamicObjectCollection;
 import kd.bos.entity.datamodel.ListSelectedRowCollection;
 import kd.bos.entity.operate.result.OperationResult;
+import kd.bos.form.ShowType;
 import kd.bos.form.control.events.ItemClickEvent;
 import kd.bos.list.BillList;
 import kd.bos.list.plugin.AbstractListPlugin;
@@ -60,6 +62,8 @@ public class FaChangeMidOpPlugin extends AbstractListPlugin {
                     busProcess.set("billstatus", "A");//暂存
                     busProcess.set("nckd_detailtype", "E");//业务类型(E:资产调拨)
                     busProcess.set("nckd_combofield2", "2");//调拨类型(2:组织内)
+                    busProcess.set("nckd_mid_assert", pk);//中间表id
+                    busProcess.set("nckd_source_type", "nckd_e_change_mid");//源单类型
                     //调出方向
                     if("0".equals(direction)){
                         busProcess.set("creator", ChangeDataUtils.getUser(info.getString("nckd_user_out")));//创建人
@@ -121,6 +125,31 @@ public class FaChangeMidOpPlugin extends AbstractListPlugin {
                 this.getView().showMessage("请至少选择一条数据");
             }
             this.getView().showMessage(errMsg.toString());
+        } else if ("nckd_trackdown".equals(itemKey)) {
+            BillList billList = (BillList) this.getControl("billlistap");
+            ListSelectedRowCollection list = billList.getSelectedRows();
+            if (list.size() == 0) {
+                this.getView().showMessage("请选择一条数据");
+                return;
+            } else if (list.size() > 1) {
+                this.getView().showMessage("只能选择一条数据");
+                return;
+            }
+            Object[] primaryKeyValues = list.getPrimaryKeyValues();
+            long id = 0;
+            for (Object pk : primaryKeyValues) {
+                DynamicObject info = BusinessDataServiceHelper.loadSingle(pk, "nckd_e_change_mid");
+                id = info.getLong("nckd_ywcl");
+            }
+            BillShowParameter showParameter = new BillShowParameter();
+
+            showParameter.setFormId("nckd_ywcld");
+
+            showParameter.getOpenStyle().setShowType(ShowType.Modal);//打开方式
+
+            showParameter.setPkId(id);
+
+            this.getView().showForm(showParameter);
         }
     }
 }

+ 29 - 0
src/main/java/fi/fa/opplugin/FaDisCardMidOpPlugin.java

@@ -2,11 +2,13 @@ package fi.fa.opplugin;
 
 import com.alibaba.druid.util.StringUtils;
 import fi.fa.opplugin.utils.ChangeDataUtils;
+import kd.bos.bill.BillShowParameter;
 import kd.bos.dataentity.OperateOption;
 import kd.bos.dataentity.entity.DynamicObject;
 import kd.bos.dataentity.entity.DynamicObjectCollection;
 import kd.bos.entity.datamodel.ListSelectedRowCollection;
 import kd.bos.entity.operate.result.OperationResult;
+import kd.bos.form.ShowType;
 import kd.bos.form.control.events.ItemClickEvent;
 import kd.bos.list.BillList;
 import kd.bos.list.plugin.AbstractListPlugin;
@@ -62,6 +64,8 @@ public class FaDisCardMidOpPlugin extends AbstractListPlugin {
                     busProcess.set("creator", ChangeDataUtils.getUser(info.getString("nckd_user_out")));//创建人
                     busProcess.set("createtime", info.getDate("nckd_date_out"));//创建时间
                     busProcess.set("billstatus", "A");//状态
+                    busProcess.set("nckd_mid_assert", pk);//中间表id
+                    busProcess.set("nckd_source_type", "nckd_e_discard_mid");//源单类型
                     QFilter filter = new QFilter("number", QCP.in,codeList);
                     filter.and("isbak",  QCP.equals, "0");
                     DynamicObject[] card = BusinessDataServiceHelper.load("fa_card_real","id",new QFilter[] {filter});
@@ -93,6 +97,31 @@ public class FaDisCardMidOpPlugin extends AbstractListPlugin {
                 this.getView().showMessage("请至少选择一条数据");
             }
             this.getView().showMessage(errMsg.toString());
+        } else if ("nckd_trackdown".equals(itemKey)) {
+            BillList billList = (BillList) this.getControl("billlistap");
+            ListSelectedRowCollection list = billList.getSelectedRows();
+            if (list.size() == 0) {
+                this.getView().showMessage("请选择一条数据");
+                return;
+            } else if (list.size() > 1) {
+                this.getView().showMessage("只能选择一条数据");
+                return;
+            }
+            Object[] primaryKeyValues = list.getPrimaryKeyValues();
+            long id = 0;
+            for (Object pk : primaryKeyValues) {
+                DynamicObject info = BusinessDataServiceHelper.loadSingle(pk, "nckd_e_discard_mid");
+                id = info.getLong("nckd_ywcl");
+            }
+            BillShowParameter showParameter = new BillShowParameter();
+
+            showParameter.setFormId("nckd_ywcld");
+
+            showParameter.getOpenStyle().setShowType(ShowType.Modal);//打开方式
+
+            showParameter.setPkId(id);
+
+            this.getView().showForm(showParameter);
         }
     }
 }