상세조회 및 원문보기시 로그 insert
This commit is contained in:
parent
1a9197de86
commit
980d0d5865
@ -94,4 +94,10 @@ public interface CollectionService {
|
|||||||
*/
|
*/
|
||||||
public List<CollectionVO> makeInfoListOfCollectionVO(String masterIds, String mbInfoId, String defaultThumbnailUrl) throws Exception;
|
public List<CollectionVO> makeInfoListOfCollectionVO(String masterIds, String mbInfoId, String defaultThumbnailUrl) throws Exception;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 자료상세조회 및 원문보기시에 로그
|
||||||
|
* @param colVO
|
||||||
|
*/
|
||||||
|
public void insertDataInquiryLog(CollectionVO colVO) throws Exception;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -8,4 +8,5 @@ public interface CollectionDAO {
|
|||||||
|
|
||||||
public CollectionVO selectMngOrgInfo(String masterId) throws Exception;
|
public CollectionVO selectMngOrgInfo(String masterId) throws Exception;
|
||||||
|
|
||||||
|
public void insertDataInquiryLog(CollectionVO vo) throws Exception;
|
||||||
}
|
}
|
||||||
@ -297,4 +297,14 @@ public class CollectionServiceImpl implements CollectionService {
|
|||||||
return setDetailInfoForList(retList, mbInfoId, defaultThumbnailUrl);
|
return setDetailInfoForList(retList, mbInfoId, defaultThumbnailUrl);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 자료상세조회 및 원문보기시에 로그
|
||||||
|
*
|
||||||
|
* @param colVO
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public void insertDataInquiryLog(CollectionVO colVO) throws Exception {
|
||||||
|
collectionDAO.insertDataInquiryLog(colVO);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -17,6 +17,7 @@ import java.util.regex.Pattern;
|
|||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletRequest;
|
||||||
import javax.servlet.http.HttpServletResponse;
|
import javax.servlet.http.HttpServletResponse;
|
||||||
|
import javax.servlet.http.HttpSession;
|
||||||
|
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
@ -45,6 +46,7 @@ import nlib.col.service.RisService;
|
|||||||
import nlib.sch.service.NlibSearchService;
|
import nlib.sch.service.NlibSearchService;
|
||||||
import nlib.sch.service.NlibSearchVO;
|
import nlib.sch.service.NlibSearchVO;
|
||||||
import nlib.sch.util.NlibCmmUtil;
|
import nlib.sch.util.NlibCmmUtil;
|
||||||
|
import nlib.user.service.NlibLoginVO;
|
||||||
import nlib.util.StringUtil;
|
import nlib.util.StringUtil;
|
||||||
|
|
||||||
@Controller
|
@Controller
|
||||||
@ -89,6 +91,9 @@ public class NlibSearchController extends NlibCommonController {
|
|||||||
, @ModelAttribute("searchVO") NlibSearchVO searchVO
|
, @ModelAttribute("searchVO") NlibSearchVO searchVO
|
||||||
, HttpServletRequest request
|
, HttpServletRequest request
|
||||||
, HttpServletResponse res) throws Exception {
|
, HttpServletResponse res) throws Exception {
|
||||||
|
//사용자 정보를 가져온다.
|
||||||
|
NlibLoginVO loginVO = getNlibLoginVO(authentication);
|
||||||
|
|
||||||
List<CollectionVO> operList = new ArrayList();
|
List<CollectionVO> operList = new ArrayList();
|
||||||
// 페이징 사이즈 코드 목록 조회 (DB방식으로 변경 2021.08.06 KNKIM)
|
// 페이징 사이즈 코드 목록 조회 (DB방식으로 변경 2021.08.06 KNKIM)
|
||||||
List<Map<String,String>> pageSizeCodes = codeService.listCodes("PAGE_SIZE_OPTION");
|
List<Map<String,String>> pageSizeCodes = codeService.listCodes("PAGE_SIZE_OPTION");
|
||||||
@ -197,11 +202,49 @@ public class NlibSearchController extends NlibCommonController {
|
|||||||
model.addAttribute("firstClassList", firstClassList);
|
model.addAttribute("firstClassList", firstClassList);
|
||||||
model.addAttribute("secondClassList", secondClassList);
|
model.addAttribute("secondClassList", secondClassList);
|
||||||
|
|
||||||
|
//로그인 상태인지 확인
|
||||||
|
model.addAttribute("loginVO", loginVO);
|
||||||
|
|
||||||
model.addAttribute("pdfUri", NlibProperty.getProperty("pdf.uri"));
|
model.addAttribute("pdfUri", NlibProperty.getProperty("pdf.uri"));
|
||||||
searchVO.setQuery(searchVO.getQuery().replaceAll("\\\"", """));
|
searchVO.setQuery(searchVO.getQuery().replaceAll("\\\"", """));
|
||||||
return "nlib/collection/searchList";
|
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<String, String> 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 masterId = request.getParameter("masterId");
|
||||||
String mbInfoId = getMbInfoId(request);
|
String mbInfoId = getMbInfoId(request);
|
||||||
|
|
||||||
|
//사용자 정보를 가져온다.
|
||||||
|
NlibLoginVO loginVO = getNlibLoginVO(authentication);
|
||||||
|
|
||||||
CollectionVO vo = new CollectionVO();
|
CollectionVO vo = new CollectionVO();
|
||||||
vo.setMasterId(masterId);
|
vo.setMasterId(masterId);
|
||||||
vo.setMbInfoId(mbInfoId);
|
vo.setMbInfoId(mbInfoId);
|
||||||
@ -238,6 +284,7 @@ public class NlibSearchController extends NlibCommonController {
|
|||||||
}
|
}
|
||||||
model.addAttribute("result", vo);
|
model.addAttribute("result", vo);
|
||||||
model.addAttribute("searchVO", searchVO);
|
model.addAttribute("searchVO", searchVO);
|
||||||
|
model.addAttribute("loginVO", loginVO);
|
||||||
model.addAttribute("pdfUri", NlibProperty.getProperty("pdf.uri"));
|
model.addAttribute("pdfUri", NlibProperty.getProperty("pdf.uri"));
|
||||||
return "nlib/collection/searchItemDetail";
|
return "nlib/collection/searchItemDetail";
|
||||||
}
|
}
|
||||||
|
|||||||
@ -12,4 +12,17 @@
|
|||||||
WHERE A.MASTER_ID = #{masterId}
|
WHERE A.MASTER_ID = #{masterId}
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
<insert id="insertDataInquiryLog" parameterType="CollectionVO">
|
||||||
|
INSERT INTO MB_VIEW_LOG(
|
||||||
|
MNG_ORG_CD
|
||||||
|
, MASTER_ID
|
||||||
|
, MB_INFO_ID
|
||||||
|
, REG_DD
|
||||||
|
) VALUES (
|
||||||
|
#{mngOrgCd}
|
||||||
|
, #{masterId}
|
||||||
|
, #{mbInfoId}
|
||||||
|
, SYSDATE()
|
||||||
|
)
|
||||||
|
</insert>
|
||||||
</mapper>
|
</mapper>
|
||||||
@ -247,7 +247,7 @@ function fn_listPops(typeDivCd) {
|
|||||||
<li><em>생산년도</em><c:if test="${empty itemOnline.creatYyyy }">-</c:if>${itemOnline.creatYyyy }</li>
|
<li><em>생산년도</em><c:if test="${empty itemOnline.creatYyyy }">-</c:if>${itemOnline.creatYyyy }</li>
|
||||||
</ul>
|
</ul>
|
||||||
<div class="btn-box">
|
<div class="btn-box">
|
||||||
<div class="view"><a href="javascript:void(0)" onclick="gfn_showDocPdf('${itemOnline.interfaceId }')">원문보기</a></div>
|
<div class="view"><a href="javascript:void(0)" onclick="gfn_showDocPdf('${itemOnline.interfaceId }','${itemOnline.masterId }')">원문보기</a></div>
|
||||||
<div class="RIS"><a href="javascript:void(0)" onclick="risShow('${itemOnline.masterId }')">RIS</a></div>
|
<div class="RIS"><a href="javascript:void(0)" onclick="risShow('${itemOnline.masterId }')">RIS</a></div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@ -224,7 +224,7 @@
|
|||||||
}
|
}
|
||||||
if(!fn_isEmpty(obj.interfaceId) && !fn_isEmpty(obj.openDivCd) && obj.openDivCd != '3' && obj.digitalReadYn == 'Y')
|
if(!fn_isEmpty(obj.interfaceId) && !fn_isEmpty(obj.openDivCd) && obj.openDivCd != '3' && obj.digitalReadYn == 'Y')
|
||||||
{
|
{
|
||||||
t_btn+= "<button type=\"button\" class=\"btn-color\" onclick=\"gfn_showDocPdf('" + obj.interfaceId + "');\">원문보기</button>";
|
t_btn+= "<button type=\"button\" class=\"btn-color\" onclick=\"gfn_showDocPdf('" + obj.interfaceId + "','" + obj.masterId + "');\">원문보기</button>";
|
||||||
}
|
}
|
||||||
t_btn+= "<button type=\"button\" class=\"btn-gray\" onclick=\"risShow('" + obj.masterId +"');\">RIS</button>";
|
t_btn+= "<button type=\"button\" class=\"btn-gray\" onclick=\"risShow('" + obj.masterId +"');\">RIS</button>";
|
||||||
|
|
||||||
|
|||||||
@ -46,6 +46,17 @@
|
|||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<script>
|
<script>
|
||||||
|
$(document).ready(function(){
|
||||||
|
//로그
|
||||||
|
$.ajax({
|
||||||
|
type: "post",
|
||||||
|
url: "/search/InsertDataInquiryLog.ajax",
|
||||||
|
data: {"masterId" : '<c:out value="${result.masterId}"/>'}
|
||||||
|
}).done(function(response){
|
||||||
|
});
|
||||||
|
|
||||||
|
})
|
||||||
|
|
||||||
function goList(){
|
function goList(){
|
||||||
document.referenceDetailForm.action="/search/searchList.do";
|
document.referenceDetailForm.action="/search/searchList.do";
|
||||||
document.referenceDetailForm.submit();
|
document.referenceDetailForm.submit();
|
||||||
@ -109,7 +120,7 @@ function goList(){
|
|||||||
<div class="right">
|
<div class="right">
|
||||||
<div class="con-1">
|
<div class="con-1">
|
||||||
<c:if test="${(!empty result.openDivCd) && (result.openDivCd ne '3') && (!empty result.interfaceId) && result.digitalReadYn eq 'Y'}">
|
<c:if test="${(!empty result.openDivCd) && (result.openDivCd ne '3') && (!empty result.interfaceId) && result.digitalReadYn eq 'Y'}">
|
||||||
<button type="button" class="view" onclick="gfn_showDocPdf('<c:out value="${result.interfaceId}"/>')";>원문보기</button>
|
<button type="button" class="view" onclick="gfn_showDocPdf('<c:out value="${result.interfaceId}"/>','<c:out value="${result.masterId}"/>')";>원문보기</button>
|
||||||
</c:if>
|
</c:if>
|
||||||
<button type="button" class="ris" onclick="risShow('<c:out value="${result.masterId}"/>')";>RIS</button>
|
<button type="button" class="ris" onclick="risShow('<c:out value="${result.masterId}"/>')";>RIS</button>
|
||||||
<c:if test='${result.MUseYn == "Y"}'>
|
<c:if test='${result.MUseYn == "Y"}'>
|
||||||
@ -266,15 +277,7 @@ function goList(){
|
|||||||
<button type="button" class="down-btn">down-btn</button>
|
<button type="button" class="down-btn">down-btn</button>
|
||||||
</div>
|
</div>
|
||||||
<div class="bottom h-down">
|
<div class="bottom h-down">
|
||||||
<p><span>1부</span> <c:out value="${result.bookIndex }"/></p>
|
<p><c:out value="${result.bookIndex }"/></p>
|
||||||
<p><span>2부</span> 역사 속의 경주2 - 금오산을 바라본 조선문인의 시선</p>
|
|
||||||
<p><span>3부</span> 경주문화제 핫이슈 - 타향살이 100년 ‘청와대 미남석불’, 이제는 고향 경주의 품으로</p>
|
|
||||||
<p><span>4부</span> 경주문화제 핫이슈 - 타향살이 100년 ‘청와대 미남석불’, 이제는 고향 경주의 품으로</p>
|
|
||||||
<p><span>5부</span> 경주문화제 핫이슈 - 타향살이 100년 ‘청와대 미남석불’, 이제는 고향 경주의 품으로</p>
|
|
||||||
<p><span>6부</span> 경주문화제 핫이슈 - 타향살이 100년 ‘청와대 미남석불’, 이제는 고향 경주의 품으로</p>
|
|
||||||
<p><span>7부</span> 경주문화제 핫이슈 - 타향살이 100년 ‘청와대 미남석불’, 이제는 고향 경주의 품으로</p>
|
|
||||||
<p><span>8부</span> 경주문화제 핫이슈 - 타향살이 100년 ‘청와대 미남석불’, 이제는 고향 경주의 품으로</p>
|
|
||||||
<p><span>9부</span> 경주문화제 핫이슈 - 타향살이 100년 ‘청와대 미남석불’, 이제는 고향 경주의 품으로</p>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -537,38 +540,6 @@ function goList(){
|
|||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<footer id="footer">
|
|
||||||
<button type="button" id="btn-go-top" class="btn-go-top"><span><img src="/images/icon/icon-arr-top.png" alt="상단 화살표"></span><p>TOP</p></button>
|
|
||||||
<div class="inner">
|
|
||||||
<div class="row-top">
|
|
||||||
<div class="footer-logo">
|
|
||||||
<h1><a href="#"><img src="/images/img/img-footer-logo.png" alt="푸터 로고"></a></h1>
|
|
||||||
</div>
|
|
||||||
<div class="family_site">
|
|
||||||
<p class="site_name">관련 사이트</p>
|
|
||||||
<ul class="site_depth">
|
|
||||||
<li><a href="/" target="_blank">01</a></li>
|
|
||||||
<li><a href="/" target="_blank">02</a></li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="row-bottom">
|
|
||||||
<div class="left-side">
|
|
||||||
<ul class="fnb">
|
|
||||||
<li><a href="/">이용약관</a></li>
|
|
||||||
<li><a href="/">개인정보처리방침</a></li>
|
|
||||||
<li><a href="/">찾아오시는 길</a></li>
|
|
||||||
</ul>
|
|
||||||
<p class="copy">
|
|
||||||
서울시 마포대로49 성우빌딩 308호 <span><a href="tel:02-704-2322">TEL. 02.704-2322</a></span> <span>FAX. 02.704-2377</span> <br>
|
|
||||||
COPYRIGHT (C)2018 The Federation of Korea Culture Center. ALL RIGHT RESERVED.
|
|
||||||
</p>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</footer>
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="popup pop-sharing" id="div_pop-sharing" style="display:none;">
|
<div class="popup pop-sharing" id="div_pop-sharing" style="display:none;">
|
||||||
|
|||||||
@ -436,7 +436,7 @@ function fn_search_article(pageIndex) {
|
|||||||
</c:otherwise>
|
</c:otherwise>
|
||||||
</c:choose>
|
</c:choose>
|
||||||
<c:if test="${(!empty result.openDivCd) && (result.openDivCd ne '3') && (!empty result.interfaceId) && result.digitalReadYn eq 'Y'}">
|
<c:if test="${(!empty result.openDivCd) && (result.openDivCd ne '3') && (!empty result.interfaceId) && result.digitalReadYn eq 'Y'}">
|
||||||
<button type="button" class="btn-color" onclick="gfn_showDocPdf('${result.interfaceId}')";>원문보기</button>
|
<button type="button" class="btn-color" onclick="gfn_showDocPdf('${result.interfaceId}','${result.masterId}')";>원문보기</button>
|
||||||
</c:if>
|
</c:if>
|
||||||
<button type="button" class="btn-gray" onclick="risShow('${result.masterId}')";>RIS</button>
|
<button type="button" class="btn-gray" onclick="risShow('${result.masterId}')";>RIS</button>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@ -425,7 +425,15 @@ function fn_formatDateStr(yyyymmdd, defVal) {
|
|||||||
|
|
||||||
// 원문보기
|
// 원문보기
|
||||||
var DOC_VIEW_URL = "https://port.nculture.org/npdfView.do?npdf=N";
|
var DOC_VIEW_URL = "https://port.nculture.org/npdfView.do?npdf=N";
|
||||||
function gfn_showDocPdf(interfaceId) {
|
function gfn_showDocPdf(interfaceId,masterId) {
|
||||||
|
//로그
|
||||||
|
$.ajax({
|
||||||
|
type: "post",
|
||||||
|
url: "/search/InsertDataInquiryLog.ajax",
|
||||||
|
data: {"masterId" : masterId}
|
||||||
|
}).done(function(response){
|
||||||
|
});
|
||||||
|
|
||||||
var openNewWindow = window.open(DOC_VIEW_URL + interfaceId, "_blank");
|
var openNewWindow = window.open(DOC_VIEW_URL + interfaceId, "_blank");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user