流程函数手册

表达式函数

通用函数

getValueByUrl(服务地址, 参数)

通过url获取值
参数:
    服务地址的格式:以服务名开头, 例如'/oa/main/org/getOrg' ;
    请求的时候,默认会带以下参数: 
            table: 表名
            sData1: 流程实例关联的业务数据1
            sData2: 流程实例关联的业务数据2
            sData3: 流程实例关联的业务数据3
            sData4: 流程实例关联的业务数据4
            process: 流程标识
            activity: 环节标识 
返回:
    String
  参考:
    getValueByUrl('/oa/main/org/getOrg')

currentTime()

当前时间
返回:
    Time
参考:
    currentTime()

currentDate()

当前日期
返回:
    Date
参考:
    currentDate()

currentDateTime()

当前日期时间
返回:
   DateTime
参考:
   currentDateTime()

guid()

32位的唯一标识
返回:
   String
参考:
   guid()

shortGuid()

19位的唯一标识
返回:
   String
 参考:
   shortGuid()

toString(值)

将指定的值转换成字符串
参数:
    值:要转换为字符串的数据
返回:
   String
参考:
   toString(1)

toInteger(值)

将指定的值转换成整数
参数:
    值:要转换为整数的数据
返回:
   Integer
参考:
   toInteger('1')

toFloat(值)

将指定的值转换成Float
参数:
    值:要转换为字符串的数据
返回:
   Float
参考:
   toFloat('1.2')

toDecimal(值)

将指定的值转换成BigDecimal
参数:
    值:要转换为BigDecimal类型的数据
返回:
   Decimal
参考:
   toDecimal('1.2')

toDate(值)

将指定的值转换成Date
参数:
    值:要转换为Date类型的数据
返回:
    Date
参考:    
    toDate('2020-01-01')

toDateTime(值)

将指定的值转换成DateTime
参数:
    值:要转换为DateTime类型的数据
返回:
    DateTime
参考:
    toDateTime('2020-01-3 12:00:00')

toTime(值)

将指定的值转换成Time
参数:
    值:要转换为Time类型的数据
返回:
    Time
参考:
    toTime('12:00:00')

dateToMillisecond(值)

将日期时间转换成毫秒
参数:
    值:要转换毫秒的日期时间数据 
返回:
    long
参考:
    dateToMillisecond(toDate('2020-01-01'))

dateDiff(dataPart, startDate, endDate)

返回指定的 startDate和endDate之间所跨的指定 dataPart边界的计数
参数:
    dataPart的值范围:
        yy或yyyy:表示年
        qq或q:表示季度
        mm或m:表示月
        dd或d:表示天
        wk或ww:表示星期
        hh:表示时
        mi或n:表示分
        ss或s:表示秒
        ms:表示毫秒 
返回:
    long
参考:
    dateDiff('yy', toDateTime('2020-01-01 12:00:00:00'), toDateTime('2022-02-03 13:11:12:23'))

toChineseNumber(数字, 是否大写)

将指定的数字转换成中文的数字
参数:
    数字:要转换为中文的数值
    是否大写:是否需要大写的数字,值为true或false
返回:
    String
参考:
    toChineseNumber(123.45, true)

toChineseMoney(数字)

将指定的数字转换成人民币数字
参数:
    要转换为人民币数字的数值
返回:
    String
参考:
    toChineseMoney(123.45)

ceil(数字)

计算大于指定数的最小整数
参数:
    用于计算的数值
返回:
    Integer
参考:
    ceil(123.45)

floor(数字)

计算小于等于指定数的最大整数
参数:
    用于计算的数值
返回:
    Integer
参考:
    floor(123.45)

round(数字)

四舍五入取整
参数:
    用于计算的数值
返回:
    Integer
参考:
    round(10.3)

remainder(被除数, 除数)

求余
参数:
    被除数:用于计算的数值
    除数:用于计算的数值
返回:
    Integer
参考:
    remainder(10, 3)

abs(数字)

计算指定数值的绝对值
参数:
    用于计算的数值
返回:
    Number
参考:
    abs(-10)

sqrt(数字)

计算指定数值平方根
参数:
    用于计算的数值
返回:
    Number
参考:
    sqrt(9)

power(num, n)

计算指定数值的n次方
参数:
    num:用于计算的数值
    n:n次方
返回:
    Number
参考:
    power(10, 2)

concat(字符串, 字符串)

连接字符串
参数:
    字符串:需要连接在一起的字符串
返回:
    String
参考:
    至少有两个字符串:例如:
                concat('a', 'b')
                concat('a', 'b', 'c')

upper(字符串)

字符串转大写
参数:
    字符串:要转换为大写的字符串
返回:
    String
参考:
    upper('abc')

lower(字符串)

字符串转小写
参数:
    字符串:要转换为小写的字符串
返回:
    String
参考:
    lower('ABC')

startsWith(字符串, 开始部分)

判断某个字符串是否以指定的字符串开始
参数:
    字符串:原始的字符串
    开始部分:指定的字符串
返回:
    Boolean
参考:
    startsWith('ABC', 'AB')

endsWith(字符串, 结束部分)

判断某个字符串是否以指定的字符串结束
参数:
    字符串:原始的字符串
    结束部分:指定的字符串
返回:
    Boolean
参考:
    endsWith('ABC', 'BC')

trim(字符串)

去掉字符串两边的空白字符
参数:
    字符串:原始的字符串
返回:
    String
参考:
    trim(' ABC ')结果: 'ABC'

ltrim(字符串)

去掉字符串左边的空白字符
参数:
    字符串:原始的字符串
返回:
    String
参考:
    ltrim(' ABC ')结果:'ABC '

rtrim(字符串)

去掉字符串右边的空白字符
参数:
    字符串:原始的字符串
返回:
    String
参考:
    rtrim(' ABC ')结果:' ABC'

stringLength(字符串)

获取字符串的长度
参数:
    字符串:要获取长度的字符串
返回:
    Integer
参考:
    stringLength('ABC')

replaceFirst(字符串, 被替换的子串, 替换的内容)

替换字符串中第一个出现的子串
参数:
    字符串:原始字符串
    被替换的子串:需要被替换的字符串
    替换的内容:将要替换的内容
返回:
    String
参考:
    replaceFirst('ABC', 'B', 'HELLO')结果: 'AHELLOC'
    replaceFirst('ABC', '.', 'HELLO')结果: 'HELLOBC'

replaceAll(字符串, 被替换的子串, 替换的内容)

替换字符串中出现的所有子串
参数:
    字符串:原始字符串
    被替换的子串:需要被替换的字符串
    替换的内容:将要替换的内容
返回:
    String
参考:
    replaceAll('ABCB', 'B', 'H')结果: 'AHCH'
    replaceAll('ABCB', '.', 'H')结果: 'HHHH'

stringPosition(字符串, 要查找的子串)

查找字符串中第一次出现子串的位置
参数:
    字符串:原始字符串
    要查找的子串:要查找的字符串
返回:
    String
参考:
    stringPosition('ABCB', 'B')结果:1

subString(字符串, 开始位置, 结束位置)

取指定位置的子串
参数:
    字符串:获取子串的原始字符串
    开始位置:截取的字符串开始位置,位置从0开始计数
    结束位置:截取的字符串结束位置,位置从0开始计数
返回:
    String
参考:
    subString('ABCB', 1, 2)结果:'2'

format(格式字符串, 参数)

根据给出的模板返回格式化后的字符串
参数:
    格式字符串:要格式化的数据
    参数:需要的格式模版
返回:
    String
参考:
    格式字符串:%[argument_index$][flags][width][.precision]conversion
                    可选的 argument_index 是一个十进制整数,用于表明参数在参数列表中的位置。第一个参数由 '1$' 引用,
                    第二个参数由 '2$' 引用,依此类推。
                    可选的 flags 是修改输出格式的字符集。有效标志的集合取决于转换类型,目前支持的flags包括:
                       '-' 左对齐,支持字符串和数值的类型转换
                       '0' 零补齐, 支持数值类型
                    可选 width 是一个非负十进制整数,表明要向输出中写入的最少字符数。
                    可选 precision 是一个非负十进制整数,表示浮点数类型中的小数个数
                    必需的 conversion 是一个表明应该如何格式化参数的字符。给定参数的有效转换集合取决于参数的数据类型。
                    目前转换类型conversion支持 字符串、数值、时间日期
                    字符串:用s表示,例如:
                        format('%s', 'abc')结果 'abc'
                        format('%5s', 'abc')结果 '  abc'
                        format('%-5s', 'abc')结果 'abc  '
                        format('%1$5s,%1$-5s', 'abc')结果 '  abc,abc  '
                    数值型: 数值用d表示整型 , f表示浮点型,注意精度截断是采用四舍五入的方式,例如: 
                        format('%d', 100)结果 '100'
                        format('%5d', 100)结果 '  100'
                        format('%-5d', 100)结果 '100  '
                        format('%05d', 100)结果 '00100'
                        format('%f', 1.255)结果 '1.255'
                        format('%.2f', 1.255)结果 '1.26'
                        format('%5.2f', 1.255)结果 ' 1.26'
                        format('%-5.2f', 1.255)结果 '1.26 '
                        format('%05.2f', 1.255)结果 '01.26'
                    日期时间型: 以t开始,后面跟转换字符,如下:
                        'H'      24 小时制的小时,被格式化为必要时带前导零的两位数,即 00 - 23。
                        'k'      24 小时制的小时,即 0 - 23。
                        'M'      小时中的分钟,被格式化为必要时带前导零的两位数,即 00 - 59。
                        'S'      分钟中的秒,被格式化为必要时带前导零的两位数,即 00 - 60 ('60' 是支持闰秒所需的一个特殊值)
                        'Y'      年份,被格式化为必要时带前导零的四位数。
                        'y'      年份的最后两位数,被格式化为必要时带前导零的两位数,即 00 - 99
                        'm'      月份,被格式化为必要时带前导零的两位数
                        'd'      一个月中的天数,被格式化为必要时带前导零两位数,即 01 - 31
                        'e'      一个月中的天数,被格式化为两位数,即 1 - 31
                    以下转换字符用于格式化常见的日期/时间组合
                        'R'      24 小时制的时间,被格式化为 '%tH:%tM'
                        'T'      24 小时制的时间,被格式化为 '%tH:%tM:%tS'
                        'F'     ISO 8601 格式的完整日期,被格式化为 '%tY-%tm-%td'
                        例如:
                            format('%tH', toDateTime('2020-5-6 11:51:00'))结果 '11'
                            format('%tM', toDateTime('2020-5-6 11:51:00'))结果 '51'
                            format('%tF', toDateTime('2020-5-6 11:51:00'))结果 '2020-05-06'

