-- 设备补货单表
CREATE TABLE IF NOT EXISTS `t_replenishment_order` (
    `id` BIGINT NOT NULL COMMENT '主键ID(雪花算法)',
    `order_no` VARCHAR(32) NOT NULL COMMENT '补货单号(RO+日期+序号)',
    `device_id` VARCHAR(50) NOT NULL COMMENT '设备SN号',
    `shop_id` BIGINT DEFAULT NULL COMMENT '门店ID(冗余)',
    `status` TINYINT NOT NULL DEFAULT 0 COMMENT '状态: 0-草稿, 1-已提交, 2-已同步ERP, 3-已完成, 4-已取消',
    `erp_order_no` VARCHAR(64) DEFAULT NULL COMMENT 'ERP采购单号',
    `erp_sync_time` DATETIME DEFAULT NULL COMMENT 'ERP同步时间',
    `supplier_name` VARCHAR(100) DEFAULT NULL COMMENT '供应商名称',
    `warehouse_name` VARCHAR(100) DEFAULT NULL COMMENT 'ERP仓库名称',
    `expected_arrival_time` DATETIME DEFAULT NULL COMMENT '预计到货时间',
    `total_quantity` INT NOT NULL DEFAULT 0 COMMENT '补货总数量',
    `total_amount` DECIMAL(12,2) NOT NULL DEFAULT 0.00 COMMENT '补货总金额',
    `remark` VARCHAR(500) DEFAULT NULL COMMENT '备注',
    `creator_id` BIGINT DEFAULT NULL COMMENT '创建人ID',
    `creator_name` VARCHAR(64) DEFAULT NULL COMMENT '创建人姓名',
    `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
    PRIMARY KEY (`id`),
    UNIQUE KEY `uk_order_no` (`order_no`),
    INDEX `idx_device_id` (`device_id`),
    INDEX `idx_shop_id` (`shop_id`),
    INDEX `idx_status` (`status`),
    INDEX `idx_erp_order_no` (`erp_order_no`),
    INDEX `idx_create_time` (`create_time`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='设备补货单';

-- 设备补货单明细表
CREATE TABLE IF NOT EXISTS `t_replenishment_order_item` (
    `id` BIGINT NOT NULL COMMENT '主键ID(雪花算法)',
    `order_id` BIGINT NOT NULL COMMENT '补货单ID',
    `device_id` VARCHAR(50) NOT NULL COMMENT '设备SN号',
    `product_id` BIGINT NOT NULL COMMENT '商品ID',
    `product_code` VARCHAR(64) DEFAULT NULL COMMENT '商品编码',
    `product_name` VARCHAR(128) DEFAULT NULL COMMENT '商品名称',
    `planned_quantity` INT NOT NULL DEFAULT 0 COMMENT '计划补货数量',
    `actual_quantity` INT DEFAULT NULL COMMENT '实际补货数量',
    `before_stock` INT DEFAULT NULL COMMENT '补货前库存',
    `after_stock` INT DEFAULT NULL COMMENT '补货后库存',
    `unit_price` DECIMAL(10,2) DEFAULT NULL COMMENT '单价',
    `total_price` DECIMAL(12,2) DEFAULT NULL COMMENT '小计金额',
    `shelf_num` INT DEFAULT NULL COMMENT '货架层号',
    `position` VARCHAR(16) DEFAULT NULL COMMENT '货道位置',
    `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    PRIMARY KEY (`id`),
    INDEX `idx_order_id` (`order_id`),
    INDEX `idx_product_id` (`product_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='设备补货单明细';
