?? setuptreeview.java
字號:
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 + -