swkim 4 年之前
父節點
當前提交
d3bf2e5ab9

+ 70 - 0
산출물/3.설계/ERD/.metadata/.log

@@ -6285,3 +6285,73 @@ Command-line arguments:  -os win32 -ws win32 -arch x86 D:\WIDE\workspace\webapps
 
 !ENTRY org.eclipse.osgi 2 1 2021-07-13 14:47:37.758
 !MESSAGE NLS unused message: ToggleColumnVisibilityHandler_5 in: com.tomato.exerd.handler.messages
+!SESSION 2021-07-14 10:47:55.404 -----------------------------------------------
+eclipse.buildId=M20090211-1700
+java.version=1.6.0_24
+java.vendor=Sun Microsystems Inc.
+BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=ko_KR
+Framework arguments:  D:\WIDE\workspace\webapps\style24\style24.doc\산출물\3.설계\ERD\ST24.exerd
+Command-line arguments:  -os win32 -ws win32 -arch x86 D:\WIDE\workspace\webapps\style24\style24.doc\산출물\3.설계\ERD\ST24.exerd
+
+!ENTRY org.eclipse.osgi 2 1 2021-07-14 10:47:57.091
+!MESSAGE NLS unused message: OpenResourceDialog_openButton_text in: org.eclipse.ui.internal.ide.messages
+
+!ENTRY org.eclipse.osgi 2 1 2021-07-14 10:47:57.091
+!MESSAGE NLS unused message: OpenResourceDialog_openWithMenu_label in: org.eclipse.ui.internal.ide.messages
+
+!ENTRY org.eclipse.osgi 2 1 2021-07-14 10:47:57.091
+!MESSAGE NLS unused message: OpenResourceDialog_openWithButton_toolTip in: org.eclipse.ui.internal.ide.messages
+
+!ENTRY org.eclipse.osgi 2 1 2021-07-14 10:47:57.107
+!MESSAGE NLS unused message: CleanDialog_cleanSelectedTaskName in: org.eclipse.ui.internal.ide.messages
+
+!ENTRY org.eclipse.osgi 2 1 2021-07-14 10:47:57.107
+!MESSAGE NLS unused message: RecentWorkspacesPreferencePage_PromptAtStartup_label in: org.eclipse.ui.internal.ide.messages
+
+!ENTRY org.eclipse.osgi 2 1 2021-07-14 10:47:57.107
+!MESSAGE NLS unused message: RecentWorkspacesPreferencePage_RemoveButton_label in: org.eclipse.ui.internal.ide.messages
+
+!ENTRY org.eclipse.osgi 2 1 2021-07-14 10:47:58.779
+!MESSAGE NLS unused message: url_couldNotResolve_projectDoesNotExist in: org.eclipse.core.internal.utils.messages
+
+!ENTRY org.eclipse.core.resources 2 10035 2021-07-14 10:47:58.842
+!MESSAGE The workspace exited with unsaved changes in the previous session; refreshing workspace to recover changes.
+
+!ENTRY org.eclipse.osgi 2 1 2021-07-14 10:47:59.107
+!MESSAGE NLS unused message: Shortcuts_shortcutTab in: org.eclipse.ui.internal.messages
+
+!ENTRY org.eclipse.osgi 2 1 2021-07-14 10:47:59.123
+!MESSAGE NLS unused message: Shortcuts_selectShortcutsLabel in: org.eclipse.ui.internal.messages
+
+!ENTRY org.eclipse.osgi 2 1 2021-07-14 10:47:59.123
+!MESSAGE NLS unused message: Shortcuts_availableMenus in: org.eclipse.ui.internal.messages
+
+!ENTRY org.eclipse.osgi 2 1 2021-07-14 10:47:59.123
+!MESSAGE NLS unused message: Shortcuts_availableCategories in: org.eclipse.ui.internal.messages
+
+!ENTRY org.eclipse.osgi 2 1 2021-07-14 10:47:59.123
+!MESSAGE NLS unused message: Shortcuts_allShortcuts in: org.eclipse.ui.internal.messages
+
+!ENTRY org.eclipse.osgi 2 1 2021-07-14 10:47:59.123
+!MESSAGE NLS unused message: Util_listNull in: org.eclipse.ui.internal.messages
+
+!ENTRY org.eclipse.osgi 2 1 2021-07-14 10:47:59.123
+!MESSAGE NLS unused message: OpenBrowserHandler_NoInfoDialogTitle in: org.eclipse.ui.internal.messages
+
+!ENTRY org.eclipse.osgi 2 1 2021-07-14 10:47:59.123
+!MESSAGE NLS unused message: AboutFeaturesDialog_SimpleTitle in: org.eclipse.ui.internal.messages
+
+!ENTRY org.eclipse.osgi 2 1 2021-07-14 10:48:04.764
+!MESSAGE NLS unused message: BinaryDumpHandler_1 in: com.tomato.exerd.handler.messages
+
+!ENTRY org.eclipse.osgi 2 1 2021-07-14 10:48:04.764
+!MESSAGE NLS unused message: ConvertToXMLHandler_1 in: com.tomato.exerd.handler.messages
+
+!ENTRY org.eclipse.osgi 2 1 2021-07-14 10:48:04.764
+!MESSAGE NLS unused message: SelectHandler_11 in: com.tomato.exerd.handler.messages
+
+!ENTRY org.eclipse.osgi 2 1 2021-07-14 10:48:04.764
+!MESSAGE NLS unused message: ToggleColumnVisibilityHandler_4 in: com.tomato.exerd.handler.messages
+
+!ENTRY org.eclipse.osgi 2 1 2021-07-14 10:48:04.780
+!MESSAGE NLS unused message: ToggleColumnVisibilityHandler_5 in: com.tomato.exerd.handler.messages

