package cn.ksource.config; import cn.ksource.core.dao.BaseDao; import java.util.*; public class DictionaryManager { public static Map dtGroupMap=new HashMap();//字典分组map:key="group_code" public static Map dicMap=new HashMap();//key="groupCode_dtCcde" //key="group_code" public static Map> groupDicMap=new HashMap>(); /** * 得到所有字典表分类 * @return 字典分类列表List */ public static Collection getDtGroups() { return dtGroupMap.values(); } /** * 字典列表List * @param groupCode 分类代码 * @return 字典列表List */ public static List getDictList(String groupCode) { return groupDicMap.get(groupCode); } public static Map getDtGroup(String groupCode) { return dtGroupMap.get(groupCode); } public static Map getDictionary(String groupCode,String dicCode) { return dicMap.get(groupCode+"_"+dicCode); } public static void init(BaseDao baseDao) throws Exception{ //清理 dtGroupMap.clear(); dicMap.clear(); groupDicMap.clear(); Integer active = 1; List dicList= baseDao.queryForList("select * from dictionary where active="+active+" order by group_code,serial"); List dtGroupList=baseDao.queryForList("select * from dt_group where active="+active+" order by serial"); List isEachDics=new ArrayList();//已经处理过的Dictionary for(int i=0;i dics = groupDicMap.get(dic.get("GROUP_CODE")); if(dics==null){ dics = new ArrayList(); groupDicMap.put((String)dic.get("GROUP_CODE"),dics); } dics.add(dic); isEachDics.add(dic); } } dicList.removeAll(isEachDics); isEachDics.clear(); } } public static void removeDtGroup(String groupCode) { dtGroupMap.remove(groupCode); for(Map dic:groupDicMap.get(groupCode)){ dicMap.remove(groupCode+"_"+dic.get("DT_CODE")); } groupDicMap.remove(groupCode); } }