사이트·관리자 봉투 물류 기능(수불·통계·레포트·재고·발주)과 DB·메뉴·E2E를 운영 반영한다.
통계 분석(전년대비·월별·계절별), 수급계획·LOT 수불, 지정판매소·실사·메뉴 링크 등을 포함한다. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -189,13 +189,18 @@ CREATE TABLE IF NOT EXISTS `bag_order` (
|
||||
`bo_agency_idx` INT UNSIGNED NULL COMMENT '입고처(대행소) FK (sales_agency)',
|
||||
`bo_fee_rate` DECIMAL(5,2) NOT NULL DEFAULT 0 COMMENT '수수료율(%)',
|
||||
`bo_order_date` DATE NOT NULL COMMENT '발주일',
|
||||
`bo_bag_types` TEXT NULL COMMENT '봉투 종류 목록(JSON)',
|
||||
`bo_unit_prices` TEXT NULL COMMENT '발주 단가 목록(JSON)',
|
||||
`bo_qty_boxes` TEXT NULL COMMENT '발주 박스 수량 목록(JSON)',
|
||||
`bo_lot_no` VARCHAR(50) NOT NULL DEFAULT '' COMMENT 'LOT 번호',
|
||||
`bo_hash` VARCHAR(64) NOT NULL DEFAULT '' COMMENT 'SHA-256 해시',
|
||||
`bo_status` VARCHAR(10) NOT NULL DEFAULT 'normal' COMMENT 'normal/cancelled/deleted',
|
||||
`bo_orderer_idx` INT UNSIGNED NULL COMMENT '발주자 mb_idx',
|
||||
`bo_regdate` DATETIME NOT NULL,
|
||||
`bo_moddate` DATETIME NULL DEFAULT NULL,
|
||||
PRIMARY KEY (`bo_idx`),
|
||||
`bo_regdate` DATETIME NOT NULL COMMENT '등록일시',
|
||||
`bo_moddate` DATETIME NULL DEFAULT NULL COMMENT '수정일시',
|
||||
PRIMARY KEY (`bo_uuid`, `bo_version`),
|
||||
-- 코드/화면 로직은 bo_idx(숫자 PK)로 조회/취소/삭제하고 있어, bo_idx도 유니크로 유지한다.
|
||||
UNIQUE KEY `uk_bo_idx` (`bo_idx`),
|
||||
UNIQUE KEY `uk_bo_uuid_ver` (`bo_uuid`, `bo_version`),
|
||||
KEY `idx_bo_lg_idx` (`bo_lg_idx`),
|
||||
KEY `idx_bo_status` (`bo_status`),
|
||||
@@ -255,6 +260,7 @@ CREATE TABLE IF NOT EXISTS `shop_order` (
|
||||
`so_order_date` DATE NOT NULL COMMENT '접수일',
|
||||
`so_delivery_date` DATE NULL COMMENT '배달일',
|
||||
`so_payment_type` VARCHAR(20) NOT NULL DEFAULT '' COMMENT '이체/가상계좌',
|
||||
`so_channel` VARCHAR(20) NOT NULL DEFAULT 'phone' COMMENT '접수채널 phone/web/app/counter',
|
||||
`so_paid` TINYINT UNSIGNED NOT NULL DEFAULT 0 COMMENT '입금여부 1=예',
|
||||
`so_received` TINYINT UNSIGNED NOT NULL DEFAULT 0 COMMENT '수령여부 1=예',
|
||||
`so_total_qty` INT UNSIGNED NOT NULL DEFAULT 0,
|
||||
@@ -264,7 +270,8 @@ CREATE TABLE IF NOT EXISTS `shop_order` (
|
||||
`so_regdate` DATETIME NOT NULL,
|
||||
PRIMARY KEY (`so_idx`),
|
||||
KEY `idx_so_lg_idx` (`so_lg_idx`),
|
||||
KEY `idx_so_ds_idx` (`so_ds_idx`)
|
||||
KEY `idx_so_ds_idx` (`so_ds_idx`),
|
||||
KEY `idx_so_lg_order_channel` (`so_lg_idx`, `so_order_date`, `so_channel`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='주문 접수';
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `shop_order_item` (
|
||||
@@ -321,6 +328,22 @@ CREATE TABLE IF NOT EXISTS `bag_issue` (
|
||||
KEY `idx_bi2_date` (`bi2_issue_date`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='무료용 불출';
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `bag_issue_item_code` (
|
||||
`bic_idx` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,
|
||||
`bic_lg_idx` INT UNSIGNED NOT NULL,
|
||||
`bic_bi2_idx` INT UNSIGNED NOT NULL COMMENT 'bag_issue.bi2_idx',
|
||||
`bic_bag_code` VARCHAR(50) NOT NULL DEFAULT '' COMMENT '봉투 종류 코드',
|
||||
`bic_issue_code` VARCHAR(80) NOT NULL DEFAULT '' COMMENT '불출 품목 코드',
|
||||
`bic_qty` INT UNSIGNED NOT NULL DEFAULT 0 COMMENT '원수량(낱장)',
|
||||
`bic_cancel_qty` INT UNSIGNED NOT NULL DEFAULT 0 COMMENT '취소수량(낱장)',
|
||||
`bic_state` VARCHAR(10) NOT NULL DEFAULT 'normal' COMMENT 'normal/cancelled',
|
||||
`bic_regdate` DATETIME NOT NULL,
|
||||
PRIMARY KEY (`bic_idx`),
|
||||
KEY `idx_bic_lg_idx` (`bic_lg_idx`),
|
||||
KEY `idx_bic_bi2_idx` (`bic_bi2_idx`),
|
||||
KEY `idx_bic_issue_code` (`bic_issue_code`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='무료용 불출 품목코드 상세';
|
||||
|
||||
-- ---------------------------------------------------------------------------
|
||||
-- 감사 로그 (activity_log_tables.sql) — audit_helper.php
|
||||
-- ---------------------------------------------------------------------------
|
||||
@@ -340,6 +363,26 @@ CREATE TABLE IF NOT EXISTS `activity_log` (
|
||||
KEY `idx_al_regdate` (`al_regdate`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='CRUD 활동 로그';
|
||||
|
||||
-- 블록체인 원장 (폐쇄형 SQL Ledger)
|
||||
CREATE TABLE IF NOT EXISTS `blockchain_ledger` (
|
||||
`bl_idx` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '블록 인덱스(Height)',
|
||||
`bl_created_at` DATETIME NOT NULL COMMENT '블록 생성 시각',
|
||||
`bl_tx_type` VARCHAR(30) NOT NULL DEFAULT '' COMMENT '트랜잭션 타입(ORDER_CREATE/ORDER_UPDATE/...)',
|
||||
`bl_entity_uuid` CHAR(36) NULL COMMENT '업무 엔티티 UUID',
|
||||
`bl_entity_version` INT UNSIGNED NOT NULL DEFAULT 1 COMMENT '엔티티 버전',
|
||||
`bl_payload` JSON NOT NULL COMMENT '블록 payload(JSON)',
|
||||
`bl_previous_hash` CHAR(64) NOT NULL DEFAULT '' COMMENT '이전 블록 해시',
|
||||
`bl_hash` CHAR(64) NOT NULL DEFAULT '' COMMENT '현재 블록 해시',
|
||||
`bl_nonce` INT NOT NULL DEFAULT 0 COMMENT '논스(폐쇄형 체인에서 기본 0)',
|
||||
`bl_actor_idx` INT UNSIGNED NULL COMMENT '수행자 mb_idx',
|
||||
`bl_lg_idx` INT UNSIGNED NULL COMMENT '지자체 lg_idx',
|
||||
PRIMARY KEY (`bl_idx`),
|
||||
KEY `idx_bl_entity_uuid` (`bl_entity_uuid`),
|
||||
KEY `idx_bl_tx_type` (`bl_tx_type`),
|
||||
KEY `idx_bl_lg_idx` (`bl_lg_idx`),
|
||||
UNIQUE KEY `uk_bl_hash` (`bl_hash`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='블록체인 원장';
|
||||
|
||||
-- ---------------------------------------------------------------------------
|
||||
-- 기타 입출고 리포트 (bag_misc_flow_tables.sql)
|
||||
-- ---------------------------------------------------------------------------
|
||||
|
||||
Reference in New Issue
Block a user