二進制
산출물/3.설계/ERD/.metadata/.plugins/org.eclipse.core.resources/.root/.indexes/properties.index


二進制
산출물/3.설계/ERD/.metadata/.plugins/org.eclipse.core.resources/.root/77.tree


二進制
산출물/3.설계/ERD/.metadata/.plugins/org.eclipse.core.resources/.root/78.tree


二進制
산출물/3.설계/ERD/.metadata/.plugins/org.eclipse.core.resources/.safetable/org.eclipse.core.resources


二進制
산출물/3.설계/ERD/.metadata/.plugins/org.eclipse.core.resources/.snap


+ 1 - 1
산출물/3.설계/ERD/.metadata/.plugins/org.eclipse.ui.ide/dialog_settings.xml

@@ -7,8 +7,8 @@
 	<section name="SaveAsDialogSettings">
 		<item value="525" key="DIALOG_WIDTH"/>
 		<item value="-51" key="DIALOG_Y_ORIGIN"/>
-		<item value="88" key="DIALOG_X_ORIGIN"/>
 		<item value="580" key="DIALOG_HEIGHT"/>
+		<item value="88" key="DIALOG_X_ORIGIN"/>
 		<item value="1|맑은 고딕|9.0|0|WINDOWS|1|-12|0|0|0|400|0|0|0|1|0|0|0|0|맑은 고딕" key="DIALOG_FONT_NAME"/>
 	</section>
 </section>

二進制
산출물/3.설계/ERD/ST24.exerd


+ 266 - 0
산출물/4.구축/통계/프로모션통계.sql

