Browse Source

제휴채널정산 수정 (TB_ORDER_DETAIL_HST -> TB_ORDER_DETAIL_ITEM_HST)

gagamel 4 years ago
parent
commit
7ae8dac45f
1 changed files with 26 additions and 31 deletions
  1. 26 31
      src/main/java/com/style24/persistence/mybatis/shop/TssSettle.xml

+ 26 - 31
src/main/java/com/style24/persistence/mybatis/shop/TssSettle.xml

@@ -25,38 +25,33 @@
 		                              - GFCD_USE_AMT
 		                    ) / 1.1,0))          AS SALES_AMT      /*매출금액(VAT제외). 건별로 1.1로 나누고 소숫점을 절사하여 합계를 낸다.*/
 		FROM   (
-		        SELECT ODH.AF_LINK_CD                                              /*제휴링크코드*/
-		             , AL.AF_LINK_NM
-		             , DATE_FORMAT(ODH.REG_DT,'%Y-%m-%d %H:%i:%S') AS OCCUR_DT     /*발생일자*/
-		             , ODH.ORD_NO
-		             , ODH.ORD_DTL_NO
-		             , CASE WHEN ODH.ORD_DTL_STAT = 'G013_20' THEN
-		                        FN_GET_CODE_NM('G013',ODH.ORD_DTL_STAT)
-		                    ELSE
-		                        IFNULL(FN_GET_CODE_NM('G685',OCD.CHG_STAT),'주문취소')
-		               END                                         AS ORD_DTL_STAT /*주문상세상태*/
-		             , (ODH.ORD_AMT - ODH.CNCL_RTN_AMT)            AS SELL_AMT     /*판매금액(상품금액.배송비제외)*/
-		             , ODH.CPN1_DC_AMT                                             /*1차쿠폰(즉시할인쿠폰)할인금액*/
-		             , ODH.TMTB1_DC_AMT                                            /*다다익선할인금액(수량)*/
-		             , ODH.TMTB2_DC_AMT                                            /*다다익선할인금액(금액)*/
-		             , ODH.GOODS_CPN_DC_AMT                                        /*상품쿠폰할인금액*/
-		             , ODH.CART_CPN_DC_AMT                                         /*장바구니할인금액*/
-		             , 0                                           AS PG_CPN_AMT   /*PG쿠폰금액.TODO:바로 아래 쿼리문으로 대체해야 함*/
-		             -- , ODH.PG_CPN_AMT                                              /*PG쿠폰금액*/
-		             , ODH.PNT_DC_AMT                                              /*포인트할인금액*/
-		             , ODH.PRE_PNT_DC_AMT                                          /*선포인트할인금액*/
-		             , ODH.GFCD_USE_AMT                                            /*상품권사용금액*/
-		        FROM   TB_ORDER_DETAIL_HST ODH
-		        INNER JOIN TB_AF_LINK AL
-		                ON ODH.AF_LINK_CD = AL.AF_LINK_CD
-		        LEFT OUTER JOIN TB_ORDER_CHANGE_DETAIL OCD
-		                     ON ODH.ORD_DTL_NO = OCD.ORD_DTL_NO
-		                    AND OCD.CHG_STAT IN ('G685_18','G685_40','G685_60')	/*취소완료,교환완료,반품완료*/
-		        WHERE  ODH.ORD_DTL_STAT IN ('G013_20','G013_99') /*결제완료,주문취소*/
-		        AND    ODH.REG_DT <![CDATA[>=]]> STR_TO_DATE(#{startDt},'%Y-%m-%d')
-		        AND    ODH.REG_DT <![CDATA[<]]> DATE_ADD(STR_TO_DATE(#{endDt},'%Y-%m-%d'),INTERVAL 1 DAY)
+		        SELECT OD.AF_LINK_CD                                                                                                           /*제휴링크코드*/
+		             , AL.AF_LINK_NM                                                                                                           /*제휴링크명*/
+		             , DATE_FORMAT(ODIH.REG_DT,'%Y-%m-%d %H:%i:%S')                                                        AS OCCUR_DT         /*발생일자*/
+		             , ODIH.ORD_NO                                                                                                             /*주문번호*/
+		             , ODIH.ORD_DTL_NO                                                                                                         /*주문상세번호*/
+		             , IF(ODIH.ORD_DTL_STAT = 'G720_10','결제완료',IFNULL(FN_GET_CODE_NM('G685',OCD.CHG_STAT),'주문취소')) AS ORD_DTL_STAT     /*주문상세상태*/
+		             , IF(ODIH.ORD_DTL_STAT = 'G720_10',ODIH.ORD_AMT,-1 * ODIH.CNCL_RTN_AMT)                               AS SELL_AMT         /*판매금액(상품금액.배송비제외)*/
+		             , IF(ODIH.ORD_DTL_STAT = 'G720_10',1,-1) * ODIH.CPN1_DC_AMT                                           AS CPN1_DC_AMT      /*1차쿠폰(즉시할인쿠폰)할인금액*/
+		             , IF(ODIH.ORD_DTL_STAT = 'G720_10',1,-1) * ODIH.TMTB1_DC_AMT                                          AS TMTB1_DC_AMT     /*다다익선할인금액(수량)*/
+		             , IF(ODIH.ORD_DTL_STAT = 'G720_10',1,-1) * ODIH.TMTB2_DC_AMT                                          AS TMTB2_DC_AMT     /*다다익선할인금액(금액)*/
+		             , IF(ODIH.ORD_DTL_STAT = 'G720_10',1,-1) * ODIH.GOODS_CPN_DC_AMT                                      AS GOODS_CPN_DC_AMT /*상품쿠폰할인금액*/
+		             , IF(ODIH.ORD_DTL_STAT = 'G720_10',1,-1) * ODIH.CART_CPN_DC_AMT                                       AS CART_CPN_DC_AMT  /*장바구니할인금액*/
+		             , 0                                                                                                   AS PG_CPN_AMT       /*PG쿠폰금액.TODO:바로 아래 쿼리문으로 대체해야 함*/
+		             -- , IF(ODIH.ORD_DTL_STAT = 'G720_10',1,-1) * ODIH.PG_CPN_AMT                                         AS PG_CPN_AMT       /*PG쿠폰금액*/
+		             , IF(ODIH.ORD_DTL_STAT = 'G720_10',1,-1) * ODIH.PNT_DC_AMT                                            AS PNT_DC_AMT       /*포인트할인금액*/
+		             , IF(ODIH.ORD_DTL_STAT = 'G720_10',1,-1) * ODIH.PRE_PNT_DC_AMT                                        AS PRE_PNT_DC_AMT   /*선포인트할인금액*/
+		             , IF(ODIH.ORD_DTL_STAT = 'G720_10',1,-1) * ODIH.GFCD_USE_AMT                                          AS GFCD_USE_AMT     /*상품권사용금액*/
+		        FROM   TB_ORDER_DETAIL_ITEM_HST ODIH
+		        INNER JOIN TB_ORDER_DETAIL OD ON ODIH.ORD_DTL_NO = OD.ORD_DTL_NO
+		        INNER JOIN TB_AF_LINK AL ON OD.AF_LINK_CD = AL.AF_LINK_CD
+		        LEFT OUTER JOIN TB_ORDER_CHANGE_DETAIL OCD ON ODIH.ORD_DTL_NO = OCD.ORD_DTL_NO
+		                                                  AND OCD.CHG_STAT IN ('G685_18','G685_40','G685_60')	/*취소완료,교환완료,반품완료*/
+		        WHERE  ODIH.ORD_DTL_STAT IN ('G720_10','G720_30','G720_40') /*판매-결제완료,환입-취소완료,환입-품절취소*/
+		        AND    ODIH.REG_DT <![CDATA[>=]]> STR_TO_DATE(#{startDt},'%Y-%m-%d')
+		        AND    ODIH.REG_DT <![CDATA[<]]> DATE_ADD(STR_TO_DATE(#{endDt},'%Y-%m-%d'),INTERVAL 1 DAY)
 		        <if test="ordNo != null and ordNo != ''">
-		        AND    ODH.ORD_NO = #{ordNo}
+		        AND    ODIH.ORD_NO = #{ordNo}
 		        </if>
 		        <if test="afLinkCd != null and afLinkCd != ''">
 		        AND    AL.AF_LINK_CD = #{afLinkCd}