已完成:
①字典列表,配置编码移到配置内容前一列
②系统字典与业务字典的item_code字段int类型改为varchar(64)
③业务字典和系统字典表增加一个字段,level_no,层级(新增、修改已加入)
④完成条件分页查询(折叠逻辑与无条件查询一致,)
⑤优化分页查询代码(预留介入条件排序),
待完善:修改、删除时下层级递归处理待添加事务性及测试(待手动抛异常重点测试)
生效范围测试尚未完毕,待处理
jquery Validate验证层级关系受<sys:treeselect>影响,待处理
样式调整:分页样式(尚未调整),
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user