1.修订业务辅助表-业务字典 业务辅助表=-系统字典管理平台

2.新增修改页面添加校验
     ①校验必填项
     ②校验itemCode是否重复
     ③校验父级与添加或修改配置的数据类型是否一致
     ④校验修改配置的数据类型类型与其下级数据类型是否一致
     ⑤无上级时、有下级时不得选为叶子节点
 3.待解决项:
    ①点击操作弹出项样式
    ②校验程序偶有存在报出提示但无法阻止提交 情况
This commit is contained in:
zhangshilin
2018-03-04 19:20:32 +08:00
parent 5517d78ce1
commit bb27ba16db
25 changed files with 1925 additions and 1121 deletions

View File

@@ -9,6 +9,8 @@ import org.springframework.stereotype.Service;
import com.google.common.collect.Lists;
import com.nis.domain.Page;
import com.nis.domain.SysUser;
import com.nis.domain.configuration.ServiceDictInfo;
import com.nis.domain.configuration.SysDictInfo;
import com.nis.domain.configuration.SysDictInfo;
import com.nis.util.StringUtil;
import com.nis.web.dao.configuration.SysDictInfoDao;
@@ -21,23 +23,62 @@ public class SysDictInfoService extends BaseService{
@Autowired
private SysDictInfoDao sysDictInfoDao;
/**
* 查询生效范围字典分页
* 查询顶层分页(无条件查询)
* @param page
* @param sysDictInfo
* @param intArr
* @return
*/
public Page<SysDictInfo> findDictList(Page<SysDictInfo> page, SysDictInfo sysDictInfo) {
public Page<SysDictInfo> findTopDictList(Page<SysDictInfo> page, SysDictInfo sysDictInfo, Integer[] intArr) {
// 设置分页参数
sysDictInfo.setPage(page);
// 执行分页查询
List<SysDictInfo> list = Lists.newArrayList();
List<SysDictInfo> sourcelist = sysDictInfoDao.findDictList(sysDictInfo);
SysDictInfo.sortList(list, sourcelist, 0, true);
page.setList(sourcelist);
List<SysDictInfo> parentList = Lists.newArrayList();
Integer tempType = 0;
//预留以后分开用
if(sysDictInfo.getItemType()!=null){
tempType = sysDictInfo.getItemType();
}
//查出顶层分页查询
parentList = sysDictInfoDao.findTopDictList(sysDictInfo);
page.setList(parentList);
return page;
}
/**
* 查询所有有效字典配置
*/
public List<SysDictInfo> findAllDictList() {
return sysDictInfoDao.findAllDictList(new SysDictInfo());
}
/**
* 查询字典分页(含条件查询)
* @param page
* @param sysDictInfo
* @param intArr
* @return
*/
public Page<SysDictInfo> findDictSearchList(Page<SysDictInfo> page, SysDictInfo sysDictInfo, Integer[] itType) {
// 设置分页参数
sysDictInfo.setPage(page);
List<SysDictInfo> list = Lists.newArrayList();
/*Integer tempType = 0;
if(sysDictInfo.getItemType()!=null){
tempType = sysDictInfo.getItemType();
}*/
//查出分页
list = sysDictInfoDao.findDictSearchList(sysDictInfo);
page.setList(list);
return page;
}
/**
* 根据主键查询生效范围字典详细信息
@@ -53,6 +94,15 @@ public class SysDictInfoService extends BaseService{
* @param sysDictInfo
*/
public void saveOrUpdate(SysDictInfo sysDictInfo) {
if(sysDictInfo.getParent()==null
||(sysDictInfo.getParent()!=null&&sysDictInfo.getParent().getSysDictId()==null)
||(sysDictInfo.getParent()!=null&&sysDictInfo.getParent().getSysDictId()==-1)
||(sysDictInfo.getParent()!=null&&sysDictInfo.getParent().getSysDictId()==0)
){
SysDictInfo parent = new SysDictInfo();
parent.setSysDictId(0);
sysDictInfo.setParent(parent);
}
SysUser user = UserUtils.getUser();
if(StringUtil.isEmpty(sysDictInfo.getSysDictId())) {//新增
sysDictInfo.setIsValid(1);
@@ -60,11 +110,6 @@ public class SysDictInfoService extends BaseService{
sysDictInfo.setCreateTime(new Date());
sysDictInfo.setSysDictEditor(user);
sysDictInfo.setEditTime(sysDictInfo.getCreateTime());
if(sysDictInfo.getParent()==null||(sysDictInfo.getParent()!=null&&sysDictInfo.getParent().getSysDictId()==null)){
SysDictInfo parent = new SysDictInfo();
parent.setSysDictId(0);
sysDictInfo.setParent(parent);
}
sysDictInfoDao.insertDict(sysDictInfo);
}
@@ -77,23 +122,68 @@ public class SysDictInfoService extends BaseService{
}
/**
* 查询所有非叶子节点生效范围字典配置信息
* @return
*/
public List<SysDictInfo> findAllDict() {
return sysDictInfoDao.findAllDict();
}
/**
* 删除
* @param sysDictInfo
*/
public void deleteDict(SysDictInfo sysDictInfo) {
sysDictInfo.setIsValid(0);
sysDictInfoDao.delete(sysDictInfo);
List<SysDictInfo> list = Lists.newArrayList();
SysDictInfo.sortList(list, sysDictInfoDao.findAllDictList(new SysDictInfo()), sysDictInfo.getSysDictId(), true);
list.add(sysDictInfo);
for(SysDictInfo se:list){
se.setIsValid(0);
sysDictInfoDao.delete(sysDictInfo);
}
}
/**
* 查询该类型所有的非叶子配置
* @param itType
* @return
*/
public List<SysDictInfo> findAllNoLeafDictList(String itType) {
List<SysDictInfo> 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<SysDictInfo> tempList = sysDictInfoDao.findAllNoLeafDictList(intArr[i]);
for(SysDictInfo sysDictInfo:tempList){
list.add(sysDictInfo);
}
}
return list;
}
/**
* 根据itemCode查出对象集合
* @param itemCode
* @return
*/
public List<SysDictInfo> findByItemCode(Integer itemCode) {
return sysDictInfoDao.findByItemCode(itemCode);
}
/**
* 根据上级id选出所有下级
* @param parent
* @return
*/
public List<SysDictInfo> getDictByParentId(Integer parentId) {
return sysDictInfoDao.getDictByParentId(parentId);
}