-- ===================================================== -- 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;