@@ -0,0 +1,266 @@
+
+-- 프로모션통계 -> 쿠폰사용통계
+WITH TAB AS (
+     SELECT
+        A.ORD_NO
+        , B.ORD_DTL_NO
+        , B.ORD_QTY
+        , B.CNCL_RTN_QTY
+        , B.ORD_AMT
+        , B.CURR_PRICE
+        , B.CNCL_RTN_AMT
+        , B.ORD_DTL_STAT
+        , A.PAY_DT
+        , C.GOODS_CD
+        , CPN1_DC_AMT
+        , CPN1_CPN_SQ
+        , GOODS_CPN_DC_AMT
+        , GOODS_CPN_SQ
+        , CART_CPN_DC_AMT
+        , CART_CPN_SQ
+    FROM TB_ORDER A, TB_ORDER_DETAIL B, TB_GOODS C, TB_CUSTOMER D
+    WHERE A.ORD_NO = B.ORD_NO
+        AND B.GOODS_CD = C.GOODS_CD
+        AND A.CUST_NO = D.CUST_NO
+        AND A.PAY_DT >= DATE_FORMAT('20210610', '%Y%m%d')                         -- 시작일변수
+        AND A.PAY_DT <= DATE_FORMAT(CONCAT('20210730', '235959'), '%Y%m%d%H%i%s') -- 종료일변수
+        AND B.ORD_EXCH_GB = 'O'
+        AND B.ORD_DTL_STAT NOT IN ('G013_00', 'G013_10', 'G013_98') -- 주문접수,입금대기,입금전취소 제외
+        AND B.ORD_QTY > B.CNCL_RTN_QTY
+)
+, TAB_CPN_STAT AS (
+    SELECT CPN_TYPE, A.CPN_ID, A.CPN_NM
+        , 100 - IFNULL((SELECT MAX(BURDEN_RATE) FROM TB_COUPON_BURDEN X WHERE X.CPN_ID = A.CPN_ID), 0) AS BURDEN
+        , COUNT(1) AS USE_CNT
+        , SUM((C.CURR_PRICE + (SELECT SUM(OPT_ADD_PRICE * ITEM_QTY) FROM TB_ORDER_DETAIL_ITEM X WHERE X.ORD_DTL_NO = C.ORD_DTL_NO)) * (C.ORD_QTY - C.CNCL_RTN_QTY)) AS ORD_AMT
+        , SUM(C.CPN1_DC_AMT) AS CPN_AMT
+    FROM TB_COUPON A, TB_CUST_COUPON B, TAB C
+    WHERE A.CPN_ID = B.CPN_ID
+        AND B.CUST_CPN_SQ = C.CPN1_CPN_SQ
+        AND A.CPN_TYPE = 'G230_10'-- 즉시할인쿠폰
+    GROUP BY CPN_TYPE, A.CPN_ID, A.CPN_NM
+    UNION ALL
+    SELECT CPN_TYPE, A.CPN_ID, A.CPN_NM
+        , 100 - IFNULL((SELECT MAX(BURDEN_RATE) FROM TB_COUPON_BURDEN X WHERE X.CPN_ID = A.CPN_ID), 0) AS BURDEN
+        , COUNT(1) AS USE_CNT
+        , SUM((C.CURR_PRICE + (SELECT SUM(OPT_ADD_PRICE * ITEM_QTY) FROM TB_ORDER_DETAIL_ITEM X WHERE X.ORD_DTL_NO = C.ORD_DTL_NO)) * (C.ORD_QTY - C.CNCL_RTN_QTY)) AS ORD_AMT
+        , SUM(C.GOODS_CPN_DC_AMT) AS CPN_AMT
+    FROM TB_COUPON A, TB_CUST_COUPON B, TAB C
+    WHERE A.CPN_ID = B.CPN_ID
+        AND B.CUST_CPN_SQ = C.GOODS_CPN_SQ
+        AND A.CPN_TYPE = 'G230_11'-- 상품쿠푼
+    GROUP BY CPN_TYPE, A.CPN_ID, A.CPN_NM
+    UNION ALL
+    SELECT CPN_TYPE, A.CPN_ID, A.CPN_NM
+        , 100 - IFNULL((SELECT MAX(BURDEN_RATE) FROM TB_COUPON_BURDEN X WHERE X.CPN_ID = A.CPN_ID), 0) AS BURDEN
+        , COUNT(1) AS USE_CNT
+        , SUM((C.CURR_PRICE + (SELECT SUM(OPT_ADD_PRICE * ITEM_QTY) FROM TB_ORDER_DETAIL_ITEM X WHERE X.ORD_DTL_NO = C.ORD_DTL_NO)) * (C.ORD_QTY - C.CNCL_RTN_QTY)) AS ORD_AMT
+        , SUM(C.CART_CPN_DC_AMT) AS CPN_AMT
+    FROM TB_COUPON A, TB_CUST_COUPON B, TAB C
+    WHERE A.CPN_ID = B.CPN_ID
+        AND B.CUST_CPN_SQ = C.CART_CPN_SQ
+        AND A.CPN_TYPE = 'G230_20'-- 장바구니쿠푼
+    GROUP BY CPN_TYPE, A.CPN_ID, A.CPN_NM
+    UNION ALL
+    SELECT CPN_TYPE, A.CPN_ID, A.CPN_NM
+        , 100 - IFNULL((SELECT MAX(BURDEN_RATE) FROM TB_COUPON_BURDEN X WHERE X.CPN_ID = A.CPN_ID), 0) AS BURDEN
+        , COUNT(1) AS USE_CNT
+        , SUM((C.CURR_PRICE + (SELECT SUM(OPT_ADD_PRICE * ITEM_QTY) FROM TB_ORDER_DETAIL_ITEM X WHERE X.ORD_DTL_NO = C.ORD_DTL_NO)) * (C.ORD_QTY - C.CNCL_RTN_QTY)) AS ORD_AMT
+        , SUM(D.DELV_CPN_DC_AMT) AS CPN_AMT
+    FROM TB_COUPON A, TB_CUST_COUPON B, TAB C, TB_DELIVERY_FEE D
+    WHERE A.CPN_ID = B.CPN_ID
+        AND B.CUST_CPN_SQ = C.CART_CPN_SQ
+        AND C.ORD_NO = D.ORD_NO
+        AND B.CUST_CPN_SQ = D.DELV_CPN_SQ
+        AND A.CPN_TYPE = 'G230_30'-- 배송비쿠푼
+        AND D.DELV_CPN_DC_AMT > 0
+    GROUP BY CPN_TYPE, A.CPN_ID, A.CPN_NM
+)
+SELECT CPN_TYPE -- 쿠폰타입
+    , FN_GET_CODE_NM('G230', CPN_TYPE) AS CPN_TYPE_NM -- 쿠폰타입명
+    , CPN_ID -- 쿠폰번호
+    , CPN_NM -- 쿠폰명
+    , BURDEN -- 자사분담율
+    , DOWN_CNT
+    , FLOOR(USE_CNT / DOWN_CNT * 100 * 10) / 10 AS USE_RATE -- 사용율
+    , USE_CNT -- 사용수
+    , ORD_AMT -- 주문금액
+    , CPN_AMT -- 쿠폰비용
+FROM (
+    SELECT CPN_TYPE -- 쿠폰타입
+        , FN_GET_CODE_NM('G230', CPN_TYPE) AS CPN_TYPE_NM -- 쿠폰타입명
+        , CPN_ID -- 쿠폰번호
+        , CPN_NM -- 쿠폰명
+        , BURDEN -- 자사분담율
+        , (SELECT COUNT(1) FROM TB_CUST_COUPON X WHERE X.CPN_ID = A.CPN_ID) AS DOWN_CNT
+        , USE_CNT -- 사용수
+        , ORD_AMT -- 주문금액
+        , CPN_AMT -- 쿠폰비용
+    FROM TAB_CPN_STAT A
+) A
+;
+
+-- 프로모션통계 -> 쿠폰사용통계 -> 상품현황
+-- 즉시, 상품, 장바구니 쿠폰
+SELECT Z.BRAND_CD
+    , Z.BRAND_ENM
+    , Z.GOODS_CD
+    , Z.ORD_AMT
+    , Z.ORD_QTY
+    , Z.CUST_CNT
+    , X.CUST_CPN_CNT
+    , FLOOR((X.CUST_CPN_CNT / Z.CUST_CNT * 100) / 10) * 10 AS ORD_RATE
+FROM (
+     SELECT
+        A.BRAND_CD
+        , B.BRAND_ENM
+        , A.GOODS_CD
+        , SUM(ORD_AMT) AS ORD_AMT
+        , SUM(ORD_QTY) AS ORD_QTY
+        , SUM(CUST_CNT) AS CUST_CNT
+    FROM (
+         SELECT
+            C.BRAND_CD
+            , C.GOODS_CD
+            , SUM((B.CURR_PRICE + (SELECT SUM(OPT_ADD_PRICE * ITEM_QTY) FROM TB_ORDER_DETAIL_ITEM X WHERE X.ORD_DTL_NO = B.ORD_DTL_NO)) * (B.ORD_QTY - B.CNCL_RTN_QTY)) AS ORD_AMT
+            , SUM(B.ORD_QTY - B.CNCL_RTN_QTY) AS ORD_QTY
+            , COUNT(1) OVER(PARTITION BY C.BRAND_CD, C.GOODS_CD, A.CUST_NO) AS CUST_CNT
+        FROM TB_ORDER A, TB_ORDER_DETAIL B, TB_GOODS C, TB_CUSTOMER D
+        WHERE A.ORD_NO = B.ORD_NO
+        AND B.GOODS_CD = C.GOODS_CD
+        AND A.CUST_NO = D.CUST_NO
+        AND A.PAY_DT >= DATE_FORMAT('20210610', '%Y%m%d')                         -- 시작일변수
+        AND A.PAY_DT <= DATE_FORMAT(CONCAT('20210730', '235959'), '%Y%m%d%H%i%s') -- 종료일변수
+        AND B.ORD_EXCH_GB = 'O'
+        AND B.ORD_DTL_STAT NOT IN ('G013_00', 'G013_10', 'G013_98') -- 주문접수,입금대기,입금전취소 제외
+        AND B.ORD_QTY > B.CNCL_RTN_QTY
+        GROUP BY C.BRAND_CD, C.GOODS_CD, A.CUST_NO
+    ) A, TB_BRAND B
+    WHERE A.BRAND_CD = B.BRAND_CD
+    GROUP BY A.BRAND_CD, B.BRAND_ENM, A.GOODS_CD
+) Z
+, (
+    SELECT
+        X.BRAND_CD
+        , X.BRAND_ENM
+        , X.GOODS_CD
+        , X.CUST_CPN_CNT
+    FROM (
+        SELECT
+            A.BRAND_CD
+            , B.BRAND_ENM
+            , A.GOODS_CD
+            , SUM(A.CUST_CPN_CNT) AS CUST_CPN_CNT
+        FROM (
+            SELECT
+                C.BRAND_CD
+                , C.GOODS_CD
+                , COUNT(1) OVER(PARTITION BY C.BRAND_CD, C.GOODS_CD, A.CUST_NO) AS CUST_CPN_CNT
+            FROM TB_ORDER A, TB_ORDER_DETAIL B, TB_GOODS C, TB_CUSTOMER D
+            WHERE A.ORD_NO = B.ORD_NO
+            AND B.GOODS_CD = C.GOODS_CD
+            AND A.CUST_NO = D.CUST_NO
+            AND A.PAY_DT >= DATE_FORMAT('20210610', '%Y%m%d')                         -- 시작일변수
+            AND A.PAY_DT <= DATE_FORMAT(CONCAT('20210730', '235959'), '%Y%m%d%H%i%s') -- 종료일변수
+            AND B.ORD_EXCH_GB = 'O'
+            AND B.ORD_DTL_STAT NOT IN ('G013_00', 'G013_10', 'G013_98') -- 주문접수,입금대기,입금전취소 제외
+            AND B.ORD_QTY > B.CNCL_RTN_QTY
+            AND EXISTS(
+                SELECT 1
+                FROM TB_COUPON X, TB_CUST_COUPON Y
+                WHERE X.CPN_ID = Y.CPN_ID
+                    AND Y.CUST_CPN_SQ = B.GOODS_CPN_SQ -- B.CPN1_CPN_SQ, B.CART_CPN_SQ
+                    AND X.CPN_ID = 31045 -- 쿠폰번호변수
+            )
+            GROUP BY C.BRAND_CD, C.GOODS_CD, A.CUST_NO
+        ) A, TB_BRAND B
+        WHERE A.BRAND_CD = B.BRAND_CD
+        GROUP BY A.BRAND_CD, B.BRAND_ENM, A.GOODS_CD
+    ) X
+) X
+WHERE Z.BRAND_CD = X.BRAND_CD
+    AND Z.GOODS_CD = X.GOODS_CD
+;
+
+-- 배송비 쿠폰
+SELECT Z.BRAND_CD
+    , Z.BRAND_ENM
+    , Z.GOODS_CD
+    , Z.ORD_AMT
+    , Z.ORD_QTY
+    , Z.CUST_CNT
+    , X.CUST_CPN_CNT
+    , FLOOR((X.CUST_CPN_CNT / Z.CUST_CNT * 100) / 10) * 10 AS ORD_RATE
+FROM (
+     SELECT
+        A.BRAND_CD
+        , B.BRAND_ENM
+        , A.GOODS_CD
+        , SUM(ORD_AMT) AS ORD_AMT
+        , SUM(ORD_QTY) AS ORD_QTY
+        , SUM(CUST_CNT) AS CUST_CNT
+    FROM (
+         SELECT
+            C.BRAND_CD
+            , C.GOODS_CD
+            , SUM((B.CURR_PRICE + (SELECT SUM(OPT_ADD_PRICE * ITEM_QTY) FROM TB_ORDER_DETAIL_ITEM X WHERE X.ORD_DTL_NO = B.ORD_DTL_NO)) * (B.ORD_QTY - B.CNCL_RTN_QTY)) AS ORD_AMT
+            , SUM(B.ORD_QTY - B.CNCL_RTN_QTY) AS ORD_QTY
+            , COUNT(1) OVER(PARTITION BY C.BRAND_CD, C.GOODS_CD, A.CUST_NO) AS CUST_CNT
+        FROM TB_ORDER A, TB_ORDER_DETAIL B, TB_GOODS C, TB_CUSTOMER D
+        WHERE A.ORD_NO = B.ORD_NO
+        AND B.GOODS_CD = C.GOODS_CD
+        AND A.CUST_NO = D.CUST_NO
+        AND A.PAY_DT >= DATE_FORMAT('20210610', '%Y%m%d')                         -- 시작일변수
+        AND A.PAY_DT <= DATE_FORMAT(CONCAT('20210730', '235959'), '%Y%m%d%H%i%s') -- 종료일변수
+        AND B.ORD_EXCH_GB = 'O'
+        AND B.ORD_DTL_STAT NOT IN ('G013_00', 'G013_10', 'G013_98') -- 주문접수,입금대기,입금전취소 제외
+        AND B.ORD_QTY > B.CNCL_RTN_QTY
+        GROUP BY C.BRAND_CD, C.GOODS_CD, A.CUST_NO
+    ) A, TB_BRAND B
+    WHERE A.BRAND_CD = B.BRAND_CD
+    GROUP BY A.BRAND_CD, B.BRAND_ENM, A.GOODS_CD
+) Z
+, (
+    SELECT
+        X.BRAND_CD
+        , X.BRAND_ENM
+        , X.GOODS_CD
+        , X.CUST_CPN_CNT
+    FROM (
+        SELECT
+            A.BRAND_CD
+            , B.BRAND_ENM
+            , A.GOODS_CD
+            , SUM(A.CUST_CPN_CNT) AS CUST_CPN_CNT
+        FROM (
+            SELECT
+                C.BRAND_CD
+                , C.GOODS_CD
+                , COUNT(1) OVER(PARTITION BY C.BRAND_CD, C.GOODS_CD, A.CUST_NO) AS CUST_CPN_CNT
+            FROM TB_ORDER A, TB_ORDER_DETAIL B, TB_GOODS C, TB_CUSTOMER D, TB_DELIVERY_FEE E
+            WHERE A.ORD_NO = B.ORD_NO
+            AND B.GOODS_CD = C.GOODS_CD
+            AND A.CUST_NO = D.CUST_NO
+            AND A.ORD_NO = E.ORD_NO
+            AND A.PAY_DT >= DATE_FORMAT('20210610', '%Y%m%d')                         -- 시작일변수
+            AND A.PAY_DT <= DATE_FORMAT(CONCAT('20210730', '235959'), '%Y%m%d%H%i%s') -- 종료일변수
+            AND B.ORD_EXCH_GB = 'O'
+            AND B.ORD_DTL_STAT NOT IN ('G013_00', 'G013_10', 'G013_98') -- 주문접수,입금대기,입금전취소 제외
+            AND B.ORD_QTY > B.CNCL_RTN_QTY
+            AND EXISTS(
+                SELECT 1
+                FROM TB_COUPON X, TB_CUST_COUPON Y
+                WHERE X.CPN_ID = Y.CPN_ID
+                    AND Y.CUST_CPN_SQ = E.DELV_CPN_SQ
+                    AND X.CPN_ID = 31045 -- 쿠폰번호변수
+            )
+            AND E.DELV_CPN_DC_AMT > 0
+            GROUP BY C.BRAND_CD, C.GOODS_CD, A.CUST_NO
+        ) A, TB_BRAND B
+        WHERE A.BRAND_CD = B.BRAND_CD
+        GROUP BY A.BRAND_CD, B.BRAND_ENM, A.GOODS_CD
+    ) X
+) X
+WHERE Z.BRAND_CD = X.BRAND_CD
+    AND Z.GOODS_CD = X.GOODS_CD
+;