作为 xiaoqu-agent-service(MCP 服务) 的开发参考。新系统与旧系统零代码耦合, 仅照搬其行级数据权限规则与数据源结构。设计方案见 xiaoqu-franchisee/doc/agent-mcp-service-design.md
70 lines
3.4 KiB
SQL
70 lines
3.4 KiB
SQL
-- =====================================================
|
||
-- 每日库存盘点与结余记录 DDL
|
||
-- @since 2026-06-19
|
||
-- 设计文档:doc/warehouse-stock-daily-check-design.md
|
||
-- =====================================================
|
||
|
||
-- 1. 每日结余表
|
||
CREATE TABLE IF NOT EXISTS warehouse_stock_daily_balance (
|
||
id BIGINT PRIMARY KEY AUTO_INCREMENT COMMENT '主键',
|
||
stat_date DATE NOT NULL COMMENT '统计日期(前一日)',
|
||
materiel_definition_id BIGINT NOT NULL COMMENT '物料 ID',
|
||
warehouse_id BIGINT NOT NULL COMMENT '仓库 ID',
|
||
warehouse_name VARCHAR(100) DEFAULT NULL COMMENT '仓库名称(冗余便于查询)',
|
||
warehouse_no VARCHAR(50) DEFAULT NULL,
|
||
materiel_full_name VARCHAR(200) DEFAULT NULL,
|
||
material_no VARCHAR(50) DEFAULT NULL,
|
||
materiel_index_id BIGINT DEFAULT NULL,
|
||
|
||
current_inventory INT NOT NULL DEFAULT 0 COMMENT '当日结余库存(盘点执行时仓库表 current_inventory)',
|
||
out_of_stock INT NOT NULL DEFAULT 0 COMMENT '当日定格出库中库存(仅作归档,前端不读)',
|
||
battery_inventory INT NOT NULL DEFAULT 0 COMMENT '当日定格费用化库存',
|
||
|
||
in_count_today INT NOT NULL DEFAULT 0 COMMENT '当日正向入库流水',
|
||
out_count_today INT NOT NULL DEFAULT 0 COMMENT '当日正向出库流水',
|
||
|
||
create_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||
|
||
UNIQUE KEY uk_date_md_wh (stat_date, materiel_definition_id, warehouse_id),
|
||
KEY idx_md_wh_date (materiel_definition_id, warehouse_id, stat_date),
|
||
KEY idx_date (stat_date)
|
||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='每日库存结余快照';
|
||
|
||
|
||
-- 2. 盘点日志表
|
||
CREATE TABLE IF NOT EXISTS warehouse_stock_check_log (
|
||
id BIGINT PRIMARY KEY AUTO_INCREMENT,
|
||
check_date DATE NOT NULL COMMENT '盘点日期(前一日)',
|
||
materiel_definition_id BIGINT NOT NULL,
|
||
warehouse_id BIGINT NOT NULL,
|
||
warehouse_name VARCHAR(100) DEFAULT NULL,
|
||
warehouse_no VARCHAR(50) DEFAULT NULL,
|
||
materiel_full_name VARCHAR(200) DEFAULT NULL,
|
||
material_no VARCHAR(50) DEFAULT NULL,
|
||
|
||
yesterday_balance INT NOT NULL DEFAULT 0 COMMENT '昨日结余 current_inventory',
|
||
yesterday_out_of_stock INT NOT NULL DEFAULT 0,
|
||
yesterday_battery INT NOT NULL DEFAULT 0,
|
||
|
||
in_count INT NOT NULL DEFAULT 0 COMMENT '当日正向入库总数',
|
||
out_count INT NOT NULL DEFAULT 0 COMMENT '当日正向出库总数',
|
||
cancel_in_count INT NOT NULL DEFAULT 0 COMMENT '当日作废入库总数(反向扣减)',
|
||
cancel_out_count INT NOT NULL DEFAULT 0 COMMENT '当日作废出库总数(反向恢复)',
|
||
sub_detail_count INT NOT NULL DEFAULT 0 COMMENT '当日 SN 子明细数量(仅排查用)',
|
||
|
||
expected_inventory INT NOT NULL,
|
||
actual_inventory INT NOT NULL,
|
||
difference INT NOT NULL,
|
||
has_difference TINYINT NOT NULL DEFAULT 0 COMMENT '0=无差异 1=有差异',
|
||
|
||
related_in_order_nos VARCHAR(1000) DEFAULT NULL COMMENT '差异涉及的入库单号列表',
|
||
related_out_order_nos VARCHAR(1000) DEFAULT NULL COMMENT '差异涉及的出库单号列表',
|
||
|
||
memo VARCHAR(500) DEFAULT NULL,
|
||
create_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||
|
||
UNIQUE KEY uk_date_md_wh (check_date, materiel_definition_id, warehouse_id),
|
||
KEY idx_diff_date (has_difference, check_date),
|
||
KEY idx_md_wh_date (materiel_definition_id, warehouse_id, check_date)
|
||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='库存盘点日志';
|