From e997ac21575c1689bbe12ce3fe7b5c4c4c2eb804 Mon Sep 17 00:00:00 2001 From: xuhaihui <2098865055@qq.com> Date: Thu, 27 Nov 2025 10:36:39 +0800 Subject: [PATCH] =?UTF-8?q?=E8=AE=BE=E5=A4=87=E6=88=90=E6=9C=AC=E6=A0=B8?= =?UTF-8?q?=E7=AE=97=E6=B7=BB=E5=8A=A0=E6=9C=9F=E9=97=B4=E5=88=9D=E5=A7=8B?= =?UTF-8?q?=E5=8C=96=E8=B5=8B=E5=80=BC=E5=92=8C=E7=BB=93=E7=AE=97=E5=8D=95?= =?UTF-8?q?=E7=BC=96=E7=A0=81=E8=B6=85=E9=93=BE=E6=8E=A5=E8=B7=B3=E8=BD=AC?= =?UTF-8?q?=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../plugin/form/EcEqCostSplitBillPlugin.java | 53 ++++++++++++++++++- 1 file changed, 52 insertions(+), 1 deletion(-) diff --git a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/EcEqCostSplitBillPlugin.java b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/EcEqCostSplitBillPlugin.java index 8375bbf..52a70db 100644 --- a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/EcEqCostSplitBillPlugin.java +++ b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/EcEqCostSplitBillPlugin.java @@ -1,23 +1,74 @@ package zcgj.zcdev.zcdev.pr.plugin.form; import kd.bos.bill.AbstractBillPlugIn; +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.form.FormShowParameter; +import kd.bos.form.ShowType; +import kd.bos.form.control.EntryGrid; +import kd.bos.form.events.HyperLinkClickEvent; +import kd.bos.form.events.HyperLinkClickListener; 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.QFilter; +import kd.bos.servicehelper.BusinessDataServiceHelper; +import java.util.Calendar; import java.util.EventObject; +import java.util.HashMap; +import java.util.Map; -public class EcEqCostSplitBillPlugin extends AbstractBillPlugIn implements BeforeF7SelectListener{ +/* + * 设备成本核算表单插件 + * 说明 1:过滤成本分解结构字段 + * 2:期间初始化赋值 + * 3:结算单编码超链接跳转 + */ +public class EcEqCostSplitBillPlugin extends AbstractBillPlugIn implements BeforeF7SelectListener, HyperLinkClickListener { @Override public void registerListener(EventObject e) { super.registerListener(e); BasedataEdit procbs = (BasedataEdit) this.getControl("procbs"); procbs.addBeforeF7SelectListener(this); + EntryGrid control = this.getControl("settlesplitentity"); + control.addHyperClickListener(this); + } + + public void afterCreateNewData(EventObject e) { + Calendar cal = Calendar.getInstance(); + int year = cal.get(Calendar.YEAR); + int month = cal.get(Calendar.MONTH) + 1; + QFilter yearFilter = new QFilter("periodyear", "=", year); + QFilter monthFilter = new QFilter("periodnumber", "=", month); + DynamicObject[] peridoArr = BusinessDataServiceHelper.load("bd_period", "id", new QFilter[]{yearFilter, monthFilter});//会计期间 + if (peridoArr.length != 0) { + DynamicObject period = peridoArr[0]; + this.getModel().setValue("splitperiod", period);//期间 + } + } + + public void hyperLinkClick(HyperLinkClickEvent event) { + String fieldName = event.getFieldName(); + int rowIndex = event.getRowIndex(); + if ("settleno".equals(fieldName)) { + DynamicObject settlesplit = (DynamicObject) this.getModel().getEntryEntity("settlesplitentity").get(rowIndex); + Object settleId = settlesplit.get("settleid"); + this.toView(settleId, "eceq_settle"); + } + } + + protected void toView(Object pkValue, String formId) { + Map params = new HashMap(); + params.put("pkId", String.valueOf(pkValue)); + params.put("formId", formId); + FormShowParameter param = FormShowParameter.createFormShowParameter(params); + param.getOpenStyle().setShowType(ShowType.MainNewTabPage); + param.setStatus(OperationStatus.VIEW); + this.getView().showForm(param); } public void beforeF7Select(BeforeF7SelectEvent arg0) {