decimalFormat(要格式化的数值, 格式字符串)

根据给定的模板格式化高精度数值
参数:
    要格式化的数值:要格式化的数值
    格式字符串:需要的格式模版
返回:
    String
参考:
    decimalFormat(1.1, '####.##' )结果 1.1
    decimalFormat(10000000.1, '#,###.##' )结果 10,000,000.1
    decimalFormat(1.1, '####.00' )结果 1.10

dateFormat(要格式化的日期、时间或者日期时间型, 格式字符串)

根据给定的模板格式化日期时间
参数:
     要格式化的日期、时间或者日期时间型:要格式化的日期、时间或者日期时间数据
     格式字符串:需要的格式模版
返回:
    String
参考:
    dateFormat(toDate('2010-12-23'), 'yyyyMMdd' )结果 '20101223'
    dateFormat(currentDateTime(), 'yyyy-MM-dd HH:mm:ss' )结果 '2010-10-12 12:22:23'

yearOf(日期或日期时间)

获取给定日期的年份
参数:
    日期或日期时间:给定的日期
返回:
    Integer
参考:
    yearOf(currentDateTime())

monthOf(日期或日期时间)

获取给定日期的月份
参数:
    日期或日期时间:给定的日期
返回:
    Integer
参考:
    monthOf(currentDateTime())

dayOf(日期或日期时间)

获取给定日期的天
参数:
    日期或日期时间给定的日期
返回:
    Integer
参考:
    dayOf(currentDateTime())

hourOf(日期或日期时间)

获取给定时间的小时
参数:
    日期或日期时间:给定的日期
返回:
    Integer
参考:
    hourOf(currentDateTime())

minuteOf(日期或日期时间)

获取给定时间的分钟
参数:
    日期或日期时间:给定的日期
返回:
    Integer
参考:
    minuteOf(currentDateTime())

secondOf(日期或日期时间)

获取给定时间的秒
参数:
    日期或日期时间:给定的日期
返回:
    Integer
参考:
    secondOf(currentDateTime())

firstDateOfWeek(日期或日期时间)

获取给定日期所在周的第一天
参数:
    日期或日期时间:给定的日期
返回:
    Date
参考:
    firstDateOfWeek(currentDateTime())

firstDateOfMonth(日期或日期时间)

获取给定日期所在月的第一天
参数:
    日期或日期时间:给定的日期
返回:
    Date
参考:
    firstDateOfMonth(currentDateTime())

firstDateOfYear(日期或日期时间)

获取给定日期所在年的第一天
参数:
    日期或日期时间:给定的日期
返回:
    Date
参考:
    firstDateOfYear(currentDateTime())

lastDateOfWeek(日期或日期时间)

获取给定日期所在周的最后一天
参数:
    日期或日期时间:给定的日期
返回:
    Date
参考:
    lastDateOfWeek(currentDateTime())

lastDateOfWeek(日期或日期时间)

获取给定日期所在月的最后一天
参数:
    日期或日期时间:给定的日期
返回:
    Date
参考:
    lastDateOfWeek(currentDateTime())

lastDateOfMonth(日期或日期时间)

获取给定日期所在月的最后一天
参数:
    日期或日期时间:给定的日期
返回:
    Date
参考:
    lastDateOfMonth(currentDateTime())

lastDateOfYear(日期或日期时间)

获取给定日期所在年的最后一天
参数:
    日期或日期时间:给定的日期
返回:
    Date
参考:
    lastDateOfYear(currentDateTime())

dayOfWeek(日期或日期时间)

获取给定日期所在周的第几天
参数:
    日期或日期时间:给定的日期
返回:
    Integer
参考:
    dayOfWeek(currentDateTime())

addMonths(日期或日期时间)

给定的日期增加若干月
参数:
    日期或日期时间:给定的日期
返回:
    Date
参考:
    addMonths(currentDateTime(), 3)

addDays(日期或日期时间)

给定的日期增加若干天
参数:
    日期或日期时间:给定的日期
返回:
    Date
参考:
    addDays(currentDateTime(), 3)

addHours(日期或日期时间)

给定的日期增加若干个小时
参数:
    日期或日期时间:给定的日期
返回:
    Date
参考:
    addHours(currentDateTime(), 3)

iff(条件, 条件为真时值, 条件为假时的值)

条件表达式
参数:
   条件:判断的条件
   条件为真时值:条件为真时返回的值
   条件为假时的值:条件为假时返回的值
返回:
    Object
参考:
    iff(1>2, '真', '假')

组织函数

currentPersonMember2()

当前人
返回:
    OrgUnit
参考:
    当前函数只用在流程的首环节的执行规则里,如果启动流程时给定了执行者,返回那个执行者,否则返回当前人员成员
    currentPersonMember2()

currentOrg

当前人所在组织
返回:
    OrgUnit
参考:
    currentOrg()

currentPos()

当前人所在岗位
返回:
    OrgUnit
参考:
    currentPos()

currentDept()

当前人所在部门
返回:
    OrgUnit
参考:
    currentDept()

currentOgn()

当前人所在机构
返回:
    OrgUnit
参考:
    currentOgn()

operatorID()

当前人标识
返回:
    String
参考:
    operatorID()

operatorCode()

当前人编码
返回:
    String
参考:
    operatorCode()

operatorName()

当前人名称
返回:
    String
参考:
    operatorName()

currentPersonMemberFID()

当前人员成员的FID
返回:
    String
参考:
    currentPersonMemberFID()

currentPersonMemberFName()

当前人员成员的FName
返回:
    String
参考:
    currentPersonMemberFName()

currentOrgID()

当前组织标识
返回:
    String
参考:
    currentOrgID()

currentOrgName()

当前组织名称
返回:
    String
参考:
    currentOrgName()

currentOrgCode()

当前组织编码
返回:
    String
参考:
    currentOrgCode()

currentOrgFID()

当前组织标识全路径
返回:
    String
参考:
    currentOrgFID()

currentOrgFName()

当前组织名称全路径
返回:
    String
参考:
    currentOrgFName()

currentOrgFCode()

当前组织编码全路径
返回:
    String
参考:
    currentOrgFCode()

currentPosID()

当前岗位标识
返回:
    String
参考:
    currentPosID()

currentPosName()

当前岗位名称
返回:
    String
参考:
    currentPosName()

currentPosCode()

当前岗位编码
返回:
    String
参考:
    currentPosCode()

currentPosFID()

当前岗位标识全路径
返回:
    String
参考:
    currentPosFID()

currentPosFName()

当前岗位名称全路径
返回:
    String
参考:
    currentPosFName()

currentPosFCode()

当前岗位编码全路径
返回:
    String
参考:
    currentPosFCode()

currentDeptID()

当前部门标识
返回:
    String
参考:
    currentDeptID()

currentDeptName()

当前部门名称
返回:
    String
参考:
    currentDeptName()

currentDeptCode()

当前部门编码
返回:
    String
参考:
    currentDeptCode()

currentDeptFID()

当前部门标识全路径
返回:
    String
参考:
    currentDeptFID()

currentDeptFName()

当前部门名称全路径
返回:
    String
参考:
    currentDeptFName()

currentDeptFCode()

当前部门编码全路径
返回:
    String
参考:
    currentDeptFCode()

currentOgnID()

当前机构标识
返回:
    String
参考:
    currentOgnID()

currentOgnName()

当前机构名称
返回:
    String
参考:
    currentOgnName()

currentOgnCode()

当前机构编码
返回:
    String
参考:
    currentOgnCode()

currentOgnFID()

当前机构标识全路径
返回:  
    String
参考:
    currentOgnFID()

