生产管理系统详解:高离散制造 – 生产订单数据库设计表(核心表结构)

设计目标

• 支持“按单生产”与“按任务生产”两种物料需求策略

• 允许同一条生产线在不同订单/任务里使用不同 BOM 版本

• 工序-部件-生产线三维校验:确保“工序需要的部件”与“生产线能加工的部件”匹配

• 工资既支持“按任务数量”又支持“按工序报工数量”

• 所有主数据支持版本号、生效/失效日期,满足未来工艺变更

流程说明

(含报价→订单→任务→工序→部件→BOM→物料需求→工资核算全链路)

0

数据库ER图

0

高离散制造 – 生产订单数据库设计表(核心表结构)

1. 产品主表 product

字段名

类型

描述

主键

外键

备注

id

bigint

主键

PK

自增

item_code

varchar(50)

料号

唯一

item_name

varchar(100)

名称

item_type

enum

成品/半成品/原料

default_bom_id

bigint

默认BOM

FK→bom_header

可空

unit

varchar(10)

单位

enable_flag

tinyint(1)

启用标记

1=启用

2. BOM主表 bom_header

字段名

类型

描述

主键

外键

备注

id

bigint

主键

PK

自增

product_id

bigint

产品ID

FK→product

bom_code

varchar(50)

BOM编码

唯一

version

varchar(10)

版本号

effect_date

date

生效日期

expire_date

date

失效日期

is_default

tinyint(1)

默认标识

1=默认

3. BOM子件表 bom_item

字段名

类型

描述

主键

外键

备注

id

bigint

主键

PK

自增

bom_header_id

bigint

BOM头ID

FK→bom_header

parent_item_id

bigint

父项料号

FK→product

child_item_id

bigint

子项料号

FK→product

qty

decimal(12,4)

用量

unit

varchar(10)

单位

loss_rate

decimal(5,2)

损耗率(%)

op_seq_start

int

起始工序序号

op_seq_end

int

结束工序序号

4. 生产线表 prod_line

字段名

类型

描述

主键

外键

备注

id

bigint

主键

PK

自增

line_code

varchar(20)

线体代码

唯一

line_name

varchar(50)

线体名称

dept

varchar(50)

所属车间

enable_flag

tinyint(1)

启用标记

1=启用

5. 生产订单表 prod_order

字段名

类型

描述

主键

外键

备注

id

bigint

主键

PK

自增

order_no

varchar(30)

内部订单号

唯一

source_quote_id

bigint

来源报价ID

FK→quote_main

可空

customer

varchar(100)

客户名称

product_id

bigint

产品ID

FK→product

qty_total

decimal(12,2)

订单数量

delivery_date

date

交货日期

bom_version

varchar(10)

使用BOM版本

status

enum

状态

见字典

created_at

datetime

创建时间

6. 生产任务单表 prod_task

字段名

类型

描述

主键

外键

备注

id

bigint

主键

PK

自增

prod_order_id

bigint

所属订单ID

FK→prod_order

task_no

varchar(30)

任务单号

唯一

product_name

varchar(100)

产品名称(冗余)

qty

decimal(12,2)

任务数量

plan_start

date

计划开工

plan_end

date

计划完工

status

enum

状态

见字典

7. 任务-生产线关系表 task_line

字段名

类型

描述

主键

外键

备注

id

bigint

主键

PK

自增

task_id

bigint

任务ID

FK→prod_task

line_id

bigint

生产线ID

FK→prod_line

seq

int

生产顺序

qty_line

decimal(12,2)

本线数量

status

enum

状态

8. 工序实例表 prod_process

字段名

类型

描述

主键

外键

备注

id

bigint

主键

PK

自增

task_line_id

bigint

任务线ID

FK→task_line

process_name

varchar(50)

工序名称

seq

int

顺序号

std_time

decimal(8,2)

标准工时

分钟

status

enum

状态

9. 任务部件表 prod_part

字段名

类型

描述

主键

外键

备注

id

bigint

主键

PK

自增

task_line_id

bigint

任务线ID

