码迷,mamicode.com
首页 > 其他好文 > 详细

协同OA--工作流

时间:2017-09-11 13:10:34      阅读:388      评论:0      收藏:0      [点我收藏+]

标签:turn   金蝶   next   als   审批   pre   string   div   tin   

前言

  金蝶协同OA工作流。主要用于流程的发起审批的流程。这其中,有时候会需要在工作流中添加脚本:设置外部变量,然后通过脚本查询表中数据,然后将结果输出。

接下来呢,提供几个简单的demo例子进行参考。

 

取某个(本例是办理部门部长)审批节点的的审批决策项(0(不同意) 1(同意) ):

  spr 就是设定的外部数组变量,通过脚本将需要的数据,赋值到spr中。

1 StringBuffer tStrSql2 = new StringBuffer();  
2 tStrSql2.append(" SELECT fhandleroption  FROM T_BAS_MultiApprove where FASSIGNMENTID in ( select fassignid  from T_WFR_Assigndetail  where  factdefname_l2=‘办理部门部长‘and fbizobjid= ‘"+billID+"‘ )");
3 com.kingdee.jdbc.rowset.IRowSet tStrSqlRs2= com.kingdee.eas.util.app.DbUtil.executeQuery(__bosContext,tStrSql2.toString());
4 ArrayList al2 = new ArrayList(); 
5 java . util . ArrayList list2 = new java . util . ArrayList ( ) ; 
6 while ( tStrSqlRs2 . next ( ) ) { list2 . add ( tStrSqlRs2. getString ( "fhandleroption" ) . toString ( ) ) ; } 
7 spr= new String [ list2 . size ( ) ] ;
8  for ( int i = 0 ; i < list2 . size ; i ++ ) {spr[ i ] = list2 . get ( i ) . toString ( ) ; }

取分录组织负责人:

 1 1.定义一个内码型变量id,两个外部类型变量posarray、userarray。
 2 2.在提交节点将单据id输到变量id.
 3 3.提交节点的后置脚本放以下脚本
 4 4.审批节点参与人设置为变量userarray
 5 java . lang . StringBuffer sql1 = new java . lang . StringBuffer ( ) ; 
 6 sql1 . append ( "select distinct  FCostCenterId from T_BC_BizAccountBillentry where FBillID =‘"+id+"‘") ; 
 7 com.kingdee.jdbc.rowset.IRowSet rst= com.kingdee.eas.util.app.DbUtil.executeQuery(__bosContext,sql1.toString());
 8  java . util . ArrayList list1 = new java . util . ArrayList ( ) ; 
 9 while ( rst . next ( ) ) { list1 . add ( rst . getString ( "FCostCenterId" ) . toString ( ) ) ; } 
10 posarray = new String [ list1 . size ( ) ] ;
11  userarray = new String [ list1 . size ( ) ] ;
12  for ( int i = 0 ; i < list1 . size ; i ++ ) { posarray [ i ] = list1 . get ( i ) . toString ( ) ; 
13 
14 java . lang . StringBuffer sql2 = new java . lang . StringBuffer ( ) ; 
15 sql2 . append ( "select FID from T_PM_USER where Fpersonid in(select Fpersonid from  T_ORG_PositionMember  where fpositionid in ( select FID from T_ORG_Position where FIsRespPosition = ‘1‘ and FAdminOrgUnitID = ‘" + posarray [ i ] + "‘))" ) ; 
16 com.kingdee.jdbc.rowset.IRowSet row= com.kingdee.eas.util.app.DbUtil.executeQuery(__bosContext,sql2.toString());
17 while ( row . next ( ) ) { FYCDBM_FZR_ID= row . getString ( "FID" ) ; } 
18 if ( null == FYCDBM_FZR_ID|| "" . equals ( FYCDBM_FZR_ID) )
19  return null ; 
20 userarray [ i ] = FYCDBM_FZR_ID ; }
21 return userarray;

反写单据:

 1 以反写费用报销单的事由为例子
 2 
 3 1.定义一个内码型变量billid 一个字符串变量fsy fsy在后置脚本随便赋值
 4 2.在提交节点输出单据id到变量billid
 5 3.在脚本节点或后置脚本放以下脚本。
 6 
 7 
 8 StringBuffer tStrSql = new StringBuffer();  
 9 tStrSql.append(" update T_BC_BizAccountBill set  fcause =‘"+fsy+"‘");
10 tStrSql.append(" where Fid = ‘"+billid+"‘ ");
11 com.kingdee.jdbc.rowset.IRowSet rowSet = com.kingdee.eas.util.app.DbUtil.execute(__bosContext,tStrSql.toString());

常用表及表结构

T_WFR_Assign (工作流任务)

  表结构:

  技术分享

 T_BAS_DocumentInfo(流程信息)

  表结构:

  技术分享

 

T_WFR_AssignDetail(处理过的工作流任务 (审批))

  表结构:

  技术分享

 

T_BAS_MultiApprove(多级审批表)

  表结构:

  技术分享

 

协同OA--工作流

标签:turn   金蝶   next   als   审批   pre   string   div   tin   

原文地址:http://www.cnblogs.com/lyc-smile/p/7504367.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!