流程事件脚本设置

在流程运行中,为了方便快速将业务数据更新、添加或使用第三方接口同步相关数据等业务,可使用节点的事件设置中,编写脚本类方法,在此调用脚本类中方法进行处理。

进入流程事件设置页面

  • 首先进入【工作流管理】-【流程定义管理】选择其中一条流程定义的数据,点击“设置”按钮,进入设置页面,在左边的流程图中选中“开始”,系统自动在右边对应出现开始事件设置页面,将脚本代码编写如下图:

    温馨说明:
    (1)将编写的代码复制出来,具体代码如下图:
    Map<String,Object> valMaps = new HashMap<String,Object>();
    valMaps.put("ZHUANG_TAI_", "zzyxz");
    scriptImpl.updateDataByBusValue(businessKey_,"t_qbsqd",valMaps);
    (2)方法和参数说明:
  • updateDataByBusValue:根据主键值(系统默认主键字段名是”ID_“)更新对应物理表的字段信息;
  • businessKey_:固定参数名,可复制直接使用,代表获取流程绑定表的主键值;
  • t_qbsqd:更新物理表名,根据实际情况传递需要更新的表名,此代码范例中是更新流程绑定的业务对象生成的物理表信息,因此传递业务对象在数据库表中生成的实际表名信息一致即可;
    注意:业务对象生成的表名是根据前缀T_+编码组合而成,故此处范例表名则是此格式!
  • valMaps:定义Map数组,传递要更新的字段名信息和值,其中代码范例中“ZHUANG_TAI_”对应物理表的字段名称一致,“zzyxz”传递此字段要更新的值。

(3)自定义物理表和字段名时,需要更新对应表单信息时,调用方法是:scriptImpl.updateDataByBusKeyAndValue("主键字段名称",businessKey_,"更新表名",valMaps);

(4)在流程审批完后需要将数据插入到另外表信息时,调用示例方法是:

String idValue = scriptImpl.getUuid();
Map<String,Object> valMaps = new HashMap<String,Object>();
valMaps.put("orderId", idValue);
valMaps.put("ZHUANG_TAI_", "zzyxz");
scriptImpl.addDataByBusKey("orderForm",valMaps);

获取在线表单的字段值

在开始事件页面中,点击“表单变量”系统自动出现流程绑定业务对象所对应的字段信息,在出现的字段菜单中,点击字段信息,在事件编辑器的页面自动出现获取字段值的代码,如下图:

温馨说明:
(1)获取表单字段的信息,根据业务对象维护的字段类型匹配,即是字符串则需要String 定义属性信息获取;
(2)在更新字段值或需要获取表单值传参数均可使用该方式获取,在将代码传入。
(3)该代码方式遵守Groovy语法即可。

文档更新时间: 2020-03-20 14:52   作者:黄春艳