优化业务/系统字典功能,数据类型数量可改变,可任意组合菜单(作用域必须单独),页面自动设定权限,组合菜单时数据类型超过1种,列表页面条件搜索添加数据类型条件。

修订校验时浏览器的兼容问题,
This commit is contained in:
zhangshilin
2018-03-31 17:23:11 +08:00
parent 894661a8b8
commit aa84684b3b
19 changed files with 330 additions and 666 deletions

View File

@@ -12,6 +12,8 @@ import com.nis.domain.Page;
import com.nis.domain.SysMenu;
import com.nis.domain.SysUser;
import com.nis.domain.basics.ServiceDictInfo;
import com.nis.util.ConfigDictUtils;
import com.nis.util.Configurations;
import com.nis.util.Constants;
import com.nis.util.StringUtil;
import com.nis.web.dao.basics.ServiceDictInfoDao;
@@ -30,89 +32,29 @@ public class ServiceDictInfoService extends BaseService{
* @param serviceDictInfo
* @return
*/
public Page<ServiceDictInfo> findTopDictList(Page<ServiceDictInfo> page, ServiceDictInfo serviceDictInfo,Integer[] itType) {
public Page<ServiceDictInfo> findTopDictList(Page<ServiceDictInfo> page, ServiceDictInfo serviceDictInfo,List<Integer> itType) {
// 设置分页参数
serviceDictInfo.setPage(page);
List<ServiceDictInfo> parentList = Lists.newArrayList();
Integer tempType = 0;
if(serviceDictInfo.getItemType()!=null){
tempType = serviceDictInfo.getItemType();
}
//查出顶层分页查询
if(itType.length==1){
serviceDictInfo.setItemType(itType[0]);
parentList = serviceDictInfoDao.findTopDictList(serviceDictInfo);
}
if(itType.length==2){
if(tempType!=0){
parentList = serviceDictInfoDao.findTopDictList(serviceDictInfo);
}else{
List<Integer> tempList = Lists.newArrayList();
tempList.add(1);tempList.add(2);tempList.add(3);
//Map<String,String> map = DictUtils.getDictOption("SERVICE_DICT_ITM_TYPE");
if(tempList.contains(itType[0])){
tempList.remove(itType[0]);
}
if(tempList.contains(itType[1])){
tempList.remove(itType[1]);
}
serviceDictInfo.setItemType(tempList.get(0));
parentList = serviceDictInfoDao.findTopDictListN(serviceDictInfo);
}
}
serviceDictInfo.setConditionType(itType);
List<ServiceDictInfo> parentList = serviceDictInfoDao.findTopDictList(serviceDictInfo);
ServiceDictInfo sd = new ServiceDictInfo();
sd.setServiceDictId(0);
for(ServiceDictInfo se:parentList){
se.setParent(sd);
}
if(tempType!=0){
serviceDictInfo.setItemType(tempType);
}else{
serviceDictInfo.setItemType(null);
}
page.setList(parentList);
return page;
}
/**
* 查询所有数据
* 根据条件查询所有数据
* @param serviceDictInfo
* @param itType
* @return
*/
public List<ServiceDictInfo> findAllServiceDictInfo(ServiceDictInfo serviceDictInfo,Integer[] itType,String orderBy){
List<ServiceDictInfo> list = Lists.newArrayList();
Integer tempType = 0;
if(serviceDictInfo.getItemType()!=null){
tempType = serviceDictInfo.getItemType();
}
if(itType.length==1){
serviceDictInfo.setItemType(itType[0]);
list = serviceDictInfoDao.findAllServiceDictInfo(serviceDictInfo,orderBy);
}
if(itType.length==2){
if(tempType!=0){
list = serviceDictInfoDao.findAllServiceDictInfo(serviceDictInfo,orderBy);
}else{
List<Integer> tempIntegerList = Lists.newArrayList();
tempIntegerList.add(1);tempIntegerList.add(2);tempIntegerList.add(3);
//Map<String,String> map = DictUtils.getDictOption("SERVICE_DICT_ITM_TYPE");
if(tempIntegerList.contains(itType[0])){
tempIntegerList.remove(itType[0]);
}
if(tempIntegerList.contains(itType[1])){
tempIntegerList.remove(itType[1]);
}
serviceDictInfo.setItemType(tempIntegerList.get(0));
list = serviceDictInfoDao.findAllServiceDictInfoN(serviceDictInfo,orderBy);
}
}
if(tempType!=0){
serviceDictInfo.setItemType(tempType);
}else{
serviceDictInfo.setItemType(null);
}
return list;
public List<ServiceDictInfo> findAllServiceDictInfo(ServiceDictInfo serviceDictInfo,List<Integer> itType,String orderBy){
serviceDictInfo.setConditionType(itType);;
return serviceDictInfoDao.findAllServiceDictInfo(serviceDictInfo,orderBy);
}
@@ -136,14 +78,11 @@ public class ServiceDictInfoService extends BaseService{
*/
public List<ServiceDictInfo> findAllNoLeafDictList(String itType) {
List<ServiceDictInfo> list = Lists.newArrayList();
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<ServiceDictInfo> tempList = serviceDictInfoDao.findAllNoLeafDictList(intArr[i]);
for(ServiceDictInfo serviceDictInfo:tempList){
list.add(serviceDictInfo);
}
List<Integer> intArr = ConfigDictUtils.dealTypeCondition(Configurations.getStringProperty("SERVICE_DICT_ITM_TYPE", ""), itType);
for(Integer intType:intArr){
List<ServiceDictInfo> tempList = serviceDictInfoDao.findAllNoLeafDictList(intType);
list.addAll(tempList);
}
return list;
}