package shkd.repc.repmd.formplugin; import kd.bos.dataentity.entity.DynamicObject; import kd.bos.dataentity.entity.OrmLocaleValue; import kd.bos.form.FormShowParameter; import kd.bos.form.field.BasedataEdit; import kd.bos.form.field.events.BeforeQuickAddNewEvent; import kd.bos.form.field.events.BeforeQuickAddNewListener; import kd.bos.form.operate.FormOperate; import kd.bos.form.plugin.AbstractFormPlugin; import java.util.EventObject; public class ProjectBillPlugin extends AbstractFormPlugin implements BeforeQuickAddNewListener { @Override public void registerListener(EventObject e) { super.registerListener(e); BasedataEdit qeug_gcl = this.getControl("qeug_gcl"); qeug_gcl.addBeforeQuickAddNewListener(this); } @Override public void beforeQuickAddNew(BeforeQuickAddNewEvent beforeQuickAddNewEvent) { BasedataEdit operate = (BasedataEdit)beforeQuickAddNewEvent.getSource(); String operateKey = String.valueOf(operate.getDisplayName()); int productentry = this.getModel().getEntryCurrentRowIndex("productentry"); if (operateKey.equals("工程量")){ FormShowParameter showParameter = beforeQuickAddNewEvent.getShowParameter(); String billno = (String) this.getModel().getValue("billno"); if (billno == null || billno.isEmpty()) { beforeQuickAddNewEvent.setCancel(true); this.getView().showSuccessNotification("请填写项目编号"); return; } OrmLocaleValue billname = (OrmLocaleValue) this.getModel().getValue("billname"); String zh_cn = billname.get("zh_CN"); if (billname.size()==0) { beforeQuickAddNewEvent.setCancel(true); this.getView().showSuccessNotification("请填写项目名称"); return; } DynamicObject productentry_producttype = (DynamicObject) this.getModel().getValue("productentry_producttype",productentry); if (productentry_producttype==null){ beforeQuickAddNewEvent.setCancel(true); this.getView().showSuccessNotification("请填写对应行的产品类型"); return; } showParameter.setCustomParam("billno",billno); showParameter.setCustomParam("billname",zh_cn); showParameter.setCustomParam("productentry_producttype",productentry_producttype.getPkValue().toString()); showParameter.setCustomParam("operateKey",operateKey); } } }