已完成:

①字典列表,配置编码移到配置内容前一列
    ②系统字典与业务字典的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

@@ -54,28 +54,43 @@ public class SysDictInfoService extends BaseService{
}
/**
* 查询字典分页(含条件查询)
* 条件查询所有数据
* @param page
* @param sysDictInfo
* @param intArr
* @return
*/
public Page<SysDictInfo> findDictSearchList(Page<SysDictInfo> page, SysDictInfo sysDictInfo, Integer[] itType) {
// 设置分页参数
sysDictInfo.setPage(page);
public List<SysDictInfo> findAllDictSearchList(SysDictInfo sysDictInfo, Integer[] itType) {
List<SysDictInfo> list = Lists.newArrayList();
/*Integer tempType = 0;
if(sysDictInfo.getItemType()!=null){
tempType = sysDictInfo.getItemType();
}*/
//查出分页
list = sysDictInfoDao.findDictSearchList(sysDictInfo);
page.setList(list);
list = sysDictInfoDao.findAllDictSearchList(sysDictInfo);
return list;
}
/**
* 查询条件查询顶层分页(含条件查询,考虑排序接入可行性)
* @param page
* @param sysDictInfo
* @param itType
* @return
*/
public Page<SysDictInfo> findDictTopSearchList(Page<SysDictInfo> page, SysDictInfo sysDictInfo, Integer[] itType) {
// 设置分页参数
sysDictInfo.setPage(page);
//根据条件查询符合数据
List<SysDictInfo> allList = Lists.newArrayList();
List<SysDictInfo> list = Lists.newArrayList();
Integer tempType = 0;
allList = sysDictInfoDao.findDictTopSearchList(sysDictInfo);
SysDictInfo tempSe = new SysDictInfo();
tempSe.setSysDictId(0);
for(SysDictInfo se:allList){
se.setParent(tempSe);
}
page.setList(allList);
return page;
}
/**
@@ -99,14 +114,16 @@ public class SysDictInfoService extends BaseService{
){
SysDictInfo parent = new SysDictInfo();
parent.setSysDictId(0);
parent.setLevelNo(0);
sysDictInfo.setParent(parent);
}
if(sysDictInfo.getParent().getSysDictId()!=0){
SysDictInfo parent = sysDictInfoDao.getDictById(sysDictInfo.getParent().getSysDictId());
sysDictInfo.setParent(parent);
}
SysUser user = UserUtils.getUser();
if(StringUtil.isEmpty(sysDictInfo.getSysDictId())) {//新增
if(sysDictInfo.getItemCode()==null){
Integer maxCode = sysDictInfoDao.findMaxItemCode();
sysDictInfo.setItemCode(maxCode==null?1:(maxCode+1));
}
sysDictInfo.setLevelNo(sysDictInfo.getParent().getLevelNo()+1);
sysDictInfo.setIsValid(1);
sysDictInfo.setSysDictCreator(user);
sysDictInfo.setCreateTime(new Date());
@@ -117,12 +134,43 @@ public class SysDictInfoService extends BaseService{
}
else {//修改
List<SysDictInfo> resultList = Lists.newArrayList();
List<SysDictInfo> list = sysDictInfoDao.getDictByParentId(sysDictInfo.getSysDictId());
//处理层级
if(sysDictInfo.getParent().getSysDictId()==0){
sysDictInfo.setLevelNo(1);
//处理子集
childLevel(sysDictInfo,list,resultList);
}else{
sysDictInfo.setLevelNo(sysDictInfo.getParent().getLevelNo()+1);
//处理子集
childLevel(sysDictInfo,list,resultList);
}
sysDictInfo.setSysDictEditor(user);
sysDictInfo.setEditTime(new Date());
for(SysDictInfo sc:resultList){
sysDictInfoDao.updateLevelNo(sc);
}
sysDictInfoDao.update(sysDictInfo);
}
}
//处理子集层级
public void childLevel(SysDictInfo sysDictInfo, List<SysDictInfo> list,List<SysDictInfo> resultList){
for(SysDictInfo se:list){
se.setLevelNo(sysDictInfo.getLevelNo()+1);
resultList.add(se);
List<SysDictInfo> newList = sysDictInfoDao.getDictByParentId(se.getSysDictId());
childLevel(se,newList,resultList);
}
}
/**
* 删除
@@ -161,7 +209,7 @@ public class SysDictInfoService extends BaseService{
* @param itemCode
* @return
*/
public List<SysDictInfo> findByItemCode(Integer itemCode) {
public List<SysDictInfo> findByItemCode(String itemCode) {
return sysDictInfoDao.findByItemCode(itemCode);
}
/**