2026-03-14 22:49:35 59 0
整理了一下模块,销售单、出库单、销售退货、销售换货、采购单、采购退货,采购换货,入库单、库存、库存日志、仓库。
想从通用角度出发,发现问题的核心点,还是在于需要在什么样的业务场景下使用,实现方式有很大区别。
我期望的是往复杂的方式做,然后,通过配置项,让简单的场景能够无障碍使用。
关于复杂度,问得越多,越觉得无从下手。
关于库存,问了问gpt,比想象中的也越来越复杂。
我不确定claude是否能够开发出来这样的系统,目前仅仅用免费的chatgpt分析。
销售订单
│
│ 触发
▼
库存锁定
│
│ 不足
▼
采购订单
│
▼
采购入库
│
▼
仓库发货
三张管理库存的表结构:
T_JXC_INVENTORY
│
│ 汇总库存
│
▼
T_JXC_INVENTORY_LOCK
│
│ 谁锁了库存
│
▼
T_JXC_INVENTORY_LOG
│
│ 库存流水
CREATE TABLE T_JXC_INVENTORY
(
ID BIGINT AUTO_INCREMENT COMMENT '主键ID'
PRIMARY KEY,
SKU_ID BIGINT NOT NULL COMMENT 'SKU_ID',
WAREHOUSE_ID BIGINT NOT NULL COMMENT '仓库ID',
TOTAL_STOCK DECIMAL(18,6) DEFAULT 0 NULL COMMENT '总库存',
AVAILABLE_STOCK DECIMAL(18,6) DEFAULT 0 NULL COMMENT '可用库存',
LOCKED_STOCK DECIMAL(18,6) DEFAULT 0 NULL COMMENT '锁定库存',
INBOUND_STOCK DECIMAL(18,6) DEFAULT 0 NULL COMMENT '入库在途库存',
OUTBOUND_STOCK DECIMAL(18,6) DEFAULT 0 NULL COMMENT '出库在途库存',
ADD_TIME DATETIME NULL COMMENT '添加时间',
ADD_ID BIGINT NULL COMMENT '添加人ID',
ADD_NAME VARCHAR(255) NULL COMMENT '添加人名称',
UPDATE_TIME DATETIME NULL COMMENT '更新时间',
UPDATE_ID BIGINT NULL COMMENT '更新人ID',
UPDATE_NAME VARCHAR(255) NULL COMMENT '更新人名称',
DELETE_FLAG TINYINT DEFAULT 0 NULL COMMENT '删除标识 0未删除 1已删除',
UNIQUE KEY UK_SKU_WAREHOUSE (SKU_ID, WAREHOUSE_ID)
) COMMENT ='进销存库存表'
DEFAULT CHARSET = UTF8MB4;
CREATE TABLE T_JXC_INVENTORY_LOG
(
ID BIGINT AUTO_INCREMENT COMMENT '主键ID'
PRIMARY KEY,
SKU_ID BIGINT NOT NULL COMMENT 'SKU_ID',
WAREHOUSE_ID BIGINT NOT NULL COMMENT '仓库ID',
CHANGE_TYPE VARCHAR(50) NULL COMMENT '库存变动类型SALE_LOCK
SALE_SHIP
SALE_RETURN
PURCHASE_CREATE
PURCHASE_INBOUND
STOCK_ADJUST
TRANSFER_OUT
TRANSFER_IN',
CHANGE_QTY DECIMAL(18,6) NULL COMMENT '变动数量',
BEFORE_STOCK DECIMAL(18,6) NULL COMMENT '变动前库存',
AFTER_STOCK DECIMAL(18,6) NULL COMMENT '变动后库存',
RELATED_TYPE VARCHAR(50) NULL COMMENT '关联业务类型SALES_ORDER
OUTBOUND_ORDER
PURCHASE_ORDER
INBOUND_ORDER
STOCK_ADJUST
TRANSFER_ORDER',
RELATED_ID BIGINT NULL COMMENT '关联业务ID',
REMARK VARCHAR(500) NULL COMMENT '备注',
ADD_TIME DATETIME NULL COMMENT '添加时间',
ADD_ID BIGINT NULL COMMENT '添加人ID',
ADD_NAME VARCHAR(255) NULL COMMENT '添加人名称',
UPDATE_TIME DATETIME NULL COMMENT '更新时间',
UPDATE_ID BIGINT NULL COMMENT '更新人ID',
UPDATE_NAME VARCHAR(255) NULL COMMENT '更新人名称',
DELETE_FLAG TINYINT DEFAULT 0 NULL COMMENT '删除标识 0未删除 1已删除',
KEY IDX_SKU (SKU_ID),
KEY IDX_RELATED (RELATED_TYPE, RELATED_ID)
) COMMENT ='进销存库存流水表'
DEFAULT CHARSET = UTF8MB4;
CREATE TABLE T_JXC_INVENTORY_LOCK
(
ID BIGINT AUTO_INCREMENT COMMENT '主键ID'
PRIMARY KEY,
SKU_ID BIGINT NOT NULL COMMENT 'SKU_ID',
WAREHOUSE_ID BIGINT NOT NULL COMMENT '仓库ID',
LOCK_QTY DECIMAL(18,6) NULL COMMENT '锁定库存数量',
RELATED_TYPE VARCHAR(50) NULL COMMENT '关联业务类型',
RELATED_ID BIGINT NULL COMMENT '关联业务ID',
REMAIN_QTY DECIMAL(18,6) NULL COMMENT '剩余锁定数量',
STATUS TINYINT DEFAULT 0 NULL COMMENT '状态 0锁定 1已释放',
ADD_TIME DATETIME NULL COMMENT '添加时间',
ADD_ID BIGINT NULL COMMENT '添加人ID',
ADD_NAME VARCHAR(255) NULL COMMENT '添加人名称',
UPDATE_TIME DATETIME NULL COMMENT '更新时间',
UPDATE_ID BIGINT NULL COMMENT '更新人ID',
UPDATE_NAME VARCHAR(255) NULL COMMENT '更新人名称',
DELETE_FLAG TINYINT DEFAULT 0 NULL COMMENT '删除标识 0未删除 1已删除',
KEY IDX_SKU (SKU_ID),
KEY IDX_RELATED (RELATED_TYPE, RELATED_ID)
) COMMENT ='进销存库存锁定表'
DEFAULT CHARSET = UTF8MB4;