FK→task_line

part_name

varchar(100)

部件名称

material

varchar(50)

材质

length

decimal(8,2)

长度(mm)

width

decimal(8,2)

宽度(mm)

thick

decimal(8,2)

厚度(mm)

qty

decimal(10,2)

数量

unit

varchar(10)

单位

10. 物料需求表 material_requirement

字段名

类型

描述

主键

外键

备注

id

bigint

主键

PK

自增

prod_order_id

bigint

订单ID(可空)

FK→prod_order

task_id

bigint

任务ID(可空)

FK→prod_task

line_id

bigint

生产线ID

FK→prod_line

material_id

bigint

物料ID

FK→product

spec

varchar(100)

规格描述

qty_required

decimal(12,2)

需求数量

qty_on_hand

decimal(12,2)

库存数量

qty_ordered

decimal(12,2)

已采数量

status

enum

需求状态

11. 生产报工表 prod_report

字段名

类型

描述

主键

外键

备注

id

bigint

主键

PK

自增

task_line_id

bigint

任务线ID

FK→task_line

process_id

bigint

工序ID

FK→prod_process

worker_id

bigint

员工ID

FK→worker

qty_good

decimal(12,2)

合格数

qty_scrap

decimal(12,2)

废品数

start_time

datetime

开始时间

end_time

datetime

结束时间

wage_flag

tinyint(1)

已结算标记

0/1

12. 工资计算结果表 wage_calc

字段名

类型

描述

主键

外键

备注

id

bigint

主键

PK

自增

worker_id

bigint

员工ID

FK→worker

task_line_id

bigint

任务线ID

FK→task_line

可空

process_id

bigint

工序ID

FK→prod_process

可空

qty_basis

decimal(12,2)

计薪数量

unit_price

decimal(10,4)

单价

amount

decimal(12,2)

金额

calc_date

date

计算日期


关键校验与扩展字段(所有表通用)ext_json json  — 用户自定义字段tenant_id bigint — 多租户revision int — 乐观锁

13. 工序主数据表 process_master

字段名

类型

描述

主键

外键

备注

id

bigint PK

主键

自增

process_code

varchar(30)

工序编码

唯一

process_name

varchar(50)

工序名称

description

varchar(200)

描述

default_std_time

decimal(8,2)

默认标准工时(分钟)

enable_flag

tinyint(1)

启用标记

1=启用

14. 工序-生产线关系表 process_line_rel

字段名

类型

描述

主键

外键

备注

id

bigint PK

主键

自增

process_id

bigint

工序ID

FK→process_master

line_id

bigint

生产线ID

FK→prod_line

seq

smallint

在线内顺序

enable_flag

tinyint(1)

启用标记

1=启用

UNIQUE

(process_id, line_id)

防重复

15. 更新后的关系链示意
process_master 1 ──< process_line_rel >── prod_lineprod_line 1 ──< task_line >── prod_taskprod_task 1 ──< prod_process >── process_master

• 通过 process_line_rel 保证“工序-生产线”多对多,且在线内有序。

设计说明

主键设计:所有主表和明细表均采用BIGINT类型的自增主键,确保系统扩展性。

单据编号:bill_no字段用于业务单据的唯一标识,建议采用"业务类型前缀+年月+流水号"的生成规则。

状态管理:通过status字段实现工作流控制,不同状态对应不同的操作权限。

时间戳:create_time和update_time自动记录数据创建和修改时间,便于审计追踪。

审批流程:关键业务单据设计审批人和审批时间字段,支持多级审批。

外键关联:通过prod_order_id等字段与生产订单主数据关联,确保数据一致性。

扩展性:字段设计考虑了多币种、多单位、批次管理等企业级需求。

此设计可满足制造业生产管理的基本需求,可根据具体业务场景进行调整和优化。

案例演示:

http://dms.demo.07fly.xyz

开源地址:

https://gitee.com/07fly/07flyadmin

如果您对源码&技术感兴趣,请点赞+收藏+转发+关注,大家的支持是我分享最大的动力!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值