/**
* 创建机构树
* @return
*/
public String createJgTree(){
List<JGGLInfo> jgList = jgglService.getJgByParentId("0");
String jgTreeStr = this.createJgTreeScript(jgList);
this.setAttribute("jgTreeStr", jgTreeStr);
return "toShowJgTreePage";
}
/**
* 创建机构数脚本
* @param jgList
* @return
*/
private String createJgTreeScript(List<JGGLInfo> jgList) {
String script = "";
if(jgList!=null && !jgList.isEmpty()){
script += "var tree = new WebFXTree(\"我的应用\",\"\",\"\",\"jsplugin/xtree2b/images/base.gif\",\"jsplugin/xtree2b/images/base.gif\");";
script += "tree.setBehavior(\"classic\");";
for(JGGLInfo jg:jgList){
script += "tree.add(new WebFXLoadTreeItem(\""+jg.getGsmc()+"\",\"menuAction!getSubTreeMenu.action?parentId="+jg.getId()+"&Rnd=\"+Math.random(),\"javascript:link('','perspective_content')\"));";
}
script += "tree.write();";
}
return script;
}
/**
* 根据父机构ID读取子机构信息
*/
public void getSubJgTree(){
String parentId = this.getParameter("parentId");
List<JGGLInfo> jgList = jgglService.getJgByParentId(parentId);
if(jgList!=null && !jgList.isEmpty()){
String str = "";
str += "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>";
str += "<tree>";
for(JGGLInfo jg:jgList){
str += "<tree text=\""+jg.getGsmc()+"\" action=\"javascript:link('','perspective_content')\"/>";
}
str += "</tree>";
try {
HttpServletResponse res = this.getResponse();
this.getResponse().setContentType("text/xml;charset=GBK");
res.setCharacterEncoding("utf-8");
PrintWriter out = res.getWriter();
out.print(str);
out.flush();
out.close();
} catch (IOException e) {
e.printStackTrace();
}
}
return;
}
/**
* 根据上级ID查询机构信息
* @param parentId
* @return
*/
public List<JGGLInfo> getJgByParentId(String parentId);
/**
* 根据上级ID查询机构信息
* @param parentId
* @return
*/
public List<JGGLInfo> getJgByParentId(String parentId){
List<PropertyFilter> filterList = new ArrayList<PropertyFilter>(1);
PropertyFilter filter = new PropertyFilter("parentJgId", parentId, PropertyFilter.MatchType.EQ);
filterList.add(filter);
return jgglDao.find(filterList, null);
}