From 686df0fcafd34b6bf1dbdb1f2e53322a1dfb18f5 Mon Sep 17 00:00:00 2001 From: zoujiangtao Date: Mon, 1 Sep 2025 10:58:49 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E5=86=85=E5=AE=B9=EF=BC=9A?= =?UTF-8?q?=E8=B4=A6=E6=88=B7=E7=AE=A1=E7=90=86=E4=BC=98=E5=8C=96=E5=8A=9F?= =?UTF-8?q?=E8=83=BD=E4=BB=A3=E7=A0=81=20=E6=97=B6=E9=97=B4=EF=BC=9A2025-0?= =?UTF-8?q?9-01=2010=EF=BC=9A58=20=E6=8F=90=E4=BA=A4=E4=BA=BA=EF=BC=9A?= =?UTF-8?q?=E9=82=B9=E6=B1=9F=E6=B6=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../form/AccountApplicationBillPlugin.java | 9 ++ .../plugin/form/AccountbanksFormPlugin.java | 101 ++++++++++++++++-- 2 files changed, 103 insertions(+), 7 deletions(-) diff --git a/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/form/AccountApplicationBillPlugin.java b/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/form/AccountApplicationBillPlugin.java index 632ed15..55fcdee 100644 --- a/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/form/AccountApplicationBillPlugin.java +++ b/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/form/AccountApplicationBillPlugin.java @@ -16,6 +16,7 @@ import kd.tmc.am.common.errorcode.ErrorCodeUtils; import kd.tmc.am.common.exception.AmException; import java.util.ArrayList; +import java.util.EventObject; /** * 开户申请单据插件 @@ -23,6 +24,14 @@ import java.util.ArrayList; public class AccountApplicationBillPlugin extends AbstractBillPlugIn implements Plugin { private static final Log logger = LogFactory.getLog(AccountApplicationBillPlugin.class); + @Override + public void afterBindData(EventObject e) { + super.afterBindData(e); + logger.info("afterBindData"); + this.getView().setVisible(true, "fs_manageinfo"); + this.getView().setEnable(true, "fs_manageinfo"); + } + @Override public void propertyChanged(PropertyChangedArgs args) { super.propertyChanged(args); diff --git a/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/form/AccountbanksFormPlugin.java b/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/form/AccountbanksFormPlugin.java index 8cbbe61..6af8d0d 100644 --- a/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/form/AccountbanksFormPlugin.java +++ b/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/form/AccountbanksFormPlugin.java @@ -1,21 +1,30 @@ package shkd.sys.sys.plugin.form; import kd.bos.dataentity.entity.DynamicObject; +import kd.bos.dataentity.entity.DynamicObjectCollection; import kd.bos.entity.datamodel.events.PropertyChangedArgs; import kd.bos.form.plugin.AbstractFormPlugin; +import kd.bos.logging.Log; +import kd.bos.logging.LogFactory; +import kd.bos.orm.query.QCP; +import kd.bos.orm.query.QFilter; +import kd.bos.servicehelper.BusinessDataServiceHelper; +import kd.tmc.am.common.errorcode.ErrorCodeUtils; +import kd.tmc.am.common.exception.AmException; -import java.util.Arrays; -import java.util.List; +import java.util.ArrayList; +/** + * 银行账户界面插件 + */ public class AccountbanksFormPlugin extends AbstractFormPlugin { - - + private static final Log logger = LogFactory.getLog(AccountbanksFormPlugin.class); @Override public void propertyChanged(PropertyChangedArgs e) { super.propertyChanged(e); - String name = e.getProperty().getName(); + String propName = e.getProperty().getName(); - if (name.equals("acctstyle")){ + if (propName.equals("acctstyle")){ String newValue = (String) e.getChangeSet()[0].getNewValue(); switch (newValue) { case "basic"://基本存款账户 @@ -50,7 +59,7 @@ public class AccountbanksFormPlugin extends AbstractFormPlugin { break; } } - if (name.equals("acctproperty")){ + if (propName.equals("acctproperty")){ DynamicObject newValue = (DynamicObject) e.getChangeSet()[0].getNewValue(); String acctstyle = (String) this.getView().getModel().getValue("acctstyle"); switch (acctstyle) { @@ -85,6 +94,84 @@ public class AccountbanksFormPlugin extends AbstractFormPlugin { break; } } + + if ("bank".equals(propName) || "openorg".equals(propName) || "issetbankinterface".equals(propName)) { + try { + DynamicObject dataEntity = this.getModel().getDataEntity(true); + + boolean issetbankinterface = dataEntity.getBoolean("issetbankinterface"); + if (!issetbankinterface) { + return; + } + + // 开户公司 + DynamicObject openorg = dataEntity.getDynamicObject("openorg"); + // 开户行 + DynamicObject bank = dataEntity.getDynamicObject("bank"); + logger.info("获取开户行信息:{}", bank); + + if (openorg == null || bank == null) { + logger.info("开发的前置条件不满足,无需触发逻辑"); + return; + } + + // 查询银企接口下拉列表赋值情况 +// EBGetLoginListResult loginListResult = BankServiceHelper.getLoginListResult(this.getModel().getDataEntity()); +// Map bankVersionMap = loginListResult.getLoginMap(); +// logger.info("获取银行版本列表成功:{}", bankVersionMap); +// ArrayList bankVersionItems = new ArrayList<>(bankVersionMap.size()); +// bankVersionMap.forEach((key, value) -> +// bankVersionItems.add( +// new ComboItem(new LocaleString(value + " " + key), key) +// ) +// ); + + // 获取开户公司 + Long openorg_id = (Long)openorg.getPkValue(); + logger.info("获取开户公司ID:{}", openorg_id); + + // 银行类型 + DynamicObject bank_cate = bank.getDynamicObject("bank_cate"); + String bank_cate_name = bank_cate.getString("name"); + + DynamicObject[] dynamicObjects = BusinessDataServiceHelper.load("shkd_bankorg", + "id,billno,shkd_name,shkd_hforg,shkd_frontendprotype", + new QFilter("billno", QCP.not_equals, "").toArray()); + + // 前置机类型 + String qzjlx = ""; + + for (DynamicObject dynamicObject : dynamicObjects) { + // 获取多选基础资料业务单元(推送组织) + ArrayList orgArray = new ArrayList<>(); + DynamicObjectCollection orgArr = dynamicObject.getDynamicObjectCollection("shkd_hforg"); + for (DynamicObject orgData : orgArr) { + orgArray.add(orgData.getLong("fbasedataid_Id")); + } + + if (orgArray.contains(openorg_id)) { + qzjlx = dynamicObject.getString("shkd_frontendprotype"); + break; + } + } + + String configureAliases = qzjlx + "_" + bank_cate_name; + + logger.info("获取前置机类型_银行类型:{}", configureAliases); + + DynamicObject[] aqap_bank_logins = BusinessDataServiceHelper.load("aqap_bank_login", "id,number,name,alias", new QFilter("alias", QCP.equals, configureAliases).toArray()); + + if (aqap_bank_logins.length > 0) { + DynamicObject aqap_bank_login = aqap_bank_logins[0]; + this.getModel().setValue("bankinterface", aqap_bank_login.getString("number")); + } else { + this.getModel().setValue("bankinterface", ""); + } + + } catch (Exception exception) { + throw new AmException(ErrorCodeUtils.create("errorCode", exception.getMessage())); + } + } } }