|
@@ -200,7 +200,7 @@
|
|
|
) ODIH
|
|
) ODIH
|
|
|
ORDER BY ODIH.ORD_DTL_ITEM_HST_SQ
|
|
ORDER BY ODIH.ORD_DTL_ITEM_HST_SQ
|
|
|
</select>
|
|
</select>
|
|
|
-
|
|
|
|
|
|
|
+
|
|
|
<!-- 일자별주문 목록 -->
|
|
<!-- 일자별주문 목록 -->
|
|
|
<select id="getDailyOrderList" parameterType="Statistics" resultType="Statistics">
|
|
<select id="getDailyOrderList" parameterType="Statistics" resultType="Statistics">
|
|
|
/* TsaStatistics.getDailyOrderList */
|
|
/* TsaStatistics.getDailyOrderList */
|
|
@@ -354,4 +354,388 @@
|
|
|
</choose>
|
|
</choose>
|
|
|
</select>
|
|
</select>
|
|
|
|
|
|
|
|
|
|
+ <!-- 상품별 주문 목록 -->
|
|
|
|
|
+ <select id="getGoodsOrderList" parameterType="Statistics" resultType="Statistics">
|
|
|
|
|
+ /* TsaStatistics.getGoodsOrderList */
|
|
|
|
|
+ SELECT
|
|
|
|
|
+ FN_GET_CODE_NM('G009',A.FORMAL_GB) AS FORMAL_GB -- 정상이월구분
|
|
|
|
|
+ , A.GOODS_CD -- 상품코드
|
|
|
|
|
+ , B.GOODS_NM -- 상품명
|
|
|
|
|
+ , SUM(C.STOCK_QTY) AS STOCK_QTY -- 현재고수량
|
|
|
|
|
+ , SUM(A.SELL_QTY) AS SELL_QTY -- 판매수량
|
|
|
|
|
+ , SUM(A.SELF_AMT + A.CHANNEL_AMT + A.EXTMALL_AMT - A.GOODS_CPN_AMT - A.TMTB_AMT - A.CART_CPN_AMT) AS PAY_AMT -- 상품당결제액
|
|
|
|
|
+ , SUM(A.GOODS_CPN_AMT) AS GOODS_CPN_AMT -- 즉시/주문상품쿠폰
|
|
|
|
|
+ , SUM(A.TMTB_AMT) AS TMTB_AMT -- 다다익선
|
|
|
|
|
+ , SUM(A.CART_CPN_AMT) AS CART_CPN_AMT -- 장바구니쿠폰
|
|
|
|
|
+ , SUM(A.CNCL_QTY + A.RTN_QTY) AS CNCL_QTY -- 취/환불수량
|
|
|
|
|
+ , SUM(A.CNCL_AMT + A.RTN_AMT) AS CNCL_AMT -- 취/환불액
|
|
|
|
|
+ , SUM(A.SAVE_PNT_AMT) AS SAVE_PNT_AMT -- 지급포인트
|
|
|
|
|
+ FROM TB_STAT_ORD_DAY A, TB_GOODS B, TB_GOODS_STOCK C
|
|
|
|
|
+ WHERE A.GOODS_CD = B.GOODS_CD
|
|
|
|
|
+ AND B.GOODS_CD = C.GOODS_CD
|
|
|
|
|
+ <![CDATA[
|
|
|
|
|
+ AND A.DAY >= STR_TO_DATE(#{startDt},'%Y-%m-%d')
|
|
|
|
|
+ AND A.DAY <= DATE_ADD(STR_TO_DATE(#{endDt},'%Y-%m-%d'), INTERVAL 1 DAY)
|
|
|
|
|
+ ]]>
|
|
|
|
|
+ <if test="multiFrontGb != null">
|
|
|
|
|
+ /* 디바이스 */
|
|
|
|
|
+ <foreach collection="multiFrontGb" item="item" index="index" open="AND A.FRONT_GB IN (" close=")" separator=",">#{item}</foreach>
|
|
|
|
|
+ </if>
|
|
|
|
|
+ <if test="multiExtmallId != null">
|
|
|
|
|
+ /* 제휴몰 */
|
|
|
|
|
+ <foreach collection="multiExtmallId" item="item" index="index" open="AND A.EXTMALL_ID IN (" close=")" separator=",">#{item}</foreach>
|
|
|
|
|
+ </if>
|
|
|
|
|
+ <if test="multiDistributionGb != null">
|
|
|
|
|
+ /* 물류구분 */
|
|
|
|
|
+ <foreach collection="multiDistributionGb" item="item" index="index" open="AND A.DISTRIBUTION_GB IN (" close=")" separator=",">#{item}</foreach>
|
|
|
|
|
+ </if>
|
|
|
|
|
+ <if test="multiSupplyCompCd != null">
|
|
|
|
|
+ /* 공급처 */
|
|
|
|
|
+ <foreach collection="multiSupplyCompCd" item="item" index="index" open="AND A.SUPPLY_COMP_CD IN (" close=")" separator=",">#{item}</foreach>
|
|
|
|
|
+ </if>
|
|
|
|
|
+ <if test="multiAfLinkCd != null">
|
|
|
|
|
+ /* 채널 */
|
|
|
|
|
+ <foreach collection="multiAfLinkCd" item="item" index="index" open="AND A.AF_LINK_CD IN (" close=")" separator=",">#{item}</foreach>
|
|
|
|
|
+ </if>
|
|
|
|
|
+ <if test="multiBrandCd != null">
|
|
|
|
|
+ /* 브랜드 */
|
|
|
|
|
+ <foreach collection="multiBrandCd" item="item" index="index" open="AND A.BRAND_CD IN (" close=")" separator=",">#{item}</foreach>
|
|
|
|
|
+ </if>
|
|
|
|
|
+ <if test="multiItemkindCd != null">
|
|
|
|
|
+ /* 품목 */
|
|
|
|
|
+ <foreach collection="multiItemkindCd" item="item" index="index" open="AND A.ITEMKIND_CD IN (" close=")" separator=",">#{item}</foreach>
|
|
|
|
|
+ </if>
|
|
|
|
|
+ <if test="multiGoodsCd != null">
|
|
|
|
|
+ /* 상품코드 */
|
|
|
|
|
+ <foreach collection="multiGoodsCd" item="item" index="index" open="AND (" close=")" separator="OR">A.GOODS_CD LIKE CONCAT('%', #{item}, '%')</foreach>
|
|
|
|
|
+ </if>
|
|
|
|
|
+ <if test="multiFormalGb != null">
|
|
|
|
|
+ /* 정상/이월구분 */
|
|
|
|
|
+ <foreach collection="multiFormalGb" item="item" index="index" open="AND B.FORMAL_GB IN (" close=")" separator=",">#{item}</foreach>
|
|
|
|
|
+ </if>
|
|
|
|
|
+ GROUP BY A.FORMAL_GB, A.GOODS_CD, B.GOODS_NM, B.SELF_GOODS_YN
|
|
|
|
|
+ ORDER BY B.SELF_GOODS_YN DESC, A.FORMAL_GB, A.GOODS_CD
|
|
|
|
|
+ </select>
|
|
|
|
|
+
|
|
|
|
|
+ <!-- 제휴몰 주문 목록 조회 -->
|
|
|
|
|
+ <select id="getExtmallOrderList" parameterType="Statistics" resultType="Statistics">
|
|
|
|
|
+ /* TsaStatistics.getExtmallOrderList */
|
|
|
|
|
+ SELECT EXTMALL_NM
|
|
|
|
|
+ , TOT_AMT
|
|
|
|
|
+ , SELL_QTY
|
|
|
|
|
+ , EXTMALL_AMT
|
|
|
|
|
+ , CNCL_QTY
|
|
|
|
|
+ , CNCL_AMT
|
|
|
|
|
+ , REAL_ORD_AMT
|
|
|
|
|
+ , SELL_FEE_RATE
|
|
|
|
|
+ , EX_USAC_AMT
|
|
|
|
|
+ , YOY_TOT_ORD_AMT
|
|
|
|
|
+ , ROUND(TOT_AMT / YOY_TOT_ORD_AMT * 100 - 100,1) AS YOY_RATE
|
|
|
|
|
+ FROM (
|
|
|
|
|
+ SELECT
|
|
|
|
|
+ (SELECT EXTMALL_NM FROM TB_EXTMALL X WHERE X.EXTMALL_ID = A.EXTMALL_ID LIMIT 1) AS EXTMALL_NM
|
|
|
|
|
+ , SUM(A.EXTMALL_AMT - A.CNCL_AMT - A.RTN_AMT) AS TOT_AMT /* 총매출 */
|
|
|
|
|
+ , SUM(A.SELL_QTY) AS SELL_QTY /* 판매수량 */
|
|
|
|
|
+ , SUM(A.EXTMALL_AMT) AS EXTMALL_AMT
|
|
|
|
|
+ , SUM(A.CNCL_QTY + A.RTN_QTY) AS CNCL_QTY -- 취/반품수량
|
|
|
|
|
+ , SUM(A.CNCL_AMT + A.RTN_AMT) AS CNCL_AMT -- 취/반품액
|
|
|
|
|
+ , SUM(A.REAL_ORD_AMT) AS REAL_ORD_AMT /* 실결제액 */
|
|
|
|
|
+ , (SELECT SELL_FEE_RATE FROM TB_EXTMALL X WHERE X.EXTMALL_ID = A.EXTMALL_ID LIMIT 1) AS SELL_FEE_RATE -- 수수료율
|
|
|
|
|
+ , (SUM(A.REAL_ORD_AMT) * (1 - (SELECT SELL_FEE_RATE FROM TB_EXTMALL X WHERE X.EXTMALL_ID = A.EXTMALL_ID LIMIT 1) / 100)) AS EX_USAC_AMT
|
|
|
|
|
+ , IFNULL((SELECT SUM(X.EXTMALL_AMT - X.CNCL_AMT - X.RTN_AMT)
|
|
|
|
|
+ FROM TB_STAT_ORD_DAY X
|
|
|
|
|
+ WHERE 1 = 1
|
|
|
|
|
+ AND X.EXTMALL_ID = A.EXTMALL_ID
|
|
|
|
|
+ <![CDATA[
|
|
|
|
|
+ AND X.DAY >= DATE_ADD(STR_TO_DATE(#{startDt},'%Y-%m-%d'), INTERVAL -1 YEAR)
|
|
|
|
|
+ AND X.DAY <= DATE_ADD(STR_TO_DATE(#{endDt},'%Y-%m-%d'), INTERVAL -1 YEAR)
|
|
|
|
|
+ ]]>
|
|
|
|
|
+ <if test="multiBrandCd != null">
|
|
|
|
|
+ /* 브랜드 */
|
|
|
|
|
+ <foreach collection="multiBrandCd" item="item" index="index" open="AND X.BRAND_CD IN (" close=")" separator=",">#{item}</foreach>
|
|
|
|
|
+ </if>
|
|
|
|
|
+ <if test="multiFormalGb != null">
|
|
|
|
|
+ /* 정상/이월구분 */
|
|
|
|
|
+ <foreach collection="multiFormalGb" item="item" index="index" open="AND X.FORMAL_GB IN (" close=")" separator=",">#{item}</foreach>
|
|
|
|
|
+ </if>
|
|
|
|
|
+ <if test="multiSupplyCompCd != null">
|
|
|
|
|
+ /* 공급처 */
|
|
|
|
|
+ <foreach collection="multiSupplyCompCd" item="item" index="index" open="AND X.SUPPLY_COMP_CD IN (" close=")" separator=",">#{item}</foreach>
|
|
|
|
|
+ </if>
|
|
|
|
|
+ <if test="multiAfLinkCd != null">
|
|
|
|
|
+ /* 채널 */
|
|
|
|
|
+ <foreach collection="multiAfLinkCd" item="item" index="index" open="AND X.AF_LINK_CD IN (" close=")" separator=",">#{item}</foreach>
|
|
|
|
|
+ </if>
|
|
|
|
|
+ <if test="multiItemkindCd != null">
|
|
|
|
|
+ /* 품목 */
|
|
|
|
|
+ <foreach collection="multiItemkindCd" item="item" index="index" open="AND X.ITEMKIND_CD IN (" close=")" separator=",">#{item}</foreach>
|
|
|
|
|
+ </if>
|
|
|
|
|
+ <if test="multiFrontGb != null">
|
|
|
|
|
+ /* 디바이스 */
|
|
|
|
|
+ <foreach collection="multiFrontGb" item="item" index="index" open="AND X.FRONT_GB IN (" close=")" separator=",">#{item}</foreach>
|
|
|
|
|
+ </if>
|
|
|
|
|
+ <if test="multiDistributionGb != null">
|
|
|
|
|
+ /* 물류구분 */
|
|
|
|
|
+ <foreach collection="multiDistributionGb" item="item" index="index" open="AND X.DISTRIBUTION_GB IN (" close=")" separator=",">#{item}</foreach>
|
|
|
|
|
+ </if>
|
|
|
|
|
+ ),0) AS YOY_TOT_ORD_AMT /*전년동기대비매출액*/
|
|
|
|
|
+ FROM TB_STAT_ORD_DAY A
|
|
|
|
|
+ WHERE 1=1
|
|
|
|
|
+ AND A.EXTMALL_ID IS NOT NULL
|
|
|
|
|
+ <![CDATA[
|
|
|
|
|
+ AND A.DAY >= STR_TO_DATE(#{startDt},'%Y-%m-%d')
|
|
|
|
|
+ AND A.DAY <= DATE_ADD(STR_TO_DATE(#{endDt},'%Y-%m-%d'), INTERVAL 1 DAY)
|
|
|
|
|
+ ]]>
|
|
|
|
|
+ <if test="multiBrandCd != null">
|
|
|
|
|
+ /* 브랜드 */
|
|
|
|
|
+ <foreach collection="multiBrandCd" item="item" index="index" open="AND A.BRAND_CD IN (" close=")" separator=",">#{item}</foreach>
|
|
|
|
|
+ </if>
|
|
|
|
|
+ <if test="multiFormalGb != null">
|
|
|
|
|
+ /* 정상/이월구분 */
|
|
|
|
|
+ <foreach collection="multiFormalGb" item="item" index="index" open="AND A.FORMAL_GB IN (" close=")" separator=",">#{item}</foreach>
|
|
|
|
|
+ </if>
|
|
|
|
|
+ <if test="multiSupplyCompCd != null">
|
|
|
|
|
+ /* 공급처 */
|
|
|
|
|
+ <foreach collection="multiSupplyCompCd" item="item" index="index" open="AND A.SUPPLY_COMP_CD IN (" close=")" separator=",">#{item}</foreach>
|
|
|
|
|
+ </if>
|
|
|
|
|
+ <if test="multiAfLinkCd != null">
|
|
|
|
|
+ /* 채널 */
|
|
|
|
|
+ <foreach collection="multiAfLinkCd" item="item" index="index" open="AND A.AF_LINK_CD IN (" close=")" separator=",">#{item}</foreach>
|
|
|
|
|
+ </if>
|
|
|
|
|
+ <if test="multiItemkindCd != null">
|
|
|
|
|
+ /* 품목 */
|
|
|
|
|
+ <foreach collection="multiItemkindCd" item="item" index="index" open="AND A.ITEMKIND_CD IN (" close=")" separator=",">#{item}</foreach>
|
|
|
|
|
+ </if>
|
|
|
|
|
+ <if test="multiFrontGb != null">
|
|
|
|
|
+ /* 디바이스 */
|
|
|
|
|
+ <foreach collection="multiFrontGb" item="item" index="index" open="AND FRONT_GB IN (" close=")" separator=",">#{item}</foreach>
|
|
|
|
|
+ </if>
|
|
|
|
|
+ <if test="multiDistributionGb != null">
|
|
|
|
|
+ /* 물류구분 */
|
|
|
|
|
+ <foreach collection="multiDistributionGb" item="item" index="index" open="AND DISTRIBUTION_GB IN (" close=")" separator=",">#{item}</foreach>
|
|
|
|
|
+ </if>
|
|
|
|
|
+ GROUP BY A.EXTMALL_ID
|
|
|
|
|
+ ) TAB
|
|
|
|
|
+ ORDER BY TAB.EXTMALL_NM
|
|
|
|
|
+ </select>
|
|
|
|
|
+
|
|
|
|
|
+ <!-- 채널 주문목록 조회 -->
|
|
|
|
|
+ <select id="getChannelOrderList" parameterType="Statistics" resultType="Statistics">
|
|
|
|
|
+ /* TsaStatistics.getChannelOrderList */
|
|
|
|
|
+ SELECT AF_LINK_CD
|
|
|
|
|
+ , AF_LINK_NM
|
|
|
|
|
+ , CHANNEL_AMT
|
|
|
|
|
+ , TOT_AMT
|
|
|
|
|
+ , SELL_QTY
|
|
|
|
|
+ , CNCL_QTY
|
|
|
|
|
+ , CNCL_AMT
|
|
|
|
|
+ , REAL_ORD_AMT
|
|
|
|
|
+ , SELL_FEE_RATE
|
|
|
|
|
+ , EX_USAC_AMT
|
|
|
|
|
+ , YOY_TOT_ORD_AMT
|
|
|
|
|
+ , ROUND(TOT_AMT / YOY_TOT_ORD_AMT * 100 - 100,1) AS YOY_RATE
|
|
|
|
|
+ FROM (
|
|
|
|
|
+ SELECT
|
|
|
|
|
+ AF_LINK_CD
|
|
|
|
|
+ , (SELECT AF_LINK_NM FROM TB_AF_LINK X WHERE X.AF_LINK_CD = A.AF_LINK_CD) AS AF_LINK_NM
|
|
|
|
|
+ , SUM(A.CHANNEL_AMT) AS CHANNEL_AMT
|
|
|
|
|
+ , SUM(A.CHANNEL_AMT - A.CNCL_AMT - A.RTN_AMT) AS TOT_AMT /* 총매출 */
|
|
|
|
|
+ , SUM(A.SELL_QTY) AS SELL_QTY /* 판매수량 */
|
|
|
|
|
+ , SUM(A.CNCL_QTY + A.RTN_QTY) AS CNCL_QTY /* 취/반품수량 */
|
|
|
|
|
+ , SUM(A.CNCL_AMT + A.RTN_AMT) AS CNCL_AMT /* 취/반품액 */
|
|
|
|
|
+ , SUM(A.REAL_ORD_AMT) AS REAL_ORD_AMT /* 실결제금액 */
|
|
|
|
|
+ , (SELECT FEE_RATE FROM TB_AF_LINK X WHERE X.AF_LINK_CD = A.AF_LINK_CD) AS SELL_FEE_RATE
|
|
|
|
|
+ , (SUM(A.REAL_ORD_AMT) * (1 - (SELECT FEE_RATE FROM TB_AF_LINK X WHERE X.AF_LINK_CD = A.AF_LINK_CD) / 100)) AS EX_USAC_AMT
|
|
|
|
|
+ , IFNULL((SELECT SUM(X.CHANNEL_AMT - X.CNCL_AMT - X.RTN_AMT)
|
|
|
|
|
+ FROM TB_STAT_ORD_DAY X
|
|
|
|
|
+ WHERE 1=1
|
|
|
|
|
+ AND X.AF_LINK_CD = A.AF_LINK_CD
|
|
|
|
|
+ <![CDATA[
|
|
|
|
|
+ AND X.DAY >= DATE_ADD(STR_TO_DATE(#{startDt},'%Y-%m-%d'), INTERVAL -1 YEAR)
|
|
|
|
|
+ AND X.DAY <= DATE_ADD(STR_TO_DATE(#{endDt},'%Y-%m-%d'), INTERVAL 1 DAY)
|
|
|
|
|
+ ]]>
|
|
|
|
|
+ <if test="multiFrontGb != null">
|
|
|
|
|
+ /* 디바이스 */
|
|
|
|
|
+ <foreach collection="multiFrontGb" item="item" index="index" open="AND X.FRONT_GB IN (" close=")" separator=",">#{item}</foreach>
|
|
|
|
|
+ </if>
|
|
|
|
|
+ <if test="multiFormalGb != null">
|
|
|
|
|
+ /* 정상/이월구분 */
|
|
|
|
|
+ <foreach collection="multiFormalGb" item="item" index="index" open="AND X.FORMAL_GB IN (" close=")" separator=",">#{item}</foreach>
|
|
|
|
|
+ </if>
|
|
|
|
|
+ <if test="multiDistributionGb != null">
|
|
|
|
|
+ /* 물류구분 */
|
|
|
|
|
+ <foreach collection="multiDistributionGb" item="item" index="index" open="AND X.DISTRIBUTION_GB IN (" close=")" separator=",">#{item}</foreach>
|
|
|
|
|
+ </if>
|
|
|
|
|
+ <if test="multiSupplyCompCd != null">
|
|
|
|
|
+ /* 공급처 */
|
|
|
|
|
+ <foreach collection="multiSupplyCompCd" item="item" index="index" open="AND X.SUPPLY_COMP_CD IN (" close=")" separator=",">#{item}</foreach>
|
|
|
|
|
+ </if>
|
|
|
|
|
+ <if test="multiItemkindCd != null">
|
|
|
|
|
+ /* 품목 */
|
|
|
|
|
+ <foreach collection="multiItemkindCd" item="item" index="index" open="AND X.ITEMKIND_CD IN (" close=")" separator=",">#{item}</foreach>
|
|
|
|
|
+ </if>
|
|
|
|
|
+ ),0) AS YOY_TOT_ORD_AMT /*전년동기대비매출액*/
|
|
|
|
|
+ FROM TB_STAT_ORD_DAY A
|
|
|
|
|
+ WHERE 1=1
|
|
|
|
|
+ <![CDATA[
|
|
|
|
|
+ AND DAY >= STR_TO_DATE(#{startDt},'%Y-%m-%d')
|
|
|
|
|
+ AND DAY <= DATE_ADD(STR_TO_DATE(#{endDt},'%Y-%m-%d'), INTERVAL 1 DAY)
|
|
|
|
|
+ ]]>
|
|
|
|
|
+ AND EXISTS(
|
|
|
|
|
+ SELECT 1
|
|
|
|
|
+ FROM TB_AF_LINK X
|
|
|
|
|
+ WHERE X.AF_LINK_CD = A.AF_LINK_CD
|
|
|
|
|
+ AND X.AF_CHANNEL != 'G053_01'
|
|
|
|
|
+ )
|
|
|
|
|
+ <if test="multiFrontGb != null">
|
|
|
|
|
+ /* 디바이스 */
|
|
|
|
|
+ <foreach collection="multiFrontGb" item="item" index="index" open="AND A.FRONT_GB IN (" close=")" separator=",">#{item}</foreach>
|
|
|
|
|
+ </if>
|
|
|
|
|
+ <if test="multiFormalGb != null">
|
|
|
|
|
+ /* 정상/이월구분 */
|
|
|
|
|
+ <foreach collection="multiFormalGb" item="item" index="index" open="AND A.FORMAL_GB IN (" close=")" separator=",">#{item}</foreach>
|
|
|
|
|
+ </if>
|
|
|
|
|
+ <if test="multiDistributionGb != null">
|
|
|
|
|
+ /* 물류구분 */
|
|
|
|
|
+ <foreach collection="multiDistributionGb" item="item" index="index" open="AND A.DISTRIBUTION_GB IN (" close=")" separator=",">#{item}</foreach>
|
|
|
|
|
+ </if>
|
|
|
|
|
+ <if test="multiSupplyCompCd != null">
|
|
|
|
|
+ /* 공급처 */
|
|
|
|
|
+ <foreach collection="multiSupplyCompCd" item="item" index="index" open="AND A.SUPPLY_COMP_CD IN (" close=")" separator=",">#{item}</foreach>
|
|
|
|
|
+ </if>
|
|
|
|
|
+ <if test="multiItemkindCd != null">
|
|
|
|
|
+ /* 품목 */
|
|
|
|
|
+ <foreach collection="multiItemkindCd" item="item" index="index" open="AND A.ITEMKIND_CD IN (" close=")" separator=",">#{item}</foreach>
|
|
|
|
|
+ </if>
|
|
|
|
|
+ GROUP BY AF_LINK_CD
|
|
|
|
|
+
|
|
|
|
|
+ ) TAB
|
|
|
|
|
+ ORDER BY AF_LINK_NM
|
|
|
|
|
+ </select>
|
|
|
|
|
+
|
|
|
|
|
+ <!-- 브랜드 주문목록 조회 -->
|
|
|
|
|
+ <select id="getBrandOrderList" parameterType="Statistics" resultType="Statistics">
|
|
|
|
|
+ /* TsaStatistics.getBrandOrderList */
|
|
|
|
|
+ SELECT
|
|
|
|
|
+ BRAND_CD /*브랜드코드*/
|
|
|
|
|
+ , BRAND_ENM /*브랜드명*/
|
|
|
|
|
+ , TOT_AMT /*총매출*/
|
|
|
|
|
+ , SELL_QTY /*판매수량*/
|
|
|
|
|
+ , SELFMALL_AMT /*자사몰매출*/
|
|
|
|
|
+ , EXTMALL_AMT /*제휴몰매출*/
|
|
|
|
|
+ , CNCL_AMT /*취/반품액*/
|
|
|
|
|
+ , TOT_AMT_10 /*정상매출*/
|
|
|
|
|
+ , TOT_AMT_20 /*이월매출*/
|
|
|
|
|
+ , ROUND( ((FLOOR(TOT_AMT_10 / TOT_AMT * 10000 / 10)) / 10), 1) AS AMT_RATE_10 /*정상비*/
|
|
|
|
|
+ , ROUND(TOT_AMT / YOY_TOT_ORD_AMT * 100 - 100,1) AS YOY_RATE /*증가율*/
|
|
|
|
|
+ , YOY_TOT_ORD_AMT
|
|
|
|
|
+ FROM (
|
|
|
|
|
+ SELECT
|
|
|
|
|
+ BRAND_CD
|
|
|
|
|
+ , BRAND_ENM
|
|
|
|
|
+ , SELF_YN
|
|
|
|
|
+ , SUM(TOT_AMT) AS TOT_AMT
|
|
|
|
|
+ , SUM(SELL_QTY) AS SELL_QTY
|
|
|
|
|
+ , SUM(SELFMALL_AMT) AS SELFMALL_AMT
|
|
|
|
|
+ , SUM(EXTMALL_AMT) AS EXTMALL_AMT
|
|
|
|
|
+ , SUM(CNCL_AMT) AS CNCL_AMT
|
|
|
|
|
+ , SUM(CASE WHEN FORMAL_GB = 'G009_10' THEN TOT_AMT ELSE 0 END) AS TOT_AMT_10 /*정상매출*/
|
|
|
|
|
+ , SUM(CASE WHEN FORMAL_GB = 'G009_20' THEN TOT_AMT ELSE 0 END) AS TOT_AMT_20 /*이월매출*/
|
|
|
|
|
+ , X.YOY_TOT_ORD_AMT
|
|
|
|
|
+ FROM (
|
|
|
|
|
+ SELECT
|
|
|
|
|
+ A.BRAND_CD -- 브랜드코드
|
|
|
|
|
+ , B.BRAND_ENM -- 브랜드명
|
|
|
|
|
+ , B.SELF_YN -- 자사여부
|
|
|
|
|
+ , A.FORMAL_GB -- 정상이월구분
|
|
|
|
|
+ , SUM(A.SELF_AMT + A.CHANNEL_AMT + A.EXTMALL_AMT - A.CNCL_AMT - A.RTN_AMT) AS TOT_AMT -- 총매출
|
|
|
|
|
+ , SUM(A.SELL_QTY) AS SELL_QTY -- 판매수량
|
|
|
|
|
+ , SUM(A.SELF_AMT + A.CHANNEL_AMT) AS SELFMALL_AMT -- 자사몰매출
|
|
|
|
|
+ , SUM(A.EXTMALL_AMT) AS EXTMALL_AMT -- 제휴몰매출
|
|
|
|
|
+ , SUM(A.CNCL_AMT + A.RTN_AMT) AS CNCL_AMT -- 취/반품액
|
|
|
|
|
+ , IFNULL((SELECT SUM(X.SELF_AMT + X.CHANNEL_AMT + X.EXTMALL_AMT - X.CNCL_AMT - X.RTN_AMT)
|
|
|
|
|
+ FROM TB_STAT_ORD_DAY X
|
|
|
|
|
+ WHERE A.BRAND_CD = X.BRAND_CD
|
|
|
|
|
+ <![CDATA[
|
|
|
|
|
+ AND X.DAY >= DATE_ADD(STR_TO_DATE(#{startDt},'%Y-%m-%d'), INTERVAL -1 YEAR)
|
|
|
|
|
+ AND X.DAY <= DATE_ADD(STR_TO_DATE(#{endDt},'%Y-%m-%d'), INTERVAL -1 YEAR)
|
|
|
|
|
+ ]]>
|
|
|
|
|
+ <if test="multiFrontGb != null">
|
|
|
|
|
+ /* 디바이스 */
|
|
|
|
|
+ <foreach collection="multiFrontGb" item="item" index="index" open="AND X.FRONT_GB IN (" close=")" separator=",">#{item}</foreach>
|
|
|
|
|
+ </if>
|
|
|
|
|
+ <if test="multiFormalGb != null">
|
|
|
|
|
+ /* 정상/이월구분 */
|
|
|
|
|
+ <foreach collection="multiFormalGb" item="item" index="index" open="AND X.FORMAL_GB IN (" close=")" separator=",">#{item}</foreach>
|
|
|
|
|
+ </if>
|
|
|
|
|
+ <if test="multiDistributionGb != null">
|
|
|
|
|
+ /* 물류구분 */
|
|
|
|
|
+ <foreach collection="multiDistributionGb" item="item" index="index" open="AND X.DISTRIBUTION_GB IN (" close=")" separator=",">#{item}</foreach>
|
|
|
|
|
+ </if>
|
|
|
|
|
+ <if test="multiSupplyCompCd != null">
|
|
|
|
|
+ /* 공급처 */
|
|
|
|
|
+ <foreach collection="multiSupplyCompCd" item="item" index="index" open="AND X.SUPPLY_COMP_CD IN (" close=")" separator=",">#{item}</foreach>
|
|
|
|
|
+ </if>
|
|
|
|
|
+ <if test="multiItemkindCd != null">
|
|
|
|
|
+ /* 품목 */
|
|
|
|
|
+ <foreach collection="multiItemkindCd" item="item" index="index" open="AND X.ITEMKIND_CD IN (" close=")" separator=",">#{item}</foreach>
|
|
|
|
|
+ </if>
|
|
|
|
|
+ <if test="multiExtmallId != null">
|
|
|
|
|
+ /* 제휴몰 */
|
|
|
|
|
+ <foreach collection="multiExtmallId" item="item" index="index" open="AND X.EXTMALL_ID IN (" close=")" separator=",">#{item}</foreach>
|
|
|
|
|
+ </if>
|
|
|
|
|
+ <if test="multiAfLinkCd != null">
|
|
|
|
|
+ /* 채널 */
|
|
|
|
|
+ <foreach collection="multiAfLinkCd" item="item" index="index" open="AND X.AF_LINK_CD IN (" close=")" separator=",">#{item}</foreach>
|
|
|
|
|
+ </if>
|
|
|
|
|
+ <if test="multiBrandCd != null">
|
|
|
|
|
+ /* 브랜드 */
|
|
|
|
|
+ <foreach collection="multiBrandCd" item="item" index="index" open="AND Y.BRAND_CD IN (" close=")" separator=",">#{item}</foreach>
|
|
|
|
|
+ </if>
|
|
|
|
|
+ ),0) AS YOY_TOT_ORD_AMT /*전년동기대비매출액*/
|
|
|
|
|
+ FROM TB_STAT_ORD_DAY A, TB_BRAND B
|
|
|
|
|
+ WHERE A.BRAND_CD = B.BRAND_CD
|
|
|
|
|
+ <![CDATA[
|
|
|
|
|
+ AND DAY >= STR_TO_DATE(#{startDt},'%Y-%m-%d')
|
|
|
|
|
+ AND DAY <= DATE_ADD(STR_TO_DATE(#{endDt},'%Y-%m-%d'), INTERVAL 1 DAY)
|
|
|
|
|
+ ]]>
|
|
|
|
|
+ <if test="multiFrontGb != null">
|
|
|
|
|
+ /* 디바이스 */
|
|
|
|
|
+ <foreach collection="multiFrontGb" item="item" index="index" open="AND A.FRONT_GB IN (" close=")" separator=",">#{item}</foreach>
|
|
|
|
|
+ </if>
|
|
|
|
|
+ <if test="multiFormalGb != null">
|
|
|
|
|
+ /* 정상/이월구분 */
|
|
|
|
|
+ <foreach collection="multiFormalGb" item="item" index="index" open="AND A.FORMAL_GB IN (" close=")" separator=",">#{item}</foreach>
|
|
|
|
|
+ </if>
|
|
|
|
|
+ <if test="multiDistributionGb != null">
|
|
|
|
|
+ /* 물류구분 */
|
|
|
|
|
+ <foreach collection="multiDistributionGb" item="item" index="index" open="AND A.DISTRIBUTION_GB IN (" close=")" separator=",">#{item}</foreach>
|
|
|
|
|
+ </if>
|
|
|
|
|
+ <if test="multiSupplyCompCd != null">
|
|
|
|
|
+ /* 공급처 */
|
|
|
|
|
+ <foreach collection="multiSupplyCompCd" item="item" index="index" open="AND A.SUPPLY_COMP_CD IN (" close=")" separator=",">#{item}</foreach>
|
|
|
|
|
+ </if>
|
|
|
|
|
+ <if test="multiItemkindCd != null">
|
|
|
|
|
+ /* 품목 */
|
|
|
|
|
+ <foreach collection="multiItemkindCd" item="item" index="index" open="AND A.ITEMKIND_CD IN (" close=")" separator=",">#{item}</foreach>
|
|
|
|
|
+ </if>
|
|
|
|
|
+ <if test="multiExtmallId != null">
|
|
|
|
|
+ /* 제휴몰 */
|
|
|
|
|
+ <foreach collection="multiExtmallId" item="item" index="index" open="AND A.EXTMALL_ID IN (" close=")" separator=",">#{item}</foreach>
|
|
|
|
|
+ </if>
|
|
|
|
|
+ <if test="multiAfLinkCd != null">
|
|
|
|
|
+ /* 채널 */
|
|
|
|
|
+ <foreach collection="multiAfLinkCd" item="item" index="index" open="AND A.AF_LINK_CD IN (" close=")" separator=",">#{item}</foreach>
|
|
|
|
|
+ </if>
|
|
|
|
|
+ <if test="multiBrandCd != null">
|
|
|
|
|
+ /* 브랜드 */
|
|
|
|
|
+ <foreach collection="multiBrandCd" item="item" index="index" open="AND A.BRAND_CD IN (" close=")" separator=",">#{item}</foreach>
|
|
|
|
|
+ </if>
|
|
|
|
|
+ GROUP BY A.BRAND_CD, B.BRAND_ENM, B.SELF_YN, A.FORMAL_GB
|
|
|
|
|
+ ) X
|
|
|
|
|
+ GROUP BY BRAND_CD, BRAND_ENM, SELF_YN
|
|
|
|
|
+ ) Z
|
|
|
|
|
+ ORDER BY SELF_YN DESC, BRAND_ENM
|
|
|
|
|
+ </select>
|
|
|
|
|
+
|
|
|
</mapper>
|
|
</mapper>
|