生产计划模块 - 数据模型
本文档定义生产计划模块的数据库表结构、实体关系和视图设计。
1. 实体关系图 (ER Diagram)
2. 生产计划单表 (mp_plan)
API 路径: /mp/plan/order
2.1 主表结构
| 字段名 |
类型 |
长度 |
允许空 |
默认值 |
说明 |
| planId |
bigint |
- |
N |
- |
计划ID (主键) |
| planCode |
varchar |
32 |
N |
- |
计划单编码 |
| planDate |
date |
- |
N |
- |
计划日期 |
| status |
varchar |
20 |
N |
'DRAFT' |
单据状态 |
| businessStatus |
varchar |
20 |
N |
'NORMAL' |
业务状态 |
| businessType |
varchar |
20 |
N |
- |
业务类型 |
| workType |
int |
- |
N |
0 |
工作类型(0生产计划/1零部件计划/2零部件订单) |
| salesOrderId |
bigint |
- |
Y |
- |
销售订单ID |
| salesOrderCode |
varchar |
32 |
Y |
- |
销售订单编码 |
| salesUserId |
bigint |
- |
Y |
- |
销售员ID |
| salesUserName |
varchar |
50 |
Y |
- |
销售员名称 |
| deliveryDate |
date |
- |
Y |
- |
订单交期 |
| bomId |
bigint |
- |
Y |
- |
BOM ID |
| bomVersion |
varchar |
20 |
Y |
- |
BOM版本号 |
| bomDesc |
varchar |
200 |
Y |
- |
BOM版本说明 |
| totalQuantity |
decimal |
18,4 |
Y |
0 |
生产总量 |
| remark |
varchar |
500 |
Y |
- |
备注 |
| operatorId |
bigint |
- |
Y |
- |
操作员ID |
| operatorName |
varchar |
50 |
Y |
- |
操作员名称 |
| approverId |
bigint |
- |
Y |
- |
审核员ID |
| approverName |
varchar |
50 |
Y |
- |
审核员名称 |
| approveDate |
datetime |
- |
Y |
- |
审核日期 |
| delFlag |
char |
1 |
N |
'0' |
删除标志 |
| createBy |
varchar |
64 |
Y |
- |
创建者 |
| createTime |
datetime |
- |
Y |
- |
创建时间 |
| updateBy |
varchar |
64 |
Y |
- |
更新者 |
| updateTime |
datetime |
- |
Y |
- |
更新时间 |
| tenantId |
varchar |
20 |
N |
- |
租户ID |
2.2 明细表结构 (mp_plan_line)
| 字段名 |
类型 |
长度 |
允许空 |
默认值 |
说明 |
| lineId |
bigint |
- |
N |
- |
明细ID (主键) |
| planId |
bigint |
- |
N |
- |
计划ID (外键) |
| planCode |
varchar |
32 |
N |
- |
计划单编码 |
| lineNo |
int |
- |
N |
- |
行号 |
| salesLineId |
bigint |
- |
Y |
- |
销售订单明细ID |
| trackCode |
varchar |
32 |
Y |
- |
跟单编号 |
| itemId |
bigint |
- |
N |
- |
物料ID |
| itemCode |
varchar |
32 |
N |
- |
物料编码 |
| itemName |
varchar |
100 |
N |
- |
物料名称 |
| specification |
varchar |
200 |
Y |
- |
型号规格 |
| unitId |
bigint |
- |
Y |
- |
计量单位ID |
| unitName |
varchar |
20 |
Y |
- |
计量单位 |
| quantity |
decimal |
18,4 |
N |
0 |
生产数量 |
| qualityReq |
varchar |
200 |
Y |
- |
质量要求 |
| remark |
varchar |
200 |
Y |
- |
备注 |
| delFlag |
char |
1 |
N |
'0' |
删除标志 |
| createTime |
datetime |
- |
Y |
- |
创建时间 |
| tenantId |
varchar |
20 |
N |
- |
租户ID |
2.3 索引设计
| 索引名 |
索引字段 |
类型 |
说明 |
| pk_plan |
planId |
主键 |
主键索引 |
| uk_plan_code |
planCode, tenantId |
唯一 |
计划单编码唯一 |
| idx_plan_sales |
salesOrderId |
普通 |
销售订单查询 |
| idx_plan_date |
planDate |
普通 |
日期查询 |
| idx_plan_status |
status |
普通 |
状态查询 |
| pk_plan_line |
lineId |
主键 |
明细主键 |
| idx_line_plan |
planId |
普通 |
计划单关联 |
| idx_line_item |
itemId |
普通 |
物料查询 |
3. 物料清单表 (mp_mbom)
API 路径: /mp/plan/mbom
3.1 主表结构
| 字段名 |
类型 |
长度 |
允许空 |
默认值 |
说明 |
| mbomId |
bigint |
- |
N |
- |
物料清单ID (主键) |
| mbomCode |
varchar |
32 |
N |
- |
物料清单编码 |
| mbomDate |
date |
- |
N |
- |
单据日期 |
| status |
varchar |
20 |
N |
'DRAFT' |
单据状态 |
| businessType |
varchar |
20 |
N |
- |
业务类型(BOM运算/生产补料) |
| issueStatus |
varchar |
20 |
Y |
- |
下发状态 |
| planId |
bigint |
- |
N |
- |
生产计划ID |
| planCode |
varchar |
32 |
N |
- |
生产计划编码 |
| salesOrderId |
bigint |
- |
Y |
- |
销售订单ID |
| salesOrderCode |
varchar |
32 |
Y |
- |
销售订单编码 |
| deliveryDate |
date |
- |
Y |
- |
订单交期 |
| itemId |
bigint |
- |
N |
- |
产品物料ID |
| itemCode |
varchar |
32 |
N |
- |
产品物料编码 |
| itemName |
varchar |
100 |
N |
- |
产品物料名称 |
| unitName |
varchar |
20 |
Y |
- |
计量单位 |
| supplyType |
varchar |
20 |
Y |
- |
供应方式(采购/自制/委外) |
| quantity |
decimal |
18,4 |
N |
0 |
生产数量 |
| workshopId |
bigint |
- |
Y |
- |
下发车间ID |
| workshopName |
varchar |
50 |
Y |
- |
下发车间名称 |
| remark |
varchar |
500 |
Y |
- |
备注 |
| operatorId |
bigint |
- |
Y |
- |
操作员ID |
| operatorName |
varchar |
50 |
Y |
- |
操作员名称 |
| approverId |
bigint |
- |
Y |
- |
审核员ID |
| approverName |
varchar |
50 |
Y |
- |
审核员名称 |
| approveDate |
datetime |
- |
Y |
- |
审核日期 |
| delFlag |
char |
1 |
N |
'0' |
删除标志 |
| createBy |
varchar |
64 |
Y |
- |
创建者 |
| createTime |
datetime |
- |
Y |
- |
创建时间 |
| updateBy |
varchar |
64 |
Y |
- |
更新者 |
| updateTime |
datetime |
- |
Y |
- |
更新时间 |
| tenantId |
varchar |
20 |
N |
- |
租户ID |
3.2 明细表结构 (mp_mbom_line)
| 字段名 |
类型 |
长度 |
允许空 |
默认值 |
说明 |
| lineId |
bigint |
- |
N |
- |
明细ID (主键) |
| mbomId |
bigint |
- |
N |
- |
物料清单ID (外键) |
| mbomCode |
varchar |
32 |
N |
- |
物料清单编码 |
| lineNo |
int |
- |
N |
- |
行号 |
| parentItemId |
bigint |
- |
Y |
- |
父级物料ID |
| bomLevel |
int |
- |
Y |
1 |
BOM层级 |
| itemId |
bigint |
- |
N |
- |
子件物料ID |
| itemCode |
varchar |
32 |
N |
- |
子件物料编码 |
| itemName |
varchar |
100 |
N |
- |
子件物料名称 |
| specification |
varchar |
200 |
Y |
- |
型号规格 |
| unitName |
varchar |
20 |
Y |
- |
计量单位 |
| baseQty |
decimal |
18,6 |
Y |
1 |
基本用量 |
| quantity |
decimal |
18,4 |
N |
0 |
需求数量 |
| lossRate |
decimal |
5,2 |
Y |
0 |
损耗率% |
| supplyType |
varchar |
20 |
Y |
- |
供应方式 |
| remark |
varchar |
200 |
Y |
- |
备注 |
| delFlag |
char |
1 |
N |
'0' |
删除标志 |
| createTime |
datetime |
- |
Y |
- |
创建时间 |
| tenantId |
varchar |
20 |
N |
- |
租户ID |
4. 采购计划单表 (mp_purchase)
API 路径: /mp/plan/purchase
4.1 主表结构
| 字段名 |
类型 |
长度 |
允许空 |
默认值 |
说明 |
| purchaseId |
bigint |
- |
N |
- |
采购计划ID (主键) |
| purchaseCode |
varchar |
32 |
N |
- |
采购计划编码 |
| purchaseDate |
date |
- |
N |
- |
计划日期 |
| status |
varchar |
20 |
N |
'DRAFT' |
单据状态 |
| needType |
int |
- |
N |
0 |
需求方式(0订单用料/1库存备料) |
| planId |
bigint |
- |
Y |
- |
生产计划ID |
| planCode |
varchar |
32 |
Y |
- |
生产计划编码 |
| salesOrderId |
bigint |
- |
Y |
- |
销售订单ID |
| salesOrderCode |
varchar |
32 |
Y |
- |
销售订单编码(跟单单号) |
| deliveryDate |
date |
- |
Y |
- |
订单交期 |
| itemId |
bigint |
- |
N |
- |
物料ID |
| itemCode |
varchar |
32 |
N |
- |
物料编码 |
| itemName |
varchar |
100 |
N |
- |
物料名称 |
| specification |
varchar |
200 |
Y |
- |
型号规格 |
| unitName |
varchar |
20 |
Y |
- |
计量单位 |
| purchaseQty |
decimal |
18,4 |
N |
0 |
采购数量 |
| orderedQty |
decimal |
18,4 |
Y |
0 |
已订数量 |
| remark |
varchar |
500 |
Y |
- |
备注 |
| operatorId |
bigint |
- |
Y |
- |
操作员ID |
| operatorName |
varchar |
50 |
Y |
- |
操作员名称 |
| approverId |
bigint |
- |
Y |
- |
审核员ID |
| approverName |
varchar |
50 |
Y |
- |
审核员名称 |
| approveDate |
datetime |
- |
Y |
- |
审核日期 |
| delFlag |
char |
1 |
N |
'0' |
删除标志 |
| createBy |
varchar |
64 |
Y |
- |
创建者 |
| createTime |
datetime |
- |
Y |
- |
创建时间 |
| updateBy |
varchar |
64 |
Y |
- |
更新者 |
| updateTime |
datetime |
- |
Y |
- |
更新时间 |
| tenantId |
varchar |
20 |
N |
- |
租户ID |
5. 零部件订单表 (mp_parts)
API 路径: /mp/plan/order/parts
5.1 主表结构
| 字段名 |
类型 |
长度 |
允许空 |
默认值 |
说明 |
| partsId |
bigint |
- |
N |
- |
零部件订单ID (主键) |
| partsCode |
varchar |
32 |
N |
- |
零部件订单编码 |
| partsDate |
date |
- |
N |
- |
单据日期 |
| status |
varchar |
20 |
N |
'DRAFT' |
单据状态 |
| itemId |
bigint |
- |
N |
- |
零部件物料ID |
| itemCode |
varchar |
32 |
N |
- |
零部件物料编码 |
| itemName |
varchar |
100 |
N |
- |
零部件物料名称 |
| specification |
varchar |
200 |
Y |
- |
型号规格 |
| drawingNo |
varchar |
50 |
Y |
- |
图纸号 |
| unitName |
varchar |
20 |
Y |
- |
计量单位 |
| quantity |
decimal |
18,4 |
N |
0 |
订单数量 |
| planQty |
decimal |
18,4 |
Y |
0 |
计划数量 |
| completedQty |
decimal |
18,4 |
Y |
0 |
完成数量 |
| remark |
varchar |
500 |
Y |
- |
备注 |
| operatorId |
bigint |
- |
Y |
- |
操作员ID |
| operatorName |
varchar |
50 |
Y |
- |
操作员名称 |
| approverId |
bigint |
- |
Y |
- |
审核员ID |
| approverName |
varchar |
50 |
Y |
- |
审核员名称 |
| approveDate |
datetime |
- |
Y |
- |
审核日期 |
| delFlag |
char |
1 |
N |
'0' |
删除标志 |
| createBy |
varchar |
64 |
Y |
- |
创建者 |
| createTime |
datetime |
- |
Y |
- |
创建时间 |
| updateBy |
varchar |
64 |
Y |
- |
更新者 |
| updateTime |
datetime |
- |
Y |
- |
更新时间 |
| tenantId |
varchar |
20 |
N |
- |
租户ID |
6. 视图设计
6.1 生产计划明细视图 (v_mp_plan_detail)
6.2 采购计划执行视图 (v_mp_purchase_exec)
6.3 采购计划汇总视图 (v_mp_purchase_summary)
7. 状态枚举定义
7.1 单据状态 (status)
| 枚举值 |
中文名 |
说明 |
| DRAFT |
开立 |
草稿,可编辑 |
| APPROVED |
审核 |
已审核,不可编辑 |
| CLOSED |
关闭 |
已关闭 |
7.2 业务状态 (businessStatus)
| 枚举值 |
中文名 |
说明 |
| NORMAL |
正常 |
正常执行 |
| PAUSE |
暂停 |
暂停执行 |
| CANCEL |
取消 |
已取消 |
7.3 下发状态 (issueStatus)
| 枚举值 |
中文名 |
说明 |
| NOT_ISSUED |
未下发 |
未下发到车间 |
| ISSUED |
已下发 |
已下发到车间 |
| COMPLETED |
已完成 |
生产完成 |
7.4 供应方式 (supplyType)
| 枚举值 |
中文名 |
说明 |
| PURCHASE |
采购 |
外部采购 |
| SELF_MADE |
自制 |
自己生产 |
| OUTSOURCE |
委外 |
委外加工 |
7.5 业务类型 (businessType)
| 枚举值 |
中文名 |
说明 |
| PRODUCTION_PLAN |
生产计划 |
生产计划单 |
| BOM_CALC |
BOM运算 |
BOM运算生成 |
| SUPPLEMENT |
生产补料 |
补料计划 |
7.6 工作类型 (workType)
| 枚举值 |
中文名 |
说明 |
| 0 |
生产计划单 |
主生产计划 |
| 1 |
零部件计划单 |
零部件生产计划 |
| 2 |
零部件订单 |
零部件加工订单 |
7.7 需求方式 (needType)
| 枚举值 |
中文名 |
说明 |
| 0 |
订单用料 |
按订单需求采购 |
| 1 |
库存备料 |
备库采购 |
8. API 模块路径对照
| 业务模块 |
API前缀 |
说明 |
| 生产计划单 |
/mp/plan/order |
主生产计划 |
| 零部件订单 |
/mp/plan/order/parts |
零部件订单 |
| 零部件计划单 |
/mp/plan/order/mach |
零部件计划 |
| 物料清单 |
/mp/plan/mbom |
BOM运算结果 |
| 采购计划单 |
/mp/plan/purchase |
订单用料计划 |
| 备库计划单 |
/mp/plan/purchase/bl |
库存备料计划 |
| 计划执行明细 |
/mp/plan/detail |
执行明细报表 |
| 计划执行汇总 |
/mp/plan/total |
执行汇总报表 |
| 生产计划需求 |
/mp/plan/reorder |
生产需求报表 |
| 采购计划需求 |
/mp/plan/need |
采购需求报表 |
9. 数据权限说明
9.1 租户隔离
所有表都包含 tenantId 字段,用于多租户数据隔离。
9.2 数据权限范围
| 权限类型 |
说明 |
| 全部数据 |
可查看所有数据 |
| 部门数据 |
只能查看本部门数据 |
| 部门及以下数据 |
可查看本部门及下级部门数据 |
| 仅本人数据 |
只能查看自己创建的数据 |
10. 关联关系说明
10.1 与销售模块关联
mp_plan.salesOrderId -> so_order.orderId
mp_plan.salesOrderCode -> so_order.orderCode
mp_plan_line.salesLineId -> so_order_line.lineId
10.2 与采购模块关联
mp_purchase -> po_order (生成采购订单)
- 采购计划审核后可生成采购订单
10.3 与生产模块关联
mp_mbom -> pm_task (生成生产任务单)
- 物料清单下发后生成生产任务
10.4 与基础数据关联
itemId -> md_item.itemId (物料档案)
bomId -> md_bom.bomId (BOM档案)
workshopId -> wm_workshop.workshopId (车间档案)