16.仿简道云公式函数实战-钉钉宜搭逻辑函数-加餐

1. 前言

钉钉宜搭中也有公式组件,发现在钉钉宜搭中逻辑函数有EQ、NE、LT、GT、LE、GE.虽然在QLExpress中也有对应的实现,但为了考虑系列文章的完整性,笔者在这篇文章加餐EQ、NE、LT、GT、LE、GE六个函数的实现

2. 函数说明

函数名表达式入参返回值
EQ判断相等EQ(value1,value2)

2个值作比较

boolean
NE判断不等NE(value1,value2)2个值作比较boolean
LT小于LT(value1,value2)2个值作比较boolean
GT大于GT(value1,value2)2个值作比较boolean
LE小于等于LE(value1,value2)2个值作比较boolean
GE大于等于GE(value1,value2)2个值作比较boolean

 3. 代码实战

3.1 EQ判断相等

表达式:EQ(value1,value2)

入参:

  • 2个值作比较

返回值:

  • 类型:布尔值

  • 返回值规则:两个值相等返回 true,支持数字,日期

package com.ql.util.express.self.combat.function.logic;import com.ql.util.express.Operator;/*** 类描述:EQ函数** @author admin* @version 1.0.0* @date 2023/11/27 14:04*/
public class EqFunction extends Operator {public EqFunction(String name) {this.name = name;}@Overridepublic Object executeInner(Object[] list) throws Exception {return executeInner(list[0], list[1]);}public Object executeInner(Object obj1, Object obj2) throws Exception {return Operator.objectEquals(obj1, obj2);}
}

3.2 NE判断不等

表达式:NE(value1,value2)

入参:

  • 2个值做比较

返回值:

  • 类型:布尔值

  • 返回值规则:两个值不相等返回 true,支持数字,日期

package com.ql.util.express.self.combat.function.logic;import com.ql.util.express.Operator;/*** 类描述: NE函数 判断不等** @author admin* @version 1.0.0* @date 2023/11/27 14:07*/
public class NeFunction extends Operator {public NeFunction(String name) {this.name = name;}@Overridepublic Object executeInner(Object[] list) throws Exception {return executeInner(list[0], list[1]);}public Object executeInner(Object obj1, Object obj2) throws Exception {return !Operator.objectEquals(obj1, obj2);}
}

3.3 LT小于

表达式:LT(value1,value2)

入参:

  • 2个值做比较

返回值:

  • 类型:布尔值

  • 返回值规则:value1 小于 value2 返回 true,支持数字,日期

