总览
项目概览
业务全景图
核心业务流程
销售流程
采购流程
生产流程
质量流程
仓储流程
售后流程
结构与数据
系统关系
数据流
业务对象
角色权限
扩展
AI 业务
待确认事项
业务全景图
按业务意义(而非代码包结构)归类的模块-能力思维导图。
系统关系
模块之间的调用与数据依赖:实线=单据/数据流向,虚线=审批回调与辅助能力。
数据流
跨模块单据的生成与回写关系(字段带入、数量状态回写、事件通知)。
核心业务对象
点击对象行查看作用、上游、下游与数据表。对象关系见文末 ER 图(仅核心业务对象)。
对象关系图(ER)
AI 业务
项目 AI 统一采用「业务侧组装 Prompt → 模型 → 结构化 JSON → 人工确认」模式,无 Function Calling;AI 不可用时各功能回退人工。
待确认事项
源码走读中发现与文档/预期不一致、疑似未完成或需业务确认的点,均标注了出处行为。
mindmap
root((MOM 工厂数字化平台))
基础主数据 MDM
物料与SKU
物料分类
计量单位与品牌
仓库主数据
销售管理 CRM
线索
客户与联系人
商机与阶段
报价单
销售合同
开票与回款
销售目标
数据权限与公海
供应商管理 SRM
供应商档案
准入审批
资质证书
招标与比价
绩效评价
进销存与财务 ERP
采购申请
采购订单
采购来票
销售订单
付款单
收款单
结算账户
生产管理 MES
主生产计划 MPS
生产工单
生产任务
生产报工
工艺路线与工序
工单BOM
研发设计项目
安灯
仓储管理 MES-WM
仓库库区库位
到货通知
采购入库
生产领料与退料
生产入库
销售出库与退货
转移调拨
盘点
库存台账与事务
批次SN条码装箱
质量管理 MES-QC
IQC 来料检验
IPQC 过程检验
OQC 出货检验
RQC 退货检验
NCR 不合格品
质检方案与指标缺陷
设备与排班
设备台账
点检与保养
维修工单
工装夹具
班组班次与排班
售后服务
售后工单
维修记录
退货申请
数据权限
人力资源 HRM
员工档案
请假加班调岗离职
离职交接映射
考勤排班汇总
薪酬核算与发放
协同审批 BPM
Flowable 引擎
业务状态回调监听
AI 智能
发票OCR识别
报价单OCR识别
质检结果判定
物料短缺预测
生产时长与风险预测
交付预测
RAG 知识库
BI 与管理驾驶舱
SQL 配置式大屏
采购销售库存生产质量人力主题
系统底座
认证与RBAC
数据权限
字典
附件中心
定时任务与消息
flowchart TD
A[线索 crm_clue] -->|转化·仅一次| B[客户 crm_customer]
B --> C[联系人 crm_contact]
B --> D[商机 crm_business]
D -->|自定义阶段推进| E{商机结束}
E -->|赢单| F[报价单 QT·草稿0→已转合同10]
E -->|输单或无效| X[结束]
F -->|转合同·带入客户产品折扣| G[合同 HT·草稿0→审批中10]
D -->|直接建合同| G
G -->|BPM审批通过20| H[生成 ERP 销售订单 XSDD]
H -->|提交BPM| I[销售订单审批·审批中15→已审核20]
I -->|明细需生产·自动创建| J[MES 主生产计划 MPS]
I --> K[发货通知单]
K -->|审核通过| L[销售出库单·OQC→拣货→发运→出库完成]
L -->|回写出库数量与状态| M[销售订单 部分出库2/全部出库3]
G --> N[回款计划·按期数分期]
G -->|提交BPM| O[开票 KP·审批中10→通过20·累计不超合同额]
O -->|回款前必须先开票| P[回款 HK·创建即审批中10→手动审核20]
P -->|校验合同剩余额与开票剩余额| N
flowchart TD
S0[SRM 准入申请 AP·待提交0→审批中10→已通过40] --> S1[供应商档案 srm_supplier]
S1 --> S2[资质证书管理]
S1 --> S3[绩效评价·质量交付价格服务四维]
S4[SRM 招标比价·发布→投标→开标→评标→定标] -->|定标审批通过生成订单| C3
C1[采购申请 CGSQ·草稿0→审批中10] -->|提交BPM| C2{审批}
C2 -->|驳回30→可重置回草稿| C1
C2 -->|通过20且有供应商·自动生成| C3[采购订单 CGDD·审批中15→已审核20]
C2 -->|通过20无供应商| C4[手动指定供应商生成订单]
C4 --> C3
C3 -->|确认收货| C5[到货通知单·草稿0→待质检2→待入库3→完成4]
C5 -->|物料需检验·自动创建| C6[IQC 来料检验]
C6 -->|合格1或特采2 可入库| C7[采购入库单·草稿0→待上架2→待执行3→完成4]
C6 -->|不合格退货3| C8[供应商退货·待拣货→待执行→完成·库存扣减]
C6 -->|不合格报废4| C9[NCR 不合格品处置]
C7 -->|回写 inCount 与 inStatus 未入库0部分1全部2| C3
C7 -->|回写申请明细 inCount| C1
C3 -->|订单总价控制| C10[采购来票 FPD·累计金额≤订单总价]
C10 -->|付款单必须关联来票| C11[付款单 FKD·审批中15→已审核20·累计付款≤来票金额]
flowchart TD
P0[销售订单明细 needProduction=1] -->|审批通过自动创建| P1[MPS 主生产计划·草稿0→已下发1]
P1 -->|下发或合并下发| P2[生产工单·草稿0→已确认1]
P2 -->|按工艺路线工序自动生成| P3[生产任务×N·预备0→生产中1→部分完成2→完成4·可暂停9]
P3 --> P4[生产领料 或 线边虚拟库备料]
P4 --> P5[报工提交·草稿0]
P5 -->|校验:上一道工序未报满则拦截| P5
P5 -->|启用BPM则提交审批| P6{报工审批}
P6 -->|驳回| P5
P6 -->|通过且倒冲工序| P7[按工单BOM自动生成物料消耗·扣线边虚拟库FIFO允许负库存]
P6 -->|通过且质检工序| P8[产出行待检→IPQC 过程检验]
P6 -->|通过且非质检关键工序| P9[产品产出直接完工入库]
P8 -->|检验合格| P10[拆合格与不合格行入库]
P8 -->|不合格| P11[NCR 不合格品]
P9 --> P12[进度回写·仅最后一道工序报工才更新工单已生产数量]
P10 --> P12
P12 -->|已生产数量≥计划数量·自动| P13[工单完成2]
P12 -->|累计| P14[MPS 回写已生产数量并判断完成2]
P14 -->|全部完成| P15[发布 ProductionFinishedEvent→回写销售订单生产状态]
flowchart TD
T1[到货通知单 或 外协入库单] --> A1[IQC 来料检验·草稿0→完成4]
T2[报工质检工序通过后产出行] --> A2[IPQC 过程检验·草稿0→完成4]
T3[销售出库单提交] --> A3[OQC 出货检验·草稿0→完成4]
T4[生产退料单 或 销售退货单 或 售后退货] --> A4[RQC 退货检验·草稿0→完成4]
A1 --> R{检验判定 MesQcCheckResultEnum}
A2 --> R
A3 --> R
A4 --> R
R -->|1 合格| Q1[允许入库·回写来源单据推进状态]
R -->|2 特采| Q2[允许入库·并生成NCR留痕]
R -->|3 不合格退货| Q3[生成NCR·走供应商退货或销售退货]
R -->|4 不合格报废| Q4[生成NCR·走报废出库]
A2 -->|合格数量| Q5[报工转完成·产出拆行入库]
A3 -->|完成| Q6[销售出库单推进待拣货]
A4 -->|完成| Q7[退货单推进上架或入库·售后回调结论]
N1[NCR 待评审0] -->|评审| N2[已评审6]
N2 -->|处置方式:退货1报废2返工3让步接收4降级使用5| N3[已处置7]
N3 -->|关闭| N4[已关闭8]
Q8[支撑数据:质检方案·检验指标·缺陷库·指标结果] --- A1
flowchart LR
subgraph INB [入库·事务IN·库存加]
I1[采购入库]
I2[生产入库单]
I3[报工产出自动入库]
I4[销售退货入库]
I5[外协入库]
I6[杂项入库]
end
subgraph OUTB [出库·事务OUT·库存减]
O1[销售出库]
O2[生产领料]
O3[物料消耗倒冲·允许负库存]
O4[外协发料]
O5[生产退料回仓]
O6[供应商退货]
O7[杂项出库·调整或报废]
end
W[(库存台账 mes_wm_material_stock 物料×仓库×库区×库位×批次×供应商)]
INB -->|getOrCreate 加数量| W
OUTB -->|校验可用量后扣减| W
W -->|占用预留 reservedQuantity| RES[库存占用 销售出库·领料·外协·杂项·调拨]
MV[转移调拨·内部或外部] -->|成对事务 MOVE_OUT+MOVE_IN 在途| W
ST[盘点 方案→任务→明细行→结果] -->|盘盈 ADJUST_IN·盘亏 ADJUST_OUT·可冻结库存| W
W --> TX[事务流水 mes_wm_transaction 只读全量留痕]
BT[批次 mes_wm_batch·SN码·条码·装箱嵌套] --- W
WIP[[线边虚拟库 WIP_VIRTUAL_WAREHOUSE·懒初始化]] --- O3
FR[四级冻结:仓库·库区·库位·库存记录] --- W
flowchart TD
F1[客户反馈·后台人工录入工单·关联客户联系人销售订单合同] --> K1[售后工单·草稿0]
K1 -->|assignTicket 分配处理人| K2[处理中10·问题判定:一般1维修2退货3·严重度0-3]
K2 -->|维修类| R1[维修记录·待处理0→维修中10→已完成20→已关闭30·现场返厂远程]
R1 -->|completeRepair| K4[已完结50]
K2 -->|退货类创建退货申请| T1[退货申请·草稿0]
T1 -->|approveReturn 审核通过| T2[已审核20·自动创建MES销售退货单]
T2 --> T3[MES 销售退货·草稿→待检验RQC→待上架→待入库→完成]
T3 -->|质检结论回调 onReturnQualityFinished 合格特采退货报废| T4[已质检40]
T3 -->|入库完成回调 onReturnInboundFinished| T5[已入库50]
T5 -->|退款完成回调 onRefundCompleted 记录实际退款额| T6[已退款60]
T6 --> T7[已关闭70]
T2 -.->|状态流转中| T8[审核中10·预留未启用]
K2 -->|退货链路联动工单| K3[待入库30→待退款40]
K3 --> K4
K2 -->|resolveTicket| K4
K4 -->|closeTicket| K5[已关闭60]
K1 -->|cancelTicket| K9[已取消99]
K2 -->|cancelTicket| K9
PM[数据权限 bizType+bizId+userId+级别 负责人只读读写·我负责我参与下属全部四视图] --- K1
flowchart LR
MDM[MDM 主数据 物料单位仓库品牌分类] --> MES[MES 生产·仓储·质量·设备]
MDM --> ERP[ERP 采购·销售·财务]
MDM --> CRM
CRM[CRM 线索客户商机报价合同回款] -->|合同生成销售订单| ERP
SRM[SRM 供应商准入资质证书招标绩效] -->|定标生成采购订单| ERP
ERP -->|确认收货生成到货通知| MES
ERP -->|销售订单审批生成MPS| MES
MES -->|入库出库回写单据进度| ERP
MES -->|ProductionFinishedEvent| ERP
MES -->|退货质检入库回调| AS[售后工单维修退货]
CRM -->|客户主数据| AS
HRM[HRM 员工入转调离交接考勤薪酬] -.->|expandUserIds 数据可见性扩展·接口已就绪待各模块接入| CRM
BPM[BPM Flowable 审批引擎] -.->|状态事件回调·13个监听器| ERP
BPM -.-> CRM
BPM -.-> SRM
BPM -.-> MES
BPM -.-> HRM
AI[AI 平台 通义千问+Milvus] -.->|发票OCR| ERP
AI -.->|报价OCR| CRM
AI -.->|质检判定与生产预测| MES
MES --> BI[BI 管理驾驶舱 SQL配置大屏]
ERP --> BI
CRM --> BI
HRM --> BI
SYS[系统底座 认证·RBAC·字典·附件中心·定时任务] --- MDM
SYS --- MES
STG[附件中心 storage-blob+attachment 全模块统一挂附件] --- ERP
flowchart LR
subgraph S1 [销售前端 CRM]
CL[线索] --> CU[客户]
CU --> BU[商机]
BU --> QU[报价单]
QU --> CT[合同]
CT --> IV[开票]
IV --> RK[回款]
CT --> PL[回款计划]
end
subgraph S2 [执行链 ERP+MES]
SO[销售订单] --> MP[MPS]
MP --> WO[工单]
WO --> TK[任务]
TK --> FB[报工]
FB --> PP[产品产出]
PR[采购申请] --> PO[采购订单]
PO --> AN[到货通知]
AN --> IR[采购入库]
end
subgraph S3 [仓储与财务]
ST[库存台账]
PS[销售出库]
RC[收款单]
PI[采购来票] --> PA[付款单]
end
CT -->|generateSaleOrder 带入客户产品折扣定金·回写orderId| SO
SO -->|审批通过带入 saleOrderId 行ID 数量 客户 交期| MP
PO -->|确认收货带入订单行物料供应商数量| AN
AN -->|IQC完成后生成·带入合格行| IR
FB -->|BOM倒冲扣减| ST
PP -->|IN事务入库| ST
IR -->|IN事务入库·回写inCount| PO
PS -->|OUT事务出库·回写outCount| SO
FB -->|最后一道工序回写已生产数量| WO
FB -->|ProductionFinishedEvent 回写生产状态| SO
IV -->|回款强制先开票| RK
RC -->|关联CRM客户校验| CU
PA -->|关联来票与供应商| PI
erDiagram
crm_customer ||--o{ crm_business : "拥有商机"
crm_business ||--o{ crm_sale_quotation : "形成报价"
crm_sale_quotation |o--o| crm_contract : "转为合同"
crm_contract ||--o| erp_sale_order : "生成销售订单"
crm_contract ||--o{ crm_receivable_plan : "分期计划"
crm_contract ||--o{ crm_invoice : "开票"
crm_invoice ||--o{ crm_receivable : "凭票回款"
erp_sale_order ||--o{ mes_pro_mps : "需生产行触发"
mes_pro_mps ||--o{ mes_pro_work_order : "下发工单"
mes_pro_work_order ||--o{ mes_pro_task : "按工序拆任务"
mes_pro_task ||--o{ mes_pro_feedback : "报工"
mes_pro_work_order ||--o{ mes_pro_work_order_bom : "工序投料BOM"
erp_purchase_request ||--o{ erp_purchase_order : "生成采购订单"
erp_purchase_order ||--o| mes_wm_arrival_notice : "确认收货"
mes_wm_arrival_notice ||--o| mes_qc_iqc : "触发IQC"
mes_wm_arrival_notice ||--o{ mes_wm_item_receipt : "生成采购入库"
erp_sale_order ||--o{ mes_wm_product_sales : "销售出库"
mes_wm_product_sales ||--o| mes_qc_oqc : "触发OQC"
mes_pro_feedback ||--o| mes_qc_ipqc : "质检工序触发IPQC"
mes_pro_feedback ||--o{ mes_wm_product_produce : "产出入库"
mes_pro_feedback ||--o{ mes_wm_item_consume : "BOM倒冲消耗"
mes_qc_iqc ||--o| mes_qc_ncr : "不合格生成NCR"
mes_wm_item_receipt ||--o{ mes_wm_material_stock : "库存增加"
mes_wm_material_stock ||--o{ mes_wm_transaction : "事务流水"
mes_wm_material_stock }o--|| mes_wm_batch : "按批次"
after_sale_ticket ||--o{ after_sale_return : "退货申请"
after_sale_return ||--o| mes_wm_return_sales : "生成MES退货单"
mdm_item ||--o{ erp_sale_order_items : "销售明细"
mdm_item ||--o{ erp_purchase_order_items : "采购明细"
mdm_item ||--o{ mes_wm_material_stock : "库存物料"
srm_supplier ||--o{ erp_purchase_order : "供货"
srm_supplier ||--o{ mes_wm_arrival_notice : "到货来源"
erp_purchase_order ||--o{ erp_purchase_invoice : "来票"
erp_purchase_invoice ||--o{ erp_finance_payment : "付款"
hrm_employee ||--o| hrm_user_handover : "离职交接映射"
flowchart TD
U1[采购员上传发票文件 blobId] --> O1{文件类型}
O1 -->|图片 png/jpg/gif/bmp| O2[chatWithImage 多模态视觉模型]
O1 -->|PDF| O3[PDFBox 抽取文本 → chat]
O1 -->|txt/csv| O4[直读文本 → chat]
O2 --> O5[JSON 发票号 抬头 供应商 金额 税率 日期]
O3 --> O5
O4 --> O5
O5 --> O6[预填采购来票表单·人工确认]
Q1[销售上传报价单 PDF/Word/Excel/图片] --> Q2[POI/PDFBox/视觉识别]
Q2 --> Q3[JSON 报价头+产品明细行] --> Q4[预填报价单表单]
J1[质检单头+指标结果+缺陷记录] --> J2[业务侧组装Prompt → chat]
J2 --> J3[MdmItemApi 物料名·SrmSupplierApi 供应商名·CrmCustomerApi 客户名 拼入上下文]
J3 --> J4[建议结果:合格/特采/退货/报废+理由+要点]
J4 --> J5[质检员参考判定·AI不可用时提示人工判定]
R1[工单BOM+库存可用量+已投料] --> R2[物料短缺预测·风险等级与缺口清单]
R3[工序标准工时+设备每小时产量+传送倍率] --> R4[生产时长预测]
R5[IPQC缺陷率+设备保养点检+物料可用率+关键工序] --> R6[生产风险预测]
R7[进度+剩余天数+任务完成状态+客户交期] --> R8[交付预测·能否按时+置信度+延误因素]
KB1[知识库文档上传URL] --> KB2[POI/Tika提取文本] --> KB3[切片约800tokens→向量化→Milvus]
KB3 --> KB4[分段检索接口 topK+相似度阈值]
KB4 -.-> KB5[暂未接入业务问答流程·待确认]
MODE[模型层:通义千问为主·预留DeepSeek/OpenAI/Ollama未实现] --- O2
NOTE[全项目无Function Calling·AI只输出结构化JSON由业务侧解析] --- J2