@PostConstruct
	public void setInitialize() {

		try {
			HashMap<String, String> param = new HashMap<String, String>();
			List<CodeVO> list = mainService.getCodeList(param);
			List<CodeVO> listSub = new ArrayList<CodeVO>();
			listSub.addAll(list);

			if(list.size() > 0) {
				List<CodeVO> topList = new ArrayList<CodeVO>();
				
				CodeVO row = null;
				String codeCd = null;

				for(int i=0, len=list.size(); i<len; i++){
					row = list.get(i);
					//최상위 코드 등록
					if (row.getDepth() == 0 ) {
						CodeVO topCodeVo = CodeVO.infoVO(row);
						topList.add(topCodeVo);
					}
					
					codeCd = row.getCode();
					CodeVO codeVo = CodeVO.infoVO(row);
					codeMap.put(codeCd, codeVo);
					
					List<CodeVO> subList = new ArrayList<CodeVO>();
					CodeVO rowSub = null;
					for(int j=0, slen = listSub.size(); j < slen; j++){

						rowSub = listSub.get(j);
						if(codeCd.equals(rowSub.getParent_cd())){
							CodeVO subCodeVo = CodeVO.infoVO(rowSub);
							subList.add(subCodeVo);
							
							// class의 하위 코드일때만 스텝 가져옴.
							String subCodeCd = subCodeVo.getCode();
							if(subCodeCd.substring(0, 3).equals("001")){
								List<HashMap<String, String>> stepList = mainService.getWordStep(subCodeCd);
								stepListMap.put(subCodeCd, stepList);
							}
						}
					}
					
					if(subList.size() > 0) {
						listMap.put(codeCd, subList);
					}
					
				}
				
				listMap.put("", topList);
			}
			
		} catch (Exception e) {
			e.printStackTrace();
		}
	}