문화원 시작종료 시간 조회 보완

This commit is contained in:
KNKIM 2021-12-21 10:13:43 +09:00
parent 9ad0e95bc5
commit 8e31a9b478
2 changed files with 349 additions and 345 deletions

View File

@ -1,285 +1,289 @@
package nlib.col.service.impl; package nlib.col.service.impl;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
import javax.annotation.Resource; import javax.annotation.Resource;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.http.HttpMethod; import org.springframework.http.HttpMethod;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import nlib.col.service.CollectionVO; import nlib.col.service.CollectionVO;
import nlib.col.service.ReadService; import nlib.col.service.ReadService;
import nlib.info.service.InformService; import nlib.info.service.InformService;
import nlib.restful.DataApi; import nlib.restful.DataApi;
import nlib.restful.DataApiReqVO; import nlib.restful.DataApiReqVO;
import nlib.restful.DataApiResVO; import nlib.restful.DataApiResVO;
import nlib.util.StringUtil; import nlib.util.StringUtil;
/** /**
* <pre> * <pre>
* @Class Name : ReadServiceImpl.java * @Class Name : ReadServiceImpl.java
* *
* @Description : 열람신청관리 서비스 구현 클래스 * @Description : 열람신청관리 서비스 구현 클래스
* *
* *
* @프로젝트명: 지방문화원 통합자료관리시스템 구축사업 (2021) * @프로젝트명: 지방문화원 통합자료관리시스템 구축사업 (2021)
* *
* </pre> * </pre>
* *
* @ ------------ -------- --------------------------- * @ ------------ -------- ---------------------------
* @ 수정일 수정자 수정내용 * @ 수정일 수정자 수정내용
* @ ------------ -------- --------------------------- * @ ------------ -------- ---------------------------
* @ 2021-10-27 KNKIM 최초 생성 * @ 2021-10-27 KNKIM 최초 생성
* *
* *
* @author 이씨플라자 * DIGITALSHIP KNKIM * @author 이씨플라자 * DIGITALSHIP KNKIM
* @since 2021-10-27 * @since 2021-10-27
* @version 1.0 * @version 1.0
* *
*/ */
@Service("readService") @Service("readService")
public class ReadServiceImpl implements ReadService { public class ReadServiceImpl implements ReadService {
private static final Logger log = LoggerFactory.getLogger(ReadServiceImpl.class); private static final Logger log = LoggerFactory.getLogger(ReadServiceImpl.class);
@Resource(name="readDAO") @Resource(name="readDAO")
private ReadDAO readDAO; private ReadDAO readDAO;
@Resource(name="cartDAO") @Resource(name="cartDAO")
private CartDAO cartDAO; private CartDAO cartDAO;
@Resource(name="informService") @Resource(name="informService")
private InformService informService; private InformService informService;
/** RESTFul API 송수신 모듈 */ /** RESTFul API 송수신 모듈 */
@Resource(name = "dataApi") @Resource(name = "dataApi")
private DataApi dataApi; private DataApi dataApi;
/** /**
* 열람신청희망 가능 일자 목록을 조회한다. * 열람신청희망 가능 일자 목록을 조회한다.
* *
* @param mbInfoId * @param mbInfoId
* @return * @return
*/ */
public List<HashMap<String, String>> listDates() { public List<HashMap<String, String>> listDates() {
return readDAO.listDates(); return readDAO.listDates();
} }
/** /**
* 열람을 신청한다. * 열람을 신청한다.
* *
* @param list * @param list
* @param mbInfoId * @param mbInfoId
* @param mngOrgCd * @param mngOrgCd
* @return * @return
*/ */
public List<CollectionVO> insertReadItems(List<CollectionVO> list, String mbInfoId, CollectionVO readVO, boolean fromCart) throws Exception { public List<CollectionVO> insertReadItems(List<CollectionVO> list, String mbInfoId, CollectionVO readVO, boolean fromCart) throws Exception {
if(list == null || list.size() < 1) { if(list == null || list.size() < 1) {
log.error("insertReadItems > 열람 신청 대상 목록이 없습니다."); log.error("insertReadItems > 열람 신청 대상 목록이 없습니다.");
return null; return null;
} }
if(readVO == null) { if(readVO == null) {
log.error("insertReadItems > 매개변수 readVO는 null일 수 없습니다."); log.error("insertReadItems > 매개변수 readVO는 null일 수 없습니다.");
return null; return null;
} }
if(StringUtil.isEmpty(mbInfoId)) { if(StringUtil.isEmpty(mbInfoId)) {
log.error("insertReadItems > 사용자ID를 확인할 수 없습니다."); log.error("insertReadItems > 사용자ID를 확인할 수 없습니다.");
return null; return null;
} }
if(StringUtil.isEmpty(readVO.getMngOrgCd())) { if(StringUtil.isEmpty(readVO.getMngOrgCd())) {
log.error("insertReadItems > 관리문화원 코드를 확인할 수 없습니다."); log.error("insertReadItems > 관리문화원 코드를 확인할 수 없습니다.");
return null; return null;
} }
if(StringUtil.isEmpty(readVO.getHopeReqPridDtmFrom() )) { if(StringUtil.isEmpty(readVO.getHopeReqPridDtmFrom() )) {
log.error("insertReadItems > 방문희망일 시작일자를 확인할 수 없습니다."); log.error("insertReadItems > 방문희망일 시작일자를 확인할 수 없습니다.");
return null; return null;
} }
if(StringUtil.isEmpty(readVO.getHopeReqPridDtmTo() )) { if(StringUtil.isEmpty(readVO.getHopeReqPridDtmTo() )) {
log.error("insertReadItems > 방문희망일 종료일자를 확인할 수 없습니다."); log.error("insertReadItems > 방문희망일 종료일자를 확인할 수 없습니다.");
return null; return null;
} }
if(readVO.getHopeReqPridDtmFrom().compareTo(readVO.getHopeReqPridDtmTo()) > 0) { if(readVO.getHopeReqPridDtmFrom().compareTo(readVO.getHopeReqPridDtmTo()) > 0) {
log.error("insertReadItems > 방문희망일 종료일자는 시작일자 이후이어야 합니다."); log.error("insertReadItems > 방문희망일 종료일자는 시작일자 이후이어야 합니다.");
return null; return null;
} }
// 해당 문화원의 업무시간 조회 // 해당 문화원의 업무시간 조회
HashMap<String, String> operation = informService.selectNCultureOpenTime(readVO.getMngOrgCd()); HashMap<String, String> operation = informService.selectNCultureOpenTime(readVO.getMngOrgCd());
if(operation == null) {
// API 호출 log.error("insertReadItems > 지방문화원 정보를 확인할 수 없습니다.");
/* return null;
mngOrgCd 문화원코드 O String SU01 }
mbInfoId 사용자아이디 O String "BDCCAF34CF8AA365C660ADB121CE6741
(ARIAUtil 암호화)" // API 호출
jsonMasterId 자료번호목록 O String [{"masterId":"xxxx"}, {"masterId":"xxxb"},] /*
hopeReqPridDtmFrom 희망열람기간시작일자 O String 202109071300 mngOrgCd 문화원코드 O String SU01
hopeReqPridDtmTo 희망열람기간종료일자 O String 202109101400 mbInfoId 사용자아이디 O String "BDCCAF34CF8AA365C660ADB121CE6741
purpose 열람목적 String 열람목적 (ARIAUtil 암호화)"
*/ jsonMasterId 자료번호목록 O String [{"masterId":"xxxx"}, {"masterId":"xxxb"},]
DataApiReqVO reqVO = new DataApiReqVO("/uac/service/nlib/col/insertReserveItem", HttpMethod.POST); hopeReqPridDtmFrom 희망열람기간시작일자 O String 202109071300
reqVO.setMbInfoId(mbInfoId); // 통신 , 암호화되어 송수신됨 hopeReqPridDtmTo 희망열람기간종료일자 O String 202109101400
reqVO.putInfoItem("mngOrgCd" , readVO.getMngOrgCd()); purpose 열람목적 String 열람목적
reqVO.putInfoItem("hopeReqPridDtmFrom", readVO.getHopeReqPridDtmFrom().replaceAll("-", "") + StringUtil.getString(operation.get("OPEN_TIME"), "0900").replaceAll(":", "").substring(0, 4)); */
reqVO.putInfoItem("hopeReqPridDtmTo" , readVO.getHopeReqPridDtmTo().replaceAll("-", "") + StringUtil.getString(operation.get("CLOSED_TIME"), "1800").replaceAll(":", "").substring(0, 4)); DataApiReqVO reqVO = new DataApiReqVO("/uac/service/nlib/col/insertReserveItem", HttpMethod.POST);
CollectionVO cVO = null; reqVO.setMbInfoId(mbInfoId); // 통신 , 암호화되어 송수신됨
DataApiResVO resVO = null; reqVO.putInfoItem("mngOrgCd" , readVO.getMngOrgCd());
String jsonMasterId = ""; reqVO.putInfoItem("hopeReqPridDtmFrom", readVO.getHopeReqPridDtmFrom().replaceAll("-", "") + StringUtil.getString(operation.get("OPEN_TIME"), "0900").replaceAll(":", "").substring(0, 4));
reqVO.putInfoItem("hopeReqPridDtmTo" , readVO.getHopeReqPridDtmTo().replaceAll("-", "") + StringUtil.getString(operation.get("CLOSED_TIME"), "1800").replaceAll(":", "").substring(0, 4));
for(int i=0; i<list.size(); i++) { CollectionVO cVO = null;
cVO = list.get(i); DataApiResVO resVO = null;
if(StringUtil.isEmpty(cVO.getMasterId())) { String jsonMasterId = "";
cVO.setResult("F-REQ-MASTERID", "자료ID 정보가 없습니다.");
continue; for(int i=0; i<list.size(); i++) {
} cVO = list.get(i);
jsonMasterId += (", {\"masterId\":" + "\"" + cVO.getMasterId() + "\"}"); if(StringUtil.isEmpty(cVO.getMasterId())) {
cVO.setResult("F-REQ-MASTERID", "자료ID 정보가 없습니다.");
} continue;
}
if(StringUtil.isEmpty(jsonMasterId)) { jsonMasterId += (", {\"masterId\":" + "\"" + cVO.getMasterId() + "\"}");
log.error("insertReadItems > 열람 신청 대상으로 생성된 목록이 없습니다.");
return null; }
}
if(StringUtil.isEmpty(jsonMasterId)) {
jsonMasterId = "[" + jsonMasterId.substring(1) + "]"; log.error("insertReadItems > 열람 신청 대상으로 생성된 목록이 없습니다.");
return null;
reqVO.putInfoItem("jsonMasterId", jsonMasterId); }
resVO = dataApi.request(reqVO);
cVO.setResult(resVO.getResultCode(), resVO.getResultMessage()); jsonMasterId = "[" + jsonMasterId.substring(1) + "]";
// 카트에서 신청하여 성공한 경우, 카트 처리완료 변경 작업 reqVO.putInfoItem("jsonMasterId", jsonMasterId);
if(resVO != null && resVO.getResultCode() != null && resVO.getResultCode().startsWith("S") && fromCart) { resVO = dataApi.request(reqVO);
CollectionVO vVO = null; cVO.setResult(resVO.getResultCode(), resVO.getResultMessage());
for(int i=0; i<list.size(); i++) {
vVO = list.get(i); // 카트에서 신청하여 성공한 경우, 카트 처리완료 변경 작업
if(StringUtil.isEmpty(vVO.getMasterId())) continue; if(resVO != null && resVO.getResultCode() != null && resVO.getResultCode().startsWith("S") && fromCart) {
CollectionVO vVO = null;
// 카트에서의 처리 여부 업데이트 for(int i=0; i<list.size(); i++) {
if(fromCart) { vVO = list.get(i);
vVO.setMbInfoId(mbInfoId); if(StringUtil.isEmpty(vVO.getMasterId())) continue;
vVO.setCartProcDivCd("V"); // 방문열람신청완료
vVO.setModId(mbInfoId); // 카트에서의 처리 여부 업데이트
int retUpdateProc = cartDAO.changeCartProcDivCd(vVO); if(fromCart) {
log.debug("insertReadItems > changeCartProcDivCd=" + retUpdateProc); vVO.setMbInfoId(mbInfoId);
} vVO.setCartProcDivCd("V"); // 방문열람신청완료
} vVO.setModId(mbInfoId);
} int retUpdateProc = cartDAO.changeCartProcDivCd(vVO);
log.debug("insertReadItems > changeCartProcDivCd=" + retUpdateProc);
readVO.setResultCode(resVO.getResultCode()); }
readVO.setResultMessage(resVO.getResultMessage()); }
}
// 신청 처리 정보
if(resVO.isSuccess()) { readVO.setResultCode(resVO.getResultCode());
readVO.setHopeReqPridDtmFrom(StringUtil.formatDateStr(resVO.getInfoItem("hopeReqPridDtmFrom", ""),"")); readVO.setResultMessage(resVO.getResultMessage());
readVO.setHopeReqPridDtmTo(StringUtil.formatDateStr(resVO.getInfoItem("hopeReqPridDtmTo", ""),""));
readVO.setReqId(resVO.getInfoItem("reqId", "")); // 열람신청번호 // 신청 처리 정보
readVO.setReqDd(resVO.getInfoItem("reqDd", "")); // 열람신청일자 if(resVO.isSuccess()) {
readVO.setSelItems(resVO.getInfoItem("masterId")); // 자료번호 readVO.setHopeReqPridDtmFrom(StringUtil.formatDateStr(resVO.getInfoItem("hopeReqPridDtmFrom", ""),""));
} else { readVO.setHopeReqPridDtmTo(StringUtil.formatDateStr(resVO.getInfoItem("hopeReqPridDtmTo", ""),""));
readVO.setRsrvId(null); // 열람신청번호 readVO.setReqId(resVO.getInfoItem("reqId", "")); // 열람신청번호
readVO.setRsrvId(null); // 열람신청일자 readVO.setReqDd(resVO.getInfoItem("reqDd", "")); // 열람신청일자
} readVO.setSelItems(resVO.getInfoItem("masterId")); // 자료번호
} else {
return list; readVO.setRsrvId(null); // 열람신청번호
} readVO.setRsrvId(null); // 열람신청일자
}
/**
* 사용자의 열람건이 존재하는 문화원 정보 목록을 조회한다. return list;
* }
* @param mbInfoId
* @return /**
*/ * 사용자의 열람건이 존재하는 문화원 정보 목록을 조회한다.
public List<HashMap<String, String>> listReadMngOrg(String mbInfoId) { *
return readDAO.listReadMngOrg(mbInfoId); * @param mbInfoId
} * @return
*/
/** public List<HashMap<String, String>> listReadMngOrg(String mbInfoId) {
* 열람 목록 조회한다. return readDAO.listReadMngOrg(mbInfoId);
* }
* @param searchVO
* @return /**
*/ * 열람 목록 조회한다.
public DataApiResVO listReadItems(CollectionVO searchVO) { *
* @param searchVO
if(searchVO == null || StringUtil.isEmpty(searchVO.getMbInfoId())) { * @return
log.error("listRentItems > 열람 목록 조회 요청 정보가 없습니다."); */
return new DataApiResVO("F", "열람 목록 조회 요청 정보가 없습니다."); public DataApiResVO listReadItems(CollectionVO searchVO) {
}
if(searchVO == null || StringUtil.isEmpty(searchVO.getMbInfoId())) {
// API 호출 log.error("listRentItems > 열람 목록 조회 요청 정보가 없습니다.");
/* return new DataApiResVO("F", "열람 목록 조회 요청 정보가 없습니다.");
mngOrgCd 문화원코드 }
mbInfoId 사용자아이디
rows 페이지크기(페이지당최대표출건수) // API 호출
page 페이지번호 /*
bookLtRvStatusCd 대출상태구분코드("": 전체, A:신청, B:대출준비완료, C:취소, W:대출중, R0:정상반납, R1:연체반납 P:연체) mngOrgCd 문화원코드
*/ mbInfoId 사용자아이디
DataApiReqVO reqVO = new DataApiReqVO("/uac/service/nlib/col/listReserveItem", HttpMethod.GET); rows 페이지크기(페이지당최대표출건수)
reqVO.setMbInfoId(searchVO.getMbInfoId()); // 통신 , 암호화되어 송수신됨 page 페이지번호
reqVO.setPageSize(searchVO.getPageSize()); bookLtRvStatusCd 대출상태구분코드("": 전체, A:신청, B:대출준비완료, C:취소, W:대출중, R0:정상반납, R1:연체반납 P:연체)
reqVO.setPageIndex(searchVO.getPageIndex()); */
reqVO.putInfoItem("mngOrgCd", searchVO.getMngOrgCd()); DataApiReqVO reqVO = new DataApiReqVO("/uac/service/nlib/col/listReserveItem", HttpMethod.GET);
reqVO.putInfoItem("reqStatusDivCd", searchVO.getReqStatusDivCd()); reqVO.setMbInfoId(searchVO.getMbInfoId()); // 통신 , 암호화되어 송수신됨
return dataApi.request(reqVO); reqVO.setPageSize(searchVO.getPageSize());
} reqVO.setPageIndex(searchVO.getPageIndex());
reqVO.putInfoItem("mngOrgCd", searchVO.getMngOrgCd());
reqVO.putInfoItem("reqStatusDivCd", searchVO.getReqStatusDivCd());
/** return dataApi.request(reqVO);
* 열람신청을 취소한다. }
*
* @param searchVO
* @return /**
*/ * 열람신청을 취소한다.
public DataApiResVO cancelReadItem(CollectionVO searchVO) { *
* @param searchVO
String message = null; * @return
*/
if(searchVO == null || StringUtil.isEmpty(searchVO.getMbInfoId())) { public DataApiResVO cancelReadItem(CollectionVO searchVO) {
message = "로그인하신 후, 이용바랍니다.";
log.error("cancelRentItem > " + message); String message = null;
return new DataApiResVO("E", message);
} if(searchVO == null || StringUtil.isEmpty(searchVO.getMbInfoId())) {
message = "로그인하신 후, 이용바랍니다.";
if(StringUtil.isEmpty(searchVO.getMngOrgCd())) { log.error("cancelRentItem > " + message);
message = "문화원정보가 부적합합니다. 다시 요청하여 주시기 바랍니다."; return new DataApiResVO("E", message);
log.error("cancelRentItem > " + message); }
return new DataApiResVO("E", message);
} if(StringUtil.isEmpty(searchVO.getMngOrgCd())) {
message = "문화원정보가 부적합합니다. 다시 요청하여 주시기 바랍니다.";
if(StringUtil.isEmpty(searchVO.getReqId())) { log.error("cancelRentItem > " + message);
message = "취소할 방문열람신청번호 정보가 부적합합니다. 다시 요청하여 주시기 바랍니다."; return new DataApiResVO("E", message);
log.error("cancelRentItem > " + message); }
return new DataApiResVO("E", message);
} if(StringUtil.isEmpty(searchVO.getReqId())) {
message = "취소할 방문열람신청번호 정보가 부적합합니다. 다시 요청하여 주시기 바랍니다.";
if(StringUtil.isEmpty(searchVO.getMasterId())) { log.error("cancelRentItem > " + message);
message = "취소할 자료정보 정보가 부적합합니다. 다시 요청하여 주시기 바랍니다."; return new DataApiResVO("E", message);
log.error("cancelRentItem > " + message); }
return new DataApiResVO("E", message);
} if(StringUtil.isEmpty(searchVO.getMasterId())) {
message = "취소할 자료정보 정보가 부적합합니다. 다시 요청하여 주시기 바랍니다.";
// API 호출 log.error("cancelRentItem > " + message);
/* return new DataApiResVO("E", message);
mngOrgCd 문화원코드 }
mbInfoId 사용자아이디
reqId 열람신청번호 // API 호출
masterId 자료번호 /*
*/ mngOrgCd 문화원코드
DataApiReqVO reqVO = new DataApiReqVO("/uac/service/nlib/col/deleteReserveItem", HttpMethod.POST); mbInfoId 사용자아이디
reqVO.setMbInfoId(searchVO.getMbInfoId()); // 통신 , 암호화되어 송수신됨 reqId 열람신청번호
reqVO.putInfoItem("mngOrgCd", searchVO.getMngOrgCd()); masterId 자료번호
reqVO.putInfoItem("reqId", searchVO.getReqId()); */
reqVO.putInfoItem("masterId", searchVO.getMasterId()); DataApiReqVO reqVO = new DataApiReqVO("/uac/service/nlib/col/deleteReserveItem", HttpMethod.POST);
return dataApi.request(reqVO); reqVO.setMbInfoId(searchVO.getMbInfoId()); // 통신 , 암호화되어 송수신됨
} reqVO.putInfoItem("mngOrgCd", searchVO.getMngOrgCd());
reqVO.putInfoItem("reqId", searchVO.getReqId());
} reqVO.putInfoItem("masterId", searchVO.getMasterId());
return dataApi.request(reqVO);
}
}

View File

@ -1,61 +1,61 @@
<?xml version="1.0" encoding="UTF-8"?><!--Converted at: Wed May 11 15:49:38 KST 2016--> <?xml version="1.0" encoding="UTF-8"?><!--Converted at: Wed May 11 15:49:38 KST 2016-->
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="nlib.info.service.impl.InformDAO"> <mapper namespace="nlib.info.service.impl.InformDAO">
<select id="selectInfoContent" parameterType="String" resultType="HashMap"> <select id="selectInfoContent" parameterType="String" resultType="HashMap">
SELECT SELECT
CONTENT_ID CONTENT_ID
, CONTENT_TYPE , CONTENT_TYPE
, MNG_ORG_CD , MNG_ORG_CD
, TITLE , TITLE
, CONVERT(A.CONTENT_LBL USING UTF8) AS CONTENT , CONVERT(A.CONTENT_LBL USING UTF8) AS CONTENT
FROM BD_NLIB_CONTENT_PAGE A FROM BD_NLIB_CONTENT_PAGE A
WHERE A.CONTENT_TYPE = #{contentType} WHERE A.CONTENT_TYPE = #{contentType}
AND A.MNG_ORG_CD = #{mngOrgCd} AND A.MNG_ORG_CD = #{mngOrgCd}
</select> </select>
<select id="selectNCultureOpenTime" parameterType="String" resultType="HashMap"> <select id="selectNCultureOpenTime" parameterType="String" resultType="HashMap">
SELECT SELECT
OPEN_TIME IFNULL(OPEN_TIME,'09:00')
, CLOSED_TIME , IFNULL(CLOSED_TIME,'18:00')
, CLOSING_INFO , IFNULL(CLOSING_INFO, '관공서의 휴관일 및 국가가 정한 임시 공휴일 휴관')
FROM SM_DEPT A FROM SM_DEPT A
WHERE A.ORG_CD = #{orgCd} WHERE A.ORG_CD = #{orgCd}
</select> </select>
<select id="selectOperationEnv" parameterType="String" resultType="HashMap"> <select id="selectOperationEnv" parameterType="String" resultType="HashMap">
<!-- Param : orgCd --> <!-- Param : orgCd -->
SELECT SELECT
MAX(CASE WHEN GUBUN = 'MAX_LEND_DAYS' THEN ENV_VAL ELSE NULL END) AS MAX_LEND_DAYS MAX(CASE WHEN GUBUN = 'MAX_LEND_DAYS' THEN ENV_VAL ELSE NULL END) AS MAX_LEND_DAYS
, MAX(CASE WHEN GUBUN = 'MAX_LEND_COUNT' THEN ENV_VAL ELSE NULL END) AS MAX_LEND_COUNT , MAX(CASE WHEN GUBUN = 'MAX_LEND_COUNT' THEN ENV_VAL ELSE NULL END) AS MAX_LEND_COUNT
FROM( FROM(
SELECT 'MAX_LEND_DAYS' AS GUBUN, ENV_VAL SELECT 'MAX_LEND_DAYS' AS GUBUN, ENV_VAL
FROM SM_ENV FROM SM_ENV
WHERE ENV_ID = 'MAX_LEND_DAYS' WHERE ENV_ID = 'MAX_LEND_DAYS'
UNION ALL UNION ALL
SELECT 'MAX_LEND_COUNT' AS GUBUN, ENV_VAL SELECT 'MAX_LEND_COUNT' AS GUBUN, ENV_VAL
FROM SM_ENV FROM SM_ENV
WHERE ENV_ID = 'MAX_LEND_COUNT' WHERE ENV_ID = 'MAX_LEND_COUNT'
) A ) A
</select> </select>
<select id="selectNCultureAddr" parameterType="String" resultType="HashMap"> <select id="selectNCultureAddr" parameterType="String" resultType="HashMap">
SELECT SELECT
DEPT_NM DEPT_NM
, ADDRESS , ADDRESS
, ADDRESS_DETAIL , ADDRESS_DETAIL
, ZIP_CODE , ZIP_CODE
, PHONE_NO , PHONE_NO
, FAX_NO , FAX_NO
, LATITUDE , LATITUDE
, LONGITUDE , LONGITUDE
, OPEN_TIME , OPEN_TIME
, CLOSED_TIME , CLOSED_TIME
, CLOSING_INFO , CLOSING_INFO
FROM SM_DEPT A FROM SM_DEPT A
WHERE ORG_CD = #{orgCd} WHERE ORG_CD = #{orgCd}
LIMIT 1 LIMIT 1
</select> </select>
</mapper> </mapper>