# nextpilot-lifecycle-system **Repository Path**: nextpilot/nextpilot-lifecycle-system ## Basic Information - **Project Name**: nextpilot-lifecycle-system - **Description**: No description available - **Primary Language**: Unknown - **License**: BSD-3-Clause - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-10-06 - **Last Updated**: 2026-10-09 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README

🛩 NextPilot LifeCycle Management System
NextPilot LCMS · 无人机装备全生命周期管理系统

License TypeScript NestJS Next.js Prisma SQLite

> 从采购到报废,**一物一码全程可追溯**,支持无人机**动态套件装配、换件**与**资产外寄审批追溯**。 > 面向无人机整机、机载零部件、试飞装备的**全栈 TypeScript 开源系统**(**BSD 3-Clause**)。 --- ## ✨ 四大核心能力 | # | 能力 | 说明 | |---|---|---| | 1 | **项目 / 采购 / IQC / WMS** | 立项 → 采购 → 来料检验 → 入库,生成一物一码资产 | | 2 | **动态套件 BOM(MES)** | 装配 / 拆解 / 零件更换工单,套件为**动态可变结构** | | 3 | **BOM 历史快照** | 每次装配/换件自动存档,**可回溯任意时间点整机配置** | | 4 | **只读电子履历 + 审批流** | 所有操作仅追加不可篡改;**外寄/报废等高风险操作必经审批** | --- ## 🎯 为什么做这个系统 通用资产管理系统只管理"一台设备"的静态台账,无法回答这三个问题: - 这架无人机**当前装了哪些电机/桨叶/飞控**?(动态 BOM) - 一个月前它的整机配置**是什么样的**?(BOM 快照回溯) - 它外送检修、换过哪些零件、谁审批的、**整个过程可追溯吗**?(电子履历 + 审批留痕) NextPilot LCMS 用"**三级资产模型 + 动态套件 BOM + 只读履历 + 审批流**"把仓库管理、生产装配、采购、运维外寄**串成一个闭环**。 --- ## 🗺 业务闭环 ``` 项目立项 → 采购 → IQC 检验 → 入库(一物一码) → 套件装配 → 领用 → 试飞 → 维修 / 换件 / 外寄(审批) / 报废 → 归还 └── 全程审批 + 只读电子履历 + BOM 快照 ``` - **套件 KIT / 独立设备 DEVICE / 零部件 PART** 三级资产模型 - 高风险操作(装配 / 拆解 / 换件 / 外寄 / 报废)**单人审批**,驳回零变更 - 维修免审批,完工后闭环 --- ## 🧱 技术栈 | 层 | 选型 | |---|---| | 工程 | **PNPM Monorepo**(全 TS 类型共享) | | 后端 | **NestJS 10** + **Prisma 5** | | 前端 | **Next.js 15**(App Router) | | 数据库 | **SQLite**(开发/演示) / **PostgreSQL**(生产) | | 协议 | **BSD 3-Clause** | --- ## 📁 仓库结构 ``` nextpilot-lifecycle-system/ ├── prototype/ # 可交互快速原型(零依赖,浏览器直接打开) │ ├── index.html │ ├── data.js # Mock 数据与枚举 │ ├── store.js # 状态与业务逻辑(审批/装配/换件/外寄) │ ├── app.js # 渲染与交互 │ └── style.css ├── apps/ │ ├── api/ # NestJS 后端(/api/v1) │ └── web/ # Next.js 15 前端 ├── packages/ │ ├── prisma-schema/ # 统一数据模型(15 表)与迁移 │ └── shared-types/ # 前后端共享 TS 枚举 / DTO ├── docs/ │ └── 总体方案.md # 核心计划活文档(随迭代持续优化) └── LICENSE # BSD 3-Clause ``` --- ## 🚀 快速开始 ### 方式一:快速原型(无需安装,推荐先体验) ```bash # 直接双击 prototype/index.html 打开;或启动静态服务: cd prototype && python3 -m http.server 8000 # 访问 http://localhost:8000 ``` **在线演示(EdgeOne Pages 托管)**: - 方式 A(最快):`prototype/` 目录打包为 zip(仓库根 `nextpilot-lcms-prototype.zip`,或自行 `zip -r prototype.zip prototype/*`),打开 [pages.edgeone.ai/zh/drop](https://pages.edgeone.ai/zh/drop) 拖拽上传,注册账号后链接永久保留(未注册仅 1 小时),得到 `xxx.edgeone.dev` 免费 HTTPS 域名,国内直连快、无需备案。 - 方式 B(长期自动):腾讯云控制台 → **EdgeOne Pages**(免费版长期有效)→ 创建项目 → Git 导入本仓库 → 构建配置:输出目录填 `prototype/`、构建命令留空(纯静态)→ push 自动部署;之后可绑定自定义域名(自动免费证书)。 - 方式 C:本项目早期曾用豆包 HTML 应用发布:`https://4m7fyhftu6y1a.doubaoapps.com/app/app_17fkdkjvgdp`(链接长期有效,但不可自定义、不好记,仅作临时演示)。 演示账号:`admin`(管理员) / `warehouse`(仓库员) / `member`(项目成员) > 💡 推荐体验:**工单管理 → 外寄工单 → 审批通过/驳回**,观察资产状态与电子履历联动。 > 原型数据已持久化到浏览器本地(刷新不丢),支持一键重置演示数据。 ### 方式二:正式工程 ```bash # 前置:Node.js ≥ 20、pnpm ≥ 9 pnpm install # 数据库:生成 Client + 迁移 pnpm db:generate pnpm db:migrate # 首次需交互确认迁移名 # 启动后端(NestJS,:3000) pnpm --filter @nextpilot/api dev # 启动前端(Next.js,:3001) pnpm --filter @nextpilot/web dev ``` 后端健康检查:`http://localhost:3000/api/v1/health` --- ## 📄 文档 📖 **`docs/总体方案.md`** 是项目的**核心计划活文档**,随开发持续优化调整。 内容覆盖:业务需求 / 数据库 / API 接口 / 页面原型 / 审批流 / 里程碑 / 风险 / 开源运营。 > 本项目"**方案先行、活文档驱动**":任何新增决策、业务调整都同步更新该文档(含变更记录)。 --- ## 🗺 Roadmap - [x] 可交互快速原型(业务闭环 + 审批流 + H5 扫码 + 持久化 + 导出) - [x] Monorepo 工程初始化(NestJS + Next.js + Prisma + SQLite) - [x] Prisma 数据模型(15 表)+ 迁移 - [x] 平台化能力原型:全局审计日志 / 数据权限(行级项目隔离)/ 表格排序分页 / 物料批量导入 / 深色主题 - [x] P3 深化:技术状态记实报告(GJB 记实自动化)/ 质量闭环(检验不合格自动 NCR + 质量看板)/ H5 移动工作台 - [x] P4 平台化:鉴权(账号密码+停用)/ 用户 CRUD / 可编辑角色权限(hasPerm 实时生效)/ 项目里程碑全生命周期 / 质量趋势图+检验导出 / 消息中心(顶栏角标 + 消息页 + H5 消息卡) - [x] P5 PDM 深化:文档版本履历 / 在线浏览预览(密级水印)/ 签出签入+手动升版 / EBOM 结构树 / 变更影响分析 / 发布→消息联动 - [x] 电子签名(审批同步手写签名字迹)+ 文档二维码(一码一物)+ 移动端入口移入顶栏(桌面/移动切换) - [x] 业务逻辑层:资产状态机(非法迁移拒绝+原因留痕)/ 领料出库 FIFO 扣批次库存 / 采购闭环(签合同→到货→质检合格→入库生成批次)/ 入库必须有来源 - [x] 业务旅程化:工作台 13 阶段生命周期闭环时间线(前置解锁+当前环节)/ 目录树按 8 业务域逻辑重构(资产台账独立域)/ 采购 6 步流程条 / 质量 IQC 闭环流程条 - [x] 侧栏子栏目按真实操作链排序(技术状态按 GJB 3206B 主线、先操作后报表)/ 全局搜索按型号·项目·类型快速筛选 - [x] 技术文档真实文件在线预览:PDF 原生查看器(iframe)+ Word mammoth 内联渲染 + 上传文件本会话即时预览(4 份贴合技术状态场景的演示 PDF/DOCX 已内置) - [x] 技术状态项(CI)与 BOM 统一「主记录/集合列表首页 + 详情」二级结构(CI:型号×项目×阶段一条集合;BOM:一个型号一条主记录,点详情展开) - [x] CI 集合支持目录树持续添加 CI 项(新建集合页下方搭建)+ 集合详情 / CI 详情可编辑修改(含持久化修复) - [x] 物资管理栏目重构:物料主数据独立为物料字典页(供采购/BOM/领用选择)+ 库存台账与库存作业分开 + 供应商档案移入系统设置 - [x] 每个大栏目第一个子栏目为「总览」:统计卡(点击直达列表)+ 待办与重点关注 + 最新动态(记实) - [x] 登录页改为下拉选择演示用户 + 一键登录(页面不再冗长) - [x] 状态记实 / 状态报告合并进技术状态总览(总览页 3 tab,导航不再单列) - [x] 专家主动聚合:库存台账+库存作业→库存管理(页内 tab)、检验+不合格品+质量看板→检验与质量(页内 tab) - [x] 型号详情独立页(历程时间线 + 技术状态/纪实/报告/项目设备 4 tab + 全实体交叉关联链接) - [x] 栏目命名修正:项目立项→项目管理(立项只是其中一项工作) - [x] 详情一律大窗口整页打开(CI 集合/BOM/基线/文档/变更 5 个整页路由,去弹窗) - [x] 型号历程并入 tab(型号详情 5 tab:历程/技术状态/纪实/报告/项目设备) - [x] 面包屑可点击跳转(大栏目→栏目总览,子栏目→列表页) - [x] 型号列表操作列精简为查看详情;停用移入详情页受控流程(影响范围/原因/审批人) - [x] 项目列表精简为查看详情;结项移入详情页受控流程(合同/付款/里程碑/设备/工单结项检查) - [x] 项目详情 7 tab:基础/里程碑计划/合同/付款计划/资产/工单/交付,签订合同+付款核销入口 - [x] 全部详情统一整页大窗口:供应商/工艺/检验模板/NCR/CI/TSMP 新增整页路由,列表详情按钮全部改整页,保留预览/快照/审批历史辅助浮层 - [x] CI 结构树升级树形编辑器:树上 hover +子项/编辑/删除,内联增改 + 层级自动编号 + 删除影响确认 - [x] 树形编辑器补 +平级(同级添加);节点箭头展开/收缩子树 - [x] CI 结构树文件树式改造:子树连线 + 节点字体层级(顶层加粗)+ CI 类型彩色标识(系统/分系统/设备/组件/软件) - [x] 状态基线详情 8 tab:基本情况/技术状态项/文档图纸/更新历程/版本对比/关联变更/审核与签署(FCA/PCA+NC+发布受控)/批次应用 - [x] 型号全局统一更名 UT→VTOL:4 整机型号 VTOL-021C/D/E/F + CI/BOM/文档/设备/基线全部随动,与型号管理一一对应 - [x] 侧栏系统组精简:系统设置(页内 tab:审批/组织架构/人员/权限)+供应商+审计日志,删除冗余子栏目 - [x] 型号全站强制归一 VTOL + 一致性守卫:旧数据(UT-21D/UT-02E等)自动迁移、引用型号必须存在于型号管理主数据 - [x] 演示数据全面补足:设备履历时间线/生产工单/售后工单/领用/文档/基线/库存等全表补数据 + 数据版本自动重建(旧快照作废) - [x] BOM 详情页标题去重(整页去内容区 h3) + 演示数据双逗号空槽修复 + pendingCount null 防御 - [x] 技术文档台账列重排:版本列第2列、型号/项目合并、密级徽章移至文档名前、阶段列前移 - [x] 全站详情页双标题清理:CI集合/文档/变更详情整页去内容区重复标题,其余详情页复查无重复 - [x] CI集合列表:全站"使用范围"→"适用范围"、型号/项目合并一列、适用范围列收窄省略号 - [x] 操作按钮全站统一:列表只留「详情」按钮(去浏览/二维码)、文档台账表头改为「技术状态」 - [x] BOM 物料清单树形化:itemId/parentId 层级 + 树形渲染(整页/弹窗) + 编辑页上级物料/子项添加,数据版本升级重建 - [x] 树展开折叠统一 +/- 标准树标志:CI 树 + BOM 树均改为 −/+ 可点击切换,叶子节点无箭头 - [x] 全站响应式自适应:移动端侧边栏抽屉化(hamburger+遮罩)、表单单列、表格横向滚动、栅格自适应、平板/小屏断点 - [x] 一级栏目重命名:项目管理→科研管理(子栏目:总览/型号管理/项目管理/合同管理) - [x] 管理计划移至科研管理并更名计划管理(总览→计划管理→型号管理→项目管理→合同管理) - [x] 物资管理重排:总览→采购管理→库存管理→物料字典(物料主数据更名) - [x] 物料字典录入弹窗化:右上角按钮+弹窗录入(编号自动生成、保存刷新) - [x] 系统栏目改名:一级系统→系统设置、二级系统设置→组用户管理 - [x] 库存台账增货架编号+设备SN列(入库登记/演示数据/一物一码) - [x] 库存实体一物一码+独立履历:批次→实体明细→实体履历三级,状态流转(出库装机/退回/返修)写履历 - [x] 资产详情BOM结构合并+版本筛选:当前/历史快照一个tab内下拉切换 - [x] 基线类型体系:法定(FBL/ABL/PBL生产/TBL试验)+扩展(阶段/批次/首飞/自定义),类型筛选+关联BOM+型号基线演进tab - [x] 基线建立冻结流程+ECR→CCB→ECN闭环:冻结徽章/从冻结基线发起变更/CCB 5委员表决/批准后基线自动升版留痕 - [x] 新建BOM类型选择(EBOM/PBOM/MBOM/TBOM)+按类型编号(EBOM-021C-001/MBOM-021C-001同型同类型流水递增),列表类型徽章,MBOM制造BOM演示数据 - [x] 草稿BOM物料就地增删改(每行修改/删除/+子项/添加顶层,弹窗编辑+关联物料主数据);已发布只读+升版(克隆新草稿保留旧版),编辑留痕 - [x] 已发布BOM更改入口全补齐:列表/版本历史/详情整页/弹窗均可升版(克隆新草稿·同编号·版本+0.1·旧版保留) - [x] BOM升版受控变更闭环:已发布BOM升版走ECR→CCB→ECN,批准后自动克隆新草稿;变更单关联受影响BOM;BOM变更记录tab展示关联ECR/ECN+内部日志 - [x] 基线新建表单重构:编号/版本自动生成+灰底可复制;名称/型号/研制阶段/项目/批次/类型/派生(同型号)/说明;关联BOM(单选版本)/CI集合(单选默认勾选)/技术文件(锁版本);创建草稿且草稿可编辑(回显+留痕) - [x] BOM变更弹窗受影响基线自动关联:仅列出关联此BOM的已生效基线并自动选中;批准时仅升版受影响基线(不再批量升版同型号全部) - [x] 基线新建表单布局:名称独占一行;型号+阶段一行;批次+项目一行;类型+派生一行 - [x] 基线关联区三Tab(BOM/CI/DOC)切换+每项一行展示属性+允许不关联+无满足项提供新建入口 - [x] 基线关联批次改为动态数据源(生产/库存/BOM/文档/历史基线聚合去重+来源标注+型号联动) - [x] 基线详情页信息梳理:头部精简(名称+状态徽章);基本情况tab结构化(kv两列12项+派生链卡+概览三卡+说明) - [x] 基线关联项可锁定指定版本:BOM/CI集合按编号展开全版本行(已发布/已作废/当前版)、文档按版本勾选锁快照;存储bomVersion/ciVersion/docVersions并详情展示(DATA_VERSION 13→14) - [x] BOM列表页移除全局EBOM结构树按钮(版本维度视图不属主记录列表);结构树保留在详情页物料明细tab - [x] Item+Revision 模型改造:BOM/CI集合/文档历史版本拆独立版本行(删history),基线关联项改版本行ID单键锁定(去 编号:版本 复合键),列表按对象分组(CI按setNo/文档按docNo/BOM按型号) (DATA_VERSION 14→15) - [x] 版本状态与批次有效性正交:历史版本行 OBSOLETE→SUPERSEDED(已替代),新增 effectivity(适用批次/有效期),批次基线锁定该批生效版本(bl8→V2.0),全链路显示「已替代·适用批次」 (DATA_VERSION 15→16) - [ ] 采购 / IQC / WMS 模块 - [ ] MES 套件 BOM / 换件 / 快照 - [ ] 资产履历 + 审批流(ApprovalService) - [ ] H5 扫码、看板、导出 - [ ] Docker 一键部署,V1.0 Release --- ## 🤝 参与贡献 多人协作请看 **[CONTRIBUTING.md](CONTRIBUTING.md)**:Gitee 协作者 / Fork+PR 两种方式、分支与提交流程、模块分工建议(技术状态/物资/生产/售后/系统各 1 人并行)、原型开发约定与在线演示发布。 欢迎提交 Issue / PR,共同完善: - 在 `docs/总体方案.md` 的变更记录中登记你的决策 - 遵循 `main` + `dev` + `feature/*` 分支规范 - 遵守 **BSD 3-Clause** 协议 --- ## 📜 License [BSD 3-Clause License](./LICENSE) · Copyright (c) 2026 NextPilot