merge master into develop - CscListRForm.jsp FAQ 아코디언 버그 수정
This commit is contained in:
@@ -0,0 +1,936 @@
|
||||
<?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.gcone.stats.marktAnals.mapper.BOMarktAnalsMapper">
|
||||
|
||||
<!--
|
||||
어제 데이터 조회
|
||||
# 일별 유입수
|
||||
-->
|
||||
<select id="selectBOMngrMainDalyInflowCntInqire"
|
||||
parameterType = "DataMap"
|
||||
resultType="DataMap">
|
||||
|
||||
<![CDATA[
|
||||
SELECT
|
||||
COUNT(DISTINCT AGENT_ID ) AS ACCESS_USER_CNT
|
||||
FROM
|
||||
GC_ACCESS_STAT A
|
||||
WHERE 1 = 1
|
||||
AND A.SOPMAL_CD = #{sopmalCd}
|
||||
AND DATE(A.BGN_DT) = CURDATE() - INTERVAL 1 DAY
|
||||
]]>
|
||||
</select>
|
||||
|
||||
<!--
|
||||
#21 일별 시간대별 유입수와 결제수
|
||||
-->
|
||||
<select id="selectBOHourlySetleCntInflowCntInqire"
|
||||
parameterType = "DataMap"
|
||||
resultType="DataMap">
|
||||
|
||||
<![CDATA[
|
||||
WITH RECURSIVE Hours AS (
|
||||
SELECT 1 AS HR
|
||||
UNION ALL
|
||||
SELECT HR + 1
|
||||
FROM Hours
|
||||
WHERE HR < 24
|
||||
)
|
||||
SELECT
|
||||
CONCAT( LPAD(H.HR, 2, '0'), '시') AS DT,
|
||||
COALESCE(SUM(A.ACCESS_USER_CNT), 0) AS ACCESS_USER_CNT,
|
||||
COALESCE(SUM(O.ORDR_CNT), 0) AS ORDR_CNT
|
||||
FROM Hours H
|
||||
LEFT JOIN (
|
||||
SELECT
|
||||
DATE_FORMAT(BGN_DT, '%H') AS HR,
|
||||
COUNT(DISTINCT AGENT_ID) AS ACCESS_USER_CNT
|
||||
FROM GC_ACCESS_STAT A
|
||||
WHERE A.SOPMAL_CD = #{sopmalCd}
|
||||
AND A.BGN_DT BETWEEN #{srchStrtSndngDt} AND #{srchEndSndngDt} ' 23:59:59'
|
||||
GROUP BY HR
|
||||
) A ON A.HR = H.HR
|
||||
LEFT JOIN (
|
||||
SELECT
|
||||
DATE_FORMAT(SETLE_COMPT_DT, '%H') AS ORD_HR,
|
||||
SUM(CASE WHEN ORRE_DV_CD = '01' and ORDR_STTUS_CD between '25' and '75' THEN 1 ELSE NULL END) AS ORDR_CNT
|
||||
FROM GC_ORRE_STAT O
|
||||
WHERE O.SOPMAL_CD = #{sopmalCd}
|
||||
AND O.SETLE_COMPT_DT BETWEEN #{srchStrtSndngDt} AND #{srchEndSndngDt} ' 23:59:59'
|
||||
AND O.ORDR_STTUS_CD between '25' and '85'
|
||||
]]>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(srchOrdrEnvrnCds)">
|
||||
AND O.SLE_ENVRN_CD IN
|
||||
<foreach collection="srchOrdrEnvrnCds" item="srchOrdrEnvrnCd" open="(" close=")" separator=",">
|
||||
#{srchOrdrEnvrnCd}
|
||||
</foreach>
|
||||
</if>
|
||||
<![CDATA[
|
||||
GROUP BY ORD_HR
|
||||
) O ON O.ORD_HR = H.HR
|
||||
GROUP BY H.HR
|
||||
ORDER BY H.HR ASC
|
||||
]]>
|
||||
</select>
|
||||
|
||||
<!--
|
||||
# 통계 > 일별 유입수 및 결제수
|
||||
-->
|
||||
<select id="selectBODailyChartSetleCntInflowCntInqire"
|
||||
parameterType = "DataMap"
|
||||
resultType="DataMap">
|
||||
|
||||
<![CDATA[
|
||||
WITH RECURSIVE DateSeries AS (
|
||||
SELECT #{srchStrtSndngDt} AS DT
|
||||
UNION ALL
|
||||
SELECT DATE_ADD(DT, INTERVAL 1 DAY)
|
||||
FROM DateSeries
|
||||
WHERE DT < date_sub( #{srchEndSndngDt}, interval 1 day)
|
||||
)
|
||||
SELECT
|
||||
DATE_FORMAT(DS.DT, '%Y%m%d') AS DT,
|
||||
COALESCE(SUM(X.ACCESS_USER_CNT), 0) AS ACCESS_USER_CNT,
|
||||
COALESCE(SUM(X.ORDR_CNT), 0) AS ORDR_CNT
|
||||
FROM DateSeries DS
|
||||
LEFT JOIN (
|
||||
SELECT DATE_FORMAT(A.BGN_DT, '%Y%m%d') AS DT
|
||||
, COUNT(DISTINCT A.AGENT_ID) AS ACCESS_USER_CNT
|
||||
, 0 AS ORDR_CNT
|
||||
FROM GC_ACCESS_STAT A
|
||||
WHERE 1=1
|
||||
AND A.SOPMAL_CD = #{sopmalCd}
|
||||
AND A.BGN_DT BETWEEN #{srchStrtSndngDt} AND CONCAT(#{srchEndSndngDt}, ' 23:59:59')
|
||||
GROUP BY DATE_FORMAT(A.BGN_DT, '%Y%m%d')
|
||||
UNION ALL
|
||||
SELECT DATE_FORMAT(A.SETLE_COMPT_DT, '%Y%m%d') AS ORD_DT
|
||||
, 0 AS ACCESS_USER_CNT
|
||||
, SUM(CASE WHEN A.ORRE_DV_CD = '01' and A.ORDR_STTUS_CD between '25' and '75' THEN 1 ELSE NULL END) AS ORDR_CNT
|
||||
FROM GC_ORRE_STAT A
|
||||
WHERE 1=1
|
||||
AND A.SOPMAL_CD = #{sopmalCd}
|
||||
AND A.SETLE_COMPT_DT BETWEEN #{srchStrtSndngDt} AND CONCAT(#{srchEndSndngDt}, ' 23:59:59')
|
||||
AND A.ORRE_DV_CD = '01' /* 25.03.12 수정*/
|
||||
AND A.ORDR_STTUS_CD between '25' and '75' /* 25.03.12 수정*/
|
||||
]]>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(srchOrdrEnvrnCds)">
|
||||
AND A.SLE_ENVRN_CD IN
|
||||
<foreach collection="srchOrdrEnvrnCds" item="srchOrdrEnvrnCd" open="(" close=")" separator=",">
|
||||
#{srchOrdrEnvrnCd}
|
||||
</foreach>
|
||||
</if>
|
||||
<![CDATA[
|
||||
GROUP BY DATE_FORMAT(A.SETLE_COMPT_DT, '%Y%m%d')
|
||||
) X ON DATE_FORMAT(DS.DT, '%Y%m%d') = X.DT
|
||||
GROUP BY DS.DT
|
||||
ORDER BY DS.DT ASC
|
||||
]]>
|
||||
</select>
|
||||
|
||||
<!--
|
||||
#주별 유입수와 결제수
|
||||
-->
|
||||
<select id="selectBOWeeklyChartSetleCntInflowCntInqire"
|
||||
parameterType="DataMap"
|
||||
resultType="DataMap">
|
||||
|
||||
<![CDATA[
|
||||
SELECT
|
||||
WEEK(DATE_SUB(X.DT, INTERVAL (WEEKDAY(X.DT) + 3) % 7 DAY), 1) AS YR_WK,
|
||||
MIN(X.DT) AS DT,
|
||||
COALESCE(SUM(X.ACCESS_USER_CNT), 0) AS ACCESS_USER_CNT,
|
||||
COALESCE(SUM(X.ORDR_CNT), 0) AS ORDR_CNT
|
||||
FROM (
|
||||
SELECT DATE_FORMAT(BGN_DT , '%Y%m%d') AS DT
|
||||
, COUNT(DISTINCT AGENT_ID ) AS ACCESS_USER_CNT
|
||||
, 0 ORDR_CNT
|
||||
FROM GC_ACCESS_STAT A
|
||||
WHERE 1=1
|
||||
AND A.SOPMAL_CD = #{sopmalCd}
|
||||
AND A.BGN_DT BETWEEN #{srchStrtSndngDt} AND #{srchEndSndngDt} ' 23:59:59'
|
||||
GROUP BY DT
|
||||
UNION ALL
|
||||
SELECT DATE_FORMAT(SETLE_COMPT_DT , '%Y%m%d') AS ORD_DT
|
||||
, 0 ACCESS_USER_CNT
|
||||
, SUM(CASE WHEN ORRE_DV_CD = '01' and ORDR_STTUS_CD between '25' and '75' THEN 1 ELSE NULL END ) AS ORDR_CNT
|
||||
FROM GC_ORRE_STAT A
|
||||
WHERE 1=1
|
||||
AND A.SOPMAL_CD = #{sopmalCd}
|
||||
AND A.SETLE_COMPT_DT BETWEEN #{srchStrtSndngDt} AND #{srchEndSndngDt} ' 23:59:59'
|
||||
AND A.ORDR_STTUS_CD NOT IN ('95','99') /* 추가 조건 */
|
||||
]]>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(srchOrdrEnvrnCds)">
|
||||
AND A.SLE_ENVRN_CD IN
|
||||
<foreach collection="srchOrdrEnvrnCds" item="srchOrdrEnvrnCd" open="(" close=")" separator=",">
|
||||
#{srchOrdrEnvrnCd}
|
||||
</foreach>
|
||||
</if>
|
||||
<![CDATA[
|
||||
GROUP BY ORD_DT
|
||||
) X
|
||||
GROUP BY YR_WK
|
||||
ORDER BY DT ASC, YR_WK ASC
|
||||
]]>
|
||||
</select>
|
||||
|
||||
<!--
|
||||
#월별 유입수와 결제수
|
||||
-->
|
||||
<select id="selectBOMonthlyChartSetleCntInflowCntInqire"
|
||||
parameterType="DataMap"
|
||||
resultType="DataMap">
|
||||
|
||||
<![CDATA[
|
||||
SELECT
|
||||
DT ,
|
||||
COALESCE(SUM(X.ACCESS_USER_CNT), 0) AS ACCESS_USER_CNT,
|
||||
COALESCE(SUM(X.ORDR_CNT), 0) AS ORDR_CNT
|
||||
FROM (
|
||||
SELECT DATE_FORMAT(BGN_DT , '%Y%m') AS DT
|
||||
, COUNT(DISTINCT AGENT_ID ) AS ACCESS_USER_CNT
|
||||
, 0 ORDR_CNT
|
||||
FROM GC_ACCESS_STAT A
|
||||
WHERE 1=1
|
||||
AND A.SOPMAL_CD = #{sopmalCd}
|
||||
AND A.BGN_DT BETWEEN #{srchStrtSndngDt} AND #{srchEndSndngDt} ' 23:59:59'
|
||||
GROUP BY DT
|
||||
UNION ALL
|
||||
SELECT DATE_FORMAT(SETLE_COMPT_DT , '%Y%m') AS ORD_DT
|
||||
, 0 ACCESS_USER_CNT
|
||||
, SUM(CASE WHEN ORRE_DV_CD = '01' and A.ORDR_STTUS_CD between '25' and '75' THEN 1 ELSE NULL END ) AS ORDR_CNT
|
||||
FROM GC_ORRE_STAT A
|
||||
WHERE 1=1
|
||||
AND A.SOPMAL_CD = #{sopmalCd}
|
||||
AND A.SETLE_COMPT_DT BETWEEN #{srchStrtSndngDt} AND #{srchEndSndngDt} ' 23:59:59'
|
||||
AND A.ORDR_STTUS_CD NOT IN ('95','99') /* 추가 조건 */
|
||||
]]>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(srchOrdrEnvrnCds)">
|
||||
AND A.SLE_ENVRN_CD IN
|
||||
<foreach collection="srchOrdrEnvrnCds" item="srchOrdrEnvrnCd" open="(" close=")" separator=",">
|
||||
#{srchOrdrEnvrnCd}
|
||||
</foreach>
|
||||
</if>
|
||||
<![CDATA[
|
||||
GROUP BY ORD_DT
|
||||
) X
|
||||
GROUP BY DT
|
||||
ORDER BY DT ASC
|
||||
]]>
|
||||
</select>
|
||||
|
||||
<!--
|
||||
#21 일별 시간대별 결제금액
|
||||
-->
|
||||
<select id="selectBOHourlySetleAmtInqire"
|
||||
parameterType = "DataMap"
|
||||
resultType="DataMap">
|
||||
|
||||
<![CDATA[
|
||||
WITH RECURSIVE cal_hr AS (
|
||||
SELECT 1 AS HR
|
||||
UNION ALL
|
||||
SELECT HR + 1
|
||||
FROM cal_hr
|
||||
WHERE HR < 24
|
||||
)
|
||||
SELECT H.HR
|
||||
, CONCAT( LPAD(H.HR, 2, '0'), '시') AS DT_HR
|
||||
, COALESCE( SUM(ORDR_CNT), 0) AS ORDR_CNT #주문건수
|
||||
, COALESCE( SUM(REFUND_CNT), 0) AS REFUND_CNT #환불건수
|
||||
, COALESCE( SUM(RL_SETLE_AMT), 0) AS RL_SETLE_AMT #결제금액
|
||||
, COALESCE( SUM(REFUND_AMT), 0) AS REFUND_AMT #환불금액
|
||||
FROM cal_hr H
|
||||
LEFT JOIN (
|
||||
SELECT DATE_FORMAT(SETLE_COMPT_DT , '%H') AS HR
|
||||
, SUM(CASE WHEN ORRE_DV_CD = '01' and ORDR_STTUS_CD between '25' and '75' THEN 1 ELSE NULL END ) AS ORDR_CNT
|
||||
, COUNT(DISTINCT CASE WHEN ORRE_DV_CD = '02' THEN PARNTS_ORDR_INNB ELSE NULL END ) AS REFUND_CNT
|
||||
, SUM(case when ORDR_STTUS_CD between '25' and '75' then RL_SETLE_AMT else NULL end ) RL_SETLE_AMT
|
||||
, SUM(REFUND_AMT) REFUND_AMT
|
||||
FROM GC_ORRE_STAT A
|
||||
WHERE A.SOPMAL_CD = #{sopmalCd}
|
||||
AND A.SETLE_COMPT_DT BETWEEN #{srchStrtSndngDt} AND #{srchEndSndngDt} ' 23:59:59'
|
||||
AND ORDR_STTUS_CD between '25' and '85'
|
||||
]]>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(srchOrdrEnvrnCds)">
|
||||
AND A.SLE_ENVRN_CD IN
|
||||
<foreach collection="srchOrdrEnvrnCds" item="srchOrdrEnvrnCd" open="(" close=")" separator=",">
|
||||
#{srchOrdrEnvrnCd}
|
||||
</foreach>
|
||||
</if>
|
||||
<![CDATA[
|
||||
GROUP BY HR
|
||||
) TOT
|
||||
ON TOT.HR = H.HR
|
||||
GROUP BY H.HR
|
||||
ORDER BY H.HR
|
||||
]]>
|
||||
</select>
|
||||
|
||||
<!--
|
||||
#22 일별 유입수와 결제수 표 건수 조회
|
||||
-->
|
||||
<select id="selectBODailySetleCntInflowCntTableCntInqire"
|
||||
parameterType = "com.wb.domainserver.domain.gcone.stats.marktAnals.vo.BOMarktAnalsVO"
|
||||
resultType="java.lang.Integer">
|
||||
|
||||
<![CDATA[
|
||||
SELECT
|
||||
COUNT(*)
|
||||
FROM (
|
||||
SELECT
|
||||
DT,
|
||||
COALESCE( ACCESS_USER_CNT, 0) AS ACCESS_USER_CNT,
|
||||
COALESCE( ORDR_CNT, 0) AS ORDR_CNT,
|
||||
COALESCE( RL_SETLE_AMT, 0) AS RL_SETLE_AMT,
|
||||
IF( ACCESS_USER_CNT = 0 , 0, ROUND( COALESCE(ORDR_CNT / ACCESS_USER_CNT * 100, 0) )) AS RL_SETLE_AMT_RT
|
||||
FROM (
|
||||
SELECT
|
||||
DAY_T.DT,
|
||||
SUM(ACCESS_USER_CNT) AS ACCESS_USER_CNT,
|
||||
SUM(ORDR_CNT) AS ORDR_CNT,
|
||||
SUM(RL_SETLE_AMT) AS RL_SETLE_AMT
|
||||
FROM (
|
||||
WITH RECURSIVE DateSeries AS (
|
||||
SELECT #{srchStrtSndngDt} AS DT
|
||||
UNION ALL
|
||||
SELECT DT + INTERVAL 1 DAY
|
||||
FROM DateSeries
|
||||
WHERE DT < #{srchEndSndngDt}
|
||||
)
|
||||
SELECT DATE_FORMAT(DS.DT, '%Y-%m-%d') AS DT
|
||||
FROM DateSeries DS
|
||||
) DAY_T
|
||||
LEFT JOIN (
|
||||
SELECT DATE_FORMAT(BGN_DT , '%Y-%m-%d') AS DT
|
||||
, COUNT(DISTINCT AGENT_ID ) AS ACCESS_USER_CNT
|
||||
, 0 AS ORDR_CNT
|
||||
, 0 AS RL_SETLE_AMT
|
||||
FROM GC_ACCESS_STAT A
|
||||
WHERE 1=1
|
||||
AND A.SOPMAL_CD = #{sopmalCd}
|
||||
AND A.BGN_DT BETWEEN #{srchStrtSndngDt} AND #{srchEndSndngDt} ' 23:59:59'
|
||||
GROUP BY DT
|
||||
UNION ALL
|
||||
SELECT DATE_FORMAT(SETLE_COMPT_DT , '%Y-%m-%d') AS ORD_DT
|
||||
, 0 AS ACCESS_USER_CNT
|
||||
, SUM(CASE WHEN ORRE_DV_CD = '01' and A.ORDR_STTUS_CD between '25' and '75' THEN 1 ELSE NULL END ) AS ORDR_CNT
|
||||
, SUM(RL_SETLE_AMT) RL_SETLE_AMT
|
||||
FROM GC_ORRE_STAT A
|
||||
WHERE 1=1
|
||||
AND A.SOPMAL_CD = #{sopmalCd}
|
||||
AND A.ORRE_DV_CD = '01' /* 25.03.12 수정*/
|
||||
AND A.ORDR_STTUS_CD between '25' and '75' /* 25.03.12 수정*/
|
||||
AND A.SETLE_COMPT_DT BETWEEN #{srchStrtSndngDt} AND #{srchEndSndngDt} ' 23:59:59'
|
||||
]]>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(srchOrdrEnvrnCds)">
|
||||
AND A.SLE_ENVRN_CD IN
|
||||
<foreach collection="srchOrdrEnvrnCds" item="srchOrdrEnvrnCd" open="(" close=")" separator=",">
|
||||
#{srchOrdrEnvrnCd}
|
||||
</foreach>
|
||||
</if>
|
||||
<![CDATA[
|
||||
GROUP BY ORD_DT
|
||||
) X
|
||||
ON DAY_T.DT = X.DT
|
||||
GROUP BY DT
|
||||
)A2
|
||||
ORDER BY ${ordrFinal}
|
||||
) AS TEMP
|
||||
]]>
|
||||
</select>
|
||||
|
||||
|
||||
<!--
|
||||
#12, 13.일별 실적 표 조회 표 조회
|
||||
-->
|
||||
<select id="selectBODailySetleCntInflowCntTableInqire"
|
||||
parameterType = "com.wb.domainserver.domain.gcone.stats.marktAnals.vo.BOMarktAnalsVO"
|
||||
resultType="DataMap">
|
||||
|
||||
<![CDATA[
|
||||
SELECT
|
||||
*
|
||||
FROM (
|
||||
SELECT
|
||||
CAST(@ROWNUM:=@ROWNUM+1 AS UNSIGNED) AS RNUM, TB.*
|
||||
FROM (
|
||||
SELECT
|
||||
DT,
|
||||
COALESCE( ACCESS_USER_CNT, 0) AS ACCESS_USER_CNT,
|
||||
COALESCE( ORDR_CNT, 0) AS ORDR_CNT,
|
||||
COALESCE( RL_SETLE_AMT, 0) AS RL_SETLE_AMT,
|
||||
IF( ACCESS_USER_CNT = 0 , 0, ROUND( COALESCE(ORDR_CNT / ACCESS_USER_CNT * 100, 0) )) AS RL_SETLE_AMT_RT
|
||||
FROM (
|
||||
SELECT
|
||||
DAY_T.DT,
|
||||
SUM(ACCESS_USER_CNT) AS ACCESS_USER_CNT,
|
||||
SUM(ORDR_CNT) AS ORDR_CNT,
|
||||
SUM(RL_SETLE_AMT) AS RL_SETLE_AMT
|
||||
FROM (
|
||||
WITH RECURSIVE DateSeries AS (
|
||||
SELECT #{srchStrtSndngDt} AS DT
|
||||
UNION ALL
|
||||
SELECT DT + INTERVAL 1 DAY
|
||||
FROM DateSeries
|
||||
WHERE DT < date_sub( #{srchEndSndngDt}, interval 1 day)
|
||||
)
|
||||
SELECT DATE_FORMAT(DS.DT, '%Y-%m-%d') AS DT
|
||||
FROM DateSeries DS
|
||||
) DAY_T
|
||||
LEFT JOIN (
|
||||
SELECT DATE_FORMAT(BGN_DT , '%Y-%m-%d') AS DT
|
||||
, COUNT(DISTINCT AGENT_ID ) AS ACCESS_USER_CNT
|
||||
, 0 AS ORDR_CNT
|
||||
, 0 AS RL_SETLE_AMT
|
||||
FROM GC_ACCESS_STAT A
|
||||
WHERE 1=1
|
||||
AND A.SOPMAL_CD = #{sopmalCd}
|
||||
AND A.BGN_DT BETWEEN #{srchStrtSndngDt} AND #{srchEndSndngDt} ' 23:59:59'
|
||||
GROUP BY DT
|
||||
UNION ALL
|
||||
SELECT DATE_FORMAT(SETLE_COMPT_DT , '%Y-%m-%d') AS ORD_DT
|
||||
, 0 AS ACCESS_USER_CNT
|
||||
, SUM(CASE WHEN ORRE_DV_CD = '01' and A.ORDR_STTUS_CD between '25' and '75' THEN 1 ELSE NULL END ) AS ORDR_CNT
|
||||
, SUM(RL_SETLE_AMT) RL_SETLE_AMT
|
||||
FROM GC_ORRE_STAT A
|
||||
WHERE 1=1
|
||||
AND A.SOPMAL_CD = #{sopmalCd}
|
||||
AND A.ORRE_DV_CD = '01' /* 25.03.12 수정*/
|
||||
AND A.ORDR_STTUS_CD between '25' and '75' /* 25.03.12 수정*/
|
||||
AND A.SETLE_COMPT_DT BETWEEN #{srchStrtSndngDt} AND #{srchEndSndngDt} ' 23:59:59'
|
||||
]]>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(srchOrdrEnvrnCds)">
|
||||
AND A.SLE_ENVRN_CD IN
|
||||
<foreach collection="srchOrdrEnvrnCds" item="srchOrdrEnvrnCd" open="(" close=")" separator=",">
|
||||
#{srchOrdrEnvrnCd}
|
||||
</foreach>
|
||||
</if>
|
||||
<![CDATA[
|
||||
GROUP BY ORD_DT
|
||||
) X
|
||||
ON DAY_T.DT = X.DT
|
||||
GROUP BY DT
|
||||
)A2
|
||||
ORDER BY ${ordrFinal}
|
||||
) TB
|
||||
WHERE (@rownum:=0)=0
|
||||
) PV
|
||||
WHERE 1=1
|
||||
LIMIT #{recordCountPerPage} OFFSET #{firstIndex}
|
||||
]]>
|
||||
</select>
|
||||
|
||||
|
||||
<!--
|
||||
#22 별 시간대별 유입수와 결제수 표 건수 조회
|
||||
-->
|
||||
<select id="selectBODailyHourlySetleCntInflowCntTableCntInqire"
|
||||
parameterType = "com.wb.domainserver.domain.gcone.stats.marktAnals.vo.BOMarktAnalsVO"
|
||||
resultType="java.lang.Integer">
|
||||
|
||||
<![CDATA[
|
||||
SELECT
|
||||
COUNT(*)
|
||||
FROM (
|
||||
SELECT
|
||||
DT,
|
||||
HR,
|
||||
ACCESS_USER_CNT,
|
||||
COALESCE( ORDR_CNT, 0) AS ORDR_CNT,
|
||||
COALESCE( RL_SETLE_AMT, 0) AS RL_SETLE_AMT,
|
||||
IF( ACCESS_USER_CNT = 0 , 0, ROUND( COALESCE(ORDR_CNT / ACCESS_USER_CNT * 100, 0) )) AS RL_SETLE_AMT_RT
|
||||
FROM (
|
||||
SELECT
|
||||
DT,
|
||||
HR,
|
||||
SUM(ACCESS_USER_CNT) AS ACCESS_USER_CNT,
|
||||
SUM(ORDR_CNT) AS ORDR_CNT,
|
||||
SUM(RL_SETLE_AMT) AS RL_SETLE_AMT
|
||||
FROM (
|
||||
SELECT DT, HR
|
||||
, 0 ACCESS_USER_CNT
|
||||
, 0 ORDR_CNT
|
||||
, 0 RL_SETLE_AMT
|
||||
FROM (
|
||||
-- 시간테이블
|
||||
WITH RECURSIVE cal_day AS (
|
||||
SELECT #{srchStrtSndngDt} DT
|
||||
UNION ALL
|
||||
SELECT
|
||||
DT + interval 1 day
|
||||
FROM
|
||||
cal_day
|
||||
WHERE
|
||||
DT + interval 1 day <= #{srchEndSndngDt}
|
||||
)
|
||||
SELECT DT
|
||||
FROM cal_day
|
||||
) DAY_T
|
||||
JOIN (
|
||||
-- 시간테이블
|
||||
WITH RECURSIVE cal_hr AS (
|
||||
SELECT 1 HR
|
||||
UNION ALL
|
||||
SELECT
|
||||
HR + 1
|
||||
FROM
|
||||
cal_hr
|
||||
WHERE
|
||||
HR + 1 <= 24
|
||||
)
|
||||
SELECT lpad(HR-1, 2, '0') HR
|
||||
FROM cal_hr
|
||||
) HR_T
|
||||
ON 1=1
|
||||
UNION ALL
|
||||
SELECT DATE_FORMAT(BGN_DT , '%Y-%m-%d') AS DT
|
||||
, DATE_FORMAT(BGN_DT , '%H') AS HR
|
||||
, COUNT(DISTINCT AGENT_ID ) AS ACCESS_USER_CNT
|
||||
, 0 AS ORDR_CNT
|
||||
, 0 AS RL_SETLE_AMT
|
||||
FROM GC_ACCESS_STAT A
|
||||
WHERE 1=1
|
||||
AND A.SOPMAL_CD = #{sopmalCd}
|
||||
AND A.BGN_DT BETWEEN #{srchStrtSndngDt} AND #{srchEndSndngDt} ' 23:59:59'
|
||||
GROUP BY DT, HR
|
||||
UNION ALL
|
||||
SELECT DATE_FORMAT(SETLE_COMPT_DT , '%Y-%m-%d') AS ORD_DT
|
||||
, DATE_FORMAT(SETLE_COMPT_DT , '%H') AS ORD_HR
|
||||
, 0 AS ACCESS_USER_CNT
|
||||
, SUM(CASE WHEN ORRE_DV_CD = '01' and A.ORDR_STTUS_CD between '25' and '75' THEN 1 ELSE NULL END ) AS ORDR_CNT
|
||||
, SUM(RL_SETLE_AMT) RL_SETLE_AMT
|
||||
FROM GC_ORRE_STAT A
|
||||
WHERE 1=1
|
||||
AND A.SOPMAL_CD = #{sopmalCd}
|
||||
AND A.ORRE_DV_CD = '01' /* 25.03.12 수정*/
|
||||
AND A.ORDR_STTUS_CD between '25' and '75' /* 25.03.12 수정*/
|
||||
AND A.SETLE_COMPT_DT BETWEEN #{srchStrtSndngDt} AND #{srchEndSndngDt} ' 23:59:59'
|
||||
]]>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(srchOrdrEnvrnCds)">
|
||||
AND A.SLE_ENVRN_CD IN
|
||||
<foreach collection="srchOrdrEnvrnCds" item="srchOrdrEnvrnCd" open="(" close=")" separator=",">
|
||||
#{srchOrdrEnvrnCd}
|
||||
</foreach>
|
||||
</if>
|
||||
<![CDATA[
|
||||
GROUP BY ORD_DT, ORD_HR
|
||||
) A
|
||||
GROUP BY DT, HR
|
||||
)A2
|
||||
ORDER BY ${ordrFinal}
|
||||
) AS TEMP
|
||||
]]>
|
||||
</select>
|
||||
|
||||
|
||||
<!--
|
||||
#22 일별 시간대별 유입수와 결제수 표 조회
|
||||
-->
|
||||
<select id="selectBODailyHourlySetleCntInflowCntTableInqire"
|
||||
parameterType = "com.wb.domainserver.domain.gcone.stats.marktAnals.vo.BOMarktAnalsVO"
|
||||
resultType="DataMap">
|
||||
|
||||
<![CDATA[
|
||||
SELECT
|
||||
*
|
||||
FROM (
|
||||
SELECT
|
||||
CAST(@ROWNUM:=@ROWNUM+1 AS UNSIGNED) AS RNUM, TB.*
|
||||
FROM (
|
||||
SELECT
|
||||
DT,
|
||||
HR,
|
||||
ACCESS_USER_CNT,
|
||||
COALESCE( ORDR_CNT, 0) AS ORDR_CNT,
|
||||
COALESCE( RL_SETLE_AMT, 0) AS RL_SETLE_AMT,
|
||||
IF( ACCESS_USER_CNT = 0 , 0, ROUND( COALESCE(ORDR_CNT / ACCESS_USER_CNT * 100, 0) )) AS RL_SETLE_AMT_RT
|
||||
FROM (
|
||||
SELECT
|
||||
DT,
|
||||
HR,
|
||||
SUM(ACCESS_USER_CNT) AS ACCESS_USER_CNT,
|
||||
SUM(ORDR_CNT) AS ORDR_CNT,
|
||||
SUM(RL_SETLE_AMT) AS RL_SETLE_AMT
|
||||
FROM (
|
||||
SELECT DT, HR
|
||||
, 0 ACCESS_USER_CNT
|
||||
, 0 ORDR_CNT
|
||||
, 0 RL_SETLE_AMT
|
||||
FROM (
|
||||
-- 시간테이블
|
||||
WITH RECURSIVE cal_day AS (
|
||||
SELECT #{srchStrtSndngDt} DT
|
||||
UNION ALL
|
||||
SELECT
|
||||
DT + interval 1 day
|
||||
FROM
|
||||
cal_day
|
||||
WHERE
|
||||
DT + interval 1 day <= #{srchEndSndngDt}
|
||||
)
|
||||
SELECT DT
|
||||
FROM cal_day
|
||||
) DAY_T
|
||||
JOIN (
|
||||
-- 시간테이블
|
||||
WITH RECURSIVE cal_hr AS (
|
||||
SELECT 1 HR
|
||||
UNION ALL
|
||||
SELECT
|
||||
HR + 1
|
||||
FROM
|
||||
cal_hr
|
||||
WHERE
|
||||
HR + 1 <= 24
|
||||
)
|
||||
SELECT lpad(HR-1, 2, '0') HR
|
||||
FROM cal_hr
|
||||
) HR_T
|
||||
ON 1=1
|
||||
UNION ALL
|
||||
SELECT DATE_FORMAT(BGN_DT , '%Y-%m-%d') AS DT
|
||||
, DATE_FORMAT(BGN_DT , '%H') AS HR
|
||||
, COUNT(DISTINCT AGENT_ID ) AS ACCESS_USER_CNT
|
||||
, 0 AS ORDR_CNT
|
||||
, 0 AS RL_SETLE_AMT
|
||||
FROM GC_ACCESS_STAT A
|
||||
WHERE 1=1
|
||||
AND A.SOPMAL_CD = #{sopmalCd}
|
||||
AND A.BGN_DT BETWEEN #{srchStrtSndngDt} AND #{srchEndSndngDt} ' 23:59:59'
|
||||
GROUP BY DT, HR
|
||||
UNION ALL
|
||||
SELECT DATE_FORMAT(SETLE_COMPT_DT , '%Y-%m-%d') AS ORD_DT
|
||||
, DATE_FORMAT(SETLE_COMPT_DT , '%H') AS ORD_HR
|
||||
, 0 AS ACCESS_USER_CNT
|
||||
, SUM(CASE WHEN ORRE_DV_CD = '01' and A.ORDR_STTUS_CD between '25' and '75' THEN 1 ELSE NULL END ) AS ORDR_CNT
|
||||
, SUM(RL_SETLE_AMT) RL_SETLE_AMT
|
||||
FROM GC_ORRE_STAT A
|
||||
WHERE 1=1
|
||||
AND A.SOPMAL_CD = #{sopmalCd}
|
||||
AND A.ORRE_DV_CD = '01' /* 25.03.12 수정*/
|
||||
AND A.ORDR_STTUS_CD between '25' and '75' /* 25.03.12 수정*/
|
||||
AND A.SETLE_COMPT_DT BETWEEN #{srchStrtSndngDt} AND #{srchEndSndngDt} ' 23:59:59'
|
||||
]]>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(srchOrdrEnvrnCds)">
|
||||
AND A.SLE_ENVRN_CD IN
|
||||
<foreach collection="srchOrdrEnvrnCds" item="srchOrdrEnvrnCd" open="(" close=")" separator=",">
|
||||
#{srchOrdrEnvrnCd}
|
||||
</foreach>
|
||||
</if>
|
||||
<![CDATA[
|
||||
GROUP BY ORD_DT, ORD_HR
|
||||
) A
|
||||
GROUP BY DT, HR
|
||||
)A2
|
||||
ORDER BY ${ordrFinal}
|
||||
) TB
|
||||
WHERE (@rownum:=0)=0
|
||||
) PV
|
||||
WHERE 1=1
|
||||
LIMIT #{recordCountPerPage} OFFSET #{firstIndex}
|
||||
]]>
|
||||
</select>
|
||||
|
||||
|
||||
<!--
|
||||
쿠폰사용금액 표 건수 조회
|
||||
-->
|
||||
<select id="selectBOCoupUseValeTableCntInqire"
|
||||
parameterType = "com.wb.domainserver.domain.gcone.stats.marktAnals.vo.BOMarktAnalsVO"
|
||||
resultType="java.lang.Integer">
|
||||
|
||||
<![CDATA[
|
||||
SELECT
|
||||
COUNT(*)
|
||||
FROM (
|
||||
-- 장바구니 쿠폰
|
||||
SELECT '장바구니' gubun, B.COUPON_INNB, B.COUP_NM, B.COUPON_DWLD_CNT
|
||||
, COALESCE( cart.SLEPRIC_SUM, 0) AS SLEPRIC_SUM
|
||||
, COALESCE( cart.DISCOUNT_AMT, 0) AS DISCOUNT_AMT
|
||||
, COALESCE( cart.COUPON_USE_DCNT, 0) AS COUPON_USE_DCNT
|
||||
FROM (
|
||||
SELECT GD.COUPON_INNB
|
||||
, GD.COUP_NM
|
||||
, COUNT(GD.DWLD_COUPON_INNB) AS COUPON_DWLD_CNT
|
||||
FROM GC_DOWNLOAD GD
|
||||
WHERE GD.SOPMAL_CD = #{sopmalCd}
|
||||
AND GD.COUPON_STTUS_CD <> '04'
|
||||
AND GD.BNEF_DV_CD = '03' -- 장바구니 쿠폰
|
||||
AND GD.REGIST_DT BETWEEN #{srchStrtSndngDt2} AND #{srchEndSndngDt2} ' 23:59:59'
|
||||
GROUP BY GD.COUPON_INNB, GD.COUP_NM
|
||||
) B
|
||||
LEFT JOIN (
|
||||
SELECT '장바구니' COUPON_DV, GD.COUPON_INNB, A.CART_COUP_NM AS COUPON_NM
|
||||
, SUM(A.SLEPRIC * A.ORRE_QY) AS SLEPRIC_SUM
|
||||
, SUM(A.CART_COUPON_DSCNT_UNIT * A.ORRE_QY + A.CART_COUPON_DSCNT_REST) AS DISCOUNT_AMT
|
||||
, COUNT(DISTINCT CASE WHEN GD.COUPON_STTUS_CD = '03' THEN GD.DWLD_COUPON_INNB ELSE NULL END) AS COUPON_USE_DCNT
|
||||
FROM GC_ORRE_GOPTN_STAT A
|
||||
JOIN GC_DOWNLOAD GD
|
||||
ON A.SOPMAL_CD = GD.SOPMAL_CD
|
||||
AND A.CART_DWLD_COUPON_INNB = GD.DWLD_COUPON_INNB
|
||||
WHERE A.SOPMAL_CD = #{sopmalCd}
|
||||
AND A.CART_DWLD_COUPON_INNB > ''
|
||||
AND A.ORRE_DV_CD = '01'
|
||||
AND A.ORDR_STTUS_CD between '25' AND '75'
|
||||
AND A.SETLE_COMPT_DT BETWEEN #{srchStrtSndngDt} AND #{srchEndSndngDt} ' 23:59:59'
|
||||
]]>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(srchOrdrEnvrnCds)">
|
||||
AND A.SLE_ENVRN_CD IN
|
||||
<foreach collection="srchOrdrEnvrnCds" item="srchOrdrEnvrnCd" open="(" close=")" separator=",">
|
||||
#{srchOrdrEnvrnCd}
|
||||
</foreach>
|
||||
</if>
|
||||
<![CDATA[
|
||||
GROUP BY 1,2,3
|
||||
) cart
|
||||
ON cart.COUPON_INNB = B.COUPON_INNB
|
||||
AND cart.COUPON_NM = B.COUP_NM
|
||||
UNION ALL
|
||||
-- 상품 쿠폰
|
||||
SELECT '상품' gubun, B.COUPON_INNB, B.COUP_NM, B.COUPON_DWLD_CNT
|
||||
, COALESCE( goods.SLEPRIC_SUM, 0) AS SLEPRIC_SUM
|
||||
, COALESCE( goods.DISCOUNT_AMT, 0) AS DISCOUNT_AMT
|
||||
, COALESCE( goods.COUPON_USE_DCNT, 0) AS COUPON_USE_DCNT
|
||||
FROM(
|
||||
SELECT GD.COUPON_INNB
|
||||
, GD.COUP_NM
|
||||
, COUNT(GD.DWLD_COUPON_INNB) AS COUPON_DWLD_CNT
|
||||
FROM GC_DOWNLOAD GD
|
||||
WHERE GD.SOPMAL_CD = #{sopmalCd}
|
||||
AND GD.COUPON_STTUS_CD <> '04'
|
||||
AND GD.BNEF_DV_CD = '01' -- 상품 쿠폰
|
||||
AND GD.REGIST_DT BETWEEN #{srchStrtSndngDt2} AND #{srchEndSndngDt2} ' 23:59:59'
|
||||
GROUP BY GD.COUPON_INNB, GD.COUP_NM
|
||||
) B
|
||||
LEFT JOIN (
|
||||
SELECT '상품' COUPON_DV, GD.COUPON_INNB, A.GOODS_COUP_NM AS COUPON_NM
|
||||
, SUM(A.SLEPRIC * A.ORRE_QY) AS SLEPRIC_SUM
|
||||
, SUM(A.GOODS_COUPON_DSCNT_UNIT * A.ORRE_QY + A.GOODS_COUPON_DSCNT_REST) AS DISCOUNT_AMT
|
||||
, COUNT(DISTINCT CASE WHEN GD.COUPON_STTUS_CD = '03' THEN GD.DWLD_COUPON_INNB ELSE NULL END) AS COUPON_USE_DCNT
|
||||
FROM GC_ORRE_GOPTN_STAT A
|
||||
JOIN GC_DOWNLOAD GD
|
||||
ON A.SOPMAL_CD = GD.SOPMAL_CD
|
||||
AND A.GOODS_DWLD_COUPON_INNB = GD.DWLD_COUPON_INNB
|
||||
WHERE A.SOPMAL_CD = #{sopmalCd}
|
||||
AND A.GOODS_DWLD_COUPON_INNB > ''
|
||||
AND A.ORRE_DV_CD = '01'
|
||||
AND A.ORDR_STTUS_CD between '25' AND '75'
|
||||
]]>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(srchOrdrEnvrnCds)">
|
||||
AND A.SLE_ENVRN_CD IN
|
||||
<foreach collection="srchOrdrEnvrnCds" item="srchOrdrEnvrnCd" open="(" close=")" separator=",">
|
||||
#{srchOrdrEnvrnCd}
|
||||
</foreach>
|
||||
</if>
|
||||
<![CDATA[
|
||||
AND A.SETLE_COMPT_DT BETWEEN #{srchStrtSndngDt} AND #{srchEndSndngDt} ' 23:59:59'
|
||||
GROUP BY 1,2,3
|
||||
) goods
|
||||
ON goods.COUPON_INNB = B.COUPON_INNB
|
||||
AND goods.COUPON_NM = B.COUP_NM
|
||||
UNION ALL
|
||||
-- 배송비 쿠폰
|
||||
SELECT '배송' gubun, B.COUPON_INNB, B.COUP_NM, B.COUPON_DWLD_CNT
|
||||
, COALESCE( dlvy.SLEPRIC_SUM, 0) AS SLEPRIC_SUM
|
||||
, COALESCE( dlvy.DLVY_DISCOUNT_AMT, 0) AS DISCOUNT_AMT
|
||||
, COALESCE( dlvy.COUPON_USE_DCNT, 0) AS COUPON_USE_DCNT
|
||||
FROM (
|
||||
SELECT GD.COUPON_INNB
|
||||
, GD.COUP_NM
|
||||
, COUNT(GD.DWLD_COUPON_INNB) AS COUPON_DWLD_CNT
|
||||
FROM GC_DOWNLOAD GD
|
||||
WHERE GD.SOPMAL_CD = #{sopmalCd}
|
||||
AND GD.COUPON_STTUS_CD <> '04'
|
||||
AND GD.BNEF_DV_CD = '02' -- 배송비 쿠폰
|
||||
AND GD.REGIST_DT BETWEEN #{srchStrtSndngDt2} AND #{srchEndSndngDt2} ' 23:59:59'
|
||||
GROUP BY GD.COUPON_INNB, GD.COUP_NM
|
||||
) B
|
||||
LEFT JOIN (
|
||||
SELECT '배송' COUPON_DV, GD.COUPON_INNB, GD.COUP_NM AS COUPON_NM
|
||||
, SUM(B.RL_SETLE_AMT) AS SLEPRIC_SUM
|
||||
, SUM(A.DLVY_COUPON_DSCNT_AMT) AS DLVY_DISCOUNT_AMT
|
||||
, COUNT(DISTINCT A.DWLD_COUPON_INNB) AS COUPON_USE_DCNT
|
||||
FROM GC_ORDER_SHIPPING A
|
||||
JOIN GC_ORDER B
|
||||
ON A.SOPMAL_CD = B.SOPMAL_CD
|
||||
AND A.ORDR_INNB = B.ORDR_INNB
|
||||
JOIN GC_DOWNLOAD GD
|
||||
ON A.SOPMAL_CD = GD.SOPMAL_CD
|
||||
AND A.DWLD_COUPON_INNB = GD.DWLD_COUPON_INNB
|
||||
WHERE A.SOPMAL_CD = #{sopmalCd}
|
||||
AND A.DWLD_COUPON_INNB > ''
|
||||
AND A.ORDR_STTUS_CD between '25' AND '75'
|
||||
]]>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(srchOrdrEnvrnCds)">
|
||||
AND B.SLE_ENVRN_CD IN
|
||||
<foreach collection="srchOrdrEnvrnCds" item="srchOrdrEnvrnCd" open="(" close=")" separator=",">
|
||||
#{srchOrdrEnvrnCd}
|
||||
</foreach>
|
||||
</if>
|
||||
<![CDATA[
|
||||
AND B.SETLE_COMPT_DT BETWEEN #{srchStrtSndngDt} AND #{srchEndSndngDt} ' 23:59:59'
|
||||
GROUP BY 1,2,3
|
||||
) dlvy
|
||||
ON dlvy.COUPON_INNB = B.COUPON_INNB
|
||||
AND dlvy.COUPON_NM = B.COUP_NM
|
||||
ORDER BY ${ordrFinal}
|
||||
) AS TEMP
|
||||
]]>
|
||||
</select>
|
||||
|
||||
|
||||
<!--
|
||||
쿠폰사용금액 표 조회
|
||||
-->
|
||||
<select id="selectBOCoupUseValeTableInqire"
|
||||
parameterType = "com.wb.domainserver.domain.gcone.stats.marktAnals.vo.BOMarktAnalsVO"
|
||||
resultType="DataMap">
|
||||
|
||||
<![CDATA[
|
||||
SELECT
|
||||
*
|
||||
FROM (
|
||||
SELECT
|
||||
CAST(@ROWNUM:=@ROWNUM+1 AS UNSIGNED) AS RNUM, TB.*
|
||||
FROM (
|
||||
-- 장바구니 쿠폰
|
||||
SELECT '장바구니' gubun, B.COUPON_INNB, B.COUP_NM, B.COUPON_DWLD_CNT
|
||||
, COALESCE( cart.SLEPRIC_SUM, 0) AS SLEPRIC_SUM
|
||||
, COALESCE( cart.DISCOUNT_AMT, 0) AS DISCOUNT_AMT
|
||||
, COALESCE( cart.COUPON_USE_DCNT, 0) AS COUPON_USE_DCNT
|
||||
FROM (
|
||||
SELECT GD.COUPON_INNB
|
||||
, GD.COUP_NM
|
||||
, COUNT(GD.DWLD_COUPON_INNB) AS COUPON_DWLD_CNT
|
||||
FROM GC_DOWNLOAD GD
|
||||
WHERE GD.SOPMAL_CD = #{sopmalCd}
|
||||
AND GD.COUPON_STTUS_CD <> '04'
|
||||
AND GD.BNEF_DV_CD = '03' -- 장바구니 쿠폰
|
||||
AND GD.REGIST_DT BETWEEN #{srchStrtSndngDt2} AND #{srchEndSndngDt2} ' 23:59:59'
|
||||
GROUP BY GD.COUPON_INNB, GD.COUP_NM
|
||||
) B
|
||||
LEFT JOIN (
|
||||
SELECT '장바구니' COUPON_DV, GD.COUPON_INNB, A.CART_COUP_NM AS COUPON_NM
|
||||
, SUM(A.SLEPRIC * A.ORRE_QY) AS SLEPRIC_SUM
|
||||
, SUM(A.CART_COUPON_DSCNT_UNIT * A.ORRE_QY + A.CART_COUPON_DSCNT_REST) AS DISCOUNT_AMT
|
||||
, COUNT(DISTINCT CASE WHEN GD.COUPON_STTUS_CD = '03' THEN GD.DWLD_COUPON_INNB ELSE NULL END) AS COUPON_USE_DCNT
|
||||
FROM GC_ORRE_GOPTN_STAT A
|
||||
JOIN GC_DOWNLOAD GD
|
||||
ON A.SOPMAL_CD = GD.SOPMAL_CD
|
||||
AND A.CART_DWLD_COUPON_INNB = GD.DWLD_COUPON_INNB
|
||||
WHERE A.SOPMAL_CD = #{sopmalCd}
|
||||
AND A.CART_DWLD_COUPON_INNB > ''
|
||||
AND A.ORRE_DV_CD = '01'
|
||||
AND A.ORDR_STTUS_CD between '25' AND '75'
|
||||
AND A.SETLE_COMPT_DT BETWEEN #{srchStrtSndngDt} AND #{srchEndSndngDt} ' 23:59:59'
|
||||
]]>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(srchOrdrEnvrnCds)">
|
||||
AND A.SLE_ENVRN_CD IN
|
||||
<foreach collection="srchOrdrEnvrnCds" item="srchOrdrEnvrnCd" open="(" close=")" separator=",">
|
||||
#{srchOrdrEnvrnCd}
|
||||
</foreach>
|
||||
</if>
|
||||
<![CDATA[
|
||||
GROUP BY 1,2,3
|
||||
) cart
|
||||
ON cart.COUPON_INNB = B.COUPON_INNB
|
||||
AND cart.COUPON_NM = B.COUP_NM
|
||||
UNION ALL
|
||||
-- 상품 쿠폰
|
||||
SELECT '상품' gubun, B.COUPON_INNB, B.COUP_NM, B.COUPON_DWLD_CNT
|
||||
, COALESCE( goods.SLEPRIC_SUM, 0) AS SLEPRIC_SUM
|
||||
, COALESCE( goods.DISCOUNT_AMT, 0) AS DISCOUNT_AMT
|
||||
, COALESCE( goods.COUPON_USE_DCNT, 0) AS COUPON_USE_DCNT
|
||||
FROM(
|
||||
SELECT GD.COUPON_INNB
|
||||
, GD.COUP_NM
|
||||
, COUNT(GD.DWLD_COUPON_INNB) AS COUPON_DWLD_CNT
|
||||
FROM GC_DOWNLOAD GD
|
||||
WHERE GD.SOPMAL_CD = #{sopmalCd}
|
||||
AND GD.COUPON_STTUS_CD <> '04'
|
||||
AND GD.BNEF_DV_CD = '01' -- 상품 쿠폰
|
||||
AND GD.REGIST_DT BETWEEN #{srchStrtSndngDt2} AND #{srchEndSndngDt2} ' 23:59:59'
|
||||
GROUP BY GD.COUPON_INNB, GD.COUP_NM
|
||||
) B
|
||||
LEFT JOIN (
|
||||
SELECT '상품' COUPON_DV, GD.COUPON_INNB, A.GOODS_COUP_NM AS COUPON_NM
|
||||
, SUM(A.SLEPRIC * A.ORRE_QY) AS SLEPRIC_SUM
|
||||
, SUM(A.GOODS_COUPON_DSCNT_UNIT * A.ORRE_QY + A.GOODS_COUPON_DSCNT_REST) AS DISCOUNT_AMT
|
||||
, COUNT(DISTINCT CASE WHEN GD.COUPON_STTUS_CD = '03' THEN GD.DWLD_COUPON_INNB ELSE NULL END) AS COUPON_USE_DCNT
|
||||
FROM GC_ORRE_GOPTN_STAT A
|
||||
JOIN GC_DOWNLOAD GD
|
||||
ON A.SOPMAL_CD = GD.SOPMAL_CD
|
||||
AND A.GOODS_DWLD_COUPON_INNB = GD.DWLD_COUPON_INNB
|
||||
WHERE A.SOPMAL_CD = #{sopmalCd}
|
||||
AND A.GOODS_DWLD_COUPON_INNB > ''
|
||||
AND A.ORRE_DV_CD = '01'
|
||||
AND A.ORDR_STTUS_CD between '25' AND '75'
|
||||
]]>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(srchOrdrEnvrnCds)">
|
||||
AND A.SLE_ENVRN_CD IN
|
||||
<foreach collection="srchOrdrEnvrnCds" item="srchOrdrEnvrnCd" open="(" close=")" separator=",">
|
||||
#{srchOrdrEnvrnCd}
|
||||
</foreach>
|
||||
</if>
|
||||
<![CDATA[
|
||||
AND A.SETLE_COMPT_DT BETWEEN #{srchStrtSndngDt} AND #{srchEndSndngDt} ' 23:59:59'
|
||||
GROUP BY 1,2,3
|
||||
) goods
|
||||
ON goods.COUPON_INNB = B.COUPON_INNB
|
||||
AND goods.COUPON_NM = B.COUP_NM
|
||||
UNION ALL
|
||||
-- 배송비 쿠폰
|
||||
SELECT '배송' gubun, B.COUPON_INNB, B.COUP_NM, B.COUPON_DWLD_CNT
|
||||
, COALESCE( dlvy.SLEPRIC_SUM, 0) AS SLEPRIC_SUM
|
||||
, COALESCE( dlvy.DLVY_DISCOUNT_AMT, 0) AS DISCOUNT_AMT
|
||||
, COALESCE( dlvy.COUPON_USE_DCNT, 0) AS COUPON_USE_DCNT
|
||||
FROM (
|
||||
SELECT GD.COUPON_INNB
|
||||
, GD.COUP_NM
|
||||
, COUNT(GD.DWLD_COUPON_INNB) AS COUPON_DWLD_CNT
|
||||
FROM GC_DOWNLOAD GD
|
||||
WHERE GD.SOPMAL_CD = #{sopmalCd}
|
||||
AND GD.COUPON_STTUS_CD <> '04'
|
||||
AND GD.BNEF_DV_CD = '02' -- 배송비 쿠폰
|
||||
AND GD.REGIST_DT BETWEEN #{srchStrtSndngDt2} AND #{srchEndSndngDt2} ' 23:59:59'
|
||||
GROUP BY GD.COUPON_INNB, GD.COUP_NM
|
||||
) B
|
||||
LEFT JOIN (
|
||||
SELECT '배송' COUPON_DV, GD.COUPON_INNB, GD.COUP_NM AS COUPON_NM
|
||||
, SUM(B.RL_SETLE_AMT) AS SLEPRIC_SUM
|
||||
, SUM(A.DLVY_COUPON_DSCNT_AMT) AS DLVY_DISCOUNT_AMT
|
||||
, COUNT(DISTINCT A.DWLD_COUPON_INNB) AS COUPON_USE_DCNT
|
||||
FROM GC_ORDER_SHIPPING A
|
||||
JOIN GC_ORDER B
|
||||
ON A.SOPMAL_CD = B.SOPMAL_CD
|
||||
AND A.ORDR_INNB = B.ORDR_INNB
|
||||
JOIN GC_DOWNLOAD GD
|
||||
ON A.SOPMAL_CD = GD.SOPMAL_CD
|
||||
AND A.DWLD_COUPON_INNB = GD.DWLD_COUPON_INNB
|
||||
WHERE A.SOPMAL_CD = #{sopmalCd}
|
||||
AND A.DWLD_COUPON_INNB > ''
|
||||
AND A.ORDR_STTUS_CD between '25' AND '75'
|
||||
]]>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(srchOrdrEnvrnCds)">
|
||||
AND B.SLE_ENVRN_CD IN
|
||||
<foreach collection="srchOrdrEnvrnCds" item="srchOrdrEnvrnCd" open="(" close=")" separator=",">
|
||||
#{srchOrdrEnvrnCd}
|
||||
</foreach>
|
||||
</if>
|
||||
<![CDATA[
|
||||
AND B.SETLE_COMPT_DT BETWEEN #{srchStrtSndngDt} AND #{srchEndSndngDt} ' 23:59:59'
|
||||
GROUP BY 1,2,3
|
||||
) dlvy
|
||||
ON dlvy.COUPON_INNB = B.COUPON_INNB
|
||||
AND dlvy.COUPON_NM = B.COUP_NM
|
||||
ORDER BY ${ordrFinal}
|
||||
) TB
|
||||
WHERE (@rownum:=0)=0
|
||||
) PV
|
||||
WHERE 1=1
|
||||
LIMIT #{recordCountPerPage} OFFSET #{firstIndex}
|
||||
]]>
|
||||
</select>
|
||||
|
||||
|
||||
</mapper>
|
||||
Reference in New Issue
Block a user