package com.ql.util.express.self.combat.function.logic;import com.ql.util.express.Operator;
import com.ql.util.express.self.combat.exception.FormulaException;import static com.ql.util.express.config.QLExpressRunStrategy.isCompareNullLessMoreAsFalse;/*** 类描述: LT函数** @author admin* @version 1.0.0* @date 2023/11/27 13:45*/
public class LtFunction extends Operator {public LtFunction(String name) {this.name = name;}@Overridepublic Object executeInner(Object[] list) throws Exception {return executeInner(list[0], list[1]);}public Object executeInner(Object obj1, Object obj2) throws Exception {// 进行其他大小比较操作if (obj1 == null || obj2 == null) {if (isCompareNullLessMoreAsFalse()) {return false;}throw new FormulaException("空操作数无法进行数字比较操作:left = " + obj1 + ",right = " + obj2);}int i = Operator.compareData(obj1, obj2);boolean result = false;if (i < 0) {result = true;}return result;}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/233191.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

展开说说:Android之常用的延时执行策略

总结了以下六种常用的Android延时执行策略&#xff0c;以此记录&#xff1a; 1、TimerTask 2、Handler.postDelayed 3、Handler.sendEnptyMessageDelayeed 4、Thread.sleep线程休眠-需要在子线程 5、使用AlarmManager-全局定时器或者闹钟 6、Wait 首先定义一个时间常量&…

Ubuntu20.04 下编译安装 ffmpeg 和 ffplay

Ubuntu20.04 下编译安装 ffmpeg 和 ffplay 一、下载源码包二、安装依赖库三、编译四、添加环境变量五、验证是否成功六、问题 一、下载源码包 1.1 官方下载链接&#xff1a;http://ffmpeg.org/download.html 最新版本为6.1&#xff0c;点击 Download Source Code下载即可 &…

四、Spring IoC实践和应用(基于XML配置方式组件管理)

本章概要 基于XML配置方式组件管理 实验一&#xff1a; 组件&#xff08;Bean&#xff09;信息声明配置&#xff08;IoC&#xff09;实验二&#xff1a; 组件&#xff08;Bean&#xff09;依赖注入配置&#xff08;DI&#xff09;实验三&#xff1a; IoC 容器创建和使用实验四…

Python基础-函数与方法

第六章函数与方法 6.1、公共方法 加法运算适用于所有的基础数据类型&#xff08;int float bool&#xff09;加法运算所有两侧要是同种数据类型加法运算再容器类型中是拼接的意思&#xff0c;不是相加计算值 # 法运算,都可以用于哪些数据类型之间 # int float bool 肯定可以…

自助借还办证一体机软件需求说明书

1. 简介 1.1 项目概括 本项目主要实现读者自助办证、借书、还书、查询、续借的功能&#xff0c;减轻管理员的工作量&#xff0c;提升读者的借阅体验&#xff0c;提高了图书的借阅量与流通率&#xff0c;是图书馆智能化、无人化建设的重要步骤。 1.2 项目背景 ​ 目前各大图…

WEB渗透—PHP反序列化(四)

Web渗透—PHP反序列化 课程学习分享&#xff08;课程非本人制作&#xff0c;仅提供学习分享&#xff09; 靶场下载地址&#xff1a;GitHub - mcc0624/php_ser_Class: php反序列化靶场课程&#xff0c;基于课程制作的靶场 课程地址&#xff1a;PHP反序列化漏洞学习_哔哩…

使用 React 实现自定义数据展示日历组件

目录 背景实现日历组件父组件数据 效果最后 背景 项目中需要实现一个日历组件&#xff0c;并且需要展示月&#xff0c;日所对应的数据&#xff08;因为项目需求问题&#xff0c;就不统计年数据总量&#xff09;。网上找了一堆&#xff0c;基本都不大符合项目需求&#xff0c;且…

OpenHarmony鸿蒙原生应用开发,ArkTS、ArkUI学习踩坑学习笔记,持续更新中。

一、AMD处理器win10系统下&#xff0c;DevEco Studio模拟器启动失败解决办法。 结论&#xff1a;在BIOS里面将Hyper-V打开&#xff0c;DevEco Studio模拟器可以成功启动。 二、ArkTS自定义组件导出、引用实现。 如果在另外的文件中引用组件&#xff0c;需要使用export关键字导…

3ds max软件中的一些常用功能分享!

3ds max软件有很多小伙伴反馈说&#xff0c;明明有很多3ds max教程资料。却不知道如何入门3dmax。 掌握3dmax基本功能是开始使用3dmax的基础之一&#xff0c;所以&#xff0c;小编带大家盘点一下3dmax常用操作。 3dmax常用功能介绍如下&#xff0c;快快跟着小编一起看起来。 1…

预测性维护在汽车制造行业中的应用

汽车制造行业是一个高度复杂和精细化的领域&#xff0c;依赖于各种设备来完成生产流程。这些设备包括机械装配线、焊接机器人、喷涂设备、传送带等。然而&#xff0c;这些设备在长时间运行中不可避免地会遇到各种故障&#xff0c;给生产进程带来延误和成本增加。为了应对这一挑…

可变参数详解

概述 可变参数用在形参中可以接收多个数据。 可变参数的格式&#xff1a;数据类型...参数名称。 可变参数在方法内部本质上就是一个数组。 可变参数的作用 传输参数非常灵活&#xff0c;方便。可以不传输参数&#xff0c;可以传输1个或者多个&#xff0c;也可以传输一个数…

61道MyBatis高频题整理(附答案背诵版)

1、介绍下MyBatis? MyBatis是一个基于Java的持久层框架&#xff0c;它封装了底层的JDBC操作&#xff0c;大大简化了数据库操作的复杂性。MyBatis的主要特点包括&#xff1a; SQL语句与Java代码的分离&#xff1a;MyBatis允许你直接在XML文件中编写SQL语句&#xff0c;这样可以…

LeetCode Hot100 79.单词搜索

题目&#xff1a; 给定一个 m x n 二维字符网格 board 和一个字符串单词 word 。如果 word 存在于网格中&#xff0c;返回 true &#xff1b;否则&#xff0c;返回 false 。 单词必须按照字母顺序&#xff0c;通过相邻的单元格内的字母构成&#xff0c;其中“相邻”单元格是那…

快速幂算法C++

快速幂算法C 一个简单例子快速了解例题代码 一个简单例子快速了解 计算 2的13次方&#xff0c;首先&#xff0c;我们将指数13转换为二进制形式&#xff0c;得到1101。 然后&#xff0c;我们从右到左遍历每一位&#xff1a; 第一位是1&#xff0c;所以我们将结果乘以 2的20次…

鸿蒙(HarmonyOS)项目方舟框架(ArkUI)之Button按钮组件

鸿蒙&#xff08;HarmonyOS&#xff09;项目方舟框架&#xff08;ArkUI&#xff09;之Button按钮组件 一、操作环境 操作系统: Windows 10 专业版 IDE:DevEco Studio 3.1 SDK:HarmonyOS 3.1 二、Button按钮组件 Button 组件也是基础组件之一&#xff0c;和其它基础组件不…

metric和log

Metric&#xff08;指标&#xff09;和 Log&#xff08;日志&#xff09;是两种不同的监控数据类型&#xff0c;它们在监控和故障排查中有不同的用途和特点。 Metric&#xff08;指标&#xff09;: 定义&#xff1a; Metric 是定量的度量&#xff0c;通常是数值或计数&#xf…

鸿蒙开发之数据持久化存储Preferences

用户首选项&#xff08;Preferences&#xff09;提供的是key-value键值对的方式处理数据。类似于iOS开发中的NSUserDefault&#xff0c;主要针对的是轻量化数据的存储。如&#xff1a;字体大小、用户的信息等。 其中&#xff0c;key为字符串类型&#xff0c;value是string、nu…

Linux之grep、sed、awk

目录 1.grep 2.sed 3.awk 1.grep grep 擅长过滤查找&#xff0c;按行进行过滤 例&#xff1a; 当有用户对我们的主机进行爆破攻击时&#xff0c;我们可以使用grep将 ip 查找出来&#xff0c;进行封锁等处理 在 /var/log 目录下的 secure 文件中存放在用户登录连接信息&am…

信息搜集简要总结

信息搜集 一.遍历目录&#xff1a; ​ 可以使用dirsearch和御剑等目录扫描软件来进行目录遍历&#xff0c;得到一些信息&#xff0c;注意&#xff0c;有的时候扫不出来&#xff08;我使用dirsearch的时候经常出现扫不出来的时候&#xff0c;因此有的时候可以rce或者传马蚁剑连…

自定义 springboot 启动器 starter 与自动装配原理

Maven 依赖 classpath 类路径管理 Maven 项目中的类路径添加来源分为三类 自定义 springboot starter starter 启动器定义的规则自定义 starter 示例 自动装配 原文链接&#xff0c;点击跳转 — —