소장자료 상세조회 목차, 유사한자료, 함께볼만한자료 개발
This commit is contained in:
parent
980d0d5865
commit
48c4cb7761
@ -99,5 +99,21 @@ public interface CollectionService {
|
||||
* @param colVO
|
||||
*/
|
||||
public void insertDataInquiryLog(CollectionVO colVO) throws Exception;
|
||||
|
||||
/**
|
||||
* 함께 볼만한 자료 리스트
|
||||
* @param vo
|
||||
* @return
|
||||
* @throws Exception
|
||||
*/
|
||||
public List<CollectionVO> selectSeeTogetherList(CollectionVO vo) throws Exception;
|
||||
|
||||
/**
|
||||
* 유사한 자료 리스트
|
||||
* @param vo
|
||||
* @return
|
||||
* @throws Exception
|
||||
*/
|
||||
public List<CollectionVO> selectSimilarList(CollectionVO vo) throws Exception;
|
||||
|
||||
}
|
||||
|
||||
@ -104,7 +104,15 @@ public class CollectionVO extends PagingVO {
|
||||
protected String regId; /* 등록자ID */
|
||||
protected String modId; /* 변경자ID */
|
||||
protected String mUseYn; /* 관심여부 */
|
||||
|
||||
protected String digitalReadYn; /**/
|
||||
public String getDigitalReadYn() {
|
||||
return digitalReadYn;
|
||||
}
|
||||
|
||||
public void setDigitalReadYn(String digitalReadYn) {
|
||||
this.digitalReadYn = digitalReadYn;
|
||||
}
|
||||
|
||||
//--------------------------------------------
|
||||
// 카트/관심 항목
|
||||
//--------------------------------------------
|
||||
@ -145,6 +153,11 @@ public class CollectionVO extends PagingVO {
|
||||
protected String resultCode; /* 결과코드 */
|
||||
protected String resultMessage; /* 결과메시지 */
|
||||
|
||||
//---------------------------------------------
|
||||
// 상세조회 페이지 함께 볼만한 자료관련
|
||||
//---------------------------------------------
|
||||
protected String deptNm; /* 관리부서이름 */
|
||||
protected String domainHostNm; /* 관리부서 호스트주소 */
|
||||
// 생성자
|
||||
public CollectionVO() {
|
||||
super();
|
||||
@ -824,6 +837,21 @@ public class CollectionVO extends PagingVO {
|
||||
public void setTypeDivNm(String typeDivNm) {
|
||||
this.typeDivNm = typeDivNm;
|
||||
}
|
||||
|
||||
public String getDeptNm() {
|
||||
return deptNm;
|
||||
}
|
||||
|
||||
public void setDeptNm(String deptNm) {
|
||||
this.deptNm = deptNm;
|
||||
}
|
||||
|
||||
public String getDomainHostNm() {
|
||||
return domainHostNm;
|
||||
}
|
||||
|
||||
public void setDomainHostNm(String domainHostNm) {
|
||||
this.domainHostNm = domainHostNm;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
@ -1,5 +1,7 @@
|
||||
package nlib.col.service.impl;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import egovframework.rte.psl.dataaccess.mapper.Mapper;
|
||||
import nlib.col.service.CollectionVO;
|
||||
|
||||
@ -9,4 +11,8 @@ public interface CollectionDAO {
|
||||
public CollectionVO selectMngOrgInfo(String masterId) throws Exception;
|
||||
|
||||
public void insertDataInquiryLog(CollectionVO vo) throws Exception;
|
||||
|
||||
public List<CollectionVO> selectSeeTogetherList(CollectionVO vo) throws Exception;
|
||||
|
||||
public List<CollectionVO> selectSimilarList(CollectionVO vo) throws Exception;
|
||||
}
|
||||
@ -306,5 +306,25 @@ public class CollectionServiceImpl implements CollectionService {
|
||||
public void insertDataInquiryLog(CollectionVO colVO) throws Exception {
|
||||
collectionDAO.insertDataInquiryLog(colVO);
|
||||
}
|
||||
|
||||
/**
|
||||
* 함께 볼만한 자료 리스트
|
||||
*
|
||||
* @param vo
|
||||
* @return
|
||||
*/
|
||||
public List<CollectionVO> selectSeeTogetherList(CollectionVO vo) throws Exception {
|
||||
return collectionDAO.selectSeeTogetherList(vo);
|
||||
}
|
||||
|
||||
/**
|
||||
* 유사한 자료 리스트
|
||||
*
|
||||
* @param vo
|
||||
* @return
|
||||
*/
|
||||
public List<CollectionVO> selectSimilarList(CollectionVO vo) throws Exception {
|
||||
return collectionDAO.selectSimilarList(vo);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -261,8 +261,10 @@ public class NlibSearchController extends NlibCommonController {
|
||||
, HttpServletRequest request
|
||||
, HttpServletResponse res
|
||||
) throws Exception {
|
||||
HttpSession session = request.getSession();
|
||||
String masterId = request.getParameter("masterId");
|
||||
String mbInfoId = getMbInfoId(request);
|
||||
List<String> mngOrgList = new ArrayList<>();
|
||||
|
||||
//사용자 정보를 가져온다.
|
||||
NlibLoginVO loginVO = getNlibLoginVO(authentication);
|
||||
@ -271,7 +273,28 @@ public class NlibSearchController extends NlibCommonController {
|
||||
vo.setMasterId(masterId);
|
||||
vo.setMbInfoId(mbInfoId);
|
||||
vo = collectionService.getItemInfo(vo,NlibProperty.getString("thumbnail.image.url.big"));
|
||||
|
||||
|
||||
String councilCd = (String)session.getAttribute("councilCd");
|
||||
|
||||
vo.setMngOrgCd(councilCd);
|
||||
//함께 볼만한 자료
|
||||
List<CollectionVO> seeTogetherListVO = collectionService.selectSeeTogetherList(vo);
|
||||
//유사한 자료
|
||||
List<CollectionVO> similarListVO = collectionService.selectSimilarList(vo);
|
||||
|
||||
//관리부서명 중복 제외하고 리스트생성
|
||||
for(int i=0; similarListVO.size() > i; i++)
|
||||
{
|
||||
if(!mngOrgList.contains(similarListVO.get(i).getDeptNm()))
|
||||
{
|
||||
mngOrgList.add(similarListVO.get(i).getDeptNm());
|
||||
}
|
||||
}
|
||||
|
||||
model.addAttribute("seeTogetherListVO", seeTogetherListVO);
|
||||
model.addAttribute("similarListVO", similarListVO);
|
||||
model.addAttribute("mngOrgList",mngOrgList);
|
||||
//반납예정일 편집
|
||||
if(!(vo == null) && !StringUtil.getString(vo.getRtnExpctDd(),"").equals(""))
|
||||
{
|
||||
|
||||
@ -3,14 +3,14 @@
|
||||
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="nlib.col.service.impl.CollectionDAO">
|
||||
|
||||
<select id="selectMngOrgInfo" parameterType="String" resultType="CollectionVO">
|
||||
SELECT
|
||||
<select id="selectMngOrgInfo" parameterType="String" resultType="CollectionVO">
|
||||
SELECT
|
||||
A.MNG_ORG_CD
|
||||
, B.DEPT_NM AS MNG_ORG_NM
|
||||
FROM RG_MASTER A
|
||||
LEFT OUTER JOIN SM_DEPT B ON A.MNG_ORG_CD = B.ORG_CD
|
||||
WHERE A.MASTER_ID = #{masterId}
|
||||
</select>
|
||||
WHERE A.MASTER_ID = #{masterId}
|
||||
</select>
|
||||
|
||||
<insert id="insertDataInquiryLog" parameterType="CollectionVO">
|
||||
INSERT INTO MB_VIEW_LOG(
|
||||
|
||||
@ -57,6 +57,14 @@ $(document).ready(function(){
|
||||
|
||||
})
|
||||
|
||||
|
||||
//다른자료 상세보기
|
||||
function goDetail(masterId){
|
||||
$("#masterId").val(masterId);
|
||||
document.referenceDetailForm.action="/search/searchItemDetail.do";
|
||||
document.referenceDetailForm.submit();
|
||||
}
|
||||
|
||||
function goList(){
|
||||
document.referenceDetailForm.action="/search/searchList.do";
|
||||
document.referenceDetailForm.submit();
|
||||
@ -88,8 +96,8 @@ function goList(){
|
||||
<input type="hidden" name="ageCode" value="<c:out value='${searchVO.ageCode}'/>"/>
|
||||
<input type="hidden" name="collectionList" value="<c:out value='${searchVO.collectionList}'/>"/>
|
||||
<input type="hidden" name="realQuery" value="<c:out value='${searchVO.realQuery}'/>"/>
|
||||
|
||||
|
||||
<input type="hidden" id="masterId" name="masterId" value="" />
|
||||
|
||||
<h2 class="blind">소장자료 상세페이지 섹션영역</h2>
|
||||
<div class="inner">
|
||||
<div class="row-top">
|
||||
@ -277,10 +285,11 @@ function goList(){
|
||||
<button type="button" class="down-btn">down-btn</button>
|
||||
</div>
|
||||
<div class="bottom h-down">
|
||||
<p><c:out value="${result.bookIndex }"/></p>
|
||||
<p><c:if test="${empty result.bookIndex }">없음</c:if><c:out value="${result.bookIndex }"/></p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<c:if test="${fn:length(seeTogetherListVO) > 0 }">
|
||||
<div class="con-3">
|
||||
<div class="bottom">
|
||||
<!-- Swiper -->
|
||||
@ -289,77 +298,21 @@ function goList(){
|
||||
<h3><span>함께 볼만한</span>자료</h3>
|
||||
</div>
|
||||
<div class="swiper-wrapper">
|
||||
|
||||
<c:forEach var="result" items="${seeTogetherListVO}" varStatus="status">
|
||||
<div class="swiper-slide">
|
||||
<div class="List">
|
||||
<div class="List" onclick="goDetail('${result.masterId}');">
|
||||
<div class="con-1">
|
||||
<div class="tit underline pink">국역 경주읍지</div>
|
||||
<div class="tit underline pink">${result.title }</div>
|
||||
</div>
|
||||
<div class="con-2">
|
||||
<p class="typ"><span>자료유형</span><span>도서간행물 > 연속간행물</span></p>
|
||||
<p class="sub"><span>주제분야</span><span>자연과지리 > 자연환경</span></p>
|
||||
<p class="age"><span>생산기관</span><span>경북경주문화원</span></p>
|
||||
<p class="yea"><span>생산년도</span><span>2003</span></p>
|
||||
<p class="typ"><span>자료유형</span><span><c:if test="${empty result.typeDivNm and empty result.dtlsTypeDivNm}">-</c:if> ${result.typeDivNm } <c:if test="${!empty result.typeDivNm and !empty result.dtlsTypeDivNm}">></c:if>${result.dtlsTypeDivNm}</span></p>
|
||||
<p class="sub"><span>주제분야</span><span><c:if test="${empty result.subjectNmUp and empty result.subjectNm}">-</c:if> ${result.subjectNm } <c:if test="${!empty result.subjectNmUp and !empty result.subjectNm}">></c:if>${result.subjectNm}</span></span></p>
|
||||
<p class="age"><span>생산기관</span><span><c:if test="${empty result.orgNm }">-</c:if>${result.orgNm }</span></p>
|
||||
<p class="yea"><span>생산년도</span><span><c:if test="${empty result.creatYyyy }">-</c:if>${result.creatYyyy }</span></p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="swiper-slide">
|
||||
<div class="List">
|
||||
<div class="con-1">
|
||||
<div class="tit underline pink">국역 경주읍지</div>
|
||||
</div>
|
||||
<div class="con-2">
|
||||
<p class="typ"><span>자료유형</span><span>도서간행물 > 연속간행물</span></p>
|
||||
<p class="sub"><span>주제분야</span><span>자연과지리 > 자연환경</span></p>
|
||||
<p class="age"><span>생산기관</span><span>경북경주문화원</span></p>
|
||||
<p class="yea"><span>생산년도</span><span>2003</span></p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="swiper-slide">
|
||||
<div class="List">
|
||||
<div class="con-1">
|
||||
<div class="tit underline pink">국역 경주읍지</div>
|
||||
</div>
|
||||
<div class="con-2">
|
||||
<p class="typ"><span>자료유형</span><span>도서간행물 > 연속간행물</span></p>
|
||||
<p class="sub"><span>주제분야</span><span>자연과지리 > 자연환경</span></p>
|
||||
<p class="age"><span>생산기관</span><span>경북경주문화원</span></p>
|
||||
<p class="yea"><span>생산년도</span><span>2003</span></p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="swiper-slide">
|
||||
<div class="List">
|
||||
<div class="con-1">
|
||||
<div class="tit underline pink">국역 경주읍지</div>
|
||||
</div>
|
||||
<div class="con-2">
|
||||
<p class="typ"><span>자료유형</span><span>도서간행물 > 연속간행물</span></p>
|
||||
<p class="sub"><span>주제분야</span><span>자연과지리 > 자연환경</span></p>
|
||||
<p class="age"><span>생산기관</span><span>경북경주문화원</span></p>
|
||||
<p class="yea"><span>생산년도</span><span>2003</span></p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="swiper-slide">
|
||||
<div class="List">
|
||||
<div class="con-1">
|
||||
<div class="tit underline pink">국역 경주읍지</div>
|
||||
</div>
|
||||
<div class="con-2">
|
||||
<p class="typ"><span>자료유형</span><span>도서간행물 > 연속간행물</span></p>
|
||||
<p class="sub"><span>주제분야</span><span>자연과지리 > 자연환경</span></p>
|
||||
<p class="age"><span>생산기관</span><span>경북경주문화원</span></p>
|
||||
<p class="yea"><span>생산년도</span><span>2003</span></p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</c:forEach>
|
||||
</div>
|
||||
<div class="swiper-button-next"></div>
|
||||
<div class="swiper-button-prev"></div>
|
||||
@ -368,162 +321,40 @@ function goList(){
|
||||
<!-- Swiper end -->
|
||||
</div>
|
||||
</div>
|
||||
</c:if>
|
||||
</div>
|
||||
|
||||
<div class="row-bottom">
|
||||
<div class="row-bottom">
|
||||
<c:if test="${fn:length(similarListVO) > 0 }">
|
||||
<div class="con-4">
|
||||
<div class="top">
|
||||
<h3><span>이 자료와 유사한</span>자료</h3>
|
||||
<p><strong>“ 경산문화원, 경주문화원, 고령문화 ”</strong> 에 있습니다</p>
|
||||
<p><strong>“ <c:forEach items="${mngOrgList }" var="list" varStatus="status"><c:if test="${status.count ne 1}"> ,</c:if>${list }</c:forEach> ”</strong> 에 있습니다</p>
|
||||
</div>
|
||||
<div class="bottom">
|
||||
<!-- Swiper -->
|
||||
<div class="swiper DetailSwiper2">
|
||||
<div class="swiper-wrapper items cover">
|
||||
<c:forEach var="result" items="${similarListVO}" varStatus="status">
|
||||
<div class="swiper-slide">
|
||||
<div class="List">
|
||||
<div class="List" onclick="gfn_getDetail('${result.masterId}','${result.domainHostNm }');">
|
||||
<div class="inner">
|
||||
<div class="thumbnail">
|
||||
<span class="image-frame"><img src="/images/img/img-sec6-01.jpg" alt=""/></span>
|
||||
<span class="image-frame"><img src="${result.rprsThumbUrlWithDefault }" alt=""/></span>
|
||||
<div class="detail-cover">
|
||||
<strong>2011 신라문화스토리텔러 교육교재 이론</strong>
|
||||
<strong>${result.title }</strong>
|
||||
<ul>
|
||||
<li><em>주제유형</em>도서간행물</li>
|
||||
<li><em>주제분야</em>문화유산</li>
|
||||
<li><em>생산기관</em>마포문화원</li>
|
||||
<li><em>생산년도</em>미상</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="swiper-slide">
|
||||
<div class="List">
|
||||
<div class="inner">
|
||||
<div class="thumbnail">
|
||||
<span class="image-frame"><img src="/images/img/img-sec6-01.jpg" alt=""/></span>
|
||||
<div class="detail-cover">
|
||||
<strong>2011 신라문화스토리텔러 교육교재 이론</strong>
|
||||
<ul>
|
||||
<li><em>주제유형</em>도서간행물</li>
|
||||
<li><em>주제분야</em>문화유산</li>
|
||||
<li><em>생산기관</em>마포문화원</li>
|
||||
<li><em>생산년도</em>미상</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="swiper-slide">
|
||||
<div class="List">
|
||||
<div class="inner">
|
||||
<div class="thumbnail">
|
||||
<span class="image-frame"><img src="/images/img/img-sec6-01.jpg" alt=""/></span>
|
||||
<div class="detail-cover">
|
||||
<strong>2011 신라문화스토리텔러 교육교재 이론</strong>
|
||||
<ul>
|
||||
<li><em>주제유형</em>도서간행물</li>
|
||||
<li><em>주제분야</em>문화유산</li>
|
||||
<li><em>생산기관</em>마포문화원</li>
|
||||
<li><em>생산년도</em>미상</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="swiper-slide">
|
||||
<div class="List">
|
||||
<div class="inner">
|
||||
<div class="thumbnail">
|
||||
<span class="image-frame"><img src="/images/img/img-sec6-01.jpg" alt=""/></span>
|
||||
<div class="detail-cover">
|
||||
<strong>2011 신라문화스토리텔러 교육교재 이론</strong>
|
||||
<ul>
|
||||
<li><em>주제유형</em>도서간행물</li>
|
||||
<li><em>주제분야</em>문화유산</li>
|
||||
<li><em>생산기관</em>마포문화원</li>
|
||||
<li><em>생산년도</em>미상</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="swiper-slide">
|
||||
<div class="List">
|
||||
<div class="inner">
|
||||
<div class="thumbnail">
|
||||
<span class="image-frame"><img src="/images/img/img-sec6-01.jpg" alt=""/></span>
|
||||
<div class="detail-cover">
|
||||
<strong>2011 신라문화스토리텔러 교육교재 이론</strong>
|
||||
<ul>
|
||||
<li><em>주제유형</em>도서간행물</li>
|
||||
<li><em>주제분야</em>문화유산</li>
|
||||
<li><em>생산기관</em>마포문화원</li>
|
||||
<li><em>생산년도</em>미상</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="swiper-slide">
|
||||
<div class="List">
|
||||
<div class="inner">
|
||||
<div class="thumbnail">
|
||||
<span class="image-frame"><img src="/images/img/img-sec6-01.jpg" alt=""/></span>
|
||||
<div class="detail-cover">
|
||||
<strong>2011 신라문화스토리텔러 교육교재 이론</strong>
|
||||
<ul>
|
||||
<li><em>주제유형</em>도서간행물</li>
|
||||
<li><em>주제분야</em>문화유산</li>
|
||||
<li><em>생산기관</em>마포문화원</li>
|
||||
<li><em>생산년도</em>미상</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="swiper-slide">
|
||||
<div class="List">
|
||||
<div class="inner">
|
||||
<div class="thumbnail">
|
||||
<span class="image-frame"><img src="/images/img/img-sec6-01.jpg" alt=""/></span>
|
||||
<div class="detail-cover">
|
||||
<strong>2011 신라문화스토리텔러 교육교재 이론</strong>
|
||||
<ul>
|
||||
<li><em>주제유형</em>도서간행물</li>
|
||||
<li><em>주제분야</em>문화유산</li>
|
||||
<li><em>생산기관</em>마포문화원</li>
|
||||
<li><em>생산년도</em>미상</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="swiper-slide">
|
||||
<div class="List">
|
||||
<div class="inner">
|
||||
<div class="thumbnail">
|
||||
<span class="image-frame"><img src="/images/img/img-sec6-01.jpg" alt=""/></span>
|
||||
<div class="detail-cover">
|
||||
<strong>2011 신라문화스토리텔러 교육교재 이론</strong>
|
||||
<ul>
|
||||
<li><em>주제유형</em>도서간행물</li>
|
||||
<li><em>주제분야</em>문화유산</li>
|
||||
<li><em>생산기관</em>마포문화원</li>
|
||||
<li><em>생산년도</em>미상</li>
|
||||
<li><em>주제유형</em><c:if test="${empty result.typeDivNm}">-</c:if>${result.typeDivNm }</li>
|
||||
<li><em>주제분야</em><c:if test="${empty result.subjectNmUp}">-</c:if>${result.subjectNmUp }</li>
|
||||
<li><em>생산기관</em><c:if test="${empty result.orgNm }">-</c:if>${result.orgNm }</li>
|
||||
<li><em>생산년도</em><c:if test="${empty result.creatYyyy }">-</c:if>${result.creatYyyy }</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</c:forEach>
|
||||
</div>
|
||||
<div class="swiper-button-next"></div>
|
||||
<div class="swiper-button-prev"></div>
|
||||
@ -532,7 +363,7 @@ function goList(){
|
||||
<!-- Swiper end -->
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</c:if>
|
||||
<div class="btn-box">
|
||||
<button type="button" class="btn btn-black" onclick="goList();">목록으로</button>
|
||||
</div>
|
||||
|
||||
@ -534,11 +534,14 @@ function gfn_gotoUrl(url) {
|
||||
location.href = url;
|
||||
}
|
||||
|
||||
function gfn_getDetail(masterId) {
|
||||
function gfn_getDetail(masterId, host) {
|
||||
|
||||
if(fn_isEmpty(host)) host = "";
|
||||
else host = "https://" + host + ".nculture.org";
|
||||
|
||||
var form = document.createElement("form");
|
||||
form.style.display = "none";
|
||||
$(form).attr("action", "/search/searchItemDetail.do");
|
||||
$(form).attr("action", host + "/search/searchItemDetail.do");
|
||||
$(form).attr("method", "post");
|
||||
$(form).attr("target", "_blank");
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user