基本工作流脚本的写法举例:
根据输入变量取得返回值并赋值给输出变量(数组变量多个返回值)
--举例脚本说明:输出某节点下所有满足审批条件的用户(通过角色进行判断,指定组织下的所有特定角色即为审核人)
java . lang .StringBuffer Sql = new java .lang . StringBuffer ( ) ; --固定语法 建立一个动态字符串起名为 Sql
Sql . append ( "SELECT T_BD_Person.FID FROM T_PM_Role INNER JOINT_PM_UserRoleOrg ON T_PM_Role.FID = T_PM_UserRoleOrg.FRoleID INNER JOIN " ) ; --红字部分为分段为 Sql 写入数据库查询语句输出字段为fid
Sql . append ( "T_PM_User ON T_PM_UserRoleOrg.FUserID =T_PM_User.FID INNER JOIN T_BD_Person ON T_PM_User.FPersonId = T_BD_Person.FID" ) ;
Sql . append ( "WHERE (T_PM_UserRoleOrg.FOrgID = '" + companyId + "')AND (T_PM_UserRoleOrg.FRoleID = 'rxYJewYoSSOlQ4JrXRFO0xO2cyo=') AND(T_PM_User.FIsDelete = 0) AND (T_PM_User.FForbidden = 0) " ) ; --通过字符串拼接加入判断用的入口变量这里的变量名是 companyId内容是费用支付公司
java . sql .Connection con = com . kingdee . bos . framework . ejb . EJBFactory .getConnection ( __bosContext ) ; --固定语法 调用标准连接
java . sql .Statement batchStatement = con . createStatement ( ) ; --固定语法 创建一个连接对象
java . sql .ResultSet qrst = batchStatement . executeQuery ( Sql . toString ( ) ) ; --固定语法 执行Sql查询语句
java . util . ArrayList al = new java .util . ArrayList ( ) ; --定义一个 al为动态数组
for ( int i = 0 ; qrst . next ( ) ; i ++ ) al . add ( qrst .getString ( "FID" ) .toString ( ) ) ; --循环语句,将返回的fid数据传递给al
ap = new String [ al . size ( ) ] ; -- 根据al的大小建立数组ap
for ( int i = 0 ; i < al . size ( ) ; i ++ ) ap [ i ]= al . get ( i ) ; --循环语句,取al的数据到ap数组
com . kingdee .util . db . SQLUtils . cleanup ( batchStatement , con ) ; --固定语法 清理缓存
com . kingdee .util . db . SQLUtils . cleanup ( con ) ; --固定语法 关闭连接
--以上变量可根据需求修改名称