📄 dictionarymanagerimpl.java
字号:
/**
*
*/
package com.sunwah.baseapp.system.service;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;
import com.sunwah.baseapp.service.CommonStatusCodes;
import com.sunwah.baseapp.system.dao.DictionaryDao;
import com.sunwah.baseapp.system.dao.UserDao;
import com.sunwah.baseapp.system.model.DictionaryData;
import com.sunwah.baseapp.system.model.DictionaryType;
import com.sunwah.baseapp.system.vo.DictDataVO;
/**
* @author MARK
*
*/
public class DictionaryManagerImpl implements DictionaryManager {
private DictionaryDao dictionaryDao;
private UserDao userDao;
public void setDictionaryDao(DictionaryDao dictionaryDao) {
this.dictionaryDao = dictionaryDao;
}
public void setUserDao(UserDao userDao) {
this.userDao = userDao;
}
@Override
public int updateDict(DictionaryType dictType,
List<DictionaryData> dictDatas) {
// 判断字典类型代码是否已经存在
DictionaryType tmpDictType = this.dictionaryDao
.findDictTypeByDictTypeCode(dictType.getDictTypeCode());
if (tmpDictType != null
&& !tmpDictType.getDictTypeId()
.equals(dictType.getDictTypeId()))
return DictionaryManagerStatusCodes.DICT_TYPE_CODE_EXIST;
// 判断字典类型名称是否已经存在
tmpDictType = this.dictionaryDao.findDictTypeByDictTypeName(dictType
.getDictTypeName());
if (tmpDictType != null
&& !tmpDictType.getDictTypeId()
.equals(dictType.getDictTypeId()))
return DictionaryManagerStatusCodes.DICT_TYPE_NAME_EXIST;
// for (DictionaryData dictData : dictDatas) {
// if (dictData.getDictDataId() == null) {
// // 检查字典数据代码是否已存在
// if (dictionaryDao.findDictDataByDictDataCode(dictType
// .getDictTypeId(), dictData.getDictDataCode()) != null)
// return DictionaryManagerStatusCodes.DICT_DATA_CODE_EXIST;
// // 检查字典数据名称是否已存在
// if (dictionaryDao.findDictDataByDictDataName(dictType
// .getDictTypeId(), dictData.getDictDataName()) != null)
// return DictionaryManagerStatusCodes.DICT_DATA_NAME_EXIST;
// }
// }
// 写入字段数据
if (dictDatas != null) {
Set dictDataSet = new HashSet();
for (DictionaryData dictData : dictDatas) {
dictData.setDictionaryType(dictType);
dictDataSet.add(dictData);
}
dictType.setDictionaryDatas(dictDataSet);
}
this.dictionaryDao.merge(dictType);
return CommonStatusCodes.OK;
}
@Override
public int createDict(DictionaryType dictType,
List<DictionaryData> dictDatas) {
// 判断字典类型代码是否已经存在
if (this.dictionaryDao.findDictTypeByDictTypeCode(dictType
.getDictTypeCode()) != null)
return DictionaryManagerStatusCodes.DICT_TYPE_CODE_EXIST;
// 判断字典类型名称是否已经存在
if (this.dictionaryDao.findDictTypeByDictTypeName(dictType
.getDictTypeName()) != null)
return DictionaryManagerStatusCodes.DICT_TYPE_NAME_EXIST;
// 写入字段数据
if (dictDatas != null) {
Set dictDataSet = new HashSet();
for (DictionaryData dictData : dictDatas) {
dictData.setDictionaryType(dictType);
dictDataSet.add(dictData);
}
dictType.setDictionaryDatas(dictDataSet);
}
this.dictionaryDao.save(dictType);
return CommonStatusCodes.OK;
}
@Override
public DictionaryType findDictType(Long dictTypeId) {
DictionaryType dictType = this.dictionaryDao.get(dictTypeId);
if (dictType != null) {
dictType.setCreateUserName(userDao);
dictType.setModiryUserName(userDao);
}
if (dictType.getDictionaryDatas() != null) {
for (Object obj : dictType.getDictionaryDatas()) {
DictionaryData dictData = (DictionaryData) obj;
dictData.setCreateUserName(userDao);
dictData.setModiryUserName(userDao);
}
}
return dictType;
}
/*
* (non-Javadoc)
*
* @see
* com.sunwah.baseapp.system.service.DictionaryManager#getAllDictDatasAsMap
* ()
*/
@Override
public Map<String, Map<String, String>> getAllDictDatasAsMap() {
List list = this.dictionaryDao.getAllDictDatas();
Map<String, Map<String, String>> dictTypeMap = new HashMap<String, Map<String, String>>();
Map<String, String> dictDataMap = null;
String lastDictTypeCode = "";
String dictTypeCode = null;
String dictDataCode = null;
String dictDataName = null;
Object[] arrayObj = null;
int i = 0;
for (Object obj : list) {
arrayObj = (Object[]) obj;
dictTypeCode = (String) arrayObj[0];
dictDataCode = (String) arrayObj[1];
dictDataName = (String) arrayObj[2];
if (!lastDictTypeCode.equals(dictTypeCode)) {
if (dictDataMap != null)
dictTypeMap.put(lastDictTypeCode, dictDataMap);
dictDataMap = new HashMap<String, String>();
dictDataMap.put(dictDataCode, dictDataName);
lastDictTypeCode = dictTypeCode;
} else
dictDataMap.put(dictDataCode, dictDataName);
if (++i == list.size())
dictTypeMap.put(lastDictTypeCode, dictDataMap);
}
return dictTypeMap;
}
@Override
public void deleteDict(Long dictTypeId) {
this.dictionaryDao.remove(dictTypeId);
}
/*
* (non-Javadoc)
*
* @see
* com.sunwah.baseapp.system.service.DictionaryManager#getDictDatasAsList()
*/
@Override
public Map<String, List<DictDataVO>> getDictDatasAsList() {
List list = this.dictionaryDao.getAvailableDictDatas();
Map<String, List<DictDataVO>> dictTypeMap = new HashMap<String, List<DictDataVO>>();
List<DictDataVO> dictDataList = null;
String lastDictTypeCode = "";
int i = 0;
String dictTypeCode = null;
String dictDataCode = null;
String dictDataName = null;
Object[] arrayObj = null;
for (Object obj : list) {
arrayObj = (Object[]) obj;
dictTypeCode = (String) arrayObj[0];
dictDataCode = (String) arrayObj[1];
dictDataName = (String) arrayObj[2];
if (!lastDictTypeCode.equals(dictTypeCode)) {
if (dictDataList != null)
dictTypeMap.put(lastDictTypeCode, dictDataList);
dictDataList = new ArrayList<DictDataVO>();
dictDataList.add(new DictDataVO(dictDataCode, dictDataName));
lastDictTypeCode = dictTypeCode;
} else
dictDataList.add(new DictDataVO(dictDataCode, dictDataName));
if (++i == list.size())
dictTypeMap.put(lastDictTypeCode, dictDataList);
}
return dictTypeMap;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -