已完成:
①字典列表,配置编码移到配置内容前一列
②系统字典与业务字典的item_code字段int类型改为varchar(64)
③业务字典和系统字典表增加一个字段,level_no,层级(新增、修改已加入)
④完成条件分页查询(折叠逻辑与无条件查询一致,)
⑤优化分页查询代码(预留介入条件排序),
待完善:修改、删除时下层级递归处理待添加事务性及测试(待手动抛异常重点测试)
生效范围测试尚未完毕,待处理
jquery Validate验证层级关系受<sys:treeselect>影响,待处理
样式调整:分页样式(尚未调整),
This commit is contained in:
@@ -112,12 +112,11 @@ public class SysDictInfoController extends BaseController {
|
||||
*/
|
||||
@RequiresPermissions("sys:dict:view")
|
||||
@RequestMapping(value = {"searchList"})
|
||||
public String searchList(String itType, SysDictInfo sysDictInfo,HttpServletRequest request, HttpServletResponse response, Model model) {
|
||||
public String searchList(String itType, SysDictInfo sysDictInfo,HttpServletRequest request, HttpServletResponse response, Model model, Integer selectedType) {
|
||||
if(StringUtils.strIsBlank(sysDictInfo.getItemValue())
|
||||
&&sysDictInfo.getItemCode()==null
|
||||
&&StringUtils.strIsBlank(sysDictInfo.getItemCode())
|
||||
&&sysDictInfo.getBeginDate()==null
|
||||
&&sysDictInfo.getEndDate()==null){
|
||||
Integer selectedType = null;
|
||||
if(sysDictInfo.getItemType()!=null){
|
||||
selectedType = sysDictInfo.getItemType();
|
||||
return "redirect:"+ adminPath + "/basics/sysDictInfo/list?itType="+itType+"&selectedType="+selectedType;
|
||||
@@ -129,11 +128,46 @@ public class SysDictInfoController extends BaseController {
|
||||
for(int i=0;i<strArr.length;i++){
|
||||
intArr[i] = Integer.valueOf(strArr[i]);
|
||||
}
|
||||
if(sysDictInfo.getItemType()!=null){
|
||||
model.addAttribute("selectedType", sysDictInfo.getItemType());
|
||||
}else{
|
||||
model.addAttribute("selectedType", selectedType);
|
||||
sysDictInfo.setItemType(selectedType);
|
||||
}
|
||||
//先查出条件查询所有数据(注意顺序)
|
||||
List<SysDictInfo> allList = sysDictInfoService.findAllDictSearchList(sysDictInfo,intArr);
|
||||
|
||||
//查出条件查询顶层分页数据
|
||||
Page<SysDictInfo> page = sysDictInfoService.findDictTopSearchList(new Page<SysDictInfo>(request, response), sysDictInfo,intArr);
|
||||
model.addAttribute("page", page);
|
||||
|
||||
//处理数据,保留顶层中的所有下层数据
|
||||
List<SysDictInfo> list = Lists.newArrayList();
|
||||
//取出主键优化处理
|
||||
List<Integer> tempList = Lists.newArrayList();
|
||||
for(SysDictInfo se:page.getList()){
|
||||
if(se!=null&&se.getSysDictId()!=null){
|
||||
tempList.add(se.getSysDictId());
|
||||
}
|
||||
}
|
||||
//删除所有重复
|
||||
for(int i=allList.size()-1;i>=0;i--){
|
||||
SysDictInfo se = allList.get(i);
|
||||
System.out.println("山前顺序"+se.getSysDictId());
|
||||
if(se!=null&&se.getSysDictId()!=null){
|
||||
if(tempList.contains(se.getSysDictId())){
|
||||
allList.remove(se);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
allList.addAll(page.getList());
|
||||
SysDictInfo.sortList(list,allList,0,true);
|
||||
|
||||
model.addAttribute("itType", itType);
|
||||
model.addAttribute("intArr", Arrays.asList(intArr));
|
||||
Page<SysDictInfo> page = sysDictInfoService.findDictSearchList(new Page<SysDictInfo>(request, response), sysDictInfo,intArr);
|
||||
model.addAttribute("page", page);
|
||||
|
||||
model.addAttribute("list", list);
|
||||
|
||||
return "/basics/sysDictInfoSearchList";
|
||||
}
|
||||
@@ -187,10 +221,10 @@ public class SysDictInfoController extends BaseController {
|
||||
|
||||
try {
|
||||
sysDictInfoService.saveOrUpdate(sysDictInfo);
|
||||
addMessage(redirectAttributes, "保存配置成功");
|
||||
addMessage(redirectAttributes, "保存成功");
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
addMessage(redirectAttributes, "保存配置失败!");
|
||||
addMessage(redirectAttributes, "保存失败!");
|
||||
}
|
||||
|
||||
return "redirect:" + adminPath + "/basics/sysDictInfo/list?itType="+itType;
|
||||
@@ -206,10 +240,10 @@ public class SysDictInfoController extends BaseController {
|
||||
public String delete(SysDictInfo sysDictInfo, RedirectAttributes redirectAttributes, String itType) {
|
||||
try {
|
||||
sysDictInfoService.deleteDict(sysDictInfo);
|
||||
addMessage(redirectAttributes, "删除配置成功");
|
||||
addMessage(redirectAttributes, "删除成功");
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
addMessage(redirectAttributes, "删除配置失败!");
|
||||
addMessage(redirectAttributes, "删除失败!");
|
||||
}
|
||||
return "redirect:" + adminPath + "/basics/sysDictInfo/list?itType="+itType;
|
||||
}
|
||||
@@ -245,10 +279,6 @@ public class SysDictInfoController extends BaseController {
|
||||
map.put("id", sysDictInfo.getSysDictId());
|
||||
map.put("pId", sysDictInfo.getParent().getSysDictId());
|
||||
map.put("name",sysDictInfo.getItemValue());
|
||||
/*if(serviceDictInfo.getParent().getServiceDictId()!=0){
|
||||
ServiceDictInfo parent = serviceDictInfoService.getDictById(serviceDictInfo.getParent().getServiceDictId());
|
||||
//map.put("placeholder",parent.getItemType().toString());
|
||||
}*/
|
||||
|
||||
mapList.add(map);
|
||||
}
|
||||
@@ -276,7 +306,7 @@ public class SysDictInfoController extends BaseController {
|
||||
return true;
|
||||
}
|
||||
if(!StringUtil.isEmpty(itemCode)){
|
||||
list = sysDictInfoService.findByItemCode(Integer.valueOf(itemCode));
|
||||
list = sysDictInfoService.findByItemCode(itemCode);
|
||||
}
|
||||
if(list==null||list.size()==0){
|
||||
return true;
|
||||
@@ -385,6 +415,30 @@ public class SysDictInfoController extends BaseController {
|
||||
}
|
||||
return false;
|
||||
}
|
||||
/**
|
||||
* 校验层级关系
|
||||
* @return
|
||||
*/
|
||||
@ResponseBody
|
||||
@RequestMapping(value = "isLevelTotalSure")
|
||||
public boolean isLevelTotalSure(Integer parentId,Integer currentId) {
|
||||
if(parentId==-1||parentId==0){
|
||||
return true;
|
||||
}else{
|
||||
SysDictInfo p = sysDictInfoService.getDictById(parentId);
|
||||
if(currentId==null){
|
||||
if(p.getLevelNo()<4){
|
||||
return true;
|
||||
}
|
||||
}else{
|
||||
SysDictInfo c = sysDictInfoService.getDictById(currentId);
|
||||
if((p.getLevelNo()+c.getLevelNo())<5){
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user