优化二级菜单列表接口的代码

This commit is contained in:
季圣华
2017-09-16 23:52:26 +08:00
parent 863997c00e
commit 77587f5a2d

View File

@@ -471,120 +471,97 @@ public class FunctionsAction extends BaseAction<FunctionsModel>
* 页面显示菜单 * 页面显示菜单
* @return * @return
*/ */
public void findMenu() public void findMenu() {
{ try {
try String fc = model.getHasFunctions(); //当前用户所拥有的功能列表,格式如:[1][2][5]
{ PageUtil<Functions> pageUtil = new PageUtil<Functions>();
String fc=model.getHasFunctions(); //当前用户所拥有的功能列表,格式如:[1][2][5] pageUtil.setPageSize(200);
PageUtil<Functions> pageUtil = new PageUtil<Functions>(); pageUtil.setAdvSearch(getCondition_RoleFunctions(model.getPNumber()));
pageUtil.setPageSize(200); functionsService.find(pageUtil);
pageUtil.setAdvSearch(getCondition_RoleFunctions(model.getPNumber())); List<Functions> dataList = pageUtil.getPageList();
functionsService.find(pageUtil);
List<Functions> dataList = pageUtil.getPageList(); //存放数据json数组
JSONArray dataArray = new JSONArray();
//存放数据json数组 if (null != dataList) {
JSONArray dataArray = new JSONArray(); for (Functions functions : dataList) {
if(null != dataList) JSONObject item = new JSONObject();
{
for(Functions functions:dataList) item.put("id", functions.getId());
{ pageUtil.setAdvSearch(getCondition_RoleFunctions(functions.getNumber()));
JSONObject item = new JSONObject(); functionsService.find(pageUtil);
item.put("id", functions.getId()); List<Functions> dataList1 = pageUtil.getPageList();
JSONArray dataArray1 = new JSONArray();
pageUtil.setAdvSearch(getCondition_RoleFunctions(functions.getNumber())); if (dataList1.size() != 0) {
functionsService.find(pageUtil); item.put("text", functions.getName()); //是目录就没链接
List<Functions> dataList1 = pageUtil.getPageList(); for (Functions functions1 : dataList1) {
JSONArray dataArray1 = new JSONArray(); item.put("state", "open"); //如果不为空,节点展开
if(dataList1.size()!=0) JSONObject item1 = new JSONObject();
{
item.put("text", functions.getName()); //是目录就没链接 pageUtil.setAdvSearch(getCondition_RoleFunctions(functions1.getNumber()));
for(Functions functions1:dataList1) functionsService.find(pageUtil);
{ List<Functions> dataList2 = pageUtil.getPageList();
item.put("state", "open"); //如果不为空,节点展开 if (fc.indexOf("[" + functions1.getId().toString() + "]") != -1 || dataList2.size() != 0) {
JSONObject item1 = new JSONObject(); item1.put("id", functions1.getId());
JSONArray dataArray2 = new JSONArray();
pageUtil.setAdvSearch(getCondition_RoleFunctions(functions1.getNumber())); if (dataList2.size() != 0) {
functionsService.find(pageUtil); item1.put("text", functions1.getName());//是目录就没链接
List<Functions> dataList2 = pageUtil.getPageList(); for (Functions functions2 : dataList2) {
if(fc.indexOf("["+functions1.getId().toString()+"]")!=-1||dataList2.size()!=0) item1.put("state", "closed"); //如果不为空,节点不展开
{ JSONObject item2 = new JSONObject();
item1.put("id", functions1.getId());
JSONArray dataArray2 = new JSONArray(); pageUtil.setAdvSearch(getCondition_RoleFunctions(functions2.getNumber()));
if(dataList2.size()!=0) functionsService.find(pageUtil);
{ List<Functions> dataList3 = pageUtil.getPageList();
item1.put("text", functions1.getName());//是目录就没链接 if (fc.indexOf("[" + functions2.getId().toString() + "]") != -1 || dataList3.size() != 0) {
for(Functions functions2:dataList2) item2.put("id", functions2.getId());
{ JSONArray dataArray3 = new JSONArray();
item1.put("state", "closed"); //如果不为空,节点不展开 if (dataList3.size() != 0) {
JSONObject item2 = new JSONObject(); item2.put("text", functions2.getName());//是目录就没链接
for (Functions functions3 : dataList3) {
pageUtil.setAdvSearch(getCondition_RoleFunctions(functions2.getNumber())); item2.put("state", "closed"); //如果不为空,节点不展开
functionsService.find(pageUtil); JSONObject item3 = new JSONObject();
List<Functions> dataList3 = pageUtil.getPageList(); item3.put("id", functions3.getId());
if(fc.indexOf("["+functions2.getId().toString()+"]")!=-1||dataList3.size()!=0) item3.put("text", functions3.getName());
{ //
item2.put("id", functions2.getId()); dataArray3.add(item3);
JSONArray dataArray3 = new JSONArray(); item2.put("children", dataArray3);
if(dataList3.size()!=0) }
{ } else {
item2.put("text", functions2.getName());//是目录就没链接 //是目录,有链接
for(Functions functions3:dataList3) item2.put("text", "<a onclick=\"NewTab('" + functions2.getName() + "','" + functions2.getURL() + "','" + functions2.getId() + "')\">" + functions2.getName() + "</a>");
{ }
item2.put("state", "closed"); //如果不为空,节点不展开 } else {
JSONObject item3 = new JSONObject(); //不是目录,有链接
item3.put("id", functions3.getId()); item2.put("text", "<a onclick=\"NewTab('" + functions2.getName() + "','" + functions2.getURL() + "','" + functions2.getId() + "')\">" + functions2.getName() + "</a>");
item3.put("text", functions3.getName()); }
// dataArray2.add(item2);
dataArray3.add(item3); item1.put("children", dataArray2);
item2.put("children", dataArray3); }
} } else {
} //不是目录,有链接
else item1.put("text", "<a onclick=\"NewTab('" + functions1.getName() + "','" + functions1.getURL() + "','" + functions1.getId() + "')\">" + functions1.getName() + "</a>");
{ }
//不是目录,有链接 } else {
item2.put("text", "<a onclick=\"NewTab('"+functions2.getName()+"','"+functions2.getURL()+"','"+functions2.getId()+"')\">"+functions2.getName()+"</a>"); //不是目录,有链接
} item1.put("text", "<a onclick=\"NewTab('" + functions1.getName() + "','" + functions1.getURL() + "','" + functions1.getId() + "')\">" + functions1.getName() + "</a>");
}
dataArray2.add(item2); dataArray1.add(item1);
item1.put("children", dataArray2); item.put("children", dataArray1);
} }
} } else {
} //不是目录,有链接
else item.put("text", "<a onclick=\"NewTab('" + functions.getName() + "','" + functions.getURL() + "','" + functions.getId() + "')\">" + functions.getName() + "</a>");
{ }
//不是目录,有链接 dataArray.add(item);
item1.put("text", "<a onclick=\"NewTab('"+functions1.getName()+"','"+functions1.getURL()+"','"+functions1.getId()+"')\">"+functions1.getName()+"</a>"); }
} }
} //回写查询结果
else toClient(dataArray.toString());
{ } catch (DataAccessException e) {
//不是目录,有链接 Log.errorFileSync(">>>>>>>>>>>>>>>>>>>查找应用异常", e);
item1.put("text", "<a onclick=\"NewTab('"+functions1.getName()+"','"+functions1.getURL()+"','"+functions1.getId()+"')\">"+functions1.getName()+"</a>"); } catch (IOException e) {
} Log.errorFileSync(">>>>>>>>>>>>>>>>>>>回写查询应用结果异常", e);
dataArray1.add(item1); }
item.put("children", dataArray1);
}
}
else
{
//不是目录,有链接
item.put("text", "<a onclick=\"NewTab('"+functions.getName()+"','"+functions.getURL()+"','"+functions.getId()+"')\">"+functions.getName()+"</a>");
}
dataArray.add(item);
}
}
//回写查询结果
toClient(dataArray.toString());
}
catch (DataAccessException e)
{
Log.errorFileSync(">>>>>>>>>>>>>>>>>>>查找应用异常", e);
}
catch (IOException e)
{
Log.errorFileSync(">>>>>>>>>>>>>>>>>>>回写查询应用结果异常", e);
}
} }
/** /**