Files
my-mom-system/prd/db/erp数据库设计-DDL.sql
panchengyong c28ada5050 commit content
2026-03-06 02:02:59 +08:00

2688 lines
141 KiB
SQL
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
-- =====================================================
-- ERP系统数据库设计 - DDL脚本
-- 版本: 1.1.0
-- 创建日期: 2026-01-25
-- 更新日期: 2026-02-06
-- 数据库: MySQL 8.0+
-- 字符集: utf8mb4
-- 更新说明: 新增生产管理(prs)、研发管理(rd)、委外管理(pu)、财务管理(fd)模块表结构
-- =====================================================
-- 设置字符集
SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;
-- =====================================================
-- 第一部分: 系统基础表
-- =====================================================
-- ---------------------------------------------------
-- 1.1 租户表 (sys_tenant)
-- 说明: 用户表(sys_user)和部门表(sys_dept)已在原项目数据库中定义,此处不再重复定义
-- ---------------------------------------------------
DROP TABLE IF EXISTS `sys_tenant`;
CREATE TABLE `sys_tenant` (
`tenant_id` varchar(20) NOT NULL COMMENT '租户ID',
`tenant_name` varchar(100) NOT NULL COMMENT '租户名称',
`contact_name` varchar(50) DEFAULT NULL COMMENT '联系人',
`contact_phone` varchar(20) DEFAULT NULL COMMENT '联系电话',
`address` varchar(200) DEFAULT NULL COMMENT '地址',
`status` char(1) NOT NULL DEFAULT '0' COMMENT '状态(0正常 1停用)',
`del_flag` char(1) NOT NULL DEFAULT '0' COMMENT '删除标志(0存在 1删除)',
`create_by` varchar(64) DEFAULT NULL COMMENT '创建者',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_by` varchar(64) DEFAULT NULL COMMENT '更新者',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`tenant_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='租户表';
-- =====================================================
-- 第二部分: 基础数据表 (Master Data)
-- =====================================================
-- ---------------------------------------------------
-- 2.1 物料分类表 (md_item_type)
-- ---------------------------------------------------
DROP TABLE IF EXISTS `erp_md_item_type`;
CREATE TABLE `erp_md_item_type` (
`item_type_id` bigint NOT NULL AUTO_INCREMENT COMMENT '分类ID',
`tenant_id` varchar(20) NOT NULL COMMENT '租户ID',
`item_type_code` varchar(32) NOT NULL COMMENT '分类编码',
`item_type_name` varchar(50) NOT NULL COMMENT '分类名称',
`parent_type_id` bigint DEFAULT NULL COMMENT '父分类ID',
`ancestors` varchar(500) DEFAULT NULL COMMENT '祖级列表',
`order_num` int DEFAULT 0 COMMENT '排序号',
`enable_flag` char(1) NOT NULL DEFAULT 'Y' COMMENT '启用状态(Y启用 N停用)',
`del_flag` char(1) NOT NULL DEFAULT '0' COMMENT '删除标志',
`create_by` varchar(64) DEFAULT NULL COMMENT '创建者',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_by` varchar(64) DEFAULT NULL COMMENT '更新者',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`item_type_id`),
UNIQUE KEY `uk_item_type_code` (`item_type_code`, `tenant_id`),
KEY `idx_item_type_parent` (`parent_type_id`),
KEY `idx_item_type_tenant` (`tenant_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='物料分类表';
-- ---------------------------------------------------
-- 2.2 物料档案表 (md_item)
-- ---------------------------------------------------
DROP TABLE IF EXISTS `erp_md_item`;
CREATE TABLE `erp_md_item` (
`item_id` bigint NOT NULL AUTO_INCREMENT COMMENT '物料ID',
`tenant_id` varchar(20) NOT NULL COMMENT '租户ID',
`item_code` varchar(32) NOT NULL COMMENT '物料编码',
`item_name` varchar(100) NOT NULL COMMENT '物料名称',
`specification` varchar(200) DEFAULT NULL COMMENT '规格型号',
`unit_of_measure` varchar(20) DEFAULT NULL COMMENT '主计量单位',
`item_type_id` bigint DEFAULT NULL COMMENT '物料分类ID',
`item_type_code` varchar(32) DEFAULT NULL COMMENT '物料分类编码',
`item_type_name` varchar(50) DEFAULT NULL COMMENT '物料分类名称',
`item_sub_type_code` varchar(32) DEFAULT NULL COMMENT '二级分类编码',
`item_sub_type_name` varchar(50) DEFAULT NULL COMMENT '二级分类名称',
`item_or_product` varchar(20) DEFAULT 'ITEM' COMMENT '物料/产品(ITEM物料 PRODUCT产品)',
`safe_stock_flag` char(1) DEFAULT 'N' COMMENT '启用安全库存(Y/N)',
`min_stock` decimal(18,4) DEFAULT 0 COMMENT '最小库存',
`max_stock` decimal(18,4) DEFAULT 0 COMMENT '最大库存',
`default_warehouse_id` bigint DEFAULT NULL COMMENT '默认仓库ID',
`default_warehouse_name` varchar(50) DEFAULT NULL COMMENT '默认仓库名称',
`weight` decimal(18,6) DEFAULT NULL COMMENT '重量(kg)',
`volume` decimal(18,6) DEFAULT NULL COMMENT '体积(m³)',
`enable_flag` char(1) NOT NULL DEFAULT 'Y' COMMENT '启用状态(Y启用 N停用)',
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
`del_flag` char(1) NOT NULL DEFAULT '0' COMMENT '删除标志',
`create_by` varchar(64) DEFAULT NULL COMMENT '创建者',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_by` varchar(64) DEFAULT NULL COMMENT '更新者',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`item_id`),
UNIQUE KEY `uk_item_code` (`item_code`, `tenant_id`),
KEY `idx_item_type` (`item_type_id`),
KEY `idx_item_name` (`item_name`),
KEY `idx_item_tenant` (`tenant_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='物料档案表';
-- ---------------------------------------------------
-- 2.3 计量单位表 (md_unit)
-- ---------------------------------------------------
DROP TABLE IF EXISTS `erp_md_unit`;
CREATE TABLE `erp_md_unit` (
`unit_id` bigint NOT NULL AUTO_INCREMENT COMMENT '单位ID',
`tenant_id` varchar(20) NOT NULL COMMENT '租户ID',
`unit_code` varchar(20) NOT NULL COMMENT '单位编码',
`unit_name` varchar(50) NOT NULL COMMENT '单位名称',
`unit_type` varchar(20) DEFAULT NULL COMMENT '单位类型',
`order_num` int DEFAULT 0 COMMENT '排序号',
`enable_flag` char(1) NOT NULL DEFAULT 'Y' COMMENT '启用状态',
`del_flag` char(1) NOT NULL DEFAULT '0' COMMENT '删除标志',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
PRIMARY KEY (`unit_id`),
UNIQUE KEY `uk_unit_code` (`unit_code`, `tenant_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='计量单位表';
-- ---------------------------------------------------
-- 2.4 BOM表头 (md_bom)
-- ---------------------------------------------------
DROP TABLE IF EXISTS `erp_md_bom`;
CREATE TABLE `erp_md_bom` (
`bom_id` bigint NOT NULL AUTO_INCREMENT COMMENT 'BOM ID',
`tenant_id` varchar(20) NOT NULL COMMENT '租户ID',
`bom_code` varchar(32) NOT NULL COMMENT 'BOM编码',
`bom_name` varchar(100) DEFAULT NULL COMMENT 'BOM名称',
`item_id` bigint NOT NULL COMMENT '产品物料ID',
`item_code` varchar(32) NOT NULL COMMENT '产品物料编码',
`item_name` varchar(100) NOT NULL COMMENT '产品物料名称',
`unit_name` varchar(20) DEFAULT NULL COMMENT '计量单位',
`base_qty` decimal(18,4) NOT NULL DEFAULT 1 COMMENT '基本数量',
`version` varchar(20) DEFAULT NULL COMMENT '版本号',
`version_desc` varchar(200) DEFAULT NULL COMMENT '版本说明',
`status` varchar(20) NOT NULL DEFAULT 'DRAFT' COMMENT '状态(DRAFT草稿 APPROVED审核)',
`enable_flag` char(1) NOT NULL DEFAULT 'Y' COMMENT '启用状态',
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
`del_flag` char(1) NOT NULL DEFAULT '0' COMMENT '删除标志',
`create_by` varchar(64) DEFAULT NULL COMMENT '创建者',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_by` varchar(64) DEFAULT NULL COMMENT '更新者',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`bom_id`),
UNIQUE KEY `uk_bom_code` (`bom_code`, `tenant_id`),
KEY `idx_bom_item` (`item_id`),
KEY `idx_bom_tenant` (`tenant_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='BOM表头';
-- ---------------------------------------------------
-- 2.5 BOM明细表 (md_bom_line)
-- ---------------------------------------------------
DROP TABLE IF EXISTS `erp_md_bom_line`;
CREATE TABLE `erp_md_bom_line` (
`line_id` bigint NOT NULL AUTO_INCREMENT COMMENT '明细ID',
`bom_id` bigint NOT NULL COMMENT 'BOM ID',
`line_no` int NOT NULL COMMENT '行号',
`item_id` bigint NOT NULL COMMENT '子件物料ID',
`item_code` varchar(32) NOT NULL COMMENT '子件物料编码',
`item_name` varchar(100) NOT NULL COMMENT '子件物料名称',
`specification` varchar(200) DEFAULT NULL COMMENT '规格型号',
`unit_name` varchar(20) DEFAULT NULL COMMENT '计量单位',
`base_qty` decimal(18,6) NOT NULL DEFAULT 1 COMMENT '基本用量',
`loss_rate` decimal(5,2) DEFAULT 0 COMMENT '损耗率(%)',
`supply_type` varchar(20) DEFAULT 'PURCHASE' COMMENT '供应方式(PURCHASE采购 SELF_MADE自制 OUTSOURCE委外)',
`remark` varchar(200) DEFAULT NULL COMMENT '备注',
`del_flag` char(1) NOT NULL DEFAULT '0' COMMENT '删除标志',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`tenant_id` varchar(20) NOT NULL COMMENT '租户ID',
PRIMARY KEY (`line_id`),
KEY `idx_bom_line_bom` (`bom_id`),
KEY `idx_bom_line_item` (`item_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='BOM明细表';
-- =====================================================
-- 第三部分: 仓库管理表 (Warehouse Management)
-- =====================================================
-- ---------------------------------------------------
-- 3.1 仓库表 (wm_warehouse)
-- ---------------------------------------------------
DROP TABLE IF EXISTS `erp_wm_warehouse`;
CREATE TABLE `erp_wm_warehouse` (
`warehouse_id` bigint NOT NULL AUTO_INCREMENT COMMENT '仓库ID',
`tenant_id` varchar(20) NOT NULL COMMENT '租户ID',
`warehouse_code` varchar(32) NOT NULL COMMENT '仓库编码',
`warehouse_name` varchar(50) NOT NULL COMMENT '仓库名称',
`warehouse_type` varchar(20) DEFAULT NULL COMMENT '仓库类型',
`location` varchar(100) DEFAULT NULL COMMENT '位置',
`area` decimal(10,2) DEFAULT NULL COMMENT '面积(m²)',
`charge` varchar(50) DEFAULT NULL COMMENT '负责人',
`charge_tel` varchar(20) DEFAULT NULL COMMENT '负责人电话',
`enable_flag` char(1) NOT NULL DEFAULT 'Y' COMMENT '启用状态',
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
`del_flag` char(1) NOT NULL DEFAULT '0' COMMENT '删除标志',
`create_by` varchar(64) DEFAULT NULL COMMENT '创建者',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_by` varchar(64) DEFAULT NULL COMMENT '更新者',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`warehouse_id`),
UNIQUE KEY `uk_warehouse_code` (`warehouse_code`, `tenant_id`),
KEY `idx_warehouse_tenant` (`tenant_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='仓库表';
-- ---------------------------------------------------
-- 3.2 库区表 (wm_location)
-- ---------------------------------------------------
DROP TABLE IF EXISTS `erp_wm_location`;
CREATE TABLE `erp_wm_location` (
`location_id` bigint NOT NULL AUTO_INCREMENT COMMENT '库区ID',
`tenant_id` varchar(20) NOT NULL COMMENT '租户ID',
`warehouse_id` bigint NOT NULL COMMENT '仓库ID',
`location_code` varchar(32) NOT NULL COMMENT '库区编码',
`location_name` varchar(50) NOT NULL COMMENT '库区名称',
`area` decimal(10,2) DEFAULT NULL COMMENT '面积(m²)',
`enable_flag` char(1) NOT NULL DEFAULT 'Y' COMMENT '启用状态',
`del_flag` char(1) NOT NULL DEFAULT '0' COMMENT '删除标志',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
PRIMARY KEY (`location_id`),
UNIQUE KEY `uk_location_code` (`location_code`, `tenant_id`),
KEY `idx_location_warehouse` (`warehouse_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='库区表';
-- ---------------------------------------------------
-- 3.3 库位表 (wm_area)
-- ---------------------------------------------------
DROP TABLE IF EXISTS `erp_wm_area`;
CREATE TABLE `erp_wm_area` (
`area_id` bigint NOT NULL AUTO_INCREMENT COMMENT '库位ID',
`tenant_id` varchar(20) NOT NULL COMMENT '租户ID',
`warehouse_id` bigint NOT NULL COMMENT '仓库ID',
`location_id` bigint DEFAULT NULL COMMENT '库区ID',
`area_code` varchar(32) NOT NULL COMMENT '库位编码',
`area_name` varchar(50) NOT NULL COMMENT '库位名称',
`enable_flag` char(1) NOT NULL DEFAULT 'Y' COMMENT '启用状态',
`del_flag` char(1) NOT NULL DEFAULT '0' COMMENT '删除标志',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
PRIMARY KEY (`area_id`),
UNIQUE KEY `uk_area_code` (`area_code`, `tenant_id`),
KEY `idx_area_warehouse` (`warehouse_id`),
KEY `idx_area_location` (`location_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='库位表';
-- ---------------------------------------------------
-- 3.4 库存表 (wm_stock)
-- ---------------------------------------------------
DROP TABLE IF EXISTS `erp_wm_stock`;
CREATE TABLE `erp_wm_stock` (
`stock_id` bigint NOT NULL AUTO_INCREMENT COMMENT '库存ID',
`tenant_id` varchar(20) NOT NULL COMMENT '租户ID',
`item_id` bigint NOT NULL COMMENT '物料ID',
`item_code` varchar(32) DEFAULT NULL COMMENT '物料编码',
`item_name` varchar(100) DEFAULT NULL COMMENT '物料名称',
`specification` varchar(200) DEFAULT NULL COMMENT '规格型号',
`unit_name` varchar(20) DEFAULT NULL COMMENT '计量单位',
`warehouse_id` bigint NOT NULL COMMENT '仓库ID',
`warehouse_code` varchar(32) DEFAULT NULL COMMENT '仓库编码',
`warehouse_name` varchar(50) DEFAULT NULL COMMENT '仓库名称',
`location_id` bigint DEFAULT NULL COMMENT '库区ID',
`area_id` bigint DEFAULT NULL COMMENT '库位ID',
`batch_no` varchar(50) DEFAULT NULL COMMENT '批次号',
`quantity_on_hand` decimal(18,4) NOT NULL DEFAULT 0 COMMENT '在库数量',
`quantity_locked` decimal(18,4) NOT NULL DEFAULT 0 COMMENT '锁定数量',
`quantity_available` decimal(18,4) NOT NULL DEFAULT 0 COMMENT '可用数量',
`unit_cost` decimal(18,4) DEFAULT 0 COMMENT '单位成本',
`expire_date` date DEFAULT NULL COMMENT '有效期',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`stock_id`),
UNIQUE KEY `uk_stock` (`item_id`, `warehouse_id`, `location_id`, `area_id`, `batch_no`, `tenant_id`),
KEY `idx_stock_item` (`item_id`),
KEY `idx_stock_warehouse` (`warehouse_id`),
KEY `idx_stock_tenant` (`tenant_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='库存表';
-- ---------------------------------------------------
-- 3.5 入库单表头 (wm_item_recpt)
-- ---------------------------------------------------
DROP TABLE IF EXISTS `erp_wm_item_recpt`;
CREATE TABLE `erp_wm_item_recpt` (
`recpt_id` bigint NOT NULL AUTO_INCREMENT COMMENT '入库单ID',
`tenant_id` varchar(20) NOT NULL COMMENT '租户ID',
`recpt_code` varchar(32) NOT NULL COMMENT '入库单编码',
`recpt_name` varchar(100) DEFAULT NULL COMMENT '入库单名称',
`recpt_date` date NOT NULL COMMENT '入库日期',
`status` varchar(20) NOT NULL DEFAULT 'DRAFT' COMMENT '状态',
`source_doc_type` varchar(20) DEFAULT NULL COMMENT '来源单据类型',
`source_doc_id` bigint DEFAULT NULL COMMENT '来源单据ID',
`source_doc_code` varchar(32) DEFAULT NULL COMMENT '来源单据编码',
`vendor_id` bigint DEFAULT NULL COMMENT '供应商ID',
`vendor_code` varchar(32) DEFAULT NULL COMMENT '供应商编码',
`vendor_name` varchar(100) DEFAULT NULL COMMENT '供应商名称',
`warehouse_id` bigint NOT NULL COMMENT '仓库ID',
`warehouse_code` varchar(32) DEFAULT NULL COMMENT '仓库编码',
`warehouse_name` varchar(50) DEFAULT NULL COMMENT '仓库名称',
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
`operator_id` bigint DEFAULT NULL COMMENT '操作员ID',
`operator_name` varchar(50) DEFAULT NULL COMMENT '操作员名称',
`approver_id` bigint DEFAULT NULL COMMENT '审核员ID',
`approver_name` varchar(50) DEFAULT NULL COMMENT '审核员名称',
`approve_date` datetime DEFAULT NULL COMMENT '审核日期',
`del_flag` char(1) NOT NULL DEFAULT '0' COMMENT '删除标志',
`create_by` varchar(64) DEFAULT NULL COMMENT '创建者',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_by` varchar(64) DEFAULT NULL COMMENT '更新者',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`recpt_id`),
UNIQUE KEY `uk_recpt_code` (`recpt_code`, `tenant_id`),
KEY `idx_recpt_warehouse` (`warehouse_id`),
KEY `idx_recpt_date` (`recpt_date`),
KEY `idx_recpt_tenant` (`tenant_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='入库单表头';
-- ---------------------------------------------------
-- 3.6 入库单明细 (wm_item_recpt_line)
-- ---------------------------------------------------
DROP TABLE IF EXISTS `erp_wm_item_recpt_line`;
CREATE TABLE `erp_wm_item_recpt_line` (
`line_id` bigint NOT NULL AUTO_INCREMENT COMMENT '明细ID',
`recpt_id` bigint NOT NULL COMMENT '入库单ID',
`recpt_code` varchar(32) NOT NULL COMMENT '入库单编码',
`line_no` int NOT NULL COMMENT '行号',
`item_id` bigint NOT NULL COMMENT '物料ID',
`item_code` varchar(32) NOT NULL COMMENT '物料编码',
`item_name` varchar(100) NOT NULL COMMENT '物料名称',
`specification` varchar(200) DEFAULT NULL COMMENT '规格型号',
`unit_name` varchar(20) DEFAULT NULL COMMENT '计量单位',
`location_id` bigint DEFAULT NULL COMMENT '库区ID',
`area_id` bigint DEFAULT NULL COMMENT '库位ID',
`batch_no` varchar(50) DEFAULT NULL COMMENT '批次号',
`quantity` decimal(18,4) NOT NULL DEFAULT 0 COMMENT '入库数量',
`unit_price` decimal(18,4) DEFAULT 0 COMMENT '单价',
`amount` decimal(18,2) DEFAULT 0 COMMENT '金额',
`remark` varchar(200) DEFAULT NULL COMMENT '备注',
`del_flag` char(1) NOT NULL DEFAULT '0' COMMENT '删除标志',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`tenant_id` varchar(20) NOT NULL COMMENT '租户ID',
PRIMARY KEY (`line_id`),
KEY `idx_recpt_line_recpt` (`recpt_id`),
KEY `idx_recpt_line_item` (`item_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='入库单明细';
-- ---------------------------------------------------
-- 3.7 出库单表头 (wm_issue)
-- ---------------------------------------------------
DROP TABLE IF EXISTS `erp_wm_issue`;
CREATE TABLE `erp_wm_issue` (
`issue_id` bigint NOT NULL AUTO_INCREMENT COMMENT '出库单ID',
`tenant_id` varchar(20) NOT NULL COMMENT '租户ID',
`issue_code` varchar(32) NOT NULL COMMENT '出库单编码',
`issue_name` varchar(100) DEFAULT NULL COMMENT '出库单名称',
`issue_date` date NOT NULL COMMENT '出库日期',
`status` varchar(20) NOT NULL DEFAULT 'DRAFT' COMMENT '状态',
`source_doc_type` varchar(20) DEFAULT NULL COMMENT '来源单据类型',
`source_doc_id` bigint DEFAULT NULL COMMENT '来源单据ID',
`source_doc_code` varchar(32) DEFAULT NULL COMMENT '来源单据编码',
`warehouse_id` bigint NOT NULL COMMENT '仓库ID',
`warehouse_code` varchar(32) DEFAULT NULL COMMENT '仓库编码',
`warehouse_name` varchar(50) DEFAULT NULL COMMENT '仓库名称',
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
`operator_id` bigint DEFAULT NULL COMMENT '操作员ID',
`operator_name` varchar(50) DEFAULT NULL COMMENT '操作员名称',
`approver_id` bigint DEFAULT NULL COMMENT '审核员ID',
`approver_name` varchar(50) DEFAULT NULL COMMENT '审核员名称',
`approve_date` datetime DEFAULT NULL COMMENT '审核日期',
`del_flag` char(1) NOT NULL DEFAULT '0' COMMENT '删除标志',
`create_by` varchar(64) DEFAULT NULL COMMENT '创建者',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_by` varchar(64) DEFAULT NULL COMMENT '更新者',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`issue_id`),
UNIQUE KEY `uk_issue_code` (`issue_code`, `tenant_id`),
KEY `idx_issue_warehouse` (`warehouse_id`),
KEY `idx_issue_date` (`issue_date`),
KEY `idx_issue_tenant` (`tenant_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='出库单表头';
-- ---------------------------------------------------
-- 3.8 出库单明细 (wm_issue_line)
-- ---------------------------------------------------
DROP TABLE IF EXISTS `erp_wm_issue_line`;
CREATE TABLE `erp_wm_issue_line` (
`line_id` bigint NOT NULL AUTO_INCREMENT COMMENT '明细ID',
`issue_id` bigint NOT NULL COMMENT '出库单ID',
`issue_code` varchar(32) NOT NULL COMMENT '出库单编码',
`line_no` int NOT NULL COMMENT '行号',
`item_id` bigint NOT NULL COMMENT '物料ID',
`item_code` varchar(32) NOT NULL COMMENT '物料编码',
`item_name` varchar(100) NOT NULL COMMENT '物料名称',
`specification` varchar(200) DEFAULT NULL COMMENT '规格型号',
`unit_name` varchar(20) DEFAULT NULL COMMENT '计量单位',
`location_id` bigint DEFAULT NULL COMMENT '库区ID',
`area_id` bigint DEFAULT NULL COMMENT '库位ID',
`batch_no` varchar(50) DEFAULT NULL COMMENT '批次号',
`quantity` decimal(18,4) NOT NULL DEFAULT 0 COMMENT '出库数量',
`unit_price` decimal(18,4) DEFAULT 0 COMMENT '单价',
`amount` decimal(18,2) DEFAULT 0 COMMENT '金额',
`remark` varchar(200) DEFAULT NULL COMMENT '备注',
`del_flag` char(1) NOT NULL DEFAULT '0' COMMENT '删除标志',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`tenant_id` varchar(20) NOT NULL COMMENT '租户ID',
PRIMARY KEY (`line_id`),
KEY `idx_issue_line_issue` (`issue_id`),
KEY `idx_issue_line_item` (`item_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='出库单明细';
-- =====================================================
-- 第四部分: 销售管理表 (Sales)
-- =====================================================
-- ---------------------------------------------------
-- 说明: 客户档案表使用 md_client已合并 erp_sl_client 的字段
-- ---------------------------------------------------
-- 4.2 销售合同表头 (sl_contract)
-- ---------------------------------------------------
DROP TABLE IF EXISTS `erp_sl_contract`;
CREATE TABLE `erp_sl_contract` (
`contract_id` bigint NOT NULL AUTO_INCREMENT COMMENT '合同ID',
`tenant_id` varchar(20) NOT NULL COMMENT '租户ID',
`contract_code` varchar(32) NOT NULL COMMENT '合同编码',
`contract_name` varchar(100) DEFAULT NULL COMMENT '合同名称',
`contract_date` date NOT NULL COMMENT '合同日期',
`status` varchar(20) NOT NULL DEFAULT 'DRAFT' COMMENT '状态',
`client_id` bigint NOT NULL COMMENT '客户ID',
`client_code` varchar(32) DEFAULT NULL COMMENT '客户编码',
`client_name` varchar(100) DEFAULT NULL COMMENT '客户名称',
`delivery_date` date DEFAULT NULL COMMENT '交货日期',
`total_amount` decimal(18,2) DEFAULT 0 COMMENT '合同总金额',
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
`operator_id` bigint DEFAULT NULL COMMENT '操作员ID',
`operator_name` varchar(50) DEFAULT NULL COMMENT '操作员名称',
`approver_id` bigint DEFAULT NULL COMMENT '审核员ID',
`approver_name` varchar(50) DEFAULT NULL COMMENT '审核员名称',
`approve_date` datetime DEFAULT NULL COMMENT '审核日期',
`del_flag` char(1) NOT NULL DEFAULT '0' COMMENT '删除标志',
`create_by` varchar(64) DEFAULT NULL COMMENT '创建者',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_by` varchar(64) DEFAULT NULL COMMENT '更新者',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`contract_id`),
UNIQUE KEY `uk_contract_code` (`contract_code`, `tenant_id`),
KEY `idx_contract_client` (`client_id`),
KEY `idx_contract_date` (`contract_date`),
KEY `idx_contract_tenant` (`tenant_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='销售合同表头';
-- ---------------------------------------------------
-- 4.3 销售合同明细 (sl_contract_line)
-- ---------------------------------------------------
DROP TABLE IF EXISTS `erp_sl_contract_line`;
CREATE TABLE `erp_sl_contract_line` (
`line_id` bigint NOT NULL AUTO_INCREMENT COMMENT '明细ID',
`contract_id` bigint NOT NULL COMMENT '合同ID',
`contract_code` varchar(32) NOT NULL COMMENT '合同编码',
`line_no` int NOT NULL COMMENT '行号',
`item_id` bigint NOT NULL COMMENT '物料ID',
`item_code` varchar(32) NOT NULL COMMENT '物料编码',
`item_name` varchar(100) NOT NULL COMMENT '物料名称',
`specification` varchar(200) DEFAULT NULL COMMENT '规格型号',
`unit_name` varchar(20) DEFAULT NULL COMMENT '计量单位',
`quantity` decimal(18,4) NOT NULL DEFAULT 0 COMMENT '数量',
`unit_price` decimal(18,4) DEFAULT 0 COMMENT '单价',
`amount` decimal(18,2) DEFAULT 0 COMMENT '金额',
`remark` varchar(200) DEFAULT NULL COMMENT '备注',
`del_flag` char(1) NOT NULL DEFAULT '0' COMMENT '删除标志',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`tenant_id` varchar(20) NOT NULL COMMENT '租户ID',
PRIMARY KEY (`line_id`),
KEY `idx_contract_line_contract` (`contract_id`),
KEY `idx_contract_line_item` (`item_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='销售合同明细';
-- ---------------------------------------------------
-- 4.4 销售订单表头 (sl_order)
-- ---------------------------------------------------
DROP TABLE IF EXISTS `erp_sl_order`;
CREATE TABLE `erp_sl_order` (
`order_id` bigint NOT NULL AUTO_INCREMENT COMMENT '订单ID',
`tenant_id` varchar(20) NOT NULL COMMENT '租户ID',
`order_code` varchar(32) NOT NULL COMMENT '订单编码',
`order_name` varchar(100) DEFAULT NULL COMMENT '订单名称',
`order_date` date NOT NULL COMMENT '订单日期',
`status` varchar(20) NOT NULL DEFAULT 'DRAFT' COMMENT '单据状态',
`business_status` varchar(20) DEFAULT 'NORMAL' COMMENT '业务状态',
`order_type` varchar(20) DEFAULT NULL COMMENT '订单类型',
`contract_id` bigint DEFAULT NULL COMMENT '合同ID',
`contract_code` varchar(32) DEFAULT NULL COMMENT '合同编码',
`client_id` bigint NOT NULL COMMENT '客户ID',
`client_code` varchar(32) DEFAULT NULL COMMENT '客户编码',
`client_name` varchar(100) DEFAULT NULL COMMENT '客户名称',
`sales_user_id` bigint DEFAULT NULL COMMENT '销售员ID',
`sales_user_name` varchar(50) DEFAULT NULL COMMENT '销售员名称',
`dept_id` bigint DEFAULT NULL COMMENT '部门ID',
`dept_name` varchar(50) DEFAULT NULL COMMENT '部门名称',
`delivery_date` date DEFAULT NULL COMMENT '交货日期',
`delivery_address` varchar(200) DEFAULT NULL COMMENT '收货地址',
`total_quantity` decimal(18,4) DEFAULT 0 COMMENT '总数量',
`total_amount` decimal(18,2) DEFAULT 0 COMMENT '总金额',
`delivered_quantity` decimal(18,4) DEFAULT 0 COMMENT '已发货数量',
`delivered_amount` decimal(18,2) DEFAULT 0 COMMENT '已发货金额',
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
`operator_id` bigint DEFAULT NULL COMMENT '操作员ID',
`operator_name` varchar(50) DEFAULT NULL COMMENT '操作员名称',
`approver_id` bigint DEFAULT NULL COMMENT '审核员ID',
`approver_name` varchar(50) DEFAULT NULL COMMENT '审核员名称',
`approve_date` datetime DEFAULT NULL COMMENT '审核日期',
`del_flag` char(1) NOT NULL DEFAULT '0' COMMENT '删除标志',
`create_by` varchar(64) DEFAULT NULL COMMENT '创建者',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_by` varchar(64) DEFAULT NULL COMMENT '更新者',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`order_id`),
UNIQUE KEY `uk_sl_order_code` (`order_code`, `tenant_id`),
KEY `idx_sl_order_client` (`client_id`),
KEY `idx_sl_order_date` (`order_date`),
KEY `idx_sl_order_status` (`status`),
KEY `idx_sl_order_delivery` (`delivery_date`),
KEY `idx_sl_order_tenant` (`tenant_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='销售订单表头';
-- ---------------------------------------------------
-- 4.5 销售订单明细 (sl_order_line)
-- ---------------------------------------------------
DROP TABLE IF EXISTS `erp_sl_order_line`;
CREATE TABLE `erp_sl_order_line` (
`line_id` bigint NOT NULL AUTO_INCREMENT COMMENT '明细ID',
`order_id` bigint NOT NULL COMMENT '订单ID',
`order_code` varchar(32) NOT NULL COMMENT '订单编码',
`line_no` int NOT NULL COMMENT '行号',
`track_code` varchar(32) DEFAULT NULL COMMENT '跟单编号',
`contract_line_id` bigint DEFAULT NULL COMMENT '合同明细ID',
`item_id` bigint NOT NULL COMMENT '物料ID',
`item_code` varchar(32) NOT NULL COMMENT '物料编码',
`item_name` varchar(100) NOT NULL COMMENT '物料名称',
`specification` varchar(200) DEFAULT NULL COMMENT '规格型号',
`unit_id` bigint DEFAULT NULL COMMENT '计量单位ID',
`unit_name` varchar(20) DEFAULT NULL COMMENT '计量单位',
`quantity` decimal(18,4) NOT NULL DEFAULT 0 COMMENT '订单数量',
`unit_price` decimal(18,4) DEFAULT 0 COMMENT '单价',
`amount` decimal(18,2) DEFAULT 0 COMMENT '金额',
`delivered_qty` decimal(18,4) DEFAULT 0 COMMENT '已发货数量',
`quality_req` varchar(200) DEFAULT NULL COMMENT '质量要求',
`remark` varchar(200) DEFAULT NULL COMMENT '备注',
`del_flag` char(1) NOT NULL DEFAULT '0' COMMENT '删除标志',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`tenant_id` varchar(20) NOT NULL COMMENT '租户ID',
PRIMARY KEY (`line_id`),
KEY `idx_sl_order_line_order` (`order_id`),
KEY `idx_sl_order_line_item` (`item_id`),
KEY `idx_sl_order_line_track` (`track_code`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='销售订单明细';
-- ---------------------------------------------------
-- 4.6 发货单表头 (sl_deliver)
-- ---------------------------------------------------
DROP TABLE IF EXISTS `erp_sl_deliver`;
CREATE TABLE `erp_sl_deliver` (
`deliver_id` bigint NOT NULL AUTO_INCREMENT COMMENT '发货单ID',
`tenant_id` varchar(20) NOT NULL COMMENT '租户ID',
`deliver_code` varchar(32) NOT NULL COMMENT '发货单编码',
`deliver_name` varchar(100) DEFAULT NULL COMMENT '发货单名称',
`deliver_date` date NOT NULL COMMENT '发货日期',
`status` varchar(20) NOT NULL DEFAULT 'DRAFT' COMMENT '状态',
`order_id` bigint DEFAULT NULL COMMENT '销售订单ID',
`order_code` varchar(32) DEFAULT NULL COMMENT '销售订单编码',
`client_id` bigint NOT NULL COMMENT '客户ID',
`client_code` varchar(32) DEFAULT NULL COMMENT '客户编码',
`client_name` varchar(100) DEFAULT NULL COMMENT '客户名称',
`warehouse_id` bigint DEFAULT NULL COMMENT '发货仓库ID',
`warehouse_name` varchar(50) DEFAULT NULL COMMENT '仓库名称',
`delivery_address` varchar(200) DEFAULT NULL COMMENT '收货地址',
`total_quantity` decimal(18,4) DEFAULT 0 COMMENT '总数量',
`total_amount` decimal(18,2) DEFAULT 0 COMMENT '总金额',
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
`operator_id` bigint DEFAULT NULL COMMENT '操作员ID',
`operator_name` varchar(50) DEFAULT NULL COMMENT '操作员名称',
`approver_id` bigint DEFAULT NULL COMMENT '审核员ID',
`approver_name` varchar(50) DEFAULT NULL COMMENT '审核员名称',
`approve_date` datetime DEFAULT NULL COMMENT '审核日期',
`del_flag` char(1) NOT NULL DEFAULT '0' COMMENT '删除标志',
`create_by` varchar(64) DEFAULT NULL COMMENT '创建者',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_by` varchar(64) DEFAULT NULL COMMENT '更新者',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`deliver_id`),
UNIQUE KEY `uk_deliver_code` (`deliver_code`, `tenant_id`),
KEY `idx_deliver_order` (`order_id`),
KEY `idx_deliver_client` (`client_id`),
KEY `idx_deliver_date` (`deliver_date`),
KEY `idx_deliver_tenant` (`tenant_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='发货单表头';
-- ---------------------------------------------------
-- 4.7 发货单明细 (sl_deliver_line)
-- ---------------------------------------------------
DROP TABLE IF EXISTS `erp_sl_deliver_line`;
CREATE TABLE `erp_sl_deliver_line` (
`line_id` bigint NOT NULL AUTO_INCREMENT COMMENT '明细ID',
`deliver_id` bigint NOT NULL COMMENT '发货单ID',
`deliver_code` varchar(32) NOT NULL COMMENT '发货单编码',
`line_no` int NOT NULL COMMENT '行号',
`order_id` bigint DEFAULT NULL COMMENT '销售订单ID',
`order_line_id` bigint DEFAULT NULL COMMENT '订单明细ID',
`track_code` varchar(32) DEFAULT NULL COMMENT '跟单编号',
`item_id` bigint NOT NULL COMMENT '物料ID',
`item_code` varchar(32) NOT NULL COMMENT '物料编码',
`item_name` varchar(100) NOT NULL COMMENT '物料名称',
`specification` varchar(200) DEFAULT NULL COMMENT '规格型号',
`unit_name` varchar(20) DEFAULT NULL COMMENT '计量单位',
`order_qty` decimal(18,4) DEFAULT 0 COMMENT '订单数量',
`delivered_qty` decimal(18,4) DEFAULT 0 COMMENT '已发数量',
`deliver_qty` decimal(18,4) NOT NULL DEFAULT 0 COMMENT '本次发货数量',
`unit_price` decimal(18,4) DEFAULT 0 COMMENT '单价',
`amount` decimal(18,2) DEFAULT 0 COMMENT '金额',
`remark` varchar(200) DEFAULT NULL COMMENT '备注',
`del_flag` char(1) NOT NULL DEFAULT '0' COMMENT '删除标志',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`tenant_id` varchar(20) NOT NULL COMMENT '租户ID',
PRIMARY KEY (`line_id`),
KEY `idx_deliver_line_deliver` (`deliver_id`),
KEY `idx_deliver_line_order` (`order_id`),
KEY `idx_deliver_line_item` (`item_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='发货单明细';
-- ---------------------------------------------------
-- 4.8 销售发票表头 (sl_invoice)
-- ---------------------------------------------------
DROP TABLE IF EXISTS `erp_sl_invoice`;
CREATE TABLE `erp_sl_invoice` (
`invoice_id` bigint NOT NULL AUTO_INCREMENT COMMENT '发票ID',
`tenant_id` varchar(20) NOT NULL COMMENT '租户ID',
`invoice_code` varchar(32) NOT NULL COMMENT '发票单据编码',
`invoice_date` date NOT NULL COMMENT '发票日期',
`status` varchar(20) NOT NULL DEFAULT 'DRAFT' COMMENT '状态',
`finance_status` varchar(20) DEFAULT 'RECORDED' COMMENT '财务状态',
`client_id` bigint NOT NULL COMMENT '客户ID',
`client_code` varchar(32) DEFAULT NULL COMMENT '客户编码',
`client_name` varchar(100) DEFAULT NULL COMMENT '客户名称',
`invoice_title` varchar(100) DEFAULT NULL COMMENT '开票名称',
`invoice_no` varchar(50) DEFAULT NULL COMMENT '发票号码',
`invoice_type` varchar(20) DEFAULT NULL COMMENT '发票类型',
`bank_name` varchar(100) DEFAULT NULL COMMENT '开户行',
`bank_account` varchar(30) DEFAULT NULL COMMENT '银行账号',
`tax_no` varchar(30) DEFAULT NULL COMMENT '税号',
`tax_rate` decimal(5,2) DEFAULT 0 COMMENT '税率(%)',
`invoice_amount` decimal(18,2) DEFAULT 0 COMMENT '发票金额(不含税)',
`tax_amount` decimal(18,2) DEFAULT 0 COMMENT '税额',
`total_amount` decimal(18,2) DEFAULT 0 COMMENT '价税合计',
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
`operator_id` bigint DEFAULT NULL COMMENT '操作员ID',
`operator_name` varchar(50) DEFAULT NULL COMMENT '操作员名称',
`approver_id` bigint DEFAULT NULL COMMENT '审核员ID',
`approver_name` varchar(50) DEFAULT NULL COMMENT '审核员名称',
`approve_date` datetime DEFAULT NULL COMMENT '审核日期',
`del_flag` char(1) NOT NULL DEFAULT '0' COMMENT '删除标志',
`create_by` varchar(64) DEFAULT NULL COMMENT '创建者',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_by` varchar(64) DEFAULT NULL COMMENT '更新者',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`invoice_id`),
UNIQUE KEY `uk_sl_invoice_code` (`invoice_code`, `tenant_id`),
KEY `idx_sl_invoice_client` (`client_id`),
KEY `idx_sl_invoice_date` (`invoice_date`),
KEY `idx_sl_invoice_tenant` (`tenant_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='销售发票表头';
-- ---------------------------------------------------
-- 4.9 销售发票明细 (sl_invoice_line)
-- ---------------------------------------------------
DROP TABLE IF EXISTS `erp_sl_invoice_line`;
CREATE TABLE `erp_sl_invoice_line` (
`line_id` bigint NOT NULL AUTO_INCREMENT COMMENT '明细ID',
`invoice_id` bigint NOT NULL COMMENT '发票ID',
`invoice_code` varchar(32) NOT NULL COMMENT '发票单据编码',
`line_no` int NOT NULL COMMENT '行号',
`deliver_id` bigint DEFAULT NULL COMMENT '发货单ID',
`deliver_line_id` bigint DEFAULT NULL COMMENT '发货明细ID',
`item_id` bigint NOT NULL COMMENT '物料ID',
`item_code` varchar(32) NOT NULL COMMENT '物料编码',
`item_name` varchar(100) NOT NULL COMMENT '物料名称',
`specification` varchar(200) DEFAULT NULL COMMENT '规格型号',
`unit_name` varchar(20) DEFAULT NULL COMMENT '计量单位',
`quantity` decimal(18,4) NOT NULL DEFAULT 0 COMMENT '开票数量',
`unit_price` decimal(18,4) DEFAULT 0 COMMENT '单价',
`amount` decimal(18,2) DEFAULT 0 COMMENT '金额',
`tax_amount` decimal(18,2) DEFAULT 0 COMMENT '税额',
`remark` varchar(200) DEFAULT NULL COMMENT '备注',
`del_flag` char(1) NOT NULL DEFAULT '0' COMMENT '删除标志',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`tenant_id` varchar(20) NOT NULL COMMENT '租户ID',
PRIMARY KEY (`line_id`),
KEY `idx_sl_invoice_line_invoice` (`invoice_id`),
KEY `idx_sl_invoice_line_deliver` (`deliver_id`),
KEY `idx_sl_invoice_line_item` (`item_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='销售发票明细';
-- ---------------------------------------------------
-- 4.10 销售退货单表头 (sl_saleback)
-- ---------------------------------------------------
DROP TABLE IF EXISTS `erp_sl_saleback`;
CREATE TABLE `erp_sl_saleback` (
`saleback_id` bigint NOT NULL AUTO_INCREMENT COMMENT '退货单ID',
`tenant_id` varchar(20) NOT NULL COMMENT '租户ID',
`saleback_code` varchar(32) NOT NULL COMMENT '退货单编码',
`saleback_date` date NOT NULL COMMENT '退货日期',
`status` varchar(20) NOT NULL DEFAULT 'DRAFT' COMMENT '状态',
`order_id` bigint DEFAULT NULL COMMENT '原销售订单ID',
`order_code` varchar(32) DEFAULT NULL COMMENT '原销售订单编码',
`client_id` bigint NOT NULL COMMENT '客户ID',
`client_code` varchar(32) DEFAULT NULL COMMENT '客户编码',
`client_name` varchar(100) DEFAULT NULL COMMENT '客户名称',
`warehouse_id` bigint DEFAULT NULL COMMENT '退货仓库ID',
`warehouse_name` varchar(50) DEFAULT NULL COMMENT '仓库名称',
`total_quantity` decimal(18,4) DEFAULT 0 COMMENT '总数量',
`reason` varchar(500) DEFAULT NULL COMMENT '退货原因',
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
`operator_id` bigint DEFAULT NULL COMMENT '操作员ID',
`operator_name` varchar(50) DEFAULT NULL COMMENT '操作员名称',
`approver_id` bigint DEFAULT NULL COMMENT '审核员ID',
`approver_name` varchar(50) DEFAULT NULL COMMENT '审核员名称',
`approve_date` datetime DEFAULT NULL COMMENT '审核日期',
`del_flag` char(1) NOT NULL DEFAULT '0' COMMENT '删除标志',
`create_by` varchar(64) DEFAULT NULL COMMENT '创建者',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_by` varchar(64) DEFAULT NULL COMMENT '更新者',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`saleback_id`),
UNIQUE KEY `uk_saleback_code` (`saleback_code`, `tenant_id`),
KEY `idx_saleback_order` (`order_id`),
KEY `idx_saleback_client` (`client_id`),
KEY `idx_saleback_date` (`saleback_date`),
KEY `idx_saleback_tenant` (`tenant_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='销售退货单表头';
-- ---------------------------------------------------
-- 4.11 销售退货单明细 (sl_saleback_line)
-- ---------------------------------------------------
DROP TABLE IF EXISTS `erp_sl_saleback_line`;
CREATE TABLE `erp_sl_saleback_line` (
`line_id` bigint NOT NULL AUTO_INCREMENT COMMENT '明细ID',
`saleback_id` bigint NOT NULL COMMENT '退货单ID',
`saleback_code` varchar(32) NOT NULL COMMENT '退货单编码',
`line_no` int NOT NULL COMMENT '行号',
`deliver_id` bigint DEFAULT NULL COMMENT '发货单ID',
`deliver_line_id` bigint DEFAULT NULL COMMENT '发货明细ID',
`item_id` bigint NOT NULL COMMENT '物料ID',
`item_code` varchar(32) NOT NULL COMMENT '物料编码',
`item_name` varchar(100) NOT NULL COMMENT '物料名称',
`specification` varchar(200) DEFAULT NULL COMMENT '规格型号',
`unit_name` varchar(20) DEFAULT NULL COMMENT '计量单位',
`delivered_qty` decimal(18,4) DEFAULT 0 COMMENT '已发数量',
`return_qty` decimal(18,4) NOT NULL DEFAULT 0 COMMENT '退货数量',
`reason` varchar(200) DEFAULT NULL COMMENT '退货原因',
`remark` varchar(200) DEFAULT NULL COMMENT '备注',
`del_flag` char(1) NOT NULL DEFAULT '0' COMMENT '删除标志',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`tenant_id` varchar(20) NOT NULL COMMENT '租户ID',
PRIMARY KEY (`line_id`),
KEY `idx_saleback_line_saleback` (`saleback_id`),
KEY `idx_saleback_line_deliver` (`deliver_id`),
KEY `idx_saleback_line_item` (`item_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='销售退货单明细';
-- =====================================================
-- 第五部分: 采购管理表 (Procurement)
-- =====================================================
-- ---------------------------------------------------
-- 5.1 供应商档案表 (po_supplier)
-- ---------------------------------------------------
DROP TABLE IF EXISTS `erp_po_supplier`;
CREATE TABLE `erp_po_supplier` (
`supplier_id` bigint NOT NULL AUTO_INCREMENT COMMENT '供应商ID',
`tenant_id` varchar(20) NOT NULL COMMENT '租户ID',
`supplier_code` varchar(32) NOT NULL COMMENT '供应商编码',
`supplier_name` varchar(100) NOT NULL COMMENT '供应商名称',
`supplier_alias` varchar(100) DEFAULT NULL COMMENT '供应商别名',
`supplier_nick` varchar(50) DEFAULT NULL COMMENT '供应商简称',
`supplier_type` varchar(20) DEFAULT NULL COMMENT '供应商分类',
`supplier_level` varchar(10) DEFAULT 'B' COMMENT '供应商等级(A/B/C/D)',
`province` varchar(50) DEFAULT NULL COMMENT '省份',
`city` varchar(50) DEFAULT NULL COMMENT '城市',
`address` varchar(200) DEFAULT NULL COMMENT '公司地址',
`zip_code` varchar(10) DEFAULT NULL COMMENT '邮编',
`tel` varchar(20) DEFAULT NULL COMMENT '电话',
`fax` varchar(20) DEFAULT NULL COMMENT '传真',
`email` varchar(100) DEFAULT NULL COMMENT '邮箱',
`website` varchar(200) DEFAULT NULL COMMENT '网址',
`contact1` varchar(50) DEFAULT NULL COMMENT '业务联系人',
`contact1_tel` varchar(20) DEFAULT NULL COMMENT '业务联系人电话',
`contact2` varchar(50) DEFAULT NULL COMMENT '财务联系人',
`contact2_tel` varchar(20) DEFAULT NULL COMMENT '财务联系人电话',
`bank_name` varchar(100) DEFAULT NULL COMMENT '开户银行',
`bank_account` varchar(30) DEFAULT NULL COMMENT '银行账号',
`bank_address` varchar(200) DEFAULT NULL COMMENT '开票地址电话',
`tax_no` varchar(30) DEFAULT NULL COMMENT '税号',
`supply_items` varchar(500) DEFAULT NULL COMMENT '供应料品(逗号分隔)',
`enable_flag` char(1) NOT NULL DEFAULT 'Y' COMMENT '启用状态(Y启用 N停用)',
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
`del_flag` char(1) NOT NULL DEFAULT '0' COMMENT '删除标志',
`create_by` varchar(64) DEFAULT NULL COMMENT '创建者',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_by` varchar(64) DEFAULT NULL COMMENT '更新者',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`supplier_id`),
UNIQUE KEY `uk_supplier_code` (`supplier_code`, `tenant_id`),
KEY `idx_supplier_name` (`supplier_name`),
KEY `idx_supplier_tenant` (`tenant_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='供应商档案表';
-- ---------------------------------------------------
-- 5.2 采购订单表头 (po_order)
-- ---------------------------------------------------
DROP TABLE IF EXISTS `erp_po_order`;
CREATE TABLE `erp_po_order` (
`order_id` bigint NOT NULL AUTO_INCREMENT COMMENT '订单ID',
`tenant_id` varchar(20) NOT NULL COMMENT '租户ID',
`order_code` varchar(32) NOT NULL COMMENT '订单编码',
`order_date` date NOT NULL COMMENT '订单日期',
`status` varchar(20) NOT NULL DEFAULT 'DRAFT' COMMENT '单据状态',
`business_status` varchar(20) DEFAULT 'NORMAL' COMMENT '业务状态',
`business_type` varchar(20) DEFAULT NULL COMMENT '业务类型',
`order_type` varchar(20) DEFAULT NULL COMMENT '单据类型',
`material_need` varchar(20) DEFAULT NULL COMMENT '用料需求',
`supplier_id` bigint DEFAULT NULL COMMENT '供应商ID',
`supplier_code` varchar(32) DEFAULT NULL COMMENT '供应商编码',
`supplier_name` varchar(100) DEFAULT NULL COMMENT '供应商名称',
`dept_id` bigint DEFAULT NULL COMMENT '采购部门ID',
`dept_name` varchar(50) DEFAULT NULL COMMENT '采购部门名称',
`user_id` bigint DEFAULT NULL COMMENT '采购人员ID',
`user_name` varchar(50) DEFAULT NULL COMMENT '采购人员名称',
`delivery_date` date DEFAULT NULL COMMENT '到货日期',
`contract_no` varchar(50) DEFAULT NULL COMMENT '合同号',
`contract_file` varchar(500) DEFAULT NULL COMMENT '合同附件',
`total_quantity` decimal(18,4) DEFAULT 0 COMMENT '总数量',
`total_amount` decimal(18,2) DEFAULT 0 COMMENT '总金额',
`arrived_quantity` decimal(18,4) DEFAULT 0 COMMENT '已到货数量',
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
`operator_id` bigint DEFAULT NULL COMMENT '操作员ID',
`operator_name` varchar(50) DEFAULT NULL COMMENT '操作员名称',
`approver_id` bigint DEFAULT NULL COMMENT '审核员ID',
`approver_name` varchar(50) DEFAULT NULL COMMENT '审核员名称',
`approve_date` datetime DEFAULT NULL COMMENT '审核日期',
`del_flag` char(1) NOT NULL DEFAULT '0' COMMENT '删除标志',
`create_by` varchar(64) DEFAULT NULL COMMENT '创建者',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_by` varchar(64) DEFAULT NULL COMMENT '更新者',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`order_id`),
UNIQUE KEY `uk_po_order_code` (`order_code`, `tenant_id`),
KEY `idx_po_order_supplier` (`supplier_id`),
KEY `idx_po_order_date` (`order_date`),
KEY `idx_po_order_status` (`status`),
KEY `idx_po_order_tenant` (`tenant_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='采购订单表头';
-- ---------------------------------------------------
-- 5.3 采购订单明细 (po_order_line)
-- ---------------------------------------------------
DROP TABLE IF EXISTS `erp_po_order_line`;
CREATE TABLE `erp_po_order_line` (
`line_id` bigint NOT NULL AUTO_INCREMENT COMMENT '明细ID',
`order_id` bigint NOT NULL COMMENT '订单ID',
`order_code` varchar(32) NOT NULL COMMENT '订单编码',
`line_no` int NOT NULL COMMENT '行号',
`track_code` varchar(32) DEFAULT NULL COMMENT '跟单编号',
`plan_code` varchar(32) DEFAULT NULL COMMENT '计划单号',
`plan_line_id` bigint DEFAULT NULL COMMENT '计划明细ID',
`item_id` bigint NOT NULL COMMENT '物料ID',
`item_code` varchar(32) NOT NULL COMMENT '物料编码',
`item_name` varchar(100) NOT NULL COMMENT '物料名称',
`specification` varchar(200) DEFAULT NULL COMMENT '型号规格',
`unit_id` bigint DEFAULT NULL COMMENT '计量单位ID',
`unit_name` varchar(20) DEFAULT NULL COMMENT '计量单位',
`need_date` date DEFAULT NULL COMMENT '需求日期',
`quantity` decimal(18,4) NOT NULL DEFAULT 0 COMMENT '采购数量',
`unit_price` decimal(18,4) DEFAULT 0 COMMENT '采购单价',
`amount` decimal(18,2) DEFAULT 0 COMMENT '金额',
`arrived_quantity` decimal(18,4) DEFAULT 0 COMMENT '已到货数量',
`remark` varchar(200) DEFAULT NULL COMMENT '采购说明',
`del_flag` char(1) NOT NULL DEFAULT '0' COMMENT '删除标志',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`tenant_id` varchar(20) NOT NULL COMMENT '租户ID',
PRIMARY KEY (`line_id`),
KEY `idx_po_order_line_order` (`order_id`),
KEY `idx_po_order_line_item` (`item_id`),
KEY `idx_po_order_line_track` (`track_code`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='采购订单明细';
-- ---------------------------------------------------
-- 5.4 采购到货单表头 (po_checkin)
-- ---------------------------------------------------
DROP TABLE IF EXISTS `erp_po_checkin`;
CREATE TABLE `erp_po_checkin` (
`checkin_id` bigint NOT NULL AUTO_INCREMENT COMMENT '到货单ID',
`tenant_id` varchar(20) NOT NULL COMMENT '租户ID',
`checkin_code` varchar(32) NOT NULL COMMENT '到货单编码',
`checkin_date` date NOT NULL COMMENT '到货日期',
`status` varchar(20) NOT NULL DEFAULT 'DRAFT' COMMENT '单据状态',
`business_type` varchar(20) DEFAULT NULL COMMENT '业务类型',
`order_id` bigint DEFAULT NULL COMMENT '采购订单ID',
`order_code` varchar(32) DEFAULT NULL COMMENT '采购订单编码',
`supplier_id` bigint DEFAULT NULL COMMENT '供应商ID',
`supplier_code` varchar(32) DEFAULT NULL COMMENT '供应商编码',
`supplier_name` varchar(100) DEFAULT NULL COMMENT '供应商名称',
`warehouse_id` bigint DEFAULT NULL COMMENT '仓库ID',
`warehouse_code` varchar(32) DEFAULT NULL COMMENT '仓库编码',
`warehouse_name` varchar(50) DEFAULT NULL COMMENT '仓库名称',
`total_quantity` decimal(18,4) DEFAULT 0 COMMENT '总到货数量',
`stocked_quantity` decimal(18,4) DEFAULT 0 COMMENT '已入库数量',
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
`operator_id` bigint DEFAULT NULL COMMENT '操作员ID',
`operator_name` varchar(50) DEFAULT NULL COMMENT '操作员名称',
`approver_id` bigint DEFAULT NULL COMMENT '审核员ID',
`approver_name` varchar(50) DEFAULT NULL COMMENT '审核员名称',
`approve_date` datetime DEFAULT NULL COMMENT '审核日期',
`del_flag` char(1) NOT NULL DEFAULT '0' COMMENT '删除标志',
`create_by` varchar(64) DEFAULT NULL COMMENT '创建者',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_by` varchar(64) DEFAULT NULL COMMENT '更新者',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`checkin_id`),
UNIQUE KEY `uk_checkin_code` (`checkin_code`, `tenant_id`),
KEY `idx_checkin_order` (`order_id`),
KEY `idx_checkin_supplier` (`supplier_id`),
KEY `idx_checkin_date` (`checkin_date`),
KEY `idx_checkin_tenant` (`tenant_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='采购到货单表头';
-- ---------------------------------------------------
-- 5.5 采购到货单明细 (po_checkin_line)
-- ---------------------------------------------------
DROP TABLE IF EXISTS `erp_po_checkin_line`;
CREATE TABLE `erp_po_checkin_line` (
`line_id` bigint NOT NULL AUTO_INCREMENT COMMENT '明细ID',
`checkin_id` bigint NOT NULL COMMENT '到货单ID',
`checkin_code` varchar(32) NOT NULL COMMENT '到货单编码',
`line_no` int NOT NULL COMMENT '行号',
`order_line_id` bigint DEFAULT NULL COMMENT '采购订单明细ID',
`track_code` varchar(32) DEFAULT NULL COMMENT '跟单编号',
`item_id` bigint NOT NULL COMMENT '物料ID',
`item_code` varchar(32) NOT NULL COMMENT '物料编码',
`item_name` varchar(100) NOT NULL COMMENT '物料名称',
`specification` varchar(200) DEFAULT NULL COMMENT '型号规格',
`unit_name` varchar(20) DEFAULT NULL COMMENT '计量单位',
`order_quantity` decimal(18,4) DEFAULT 0 COMMENT '订单数量',
`quantity` decimal(18,4) NOT NULL DEFAULT 0 COMMENT '到货数量',
`stocked_quantity` decimal(18,4) DEFAULT 0 COMMENT '已入库数量',
`remark` varchar(200) DEFAULT NULL COMMENT '备注',
`del_flag` char(1) NOT NULL DEFAULT '0' COMMENT '删除标志',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`tenant_id` varchar(20) NOT NULL COMMENT '租户ID',
PRIMARY KEY (`line_id`),
KEY `idx_checkin_line_checkin` (`checkin_id`),
KEY `idx_checkin_line_order` (`order_line_id`),
KEY `idx_checkin_line_item` (`item_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='采购到货单明细';
-- ---------------------------------------------------
-- 5.6 采购发票表头 (po_invoice)
-- ---------------------------------------------------
DROP TABLE IF EXISTS `erp_po_invoice`;
CREATE TABLE `erp_po_invoice` (
`invoice_id` bigint NOT NULL AUTO_INCREMENT COMMENT '发票ID',
`tenant_id` varchar(20) NOT NULL COMMENT '租户ID',
`invoice_code` varchar(32) NOT NULL COMMENT '发票单据编码',
`invoice_date` date NOT NULL COMMENT '单据日期',
`status` varchar(20) NOT NULL DEFAULT 'DRAFT' COMMENT '单据状态',
`finance_status` varchar(20) DEFAULT 'RECORDED' COMMENT '财务状态',
`business_type` varchar(20) DEFAULT NULL COMMENT '业务类型',
`supplier_id` bigint NOT NULL COMMENT '供应商ID',
`supplier_code` varchar(32) DEFAULT NULL COMMENT '供应商编码',
`supplier_name` varchar(100) NOT NULL COMMENT '供应商名称',
`invoice_no` varchar(50) DEFAULT NULL COMMENT '发票号码',
`invoice_amount` decimal(18,2) NOT NULL DEFAULT 0 COMMENT '发票金额(不含税)',
`tax_rate` decimal(5,2) DEFAULT 0 COMMENT '税率(%)',
`tax_amount` decimal(18,2) DEFAULT 0 COMMENT '税额',
`total_amount` decimal(18,2) DEFAULT 0 COMMENT '价税合计',
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
`operator_id` bigint DEFAULT NULL COMMENT '操作员ID',
`operator_name` varchar(50) DEFAULT NULL COMMENT '操作员名称',
`approver_id` bigint DEFAULT NULL COMMENT '审核员ID',
`approver_name` varchar(50) DEFAULT NULL COMMENT '审核员名称',
`approve_date` datetime DEFAULT NULL COMMENT '审核日期',
`del_flag` char(1) NOT NULL DEFAULT '0' COMMENT '删除标志',
`create_by` varchar(64) DEFAULT NULL COMMENT '创建者',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_by` varchar(64) DEFAULT NULL COMMENT '更新者',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`invoice_id`),
UNIQUE KEY `uk_po_invoice_code` (`invoice_code`, `tenant_id`),
KEY `idx_po_invoice_supplier` (`supplier_id`),
KEY `idx_po_invoice_date` (`invoice_date`),
KEY `idx_po_invoice_tenant` (`tenant_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='采购发票表头';
-- ---------------------------------------------------
-- 5.7 采购发票明细 (po_invoice_line)
-- ---------------------------------------------------
DROP TABLE IF EXISTS `erp_po_invoice_line`;
CREATE TABLE `erp_po_invoice_line` (
`line_id` bigint NOT NULL AUTO_INCREMENT COMMENT '明细ID',
`invoice_id` bigint NOT NULL COMMENT '发票ID',
`invoice_code` varchar(32) NOT NULL COMMENT '发票单据编码',
`line_no` int NOT NULL COMMENT '行号',
`checkin_line_id` bigint DEFAULT NULL COMMENT '到货明细ID',
`item_id` bigint NOT NULL COMMENT '物料ID',
`item_code` varchar(32) NOT NULL COMMENT '物料编码',
`item_name` varchar(100) NOT NULL COMMENT '物料名称',
`specification` varchar(200) DEFAULT NULL COMMENT '型号规格',
`unit_name` varchar(20) DEFAULT NULL COMMENT '计量单位',
`quantity` decimal(18,4) NOT NULL DEFAULT 0 COMMENT '开票数量',
`unit_price` decimal(18,4) DEFAULT 0 COMMENT '单价',
`amount` decimal(18,2) DEFAULT 0 COMMENT '金额',
`tax_amount` decimal(18,2) DEFAULT 0 COMMENT '税额',
`remark` varchar(200) DEFAULT NULL COMMENT '备注',
`del_flag` char(1) NOT NULL DEFAULT '0' COMMENT '删除标志',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`tenant_id` varchar(20) NOT NULL COMMENT '租户ID',
PRIMARY KEY (`line_id`),
KEY `idx_po_invoice_line_invoice` (`invoice_id`),
KEY `idx_po_invoice_line_checkin` (`checkin_line_id`),
KEY `idx_po_invoice_line_item` (`item_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='采购发票明细';
-- ---------------------------------------------------
-- 5.8 采购退货单表头 (po_reject)
-- ---------------------------------------------------
DROP TABLE IF EXISTS `erp_po_reject`;
CREATE TABLE `erp_po_reject` (
`reject_id` bigint NOT NULL AUTO_INCREMENT COMMENT '退货单ID',
`tenant_id` varchar(20) NOT NULL COMMENT '租户ID',
`reject_code` varchar(32) NOT NULL COMMENT '退货单编码',
`reject_date` date NOT NULL COMMENT '退货日期',
`status` varchar(20) NOT NULL DEFAULT 'DRAFT' COMMENT '单据状态',
`business_type` varchar(20) DEFAULT NULL COMMENT '业务类型',
`supplier_id` bigint NOT NULL COMMENT '供应商ID',
`supplier_code` varchar(32) DEFAULT NULL COMMENT '供应商编码',
`supplier_name` varchar(100) NOT NULL COMMENT '供应商名称',
`checkin_id` bigint DEFAULT NULL COMMENT '到货单ID',
`checkin_code` varchar(32) DEFAULT NULL COMMENT '到货单编码',
`total_quantity` decimal(18,4) DEFAULT 0 COMMENT '退货总数量',
`out_quantity` decimal(18,4) DEFAULT 0 COMMENT '已出库数量',
`return_quantity` decimal(18,4) DEFAULT 0 COMMENT '补收数量',
`reason` varchar(500) DEFAULT NULL COMMENT '退货原因',
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
`operator_id` bigint DEFAULT NULL COMMENT '操作员ID',
`operator_name` varchar(50) DEFAULT NULL COMMENT '操作员名称',
`approver_id` bigint DEFAULT NULL COMMENT '审核员ID',
`approver_name` varchar(50) DEFAULT NULL COMMENT '审核员名称',
`approve_date` datetime DEFAULT NULL COMMENT '审核日期',
`del_flag` char(1) NOT NULL DEFAULT '0' COMMENT '删除标志',
`create_by` varchar(64) DEFAULT NULL COMMENT '创建者',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_by` varchar(64) DEFAULT NULL COMMENT '更新者',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`reject_id`),
UNIQUE KEY `uk_reject_code` (`reject_code`, `tenant_id`),
KEY `idx_reject_supplier` (`supplier_id`),
KEY `idx_reject_checkin` (`checkin_id`),
KEY `idx_reject_date` (`reject_date`),
KEY `idx_reject_tenant` (`tenant_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='采购退货单表头';
-- ---------------------------------------------------
-- 5.9 采购退货单明细 (po_reject_line)
-- ---------------------------------------------------
DROP TABLE IF EXISTS `erp_po_reject_line`;
CREATE TABLE `erp_po_reject_line` (
`line_id` bigint NOT NULL AUTO_INCREMENT COMMENT '明细ID',
`reject_id` bigint NOT NULL COMMENT '退货单ID',
`reject_code` varchar(32) NOT NULL COMMENT '退货单编码',
`line_no` int NOT NULL COMMENT '行号',
`checkin_line_id` bigint DEFAULT NULL COMMENT '到货明细ID',
`track_code` varchar(32) DEFAULT NULL COMMENT '跟单编号',
`item_id` bigint NOT NULL COMMENT '物料ID',
`item_code` varchar(32) NOT NULL COMMENT '物料编码',
`item_name` varchar(100) NOT NULL COMMENT '物料名称',
`specification` varchar(200) DEFAULT NULL COMMENT '型号规格',
`unit_name` varchar(20) DEFAULT NULL COMMENT '计量单位',
`quantity` decimal(18,4) NOT NULL DEFAULT 0 COMMENT '退货数量',
`out_quantity` decimal(18,4) DEFAULT 0 COMMENT '已出库数量',
`return_quantity` decimal(18,4) DEFAULT 0 COMMENT '补收数量',
`reason` varchar(200) DEFAULT NULL COMMENT '退货原因',
`remark` varchar(200) DEFAULT NULL COMMENT '备注',
`del_flag` char(1) NOT NULL DEFAULT '0' COMMENT '删除标志',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`tenant_id` varchar(20) NOT NULL COMMENT '租户ID',
PRIMARY KEY (`line_id`),
KEY `idx_reject_line_reject` (`reject_id`),
KEY `idx_reject_line_checkin` (`checkin_line_id`),
KEY `idx_reject_line_item` (`item_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='采购退货单明细';
-- =====================================================
-- 第六部分: 生产计划表 (Manufacturing Planning)
-- =====================================================
-- ---------------------------------------------------
-- 6.1 生产计划单表头 (mp_plan)
-- ---------------------------------------------------
DROP TABLE IF EXISTS `erp_mp_plan`;
CREATE TABLE `erp_mp_plan` (
`plan_id` bigint NOT NULL AUTO_INCREMENT COMMENT '计划ID',
`tenant_id` varchar(20) NOT NULL COMMENT '租户ID',
`plan_code` varchar(32) NOT NULL COMMENT '计划单编码',
`plan_date` date NOT NULL COMMENT '计划日期',
`status` varchar(20) NOT NULL DEFAULT 'DRAFT' COMMENT '单据状态',
`business_status` varchar(20) DEFAULT 'NORMAL' COMMENT '业务状态',
`business_type` varchar(20) DEFAULT NULL COMMENT '业务类型',
`work_type` int NOT NULL DEFAULT 0 COMMENT '工作类型(0生产计划/1零部件计划/2零部件订单)',
`sales_order_id` bigint DEFAULT NULL COMMENT '销售订单ID',
`sales_order_code` varchar(32) DEFAULT NULL COMMENT '销售订单编码',
`sales_user_id` bigint DEFAULT NULL COMMENT '销售员ID',
`sales_user_name` varchar(50) DEFAULT NULL COMMENT '销售员名称',
`delivery_date` date DEFAULT NULL COMMENT '订单交期',
`bom_id` bigint DEFAULT NULL COMMENT 'BOM ID',
`bom_version` varchar(20) DEFAULT NULL COMMENT 'BOM版本号',
`bom_desc` varchar(200) DEFAULT NULL COMMENT 'BOM版本说明',
`total_quantity` decimal(18,4) DEFAULT 0 COMMENT '生产总量',
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
`operator_id` bigint DEFAULT NULL COMMENT '操作员ID',
`operator_name` varchar(50) DEFAULT NULL COMMENT '操作员名称',
`approver_id` bigint DEFAULT NULL COMMENT '审核员ID',
`approver_name` varchar(50) DEFAULT NULL COMMENT '审核员名称',
`approve_date` datetime DEFAULT NULL COMMENT '审核日期',
`del_flag` char(1) NOT NULL DEFAULT '0' COMMENT '删除标志',
`create_by` varchar(64) DEFAULT NULL COMMENT '创建者',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_by` varchar(64) DEFAULT NULL COMMENT '更新者',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`plan_id`),
UNIQUE KEY `uk_plan_code` (`plan_code`, `tenant_id`),
KEY `idx_plan_sales` (`sales_order_id`),
KEY `idx_plan_date` (`plan_date`),
KEY `idx_plan_status` (`status`),
KEY `idx_plan_work_type` (`work_type`),
KEY `idx_plan_tenant` (`tenant_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='生产计划单表头';
-- ---------------------------------------------------
-- 6.2 生产计划单明细 (mp_plan_line)
-- ---------------------------------------------------
DROP TABLE IF EXISTS `erp_mp_plan_line`;
CREATE TABLE `erp_mp_plan_line` (
`line_id` bigint NOT NULL AUTO_INCREMENT COMMENT '明细ID',
`plan_id` bigint NOT NULL COMMENT '计划ID',
`plan_code` varchar(32) NOT NULL COMMENT '计划单编码',
`line_no` int NOT NULL COMMENT '行号',
`sales_line_id` bigint DEFAULT NULL COMMENT '销售订单明细ID',
`track_code` varchar(32) DEFAULT NULL COMMENT '跟单编号',
`item_id` bigint NOT NULL COMMENT '物料ID',
`item_code` varchar(32) NOT NULL COMMENT '物料编码',
`item_name` varchar(100) NOT NULL COMMENT '物料名称',
`specification` varchar(200) DEFAULT NULL COMMENT '型号规格',
`unit_id` bigint DEFAULT NULL COMMENT '计量单位ID',
`unit_name` varchar(20) DEFAULT NULL COMMENT '计量单位',
`quantity` decimal(18,4) NOT NULL DEFAULT 0 COMMENT '生产数量',
`quality_req` varchar(200) DEFAULT NULL COMMENT '质量要求',
`remark` varchar(200) DEFAULT NULL COMMENT '备注',
`del_flag` char(1) NOT NULL DEFAULT '0' COMMENT '删除标志',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`tenant_id` varchar(20) NOT NULL COMMENT '租户ID',
PRIMARY KEY (`line_id`),
KEY `idx_plan_line_plan` (`plan_id`),
KEY `idx_plan_line_sales` (`sales_line_id`),
KEY `idx_plan_line_item` (`item_id`),
KEY `idx_plan_line_track` (`track_code`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='生产计划单明细';
-- ---------------------------------------------------
-- 6.3 物料清单表头 (mp_mbom)
-- ---------------------------------------------------
DROP TABLE IF EXISTS `erp_mp_mbom`;
CREATE TABLE `erp_mp_mbom` (
`mbom_id` bigint NOT NULL AUTO_INCREMENT COMMENT '物料清单ID',
`tenant_id` varchar(20) NOT NULL COMMENT '租户ID',
`mbom_code` varchar(32) NOT NULL COMMENT '物料清单编码',
`mbom_date` date NOT NULL COMMENT '单据日期',
`status` varchar(20) NOT NULL DEFAULT 'DRAFT' COMMENT '单据状态',
`business_type` varchar(20) DEFAULT NULL COMMENT '业务类型(BOM运算/生产补料)',
`issue_status` varchar(20) DEFAULT NULL COMMENT '下发状态',
`plan_id` bigint NOT NULL COMMENT '生产计划ID',
`plan_code` varchar(32) NOT NULL COMMENT '生产计划编码',
`sales_order_id` bigint DEFAULT NULL COMMENT '销售订单ID',
`sales_order_code` varchar(32) DEFAULT NULL COMMENT '销售订单编码',
`delivery_date` date DEFAULT NULL COMMENT '订单交期',
`item_id` bigint NOT NULL COMMENT '产品物料ID',
`item_code` varchar(32) NOT NULL COMMENT '产品物料编码',
`item_name` varchar(100) NOT NULL COMMENT '产品物料名称',
`unit_name` varchar(20) DEFAULT NULL COMMENT '计量单位',
`supply_type` varchar(20) DEFAULT NULL COMMENT '供应方式(PURCHASE采购/SELF_MADE自制/OUTSOURCE委外)',
`quantity` decimal(18,4) NOT NULL DEFAULT 0 COMMENT '生产数量',
`workshop_id` bigint DEFAULT NULL COMMENT '下发车间ID',
`workshop_name` varchar(50) DEFAULT NULL COMMENT '下发车间名称',
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
`operator_id` bigint DEFAULT NULL COMMENT '操作员ID',
`operator_name` varchar(50) DEFAULT NULL COMMENT '操作员名称',
`approver_id` bigint DEFAULT NULL COMMENT '审核员ID',
`approver_name` varchar(50) DEFAULT NULL COMMENT '审核员名称',
`approve_date` datetime DEFAULT NULL COMMENT '审核日期',
`del_flag` char(1) NOT NULL DEFAULT '0' COMMENT '删除标志',
`create_by` varchar(64) DEFAULT NULL COMMENT '创建者',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_by` varchar(64) DEFAULT NULL COMMENT '更新者',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`mbom_id`),
UNIQUE KEY `uk_mbom_code` (`mbom_code`, `tenant_id`),
KEY `idx_mbom_plan` (`plan_id`),
KEY `idx_mbom_sales` (`sales_order_id`),
KEY `idx_mbom_item` (`item_id`),
KEY `idx_mbom_date` (`mbom_date`),
KEY `idx_mbom_tenant` (`tenant_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='物料清单表头';
-- ---------------------------------------------------
-- 6.4 物料清单明细 (mp_mbom_line)
-- ---------------------------------------------------
DROP TABLE IF EXISTS `erp_mp_mbom_line`;
CREATE TABLE `erp_mp_mbom_line` (
`line_id` bigint NOT NULL AUTO_INCREMENT COMMENT '明细ID',
`mbom_id` bigint NOT NULL COMMENT '物料清单ID',
`mbom_code` varchar(32) NOT NULL COMMENT '物料清单编码',
`line_no` int NOT NULL COMMENT '行号',
`parent_item_id` bigint DEFAULT NULL COMMENT '父级物料ID',
`bom_level` int DEFAULT 1 COMMENT 'BOM层级',
`item_id` bigint NOT NULL COMMENT '子件物料ID',
`item_code` varchar(32) NOT NULL COMMENT '子件物料编码',
`item_name` varchar(100) NOT NULL COMMENT '子件物料名称',
`specification` varchar(200) DEFAULT NULL COMMENT '型号规格',
`unit_name` varchar(20) DEFAULT NULL COMMENT '计量单位',
`base_qty` decimal(18,6) DEFAULT 1 COMMENT '基本用量',
`quantity` decimal(18,4) NOT NULL DEFAULT 0 COMMENT '需求数量',
`loss_rate` decimal(5,2) DEFAULT 0 COMMENT '损耗率(%)',
`supply_type` varchar(20) DEFAULT NULL COMMENT '供应方式',
`remark` varchar(200) DEFAULT NULL COMMENT '备注',
`del_flag` char(1) NOT NULL DEFAULT '0' COMMENT '删除标志',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`tenant_id` varchar(20) NOT NULL COMMENT '租户ID',
PRIMARY KEY (`line_id`),
KEY `idx_mbom_line_mbom` (`mbom_id`),
KEY `idx_mbom_line_item` (`item_id`),
KEY `idx_mbom_line_parent` (`parent_item_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='物料清单明细';
-- ---------------------------------------------------
-- 6.5 采购计划单表 (mp_purchase)
-- ---------------------------------------------------
DROP TABLE IF EXISTS `erp_mp_purchase`;
CREATE TABLE `erp_mp_purchase` (
`purchase_id` bigint NOT NULL AUTO_INCREMENT COMMENT '采购计划ID',
`tenant_id` varchar(20) NOT NULL COMMENT '租户ID',
`purchase_code` varchar(32) NOT NULL COMMENT '采购计划编码',
`purchase_date` date NOT NULL COMMENT '计划日期',
`status` varchar(20) NOT NULL DEFAULT 'DRAFT' COMMENT '单据状态',
`need_type` int NOT NULL DEFAULT 0 COMMENT '需求方式(0订单用料/1库存备料)',
`plan_id` bigint DEFAULT NULL COMMENT '生产计划ID',
`plan_code` varchar(32) DEFAULT NULL COMMENT '生产计划编码',
`sales_order_id` bigint DEFAULT NULL COMMENT '销售订单ID',
`sales_order_code` varchar(32) DEFAULT NULL COMMENT '销售订单编码(跟单单号)',
`delivery_date` date DEFAULT NULL COMMENT '订单交期',
`item_id` bigint NOT NULL COMMENT '物料ID',
`item_code` varchar(32) NOT NULL COMMENT '物料编码',
`item_name` varchar(100) NOT NULL COMMENT '物料名称',
`specification` varchar(200) DEFAULT NULL COMMENT '型号规格',
`unit_name` varchar(20) DEFAULT NULL COMMENT '计量单位',
`purchase_qty` decimal(18,4) NOT NULL DEFAULT 0 COMMENT '采购数量',
`ordered_qty` decimal(18,4) DEFAULT 0 COMMENT '已订数量',
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
`operator_id` bigint DEFAULT NULL COMMENT '操作员ID',
`operator_name` varchar(50) DEFAULT NULL COMMENT '操作员名称',
`approver_id` bigint DEFAULT NULL COMMENT '审核员ID',
`approver_name` varchar(50) DEFAULT NULL COMMENT '审核员名称',
`approve_date` datetime DEFAULT NULL COMMENT '审核日期',
`del_flag` char(1) NOT NULL DEFAULT '0' COMMENT '删除标志',
`create_by` varchar(64) DEFAULT NULL COMMENT '创建者',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_by` varchar(64) DEFAULT NULL COMMENT '更新者',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`purchase_id`),
UNIQUE KEY `uk_mp_purchase_code` (`purchase_code`, `tenant_id`),
KEY `idx_mp_purchase_plan` (`plan_id`),
KEY `idx_mp_purchase_sales` (`sales_order_id`),
KEY `idx_mp_purchase_item` (`item_id`),
KEY `idx_mp_purchase_date` (`purchase_date`),
KEY `idx_mp_purchase_tenant` (`tenant_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='采购计划单表';
-- ---------------------------------------------------
-- 6.6 零部件订单表 (mp_parts)
-- ---------------------------------------------------
DROP TABLE IF EXISTS `erp_mp_parts`;
CREATE TABLE `erp_mp_parts` (
`parts_id` bigint NOT NULL AUTO_INCREMENT COMMENT '零部件订单ID',
`tenant_id` varchar(20) NOT NULL COMMENT '租户ID',
`parts_code` varchar(32) NOT NULL COMMENT '零部件订单编码',
`parts_date` date NOT NULL COMMENT '单据日期',
`status` varchar(20) NOT NULL DEFAULT 'DRAFT' COMMENT '单据状态',
`item_id` bigint NOT NULL COMMENT '零部件物料ID',
`item_code` varchar(32) NOT NULL COMMENT '零部件物料编码',
`item_name` varchar(100) NOT NULL COMMENT '零部件物料名称',
`specification` varchar(200) DEFAULT NULL COMMENT '型号规格',
`drawing_no` varchar(50) DEFAULT NULL COMMENT '图纸号',
`unit_name` varchar(20) DEFAULT NULL COMMENT '计量单位',
`quantity` decimal(18,4) NOT NULL DEFAULT 0 COMMENT '订单数量',
`plan_qty` decimal(18,4) DEFAULT 0 COMMENT '计划数量',
`completed_qty` decimal(18,4) DEFAULT 0 COMMENT '完成数量',
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
`operator_id` bigint DEFAULT NULL COMMENT '操作员ID',
`operator_name` varchar(50) DEFAULT NULL COMMENT '操作员名称',
`approver_id` bigint DEFAULT NULL COMMENT '审核员ID',
`approver_name` varchar(50) DEFAULT NULL COMMENT '审核员名称',
`approve_date` datetime DEFAULT NULL COMMENT '审核日期',
`del_flag` char(1) NOT NULL DEFAULT '0' COMMENT '删除标志',
`create_by` varchar(64) DEFAULT NULL COMMENT '创建者',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_by` varchar(64) DEFAULT NULL COMMENT '更新者',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`parts_id`),
UNIQUE KEY `uk_parts_code` (`parts_code`, `tenant_id`),
KEY `idx_parts_item` (`item_id`),
KEY `idx_parts_date` (`parts_date`),
KEY `idx_parts_tenant` (`tenant_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='零部件订单表';
-- =====================================================
-- 第七部分: 视图定义
-- =====================================================
-- ---------------------------------------------------
-- 7.1 销售订单明细视图
-- ---------------------------------------------------
DROP VIEW IF EXISTS `erp_v_sl_order_detail`;
CREATE VIEW `erp_v_sl_order_detail` AS
SELECT
o.order_id,
o.order_code,
o.order_date,
o.status,
o.client_id,
o.client_name,
o.sales_user_name,
o.delivery_date,
o.total_amount,
l.line_id,
l.item_id,
l.item_code,
l.item_name,
l.specification,
l.unit_name,
l.quantity,
l.unit_price,
l.amount,
l.delivered_qty,
(l.quantity - IFNULL(l.delivered_qty, 0)) AS undelivered_qty,
o.tenant_id
FROM erp_sl_order o
LEFT JOIN erp_sl_order_line l ON o.order_id = l.order_id AND l.del_flag = '0'
WHERE o.del_flag = '0';
-- ---------------------------------------------------
-- 7.2 采购订单明细视图
-- ---------------------------------------------------
DROP VIEW IF EXISTS `erp_v_po_order_detail`;
CREATE VIEW `erp_v_po_order_detail` AS
SELECT
l.line_id,
l.order_id,
o.order_code,
o.order_date,
o.status,
o.business_type,
o.material_need,
o.supplier_id,
o.supplier_name,
l.track_code,
l.plan_code,
l.item_id,
l.item_code,
l.item_name,
l.specification,
l.unit_name,
l.need_date,
l.quantity AS order_quantity,
l.unit_price,
l.amount,
l.arrived_quantity,
(l.quantity - IFNULL(l.arrived_quantity, 0)) AS pending_quantity,
o.tenant_id
FROM erp_po_order_line l
INNER JOIN erp_po_order o ON l.order_id = o.order_id
WHERE l.del_flag = '0' AND o.del_flag = '0';
-- ---------------------------------------------------
-- 7.3 生产计划明细视图
-- ---------------------------------------------------
DROP VIEW IF EXISTS `erp_v_mp_plan_detail`;
CREATE VIEW `erp_v_mp_plan_detail` AS
SELECT
l.line_id,
l.plan_id,
p.plan_code,
p.plan_date,
p.status,
p.work_type,
p.sales_order_code,
p.sales_user_name,
p.delivery_date,
l.track_code,
l.item_id,
l.item_code,
l.item_name,
l.specification,
l.unit_name,
l.quantity,
p.tenant_id
FROM erp_mp_plan_line l
INNER JOIN erp_mp_plan p ON l.plan_id = p.plan_id
WHERE l.del_flag = '0' AND p.del_flag = '0';
-- ---------------------------------------------------
-- 7.4 采购计划执行视图
-- ---------------------------------------------------
DROP VIEW IF EXISTS `erp_v_mp_purchase_exec`;
CREATE VIEW `erp_v_mp_purchase_exec` AS
SELECT
p.purchase_id,
p.purchase_code,
p.purchase_date,
p.status,
p.need_type,
p.sales_order_code,
p.delivery_date,
p.item_id,
p.item_code,
p.item_name,
p.purchase_qty,
p.ordered_qty,
(p.purchase_qty - IFNULL(p.ordered_qty, 0)) AS unordered_qty,
i.item_type_code,
i.item_type_name,
p.tenant_id
FROM erp_mp_purchase p
LEFT JOIN erp_md_item i ON p.item_id = i.item_id
WHERE p.del_flag = '0';
-- ---------------------------------------------------
-- 7.5 库存汇总视图
-- ---------------------------------------------------
DROP VIEW IF EXISTS `erp_v_wm_stock_summary`;
CREATE VIEW `erp_v_wm_stock_summary` AS
SELECT
s.item_id,
s.item_code,
s.item_name,
s.specification,
s.unit_name,
SUM(s.quantity_on_hand) AS total_on_hand,
SUM(s.quantity_locked) AS total_locked,
SUM(s.quantity_available) AS total_available,
s.tenant_id
FROM erp_wm_stock s
GROUP BY s.item_id, s.item_code, s.item_name, s.specification, s.unit_name, s.tenant_id;
-- =====================================================
-- 第六部分: 生产管理模块 (车间执行) - 来源: Swagger API /prs
-- 新增日期: 2026-02-06
-- =====================================================
-- ---------------------------------------------------
-- 6.1 车间设置 - 生产线 (erp_prs_beltline)
-- ---------------------------------------------------
DROP TABLE IF EXISTS `erp_prs_beltline`;
CREATE TABLE `erp_prs_beltline` (
`unique_id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键ID',
`tenant_id` varchar(20) NOT NULL COMMENT '租户ID',
`code` varchar(32) NOT NULL COMMENT '生产线编码',
`name` varchar(100) NOT NULL COMMENT '生产线名称',
`process_route` varchar(100) DEFAULT NULL COMMENT '工艺路线',
`order_id` bigint DEFAULT NULL COMMENT '排序号',
`status` varchar(20) DEFAULT 'Y' COMMENT '启用状态(Y/N)',
`work_type` varchar(20) DEFAULT NULL COMMENT '所属车间类型',
`pp_number` varchar(50) DEFAULT NULL COMMENT '跟单编号',
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
`del_flag` char(1) NOT NULL DEFAULT '0' COMMENT '删除标志',
`create_by` varchar(64) DEFAULT NULL COMMENT '创建者',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_by` varchar(64) DEFAULT NULL COMMENT '更新者',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`unique_id`),
KEY `idx_prs_beltline_code` (`code`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='生产线';
-- ---------------------------------------------------
-- 6.2 车间设置 - 班组 (erp_prs_team)
-- ---------------------------------------------------
DROP TABLE IF EXISTS `erp_prs_team`;
CREATE TABLE `erp_prs_team` (
`unique_id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键ID',
`tenant_id` varchar(20) NOT NULL COMMENT '租户ID',
`code` varchar(32) NOT NULL COMMENT '班组编码',
`name` varchar(100) NOT NULL COMMENT '班组名称',
`order_id` bigint DEFAULT NULL COMMENT '排序号',
`status` varchar(20) DEFAULT 'Y' COMMENT '启用状态',
`work_type` varchar(20) DEFAULT NULL COMMENT '所属车间类型',
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
`del_flag` char(1) NOT NULL DEFAULT '0' COMMENT '删除标志',
`create_by` varchar(64) DEFAULT NULL COMMENT '创建者',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_by` varchar(64) DEFAULT NULL COMMENT '更新者',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`unique_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='班组';
-- ---------------------------------------------------
-- 6.3 车间设置 - 工人 (erp_prs_worker)
-- ---------------------------------------------------
DROP TABLE IF EXISTS `erp_prs_worker`;
CREATE TABLE `erp_prs_worker` (
`unique_id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键ID',
`tenant_id` varchar(20) NOT NULL COMMENT '租户ID',
`code` varchar(32) NOT NULL COMMENT '工人编码',
`name` varchar(100) NOT NULL COMMENT '工人姓名',
`jobs` varchar(50) DEFAULT NULL COMMENT '工种',
`team` varchar(50) DEFAULT NULL COMMENT '所属班组',
`beltline` varchar(50) DEFAULT NULL COMMENT '所属生产线',
`order_id` bigint DEFAULT NULL COMMENT '排序号',
`status` varchar(20) DEFAULT 'Y' COMMENT '启用状态',
`work_type` varchar(20) DEFAULT NULL COMMENT '所属车间类型',
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
`del_flag` char(1) NOT NULL DEFAULT '0' COMMENT '删除标志',
`create_by` varchar(64) DEFAULT NULL COMMENT '创建者',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_by` varchar(64) DEFAULT NULL COMMENT '更新者',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`unique_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='工人';
-- ---------------------------------------------------
-- 6.4 车间设置 - 工种 (erp_prs_jobs)
-- ---------------------------------------------------
DROP TABLE IF EXISTS `erp_prs_jobs`;
CREATE TABLE `erp_prs_jobs` (
`unique_id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键ID',
`tenant_id` varchar(20) NOT NULL COMMENT '租户ID',
`code` varchar(32) NOT NULL COMMENT '工种编码',
`name` varchar(100) NOT NULL COMMENT '工种名称',
`jobs` varchar(50) DEFAULT NULL COMMENT '工种类型',
`ratio` decimal(10,4) DEFAULT NULL COMMENT '计件比例',
`order_id` bigint DEFAULT NULL COMMENT '排序号',
`status` varchar(20) DEFAULT 'Y' COMMENT '启用状态',
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
`del_flag` char(1) NOT NULL DEFAULT '0' COMMENT '删除标志',
`create_by` varchar(64) DEFAULT NULL COMMENT '创建者',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_by` varchar(64) DEFAULT NULL COMMENT '更新者',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`unique_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='工种';
-- ---------------------------------------------------
-- 6.5 车间设置 - 标准工序段 (erp_prs_operate_section)
-- ---------------------------------------------------
DROP TABLE IF EXISTS `erp_prs_operate_section`;
CREATE TABLE `erp_prs_operate_section` (
`unique_id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键ID',
`tenant_id` varchar(20) NOT NULL COMMENT '租户ID',
`code` varchar(32) NOT NULL COMMENT '工序段编码',
`name` varchar(100) NOT NULL COMMENT '工序段名称',
`duration` decimal(10,2) DEFAULT NULL COMMENT '标准工时(分)',
`cost_ratio` decimal(10,4) DEFAULT NULL COMMENT '成本比例',
`count_type` varchar(20) DEFAULT NULL COMMENT '计数方式',
`is_quality` varchar(1) DEFAULT 'N' COMMENT '是否质检(Y/N)',
`order_id` bigint DEFAULT NULL COMMENT '排序号',
`status` varchar(20) DEFAULT 'Y' COMMENT '启用状态',
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
`del_flag` char(1) NOT NULL DEFAULT '0' COMMENT '删除标志',
`create_by` varchar(64) DEFAULT NULL COMMENT '创建者',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_by` varchar(64) DEFAULT NULL COMMENT '更新者',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`unique_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='标准工序段';
-- ---------------------------------------------------
-- 6.6 车间设置 - 工艺路线 (erp_prs_process_route)
-- ---------------------------------------------------
DROP TABLE IF EXISTS `erp_prs_process_route`;
CREATE TABLE `erp_prs_process_route` (
`unique_id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键ID',
`tenant_id` varchar(20) NOT NULL COMMENT '租户ID',
`code` varchar(32) NOT NULL COMMENT '工艺路线编码',
`name` varchar(100) NOT NULL COMMENT '工艺路线名称',
`order_id` bigint DEFAULT NULL COMMENT '排序号',
`status` varchar(20) DEFAULT 'Y' COMMENT '启用状态',
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
`del_flag` char(1) NOT NULL DEFAULT '0' COMMENT '删除标志',
`create_by` varchar(64) DEFAULT NULL COMMENT '创建者',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_by` varchar(64) DEFAULT NULL COMMENT '更新者',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`unique_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='工艺路线';
-- ---------------------------------------------------
-- 6.7 车间设置 - 设备 (erp_prs_equipment)
-- ---------------------------------------------------
DROP TABLE IF EXISTS `erp_prs_equipment`;
CREATE TABLE `erp_prs_equipment` (
`unique_id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键ID',
`tenant_id` varchar(20) NOT NULL COMMENT '租户ID',
`code` varchar(32) NOT NULL COMMENT '设备编码',
`name` varchar(100) NOT NULL COMMENT '设备名称',
`dept_name` varchar(50) DEFAULT NULL COMMENT '所属部门',
`order_id` bigint DEFAULT NULL COMMENT '排序号',
`status` varchar(20) DEFAULT 'Y' COMMENT '启用状态',
`work_type` varchar(20) DEFAULT NULL COMMENT '所属车间类型',
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
`del_flag` char(1) NOT NULL DEFAULT '0' COMMENT '删除标志',
`create_by` varchar(64) DEFAULT NULL COMMENT '创建者',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_by` varchar(64) DEFAULT NULL COMMENT '更新者',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`unique_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='设备';
-- ---------------------------------------------------
-- 6.8 生产订单表头 (erp_prs_order)
-- API: /prs/order
-- ---------------------------------------------------
DROP TABLE IF EXISTS `erp_prs_order`;
CREATE TABLE `erp_prs_order` (
`unique_id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键ID',
`tenant_id` varchar(20) NOT NULL COMMENT '租户ID',
`prs_code` varchar(32) NOT NULL COMMENT '生产订单编码',
`pp_number` varchar(50) DEFAULT NULL COMMENT '跟单编号',
`invoice_date` datetime DEFAULT NULL COMMENT '单据日期',
`invoice_status` varchar(20) DEFAULT '开立' COMMENT '单据状态(开立/审核/退回)',
`invoice_type` varchar(20) DEFAULT NULL COMMENT '单据类型',
`work_type` varchar(20) DEFAULT NULL COMMENT '业务类型(车间类型)',
`work_status` varchar(20) DEFAULT '正常' COMMENT '业务状态',
`work_dept` varchar(50) DEFAULT NULL COMMENT '业务部门',
`work_staff` varchar(50) DEFAULT NULL COMMENT '业务人员',
`inv_code` varchar(32) DEFAULT NULL COMMENT '物料编码',
`inv_name` varchar(100) DEFAULT NULL COMMENT '物料名称',
`inv_attribute` varchar(200) DEFAULT NULL COMMENT '物料属性/规格',
`inv_quantity` decimal(18,4) DEFAULT NULL COMMENT '物料数量',
`inv_sort_id` varchar(32) DEFAULT NULL COMMENT '物料分类ID',
`inv_sort_root` varchar(32) DEFAULT NULL COMMENT '物料根分类',
`inv_supply_type` varchar(20) DEFAULT NULL COMMENT '供应方式',
`unit_code` varchar(20) DEFAULT NULL COMMENT '计量单位编码',
`unit_name` varchar(20) DEFAULT NULL COMMENT '计量单位名称',
`drawing_no` varchar(50) DEFAULT NULL COMMENT '图纸号',
`mp_order_code` varchar(32) DEFAULT NULL COMMENT '关联计划单编码',
`wo_code` varchar(32) DEFAULT NULL COMMENT '上游工单编码',
`wo_quantity` decimal(18,4) DEFAULT NULL COMMENT '工单数量',
`wo_date` datetime DEFAULT NULL COMMENT '工单日期',
`wo_type` varchar(20) DEFAULT NULL COMMENT '工单类型',
`wo_type_id` varchar(32) DEFAULT NULL COMMENT '工单类型ID',
`wo_invoice` varchar(50) DEFAULT NULL COMMENT '上游单据',
`wo_invoice_id` varchar(32) DEFAULT NULL COMMENT '上游单据ID',
`wo_unique_id` varchar(32) DEFAULT NULL COMMENT '上游主键ID',
`wo_config` varchar(50) DEFAULT NULL COMMENT '工单配置',
`wi_quantity` decimal(18,4) DEFAULT 0 COMMENT '已完成数量',
`wi_instruct` decimal(18,4) DEFAULT 0 COMMENT '已下达指令数量',
`process` varchar(100) DEFAULT NULL COMMENT '工艺路线名称',
`process_id` varchar(32) DEFAULT NULL COMMENT '工艺路线ID',
`prs_process_code` varchar(32) DEFAULT NULL COMMENT '生产工序编码',
`beltline` varchar(100) DEFAULT NULL COMMENT '生产线名称',
`beltline_id` varchar(32) DEFAULT NULL COMMENT '生产线ID',
`warehouse` varchar(100) DEFAULT NULL COMMENT '入库仓库',
`duration` bigint DEFAULT NULL COMMENT '加工时长(分)',
`arrange_date` datetime DEFAULT NULL COMMENT '排产日期',
`need_date` datetime DEFAULT NULL COMMENT '需求日期',
`pp_date` datetime DEFAULT NULL COMMENT '计划日期',
`salesman` varchar(50) DEFAULT NULL COMMENT '销售员',
`upstream_type` varchar(20) DEFAULT NULL COMMENT '上游类型',
`form_config` varchar(50) DEFAULT NULL COMMENT '表单配置',
`user_oper` varchar(50) DEFAULT NULL COMMENT '操作员',
`user_check` varchar(50) DEFAULT NULL COMMENT '审核员',
`check_date` datetime DEFAULT NULL COMMENT '审核日期',
`version` bigint DEFAULT 0 COMMENT '版本号(乐观锁)',
`remarks` varchar(500) DEFAULT NULL COMMENT '备注2',
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
`del_flag` char(1) NOT NULL DEFAULT '0' COMMENT '删除标志',
`create_by` varchar(64) DEFAULT NULL COMMENT '创建者',
`create_date` datetime DEFAULT NULL COMMENT '制单日期',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_by` varchar(64) DEFAULT NULL COMMENT '更新者',
`update_date` datetime DEFAULT NULL COMMENT '修改日期',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`unique_id`),
KEY `idx_prs_order_code` (`prs_code`),
KEY `idx_prs_order_pp` (`pp_number`),
KEY `idx_prs_order_tenant` (`tenant_id`),
KEY `idx_prs_order_mp` (`mp_order_code`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='生产订单表头';
-- ---------------------------------------------------
-- 6.9 生产订单明细 (erp_prs_order_line)
-- ---------------------------------------------------
DROP TABLE IF EXISTS `erp_prs_order_line`;
CREATE TABLE `erp_prs_order_line` (
`unique_id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键ID',
`prs_code` varchar(32) NOT NULL COMMENT '生产订单编码',
`pp_number` varchar(50) DEFAULT NULL COMMENT '跟单编号',
`inv_code` varchar(32) DEFAULT NULL COMMENT '子件物料编码',
`inv_name` varchar(100) DEFAULT NULL COMMENT '子件物料名称',
`inv_attribute` varchar(200) DEFAULT NULL COMMENT '子件物料属性',
`inv_in_type` varchar(20) DEFAULT NULL COMMENT '物料领用类型',
`unit_name` varchar(20) DEFAULT NULL COMMENT '计量单位',
`quantity` decimal(18,4) DEFAULT NULL COMMENT '需求数量',
`wi_quantity` decimal(18,4) DEFAULT 0 COMMENT '已领数量',
`warehouse` varchar(100) DEFAULT NULL COMMENT '仓库',
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
`remarks` varchar(500) DEFAULT NULL COMMENT '备注2',
`del_flag` char(1) NOT NULL DEFAULT '0' COMMENT '删除标志',
`create_by` varchar(64) DEFAULT NULL COMMENT '创建者',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_by` varchar(64) DEFAULT NULL COMMENT '更新者',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`unique_id`),
KEY `idx_prs_order_line_code` (`prs_code`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='生产订单明细';
-- ---------------------------------------------------
-- 6.10 生产领料单表头 (erp_prs_pick)
-- API: /prs/pick
-- ---------------------------------------------------
DROP TABLE IF EXISTS `erp_prs_pick`;
CREATE TABLE `erp_prs_pick` (
`unique_id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键ID',
`tenant_id` varchar(20) NOT NULL COMMENT '租户ID',
`prs_code` varchar(32) NOT NULL COMMENT '领料单编码',
`prs_order_code` varchar(32) DEFAULT NULL COMMENT '关联生产订单编码',
`pp_number` varchar(50) DEFAULT NULL COMMENT '跟单编号',
`invoice_date` datetime DEFAULT NULL COMMENT '单据日期',
`invoice_status` varchar(20) DEFAULT '开立' COMMENT '单据状态',
`invoice_type` varchar(20) DEFAULT NULL COMMENT '单据类型',
`work_type` varchar(20) DEFAULT NULL COMMENT '业务类型',
`work_status` varchar(20) DEFAULT '正常' COMMENT '业务状态',
`work_dept` varchar(50) DEFAULT NULL COMMENT '业务部门',
`work_staff` varchar(50) DEFAULT NULL COMMENT '业务人员',
`warehouse` varchar(100) DEFAULT NULL COMMENT '领料仓库',
`form_config` varchar(50) DEFAULT NULL COMMENT '表单配置',
`user_oper` varchar(50) DEFAULT NULL COMMENT '操作员',
`user_check` varchar(50) DEFAULT NULL COMMENT '审核员',
`check_date` datetime DEFAULT NULL COMMENT '审核日期',
`version` bigint DEFAULT 0 COMMENT '版本号',
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
`remarks` varchar(500) DEFAULT NULL COMMENT '备注2',
`del_flag` char(1) NOT NULL DEFAULT '0' COMMENT '删除标志',
`create_by` varchar(64) DEFAULT NULL COMMENT '创建者',
`create_date` datetime DEFAULT NULL COMMENT '制单日期',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_by` varchar(64) DEFAULT NULL COMMENT '更新者',
`update_date` datetime DEFAULT NULL COMMENT '修改日期',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`unique_id`),
KEY `idx_prs_pick_code` (`prs_code`),
KEY `idx_prs_pick_order` (`prs_order_code`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='生产领料单表头';
-- ---------------------------------------------------
-- 6.11 生产领料单明细 (erp_prs_pick_line)
-- ---------------------------------------------------
DROP TABLE IF EXISTS `erp_prs_pick_line`;
CREATE TABLE `erp_prs_pick_line` (
`unique_id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键ID',
`prs_code` varchar(32) NOT NULL COMMENT '领料单编码',
`prs_order_code` varchar(32) DEFAULT NULL COMMENT '生产订单编码',
`pp_number` varchar(50) DEFAULT NULL COMMENT '跟单编号',
`inv_code` varchar(32) DEFAULT NULL COMMENT '物料编码',
`inv_name` varchar(100) DEFAULT NULL COMMENT '物料名称',
`inv_attribute` varchar(200) DEFAULT NULL COMMENT '物料属性',
`unit_name` varchar(20) DEFAULT NULL COMMENT '计量单位',
`quantity` decimal(18,4) DEFAULT NULL COMMENT '领料数量',
`wi_quantity` decimal(18,4) DEFAULT 0 COMMENT '已出库数量',
`batch_number` varchar(50) DEFAULT NULL COMMENT '批次号',
`warehouse` varchar(100) DEFAULT NULL COMMENT '仓库',
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
`del_flag` char(1) NOT NULL DEFAULT '0' COMMENT '删除标志',
`create_by` varchar(64) DEFAULT NULL COMMENT '创建者',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_by` varchar(64) DEFAULT NULL COMMENT '更新者',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`unique_id`),
KEY `idx_prs_pick_line_code` (`prs_code`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='生产领料单明细';
-- ---------------------------------------------------
-- 6.12 生产完工单表头 (erp_prs_product)
-- API: /prs/product
-- ---------------------------------------------------
DROP TABLE IF EXISTS `erp_prs_product`;
CREATE TABLE `erp_prs_product` (
`unique_id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键ID',
`tenant_id` varchar(20) NOT NULL COMMENT '租户ID',
`prs_code` varchar(32) NOT NULL COMMENT '完工单编码',
`prs_order_code` varchar(32) DEFAULT NULL COMMENT '关联生产订单编码',
`pp_number` varchar(50) DEFAULT NULL COMMENT '跟单编号',
`invoice_date` datetime DEFAULT NULL COMMENT '单据日期',
`invoice_status` varchar(20) DEFAULT '开立' COMMENT '单据状态',
`invoice_type` varchar(20) DEFAULT NULL COMMENT '单据类型',
`work_type` varchar(20) DEFAULT NULL COMMENT '业务类型',
`work_status` varchar(20) DEFAULT '正常' COMMENT '业务状态',
`work_dept` varchar(50) DEFAULT NULL COMMENT '业务部门',
`work_staff` varchar(50) DEFAULT NULL COMMENT '业务人员',
`inv_code` varchar(32) DEFAULT NULL COMMENT '产品物料编码',
`inv_name` varchar(100) DEFAULT NULL COMMENT '产品物料名称',
`inv_attribute` varchar(200) DEFAULT NULL COMMENT '产品物料属性',
`unit_name` varchar(20) DEFAULT NULL COMMENT '计量单位',
`inv_quantity` decimal(18,4) DEFAULT NULL COMMENT '完工数量',
`warehouse` varchar(100) DEFAULT NULL COMMENT '入库仓库',
`form_config` varchar(50) DEFAULT NULL COMMENT '表单配置',
`user_oper` varchar(50) DEFAULT NULL COMMENT '操作员',
`user_check` varchar(50) DEFAULT NULL COMMENT '审核员',
`check_date` datetime DEFAULT NULL COMMENT '审核日期',
`version` bigint DEFAULT 0 COMMENT '版本号',
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
`remarks` varchar(500) DEFAULT NULL COMMENT '备注2',
`del_flag` char(1) NOT NULL DEFAULT '0' COMMENT '删除标志',
`create_by` varchar(64) DEFAULT NULL COMMENT '创建者',
`create_date` datetime DEFAULT NULL COMMENT '制单日期',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_by` varchar(64) DEFAULT NULL COMMENT '更新者',
`update_date` datetime DEFAULT NULL COMMENT '修改日期',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`unique_id`),
KEY `idx_prs_product_code` (`prs_code`),
KEY `idx_prs_product_order` (`prs_order_code`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='生产完工单表头';
-- ---------------------------------------------------
-- 6.13 生产入库单表头 (erp_prs_checkin)
-- API: /prs/checkin
-- ---------------------------------------------------
DROP TABLE IF EXISTS `erp_prs_checkin`;
CREATE TABLE `erp_prs_checkin` (
`unique_id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键ID',
`tenant_id` varchar(20) NOT NULL COMMENT '租户ID',
`prs_code` varchar(32) NOT NULL COMMENT '入库单编码',
`pp_number` varchar(50) DEFAULT NULL COMMENT '跟单编号',
`invoice_date` datetime DEFAULT NULL COMMENT '单据日期',
`invoice_status` varchar(20) DEFAULT '开立' COMMENT '单据状态',
`invoice_type` varchar(20) DEFAULT NULL COMMENT '单据类型',
`work_type` varchar(20) DEFAULT NULL COMMENT '业务类型',
`work_status` varchar(20) DEFAULT '正常' COMMENT '业务状态',
`work_dept` varchar(50) DEFAULT NULL COMMENT '业务部门',
`work_staff` varchar(50) DEFAULT NULL COMMENT '业务人员',
`warehouse` varchar(100) DEFAULT NULL COMMENT '入库仓库',
`form_config` varchar(50) DEFAULT NULL COMMENT '表单配置',
`user_oper` varchar(50) DEFAULT NULL COMMENT '操作员',
`user_check` varchar(50) DEFAULT NULL COMMENT '审核员',
`check_date` datetime DEFAULT NULL COMMENT '审核日期',
`version` bigint DEFAULT 0 COMMENT '版本号',
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
`remarks` varchar(500) DEFAULT NULL COMMENT '备注2',
`del_flag` char(1) NOT NULL DEFAULT '0' COMMENT '删除标志',
`create_by` varchar(64) DEFAULT NULL COMMENT '创建者',
`create_date` datetime DEFAULT NULL COMMENT '制单日期',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_by` varchar(64) DEFAULT NULL COMMENT '更新者',
`update_date` datetime DEFAULT NULL COMMENT '修改日期',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`unique_id`),
KEY `idx_prs_checkin_code` (`prs_code`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='生产入库单表头';
-- ---------------------------------------------------
-- 6.14 生产入库单明细 (erp_prs_checkin_line)
-- ---------------------------------------------------
DROP TABLE IF EXISTS `erp_prs_checkin_line`;
CREATE TABLE `erp_prs_checkin_line` (
`unique_id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键ID',
`prs_code` varchar(32) NOT NULL COMMENT '入库单编码',
`prs_order_code` varchar(32) DEFAULT NULL COMMENT '生产订单编码',
`pp_number` varchar(50) DEFAULT NULL COMMENT '跟单编号',
`inv_code` varchar(32) DEFAULT NULL COMMENT '物料编码',
`inv_name` varchar(100) DEFAULT NULL COMMENT '物料名称',
`inv_attribute` varchar(200) DEFAULT NULL COMMENT '物料属性',
`unit_name` varchar(20) DEFAULT NULL COMMENT '计量单位',
`quantity` decimal(18,4) DEFAULT NULL COMMENT '入库数量',
`wi_quantity` decimal(18,4) DEFAULT 0 COMMENT '已入库数量',
`batch_number` varchar(50) DEFAULT NULL COMMENT '批次号',
`warehouse` varchar(100) DEFAULT NULL COMMENT '仓库',
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
`del_flag` char(1) NOT NULL DEFAULT '0' COMMENT '删除标志',
`create_by` varchar(64) DEFAULT NULL COMMENT '创建者',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_by` varchar(64) DEFAULT NULL COMMENT '更新者',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`unique_id`),
KEY `idx_prs_checkin_line_code` (`prs_code`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='生产入库单明细';
-- =====================================================
-- 第七部分: 研发管理模块 - 来源: Swagger API /rd
-- 新增日期: 2026-02-06
-- =====================================================
-- ---------------------------------------------------
-- 7.1 EBOM表头 (erp_rd_ebom)
-- API: /rd/ebom
-- ---------------------------------------------------
DROP TABLE IF EXISTS `erp_rd_ebom`;
CREATE TABLE `erp_rd_ebom` (
`unique_id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键ID',
`tenant_id` varchar(20) NOT NULL COMMENT '租户ID',
`rd_code` varchar(32) NOT NULL COMMENT 'BOM单据编码(如EBOM000xxx)',
`pp_number` varchar(50) DEFAULT NULL COMMENT '跟单编号',
`invoice_date` datetime DEFAULT NULL COMMENT '单据日期',
`invoice_status` varchar(20) DEFAULT '开立' COMMENT '单据状态(开立/审核/退回)',
`invoice_type` varchar(20) DEFAULT NULL COMMENT '单据类型',
`work_type` varchar(20) DEFAULT NULL COMMENT '业务类型(如机械BOM)',
`work_status` varchar(20) DEFAULT '正常' COMMENT '业务状态',
`work_dept` varchar(50) DEFAULT NULL COMMENT '业务部门',
`work_staff` varchar(50) DEFAULT NULL COMMENT '业务人员',
`inv_code` varchar(32) NOT NULL COMMENT '母件物料编码',
`inv_name` varchar(100) NOT NULL COMMENT '母件物料名称',
`inv_attribute` varchar(200) DEFAULT NULL COMMENT '母件物料属性/规格',
`inv_sort_id` bigint DEFAULT NULL COMMENT '物料分类ID',
`inv_sort_root` bigint DEFAULT NULL COMMENT '物料根分类ID',
`unit_code` varchar(20) DEFAULT NULL COMMENT '计量单位编码',
`unit_name` varchar(20) DEFAULT NULL COMMENT '计量单位名称',
`base_number` decimal(18,4) DEFAULT 1 COMMENT '母件基数',
`ver_number` varchar(20) DEFAULT '1.0' COMMENT '版本号',
`ver_remark` varchar(200) DEFAULT NULL COMMENT '版本说明',
`drawing_no` varchar(50) DEFAULT NULL COMMENT '图纸号',
`attribute` varchar(200) DEFAULT NULL COMMENT '属性',
`colour` varchar(50) DEFAULT NULL COMMENT '颜色',
`density` float DEFAULT NULL COMMENT '密度',
`cost` varchar(50) DEFAULT NULL COMMENT '成本',
`cust` varchar(100) DEFAULT NULL COMMENT '客户',
`property` varchar(100) DEFAULT NULL COMMENT '性质',
`form_config` varchar(50) DEFAULT NULL COMMENT '表单配置',
`user_oper` varchar(50) DEFAULT NULL COMMENT '操作员',
`user_check` varchar(50) DEFAULT NULL COMMENT '审核员',
`check_date` datetime DEFAULT NULL COMMENT '审核日期',
`version` bigint DEFAULT 0 COMMENT '版本号(乐观锁)',
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
`remarks` varchar(500) DEFAULT NULL COMMENT '备注2',
`del_flag` char(1) NOT NULL DEFAULT '0' COMMENT '删除标志',
`create_by` varchar(64) DEFAULT NULL COMMENT '创建者',
`create_date` datetime DEFAULT NULL COMMENT '制单日期',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_by` varchar(64) DEFAULT NULL COMMENT '更新者',
`update_date` datetime DEFAULT NULL COMMENT '修改日期',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`unique_id`),
KEY `idx_rd_ebom_code` (`rd_code`),
KEY `idx_rd_ebom_inv` (`inv_code`),
KEY `idx_rd_ebom_tenant` (`tenant_id`),
KEY `idx_rd_ebom_pp` (`pp_number`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='研发BOM表头(EBOM)';
-- ---------------------------------------------------
-- 7.2 EBOM明细 (erp_rd_ebom_line)
-- API: /rd/ebom/getDetail
-- ---------------------------------------------------
DROP TABLE IF EXISTS `erp_rd_ebom_line`;
CREATE TABLE `erp_rd_ebom_line` (
`unique_id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键ID',
`rd_code` varchar(32) NOT NULL COMMENT '关联BOM编码',
`pp_number` varchar(50) DEFAULT NULL COMMENT '跟单编号',
`inv_code` varchar(32) NOT NULL COMMENT '子件物料编码',
`inv_name` varchar(100) NOT NULL COMMENT '子件物料名称',
`inv_attribute` varchar(200) DEFAULT NULL COMMENT '子件物料属性',
`inv_sort_id` bigint DEFAULT NULL COMMENT '子件分类ID',
`inv_sort_root` bigint DEFAULT NULL COMMENT '子件根分类ID',
`inv_supply_type` varchar(20) DEFAULT NULL COMMENT '子件供应方式(采购/生产/委外/装配/加工)',
`inv_out_type` varchar(20) DEFAULT NULL COMMENT '领料方式(按单领用/直接领用)',
`unit_code` varchar(20) DEFAULT NULL COMMENT '计量单位编码',
`unit_name` varchar(20) DEFAULT NULL COMMENT '计量单位名称',
`ratio` decimal(18,6) DEFAULT NULL COMMENT '用量比例(分子)',
`fill` varchar(20) DEFAULT NULL COMMENT '用量方式(按比例/固定)',
`drawing_no` varchar(50) DEFAULT NULL COMMENT '子件图纸号',
`formula` varchar(200) DEFAULT NULL COMMENT '公式',
`order_num` int DEFAULT NULL COMMENT '排序号',
`parent_id` bigint DEFAULT NULL COMMENT '父节点ID(多阶展开)',
`ancestors` varchar(500) DEFAULT NULL COMMENT '祖级列表',
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
`remarks` varchar(500) DEFAULT NULL COMMENT '备注2',
`del_flag` char(1) NOT NULL DEFAULT '0' COMMENT '删除标志',
`create_by` varchar(64) DEFAULT NULL COMMENT '创建者',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_by` varchar(64) DEFAULT NULL COMMENT '更新者',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`unique_id`),
KEY `idx_rd_ebom_line_code` (`rd_code`),
KEY `idx_rd_ebom_line_inv` (`inv_code`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='研发BOM明细(EBOM子件)';
-- ---------------------------------------------------
-- 7.3 样品配方表头 (erp_rd_sample)
-- API: /rd/sample
-- ---------------------------------------------------
DROP TABLE IF EXISTS `erp_rd_sample`;
CREATE TABLE `erp_rd_sample` (
`unique_id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键ID',
`tenant_id` varchar(20) NOT NULL COMMENT '租户ID',
`rd_code` varchar(32) NOT NULL COMMENT '配方单据编码',
`bpm_code` varchar(32) DEFAULT NULL COMMENT '配方编号',
`pp_number` varchar(50) DEFAULT NULL COMMENT '跟单编号',
`invoice_date` datetime DEFAULT NULL COMMENT '单据日期',
`invoice_status` varchar(20) DEFAULT '开立' COMMENT '单据状态',
`invoice_type` varchar(20) DEFAULT NULL COMMENT '单据类型',
`work_type` varchar(20) DEFAULT NULL COMMENT '业务类型',
`work_status` varchar(20) DEFAULT '正常' COMMENT '业务状态',
`inv_code` varchar(32) DEFAULT NULL COMMENT '产品物料编码',
`inv_name` varchar(100) DEFAULT NULL COMMENT '产品物料名称',
`inv_attribute` varchar(200) DEFAULT NULL COMMENT '物料属性',
`unit_code` varchar(20) DEFAULT NULL COMMENT '计量单位编码',
`unit_name` varchar(20) DEFAULT NULL COMMENT '计量单位名称',
`base_number` decimal(18,4) DEFAULT 1 COMMENT '基数',
`ver_number` decimal(10,1) DEFAULT NULL COMMENT '版本号',
`ver_remark` varchar(200) DEFAULT NULL COMMENT '版本说明',
`colour` varchar(50) DEFAULT NULL COMMENT '颜色',
`density` decimal(18,4) DEFAULT NULL COMMENT '密度',
`cost` varchar(50) DEFAULT NULL COMMENT '成本',
`customer` varchar(100) DEFAULT NULL COMMENT '客户',
`property` varchar(100) DEFAULT NULL COMMENT '性质',
`quality_remarks` varchar(500) DEFAULT NULL COMMENT '质量要求',
`form_config` varchar(50) DEFAULT NULL COMMENT '表单配置',
`user_oper` varchar(50) DEFAULT NULL COMMENT '操作员',
`user_check` varchar(50) DEFAULT NULL COMMENT '审核员',
`check_date` datetime DEFAULT NULL COMMENT '审核日期',
`version` bigint DEFAULT 0 COMMENT '版本号(乐观锁)',
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
`del_flag` char(1) NOT NULL DEFAULT '0' COMMENT '删除标志',
`create_by` varchar(64) DEFAULT NULL COMMENT '创建者',
`create_date` datetime DEFAULT NULL COMMENT '制单日期',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_by` varchar(64) DEFAULT NULL COMMENT '更新者',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`unique_id`),
KEY `idx_rd_sample_code` (`rd_code`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='样品配方表头';
-- ---------------------------------------------------
-- 7.4 样品配方明细 (erp_rd_sample_line)
-- ---------------------------------------------------
DROP TABLE IF EXISTS `erp_rd_sample_line`;
CREATE TABLE `erp_rd_sample_line` (
`unique_id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键ID',
`rd_code` varchar(32) NOT NULL COMMENT '关联配方编码',
`inv_code` varchar(32) DEFAULT NULL COMMENT '原料物料编码',
`inv_name` varchar(100) DEFAULT NULL COMMENT '原料物料名称',
`inv_attribute` varchar(200) DEFAULT NULL COMMENT '物料属性',
`inv_sort_id` bigint DEFAULT NULL COMMENT '分类ID',
`inv_sort_root` bigint DEFAULT NULL COMMENT '根分类ID',
`inv_supply_type` varchar(20) DEFAULT NULL COMMENT '供应方式',
`inv_out_type` varchar(20) DEFAULT NULL COMMENT '领料方式',
`unit_code` varchar(20) DEFAULT NULL COMMENT '计量单位编码',
`unit_name` varchar(20) DEFAULT NULL COMMENT '计量单位名称',
`ratio` decimal(18,6) DEFAULT NULL COMMENT '配比(%)',
`fill` varchar(20) DEFAULT NULL COMMENT '用量方式',
`order_num` bigint DEFAULT NULL COMMENT '排序号',
`parent_id` bigint DEFAULT NULL COMMENT '父节点ID',
`ancestors` varchar(500) DEFAULT NULL COMMENT '祖级列表',
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
`del_flag` char(1) NOT NULL DEFAULT '0' COMMENT '删除标志',
`create_by` varchar(64) DEFAULT NULL COMMENT '创建者',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_by` varchar(64) DEFAULT NULL COMMENT '更新者',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`unique_id`),
KEY `idx_rd_sample_line_code` (`rd_code`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='样品配方明细';
-- ---------------------------------------------------
-- 7.5 孪生物料表头 (erp_rd_twin)
-- API: /rd/twin
-- ---------------------------------------------------
DROP TABLE IF EXISTS `erp_rd_twin`;
CREATE TABLE `erp_rd_twin` (
`unique_id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键ID',
`tenant_id` varchar(20) NOT NULL COMMENT '租户ID',
`rd_code` varchar(32) NOT NULL COMMENT '孪生物料编码',
`pp_number` varchar(50) DEFAULT NULL COMMENT '跟单编号',
`title` varchar(200) DEFAULT NULL COMMENT '标题/说明',
`dynamic_spec` varchar(200) DEFAULT NULL COMMENT '动态规格',
`inv_code` varchar(32) DEFAULT NULL COMMENT '物料编码',
`inv_name` varchar(100) DEFAULT NULL COMMENT '物料名称',
`inv_attribute` varchar(200) DEFAULT NULL COMMENT '物料属性',
`unit_code` varchar(20) DEFAULT NULL COMMENT '计量单位编码',
`unit_name` varchar(20) DEFAULT NULL COMMENT '计量单位名称',
`invoice_date` datetime DEFAULT NULL COMMENT '单据日期',
`invoice_status` varchar(20) DEFAULT '开立' COMMENT '单据状态',
`invoice_type` varchar(20) DEFAULT NULL COMMENT '单据类型',
`work_type` varchar(20) DEFAULT NULL COMMENT '业务类型',
`work_status` varchar(20) DEFAULT '正常' COMMENT '业务状态',
`form_config` varchar(50) DEFAULT NULL COMMENT '表单配置',
`user_oper` varchar(50) DEFAULT NULL COMMENT '操作员',
`user_check` varchar(50) DEFAULT NULL COMMENT '审核员',
`check_date` datetime DEFAULT NULL COMMENT '审核日期',
`version` bigint DEFAULT 0 COMMENT '版本号(乐观锁)',
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
`del_flag` char(1) NOT NULL DEFAULT '0' COMMENT '删除标志',
`create_by` varchar(64) DEFAULT NULL COMMENT '创建者',
`create_date` datetime DEFAULT NULL COMMENT '制单日期',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_by` varchar(64) DEFAULT NULL COMMENT '更新者',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`unique_id`),
KEY `idx_rd_twin_code` (`rd_code`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='孪生物料表头(可替换/同色物料)';
-- ---------------------------------------------------
-- 7.6 孪生物料明细 (erp_rd_twin_line)
-- ---------------------------------------------------
DROP TABLE IF EXISTS `erp_rd_twin_line`;
CREATE TABLE `erp_rd_twin_line` (
`unique_id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键ID',
`rd_code` varchar(32) NOT NULL COMMENT '关联孪生物料编码',
`inv_code` varchar(32) DEFAULT NULL COMMENT '物料编码',
`inv_name` varchar(100) DEFAULT NULL COMMENT '物料名称',
`inv_attribute` varchar(200) DEFAULT NULL COMMENT '物料属性',
`inv_sort_id` int DEFAULT NULL COMMENT '分类ID',
`inv_sort_root` int DEFAULT NULL COMMENT '根分类ID',
`unit_code` varchar(20) DEFAULT NULL COMMENT '计量单位编码',
`unit_name` varchar(20) DEFAULT NULL COMMENT '计量单位名称',
`colour` varchar(50) DEFAULT NULL COMMENT '颜色',
`priority` int DEFAULT NULL COMMENT '优先级',
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
`del_flag` char(1) NOT NULL DEFAULT '0' COMMENT '删除标志',
`create_by` varchar(64) DEFAULT NULL COMMENT '创建者',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_by` varchar(64) DEFAULT NULL COMMENT '更新者',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`unique_id`),
KEY `idx_rd_twin_line_code` (`rd_code`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='孪生物料明细';
-- ---------------------------------------------------
-- 7.7 放量表 (erp_rd_tret)
-- API: /rd/tret
-- ---------------------------------------------------
DROP TABLE IF EXISTS `erp_rd_tret`;
CREATE TABLE `erp_rd_tret` (
`unique_id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键ID',
`tenant_id` varchar(20) NOT NULL COMMENT '租户ID',
`sort_id` bigint DEFAULT NULL COMMENT '物料分类ID',
`sort_code` varchar(32) DEFAULT NULL COMMENT '物料分类编码',
`sort_name` varchar(100) DEFAULT NULL COMMENT '物料分类名称',
`f1` decimal(18,6) DEFAULT NULL COMMENT '放量系数1',
`f2` decimal(18,6) DEFAULT NULL COMMENT '放量系数2',
`f3` decimal(18,6) DEFAULT NULL COMMENT '放量系数3',
`f4` decimal(18,6) DEFAULT NULL COMMENT '放量系数4',
`f5` decimal(18,6) DEFAULT NULL COMMENT '放量系数5',
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
`del_flag` char(1) NOT NULL DEFAULT '0' COMMENT '删除标志',
`create_by` varchar(64) DEFAULT NULL COMMENT '创建者',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_by` varchar(64) DEFAULT NULL COMMENT '更新者',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`unique_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='放量表(物料分类放量系数)';
-- ---------------------------------------------------
-- 7.8 研发设置 (erp_rd_setting)
-- API: /rd/setting
-- ---------------------------------------------------
DROP TABLE IF EXISTS `erp_rd_setting`;
CREATE TABLE `erp_rd_setting` (
`unique_id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键ID',
`tenant_id` varchar(20) NOT NULL COMMENT '租户ID',
`inv_code` varchar(32) DEFAULT NULL COMMENT '物料编码',
`inv_name` varchar(100) DEFAULT NULL COMMENT '物料名称',
`inv_attribute` varchar(200) DEFAULT NULL COMMENT '物料属性',
`inv_sort_id` bigint DEFAULT NULL COMMENT '分类ID',
`inv_sort_root` bigint DEFAULT NULL COMMENT '根分类ID',
`unit_code` varchar(20) DEFAULT NULL COMMENT '计量单位编码',
`unit_name` varchar(20) DEFAULT NULL COMMENT '计量单位名称',
`enable_color` varchar(1) DEFAULT 'N' COMMENT '启用颜色管理(Y/N)',
`enable_content` varchar(1) DEFAULT 'N' COMMENT '启用含量管理(Y/N)',
`json_content` text COMMENT 'JSON配置内容',
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
`del_flag` char(1) NOT NULL DEFAULT '0' COMMENT '删除标志',
`create_by` varchar(64) DEFAULT NULL COMMENT '创建者',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_by` varchar(64) DEFAULT NULL COMMENT '更新者',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`unique_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='研发设置';
-- =====================================================
-- 第八部分: 委外管理模块 - 来源: Swagger API /pu
-- 新增日期: 2026-02-06
-- =====================================================
-- ---------------------------------------------------
-- 8.1 委外商档案 (erp_pu_supplier)
-- API: /pu/supplier
-- ---------------------------------------------------
DROP TABLE IF EXISTS `erp_pu_supplier`;
CREATE TABLE `erp_pu_supplier` (
`unique_id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键ID',
`tenant_id` varchar(20) NOT NULL COMMENT '租户ID',
`code` varchar(32) NOT NULL COMMENT '委外商编码',
`name` varchar(100) NOT NULL COMMENT '委外商名称',
`nick` varchar(50) DEFAULT NULL COMMENT '委外商简称',
`supplier_type` varchar(20) DEFAULT NULL COMMENT '委外商类型',
`address` varchar(200) DEFAULT NULL COMMENT '地址',
`contact` varchar(50) DEFAULT NULL COMMENT '联系人',
`tel` varchar(20) DEFAULT NULL COMMENT '电话',
`bank_name` varchar(100) DEFAULT NULL COMMENT '开户银行',
`bank_account` varchar(30) DEFAULT NULL COMMENT '银行账号',
`tax_no` varchar(30) DEFAULT NULL COMMENT '税号',
`status` varchar(20) DEFAULT 'Y' COMMENT '启用状态',
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
`del_flag` char(1) NOT NULL DEFAULT '0' COMMENT '删除标志',
`create_by` varchar(64) DEFAULT NULL COMMENT '创建者',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_by` varchar(64) DEFAULT NULL COMMENT '更新者',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`unique_id`),
KEY `idx_pu_supplier_code` (`code`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='委外商档案';
-- ---------------------------------------------------
-- 8.2 委外订单表头 (erp_pu_order)
-- API: /pu/order
-- ---------------------------------------------------
DROP TABLE IF EXISTS `erp_pu_order`;
CREATE TABLE `erp_pu_order` (
`unique_id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键ID',
`tenant_id` varchar(20) NOT NULL COMMENT '租户ID',
`pu_code` varchar(32) NOT NULL COMMENT '委外订单编码',
`pp_number` varchar(50) DEFAULT NULL COMMENT '跟单编号',
`invoice_date` datetime DEFAULT NULL COMMENT '单据日期',
`invoice_status` varchar(20) DEFAULT '开立' COMMENT '单据状态',
`invoice_type` varchar(20) DEFAULT NULL COMMENT '单据类型',
`work_type` varchar(20) DEFAULT NULL COMMENT '业务类型',
`work_status` varchar(20) DEFAULT '正常' COMMENT '业务状态',
`work_dept` varchar(50) DEFAULT NULL COMMENT '业务部门',
`work_staff` varchar(50) DEFAULT NULL COMMENT '业务人员',
`supplier` varchar(100) DEFAULT NULL COMMENT '委外商名称',
`supplier_id` varchar(32) DEFAULT NULL COMMENT '委外商ID',
`contract` varchar(50) DEFAULT NULL COMMENT '合同号',
`mp_order_code` varchar(32) DEFAULT NULL COMMENT '关联计划单编码',
`inv_code` varchar(32) DEFAULT NULL COMMENT '物料编码',
`inv_name` varchar(100) DEFAULT NULL COMMENT '物料名称',
`inv_attribute` varchar(200) DEFAULT NULL COMMENT '物料属性',
`inv_quantity` decimal(18,4) DEFAULT NULL COMMENT '数量',
`inv_sort_id` varchar(32) DEFAULT NULL COMMENT '物料分类ID',
`inv_sort_root` varchar(32) DEFAULT NULL COMMENT '物料根分类',
`unit_code` varchar(20) DEFAULT NULL COMMENT '计量单位编码',
`unit_name` varchar(20) DEFAULT NULL COMMENT '计量单位名称',
`drawing_no` varchar(50) DEFAULT NULL COMMENT '图纸号',
`processing_fee` decimal(18,2) DEFAULT NULL COMMENT '加工费',
`shipping_fee` decimal(18,2) DEFAULT NULL COMMENT '运费',
`wi_quantity` decimal(18,4) DEFAULT 0 COMMENT '已完成数量',
`wo_code` varchar(32) DEFAULT NULL COMMENT '上游工单编码',
`wo_quantity` decimal(18,4) DEFAULT NULL COMMENT '工单数量',
`wo_date` datetime DEFAULT NULL COMMENT '工单日期',
`wo_type` varchar(20) DEFAULT NULL COMMENT '工单类型',
`wo_type_id` varchar(32) DEFAULT NULL COMMENT '工单类型ID',
`wo_invoice` varchar(50) DEFAULT NULL COMMENT '上游单据',
`wo_invoice_id` varchar(32) DEFAULT NULL COMMENT '上游单据ID',
`wo_unique_id` varchar(32) DEFAULT NULL COMMENT '上游主键',
`wo_config` varchar(50) DEFAULT NULL COMMENT '工单配置',
`duration` bigint DEFAULT NULL COMMENT '加工周期(天)',
`arrange_date` datetime DEFAULT NULL COMMENT '排期日期',
`need_date` datetime DEFAULT NULL COMMENT '需求日期',
`pp_date` datetime DEFAULT NULL COMMENT '计划日期',
`salesman` varchar(50) DEFAULT NULL COMMENT '销售员',
`item` varchar(100) DEFAULT NULL COMMENT '物料项',
`form_config` varchar(50) DEFAULT NULL COMMENT '表单配置',
`user_oper` varchar(50) DEFAULT NULL COMMENT '操作员',
`user_check` varchar(50) DEFAULT NULL COMMENT '审核员',
`check_date` datetime DEFAULT NULL COMMENT '审核日期',
`version` bigint DEFAULT 0 COMMENT '版本号',
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
`remarks` varchar(500) DEFAULT NULL COMMENT '备注2',
`del_flag` char(1) NOT NULL DEFAULT '0' COMMENT '删除标志',
`create_by` varchar(64) DEFAULT NULL COMMENT '创建者',
`create_date` datetime DEFAULT NULL COMMENT '制单日期',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_by` varchar(64) DEFAULT NULL COMMENT '更新者',
`update_date` datetime DEFAULT NULL COMMENT '修改日期',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`unique_id`),
KEY `idx_pu_order_code` (`pu_code`),
KEY `idx_pu_order_pp` (`pp_number`),
KEY `idx_pu_order_supplier` (`supplier_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='委外订单表头';
-- ---------------------------------------------------
-- 8.3 委外订单明细 (erp_pu_order_line)
-- ---------------------------------------------------
DROP TABLE IF EXISTS `erp_pu_order_line`;
CREATE TABLE `erp_pu_order_line` (
`unique_id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键ID',
`pu_code` varchar(32) NOT NULL COMMENT '委外订单编码',
`pp_number` varchar(50) DEFAULT NULL COMMENT '跟单编号',
`inv_code` varchar(32) DEFAULT NULL COMMENT '物料编码',
`inv_name` varchar(100) DEFAULT NULL COMMENT '物料名称',
`inv_attribute` varchar(200) DEFAULT NULL COMMENT '物料属性',
`inv_in_type` varchar(20) DEFAULT NULL COMMENT '物料类型',
`unit_name` varchar(20) DEFAULT NULL COMMENT '计量单位',
`quantity` decimal(18,4) DEFAULT NULL COMMENT '数量',
`piece` decimal(18,4) DEFAULT NULL COMMENT '件数',
`wi_quantity` decimal(18,4) DEFAULT 0 COMMENT '已完成数量',
`need_date` datetime DEFAULT NULL COMMENT '需求日期',
`arrange_date` datetime DEFAULT NULL COMMENT '排期日期',
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
`del_flag` char(1) NOT NULL DEFAULT '0' COMMENT '删除标志',
`create_by` varchar(64) DEFAULT NULL COMMENT '创建者',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_by` varchar(64) DEFAULT NULL COMMENT '更新者',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`unique_id`),
KEY `idx_pu_order_line_code` (`pu_code`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='委外订单明细';
-- ---------------------------------------------------
-- 8.4 委外入库单表头 (erp_pu_checkin)
-- API: /pu/checkin
-- ---------------------------------------------------
DROP TABLE IF EXISTS `erp_pu_checkin`;
CREATE TABLE `erp_pu_checkin` (
`unique_id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键ID',
`tenant_id` varchar(20) NOT NULL COMMENT '租户ID',
`pu_code` varchar(32) NOT NULL COMMENT '入库单编码',
`pp_number` varchar(50) DEFAULT NULL COMMENT '跟单编号',
`supplier` varchar(100) DEFAULT NULL COMMENT '委外商名称',
`supplier_id` varchar(32) DEFAULT NULL COMMENT '委外商ID',
`warehouse` varchar(100) DEFAULT NULL COMMENT '入库仓库',
`invoice_date` datetime DEFAULT NULL COMMENT '单据日期',
`invoice_status` varchar(20) DEFAULT '开立' COMMENT '单据状态',
`invoice_type` varchar(20) DEFAULT NULL COMMENT '单据类型',
`work_type` varchar(20) DEFAULT NULL COMMENT '业务类型',
`work_status` varchar(20) DEFAULT '正常' COMMENT '业务状态',
`work_dept` varchar(50) DEFAULT NULL COMMENT '业务部门',
`work_staff` varchar(50) DEFAULT NULL COMMENT '业务人员',
`form_config` varchar(50) DEFAULT NULL COMMENT '表单配置',
`user_oper` varchar(50) DEFAULT NULL COMMENT '操作员',
`user_check` varchar(50) DEFAULT NULL COMMENT '审核员',
`check_date` datetime DEFAULT NULL COMMENT '审核日期',
`version` bigint DEFAULT 0 COMMENT '版本号',
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
`remarks` varchar(500) DEFAULT NULL COMMENT '备注2',
`del_flag` char(1) NOT NULL DEFAULT '0' COMMENT '删除标志',
`create_by` varchar(64) DEFAULT NULL COMMENT '创建者',
`create_date` datetime DEFAULT NULL COMMENT '制单日期',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_by` varchar(64) DEFAULT NULL COMMENT '更新者',
`update_date` datetime DEFAULT NULL COMMENT '修改日期',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`unique_id`),
KEY `idx_pu_checkin_code` (`pu_code`),
KEY `idx_pu_checkin_supplier` (`supplier_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='委外入库单表头';
-- ---------------------------------------------------
-- 8.5 委外入库单明细 (erp_pu_checkin_line)
-- ---------------------------------------------------
DROP TABLE IF EXISTS `erp_pu_checkin_line`;
CREATE TABLE `erp_pu_checkin_line` (
`unique_id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键ID',
`pu_code` varchar(32) NOT NULL COMMENT '入库单编码',
`pu_product_code` varchar(32) DEFAULT NULL COMMENT '委外到货单编码',
`pp_number` varchar(50) DEFAULT NULL COMMENT '跟单编号',
`inv_code` varchar(32) DEFAULT NULL COMMENT '物料编码',
`inv_name` varchar(100) DEFAULT NULL COMMENT '物料名称',
`inv_attribute` varchar(200) DEFAULT NULL COMMENT '物料属性',
`unit_name` varchar(20) DEFAULT NULL COMMENT '计量单位',
`quantity` decimal(18,4) DEFAULT NULL COMMENT '入库数量',
`wi_quantity` decimal(18,4) DEFAULT 0 COMMENT '已入库数量',
`batch_number` varchar(50) DEFAULT NULL COMMENT '批次号',
`warehouse` varchar(100) DEFAULT NULL COMMENT '仓库',
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
`del_flag` char(1) NOT NULL DEFAULT '0' COMMENT '删除标志',
`create_by` varchar(64) DEFAULT NULL COMMENT '创建者',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_by` varchar(64) DEFAULT NULL COMMENT '更新者',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`unique_id`),
KEY `idx_pu_checkin_line_code` (`pu_code`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='委外入库单明细';
-- ---------------------------------------------------
-- 8.6 委外发料单表头 (erp_pu_pick)
-- API: /pu/pick
-- ---------------------------------------------------
DROP TABLE IF EXISTS `erp_pu_pick`;
CREATE TABLE `erp_pu_pick` (
`unique_id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键ID',
`tenant_id` varchar(20) NOT NULL COMMENT '租户ID',
`pu_code` varchar(32) NOT NULL COMMENT '发料单编码',
`pu_order_code` varchar(32) DEFAULT NULL COMMENT '关联委外订单编码',
`pp_number` varchar(50) DEFAULT NULL COMMENT '跟单编号',
`supplier` varchar(100) DEFAULT NULL COMMENT '委外商名称',
`supplier_id` varchar(32) DEFAULT NULL COMMENT '委外商ID',
`mp_order_code` varchar(32) DEFAULT NULL COMMENT '关联计划单编码',
`warehouse` varchar(100) DEFAULT NULL COMMENT '发料仓库',
`gather_type` varchar(20) DEFAULT NULL COMMENT '汇总方式',
`beltline` varchar(100) DEFAULT NULL COMMENT '生产线',
`beltline_id` varchar(32) DEFAULT NULL COMMENT '生产线ID',
`invoice_date` datetime DEFAULT NULL COMMENT '单据日期',
`invoice_status` varchar(20) DEFAULT '开立' COMMENT '单据状态',
`invoice_type` varchar(20) DEFAULT NULL COMMENT '单据类型',
`work_type` varchar(20) DEFAULT NULL COMMENT '业务类型',
`work_status` varchar(20) DEFAULT '正常' COMMENT '业务状态',
`work_dept` varchar(50) DEFAULT NULL COMMENT '业务部门',
`work_staff` varchar(50) DEFAULT NULL COMMENT '业务人员',
`form_config` varchar(50) DEFAULT NULL COMMENT '表单配置',
`user_oper` varchar(50) DEFAULT NULL COMMENT '操作员',
`user_check` varchar(50) DEFAULT NULL COMMENT '审核员',
`check_date` datetime DEFAULT NULL COMMENT '审核日期',
`version` bigint DEFAULT 0 COMMENT '版本号',
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
`remarks` varchar(500) DEFAULT NULL COMMENT '备注2',
`del_flag` char(1) NOT NULL DEFAULT '0' COMMENT '删除标志',
`create_by` varchar(64) DEFAULT NULL COMMENT '创建者',
`create_date` datetime DEFAULT NULL COMMENT '制单日期',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_by` varchar(64) DEFAULT NULL COMMENT '更新者',
`update_date` datetime DEFAULT NULL COMMENT '修改日期',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`unique_id`),
KEY `idx_pu_pick_code` (`pu_code`),
KEY `idx_pu_pick_order` (`pu_order_code`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='委外发料单表头';
-- ---------------------------------------------------
-- 8.7 委外退料单表头 (erp_pu_unpick)
-- API: /pu/unpick (结构同发料单)
-- ---------------------------------------------------
DROP TABLE IF EXISTS `erp_pu_unpick`;
CREATE TABLE `erp_pu_unpick` (
`unique_id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键ID',
`tenant_id` varchar(20) NOT NULL COMMENT '租户ID',
`pu_code` varchar(32) NOT NULL COMMENT '退料单编码',
`pu_order_code` varchar(32) DEFAULT NULL COMMENT '关联委外订单编码',
`pp_number` varchar(50) DEFAULT NULL COMMENT '跟单编号',
`supplier` varchar(100) DEFAULT NULL COMMENT '委外商名称',
`supplier_id` varchar(32) DEFAULT NULL COMMENT '委外商ID',
`warehouse` varchar(100) DEFAULT NULL COMMENT '退料仓库',
`invoice_date` datetime DEFAULT NULL COMMENT '单据日期',
`invoice_status` varchar(20) DEFAULT '开立' COMMENT '单据状态',
`work_type` varchar(20) DEFAULT NULL COMMENT '业务类型',
`work_status` varchar(20) DEFAULT '正常' COMMENT '业务状态',
`form_config` varchar(50) DEFAULT NULL COMMENT '表单配置',
`user_oper` varchar(50) DEFAULT NULL COMMENT '操作员',
`user_check` varchar(50) DEFAULT NULL COMMENT '审核员',
`check_date` datetime DEFAULT NULL COMMENT '审核日期',
`version` bigint DEFAULT 0 COMMENT '版本号',
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
`del_flag` char(1) NOT NULL DEFAULT '0' COMMENT '删除标志',
`create_by` varchar(64) DEFAULT NULL COMMENT '创建者',
`create_date` datetime DEFAULT NULL COMMENT '制单日期',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_by` varchar(64) DEFAULT NULL COMMENT '更新者',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`unique_id`),
KEY `idx_pu_unpick_code` (`pu_code`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='委外退料单表头';
-- ---------------------------------------------------
-- 8.8 委外发票表头 (erp_pu_fapiao)
-- API: /pu/fapiao
-- ---------------------------------------------------
DROP TABLE IF EXISTS `erp_pu_fapiao`;
CREATE TABLE `erp_pu_fapiao` (
`unique_id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键ID',
`tenant_id` varchar(20) NOT NULL COMMENT '租户ID',
`pu_code` varchar(32) NOT NULL COMMENT '发票单据编码',
`pp_number` varchar(50) DEFAULT NULL COMMENT '跟单编号',
`supplier` varchar(100) DEFAULT NULL COMMENT '委外商名称',
`supplier_id` varchar(32) DEFAULT NULL COMMENT '委外商ID',
`tax_number` varchar(30) DEFAULT NULL COMMENT '纳税人识别号',
`vat_code` varchar(30) DEFAULT NULL COMMENT '发票代码',
`vat_no` varchar(30) DEFAULT NULL COMMENT '发票号码',
`vat_date` datetime DEFAULT NULL COMMENT '开票日期',
`vat_kind` varchar(20) DEFAULT NULL COMMENT '发票种类',
`vat_type` varchar(20) DEFAULT NULL COMMENT '发票类型',
`vat_amount` decimal(18,2) DEFAULT NULL COMMENT '发票金额(不含税)',
`vat_tax` decimal(18,2) DEFAULT NULL COMMENT '税额',
`vat_total` decimal(18,2) DEFAULT NULL COMMENT '价税合计',
`vat_rate` varchar(10) DEFAULT NULL COMMENT '税率',
`vat_status` varchar(20) DEFAULT NULL COMMENT '发票状态',
`entry_type` varchar(20) DEFAULT NULL COMMENT '入账类型',
`fd_period` int DEFAULT NULL COMMENT '财务期间',
`file_pdf` varchar(500) DEFAULT NULL COMMENT 'PDF附件',
`file_xml` varchar(500) DEFAULT NULL COMMENT 'XML附件',
`file_ofd` varchar(500) DEFAULT NULL COMMENT 'OFD附件',
`bred_no` varchar(50) DEFAULT NULL COMMENT '红冲发票号',
`bred_reason` varchar(200) DEFAULT NULL COMMENT '红冲原因',
`bred_vouch` int DEFAULT NULL COMMENT '红冲凭证',
`wi_amount` decimal(18,2) DEFAULT 0 COMMENT '已核销金额',
`wi_amount_r` decimal(18,2) DEFAULT 0 COMMENT '已核销金额(含税)',
`wi_tax_r` decimal(18,2) DEFAULT 0 COMMENT '已核销税额',
`invoice_date` datetime DEFAULT NULL COMMENT '单据日期',
`invoice_status` varchar(20) DEFAULT '开立' COMMENT '单据状态',
`invoice_type` varchar(20) DEFAULT NULL COMMENT '单据类型',
`work_type` varchar(20) DEFAULT NULL COMMENT '业务类型',
`work_status` varchar(20) DEFAULT '正常' COMMENT '业务状态',
`work_dept` varchar(50) DEFAULT NULL COMMENT '业务部门',
`work_staff` varchar(50) DEFAULT NULL COMMENT '业务人员',
`form_config` varchar(50) DEFAULT NULL COMMENT '表单配置',
`user_oper` varchar(50) DEFAULT NULL COMMENT '操作员',
`user_check` varchar(50) DEFAULT NULL COMMENT '审核员',
`check_date` datetime DEFAULT NULL COMMENT '审核日期',
`version` bigint DEFAULT 0 COMMENT '版本号',
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
`remarks` varchar(500) DEFAULT NULL COMMENT '备注2',
`del_flag` char(1) NOT NULL DEFAULT '0' COMMENT '删除标志',
`create_by` varchar(64) DEFAULT NULL COMMENT '创建者',
`create_date` datetime DEFAULT NULL COMMENT '制单日期',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_by` varchar(64) DEFAULT NULL COMMENT '更新者',
`update_date` datetime DEFAULT NULL COMMENT '修改日期',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`unique_id`),
KEY `idx_pu_fapiao_code` (`pu_code`),
KEY `idx_pu_fapiao_supplier` (`supplier_id`),
KEY `idx_pu_fapiao_vat` (`vat_no`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='委外发票表头';
-- =====================================================
-- 第九部分: 财务管理模块(基础表) - 来源: Swagger API /fd
-- 新增日期: 2026-02-06
-- 说明: 仅包含核心基础表,完整财务表结构需后续补充
-- =====================================================
-- ---------------------------------------------------
-- 9.1 财务期间 (erp_fd_period)
-- API: /fd/period
-- ---------------------------------------------------
DROP TABLE IF EXISTS `erp_fd_period`;
CREATE TABLE `erp_fd_period` (
`unique_id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键ID',
`tenant_id` varchar(20) NOT NULL COMMENT '租户ID',
`period_code` varchar(20) NOT NULL COMMENT '期间编码(如202601)',
`period_name` varchar(50) DEFAULT NULL COMMENT '期间名称',
`year` int NOT NULL COMMENT '年份',
`month` int NOT NULL COMMENT '月份',
`start_date` date NOT NULL COMMENT '开始日期',
`end_date` date NOT NULL COMMENT '结束日期',
`status` varchar(20) DEFAULT 'OPEN' COMMENT '状态(OPEN/CLOSED)',
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
`del_flag` char(1) NOT NULL DEFAULT '0' COMMENT '删除标志',
`create_by` varchar(64) DEFAULT NULL COMMENT '创建者',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_by` varchar(64) DEFAULT NULL COMMENT '更新者',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`unique_id`),
UNIQUE KEY `uk_fd_period` (`period_code`, `tenant_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='财务期间';
-- ---------------------------------------------------
-- 9.2 会计科目 (erp_fd_ledger)
-- API: /fd/ledger
-- ---------------------------------------------------
DROP TABLE IF EXISTS `erp_fd_ledger`;
CREATE TABLE `erp_fd_ledger` (
`unique_id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键ID',
`tenant_id` varchar(20) NOT NULL COMMENT '租户ID',
`ledger_code` varchar(32) NOT NULL COMMENT '科目编码',
`ledger_name` varchar(100) NOT NULL COMMENT '科目名称',
`parent_id` bigint DEFAULT NULL COMMENT '上级科目ID',
`ledger_type` varchar(20) DEFAULT NULL COMMENT '科目类型',
`balance_direction` varchar(10) DEFAULT 'DEBIT' COMMENT '余额方向(DEBIT/CREDIT)',
`is_leaf` varchar(1) DEFAULT 'Y' COMMENT '是否末级(Y/N)',
`enable_flag` char(1) DEFAULT 'Y' COMMENT '启用状态',
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
`del_flag` char(1) NOT NULL DEFAULT '0' COMMENT '删除标志',
`create_by` varchar(64) DEFAULT NULL COMMENT '创建者',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_by` varchar(64) DEFAULT NULL COMMENT '更新者',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`unique_id`),
UNIQUE KEY `uk_fd_ledger_code` (`ledger_code`, `tenant_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='会计科目';
-- ---------------------------------------------------
-- 9.3 会计凭证表头 (erp_fd_voucher)
-- API: /fd/voucher
-- ---------------------------------------------------
DROP TABLE IF EXISTS `erp_fd_voucher`;
CREATE TABLE `erp_fd_voucher` (
`unique_id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键ID',
`tenant_id` varchar(20) NOT NULL COMMENT '租户ID',
`voucher_code` varchar(32) NOT NULL COMMENT '凭证编号',
`voucher_date` date NOT NULL COMMENT '凭证日期',
`period_id` bigint DEFAULT NULL COMMENT '期间ID',
`voucher_type` varchar(20) DEFAULT NULL COMMENT '凭证类型',
`total_debit` decimal(18,2) DEFAULT 0 COMMENT '借方合计',
`total_credit` decimal(18,2) DEFAULT 0 COMMENT '贷方合计',
`status` varchar(20) DEFAULT 'DRAFT' COMMENT '状态(DRAFT/APPROVED)',
`preparer` varchar(50) DEFAULT NULL COMMENT '制单人',
`reviewer` varchar(50) DEFAULT NULL COMMENT '审核人',
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
`del_flag` char(1) NOT NULL DEFAULT '0' COMMENT '删除标志',
`create_by` varchar(64) DEFAULT NULL COMMENT '创建者',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_by` varchar(64) DEFAULT NULL COMMENT '更新者',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`unique_id`),
KEY `idx_fd_voucher_code` (`voucher_code`),
KEY `idx_fd_voucher_date` (`voucher_date`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='会计凭证表头';
-- ---------------------------------------------------
-- 9.4 会计凭证明细 (erp_fd_voucher_line)
-- ---------------------------------------------------
DROP TABLE IF EXISTS `erp_fd_voucher_line`;
CREATE TABLE `erp_fd_voucher_line` (
`unique_id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键ID',
`voucher_id` bigint NOT NULL COMMENT '凭证ID',
`ledger_id` bigint NOT NULL COMMENT '科目ID',
`ledger_code` varchar(32) DEFAULT NULL COMMENT '科目编码',
`ledger_name` varchar(100) DEFAULT NULL COMMENT '科目名称',
`summary` varchar(200) DEFAULT NULL COMMENT '摘要',
`debit_amount` decimal(18,2) DEFAULT 0 COMMENT '借方金额',
`credit_amount` decimal(18,2) DEFAULT 0 COMMENT '贷方金额',
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
`del_flag` char(1) NOT NULL DEFAULT '0' COMMENT '删除标志',
`create_by` varchar(64) DEFAULT NULL COMMENT '创建者',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_by` varchar(64) DEFAULT NULL COMMENT '更新者',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`unique_id`),
KEY `idx_fd_voucher_line_vid` (`voucher_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='会计凭证明细';
-- ---------------------------------------------------
-- 9.5 应收账款表头 (erp_fd_receivable)
-- API: /fd/receivable
-- ---------------------------------------------------
DROP TABLE IF EXISTS `erp_fd_receivable`;
CREATE TABLE `erp_fd_receivable` (
`unique_id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键ID',
`tenant_id` varchar(20) NOT NULL COMMENT '租户ID',
`receivable_code` varchar(32) NOT NULL COMMENT '应收单号',
`client_id` bigint DEFAULT NULL COMMENT '客户ID',
`client_name` varchar(100) DEFAULT NULL COMMENT '客户名称',
`receivable_date` date DEFAULT NULL COMMENT '应收日期',
`due_date` date DEFAULT NULL COMMENT '到期日',
`total_amount` decimal(18,2) DEFAULT 0 COMMENT '应收总额',
`received_amount` decimal(18,2) DEFAULT 0 COMMENT '已收金额',
`balance_amount` decimal(18,2) DEFAULT 0 COMMENT '余额',
`status` varchar(20) DEFAULT 'DRAFT' COMMENT '状态',
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
`del_flag` char(1) NOT NULL DEFAULT '0' COMMENT '删除标志',
`create_by` varchar(64) DEFAULT NULL COMMENT '创建者',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_by` varchar(64) DEFAULT NULL COMMENT '更新者',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`unique_id`),
KEY `idx_fd_receivable_code` (`receivable_code`),
KEY `idx_fd_receivable_client` (`client_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='应收账款';
-- ---------------------------------------------------
-- 9.6 应付账款表头 (erp_fd_payable)
-- API: /fd/payable
-- ---------------------------------------------------
DROP TABLE IF EXISTS `erp_fd_payable`;
CREATE TABLE `erp_fd_payable` (
`unique_id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键ID',
`tenant_id` varchar(20) NOT NULL COMMENT '租户ID',
`payable_code` varchar(32) NOT NULL COMMENT '应付单号',
`vendor_id` bigint DEFAULT NULL COMMENT '供应商ID',
`vendor_name` varchar(100) DEFAULT NULL COMMENT '供应商名称',
`payable_date` date DEFAULT NULL COMMENT '应付日期',
`due_date` date DEFAULT NULL COMMENT '到期日',
`total_amount` decimal(18,2) DEFAULT 0 COMMENT '应付总额',
`paid_amount` decimal(18,2) DEFAULT 0 COMMENT '已付金额',
`balance_amount` decimal(18,2) DEFAULT 0 COMMENT '余额',
`status` varchar(20) DEFAULT 'DRAFT' COMMENT '状态',
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
`del_flag` char(1) NOT NULL DEFAULT '0' COMMENT '删除标志',
`create_by` varchar(64) DEFAULT NULL COMMENT '创建者',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_by` varchar(64) DEFAULT NULL COMMENT '更新者',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`unique_id`),
KEY `idx_fd_payable_code` (`payable_code`),
KEY `idx_fd_payable_vendor` (`vendor_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='应付账款';
SET FOREIGN_KEY_CHECKS = 1;