From c4afa4df0452e83ba67fa97901b2a5bdc6e53b5c Mon Sep 17 00:00:00 2001 From: xuhaihui <2098865055@qq.com> Date: Tue, 14 Oct 2025 17:34:16 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E6=94=AF=E5=87=BA=E5=90=88?= =?UTF-8?q?=E5=90=8C=E5=88=97=E8=A1=A8=E6=94=B6=E5=85=A5=E5=90=88=E5=90=8C?= =?UTF-8?q?=E7=BC=96=E7=A0=81=E8=B6=85=E9=93=BE=E6=8E=A5=E7=82=B9=E5=87=BB?= =?UTF-8?q?=E8=B7=B3=E8=BD=AC=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pr/plugin/form/OutContractListPlugin.java | 40 +++++++++++++++++++ .../form/RenewalContractBillPlugin.java | 29 +++----------- 2 files changed, 45 insertions(+), 24 deletions(-) create mode 100644 code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/OutContractListPlugin.java diff --git a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/OutContractListPlugin.java b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/OutContractListPlugin.java new file mode 100644 index 0000000..34f4752 --- /dev/null +++ b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/OutContractListPlugin.java @@ -0,0 +1,40 @@ +package zcgj.zcdev.zcdev.pr.plugin.form; + +import kd.bos.bill.BillOperationStatus; +import kd.bos.bill.BillShowParameter; +import kd.bos.bill.OperationStatus; +import kd.bos.dataentity.entity.DynamicObject; +import kd.bos.form.ShowType; +import kd.bos.form.events.HyperLinkClickArgs; +import kd.bos.list.plugin.AbstractListPlugin; +import kd.bos.mvc.list.ListView; +import kd.bos.orm.query.QCP; +import kd.bos.orm.query.QFilter; +import kd.bos.servicehelper.BusinessDataServiceHelper; +import kd.ec.basedata.common.utils.OpenPageUtils; +import org.apache.commons.lang3.StringUtils; + +/** + * 支出合同列表插件 + * 说明:收入合同编码超链接点击跳转 + */ +public class OutContractListPlugin extends AbstractListPlugin { + public void billListHyperLinkClick(HyperLinkClickArgs args) { + super.billListHyperLinkClick(args); + String fieldName = args.getFieldName(); + if (StringUtils.equals(fieldName, "incontract_number")) { + //收入合同编码 + args.setCancel(true); + ListView viewList = (ListView) this.getView(); + Object measureId = viewList.getFocusRowPkId(); + String billFormId = viewList.getBillFormId(); + DynamicObject measure = BusinessDataServiceHelper.loadSingle(measureId, billFormId, "incontract");//收支合同 + DynamicObject inContract = measure.getDynamicObject("incontract");//收入合同 + DynamicObject ec_all_contract_f7 = BusinessDataServiceHelper.loadSingle(inContract.getPkValue(), "ec_all_contract_f7", "id,number");//收入支出合同f7 + QFilter[] qFilters = new QFilter[]{new QFilter("billno", QCP.equals, ec_all_contract_f7.get("number")).and("paydirection", "=", "in")}; + DynamicObject ec_in_contract = BusinessDataServiceHelper.loadSingle("ec_in_contract", "id", qFilters); + BillShowParameter billShowParameter = OpenPageUtils.buildBillShowParam(ec_in_contract.getPkValue(), "ec_in_contract", BillOperationStatus.VIEW, OperationStatus.EDIT, ShowType.MainNewTabPage); + this.getView().showForm(billShowParameter); + } + } +} diff --git a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/RenewalContractBillPlugin.java b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/RenewalContractBillPlugin.java index 9028358..0498cce 100644 --- a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/RenewalContractBillPlugin.java +++ b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/RenewalContractBillPlugin.java @@ -3,37 +3,36 @@ package zcgj.zcdev.zcdev.pr.plugin.form; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.greenpineyu.fel.common.NumberUtil; -import kd.bos.bill.BillShowParameter; -import kd.bos.bill.OperationStatus; import kd.bos.dataentity.entity.DynamicObject; import kd.bos.dataentity.resource.ResManager; -import kd.bos.dataentity.utils.StringUtils; import kd.bos.entity.datamodel.ListSelectedRow; import kd.bos.entity.datamodel.ListSelectedRowCollection; import kd.bos.form.CloseCallBack; +import kd.bos.form.FormMetadataCache; import kd.bos.form.FormShowParameter; import kd.bos.form.ShowType; import kd.bos.form.control.events.BeforeItemClickEvent; import kd.bos.form.control.events.ItemClickEvent; import kd.bos.form.events.BeforeDoOperationEventArgs; +import kd.bos.form.events.BillListHyperLinkClickEvent; import kd.bos.form.events.HyperLinkClickArgs; +import kd.bos.form.events.HyperLinkClickEvent; import kd.bos.form.operate.FormOperate; import kd.bos.list.BillList; import kd.bos.list.plugin.AbstractListPlugin; import kd.bos.mvc.bill.BillModel; +import kd.bos.mvc.list.ListView; import kd.bos.orm.query.QCP; import kd.bos.orm.query.QFilter; import kd.bos.servicehelper.BusinessDataServiceHelper; import kd.bos.servicehelper.QueryServiceHelper; import kd.ec.basedata.common.utils.OpenPageUtils; import kd.fi.dhc.util.BillShowParameterUtil; +import org.apache.commons.lang3.StringUtils; import org.jetbrains.annotations.NotNull; import java.util.*; -/** - * 支出合同列表插件 - */ public class RenewalContractBillPlugin extends AbstractListPlugin { @@ -69,24 +68,6 @@ public class RenewalContractBillPlugin extends AbstractListPlugin { this.addItemClickListeners("tbmain");//监听按钮 } - - public void billListHyperLinkClick(HyperLinkClickArgs args) { - super.billListHyperLinkClick(args); - String fielldName = args.getHyperLinkClickEvent().getFieldName(); - if (StringUtils.equals(fielldName, "incontract_number")) { - //收入合同编码 - args.setCancel(true); - ListSelectedRow selectRow = ((BillList) this.getControl("billlistap")).getCurrentSelectedRowInfo(); - Long selectId = (Long) selectRow.getPrimaryKeyValue(); - DynamicObject ec_in_contract = QueryServiceHelper.queryOne("ec_in_contract", "id", new QFilter[]{new QFilter("id", "=", selectId)});//收入合同 - if (ec_in_contract == null) { - this.getView().showTipNotification(ResManager.loadKDString("您选择的数据已被删除", "MyBillListPlugin_5", "fi-dhc-formplugin", new Object[0])); - } else { - BillShowParameter billShowParameter = OpenPageUtils.buildBillShowParam(selectId, "ec_in_contract");//收入合同 - this.getView().showForm(billShowParameter);//打开收入合同 - } - } - } @Override public void itemClick(ItemClickEvent evt) { String itemKey = evt.getItemKey();