在组织机构中,如果有两级部门,在关系默认值中取二级部门的名称可以使用currentDeptName,取一级部门名称不方便

从x5.2.6版本开始,x5支持自定义组织节点类型,通过增加一级部门这种组织节点类型,使得可以方便的获得一级部门名称

组织节点类型的配置方法,参考 x5高级开发手册 第一篇 6.13.2 组织节点类型

下载:机构

增加一级部门节点

修改/BIZ/system/config/opm.config.m文件,增加一级部门节点,可以将原来的部门改为二级部门

<config name="orgKind" value="">
  <item name="ogn" value="ogn">
   <label language="zh_CN">机构</label>
   <label language="en_US">Organization</label>
   <item name="parents" value="ogn"/>
   <item name="root" value="true"/>
   <item name="virtual" value="false"/>
   <item name="sequence" value="01"/>
  </item>
  <item name="ybm" value="ybm">
   <label language="zh_CN">一级部门</label>
   <label language="en_US">TopDepartment</label>
   <item name="parents" value="ogn"/>
   <item name="root" value="false"/>
   <item name="virtual" value="false"/>
   <item name="sequence" value="02"/>
  </item>
  <item name="dpt" value="dpt">
   <label language="zh_CN">二级部门</label>
   <label language="en_US">Department</label>
   <item name="parents" value="ogn,ybm,dpt"/>
   <item name="root" value="false"/>
   <item name="virtual" value="false"/>
   <item name="sequence" value="03"/>
  </item>
  <item name="pos" value="pos">
   <label language="zh_CN">岗位</label>
   <label language="en_US">Position</label>
   <item name="parents" value="dpt"/>
   <item name="root" value="false"/>
   <item name="virtual" value="false"/>
   <item name="sequence" value="04"/>
  </item>
  <item name="psm" value="psm">
   <label language="zh_CN">人员</label>
   <label language="en_US">Person</label>
   <item name="parents" value="ogn,dpt,pos"/>
   <item name="root" value="false"/>
   <item name="virtual" value="false"/>
   <item name="sequence" value="05"/>
  </item>
</config>

修改配置文件后,重启tomcat,进入组织管理功能,创建组织机构

自定义Fn 获取一级部门名称

自定义Fn  获取一级部门名称 getTopDeptNameFn

fn源码如下

 <fn name="getTopDeptNameFn" category="其他" code-model="/erp/buy/logic/code" type="String" code="Buy.getTopDeptName">
      <label language="zh_CN">获取一级部门名称</label> 
  </fn> 

对应的java方法如下

import com.justep.system.context.ContextHelper;
import com.justep.system.opm.OrgUtils;

public class Buy {
public static String getTopDeptName() {
return OrgUtils.getNameByFName(ContextHelper.getPersonMember().getFID(),
ContextHelper.getPersonMember().getFName(), "ybm");
}
}

设置关系默认值

在概念设置中引用自定义fn所在的目录 /erp/buy/logic/fn

设置关系的默认值为 getTopDeptNameFn() 可以获得一级部门名称

设置关系的默认值为 currentDeptName() 可以获得二级部门名称

本文由WeX5君整理,WeX5一款开源免费的html5开发工具H5 App开发就用WeX5!

阅读其他app 开发相关文章:http://doc.wex5.com/?p=3443