qa-prevention-gwj/src/main/java/com/zcloud/service/system/impl/DictionariesServiceImpl.java

265 lines
7.7 KiB
Java
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

package com.zcloud.service.system.impl;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import com.zcloud.entity.Page;
import com.zcloud.entity.PageData;
import com.zcloud.entity.system.Department;
import com.zcloud.entity.system.Dictionaries;
import com.zcloud.mapper.datasource.system.DictionariesMapper;
import com.zcloud.service.system.DictionariesService;
/**
* 说明:按钮权限服务接口实现类
* 作者luoxiaobao
* 官网www.qdkjchina.com
*/
@Service
@Transactional //开启事物
public class DictionariesServiceImpl implements DictionariesService {
@Autowired
private DictionariesMapper dictionariesMapper;
/**
* 获取所有数据并填充每条数据的子级列表(递归处理)
* @param MENU_ID
* @return
* @throws Exception
*/
public List<Dictionaries> listAllDict(String parentId) throws Exception {
List<Dictionaries> dictList = this.listSubDictByParentId(parentId);
for(Dictionaries dict : dictList){
dict.setTreeurl("dictionaries_list.html?DICTIONARIES_ID="+dict.getDICTIONARIES_ID());
dict.setSubDict(this.listAllDict(dict.getDICTIONARIES_ID()));
dict.setTarget("treeFrame");
}
return dictList;
}
/**
* 通过ID获取其子级列表
* @param parentId
* @return
* @throws Exception
*/
public List<Dictionaries> listSubDictByParentId(String parentId) throws Exception {
return dictionariesMapper.listSubDictByParentId(parentId);
}
/**
* 通过ID获取其子级列表
* @param parentId
* @return
* @throws Exception
*/
public List<Dictionaries> listSubDictByParentIdAndCourseware(PageData pd) throws Exception {
return dictionariesMapper.listSubDictByParentIdAndCourseware(pd);
}
@Override
public List<PageData> getTreeById(String id) throws Exception {
List<Dictionaries> _list = this.listSubDictByParentId(id); //用传过来的ID获取此ID下的子列表数据
return _list.stream().map(n -> {
PageData entity = new PageData();
entity.put("DICTIONARIES_ID", n.getDICTIONARIES_ID());
entity.put("BIANMA", n.getBIANMA());
entity.put("NAME", n.getNAME());
return entity;
}).collect(Collectors.toList());
}
/**
* 获取所有数据并填充每条数据的子级列表(递归处理)用于代码生成器引用数据字典
* @param MENU_ID
* @return
* @throws Exception
*/
public List<Dictionaries> listAllDictToCreateCode(String parentId) throws Exception {
List<Dictionaries> dictList = this.listSubDictByParentId(parentId);
for(Dictionaries dict : dictList){
dict.setTreeurl("setDID('"+dict.getDICTIONARIES_ID()+"');");
dict.setSubDict(this.listAllDictToCreateCode(dict.getDICTIONARIES_ID()));
dict.setTarget("treeFrame");
}
return dictList;
}
/**
* 获取所有数据并填充每条数据的子级列表(递归处理)下拉ztree用
* @param MENU_ID
* @return
* @throws Exception
*/
public List<PageData> listAllDictToSelect(String parentId,List<PageData> zdicPdList) throws Exception {
List<PageData>[] arrayDep = this.listAllbyPd(parentId,zdicPdList);
List<PageData> dicPdList = arrayDep[1];
for(PageData pd : dicPdList){
this.listAllDictToSelect(pd.getString("id"),arrayDep[0]);
}
return arrayDep[0];
}
/**下拉ztree用
* @param parentId
* @return
* @throws Exception
*/
@SuppressWarnings("unchecked")
public List<PageData>[] listAllbyPd(String parentId,List<PageData> zdicPdList) throws Exception {
List<Dictionaries> dicList = this.listSubDictByParentId(parentId);
List<PageData> dicPdList = new ArrayList<PageData>();
for(Dictionaries dic : dicList){
PageData pd = new PageData();
pd.put("id", dic.getDICTIONARIES_ID());
pd.put("parentId", dic.getPARENT_ID());
pd.put("name", dic.getNAME());
pd.put("icon", "../../../assets/images/user.gif");
dicPdList.add(pd);
zdicPdList.add(pd);
}
List<PageData>[] arrayDep = new List[2];
arrayDep[0] = zdicPdList;
arrayDep[1] = dicPdList;
return arrayDep;
}
/**列表
* @param page
* @throws Exception
*/
public List<PageData> list(Page page)throws Exception{
return dictionariesMapper.datalistPage(page);
}
/**通过id获取数据
* @param pd
* @throws Exception
*/
public PageData findById(PageData pd)throws Exception{
return dictionariesMapper.findById(pd);
}
/**通过名称获取数据
* @param pd
* @throws Exception
*/
public PageData findByName(PageData pd)throws Exception{
return dictionariesMapper.findByName(pd);
}
/**通过编码获取数据
* @param pd
* @throws Exception
*/
public PageData findByBianma(PageData pd)throws Exception{
return dictionariesMapper.findByBianma(pd);
}
/**新增
* @param pd
* @throws Exception
*/
public void save(PageData pd)throws Exception{
dictionariesMapper.save(pd);
}
/**修改
* @param pd
* @throws Exception
*/
public void edit(PageData pd)throws Exception{
dictionariesMapper.edit(pd);
}
/**排查表检查是否被占用
* @param pd
* @throws Exception
*/
public PageData findFromTbs(PageData pd)throws Exception{
return dictionariesMapper.findFromTbs(pd);
}
/**删除
* @param pd
* @throws Exception
*/
public void delete(PageData pd)throws Exception{
dictionariesMapper.delete(pd);
}
/**
* 通过IDS获取列表
* @param dictionariesIds
* @return
* @throws Exception
*/
public List<Dictionaries> listSubDictByIds(String[] dictionariesIds) throws Exception {
return dictionariesMapper.listSubDictByIdS(dictionariesIds);
}
@Override
public List<Dictionaries> listSecondLevelDictByParentId(String parentId) throws Exception {
return dictionariesMapper.listSecondLevelDictByParentId(parentId);
}
public List<PageData> listSubDictByParentIdAndSunCount(String parentId) throws Exception {
return dictionariesMapper.listSubDictByParentIdAndSunCount(parentId);
}
/**
* 从下而上查询树(无分支)
* @param dic
* @return
* @throws Exception
*/
public List<PageData> getTreeFromBelow(List<PageData> nextList, PageData dic) throws Exception{
List<PageData> dicList = dictionariesMapper.listBySameParent(dic.get("PARENT_ID").toString());
if(nextList != null && dicList != null && nextList.size() > 0 && dicList.size() > 0) {
for(PageData d : dicList) {
if(dic.getString("DICTIONARIES_ID").equals(d.getString("id"))) {
d.put("children", nextList);
}
}
}
PageData parDic = new PageData();
parDic.put("DICTIONARIES_ID", dic.get("PARENT_ID"));
parDic.put("NOROOT", "1");
parDic = dictionariesMapper.findById(parDic);
if(parDic != null && parDic.get("DICTIONARIES_ID") != null && !"0".equals(parDic.get("PARENT_ID").toString())) {
dicList = getTreeFromBelow(dicList,parDic);
}
return dicList;
}
public List<PageData> getIdsByRecuByParentId(String parentId) throws Exception {
return dictionariesMapper.getIdsByRecuByParentId(parentId);
}
/**
* 更具parentID获取数据字典信息,并且转换能map
* @param parentId
* @return
* @throws Exception
*/
public Map<String,Dictionaries> getMapByParId (String parentId) throws Exception{
List<Dictionaries> dictList = this.listSubDictByParentId(parentId);
Map<String,Dictionaries> dicMap = new HashMap<>();
for (Dictionaries dictionaries :dictList){
dicMap.put(dictionaries.getNAME(),dictionaries);
}
return dicMap;
}
public List<PageData> getIdsByParentIds(List<String> parentIds) throws Exception {
return dictionariesMapper.getIdsByParentIds(parentIds);
}
@Override
public List<PageData> findByCondition(PageData condition) throws Exception {
return dictionariesMapper.findByCondition(condition);
}
}