优化业务/系统字典功能,数据类型数量可改变,可任意组合菜单(作用域必须单独),页面自动设定权限,组合菜单时数据类型超过1种,列表页面条件搜索添加数据类型条件。
修订校验时浏览器的兼容问题,
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
package com.nis.web.controller.basics;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
@@ -22,6 +23,7 @@ import com.google.common.collect.Maps;
|
||||
import com.nis.domain.Page;
|
||||
import com.nis.domain.basics.ServiceDictInfo;
|
||||
import com.nis.domain.basics.SysDictInfo;
|
||||
import com.nis.util.ConfigDictUtils;
|
||||
import com.nis.util.Configurations;
|
||||
import com.nis.util.StringUtil;
|
||||
import com.nis.util.StringUtils;
|
||||
@@ -43,21 +45,6 @@ public class SysDictInfoController extends BaseController {
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据sysDictId查出配置对象
|
||||
* @param sysDictId
|
||||
* @param request
|
||||
* @param response
|
||||
* @param model
|
||||
* @return
|
||||
*/
|
||||
@ResponseBody
|
||||
@RequestMapping(value = "loadDataDict")
|
||||
public SysDictInfo loadDataDict(@RequestParam(required=false) Integer sysDictId,HttpServletRequest request, HttpServletResponse response, Model model){
|
||||
|
||||
return sysDictInfoService.getDictById(sysDictId);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 查询业务辅助表-生效范围系统字典信息列表(无条件分页查询)
|
||||
@@ -71,13 +58,9 @@ public class SysDictInfoController extends BaseController {
|
||||
@RequestMapping(value = {"list", ""})
|
||||
public String list(String itType, SysDictInfo sysDictInfo,HttpServletRequest request, HttpServletResponse response, Model model) {
|
||||
//处理数据
|
||||
String[] strArr = itType.split("-");
|
||||
Integer[] intArr = new Integer[strArr.length];
|
||||
for(int i=0;i<strArr.length;i++){
|
||||
intArr[i] = Integer.valueOf(strArr[i]);
|
||||
}
|
||||
if(intArr.length==1){
|
||||
model.addAttribute("specType", intArr[0]);
|
||||
List<Integer> intArr = ConfigDictUtils.dealTypeCondition(Configurations.getStringProperty("SYS_DICT_ITM_TYPE", ""), itType);
|
||||
if(intArr.size()==1){
|
||||
model.addAttribute("specType", intArr.get(0));
|
||||
}
|
||||
String searchType = null;
|
||||
String searchContent = null;
|
||||
@@ -127,7 +110,7 @@ public class SysDictInfoController extends BaseController {
|
||||
//处理下级序号
|
||||
SysDictInfo.addChildrenSeq(list, 0);
|
||||
model.addAttribute("itType", itType);
|
||||
model.addAttribute("intArr", Arrays.asList(intArr));
|
||||
model.addAttribute("intArr", intArr);
|
||||
model.addAttribute("list", list);
|
||||
return "/basics/sysDictList";
|
||||
}
|
||||
@@ -145,20 +128,16 @@ public class SysDictInfoController extends BaseController {
|
||||
model.addAttribute("specType", sysDictInfo.getItemType());
|
||||
return "/basics/sysDictInfo";
|
||||
}
|
||||
if (sysDictInfo.getParent() == null || sysDictInfo.getParent().getSysDictId() == null) {
|
||||
if (sysDictInfo==null||sysDictInfo.getParent() == null || sysDictInfo.getParent().getSysDictId() == null) {
|
||||
SysDictInfo parent = new SysDictInfo();
|
||||
parent.setSysDictId(0);
|
||||
sysDictInfo.setParent(parent);
|
||||
}
|
||||
String[] strArr = itType.split("-");
|
||||
Integer[] intArr = new Integer[strArr.length];
|
||||
for(int i=0;i<strArr.length;i++){
|
||||
intArr[i] = Integer.valueOf(strArr[i]);
|
||||
List<Integer> intArr = ConfigDictUtils.dealTypeCondition(Configurations.getStringProperty("SYS_DICT_ITM_TYPE", ""), itType);
|
||||
if(intArr.size()==1){
|
||||
model.addAttribute("specType", intArr.get(0));
|
||||
}
|
||||
if(intArr.length==1){
|
||||
model.addAttribute("specType", intArr[0]);
|
||||
}
|
||||
model.addAttribute("intArr", Arrays.asList(intArr));
|
||||
model.addAttribute("intArr", intArr);
|
||||
model.addAttribute("sysDictInfo", sysDictInfo);
|
||||
model.addAttribute("itType", itType);
|
||||
return "/basics/sysDictForm";
|
||||
@@ -298,7 +277,7 @@ public class SysDictInfoController extends BaseController {
|
||||
*/
|
||||
@ResponseBody
|
||||
@RequestMapping(value = "ajaxChildrenType")
|
||||
public boolean ajaxChildrenType(Integer parent,Integer newItemType) {
|
||||
public boolean ajaxChildrenType(Integer parent,Integer itemType) {
|
||||
if(parent==null){
|
||||
return true;
|
||||
}
|
||||
@@ -308,7 +287,7 @@ public class SysDictInfoController extends BaseController {
|
||||
return true;
|
||||
}else{
|
||||
for(SysDictInfo sysDictInfo:list){
|
||||
if(sysDictInfo.getItemType()==newItemType){
|
||||
if(sysDictInfo.getItemType()==itemType){
|
||||
return true;
|
||||
}
|
||||
}
|
||||
@@ -388,14 +367,41 @@ public class SysDictInfoController extends BaseController {
|
||||
return true;
|
||||
}
|
||||
}else{
|
||||
SysDictInfo c = sysDictInfoService.getDictById(currentId);
|
||||
if((p.getLevelNo()+c.getLevelNo())<(max+1)){
|
||||
return true;
|
||||
if(p.getLevelNo()<max){
|
||||
//查出该节点所有下级的层级数之和
|
||||
List<SysDictInfo> list = sysDictInfoService.getDictByParentId(currentId);
|
||||
if(list==null||list.size()==0){
|
||||
return true;
|
||||
}
|
||||
List<SysDictInfo> resultList = Lists.newArrayList();
|
||||
List<Integer> intList = Lists.newArrayList();
|
||||
allTreeNode(1,list,resultList);
|
||||
for(SysDictInfo se:resultList){
|
||||
intList.add(se.getLevelNo());
|
||||
}
|
||||
int x = Collections.max(intList);
|
||||
if((p.getLevelNo()+x)<(max+1)){
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* 查出所该节点下有树形子节点
|
||||
*/
|
||||
|
||||
private void allTreeNode(int levelNo, List<SysDictInfo> list, List<SysDictInfo> resultList) {
|
||||
if(list!=null&&list.size()>0){
|
||||
for(SysDictInfo se:list){
|
||||
se.setLevelNo(levelNo+1);
|
||||
resultList.add(se);
|
||||
List<SysDictInfo> newList = sysDictInfoService.getDictByParentId(se.getSysDictId());
|
||||
allTreeNode(se.getLevelNo(),newList,resultList);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user