currentOgnFName()

当前机构名称全路径
返回:
    String
参考:
    currentOgnFName()

currentOgnFCode()

当前机构编码全路径
返回:
    String
参考:
    currentOgnFCode()

findOrgUnitsHasRoleByCode('角色编码', '组织范围', 是否取到人员成员)

获取属于指定角色Code的组织单元
参数:
    角色编码:要查询的角色编码;
    组织范围:在指定的组织范围内查找,值可以是组织的FID,也可以是组织列表;
    是否取到人员成员:true或false
返回:
    OrgUnit
参考:
    findOrgUnitsHasRoleByCode('roleCode1', '', true)
    findOrgUnitsHasRoleByCode('roleCode1', currentDeptFID(), true)

findOrgUnitsByFID('组织FID')

根据组织的FID获取组织
参数:
    组织FID: 要获取的组织的FID
返回:
    OrgUnit
参考:
    findOrgUnitsByFID(currentOrgFID())

findOrgUnitsByFCode('组织FCode')

根据组织的FCode获取组织
参数:
    组织FCode:要获取的组织的FCode
返回:
    OrgUnit
参考:
    findOrgUnitsByFCode(currentOrgFCode())

findOrgUnitsByID('组织的ID')

根据组织ID获取组织
参数:
    组织的ID: 要获取的组织的ID
返回:
    OrgUnit
参考:
    findOrgUnitsByID(currentOrgID())

findOrgUnitsByCode('组织Code')

根据组织Code获取组织
参数:

返回:
    OrgUnit
参考:
    findOrgUnitsByCode(currentOrgCode())

findPersonMembersByID(人员成员所在范围, 人的ID)

根据人的ID获取人员成员
参数:
    人员成员所在范围:组织的ID或FID, 可以为''或null, 表示不限制范围。
    人的ID:要查的人的ID
返回:
    OrgUnit
参考:
    findPersonMembersByID('', operatorID())
    findPersonMembersByID(currentOgnFID(), operatorID())

findPersonMembersByCode(人员成员所在范围, 人的Code)

根据人的编码获取人员成员
参数:
    人员成员所在范围:组织的code或fCode, 可以为''或null, 表示不限制范围。
    人的Code:要查的人的code
返回:
    OrgUnit
参考:
    findPersonMembersByCode('', operatorCode())
    findPersonMembersByCode(currentOgnFID(), operatorCode())

findOnePersonMemberByID(人员成员所在范围, 人的ID)

根据人的ID获取人员成员(对于同一个人,只返回一个人员成员)
参数:
    人员成员所在范围:组织的ID或FID, 可以为''或null, 表示不限制范围。
    人的ID:要查的人的ID
返回:
    OrgUnit
参考:
    findOnePersonMemberByID('', operatorID())
    findOnePersonMemberByID(currentOgnFID(), operatorID())

findPersonMembersInOrg(组织FID, 是否包含所有子的人员成员)

获取指定组织下的人员成员
参数:
    组织FID:要查的组织FID
    是否包含所有子的人员成员:true或false
返回:
    List<OrgUnit>
参考:
    findPersonMembersInOrg(currentDeptFID(), true)

findOrgUnitsHasRole('角色编码', '组织范围', 是否取到人员成员)

获取某个组织下拥有指定角色的组织
参数:
    角色编码:要查询的角色编码;
    组织范围:在指定的组织范围内查找,值可以是组织的FID,也可以是组织列表;
    是否取到人员成员:true或false
返回:
    List<OrgUnit>
参考:     
    findOrgUnitsHasRole('roleCode1', '', true)
    findOrgUnitsHasRole('roleCode1', currentDeptFID(), true)

orgUnitsToPoss(组织列表)

组织转换成相应的岗位
参数:
    组织列表:要转换为岗位的组织列表
返回:
    List<OrgUnit>
参考:
    orgUnitsToPoss(findActivityExecutorOgn('ALL'))

orgUnitsToDepts(组织列表)

组织转换成相应的部门
参数:
    组织列表:要转换为部门的组织列表
返回:
    List<OrgUnit>
参考:
    orgUnitsToDepts(findActivityExecutorOgn('ALL'))

orgUnitsToOgns(组织列表)

组织转换成相应的机构
参数:
    组织列表:要转换为机构的组织列表
返回:
    List<OrgUnit>
参考:
    orgUnitsToOgns(findActivityExecutorOgn('ALL'))

firstOrgUnitFID(组织列表)

获取组织单元列表中第一个组织单元的FID
参数:
    组织列表:组织单元列表 
返回:
    String
参考:
    firstOrgUnitFID(findActivityExecutorOgn('ALL'))

firstOrgUnitFName(组织列表)

获取组织单元列表中第一个组织单元的FName
参数:
    组织列表:组织单元列表
返回:
    String
参考:
    firstOrgUnitFName(findActivityExecutorOgn('ALL'))

removeOrgUnitByFID(组织列表, 组织FID)

从组织单元列表中删除指定的组织单元
参数:
    组织列表:组织单元列表
    组织FID:要删除的组织FID
返回:
    List<String>
参考:
    removeOrgUnitByFID(findActivityExecutorOgn('ALL'), currentOrgFID())

orgUnitsToOrgFIDs(组织列表)

获取组织单元列表中的FID
参数:
    组织列表:组织单元列表
返回:
    List<String>
参考:
    orgUnitsToOrgFIDs(findActivityExecutorOgn('ALL'))

orgUnitsByKind(组织列表,组织类型)

组织单元转换成指定类型的组织单元
参数:
    组织列表:组织单元列表
    组织类型:要转换的组织类型
返回:
    List<OrgUnit>
参考:
    orgUnitsByKind(findActivityExecutorOrg('ALL'), 'ogn')

orgUnitsByIndex(组织列表, index)

从组织单元列表中获取指定序号的组织单元
参数:
    组织列表:组织单元列表
    index:序号
返回:
    List<OrgUnit>
参考:
    orgUnitsByIndex(findActivityExecutorOrg('ALL'), 2)

inOrgUnits(组织FID, 组织列表)

判断某个组织单元是否在某个组织单元列表中
参数:
    组织FID:某个组织单元的FID
    组织列表:组织单元列表
返回:
    boolean
参考:
    inOrgUnits(currentOgnFID(), findActivityExecutorOrg('ALL'))

orgUnitsSub(组织列表, 组织列表)

两个组织单元列表做差集操作
参数:
    组织列表:组织单元列表
返回:
    List<OrgUnit>
参考:
    orgUnitsSub(findActivityExecutorOrg('ALL'), findActivityExecutorOrg('START'))

orgUnitsOr(组织列表, 组织列表)

两个组织单元列表做并集操作
参数:
    组织列表:组织单元列表
返回:
    List<OrgUnit>
参考:
    orgUnitsOr(findActivityExecutorOrg('ALL'), findActivityExecutorOrg('START'))

orgUnitsAnd(组织列表, 组织列表)

两个组织单元列表做交集操作
参数:
    组织列表:组织单元列表
返回:
    List<OrgUnit>
参考:
    orgUnitsAnd(findActivityExecutorOrg('ALL'), findActivityExecutorOrg('START'))

orgUnitsEq(组织列表, 组织列表)

两个组织单元列表是否相等 参数: 组织列表:组织单元列表 返回: boolean 参考: orgUnitsEq(findActivityExecutorOrg('ALL'), findActivityExecutorOrg('START'))

distinctOrgUnitsByID(组织列表)

组织单元列表中相同ID的只保留一个
参数:
    组织列表:组织单元列表
返回:
    List<OrgUnit>
参考:
    distinctOrgUnitsByID(findActivityExecutorOrg('ALL'))

distinctOrgUnitsByFID(组织列表)

组织单元列表中相同FID的只保留一个
参数:
    组织列表:组织单元列表
返回:
    List<OrgUnit>
参考:
    distinctOrgUnitsByFID(findActivityExecutorOrg('ALL'))

findDirectorWF(组织FID, 级别)

获取主管
参数:
    组织FID: 获取这个组织的主管
    级别:1到20
返回:
    List<OrgUnit>
参考:
    findDirectorWF(firstOrgUnitFID(currentPersonMember2()), 1)直接主管

findOrgUnitsByBizRoleWF(组织角色ID, 管理范围)

根据组织角色ID获取组织列表
参数:
    组织角色ID: 组织角色ID
    管理范围:组织的FID
返回:
    List<OrgUnit>
参考:
    findOrgUnitsByBizRoleWF('orgRoleID1', firstOrgUnitFID(findActivityCreator('START')))

findOrgUnitsByBizRoleCodeWF(组织角色编码, 管理范围)

根据组织角色Code获取组织列表
参数:
    组织角色编码: 组织角色编码
    管理范围:组织的FID
返回:
    List<OrgUnit>
参考:
    findOrgUnitsByBizRoleCodeWF('orgRoleCode1', firstOrgUnitFID(findActivityCreator('START')))

roleIDByCode(角色编码)

根据角色编码获取角色ID
参数:
    角色编码:组织角色编码
返回:
    String
参考:
    roleIDByCode('admin')

流程函数

fieldValue('字段标识')

获取表单字段值
参数:
    字段标识:流程表单业务数据中的字段标识
返回:
    Object
参考:
    fieldValue('sName') 获取字段sName的值|

getProcessData1()

获取当前流程实例关联的业务数据1
返回:
    String
参考:
    getProcessData1()

getProcessData2()

获取当前流程实例关联的业务数据2
返回:
    String
参考:
    getProcessData2()

getProcessData3()

获取当前流程实例关联的业务数据3
返回:
    String
参考:
    getProcessData3()

getProcessData4()

获取当前流程实例关联的业务数据4
返回:
    String
参考:
    getProcessData4()

handlingSuggestion()

获取我的处理意见
返回:
    String
参考:
    handlingSuggestion()

currentPIName()

当前流程实例的标题
返回:
    String
参考:
    currentPIName()

currentProcess()

当前流程标识
返回:
    String
参考:
    currentProcess()

currentProcessLabel()

当前流程名称
返回:
    String
参考:
    currentProcessLabel()

currentActivity()

当前环节标识
返回:
    String
参考:
    currentActivity()

currentActivityLabel()

当前环节名称
返回:
    String
参考:
    currentActivityLabel()

currentProcessLabelOfProcessContext()

获取流程上下文中,当前流程的label
返回:
    String
参考:
    currentProcessLabelOfProcessContext()

currentProcessOfProcessContext()

获取流程上下文中,当前流程的全路径
返回:
    String
参考:
    currentProcessOfProcessContext()

currentActivityLabelOfProcessContext()

获取流程上下文中,当前环节的label
返回:
    String
参考:
    currentActivityLabelOfProcessContext()

currentActivityOfProcessContext()

获取流程上下文中,当前环节的全路径
返回:
    String
参考:
    currentActivityOfProcessContext()

currentTaskExecutorFinishedNumber()

当前任务有多少个执行者已经处理完成
返回:
    Integer
参考:
    currentTaskExecutorFinishedNumber()

currentTaskExecutorNumber()

当前任务执行者个数
返回:
    Integer
参考:
    currentTaskExecutorNumber()

isProcessFinished()

判断当前流程实例是否已经结束
返回:
    Boolean 
参考:
    isProcessFinished()

isStartingProcess()

判断是否正在启动流程
返回:
    Boolean
参考:
    isStartingProcess()

isFlowTo('环节标识')

判断是否流转到指定的环节
参数:
    环节标识:可以是具体环节的标识,可以也是START表示首环节,ALL表示所有环节
返回:
    Boolean
参考:
    isFlowTo('bizActivity1')

isFlowToEnd()

判断是否流转到结束
返回:
    Boolean
参考:
    isFlowToEnd()

executorInContext()

流程上下文中的执行者FID
返回:
    String
参考:
    executorInContext()

businessKeyInContext()

流程上下文中的业务主键
返回:
    String
参考:
    businessKeyInContext()

findActivityCreator('环节标识')

获取指定环节的发起人
参数:
    环节标识:可以是具体环节的标识,可以也是START表示首环节,ALL表示所有环节
返回:
    List<OrgUnit>
参考:
    findActivityCreator('START')         获取首环节的发起人
    findActivityCreator('ALL')             获取所有环节的发起人
    findActivityCreator('bizActivity')    获取环节bizActivity的发起人

findActivityFirstCreatorFID('环节标识')

获取指定环节的第一个发起人的FID
参数:
    环节标识:可以是具体环节的标识,可以也是START表示首环节,ALL表示所有环节
返回:
    String
参考:
    findActivityFirstCreatorFID('START')         获取首环节第一个发起人的FID
    findActivityFirstCreatorFID('ALL')             获取所有环节第一个发起人的FID
    findActivityFirstCreatorFID('bizActivity')    获取环节bizActivity第一个发起人的FID

findActivityFirstCreatorFName('环节标识')

获取指定环节的第一个发起人的FName
参数:
    环节标识:可以是具体环节的标识,可以也是START表示首环节,ALL表示所有环节
返回:
    String
参考:
    findActivityFirstCreatorFName('START')    获取首环节第一个发起人的FName
    findActivityFirstCreatorFName('ALL')    获取所有环节第一个发起人的FName
    findActivityFirstCreatorFName('bizActivity')    获取环节bizActivity第一个发起人的FName

findActivityCreatorOrg('环节标识')

获取指定环节的发起人所在组织
参数:
    环节标识可以是具体环节的标识,可以也是START表示首环节,ALL表示所有环节
返回:
    List<OrgUnit>
参考:
    findActivityCreatorOrg('START')         获取首环节的发起人所在组织
    findActivityCreatorOrg('ALL')             获取所有环节的发起人所在组织
    findActivityCreatorOrg('bizActivity')    获取环节bizActivity的发起人所在组织

findActivityFirstCreatorOrgFID('环节标识')

获取指定环节的第一个发起人所在组织的FID
参数:
    环节标识可以是具体环节的标识,可以也是START表示首环节,ALL表示所有环节
返回:
    String
参考:
    findActivityFirstCreatorOrgFID('START')    获取首环节第一个发起人所在组织的FID
    findActivityFirstCreatorOrgFID('ALL')    获取所有环节的第一个发起人所在组织的FID
    findActivityFirstCreatorOrgFID('bizActivity')    获取环节bizActivity的第一个发起人所在组织FID

findActivityFirstCreatorOrgFName('环节标识')

获取指定环节的第一个发起人所在组织的FName
参数:
    环节标识可以是具体环节的标识,可以也是START表示首环节,ALL表示所有环节
返回:
    String
参考:
    findActivityFirstCreatorOrgFName('START')    获取首环节第一个发起人所在组织的FName
    findActivityFirstCreatorOrgFName('ALL')        获取所有环节的第一个发起人所在组织的FName
    findActivityFirstCreatorOrgFName('bizActivity')    获取环节bizActivity的第一个发起人所在组织FName

findActivityCreatorPos('环节标识')

获取指定环节的发起人所在岗位
参数:
   环节标识可以是具体环节的标识,可以也是START表示首环节,ALL表示所有环节
返回:
    List<OrgUnit>
参考:
    findActivityCreatorPos('START')         获取首环节的发起人所在岗位
    findActivityCreatorPos('ALL')             获取所有环节的发起人所在岗位
    findActivityCreatorPos('bizActivity')    获取环节bizActivity的发起人所在岗位

findActivityFirstCreatorPosFID('环节标识')

获取指定环节的第一个发起人所在岗位的FID
参数:
    环节标识可以是具体环节的标识,可以也是START表示首环节,ALL表示所有环节
返回:
    String
参考:
    findActivityFirstCreatorPosFID('START')         获取首环节第一个发起人所在岗位的FID
    findActivityFirstCreatorPosFID('ALL')             获取所有环节的第一个发起人所在岗位的FID
    findActivityFirstCreatorPosFID('bizActivity')    获取环节bizActivity的第一个发起人所在岗位的FID

findActivityFirstCreatorPosFName('环节标识')

获取指定环节的第一个发起人所在岗位的FName
参数:
    环节标识可以是具体环节的标识,可以也是START表示首环节,ALL表示所有环节
返回:
    String
参考:
    findActivityFirstCreatorPosFName('START')     获取首环节第一个发起人所在岗位的FName
    findActivityFirstCreatorPosFName('ALL')         获取所有环节的第一个发起人所在岗位的FName
    findActivityFirstCreatorPosFName('bizActivity')获取环节bizActivity的第一个发起人所在岗位的FName

findActivityCreatorDept('环节标识')

获取指定环节的发起人所在部门
参数:
    环节标识可以是具体环节的标识,可以也是START表示首环节,ALL表示所有环节
返回:
    List<OrgUnit>
参考:
    findActivityCreatorDept('START')         获取首环节的发起人所在部门
    findActivityCreatorDept('ALL')             获取所有环节的发起人所在部门
    findActivityCreatorDept('bizActivity')    获取环节bizActivity的发起人所在部门

findActivityFirstCreatorDeptFID('环节标识')

获取指定环节的第一个发起人所在部门的FID
参数:
    环节标识可以是具体环节的标识,可以也是START表示首环节,ALL表示所有环节
返回:
    String
参考:
    findActivityFirstCreatorDeptFID('START')    获取首环节第一个发起人所在部门的FID
    findActivityFirstCreatorDeptFID('ALL')    获取所有环节的第一个发起人所在部门的FID
    findActivityFirstCreatorDeptFID('bizActivity')    获取环节bizActivity的第一个发起人所在部门的FID

findActivityFirstCreatorDeptFName('环节标识')

获取指定环节的第一个发起人所在部门的FName
参数:
    环节标识可以是具体环节的标识,可以也是START表示首环节,ALL表示所有环节
返回:
    String
参考:
    findActivityFirstCreatorDeptFName('START')    获取首环节第一个发起人所在部门的FName
    findActivityFirstCreatorDeptFName('ALL')    获取所有环节的第一个发起人所在部门的FName
    findActivityFirstCreatorDeptFName('bizActivity')获取环节bizActivity的第一个发起人所在部门的FName

findActivityCreatorOgn('环节标识')

