Pārlūkot izejas kodu

정산수식변경
-정산시 주문서쿠폰은제외
- 상품쿠폰에서 59번쿠폰은제외

smlee@yes24.com 4 gadi atpakaļ
vecāks
revīzija
e9c28438b5

+ 9 - 11
src/main/java/com/style24/persistence/mybatis/shop/TssSettle.xml

@@ -88,8 +88,7 @@
 		     , ODIH.SELL_QTY                                                                                   /*판매수량*/
 		     , ODIH.SELL_AMT                                                                                   /*판매금액(ORD_AMT에는 CPN1_DC_AMT가 빠진 금액이 들어가 있음)*/
 		     , IF(ODIH.CPN1_DC_AMT = -0,0,ODIH.CPN1_DC_AMT)
-		       + IF(ODIH.GOODS_CPN_DC_AMT = -0,0,ODIH.GOODS_CPN_DC_AMT)
-		       + IF(ODIH.CART_CPN_DC_AMT = -0,0,ODIH.CART_CPN_DC_AMT)               AS CPN_DC_AMT              /*쿠폰사용금액*/
+		       + IF(ODIH.GOODS_CPN_DC_AMT = -0,0,ODIH.GOODS_CPN_DC_AMT)          AS CPN_DC_AMT              /*쿠폰사용금액 / 주문서쿠폰제외*/
 		     , IF(ODIH.SELF_CPN_DC_AMT = -0,0,ODIH.SELF_CPN_DC_AMT)                 AS SELF_CPN_DC_AMT         /*자사쿠폰분담액*/
 		     , IF(ODIH.SUPPLY_COMP_CPN_DC_AMT = -0,0,ODIH.SUPPLY_COMP_CPN_DC_AMT)   AS SUPPLY_COMP_CPN_DC_AMT  /*입점쿠폰분담액*/
 		     -- , IF(ODIH.PNT_DC_AMT = -0,0,ODIH.PNT_DC_AMT)                        AS PNT_DC_AMT              /*포인트사용금액*/
@@ -100,20 +99,20 @@
 		     , CASE WHEN ODIH.SELL_QTY = 0 THEN 0
 		            ELSE
 		                (ODIH.SELL_AMT
-		                 - (ODIH.CPN1_DC_AMT + ODIH.GOODS_CPN_DC_AMT + ODIH.CART_CPN_DC_AMT)
+		                 - (ODIH.CPN1_DC_AMT + ODIH.GOODS_CPN_DC_AMT)
 		                 - ODIH.TMTB_DC_AMT
 		                ) / ODIH.SELL_QTY
-		       END                                                                  AS REAL_SELL_PRICE        /*실판매가*/
+		       END                                                                  AS REAL_SELL_PRICE        /*실판매가/ 주문서쿠폰제외*/
 		     , ODIH.SELL_AMT
-		       - (ODIH.CPN1_DC_AMT + ODIH.GOODS_CPN_DC_AMT + ODIH.CART_CPN_DC_AMT)
-		       - ODIH.TMTB_DC_AMT                                                   AS REAL_SELL_AMT          /*실판매금액(=상품총액. 쿠폰과 다다익선만 차감. 상품권과 포인트는 포함)*/
+		       - (ODIH.CPN1_DC_AMT + ODIH.GOODS_CPN_DC_AMT )
+		       - ODIH.TMTB_DC_AMT                                                   AS REAL_SELL_AMT          /*실판매금액(=상품총액. 쿠폰과 다다익선만 차감. 상품권과 포인트는 포함) / 주문서쿠폰제외*/
 		     , ODIH.SELL_FEE_RATE                                                                             /*판매수수료율*/
 		     , ROUND(ODIH.SELL_AMT * (ODIH.SELL_FEE_RATE / 100),0)                  AS SELL_FEE_AMT           /*수수료(판매금액 * 판매수수료율)*/
 		     , (ODIH.SELL_AMT
-		        - (ODIH.CPN1_DC_AMT + ODIH.GOODS_CPN_DC_AMT + ODIH.CART_CPN_DC_AMT)
+		        - (ODIH.CPN1_DC_AMT + ODIH.GOODS_CPN_DC_AMT )
 		        - ODIH.TMTB_DC_AMT)
 		       - ROUND(ODIH.SELL_AMT * (ODIH.SELL_FEE_RATE / 100),0)
-		       + (ODIH.SELF_CPN_DC_AMT + ODIH.SELF_TMTB_DC_AMT)                     AS SETTLE_AMT             /*정산대상액(실판매금액 - 수수료 + 자사다다익선분담액 + 자사쿠폰분담액)*/
+		       + (ODIH.SELF_CPN_DC_AMT + ODIH.SELF_TMTB_DC_AMT)                     AS SETTLE_AMT             /*정산대상액(실판매금액 - 수수료 + 자사다다익선분담액 + 자사쿠폰분담액) / 주문서쿠폰제외*/
 		FROM   (
 		        SELECT ODIH.ORD_DTL_ITEM_HST_SQ                                                                                    /*주문상세단품이력일련번호*/
 		             , ODIH.ORD_NO                                                                                                 /*주문번호*/
@@ -163,12 +162,11 @@
 		                                                   END))
 		                    END AS SIGNED INT)                                                          AS SELL_AMT                /*판매금액*/
 		             , IF(ODIH.ORD_DTL_STAT = 'G720_20',1,-1) * ODIH.CPN1_DC_AMT                        AS CPN1_DC_AMT             /*즉시사용쿠폰금액*/
-		             , IF(ODIH.ORD_DTL_STAT = 'G720_20',1,-1) * ODIH.GOODS_CPN_DC_AMT                   AS GOODS_CPN_DC_AMT        /*상품쿠폰사용금액*/
+		             , IF(ODIH.ORD_DTL_STAT = 'G720_20',1,-1) * CASE WHEN CC2.CPN_ID=59 THEN 0 ELSE ODIH.GOODS_CPN_DC_AMT END                   AS GOODS_CPN_DC_AMT        /*상품쿠폰사용금액 / 59번쿠폰제외*/
 		             , IF(ODIH.ORD_DTL_STAT = 'G720_20',1,-1) * ODIH.CART_CPN_DC_AMT                    AS CART_CPN_DC_AMT         /*주문서쿠폰사용금액*/
 		             , IF(ODIH.ORD_DTL_STAT = 'G720_20',1,-1) * 
 		               (((100 - IFNULL(CB1.BURDEN_RATE,0)) / 100) * ODIH.CPN1_DC_AMT
-		                + ((100 - IFNULL(CB2.BURDEN_RATE,0)) / 100) * ODIH.GOODS_CPN_DC_AMT
-		                + ((100 - IFNULL(CB3.BURDEN_RATE,0)) / 100) * ODIH.CART_CPN_DC_AMT)             AS SELF_CPN_DC_AMT         /*자사쿠폰분담액*/
+		                + ((100 - IFNULL(CB2.BURDEN_RATE,0)) / 100) * CASE WHEN CC2.CPN_ID=59 THEN 0 ELSE ODIH.GOODS_CPN_DC_AMT END )             AS SELF_CPN_DC_AMT         /*자사쿠폰분담액 / 59번 쿠폰 제외 / 주문서쿠폰제외*/
 		             , IF(ODIH.ORD_DTL_STAT = 'G720_20',1,-1) *
 		               ((IFNULL(CB1.BURDEN_RATE,0) / 100) * ODIH.CPN1_DC_AMT
 		                + (IFNULL(CB2.BURDEN_RATE,0) / 100) * ODIH.GOODS_CPN_DC_AMT