Files
sake/build/resources/main/mybatis/xml/mapper/itrnt/str/BOItrntStrMapper.xml

226 lines
8.8 KiB
XML

<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.wb.domainserver.domain.itrnt.str.mapper.BOItrntStrMapper">
<!-- 매장 > 매장 목록 조회 > where -->
<sql id="selectBOStrListWhere">
<![CDATA[
WHERE 1=1
AND ST.TENT_STTUS = '02'
AND ST.MRHST_AT = 'Y'
AND ST.SITE_EXPSR_AT = 'Y'
AND IFNULl(ST.REPRSNT_BRAND, '') != ''
]]>
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(sopmalCd)">
AND ST.TRTMNT_BRAND LIKE CONCAT('%',#{sopmalCd},'%')
</if>
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(reprsntBrand)">
AND ST.REPRSNT_BRAND = #{reprsntBrand}
</if>
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(srchKeyword)">
<![CDATA[
AND ST.STR_NM LIKE CONCAT('%', #{srchKeyword},'%')
]]>
</if>
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(srchCtyDo)">
<![CDATA[
AND ST.CTY_DO = (
SELECT
GCD.CD_NM
FROM GC_CODE_GROUP GRP
INNER JOIN GC_CODE GCD ON GCD.GROUP_CD = GRP.GROUP_CD
WHERE 1=1
AND GRP.GROUP_CD = 'SIDO'
AND GCD.CD = #{srchCtyDo}
)
]]>
</if>
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(srchCtyGunGu)">
<![CDATA[
AND ST.CTY_GUN_GU LIKE CONCAT('%', #{srchCtyGunGu},'%')
]]>
</if>
</sql>
<!-- 매장 > 매장 목록 조회 > from -->
<sql id="selectBOStrListFrom">
<![CDATA[
FROM
GC_STORE ST
INNER JOIN
(
SELECT
CTY_DO
FROM
GC_STORE
GROUP BY
CTY_DO
) AS CTY
ON
ST.CTY_DO = CTY.CTY_DO
]]>
</sql>
<!-- 매장 > 매장 목록 조회 -->
<select id = "selectBOStrListCnt"
parameterType="com.wb.domainserver.domain.itrnt.str.vo.BOItrntStrVO"
resultType = "java.lang.Integer">
<![CDATA[
SELECT COUNT(1)
]]>
<include refid = "selectBOStrListFrom"/>
<include refid = "selectBOStrListWhere"/>
</select>
<!-- 매장 > 매장 목록 조회 -->
<select id = "selectBOStrListInqire"
parameterType="com.wb.domainserver.domain.itrnt.str.vo.BOItrntStrVO"
resultType = "dataMap">
<![CDATA[
SELECT *
FROM (
SELECT CAST(@ROWNUM:=@ROWNUM+1 AS UNSIGNED) AS RNUM
,TB.*
FROM (
SELECT
ST.STR_INNB,
ST.TENTCPN_ID,
ST.TENTCPN_NM,
ST.STR_NM,
ST.TENT_GROUP,
ST.TENT_STTUS,
ST.STR_CD,
ST.CTY_DO,
ST.CTY_GUN_GU,
ST.STR_ADRES_DV,
ST.STR_ZIP,
ST.STR_ADRES,
ST.STR_RNM_ADRES,
ST.STR_DTL_ADRES,
ST.STR_TELNB,
ST.REPRSNT_BRAND
]]>
<include refid = "selectBOStrListFrom"/>
<include refid = "selectBOStrListWhere"/>
<![CDATA[
ORDER BY FIELD(ST.CTY_DO, '제주특별자치도', '부산광역시', '울산광역시', '대구광역시', '광주광역시', '세종', '충청남도', '충청북도', '대전광역시', '강원도', '인천광역시', '경기도', '서울특별시') DESC
, ST.CTY_GUN_GU
) TB
WHERE (@rownum:=0)=0
) PV
WHERE 1=1
LIMIT #{recordCountPerPage} OFFSET #{firstIndex}
]]>
</select>
<!-- 매장 > 매장 목록 조회 시/도 별 그룹 -->
<select id = "selectBOStrListCtyGroup"
parameterType="com.wb.domainserver.domain.itrnt.str.vo.BOItrntStrVO"
resultType = "com.wb.domainserver.domain.itrnt.str.vo.BOItrntStrVO">
<![CDATA[
SELECT
CTY_DO,
COUNT(STR_INNB) AS STR_COUNT
FROM GC_STORE
WHERE CTY_DO IS NOT NULL
AND TRTMNT_BRAND LIKE CONCAT('%',#{sopmalCd},'%')
AND TENT_STTUS = '02' -- 개점
AND SITE_EXPSR_AT = 'Y'
AND MRHST_AT = 'Y'
AND IFNULl(REPRSNT_BRAND, '') != ''
GROUP BY CTY_DO
ORDER BY FIELD(CTY_DO, '제주특별자치도', '부산광역시', '울산광역시', '대구광역시', '광주광역시', '세종', '충청남도', '충청북도', '대전광역시', '강원도', '인천광역시', '경기도', '서울특별시') DESC;
]]>
</select>
<!-- 매장 > 매장 목록 조회 군/구 별 그룹 -->
<select id = "selectBOStrListGunGuGroup"
parameterType="com.wb.domainserver.domain.itrnt.str.vo.BOItrntStrVO"
resultType = "dataMap">
<![CDATA[
SELECT
CASE
WHEN SUBSTR(ST.CTY_DO,1,2) = '서울' THEN 1
WHEN SUBSTR(ST.CTY_DO,1,2) = '경기' THEN 2
WHEN SUBSTR(ST.CTY_DO,1,2) = '인천' THEN 3
WHEN SUBSTR(ST.CTY_DO,1,2) = '강원' THEN 4
WHEN SUBSTR(ST.CTY_DO,1,2) = '대전' THEN 5
WHEN SUBSTR(ST.CTY_DO,1,4) = '충청북도' THEN 6
WHEN SUBSTR(ST.CTY_DO,1,4) = '충청남도' THEN 7
WHEN SUBSTR(ST.CTY_DO,1,2) = '광주' THEN 8
WHEN SUBSTR(ST.CTY_DO,1,4) = '전라북도' THEN 9
WHEN SUBSTR(ST.CTY_DO,1,4) = '전라남도' THEN 10
WHEN SUBSTR(ST.CTY_DO,1,2) = '대구' THEN 11
WHEN SUBSTR(ST.CTY_DO,1,2) = '울산' THEN 12
WHEN SUBSTR(ST.CTY_DO,1,2) = '부산' THEN 13
WHEN SUBSTR(ST.CTY_DO,1,2) = '경북' THEN 14
WHEN SUBSTR(ST.CTY_DO,1,2) = '경남' THEN 15
WHEN SUBSTR(ST.CTY_DO,1,2) = '제주' THEN 16
ELSE 99
END AS CTY_DO_IDX,
ST.STR_INNB,
ST.CTY_DO,
ST.CTY_GUN_GU,
ST.STR_NM
FROM GC_STORE ST
INNER JOIN (
SELECT CTY_DO,
COUNT(STR_INNB) AS STR_COUNT
FROM GC_STORE
GROUP BY CTY_DO ) AS GROUP_COUNT
ON ST.CTY_DO = GROUP_COUNT.CTY_DO
WHERE TRTMNT_BRAND LIKE CONCAT('%',#{sopmalCd},'%')
AND TENT_STTUS = '02' -- 개점
AND SITE_EXPSR_AT = 'Y'
AND MRHST_AT = 'Y'
AND IFNULl(REPRSNT_BRAND, '') != ''
ORDER BY CTY_DO_IDX, STR_NM
]]>
</select>
<!-- 매장 > 매장 상세 조회 -->
<select id = "selectBOStrDtlInqire"
parameterType="com.wb.domainserver.domain.itrnt.str.vo.BOItrntStrVO"
resultType = "dataMap">
<![CDATA[
SELECT
STR_INNB
,STR_NM
,HVOF_DE
,HVOF_DE_ADIT
,CASE WHEN BSN_TME ='||||' THEN NULL ELSE BSN_TME END AS BSN_TME -- 빈값일 경우 |||| 으로 저장되는 부분있어 수정
,DATE_FORMAT(OPBIZ_DE, '%Y-%m-%d') AS OPBIZ_DE
,FN_GET_SOPMAL_NAME(#{sopmalCd}) AS SOPMAL_NM
,FN_GET_SOPMAL_NAME(REPRSNT_BRAND) AS REPRSNT_BRAND_NM
,REPRSNT_BRAND
,STR_TELNB
,STR_OPER_DV
,CTY_DO
,CTY_GUN_GU
,STR_ADRES_DV
,STR_ZIP
,STR_ADRES
,STR_RNM_ADRES
,STR_DTL_ADRES
,STR_REPRSNT_IMG
,STR_DTL_IMG
,CONCAT(STR_REPRSNT_IMG,'|',STR_DTL_IMG) AS STR_IMG
,LA
,LO
FROM
GC_STORE
WHERE 1=1
AND STR_INNB = #{strInnb}
AND TENT_STTUS = '02' -- 개점
AND SITE_EXPSR_AT = 'Y'
AND MRHST_AT = 'Y'
AND IFNULL(REPRSNT_BRAND, '') != ''
]]>
</select>
</mapper>