1.修订业务辅助表-业务字典 业务辅助表=-系统字典管理平台
2.新增修改页面添加校验
①校验必填项
②校验itemCode是否重复
③校验父级与添加或修改配置的数据类型是否一致
④校验修改配置的数据类型类型与其下级数据类型是否一致
⑤无上级时、有下级时不得选为叶子节点
3.待解决项:
①点击操作弹出项样式
②校验程序偶有存在报出提示但无法阻止提交 情况
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
package com.nis.web.controller.configuration;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
@@ -19,6 +20,7 @@ import com.google.common.collect.Lists;
|
||||
import com.google.common.collect.Maps;
|
||||
import com.nis.domain.Page;
|
||||
import com.nis.domain.configuration.ServiceDictInfo;
|
||||
import com.nis.util.DictUtils;
|
||||
import com.nis.util.StringUtil;
|
||||
import com.nis.util.StringUtils;
|
||||
import com.nis.web.controller.BaseController;
|
||||
@@ -65,9 +67,21 @@ public class ServiceDictInfoController extends BaseController {
|
||||
*/
|
||||
@RequiresPermissions("sys:dict:view")
|
||||
@RequestMapping(value = {"list", ""})
|
||||
public String list(ServiceDictInfo serviceDictInfo,HttpServletRequest request, HttpServletResponse response, Model model) {
|
||||
public String list(String itType, ServiceDictInfo serviceDictInfo,HttpServletRequest request, HttpServletResponse response, Model model,Integer selectedType) {
|
||||
//处理数据
|
||||
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(serviceDictInfo.getItemType()!=null){
|
||||
model.addAttribute("selectedType", serviceDictInfo.getItemType());
|
||||
}else{
|
||||
model.addAttribute("selectedType", selectedType);
|
||||
}
|
||||
|
||||
//查出顶层分页数据
|
||||
Page<ServiceDictInfo> page = serviceDictInfoService.findTopDictList(new Page<ServiceDictInfo>(request, response), serviceDictInfo);
|
||||
Page<ServiceDictInfo> page = serviceDictInfoService.findTopDictList(new Page<ServiceDictInfo>(request, response), serviceDictInfo,intArr);
|
||||
model.addAttribute("page", page);
|
||||
//查出所有数据
|
||||
List<ServiceDictInfo> allList = serviceDictInfoService.findAllDictList();
|
||||
@@ -94,7 +108,9 @@ public class ServiceDictInfoController extends BaseController {
|
||||
}
|
||||
|
||||
ServiceDictInfo.sortList(list,allList,0,true);
|
||||
//ServiceDictInfo.sortList(list, allList, 0, true);
|
||||
|
||||
model.addAttribute("itType", itType);
|
||||
model.addAttribute("intArr", Arrays.asList(intArr));
|
||||
model.addAttribute("list", list);
|
||||
return "/cfg/serviceDictList";
|
||||
}
|
||||
@@ -110,17 +126,28 @@ public class ServiceDictInfoController extends BaseController {
|
||||
*/
|
||||
@RequiresPermissions("sys:dict:view")
|
||||
@RequestMapping(value = {"searchList"})
|
||||
public String searchList(ServiceDictInfo serviceDictInfo,HttpServletRequest request, HttpServletResponse response, Model model) {
|
||||
public String searchList(String itType, ServiceDictInfo serviceDictInfo,HttpServletRequest request, HttpServletResponse response, Model model) {
|
||||
if(StringUtils.strIsBlank(serviceDictInfo.getItemValue())
|
||||
&&serviceDictInfo.getItemCode()==null
|
||||
&&serviceDictInfo.getItemType()==null
|
||||
&&serviceDictInfo.getBeginDate()==null
|
||||
&&serviceDictInfo.getEditTime()==null){
|
||||
|
||||
return "redirect:"+ adminPath + "/configuration/serviceDictInfo/list";
|
||||
&&serviceDictInfo.getEndDate()==null){
|
||||
Integer selectedType = null;
|
||||
if(serviceDictInfo.getItemType()!=null){
|
||||
selectedType = serviceDictInfo.getItemType();
|
||||
return "redirect:"+ adminPath + "/configuration/serviceDictInfo/list?itType="+itType+"&selectedType="+selectedType;
|
||||
}
|
||||
return "redirect:"+ adminPath + "/configuration/serviceDictInfo/list?itType="+itType;
|
||||
}
|
||||
Page<ServiceDictInfo> page = serviceDictInfoService.findDictSearchList(new Page<ServiceDictInfo>(request, response), serviceDictInfo);
|
||||
String[] strArr = itType.split("-");
|
||||
Integer[] intArr = new Integer[strArr.length];
|
||||
for(int i=0;i<strArr.length;i++){
|
||||
intArr[i] = Integer.valueOf(strArr[i]);
|
||||
}
|
||||
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);
|
||||
|
||||
|
||||
return "/cfg/serviceDictInfoSearchList";
|
||||
}
|
||||
@@ -133,17 +160,24 @@ public class ServiceDictInfoController extends BaseController {
|
||||
* @return
|
||||
*/
|
||||
@RequestMapping(value={"form"})
|
||||
public String form(ServiceDictInfo serviceDictInfo, Model model,String doAction) {
|
||||
public String form(ServiceDictInfo serviceDictInfo, Model model,String doAction,String itType) {
|
||||
if(doAction!=null&&doAction.equals("0")){
|
||||
return "/cfg/serviceDictInfo";
|
||||
}
|
||||
if (serviceDictInfo.getParent() == null || serviceDictInfo.getParent().getId() == null) {
|
||||
if (serviceDictInfo.getParent() == null || serviceDictInfo.getParent().getServiceDictId() == null||serviceDictInfo.getParent().getServiceDictId() == 0) {
|
||||
ServiceDictInfo parent = new ServiceDictInfo();
|
||||
parent.setServiceDictId(0);
|
||||
parent.setItemValue("无上级");
|
||||
serviceDictInfo.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]);
|
||||
}
|
||||
model.addAttribute("intArr", Arrays.asList(intArr));
|
||||
model.addAttribute("serviceDictInfo", serviceDictInfo);
|
||||
|
||||
model.addAttribute("itType", itType);
|
||||
return "/cfg/serviceDictForm";
|
||||
}
|
||||
/**
|
||||
@@ -155,7 +189,7 @@ public class ServiceDictInfoController extends BaseController {
|
||||
*/
|
||||
@RequiresPermissions("sys:dict:edit")
|
||||
@RequestMapping(value = "saveOrUpdate")
|
||||
public String saveOrUpdate(ServiceDictInfo serviceDictInfo,Model model, RedirectAttributes redirectAttributes) {
|
||||
public String saveOrUpdate(ServiceDictInfo serviceDictInfo,Model model, RedirectAttributes redirectAttributes,String itType) {
|
||||
|
||||
try {
|
||||
serviceDictInfoService.saveOrUpdate(serviceDictInfo);
|
||||
@@ -164,11 +198,9 @@ public class ServiceDictInfoController extends BaseController {
|
||||
e.printStackTrace();
|
||||
addMessage(redirectAttributes, "保存配置失败!");
|
||||
}
|
||||
if(serviceDictInfo.getItemType()==3){
|
||||
return "redirect:" + adminPath + "/configuration/serviceDictInfo/markList";
|
||||
}else{
|
||||
return "redirect:" + adminPath + "/configuration/serviceDictInfo/list";
|
||||
}
|
||||
|
||||
return "redirect:" + adminPath + "/configuration/serviceDictInfo/list?itType="+itType;
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -180,7 +212,7 @@ public class ServiceDictInfoController extends BaseController {
|
||||
* @return
|
||||
*/
|
||||
@RequestMapping(value={"delete"})
|
||||
public String delete(ServiceDictInfo serviceDictInfo, RedirectAttributes redirectAttributes) {
|
||||
public String delete(ServiceDictInfo serviceDictInfo, RedirectAttributes redirectAttributes,String itType) {
|
||||
try {
|
||||
serviceDictInfoService.deleteDict(serviceDictInfo);
|
||||
addMessage(redirectAttributes, "删除配置成功");
|
||||
@@ -188,7 +220,7 @@ public class ServiceDictInfoController extends BaseController {
|
||||
e.printStackTrace();
|
||||
addMessage(redirectAttributes, "删除配置失败!");
|
||||
}
|
||||
return "redirect:" + adminPath + "/configuration/serviceDictInfo/list";
|
||||
return "redirect:" + adminPath + "/configuration/serviceDictInfo/list?itType="+itType;
|
||||
}
|
||||
|
||||
|
||||
@@ -202,10 +234,16 @@ public class ServiceDictInfoController extends BaseController {
|
||||
@RequiresPermissions("user")
|
||||
@ResponseBody
|
||||
@RequestMapping(value = "treeData")
|
||||
public List<Map<String, Object>> treeData(@RequestParam(required=false) String extId,@RequestParam(required=false) String isShowHide, HttpServletResponse response) {
|
||||
public List<Map<String, Object>> treeData(@RequestParam(required=false) String extId,@RequestParam(required=false) String isShowHide, HttpServletResponse response, String itType) {
|
||||
List<Map<String, Object>> mapList = Lists.newArrayList();
|
||||
//找出所有的非叶子配置
|
||||
List<ServiceDictInfo> list = serviceDictInfoService.findAllNoLeafDictList();
|
||||
Map<String, Object> map2 = Maps.newHashMap();
|
||||
map2.put("id", -1);
|
||||
map2.put("pId", 0);
|
||||
map2.put("name","无上级");
|
||||
//map2.put("placeholder","0");
|
||||
mapList.add(map2);
|
||||
//找出该类型所有的非叶子配置
|
||||
List<ServiceDictInfo> list = serviceDictInfoService.findAllNoLeafDictList(itType);
|
||||
for (int i=0; i<list.size(); i++){
|
||||
ServiceDictInfo serviceDictInfo = list.get(i);
|
||||
if (StringUtils.isBlank(extId) || (extId !=null && !extId.equals(serviceDictInfo.getServiceDictId().toString()))) {
|
||||
@@ -216,182 +254,136 @@ public class ServiceDictInfoController extends BaseController {
|
||||
map.put("id", serviceDictInfo.getServiceDictId());
|
||||
map.put("pId", serviceDictInfo.getParent().getServiceDictId());
|
||||
map.put("name",serviceDictInfo.getItemValue());
|
||||
/*if(serviceDictInfo.getParent().getServiceDictId()!=0){
|
||||
ServiceDictInfo parent = serviceDictInfoService.getDictById(serviceDictInfo.getParent().getServiceDictId());
|
||||
//map.put("placeholder",parent.getItemType().toString());
|
||||
}*/
|
||||
|
||||
mapList.add(map);
|
||||
}
|
||||
}
|
||||
return mapList;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
//标签配置
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 进入添加或修改页面
|
||||
* @param serviceDictInfo
|
||||
* @param model
|
||||
* 校验itemCode是否重复
|
||||
* @param itemCode
|
||||
* @return
|
||||
*/
|
||||
@RequestMapping(value={"markForm"})
|
||||
public String markForm(ServiceDictInfo serviceDictInfo, Model model,String doAction) {
|
||||
if(doAction!=null&&doAction.equals("0")){
|
||||
return "/cfg/serviceDictMarkInfo";
|
||||
}
|
||||
if (serviceDictInfo.getParent() == null || serviceDictInfo.getParent().getId() == null) {
|
||||
ServiceDictInfo parent = new ServiceDictInfo();
|
||||
parent.setServiceDictId(0);
|
||||
serviceDictInfo.setParent(parent);
|
||||
}
|
||||
model.addAttribute("serviceDictInfo", serviceDictInfo);
|
||||
|
||||
return "/cfg/serviceDictMarkForm";
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 查询标签列表(无条件分页查询)
|
||||
* @param serviceDictInfo
|
||||
* @param request
|
||||
* @param response
|
||||
* @param model
|
||||
* @return
|
||||
*/
|
||||
@RequiresPermissions("sys:dict:view")
|
||||
@RequestMapping(value = {"markList", ""})
|
||||
public String markList(ServiceDictInfo serviceDictInfo,HttpServletRequest request, HttpServletResponse response, Model model) {
|
||||
//查出顶层分页数据
|
||||
Page<ServiceDictInfo> page = serviceDictInfoService.findTopDictMarkList(new Page<ServiceDictInfo>(request, response), serviceDictInfo);
|
||||
model.addAttribute("page", page);
|
||||
//查出所有数据
|
||||
List<ServiceDictInfo> allList = serviceDictInfoService.findAllDictMarkList();
|
||||
//处理数据,保留顶层中的所有下层数据
|
||||
List<ServiceDictInfo> list = Lists.newArrayList();
|
||||
boolean flag = false;
|
||||
for(int i=allList.size()-1;i>=0;i--){
|
||||
ServiceDictInfo temp = allList.get(i);
|
||||
if(temp.getParent()!=null&&temp.getParent().getServiceDictId()!=null&&temp.getParent().getServiceDictId()==0){
|
||||
for(ServiceDictInfo topTemp:page.getList()){
|
||||
if(temp.getServiceDictId()==topTemp.getServiceDictId()){
|
||||
flag = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if(!flag){
|
||||
allList.remove(temp);
|
||||
flag=false;
|
||||
}else{
|
||||
flag=false;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
ServiceDictInfo.sortList(list,allList,0,true);
|
||||
//ServiceDictInfo.sortList(list, allList, 0, true);
|
||||
model.addAttribute("list", list);
|
||||
return "/cfg/serviceDictMarkList";
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询业务辅助表-业务字典信息列表(含条件查询)
|
||||
* @param serviceDictInfo
|
||||
* @param request
|
||||
* @param response
|
||||
* @param model
|
||||
* @return
|
||||
*/
|
||||
@RequiresPermissions("sys:dict:view")
|
||||
@RequestMapping(value = {"searchMarkList"})
|
||||
public String searchMarkList(ServiceDictInfo serviceDictInfo,HttpServletRequest request, HttpServletResponse response, Model model) {
|
||||
if(StringUtils.strIsBlank(serviceDictInfo.getItemValue())
|
||||
&&serviceDictInfo.getItemCode()==null
|
||||
&&serviceDictInfo.getItemType()==null
|
||||
&&serviceDictInfo.getBeginDate()==null
|
||||
&&serviceDictInfo.getEditTime()==null){
|
||||
|
||||
return "redirect:"+ adminPath + "/configuration/serviceDictInfo/markList";
|
||||
}
|
||||
Page<ServiceDictInfo> page = serviceDictInfoService.findDictSearchMarkList(new Page<ServiceDictInfo>(request, response), serviceDictInfo);
|
||||
model.addAttribute("page", page);
|
||||
|
||||
return "/cfg/serviceDictInfoSearchMarkList";
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 新增或修改
|
||||
* @param serviceDictInfo
|
||||
* @param model
|
||||
* @param redirectAttributes
|
||||
* @return
|
||||
*/
|
||||
@RequiresPermissions("sys:dict:edit")
|
||||
@RequestMapping(value = "markSaveOrUpdate")
|
||||
public String markSaveOrUpdate(ServiceDictInfo serviceDictInfo,Model model, RedirectAttributes redirectAttributes) {
|
||||
|
||||
try {
|
||||
serviceDictInfoService.saveOrUpdate(serviceDictInfo);
|
||||
addMessage(redirectAttributes, "保存配置成功");
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
addMessage(redirectAttributes, "保存配置失败!");
|
||||
}
|
||||
|
||||
return "redirect:" + adminPath + "/configuration/serviceDictInfo/markList";
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 删除
|
||||
* @param serviceDictInfo
|
||||
* @param model
|
||||
* @return
|
||||
*/
|
||||
@RequestMapping(value={"markDelete"})
|
||||
public String markDelete(ServiceDictInfo serviceDictInfo, RedirectAttributes redirectAttributes) {
|
||||
try {
|
||||
serviceDictInfoService.deleteDict(serviceDictInfo);
|
||||
addMessage(redirectAttributes, "删除配置成功");
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
addMessage(redirectAttributes, "删除配置失败!");
|
||||
}
|
||||
return "redirect:" + adminPath + "/configuration/serviceDictInfo/markList";
|
||||
}
|
||||
|
||||
/**
|
||||
* isShowHide是否显示隐藏菜单
|
||||
* @param extId
|
||||
* @param isShowHidden
|
||||
* @param response
|
||||
* @return
|
||||
*/
|
||||
@RequiresPermissions("user")
|
||||
@ResponseBody
|
||||
@RequestMapping(value = "treeMarkData")
|
||||
public List<Map<String, Object>> treeMarkData(@RequestParam(required=false) String extId,@RequestParam(required=false) String isShowHide, HttpServletResponse response) {
|
||||
List<Map<String, Object>> mapList = Lists.newArrayList();
|
||||
//找出所有的非叶子配置
|
||||
List<ServiceDictInfo> list = serviceDictInfoService.findAllNoLeafDictMarkList();
|
||||
for (int i=0; i<list.size(); i++){
|
||||
ServiceDictInfo serviceDictInfo = list.get(i);
|
||||
if (StringUtils.isBlank(extId) || (extId !=null && !extId.equals(serviceDictInfo.getServiceDictId().toString()))) {
|
||||
if(serviceDictInfo.getIsValid().equals(0)){
|
||||
continue;
|
||||
@RequestMapping(value = "isItemCodeRepeat")
|
||||
public boolean isItemCodeRepeat(String itemCode,String oldItemCode) {
|
||||
List<ServiceDictInfo> list = Lists.newArrayList();
|
||||
if(oldItemCode!=null&&itemCode.trim().equals(oldItemCode.trim())){
|
||||
return true;
|
||||
}
|
||||
if(!StringUtil.isEmpty(itemCode)){
|
||||
list = serviceDictInfoService.findByItemCode(Integer.valueOf(itemCode));
|
||||
}
|
||||
if(list==null||list.size()==0){
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* 校验上下级配置数据类型
|
||||
* @param parent 父级id
|
||||
* param parent 子级类型
|
||||
* @return
|
||||
*/
|
||||
@ResponseBody
|
||||
@RequestMapping(value = "ajaxType")
|
||||
public boolean ajaxType(Integer parent,Integer child) {
|
||||
if(parent==-1||parent==0){
|
||||
return true;
|
||||
}
|
||||
ServiceDictInfo p = serviceDictInfoService.getDictById(parent);
|
||||
if(p.getItemType()==child){
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* 校验更改数据类型后校验数据类型是否与下级冲突
|
||||
* @param parent 父级id
|
||||
* param parent 子级类型
|
||||
* @return
|
||||
*/
|
||||
@ResponseBody
|
||||
@RequestMapping(value = "ajaxChildrenType")
|
||||
public boolean ajaxChildrenType(Integer parent,Integer newItemType) {
|
||||
if(parent==null){
|
||||
return true;
|
||||
}
|
||||
//比较下级任意一个对象
|
||||
List<ServiceDictInfo> list = serviceDictInfoService.getDictByParentId(parent);
|
||||
if(list==null||list.size()==0){
|
||||
return true;
|
||||
}else{
|
||||
for(ServiceDictInfo serviceDictInfo:list){
|
||||
if(serviceDictInfo.getItemType()==newItemType){
|
||||
return true;
|
||||
}
|
||||
Map<String, Object> map = Maps.newHashMap();
|
||||
map.put("id", serviceDictInfo.getServiceDictId());
|
||||
map.put("pId", serviceDictInfo.getParent().getServiceDictId());
|
||||
map.put("name",serviceDictInfo.getItemValue());
|
||||
mapList.add(map);
|
||||
}
|
||||
}
|
||||
return mapList;
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据id取itemType
|
||||
* @return
|
||||
*/
|
||||
@ResponseBody
|
||||
@RequestMapping(value = "ajaxItemType")
|
||||
public Integer ajaxItemType(Integer parent) {
|
||||
if(parent==0||parent==-1){
|
||||
return 0;
|
||||
}
|
||||
ServiceDictInfo p = serviceDictInfoService.getDictById(parent);
|
||||
|
||||
return p.getItemType();
|
||||
}
|
||||
/**
|
||||
* 校验叶子节点有下级不得更改为叶子节点
|
||||
* @return
|
||||
*/
|
||||
@ResponseBody
|
||||
@RequestMapping(value = "ajaxLeafChange")
|
||||
public boolean ajaxLeafChange(Integer parent,Integer newIsLeaf) {
|
||||
if(parent==null||parent==0){
|
||||
return true;
|
||||
}
|
||||
List<ServiceDictInfo> list = serviceDictInfoService.getDictByParentId(parent);
|
||||
if(list==null||list.size()==0){
|
||||
return true;
|
||||
}else{
|
||||
if(newIsLeaf==0){
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* 校验叶子节点无父级不得更改为叶子节点
|
||||
* @return
|
||||
*/
|
||||
@ResponseBody
|
||||
@RequestMapping(value = "ajaxLeafHasTree")
|
||||
public boolean ajaxLeafHasTree(Integer serviceDictId,Integer newIsLeaf,Integer parentId) {
|
||||
|
||||
if(parentId==null||parentId==0||parentId==-1){
|
||||
if(newIsLeaf==0){
|
||||
return true;
|
||||
}
|
||||
}
|
||||
if(parentId!=null&&parentId!=0){
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user