package com.nis.web.service.configuration; 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.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; 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 findTopDictList(Page page, SysDictInfo sysDictInfo, Integer[] intArr) { // 设置分页参数 sysDictInfo.setPage(page); List parentList = Lists.newArrayList(); Integer tempType = 0; //预留以后分开用 if(sysDictInfo.getItemType()!=null){ tempType = sysDictInfo.getItemType(); } //查出顶层分页查询 parentList = sysDictInfoDao.findTopDictList(sysDictInfo); page.setList(parentList); return page; } /** * 查询所有有效字典配置 */ public List findAllDictList() { return sysDictInfoDao.findAllDictList(new SysDictInfo()); } /** * 查询字典分页(含条件查询) * @param page * @param sysDictInfo * @param intArr * @return */ public Page findDictSearchList(Page page, SysDictInfo sysDictInfo, Integer[] itType) { // 设置分页参数 sysDictInfo.setPage(page); List 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())) {//新增 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 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 findAllNoLeafDictList(String itType) { List list = Lists.newArrayList(); String[] strArr = itType.split("-"); Integer[] intArr = new Integer[strArr.length]; for(int i=0;i tempList = sysDictInfoDao.findAllNoLeafDictList(intArr[i]); for(SysDictInfo sysDictInfo:tempList){ list.add(sysDictInfo); } } return list; } /** * 根据itemCode查出对象集合 * @param itemCode * @return */ public List findByItemCode(Integer itemCode) { return sysDictInfoDao.findByItemCode(itemCode); } /** * 根据上级id选出所有下级 * @param parent * @return */ public List getDictByParentId(Integer parentId) { return sysDictInfoDao.getDictByParentId(parentId); } }