研发项目管理系统
面向化工企业研发实验室的全流程管理平台,覆盖从立项到配方存储的完整闭环。
核心能力
权限与安全:五级角色体系(管理员/主管/项目负责人/实验员/配方管理员),配方数据采用 AES-256 加密存储并支持独立白名单授权,全操作审计日志不可删除,满足化工研发溯源合规。
项目管理:立项→任务拆解→进度跟踪→问题记录→结项归档。自动计算进度百分比,任务支持待开始/进行中/阻塞/完成状态流转,结项时校验所有任务和里程碑是否完成。
实验配方:核心刚需。实验录入支持反应参数动态配置,提交即锁定、不可篡改,更正生成版本快照留痕。实验结果支持合格判定,一键生成打印级报告。配方组分/比例/工艺参数全程加密,支持版本迭代和历史回溯,未授权用户仅能看到脱敏数据。
审批流转:内置立项、物料领用、实验变更、结项四类审批。危化品领用强制审批,非危化品直接出库。审批通过自动执行关联操作(扣库存、改状态),驳回自动回退。
物料样品:危化品台账、出入库记录、库存预警。支持批量出入库,入库需确认后更新库存,出库逐条确认。样品建档→存放→关联实验→溯源链路完整可追溯。
系统组成:React 18 + Ant Design 6 前端嵌套10个功能页面,NestJS 后端提供57个API端点,PostgreSQL 数据库。Docker 一键部署,私有化运行。
技术栈:前端 React 18 + Ant Design 6 + React Query + Zustand;后端 NestJS 10 + TypeScript + Prisma ORM;数据库 PostgreSQL 16;部署 Docker Compose。
亮点:
1. 配方 AES-256-GCM 应用层加密,密钥不进数据库,DBA也无法解密,结合白名单授权实现防泄露
2. 实验数据不可篡改设计:提交锁定→更正时旧数据写入版本快照→主记录更新,满足化工合规溯源
3. 全操作审计日志系统:全局 Interceptor 自动捕获请求体并脱敏(密码/配方密文替换),失败操作也会记录
4. 审批-业务自动联动:审批通过/驳回/撤回自动变更项目状态、扣减库存、回退草稿
5. 前端 10 个页面覆盖全流程,57 个后端 API,双端 TypeScript 零编译错误
技术难点:
1. 配方加密与前端交互:加密数据在 DB 为 bytea,需在服务端解密后传给前端,脱敏态与完整态需实时切换
2. 审计日志脱敏:Interceptor 自动过滤请求体中的敏感字段,防止密码密文二次泄露
3. 审批状态机与业务耦合:PROJECT_CREATE/MATERIAL_OUT/PROJECT_CLOSE 各自的自动执行逻辑需处理循环依赖(forwardRef)
4. 出入库状态流转:入库待确认后才更新库存,出库审批后才扣库存,批量操作需逐条追踪状态