# WARNING: head commit changed in the meantime

메인화면 개발 완료
This commit is contained in:
KKN 2021-11-12 15:41:00 +09:00
commit 169258fbb4
6 changed files with 137 additions and 83 deletions

View File

@ -17,6 +17,9 @@ import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.RequestMapping;
import nlib.bbs.service.ArticleVO;
import nlib.bbs.service.BoardService;
import nlib.bbs.service.QnaService;
import nlib.cmm.NlibCommonController;
import nlib.cmm.service.CodeService;
import nlib.cmm.service.MainService;
@ -65,6 +68,12 @@ public class MainController extends NlibCommonController {
@Resource(name = "mainService")
private MainService mainService;
@Resource(name = "ancmntService")
private BoardService ancmntService;
@Resource(name = "qnaService")
private QnaService qnaService;
@RequestMapping( {"/index.do"} )
public String setContent(
HttpServletRequest request,
@ -78,6 +87,10 @@ public class MainController extends NlibCommonController {
String mngOrgCd = getCurCouncilCd(request);
//------------------------------------------------
// 추천 자료 관련
//------------------------------------------------
// 추천키워드
List<Map<String, String>> listKeywords = mainService.listKeywords(mngOrgCd);
model.addAttribute("listKeywords", listKeywords);
@ -107,10 +120,27 @@ public class MainController extends NlibCommonController {
model.addAttribute("listPops", listPops);
model.addAttribute("listTypeDivCodes", listTypeDivCodes);
// 온라인자료관
model.addAttribute("listOnline", mainService.listOnline(mngOrgCd));
//------------------------------------------------
// 게시판관련
//------------------------------------------------
ArticleVO searchArticleVO = new ArticleVO();
searchArticleVO.setPageIndex(1);
searchArticleVO.setPageSize(3);
searchArticleVO.setMngOrgCd(getCurCouncilCd(request));
// 공지사항
List<ArticleVO> listAncmnt = ancmntService.listArticles(searchArticleVO);
model.addAttribute("listAncmnt", listAncmnt);
// Q&A
String mbInfoId = getMbInfoId(request);
searchArticleVO.setLoginedMbInfoId(mbInfoId);
List<ArticleVO> listQna = qnaService.listArticles(searchArticleVO);
model.addAttribute("listQna", listQna);
return "nlib/cmm/home";
}

View File

@ -21,7 +21,6 @@
AND RM.REG_STATUS = 'REG_OK'
AND RM.USE_FLAG = 'Y'
AND RM.OPER_READ_RANGE_CD IN ('01','02')
AND IFNULL(RM.BOOKCASE_ID, '') != '' /* 서가배치자료 */
) T
GROUP BY T.KEY_NAME
ORDER BY CNT DESC, T.KEY_NAME
@ -137,35 +136,31 @@
, M.DTLS_TYPE_DIV_CD
, C2.S_CODE_NM DTLS_TYPE_DIV_NM
, M.SUBJECT_CODE
, CONCAT(
NVL((
SELECT CONCAT(CLSF_NM, ' > ')
FROM CT_CLSF
WHERE CLSF_ID = (
SELECT UP_CLSF_ID FROM CT_CLSF
WHERE CLSF_ID = CAST(M.SUBJECT_CODE AS CHAR(35)) )
AND UP_CLSF_ID = '2') , '')
, (SELECT CLSF_NM FROM CT_CLSF WHERE CLSF_ID = CAST(M.SUBJECT_CODE AS CHAR(35)))
) AS SUBJECT_NM
, ( SELECT CLSF_NM
FROM CT_CLSF
WHERE CLSF_ID = (
SELECT UP_CLSF_ID FROM CT_CLSF
WHERE CLSF_ID = CAST(M.SUBJECT_CODE AS CHAR(35)) )
AND UP_CLSF_ID = '2') AS SUBJECT_NM_UP
, (SELECT CLSF_NM FROM CT_CLSF WHERE CLSF_ID = CAST(M.SUBJECT_CODE AS CHAR(35))) AS SUBJECT_NM
, M.MOD_DD
, M.ORG_NM
, M.CREAT_YYYY
, M.RPRS_THUMB_URL
, IFNULL(M.M_INTERFACE_ID, IFNULL(M.INTERFACE_ID, '')) AS INTERFACE_ID
, IFNULL(M.M_INTERFACE_ID, '') AS INTERFACE_ID
FROM RG_MASTER M
LEFT OUTER JOIN SM_CODE_S C1 ON M.TYPE_DIV_CD = C1.S_CODE_ID AND C1.L_CODE_ID = 'MASTER_TYPE_DIV_CD'
LEFT OUTER JOIN SM_CODE_S C2 ON M.DTLS_TYPE_DIV_CD = C2.S_CODE_ID AND C2.L_CODE_ID = 'DTLS_TYPE_DIV_CD'
WHERE M.MNG_ORG_CD = #{mngOrgCd}
AND M.OPEN_DIV_CD = '1' /* 공개구분 : 공개 */
AND M.REG_STATUS = 'REG_OK' /* 등록상태 : 등록완료 */
/* AND M.REG_STATUS = 'REG_OK' -- DDDDDDDDDDDDDDDDD 확인데이터 없어서 임시 주석 막음 */ /* 등록상태 : 등록완료 */
AND M.USE_FLAG = 'Y'
AND IFNULL(M.PE_STATUS, '') = '' /* 보존상태 */
AND M.DIGITAL_READ_YN = 'Y' /* 디지탈열람여부 */
/* AND IFNULL(M.RPRS_THUMB_URL, '') != '' */ /* 썸네일존재하는 건 */
AND IFNULL(M.M_INTERFACE_ID, IFNULL(M.INTERFACE_ID, '')) != ''/* IF존재하는 건 */
AND IFNULL(M.M_INTERFACE_ID, '') != ''/* IF존재하는 건 */
ORDER BY M.MOD_DD DESC
LIMIT 10
]]>
</select>
</mapper>

