hehihoho3@gmail.com 9 hours ago
메뉴관리 > eng 영역 추가
@03b6c6a93f3260437bc53416d0a4ae31a984ed27
 
GEMINI.md (added)
+++ GEMINI.md
@@ -0,0 +1,0 @@
src/main/java/kcc/let/sym/mnu/mcm/web/EgovMenuCreateManageController.java
--- src/main/java/kcc/let/sym/mnu/mcm/web/EgovMenuCreateManageController.java
+++ src/main/java/kcc/let/sym/mnu/mcm/web/EgovMenuCreateManageController.java
@@ -302,28 +302,26 @@
 		
 		List<MenuManageJTreeVO> resultList = null ;
 		
-//		if(request.getServletPath().equals("/sym/mnu/mcm/EgovMenuQuickSelectJtreeAjax.do")) { //즐겨찾기
-//			resultList =  menuCreateManageService.selectQuickListJtree(menuManageVO) ;
-//		}else {
 		resultList =  menuCreateManageService.selectMenuListJtree(menuManageVO) ;
-//		}
+		
 		MenuManageJTreeVO menuManageTopVO = new MenuManageJTreeVO();
 		menuManageTopVO.setUpperMenuId("#");
-		/* menuManageTopVO.setMenuNo("0"); */
+		menuManageTopVO.setMenuNo("2");
+		menuManageTopVO.setMenuNm("사용자메뉴(영문)");
+		resultList.add(0, menuManageTopVO);
+
+		menuManageTopVO = new MenuManageJTreeVO();
+		menuManageTopVO.setUpperMenuId("#");
 		menuManageTopVO.setMenuNo("1");
 		menuManageTopVO.setMenuNm("사용자메뉴");
-		/* resultList.add(resultList.size()-4, menuManageTopVO); */
 		resultList.add(0, menuManageTopVO);
 		
-		
-//		if("ROLE_ADMIN".equals(menuManageVO.getAuthorCode())){
-//			menuManageTopVO.setMenuNm("관리자메뉴");
-//		}
 		menuManageTopVO = new MenuManageJTreeVO();
 		menuManageTopVO.setUpperMenuId("#");
 		menuManageTopVO.setMenuNo("0");
 		menuManageTopVO.setMenuNm("관리자메뉴");
 		resultList.add(0, menuManageTopVO);
+
 		System.out.println("resultList :: "+resultList);
 		mapper.writeValue(out, resultList);
 		out.flush();
@@ -415,6 +413,8 @@
 							insertMenNo = (9990000+"").replaceFirst("0" , i+"") ;
 						}else if(1==menuManageVO.getUpperMenuId()){ //루트매뉴가 0이면 9990000
 							insertMenNo = (999000000+"").replaceFirst("0" , i+"") ;
+						}else if(2==menuManageVO.getUpperMenuId()){ //루트매뉴가 2이면 998000000
+							insertMenNo = (998000000+"").replaceFirst("0" , i+"") ;
 						}
 						else {
 							insertMenNo = (menuManageVO.getUpperMenuId()+"").replaceFirst("0" , i+"") ;
@@ -454,10 +454,13 @@
 				menuManageVO.setSiteId(user.getSiteId());
 			}*/
 			
+			System.out.println(" + menuManageVO.getRootMenuId() : "+ menuManageVO.getRootMenuId());
 			if(menuManageVO.getRootMenuId().equals("0")) {
 				menuManageVO.setMenuUserType("A");
-			}else if(menuManageVO.getRootMenuId().equals("1")) {
+ 			}else if(menuManageVO.getRootMenuId().equals("1")) {
 				menuManageVO.setMenuUserType("U");
+			}else if(menuManageVO.getRootMenuId().equals("2")) {
+				menuManageVO.setMenuUserType("E");
 			}
 			
 			menuManageService.insertMenuManage(menuManageVO);
src/main/java/kcc/let/sym/mnu/mpm/service/MenuManageJTreeVO.java
--- src/main/java/kcc/let/sym/mnu/mpm/service/MenuManageJTreeVO.java
+++ src/main/java/kcc/let/sym/mnu/mpm/service/MenuManageJTreeVO.java
@@ -87,10 +87,11 @@
    /** tmp_Cmd */
    private   String   tmp_Cmd;
 
-   private   String   menuUserType;
-   
-   private   String   useYn;
-   
+   	private   String   menuUserType;
+      
+   	private   Integer  upperMenuNo; // 추가된 필드
+      
+      private   String   useYn;   
    private   String   depths;
    
    private   String   depth;
@@ -413,6 +414,14 @@
 	public void setMenuUserType(String menuUserType) {
 		this.menuUserType = menuUserType;
 	}
+	
+	public Integer getUpperMenuNo() {
+		return upperMenuNo;
+	}
+
+	public void setUpperMenuNo(Integer upperMenuNo) {
+		this.upperMenuNo = upperMenuNo;
+	}
 	public String getUseYn() {
 		return useYn;
 	}
src/main/java/kcc/web/MainController.java
--- src/main/java/kcc/web/MainController.java
+++ src/main/java/kcc/web/MainController.java
@@ -249,6 +249,19 @@
 		} else {
 			menuManageVO.setAuthorCode("ROLE_ANONYMOUS");
 		}
