품의서 개발 & DB에 저장된 메뉴명 표시
This commit is contained in:
@@ -1917,6 +1917,76 @@ public class CommonUtils {
|
||||
|
||||
return concatenatedValues;
|
||||
}
|
||||
|
||||
/**
|
||||
* menuObjId로 메뉴명을 조회한다 (상위메뉴_하위메뉴 형식)
|
||||
*
|
||||
* @param menuObjId 메뉴 OBJID
|
||||
* @param defaultMenuName 기본 메뉴명 (조회 실패 시 반환)
|
||||
* @return 메뉴명 (상위메뉴_하위메뉴 형식)
|
||||
*/
|
||||
public static String getMenuName(String menuObjId, String defaultMenuName) {
|
||||
String menuName = defaultMenuName;
|
||||
org.apache.ibatis.session.SqlSession sqlSession = null;
|
||||
|
||||
try {
|
||||
if(menuObjId == null || menuObjId.isEmpty()) {
|
||||
logger.debug("menuObjId가 null 또는 빈 문자열입니다. 기본값 반환: " + defaultMenuName);
|
||||
return menuName;
|
||||
}
|
||||
|
||||
sqlSession = com.pms.common.SqlMapConfig.getInstance().getSqlSession();
|
||||
Map<String, Object> menuParam = new HashMap<String, Object>();
|
||||
menuParam.put("OBJID", menuObjId);
|
||||
|
||||
// MyBatis resultType="map"은 컬럼명을 소문자로 반환하므로 대문자로 변환 필요
|
||||
Map menuInfo = (Map)sqlSession.selectOne("admin.selectMenuInfo", menuParam);
|
||||
if(menuInfo != null) {
|
||||
// Map의 key를 대문자로 변환
|
||||
menuInfo = toUpperCaseMapKey(menuInfo);
|
||||
logger.debug("메뉴 정보 조회 성공: " + menuInfo);
|
||||
|
||||
if(menuInfo.get("MENU_NAME_KOR") != null) {
|
||||
// 상위 메뉴 이름 조회
|
||||
String parentObjId = checkNull(menuInfo.get("PARENT_OBJ_ID"));
|
||||
if(!parentObjId.isEmpty() && !"0".equals(parentObjId)) {
|
||||
menuParam.put("OBJID", parentObjId);
|
||||
Map parentMenuInfo = (Map)sqlSession.selectOne("admin.selectMenuInfo", menuParam);
|
||||
if(parentMenuInfo != null) {
|
||||
// 상위 메뉴도 대문자로 변환
|
||||
parentMenuInfo = toUpperCaseMapKey(parentMenuInfo);
|
||||
if(parentMenuInfo.get("MENU_NAME_KOR") != null) {
|
||||
menuName = checkNull(parentMenuInfo.get("MENU_NAME_KOR")) + "_" + checkNull(menuInfo.get("MENU_NAME_KOR"));
|
||||
} else {
|
||||
menuName = checkNull(menuInfo.get("MENU_NAME_KOR"));
|
||||
}
|
||||
} else {
|
||||
menuName = checkNull(menuInfo.get("MENU_NAME_KOR"));
|
||||
}
|
||||
} else {
|
||||
menuName = checkNull(menuInfo.get("MENU_NAME_KOR"));
|
||||
}
|
||||
logger.debug("최종 메뉴명: " + menuName);
|
||||
} else {
|
||||
logger.warn("MENU_NAME_KOR이 null입니다. menuObjId: " + menuObjId);
|
||||
}
|
||||
} else {
|
||||
logger.warn("메뉴 정보를 찾을 수 없습니다. menuObjId: " + menuObjId);
|
||||
}
|
||||
} catch(Exception e) {
|
||||
logger.error("메뉴명 조회 중 오류 발생 (menuObjId: " + menuObjId + "): " + e.getMessage(), e);
|
||||
} finally {
|
||||
if(sqlSession != null) {
|
||||
try {
|
||||
sqlSession.close();
|
||||
} catch(Exception e) {
|
||||
logger.error("SqlSession 종료 중 오류 발생: " + e.getMessage(), e);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return menuName;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user