获取指定环节的发起人所在机构
参数:
    环节标识可以是具体环节的标识,可以也是START表示首环节,ALL表示所有环节
返回:
    List<OrgUnit>
参考:
    findActivityCreatorOgn('START')    获取首环节的发起人所在机构
    findActivityCreatorOgn('ALL')    获取所有环节的发起人所在机构
    findActivityCreatorOgn('bizActivity')    获取环节bizActivity的发起人所在机构

findActivityFirstCreatorOgnFID('环节标识')

获取指定环节的第一个发起人所在机构的FID
参数:
    环节标识可以是具体环节的标识,可以也是START表示首环节,ALL表示所有环节
返回:
    String
参考:
    findActivityFirstCreatorOgnFID('START') 获取首环节第一个发起人所在机构的FID
    findActivityFirstCreatorOgnFID('ALL')    获取所有环节的第一个发起人所在机构的FID
    findActivityFirstCreatorOgnFID('bizActivity')    获取环节bizActivity的第一个发起人所在机构的FID

findActivityFirstCreatorOgnFName('环节标识')

获取指定环节的第一个发起人所在机构的FName
参数:
    环节标识可以是具体环节的标识,可以也是START表示首环节,ALL表示所有环节
返回:
    String
参考:
    findActivityFirstCreatorOgnFName('START') 获取首环节第一个发起人所在机构的FName
    findActivityFirstCreatorOgnFName('ALL')     获取所有环节的第一个发起人所在机构的FName
    findActivityFirstCreatorOgnFName('bizActivity')    获取环节bizActivity的第一个发起人所在机构的FName

findActivityExecutor('环节标识')

获取指定环节的处理人
参数:
    环节标识可以是具体环节的标识,可以也是START表示首环节,ALL表示所有环节
返回:
    List<OrgUnit>
参考:
    findActivityExecutor('START')
    findActivityExecutor('ALL')
    findActivityExecutor('bizActivity')

findActivityFirstExecutorFID('环节标识')

获取指定环节的第一个处理人的FID
参数:
    环节标识可以是具体环节的标识,可以也是START表示首环节,ALL表示所有环节
返回:
    String
参考:
    findActivityFirstExecutorFID('START')
    findActivityFirstExecutorFID('ALL')
    findActivityFirstExecutorFID('bizActivity')

findActivityFirstExecutorFName('环节标识')

获取指定环节的第一个处理人的FName
参数:
    环节标识可以是具体环节的标识,可以也是START表示首环节,ALL表示所有环节
返回:
    String
参考:
    findActivityFirstExecutorFName('START')
    findActivityFirstExecutorFName('ALL')
    findActivityFirstExecutorFName('bizActivity')

findActivityExecutorOrg('环节标识')

获取指定环节的处理人所在组织
参数:
    环节标识可以是具体环节的标识,可以也是START表示首环节,ALL表示所有环节
返回:
    List<OrgUnit>
参考:
    findActivityExecutorOrg('START')
    findActivityExecutorOrg('ALL')
    findActivityExecutorOrg('bizActivity')

findActivityFirstExecutorOrgFID('环节标识')

获取指定环节的第一个处理人所在组织的FID
参数:
    环节标识可以是具体环节的标识,可以也是START表示首环节,ALL表示所有环节
返回:
    String
参考:
    findActivityFirstExecutorOrgFID('START')
    findActivityFirstExecutorOrgFID('ALL')
    findActivityFirstExecutorOrgFID('bizActivity')

findActivityFirstExecutorOrgFName('环节标识')

获取指定环节的第一个处理人所在组织的FName
参数:
    环节标识可以是具体环节的标识,可以也是START表示首环节,ALL表示所有环节
返回:
    String
参考:
    findActivityFirstExecutorOrgFName('START')
    findActivityFirstExecutorOrgFName('ALL')
    findActivityFirstExecutorOrgFName('bizActivity')

findActivityExecutorPos('环节标识')

获取指定环节的处理人所在岗位
参数:
    环节标识可以是具体环节的标识,可以也是START表示首环节,ALL表示所有环节
返回:
    List<OrgUnit>
参考:
    findActivityExecutorPos('START')
    findActivityExecutorPos('ALL')
    findActivityExecutorPos('bizActivity')

findActivityFirstExecutorPosFID('环节标识')

获取指定环节的第一个处理人所在岗位的FID
参数:
    环节标识可以是具体环节的标识,可以也是START表示首环节,ALL表示所有环节
返回:
    String
参考:
    findActivityFirstExecutorPosFID('START')
    findActivityFirstExecutorPosFID('ALL')
    findActivityFirstExecutorPosFID('bizActivity')

findActivityFirstExecutorPosFName('环节标识')

获取指定环节的第一个处理人所在岗位的FName
参数:
    环节标识可以是具体环节的标识,可以也是START表示首环节,ALL表示所有环节
返回:
    String
参考:
    findActivityFirstExecutorPosFName('START')
    findActivityFirstExecutorPosFName('ALL')
    findActivityFirstExecutorPosFName('bizActivity')

findActivityExecutorDept('环节标识')

获取指定环节的处理人所在部门
参数:
    环节标识可以是具体环节的标识,可以也是START表示首环节,ALL表示所有环节
返回:
    List<OrgUnit>
参考:
    findActivityExecutorDept('START')
    findActivityExecutorDept('ALL')
    findActivityExecutorDept('bizActivity')

findActivityFirstExecutorDeptFID('环节标识')

获取指定环节的第一个处理人所在部门的FID
参数:
    环节标识可以是具体环节的标识,可以也是START表示首环节,ALL表示所有环节
返回:
    String
参考:
    findActivityFirstExecutorDeptFID('START')
    findActivityFirstExecutorDeptFID('ALL')
    findActivityFirstExecutorDeptFID('bizActivity')

findActivityFirstExecutorDeptFName('环节标识')

获取指定环节的第一个处理人所在部门的FName
参数:
    环节标识可以是具体环节的标识,可以也是START表示首环节,ALL表示所有环节
返回:
    String
参考:
    findActivityFirstExecutorDeptFName('START')
    findActivityFirstExecutorDeptFName('ALL')
    findActivityFirstExecutorDeptFName('bizActivity')

findActivityExecutorOgn('环节标识')

获取指定环节的处理人所在机构
参数:
    环节标识可以是具体环节的标识,可以也是START表示首环节,ALL表示所有环节
返回:
    List<OrgUnit>
参考:
    findActivityExecutorOgn('START')
    findActivityExecutorOgn('ALL')
    findActivityExecutorOgn('bizActivity')

findActivityFirstExecutorOgnFID('环节标识')

获取指定环节的第一个处理人所在机构的FID
参数:
    环节标识可以是具体环节的标识,可以也是START表示首环节,ALL表示所有环节
返回:
    String
参考:
    findActivityFirstExecutorOgnFID('START')
    findActivityFirstExecutorOgnFID('ALL')
    findActivityFirstExecutorOgnFID('bizActivity')

findActivityFirstExecutorOgnFName('环节标识')

获取指定环节的第一个处理人所在机构的FName
参数:
    环节标识可以是具体环节的标识,可以也是START表示首环节,ALL表示所有环节
返回:
    String
参考:
    findActivityFirstExecutorOgnFName('START')
    findActivityFirstExecutorOgnFName('ALL')
    findActivityFirstExecutorOgnFName('bizActivity')

流程上下文环境的组合函数

findDirectorWF(firstOrgUnitFID(findActivityExecutor('START')), level)

流程发起人的主管

参数:
    level:主管级别,取值范围1-20,默认值是1,直接主管
              1:直接主管
              2:第2级主管
              3: 第3级主管
              4:第4级主管
              5:第5级主管
              6:第6级主管
              7:第7级主管
              8:第8级主管
              9:第9级主管
             10:第10级主管
             11:第11级主管
             12:第12级主管
             13:第13级主管
             14:第14级主管
             15:第15级主管
             16:第16级主管
             17:第17级主管
             18:第18级主管
             19:第19级主管
             20:第20级主管
返回:
    List<OrgUnit>
参考:
    findDirectorWF(firstOrgUnitFID(findActivityExecutor('START')), 1)

findDirectorWF(firstOrgUnitFID(currentPersonMember2()), level)

当前人的主管
参数:
    level:主管级别,取值范围1-20,默认值是1,直接主管
              1:直接主管
              2:第2级主管
              3: 第3级主管
              4:第4级主管
              5:第5级主管
              6:第6级主管
              7:第7级主管
              8:第8级主管
              9:第9级主管
             10:第10级主管
             11:第11级主管
             12:第12级主管
             13:第13级主管
             14:第14级主管
             15:第15级主管
             16:第16级主管
             17:第17级主管
             18:第18级主管
             19:第19级主管
             20:第20级主管
返回:
    List<OrgUnit>
参考:
    findDirectorWF(firstOrgUnitFID(currentPersonMember2()), 1)

findDirectorWF(firstOrgUnitFID(findPersonMembersByCode(orgFID , operatorCode())), level)

