融合代码
更新:辅助字典移动到basics目录下,
修订数据类型条件查询无效bug,
优化无条件分页查询代码,
配置编码自增,用户不需手动输入(app强特征作用域选着配置功能待添加)
无上级,改为根节点,
This commit is contained in:
192
src/main/java/com/nis/web/service/basics/SysDictInfoService.java
Normal file
192
src/main/java/com/nis/web/service/basics/SysDictInfoService.java
Normal file
@@ -0,0 +1,192 @@
|
||||
package com.nis.web.service.basics;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
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.basics.SysDictInfo;
|
||||
import com.nis.util.StringUtil;
|
||||
import com.nis.web.dao.basics.SysDictInfoDao;
|
||||
import com.nis.web.security.UserUtils;
|
||||
import com.nis.web.service.BaseService;
|
||||
|
||||
@Service
|
||||
public class SysDictInfoService extends BaseService{
|
||||
|
||||
@Autowired
|
||||
private SysDictInfoDao sysDictInfoDao;
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 查询顶层分页(无条件查询)
|
||||
* @param page
|
||||
* @param sysDictInfo
|
||||
* @param intArr
|
||||
* @return
|
||||
*/
|
||||
public Page<SysDictInfo> findTopDictList(Page<SysDictInfo> page, SysDictInfo sysDictInfo, Integer[] intArr) {
|
||||
// 设置分页参数
|
||||
sysDictInfo.setPage(page);
|
||||
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;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 根据主键查询生效范围字典详细信息
|
||||
* @param sysDictId
|
||||
* @return
|
||||
*/
|
||||
public SysDictInfo getDictById(Integer sysDictId) {
|
||||
return sysDictInfoDao.getDictById(sysDictId);
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增或修改生效范围字典表
|
||||
* @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())) {//新增
|
||||
if(sysDictInfo.getItemCode()==null){
|
||||
Integer maxCode = sysDictInfoDao.findMaxItemCode();
|
||||
sysDictInfo.setItemCode(maxCode==null?1:(maxCode+1));
|
||||
}
|
||||
sysDictInfo.setIsValid(1);
|
||||
sysDictInfo.setSysDictCreator(user);
|
||||
sysDictInfo.setCreateTime(new Date());
|
||||
sysDictInfo.setSysDictEditor(user);
|
||||
sysDictInfo.setEditTime(sysDictInfo.getCreateTime());
|
||||
sysDictInfoDao.insertDict(sysDictInfo);
|
||||
|
||||
}
|
||||
|
||||
else {//修改
|
||||
sysDictInfo.setSysDictEditor(user);
|
||||
sysDictInfo.setEditTime(new Date());
|
||||
sysDictInfoDao.update(sysDictInfo);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除
|
||||
* @param sysDictInfo
|
||||
*/
|
||||
public void deleteDict(SysDictInfo 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);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user