已完成:

①字典列表,配置编码移到配置内容前一列
    ②系统字典与业务字典的item_code字段int类型改为varchar(64)
    ③业务字典和系统字典表增加一个字段,level_no,层级(新增、修改已加入)
    ④完成条件分页查询(折叠逻辑与无条件查询一致,)
    ⑤优化分页查询代码(预留介入条件排序),
  
  待完善:修改、删除时下层级递归处理待添加事务性及测试(待手动抛异常重点测试)
                      生效范围测试尚未完毕,待处理
         jquery Validate验证层级关系受<sys:treeselect>影响,待处理
                      样式调整:分页样式(尚未调整),
This commit is contained in:
zhangshilin
2018-03-08 20:30:01 +08:00
parent fb383e8cf1
commit 67645d21ca
15 changed files with 717 additions and 185 deletions

View File

@@ -96,6 +96,7 @@ public class ServiceDictInfoController extends BaseController {
allList.addAll(page.getList());
ServiceDictInfo.sortList(list,allList,0,true);
model.addAttribute("itType", itType);
model.addAttribute("intArr", Arrays.asList(intArr));
model.addAttribute("list", list);
@@ -113,12 +114,11 @@ public class ServiceDictInfoController extends BaseController {
*/
@RequiresPermissions("sys:dict:view")
@RequestMapping(value = {"searchList"})
public String searchList(String itType, ServiceDictInfo serviceDictInfo,HttpServletRequest request, HttpServletResponse response, Model model) {
public String searchList(String itType, ServiceDictInfo serviceDictInfo,HttpServletRequest request, HttpServletResponse response, Model model,Integer selectedType) {
if(StringUtils.strIsBlank(serviceDictInfo.getItemValue())
&&serviceDictInfo.getItemCode()==null
&&StringUtils.strIsBlank(serviceDictInfo.getItemCode())
&&serviceDictInfo.getBeginDate()==null
&&serviceDictInfo.getEndDate()==null){
Integer selectedType = null;
if(serviceDictInfo.getItemType()!=null){
selectedType = serviceDictInfo.getItemType();
return "redirect:"+ adminPath + "/basics/serviceDictInfo/list?itType="+itType+"&selectedType="+selectedType;
@@ -130,11 +130,44 @@ public class ServiceDictInfoController extends BaseController {
for(int i=0;i<strArr.length;i++){
intArr[i] = Integer.valueOf(strArr[i]);
}
if(serviceDictInfo.getItemType()!=null){
model.addAttribute("selectedType", serviceDictInfo.getItemType());
}else{
model.addAttribute("selectedType", selectedType);
serviceDictInfo.setItemType(selectedType);
}
//先查出条件查询所有数据(注意顺序)
List<ServiceDictInfo> allList = serviceDictInfoService.findAllDictSearchList(serviceDictInfo,intArr);
//查出条件查询顶层分页数据
Page<ServiceDictInfo> page = serviceDictInfoService.findDictTopSearchList(new Page<ServiceDictInfo>(request, response), serviceDictInfo,intArr);
model.addAttribute("page", page);
//处理数据,保留顶层中的所有下层数据
List<ServiceDictInfo> list = Lists.newArrayList();
//取出主键优化处理
List<Integer> tempList = Lists.newArrayList();
for(ServiceDictInfo se:page.getList()){
if(se!=null&&se.getServiceDictId()!=null){
tempList.add(se.getServiceDictId());
}
}
//删除所有重复
for(int i=allList.size()-1;i>=0;i--){
ServiceDictInfo se = allList.get(i);
if(se!=null&&se.getServiceDictId()!=null){
if(tempList.contains(se.getServiceDictId())){
allList.remove(se);
}
}
}
allList.addAll(page.getList());
ServiceDictInfo.sortList(list,allList,0,true);
model.addAttribute("itType", itType);
model.addAttribute("intArr", Arrays.asList(intArr));
Page<ServiceDictInfo> page = serviceDictInfoService.findDictSearchList(new Page<ServiceDictInfo>(request, response), serviceDictInfo,intArr);
model.addAttribute("page", page);
model.addAttribute("list", list);
return "/basics/serviceDictInfoSearchList";
}
@@ -180,10 +213,10 @@ public class ServiceDictInfoController extends BaseController {
try {
serviceDictInfoService.saveOrUpdate(serviceDictInfo);
addMessage(redirectAttributes, "保存配置成功");
addMessage(redirectAttributes, "保存成功");
} catch (Exception e) {
e.printStackTrace();
addMessage(redirectAttributes, "保存配置失败!");
addMessage(redirectAttributes, "保存失败!");
}
return "redirect:" + adminPath + "/basics/serviceDictInfo/list?itType="+itType;
@@ -202,10 +235,10 @@ public class ServiceDictInfoController extends BaseController {
public String delete(ServiceDictInfo serviceDictInfo, RedirectAttributes redirectAttributes,String itType) {
try {
serviceDictInfoService.deleteDict(serviceDictInfo);
addMessage(redirectAttributes, "删除配置成功");
addMessage(redirectAttributes, "删除成功");
} catch (Exception e) {
e.printStackTrace();
addMessage(redirectAttributes, "删除配置失败!");
addMessage(redirectAttributes, "删除失败!");
}
return "redirect:" + adminPath + "/basics/serviceDictInfo/list?itType="+itType;
}
@@ -266,7 +299,7 @@ public class ServiceDictInfoController extends BaseController {
return true;
}
if(!StringUtil.isEmpty(itemCode)){
list = serviceDictInfoService.findByItemCode(Integer.valueOf(itemCode));
list = serviceDictInfoService.findByItemCode(itemCode);
}
if(list==null||list.size()==0){
return true;
@@ -373,4 +406,31 @@ public class ServiceDictInfoController extends BaseController {
return false;
}
/**
* 校验层级关系
* @return
*/
@ResponseBody
@RequestMapping(value = "isLevelTotalSure")
public boolean isLevelTotalSure(Integer parentId,Integer currentId) {
if(parentId==-1||parentId==0){
return true;
}else{
ServiceDictInfo p = serviceDictInfoService.getDictById(parentId);
if(currentId==null){
if(p.getLevelNo()<4){
return true;
}
}else{
ServiceDictInfo c = serviceDictInfoService.getDictById(currentId);
if((p.getLevelNo()+c.getLevelNo())<5){
return true;
}
}
}
return false;
}
}