2.快速入门

本文通过介绍一个简单的例子,简述使用规则。

本文实现场景为根据员工年龄,计算每个员工的工龄系数,规则为 工龄系数 = 年龄 - 22

0, 前言

0.1,登录进入主系统后,通过导航栏进入“计算平台”模块。

image

0.2,进入计算平台模块,如贵公司导航栏中没有该模块,请联系对应客户经理咨询增购。

image

1,添加方案

弹窗样式

image

刚刚创建的方案

image

点击红框,进入刚创建的方案

image

2,设置输入输出分组

image

2.1,点击设置进入分组设置页面,目前分组支持三种方式创建

image

直接添加:在系统录入表名,表头信息等。

Excel 导入:直接上传本地的 Excel 文件,系统自动识别表头等信息。

从模板添加:从系统模板库添加。

下面我们使用“直接添加”

2.2,进入“设置”添加分组。

image

添加输入表,命名为“员工信息表”。

点击确定后

image

目前该表没有任何字段数据。

2.3,新建表的列字段

image

image

确定后展示为

image

再次重复同样的操作,添加一个年龄列。

image

2.4,新建输出分组,命名为“员工工龄系数表”

image

点击确定后,会自动生成几个所属列。image

2.5,新建输出分组的字段“工龄系数”

image

点击确定后

image

3,上传数据

image

点击返回,回到设置页面

image

点击工作台,这里能看到我们刚刚创建的两个分组。

image

3.1, 点击导入,上传所需数据

image

3.2, 上传成功后工作台展示为

image

3.3,目前我们需要根据“员工信息表”的数据,通过配置计算规则编写代码,计算每个员工的 工龄系数,并输出到“员工工龄系数表”中。

由于目前还没有配置计算,所以此时“员工工龄系数表”没有数据。image

4, 设置计算规则

4.1,切换到“计算规则”页面,开始新建规则。路径为 “计算规则”-->“新建规则”-->“开发者模式”

image

4.2,新建规则

image

点击确定后

image

此时只是新建了规则,但是还没有配置规则内容。

4.3,编辑映射规则

image

4.4,编辑自定义的规则

image

点击提交后,上方会显示“审批中”

方便测试,提供一个文本格式的代码

import com.xrxs.calculation.open.platform.bean.ParamsContext;
import com.yomahub.liteflow.script.ScriptExecuteWrap;
import com.yomahub.liteflow.script.body.JaninoCommonScriptBody;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

public class JavaDemo implements JaninoCommonScriptBody {

    public Void body(ScriptExecuteWrap wrap) {
        ParamsContext paramsContext = (ParamsContext) wrap.cmp.getFirstContextBean();

        //获取入参
        Map<String, List<Map<String, String>>> tableDetailMap = paramsContext.getTableDetailMap();
        List<Map<String, String>> inTableList = (List) tableDetailMap.get("员工信息表");

        //定义输出数据
        Map<String, List<Map<String, String>>> resultDataMap = new HashMap<>();
        List<Map<String, String>> lineList = new ArrayList<>();
        resultDataMap.put("员工工龄系数表", lineList);

        for (Map<String, String> eachMap : inTableList) {
            String name = (String) eachMap.get("姓名");
            String value = (String) eachMap.get("年龄");
            int outValue = Integer.parseInt(value) - 22;

            Map<String, String> eachOutMap = new HashMap<>();
            eachOutMap.put("工龄系数", outValue + "");
            eachOutMap.put("姓名", name);
            lineList.add(eachOutMap);
        }

        paramsContext.setResultDataMap(resultDataMap);

        return null;
    }
}

4.5,提交代码等待审核通过。

image

规则审批中,也是没办法点击计算的。

4.6,审核通过后,点击计算按钮执行个性化代码。

image

4.7,计算成功后,工作台查看“输出结果”。符合预期的结果。

image

2024 © 企家有道网络技术(北京)有限公司版权所有@京ICP备15035315号 all right reserved,powered by Gitbookupdate by: 2024-04-09 09:45:21

results matching ""

    No results matching ""