메인 페이지 개발 - 중간 백업
This commit is contained in:
parent
2cf9515096
commit
c036e744c7
@ -1,19 +1,54 @@
|
|||||||
|
|
||||||
package nlib.cmm.service;
|
package nlib.cmm.service;
|
||||||
|
|
||||||
import java.util.HashMap;
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
import org.springframework.stereotype.Service;
|
/**
|
||||||
|
* <pre>
|
||||||
import nlib.restful.service.DataApiReqVO;
|
* @Class Name : CodeService.java
|
||||||
import nlib.restful.service.DataApiResVO;
|
*
|
||||||
|
* @Description : 코드 조회 공통 서비스 인터페이스
|
||||||
|
*
|
||||||
|
*
|
||||||
|
* @프로젝트명: 지방문화원 통합자료관리시스템 구축사업 (2021)
|
||||||
|
*
|
||||||
|
* </pre>
|
||||||
|
*
|
||||||
|
* @ ------------ -------- ---------------------------
|
||||||
|
* @ 수정일 수정자 수정내용
|
||||||
|
* @ ------------ -------- ---------------------------
|
||||||
|
* @ 2021. 07. 26. KNKIM 최초 생성
|
||||||
|
*
|
||||||
|
*
|
||||||
|
* @author 이씨플라자 * DIGITALSHIP KNKIM
|
||||||
|
* @since 2021. 07. 26.
|
||||||
|
* @version 1.0
|
||||||
|
*
|
||||||
|
*/
|
||||||
public interface CodeService
|
public interface CodeService
|
||||||
{
|
{
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 공통코드를 조회한다.
|
||||||
|
*
|
||||||
|
* @param iCodeId
|
||||||
|
* @return
|
||||||
|
* @throws Exception
|
||||||
|
*/
|
||||||
public List<Map<String, String>> listCodes(String iCodeId) throws Exception;
|
public List<Map<String, String>> listCodes(String iCodeId) throws Exception;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 주제분류코드를 조회한다.
|
||||||
|
*
|
||||||
|
* @return
|
||||||
|
* @throws Exception
|
||||||
|
*/
|
||||||
public List<Map<String, String>> listCtClsfs() throws Exception;
|
public List<Map<String, String>> listCtClsfs() throws Exception;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 자료유형 최상위 코드목록을 조회한다.
|
||||||
|
*/
|
||||||
|
public List<Map<String, String>> listTypeDivCodes() throws Exception;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -2,6 +2,9 @@
|
|||||||
package nlib.cmm.service;
|
package nlib.cmm.service;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
import nlib.col.service.CollectionVO;
|
||||||
|
|
||||||
public interface MainService
|
public interface MainService
|
||||||
{
|
{
|
||||||
@ -11,6 +14,48 @@ public interface MainService
|
|||||||
* @param mngOrgCd
|
* @param mngOrgCd
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
public List<String> listKeywords(String mngOrgCd);
|
public List<Map<String, String>> listKeywords(String mngOrgCd);
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 문화원 PICK한 자료 리스트를 조회한다.
|
||||||
|
*
|
||||||
|
* @param mngOrgCd
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public List<CollectionVO> listOrgPicks(String mngOrgCd);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 유형별인기자료 리스트를 조회한다.
|
||||||
|
*
|
||||||
|
* @param mngOrgCd
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public List<CollectionVO> listPops(CollectionVO searchVO);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 유형별인기자료 리스트를 조회한다. : 기본 자료유형 문서로 검색
|
||||||
|
*
|
||||||
|
* @param mngOrgCd
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public List<CollectionVO> listPops(String mngOrgCd);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 유형별인기자료 리스트를 조회한다.
|
||||||
|
*
|
||||||
|
* @param mngOrgCd
|
||||||
|
* @param typeDivCd
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public List<CollectionVO> listPops(String mngOrgCd, String typeDivCd);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 온라인자료관 리스트를 조회한다.
|
||||||
|
*
|
||||||
|
* @param mngOrgCd
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public List<CollectionVO> listOnline(String mngOrgCd);
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -31,7 +31,25 @@ import egovframework.rte.psl.dataaccess.mapper.Mapper;
|
|||||||
@Mapper("codeDAO")
|
@Mapper("codeDAO")
|
||||||
public interface CodeDAO {
|
public interface CodeDAO {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 공통코드를 조회한다.
|
||||||
|
*
|
||||||
|
* @param iCodeId
|
||||||
|
* @return
|
||||||
|
* @throws Exception
|
||||||
|
*/
|
||||||
public List<Map<String, String>> listCodes(String iCodeId) throws Exception;
|
public List<Map<String, String>> listCodes(String iCodeId) throws Exception;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 주제분류코드를 조회한다.
|
||||||
|
*
|
||||||
|
* @return
|
||||||
|
* @throws Exception
|
||||||
|
*/
|
||||||
public List<Map<String, String>> listCtClsfs() throws Exception;
|
public List<Map<String, String>> listCtClsfs() throws Exception;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 자료유형 최상위 코드목록을 조회한다.
|
||||||
|
*/
|
||||||
|
public List<Map<String, String>> listTypeDivCodes() throws Exception;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,9 +1,7 @@
|
|||||||
package nlib.cmm.service.impl;
|
package nlib.cmm.service.impl;
|
||||||
|
|
||||||
import java.util.HashMap;
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
|
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
@ -14,6 +12,28 @@ import egovframework.rte.fdl.cmmn.EgovAbstractServiceImpl;
|
|||||||
import nlib.cmm.service.CodeService;
|
import nlib.cmm.service.CodeService;
|
||||||
import nlib.util.StringUtil;
|
import nlib.util.StringUtil;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <pre>
|
||||||
|
* @Class Name : CodeServiceImpl.java
|
||||||
|
*
|
||||||
|
* @Description : 코드 조회 공통 서비스 구현
|
||||||
|
*
|
||||||
|
*
|
||||||
|
* @프로젝트명: 지방문화원 통합자료관리시스템 구축사업 (2021)
|
||||||
|
*
|
||||||
|
* </pre>
|
||||||
|
*
|
||||||
|
* @ ------------ -------- ---------------------------
|
||||||
|
* @ 수정일 수정자 수정내용
|
||||||
|
* @ ------------ -------- ---------------------------
|
||||||
|
* @ 2021. 07. 26. KNKIM 최초 생성
|
||||||
|
*
|
||||||
|
*
|
||||||
|
* @author 이씨플라자 * DIGITALSHIP KNKIM
|
||||||
|
* @since 2021. 07. 26.
|
||||||
|
* @version 1.0
|
||||||
|
*
|
||||||
|
*/
|
||||||
@Service("codeService")
|
@Service("codeService")
|
||||||
public class CodeServiceImpl extends EgovAbstractServiceImpl implements CodeService
|
public class CodeServiceImpl extends EgovAbstractServiceImpl implements CodeService
|
||||||
{
|
{
|
||||||
@ -22,6 +42,13 @@ public class CodeServiceImpl extends EgovAbstractServiceImpl implements CodeServ
|
|||||||
@Resource(name="codeDAO")
|
@Resource(name="codeDAO")
|
||||||
private CodeDAO codeDAO;
|
private CodeDAO codeDAO;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 공통코드를 조회한다.
|
||||||
|
*
|
||||||
|
* @param iCodeId
|
||||||
|
* @return
|
||||||
|
* @throws Exception
|
||||||
|
*/
|
||||||
public List<Map<String, String>> listCodes(String iCodeId) throws Exception {
|
public List<Map<String, String>> listCodes(String iCodeId) throws Exception {
|
||||||
|
|
||||||
if(StringUtil.isEmpty(iCodeId)) return null;
|
if(StringUtil.isEmpty(iCodeId)) return null;
|
||||||
@ -29,7 +56,20 @@ public class CodeServiceImpl extends EgovAbstractServiceImpl implements CodeServ
|
|||||||
return codeDAO.listCodes(iCodeId.toUpperCase());
|
return codeDAO.listCodes(iCodeId.toUpperCase());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 주제분류코드를 조회한다.
|
||||||
|
*
|
||||||
|
* @return
|
||||||
|
* @throws Exception
|
||||||
|
*/
|
||||||
public List<Map<String, String>> listCtClsfs() throws Exception {
|
public List<Map<String, String>> listCtClsfs() throws Exception {
|
||||||
return codeDAO.listCtClsfs();
|
return codeDAO.listCtClsfs();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 자료유형 최상위 코드목록을 조회한다.
|
||||||
|
*/
|
||||||
|
public List<Map<String, String>> listTypeDivCodes() throws Exception {
|
||||||
|
return codeDAO.listTypeDivCodes();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@ -4,13 +4,8 @@ package nlib.cmm.service.impl;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
import org.slf4j.Logger;
|
|
||||||
import org.slf4j.LoggerFactory;
|
|
||||||
import org.springframework.stereotype.Repository;
|
|
||||||
|
|
||||||
import egovframework.rte.psl.dataaccess.mapper.Mapper;
|
import egovframework.rte.psl.dataaccess.mapper.Mapper;
|
||||||
import nlib.restful.service.DataApiReqVO;
|
import nlib.col.service.CollectionVO;
|
||||||
import nlib.restful.service.DataApiResVO;
|
|
||||||
|
|
||||||
@Mapper("mainDAO")
|
@Mapper("mainDAO")
|
||||||
public interface MainDAO {
|
public interface MainDAO {
|
||||||
@ -21,6 +16,30 @@ public interface MainDAO {
|
|||||||
* @param mngOrgCd
|
* @param mngOrgCd
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
public List<String> listKeywords(String mngOrgCd);
|
public List<Map<String, String>> listKeywords(String mngOrgCd);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 문화원 PICK한 자료 리스트를 조회한다.
|
||||||
|
*
|
||||||
|
* @param mngOrgCd
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public List<CollectionVO> listOrgPicks(String mngOrgCd);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 유형별인기자료 리스트를 조회한다.
|
||||||
|
*
|
||||||
|
* @param mngOrgCd
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public List<CollectionVO> listPops(CollectionVO searchVO);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 온라인자료관 리스트를 조회한다.
|
||||||
|
*
|
||||||
|
* @param mngOrgCd
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public List<CollectionVO> listOnline(String mngOrgCd);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -3,6 +3,7 @@ package nlib.cmm.service.impl;
|
|||||||
|
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
|
|
||||||
@ -11,6 +12,8 @@ import org.slf4j.LoggerFactory;
|
|||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
import nlib.cmm.service.MainService;
|
import nlib.cmm.service.MainService;
|
||||||
|
import nlib.col.service.CollectionVO;
|
||||||
|
import nlib.util.StringUtil;
|
||||||
|
|
||||||
@Service("mainService")
|
@Service("mainService")
|
||||||
public class MainServiceImpl implements MainService
|
public class MainServiceImpl implements MainService
|
||||||
@ -26,7 +29,68 @@ public class MainServiceImpl implements MainService
|
|||||||
* @param mngOrgCd
|
* @param mngOrgCd
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
public List<String> listKeywords(String mngOrgCd) {
|
public List<Map<String, String>> listKeywords(String mngOrgCd) {
|
||||||
return mainDAO.listKeywords(mngOrgCd);
|
return mainDAO.listKeywords(mngOrgCd);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 문화원 PICK한 자료 리스트를 조회한다.
|
||||||
|
*
|
||||||
|
* @param mngOrgCd
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public List<CollectionVO> listOrgPicks(String mngOrgCd) {
|
||||||
|
return mainDAO.listOrgPicks(mngOrgCd);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 유형별인기자료 리스트를 조회한다. : 기본 자료유형 문서로 검색
|
||||||
|
*
|
||||||
|
* @param searchVO
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public List<CollectionVO> listPops(CollectionVO searchVO) {
|
||||||
|
return mainDAO.listPops(searchVO);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 유형별인기자료 리스트를 조회한다. : 기본 자료유형 문서로 검색
|
||||||
|
*
|
||||||
|
* @param mngOrgCd
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public List<CollectionVO> listPops(String mngOrgCd) {
|
||||||
|
CollectionVO searchVO = new CollectionVO();
|
||||||
|
searchVO.setMngOrgCd(mngOrgCd);
|
||||||
|
searchVO.setTypeDivCd("IT_DOC"); // 문서
|
||||||
|
return listPops(mngOrgCd, null);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 유형별인기자료 리스트를 조회한다.
|
||||||
|
*
|
||||||
|
* @param mngOrgCd
|
||||||
|
* @param typeDivCd
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public List<CollectionVO> listPops(String mngOrgCd, String typeDivCd) {
|
||||||
|
|
||||||
|
CollectionVO searchVO = new CollectionVO();
|
||||||
|
searchVO.setMngOrgCd(mngOrgCd);
|
||||||
|
if(StringUtil.isEmpty(typeDivCd)) typeDivCd = "IT_DOC";
|
||||||
|
searchVO.setTypeDivCd(typeDivCd);
|
||||||
|
|
||||||
|
return listPops(searchVO);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 온라인자료관 리스트를 조회한다.
|
||||||
|
*
|
||||||
|
* @param mngOrgCd
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public List<CollectionVO> listOnline(String mngOrgCd) {
|
||||||
|
return mainDAO.listOnline(mngOrgCd);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -1,5 +1,8 @@
|
|||||||
package nlib.cmm.web;
|
package nlib.cmm.web;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
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;
|
||||||
@ -14,6 +17,7 @@ import org.springframework.ui.ModelMap;
|
|||||||
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
|
|
||||||
import nlib.cmm.NlibCommonController;
|
import nlib.cmm.NlibCommonController;
|
||||||
|
import nlib.cmm.service.CodeService;
|
||||||
import nlib.cmm.service.MainService;
|
import nlib.cmm.service.MainService;
|
||||||
import nlib.cmm.service.NotificationService;
|
import nlib.cmm.service.NotificationService;
|
||||||
import nlib.col.service.CartService;
|
import nlib.col.service.CartService;
|
||||||
@ -51,23 +55,42 @@ public class MainController extends NlibCommonController {
|
|||||||
|
|
||||||
@Resource(name = "cartService")
|
@Resource(name = "cartService")
|
||||||
private CartService cartService;
|
private CartService cartService;
|
||||||
|
|
||||||
|
@Resource(name = "codeService")
|
||||||
|
private CodeService codeService;
|
||||||
|
|
||||||
@Resource(name = "mainService")
|
@Resource(name = "mainService")
|
||||||
private MainService mainService;
|
private MainService mainService;
|
||||||
|
|
||||||
@RequestMapping( {"/index.do"} )
|
@RequestMapping( {"/index.do"} )
|
||||||
public String setContent(
|
public String setContent(
|
||||||
HttpServletRequest req,
|
HttpServletRequest request,
|
||||||
HttpServletResponse res,
|
HttpServletResponse response,
|
||||||
Authentication authentication,
|
Authentication authentication,
|
||||||
ModelMap model) throws Exception {
|
ModelMap model) throws Exception {
|
||||||
|
|
||||||
// 캐쉬된 Reqeust 히스토리 삭제
|
// 캐쉬된 Reqeust 히스토리 삭제
|
||||||
RequestCache cache = new HttpSessionRequestCache();
|
RequestCache cache = new HttpSessionRequestCache();
|
||||||
cache.removeRequest(req, res);
|
cache.removeRequest(request, response);
|
||||||
|
|
||||||
log.debug((authentication == null ? "손님 메인 접속" : authentication.getName() + " 메인 접속"));
|
String mngOrgCd = getCurCouncilCd(request);
|
||||||
|
|
||||||
|
// 추천키워드
|
||||||
|
List<Map<String, String>> listKeywords = mainService.listKeywords(mngOrgCd);
|
||||||
|
model.addAttribute("listKeywords", listKeywords);
|
||||||
|
|
||||||
|
// 문화원 PICK
|
||||||
|
model.addAttribute("listOrgPicks", mainService.listOrgPicks(mngOrgCd));
|
||||||
|
|
||||||
|
// 유형별 인기자료
|
||||||
|
List<Map<String, String>> listTypeDivCodes = codeService.listTypeDivCodes();
|
||||||
|
model.addAttribute("listTypeDivCodes", listTypeDivCodes);
|
||||||
|
String typeDivCd = (listTypeDivCodes == null || listTypeDivCodes.size() < 1 ? null : listTypeDivCodes.get(0).get("typeDivCd"));
|
||||||
|
model.addAttribute("listPops", mainService.listPops(mngOrgCd, typeDivCd));
|
||||||
|
|
||||||
|
// 온라인자료관
|
||||||
|
model.addAttribute("listOnline", mainService.listOnline(mngOrgCd));
|
||||||
|
|
||||||
return "nlib/cmm/home";
|
return "nlib/cmm/home";
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -87,11 +110,8 @@ public class MainController extends NlibCommonController {
|
|||||||
String mbInfoId = getMbInfoId(request);
|
String mbInfoId = getMbInfoId(request);
|
||||||
|
|
||||||
// 카트 건수 확인
|
// 카트 건수 확인
|
||||||
|
|
||||||
// 카트 목록 가져오기
|
|
||||||
int cartCnt = 0;
|
int cartCnt = 0;
|
||||||
if(StringUtil.isEmpty(mbInfoId)) {
|
if(StringUtil.isEmpty(mbInfoId)) {
|
||||||
// 카트 건수
|
|
||||||
cartCnt = cartService.countCartItemsFromCookie(request, response, "1");
|
cartCnt = cartService.countCartItemsFromCookie(request, response, "1");
|
||||||
cartCnt += cartService.countCartItemsFromCookie(request, response, "2");
|
cartCnt += cartService.countCartItemsFromCookie(request, response, "2");
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
@ -8,7 +8,6 @@
|
|||||||
, B.COLUMN1
|
, B.COLUMN1
|
||||||
, B.COLUMN2
|
, B.COLUMN2
|
||||||
, B.S_CODE_NM
|
, B.S_CODE_NM
|
||||||
|
|
||||||
FROM SM_CODE_M A,
|
FROM SM_CODE_M A,
|
||||||
SM_CODE_S B
|
SM_CODE_S B
|
||||||
WHERE A.L_CODE_ID = #{lCodeId}
|
WHERE A.L_CODE_ID = #{lCodeId}
|
||||||
@ -19,15 +18,22 @@
|
|||||||
</select>
|
</select>
|
||||||
|
|
||||||
<select id="listCtClsfs" resultType="EgovMap">
|
<select id="listCtClsfs" resultType="EgovMap">
|
||||||
SELECT
|
SELECT CLSF_ID
|
||||||
CLSF_ID
|
, CLSF_NM
|
||||||
,CLSF_NM
|
, UP_CLSF_ID
|
||||||
,UP_CLSF_ID
|
, REMARK
|
||||||
,REMARK
|
FROM CT_CLSF
|
||||||
FROM
|
ORDER BY REMARK;
|
||||||
CT_CLSF
|
|
||||||
WHERE 1=1
|
|
||||||
ORDER BY REMARK;
|
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
<!-- 유형 코드 목록 -->
|
||||||
|
<select id="listTypeDivCodes" parameterType="String" resultType="EgovMap">
|
||||||
|
SELECT S_CODE_ID AS TYPE_DIV_CD
|
||||||
|
, S_CODE_NM AS TYPE_DIV_NM
|
||||||
|
FROM SM_CODE_S
|
||||||
|
WHERE L_CODE_ID = 'MASTER_TYPE_DIV_CD'
|
||||||
|
AND USE_YN = 'Y'
|
||||||
|
ORDER BY SORT_SEQ
|
||||||
|
</select>
|
||||||
|
|
||||||
</mapper>
|
</mapper>
|
||||||
@ -4,9 +4,9 @@
|
|||||||
<mapper namespace="nlib.cmm.service.impl.MainDAO">
|
<mapper namespace="nlib.cmm.service.impl.MainDAO">
|
||||||
|
|
||||||
<!-- 추천키워드 목록 조회 -->
|
<!-- 추천키워드 목록 조회 -->
|
||||||
<select id="listKeywords" parameterType="String" resultType="String">
|
<select id="listKeywords" parameterType="String" resultType="EgovMap">
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
SELECT T.KEY_NAME
|
SELECT T.KEY_NAME, COUNT(KEY_NAME) AS CNT
|
||||||
FROM(
|
FROM(
|
||||||
SELECT
|
SELECT
|
||||||
TRIM(SUBSTRING_INDEX(SUBSTRING_INDEX(RM.KEYWORD, ';', NUMBERS.N), ';', -1)) AS KEY_NAME
|
TRIM(SUBSTRING_INDEX(SUBSTRING_INDEX(RM.KEYWORD, ';', NUMBERS.N), ';', -1)) AS KEY_NAME
|
||||||
@ -29,13 +29,14 @@
|
|||||||
]]>
|
]]>
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<!-- 문화원 PICK
|
<!-- 문화원 PICK -->
|
||||||
<select id="listKeywords" parameterType="String" resultType="String">
|
<select id="listOrgPicks" parameterType="String" resultType="CollectionVO">
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
SELECT
|
SELECT
|
||||||
MASTER_ID
|
MASTER_ID
|
||||||
, TITLE
|
, TITLE
|
||||||
, TYPE_DIV_NM
|
, TYPE_DIV_NM
|
||||||
|
, RPRS_THUMB_URL
|
||||||
FROM (
|
FROM (
|
||||||
/* 문화원 PICK한 자료 */
|
/* 문화원 PICK한 자료 */
|
||||||
(SELECT
|
(SELECT
|
||||||
@ -43,15 +44,16 @@
|
|||||||
, M1.MASTER_ID
|
, M1.MASTER_ID
|
||||||
, M1.TITLE
|
, M1.TITLE
|
||||||
, M1.TYPE_DIV_CD
|
, M1.TYPE_DIV_CD
|
||||||
, TDC.S_CODE_NM AS TYPE_DIV_NM
|
, TDC.S_CODE_NM AS TYPE_DIV_NM
|
||||||
|
, M1.RPRS_THUMB_URL
|
||||||
FROM BD_NLIB_RECOM_MASTER R
|
FROM BD_NLIB_RECOM_MASTER R
|
||||||
INNER JOIN RG_MASTER M1
|
INNER JOIN RG_MASTER M1
|
||||||
ON R.MASTER_ID = M1.MASTER_ID
|
ON R.MASTER_ID = M1.MASTER_ID
|
||||||
JOIN SM_CODE_S TDC ON M1.TYPE_DIV_CD = TDC.S_CODE_ID AND TDC.L_CODE_ID = 'MASTER_TYPE_DIV_CD'
|
JOIN SM_CODE_S TDC ON M1.TYPE_DIV_CD = TDC.S_CODE_ID AND TDC.L_CODE_ID = 'MASTER_TYPE_DIV_CD'
|
||||||
WHERE R.MNG_ORG_CD = #{mngOrgCd}
|
WHERE R.MNG_ORG_CD = #{mngOrgCd}
|
||||||
AND M2.OPEN_DIV_CD = '1' /* 공개구분 : 공개 */
|
AND M1.OPEN_DIV_CD = '1' /* 공개구분 : 공개 */
|
||||||
AND M2.REG_STATUS = 'REG_OK' /* 등록상태 : 등록완료 */
|
AND M1.REG_STATUS = 'REG_OK' /* 등록상태 : 등록완료 */
|
||||||
AND M2.USE_FLAG = 'Y'
|
AND M1.USE_FLAG = 'Y'
|
||||||
LIMIT 10)
|
LIMIT 10)
|
||||||
UNION
|
UNION
|
||||||
/* 문화원 PICK한 자료가 없거나 충분치 않은 경우, 대출/열람/온라인 가능 자료 중 최근 변경된 자료 */
|
/* 문화원 PICK한 자료가 없거나 충분치 않은 경우, 대출/열람/온라인 가능 자료 중 최근 변경된 자료 */
|
||||||
@ -60,7 +62,8 @@
|
|||||||
, M2.MASTER_ID
|
, M2.MASTER_ID
|
||||||
, M2.TITLE
|
, M2.TITLE
|
||||||
, M2.TYPE_DIV_CD
|
, M2.TYPE_DIV_CD
|
||||||
, TDC.S_CODE_NM AS TYPE_DIV_NM
|
, TDC.S_CODE_NM AS TYPE_DIV_NM
|
||||||
|
, M2.RPRS_THUMB_URL
|
||||||
FROM RG_MASTER M2
|
FROM RG_MASTER M2
|
||||||
JOIN SM_CODE_S TDC ON M2.TYPE_DIV_CD = TDC.S_CODE_ID AND TDC.L_CODE_ID = 'MASTER_TYPE_DIV_CD'
|
JOIN SM_CODE_S TDC ON M2.TYPE_DIV_CD = TDC.S_CODE_ID AND TDC.L_CODE_ID = 'MASTER_TYPE_DIV_CD'
|
||||||
WHERE M2.MNG_ORG_CD = #{mngOrgCd}
|
WHERE M2.MNG_ORG_CD = #{mngOrgCd}
|
||||||
@ -78,56 +81,84 @@
|
|||||||
ORDER BY RNK
|
ORDER BY RNK
|
||||||
LIMIT 10
|
LIMIT 10
|
||||||
]]>
|
]]>
|
||||||
</select>-->
|
</select>
|
||||||
|
|
||||||
<!-- 유형별인기자료
|
<!-- 유형별인기자료 -->
|
||||||
<select id="listKeywords" parameterType="String" resultType="String">
|
<select id="listPops" parameterType="CollectionVO" resultType="CollectionVO">
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
/* 현재 테이블 생성전으로 테이블 생성 후 변경 예정 */
|
/* 현재 테이블 생성전으로 테이블 생성 후 변경 예정 */
|
||||||
SELECT
|
SELECT
|
||||||
2 AS RNK
|
M.MASTER_ID
|
||||||
, M2.MASTER_ID
|
, M.TITLE
|
||||||
, M2.TITLE
|
, M.TYPE_DIV_CD
|
||||||
, M2.TYPE_DIV_CD
|
, C1.S_CODE_NM AS TYPE_DIV_NM
|
||||||
, TDC.S_CODE_NM AS TYPE_DIV_NM
|
, M.DTLS_TYPE_DIV_CD
|
||||||
FROM RG_MASTER M2
|
, C2.S_CODE_NM DTLS_TYPE_DIV_NM
|
||||||
JOIN SM_CODE_S TDC ON M2.TYPE_DIV_CD = TDC.S_CODE_ID AND TDC.L_CODE_ID = 'MASTER_TYPE_DIV_CD'
|
, M.SUBJECT_CODE
|
||||||
WHERE M2.MNG_ORG_CD = #{mngOrgCd}
|
, CONCAT(
|
||||||
AND M2.TYPE_DIV_CD = IFNULL(#{typeDivCd},'IT_DOC') /* 자료유형 : 문서 기본 */
|
NVL((
|
||||||
AND M2.OPEN_DIV_CD = '1' /* 공개구분 : 공개 */
|
SELECT CONCAT(CLSF_NM, ' > ')
|
||||||
AND M2.REG_STATUS = 'REG_OK' /* 등록상태 : 등록완료 */
|
FROM CT_CLSF
|
||||||
AND M2.USE_FLAG = 'Y'
|
WHERE CLSF_ID = (
|
||||||
AND M2.OPER_OUT_RANGE_CD = '01' /* 대출구분 : 대출가능 */
|
SELECT UP_CLSF_ID FROM CT_CLSF
|
||||||
AND M2.OPER_READ_RANGE_CD = '01' /* 열람 : 전체열람 */
|
WHERE CLSF_ID = CAST(M.SUBJECT_CODE AS CHAR(35)) )
|
||||||
AND IFNULL(M2.PE_STATUS, '') = '' /* 보존상태 */
|
AND UP_CLSF_ID = '2') , '')
|
||||||
AND IFNULL(M2.BOOKCASE_ID, '') != '' /* 서가아이디 존재 */
|
, (SELECT CLSF_NM FROM CT_CLSF WHERE CLSF_ID = CAST(M.SUBJECT_CODE AS CHAR(35)))
|
||||||
AND M2.DIGITAL_READ_YN = 'Y' /* 디지탈열람여부 */
|
) AS SUBJECT_NM
|
||||||
ORDER BY M2.MOD_DD DESC
|
, M.MOD_DD
|
||||||
LIMIT 10
|
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.TYPE_DIV_CD = IFNULL(#{typeDivCd},'IT_DOC') /* 자료유형 : 문서 기본 */
|
||||||
|
AND M.OPEN_DIV_CD = '1' /* 공개구분 : 공개 */
|
||||||
|
AND M.REG_STATUS = 'REG_OK' /* 등록상태 : 등록완료 */
|
||||||
|
AND M.USE_FLAG = 'Y'
|
||||||
|
AND M.OPER_OUT_RANGE_CD = '01' /* 대출구분 : 대출가능 */
|
||||||
|
AND M.OPER_READ_RANGE_CD = '01' /* 열람 : 전체열람 */
|
||||||
|
AND IFNULL(M.PE_STATUS, '') = '' /* 보존상태 */
|
||||||
|
AND IFNULL(M.BOOKCASE_ID, '') != '' /* 서가아이디 존재 */
|
||||||
|
AND M.DIGITAL_READ_YN = 'Y' /* 디지탈열람여부 */
|
||||||
|
ORDER BY M.MOD_DD DESC
|
||||||
|
LIMIT 10
|
||||||
]]>
|
]]>
|
||||||
</select>-->
|
</select>
|
||||||
|
|
||||||
<!-- 온라인자료관
|
<!-- 온라인자료관 -->
|
||||||
<select id="listKeywords" parameterType="String" resultType="String">
|
<select id="listOnline" parameterType="String" resultType="CollectionVO">
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
SELECT
|
SELECT
|
||||||
M.MASTER_ID
|
M.MASTER_ID
|
||||||
, M.TITLE
|
, M.TITLE
|
||||||
, M.TYPE_DIV_CD
|
, M.TYPE_DIV_CD
|
||||||
, TDC.S_CODE_NM AS TYPE_DIV_NM
|
, C1.S_CODE_NM AS TYPE_DIV_NM
|
||||||
, M.MOD_DD
|
, M.DTLS_TYPE_DIV_CD
|
||||||
FROM RG_MASTER M
|
, C2.S_CODE_NM DTLS_TYPE_DIV_NM
|
||||||
JOIN SM_CODE_S TDC ON M.TYPE_DIV_CD = TDC.S_CODE_ID AND TDC.L_CODE_ID = 'MASTER_TYPE_DIV_CD'
|
, M.SUBJECT_CODE
|
||||||
WHERE M.MNG_ORG_CD = 'KCCF'
|
, CONCAT(
|
||||||
AND M.OPEN_DIV_CD = '1' /* 공개구분 : 공개 */
|
NVL((
|
||||||
AND M.REG_STATUS = 'REG_OK' /* 등록상태 : 등록완료 */
|
SELECT CONCAT(CLSF_NM, ' > ')
|
||||||
AND M.USE_FLAG = 'Y'
|
FROM CT_CLSF
|
||||||
AND IFNULL(M.PE_STATUS, '') = '' /* 보존상태 */
|
WHERE CLSF_ID = (
|
||||||
AND M.DIGITAL_READ_YN = 'Y' /* 디지탈열람여부 */
|
SELECT UP_CLSF_ID FROM CT_CLSF
|
||||||
AND IFNULL(M.M_INTERFACE_ID, '') = '' /* 미디어인터페이스ID */
|
WHERE CLSF_ID = CAST(M.SUBJECT_CODE AS CHAR(35)) )
|
||||||
ORDER BY M.MOD_DD DESC
|
AND UP_CLSF_ID = '2') , '')
|
||||||
LIMIT 10
|
, (SELECT CLSF_NM FROM CT_CLSF WHERE CLSF_ID = CAST(M.SUBJECT_CODE AS CHAR(35)))
|
||||||
|
) AS SUBJECT_NM
|
||||||
|
, M.MOD_DD
|
||||||
|
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.USE_FLAG = 'Y'
|
||||||
|
AND IFNULL(M.PE_STATUS, '') = '' /* 보존상태 */
|
||||||
|
AND M.DIGITAL_READ_YN = 'Y' /* 디지탈열람여부 */
|
||||||
|
AND IFNULL(M.M_INTERFACE_ID, '') = '' /* 미디어인터페이스ID */
|
||||||
|
ORDER BY M.MOD_DD DESC
|
||||||
|
LIMIT 10
|
||||||
]]>
|
]]>
|
||||||
</select> -->
|
</select>
|
||||||
|
|
||||||
</mapper>
|
</mapper>
|
||||||
@ -12,6 +12,24 @@ $(document).ready(function() {
|
|||||||
fn_myAlert(unreadNotiCnt);
|
fn_myAlert(unreadNotiCnt);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
function fn_search(keyword) {
|
||||||
|
var form = document.createElement("form");
|
||||||
|
form.style.display = "none";
|
||||||
|
$(form).attr("action", "/search/searchList.do");
|
||||||
|
$(form).attr("method", "post");
|
||||||
|
|
||||||
|
var element = document.createElement("input");
|
||||||
|
$(element).attr("name", "query");
|
||||||
|
|
||||||
|
$(element).attr("value", keyword);
|
||||||
|
form.appendChild(element);
|
||||||
|
document.body.appendChild(form);
|
||||||
|
form.submit();
|
||||||
|
document.body.removeChild(form);
|
||||||
|
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<!-- 섹션1 -->
|
<!-- 섹션1 -->
|
||||||
@ -52,6 +70,7 @@ $(document).ready(function() {
|
|||||||
</section>
|
</section>
|
||||||
|
|
||||||
<!-- 섹션2 -->
|
<!-- 섹션2 -->
|
||||||
|
<c:if test="${fn:length(listKeywords) > 0 }">
|
||||||
<section class="sec2">
|
<section class="sec2">
|
||||||
<h2 class="blind">키워드 섹션영역</h2>
|
<h2 class="blind">키워드 섹션영역</h2>
|
||||||
<div class="inner">
|
<div class="inner">
|
||||||
@ -59,42 +78,18 @@ $(document).ready(function() {
|
|||||||
<h3 class="title"><span>AI 추천</span> 키워드</h3>
|
<h3 class="title"><span>AI 추천</span> 키워드</h3>
|
||||||
<p class="desc">어떤 자료들을 소장 중인지 키워드로 살펴보세요!</p>
|
<p class="desc">어떤 자료들을 소장 중인지 키워드로 살펴보세요!</p>
|
||||||
<ul class="list-tag">
|
<ul class="list-tag">
|
||||||
<li><a href="/" title="">#경주</a></li>
|
<c:forEach var="itemKeyword" items="${listKeywords }">
|
||||||
<li><a href="/" title="">#경주문화재</a></li>
|
<li><a href="javascript:void(0)" title="${itemKeyword.keyName }" onclick="fn_search('${itemKeyword.keyName }')"># ${itemKeyword.keyName }</a>
|
||||||
<li><a href="/" title="">#불국사</a></li>
|
</li>
|
||||||
<li><a href="/" title="">#보양음식</a></li>
|
</c:forEach>
|
||||||
<li><a href="/" title="">#삼계탕</a></li>
|
|
||||||
<li><a href="/" title="">#전통음식</a></li>
|
|
||||||
<li><a href="/" title="">#경주문화원</a></li>
|
|
||||||
<li><a href="/" title="">#경주</a></li>
|
|
||||||
<li><a href="/" title="">#경주문화재</a></li>
|
|
||||||
<li><a href="/" title="">#불국사</a></li>
|
|
||||||
<li><a href="/" title="">#보양음식</a></li>
|
|
||||||
<li><a href="/" title="">#삼계탕</a></li>
|
|
||||||
<li><a href="/" title="">#전통음식</a></li>
|
|
||||||
<li><a href="/" title="">#경주문화원</a></li>
|
|
||||||
<li><a href="/" title="">#경주</a></li>
|
|
||||||
<li><a href="/" title="">#경주문화재</a></li>
|
|
||||||
<li><a href="/" title="">#경주문화원</a></li>
|
|
||||||
<li><a href="/" title="">#경주</a></li>
|
|
||||||
<li><a href="/" title="">#경주문화재</a></li>
|
|
||||||
<li><a href="/" title="">#불국사</a></li>
|
|
||||||
<li><a href="/" title="">#보양음식</a></li>
|
|
||||||
<li><a href="/" title="">#삼계탕</a></li>
|
|
||||||
<li><a href="/" title="">#전통음식</a></li>
|
|
||||||
<li><a href="/" title="">#경주문화원</a></li>
|
|
||||||
<li><a href="/" title="">#경주</a></li>
|
|
||||||
<li><a href="/" title="">#경주문화재</a></li>
|
|
||||||
<li><a href="/" title="">#전통음식</a></li>
|
|
||||||
<li><a href="/" title="">#경주문화원</a></li>
|
|
||||||
<li><a href="/" title="">#경주</a></li>
|
|
||||||
<li><a href="/" title="">#경주문화재</a></li>
|
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
|
</c:if>
|
||||||
|
|
||||||
<!-- 섹션3 -->
|
<!-- 섹션3 -->
|
||||||
|
<c:if test="${fn:length(listOrgPicks) > 0 }">
|
||||||
<section class="sec3">
|
<section class="sec3">
|
||||||
<h2 class="blind">문화원픽 섹션영역</h2>
|
<h2 class="blind">문화원픽 섹션영역</h2>
|
||||||
<div class="inner">
|
<div class="inner">
|
||||||
@ -105,61 +100,23 @@ $(document).ready(function() {
|
|||||||
<!-- Swiper -->
|
<!-- Swiper -->
|
||||||
<div class="swiper pickSwiper">
|
<div class="swiper pickSwiper">
|
||||||
<div class="swiper-wrapper">
|
<div class="swiper-wrapper">
|
||||||
|
|
||||||
|
<c:forEach var="itemPick" items="${listOrgPicks }">
|
||||||
|
|
||||||
<div class="swiper-slide">
|
<div class="swiper-slide">
|
||||||
<div class="list-box">
|
<div class="list-box">
|
||||||
<div class="images"><a href="/" title=""><img src="/images/img/img-sec3-01.jpg" alt=""></a></div>
|
<div class="images"><a href="javascript:void(0)" onclick="gfn_getDetail('${itemPick.masterId }')" title="상세조회"><img src="${itemPick.rprsThumbUrlWithDefault }" alt=""></a></div>
|
||||||
<div class="subject">
|
<div class="subject">
|
||||||
<a href="/" title="">
|
<a href="/" title="">
|
||||||
<span class="block"><span class="cla">도서간행물</span></span>
|
<span class="block"><span class="cla">${itemPick.typeDivNm }</span></span>
|
||||||
<span class="tit underline pink">양산예찬문집</span>
|
<span class="tit underline pink">${itemPick.title }</span>
|
||||||
</a>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="swiper-slide">
|
|
||||||
<div class="list-box">
|
|
||||||
<div class="images"><a href="/" title=""><img src="/images/img/img-sec3-01.jpg" alt=""></a></div>
|
|
||||||
<div class="subject">
|
|
||||||
<a href="/" title="">
|
|
||||||
<span class="block"><span class="cla">문서</span></span>
|
|
||||||
<span class="tit underline pink">三憂堂 文益漸先生 棉花展示館 竣工記念詩集</span>
|
|
||||||
</a>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="swiper-slide">
|
|
||||||
<div class="list-box">
|
|
||||||
<div class="images"><a href="/" title=""><img src="/images/img/img-sec3-01.jpg" alt=""></a></div>
|
|
||||||
<div class="subject">
|
|
||||||
<a href="/" title="">
|
|
||||||
<span class="block"><span class="cla">박물</span></span>
|
|
||||||
<span class="tit underline pink">국역 慶州郡 (국역 경주군)</span>
|
|
||||||
</a>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="swiper-slide">
|
|
||||||
<div class="list-box">
|
|
||||||
<div class="images"><a href="/" title=""><img src="/images/img/img-sec3-01.jpg" alt=""></a></div>
|
|
||||||
<div class="subject">
|
|
||||||
<a href="/" title="">
|
|
||||||
<span class="block"><span class="cla">사진필름류</span></span>
|
|
||||||
<span class="tit underline pink">경주읍성 남문 장례문의 문루</span>
|
|
||||||
</a>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="swiper-slide">
|
|
||||||
<div class="list-box">
|
|
||||||
<div class="images"><a href="/" title=""><img src="/images/img/img-sec3-01.jpg" alt=""></a></div>
|
|
||||||
<div class="subject">
|
|
||||||
<a href="/" title="">
|
|
||||||
<span class="block"><span class="cla">도면/지도</span></span>
|
|
||||||
<span class="tit underline pink">慶州 風物 地理誌 (경주 풍물 지리지)</span>
|
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
</c:forEach>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<div class="swiper-button-next"></div>
|
<div class="swiper-button-next"></div>
|
||||||
<div class="swiper-button-prev"></div>
|
<div class="swiper-button-prev"></div>
|
||||||
@ -168,6 +125,7 @@ $(document).ready(function() {
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
|
</c:if>
|
||||||
|
|
||||||
<!-- 섹션4 -->
|
<!-- 섹션4 -->
|
||||||
<section class="sec4">
|
<section class="sec4">
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user