四、属性编辑说明

1. 流程整体的基本属性

流程标志必须添加,而且要和模块属性名小写一致;

2. 启动事件的基本属性

3. 顺序流的基本属性

新版本与老版本不同的地方在于,无需设置顺序流的属性,系统会自动判断同意或者不同意。PS:如果你是通过导入流程按钮导入了以前画的老流程,其中有设置这个的话,需要去掉,要不然执行流程时会报错。

4. 人员审批(UserTask)的基本属性

1、主要设置属性:分配用户。共分为两种设值方式,一种是身份存储,一种是固定值。

① 身份存储:设值方式比较死板,只能填入角色名和登录名,不能填入其他的值。但此种方式有输入提示,只需输入一个相关字符,便能查询出相应的值。

PS: `assignee`、 `candidateUsers`、 `candidateGroups`具体用法可以查看旧版流程的相关描述。

② 固定值:此种方法就与旧版的有点相似了,无智能提示。

相对于身份存储设值方式的死板,固定值填值的方式就比较多样化了。可以跟身份存储的填值方式一样,只填入角色名或者登录名。也可以填入系统自带的函数来获取相应的审批人,这里提供三种通过系统自带的函数来获取审批人的方法。

a. 第一种方法的值需要填入候选组中(PS:此处需要用到业务流程设计中的规则),作用是通过表单中的某个字段去查询出相应的审批人。表达式:$$引用规则key,例如: $$baojiadan.cxzg

规则设置如下(PS:规则中sql语句需要注意的是最外层select查询出来的值只能是 sys_user 表中的ID,不能是其他的值,否则无效;传入的参数只能是id,其他的无效(传入的参数id是流程所在表单的主表ID,在流程启动时,系统自动传入的)。):

流程中设置如下:

b. 第二种方法的值需要填入分配中(PS:此处需要用到业务流程设计中的规则),作用也是通过表单中的某个字段去查询出相应的审批人(PS: a,b两种都是通过表单中的某个字段查询出相应的审批人,但是不同点在于a是获取多审批人的用法,b是获取单审批人的用法)。

表达式: ${flowCondition.getStringValueByParam(execution,引用规则key,"")}

例如: ${flowCondition.getStringValueByParam(execution,"baojiadan.cxblr","")}

规则设置如下(PS:规则中sql语句需要注意的是最外层select查询出来的值只能是 sys_user 表中的 LOGIN_NAME ,不能是其他的值,否则无效;传入的参数只能是id,其他的无效(传入的参数id是流程所在表单的主表ID,在流程启动时,系统自动传入的)。):

流程中设置如下:

c. 第三种方法的值需要填入候选组,作用是通过当前用户所在组织拥有销售经理角色的用户(PS:当前用户指的是当前操作的用户或者说是启动流程的用户)。表达式: $角色名 ,例如: $主管

流程设置如下:

PS:对于驳回环节的处理,新版与旧版不同的地方在于,旧版驳回环节需要画好驳回流程,并自己手动设置办理人,但是新版是不需要的,新版流程是不需要画驳回环节的,这些都是系统自动判断并处理的。

2、动态表单属性:

可添加的属性如下:

  1. again 该属性表示该环节为驳回给流程发起人的环节,并且修改单据数据(如果只是为了修改单据可以使用modify属性)
  2. rpt 该属性表示设置审批环节中打开哪些报表可见(如果不设置该属性则显示默认的报表)。PS:名称为:none|none时表示不现实报表
  3. modify该属性表示该环节可以修改单据数据,name设置为 1 (则显示当前流程的单据) ;
    (如果name为指定自定义表的名称,则显示自定义表单。其实填写的就是自定义表单的属性名,但必须要小写,例如: qingxiujiazhubiao
  4. roles 该属性表示该环节可以设置指定角色,选择指定的用户为下推数据的创建人
  5. approve_title 该属性表示设置默认“同意”按钮的新名称
  6. reject_title 该属性表示设置默认“不同意”按钮的新名称
  7. button 该属性表示设置自定义审批动态按钮

5. 任务监听(Task Listener)的基本属性

目前任务监听处理类为SendMessage.Java这个类主要用于处理完成任务时,发送信息通知,单据查询通知,下推新生成的单据查看的通知等等功能;

主要方法有:

  • sendRemind(ActivityExecution execution,String title,String roleName,String rptName)

例: ${sendMessage.sendRemind(execution,"采购计划","采购","报表key|报表名")}

  • title ---通知标题,
  • roleName ---通知角色范围,
  • rptName ---报表key|报表名(不填的话,只显示报表),
  • roleName 为" "或null值,表示默认给流程发起者;

功能:表示发送通知给拥有指定角色的用户,来查看相应的流程历史信息

  • sendRemindByTaskName(ActivityExecution execution,String title,String taskName,String rptName)

例: ${sendMessage. sendRemindByTaskName(execution,"采购计划","采购经理审批","报表名")}

  • title ---通知标题,
  • taskName ---历史审批任务名称,
  • rptName ---报表名

功能:表示发送通知给历史办理该名称任务的用户,来查看相应的流程历史信息

  • sendBusinessRemind(ActivityExecution execution,String title,String roleName, String entityName)

例: ${sendMessage.sendBusinessRemind (execution,"采购单变更业务提醒","","com.MainTable")}

  • title ---通知标题,
  • roleName ---角色名字,
  • entityName ---模块实体名:规则为”模块名(小写).主表名”
    • sendOrder(ActivityExecution execution,String title,String roleName)

例: ${sendMessage.sendOrder(execution,"采购计划","采购")}

  • title ---通知标题,
  • roleName ---通知角色范围,
  • roleName 为" "或null值,表示默认给流程发起者;

功能:表示发送通知给拥有指定角色的用户,来查看相应的单据数据

  • sendOrderByTaskName(ActivityExecution execution,String title,String taskName)

例: ${sendMessage.sendOrder(execution,"采购计划","采购经理审批")}

  • title ---通知标题,
  • taskName ---历史审批任务名称

功能:表示发送通知给历史办理该名称任务的用户,来查看相应的单据数据。

  • ${dataDeal.callProcForMysql(ActivityExecution execution, String proc)}

例: $ {dataDeal.callProcForMysql(execution, "p_biang_geng_ke_hu_ywy_zy")}

  • Proc ——数据库中的存过名称

功能:调用数据库中的存过。注:此存过必须带如下两个参数:IN inId BIGINT,IN inHandleUserId bigint。

Copyright © 2022 杭州企云信息科技有限公司 all right reserved,powered by 简搭(jabdp)该文件修订时间: 2022-06-30 15:07:49

results matching ""

    No results matching ""