+		
+		String menuUserType = request.getParameter("menuUserType");
+		if (menuUserType == null || menuUserType.isEmpty()) {
+			menuUserType = "KOR";
+		}
+		menuManageVO.setMenuUserType(menuUserType);
+
+		// upperMenuNo 설정
+		if ("ENG".equals(menuUserType)) {
+			menuManageVO.setUpperMenuNo(2); // 사용자메뉴(영문)
+		} else {
+			menuManageVO.setUpperMenuNo(1); // 사용자메뉴
+		}
 
 		List<MenuManageJTreeVO> menuResultList = menuCreateManageService.selectMenuListJtreeWeb(menuManageVO);
 		menuDepth2ChildCnt(menuResultList);
src/main/resources/egovframework/sqlmap/let/sym/mnu/mcm/EgovMenuCreat_SQL_Mysql.xml
--- src/main/resources/egovframework/sqlmap/let/sym/mnu/mcm/EgovMenuCreat_SQL_Mysql.xml
+++ src/main/resources/egovframework/sqlmap/let/sym/mnu/mcm/EgovMenuCreat_SQL_Mysql.xml
@@ -150,7 +150,7 @@
 	<!-- <select id="menuManageDAO.selectMenuListJtree" ...> ... </select> -->
 
 	<select id="menuManageDAO.selectMenuListJtree" parameterClass="menuManageJTreeVO" resultClass="menuManageJTreeVO">
-		/* 임시.*NOT_SQL_LOG.* */
+		/* menuManageDAO.selectMenuListJtree */
 		
 			SELECT
 	         	MENU_NM     menuNm    ,
@@ -226,7 +226,7 @@
 		            INNER JOIN LETTNPROGRMLIST C
 		            ON A.PROGRM_FILE_NM = C.PROGRM_FILE_NM
 		        WHERE
-		            A.UPPER_MENU_NO = 1
+		            A.UPPER_MENU_NO = #upperMenuNo#
 		            AND A.MENU_NO != 1
 		            AND B.USE_YN = 'Y'
 		        UNION
@@ -276,7 +276,7 @@
 		                    INNER JOIN LETTNPROGRMLIST C
 		                    ON A.PROGRM_FILE_NM = C.PROGRM_FILE_NM
 		                WHERE
-		                    A.UPPER_MENU_NO = 1
+		                    A.UPPER_MENU_NO = #upperMenuNo#
 		                    AND A.MENU_NO != 1
 		                    AND B.USE_YN = 'Y'
 		            )                  AA,
@@ -352,7 +352,7 @@
 		                            INNER JOIN LETTNPROGRMLIST C
 		                            ON A.PROGRM_FILE_NM = C.PROGRM_FILE_NM
 		                        WHERE
-		                            A.UPPER_MENU_NO = 1
+		                            A.UPPER_MENU_NO = #upperMenuNo#
 		                            AND A.MENU_NO != 1
 		                            AND B.AUTHOR_CODE = #authorCode#
 		                            AND B.USE_YN = 'Y'
src/main/webapp/WEB-INF/jsp/web/com/webCommonHeader.jsp
--- src/main/webapp/WEB-INF/jsp/web/com/webCommonHeader.jsp
+++ src/main/webapp/WEB-INF/jsp/web/com/webCommonHeader.jsp
@@ -130,9 +130,58 @@
 				<li>
 					<div class="lang_switch">
 						<i class="icon lang"></i>
-						<button type="button" class="active">KOR</button>
-						<button type="button" class="">ENG</button>
+						<button type="button" id="lang-kor" class="${param.menuUserType ne 'ENG' ? 'active' : ''}">KOR</button>
+						<button type="button" id="lang-eng" class="${param.menuUserType eq 'ENG' ? 'active' : ''}">ENG</button>
 					</div>
+<script type="text/javascript">
+$(document).ready(function() {
+    // Language selection handling
+    var menuUserType = sessionStorage.getItem('menuUserType');
+    if (!menuUserType) {
+        const urlParams = new URLSearchParams(window.location.search);
+        menuUserType = urlParams.get('menuUserType') || 'KOR';
+        sessionStorage.setItem('menuUserType', menuUserType);
+    }
+
+    if (menuUserType === 'ENG') {
+        $('#lang-kor').removeClass('active');
+        $('#lang-eng').addClass('active');
+    } else {
+        $('#lang-eng').removeClass('active');
+        $('#lang-kor').addClass('active');
+    }
+
+    $('#lang-kor').on('click', function() {
+        sessionStorage.setItem('menuUserType', 'KOR');
+        var url = new URL(window.location.href);
+        url.searchParams.set('menuUserType', 'KOR');
+        window.location.href = url.href;
+    });
+
+    $('#lang-eng').on('click', function() {
+        sessionStorage.setItem('menuUserType', 'ENG');
+        var url = new URL(window.location.href);
+        url.searchParams.set('menuUserType', 'ENG');
+        window.location.href = url.href;
+    });
+
+    // Append menuUserType to menu links
+    var currentLang = sessionStorage.getItem('menuUserType') || 'KOR';
+    $('a.depth02').each(function() {
+        var href = $(this).attr('href');
+        if (href && href !== '#') {
+            var newHref = href;
+            if (href.indexOf('?') > -1) {
+                newHref += '&menuUserType=' + currentLang;
+            } else {
+                newHref += '?menuUserType=' + currentLang;
+            }
+            $(this).attr('href', newHref);
+        }
+    });
+});
+</script>
+
 				</li>
 				<li><button type="button" class="btn_sitemap" title="전체메뉴 보기">
 						<i></i>
Add a comment
List