- package com.iss.framework.util;
- import java.util.ArrayList;
- import java.util.HashMap;
- import java.util.List;
- import java.util.Map;
- import com.iss.fit.dao.system.SysDictionaryDAO;
- import com.iss.fit.po.system.SysDictionary;
- /**
- * 字典库公用静态类
- * <br>
- * 系统初始化查询所有字典库信息
- * <br>
- * 调用:Map<Integer,String> list = SysDictionaryUtil.getDataTypeCodeMap("ParamType");
- * @author ftpeng
- */
- public class SysDictionaryUtil {
- private static SysDictionaryDAO sysDictionaryDAO;
- public void setSysDictionaryDAO(SysDictionaryDAO sysDictionaryDAO) {
- SysDictionaryUtil.sysDictionaryDAO = sysDictionaryDAO;
- }
- public static SysDictionaryDAO getSysDictionaryDAO() {
- return sysDictionaryDAO;
- }
- /**
- * 字典库集合
- */
- public static List<SysDictionary> dictionaryList;
- /**
- * 字典库'类型编码'集合
- * <br>K=dataTypeCode,类型编码
- * <br>V=SysDictionary,字典对象
- */
- public static Map<String, List<SysDictionary>> dataTypeCodeMap;
- /**
- * Spring 初始化调用,
- * <br>初始化查询所有字典库信息
- */
- @SuppressWarnings("unchecked")
- public void init(){
- if(dictionaryList==null){
- // 获取所有的字典信息
- dictionaryList = sysDictionaryDAO.getSysDictionarys();
- dataTypeCodeMap = new HashMap<String, List<SysDictionary>>();
- // 将字典信息根据DataTypeCode转换成MAP<DataTypeCode,SysDictionary>
- for (SysDictionary dictionary : dictionaryList) {
- List<SysDictionary> dataids = null;
- if(dataTypeCodeMap.containsKey(dictionary.getDataTypeCode())){
- dataids = dataTypeCodeMap.get(dictionary.getDataTypeCode());
- }else{
- dataids = new ArrayList<SysDictionary>();
- }
- dataids.add(dictionary);
- dataTypeCodeMap.put(dictionary.getDataTypeCode(), dataids);
- }
- }
- }
- /**
- * 刷新静态字典库
- * <br>重新查询所有的字典库信息
- */
- @SuppressWarnings("unchecked")
- public static void refresh(){
- dictionaryList = getSysDictionaryDAO().getSysDictionarys();
- }
- /**
- * 根据类型编码,获取SysDictionary信息
- * @param dataTypeCode
- */
- public static List<SysDictionary> getDataTypeCodeList(String dataTypeCode){
- return dataTypeCodeMap.get(dataTypeCode);
- }
- /**
- * 根据类型编码,获取K=DATAID,V=dataDescription信息
- * @param dataTypeCode
- */
- public static Map<Integer, String> getDataTypeCodeMap(String dataTypeCode){
- Map<Integer, String> dataidMap = new HashMap<Integer, String>();
- for (SysDictionary sysDictionary : dataTypeCodeMap.get(dataTypeCode)) {
- dataidMap.put(sysDictionary.getDataID(), sysDictionary.getDataDescription());
- }
- return dataidMap;
- }
- }
- <?xml version="1.0" encoding="UTF-8"?>
- <beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns="http://www.springframework.org/schema/beans"
- xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">
- <!-- 字典库公用类 -->
- <bean id="sysDictionaryUtil" class="com.iss.framework.util.SysDictionaryUtil" init-method="init">
- <property name="sysDictionaryDAO" ref="sysDictionaryDAO" />
- </bean>
- </beans>
- //该片段来自于http://www.codesnippet.cn/detail/0608201513370.html
来源: http://www.codesnippet.cn/detail/0608201513370.html