package kcg.faics.cmmn.service.impl;

import java.util.HashMap;
import java.util.List;

import kcg.faics.cmmn.vo.MenuVO;

import org.springframework.stereotype.Repository;

import egovframework.rte.psl.dataaccess.EgovAbstractMapper;

@Repository("menuMapper")
public class MenuMapper extends EgovAbstractMapper {

	/**
	 * 현재 메뉴와 상위메뉴 목록을 반환한다.
	 * 
	 * @param menuVO
	 *            검색조건 VO
	 * @return 현재 메뉴를 포함한 상위메뉴 목록
	 */
	public List<MenuVO> selectListWithHigher(final MenuVO menuVO) {
		return selectList("Menu.selectListWithHigher", menuVO);
	}
	
	/**
	 * 계층형 구조의 메뉴 목록을 반환한다.
	 * 
	 * @param menuVO 검색조건 VO
	 * @return 메뉴 목록
	 */
	public List<MenuVO> selectListWithConnectBy(final MenuVO menuVO) {
		return selectList("Menu.selectListWithConnectBy", menuVO);
	}
	
	/**
	 * 게시판 메뉴에 대한 정보를 가져온다.
	 * 
	 * @return 데이터 맵
	 */
	public HashMap<String, Object> getMenuInfo(final HashMap<String, Object> menu) {
		return selectOne("Menu.getMenuInfo", menu);
	}
	
	/**
	 * 서브 메뉴에 대한 정보를 가져온다.
	 * 
	 * @return 데이터 맵
	 */
	public List<HashMap<String, Object>> getSubmenu(final HashMap<String, Object> menu) {
		return selectList("Menu.getSubmenu", menu);
	}

	/**
	 * 설명
	 * 
	 * @param 파라미터 파라미터설명
	 * @return 리턴값 설명
	 * @throws Exception 기본 예외 처리
	 */
	public HashMap<String, Object> getMenuInfoById(final HashMap<String, Object> menu) {
		return selectOne("Menu.getMenuInfoById", menu);
	}
}