View File

@ -85,9 +85,9 @@ list.paging.page.size = 10
#----------------------------------------
# \ucca8\ubd80\ud30c\uc77c \ucd5c\uc0c1\uc704 \uc704\uce58
# \ub85c\uceec LLLLLLLLLLLLLLL
fileupload.base.path = C:/iams/workspace/nlib/data/fileupload
#fileupload.base.path = C:/iams/workspace/nlib/data/fileupload
# \uac1c\ubc1c\uc11c\ubc84
#fileupload.base.path = /apps/tomcat/apache-tomcat-8.5.46_nlib/webapps/data/fileupload
fileupload.base.path = /apps/tomcat/apache-tomcat-8.5.46_nlib/webapps/data/fileupload
# \uc784\uc2dc \uc800\uc7a5 \uc704\uce58
fileupload.temp.subpath = /temp
@ -98,13 +98,13 @@ fileupload.bbs.ancmnt.subpath = /bbs/ancmnt
# \uba54\uc77c \uacbd\ub85c
# \ub85c\uceec LLLLLLLLLLLLLLL
mailing.sender.membership.signUpTemplate = C:/iams/workspace/nlib/src/main/webapp/WEB-INF/template/mail/signUp_mail_template.html
mailing.sender.membership.pwdTemplate = C:/iams/workspace/nlib/src/main/webapp/WEB-INF/template/mail/pwd_mail_template.html
mailing.sender.membership.certTemplate = C:/iams/workspace/nlib/src/main/webapp/WEB-INF/template/mail/cert_mail_template.html
#mailing.sender.membership.signUpTemplate = C:/iams/workspace/nlib/src/main/webapp/WEB-INF/template/mail/signUp_mail_template.html
#mailing.sender.membership.pwdTemplate = C:/iams/workspace/nlib/src/main/webapp/WEB-INF/template/mail/pwd_mail_template.html
#mailing.sender.membership.certTemplate = C:/iams/workspace/nlib/src/main/webapp/WEB-INF/template/mail/cert_mail_template.html
# \uac1c\ubc1c\uc11c\ubc84
#mailing.sender.membership.signUpTemplate = /apps/tomcat/apache-tomcat-8.5.46_nlib/webapps/nlib/WEB-INF/template/mail/signUp_mail_template.html
#mailing.sender.membership.pwdTemplate = /apps/tomcat/apache-tomcat-8.5.46_nlib/webapps/nlib/WEB-INF/template/mail/pwd_mail_template.html
#mailing.sender.membership.certTemplate = /apps/tomcat/apache-tomcat-8.5.46_nlib/webapps/nlib/WEB-INF/template/mail/cert_mail_template.html
mailing.sender.membership.signUpTemplate = /apps/tomcat/apache-tomcat-8.5.46_nlib/webapps/nlib/WEB-INF/template/mail/signUp_mail_template.html
mailing.sender.membership.pwdTemplate = /apps/tomcat/apache-tomcat-8.5.46_nlib/webapps/nlib/WEB-INF/template/mail/pwd_mail_template.html
mailing.sender.membership.certTemplate = /apps/tomcat/apache-tomcat-8.5.46_nlib/webapps/nlib/WEB-INF/template/mail/cert_mail_template.html
#\uba54\uc77c \uc774\ubbf8\uc9c0 \uacbd\ub85c
# \ub85c\uceec

