Files
Inventory-Management-System/物料入库出库系统_使用教程.md
star 5060d027e5 feat: 多工厂/厂间调拨/替代料/流水台账折叠 + 重写 README
- 多工厂(factory 表) + 顶栏工厂下拉过滤, 库存按厂聚合
- 厂间调拨(transfer): 源厂减+目标厂加, 总库存不变, 双向流水对账
- 替代料关系(substitute): 出库/BOM领料/生产领料缺料时提示可替代料
- 流水台账(ledger): 入出按日期合并折叠, 按日期导出同一 Excel
- 生产订单增强: 编辑/删除(级联清关联流水)/调入数量/确认调入=厂间调拨
- 入库新增送货日期字段; 出库物料编码扫码定位
- 重写 README 补全全部模块; .gitignore 排除 dist_pkg/build_pkg/*.db
- 停止跟踪 instance/app.db(运行时自动生成)
2026-09-29 11:17:48 +08:00

20 KiB
Raw Permalink Blame History

物料入库 / 出库管理系统 —— 使用教程

适用对象:仓库管理员、车间计划员、系统管理员 系统形态:Windows 单文件 EXE(双击即用,免安装数据库,中文界面) 版本:M1 基础版 + M2 核算版(含 M2-1 多工厂 / M2-2 厂间调拨)+ M3 治理版 最近新增:多工厂与代工厂、出库 BOM 批量操作、生产订单删除/编辑/调入数量、厂间调拨


一、系统能做什么

把工厂车间的「物料台账 + BOM 用量核算」从 Excel 宽表搬进系统,解决三个核心痛点:

你现在的麻烦 用了系统之后
库存 = 入库 − 出库 靠手算公式,错一处全列错 在库数量实时计算,负数/低库存自动标红预警
BOM 用量要手动乘接单量 录入订单接单量,自动展开每种料的「需求量」并提示缺料
多人改表无记录、无法分工 带登录、三种角色、操作日志,谁改了什么可追溯

四个核心概念要先分清:

  • 物料:一颗料的主数据(编号、规格型号、单位、安全库存)。
  • 入库 / 出库:每一笔收发货的流水记录,按物料汇总成「在库数量」。
  • BOM:一个产品的「用料清单」,记录每种料「单套用量」是多少。
  • 生产订单:某个产品接了多少单(接单量),系统按 BOM 自动算出要领哪些料、领多少。

二、安装与启动

  1. 把 MaterialWMS.exe 放到任意文件夹(建议单独一个目录,例如 D:\MaterialWMS\)。
  2. 双击 MaterialWMS.exe —— 程序会在后台启动本地服务,并自动打开浏览器到 http://127.0.0.1:8080。
  3. 数据库文件 app.db 会自动生成在 EXE 同目录,所有数据都存在这里。

常用操作:

需求 做法
换端口(8080 被占用) 命令行运行 MaterialWMS.exe 8081,访问 http://127.0.0.1:8081
备份数据 关闭程序后,复制同目录的 app.db 到别处即可
指定数据库位置 启动前设置环境变量 WMS_DB=绝对路径\xxx.db
多台电脑共用 把 app.db 放网络盘或定期拷贝同步(单机程序,非多用户服务器)

⚠️ 数据全在 app.db 一个文件里,删掉它就全没了。至少每周备份一次。


三、登录与账号

  • 打开页面首先看到登录框。
  • 默认管理员账号:用户名 admin,密码 admin123(首次使用请尽快改密码或新增专属账号,见第十一节)。

三种角色权限

菜单 admin(管理员) manager(主管) operator(操作员)
库存看板 ✅ ✅ ✅
物料(列表 / 明细) ✅ ✅ ✅
入库 / 出库 ✅ ✅ ✅
出库里的 BOM 批量操作 ✅ ✅ ❌
物料新增 / 编辑 / 删除 ✅ ✅ ❌
BOM 管理 ✅ ✅ ❌
生产订单(新建 / 编辑 / 删除 / 调入) ✅ ✅ ❌
工厂(工厂管理 / 工厂工作台) ✅ ✅ ✅(仅查看工作台,不能导入/建厂)
调拨(厂间调拨) ✅ ✅ ❌
报表 / 导出 Excel ✅ ✅ ❌
操作日志 ✅ ✅ ❌
用户管理 ✅ ❌ ❌

顶部导航栏会按当前账号角色自动显示/隐藏菜单,看不到的菜单就是当前角色没有权限。


四、库存看板(首页)

登录后默认进入「库存看板」,一眼看清所有物料的库存状态:

  • 🟢 正常:在库 ≥ 安全库存
  • 🟡 预警(黄):在库 < 安全库存,该补货了
  • 🔴 异常(红):在库为负,说明出库多于入库,数据有矛盾需核查

顶部会汇总「负库存数量」「低于安全库存数量」两个计数,方便快速排查。

BOM 物料齐套标签页:看板顶部有「📦 库存预警 / 🔧 BOM 物料齐套」两个标签(仅管理员、主管可见)。切到 BOM 物料齐套 后,顶部有一个「选择 BOM」下拉框:默认「全部 BOM(总览)」会逐棵列出其组成物料的「单套用量 / 当前在库 / 状态」;选中某棵 BOM 则只看那棵。右侧显示「共 N 棵 / 已选 1/N 棵」计数。每棵 BOM 标题处给出整体齐套结论(齐套 / 部分偏低 / 缺料),点物料编号可跳到该料明细。这样不用进 BOM 列表就能在看板上直接看清每棵 BOM 里每颗料的库存情况。

模拟齐套(试算缺料):在 BOM 物料齐套标签页里,「选择 BOM」下拉框下方有一条「模拟齐套」工具条。输入该 BOM 的计划生产数量(如 1000 套 / PCS),点「▶ 模拟齐套」,系统按每颗料的「单套用量 × 计划数量」算出总需求用量,与当前在库对比:

  • 每行右侧新增「需求用量」「缺口」两列;缺口为正的行(需求 > 在库)整行标红并显示「缺 X」;
  • 该 BOM 标题处出现模拟结论徽章:「模拟齐套 / N 种充足」或「模拟缺料 / 缺 M/N 种」;
  • 选择「全部 BOM(总览)」时会对每棵 BOM 同时模拟,工具条右侧给出整体结论。 点「重置」可清除模拟结果。该模式只做试算、不改任何库存数据,适合接单前快速判断"这批货能不能齐套、还差多少料"。

五、物料管理

5.1 物料列表

路径:导航栏 物料。 表格字段:物料编号、型号/规格、单位、安全库存、在库数量、入库总数量、消耗总数量、操作。

  • 顶部搜索框支持按「物料编号」或「型号规格」模糊查找。
  • 点 明细 进入单颗物料的流水页(见 5.4)。

5.2 新增物料(admin / manager)

点 + 新增物料,填写:

  • 物料编号(必填,唯一,例如 P0001)
  • 型号/规格(选填,即规格型号)
  • 单位(默认「个」)
  • 安全库存(低于此值看板标黄)
  • 备注

5.3 编辑 / 删除(admin / manager)

列表行内「编辑」改信息;「删除」会移除该物料(含其流水,操作需谨慎)。

5.4 物料明细与流水查询

点列表里的 明细 链接,进入单颗物料页面,顶部三张卡片显示在库 / 入库总 / 消耗总;下方两张表分别是:

  • 入库流水:入库日期、送货日期、录入时间、数量、批次、来源、经手人
  • 出库流水:出库日期、录入时间、数量、批次、用途、关联单号、经手人

这就是「查看每颗物料每次的入库时间」的入口。

5.5 用 Excel 批量导入物料(admin / manager)

  1. 在 物料 页点 ⬇ 下载导入模板,得到 物料导入模板.xlsx。
  2. 按表头填:物料编号 / 型号规格 / 单位 / 安全库存 / 期初库存(后四列可选)。
  3. 回到 物料 页(或导入入口)上传文件,系统先解析再写入。
  4. 期初库存 > 0 的物料,会自动写入一条来源为「期初」的入库流水,作为开局库存。

六、入库操作

路径:导航栏 入库。两种录入方式:

6.1 单笔录入

表单顶部有一个 「物料编码」输入框(与「物料」下拉并列):

  • 直接输入或扫码物料编码(如 P0001),系统会自动定位到下拉里对应的物料:精确命中、或编码前缀唯一时立即锁定,并把光标跳到「数量」;多个前缀候选会提示「继续输入」;编码不存在会标红提示「未找到」。
  • 也可以照旧在「物料」下拉里手动选择——手选后编码框会自动反向填入对应编码,两种方式互通。
  • 填送货日期、批次号、数量、经手人、来源/供应商(出库为用途/关联单号)、业务日期、备注 → 提交。库存实时 +N(出库实时 −N,不足会拦截),并写操作日志。送货日期默认当天,可改成供应商实际到货日,与「业务日期」(记账日)区分。

6.2 批量导入窗口

点右上角 ⊞ 批量导入窗口,支持两种方式:

  • 粘贴文本:每行一条 物料编号 数量 批次 日期 备注(列间空格/制表符分隔,带表头行会自动跳过)。
  • 上传 Excel/CSV:表头需含 物料编号 / 数量 / 批次 / 日期 / 备注(中英文列名都识别)。

点 解析预览 后会逐行校验(物料不存在、数量≤0 会标红),确认无误再点 确认导入。


七、出库操作

路径:导航栏 出库。界面与入库一致,区别:

  • 字段为「用途」「关联单号」而非来源。
  • 库存不足保护:出库数量 > 当前在库时,系统拦截并提示「库存不足」,不会让库存变负。

批量导入窗口同样可用(见 6.2),勾选「出库」时同样有库存校验。

7.1 按 BOM 批量操作(admin / manager)

出库页底部有一个 「🧩 按 BOM 批量操作」 卡片(仅管理员、主管可见),提供两种模式:

① 齐套领料出库(从本厂库存发料)

  • 选 BOM + 填「生产套数」→ 点「预览需求」,系统按 单套用量 × 套数 列出每种料的「需求数量 / 本厂在库 / 缺料数」。
  • 缺料的行会标红;缺口 > 0 的行不会出库,只把够的部分发掉,避免库存变负。
  • 点「确认齐套领料」即生成一批出库流水(用途「生产领用」)。

② 调拨入库(调入到工厂)

  • 选「目标工厂」+ 选 BOM + 填套数 → 预览后点「确认调拨入库」。
  • 系统生成的是入库流水,直接计入目标工厂的该物料库存(来源「调拨入库」)。
  • 适合「总部有货、代工厂缺料」时,把料调拨进代工厂库存的场景。

两种模式共用同一张预览表,切换模式即可;预览实时显示缺料,确认前请先核对数量。

八、BOM 管理(admin / manager)

路径:导航栏 BOM。

8.1 新增 BOM(手工)

点 + 新增 BOM,填 BOM 型号、名称,然后逐行添加「物料编号 + 单套用量」(只能选已存在的物料)。

8.2 BOM 详情(显示规格型号)

点列表里的型号进入详情页,列出每项组成物料的:物料编号 / 型号规格 / 单位 / 单套用量。点物料编号可跳到该物料明细。

8.3 批量导入 BOM(推荐)

在 BOM 页点 ⊞ 批量导入窗口,支持两种来源:

① 上传嘉立创 / Altium BOM(最省事)

  • 每个 worksheet 就是一个 BOM,sheet 名 = BOM 型号;
  • 列头识别 Item / Part Number / Manufacture Part Number / Quantity / Reference / Part / Package;
  • Part Number 关联物料,Quantity 列即单套用量。
  • 点 ⬇ 下载模板 拿到的就是这种格式,直接照填即可。

② 粘贴文本

#BOM M4021 示例产品A
P0001 2
P0002 0.5

#BOM M4022 示例产品B
P0003 4

以 #BOM <型号> <名称> 开头,其下每行 物料编号 单套用量,空行分隔不同 BOM。

💡 物料不存在会自动新建:导入时若某 Part Number 在系统里没有,会先建好物料主数据再挂到 BOM,并在预览里标「新建」。

解析预览确认后点 确认导入 即可。


九、生产订单与领料(admin / manager)

路径:导航栏 生产订单。

9.1 新建订单

选 BOM + 选「生产工厂」+ 填接单量(+ 可选单号 / 备注)→ 生成订单号(如 WO20260920xxx)。订单会与所选工厂绑定,后续看库存、调入都按该工厂口径。

9.2 编辑 / 删除订单

  • 编辑:订单详情页点「编辑订单」→ 可改单号、BOM、生产工厂、接单量、备注。
  • 删除:列表或详情页点「删除」→ 只删订单头与「调入计划行」,保留已发生的关联出入库流水(已发/已调入的料不会因删单而回滚),操作需谨慎。

9.3 订单详情(用量展开 + 调入数量)

详情页按 需求量 = 接单量 × 单套用量 算出每种料需要领多少,并与该生产工厂当前在库对比:够 → 正常;不够 → 缺料标红,列出缺口。特点是:

  • BOM 物料后新增「调入数量」列(可手动录入):你可以逐料填「计划从别的厂/渠道调入多少」。
    • 保存调入数量:把计划暂存(不立即动库存)。
    • 确认调入:把每行的「调入数量」一键生成入库流水直接计入该生产工厂库存(来源「生产订单调入」)。已入账的行显示徽标、不可重复入账,避免重复调入。
  • 物料编号可点击直达该物料明细页。
  • 底部「调入总览」汇总:已调入项数 / 已调入合计件数 / 计划调入合计。
  • 一键领料:点「领料」,系统按 BOM 用量自动生成一批出库流水(用途「生产领用」,关联订单号);仍有缺料会提示但不阻止,需人工确认。

这一步既保留了原来「接单量 × 单套用量」的自动展开与一键领料,又让你能手动登记「这单要从别处调多少料进来」。


十、多工厂与代工厂管理(M2-1,admin / manager)

如果你的业务涉及多个工厂 / 代工厂,可以用「单库多地点」模式把各厂的库存放在同一套系统里管理,既统一又互不串库。

10.1 工厂管理页

路径:导航栏 工厂(仅管理员、主管可见)。

  • 列出全部工厂:编码、名称、类型(自厂 / 代工厂)、是否启用。
  • 新增工厂:填编码(如 SUB01,唯一)、名称、类型、备注。
  • 停用 / 启用:停用的工厂不再出现在切换器与下拉里(历史数据保留)。

10.2 顶栏工厂切换器

页面右上角有一个 「全部工厂 / 各工厂」 下拉:

  • 选「全部工厂」→ 看板、物料、出入库均为汇总口径。
  • 选某个具体工厂 → 看板 / 物料列表 / 出入库明细 / 物料流水全部按该厂过滤。
  • 选择写入当前会话,刷新后保持。

10.3 工厂工作台

在工厂管理页点某厂的「进入」,或访问 /factory/<id>,是一个三页签的工作台:

  • 物料看板:仅该厂的在库与预警。
  • BOM 齐套:基于该厂库存判断各 BOM 是否齐套。
  • 批量导入:可把期初物料 / 入库快速导入到该厂(仅管理员、主管可操作)。

设计原则:所有账号都能看到全部工厂数据(不做厂间权限隔离);库存聚合按 factory_id 实时计算,不冗余存储。


十一、厂间调拨(M2-2,admin / manager)

当「甲厂有货、乙厂缺料」时,用调拨把料从一个厂划到另一个厂,系统自动做双向记账。

11.1 新建调拨

路径:导航栏 调拨 → + 新建调拨。 填写:源厂、目标厂、物料、数量、业务日期、经手人、备注。

  • 库存校验:源厂在库不足时拦截,不让调拨变负。
  • 提交后自动生成两条流水:
    • 源厂:Outbound(出库,库存 −N)
    • 目标厂:Inbound(入库,库存 +N)
  • 同时写入 transfer 调拨主表,作为调拨凭证。

11.2 调拨列表

路径:导航栏 调拨(列表页,所有角色可查看)。 显示每笔调拨:调拨单号、源厂→目标厂、物料、数量、经手人、业务日期、备注。可用于对账。

调拨与「出库页的调拨入库」区别:本模块是厂与厂之间的正式调拨(双向记账、有调拨单号);出库页的「调拨入库」是把 BOM 料直接调入某厂(单向入库)。两者都会让目标厂库存 +N,看板/物料按厂过滤后都会体现。


十二、报表与操作日志(admin / manager)

  • 报表:导航栏 报表,全量库存表,预警状态标红,可点 ⬇ 导出库存 Excel 下载 库存导出_日期.xlsx。
  • 日志:导航栏 日志,记录所有关键操作(新增/编辑/删除物料、入库、出库、导入、领料等),含操作人、动作、目标、明细,最多保留 200 条,用于审计追溯。

十一、用户管理(仅 admin)

路径:导航栏 用户(仅管理员可见)。

  • 新增用户:填用户名、密码、角色(admin / manager / operator)、显示名。
  • 启用 / 停用:停用后该账号无法登录(不能停用自己)。

建议:日常使用别共用 admin,给每位同事建独立账号并赋对应角色,方便日志追溯。


十四、数据备份与维护(重要)

项目 说明
数据库文件 app.db,位于 EXE 同目录,唯一数据源
备份方法 关闭程序 → 复制 app.db 到备份盘 / 云盘
还原方法 用备份的 app.db 覆盖同目录文件,重启 EXE
换电脑 把 MaterialWMS.exe + app.db 一起拷贝过去即可
指定库路径 设置环境变量 WMS_DB 指向自定义位置

十三、常见问题 FAQ

Q1:打开后浏览器没反应 / 白屏? 先确认 MaterialWMS.exe 是否在运行(任务管理器看进程)。若 8080 端口被占,用 MaterialWMS.exe 8081 换端口,并访问对应地址。

Q2:提示「库存不足」无法出库? 当前在库小于你要出的数量。先核对入库是否录全,或去物料明细查流水。系统故意拦截,避免库存变负。

Q3:BOM 导入后某项被「跳过」? 该项物料编号在系统里找不到,且不是可自动新建的情况(如用量≤0)。先用「物料导入」建好主数据,或允许自动新建后重新导入。

Q4:Excel 导入提示「格式不符」? 检查表头是否含必需列:物料导入需 物料编号;BOM 简单表需 BOM型号/物料编号/单套用量;嘉立创表需 Part Number/Quantity。下载对应模板对照最稳妥。

Q5:多人同时用一台电脑? 本系统是单机程序,同一时刻一个 app.db。如需多人协作,应部署为共享服务或错峰使用,并勤于备份。

Q6:忘记 admin 密码? 关闭程序,用备份恢复,或联系部署人重置 app.db(暂无自助找回,需直接改库)。

Q7:顶栏工厂切换器怎么用? 右上角下拉选「全部工厂」看汇总,选某厂只看该厂数据;切换只影响当前浏览器会话。新增/停用工厂在「工厂」页(管理员、主管)。

Q8:厂间调拨和出库里的「调拨入库」有什么不同? 调拨模块是厂↔厂的正式调拨(源厂减、目标厂加,有调拨单号);出库页的「调拨入库」是单向把 BOM 料直接加进某厂。两者都会让目标厂库存增加,按厂过滤后都会体现。

Q9:生产订单里的「调入数量」是什么? 是逐料「计划从别处调多少进来」的手工登记。点「保存调入数量」暂存计划,点「确认调入」才真正生成入库流水进该生产工厂;已入账的行不可重复调入。


附:快速上手清单

  1. 双击 MaterialWMS.exe,浏览器打开,用 admin / admin123 登录。
  2. 下载「物料导入模板」,把现有物料清单填好导入。
  3. 用「BOM 批量导入窗口」上传嘉立创 BOM(或粘贴文本),建好产品用料。
  4. 多工厂场景:进「工厂」页建好各工厂/代工厂,用顶栏切换器按厂查看。
  5. 日常收发货:入库 / 出库 单笔或批量录入;出库页可用「按 BOM 批量操作」(齐套领料 / 调拨入库)。
  6. 接单后:生产订单新建(选工厂)→ 看缺料 → 登记「调入数量」并确认调入 → 一键领料。
  7. 厂间调拨:调拨页建调拨单,系统自动源厂减、目标厂加。
  8. 每天看一眼「库存看板」的红/黄预警,每周备份一次 app.db。
  9. 给同事建独立账号并分配角色(admin 专属)。