From a64fa20e498f64b8c53223c270773aa7fe69a4ab Mon Sep 17 00:00:00 2001 From: zengweihai Date: Mon, 27 May 2024 18:08:14 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8D=95=E6=8D=AE=E7=B1=BB=E5=9E=8B=E5=88=9D?= =?UTF-8?q?=E5=A7=8B=E5=8C=96=E9=80=9A=E7=94=A8=E6=8F=92=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../plugin/formplugin/CommonFormPlugin.java | 56 +++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 shkd-cosmic-debug/src/main/java/shkd/fi/er/plugin/formplugin/CommonFormPlugin.java diff --git a/shkd-cosmic-debug/src/main/java/shkd/fi/er/plugin/formplugin/CommonFormPlugin.java b/shkd-cosmic-debug/src/main/java/shkd/fi/er/plugin/formplugin/CommonFormPlugin.java new file mode 100644 index 0000000..d3c1239 --- /dev/null +++ b/shkd-cosmic-debug/src/main/java/shkd/fi/er/plugin/formplugin/CommonFormPlugin.java @@ -0,0 +1,56 @@ +package shkd.fi.er.plugin.formplugin; + +import kd.bos.bill.AbstractBillPlugIn; +import kd.bos.dataentity.entity.DynamicObject; +import kd.bos.form.FormShowParameter; +import kd.bos.orm.query.QFilter; +import kd.bos.servicehelper.BusinessDataServiceHelper; +import kd.sdk.plugin.Plugin; + +import java.util.EventObject; +import java.util.Map; + +/** + * 表单插件公共方法
+ * 1.获取菜单参数配置的单据类型编码,菜单参数:
+ * key=billType,value=单据类型编码
+ * key=filedMark,value=单据类型字段标识
+ * 2.将单据类型编码转换为编辑界面单据类型字段的值 + */ +public class CommonFormPlugin extends AbstractBillPlugIn implements Plugin { + + + /** + * 初始化时,从获取参数类型,设置单据类型值 + * @param e + */ + @Override + public void afterCreateNewData(EventObject e) { + super.afterCreateNewData(e); + FormShowParameter formShowParameter = this.getView().getFormShowParameter(); + if(null!=formShowParameter){ + Map customParams = formShowParameter.getCustomParams(); + if(null!=customParams){ + //获取列表界面配置的参数:billType=单据类型编码 + Object billType = customParams.get("billType"); + //获取列表界面配置的参数:filedMark=单据类型字段标识 + Object filedMark = customParams.get("filedMark"); + if(null!=billType&&null!=filedMark){ + DynamicObject billTypeObj = (DynamicObject)this.getModel().getValue(filedMark.toString()); + if(null==billTypeObj){ + //单据类型为空,赋值 + QFilter q1 = new QFilter("number", "=", billType.toString()); + DynamicObject billTypeObject = BusinessDataServiceHelper.loadSingle("bos_billtype", new QFilter[]{q1}); + this.getModel().setValue(filedMark.toString(), billTypeObject); + }else if(!billTypeObj.getString("number").equals(billType.toString())){ + //单据类型和列表菜单参数一致,不再赋值 + QFilter q1 = new QFilter("number", "=", billType.toString()); + DynamicObject billTypeObject = BusinessDataServiceHelper.loadSingle("bos_billtype", new QFilter[]{q1}); + this.getModel().setValue(filedMark.toString(), billTypeObject); + } + } + } + + } + } +} \ No newline at end of file