乐于分享
好东西不私藏

从Excel到多人协作看板:我用AI两天帮工厂搭了个生产排产系统

从Excel到多人协作看板:我用AI两天帮工厂搭了个生产排产系统

朋友说:工厂的生产排产还在用Excel传来传去,太痛苦了。
我说:交给我,两天搞定。


🎬 起因:一个Excel引发的"惨案"

上周末,做生产管理的老朋友来找我吐槽:

我们工厂排产还在用Excel,每天大家各自填完,再用微信传来传去,经常搞混版本。芯片工序填一张表,测试填另一张,封装又是另一张,最后还要手动汇总……

他描述的痛点我太熟悉了:

📌 三张独立的 Excel 表(芯片/测试/封装),数据互不相通  
📌 每天生产数据靠微信传来传去,经常版本混乱  
📌 月底汇总要人工算,费时费力还容易出错  
📌 办公室七八个人,没法同时编辑同一份文件

他问我:能不能做一个大家同时都能填、数据自动汇总的系统?

我说可以,而且——两天内搞定

但说实话,我虽然懂业务,Node.js 这东西也就断断续续写过一点。换以前我肯定不敢接这个话,但这次不一样——我打算全程跟 AI 搭档干。


🧠 第一步:方案设计(AI 帮我理清需求)

先理清需求:

需求
说明
三工序管理
芯片、测试、封装各自独立填表
每日填报
按天填产量(1日~31日),自动算完成量
自动汇总
按项目合并三道工序数据,进度条可视化
多人协作
办公室同时编辑,数据实时同步
一键导出
导出 CSV 用 Excel 做进一步分析

技术选型这块,我直接跟 AI 聊了一轮:

💬 我跟AI说:
"我要给工厂做个生产排产系统,七八个人同时填数据,每日填报31天产量,三道工序自动汇总。不需要复杂的权限系统,部署要简单,最好一个命令就能跑起来。用什么技术栈?"

AI 给了几个方案,最终选了这套:

  • 后端
    :Node.js + Express(轻量又强大)
  • 数据库
    :SQLite(零配置,单文件,随用随走)
  • 实时同步
    :Socket.IO(WebSocket,一改全改)
  • 前端
    :原生 HTML + CSS + JavaScript(零依赖,打开即用)
  • 图表
    :Chart.js(进度柱状图,可视化一目了然)

整个系统架构长这样:

┌─────────────────────────────────────────────┐
│  Node.js Server (Express + Socket.IO)       │
│  ┌───────────────────────────────────────┐  │
│  │  SQLite Database (database.sqlite)    │  │
│  └───────────────────────────────────────┘  │
└────────────┬────────────────────┬───────────┘
             │ HTTP API           │ WebSocket
    ┌────────▼────────┐   ┌──────▼──────┐
    │  浏览器 A       │   │  浏览器 B   │
    │ (办公室电脑1)   │   │ (办公室电脑2)│
    └─────────────────┘   └─────────────┘

核心数据表就两张,简单但够用:

  1. projects 表
     — 项目信息(名称、工序、计划量、交期等)
  2. dailydata 表 — 每日产量(project
    id + 日期 + 数量)

每张生产表的列结构(38列):

项目名称 | 计划总量 | 规格 | 接单日期 | 交期 | 1日 ~ 31日 | 已完成 | 完成率 | 操作
├── 5列固定 ──┤├──────────── 31天填报 ──────────┤├── 自动计算 ──┤

💻 第二步:编码过程(跟AI搭档的实战记录)

这一段是我最想分享的。不是因为我代码写得有多好,恰恰相反——我的Node.js水平大概就是能看懂的程度。但这次跟AI搭档干活,整个过程出乎意料的顺畅。

🎯 第0关:搭骨架——AI 30分钟生成了整个项目

传统开发的第一步是什么?配环境、初始化项目、装依赖、搭目录结构。这些事看着简单,但对不常写代码的人来说,每走一步都可能卡住。

我直接跟AI说想搭一个 Node.js + Express 的生产排产看板,支持三工序填表汇总。AI 很快给出了完整结构:

