diff --git a/src/main/java/com/dbnt/faisp/config/FileController.java b/src/main/java/com/dbnt/faisp/config/FileController.java index 59b7105a..1405e54c 100644 --- a/src/main/java/com/dbnt/faisp/config/FileController.java +++ b/src/main/java/com/dbnt/faisp/config/FileController.java @@ -1,25 +1,43 @@ package com.dbnt.faisp.config; +import com.dbnt.faisp.main.authMgt.service.AuthMgtService; +import com.dbnt.faisp.main.counterIntelligence.model.CounterIntelligenceActivity; +import com.dbnt.faisp.main.counterIntelligence.model.CounterIntelligenceWork; import com.dbnt.faisp.main.counterIntelligence.service.CounterIntelligenceService; +import com.dbnt.faisp.main.faRpt.model.FaRptBoard; +import com.dbnt.faisp.main.faRpt.model.Sri; import com.dbnt.faisp.main.faRpt.service.FaRptService; +import com.dbnt.faisp.main.faStatistics.unlawfulFishing.model.sailor.Sailor; import com.dbnt.faisp.main.faStatistics.unlawfulFishing.service.FishingBoatService; import com.dbnt.faisp.main.faStatistics.unlawfulFishing.service.SailorService; +import com.dbnt.faisp.main.fpiMgt.affair.model.AffairBoard; import com.dbnt.faisp.main.fpiMgt.affair.service.AffairService; +import com.dbnt.faisp.main.fpiMgt.affairPlan.model.PlanBoard; import com.dbnt.faisp.main.fpiMgt.affairPlan.service.PlanService; +import com.dbnt.faisp.main.fpiMgt.affairResult.model.ResultBoard; import com.dbnt.faisp.main.fpiMgt.affairResult.service.ResultService; +import com.dbnt.faisp.main.fpiMgt.intelligenceNetwork.model.OperationPlan; import com.dbnt.faisp.main.fpiMgt.intelligenceNetwork.service.IntelligenceNetworkService; +import com.dbnt.faisp.main.fpiMgt.monitoring.model.MonitoringDesignation; +import com.dbnt.faisp.main.fpiMgt.monitoring.model.MonitoringResult; import com.dbnt.faisp.main.fpiMgt.monitoring.service.MonitoringService; import com.dbnt.faisp.main.faRpt.service.SriService; +import com.dbnt.faisp.main.ivsgtMgt.boardInvestigation.model.InvestigationBoard; import com.dbnt.faisp.main.ivsgtMgt.boardInvestigation.service.IvsgtService; +import com.dbnt.faisp.main.ivsgtMgt.majorStatus.model.MajorStatus; import com.dbnt.faisp.main.ivsgtMgt.majorStatus.service.MajorStatusService; +import com.dbnt.faisp.main.publicBoard.model.PublicBoard; import com.dbnt.faisp.main.publicBoard.service.PublicBoardService; +import com.dbnt.faisp.main.userInfo.model.UserInfo; import com.dbnt.faisp.util.Utils; import lombok.RequiredArgsConstructor; +import ognl.Ognl; import org.springframework.core.io.FileSystemResource; import org.springframework.core.io.Resource; import org.springframework.http.HttpHeaders; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; +import org.springframework.security.core.annotation.AuthenticationPrincipal; import org.springframework.util.FileCopyUtils; import org.springframework.web.bind.annotation.*; @@ -56,6 +74,7 @@ public class FileController extends BaseService{ private final MajorStatusService majorStatusService; private final IntelligenceNetworkService inrelligenceNetworkService; private final MonitoringService monitoringService; + private final AuthMgtService authMgtService; @GetMapping("/editorFileDisplay") public ResponseEntity editorFileDisplay(HttpServletRequest request, @@ -105,10 +124,30 @@ public class FileController extends BaseService{ public void fileDownload(HttpServletRequest request, HttpServletResponse response, String board, + Integer menuKey, Integer parentKey, - Integer fileSeq) { - - FileInfo fileInfo = getFileInfo(board, parentKey, fileSeq); + Integer fileSeq, + @AuthenticationPrincipal UserInfo loginUser) throws Exception { + FileInfo fileInfo = null; + if(Utils.isEmpty(menuKey)){ + fileInfo = getFileInfo(board, parentKey, fileSeq); + }else{ + if(menuKey!=0){ + String accessAuth = authMgtService.selectAccessAuth(menuKey, loginUser.getUserSeq()); + Map wrtInfo = getWrtInfo(menuKey, parentKey); + if(!Utils.isEmpty(accessAuth)){ + if(wrtOrganCheck(loginUser.getUserSeq(), accessAuth, wrtInfo, loginUser.getDownOrganCdList())){ + fileInfo = getFileInfoToMenuKey(menuKey, parentKey, fileSeq); + }else{ + throw new Exception(); + } + }else{ + throw new Exception(); + } + }else{ + fileInfo = getFileInfoToMenuKey(menuKey, parentKey, fileSeq); + } + } BufferedInputStream in; BufferedOutputStream out; try { @@ -126,6 +165,15 @@ public class FileController extends BaseService{ } } + private boolean wrtOrganCheck(Integer userSeq, String accessAuth, Map wrtInfo, List mgtOrganList) { + if (accessAuth.equals("ACC003")){ + return mgtOrganList.contains(wrtInfo.get("wrtOrgan").toString()); + }else if(accessAuth.equals("ACC002")||accessAuth.equals("ACC001")){ + return userSeq.equals(wrtInfo.get("wrtUserSeq")); + } + return false; + } + @GetMapping("/downloadAffairFiles") public void downloadAffairFiles(HttpServletRequest request, HttpServletResponse response, @@ -214,52 +262,121 @@ public class FileController extends BaseService{ private FileInfo getFileInfo(String board, Integer parentKey, Integer fileSeq){ FileInfo downloadFile = null; switch (board){ - case "faRpt": - downloadFile = faRptService.selectFaRptFile(parentKey, fileSeq); - break; - case "affairPlan": - downloadFile = planService.selectPlanFile(parentKey, fileSeq); - break; - case "publicFile": - downloadFile = publicBoardService.selectPublicFile(parentKey, fileSeq); - break; - case "affair": - downloadFile = affairService.selectAffairFile(parentKey, fileSeq); - break; - case "affairResult": - downloadFile = resultService.selectResultFile(parentKey, fileSeq); - break; - case "ivsgt": - downloadFile = ivsgtService.selectIvsgtFile(parentKey, fileSeq); - break; - case "sailor": - downloadFile = sailorService.selectSailorFile(parentKey, fileSeq); - break; - case "sri": - downloadFile = sriService.selectFaSriFile(parentKey, fileSeq); - break; - case "ciWork": - downloadFile = ciService.selectCiWorkFile(parentKey, fileSeq); - break; - case "MajorFile" : - downloadFile = majorStatusService.selectMajorFile(parentKey, fileSeq); - break; - case "ciActivity": - downloadFile = ciService.selectCiaForeignerFile(parentKey, fileSeq); - break; - case "operationPlan": - downloadFile = inrelligenceNetworkService.selectOperationPlanFile(parentKey, fileSeq); - break; - case "designation": - downloadFile = monitoringService.selectDesignationFile(parentKey, fileSeq); - break; - case "monitoringResult": - downloadFile = monitoringService.selectMonitoringResultFile(parentKey, fileSeq); - break; - case "monitoringReport": - downloadFile = monitoringService.selectMonitoringReportFile(parentKey, fileSeq); - break; + case "faRpt": downloadFile = faRptService.selectFaRptFile(parentKey, fileSeq); break; + case "affairPlan": downloadFile = planService.selectPlanFile(parentKey, fileSeq); break; + case "publicFile": downloadFile = publicBoardService.selectPublicFile(parentKey, fileSeq); break; + case "affair": downloadFile = affairService.selectAffairFile(parentKey, fileSeq); break; + case "affairResult": downloadFile = resultService.selectResultFile(parentKey, fileSeq); break; + case "ivsgt": downloadFile = ivsgtService.selectIvsgtFile(parentKey, fileSeq); break; + case "sailor": downloadFile = sailorService.selectSailorFile(parentKey, fileSeq); break; + case "sri": downloadFile = sriService.selectFaSriFile(parentKey, fileSeq); break; + case "ciWork": downloadFile = ciService.selectCiWorkFile(parentKey, fileSeq); break; + case "MajorFile" : downloadFile = majorStatusService.selectMajorFile(parentKey, fileSeq); break; + case "ciActivity": downloadFile = ciService.selectCiaForeignerFile(parentKey, fileSeq); break; + case "operationPlan": downloadFile = inrelligenceNetworkService.selectOperationPlanFile(parentKey, fileSeq); break; + case "designation": downloadFile = monitoringService.selectDesignationFile(parentKey, fileSeq); break; + case "monitoringResult": downloadFile = monitoringService.selectMonitoringResultFile(parentKey, fileSeq); break; + case "monitoringReport": downloadFile = monitoringService.selectMonitoringReportFile(parentKey, fileSeq); break; } return downloadFile; } + + private FileInfo getFileInfoToMenuKey(Integer menuKey, Integer parentKey, Integer fileSeq){ + FileInfo downloadFile = null; + switch (menuKey){ + case 0: downloadFile = publicBoardService.selectPublicFile(parentKey, fileSeq); break; + case 1: downloadFile = faRptService.selectFaRptFile(parentKey, fileSeq); break; + case 29: downloadFile = planService.selectPlanFile(parentKey, fileSeq); break; + case 30:case 33: downloadFile = affairService.selectAffairFile(parentKey, fileSeq); break; + case 31: downloadFile = resultService.selectResultFile(parentKey, fileSeq); break; + case 2: downloadFile = ivsgtService.selectIvsgtFile(parentKey, fileSeq); break; + case 44: downloadFile = sailorService.selectSailorFile(parentKey, fileSeq); break; + case 40: downloadFile = sriService.selectFaSriFile(parentKey, fileSeq); break; + case 5: downloadFile = majorStatusService.selectMajorFile(parentKey, fileSeq); break; + case 6: downloadFile = ciService.selectCiWorkFile(parentKey, fileSeq); break; + case 7: case 8: case 9: case 10:downloadFile = ciService.selectCiaForeignerFile(parentKey, fileSeq); break; + case 32: downloadFile = inrelligenceNetworkService.selectOperationPlanFile(parentKey, fileSeq); break; + case 36: downloadFile = monitoringService.selectDesignationFile(parentKey, fileSeq); break; + case 37: downloadFile = monitoringService.selectMonitoringResultFile(parentKey, fileSeq); break; + case 370: downloadFile = monitoringService.selectMonitoringReportFile(parentKey, fileSeq); break; + } + return downloadFile; + } + + private Map getWrtInfo(Integer menuKey, Integer parentKey){ + Map wrtInfo = new HashMap<>(); + switch (menuKey){ + case 0: + PublicBoard board = publicBoardService.selectPublicBoard(parentKey); + wrtInfo.put("wrtOrgan", board.getWrtOrgan()); + wrtInfo.put("wrtUserSeq", board.getWrtUserSeq()); + break; + case 1: + FaRptBoard faRpt = faRptService.selectFaRptBoard(parentKey, null); + wrtInfo.put("wrtOrgan", faRpt.getWrtOrgan()); + wrtInfo.put("wrtUserSeq", faRpt.getWrtUserSeq()); + break; + case 2: + InvestigationBoard invest = ivsgtService.selectBoardInvestigation(parentKey); + wrtInfo.put("wrtOrgan", invest.getWrtOrgan()); + wrtInfo.put("wrtUserSeq", invest.getWrtUserSeq()); + break; + case 5: + MajorStatus major = majorStatusService.selectMajor(parentKey); + wrtInfo.put("wrtOrgan", major.getWrtOrgan()); + wrtInfo.put("wrtUserSeq", major.getWrtUserSeq()); + break; + case 6: + CounterIntelligenceWork ciw = ciService.selectCounterIntelligenceWork(parentKey); + wrtInfo.put("wrtOrgan", ciw.getWrtOrgan()); + wrtInfo.put("wrtUserSeq", ciw.getWrtUserSeq()); + break; + case 7: case 8: case 9: case 10: + CounterIntelligenceActivity cia = ciService.selectCia(parentKey); + wrtInfo.put("wrtOrgan", cia.getWrtOrgan()); + wrtInfo.put("wrtUserSeq", cia.getWrtUserSeq()); + break; + case 29: + PlanBoard plan = planService.selectPlanBoard(parentKey); + wrtInfo.put("wrtOrgan", plan.getWrtOrgan()); + wrtInfo.put("wrtUserSeq", plan.getWrtUserSeq()); + break; + case 30:case 33: + AffairBoard affair = affairService.selectAffairBoard(parentKey); + wrtInfo.put("wrtOrgan", affair.getWrtOrgan()); + wrtInfo.put("wrtUserSeq", affair.getWrtUserSeq()); + break; + case 31: + ResultBoard affairResult = resultService.selectResultBoard(parentKey); + wrtInfo.put("wrtOrgan", affairResult.getWrtOrgan()); + wrtInfo.put("wrtUserSeq", affairResult.getWrtUserSeq()); + break; + case 32: + OperationPlan operationPlan = inrelligenceNetworkService.selectOperationPlan(parentKey); + wrtInfo.put("wrtOrgan", operationPlan.getWrtOrgan()); + wrtInfo.put("wrtUserSeq", operationPlan.getWrtUserSeq()); + break; + case 36: + MonitoringDesignation designation = monitoringService.selectDesignation(parentKey); + wrtInfo.put("wrtOrgan", designation.getWrtOrgan()); + wrtInfo.put("wrtUserSeq", designation.getWrtUserSeq()); + break; + case 37:case 370: + MonitoringResult monitoringResult = monitoringService.selectResult(parentKey); + wrtInfo.put("wrtOrgan", monitoringResult.getWrtOrgan()); + wrtInfo.put("wrtUserSeq", monitoringResult.getWrtUserSeq()); + break; + case 40: + Sri sri = sriService.selectFaSriBoard(parentKey, null); + wrtInfo.put("wrtOrgan", sri.getWrtOrgan()); + wrtInfo.put("wrtUserSeq", sri.getWrtUserSeq()); + break; + case 44: + Sailor sailor = sailorService.selectSailor(parentKey); + wrtInfo.put("wrtOrgan", sailor.getWrtOrgan()); + wrtInfo.put("wrtUserSeq", sailor.getWrtUserSeq()); + break; + } + return wrtInfo; + } } diff --git a/src/main/java/com/dbnt/faisp/main/authMgt/service/AuthMgtService.java b/src/main/java/com/dbnt/faisp/main/authMgt/service/AuthMgtService.java index 657ac6a7..a92d6110 100644 --- a/src/main/java/com/dbnt/faisp/main/authMgt/service/AuthMgtService.java +++ b/src/main/java/com/dbnt/faisp/main/authMgt/service/AuthMgtService.java @@ -29,6 +29,10 @@ public class AuthMgtService { return authMgtMapper.selectAccessConfigList(params); } + public String selectAccessAuth(Integer menuKey, Integer userSeq){ + return accessConfigRepository.findById(new AccessConfig.AccessConfigId(menuKey, userSeq)).orElse(new AccessConfig()).getAccessAuth(); + } + public List selectApprovalConfigList(Integer userSeq, String url) { Map params = new HashMap<>(); params.put("userSeq", userSeq); diff --git a/src/main/java/com/dbnt/faisp/main/counterIntelligence/service/CounterIntelligenceService.java b/src/main/java/com/dbnt/faisp/main/counterIntelligence/service/CounterIntelligenceService.java index 4a8b5cc9..e32e9a5d 100644 --- a/src/main/java/com/dbnt/faisp/main/counterIntelligence/service/CounterIntelligenceService.java +++ b/src/main/java/com/dbnt/faisp/main/counterIntelligence/service/CounterIntelligenceService.java @@ -353,4 +353,8 @@ public class CounterIntelligenceService extends BaseService { } return cia; } + + public CounterIntelligenceActivity selectCia(Integer ciaKey) { + return counterIntelligenceActivityRepository.findById(ciaKey).orElse(new CounterIntelligenceActivity()); + } } diff --git a/src/main/java/com/dbnt/faisp/main/faRpt/service/FaRptService.java b/src/main/java/com/dbnt/faisp/main/faRpt/service/FaRptService.java index ea1ccc92..100ed8e7 100644 --- a/src/main/java/com/dbnt/faisp/main/faRpt/service/FaRptService.java +++ b/src/main/java/com/dbnt/faisp/main/faRpt/service/FaRptService.java @@ -72,7 +72,7 @@ public class FaRptService extends BaseService { faRptBoard.setFileList(faRptFileRepository.findByFaRptKey(faRptKey)); faRptBoard.setHashTags(faRptMapper.selectHashTags(faRptKey)); faRptBoard.setReadUserList(faRptReadUserRepository.findByFaRptKey(faRptKey)); - if(faRptBoard.getStatus().equals("DST007")){ + if(faRptBoard.getStatus().equals("DST007") && userSeq != null){ for(FaRptReadUser readUser: faRptBoard.getReadUserList()){ if(readUser.getUserSeq().equals(userSeq) && !readUser.getReadYn().equals("T")){ readUser.setReadYn("T"); diff --git a/src/main/java/com/dbnt/faisp/main/faRpt/service/SriService.java b/src/main/java/com/dbnt/faisp/main/faRpt/service/SriService.java index 675ca66c..b27631ca 100644 --- a/src/main/java/com/dbnt/faisp/main/faRpt/service/SriService.java +++ b/src/main/java/com/dbnt/faisp/main/faRpt/service/SriService.java @@ -68,7 +68,7 @@ public class SriService extends BaseService { if(sri.getRefKey()!=null){ sri.setRefSri(sriRepository.findById(sri.getRefKey()).orElse(null)); } - if(sri.getStatus().equals("DST007")){ + if(sri.getStatus().equals("DST007") && userSeq != null){ for(SriReadUser readUser: sri.getReadUserList()){ if(readUser.getUserSeq().equals(userSeq)){ readUser.setReadYn("T"); diff --git a/src/main/java/com/dbnt/faisp/main/publicBoard/PublicBoardController.java b/src/main/java/com/dbnt/faisp/main/publicBoard/PublicBoardController.java index 06260958..35bf12c7 100644 --- a/src/main/java/com/dbnt/faisp/main/publicBoard/PublicBoardController.java +++ b/src/main/java/com/dbnt/faisp/main/publicBoard/PublicBoardController.java @@ -23,15 +23,30 @@ public class PublicBoardController { private final PublicBoardService publicBoardService; private final CodeMgtService codeMgtService; - @GetMapping("/noticePage") - public ModelAndView organMgtPage(@AuthenticationPrincipal UserInfo loginUser, PublicBoard publicBoard) { - ModelAndView mav; - if(publicBoard.getDashboardFlag()){ - mav = new ModelAndView("publicBoard/notice/noticePageDashBoard"); - publicBoard.setRowCnt(5); - }else{ - mav = new ModelAndView("publicBoard/notice/noticePage"); + @GetMapping("/findPage") + public ModelAndView findPublicBoardPage(@AuthenticationPrincipal UserInfo loginUser, PublicBoard publicBoard){ + publicBoard = publicBoardService.selectPublicBoard(publicBoard.getPublicKey()); + ModelAndView mav = new ModelAndView(); + switch (publicBoard.getPublicType()){ + case "PLB001": + mav.setViewName("redirect:/publicBoard/noticePage?refDocKey="+publicBoard.getPublicKey()); + break; + case "PLB002": + mav.setViewName("redirect:/publicBoard/boardPage?refDocKey="+publicBoard.getPublicKey()); + break; + case "PLB003": + mav.setViewName("redirect:/publicBoard/referencePage?refDocKey="+publicBoard.getPublicKey()); + break; + case "PLB004": + mav.setViewName("redirect:/publicBoard/qnaPage?refDocKey="+publicBoard.getPublicKey()); + break; } + return mav; + } + + @GetMapping("/noticePage") + public ModelAndView noticePage(@AuthenticationPrincipal UserInfo loginUser, PublicBoard publicBoard) { + ModelAndView mav = new ModelAndView("publicBoard/notice/noticePage"); publicBoard.setQueryInfo(); publicBoard.setPublicType("PLB001"); publicBoard.setDownOrganCdList(loginUser.getDownOrganCdList()); @@ -125,6 +140,7 @@ public class PublicBoardController { @GetMapping("/viewModal") public ModelAndView viewModal (@AuthenticationPrincipal UserInfo loginUser, PublicBoard publicBoard){ ModelAndView mav = null; + publicBoard = publicBoardService.selectPublicBoard(publicBoard.getPublicKey()); switch (publicBoard.getPublicType()) { case "PLB001": // 공지사항 mav = new ModelAndView("publicBoard/notice/noticeViewModal"); @@ -140,7 +156,6 @@ public class PublicBoardController { break; } mav.addObject("modalType", publicBoard.getModalType()); - publicBoard = publicBoardService.selectPublicBoard(publicBoard.getPublicKey()); mav.addObject("userSeq", loginUser.getUserSeq()); mav.addObject("userRole", loginUser.getUserRole()); mav.addObject("info", publicBoard); 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 d4d352ae..72b116ae 100644 --- a/src/main/java/com/dbnt/faisp/main/searchEngine/SearchEngineController.java +++ b/src/main/java/com/dbnt/faisp/main/searchEngine/SearchEngineController.java @@ -1,24 +1,18 @@ package com.dbnt.faisp.main.searchEngine; -import com.dbnt.faisp.main.codeMgt.service.CodeMgtService; import com.dbnt.faisp.main.menuMgt.model.MenuMgt; import com.dbnt.faisp.main.menuMgt.service.MenuMgtService; -import com.dbnt.faisp.main.publicBoard.model.PublicBoard; -import com.dbnt.faisp.main.publicBoard.model.PublicComment; -import com.dbnt.faisp.main.publicBoard.service.PublicBoardService; import com.dbnt.faisp.main.searchEngine.model.*; import com.dbnt.faisp.main.searchEngine.service.SearchEngineService; import com.dbnt.faisp.main.userInfo.model.UserInfo; import com.dbnt.faisp.util.Utils; import lombok.RequiredArgsConstructor; import org.springframework.security.core.annotation.AuthenticationPrincipal; -import org.springframework.web.bind.annotation.*; -import org.springframework.web.multipart.MultipartHttpServletRequest; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; import org.springframework.web.servlet.ModelAndView; -import java.time.LocalDateTime; -import java.util.List; - @RestController @RequiredArgsConstructor @@ -37,7 +31,6 @@ public class SearchEngineController { } int totalCnt = 0; SearchResult result = null; - MenuMgt menuParam = new MenuMgt(); switch (params.getActiveTab()){ case "all": params.setQueryInfo(); @@ -53,11 +46,6 @@ public class SearchEngineController { result = searchEngineService.getData(params, SearchFileView.class); totalCnt += result.getTotalCount(); mav.addObject("fileResult", result); - - menuParam.setUserSeq(loginUser.getUserSeq()); - menuParam.setFirstIndex(0); - menuParam.setRowCnt(Integer.MAX_VALUE); - mav.addObject("menuList", menuMgtService.selectMenuMgtList(null)); break; case "menu": params.setQueryInfo(); @@ -76,11 +64,6 @@ public class SearchEngineController { params.setContentCnt(totalCnt); mav.addObject("boardResult", result); params.setPaginationInfo(); - - menuParam.setUserSeq(loginUser.getUserSeq()); - menuParam.setFirstIndex(0); - menuParam.setRowCnt(Integer.MAX_VALUE); - mav.addObject("menuList", menuMgtService.selectMenuMgtList(null)); break; case "file": params.setQueryInfo(); @@ -92,6 +75,11 @@ public class SearchEngineController { params.setPaginationInfo(); break; } + MenuMgt menuParam = new MenuMgt(); + menuParam.setUserSeq(loginUser.getUserSeq()); + menuParam.setFirstIndex(0); + menuParam.setRowCnt(Integer.MAX_VALUE); + mav.addObject("menuList", menuMgtService.selectMenuMgtList(menuParam)); mav.addObject("searchParams", params); mav.addObject("totalCnt", totalCnt); return mav; diff --git a/src/main/java/com/dbnt/faisp/main/searchEngine/model/SearchFileView.java b/src/main/java/com/dbnt/faisp/main/searchEngine/model/SearchFileView.java index b2e29908..caceb878 100644 --- a/src/main/java/com/dbnt/faisp/main/searchEngine/model/SearchFileView.java +++ b/src/main/java/com/dbnt/faisp/main/searchEngine/model/SearchFileView.java @@ -6,7 +6,7 @@ import lombok.NoArgsConstructor; @Data @NoArgsConstructor public class SearchFileView { - private Integer menu_key; + private Integer menu_key=0; private Integer main_key; private Integer file_seq; private String orig_nm; diff --git a/src/main/resources/static/js/publicBoard/publicBoard.js b/src/main/resources/static/js/publicBoard/publicBoard.js index d6addc90..06187732 100644 --- a/src/main/resources/static/js/publicBoard/publicBoard.js +++ b/src/main/resources/static/js/publicBoard/publicBoard.js @@ -1,5 +1,14 @@ $(function(){ + if(location.search.includes("refDocKey")){ + const params = location.search.split('&'); + $.each(params, function (idx, param){ + if(param.includes("refDocKey")){ + const key = param.slice(param.indexOf("=")+1, param.length); + getViewModal(key); + } + }) + } $("#dateSelectorDiv").datepicker({ format: "yyyy-mm-dd", language: "ko", diff --git a/src/main/resources/static/js/searchEngine/searchPage.js b/src/main/resources/static/js/searchEngine/searchPage.js index e5b85b94..a4affb0a 100644 --- a/src/main/resources/static/js/searchEngine/searchPage.js +++ b/src/main/resources/static/js/searchEngine/searchPage.js @@ -26,4 +26,27 @@ $(document).on('click', '#searchBtn', function (){ $(document).on('click', '.searchTabLink', function (){ $("#activeTabInput").val($(this).attr('data-activetab')) searchPageFormSubmit(1); +}) + +$(document).on('click', '.boardLink', function (){ + let menuUrl = $(this).find(".menuUrl").val() + if(menuUrl === undefined){ + location.href= "/publicBoard/findPage?publicKey="+$(this).find(".refDocKey").val() + }else{ + if(menuUrl.includes("?")){ + menuUrl += "&refDocKey=" + }else{ + menuUrl += "?refDocKey=" + } + location.href = menuUrl+$(this).find(".refDocKey").val() + } +}) + +$(document).on('click', '.fileLink', function (){ + const target = $(this) + let url = "/file/fileDownload?" + url += "menuKey="+target.attr("data-menukey"); + url += "&parentKey="+target.attr("data-mainkey"); + url += "&fileSeq="+target.attr("data-fileseq"); + window.open(encodeURI(url)); }) \ No newline at end of file diff --git a/src/main/resources/templates/searchEngine/search.html b/src/main/resources/templates/searchEngine/search.html index dd2d697f..278d4397 100644 --- a/src/main/resources/templates/searchEngine/search.html +++ b/src/main/resources/templates/searchEngine/search.html @@ -149,11 +149,13 @@

게시판

  • -
    +
@@ -219,7 +221,28 @@

첨부파일

  • -
    +