From 836a8a32013de4c5815c820db2f5f1078f6c48c8 Mon Sep 17 00:00:00 2001 From: xuhaihui <2098865055@qq.com> Date: Tue, 30 Dec 2025 18:32:26 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B7=B2=E5=86=B2=E9=94=80=E9=87=91=E9=A2=9D?= =?UTF-8?q?=E7=A9=BF=E9=80=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../form/InContractFinaceConfirmePlugin.java | 57 +++++++++++++------ 1 file changed, 40 insertions(+), 17 deletions(-) diff --git a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/InContractFinaceConfirmePlugin.java b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/InContractFinaceConfirmePlugin.java index 2f5f9d7..6ffa113 100644 --- a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/InContractFinaceConfirmePlugin.java +++ b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/InContractFinaceConfirmePlugin.java @@ -26,6 +26,7 @@ import kd.bos.orm.query.QCP; import kd.bos.orm.query.QFilter; import kd.bos.permission.api.HasPermOrgResult; import kd.bos.servicehelper.BusinessDataServiceHelper; +import kd.bos.servicehelper.QueryServiceHelper; import kd.bos.servicehelper.permission.PermissionServiceHelper; import kd.ec.contract.common.enums.DirectionEnum; import kd.sdk.plugin.Plugin; @@ -239,30 +240,52 @@ public class InContractFinaceConfirmePlugin extends AbstractBillPlugIn implement } this.addItemClickListeners("zcgj_entrytoolbar111"); this.addItemClickListeners("zcgj_entrytoolbar1111"); + EntryGrid entryGrid = this.getView().getControl("zcgj_performrec");//冲销履约记录 + entryGrid.addHyperClickListener(this); } @Override public void hyperLinkClick(HyperLinkClickEvent hyperLinkClickEvent) { String fieldName = hyperLinkClickEvent.getFieldName(); - EntryGrid entryGrid = getView().getControl("zcgj_entryentity"); - int[] selectRows = entryGrid.getSelectRows(); - if(selectRows != null && selectRows.length == 1){ - DynamicObjectCollection dynamicObjectCollection = this.getModel().getDataEntity(true).getDynamicObjectCollection("zcgj_entryentity"); - DynamicObject dynamicObject = dynamicObjectCollection.get(selectRows[0]); - DynamicObject zcgjInvoice = dynamicObject.getDynamicObject("zcgj_invoice"); - long invoiceId = zcgjInvoice.getLong("id"); - if(invoiceId != 0){ - //弹出发票详情 - BillShowParameter showParameter = new BillShowParameter(); - showParameter.setPkId(invoiceId); - showParameter.setFormId("ec_out_invoice"); - showParameter.getOpenStyle().setShowType(ShowType.MainNewTabPage); //打开方式 - getView().showForm(showParameter); + if (StringUtils.equals(fieldName, "zcgj_invoice")) { + EntryGrid entryGrid = getView().getControl("zcgj_entryentity"); + int[] selectRows = entryGrid.getSelectRows(); + if (selectRows != null && selectRows.length == 1) { + DynamicObjectCollection dynamicObjectCollection = this.getModel().getDataEntity(true).getDynamicObjectCollection("zcgj_entryentity"); + DynamicObject dynamicObject = dynamicObjectCollection.get(selectRows[0]); + DynamicObject zcgjInvoice = dynamicObject.getDynamicObject("zcgj_invoice"); + long invoiceId = zcgjInvoice.getLong("id"); + if (invoiceId != 0) { + //弹出发票详情 + BillShowParameter showParameter = new BillShowParameter(); + showParameter.setPkId(invoiceId); + showParameter.setFormId("ec_out_invoice"); + showParameter.getOpenStyle().setShowType(ShowType.MainNewTabPage); //打开方式 + getView().showForm(showParameter); + } + } else { + this.getView().showTipNotification("请选择一条发票数据。"); } - }else{ - this.getView().showTipNotification("请选择一条发票数据。"); + } else if (StringUtils.equals(fieldName, "zcgj_reversedamount")) { + //冲销履约记录-已冲销金额 + List dailyLoanBillDataIds = new ArrayList<>(); + int rowIndex = hyperLinkClickEvent.getRowIndex(); + DynamicObjectCollection perFormRecCollection = this.getModel().getDataEntity(true).getDynamicObjectCollection("zcgj_performrec");//冲销履约记录 + DynamicObject perFormRec = perFormRecCollection.get(rowIndex); + long zcgj_performrecid = perFormRec.getLong("zcgj_performrecid"); + QFilter filter = new QFilter("zcgj_performrec.zcgj_performrecid", QCP.equals, zcgj_performrecid); + filter.and(new QFilter("billstatus", QCP.equals, "C")); + DynamicObjectCollection zcgj_ec_in_finaceconfirms = QueryServiceHelper.query("zcgj_ec_in_finaceconfirm", "id", new QFilter[]{filter}); + for (DynamicObject zcgj_ec_in_finaceconfirm : zcgj_ec_in_finaceconfirms) { + dailyLoanBillDataIds.add((Long) zcgj_ec_in_finaceconfirm.get("id")); + } + ListShowParameter listShowParameter = new ListShowParameter(); + listShowParameter.setFormId("bos_list"); //列表界面 + listShowParameter.setBillFormId("zcgj_ec_in_finaceconfirm"); //单据的标识 + listShowParameter.getOpenStyle().setShowType(ShowType.MainNewTabPage); + dailyLoanBillDataIds.forEach(listShowParameter::addLinkQueryPkId); + this.getView().showForm(listShowParameter); } - } @Override