工艺管理模块系统性修复总结

工艺管理模块系统性修复总结

一、修复背景

用户要求检查当前实现有何问题,保证基本功能能用,界面风格尽量统一,然后思考工艺管理特殊性——工艺规程编制管理、工艺文件编制管理、工艺模板编制管理三者间如何协同、如何变成资产、如何与质量和生产关联使用。


二、已完成修复

Phase 1: 修复 3 个关键断裂功能

| 功能 | 问题 | 修复方案 |

|------|------|----------|

| editProcess | 导航到 /process-spec-studio?specId=xxx 后重定向丢失参数 | 改为 /process-center?tab=spec&specId=xxx,传递 prop |

| viewAsAsset | 裸路径导航无参数 | 改为 router.push({ name: 'asset-detail', params: { id } }) |

| sync-from-SCSAI | 空壳 { synced: 0 } | 集成 SCSAIProcessSyncService 执行真实同步 |

涉及文件

  • src/views/ProcessManagement.vue
  • src/views/ProcessCenter.vue
  • src/views/ProcessSpecStudio.vue
  • server/routes/extra-routes.js

Phase 2: 规程生成引擎分析

分析了两个引擎的设计意图,结论是互补而非竞争

| 引擎 | 设计意图 | 适用场景 |

|------|----------|----------|

| LLMProcessGenerator | 4 阶段纯 LLM(结构化→参数→校验→组合) | 复杂产品、无模板可参考 |

| ProcessSpecGenerator | 模板为基础 + 规则 + LLM 降级 | 标准产品、有历史数据 |

无需合并,两个引擎各有明确分工。


Phase 3: ProcessSpecStudio.vue 拆分

从 2667 行大文件中提取共享逻辑:

| 新建文件 | 行数 | 职责 |

|----------|------|------|

| src/composables/usePssSharedData.js | 139 | 行业/模板共享状态管理 |

| src/composables/usePssGovToast.js | 27 | 治理反馈 toast 逻辑 |

涉及文件

  • src/views/ProcessSpecStudio.vue(移除重复函数,使用 composables)

Phase 4: 变更管理集成

建立工艺规程 ↔ ECR/ECO/ECN 桥接:

| 文件 | 变更 |

|------|------|

| server/core/llm-process-store.js | 新增 spec_change_links 表 + 4 个桥接函数 |

| server/routes/llm-process.js | 新增 5 个变更管理 API 端点 |

新增 API

  • POST /api/llm-process/specs/:id/create-ecr — 创建变更请求
  • GET /api/llm-process/specs/:id/change-history — 变更历史
  • GET /api/llm-process/specs/:id/pending-change — 待处理变更
  • POST /api/llm-process/specs/:id/submit-for-review — 提交审核
  • POST /api/llm-process/specs/:id/approve-change — 批准/拒绝变更

Phase 5: 统一 DB 访问 + 认证

问题诊断

  • 6 种不同的 DB 访问方式(global._llmProcDbglobal._llmKnowledgeDbglobal._processSpecDb、模块本地缓存、每次新建连接)
  • 3 种不同的 apiJson 签名
  • extra-routes.js 创建了不完整的 process_specs 表(缺少 8 个列)
  • llm-process.js POST /specs 写入 core_runtime.db,其他写入 sccapp_process_data.db
  • 13+ 个破坏性端点无认证

修复方案

| 文件 | 变更 |

|------|------|

| server/core/process-db.js(新建) | 统一 DB 连接 + 表创建 + 认证 + 响应函数 |

| server/routes/extra-routes.js | 使用统一模块,DELETE/sync 添加认证 |

| server/routes/llm-process.js | 使用统一模块,POST/DELETE 添加认证 |

| server/routes/process-knowledge.js | 使用统一模块 |

| server/core/llm-process-store.js | 移除 global._llmProcDb,使用统一模块 |

| server/core/llm-process-knowledge.js | 移除 global._llmKnowledgeDb,使用统一模块 |

| server/boss-scheduler/workers/process-worker.js | 使用统一模块,移除直接 require('sqlite-compat') |

