15.仿简道云公式函数实战-逻辑函数-总结

1. 总结

各位小伙伴大家好,仿简道云公式函数实战的逻辑函数部分,我们已经搞定,在整个过程中,我们实现了AND、IF、IFS、XOR、TRUE、FALSE、NOT、OR等函数。这几个函数有一个共同的特点就是返回值要么是true,要么是false。

2. 常用案例

a.满足公式阻断提交表单

/***
 * 满足公式阻断提交表单
 */
@Test
public void case1() throws Exception{

    FormulaRunner formulaRunner = new FormulaRunner(true,true);
    // 创建上下文
    DefaultContext context = new DefaultContext<>();
    String express = "IF(产品名称 == '手机','产品名称不能等于手机','表单可以提交')";
    context.put("产品名称","手机");
    Object object = formulaRunner.execute(express, context, null, true, true);
    System.out.println(object);

}

b.领用数量不能大于库存数量 在进销存系统、产品库存管理等业务场景下,都希望实现领用数量不能大于库存数量,示例如下:

/***
 * 领用数量不能大于库存数量
 * 在进销存系统、产品库存管理等业务场景下,都希望实现领用数量不能大于库存数量,示例如下:
 */
@Test
public void case2() throws Exception{

    FormulaRunner formulaRunner = new FormulaRunner(true,true);
    // 创建上下文
    DefaultContext context = new DefaultContext<>();
    String express = "IF(领用数量 > 库存数量,'领用数量大于库存数量','可以领取')";
    context.put("领用数量",2);
    context.put("库存数量",1);
    Object object = formulaRunner.execute(express, context, null, true, true);
    System.out.println(object);

}

c.IF 函数多层嵌套

60 分以下,为不及格;60-89 分,为中;90 分以上,为优,示例如下:

/***
 * IF 函数多层嵌套
 * 60 分以下,为不及格;60-89 分,为中;90 分以上,为优,示例如下:
 */
@Test
public void case3() throws Exception{

    FormulaRunner formulaRunner = new FormulaRunner(true,true);
    // 创建上下文
    DefaultContext context = new DefaultContext<>();
    String express = "IF(分数<60,'不及格',IF(分数<90,'中','优'))";
    context.put("分数",90);
    Object object = formulaRunner.execute(express, context, null, true, true);
    System.out.println(object);

}

你可能感兴趣的:(仿简道云公式函数实战,java,开发语言,算法,数据结构,大数据,后端,中间件)