production-dashboard/
├── package.json
├── server.js          # Express 服务 + WebSocket
├── database.js        # SQLite 初始化 + 查询方法
├── public/
│   ├── index.html     # 主页面
│   ├── style.css      # 样式
│   └── app.js         # 前端逻辑
└── start.bat          # 一键启动脚本

我把这些文件创建好,npm install,然后 node server.js——服务跑起来了

★ Insight:传统开发光是搭架子就要半天到一天(配环境、查文档、调版本)。跟AI搭档的话,你只需要说清楚你要什么,它几分钟给你一个能跑的结构。

🎯 第1关:数据结构——AI帮我把业务需求变成了数据库表

骨架有了,接下来是最核心的事:数据怎么存

工厂排产的需求其实挺绕的:三个工序各自填31天的产量,最后要按项目汇总。我把业务流程描述给AI,它直接设计了两张表——一张存项目信息,一张存每日产量,外键关联。

我看完后追加了一个需求:能不能再加个工序汇总视图?AI 又用 GROUP BY 把三个工序的数据聚合在一起。

-- 核心就两张表
CREATE TABLE projects (id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT, process TEXT, plan_quantity REAL, ...);
CREATE TABLE daily_data (id INTEGER PRIMARY KEY AUTOINCREMENT, project_id INTEGER, day INTEGER, quantity REAL, ...);

🎯 第2关:数据库选型——编译报错,AI秒给替代方案

表结构定了,开始写代码。

一开始我用的是 better-sqlite3,这个库性能好,但需要本地编译 C++ 扩展。结果一跑就报错:

npm ERR! gyp ERR! build error
npm ERR! No Visual Studio installation found

朋友的电脑是台普通办公机,哪有 Visual Studio 编译工具。

我直接把报错截图丢给 AI:

💬 我跟AI说:
"better-sqlite3 安装报错了,说找不到 Visual Studio。这个电脑上没有编译环境,有没有不用编译的替代方案?"

AI 秒回:换成 sql.js——纯 JavaScript 实现的 SQLite,不需要任何本地编译。npm install 即装即用。

但有个小坑:sql.js 的数据存在内存里,关机就没了。AI 紧接着给出了解决方案——每次修改后用 fs.writeFileSync 把数据写到文件:

const SQL = require('sql.js');
const db = new SQL.Database();
// ... 执行 SQL ...
const data = db.export();  // 导出为 Buffer
fs.writeFileSync(dbPath, Buffer.from(data));

★ Insight:换库这个事,要搁以前我得先搜"better-sqlite3 编译失败",看几篇 Stack Overflow,试三四个方案,折腾半天。但跟AI搭档的话——你把问题描述清楚,它在几秒内就给了最优解。而且它不光告诉你怎么修,还给完整代码。

🎯 第3关:实时同步——AI让"多人协作"一键实现

这是整个系统最核心的功能——一个人填数据,其他人实时看到变化

AI 帮我搭了 Socket.IO 的完整通信逻辑:数据变更时服务端广播,所有客户端自动刷新。我还问AI有没有优化方案,因为七八个人同时填,每敲一个数字就保存一次服务器压力太大。AI 建议加防抖处理——用户停下输入 400ms 后再保存,省流量又省数据库。

🎯 第4关:文档和部署——AI包办了最"烦人"的事

代码写完了,还有两件传统开发最让人头大的事:写说明文档和做部署脚本。

我让AI帮忙生成 README 和 start.bat。它几分钟就搞定了——背景说明、三步安装指南、常见问题,写得很清楚。自己写至少要半天,还写得干巴巴的。


 第三步:成果展示

主界面

顶部是 4 个 KPI 卡片:总项目数、整体完成率、芯片完成率、封装完成率

工序标签页

三个工序独立编辑,标签切换丝滑流畅:

  • 🔬 芯片 — 芯片工序数据填报
  • 🧪 测试 — 测试工序数据填报
  • 📦 封装 — 封装工序数据填报

每个工序表支持:

  • ✅ 项目名称、计划量、规格信息编辑
  • ✅ 1日~31日每日产量填报
  • ✅ 自动计算已完成数量和完成率
  • ✅ 列宽拖拽调整
  • ✅ 左侧5列固定不动,右侧31天滚动查看

汇总看板

