From d89e0cfcc0acea8ca3d1f136c2786333a81e8dd0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E8=B4=B5=E5=BC=BA?= Date: Wed, 5 Mar 2025 09:54:07 +0800 Subject: [PATCH] =?UTF-8?q?=E5=87=BD=E4=BB=B6=E6=A8=A1=E6=9D=BF=E4=BC=98?= =?UTF-8?q?=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../formplugin/CustomFieldInsertPlugin.java | 2 +- .../formplugin/CustomFieldTemplatePlugin.java | 76 +++++++++++++++++++ .../fieldinsert/entity/ModelType.java | 2 +- 3 files changed, 78 insertions(+), 2 deletions(-) create mode 100644 main/java/shkd/repc/rebm/formplugin/CustomFieldTemplatePlugin.java diff --git a/main/java/shkd/repc/rebm/formplugin/CustomFieldInsertPlugin.java b/main/java/shkd/repc/rebm/formplugin/CustomFieldInsertPlugin.java index e843653..f5427b9 100644 --- a/main/java/shkd/repc/rebm/formplugin/CustomFieldInsertPlugin.java +++ b/main/java/shkd/repc/rebm/formplugin/CustomFieldInsertPlugin.java @@ -42,7 +42,7 @@ public class CustomFieldInsertPlugin extends AbstractFormPlugin implements Plugi ModelType type = ModelType.fromString(modelType); DynamicObject insertDynamic = BusinessDataServiceHelper.loadSingle("qeug_insertfield", (new QFilter("number", QCP.equals, type.toString())).toArray()); if (null != insertDynamic) { - //默认取数 + //默认取数---引用标准模板生成OptionalColumnConstant String defaultField = insertDynamic.getString("qeug_defaultfield"); ComboEdit comboEdit = this.getView().getControl(BidTemplateMangeEntity.OPTIONALCOLUMN); List modelItems = new ArrayList<>(); diff --git a/main/java/shkd/repc/rebm/formplugin/CustomFieldTemplatePlugin.java b/main/java/shkd/repc/rebm/formplugin/CustomFieldTemplatePlugin.java new file mode 100644 index 0000000..6b7ef66 --- /dev/null +++ b/main/java/shkd/repc/rebm/formplugin/CustomFieldTemplatePlugin.java @@ -0,0 +1,76 @@ +package shkd.repc.rebm.formplugin; + +import kd.bos.bill.AbstractBillPlugIn; +import kd.bos.dataentity.entity.DynamicObject; +import kd.bos.dataentity.utils.StringUtils; +import kd.bos.entity.datamodel.events.PropertyChangedArgs; +import kd.bos.entity.property.ComboProp; +import kd.bos.orm.query.QCP; +import kd.bos.orm.query.QFilter; +import kd.bos.servicehelper.BusinessDataServiceHelper; +import kd.sdk.plugin.Plugin; + +/** + * 【函件模板】-【插入字段扩展(二开页面)】 + */ +public class CustomFieldTemplatePlugin extends AbstractBillPlugIn implements Plugin { + + @Override + public void propertyChanged(PropertyChangedArgs e) { + super.propertyChanged(e); + String fieldKey = e.getProperty().getName(); + if (StringUtils.equals(fieldKey, "qeug_templatetype")) { + handleSetFieldsValue(); + } + } + + private void handleSetFieldsValue() { + //获取选中下拉值 + String value = (String) this.getModel().getValue("qeug_templatetype"); + DynamicObject insertDynamic = BusinessDataServiceHelper.loadSingle("qeug_insertfield", (new QFilter("number", QCP.equals, value.toString())).toArray()); + if (null!=insertDynamic){ + this.getView().showMessage("已存在编码为:"+value+"的模板,请勿重复生成!"); + return; + } + switch (value){ + //邀请函 + case "INVITATION": + this.getModel().setValue("qeug_defaultfield","invitation"); + break; + //质疑函 + case "OBJECTION_LETTER": + this.getModel().setValue("qeug_defaultfield","query"); + break; + //感谢信 + case "THANK_YOU_LETTER": + this.getModel().setValue("qeug_defaultfield","thanksletter"); + break; + //招标公告 + case "TENDER_ANNOUNCEMENT": + this.getModel().setValue("qeug_defaultfield","bidproject"); + break; + //中标公告 + case "TENDER_RESULT_ANNOUNCEMENT": + this.getModel().setValue("qeug_defaultfield","decision"); + break; + //中标通知 + case "BID_NOTICE": + this.getModel().setValue("qeug_defaultfield","bidnotification"); + break; + //商务谈判邀约函 + case "BUSINESS_NEGOTIATION_INVITATION": + this.getModel().setValue("qeug_defaultfield","negotiate"); + break; + //评标邀请函 + case "EVALUATION_INVITATION": + this.getModel().setValue("qeug_defaultfield","bidassinvite"); + break; + } + //获取下拉列表字段 + ComboProp comboProp = (ComboProp) getModel().getProperty("qeug_templatetype"); + //通过下拉值获取下拉标题 + String displayName = comboProp.getItemByName(value); + this.getModel().setValue("number",value); + this.getModel().setValue("name",displayName+"扩展字段"); + } +} \ No newline at end of file diff --git a/main/java/shkd/repc/rebm/formplugin/fieldinsert/entity/ModelType.java b/main/java/shkd/repc/rebm/formplugin/fieldinsert/entity/ModelType.java index a8734a8..b469acf 100644 --- a/main/java/shkd/repc/rebm/formplugin/fieldinsert/entity/ModelType.java +++ b/main/java/shkd/repc/rebm/formplugin/fieldinsert/entity/ModelType.java @@ -10,7 +10,7 @@ public enum ModelType { THANK_YOU_LETTER("感谢信"), TENDER_ANNOUNCEMENT("招标公告"), TENDER_RESULT_ANNOUNCEMENT("中标公告"), - BID_NOTICE("中标通知书"), + BID_NOTICE("中标通知"), BUSINESS_NEGOTIATION_INVITATION("商务谈判邀约函"), EVALUATION_INVITATION("评标邀请函");