50 lines
2.6 KiB
SQL
50 lines
2.6 KiB
SQL
CREATE TABLE IF NOT EXISTS wh_special_adjustment (
|
|
id BIGINT PRIMARY KEY AUTO_INCREMENT,
|
|
adjustment_no VARCHAR(50) NOT NULL,
|
|
warehouse_id BIGINT NOT NULL,
|
|
warehouse_type VARCHAR(32) NOT NULL,
|
|
direction VARCHAR(32) NOT NULL,
|
|
reason VARCHAR(1000) NOT NULL,
|
|
status VARCHAR(32) NOT NULL,
|
|
operator_user_id BIGINT NULL,
|
|
adjusted_at DATETIME NOT NULL,
|
|
created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
updated_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
UNIQUE KEY uk_wh_special_adjustment_no (adjustment_no),
|
|
KEY idx_wh_special_adjustment_warehouse (warehouse_id, adjusted_at),
|
|
KEY idx_wh_special_adjustment_direction (direction, adjusted_at),
|
|
CONSTRAINT fk_special_adjustment_warehouse FOREIGN KEY (warehouse_id) REFERENCES wh_warehouse(id),
|
|
CONSTRAINT fk_special_adjustment_operator FOREIGN KEY (operator_user_id) REFERENCES sys_user(id)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
|
|
|
CREATE TABLE IF NOT EXISTS wh_special_adjustment_line (
|
|
id BIGINT PRIMARY KEY AUTO_INCREMENT,
|
|
adjustment_id BIGINT NOT NULL,
|
|
line_no INT NOT NULL,
|
|
item_id BIGINT NOT NULL,
|
|
warehouse_id BIGINT NOT NULL,
|
|
location_id BIGINT NULL,
|
|
lot_id BIGINT NOT NULL,
|
|
inventory_txn_id BIGINT NULL,
|
|
before_qty DECIMAL(18,6) NOT NULL DEFAULT 0,
|
|
change_qty DECIMAL(18,6) NOT NULL DEFAULT 0,
|
|
after_qty DECIMAL(18,6) NOT NULL DEFAULT 0,
|
|
before_weight_kg DECIMAL(18,6) NOT NULL DEFAULT 0,
|
|
change_weight_kg DECIMAL(18,6) NOT NULL DEFAULT 0,
|
|
after_weight_kg DECIMAL(18,6) NOT NULL DEFAULT 0,
|
|
unit_cost DECIMAL(18,4) NOT NULL DEFAULT 0,
|
|
line_reason VARCHAR(1000) NULL,
|
|
created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
updated_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
KEY idx_wh_special_adjustment_line_adjustment (adjustment_id),
|
|
KEY idx_wh_special_adjustment_line_item (item_id),
|
|
KEY idx_wh_special_adjustment_line_lot (lot_id),
|
|
KEY idx_wh_special_adjustment_line_txn (inventory_txn_id),
|
|
CONSTRAINT fk_special_adjustment_line_adjustment FOREIGN KEY (adjustment_id) REFERENCES wh_special_adjustment(id),
|
|
CONSTRAINT fk_special_adjustment_line_item FOREIGN KEY (item_id) REFERENCES md_item(id),
|
|
CONSTRAINT fk_special_adjustment_line_warehouse FOREIGN KEY (warehouse_id) REFERENCES wh_warehouse(id),
|
|
CONSTRAINT fk_special_adjustment_line_location FOREIGN KEY (location_id) REFERENCES wh_location(id),
|
|
CONSTRAINT fk_special_adjustment_line_lot FOREIGN KEY (lot_id) REFERENCES wh_stock_lot(id),
|
|
CONSTRAINT fk_special_adjustment_line_inventory_txn FOREIGN KEY (inventory_txn_id) REFERENCES wh_inventory_txn(id)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|