ソースを参照

Merged PR 58: 정산수식수정

1. 정산수정
 - 주문서쿠폰제외
 - 59번쿠폰제외
2. 일일거래내역
 - 주문서쿠폰제외
 - 59번쿠폰제외
 - 정산과 수식 동기화
smlee 4 年 前
コミット
79d8fcf2d9

+ 16 - 22
src/main/java/com/style24/persistence/mybatis/shop/TsaSettle.xml

@@ -37,8 +37,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.CPN1_DC_AMT = -0,0,ODIH.CPN1_DC_AMT)                         AS CPN1_DC_AMT             /*즉시사용쿠폰금액*/
 		     , IF(ODIH.GOODS_CPN_DC_AMT = -0,0,ODIH.GOODS_CPN_DC_AMT)               AS GOODS_CPN_DC_AMT        /*상품쿠폰사용금액*/
 		     , IF(ODIH.CART_CPN_DC_AMT = -0,0,ODIH.CART_CPN_DC_AMT)                 AS CART_CPN_DC_AMT         /*주문서쿠폰사용금액*/
@@ -52,20 +51,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                                                                                                 /*주문번호*/
@@ -130,7 +129,7 @@
 		                                                   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) * ODIH.PNT_DC_AMT                         AS PNT_DC_AMT              /*포인트사용금액*/
 		             , IF(ODIH.ORD_DTL_STAT = 'G720_20',1,-1) * (ODIH.TMTB1_DC_AMT + ODIH.TMTB2_DC_AMT) AS TMTB_DC_AMT             /*다다익선할인금액*/
@@ -143,12 +142,10 @@
 		             , IF(ODIH.ORD_DTL_STAT = 'G720_20',1,-1) * ODIH.GFCD_USE_AMT                       AS GFCD_USE_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
-		                + (IFNULL(CB3.BURDEN_RATE,0) / 100) * ODIH.CART_CPN_DC_AMT)                     AS SUPPLY_COMP_CPN_DC_AMT  /*입점쿠폰분담액*/
+		                + (IFNULL(CB2.BURDEN_RATE,0) / 100) * ODIH.GOODS_CPN_DC_AMT)                     AS SUPPLY_COMP_CPN_DC_AMT  /*입점쿠폰분담액 /주문서쿠폰제외/*/
 		             , CASE WHEN O.MALL_GB = 'G011_10' /*자사몰*/ THEN
 		                        OD.SELL_FEE_RATE
 		                    ELSE /*제휴몰*/
@@ -282,12 +279,11 @@
 		             , SUM(ODIH.SELL_QTY)                                       AS SELL_QTY                /*판매수량*/
 		             , SUM(ODIH.SELL_AMT)                                       AS SELL_AMT                /*판매금액(=판매총액)*/
 		             , SUM(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           /*실판매금액(=상품총액. 쿠폰과 다다익선만 차감. 상품권과 포인트는 포함) / 주문서쿠폰제외 */
 		             , SUM(ROUND(ODIH.SELL_AMT * (ODIH.SELL_FEE_RATE / 100),0)) AS SELL_FEE_AMT            /*수수료(판매금액 * 판매수수료율)*/
 		             , SUM(ODIH.CPN1_DC_AMT +
-		                   ODIH.GOODS_CPN_DC_AMT +
-		                   ODIH.CART_CPN_DC_AMT)                                AS CPN_DC_AMT              /*쿠폰할인금액*/
+		                   ODIH.GOODS_CPN_DC_AMT)                                AS CPN_DC_AMT              /*쿠폰할인금액 / 주문서쿠폰제외*/
 		             , SUM(ODIH.SELF_CPN_DC_AMT)                                AS SELF_CPN_DC_AMT         /*자사쿠폰분담액*/
 		             , SUM(ODIH.SUPPLY_COMP_CPN_DC_AMT)                         AS SUPPLY_COMP_CPN_DC_AMT  /*입점쿠폰분담액*/
 		             , SUM(ODIH.TMTB_DC_AMT)                                    AS TMTB_DC_AMT             /*다다익선할인금액*/