指定组织下当前人的主管
参数:
    orgFID:指定组织的FID,设计时可以直接选择表单中存储的数据
    level:主管级别,取值范围1-20,默认值是1,直接主管
              1:直接主管
              2:第2级主管
              3: 第3级主管
              4:第4级主管
              5:第5级主管
              6:第6级主管
              7:第7级主管
              8:第8级主管
              9:第9级主管
             10:第10级主管
             11:第11级主管
             12:第12级主管
             13:第13级主管
             14:第14级主管
             15:第15级主管
             16:第16级主管
             17:第17级主管
             18:第18级主管
             19:第19级主管
             20:第20级主管

返回:
    List<OrgUnit>

findOrgUnitsByID(id)

根据组织标识查找
参数:
    id:组织标识,设计时可以直接选择表单中存储的数据,可以多个id用逗号分隔的字符串
返回:
    List<OrgUnit>

findOrgUnitsHasRole(role, '', false)

拥有指定角色的组织
参数:
    role:设计时通过提供的选择角色的对话框选择需要的角色,返回对应的角色id
返回:
    List<OrgUnit>

findPersonMembersByCode(orgFID , operatorCode())

指定组织下的当前人
参数:
    orgFID:组织的FID,设计时可以直接选择表单中存储的数据
返回:
    List<OrgUnit>

findOrgUnitsHasCActivity('', false)

所有人
返回:
    List<OrgUnit>

findActivityExecutor('START')

流程发起人
返回:
    List<OrgUnit>

orgUnitsToPoss(findActivityExecutor('START'))

流程发起人的岗位
返回:
    List<OrgUnit>

orgUnitsToDepts(findActivityExecutor('START'))

流程发起人的部门
返回:
    List<OrgUnit>

orgUnitsToOgns(findActivityExecutor('START'))

流程发起人的机构
返回:
    List<OrgUnit>

findOrgUnitsHasRole(role, orgUnitsToPoss(findActivityExecutor('START')), false)

流程发起人的岗位下拥有指定角色的组织
参数:
    role:设计时通过提供的选择角色的对话框选择需要的角色,返回对应的角色id
返回:
    List<OrgUnit> 

findOrgUnitsHasRole(role, orgUnitsToDepts(findActivityExecutor('START')), false)

流程发起人的部门下拥有指定角色的组织
参数:
    role:设计时通过提供的选择角色的对话框选择需要的角色,返回对应的角色id
返回:
    List<OrgUnit>    

findOrgUnitsHasRole(role, orgUnitsToOgns(findActivityExecutor('START')), false)

流程发起人的机构下拥有指定角色的组织
参数:
    role:设计时通过提供的选择角色的对话框选择需要的角色,返回对应的角色id
返回:
    List<OrgUnit> 

findOrgUnitsHasRole(role, org, false)

指定组织下拥有指定角色的组织
参数:
    role:设计时通过提供的选择角色的对话框选择需要的角色,返回对应的角色id
    org:设计时通过提供的选择组织的对话框选择需要的组织
返回:
    List<OrgUnit> 

findActivityCreator(activity)

环节发起人
参数:
    activity:设计时通过提供的选择环节的对话框选择当前业务流程中需要的业务环节
返回:
    List<OrgUnit> 

orgUnitsToDepts(findActivityCreator(activity))

环节发起人的部门
参数:
    activity:设计时通过提供的选择环节的对话框选择当前业务流程中需要的业务环节
返回:
    List<OrgUnit> 

orgUnitsToOgns(findActivityCreator(activity))

环节发起人的机构
参数:
    activity:设计时通过提供的选择环节的对话框选择当前业务流程中需要的业务环节
返回:
    List<OrgUnit> 

findOrgUnitsHasRole(role, orgUnitsToDepts(findActivityCreator(activity)), false)

环节发起人的部门下拥有指定角色的组织
参数:
    role:设计时通过提供的选择角色的对话框选择需要的角色,返回对应的角色id
    activity:设计时通过提供的选择环节的对话框选择当前业务流程中需要的业务环节
返回:
    List<OrgUnit> 

findOrgUnitsHasRole(role, orgUnitsToOgns(findActivityCreator(activity)), false)

环节发起人的机构下拥有指定角色的组织
参数:
    role:设计时通过提供的选择角色的对话框选择需要的角色,返回对应的角色id
    activity:设计时通过提供的选择环节的对话框选择当前业务流程中需要的业务环节
返回:
    List<OrgUnit>

findActivityExecutor(activity)

环节处理人
参数:
    activity:设计时通过提供的选择环节的对话框选择当前业务流程中需要的业务环节
返回:
    List<OrgUnit> 

orgUnitsToDepts(findActivityExecutor(activity))

环节处理人的部门
参数:
    activity:设计时通过提供的选择环节的对话框选择当前业务流程中需要的业务环节
返回:
    List<OrgUnit> 

orgUnitsToOgns(findActivityExecutor(activity))

环节处理人的机构
参数:
   activity:设计时通过提供的选择环节的对话框选择当前业务流程中需要的业务环节
返回:
    List<OrgUnit> 

findOrgUnitsHasRole(role, orgUnitsToDepts(findActivityExecutor(activity)), false)

环节处理人的部门下拥有指定角色的组织
参数:
    role:设计时通过提供的选择角色的对话框选择需要的角色,返回对应的角色id
    activity:设计时通过提供的选择环节的对话框选择当前业务流程中需要的业务环节
返回:
    List<OrgUnit> 

findOrgUnitsHasRole(role, orgUnitsToOgns(findActivityExecutor(activity)), false)

环节处理人的机构下拥有指定角色的组织
参数:
    role:设计时通过提供的选择角色的对话框选择需要的角色,返回对应的角色id
    activity:设计时通过提供的选择环节的对话框选择当前业务流程中需要的业务环节
返回:
    List<OrgUnit> 

findOrgUnitsByFID(fid)

根据组织标识全路径查找
参数:
    fid:组织的fid,设计时可以直接选择表单中存储的数据
返回:
    List<OrgUnit>

findOrgUnitsByCode(code)

根据组织编码查找
参数:
    code:组织的编码,设计时可以直接选择表单中存储的数据
返回:
    List<OrgUnit> 

findOrgUnitsByFCode(fcode)

根据组织编码全路径查找
参数:
    fcode:组织的fcode,设计时可以直接选择表单中存储的数据
返回:
    List<OrgUnit> 

findOrgUnitsByFID(executorInContext())

流程上下文中的执行者
返回:
    List<OrgUnit> 

工作流组件

工作流组件主要包括以下内容:
1. 流程的一些配置选项
data(数据集):工作流组件关联的业务数据Data。
autoClose(自动关闭页面):执行完流程相关操作(流转,回退,转发,中止,暂停,终止)后,是否自动关闭当前页面。
autoStart(自动启动流程):是否自动启动流程,启动流程时,默认sData1的值是数据集的当前行的rowid。
autoSave(自动保存数据):执行流程相关操作(流转查询,回退查询,转发查询,中止查询,暂停查询,终止查询)之前,是否自动保存业务数据。
autoFilter(自动过滤数据):是否自动为数据集添加相关的过虑条件(数据集的的rowid为sData1)。
启动时机:保存表示新增时保存启动流程,流转表示第一次流转时先启动流程,再流转

2. 流程动作的js api
启动流程、终止查询、终止、流转查询、流转、回退、回退查询、暂停查询、暂停、转发查询、转发、批量流转和回收任务等都可以调用流程组件上的相应api来实现。
例如:

var p = this.comp("process1"); //process1是流程组件的id
p.advanceQuery(); //流转查询


3. 流程动作的js事件
对于查询类的流程动作,流程组件公布了三个事件:执行前事件、执行后事件和执行失败事件,查询类的流程动作不启动事务;
对于非查询类的流程动作,流程组件公布了四个事件:执行前事件、执行后事件、动作提交事件和执行失败事件,其中,执行前事件和执行后事件与流程动作处于同一个事务中,动作提交事件和执行失败事件在事务之后。

案例:
    在界面中,流转之前检查业务数据是否符合业务要求(比如金额必须大于100),否则弹出提示
    PC端事件代码:
            Model.prototype.onWfuiAdvanceQueryBefore=function(event/*{{{*/=_e.wfui_onAdvanceQueryBefore/*}}}*/){
                var data = this.comp("mainData"); //mainData是业务数据关联的bizData的id
                var fAmount = data.getValue("fAmount"); //fAmount是金额字段
                if (fAmout < 100){
                    event.cancel = true; //取消后续的流程动作
                    alert("订单的金额必须大小100");
                }
            };
    移动端事件代码:
            onWfmui1AdvanceQueryBefore(event/*{{{*/=this._e.wfmui_advanceQueryBefore/*}}}*/){
                var data = this.comp("mainData"); //mainData是业务数据关联的bizData的id
                var fAmount = data.getValue("fAmount"); //fAmount是金额字段
                if (fAmout < 100){
                    event.cancel = true; //取消后续的流程动作
                    alert("订单的金额必须大小100");
                }
            }

