diff --git a/src/main/java/com/dbnt/faisp/config/BaseController.java b/src/main/java/com/dbnt/faisp/config/BaseController.java index be37793f..f9ee2472 100644 --- a/src/main/java/com/dbnt/faisp/config/BaseController.java +++ b/src/main/java/com/dbnt/faisp/config/BaseController.java @@ -149,7 +149,7 @@ public class BaseController { public void setSession(@AuthenticationPrincipal UserInfo loginUser, HttpSession session){ loginUser.setDownOrganCdList(organConfigService.selectDownOrganList(loginUser.getOgCd())); loginUser.setUpOrganCdList(organConfigService.selectUpOrganList(loginUser.getOgCd())); - session.setAttribute("menuList", menuMgtService.selectAccessMenuListWhereUserSeq(loginUser.getUserSeq())); + session.setAttribute("menuList", menuMgtService.selectSortedAccessMenuList(loginUser.getUserSeq())); Map> codeMap = codeMgtService.getCommonCode(); session.setAttribute("commonCode", codeMap); session.setAttribute("userSeq", loginUser.getUserSeq()); diff --git a/src/main/java/com/dbnt/faisp/main/menuMgt/service/MenuMgtService.java b/src/main/java/com/dbnt/faisp/main/menuMgt/service/MenuMgtService.java index 40eda76e..01102fa5 100644 --- a/src/main/java/com/dbnt/faisp/main/menuMgt/service/MenuMgtService.java +++ b/src/main/java/com/dbnt/faisp/main/menuMgt/service/MenuMgtService.java @@ -100,7 +100,11 @@ public class MenuMgtService { return menuList; } - public List selectAccessMenuListWhereUserSeq(Integer userSeq) { + public List selectAccessMenuList(Integer userSeq) { + return menuMgtMapper.selectAccessMenuListWhereUserSeq(userSeq); + } + + public List selectSortedAccessMenuList(Integer userSeq) { List accessMenuList =menuMgtMapper.selectAccessMenuListWhereUserSeq(userSeq); Set cat1Set = new HashSet<>(); Set cat2Set = new HashSet<>(); @@ -114,35 +118,29 @@ public class MenuMgtService { } List firstMenuList = new ArrayList<>(); - Iterator cat1Itr = cat1Set.iterator(); - while(cat1Itr.hasNext()){ - String cat1Cd = cat1Itr.next(); + for (String cat1Cd : cat1Set) { MenuMgt firstMenu = new MenuMgt(); List secondMenuList = new ArrayList<>(); firstMenu.setCat1Cd(cat1Cd); - Iterator cat2Itr = cat2Set.iterator(); - while(cat2Itr.hasNext()){ - String cat2Cd = cat2Itr.next(); - if(cat2Cd.contains(cat1Cd)){ + for (String cat2Cd : cat2Set) { + if (cat2Cd.contains(cat1Cd)) { MenuMgt secondMenu = new MenuMgt(); List thirdMenuList = new ArrayList<>(); secondMenu.setCat1Cd(cat1Cd); secondMenu.setCat2Cd(cat2Cd.replace(cat1Cd, "")); - Iterator cat3Itr = cat3Set.iterator(); - while(cat3Itr.hasNext()){ - String cat3Cd = cat3Itr.next(); - if(cat3Cd.contains(cat2Cd)){ + for (String cat3Cd : cat3Set) { + if (cat3Cd.contains(cat2Cd)) { MenuMgt thirdMenu = new MenuMgt(); thirdMenu.setCat2Cd(secondMenu.getCat2Cd()); thirdMenu.setCat3Cd(cat3Cd.replace(cat2Cd, "")); - for(MenuMgt accessMenu: accessMenuList){ - if(accessMenu.getCat1Cd().equals(cat1Cd) + for (MenuMgt accessMenu : accessMenuList) { + if (accessMenu.getCat1Cd().equals(cat1Cd) && accessMenu.getCat2Cd().equals(secondMenu.getCat2Cd()) - && accessMenu.getCat3Cd().equals(thirdMenu.getCat3Cd())){ + && accessMenu.getCat3Cd().equals(thirdMenu.getCat3Cd())) { String orderStr = accessMenu.getOrderStr(); - firstMenu.setOrderStr(orderStr.substring(0,1)); - secondMenu.setOrderStr(orderStr.substring(1,2)); - thirdMenu.setOrderStr(orderStr.substring(2,3)); + firstMenu.setOrderStr(orderStr.substring(0, 1)); + secondMenu.setOrderStr(orderStr.substring(1, 2)); + thirdMenu.setOrderStr(orderStr.substring(2, 3)); thirdMenu.setMenuUrl(accessMenu.getMenuUrl()); thirdMenu.setMenuKey(accessMenu.getMenuKey()); break; @@ -151,20 +149,20 @@ public class MenuMgtService { thirdMenuList.add(thirdMenu); } } - if(thirdMenuList.size()>0){ + if (thirdMenuList.size() > 0) { thirdMenuList.sort((o1, o2) -> { String orderStr_1 = o1.getOrderStr(); String orderStr_2 = o2.getOrderStr(); return orderStr_1.compareTo(orderStr_2); }); secondMenu.setChildList(thirdMenuList); - }else{ - for(MenuMgt accessMenu: accessMenuList){ - if(accessMenu.getCat1Cd().equals(cat1Cd) - && accessMenu.getCat2Cd().equals(secondMenu.getCat2Cd())){ + } else { + for (MenuMgt accessMenu : accessMenuList) { + if (accessMenu.getCat1Cd().equals(cat1Cd) + && accessMenu.getCat2Cd().equals(secondMenu.getCat2Cd())) { String orderStr = accessMenu.getOrderStr(); - firstMenu.setOrderStr(orderStr.substring(0,1)); - secondMenu.setOrderStr(orderStr.substring(1,2)); + firstMenu.setOrderStr(orderStr.substring(0, 1)); + secondMenu.setOrderStr(orderStr.substring(1, 2)); secondMenu.setMenuUrl(accessMenu.getMenuUrl()); secondMenu.setMenuKey(accessMenu.getMenuKey()); break; diff --git a/src/main/java/com/dbnt/faisp/main/searchEngine/SearchEngineController.java b/src/main/java/com/dbnt/faisp/main/searchEngine/SearchEngineController.java index 7a9520fc..3c67130d 100644 --- a/src/main/java/com/dbnt/faisp/main/searchEngine/SearchEngineController.java +++ b/src/main/java/com/dbnt/faisp/main/searchEngine/SearchEngineController.java @@ -14,6 +14,8 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import org.springframework.web.servlet.ModelAndView; +import java.util.List; + @RestController @RequiredArgsConstructor @@ -26,6 +28,8 @@ public class SearchEngineController { @GetMapping("/searchPage") public ModelAndView searchPage(@AuthenticationPrincipal UserInfo loginUser, SearchParams params) { ModelAndView mav = new ModelAndView("searchEngine/searchPage"); + mav.addObject("accessMenuList", menuMgtService.selectAccessMenuList(loginUser.getUserSeq())); + mav.addObject("downOrganList", loginUser.getDownOrganCdList()); if(Utils.isEmpty(params.getKeyword())){ mav.setViewName("common/keywordRequest"); return mav; @@ -34,9 +38,6 @@ public class SearchEngineController { params.setActiveTab("all"); params.setPageIndex(1); } - if(Utils.isEmpty(params.getWrtUserSeq())){ - params.setWrtUserSeq(loginUser.getUserSeq()); - } int totalCnt = 0; SearchResult result = null; switch (params.getActiveTab()){ diff --git a/src/main/java/com/dbnt/faisp/main/searchEngine/model/SearchBoardView.java b/src/main/java/com/dbnt/faisp/main/searchEngine/model/SearchBoardView.java index faf9199b..03bed753 100644 --- a/src/main/java/com/dbnt/faisp/main/searchEngine/model/SearchBoardView.java +++ b/src/main/java/com/dbnt/faisp/main/searchEngine/model/SearchBoardView.java @@ -38,5 +38,6 @@ public class SearchBoardView { private String wrt_user_nm; @JsonFormat(pattern = "yyyyMMddHHmmss") private LocalDateTime wrt_dt; + private String organ_cd; private String readableuser; } diff --git a/src/main/java/com/dbnt/faisp/main/searchEngine/service/SearchEngineService.java b/src/main/java/com/dbnt/faisp/main/searchEngine/service/SearchEngineService.java index db50e998..a9000155 100644 --- a/src/main/java/com/dbnt/faisp/main/searchEngine/service/SearchEngineService.java +++ b/src/main/java/com/dbnt/faisp/main/searchEngine/service/SearchEngineService.java @@ -119,9 +119,6 @@ public class SearchEngineService { .append(params.getKeyword()) .append("' allword synonym"); if(!params.getForm().equals("search_menu_view.search_menu_view")){ - builder.append(" and wrt_user_seq='") - .append(params.getWrtUserSeq()) - .append("'"); DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyyMMdd"); if(!Utils.isEmpty(params.getStartDate())){ builder.append(" and wrt_dt >= ") @@ -149,7 +146,6 @@ public class SearchEngineService { .encode() .build() .toUri(); - System.out.println("uri: " + uri); ResponseEntity response = requestRestTemplateExchange(uri); JSONObject jsonObj = null; try { @@ -183,7 +179,6 @@ public class SearchEngineService { e.printStackTrace(); } result.setRowList(convertList); - System.out.println("rowSize: "+result.getRowList().size()); return result; } diff --git a/src/main/resources/mybatisMapper/menuMgtMapper.xml b/src/main/resources/mybatisMapper/menuMgtMapper.xml index b5247dab..b830ee32 100644 --- a/src/main/resources/mybatisMapper/menuMgtMapper.xml +++ b/src/main/resources/mybatisMapper/menuMgtMapper.xml @@ -56,7 +56,8 @@ ab.cat2_cd, ab.cat3_cd, ab.order_str, - ab.menu_url + ab.menu_url, + aa.access_auth from access_config aa inner join menu_mgt ab on aa.menu_key = ab.menu_key where aa.user_seq = #{userSeq} diff --git a/src/main/resources/static/css/searchEngine/search.css b/src/main/resources/static/css/searchEngine/search.css index 5adc9659..73d27bda 100644 --- a/src/main/resources/static/css/searchEngine/search.css +++ b/src/main/resources/static/css/searchEngine/search.css @@ -90,12 +90,15 @@ input::-moz-placeholder { color: #aaa; } .menuList ol li{display:inline-block; margin-right:3px; font-size:17px; line-height:30px;} .menuList ol li:before{content:' 〉'; color:#aaa;} .menuList ol li:first-of-type:before{content:'';} +.menuLink > a:before{content:' · '; } +.menuList a{display:inline-block; margin-right:3px; font-size:17px; line-height:30px;} /*메뉴*/ .boardList li{margin-bottom:30px;} -.boardList li dt{margin-bottom:15px;} +.boardList li dt{margin-bottom:5px;} .boardList li dt a{font-size:17px; font-weight:bold; line-height:24px;} -.boardList li dt .titleDate{color:#aaa; margin-left:8px; font-size:12px; line-height:24px; line-height:none;} -.boardList li dd:first-of-type{ margin-bottom:12px; font-size:15px; text-overflow:ellipsis; overflow:hidden; white-space:nowrap; word-wrap:normal; color:#444;} +.boardList li dt .titleDate{color:#aaa; margin-left:8px; font-size:12px; line-height:24px; float:right;} +.boardList li dd:first-of-type{ margin-bottom:12px; font-size:12px; text-overflow:ellipsis; overflow:hidden; white-space:nowrap; word-wrap:normal; color:#444;} +.boardList li dd:nth-of-type(1){color:#999; margin-bottom:5px; font-size:15px; } .boardList li dd:nth-of-type(2){color:#999; margin-bottom:5px; font-size:15px; } .boardList li dd:nth-of-type(2):before{color:#999; content:' ㄴ ';} .boardList li dd:nth-of-type(3) > b{display:inline-block; color:#999; padding-right:24px; margin-bottom:5px; font-size:14px; line-height:26px; cursor:pointer;} diff --git a/src/main/resources/static/js/searchEngine/searchPage.js b/src/main/resources/static/js/searchEngine/searchPage.js index 177dfedb..dc047ab0 100644 --- a/src/main/resources/static/js/searchEngine/searchPage.js +++ b/src/main/resources/static/js/searchEngine/searchPage.js @@ -66,19 +66,31 @@ $(document).on('click', '.searchTabLink', function (){ $("#activeTabInput").val($(this).attr('data-activetab')) searchPageFormSubmit(1); }) - +$(document).on('click', '.menuLink', function (){ + const menuUrlEl = $(this).find(".menuUrl"); + if(menuUrlEl.length !== 0){ + location.href = menuUrlEl.val() + }else{ + alert("메뉴 접근 권한이 없습니다.") + } +}) $(document).on('click', '.boardLink', function (event){ if(!event.target.className.includes('fileLink')){ - let menuUrl = $(this).find(".menuUrl").val() - if(menuUrl === undefined){ - location.href= "/publicBoard/findPage?publicKey="+$(this).find(".refDocKey").val() - }else{ - if(menuUrl.includes("?")){ - menuUrl += "&refDocKey=" + const menuUrlEl = $(this).find(".menuUrl"); + if(menuUrlEl.length !== 0){ + let menuUrl = menuUrlEl.val() + if(menuUrl === undefined){ + location.href = "/publicBoard/findPage?publicKey="+$(this).find(".refDocKey").val() }else{ - menuUrl += "?refDocKey=" + if(menuUrl.includes("?")){ + menuUrl += "&refDocKey=" + }else{ + menuUrl += "?refDocKey=" + } + location.href = menuUrl+$(this).find(".refDocKey").val() } - location.href = menuUrl+$(this).find(".refDocKey").val() + }else{ + alert("메뉴 접근 권한이 없습니다.") } } }) diff --git a/src/main/resources/templates/searchEngine/searchPage.html b/src/main/resources/templates/searchEngine/searchPage.html index 0e9772f5..fc19d81b 100644 --- a/src/main/resources/templates/searchEngine/searchPage.html +++ b/src/main/resources/templates/searchEngine/searchPage.html @@ -100,11 +100,21 @@

메뉴검색

더보기 + @@ -142,12 +152,16 @@