@@ -320,7 +316,7 @@
 		                                                           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) * ODIH.PNT_DC_AMT                         AS PNT_DC_AMT              /*포인트사용금액*/
 		                     , IF(ODIH.ORD_DTL_STAT = 'G720_20',1,-1) * (ODIH.TMTB1_DC_AMT + ODIH.TMTB2_DC_AMT) AS TMTB_DC_AMT             /*다다익선할인금액*/
@@ -332,12 +328,10 @@
 		                        + (IFNULL(TB2.TMTB_BURDEN_RATE,0) / 100) * ODIH.TMTB2_DC_AMT)                   AS SUPPLY_COMP_TMTB_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
-		                         + (IFNULL(CB3.BURDEN_RATE,0) / 100) * ODIH.CART_CPN_DC_AMT)                    AS SUPPLY_COMP_CPN_DC_AMT  /*입점쿠폰분담액*/
+		                         + (IFNULL(CB2.BURDEN_RATE,0) / 100) * ODIH.GOODS_CPN_DC_AMT)                    AS SUPPLY_COMP_CPN_DC_AMT  /*입점쿠폰분담액 / 주문서 쿠폰제외*/
 		                     , CASE WHEN O.MALL_GB = 'G011_10' /*자사몰*/ THEN
 		                                OD.SELL_FEE_RATE
 		                            ELSE /*제휴몰*/

+ 12 - 15
src/main/java/com/style24/persistence/mybatis/shop/TsaStatistics.xml

@@ -67,18 +67,15 @@
 		     , 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.CPN1_DC_AMT + ODIH.GOODS_CPN_DC_AMT + ODIH.CART_CPN_DC_AMT)
-		              - ODIH.TMTB_DC_AMT
-		             ) * (ODIH.SELL_FEE_RATE / 100),0)          AS SELL_FEE_AMT           /*수수료*/
+		     , ROUND(ODIH.SELL_AMT * (ODIH.SELL_FEE_RATE / 100),0)          AS SELL_FEE_AMT           /*수수료*/
 		     , ODIH.MD_NM                                                                 /*담당MD*/
 		FROM   (
 		        SELECT ODIH.ORD_DTL_ITEM_HST_SQ                                                                                    /*주문상세단품이력일련번호*/
@@ -145,7 +142,7 @@
 		                                                   END))
 		                    END AS SIGNED INT)                                                          AS SELL_AMT                /*판매금액*/
 		             , IF(ODIH.ORD_DTL_STAT = 'G720_10',1,-1) * ODIH.CPN1_DC_AMT                        AS CPN1_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) * CASE WHEN CC2.CPN_ID=59 THEN 0 ELSE ODIH.GOODS_CPN_DC_AMT END                   AS GOODS_CPN_DC_AMT        /*상품쿠폰사용금액*/
 		             , IF(ODIH.ORD_DTL_STAT = 'G720_10',1,-1) * ODIH.CART_CPN_DC_AMT                    AS CART_CPN_DC_AMT         /*주문서쿠폰사용금액*/
 		             , 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.TMTB1_DC_AMT + ODIH.TMTB2_DC_AMT) AS TMTB_DC_AMT             /*다다익선할인금액*/
@@ -158,12 +155,10 @@
 		             , IF(ODIH.ORD_DTL_STAT = 'G720_10',1,-1) * ODIH.GFCD_USE_AMT                       AS GFCD_USE_AMT            /*상품권사용금액*/
 		             , IF(ODIH.ORD_DTL_STAT = 'G720_10',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         /*자사쿠폰분담액*/
 		             , IF(ODIH.ORD_DTL_STAT = 'G720_10',1,-1) *
 		               ((IFNULL(CB1.BURDEN_RATE,0) / 100) * ODIH.CPN1_DC_AMT
-		                + (IFNULL(CB2.BURDEN_RATE,0) / 100) * ODIH.GOODS_CPN_DC_AMT
-		                + (IFNULL(CB3.BURDEN_RATE,0) / 100) * ODIH.CART_CPN_DC_AMT)                     AS SUPPLY_COMP_CPN_DC_AMT  /*입점쿠폰분담액*/
+		                + (IFNULL(CB2.BURDEN_RATE,0) / 100) * ODIH.GOODS_CPN_DC_AMT)                     AS SUPPLY_COMP_CPN_DC_AMT  /*입점쿠폰분담액*/
 		             , CASE WHEN O.MALL_GB = 'G011_10' /*자사몰*/ THEN
 		                        OD.SELL_FEE_RATE
 		                    ELSE /*제휴몰*/