组件方法

    start(process,name,data,formUrl,options)
        启动流程
            参数:
            process 流程编码
            name 流程实例名称
            data 流程关联的业务数据
            formUrl 表单地址
            options 可选参数
                是一个json格式, 有以下三个参数firstActivityExecutor,
                firstActivityExecutor: 表示首环节的执行者,可以不指定, 这时默认就是当前人员成员;
                vars: 变量
                格式如下:
                    {
                        "firstActivityExecutor": {String},
                        "vars": {var1: ""} 
                    }
        返回
        Promise


    advanceQuery(task,vars)
        流转查询
        参数:
            task 任务标识, 为空时使用默认任务    
            vars 变量
        返回 
            Promise 


        batchAdvanceQuery(task,vars)
        批量流转
        参数:
            task 任务标识, 为空时使用默认任务    
            vars 变量
        返回 
            Promise


    advance(task, processControl, vars)
        流转
        参数:
            task 任务标识, 为空时使用默认任务
            processControl 流转信息    ,json格式的数据
            vars 变量
        返回
            Promise 


        backQuery(task,vars)
        回退查询
        参数:
            task 任务标识, 为空时使用默认任务
            vars 变量
        返回
            Promise 


    startAdvanceQuery(process,name,data,formUrl,options)
        启动并流转查询
            参数:
            process 流程编码
            name 流程实例名称
            data 流程关联的业务数据
            formUrl 表单地址
            options 可选参数
                是一个json格式, 有以下三个参数firstActivityExecutor,
                firstActivityExecutor: 表示首环节的执行者,可以不指定, 这时默认就是当前人员成员;
                vars: 变量
                格式如下:
                    {
                        "firstActivityExecutor": {String},
                        "vars": {var1: ""} 
                    }
        返回
        Promise

    back(task, processControl, vars)
        回退
        参数:
            task  任务标识, 为空时使用默认任务
            processControl  回退信息    ,json格式的数据
            vars 变量
        返回 
            Promise 


    suspendQuery(task, vars)
        暂停查询
        参数:
            task 任务标识, 为空时使用默认任务
            vars  变量
        返回 
            Promise 


    suspend(task, processControl, vars)
        暂停
        参考:
            task 任务标识, 为空时使用默认任务
            processControl 暂停信息    ,json格式的数据
            vars  变量
        返回
            Promise 


    resume(task, vars)
        唤醒流程
        参数:
            task 任务标识, 为空时使用默认任务
            vars 变量
        返回
            Promise


    abortQuery(task, vars)
        终止查询
        参数:
            task 任务标识, 为空时使用默认任务
            vars 变量
        返回 
            Promise 


    abort(task, processControl, vars)
        终止
        参数:
            task 任务标识, 为空时使用默认任务
            processControl 终止信息,json格式的数据    
            vars 变量
        返回 
            Promise 


    specialQuery(task, vars)
        特送查询
        参数:
            task 任务标识, 为空时使用默认任务
            vars 变量
        返回 
            Promise 


    special(task, processControl, vars)
        特送
        参数:
            task 任务标识, 为空时使用默认任务
            processControl 特送信息,json格式的数据
            vars 变量
        返回 
            Promise 


    transferQuery(task, vars)
        转发查询
        参数:
            task 任务标识, 为空时使用默认任务
            vars 变量
        返回 
            Promise 


    restartQuery(task)
        重启查询
        参数:
            task 任务标识
        返回 
            Promise 
        示例
            import taskUtil from "$UI/comp/wfmui/components/wfmui/js/taskUtil";
            taskUtil.queryFinishPIByData(id).then((result)=>{
                if (result.length > 0){
                    wfmui.restartQuery(result[0].SA_Task);
                }else{
                    alert("没有找到结束的流程实例");
                }
            }); 


    transfer(task, processControl, vars)
        转发
        参数:
            task 任务标识, 为空时使用默认任务
            processControl 转发信息,json格式的数据    
            vars 变量
        返回 
            Promise 


    showChart(task, process, data)
        显示流程图
        参数:
            task 任务标识(可选参数)
            process 业务流程编码(可选参数)
            data 业务数据标识(可选参数)
            如果process, sData, task(只需要给process, sData或者只给task)没有指定时, 默认使用当前上下文中的task和process
        返回 
            void


    showRecord(task, process, data)
        显示流程记录对话框
        参数:
            task 任务标识
            process 业务流程编码(可选参数)
            sData 业务数据标识(可选参数)
        返回 
            void


    withdrawTask(task, vars)
        回收任务
        参数:
            task 任务标识, 为空时使用默认任务
            vars 变量
        返回
            Promise


    remindTask(task)
        催办任务
        参数:
            task: 任务标识
        返回 
            Promise


    getBusinessKey()
        获取流程上下文中的业务主键
        返回:
            String


     getBusinessLabel()
        获取流程上下文中的业务主键名称
        返回
            String

组件事件

    移动端:startBefore(event)
    PC端:onStartBefore(event)
        启动流程之前
        event结构:
                {
                    "source":组件的js对象,
                    "process":流程标识,
                    "relations":任务信息,json格式:
                                                    {
                                                        "关系名称":"关系值"
                                                    }
                    "vars": 变量,
                    "executor":首环节的执行者,
                    "cancel":是否取消后续操作,默认值为false
                }


    移动端:openDialogBefore(event)
    PC端:onOpenDialogBefore(event)
        打开流程对话框之前
        event结构:
                {
                    "source":组件的js对象,
                    "action":当前执行的流程动作,
                    "task":当前任务ID,
                    "processControl":ProcessControl对象,
                    "cancel":是否取消后续操作,默认值为false
                }


    移动端:startSuccess(event)
    PC端:onStartSuccess(event)
        启动流程成功
        event结构:
                {
                    "source":组件的js对象,
                    "process":流程标识,
                    "relations":任务信息,json格式:
                                                    {
                                                        "关系名称":"关系值"
                                                    }
                    "executor":首环节的执行者,
                    "vars": 变量,
                    "cancel":是否取消后续操作,默认值为false, 
                    "task":活动环节对应的任务标识
                }


    移动端:startError(event)
    PC端:onStartError(event)
        启动流程失败
        event结构:
                {
                    "source":组件的js对象,
                    "process":流程标识,
                    "relations":任务信息,json格式:
                                                    {
                                                        "关系名称":"关系值"
                                                    }
                    "executor":首环节的执行者,
                    "vars": 变量,
                    "cancel":是否取消后续操作,默认值为false, 
                    "error": 异常对象 
                }


    移动端:advanceBefore(event)
    PC端:onAdvanceBefore(event)
        流转之前
        event结构:
                {
                    "source":组件的js对象,
                    "task":任务标识,
                    "processControl":流转信息,
                    "vars": 变量,
                    "cancel":是否取消后续操作,默认值为false
                } 


    移动端:advanceSuccess(event)
    PC端:onAdvanceSuccess(event)
        流转成功
        event结构:
                {
                    "source":组件的js对象,
                    "task":任务标识,
                    "processControl":流转信息,
                    "vars": 变量,
                    "cancel":是否取消后续操作,默认值为false
                }


    移动端:advanceError(event)
    PC端:onAdvanceError(event)
        流转失败
        event结构:
                {
                    "source":组件的js对象,
                    "task":任务标识,
                    "processControl":流转信息,
                    "vars": 变量,
                    "cancel":是否取消后续操作,默认值为false,
                    "error": 异常对象 
                }


    移动端:advanceQueryBefore(event)
    PC端:onAdvanceQueryBefore(event)
        流转查询之前
        event结构:
                {
                    "source":组件的js对象,
                    "task":任务标识,
                    "vars": 变量,
                    "cancel":是否取消后续操作,默认值为false
                }


    移动端:advanceQuerySuccess(event)
    PC端:onAdvanceQuerySuccess(event)
        流转查询成功
        event结构:
                {
                    "source":组件的js对象,
                    "task":任务标识,
                    "processControl":流转信息,
                    "vars": 变量,
                    "cancel":是否取消后续操作,默认值为false
                }


    移动端:advanceQueryError(event)
    PC端:onAdvanceQueryError(event)
        流转查询失败
        event结构:
                {
                    "source":组件的js对象,
                    "task":任务标识,
                    "vars": 变量,
                    "cancel":是否取消后续操作,默认值为false,
                    "error": 异常对象 
                }


    移动端:backBefore(event)
    PC端:onBackBefore(event)
        回退之前
        event结构:
                {
                    "source":组件的js对象,
                    "task":任务标识,
                    "processControl":回退信息,
                    "vars": 变量,
                    "cancel":是否取消后续操作,默认值为false
                }


    移动端:backSuccess
    PC端:onBackSuccess
        回退成功
        event结构:
                {
                    "source":组件的js对象,
                    "task":任务标识,
                    "processControl":回退信息,
                    "vars": 变量,
                    "cancel":是否取消后续操作,默认值为false
                }


    移动端:backError
    PC端:onBackError
        回退失败
        event结构:
                {
                    "source":组件的js对象,
                    "task":任务标识,
                    "processControl":回退信息,
                    "vars": 变量,
                    "cancel":是否取消后续操作,默认值为false,
                    "error": 异常对象 
                }


    移动端:backQueryBefore
    PC端:onBackQueryBefore
        回退查询之前
        event结构:
                {
                    "source":组件的js对象,
                    "task":任务标识,
                    "vars": 变量,
                    "cancel":是否取消后续操作,默认值为false
                }


    移动端:backQuerySuccess
    PC端:onBackQuerySuccess
        回退查询成功
        event结构:
                {
                    "source":组件的js对象,
                    "task":任务标识,
                    "processControl":回退信息,
                    "vars": 变量,
                    "cancel":是否取消后续操作,默认值为false
                }


    移动端:backQueryError
    PC端:onBackQueryError
        回退查询失败
        event结构:
                {
                    "source":组件的js对象,
                    "task":任务标识,
                    "vars": 变量,
                    "cancel":是否取消后续操作,默认值为false,
                    "error": 异常对象 
                }


    移动端:abortBefore
    PC端:onAbortBefore
        终止之前
        event结构:
                {
                    "source":组件的js对象,
                    "task":任务标识,
                    "processControl":终止信息,
                    "vars": 变量,
                    "cancel":是否取消后续操作,默认值为false
                }


    移动端:abortSuccess
    PC端:onAbortSuccess
        终止成功
        event结构:
                {
                    "source":组件的js对象,
                    "task":任务标识,
                    "processControl":终止信息,
                    "vars": 变量,
                    "cancel":是否取消后续操作,默认值为false
                }


    移动端:abortError
    PC端:onAbortError
        终止失败
        event结构:
                {
                    "source":组件的js对象,
                    "task":任务标识,
                    "processControl":终止信息,
                    "vars": 变量,
                    "cancel":是否取消后续操作,默认值为false,
                    "error": 异常对象 
                }


    移动端:abortQueryBefore
    PC端:onAbortQueryBefore
        终止查询之前
        event结构:
                {
                    "source":组件的js对象,
                    "task":任务标识,
                    "vars": 变量,
                    "cancel":是否取消后续操作,默认值为false
                }


    移动端:abortQuerySuccess
    PC端:onAbortQuerySuccess
        终止查询成功
        event结构:
                {
                    "source":组件的js对象,
                    "task":任务标识,
                    "processControl":终止信息,
                    "vars": 变量,
                    "cancel":是否取消后续操作,默认值为false
                }


    移动端:abortQueryError
    PC端:onAbortQueryError
        终止查询失败
        event结构:
                {
                    "source":组件的js对象,
                    "task":任务标识,
                    "vars": 变量,
                    "cancel":是否取消后续操作,默认值为false,
                    "error": 异常对象 
                }


    移动端:suspendBefore
    PC端:onSuspendBefore
        暂停之前
        event结构:
                {
                    "source":组件的js对象,
                    "task":任务标识,
                    "processControl":暂停信息,
                    "vars": 变量,
                    "cancel":是否取消后续操作,默认值为false
                }


    移动端:suspendSuccess
    PC端:onSuspendSuccess
        暂停成功
        event结构:
                {
                    "source":组件的js对象,
                    "task":任务标识,
                    "processControl":暂停信息,
                    "vars": 变量,
                    "cancel":是否取消后续操作,默认值为false
                }


    移动端:suspendError
    PC端:onSuspendError
        暂停失败
        event结构:
                {
                    "source":组件的js对象,
                    "task":任务标识,
                    "processControl":暂停信息,
                    "vars": 变量,
                    "cancel":是否取消后续操作,默认值为false,
                    "error": 异常对象 
                }


    移动端:suspendQueryBefore
    PC端:onSuspendQueryBefore
        暂停查询之前
        event结构:
                {
                    "source":组件的js对象,
                    "task":任务标识,
                    "vars": 变量,
                    "cancel":是否取消后续操作,默认值为false
                }


    移动端:suspendQuerySuccess
    PC端:onSuspendQuerySuccess
        暂停查询成功
        event结构:
                {
                    "source":组件的js对象,
                    "task":任务标识,
                    "processControl":暂停信息,
                    "vars": 变量
                    "cancel":是否取消后续操作,默认值为false
                }


    移动端:suspendQueryError
    PC端:onSuspendQueryError
        暂停查询失败
        event结构:
                {
                    "source":组件的js对象,
                    "task":任务标识,
                    "vars": 变量,
                    "cancel":是否取消后续操作,默认值为false,
                    "errorType": 错误类型, 取值范围"client"或"server", 
                    "error": 客户端js异常信息, 
                    "errorNode": 服务端错误信息
                }


    移动端:transferBefore
    PC端: onTransferBefore
        转发之前
        event结构:
                {
                    "source":组件的js对象,
                    "task":任务标识,
                    "processControl":转发信息,
                    "vars": 变量,
                    "cancel":是否取消后续操作,默认值为false
                }


    移动端:transferSuccess
    PC端:onTransferSuccess
        转发成功
        event结构:
                {
                    "source":组件的js对象,
                    "task":任务标识,
                    "processControl":转发信息,
                    "vars": 变量,
                    "cancel":是否取消后续操作,默认值为false
                }


    移动端:transferError
    PC端:onTransferError
        转发失败
        event结构:
                {
                    "source":组件的js对象,
                    "task":任务标识,
                    "processControl":转发信息,
                    "vars": 变量,
                    "cancel":是否取消后续操作,默认值为false,
                    "errorType":错误类型, 取值范围"client"或"server", 
                    "error": 客户端js异常信息, 
                    "errorNode": 服务端错误信息
                }


    移动端:transferQueryBefore
    PC端: onTransferQueryBefore
        转发查询之前
        event结构:
                {
                    "source":组件的js对象,
                    "task":任务标识,
                    "vars": 变量,
                    "cancel":是否取消后续操作,默认值为false
                }


    移动端:transferQuerySuccess
    PC端: onTransferQuerySuccess
        转发查询成功
        event结构:
                {
                    "source":组件的js对象,
                    "task":任务标识,
                    "processControl":转发信息,
                    "vars": 变量,
                    "cancel":是否取消后续操作,默认值为false
                }


    移动端:transferQueryError
    PC端:onTransferQueryError
        转发查询失败 
        event结构:
                {
                    "source":组件的js对象,
                    "task":任务标识,
                    "vars": 变量,
                    "cancel":是否取消后续操作,默认值为false,
                    "error": 异常对象 
                }

其他API

任务相关接口taskUtil

    PC端路径:$UI/comp/wfui/components/wfui/js/taskUtil
    移动端路径:$UI/comp/wfmui/components/wfmui/js/taskUtil

    使用相关的API时需要先引用此工具类,如:
    PC端:var taskUtil = require("$UI/comp/wfui/components/wfui/js/taskUtil");
    移动端:import taskUtil  from "$UI/comp/wfmui/components/wfmui/js/taskUtil";

    相关方法
    queryTaskCount(status, org, filter)
        查询任务数
        参数:
             status 任务状态, 支持的值有all, waiting, finished, submited, 默认值是waiting
             org 组织范围, 只能是当前人的id或当前人所在的组织fid
             filter 过滤条件
        返回:
            Promise
        参考:
            taskUtil.queryTaskCount("waiting", null, null).then(function(count){});  //查我的待办任务数量
             taskUtil.queryTaskCount("submited", null, null).then(function(count){});  //查我的提交任务数量


    insertNotice(name, executorFIDs, data, process, activity, curl, eurl, options)
        新建通知
        参数:
            name 名称
             executorFIDs 执行者, FID的形成的列表(list)
             data 业务数据
             process 流程标识
             activity 环节标识
             curl 创建页面
             eurl 执行页面
            options 任务的其它扩展属性(json格式)
        返回:
            Promise
        参考:
            taskUtil.insertNotice("新建通知", ["人的FID"], "页面数据", "流程标识", "环节标识","创建页面", "执行页面", {sData2: "业务数据2"});  


    insertTask(name, executorFIDs, data, process, activity, curl, eurl, options)
        新建任务, 执行者在同一个任务下执行
        参数:
            name 名称
             executorFIDs 执行者, FID的形成的列表(list)
             data 业务数据
             process 流程标识
             activity 环节标识
             curl 创建页面
             eurl 执行页面
            options 任务的其它扩展属性(json格式)
        返回:
            Promise
        参考:
            taskUtil.insertTask("新建任务", ["人的FID"], "页面数据", "流程标识", "环节标识","创建页面", "执行页面", {sData2: "业务数据2"});  

    insertTasks(name, executorFIDs, data, process, activity, curl, eurl, options)
        新建多个任务
        参数:
            name 名称
             executorFIDs 执行者, FID的形成的列表(list)
             data 业务数据
             process 流程标识
             activity 环节标识
             curl 创建页面
             eurl 执行页面
            options 任务的其它扩展属性(json格式)
        返回:
            Promise
        参考:
            taskUtil.insertTasks("新建多个任务", ["人的FID"], "页面数据", "流程标识", "环节标识","创建页面", "执行页面", {sData2: "业务数据2"});  

    queryFinishPIByData(data)
        根据业务数据ID查询结束的流程实例
        参数:
            data 业务数据ID
        返回:
            流程实例数组
        示例:
            taskUtil.queryFinishPIByData(id).then((result)=>{
                if (result.length > 0){
                    //wfmui是流程组件
                    wfmui.restartQuery(result[0].SA_Task);
                }else{
                    alert("没有找到结束的流程实例");
                }
            });

results matching ""

    No results matching ""

    results matching ""

      No results matching ""