|
|
@@ -1100,4 +1100,286 @@
|
|
|
<include refid="getBestOrderListSql"></include>
|
|
|
</select>
|
|
|
|
|
|
+ <select id="getCardList" resultType="Card">
|
|
|
+ /* TsaStatistics.getCardList */
|
|
|
+ SELECT CD AS CARD_CD
|
|
|
+ , CD_NM AS CARD_NM
|
|
|
+ FROM TB_COMMON_CODE
|
|
|
+ WHERE CD_GB = 'G050'
|
|
|
+ ORDER BY CD_GB, DISP_ORD
|
|
|
+ </select>
|
|
|
+
|
|
|
+ <!-- 결제수단별통계 목록 -->
|
|
|
+ <select id="getPaymentList" parameterType="Statistics" resultType="Statistics">
|
|
|
+ /* TsaStatistics.getPaymentList */
|
|
|
+ WITH TAB AS (
|
|
|
+ SELECT
|
|
|
+ DATE_FORMAT(DAY, '%Y-%m-%d') AS DAY
|
|
|
+ , PAY_MEANS -- 결제수단
|
|
|
+ , PAY_AMT -- 결제금액
|
|
|
+ , PG_GB -- PG구분
|
|
|
+ FROM TB_STAT_PAY A
|
|
|
+ WHERE 1=1
|
|
|
+ AND A.DAY <![CDATA[>=]]> STR_TO_DATE(#{startDt},'%Y-%m-%d')
|
|
|
+ AND A.DAY <![CDATA[<]]> DATE_ADD(STR_TO_DATE(#{endDt},'%Y-%m-%d'), INTERVAL 1 DAY)
|
|
|
+ <if test='multiCardId != null and multiCardId != ""'>
|
|
|
+ AND COM_CARD_CD IN
|
|
|
+ <foreach collection="multiCardId" item="item" index="index" open="(" close=")" separator=",">
|
|
|
+ #{item}
|
|
|
+ </foreach>
|
|
|
+ </if>
|
|
|
+ <choose>
|
|
|
+ <when test='simpleGbC != null and simpleGbC != "" and simpleGbB != null and simpleGbB != ""'>
|
|
|
+ AND PG_GB IN('KAKAO','NAVER','PAYCO')
|
|
|
+ AND PAY_MEANS IN ('G014_30','G014_10')
|
|
|
+ </when>
|
|
|
+ <when test='simpleGbC != null and simpleGbC != ""'>
|
|
|
+ AND PG_GB IN('KAKAO','NAVER','PAYCO')
|
|
|
+ AND PAY_MEANS = 'G014_30'
|
|
|
+ </when>
|
|
|
+ <when test='simpleGbB != null and simpleGbB != ""'>
|
|
|
+ AND PG_GB IN('KAKAO','NAVER','PAYCO')
|
|
|
+ AND PAY_MEANS = 'G014_10'
|
|
|
+ </when>
|
|
|
+ </choose>
|
|
|
+ )
|
|
|
+ SELECT
|
|
|
+ DAY
|
|
|
+ , SUM(CD_AMT) AS CD_AMT -- 카드
|
|
|
+ , SUM(AC_AMT) AS AC_AMT -- 실시간계좌이체
|
|
|
+ , SUM(VA_AMT) AS VA_AMT -- 무통장
|
|
|
+ , SUM(HP_AMT) AS HP_AMT -- 휴대폰
|
|
|
+ , SUM(CP_AMT) AS CP_AMT -- PG쿠폰
|
|
|
+ , SUM(NPAY_AMT) AS NPAY_AMT -- 네이버페이
|
|
|
+ , SUM(PAYCO_AMT) AS PAYCO_AMT -- 페이코
|
|
|
+ , SUM(KAKAO_AMT) AS KAKAO_AMT -- 카카오
|
|
|
+ FROM (
|
|
|
+ SELECT
|
|
|
+ DAY
|
|
|
+ , CASE WHEN PAY_MEANS = 'G014_30' THEN PAY_AMT ELSE 0 END AS CD_AMT
|
|
|
+ , CASE WHEN PAY_MEANS = 'G014_10' THEN PAY_AMT ELSE 0 END AS AC_AMT
|
|
|
+ , CASE WHEN PAY_MEANS = 'G014_20' THEN PAY_AMT ELSE 0 END AS VA_AMT
|
|
|
+ , CASE WHEN PAY_MEANS = 'G014_60' THEN PAY_AMT ELSE 0 END AS HP_AMT
|
|
|
+ , CASE WHEN PAY_MEANS = 'G014_50' THEN PAY_AMT ELSE 0 END AS CP_AMT
|
|
|
+ , CASE WHEN PAY_MEANS = 'NAVER' THEN PAY_AMT ELSE 0 END AS NPAY_AMT
|
|
|
+ , CASE WHEN PAY_MEANS = 'PAYCO' THEN PAY_AMT ELSE 0 END AS PAYCO_AMT
|
|
|
+ , CASE WHEN PAY_MEANS = 'KAKAO' THEN PAY_AMT ELSE 0 END AS KAKAO_AMT
|
|
|
+ FROM (
|
|
|
+ SELECT
|
|
|
+ <choose>
|
|
|
+ <when test='dayGb == "W"'> <!-- 주별 -->
|
|
|
+ CONCAT(MONTH(DAY), '월 ', WEEK(DAY,5) - WEEK(DATE_SUB(DAY, INTERVAL DAYOFMONTH(DAY) - 1 DAY), 5) + 1, '주') AS DAY
|
|
|
+ </when>
|
|
|
+ <when test='dayGb == "M"'> <!-- 월별 -->
|
|
|
+ DATE_FORMAT(DAY,'%Y-%m') AS DAY
|
|
|
+ </when>
|
|
|
+ <otherwise> <!-- 일별 -->
|
|
|
+ DATE_FORMAT(DAY,'%Y-%m-%d') AS DAY
|
|
|
+ </otherwise>
|
|
|
+ </choose>
|
|
|
+ , PAY_MEANS
|
|
|
+ , SUM(PAY_AMT) AS PAY_AMT
|
|
|
+ FROM TAB
|
|
|
+ WHERE PAY_MEANS = 'G014_30'
|
|
|
+ <choose>
|
|
|
+ <when test='dayGb == "W"'> <!-- 주별 -->
|
|
|
+ GROUP BY CONCAT(MONTH(DAY), '월 ', WEEK(DAY,5) - WEEK(DATE_SUB(DAY, INTERVAL DAYOFMONTH(DAY) - 1 DAY), 5) + 1, '주')
|
|
|
+ </when>
|
|
|
+ <when test='dayGb == "M"'> <!-- 월별 -->
|
|
|
+ GROUP BY DATE_FORMAT(DAY,'%Y-%m')
|
|
|
+ </when>
|
|
|
+ <otherwise> <!-- 일별 -->
|
|
|
+ GROUP BY DATE_FORMAT(DAY,'%Y-%m-%d')
|
|
|
+ </otherwise>
|
|
|
+ </choose>
|
|
|
+ UNION ALL
|
|
|
+ SELECT
|
|
|
+ <choose>
|
|
|
+ <when test='dayGb == "W"'> <!-- 주별 -->
|
|
|
+ CONCAT(MONTH(DAY), '월 ', WEEK(DAY,5) - WEEK(DATE_SUB(DAY, INTERVAL DAYOFMONTH(DAY) - 1 DAY), 5) + 1, '주') AS DAY
|
|
|
+ </when>
|
|
|
+ <when test='dayGb == "M"'> <!-- 월별 -->
|
|
|
+ DATE_FORMAT(DAY,'%Y-%m') AS DAY
|
|
|
+ </when>
|
|
|
+ <otherwise> <!-- 일별 -->
|
|
|
+ DATE_FORMAT(DAY,'%Y-%m-%d') AS DAY
|
|
|
+ </otherwise>
|
|
|
+ </choose>
|
|
|
+ , PAY_MEANS
|
|
|
+ , SUM(PAY_AMT) AS PAY_AMT
|
|
|
+ FROM TAB
|
|
|
+ WHERE PAY_MEANS = 'G014_10'
|
|
|
+ <choose>
|
|
|
+ <when test='dayGb == "W"'> <!-- 주별 -->
|
|
|
+ GROUP BY CONCAT(MONTH(DAY), '월 ', WEEK(DAY,5) - WEEK(DATE_SUB(DAY, INTERVAL DAYOFMONTH(DAY) - 1 DAY), 5) + 1, '주')
|
|
|
+ </when>
|
|
|
+ <when test='dayGb == "M"'> <!-- 월별 -->
|
|
|
+ GROUP BY DATE_FORMAT(DAY,'%Y-%m')
|
|
|
+ </when>
|
|
|
+ <otherwise> <!-- 일별 -->
|
|
|
+ GROUP BY DATE_FORMAT(DAY,'%Y-%m-%d')
|
|
|
+ </otherwise>
|
|
|
+ </choose>
|
|
|
+ UNION ALL
|
|
|
+ SELECT
|
|
|
+ <choose>
|
|
|
+ <when test='dayGb == "W"'> <!-- 주별 -->
|
|
|
+ CONCAT(MONTH(DAY), '월 ', WEEK(DAY,5) - WEEK(DATE_SUB(DAY, INTERVAL DAYOFMONTH(DAY) - 1 DAY), 5) + 1, '주') AS DAY
|
|
|
+ </when>
|
|
|
+ <when test='dayGb == "M"'> <!-- 월별 -->
|
|
|
+ DATE_FORMAT(DAY,'%Y-%m') AS DAY
|
|
|
+ </when>
|
|
|
+ <otherwise> <!-- 일별 -->
|
|
|
+ DATE_FORMAT(DAY,'%Y-%m-%d') AS DAY
|
|
|
+ </otherwise>
|
|
|
+ </choose>
|
|
|
+ , PAY_MEANS
|
|
|
+ , SUM(PAY_AMT) AS PAY_AMT
|
|
|
+ FROM TAB
|
|
|
+ WHERE PAY_MEANS = 'G014_20'
|
|
|
+ <choose>
|
|
|
+ <when test='dayGb == "W"'> <!-- 주별 -->
|
|
|
+ GROUP BY CONCAT(MONTH(DAY), '월 ', WEEK(DAY,5) - WEEK(DATE_SUB(DAY, INTERVAL DAYOFMONTH(DAY) - 1 DAY), 5) + 1, '주')
|
|
|
+ </when>
|
|
|
+ <when test='dayGb == "M"'> <!-- 월별 -->
|
|
|
+ GROUP BY DATE_FORMAT(DAY,'%Y-%m')
|
|
|
+ </when>
|
|
|
+ <otherwise> <!-- 일별 -->
|
|
|
+ GROUP BY DATE_FORMAT(DAY,'%Y-%m-%d')
|
|
|
+ </otherwise>
|
|
|
+ </choose>
|
|
|
+ UNION ALL
|
|
|
+ SELECT
|
|
|
+ <choose>
|
|
|
+ <when test='dayGb == "W"'> <!-- 주별 -->
|
|
|
+ CONCAT(MONTH(DAY), '월 ', WEEK(DAY,5) - WEEK(DATE_SUB(DAY, INTERVAL DAYOFMONTH(DAY) - 1 DAY), 5) + 1, '주') AS DAY
|
|
|
+ </when>
|
|
|
+ <when test='dayGb == "M"'> <!-- 월별 -->
|
|
|
+ DATE_FORMAT(DAY,'%Y-%m') AS DAY
|
|
|
+ </when>
|
|
|
+ <otherwise> <!-- 일별 -->
|
|
|
+ DATE_FORMAT(DAY,'%Y-%m-%d') AS DAY
|
|
|
+ </otherwise>
|
|
|
+ </choose>
|
|
|
+ , PAY_MEANS
|
|
|
+ , SUM(PAY_AMT) AS PAY_AMT
|
|
|
+ FROM TAB
|
|
|
+ WHERE PAY_MEANS = 'G014_60'
|
|
|
+ <choose>
|
|
|
+ <when test='dayGb == "W"'> <!-- 주별 -->
|
|
|
+ GROUP BY CONCAT(MONTH(DAY), '월 ', WEEK(DAY,5) - WEEK(DATE_SUB(DAY, INTERVAL DAYOFMONTH(DAY) - 1 DAY), 5) + 1, '주')
|
|
|
+ </when>
|
|
|
+ <when test='dayGb == "M"'> <!-- 월별 -->
|
|
|
+ GROUP BY DATE_FORMAT(DAY,'%Y-%m')
|
|
|
+ </when>
|
|
|
+ <otherwise> <!-- 일별 -->
|
|
|
+ GROUP BY DATE_FORMAT(DAY,'%Y-%m-%d')
|
|
|
+ </otherwise>
|
|
|
+ </choose>
|
|
|
+ UNION ALL
|
|
|
+ SELECT
|
|
|
+ <choose>
|
|
|
+ <when test='dayGb == "W"'> <!-- 주별 -->
|
|
|
+ CONCAT(MONTH(DAY), '월 ', WEEK(DAY,5) - WEEK(DATE_SUB(DAY, INTERVAL DAYOFMONTH(DAY) - 1 DAY), 5) + 1, '주') AS DAY
|
|
|
+ </when>
|
|
|
+ <when test='dayGb == "M"'> <!-- 월별 -->
|
|
|
+ DATE_FORMAT(DAY,'%Y-%m') AS DAY
|
|
|
+ </when>
|
|
|
+ <otherwise> <!-- 일별 -->
|
|
|
+ DATE_FORMAT(DAY,'%Y-%m-%d') AS DAY
|
|
|
+ </otherwise>
|
|
|
+ </choose>
|
|
|
+ , PAY_MEANS
|
|
|
+ , SUM(PAY_AMT) AS PAY_AMT
|
|
|
+ FROM TAB
|
|
|
+ WHERE PAY_MEANS = 'G014_50'
|
|
|
+ <choose>
|
|
|
+ <when test='dayGb == "W"'> <!-- 주별 -->
|
|
|
+ GROUP BY CONCAT(MONTH(DAY), '월 ', WEEK(DAY,5) - WEEK(DATE_SUB(DAY, INTERVAL DAYOFMONTH(DAY) - 1 DAY), 5) + 1, '주')
|
|
|
+ </when>
|
|
|
+ <when test='dayGb == "M"'> <!-- 월별 -->
|
|
|
+ GROUP BY DATE_FORMAT(DAY,'%Y-%m')
|
|
|
+ </when>
|
|
|
+ <otherwise> <!-- 일별 -->
|
|
|
+ GROUP BY DATE_FORMAT(DAY,'%Y-%m-%d')
|
|
|
+ </otherwise>
|
|
|
+ </choose>
|
|
|
+ UNION ALL
|
|
|
+ SELECT
|
|
|
+ <choose>
|
|
|
+ <when test='dayGb == "W"'> <!-- 주별 -->
|
|
|
+ CONCAT(MONTH(DAY), '월 ', WEEK(DAY,5) - WEEK(DATE_SUB(DAY, INTERVAL DAYOFMONTH(DAY) - 1 DAY), 5) + 1, '주') AS DAY
|
|
|
+ </when>
|
|
|
+ <when test='dayGb == "M"'> <!-- 월별 -->
|
|
|
+ DATE_FORMAT(DAY,'%Y-%m') AS DAY
|
|
|
+ </when>
|
|
|
+ <otherwise> <!-- 일별 -->
|
|
|
+ DATE_FORMAT(DAY,'%Y-%m-%d') AS DAY
|
|
|
+ </otherwise>
|
|
|
+ </choose>
|
|
|
+ , PG_GB AS PAY_MEANS
|
|
|
+ , SUM(PAY_AMT) AS PAY_AMT
|
|
|
+ FROM TAB
|
|
|
+ WHERE PG_GB = 'NAVER'
|
|
|
+ <choose>
|
|
|
+ <when test='dayGb == "W"'> <!-- 주별 -->
|
|
|
+ GROUP BY CONCAT(MONTH(DAY), '월 ', WEEK(DAY,5) - WEEK(DATE_SUB(DAY, INTERVAL DAYOFMONTH(DAY) - 1 DAY), 5) + 1, '주')
|
|
|
+ </when>
|
|
|
+ <when test='dayGb == "M"'> <!-- 월별 -->
|
|
|
+ GROUP BY DATE_FORMAT(DAY,'%Y-%m')
|
|
|
+ </when>
|
|
|
+ <otherwise> <!-- 일별 -->
|
|
|
+ GROUP BY DATE_FORMAT(DAY,'%Y-%m-%d')
|
|
|
+ </otherwise>
|
|
|
+ </choose>
|
|
|
+ UNION ALL
|
|
|
+ SELECT
|
|
|
+ <choose>
|
|
|
+ <when test='dayGb == "W"'> <!-- 주별 -->
|
|
|
+ CONCAT(MONTH(DAY), '월 ', WEEK(DAY,5) - WEEK(DATE_SUB(DAY, INTERVAL DAYOFMONTH(DAY) - 1 DAY), 5) + 1, '주') AS DAY
|
|
|
+ </when>
|
|
|
+ <when test='dayGb == "M"'> <!-- 월별 -->
|
|
|
+ DATE_FORMAT(DAY,'%Y-%m') AS DAY
|
|
|
+ </when>
|
|
|
+ <otherwise> <!-- 일별 -->
|
|
|
+ DATE_FORMAT(DAY,'%Y-%m-%d') AS DAY
|
|
|
+ </otherwise>
|
|
|
+ </choose>
|
|
|
+ , PG_GB AS PAY_MEANS
|
|
|
+ , SUM(PAY_AMT) AS PAY_AMT
|
|
|
+ FROM TAB
|
|
|
+ WHERE PG_GB = 'PAYCO'
|
|
|
+ <choose>
|
|
|
+ <when test='dayGb == "W"'> <!-- 주별 -->
|
|
|
+ GROUP BY CONCAT(MONTH(DAY), '월 ', WEEK(DAY,5) - WEEK(DATE_SUB(DAY, INTERVAL DAYOFMONTH(DAY) - 1 DAY), 5) + 1, '주')
|
|
|
+ </when>
|
|
|
+ <when test='dayGb == "M"'> <!-- 월별 -->
|
|
|
+ GROUP BY DATE_FORMAT(DAY,'%Y-%m')
|
|
|
+ </when>
|
|
|
+ <otherwise> <!-- 일별 -->
|
|
|
+ GROUP BY DATE_FORMAT(DAY,'%Y-%m-%d')
|
|
|
+ </otherwise>
|
|
|
+ </choose>
|
|
|
+ UNION ALL
|
|
|
+ SELECT
|
|
|
+ <choose>
|
|
|
+ <when test='dayGb == "W"'> <!-- 주별 -->
|
|
|
+ CONCAT(MONTH(DAY), '월 ', WEEK(DAY,5) - WEEK(DATE_SUB(DAY, INTERVAL DAYOFMONTH(DAY) - 1 DAY), 5) + 1, '주') AS DAY
|
|
|
+ </when>
|
|
|
+ <when test='dayGb == "M"'> <!-- 월별 -->
|
|
|
+ DATE_FORMAT(DAY,'%Y-%m') AS DAY
|
|
|
+ </when>
|
|
|
+ <otherwise> <!-- 일별 -->
|
|
|
+ DATE_FORMAT(DAY,'%Y-%m-%d') AS DAY
|
|
|
+ </otherwise>
|
|
|
+ </choose>
|
|
|
+ , PG_GB AS PAY_MEANS
|
|
|
+ , SUM(PAY_AMT) AS PAY_AMT
|
|
|
+ FROM TAB
|
|
|
+ WHERE PG_GB = 'KAKAO'
|
|
|
+ GROUP BY DAY
|
|
|
+ ) Z
|
|
|
+ ) Z
|
|
|
+ GROUP BY DAY
|
|
|
+ </select>
|
|
|
</mapper>
|