美文网首页
金蝶云苍穹afterDoOperation事件案例

金蝶云苍穹afterDoOperation事件案例

作者: 涎涎 | 来源:发表于2020-08-31 01:48 被阅读0次
    1. 新建单据带组织模板

    2. 新增一复选框在内容区,将其名称更改为连续新增 标识更改为newcontinuous

    3. 将其表名设置为 t_billdzz_demotest1

    1. 管理员用户登录将将其授权

    2. 编码

    package kd.bos.dynamicform.plugin;
    
    import kd.bos.dataentity.utils.StringUtils;
    import kd.bos.entity.operate.result.OperationResult;
    import kd.bos.form.events.AfterDoOperationEventArgs;
    import kd.bos.form.plugin.AbstractFormPlugin;
    
    /**
     * <p>Title: </p>
     * <p>
     *    Description:
     *    afterDoOperation事件 试验
     * </p>
     * <p>Copyright: Copyright (c) 2020</p>
     * @author xx
     * @date 2020年3月6日
     * @version 1.0
     */
    public class AfterDoOperationSample extends AbstractFormPlugin {
    
        private final static String OPERATEKEY_NEW = "new";//需要执行的事件
        private final static String OPERATEKEY_SAVE = "save";//按钮操作代码的操作编码
        private final static String KEY_NEWCONTINUOUS = "newcontinuous";//连续新增字段
        /**
         * <p>Title: </p>
         * <p>
         *    Description:
         *    用户点击按钮、菜单,执行完绑定的操作后,不论成功与否,均会触发此事件;
         *    插件可以在此事件,根据操作结果控制界面。
         *    特别说明:
         *    这个事件,是在表单界面层执行的,没有事务保护。
         *    不允许在此事件同步修改数据库数据,以免同步失败导致数据不一致。
         * </p>
         * <p>Copyright: Copyright (c) 2020</p>
         * @author xx
         * @date 2020年3月6日
         * @param param the bare_field_name
         * @param afterDoOperationEventArgs
         * @see kd.bos.form.plugin.AbstractFormPlugin#afterDoOperation(kd.bos.form.events.AfterDoOperationEventArgs)
         * @version 1.0
         */
        @Override
        public void afterDoOperation(AfterDoOperationEventArgs afterDoOperationEventArgs) {
            super.afterDoOperation(afterDoOperationEventArgs);
            
            if (StringUtils.equals(OPERATEKEY_SAVE, afterDoOperationEventArgs.getOperateKey())){
                
                OperationResult opResult = afterDoOperationEventArgs.getOperationResult();
                if (opResult != null && opResult.isSuccess()){
                    
                    // 读取界面上"连续新增"字段值
                    
                    boolean newContinuous = (boolean)this.getModel().getValue(KEY_NEWCONTINUOUS);
                    if (newContinuous){
                        // 连续新增:执行新增操作
                        this.getView().invokeOperation(OPERATEKEY_NEW);
                        // 界面刷新后,重设"连续新增"选项值,确保此选项值的延续
                        this.getModel().setValue(KEY_NEWCONTINUOUS, true);
                    }
                    else {
                        // 不连续新增:关闭界面
                        this.getView().close();
                    }
                }
            }
        }
    }
    
    1. 重启服务后注册插件,预览测试

    从上图可以看到代码实现了,开启连续新增后保存后再次新增的功能,若关闭连续新增,则保存后页面被关闭

    以上就是我关于 金蝶云苍穹afterDoOperation事件案例 知识点整理与总结的全部内容,希望对你有帮助。。。。。。。


    分割线


    相关文章

      网友评论

          本文标题:金蝶云苍穹afterDoOperation事件案例

          本文链接:https://www.haomeiwen.com/subject/xxiysktx.html