工作流中根据组织和职员取上级
使用说明:
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 ;
还有个问题想请教:若一个部门的副领导暂时兼任正领导,部门员工的单据审批时,那审批后的展示信息,该如何判定?
实际例子,如某公司财务部,由于财务经理离职,岗位待招聘,安排由财务副经理兼任财务经理职位。该部门的会计,提单后领导审批了,单据打印的时候,该显示审批是财务副经理审,还是财务经理审?
所以我认为你这个语句可以实现预定逻辑,但是不是不符合业务,可能会跨职位?
您看呢?
我有个疑问,不应该是根据人员,找到他的职位和职位所在部门两个信息,再根据这两个信息来取上级职位,然后根据上级职位找到上级领导的人员信息吗?
也就是以职位关系为人事关系主体,可以提取成职位关系网。职员信息为职位信息的相关信息,不再专门创建职员关系网。
工作流中根据组织和职员取上级
本文2024-09-16 22:26:31发表“eas cloud知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-eas-48135.html