⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 setuptreeview.java

📁 基于Sturts+Spring+Hibernate的一个高级销售管理系统。内容丰富
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
package com.yuanchung.sales.service.admin;

import java.util.Collection;
import java.util.List;

import org.apache.log4j.Logger;

import com.yuanchung.organize.treeview.TreeViewMgr;
import com.yuanchung.sales.exception.SystemException;
import com.yuanchung.sales.model.Treeview;
import com.yuanchung.sales.model.admin.position.PositionRightsArea;
import com.yuanchung.sales.model.admin.position.UserRightsArea;
import com.yuanchung.sales.model.admin.role.RoleRightArea;
import com.yuanchung.sales.util.Constants;

public class SetupTreeView {

	private static Logger log = Logger.getLogger(SetupTreeView.class);
	private static TreeViewMgr treeViewMgr = new TreeViewMgr();

	/**
	 * 递归算法。根据父节点ID取得所有子节点ID,构造成一棵树,,返回构建树JAVASCRIPT语句
	 * 
	 * @param String
	 *            treeStr 构建树JAVASCRIPT语句
	 * @param int
	 *            parentId 父节点ID
	 * @return content.toString 构建树JAVASCRIPT语句
	 */
	public static String getSetupTreeView(String treeStr, int parentId)
			throws SystemException {
		StringBuffer content = new StringBuffer();
		if (parentId == 1) {
			content.append("var setupTree = new dTree('setupTree');");
			Treeview root = TreeViewMgr.findByParentId(parentId);
			content.append("setupTree.add(" + root.getId() + ",1,'"
					+ root.getName()
					+ "','/sales/position.do?dispatch=getObjToPage&objId="
					+ root.getId() + "','','mainframe');" + "\n");
			if (isParent(root.getId())) {
				content.append(getSetupTreeView(content.toString(), root
						.getId()));
			}
		} else {

			List<Treeview> treeViews = treeViewMgr
					.getAllTreeByParentId(parentId);
			for (int i = 0; i < treeViews.size(); i++) {
				Treeview t = treeViews.get(i);
				content.append("setupTree.add(" + t.getId() + ","
						+ t.getParentId() + ",'" + t.getName()
						+ "','/sales/position.do?dispatch=getObjToPage&objId="
						+ t.getId() + "','','mainframe');" + "\n");
				if (isParent(t.getId())) {
					content.append(getSetupTreeView(content.toString(), t
							.getId()));
				}
			}
		}
		return content.toString();
	}

	/**
	 * 递归算法。根据父节点ID取得所有子部门节点ID,构造成一棵树,返回构建树JAVASCRIPT语句 添加数据范围授权方案用到本方法
	 * 
	 * @param String
	 *            treeStr 构建树JAVASCRIPT语句
	 * @param int
	 *            parentId 父节点ID
	 * @return content.toString 构建树JAVASCRIPT语句
	 */
	public static String getSetupDeptTreeView(String treeStr, int parentId)
			throws SystemException {
		StringBuffer content = new StringBuffer();
		if (parentId == 1) {
			content.append("var deptTree = new dTree('deptTree');");
			Treeview root = TreeViewMgr.findByParentId(parentId);
			content.append("deptTree.add(" + root.getId() + ",1,'"
					+ root.getName() + "','','','mainframe');" + "\n");
			if (isParent(root.getId())) {
				content.append(getSetupDeptTreeView(content.toString(), root
						.getId()));
			}
		} else {

			List<Treeview> treeViews = treeViewMgr
					.getSubDeptByParentId(parentId);
			for (int i = 0; i < treeViews.size(); i++) {
				Treeview t = treeViews.get(i);
				content.append("deptTree.add(" + t.getId() + ","
						+ t.getParentId() + ",'" + t.getName()
						+ "','','','mainframe');" + "\n");
				if (isParent(t.getId())) {
					content.append(getSetupDeptTreeView(content.toString(), t
							.getId()));
				}
			}
		}
		return content.toString();
	}