关键改进

  • 消除 6 种不同的 DB 访问模式
  • 消除 3 个全局变量(_llmProcDb_llmKnowledgeDb_processSpecDb
  • 破坏性端点添加 JWT 认证
  • 修复 schema 漂移(extra-routes 创建了不完整的表)
  • 修复 DB 路径不一致(部分代码写入错误数据库)

三、构建验证

npm run build  # 24s 通过
node --check   # 所有 7 个修改文件通过

四、待解决问题

4.1 工艺管理核心问题(高优先级)

| 问题 | 现状 | 需要解决 |

|------|------|----------|

| 规程↔文件↔模板三者协同 | 三套数据分离,无统一关联模型 | 建立统一的工艺资产关联模型 |

| 工艺资产管理 | 规程只是 llm_process_specs 表记录 | 需要版本化、审批流、发布机制 |

| 与质量关联 | 仅 llm_process_metrics 自动评分 | 需与 NCR/CAPA/AUDIT 等质量对象关联 |

| 与生产关联 | 未连接 | 需与 SCSAI 的 Process/Production 对象关联 |

4.2 SCSAI 限制(中优先级)

问题现状
ECR/ECN 无 ManualReleaseSCSAI ECR 状态走 Workflow,程序化不可行
ECR/ECN 状态 edit 受控state/current_state 直接 edit 不生效
数字员工 DELETEAGENT/DIGITAL_EMPLOYEE 类型服务端 Method 限制
SCIOT 目录不存在C:\bossagents\SCIOT 路径无效

4.3 数据库问题(低优先级)

问题现状
process_knowledge_entries 表在错误 DBprocess-knowledge.js 连 core_runtime.db,但工艺数据在 sccapp_process_data.db
process_specs 表结构不完整extra-routes.js 创建的表缺少 parameters_json、steps_json 等列
sccapp_process_data.db 体积膨胀从 303MB 增长到 629MB,需定期清理

4.4 前端问题(低优先级)

问题现状
ProcessSpecStudio.vue 仍有 2648 行Phase 3 仅提取了 composables,核心组件仍需拆分
工艺管理界面风格不统一不同页面 UI 风格差异较大
导入导出仅支持部分格式useImportExport.js 仅支持 JSON/CSV

4.5 数字员工问题(低优先级)

问题现状
2 个 PLM 孤儿对象AGENT 和 DIGITAL_EMPLOYEE 各 1 个无法删除
质量员工已连 SCSAI7 个质量员工已迁移,但需验证全链路
工艺数据修复员工process-worker.js 已修复,需实际运行验证

五、下一步建议

短期(1-2 周)

  1. 修复 process-knowledge.js 的 DB 路径:改为 sccapp_process_data.db
  2. 添加变更管理 UI:在 ProcessSpecStudio.vue 添加变更请求按钮和历史列表
  3. 验证质量员工 SCSAI 直连:7 个质量员工读写全链路测试

中期(1 个月)

  1. 建立工艺资产管理模型:定义规程↔文件↔模板的关联关系
  2. 工艺规程审批流:集成 ECR/ECO 审批
  3. 与生产对接:确认 SCSAI 的 Process/Production 类型,建立关联

长期(3 个月)

  1. 工艺知识图谱:基于 llm_process_knowledge 表构建
  2. 智能工艺推荐:基于历史数据推荐最优工艺路线
  3. 全流程数字化:从设计→工艺→生产→质量的完整闭环

六、文件变更清单

新建文件

  • server/core/process-db.js — 统一 DB 访问模块
  • src/composables/usePssSharedData.js — 共享数据 composable
  • src/composables/usePssGovToast.js — 治理反馈 composable

修改文件

  • server/routes/extra-routes.js — 使用统一模块 + 认证
  • server/routes/llm-process.js — 使用统一模块 + 认证 + 变更管理 API
  • server/routes/process-knowledge.js — 使用统一模块
  • server/core/llm-process-store.js — 使用统一模块 + 变更管理表
  • server/core/llm-process-knowledge.js — 使用统一模块
  • server/boss-scheduler/workers/process-worker.js — 使用统一模块
  • src/views/ProcessManagement.vue — 修复 editProcess/viewAsAsset
  • src/views/ProcessCenter.vue — 传递 specId prop
  • src/views/ProcessSpecStudio.vue — 使用 composables + specId prop + loadSpecById
← 返回案例列表
分享:
🤖 Try Now →
🤖
🎁