一键切换到汇总视图,所有工序数据自动聚合:

  • 📊 柱状图:每个项目在三道工序的完成率对比
  • 📋 汇总表:计划量、完成量、完成率 + 进度条
  • 📌 合计行:底部自动汇总

多人协作

同事只需打开浏览器输入地址,就能一起编辑:

本地:   http://localhost:3000
局域网: http://192.168.1.227:3000

顶部的在线人数显示让协作更有实感:

🟢 3人在线

一键导出

按 Ctrl+E 或点导出按钮,自动下载 CSV 文件,Excel 直接打开分析。


📦 如何部署?

整套系统部署超级简单,3步搞定:

第1步:安装 Node.js
打开 nodejs.org → 下载 LTS 版 → 一路 Next

第2步:启动系统
方式一:双击 start.bat ✅ (推荐,傻瓜式)
方式二:命令行 cd 项目目录 && npm start

第3步:同事访问
在同一 WiFi 下,打开浏览器输入显示的局域网地址即可。

整个系统只有 3 个后端文件 + 3 个前端文件,总大小不到 200KB。一个电脑当服务器,办公室任何电脑都能访问。


🤔 经验总结

⚡ AI 编程到底改变了什么?

这次经历让我对「AI 编程」这件事有了非常具体的体感。不是抽象的概念,而是实实在在的效率差

1. 编程能力的"平权"

以前写代码,门槛是"你会不会"——会不会这个框架、懂不懂那个语法、能不能搞定编译错误。但现在,门槛变成了你能不能把需求说清楚

  • 描述我想要什么效果
  • 把报错信息复制给AI
  • 截图告诉AI哪里不对
  • 看完AI的代码说"这里改一下"

我的角色从一个"写代码的人",变成了"提需求的人"和"审代码的人"。

2. 调试效率提升了不止10倍

这个项目里踩了好几个坑:better-sqlite3 编译失败、CSS 固定列层级错乱、Socket.IO 连接不稳定、拖拽时文本被选中……

每一次,我的做法都一样:把现象描述清楚 → AI 给出方案 → 复制粘贴试一试 → 不行再反馈。平均每个问题 2-3 轮对话就解决了。

传统模式下,这些问题每一个都要打开搜索引擎,看三五篇帖子,试四五个方案,至少半小时起步。AI 把它缩短到了几分钟。

3. AI 会"主动提醒"你没想到的事

  • "这里建议加防抖处理,避免频繁写入数据库"
  • "SQLite 数据在内存中,记得用 export() 持久化到文件"
  • "建议先创建索引,提高按月查询的速度"

这种感觉就像有一个经验丰富的同事坐在旁边,你写一段,他瞄一眼,说"这里会出问题,改一下"。

🏭 对中小工厂的一点启发

做完这个项目我有一个很深的感触:

很多中小企业谈到"数字化转型"就觉得要大动干戈——上 ERP、上 MES、花几十万请团队开发。但实际情况是:

  • 80% 的数字化需求可以用轻量工具解决
  • 一个 Excel 表格 + 一个 Web 界面 = 90% 的生产管理需求
  • 从"能用"到"好用"之间,差的不是功能,而是实时协作
  • ✅ 数据实时共享,不再传 Excel
  • ✅ 自动汇总,不再人工算
  • ✅ 多人协作,不再抢文件

而最关键的是——做这样一套系统,不再需要花几万块请外包团队了。一个懂业务的人 + AI,两天就能搞定。

🔮 未来的工作模式

这次经历让我对"未来的软件开发"有了一点想象:

不是 AI 取代开发者,而是每个懂业务的人都可以拥有一个"AI 程序员搭档"。你负责想清楚"要做什么"和"做成什么样",AI 负责"怎么写代码"和"怎么调通"。

精益管理讲"尊重人",在我看来,AI 编程也是一种"尊重人"——把人不擅长的事交给机器,让人专注于自己擅长的判断和决策。


💡 全文完。如果你也有类似的"Excel 之痛",不妨试试这个思路——找一个AI搭档,用轻量的 Web 应用,解决最核心的协作问题。数字化不一定复杂,关键是想清楚:真正卡住效率的那个瓶颈到底是什么。