# 元利 MES 项目详细流程图 生成日期:2026-05-25 依据文档:`元利项目详细分析.md` 说明: - 本文把 `元利项目详细分析.md` 中的页面、存储过程、SAP 调用、看板和新增隐性需求整理为可维护的 Mermaid 流程图。 - 图中页面路径以 `src/views/...` 为主,过程名称以文档分析到的 `CreateData(type, name, params)` 调用为主。 - `type=11` 通常表示查询/读取或通用执行,`type=12` 通常表示写入/业务动作,具体仍以后端实现为准。 ## 1. 系统总体架构流程 ```mermaid flowchart TD U[用户/班组/计划/质检/设备/管理层] --> FE[Vue 2.7 前端页面] FE --> ROUTE[动态菜单/路由/权限] ROUTE --> PAGE[src/views 业务页面] PAGE --> CD[CreateData type + procedure + params] CD --> ED[ExecDatabase 统一后端接口] ED --> SP[SQL Server 存储过程] SP --> DB[(YL_MESDB)] PAGE --> B1[src/api/b1s.js] B1 --> SAP[SAP B1 Service Layer] SP --> SAPDB[(SAP.SBO_YL 跨库/同步表)] PAGE --> TM[tm 仓储/条码任务接口] TM --> WMS[库存/条码任务服务] DB --> VIEW[业务视图/报表视图] VIEW --> PAGE VIEW --> DASH[生产/装配/质检/机加/综合看板] SAPDB --> VIEW SAP --> PAGE WMS --> PAGE ``` 关键链路: - 前端页面不直接写 SQL,而是通过 `CreateData` 组装过程名和参数。 - SAP 既有前端直接调用 B1 Service Layer,也有 SQL 跨库或同步表读取。 - 看板主要读存储过程和视图,本身通常不维护业务数据。 ## 2. 登录、菜单、权限与页面访问流程 ```mermaid flowchart TD A[进入登录页 src/views/login] --> B[输入工号/密码] B --> C[登录基础数据_人员信息_登陆检查密码] C --> D{校验通过?} D -- 否 --> E[提示登录失败] D -- 是 --> F[写入 Token/用户信息] F --> G[加载用户角色/菜单权限] G --> H[登录基础数据_二级菜单/角色权限] H --> I[生成动态路由] I --> J[进入 Layout] J --> K[侧边栏/标签页/AppMain] K --> L[打开具体业务页面] ``` 涉及页面: - `src/views/login/index.vue` - `src/views/layout/Layout.vue` - `src/views/layout/components/Sidebar` - `src/views/SystemMaintenance/MenuManagement` - `src/views/SystemMaintenance/SystemRrolemaintenance` ## 3. 基础资料维护总流程 ```mermaid flowchart TD A[系统基础资料] --> B[人员/组织/角色] A --> C[工位/设备/SAP Resource] A --> D[班次/人员绑定] A --> E[工序/物料/图纸/产品结构] B --> B1[PersonnelManagement/OrgManagement/SystemRole] B1 --> B2[人员、岗位、班组、权限] C --> C1[WorkstationManagement] C1 --> C2[维护工位] C2 --> C3{是否同步 SAP Resource?} C3 -- 是 --> C4[POST/PATCH /Resources] C3 -- 否 --> C5[仅 MES 保存] C4 --> C6[记录同步状态/失败原因] C5 --> C6 C --> C7[DeviceInformation] C7 --> C8[设备名称/型号/类型/工位/点检/能力] D --> D1[ShiftManagement/PersonnelBinding] D1 --> D2[班次规则/人员工位绑定] E --> E1[ProcedureManagement] E1 --> E2[工序基础数据] E2 --> E3{是否同步 SAP RouteStages?} E3 -- 是 --> E4[POST/PATCH /RouteStages] E3 -- 否 --> E5[MES 本地维护] ``` 维护口径: - 缺勤人员不能由看板维护,必须来自班次/排班、人员工位绑定和实到来源。 - 设备 OEE 基础数据应分散在设备档案、工位、工艺、采集配置中维护,不应只靠看板公式。 ## 4. 工艺、图纸、标准工艺、生产工艺流程 ```mermaid flowchart TD A[产品/物料/图纸基础] --> B[产品结构维护 CraftMaintain] A --> C[零件图纸 PartDrawing] A --> D[工艺图纸 ProcessDrawing] A --> E[工序基础 ProcedureManagement] B --> F[制定标准工艺 ProcessesDevelop] C --> F D --> F E --> F F --> G[标准工艺库] G --> G1[工序顺序] G --> G2[标准工时/准备工时] G --> G3[是否关键工序] G --> H[生产工艺 ProcessProduct] H --> I{订单是否已有生产工艺?} I -- 是 --> J[编辑订单级生产工艺] I -- 否 --> K[按物料带出标准工艺草稿] K --> L{用户保存?} L -- 否 --> M[不写入生产工艺] L -- 是 --> N[写入生产工艺库] J --> O[启用/下发生产工艺] N --> O O --> P[生成任务可用工艺快照] P --> Q[排产/报工/质检/看板读取] ``` 关键结论: - `关键工序` 应在标准工艺和生产工艺维护。 - 生产任务下发时应快照关键工序和标准工时,避免后续改标准工艺影响历史任务。 - 质检大屏、机加大屏只读取关键工序,不作为维护入口。 ## 5. 生产订单、机加排产与 SAP 回写流程 ```mermaid flowchart TD A[SAP/MES 生产订单同步] --> B[MES_接口_生产计划] B --> C[待排产 SelfMakePlan] C --> D[选择订单/工序/设备/工位/时间] D --> E[排产保存] E --> F[MES_接口_生产计划_生产任务] F --> G[任务排产状态=已排产] E --> H{是否回写 SAP 生产订单日期?} H -- 是 --> I[PATCH /ProductionOrders] I --> J{SAP 回写成功?} J -- 是 --> K[记录同步成功] J -- 否 --> L[记录失败原因/待重试] H -- 否 --> M[仅 MES 排产] G --> N[已排产 SelfMakePlando/SelfMakePlandone] N --> O[生产计划跟踪/及时开工/机加中心] ``` 涉及页面: - `PlanManagement/SelfMakePlan` - `PlanManagement/SelfMakePlando` - `PlanManagement/SelfMakePlandone` - `ProductionManagement/ProductionPlanTrack` - `AnomalousManagement/PunctualWork` 风险点: - MES 排产成功但 SAP 回写失败时,需要保留同步状态和失败原因。 - 已排产页面新增历史工时、总工时后,必须明确工时来源是生产报工、质检、异常还是设备采集。 ## 6. 装配排产、外购申请与 SAP 流程 ```mermaid flowchart TD A[装配/电气/系统相关订单] --> B[InstallMakePlan 待排产] B --> C[选择装配任务/计划时间/优先级] C --> D[保存装配排产] D --> E[生成装配生产任务] C --> F{需要采购申请?} F -- 是 --> G[POST /PurchaseRequests] G --> H{SAP 采购申请成功?} H -- 是 --> I[记录 SAP 采购请求号] H -- 否 --> J[记录失败/允许重试] F -- 否 --> K[不生成采购申请] D --> L{是否回写 SAP 生产订单?} L -- 是 --> M[PATCH /ProductionOrders] M --> N[同步派工/日期/说明] L -- 否 --> O[仅 MES 保存] E --> P[InstallMakePlanDo/装配中心/装配看板] ``` 涉及页面: - `PlanManagement/InstallMakePlan` - `PlanManagement/InstallMakePlanDo` - `ProductionManagement/AssemblyCenter` - `装配任务看板` 新增需求影响: - 发料齐套时间、装配完成时间、手续确认、送检状态会反向要求装配排产和装配中心补字段。 ## 7. 机加生产执行流程 ```mermaid flowchart TD A[已排产机加任务] --> B[MachiningCenter 机加中心] B --> C{任务是否可开工?} C -- 否 --> C1[显示不可操作原因: 未齐套/上序未合格/异常/编程未完成/设备占用] C -- 是 --> D[开始加工/开工] D --> E[操作记录表写入开始时间/人员/设备] E --> F[加工过程] F --> G{是否异常?} G -- 是 --> H[直接报异常] H --> I[AbnormalControl 异常管控] I --> F F --> J[结束报工] J --> K[写入 YL_加工中心_操作记录表] K --> L[更新完成数量/工时/任务状态] L --> M{是否需要质检?} M -- 是 --> N[进入质检任务/序检/首检/终检] M -- 否 --> O[进入下序或完成] O --> P{是否入库/转序/外协?} P -- 转序 --> A P -- 入库 --> Q[入库/库存任务] P -- 外协 --> R[外协流程] ``` 涉及对象: - `YL_加工中心_操作记录表` - `MES_接口_生产计划_生产任务` - `View_生产订单_MES` - `ProductionManagement/MachiningCenter` 新增需求影响: - 编程任务完成状态可能成为开工前置条件。 - 设备采集工时、程序工时、人工报工工时需要区分。 - 条码拣配会影响齐套、发料、可开工状态。 ## 8. 装配中心执行流程 ```mermaid flowchart TD A[已排产装配任务] --> B[AssemblyCenter 装配中心] B --> C[查询 SAP/MES 订单、物料、发料、齐套] C --> D{发料/齐套是否满足?} D -- 否 --> E[缺件/待发料/不可开工] E --> F[缺件明细/预计可执行时间] D -- 是 --> G[开始装配] G --> H[装配报工/工时记录] H --> I{是否产生异常?} I -- 是 --> J[直接报异常 -> AbnormalControl] I -- 否 --> K[继续装配] K --> L[装配完成/更新任务状态] L --> M{是否需要送检?} M -- 是 --> N[送检/质检任务] M -- 否 --> O[入库/发货/后续确认] L --> P[手续确认报表] P --> Q{手续确认完成?} Q -- 否 --> R[待办保留] Q -- 是 --> S[从待办消失] O --> T[装配看板/生产任务看板] ``` 关键新增字段: - 发料齐套时间 - 装配完成时间 - 送检状态/送检时间 - 手续确认、确认人、确认时间 - 当前对应人员/当前对应内容 ## 9. 质检业务流程 ```mermaid flowchart TD A[质检任务来源] --> A1[机加报工后待检] A --> A2[装配送检] A --> A3[采购入库检] A --> A4[序检收检/外协收检] A --> A5[退库/销售退货/其他入库] A1 --> B[QualityCenter/CheckTask] A2 --> B A3 --> B A4 --> B A5 --> B B --> C[录入检验结果] C --> D{合格?} D -- 是 --> E[合格数量/质检完成] D -- 否 --> F[不合格处理 Unqualified] F --> G{处置方式} G -- 返工 --> H[回生产/返修] G -- 报废 --> I[报废记录] G -- 让步接收 --> J[让步接收字段] G -- 复检 --> K[生成复检/再次检验] E --> L{是否 SAP 收货/库存动作?} L -- 是 --> M[PurchaseDeliveryNotes 或库存任务] L -- 否 --> N[MES 本地完成] J --> O[让步接收记录查询页] E --> P[质检看板/及时检验/生产日报] ``` 涉及页面: - `QualityManagement/QualityCenter` - `QualityManagement/CheckTask/processReceive` - `QualityManagement/CheckTask/purchaseIncoming` - `QualityManagement/CheckTask/final` - `QualityManagement/Unqualified` - `QualityManagement/QualityDetails` 新增需求影响: - 及时检验要以生产完成/报工完成时间为起点。 - 关键工序要从工艺/任务快照读取。 - 让步接收记录页只查询,不应成为维护入口。 ## 10. 外协业务流程 ```mermaid flowchart TD A[生产任务指派对象=外协] --> B[OutsourceMange 外协管理] B --> C[生成外协任务/采购申请] C --> D{是否提交 SAP 采购申请?} D -- 是 --> E[POST /PurchaseRequests] E --> F{SAP 成功?} F -- 是 --> G[记录采购请求/单据关系] F -- 否 --> H[记录失败/重试] D -- 否 --> I[MES 本地外协任务] G --> J[外协加工/供应商交付] I --> J J --> K[序检收检/外协收货] K --> L[记录供应商/SAP采购收货单号/指派对象] L --> M{质检合格?} M -- 是 --> N[SAP PurchaseDeliveryNotes/入库] M -- 否 --> O[不合格/返修/让步] N --> P[外协报表/供应商质量统计] O --> P ``` 涉及页面: - `ProductionManagement/OutsourceMange` - `ProductionManagement/OutsourceSheet` - `ProductionManagement/SaleOutsourceMange` - `QualityManagement/CheckTask/processReceive` 关键修正: - 供应商、SAP 采购收货单号、指派对象应在外协/序检收检链路维护,报表只消费这些字段。 ## 11. 工时、SAP 工时校验与投料流程 ```mermaid flowchart TD A[报工/设备采集/质检/装配] --> B[工时来源汇总] B --> B1[人工报工工时] B --> B2[设备运行工时] B --> B3[程序工时] B --> B4[质检/装配/设计/编程工时] B1 --> C[Workhours/Timesheet/WorkHoursCheck] B2 --> C B3 --> C B4 --> C C --> D[工时校验] D --> E{是否提交 SAP?} E -- 否 --> F[MES 工时报表/绩效] E -- 是 --> G[GET /ProductionOrders] G --> H[匹配 SAP 工序/资源] H --> I[POST /InventoryGenExits 投料] H --> J[PATCH /ProductionOrders 更新工序资源/工时] I --> K{SAP 成功?} J --> K K -- 是 --> L[记录提交成功] K -- 否 --> M[记录失败原因/允许重试] ``` 涉及页面: - `ProductionManagement/WorkHoursCheck` - `ProductionManagement/WorkhoursEdit` - `ProductionManagement/Workhours` - `ProductionManagement/Timesheet` 风险点: - 程序工时、设备工时、人工工时不是同一口径。 - 上 SAP 的工时要明确是否包含设计、编程、质检、装配、异常。 ## 12. 异常管控流程 ```mermaid flowchart TD A[报工/质检/外协/装配/设计/编程页面] --> B[选择任务] B --> C[点击报异常] C --> D[带出任务/订单/工序/人员信息] D --> E[填写异常类型/说明/附件] E --> F[选择审批人 多选] F --> G[保存异常] G --> H[AbnormalControl 异常管控] H --> I[审批人待办可见] I --> J{任一审批人处理?} J -- 否 --> K[异常未关闭] J -- 是 --> L[记录实际处理人] L --> M[异常进入下一状态/关闭] K --> N[影响任务可操作性/及时开工/看板] M --> O[任务恢复或结束] ``` 关键规则: - 多审批人不是会签,是多人可见、一人处理。 - 异常需要带业务域、任务、工序、责任部门,否则看板异常数会混淆。 ## 13. 生产订单关闭与 SAP 状态同步流程 ```mermaid flowchart TD A[生产订单关闭 PlannOrderClose] --> B[查询可关闭订单] B --> C[选择单个或批量订单] C --> D[二次确认] D --> E[逐单 PATCH /ProductionOrders] E --> F{单据关闭成功?} F -- 是 --> G[记录成功/更新 MES 状态] F -- 否 --> H[记录失败原因] H --> I[失败项重试] G --> J[刷新关闭页] H --> J J --> K[影响排产页/生产中心/手续确认/看板] ``` 要求: - 批量关闭不应“一条失败全批失败”,应逐单记录成功/失败。 - 关闭结果要被排产、生产中心、装配看板、手续确认报表识别。 ## 14. 看板数据汇总流程 ```mermaid flowchart TD A[主系统业务数据] --> B[统一视图/存储过程] C[SAP 同步表/跨库表] --> B D[设备采集缓存/历史] --> B E[质检记录/报工记录] --> B B --> P[生产任务看板] B --> Q[装配任务看板] B --> R[质检任务看板] B --> S[机加设备生产运营看板] B --> T[TableTV 工位监控] B --> U[board_view 综合大屏] P --> P1[齐套率/待排产/未及时开工/加急/未入库] Q --> Q1[装配任务/发货状态/缺件/异常/缺勤] R --> R1[未清/及时率/关键工序/当天完成] S --> S1[设备状态/在制/关键工序/缺勤/OEE] U --> U1[合同进度/工时/采购/库存/OEE] ``` 看板治理规则: - 看板只展示和钻取,不作为主维护入口。 - SAP 类指标必须有同步时间和同步状态。 - `GETDATE()` 型实时指标如要做日报/历史回看,应补统计日期或日快照。 - `board_view` 中 OEE、采购、库存等占位指标上线前必须接真实数据或隐藏。 ## 15. 新增需求与维护入口判断流程 ```mermaid flowchart TD A[收到新增需求/新增字段] --> B{字段性质是什么?} B -- 主数据 --> C[找基础维护页: 人员/班次/工位/设备/工序/工艺] B -- 订单过程数据 --> D[找业务页: 计划/排产/装配/机加/质检] B -- SAP 同步数据 --> E[找 SAP 同步表/接口/同步时间] B -- 设备采集数据 --> F[找采集原始表/设备状态历史/任务绑定] B -- 人工确认 --> G[待办页维护并记录确认人时间] B -- 计算指标 --> H[统一视图/过程/快照] C --> I{现有页面能承载?} D --> I E --> I F --> I G --> I H --> I I -- 是 --> J[扩展现有页面/过程] I -- 否 --> K[新增维护页或业务页] J --> L[同步菜单/权限/日志/历史策略] K --> L L --> M[检查影响看板/报表/SAP/历史数据] M --> N[开发排期] ``` 典型判断: - 缺勤人员:先确认排班/应到和实到来源;没有维护入口则新增或扩展排班/出勤维护。 - 关键工序:在标准工艺和生产工艺维护,任务下发快照,看板只读取。 - 让步接收:质检中心维护,记录页只查询。 - OEE:设备采集、报工、质检、工艺标准工时共同计算,不是人工维护字段。 ## 16. 端到端生产业务主流程 ```mermaid flowchart TD A[SAP/MES 生产订单] --> B[工艺准备] B --> B1[标准工艺] B1 --> B2[生产工艺] B2 --> B3[任务工艺快照] A --> C[计划排产] C --> C1[机加排产] C --> C2[装配排产] C1 --> D[生产执行] C2 --> E[装配执行] D --> F[报工/工时/设备采集] E --> G[装配报工/发料/齐套/送检] F --> H[质检] G --> H H --> I{质量结果} I -- 合格 --> J[入库/转序/交付] I -- 不合格 --> K[返工/报废/让步接收/复检] K --> D J --> L[工时校验/SAP 投料/订单状态] L --> M[订单关闭] M --> N[报表/看板/日报] D --> O[异常管控] E --> O H --> O O --> N N --> P[管理层 KPI/现场大屏/追溯查询] ``` 这个主流程是后续所有新增需求的评估底图:任何新增字段都要判断它落在工艺准备、计划排产、生产执行、质检、入库交付、SAP 回写、看板报表中的哪一环。