工作流中根据组织和职员取上级

栏目:eas cloud知识作者:金蝶来源:金蝶云社区发布:2024-09-16浏览:1

工作流中根据组织和职员取上级


使用说明:

1.定义一个参与者类型(数组)的变量:myPerformer

  内码类型的变量: depID   字符串变量 sqr

2.在提交节点把申请人的名称输到sqr  把分录的部门输出到变量 depID 

3.将以下脚本放到提交节点的后置脚本或者脚本节点

4.审批节点的参与人设为myPerformer




java . lang . StringBuffer Sql = new java . lang . StringBuffer ( ) ;


Sql . append ( "select pw.fid from t_org_position p 

inner join  T_ORG_PositionHierarchy ph on p.fid=ph.fchildid

left join t_org_position p1 on ph.fparentid=p1.fid

left join t_hr_personposition pp on pp.fprimarypositionid=p.fid

left join t_bd_person ps on ps.fid=pp.fpersonid

left join t_hr_personposition pa on pa.fprimarypositionid=ph.FParentID

left join t_bd_person pw on pw.fid=pa.fpersonid

left join T_ORG_Hierarchy hh on ph.FHierarchyID=hh.fid

where ps.FName_L2='" + sqr+ "' and hh.FID='00000000-0000-0000-0000-000000000001396FCAD0'and pp.fpersondep='" +depID+ "'" ) ;

 

java . sql . Connection con = com . kingdee . bos . framework . ejb . EJBFactory . getConnection ( __bosContext ) ;

 

java . sql . Statement batchStatement = con . createStatement ( ) ; 

java . sql . ResultSet rst = batchStatement . executeQuery ( Sql . toString ( ) ) ; 


java.util.ArrayList tempArray =new java.util.ArrayList();


while( rst.next( ) ) {tempArray.add(rst.getString("FID").toString( )); }


if(tempArray.size()>0)

{

myPerformer = new com.kingdee.bos.workflow.participant.Person[tempArray.size()];

for(int k=0;k<tempArray.size();k++)

{

  myPerformer[k]=tempArray.get(k);

}

}


return myPerformer ;



还有个问题想请教:若一个部门的副领导暂时兼任正领导,部门员工的单据审批时,那审批后的展示信息,该如何判定?

实际例子,如某公司财务部,由于财务经理离职,岗位待招聘,安排由财务副经理兼任财务经理职位。该部门的会计,提单后领导审批了,单据打印的时候,该显示审批是财务副经理审,还是财务经理审?

所以我认为你这个语句可以实现预定逻辑,但是不是不符合业务,可能会跨职位?

您看呢?


我有个疑问,不应该是根据人员,找到他的职位和职位所在部门两个信息,再根据这两个信息来取上级职位,然后根据上级职位找到上级领导的人员信息吗?

也就是以职位关系为人事关系主体,可以提取成职位关系网。职员信息为职位信息的相关信息,不再专门创建职员关系网。

工作流中根据组织和职员取上级

使用说明:1.定义一个参与者类型(数组)的变量:myPerformer 内码类型的变量: depID 字符串变量 sqr2.在提交节点把申请人的名称输...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息