Index: ssts-web/src/main/resources/strtus_oa.xml =================================================================== diff -u -r26853 -r27888 --- ssts-web/src/main/resources/strtus_oa.xml (.../strtus_oa.xml) (revision 26853) +++ ssts-web/src/main/resources/strtus_oa.xml (.../strtus_oa.xml) (revision 27888) @@ -22,6 +22,7 @@ + Index: forgon-core/src/main/java/com/forgon/directory/action/OrgUnitAction.java =================================================================== diff -u -r27831 -r27888 --- forgon-core/src/main/java/com/forgon/directory/action/OrgUnitAction.java (.../OrgUnitAction.java) (revision 27831) +++ forgon-core/src/main/java/com/forgon/directory/action/OrgUnitAction.java (.../OrgUnitAction.java) (revision 27888) @@ -123,9 +123,11 @@ } } String orgName = orgUnitList.get(j).getName(); + Long orgId = orgUnitList.get(j).getId(); JSONObject obj = new JSONObject(); obj.put("name", orgName); + obj.put("id", orgId); array.add(obj); } } @@ -225,6 +227,52 @@ } return null; } + + /** + * 根据科室ID查询,查找到节点,返回根节点到当前节点的路径 + * @return + */ + public String loadOrgUnitById(){ + String orgUnitId = StrutsParamUtils.getPraramValue("orgUnitId", null); + HttpServletResponse response = StrutsParamUtils.getResponse(); + boolean success = true; + String result = null; + response.setCharacterEncoding("utf-8"); + THTreeNode parent = null; + LinkedList link = new LinkedList(); + if(StringUtils.isNotBlank(orgUnitId)){ + THTreeNode thTreeNode = thTreeNodeManager.getTHTreeNodeById(OrgUnit.class.getName(), Long.parseLong(orgUnitId)); + if(thTreeNode!=null){ + parent = thTreeNode; + //递归往上查找父节点,构建从根节点到当前节点的完整路径 + while(parent.getId() != null && parent.getId() != 0){ + link.push("/"+parent.getId()); + + parent = parent.getParent(); + } + link.push("/0"); + StringBuffer sb = new StringBuffer(); + Iterator it = link.iterator(); + while(it.hasNext()){ + sb.append(it.next()); + } + result = sb.toString(); + }else{ + success = false; + } + }else{ + success = false; + } + try { + response.getWriter().print("{\"success\":"+success+",\"data\":'"+result+"'}"); + response.getWriter().close(); + } catch (IOException e) { + e.printStackTrace(); + } + return null; + } + + public String loadCompanyTree(){ String parentId = StrutsParamUtils.getPraramValue("parentId", "0"); String isFromTrainingStr = StrutsParamUtils.getPraramValue("isFromTraining", "");