@@ -188,9 +183,11 @@
 		        LEFT OUTER JOIN TB_AF_LINK AL ON OD.AF_LINK_CD = AL.AF_LINK_CD
 		        LEFT OUTER JOIN TB_COUPON_BURDEN CB1 ON OD.CPN1_CPN_SQ = CB1.CPN_ID
 		                                            AND OD.SUPPLY_COMP_CD = CB1.SUPPLY_COMP_CD
-		        LEFT OUTER JOIN TB_COUPON_BURDEN CB2 ON OD.GOODS_CPN_SQ = CB2.CPN_ID
+		        LEFT OUTER JOIN TB_CUST_COUPON CC2 ON OD.GOODS_CPN_SQ = CC2.CUST_CPN_SQ
+		        LEFT OUTER JOIN TB_COUPON_BURDEN CB2 ON CC2.CPN_ID = CB2.CPN_ID
 		                                            AND OD.SUPPLY_COMP_CD = CB2.SUPPLY_COMP_CD
-		        LEFT OUTER JOIN TB_COUPON_BURDEN CB3 ON OD.CART_CPN_SQ = CB3.CPN_ID
+		        LEFT OUTER JOIN TB_CUST_COUPON CC3 ON OD.CART_CPN_SQ = CC3.CUST_CPN_SQ
+		        LEFT OUTER JOIN TB_COUPON_BURDEN CB3 ON CC3.CPN_ID = CB3.CPN_ID
 		                                            AND OD.SUPPLY_COMP_CD = CB3.SUPPLY_COMP_CD
 		        LEFT OUTER JOIN TB_TMTB_BURDEN TB1 ON OD.TMTB1_SQ = TB1.TMTB_SQ
 		                                          AND OD.SUPPLY_COMP_CD = TB1.TMTB_SUPPLY_CD

+ 2 - 2
src/main/webapp/WEB-INF/views/statistics/DailyTradingForm.html

@@ -62,7 +62,7 @@
 						<span class="left" style="width: 600px;">
 							<strong>1.판매구분</strong>: 판매, 취소, 품절, 반품, 교환<br/>
 							<strong>2.판매금액</strong>: 판매가 * 판매수량<br/>
-							<strong>3.쿠폰할인금액</strong>: 즉시할인쿠폰금액 + 상품쿠폰할인금액 + 장바구니쿠폰할인금액<br/>
+							<strong>3.쿠폰할인금액</strong>: 즉시할인쿠폰금액 + 상품쿠폰할인금액 <br/>
 							<strong>4.수수료</strong>: 실판매금액(쿠폰할인금액과 다다익선할인금액만 차감. 포인트와 상품권은 포함) * 판매수수료율(%)<br/>
 						</span>
 					</div>
@@ -125,7 +125,7 @@
 		},
 		{
 			headerName: "쿠폰할인금액", field: "cpnDcAmt", width: 120, cellClass: 'text-right',
-			cellRenderer: function (params) { return gagaAgGrid.toAddComma(params.data.cpn1DcAmt + params.data.goodsCpnDcAmt + params.data.cartCpnDcAmt); }
+			cellRenderer: function (params) { return gagaAgGrid.toAddComma(params.data.cpn1DcAmt + params.data.goodsCpnDcAmt); }
 		},
 		{
 			headerName: "즉시사용쿠폰금액", field: "cpn1DcAmt", width: 120, cellClass: 'text-right',