流程编排过程中如何排查故障?
流程编排
并行循环
如果有公用参数,或者条件判断,会导致判断失败。建议使用,顺序循环,不要使用并行循环
字符串
拼接,使用"加号",进行拼接,如果有数字,则需要先用string 的转换函数,变成string后拼接
替换,建议使用linker 的
null判断
=if payload.parent_org!=null then payload.parent_org else ""
在表达式中,空判断,建议使用非空 来判断;不要使用 =if payload.parent_org=null then "" else payload.parent_org,这种表达式取到的值=null
时间
如果需要获取当前时间,建议使用流程编制 新增一个获取档期那时间的API,利用linker的当前时间函数
数组
1.不能通过类似 data[1]的模式,给数组中的指定元素赋值;
2.可以通过data[1]的模式,可以从数组中取值;
参数表达式:
- 可以使用 ”a”+"b"+payload.kk="abc";其中payload.kk=”c“;注意”数字”要先转换成string再参与运算或者判断;
查询建议
查询建议写通用查询,可以将多个参数作为查询条件;
比如,创建人、创建时间;当需要依据指定字段查询的时候,给自定字段赋值即可,另外一个值,赋值 !!!,即可达到查询的目的
另外出参都是数组,如果需要单个使用的时候,使用 对象[0]的模式,来提取参数
流程入参
流程在设计的时候,需要管理好入参,方便后续其他人员调用。入参包括对象信息、字段信息。
对象
1. 当对象作为Key时,会覆盖已有的”流程级“对象;如 a:{"a1":"1","a2":"2"} ,会被新的output中的赋值a{"b1":”1“,"b2":"2"}覆盖;
2. 在output中:不能同时有 对象赋值,和拆箱;
3. 如果API的对象时 a:{"b1":"1","b2":2}
--如果a={"c1",1,"c2":2};则在流程级会覆盖;
--如果a.c1=1;则在流程级合并为:a:{"b1":"1","b2":2,"c1":1}
--如果在output中:a={"c1",1,"c2":2} 和 a.c1=1;则两个表达式都不生效;在流程级为 a:{"b1":"1","b2":2}