📄 qxglmenumbean.java
字号:
package gov.gdlt.ssgly.taxweb.mbean.qxgl;
import java.text.*;
import java.util.*;
import gov.gdlt.ssgly.taxcore.comm.bizdelegate.*;
import gov.gdlt.ssgly.taxcore.comm.bizinterface.*;
import gov.gdlt.ssgly.taxcore.comm.event.*;
import gov.gdlt.ssgly.taxcore.taxevent.qxgl.*;
import gov.gdlt.ssgly.taxweb.comm.mbean.*;
import gov.gdlt.ssgly.taxweb.comm.util.*;
import gov.gdlt.ssgly.taxweb.mbean.*;
public class QXGLmenuMBean extends BaseManagedBean {
private static final int MENU_TREE = 0;
private static final int EDITABLE_MENU_TREE = 1;
private static final int SWRY_MENU_TREE = 2;
private static final String rootTreeNode = " var node{0} = new WebFXTree(''{1}'',''javascript:saveSelectedNode({0}, {2})'');\n" +
" var tree = node{0};\n" +
" tree.setBehavior(''classic'');\n\n";
private static final String otherTreeNode = "var node{0} = new WebFXTreeItem(''{1}'',''javascript:saveSelectedNode({0}, {2})'');\n" +
"node{2}.add(node{0});\n";
private static final String editableRootTreeNode = " var node{0} = new WebFXTree(''<input type=\\''checkbox\\'' name=\\''node-{0}\\'' value=\\''{2}:{0}\\'' onclick=\\''updateTreeNodes(this)\\''/>{1}'', '''');\n" +
" var tree = node{0};\n" +
" tree.setBehavior(''classic'');\n\n";
private static final String editableOtherTreeNode = "var node{0} = new WebFXTreeItem(''<input type=\\''checkbox\\'' name=\\''node-{0}\\'' value=\\''{2}:{0}\\'' onclick=\\''updateTreeNodes(this)\\''/>{1}'','''');\n" +
"node{2}.add(node{0});\n";
private static final String swryRootTreeNode = " var node{0} = new WebFXTree(''{1}'',''{3}'');\n" +
" var tree = node{0};\n" +
" tree.setBehavior(''classic'');\n\n";
private static final String swryTreeNode = "var node{0} = new WebFXTreeItem(''{1}'',''{3}'');\n" +
"node{2}.add(node{0});\n";
private static final String taskMenuTable = "<table width=\"100%\"><tr><td width=\"27\" height=\"30\" align=\"right\">" +
"<img src=\"../skin/{0}/images/mission{3}.gif\" width=\"19\" height=\"16\">" +
"</td><td width=\"6\">" +
"<img src=\"../skin/{0}/images/spacer.gif\" width=\"1\" height=\"1\">" +
"</td><td><a href=\"{1}\" class=\"ablue\" target=\"taskcontent\">{2}</a>" +
"</td></tr></table>\n";
private static final String BUILDING_MENU_TREE_DATA_EXCEPTION = "YCQXGL01001";
private static final String GET_MENU_TREE_SCRIPT_EXCEPTION = "YCQXGL01002";
private static final String GET_EDITABLE_MENU_TREE_SCRIPT_EXCEPTION = "YCQXGL01003";
private static final String GET_SWRY_MENU_TREE_SCRIPT_EXCEPTION = "YCQXGL01004";
private static final String GET_TASK_MENU_TREE_SCRIPT_EXCEPTION = "YCQXGL01005";
private static final String SAVE_MENU_NODE_EXCEPTION = "YCQXGL01006";
private static final String DELETE_MENU_NODE_EXCEPTION = "YCQXGL01007";
private static final String UPDATE_MENU_NODE_EXCEPTION = "YCQXGL01008";
private static final String VIEW_MENU_NODE_EXCEPTION = "YCQXGL01009";
// 保存菜单的树结构。
private ArrayList treeList = null;
private String menuTreeScript = null;
private String editableMenuTreeScript = null;
private String selectedGnDm;
private String messageScript;
private String gnMc;
private String gnDesc;
private String gnPath;
private String gnXh;
public QXGLmenuMBean() throws Exception {
//buildMenuTreeData();
}
public String getMenuTreeScript() throws Exception {
TreeNodeObject treeNode = null;
StringBuffer script = new StringBuffer();
buildMenuTreeData(false);
if (treeList == null || treeList.size() == 0) {
return null;
}
try {
treeNode = (TreeNodeObject) treeList.get(0);
buildTreeScript(treeNode, script, MENU_TREE);
this.menuTreeScript = script.toString();
return menuTreeScript;
} catch (Exception e) {
e.printStackTrace();
throw new Exception(GET_MENU_TREE_SCRIPT_EXCEPTION);
}
}
/* 获取该用户可以进行角色授权的功能树代码 */
public String getEditableMenuTreeScript() throws Exception {
TreeNodeObject treeNode = null;
StringBuffer script = new StringBuffer();
buildMenuTreeData(true);
if (treeList == null || treeList.size() == 0) {
return null;
}
try {
treeNode = (TreeNodeObject) treeList.get(0);
buildTreeScript(treeNode, script, EDITABLE_MENU_TREE);
this.editableMenuTreeScript = script.toString();
return editableMenuTreeScript;
} catch (Exception e) {
e.printStackTrace();
throw new Exception(GET_EDITABLE_MENU_TREE_SCRIPT_EXCEPTION);
}
}
public String getSwryMenuTreeScript() throws Exception {
TreeNodeObject treeNode = null;
StringBuffer script = new StringBuffer();
UserBean user = (UserBean) WebUtil.eval("#{user}");
ArrayList tmpList = user.getMenuTreeNodeList();
if (tmpList == null || tmpList.size() == 0) {
return null;
}
try {
treeNode = (TreeNodeObject) tmpList.get(0);
buildTreeScript(treeNode, script, SWRY_MENU_TREE);
return script.toString();
} catch (Exception e) {
e.printStackTrace();
throw new Exception(GET_SWRY_MENU_TREE_SCRIPT_EXCEPTION);
}
}
public String getTaskMenuTreeScript() throws Exception {
StringBuffer script = new StringBuffer();
UserBean user = (UserBean) WebUtil.eval("#{user}");
ArrayList tmpList = user.getTaskMenuList();
String gxh = user.getGxh();
if (tmpList == null || tmpList.size() == 0) {
return null;
}
try {
Object[] arg = new Object[4];
// 跳过第一条记录,第一条是“任务管理”,不需要出现在界面中
for (int i = 1; i < tmpList.size(); i++) {
QXGLmenuVO menuVO = (QXGLmenuVO) tmpList.get(i);
arg[0] = gxh;
arg[1] = menuVO.getGnPath();
arg[2] = menuVO.getMc();
arg[3] = new Integer(i);
script.append(MessageFormat.format(taskMenuTable, arg));
}
return script.toString();
} catch (Exception e) {
e.printStackTrace();
throw new Exception(GET_TASK_MENU_TREE_SCRIPT_EXCEPTION);
}
}
/* 获取报表管理目录树的javascript代码 */
public String getFormMenuTreeScript() {
ArrayList nodeValueList = new ArrayList();
NodeValueObject nodeValue = null;
ArrayList tmpList = null;
TreeNodeObject treeNode = null;
String swryDm = (String) WebUtil.eval("#{user.userID}");
if (swryDm == null || "".equals(swryDm)) {
return null;
}
// 获取报表管理目录树记录
QXGLmenuReqEvent req = new QXGLmenuReqEvent();
req.setSwryDm(swryDm);
req.setDealMethod("getFormMenuBySwryDm");
try {
ISsglyService service = new SsglyDelegate();
ResponseEvent resp = service.invokeTask(req);
QXGLmenuResEvent resEvent = (QXGLmenuResEvent) resp;
ArrayList menuVOList = resEvent.getQXGLmenuVOList();
for (int i = 0; i < menuVOList.size(); i++) {
QXGLmenuVO menuVO = (QXGLmenuVO) menuVOList.get(i);
nodeValue = new NodeValueObject();
nodeValue.setId(new Integer(menuVO.getGnDm()).toString());
nodeValue.setName(menuVO.getMc());
nodeValue.setParentId(new Integer(menuVO.getSjgnDm()).toString());
nodeValue.setUrlPath(menuVO.getGnPath());
nodeValueList.add(nodeValue);
}
// 把nodeValueList转换为树结构
// 把根节点的parentId改为0。
if (nodeValueList.size() > 0) {
((NodeValueObject) nodeValueList.get(0)).setParentId("0");
}
tmpList = TreeHelper.convertData(nodeValueList);
} catch (Exception e) {
e.printStackTrace();
}
// 把树节点列表转换为javascript代码
if (tmpList == null || tmpList.size() == 0) {
return null;
}
StringBuffer script = new StringBuffer();
treeNode = (TreeNodeObject) tmpList.get(0);
buildTreeScript(treeNode, script, SWRY_MENU_TREE);
return script.toString();
}
public String getSelectedGnDm() {
return selectedGnDm;
}
public String getMessageScript() {
return messageScript;
}
public String getGnMc() {
return gnMc;
}
public String getGnDesc() {
return gnDesc;
}
public String getGnPath() {
return gnPath;
}
public String getGnXh() {
return gnXh;
}
private void buildMenuTreeData(boolean isGetTreeByQx) throws Exception {
ArrayList menuVOList = null;
QXGLmenuReqEvent req = new QXGLmenuReqEvent();
if (!isGetTreeByQx) {
req.setDealMethod("getAllMenuTree");
} else {
String swryDm = (String) WebUtil.eval("#{user.userID}");
if (swryDm == null || "".equals(swryDm)) {
return;
}
req.setDealMethod("getAllMenuTreeByQx");
req.setSwryDm(swryDm);
}
ArrayList nodeValueList = new ArrayList();
NodeValueObject nodeValue = null;
int i;
try {
ISsglyService service = new SsglyDelegate();
ResponseEvent resp = service.invokeTask(req);
QXGLmenuResEvent resEvent = (QXGLmenuResEvent) resp;
menuVOList = resEvent.getQXGLmenuVOList();
for (i = 0; i < menuVOList.size(); i++) {
QXGLmenuVO menuVO = (QXGLmenuVO) menuVOList.get(i);
nodeValue = new NodeValueObject();
nodeValue.setId(new Integer(menuVO.getGnDm()).toString());
nodeValue.setName(menuVO.getMc());
nodeValue.setParentId(new Integer(menuVO.getSjgnDm()).toString());
nodeValueList.add(nodeValue);
}
// 把nodeValueList转换为树结构
this.treeList = TreeHelper.convertData(nodeValueList);
//treeNode = (TreeNodeObject) treeList.get(0);
//buildTreeScript(treeNode, script, false);
//this.menuTreeScript = script.toString();
} catch (Exception e) {
e.printStackTrace();
throw new Exception(BUILDING_MENU_TREE_DATA_EXCEPTION);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -