审批人获取
在绘制流程图,节点执行人中审批人获取方法有三种,sql、存储过程、web服务、配置如图1-1所示:
图1-1
1.1 SQL
通过sql语句获取审批人信息,sql格式要求必须有userId、userName、orgName、empCode、empName这五个字段,查询条件可根据用户需求自定义 sql语句可以引用实体属性(包括内置实体属性和自定义实体属性)。
例如:在实体管理中自定义实体属性配,属性编码为动态参数信息,静态信息为参数值,sql语句中标红参数与属性编码一致,实体属性以${属性}表示。 如图1-2:
图1-2
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
SELECT DISTINCT a.user_id userId, a.user_name userName, (SELECT DISTINCT o.org_name FROM xip_pub_users a, xip_pub_emp_asg b, xip_pub_orgs o WHERE o.org_id = b.org_id AND a.emp_id = b.emp_id AND a.user_name = '${e_userName}') orgName, c.emp_code empCode, c.emp_name empName FROM xip_pub_users a, xip_pub_emps c WHERE a.emp_id = c.emp_id AND a.user_name = '${e_userName}' |
1.2 存储过程(oracle)
配置存储过程,在节点执行人下选择过程类型,存储过程中的参数可以引用实体属性(包括内置实体属性和自定义实体属性),参数字符串不需要加单引号,当在节点上配置用于选人的存储过程时,返回的xml串格式如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
<result> <flag></flag> <msg></msg> <data> <row> <userId></userId> <userName></userName> <empId></empId> <empCode></empCode> <empName></empName> </row> </data> </result> |
其中flag和msg标签为必输项,flag标示存储过程执行是否正确完成(0:正确,1:错误),msg在flag为1时为存储过程执行错误的原因,有数据集返回时,将数据集每行记录写在data标签下。
例如:根据图1-2获取自定义实体属性传参set_executor(${e_userName})
存储过程代码示例:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
CREATE OR REPLACE PROCEDURE set_executor(p_user_name IN VARCHAR2, p_return_msg OUT VARCHAR2) IS userid VARCHAR2(225); username VARCHAR2(225); empid VARCHAR2(225); empcode VARCHAR2(225); empname VARCHAR2(225); BEGIN SELECT a.user_id, a.user_name, b.emp_id, b.emp_code, b.emp_name INTO userid, username, empid, empcode, empname FROM xip_pub_users a, xip_pub_emps b WHERE b.emp_id = a.emp_id AND a.user_name = p_user_name; p_return_msg := '<result><flag>0</flag><msg>OK</msg><data><row><userId>' || userid || '</userId><userName>' || username || '</userName><empId>' || empid || '</empId><empCode>' || empcode || '</empCode><empName>' || empname || '</empName></row></data></result>'; EXCEPTION WHEN OTHERS THEN p_return_msg := '<result><flag>1</flag><msg>error</msg></result>'; END; |
1.3 存储过程(mysql)
配置存储过程,在节点执行人下选择过程类型,存储过程中的参数可以引用实体属性(包括内置实体属性和自定义实体属性),参数字符串不需要加单引号,当在节点上配置用于选人的存储过程时,返回的xml串格式如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
<result> <flag></flag> <msg></msg> <data> <row> <userId></userId> <userName></userName> <empId></empId> <empCode></empCode> <empName></empName> </row> </data> </result> |
其中flag和msg标签为必输项,flag标示存储过程执行是否正确完成(0:正确,1:错误),msg在flag为1时为存储过程执行错误的原因,有数据集返回时,将数据集每行记录写在data标签下。
例如: 根据图1-2获取自定义实体属性传参set_executor_demo(${e_userName})
存储过程代码示例:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
CREATE PROCEDURE set_executor_demo(IN user_name varchar(100),OUT rs varchar(5000)) BEGIN DECLARE userId VARCHAR(225); DECLARE userName VARCHAR(225); DECLARE empId VARCHAR(225); DECLARE empCode VARCHAR(225); DECLARE empName VARCHAR(225); SELECT a.USER_ID ,a.USER_NAME, b.EMP_ID,b.EMP_CODE,b.EMP_NAME INTO userId,userName,empId,empCode,empName FROM xip_pub_users a,xip_pub_emps b WHERE b.EMP_ID = a.EMP_ID AND a.USER_NAME=user_name; SET rs = CONCAT('<result><flag>0</flag><msg>OK</msg><data><row><userId>',userId, '</userId><userName>',userName, '</userName><empId>',empId, '</empId><empCode>',empCode, '</empCode><empName>',empName, '</empName></row></data></result>'); END |
1.4 WEB服务
在绘制流程图中,在节点执行人中选择WEB服务,webservice传入参数不限,返回参数必须为一个符合格式的xml串。配置字符串可以使用实体属性(包括内置实体属性和自定义实体属性),实体属性以${属性}表示,字符串不要添加单引号。
通过调用WebService获取节点配置的执行人信息,返回参数为xml串,格式为:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
<result> <flag></flag> <msg></msg> <data> <row> <userId></userId> <userName></userName> <empId></empId> <empCode></empCode> <empName></empName> </row> </data> </result> |
其中flag和msg标签为必输项,flag标示存储过程执行是否正确完成(0:正确,1:错误),msg在flag为1时为存储过程执行错误的原因,有数据集返回时,将数据集每行记录写在data标签下。
例如:${APP_IP}/services/platformWS?wsdl.setexecutor(${e_userName})。
方法参数及描述:
${APP_IP}:工程的应用地址
${e_username}:用户名称