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+"扩展字段"); } }