-- =============================================
|
-- 仓储物流模块数据库初始化脚本
|
-- 包含:仓库审批配置表、单据BPM字段扩展、BPM分类
|
-- =============================================
|
|
-- 1. 创建仓库审批配置表
|
CREATE TABLE IF NOT EXISTS wms_warehouse_approval_config (
|
id BIGINT AUTO_INCREMENT PRIMARY KEY COMMENT '主键ID',
|
warehouse_id BIGINT NOT NULL COMMENT '仓库ID',
|
biz_type VARCHAR(32) NOT NULL COMMENT '业务类型(INBOUND-入库/OUTBOUND-出库/TRANSFER-调拨/CHECK-盘点)',
|
approval_enabled TINYINT(1) DEFAULT 0 COMMENT '是否启用审批(0-否 1-是)',
|
process_definition_key VARCHAR(64) DEFAULT NULL COMMENT '流程定义Key(为空则使用分类默认)',
|
category_code VARCHAR(64) DEFAULT 'wms_approve' COMMENT 'BPM分类编码',
|
creator VARCHAR(64) DEFAULT '' COMMENT '创建者',
|
create_time DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
updater VARCHAR(64) DEFAULT '' COMMENT '更新者',
|
update_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
deleted BIT DEFAULT 0 COMMENT '是否删除',
|
INDEX idx_warehouse_biz (warehouse_id, biz_type)
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='仓库审批配置表';
|
|
-- 2. 为出入库单据增加BPM审批字段
|
|
-- 采购入库单
|
ALTER TABLE mes_wm_item_receipt
|
ADD COLUMN IF NOT EXISTS process_instance_id VARCHAR(64) DEFAULT NULL COMMENT '流程实例ID' AFTER remark,
|
ADD COLUMN IF NOT EXISTS process_definition_key VARCHAR(64) DEFAULT NULL COMMENT '流程定义Key' AFTER process_instance_id;
|
|
-- 销售出库单
|
ALTER TABLE mes_wm_product_sales
|
ADD COLUMN IF NOT EXISTS process_instance_id VARCHAR(64) DEFAULT NULL COMMENT '流程实例ID' AFTER remark,
|
ADD COLUMN IF NOT EXISTS process_definition_key VARCHAR(64) DEFAULT NULL COMMENT '流程定义Key' AFTER process_instance_id;
|
|
-- 生产领料单
|
ALTER TABLE mes_wm_product_issue
|
ADD COLUMN IF NOT EXISTS process_instance_id VARCHAR(64) DEFAULT NULL COMMENT '流程实例ID' AFTER remark,
|
ADD COLUMN IF NOT EXISTS process_definition_key VARCHAR(64) DEFAULT NULL COMMENT '流程定义Key' AFTER process_instance_id;
|
|
-- 生产入库单(产品收货)
|
ALTER TABLE mes_wm_product_receipt
|
ADD COLUMN IF NOT EXISTS process_instance_id VARCHAR(64) DEFAULT NULL COMMENT '流程实例ID' AFTER remark,
|
ADD COLUMN IF NOT EXISTS process_definition_key VARCHAR(64) DEFAULT NULL COMMENT '流程定义Key' AFTER process_instance_id;
|
|
-- 转移调拨单
|
ALTER TABLE mes_wm_transfer
|
ADD COLUMN IF NOT EXISTS process_instance_id VARCHAR(64) DEFAULT NULL COMMENT '流程实例ID' AFTER remark,
|
ADD COLUMN IF NOT EXISTS process_definition_key VARCHAR(64) DEFAULT NULL COMMENT '流程定义Key' AFTER process_instance_id;
|
|
-- 盘点方案
|
ALTER TABLE mes_wm_stock_taking_plan
|
ADD COLUMN IF NOT EXISTS process_instance_id VARCHAR(64) DEFAULT NULL COMMENT '流程实例ID' AFTER remark,
|
ADD COLUMN IF NOT EXISTS process_definition_key VARCHAR(64) DEFAULT NULL COMMENT '流程定义Key' AFTER process_instance_id;
|
|
-- 杂项入库单
|
ALTER TABLE mes_wm_misc_receipt
|
ADD COLUMN IF NOT EXISTS process_instance_id VARCHAR(64) DEFAULT NULL COMMENT '流程实例ID' AFTER remark,
|
ADD COLUMN IF NOT EXISTS process_definition_key VARCHAR(64) DEFAULT NULL COMMENT '流程定义Key' AFTER process_instance_id;
|
|
-- 杂项出库单
|
ALTER TABLE mes_wm_misc_issue
|
ADD COLUMN IF NOT EXISTS process_instance_id VARCHAR(64) DEFAULT NULL COMMENT '流程实例ID' AFTER remark,
|
ADD COLUMN IF NOT EXISTS process_definition_key VARCHAR(64) DEFAULT NULL COMMENT '流程定义Key' AFTER process_instance_id;
|
|
-- 3. 创建BPM审批分类
|
INSERT INTO bpm_category (id, name, code, description, status, sort, creator, create_time, updater, update_time, deleted)
|
SELECT 120, '仓库审核', 'wms_approve', '仓库管理审批流程分类', 0, 30, '1', NOW(), '1', NOW(), 0
|
FROM DUAL
|
WHERE NOT EXISTS (SELECT 1 FROM bpm_category WHERE code = 'wms_approve');
|
|
-- =============================================
|
-- 业务类型说明:
|
-- INBOUND - 入库类业务(采购入库、生产入库、销售退货等)
|
-- OUTBOUND - 出库类业务(销售出库、生产领料、采购退货等)
|
-- TRANSFER - 调拨业务(内部调拨、外部调拨)
|
-- CHECK - 盘点业务(静态盘点、动态盘点)
|
-- =============================================
|