diff --git a/src/main/java/nlib/col/service/CollectionService.java b/src/main/java/nlib/col/service/CollectionService.java index 79c151a6..c4e4364b 100644 --- a/src/main/java/nlib/col/service/CollectionService.java +++ b/src/main/java/nlib/col/service/CollectionService.java @@ -93,5 +93,11 @@ public interface CollectionService { * @return */ public List makeInfoListOfCollectionVO(String masterIds, String mbInfoId, String defaultThumbnailUrl) throws Exception; + + /** + * 자료상세조회 및 원문보기시에 로그 + * @param colVO + */ + public void insertDataInquiryLog(CollectionVO colVO) throws Exception; } diff --git a/src/main/java/nlib/col/service/impl/CollectionDAO.java b/src/main/java/nlib/col/service/impl/CollectionDAO.java index b7d4edcb..a20c306d 100644 --- a/src/main/java/nlib/col/service/impl/CollectionDAO.java +++ b/src/main/java/nlib/col/service/impl/CollectionDAO.java @@ -8,4 +8,5 @@ public interface CollectionDAO { public CollectionVO selectMngOrgInfo(String masterId) throws Exception; + public void insertDataInquiryLog(CollectionVO vo) throws Exception; } \ No newline at end of file diff --git a/src/main/java/nlib/col/service/impl/CollectionServiceImpl.java b/src/main/java/nlib/col/service/impl/CollectionServiceImpl.java index 2a7ba1dc..62c5f628 100644 --- a/src/main/java/nlib/col/service/impl/CollectionServiceImpl.java +++ b/src/main/java/nlib/col/service/impl/CollectionServiceImpl.java @@ -296,5 +296,15 @@ public class CollectionServiceImpl implements CollectionService { return setDetailInfoForList(retList, mbInfoId, defaultThumbnailUrl); } + + /** + * 자료상세조회 및 원문보기시에 로그 + * + * @param colVO + * @return + */ + public void insertDataInquiryLog(CollectionVO colVO) throws Exception { + collectionDAO.insertDataInquiryLog(colVO); + } } diff --git a/src/main/java/nlib/sch/web/NlibSearchController.java b/src/main/java/nlib/sch/web/NlibSearchController.java index 0afe1132..7d5f3428 100644 --- a/src/main/java/nlib/sch/web/NlibSearchController.java +++ b/src/main/java/nlib/sch/web/NlibSearchController.java @@ -17,6 +17,7 @@ import java.util.regex.Pattern; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import javax.servlet.http.HttpSession; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -45,6 +46,7 @@ import nlib.col.service.RisService; import nlib.sch.service.NlibSearchService; import nlib.sch.service.NlibSearchVO; import nlib.sch.util.NlibCmmUtil; +import nlib.user.service.NlibLoginVO; import nlib.util.StringUtil; @Controller @@ -89,6 +91,9 @@ public class NlibSearchController extends NlibCommonController { , @ModelAttribute("searchVO") NlibSearchVO searchVO , HttpServletRequest request , HttpServletResponse res) throws Exception { + //사용자 정보를 가져온다. + NlibLoginVO loginVO = getNlibLoginVO(authentication); + List operList = new ArrayList(); // 페이징 사이즈 코드 목록 조회 (DB방식으로 변경 2021.08.06 KNKIM) List> pageSizeCodes = codeService.listCodes("PAGE_SIZE_OPTION"); @@ -196,12 +201,50 @@ public class NlibSearchController extends NlibCommonController { //자료유형 model.addAttribute("firstClassList", firstClassList); model.addAttribute("secondClassList", secondClassList); + + //로그인 상태인지 확인 + model.addAttribute("loginVO", loginVO); model.addAttribute("pdfUri", NlibProperty.getProperty("pdf.uri")); searchVO.setQuery(searchVO.getQuery().replaceAll("\\\"", """)); return "nlib/collection/searchList"; } + /** + * 자료상세조회 및 원문보기시에 로그 + * @param req + * @param authentication + * @param paramMap + * @param model + * @param searchVO + * @param request + * @param res + */ + @RequestMapping(value = "/search/InsertDataInquiryLog.ajax") + @ResponseBody + public void InsertDataInquiryLog(HttpServletRequest req + , Authentication authentication + , @RequestParam Map paramMap + , ModelMap model + , @ModelAttribute("searchVO") NlibSearchVO searchVO + , HttpServletRequest request + , HttpServletResponse res + ) throws Exception { + HttpSession session = request.getSession(); + + String masterId = request.getParameter("masterId"); + String mbInfoId = getMbInfoId(request); + String councilCd = (String)session.getAttribute("councilCd"); + + CollectionVO colVO = new CollectionVO(); + + colVO.setMasterId(masterId); + colVO.setMbInfoId(StringUtil.getString(mbInfoId,"")); + colVO.setMngOrgCd(councilCd); + + collectionService.insertDataInquiryLog(colVO); + } + /** * 소장자료 상세조회 * @@ -221,6 +264,9 @@ public class NlibSearchController extends NlibCommonController { String masterId = request.getParameter("masterId"); String mbInfoId = getMbInfoId(request); + //사용자 정보를 가져온다. + NlibLoginVO loginVO = getNlibLoginVO(authentication); + CollectionVO vo = new CollectionVO(); vo.setMasterId(masterId); vo.setMbInfoId(mbInfoId); @@ -238,6 +284,7 @@ public class NlibSearchController extends NlibCommonController { } model.addAttribute("result", vo); model.addAttribute("searchVO", searchVO); + model.addAttribute("loginVO", loginVO); model.addAttribute("pdfUri", NlibProperty.getProperty("pdf.uri")); return "nlib/collection/searchItemDetail"; } diff --git a/src/main/resources/egovframework/mapper/nlib/col/CollectionDAO_SQL.xml b/src/main/resources/egovframework/mapper/nlib/col/CollectionDAO_SQL.xml index 416f95eb..310ece74 100644 --- a/src/main/resources/egovframework/mapper/nlib/col/CollectionDAO_SQL.xml +++ b/src/main/resources/egovframework/mapper/nlib/col/CollectionDAO_SQL.xml @@ -12,4 +12,17 @@ WHERE A.MASTER_ID = #{masterId} + + INSERT INTO MB_VIEW_LOG( + MNG_ORG_CD + , MASTER_ID + , MB_INFO_ID + , REG_DD + ) VALUES ( + #{mngOrgCd} + , #{masterId} + , #{mbInfoId} + , SYSDATE() + ) + \ No newline at end of file diff --git a/src/main/webapp/WEB-INF/jsp/nlib/cmm/home.jsp b/src/main/webapp/WEB-INF/jsp/nlib/cmm/home.jsp index 14f90ded..0178672a 100644 --- a/src/main/webapp/WEB-INF/jsp/nlib/cmm/home.jsp +++ b/src/main/webapp/WEB-INF/jsp/nlib/cmm/home.jsp @@ -247,7 +247,7 @@ function fn_listPops(typeDivCd) {
  • 생산년도-${itemOnline.creatYyyy }
  • diff --git a/src/main/webapp/WEB-INF/jsp/nlib/collection/listInterests.jsp b/src/main/webapp/WEB-INF/jsp/nlib/collection/listInterests.jsp index 0a40e125..9deb6c80 100644 --- a/src/main/webapp/WEB-INF/jsp/nlib/collection/listInterests.jsp +++ b/src/main/webapp/WEB-INF/jsp/nlib/collection/listInterests.jsp @@ -224,7 +224,7 @@ } if(!fn_isEmpty(obj.interfaceId) && !fn_isEmpty(obj.openDivCd) && obj.openDivCd != '3' && obj.digitalReadYn == 'Y') { - t_btn+= ""; + t_btn+= ""; } t_btn+= ""; diff --git a/src/main/webapp/WEB-INF/jsp/nlib/collection/searchItemDetail.jsp b/src/main/webapp/WEB-INF/jsp/nlib/collection/searchItemDetail.jsp index e1f6998e..6185c75c 100644 --- a/src/main/webapp/WEB-INF/jsp/nlib/collection/searchItemDetail.jsp +++ b/src/main/webapp/WEB-INF/jsp/nlib/collection/searchItemDetail.jsp @@ -46,6 +46,17 @@