View File

@ -29,6 +29,43 @@ function fn_search(keyword) {
return;
}
function fn_viewAncmnt(articleId) {
var form = document.createElement("form");
form.style.display = "none";
$(form).attr("action", "/bbs/selectAncmntArticle.do");
$(form).attr("method", "post");
var element = document.createElement("input");
$(element).attr("name", "articleId");
$(element).attr("value", articleId);
form.appendChild(element);
document.body.appendChild(form);
form.submit();
document.body.removeChild(form);
return;
}
function fn_viewQna(articleId) {
var form = document.createElement("form");
form.style.display = "none";
$(form).attr("action", "/bbs/selectQnaArticle.do");
$(form).attr("method", "post");
var element = document.createElement("input");
$(element).attr("name", "articleId");
$(element).attr("value", articleId);
form.appendChild(element);
document.body.appendChild(form);
form.submit();
document.body.removeChild(form);
return;
}
function fn_listPops(typeDivCd) {
$("div.tab_content div.tabs_item").hide();
$("#listPops_" + typeDivCd).show();
@ -204,14 +241,14 @@ function fn_listPops(typeDivCd) {
<div class="detail-cover">
<strong>${itemOnline.title }</strong>
<ul>
<li><em>주제유형</em><c:if test="${empty itemOnline.subjectNm }">-</c:if>${itemOnline.subjectNm }</li>
<li><em>주제분야</em>문화유산</li>
<li><em>자료유형</em><c:if test="${empty itemOnline.typeDivNm }">-</c:if>${itemOnline.typeDivNm }</li>
<li><em>주제분야</em><c:if test="${empty itemOnline.subjectNmUp }">-</c:if>${itemOnline.subjectNmUp }</li>
<li><em>생산기관</em><c:if test="${empty itemOnline.orgNm }">-</c:if>${itemOnline.orgNm }</span></li>
<li><em>생산년도</em><c:if test="${empty itemOnline.creatYyyy }">-</c:if>${itemOnline.creatYyyy }</li>
</ul>
<div class="btn-box">
<div class="view"><a href="javascript:void(0)" onclick="gfn_showDocPdf('${itemOnline.interfaceId }')">원문보기</a></div>
<div class="RIS"><a href="#">RIS</a></div>
<div class="RIS"><a href="javascript:void(0)" onclick="risShow('${itemOnline.masterId }')">RIS</a></div>
</div>
</div>
</div>
@ -236,68 +273,45 @@ function fn_listPops(typeDivCd) {
<div class="Fl notice">
<div class="ti"><span>공지사항</span><a href="javascript:void(0)" onclick="location.href='/bbs/listAncmnts.do';"><span>더보기 <img src="/images/icon/icon-more.png" alt="더보기 아이콘"></span></a></div>
<div class="con">
<c:forEach var="itemAncmnt" items="${listAncmnt }">
<div class="list">
<a href="#">
<div class="box"><p>05</p><p>21.09</p></div>
<a href="javascript:void(0)" onclick="fn_viewAncmnt('${itemAncmnt.articleId}')">
<div class="box"><p>${fn:substring(itemAncmnt.regDd,8,10) }</p><p> ${fn:substring(itemAncmnt.regDd,2,4) }.${fn:substring(itemAncmnt.regDd,5,7) }</p></div>
<div class="text">
<p>[공지] 경주문화원에 오신걸 환영합니다.<img src="/images/icon/icon-file.png" class="file" alt="파일 아이콘"></p>
</div>
</a>
</div>
<div class="list">
<a href="#">
<div class="box"><p>05</p><p>21.09</p></div>
<div class="text">
<p>소장자료관 이용 시 주의사항 안내<img src="/images/icon/icon-file.png" class="file" alt="파일 아이콘"></p>
</div>
</a>
</div>
<div class="list">
<a href="#">
<div class="box"><p>05</p><p>21.09</p></div>
<div class="text">
<p>[공지] 2021 문화원 휴관일 안내 드립니다.</p>
<p><c:if test='${itemAncmnt.notiYn == "Y"}'>[공지]</c:if>${itemAncmnt.title}
<c:if test='${itemAncmnt.attachYn == "Y"}'><img src="/images/icon/icon-file.png" class="file" alt="파일 아이콘"></c:if></p>
</div>
</a>
</div>
</c:forEach>
</div>
</div>
<div class="Fl qna">
<div class="ti"><span>Q&amp;A</span><a href="javascript:void(0)" onclick="location.href='/bbs/listQnas.do';"><span>더보기 <img src="/images/icon/icon-more.png" alt="더보기 아이콘"></span></a></div>
<div class="con">
<c:forEach var="itemQna" items="${listQna }">
<div class="list">
<a href="#">
<div class="box"><p>05</p><p>21.09</p></div>
<a href="javascript:void(0)" onclick="fn_viewQna('${itemQna.articleId}')">
<div class="box"><p>${fn:substring(itemQna.regDd,8,10) }</p><p> ${fn:substring(itemQna.regDd,2,4) }.${fn:substring(itemQna.regDd,5,7) }</p></div>
<div class="text">
<p>[공지] 경주문화원에 오신걸 환영합니다.<img src="/images/icon/icon-password.png" class="pw" alt="잠금 아이콘"></p>
</div>
<div class="answer">
<p>답변대기</p>
</div>
</a>
</div>
<div class="list">
<a href="#">
<div class="box"><p>05</p><p>21.09</p></div>
<div class="text">
<p>소장자료관 이용 시 주의사항 안내<img src="/images/icon/icon-password.png" class="pw" alt="잠금 아이콘"></p>
</div>
<div class="answer">
<p>답변대기</p>
</div>
</a>
</div>
<div class="list">
<a href="#">
<div class="box"><p>05</p><p>21.09</p></div>
<div class="text">
<p>[공지] 2021 문화원 휴관일 안내 드립니다.</p>
<p>${itemQna.title}
<c:if test='${itemQna.attachYn == "Y"}'><img src="/images/icon/icon-file.png" class="file" alt="파일 아이콘"></c:if>
<c:if test='${itemQna.secretYn == "Y"}'><img src="/images/icon/icon-password.png" class="pw" alt="잠금 아이콘"></c:if>
</p>
</div>
<c:if test='${itemQna.answerYn == "Y"}'>
<div class="answer suc">
<p>답변완료</p>
</div>
</c:if>
<c:if test='${itemQna.answerYn != "Y"}'>
<div class="answer">
<p>답변대기</p>
</div>
</c:if>
</a>
</div>
</c:forEach>
</div>
</div>
</div>

View File

@ -246,7 +246,7 @@ function d_search(){
});
if(ageCount > 0)
{
filter_myList+= "search_age,";
filter_myList+= "search_ageCode,";
}
$("input[name='collectionList']").each(function() {
@ -257,7 +257,7 @@ function d_search(){
});
if(colCount > 0)
{
filter_myList+= "search_collection,";
filter_myList+= "search_collectionList,";
}
$("#d_filter_mylist").val(filter_myList);
document.d_referencelistForm.submit();
@ -346,20 +346,20 @@ function detailSearchSetting(){
<li class="row-times fw">
<p class="tit"><label for="">시 대</label></p>
<div class="input-area">
<div class="check"><input type="checkbox" value="01" id="times-chk1" name="ageCode" checked><label for="times-chk1">전체</label></div>
<div class="check"><input type="checkbox" id="times-chk1" name="ageCode" checked><label for="times-chk1">전체</label></div>
<div class="check"><input type="checkbox" value="03" id="times-chk2" name="ageCode"><label for="times-chk2">선사</label></div>
<div class="check"><input type="checkbox" value="04,05,06" id="times-chk3" name="ageCode"><label for="times-chk3">고대</label></div>
<div class="check"><input type="checkbox" value="04|05|06" id="times-chk3" name="ageCode"><label for="times-chk3">고대</label></div>
<div class="check"><input type="checkbox" value="07" id="times-chk4" name="ageCode"><label for="times-chk4">고려</label></div>
<div class="check"><input type="checkbox" value="08" id="times-chk5" name="ageCode"><label for="times-chk5">조선</label></div>
<div class="check"><input type="checkbox" value="11,12" id="times-chk6" name="ageCode"><label for="times-chk6">근대</label></div>
<div class="check"><input type="checkbox" value="13,14" id="times-chk7" name="ageCode"><label for="times-chk7">현대</label></div>
<div class="check"><input type="checkbox" value="11|12" id="times-chk6" name="ageCode"><label for="times-chk6">근대</label></div>
<div class="check"><input type="checkbox" value="13|14" id="times-chk7" name="ageCode"><label for="times-chk7">현대</label></div>
<div class="check"><input type="checkbox" value="02" id="times-chk8" name="ageCode"><label for="times-chk8">시대미상</label></div>
</div>
</li>
<li class="row-class fw">
<p class="tit"><label for="">이용구분</label></p>
<div class="input-area">
<div class="check"><input type="checkbox" value="ALL" id="class-chk1" name="collectionList" checked><label for="class-chk1">전체</label></div>
<div class="check"><input type="checkbox" id="class-chk1" name="collectionList" checked><label for="class-chk1">전체</label></div>
<div class="check"><input type="checkbox" value="lib_online" id="class-chk2" name="collectionList"><label for="class-chk2">온라인 열람</label></div>
<div class="check"><input type="checkbox" value="lib_loan" id="class-chk3" name="collectionList"><label for="class-chk3">대출</label></div>
<div class="check"><input type="checkbox" value="lib_offline" id="class-chk4" name="collectionList"><label for="class-chk4">열람</label></div>

View File

@ -423,8 +423,6 @@ function fn_formatDateStr(yyyymmdd, defVal) {
// 원문보기
var DOC_VIEW_URL = "https://port.nculture.org/npdfView.do?npdf=N";
function gfn_showDocPdf(interfaceId) {
alert(DOC_VIEW_URL + interfaceId);
var openNewWindow = window.open(DOC_VIEW_URL + interfaceId, "_blank");
}
@ -526,5 +524,22 @@ function gfn_gotoUrl(url) {
}
function gfn_getDetail(masterId) {
gfn_openNewWindow("/search/searchItemDetail.do?masterId=" + masterId);
var form = document.createElement("form");
form.style.display = "none";
$(form).attr("action", "/search/searchItemDetail.do");
$(form).attr("method", "post");
$(form).attr("target", "_blank");
var element = document.createElement("input");
$(element).attr("name", "masterId");
$(element).attr("value", masterId);
form.appendChild(element);
document.body.appendChild(form);
form.submit();
document.body.removeChild(form);
return;
}