⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dictionarymanagerimpl.java

📁 利用STRUTS2+SPRING+HIBERNATE/IBATIS建立的基本开发框架
💻 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 + -