基本工作流脚本的写法举例:
根据输入变量取得返回值并赋值给输出变量(单个返回值)
--举例脚本说明:计算某个人本月已经申请报销的业务招待费总额
java . lang .StringBuffer Sql =new java .lang . StringBuffer ( ) ; --固定语法 建立一个动态字符串起名为 Sql
Sql . append ( "select sum(a.famount) as sumamount " ) ; --红字部分为分段为 Sql 写入数据库查询语句
Sql . append ( "from T_BC_BizAccountBillentry a INNER JOINT_BC_BizAccountBill b ON a.fbillid=b.fid " ) ;
Sql . append ( "INNER JOIN T_BC_ExpenseType c ON a.FExpenseTypeID =c.FID where b.fapplierid='"+personId +"'" ) ; --通过字符串拼接加入判断用的入口变量 这里的变量名是 personId 内容是报销单提交人
Sql . append ( "and datediff(month,b.fbizreqdate,(selectfbizreqdate from T_BC_BizAccountBill where fnumber='"+number +"'))= 0 ") ; --通过字符串拼接加入判断用的入口变量 这里的变量名是 number 内容是本报销单的单据编码
Sql . append ( " and( (c.fnumber='112'or c.fnumber='111'or c.fnumber='156'orc.fnumber='166')) andb.fstate<>20" ) ;
java . sql .Connection con = com . kingdee . bos . framework . ejb . EJBFactory .getConnection (__bosContext ) ; --固定语法 调用标准连接
java . sql .Statement batchStatement = con . createStatement ( ) ; --固定语法 创建一个连接对象
java . sql .ResultSet est = batchStatement . executeQuery ( Sql . toString ( ) ) ; --固定语法 执行Sql查询语句
if ( est . next ( ) ) {byhj = est. getInt ("sumamount" ) ; } --红字部分为sql查询输出字段名,蓝字部分为脚本需要输出的变量 将合计数赋值给变量byhj(本月合计)
com . kingdee .util . db . SQLUtils . cleanup ( batchStatement , con ) ; --固定语法 清理缓存
com . kingdee .util . db . SQLUtils . cleanup ( con ) ; --固定语法 关闭连接