	/**
	 * 递归算法。根据父节点ID取得所有子部门节点ID,构造成一棵树,返回构建树JAVASCRIPT语句 数据范围授权用到本方法,有显示复选框的勾选状态
	 * 
	 * @param String
	 *            treeStr 构建树JAVASCRIPT语句
	 * @param int
	 *            parentId 父节点ID
	 * @param List
	 *            <PositionRightsArea> positionRightsArea 数据范围对象集合
	 * @return content.toString 构建树JAVASCRIPT语句
	 */
	@SuppressWarnings("unchecked")
	public static String getSetupObjTreeView(String treeStr, int parentId,
			List objRightsArea,int objFlag) throws SystemException {
		StringBuffer content = new StringBuffer();
		if (parentId == 1) {
			content.append("var deptTree = new dTree('deptTree');");
			Treeview root = TreeViewMgr.findByParentId(parentId);
			boolean flag = false;
			// 遍历数据范围对象集合
			for (int i = 0; i < objRightsArea.size(); i++) {// 取出数据范围对象(树节点)
				int nodeId = 0;
				if(objFlag == Constants.POSITION_FLAG){
					nodeId = ((PositionRightsArea)objRightsArea.get(i))
					.getTreeviewId();
				}
				if(objFlag == Constants.USER_RIGHTS_FALG){
					nodeId = ((UserRightsArea)objRightsArea.get(i))
					.getTreeviewId();
				}
				Treeview tv = TreeViewMgr.findById(nodeId);
				Integer deptId = tv.getParentId();
				if (root.getId().equals(deptId)) {
					// 判断子节点是否与数据范围节点相等
					flag = true;
					break;
				}
			}
			log.debug("flag = " + flag);
			content
					.append("deptTree.add(" + root.getId() + ",1,'"
							+ root.getName() + "',''," + flag
							+ ",'mainframe');" + "\n");
			if (isParent(root.getId())) {
				content.append(getSetupObjTreeView(content.toString(), root
						.getId(), objRightsArea,objFlag));
			}
		} else {
			// 2008-12-16 hrw modify 取所有的tree节点
			// List<Treeview> treeViews =
			// treeViewMgr.getSubDeptByParentId(parentId);
			List<Treeview> treeViews = treeViewMgr
					.getAllTreeByParentId(parentId);
			// end modfiy
			for (int i = 0; i < treeViews.size(); i++) {
				Treeview t = treeViews.get(i);
				boolean flag = false;
				// 遍历数据范围对象集合
				for (int j = 0; j < objRightsArea.size(); j++) {
					int nodeId = 0;
					if(objFlag == Constants.POSITION_FLAG){
						nodeId = ((PositionRightsArea)objRightsArea.get(j))
						.getTreeviewId();
					}
					if(objFlag == Constants.USER_RIGHTS_FALG){
						nodeId = ((UserRightsArea)objRightsArea.get(j))
						.getTreeviewId();
					}

					Treeview tv = TreeViewMgr.findById(nodeId);
					@SuppressWarnings("unused")
					Integer deptId = tv.getParentId();
					Integer treeViewId = 0;
					if(objFlag == Constants.POSITION_FLAG){
						treeViewId = ((PositionRightsArea)objRightsArea.get(j))
						.getTreeviewId();
					}
					if(objFlag == Constants.USER_RIGHTS_FALG){
						treeViewId = ((UserRightsArea)objRightsArea.get(j))
						.getTreeviewId();
					}
					if (t.getId().equals(
							treeViewId)) {
						// 判断子节点是否与数据范围节点相等
						flag = true;
						break;
					}
				}
				log.debug("flag = " + flag);
				content.append("deptTree.add(" + t.getId() + ","
						+ t.getParentId() + ",'" + t.getName() + "',''," + flag
						+ ",'mainframe');" + "\n");
				if (isParent(t.getId())) {
					content.append(getSetupObjTreeView(content.toString(), t
							.getId(), objRightsArea,objFlag));
				}
			}
		}
		log.debug("str : " + content.toString());
		return content.toString();
	}
	
//	public static String getSetupDeptTreeView(String treeStr, int parentId, List<PositionRightsArea> positionRightsArea) throws SystemException {
//		StringBuffer content = new StringBuffer();	
//		if(parentId == 1){
//			content.append("var deptTree = new dTree('deptTree');");
//			Treeview root = TreeViewMgr.findByParentId(parentId);
//			boolean flag = false;
//			//遍历数据范围对象集合
//			for(int i=0; i<positionRightsArea.size(); i++){//取出数据范围对象(树节点)
//				Treeview tv = TreeViewMgr.findById(positionRightsArea.get(i).getTreeviewId());
// 				Integer deptId = tv.getParentId();
//				if(root.getId().equals(deptId)){
//					//判断子节点是否与数据范围节点相等
//					flag = true;
//					break;
//				}
//			}
//			log.debug("flag = " + flag);
//			content.append("deptTree.add(" + root.getId() + ",1,'" + root.getName() + "','',"+ flag +",'mainframe');"+"\n");
//			if(isParent(root.getId())){
//				content.append(getSetupDeptTreeView(content.toString(), root.getId(), positionRightsArea));
//			}
//		}else{		
//			//2008-12-16 hrw modify 取所有的tree节点
////			List<Treeview> treeViews = treeViewMgr.getSubDeptByParentId(parentId);	
//			List<Treeview> treeViews = treeViewMgr.getAllTreeByParentId(parentId);	
//			//end modfiy
//			for(int i =0 ; i < treeViews.size(); i++){		
//				Treeview t = treeViews.get(i);
//				boolean flag = false;
//				//遍历数据范围对象集合
//				for(int j=0; j<positionRightsArea.size(); j++){
//					Treeview tv = TreeViewMgr.findById(positionRightsArea.get(j).getTreeviewId());
//	 				Integer deptId = tv.getParentId();
//					if(t.getId().equals(positionRightsArea.get(j).getTreeviewId())){
//						//判断子节点是否与数据范围节点相等
//						flag = true;
//						break;
//					}
//				}
//				log.debug("flag = " + flag);
//				content.append("deptTree.add(" + t.getId() + "," + t.getParentId()+ ",'" + t.getName() + "','',"+ flag +",'mainframe');"+"\n");	
//				if(isParent(t.getId())){
//					content.append(getSetupDeptTreeView(content.toString(), t.getId(), positionRightsArea));
//				}
//			}
//		}	
//		log.debug("str : " + content.toString());
//		return content.toString();
//	}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -