swkim 4 年 前
コミット
45253f69c4

+ 228 - 107
산출물/3.설계/05.DB-Object/06.DDL/table.sql

@@ -6330,7 +6330,7 @@ COMMENT '검색데이터. 엑셀조회 시 검색데이터(예,상품코드) 일
 ################################################################################
 DROP TABLE IF EXISTS TB_SECEDE_CUST RESTRICT;
 CREATE TABLE TB_SECEDE_CUST (
-  CUST_NO         INT UNSIGNED NOT NULL COMMENT '고객번호', -- 고객번호
+  CUST_NO         INT UNSIGNED NOT NULL COMMENT '고객번호' PRIMARY KEY, -- 고객번호
   CUST_ID         VARCHAR(30)  NOT NULL COMMENT '고객ID(탈퇴 시 "secede_cust"로 처리)', -- 고객ID
   CUST_NM         VARCHAR(200) NOT NULL COMMENT '고객명_암호화', -- 고객명_암호화
   PASSWD          VARCHAR(200) NOT NULL COMMENT '비밀번호_암호화', -- 비밀번호_암호화
@@ -6354,7 +6354,7 @@ CREATE TABLE TB_SECEDE_CUST (
   AF_LINK_CD      VARCHAR(20)  NULL     COMMENT '제휴링크코드', -- 제휴링크코드
   CUST_GB         VARCHAR(20)  NOT NULL DEFAULT '10' COMMENT '회원구분(공통코드G100)', -- 회원구분(공통코드G100)
   CUST_GRADE      VARCHAR(20)  NOT NULL COMMENT '회원등급(공통코드G110)', -- 회원등급(공통코드G110)
-  JOIN_DT         TIMESTAMP    NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '가입일시', -- 가입일시
+  JOIN_DT         TIMESTAMP    NULL  COMMENT '가입일시', -- 가입일시
   FOREIGNER_YN    CHAR(1)      NOT NULL DEFAULT 'N' COMMENT '외국인여부(외국인:Y)', -- 외국인여부(외국인:Y)
   CUST_STAT       VARCHAR(20)  NOT NULL DEFAULT '10' COMMENT '고객상태(공통코드G104)', -- 고객상태(공통코드G104)
   PASSWD_CHG_DT   TIMESTAMP    NULL     COMMENT '비밀번호변경일시', -- 비밀번호변경일시
@@ -11549,7 +11549,7 @@ CREATE TABLE TB_ORDER_DETAIL_ITEM_HST (
   ORD_DTL_ITEM_SQ     INT UNSIGNED      NOT NULL COMMENT '주문상세단품일련번호', -- 주문상세단품일련번호
   ORD_DTL_NO          INT UNSIGNED      NOT NULL COMMENT '주문상세번호', -- 주문상세번호
   ORD_NO              INT UNSIGNED      NOT NULL COMMENT '주문번호', -- 주문번호
-  ORD_DTL_STAT        VARCHAR(20)       NOT NULL DEFAULT 'G720_10' COMMENT '정산구분(공통코드G720)',
+  ORD_DTL_STAT        VARCHAR(20)       NOT NULL DEFAULT 'G013_00' COMMENT '주문상세상태(공통코드G013)', -- 주문상세상태(공통코드G013)
   ITEM_CD             VARCHAR(20)       NOT NULL COMMENT '단품코드(상품). 일반상품과 딜상품은 상품코드와 동일', -- 단품코드
   OPT_CD              VARCHAR(200)      NOT NULL COMMENT '옵션코드', -- 옵션코드
   OPT_CD1             VARCHAR(200)      NULL     COMMENT '옵션코드1', -- 옵션코드1
@@ -15050,6 +15050,100 @@ ALTER TABLE TB_GOODS_SEARCH_SECTION_TEMP
       GOODS_CD,
       OPT_CD1
     );
+    
+    
+################################################################################
+# 정산
+################################################################################
+DROP TABLE IF EXISTS TB_USAC RESTRICT;
+CREATE TABLE TB_USAC (
+  USAC_SQ          INT UNSIGNED        NOT NULL COMMENT '정산일련번호', -- 정산일련번호
+  OCCUR_DT         TIMESTAMP           NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '발생일시', -- 발생일시
+  USAC_GB          VARCHAR(20)         NOT NULL COMMENT '정산구분(공통코드G019)', -- 정산구분(공통코드G019)
+  PRTN_GB          VARCHAR(20)         NULL     COMMENT '환입구분(공통코드G020). 정산구분이 "G019_20"일 때 사용', -- 환입구분(공통코드G020)
+  MALL_GB          VARCHAR(20)         NOT NULL COMMENT '몰구분(공통코드G011)', -- 몰구분(공통코드G011)
+  ORD_NO           INT UNSIGNED        NOT NULL COMMENT '주문번호', -- 주문번호
+  ORD_DTL_NO       INT UNSIGNED        NOT NULL COMMENT '주문상세번호', -- 주문상세번호
+  PAY_MEANS        VARCHAR(20)         NOT NULL COMMENT '결제수단(공통코드G014)', -- 결제수단(공통코드G014)
+  BRAND_CD         VARCHAR(5)          NOT NULL COMMENT '브랜드코드', -- 브랜드코드
+  GOODS_CD         VARCHAR(20)         NOT NULL COMMENT '상품코드', -- 상품코드
+  ITEM_CD          VARCHAR(20)         NOT NULL COMMENT '단품코드(상품). 일반상품과 딜상품은 상품코드와 동일', -- 단품코드(상품). 
+  OPT_CD           VARCHAR(200)        NOT NULL COMMENT '옵션코드', -- 옵션코드
+  OPT_CD1          VARCHAR(200)        NOT NULL COMMENT '옵션코드1', -- 옵션코드1
+  OPT_CD2          VARCHAR(200)        NULL     DEFAULT 0 COMMENT '옵션코드2', -- 옵션코드2
+  FORMAL_GB        VARCHAR(20)         NULL     DEFAULT 'G009_10' COMMENT '정상이월구분(공통코드G009)', -- 정상이월구분(공통코드G009)
+  TAG_PRICE        INT                 NOT NULL DEFAULT 0 COMMENT 'TAG가', -- TAG가
+  LIST_PRICE       INT                 NOT NULL COMMENT '정상가(최초판매가)', -- 정상가(최초판매가)
+  CURR_PRICE       INT                 NOT NULL COMMENT '현재판매가', -- 현재판매가
+  USAC_QTY         INT                 NOT NULL COMMENT '정산수량(정산구분이 "G019_10:판매"일 때 주문수량, 정산구분이 "G019_20:환입"일 때 취소수량)', -- 정산수량
+  CPN1_DC_AMT      INT                 NOT NULL DEFAULT 0 COMMENT '1차쿠폰(즉시할인쿠폰)할인금액', -- 1차쿠폰(즉시할인쿠폰)할인금액
+  TMTB1_DC_AMT     INT                 NOT NULL DEFAULT 0 COMMENT '다다익선1할인금액(수량)', -- 다다익선1할인금액(수량)
+  TMTB2_DC_AMT     INT UNSIGNED        NOT NULL DEFAULT 0 COMMENT '다다익선2할인금액(금액)', -- 다다익선2할인금액(금액)
+  GOODS_CPN_DC_AMT INT                 NOT NULL DEFAULT 0 COMMENT '상품쿠폰할인금액', -- 상품쿠폰할인금액
+  CART_CPN_DC_AMT  INT                 NOT NULL DEFAULT 0 COMMENT '장바구니쿠폰할인금액', -- 장바구니쿠폰할인금액
+  BURDEN_RATE      FLOAT(5,2) UNSIGNED NOT NULL DEFAULT 0 COMMENT '쿠폰분담율', -- 쿠폰분담율
+  PNT_DC_AMT       INT                 NOT NULL DEFAULT 0 COMMENT '포인트할인금액', -- 포인트할인금액
+  PRE_PNT_DC_AMT   INT                 NOT NULL DEFAULT 0 COMMENT '선포인트할인금액', -- 선포인트할인금액
+  GFCD_USE_AMT     INT                 NOT NULL COMMENT '상품권사용금액', -- 상품권사용금액
+  VENDOR_ID        VARCHAR(20)         NULL     COMMENT '외부몰벤더ID(공통코드G003)', -- 외부몰벤더ID(공통코드G003)
+  EXTMALL_ID       VARCHAR(20)         NULL     COMMENT '외부몰ID(외부몰)', -- 외부몰ID(외부몰)
+  AGENT_ORDER_ID   VARCHAR(30)         NULL     COMMENT '에이전트주문번호. 몰구분이 "G011_20:외부몰"일 때 사용', -- 에이전트주문번호
+  EXTMALL_ORDER_ID VARCHAR(50)         NULL     COMMENT '외부몰주문번호(=쇼핑몰주문번호). 몰구분이 "G011_20:외부몰"일 때 사용', -- 외부몰주문번호
+  SUPPLY_COMP_CD   VARCHAR(20)         NOT NULL COMMENT '공급업체코드', -- 공급업체코드
+  DISTRIBUTION_GB  VARCHAR(20)         NOT NULL COMMENT '유통구분(공콩코드 G065)', -- 유통구분(공통코드 G065)
+  SELL_STORE_CD    VARCHAR(20)         NULL     COMMENT '판매매장코드', -- 판매매장코드
+  SELL_FEE_RATE    FLOAT(5,2) UNSIGNED NOT NULL DEFAULT 0 COMMENT '판매수수료율', -- 판매수수료율
+  SITE_CD          VARCHAR(20)         NOT NULL COMMENT '사이트코드(공통코드G000)', -- 사이트코드(공통코드G000)
+  FRONT_GB         VARCHAR(1)          NOT NULL COMMENT '앱프론트구분(P:PC, M:모바일, A:)', -- 프론트구분
+  AF_LINK_CD       VARCHAR(20)         NULL     COMMENT '제휴링크코드', -- 제휴링크코드
+  ITHR_CD          VARCHAR(20)         NULL     COMMENT '유입경로(공통코드G027)', -- 유입경로(공통코드G027)
+  CONTENTS_LOC     VARCHAR(20)         NULL     COMMENT '컨텐츠위치(공통코드G028)', -- 컨텐츠위치(공통코드G028)
+  PLAN_DTL_SQ      INT UNSIGNED        NULL     COMMENT '기획전상세번호', -- 기획전상세번호
+  SOCIAL_SQ        INT UNSIGNED        NULL     COMMENT '소셜일련번호', -- 소셜일련번호
+  REG_NO           INT UNSIGNED        NOT NULL COMMENT '등록자번호', -- 등록자번호
+  REG_DT           TIMESTAMP           NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '등록일시' -- 등록일시
+)
+COMMENT '정산. 결제완료, 주문취소, 품절에 의한 주문취소, 교환/반품의 회수컨펌, 교환의 출고에 의한 발생';
+
+-- 정산
+ALTER TABLE TB_USAC
+  ADD CONSTRAINT PK_USAC -- 정산 기본키
+    PRIMARY KEY (
+      USAC_SQ -- 정산일련번호
+    );
+
+-- 정산 인덱스
+CREATE INDEX IX_USAC_01
+  ON TB_USAC( -- 정산
+    OCCUR_DT ASC,        -- 발생일시
+    DISTRIBUTION_GB ASC  -- 유통구분(공통코드 G065)
+  );
+
+-- 정산 인덱스2
+CREATE INDEX IX_USAC_02
+  ON TB_USAC( -- 정산
+    OCCUR_DT ASC,       -- 발생일시
+    SUPPLY_COMP_CD ASC, -- 공급업체코드
+    BRAND_CD ASC        -- 브랜드코드
+  );
+
+-- 정산 인덱스3
+CREATE INDEX IX_USAC_03
+  ON TB_USAC( -- 정산
+    ORD_NO ASC -- 주문번호
+  );
+
+-- 정산 인덱스4
+CREATE INDEX IX_USAC_04
+  ON TB_USAC( -- 정산
+    ORD_DTL_NO ASC -- 주문상세번호
+  );
+
+ALTER TABLE TB_USAC
+  MODIFY COLUMN USAC_SQ INT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '정산일련번호';
+
+ALTER TABLE TB_USAC
+  AUTO_INCREMENT = 1;
 
 ################################################################################
 #사용자
@@ -16183,7 +16277,7 @@ CREATE TABLE TB_ORDER_DELIVERY_EXCEPTION_ITEM
 		PRIMARY KEY,
 	DELIVERY_EXCEPTION_SQ INT UNSIGNED NOT NULL COMMENT '배송예외일련번호',
 	IF_DELIVERY_EXCEPTION_NO INT UNSIGNED NOT NULL COMMENT 'WMS배송예외번호',
-    IF_DELIVERY_EXCEPTION_ITEM_NO INT UNSIGNED NOT NULL COMMENT 'WMS배송예외상세번호',
+  IF_DELIVERY_EXCEPTION_ITEM_NO INT UNSIGNED NOT NULL COMMENT 'WMS배송예외상세번호',
 	EXCEPTION_QTY INT NULL COMMENT '예외수량',
 	REASON_CD VARCHAR(100) NULL COMMENT '사유',
 	ORD_NO INT UNSIGNED NULL COMMENT '주문번호',
@@ -16191,7 +16285,6 @@ CREATE TABLE TB_ORDER_DELIVERY_EXCEPTION_ITEM
 	GIFT_YN   CHAR(1) NOT NULL COMMENT '사은품여부',
 	PRODUCT_NO INT UNSIGNED NULL COMMENT '상품번호',
 	PRODUCT_CODE VARCHAR(20) NULL COMMENT '상품코드',
-	SKU_CODE VARCHAR(100) NULL COMMENT '옵션코드',
 	REG_NO INT UNSIGNED NOT NULL COMMENT '등록자NO',
 	REG_DT TIMESTAMP NOT NULL COMMENT '등록일시',
 	UPD_NO INT UNSIGNED NOT NULL COMMENT '수정자NO',
@@ -16540,7 +16633,7 @@ CREATE TABLE TB_WITHDRAW_DETAIL
     REG_DT        TIMESTAMP    NOT NULL COMMENT '등록일시',
     UPD_NO        INT UNSIGNED NOT NULL COMMENT '수정자NO',
     UPD_DT        TIMESTAMP    NOT NULL COMMENT '수정일시',
-    PRIMARY KEY (WD_INVOICE_NO, ORD_CHG_SQ, GOODS_CD, OPT_CD1, OPT_CD2, ORD_DTL_NO)
+    PRIMARY KEY (WD_INVOICE_NO, ORD_CHG_SQ, GOODS_CD, OPT_CD1, OPT_CD2)
 )
 COMMENT '회수상세. 교환 및 반품건의 실물 회수 완료에 의한 발생';
 
@@ -20238,7 +20331,6 @@ INSERT INTO TB_COMMON_CODE VALUES ('G681', 'G681_20', '교환TO교환', '교환
 INSERT INTO TB_COMMON_CODE VALUES ('G681', 'G681_30', '반품TO반품', '반품요청 WMS 미착, 과착 시 변경', 'Y', 30, 2, NOW(), 2, NOW());
 INSERT INTO TB_COMMON_CODE VALUES ('G681', 'G681_40', '반품TO교환', '반품요청 고객 인바운드 시 변경', 'Y', 40, 2, NOW(), 2, NOW());
 INSERT INTO TB_COMMON_CODE VALUES ('G681', 'G681_50', '미접수', 'WMS 미접수 시 변경', 'Y', 50, 2, NOW(), 2, NOW());
-INSERT INTO TB_COMMON_CODE VALUES ('G681', 'G681_60', '확정후품절', 'WMS 확정후품절 시 변경', 'Y', 60, 2, NOW(), 2, NOW());
 
 INSERT INTO TB_COMMON_CODE VALUES ('ROOT', 'G685', '주문변경요청처리상태', NULL, 'Y', 685, 2, NOW(), 2, NOW());
 INSERT INTO TB_COMMON_CODE VALUES ('G685', 'G685_10', '취소접수', null, 'Y', 10, 14, NOW(), 14, NOW());
@@ -30172,7 +30264,7 @@ CREATE TABLE TB_CUSTOMER (
   AF_LINK_CD      VARCHAR(20)        NULL     COMMENT '제휴링크코드', -- 제휴링크코드
   CUST_GB         VARCHAR(20)        NOT NULL DEFAULT '10' COMMENT '회원구분(공통코드G100)', -- 회원구분(공통코드G100)
   CUST_GRADE      VARCHAR(20)        NOT NULL COMMENT '회원등급(공통코드G110)', -- 회원등급(공통코드G110)
-  JOIN_DT         TIMESTAMP          NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '가입일시', -- 가입일시
+  JOIN_DT         TIMESTAMP          NULL     COMMENT '가입일시', -- 가입일시
   FOREIGNER_YN    CHAR(1)            NOT NULL DEFAULT 'N' COMMENT '외국인여부(외국인:Y)', -- 외국인여부(외국인:Y)
   CUST_STAT       VARCHAR(20)        NOT NULL DEFAULT '10' COMMENT '고객상태(공통코드G104)', -- 고객상태(공통코드G104)
   PASSWD_CHG_DT   TIMESTAMP          NULL     COMMENT '비밀번호변경일시', -- 비밀번호변경일시
@@ -30310,7 +30402,7 @@ CREATE TABLE TB_CUSTOMER_HST
   AF_LINK_CD      VARCHAR(20) NULL COMMENT '제휴링크코드',
   CUST_GB         VARCHAR(20) DEFAULT '10' NOT NULL COMMENT '회원구분(공통코드G100)',
   CUST_GRADE      VARCHAR(20) NOT NULL COMMENT '회원등급(공통코드G110)',
-  JOIN_DT         TIMESTAMP DEFAULT CURRENT_TIMESTAMP() NOT NULL COMMENT '가입일시',
+  JOIN_DT         TIMESTAMP NULL COMMENT '가입일시',
   FOREIGNER_YN    CHAR DEFAULT 'N' NOT NULL COMMENT '외국인여부(외국인:Y)',
   CUST_STAT       VARCHAR(20) DEFAULT '10' NOT NULL COMMENT '고객상태(공통코드G104)',
   PASSWD_CHG_DT   TIMESTAMP NULL COMMENT '비밀번호변경일시',
@@ -31666,103 +31758,92 @@ ALTER TABLE TB_GOODS_SEARCH_SECTION_TEMP
 ################################################################################
 DROP TABLE IF EXISTS TB_USAC RESTRICT;
 CREATE TABLE TB_USAC (
-  USAC_YM          VARCHAR(6)          NOT NULL COMMENT '정산연월',
-  SUPPLY_COMP_CD   VARCHAR(20)         NOT NULL COMMENT '공급업체코드',
-  ECONTRACT_YN     CHAR(1) DEFAULT 'N' NOT NULL COMMENT '전자계약여부',
-  DISTRIBUTION_GB  VARCHAR(20)         NOT NULL COMMENT '유통구분(공통코드 G065)',
-  SETTLE_DAY       VARCHAR(20)                  COMMENT '정산일(공통코드G075)',
-  SELL_QTY         INT     DEFAULT 0   NOT NULL COMMENT '판매수량',
-  REAL_SELL_AMT    INT     DEFAULT 0   NOT NULL COMMENT '실판매금액(=상품총액)',
-  SELL_FEE_AMT     INT     DEFAULT 0   NOT NULL COMMENT '판매수수료금액',
-  CPN_DC_AMT       INT     DEFAULT 0   NOT NULL COMMENT '쿠폰할인금액',
-  SELF_CPN_DC_AMT  INT     DEFAULT 0   NOT NULL COMMENT '자사쿠폰분담액',
-  SUPPLY_COMP_CPN_DC_AMT  INT     DEFAULT 0   NOT NULL COMMENT '입점쿠폰분담액',
-  TMTB_DC_AMT      INT     DEFAULT 0   NOT NULL COMMENT '다다익선할인금액',
-  BILL_AMT         INT     DEFAULT 0   NOT NULL COMMENT '계산서발행금액(판매수수료금액 - 자사쿠폰분담액. < 0인 경우 0)',
-  SUPPLY_AMT       INT     DEFAULT 0   NOT NULL COMMENT '공급가액. INT(계산서발행금액 / 1.1)',
-  TAX_AMT          INT     DEFAULT 0   NOT NULL COMMENT '세액(계산서발행금액 - 공급가액)',
-  DELV_FEE         INT     DEFAULT 0   NOT NULL COMMENT '배송비',
-  BANK_CD          VARCHAR(20) COMMENT '은행코드(공통코드G940)',
-  ACCOUNT_NO       VARCHAR(20) COMMENT '계좌번호',
-  DEPOSITOR_NM     VARCHAR(50) COMMENT '예금주명',
-  BILL_EMAIL       VARCHAR(100) NULL COMMENT '계산서이메일',
+  USAC_SQ          INT UNSIGNED        NOT NULL COMMENT '정산일련번호', -- 정산일련번호
+  OCCUR_DT         TIMESTAMP           NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '발생일시', -- 발생일시
+  USAC_GB          VARCHAR(20)         NOT NULL COMMENT '정산구분(공통코드G019)', -- 정산구분(공통코드G019)
+  PRTN_GB          VARCHAR(20)         NULL     COMMENT '환입구분(공통코드G020). 정산구분이 "G019_20"일 때 사용', -- 환입구분(공통코드G020)
+  MALL_GB          VARCHAR(20)         NOT NULL COMMENT '몰구분(공통코드G011)', -- 몰구분(공통코드G011)
+  ORD_NO           INT UNSIGNED        NOT NULL COMMENT '주문번호', -- 주문번호
+  ORD_DTL_NO       INT UNSIGNED        NOT NULL COMMENT '주문상세번호', -- 주문상세번호
+  PAY_MEANS        VARCHAR(20)         NOT NULL COMMENT '결제수단(공통코드G014)', -- 결제수단(공통코드G014)
+  BRAND_CD         VARCHAR(5)          NOT NULL COMMENT '브랜드코드', -- 브랜드코드
+  GOODS_CD         VARCHAR(20)         NOT NULL COMMENT '상품코드', -- 상품코드
+  ITEM_CD          VARCHAR(20)         NOT NULL COMMENT '단품코드(상품). 일반상품과 딜상품은 상품코드와 동일', -- 단품코드(상품). 
+  OPT_CD           VARCHAR(200)        NOT NULL COMMENT '옵션코드', -- 옵션코드
+  OPT_CD1          VARCHAR(200)        NOT NULL COMMENT '옵션코드1', -- 옵션코드1
+  OPT_CD2          VARCHAR(200)        NULL     DEFAULT 0 COMMENT '옵션코드2', -- 옵션코드2
+  FORMAL_GB        VARCHAR(20)         NULL     DEFAULT 'G009_10' COMMENT '정상이월구분(공통코드G009)', -- 정상이월구분(공통코드G009)
+  TAG_PRICE        INT                 NOT NULL DEFAULT 0 COMMENT 'TAG가', -- TAG가
+  LIST_PRICE       INT                 NOT NULL COMMENT '정상가(최초판매가)', -- 정상가(최초판매가)
+  CURR_PRICE       INT                 NOT NULL COMMENT '현재판매가', -- 현재판매가
+  USAC_QTY         INT                 NOT NULL COMMENT '정산수량(정산구분이 "G019_10:판매"일 때 주문수량, 정산구분이 "G019_20:환입"일 때 취소수량)', -- 정산수량
+  CPN1_DC_AMT      INT                 NOT NULL DEFAULT 0 COMMENT '1차쿠폰(즉시할인쿠폰)할인금액', -- 1차쿠폰(즉시할인쿠폰)할인금액
+  TMTB1_DC_AMT     INT                 NOT NULL DEFAULT 0 COMMENT '다다익선1할인금액(수량)', -- 다다익선1할인금액(수량)
+  TMTB2_DC_AMT     INT UNSIGNED        NOT NULL DEFAULT 0 COMMENT '다다익선2할인금액(금액)', -- 다다익선2할인금액(금액)
+  GOODS_CPN_DC_AMT INT                 NOT NULL DEFAULT 0 COMMENT '상품쿠폰할인금액', -- 상품쿠폰할인금액
+  CART_CPN_DC_AMT  INT                 NOT NULL DEFAULT 0 COMMENT '장바구니쿠폰할인금액', -- 장바구니쿠폰할인금액
+  BURDEN_RATE      FLOAT(5,2) UNSIGNED NOT NULL DEFAULT 0 COMMENT '쿠폰분담율', -- 쿠폰분담율
+  PNT_DC_AMT       INT                 NOT NULL DEFAULT 0 COMMENT '포인트할인금액', -- 포인트할인금액
+  PRE_PNT_DC_AMT   INT                 NOT NULL DEFAULT 0 COMMENT '선포인트할인금액', -- 선포인트할인금액
+  GFCD_USE_AMT     INT                 NOT NULL COMMENT '상품권사용금액', -- 상품권사용금액
+  VENDOR_ID        VARCHAR(20)         NULL     COMMENT '외부몰벤더ID(공통코드G003)', -- 외부몰벤더ID(공통코드G003)
+  EXTMALL_ID       VARCHAR(20)         NULL     COMMENT '외부몰ID(외부몰)', -- 외부몰ID(외부몰)
+  AGENT_ORDER_ID   VARCHAR(30)         NULL     COMMENT '에이전트주문번호. 몰구분이 "G011_20:외부몰"일 때 사용', -- 에이전트주문번호
+  EXTMALL_ORDER_ID VARCHAR(50)         NULL     COMMENT '외부몰주문번호(=쇼핑몰주문번호). 몰구분이 "G011_20:외부몰"일 때 사용', -- 외부몰주문번호
+  SUPPLY_COMP_CD   VARCHAR(20)         NOT NULL COMMENT '공급업체코드', -- 공급업체코드
+  DISTRIBUTION_GB  VARCHAR(20)         NOT NULL COMMENT '유통구분(공콩코드 G065)', -- 유통구분(공통코드 G065)
+  SELL_STORE_CD    VARCHAR(20)         NULL     COMMENT '판매매장코드', -- 판매매장코드
+  SELL_FEE_RATE    FLOAT(5,2) UNSIGNED NOT NULL DEFAULT 0 COMMENT '판매수수료율', -- 판매수수료율
+  SITE_CD          VARCHAR(20)         NOT NULL COMMENT '사이트코드(공통코드G000)', -- 사이트코드(공통코드G000)
+  FRONT_GB         VARCHAR(1)          NOT NULL COMMENT '앱프론트구분(P:PC, M:모바일, A:)', -- 프론트구분
+  AF_LINK_CD       VARCHAR(20)         NULL     COMMENT '제휴링크코드', -- 제휴링크코드
+  ITHR_CD          VARCHAR(20)         NULL     COMMENT '유입경로(공통코드G027)', -- 유입경로(공통코드G027)
+  CONTENTS_LOC     VARCHAR(20)         NULL     COMMENT '컨텐츠위치(공통코드G028)', -- 컨텐츠위치(공통코드G028)
+  PLAN_DTL_SQ      INT UNSIGNED        NULL     COMMENT '기획전상세번호', -- 기획전상세번호
+  SOCIAL_SQ        INT UNSIGNED        NULL     COMMENT '소셜일련번호', -- 소셜일련번호
   REG_NO           INT UNSIGNED        NOT NULL COMMENT '등록자번호', -- 등록자번호
   REG_DT           TIMESTAMP           NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '등록일시' -- 등록일시
 )
-COMMENT '정산. 정산확정에 의한 발생';
+COMMENT '정산. 결제완료, 주문취소, 품절에 의한 주문취소, 교환/반품의 회수컨펌, 교환의 출고에 의한 발생';
 
 -- 정산
 ALTER TABLE TB_USAC
   ADD CONSTRAINT PK_USAC -- 정산 기본키
     PRIMARY KEY (
-      USAC_YM,
-      SUPPLY_COMP_CD
+      USAC_SQ -- 정산일련번호
     );
 
+-- 정산 인덱스
 CREATE INDEX IX_USAC_01
   ON TB_USAC( -- 정산
-    USAC_YM ASC,
-    DISTRIBUTION_GB ASC
+    OCCUR_DT ASC,        -- 발생일시
+    DISTRIBUTION_GB ASC  -- 유통구분(공통코드 G065)
   );
 
-################################################################################
-# 정산미수금
-################################################################################
-DROP TABLE IF EXISTS TB_USAC_RECEIVE RESTRICT;
-CREATE TABLE TB_USAC_RECEIVE (
-  USAC_YM          VARCHAR(6)          NOT NULL COMMENT '정산연월',
-  SUPPLY_COMP_CD   VARCHAR(20)         NOT NULL COMMENT '공급업체코드',
-  RECEIVABLE_AMT   INT     DEFAULT 0   NOT NULL COMMENT '미수금',
-  REG_NO           INT UNSIGNED        NOT NULL COMMENT '등록자번호',
-  REG_DT           TIMESTAMP           NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '등록일시'
-)
-COMMENT '정산미수금. 정산미수금 등록에 의한 발생';
-
-ALTER TABLE TB_USAC_RECEIVE
-  ADD CONSTRAINT PK_USAC_RECEIVE
-    PRIMARY KEY (
-      USAC_YM,
-      SUPPLY_COMP_CD
-    );
-
-################################################################################
-# 정산기타차감
-################################################################################
-DROP TABLE IF EXISTS TB_USAC_REDUCT RESTRICT;
-CREATE TABLE TB_USAC_REDUCT (
-  REDUCT_SQ        INT UNSIGNED        NOT NULL COMMENT '차감일련번호',
-  OCCUR_YM         VARCHAR(6)          NOT NULL COMMENT '발행연월',
-  SUPPLY_COMP_CD   VARCHAR(20)         NOT NULL COMMENT '공급업체코드',
-  CUST_ID          VARCHAR(30)         NULL     COMMENT '고객ID',
-  CUST_NM          VARCHAR(200)        NULL     COMMENT '고객명',
-  ORD_NO           INT UNSIGNED        NULL     COMMENT '주문번호(주문)',
-  CATE_NM          VARCHAR(50)         NULL     COMMENT '카테고리명',
-  CHARGE_NM        VARCHAR(50)         NULL     COMMENT '업체담당자명',
-  GOODS_CD         VARCHAR(20)         NULL     COMMENT '상품코드',
-  CURR_PRICE       INT     DEFAULT 0   NOT NULL COMMENT '판매가(=상품가)',
-  REWARD_AMT       INT     DEFAULT 0   NOT NULL COMMENT '보상액',
-  REASON           VARCHAR(1000)       NULL     COMMENT '사유',
-  REG_NO           INT UNSIGNED        NOT NULL COMMENT '등록자번호',
-  REG_DT           TIMESTAMP           NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '등록일시'
-)
-COMMENT '정산기타차감. 정산 기타차감내역 등록에 의한 발생';
+-- 정산 인덱스2
+CREATE INDEX IX_USAC_02
+  ON TB_USAC( -- 정산
+    OCCUR_DT ASC,       -- 발생일시
+    SUPPLY_COMP_CD ASC, -- 공급업체코드
+    BRAND_CD ASC        -- 브랜드코드
+  );
 
-ALTER TABLE TB_USAC_REDUCT
-  ADD CONSTRAINT PK_USAC_REDUCT
-    PRIMARY KEY (
-      REDUCT_SQ
-    );
+-- 정산 인덱스3
+CREATE INDEX IX_USAC_03
+  ON TB_USAC( -- 정산
+    ORD_NO ASC -- 주문번호
+  );
 
-CREATE INDEX IX_USAC_REDUCT_01
-  ON TB_USAC_REDUCT(
-    OCCUR_YM ASC,
-    SUPPLY_COMP_CD ASC
+-- 정산 인덱스4
+CREATE INDEX IX_USAC_04
+  ON TB_USAC( -- 정산
+    ORD_DTL_NO ASC -- 주문상세번호
   );
 
-ALTER TABLE TB_USAC_REDUCT
-  MODIFY COLUMN REDUCT_SQ INT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '차감일련번호';
+ALTER TABLE TB_USAC
+  MODIFY COLUMN USAC_SQ INT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '정산일련번호';
 
-ALTER TABLE TB_USAC_REDUCT
+ALTER TABLE TB_USAC
   AUTO_INCREMENT = 1;
 
 ################################################################################
@@ -32897,7 +32978,7 @@ CREATE TABLE TB_ORDER_DELIVERY_EXCEPTION_ITEM
 		PRIMARY KEY,
 	DELIVERY_EXCEPTION_SQ INT UNSIGNED NOT NULL COMMENT '배송예외일련번호',
 	IF_DELIVERY_EXCEPTION_NO INT UNSIGNED NOT NULL COMMENT 'WMS배송예외번호',
-    IF_DELIVERY_EXCEPTION_ITEM_NO INT UNSIGNED NOT NULL COMMENT 'WMS배송예외상세번호',
+  IF_DELIVERY_EXCEPTION_ITEM_NO INT UNSIGNED NOT NULL COMMENT 'WMS배송예외상세번호',
 	EXCEPTION_QTY INT NULL COMMENT '예외수량',
 	REASON_CD VARCHAR(100) NULL COMMENT '사유',
 	ORD_NO INT UNSIGNED NULL COMMENT '주문번호',
@@ -32905,7 +32986,6 @@ CREATE TABLE TB_ORDER_DELIVERY_EXCEPTION_ITEM
 	GIFT_YN   CHAR(1) NOT NULL COMMENT '사은품여부',
 	PRODUCT_NO INT UNSIGNED NULL COMMENT '상품번호',
 	PRODUCT_CODE VARCHAR(20) NULL COMMENT '상품코드',
-	SKU_CODE VARCHAR(100) NULL COMMENT '옵션코드',
 	REG_NO INT UNSIGNED NOT NULL COMMENT '등록자NO',
 	REG_DT TIMESTAMP NOT NULL COMMENT '등록일시',
 	UPD_NO INT UNSIGNED NOT NULL COMMENT '수정자NO',
@@ -33185,7 +33265,65 @@ CREATE TABLE TB_DELIVERY_LOC_TMP
 )
 COMMENT '재고체크 임시 테이블';
 
+################################################################################
+# 회수
+################################################################################
+CREATE TABLE TB_WITHDRAW
+(
+    WD_INVOICE_NO    VARCHAR(20)      NOT NULL COMMENT '회수송장번호',
+    ORD_CHG_SQ       INT UNSIGNED     NOT NULL COMMENT '주문변경번호',
+    SENDER_NM        VARCHAR(50)      NULL COMMENT '발송자명',
+    SENDER_PHNNO     VARCHAR(20)      NULL COMMENT '발송자휴대전화번호',
+    SENDER_TELNO     VARCHAR(20)      NULL COMMENT '발송자전화번호',
+    SENDER_POST_NO   VARCHAR(6)       NULL COMMENT '발송자우편번호',
+    SENDER_BASE_ADDR VARCHAR(300)     NULL COMMENT '발송자기본주소',
+    SENDER_DTL_ADDR  VARCHAR(200)     NULL COMMENT '발송자상세주소',
+    SHIP_COMP_CD     VARCHAR(20)      NULL COMMENT '배송업체코드(배송업체)',
+    WD_REQ_REASON    VARCHAR(20)      NULL COMMENT '회수요청사유(공통코드)',
+    WD_FEE           INT  DEFAULT 0   NULL COMMENT '회수비',
+    COD_FEE          INT  DEFAULT 0   NULL COMMENT '착불비',
+    ENCLOSE_FEE      INT  DEFAULT 0   NULL COMMENT '동봉비',
+    WD_MEMO          VARCHAR(1000)    NULL COMMENT '회수메모',
+    SAME_YN          CHAR DEFAULT 'N' NOT NULL COMMENT '동일여부',
+    ARRIVAL_DT       TIMESTAMP        NULL COMMENT '도착일시',
+    CS_MEMO          VARCHAR(1000)    NULL COMMENT 'CS메모',
+    CS_OB_YN         CHAR DEFAULT 'N' NOT NULL COMMENT 'CS아웃바운드여부',
+    CS_OB_DT         TIMESTAMP        NULL COMMENT 'CS아웃바운드일시',
+    CS_OB_ID         INT UNSIGNED     NULL COMMENT 'CS아웃바운드ID(사용자)',
+    SMS_SEND_YN      CHAR DEFAULT 'N' NOT NULL COMMENT 'SMS발송여부',
+    REG_NO           INT UNSIGNED     NOT NULL COMMENT '등록자NO',
+    REG_DT           TIMESTAMP        NOT NULL COMMENT '등록일시',
+    UPD_NO           INT UNSIGNED     NOT NULL COMMENT '수정자NO',
+    UPD_DT           TIMESTAMP        NOT NULL COMMENT '수정일시',
+    PRIMARY KEY (WD_INVOICE_NO, ORD_CHG_SQ)
+)
+COMMENT '회수. 교환 및 반품건의 실물 회수 완료에 의한 발생';
+
+
+################################################################################
+# 회수 상세 
+################################################################################
+CREATE TABLE TB_WITHDRAW_DETAIL
+(
+    WD_INVOICE_NO VARCHAR(20)  NOT NULL COMMENT '회수송장번호',
+    ORD_CHG_SQ    INT UNSIGNED NOT NULL COMMENT '주문변경번호',
+    GOODS_CD      VARCHAR(20)  NOT NULL COMMENT '상품코드',
+    OPT_CD1       VARCHAR(20)  NOT NULL COMMENT '옵션코드1(컬러)',
+    OPT_CD2       VARCHAR(20)  NOT NULL COMMENT '옵션코드2(사이즈)',
+    ORD_DTL_NO    INT UNSIGNED NOT NULL COMMENT '주문상세번호',
+    WD_QTY        INT          NULL COMMENT '회수수량',
+    RTN_LOC_CD    VARCHAR(20)  NULL COMMENT '반품처코드(반품처)',
+    SELL_STORE_CD VARCHAR(20)  NULL COMMENT '판매매장코드(판매매장)',
+    REG_NO        INT UNSIGNED NOT NULL COMMENT '등록자NO',
+    REG_DT        TIMESTAMP    NOT NULL COMMENT '등록일시',
+    UPD_NO        INT UNSIGNED NOT NULL COMMENT '수정자NO',
+    UPD_DT        TIMESTAMP    NOT NULL COMMENT '수정일시',
+    PRIMARY KEY (WD_INVOICE_NO, ORD_CHG_SQ, GOODS_CD, OPT_CD1, OPT_CD2)
+)
+COMMENT '회수상세. 교환 및 반품건의 실물 회수 완료에 의한 발생';
 
+CREATE INDEX TB_WITHDRAW_DETAIL_ORD_DTL_NO_IDX
+    ON TB_WITHDRAW_DETAIL (ORD_DTL_NO, WD_INVOICE_NO, GOODS_CD, OPT_CD1, OPT_CD2);
 
 ################################################################################
 # 샵링커주문
@@ -33598,25 +33736,8 @@ CREATE TABLE TB_EXTMALL_ORDER_UPLOAD_TMP (
   KEY IX_EXTMALL_ORDER_UPLOAD_06 (GOODS_CD,SKU)
 ) COMMENT='제휴몰주문업로드. 업로드전 임시저장';
 
-################################################################################
-#제휴몰정산가격
-################################################################################
-DROP TABLE IF EXISTS TB_EXTMALL_USAC_PRICE RESTRICT;
-CREATE TABLE TB_EXTMALL_USAC_PRICE (
-  ORD_DTL_ITEM_HST_SQ INT UNSIGNED      NOT NULL COMMENT '주문상세단품이력일련번호(주문상세단품)',
-  USAC_PRICE          INT               NOT NULL COMMENT '장산가',
-  REG_NO              INT UNSIGNED      NOT NULL COMMENT '등록자번호',
-  REG_DT              TIMESTAMP         NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '등록일시',
-  UPD_NO              INT UNSIGNED      NOT NULL COMMENT '수정자번호',
-  UPD_DT              TIMESTAMP         NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '수정일시'
-)
-COMMENT '제휴몰정산가격. 제휴몰정산가격 등록 및 변경에 의한 발생';
 
-ALTER TABLE TB_EXTMALL_USAC_PRICE
-  ADD CONSTRAINT PK_EXTMALL_USAC_PRICE
-    PRIMARY KEY (
-      ORD_DTL_ITEM_HST_SQ
-    );
+
 
 ################################################################################
 # 샵링커.품목별 카테고리매핑

BIN
산출물/3.설계/ERD/ST24.exerd


+ 4 - 4
산출물/4.구축/마이그레이션/쿼리/04.회원.sql

@@ -39,7 +39,7 @@ ALTER TABLE TB_CUSTOMER AUTO_INCREMENT = 100000;
 
 -- 비회원
 INSERT INTO tb_customer (CUST_NO, CUST_ID, CUST_NM, PASSWD, SITE_CD, FRONT_GB, CUST_GRADE, CUST_STAT, REG_NO, REG_DT, UPD_NO, UPD_DT, ENC_UPD_YN)
-VALUES (0, '0', '비회원', 'X', 'G000_10', 'P', 'G110', 'G104', 0, NOW(), 0, NOW(), 'Y');
+VALUES (0, 'guest', '비회원', 'X', 'G000_10', 'P', 'G110', 'G104', 0, NOW(), 0, NOW(), 'Y');
 
 INSERT INTO tb_customer (CUST_ID, CUST_NM, PASSWD, BIRTH_YMD, SEX_GB, CELL_PHNNO, APP_AGREE_YN, APP_AGREE_DT, SMS_AGREE_YN, SMS_AGREE_DT, EMAIL, EMAIL_AGREE_YN, EMAIL_AGREE_DT, MK_AGREE_YN, MK_AGREE_DT, HOME_ZIPCODE, HOME_BASE_ADDR, HOME_DTL_ADDR, SITE_CD, FRONT_GB, AF_LINK_CD, CUST_GB, CUST_GRADE, JOIN_DT, FOREIGNER_YN, CUST_STAT, PASSWD_CHG_DT, TEMP_PASSWD_YN, LOGIN_LDT, CI, AUTH_DT, SNS_TYPE, MANAGED_RSN, MANAGED_DTL_RSN, MANAGED_DT, SECEDE_RSN, SECEDE_DTL_RSN, SECEDE_DT, REG_NO, REG_DT, UPD_NO, UPD_DT, MEMBER_GUID)
 SELECT
@@ -63,7 +63,7 @@ SELECT
     , FN_ENC_AES(DefaultAddr2) AS HOME_DTL_ADDR -- 자택상세주소_암호화
     , 'G000_10' AS SITE_CD
     , IF((SELECT FRONT_GB FROM MIG_AF WHERE ASIS_CD = A.RegisterPath) IS NULL, 'P', (SELECT FRONT_GB FROM MIG_AF WHERE ASIS_CD = A.RegisterPath)) AS FRONT_GB -- 프론트구분(P:PC, M:모바일, A:앱)
-    , (SELECT AF_LINK_CD FROM MIG_AF WHERE ASIS_CD = A.RegisterPath) AS AF_LINK_CD -- 제휴링크코드
+    , IFNULL((SELECT AF_LINK_CD FROM MIG_AF WHERE ASIS_CD = A.RegisterPath), 'AF001') AS AF_LINK_CD -- 제휴링크코드
     , 'G100_10' AS CUST_GB -- 회원구분(공통코드G100)
     , 'G110_10' AS CUST_GRADE -- 회원등급(공통코드G110)
     , IF(DateRegister IS NULL, DateLastModified, DateRegister) AS JOIN_DT  -- 가입일시
@@ -118,7 +118,7 @@ SELECT
     , FN_ENC_AES(DefaultAddr2) AS HOME_DTL_ADDR -- 자택상세주소_암호화
     , 'G000_10' AS SITE_CD
     , IF((SELECT FRONT_GB FROM MIG_AF WHERE ASIS_CD = A.RegisterPath) IS NULL, 'P', (SELECT FRONT_GB FROM MIG_AF WHERE ASIS_CD = A.RegisterPath)) AS FRONT_GB -- 프론트구분(P:PC, M:모바일, A:앱)
-    , (SELECT AF_LINK_CD FROM MIG_AF WHERE ASIS_CD = A.RegisterPath) AS AF_LINK_CD -- 제휴링크코드
+    , IFNULL((SELECT AF_LINK_CD FROM MIG_AF WHERE ASIS_CD = A.RegisterPath), 'AF001') AS AF_LINK_CD -- 제휴링크코드
     , 'G100_10' AS CUST_GB -- 회원구분(공통코드G100)
     , 'G110_10' AS CUST_GRADE -- 회원등급(공통코드G110)
     , IF(DateRegister IS NULL, DateLastModified, DateRegister) AS JOIN_DT  -- 가입일시
@@ -171,7 +171,7 @@ SELECT
     , NULL AS AF_LINK_CD -- 제휴링크코드 AS-IS ???
     , 'G100_10' AS CUST_GB -- 회원구분(공통코드G100)
     , 'G110_10' AS CUST_GRADE -- 회원등급(공통코드G110)
-    , IF(DateRegister IS NULL, DateLastModified, DateRegister) AS JOIN_DT  -- 가입일시
+    , NULL AS JOIN_DT  -- 가입일시
     , 'N' AS FOREIGNER_YN -- 외국인여부(외국인:Y) AS-IS ???
     , 'G104_30' AS CUST_STAT -- 고객상태(공통코드G104) NULL ???
     , NULL AS PASSWD_CHG_DT -- 비밀번호변경일시