package tqq9.lc123.cloud.app.plugin.form.sys; import kd.bos.bill.AbstractBillPlugIn; import kd.bos.dataentity.OperateOption; import kd.bos.dataentity.entity.DynamicObject; import kd.bos.dataentity.resource.ResManager; import kd.bos.dataentity.utils.StringUtils; import kd.bos.entity.operate.result.OperationResult; import kd.bos.form.IFormView; import kd.bos.form.events.BeforeDoOperationEventArgs; import kd.bos.form.operate.FormOperate; import kd.bos.logging.Log; import kd.bos.logging.LogFactory; import kd.bos.orm.query.QFilter; import kd.bos.servicehelper.BusinessDataServiceHelper; import kd.bos.servicehelper.operation.OperationServiceHelper; import kd.sdk.plugin.Plugin; import tqq9.lc123.cloud.app.plugin.operate.sys.MaterialSaveOp; /** * 单据界面插件 * 物料保存后关闭单据的插件 */ public class MaterialSaveClosePlugin extends AbstractBillPlugIn implements Plugin { private static final Log log = LogFactory.getLog(MaterialSaveClosePlugin.class); @Override public void beforeDoOperation(BeforeDoOperationEventArgs args) { super.beforeDoOperation(args); FormOperate operation = (FormOperate) args.getSource(); String key = operation.getOperateKey(); if (StringUtils.equals("save", key)) { args.setCancel(Boolean.TRUE); //保存校验 当前单据数据 DynamicObject dataEntity = this.getModel().getDataEntity(true); OperationResult result = OperationServiceHelper.executeOperate("save", "bd_material", new DynamicObject[]{dataEntity}, OperateOption.create()); if (result.isSuccess()) { log.info(dataEntity.getString("number") + "保存成功"); } else { getView().showErrorNotification("保存失败"); log.info(dataEntity.getString("number") + "保存失败,原因:" + result); return; } } // 弹出操作成功提示消息 boolean showInParentView = true; IFormView view = this.getView().getViewNoPlugin(this.getView().getFormShowParameter().getParentPageId()); if (view == null) { view = this.getView(); showInParentView = false; } view.showSuccessNotification(String.format(ResManager.loadKDString("保存成功", "DefaultEntityOperate_5", "bos-entity-business", new Object[0]), operation.getOperateName().toString())); if (showInParentView) { this.getView().sendFormAction(view); } this.getModel().setDataChanged(Boolean.FALSE); // 关闭新增窗口 this.getView().close(); } }