基于jeecgboot-vue3的Flowable流程仿钉钉流程设计器-排它网关里数字比较大小的处理

因为这个项目license问题无法开源,更多技术支持与服务请加入我的知识星球。

1、在仿钉钉流程中,条件的数字比较跟普通的字符串比较又不一样,同时在flowable里也是不同的表达式,所以需要特殊处理

2、后端方面

增加操作符

java 复制代码
//以下为数字操作符 add by nbacheng
        // 大于
        operatorMap.put("ngt", "%s > %s");
        // 等于
        operatorMap.put("neq", "%s = %s");
        // 不等于
        operatorMap.put("nne", "%s != %s");

同时对数字使用不同的格式处理

java 复制代码
} else if ( (e.getValue() instanceof String) && (this.isNumber(e.getValue().toString())) ) {//判断是否是数字 add by nbacheng
                    e.setValue(String.format("%d", Integer.valueOf(e.getValue().toString())));
                } else if (e.getValue() instanceof String) {
                    e.setValue(String.format("'%s'", e.getValue()));
                }
                return String.format(operator,
                    e.getField(),
                    e.getValue()
                );

3、前端方面

也是要增加数字专用的操作符

javascript 复制代码
const operatorOptions = [
  {
    value: 'eq',
    label: '等于'
  },
  {
    value: 'gt', 
    label: '大于'
  },
  {
    value: 'ne',
    label: '不等于'
  },
  {
    value: 'neq',
    label: '数字等于'
  },
  {
    value: 'ngt', 
    label: '数字大于'
  },
  {
    value: 'nne',
    label: '数字不等于'
  },
  {
    label: '包含',
    value: 'in'
  },
  {
    label: '不包含',
    value: 'ni'
  }
]

4、相应生成的xml文件如下:

5、效果图

相关推荐
iRuriCatt15 分钟前
智慧景区管理系统 | 计算机毕设项目
java·前端·spring boot·vue·毕设
天空属于哈夫克333 分钟前
企业微信外部群运营升级:API 主动推送消息开发实战
java·数据库·mysql
qq_124987075335 分钟前
基于springboot的会议室预订系统设计与实现(源码+论文+部署+安装)
java·vue.js·spring boot·后端·信息可视化·毕业设计·计算机毕业设计
愿你天黑有灯下雨有伞41 分钟前
java动态渲染列导出以及分页列表
java
星火开发设计1 小时前
共用体 union:节省内存的特殊数据类型
java·开发语言·数据库·c++·算法·内存
2301_803554521 小时前
阻塞,非阻塞,同步,异步以及linux上的5种IO模型阻塞,非阻塞,信号驱动,异步,IO复用
java·服务器·网络
仰望星空_Star1 小时前
Java证书操作
java·开发语言
河北小博博1 小时前
分布式系统稳定性基石:熔断与限流的深度解析(附Python实战)
java·开发语言·python
岳轩子1 小时前
JVM Java 类加载机制与 ClassLoader 核心知识全总结 第二节
java·开发语言·jvm
J_liaty1 小时前
Spring Boot + MinIO 文件上传工具类
java·spring boot·后端·minio