电脑桌面
添加蚂蚁七词文库到电脑桌面
安装后可以在桌面快捷访问

EAS工作流 之 兼职问题的处理

来源:金蝶云社区作者:金蝶2024-09-224

EAS工作流 之 兼职问题的处理

    在EAS工作流中存在以下兼职问题:

  1. 节点取参与人的时候根据人员去获取上级,如果此时的人员存在兼职,现在标准程序会获取人员所有职位的上级,即实际业务中不相关的上级人员也会被取出来参与审批,这种并不符合实际的业务场景:


                                上传图片            

     那么如何解决呢?从上面的这个图片我们可以看出来,其实只要在这个场景中引入对应的【组织属性】即可。也就是说 你只要再告诉程序 现在单据的业务发生的组织是哪个,自然地就可以确定出兼职的职位中那一个是该组织体系下的。

在这里我们新建一个工作流函数 来解决此问题,需要先仔细看下下面的操作手册以及应用:

(工作流函数操作手册:https://vip.kingdee.com/article/212581886727071232?productLineId=8&isKnowledge=2

(工作流函数应用:https://vip.kingdee.com/article/168392489492660992?productLineId=8&isKnowledge=2


新增一个工作流函数:

函数名称: 根据职员(用户)ID以及组织长编码查找该职员的直接上级
返回类型:参与者(performer)
数组类型:是
输入参数:
 personID      orgLongNumber
 
 函数脚本:
 
 if(null == personID || "".equals(personID.toString()))
			return null;
		String personIDBak=personID.toString();
		com.kingdee.eas.basedata.person.app.PersonToWFAdapter adapter = new com.kingdee.eas.basedata.person.app.PersonToWFAdapter();
		com.kingdee.bos.workflow.participant.Person person = adapter.getPersonByUserId(__bosContext, personID.toString());
		personID=person.getEmployeeId();	
		if(!com.kingdee.util.StringUtils.isEmpty(personID)){
			personID=com.kingdee.bos.util.BOSUuid.read(personID);
		}else{
			personID=com.kingdee.bos.util.BOSUuid.read(personIDBak);
		}							
		com.kingdee.eas.basedata.org.PositionCollection positionCol =  com.kingdee.eas.basedata.person.PersonFactory.getLocalInstance(__bosContext).getPositions(personID);
		com.kingdee.eas.basedata.org.HierarchyInfo hierarchyinfo = com.kingdee.eas.basedata.org.HierarchyFactory.getLocalInstance(__bosContext).getDefaultHierarchy();	
		String hierarId = null;
		com.kingdee.bos.util.BOSUuid hierarUuid = hierarchyinfo!=null?hierarchyinfo.getId():null;
		if(hierarUuid!=null){
		     hierarId = hierarUuid.toString();
		}
		if(positionCol ==null||positionCol.size()<=0)
		        return null;
		String positionId = "";
		java.util.ArrayList list = new java.util.ArrayList();
		for(int i=0;i<positionCol.size();i++){
		    com.kingdee.eas.basedata.org.PositionInfo positionInfo = positionCol.get(i);
		    c

EAS工作流 之 兼职问题的处理

在EAS工作流中存在以下兼职问题:节点取参与人的时候根据人员去获取上级,如果此时的人员存在兼职,现在标准程序会获取人员所有职位的...
点击下载文档文档为doc格式

声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。

已经是第一篇
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息
QQ群
  • 答案:my7c点击这里加入QQ群
支持邮箱
微信
  • 微信