行政物资库管理系统
一套面向企业内部库房的进(入库)· 领(部门领用)· 退(未用退回)· 存(实时库存 + 盘点)管理系统,三端联动(网页端 / 手机端 / PC 桌面客户端),自带服务端联网授权。
- 技术栈:Python 3 + FastAPI + SQLAlchemy 2.0 + SQLite,前端 Vue 3 + Element Plus(免构建,依赖已本地化);桌面端 pywebview 单文件绿色客户端;授权中心零第三方依赖
四大核心功能
| 功能 | 页面 | 说明 |
| 入库登记 | 入库单 | 支持多物资明细;可填供应商、库房、单价、金额自动合计;草稿 → 提交 → 审核三段流转;审核后才计入库存。支持批量导入(CSV / Excel,见下) |
| 部门领用登记 | 领用单 | 按部门领用;可填领用人、用途;审核时校验库存是否充足,不足直接拒绝并提示差多少;审核后扣减库存;可一键查看本单物资的实时库存。已审核的单据可一键发起退回 |
| 实时库存 | 实时库存 | 按 库房 × 物资 汇总的实时结存,含金额小计;支持筛选、汇总卡片、导出 Excel 可读的 CSV |
| 库存盘点表 | 盘点单 | 按库房一键生成盘点明细(自动带出账面数快照);录入实盘数后自动算盈亏;审核时若账面数已变动会拒绝并提示重新生成,防止”盘点期间库存被改” |
业务增强功能
| 功能 | 页面 | 说明 |
| 领用退回 | 领用退回 | 领用后未使用部分退回库房。必须挂在一张已审核的领用单上,库房与部门自动锁定为原单值(防止把 A 部门的物资退回 B 库房);可退数量 = 应领 − 已退回,审核时严格校验,超退直接拒绝;支持红字冲销,红冲后可退数量自动复原 |
| 库存预警 | 库存预警 | 库存低于物资的安全库存时自动生成预警记录(预警中 → 已解除 有完整生命周期),补齐后自动解除并(可选)通知。支持按库房/状态/关键词筛选、按物资编码搜索、全量重扫、导出 |
| 消息中心 | 消息中心 | 顶栏铃铛显示未读数(自动轮询)。预警/恢复通知统一入消息中心,按人记已读(同一用户标记已读不影响他人);可按分类/级别/只看未读筛选、一键全部已读、清理已读 |
| 消息推送 | 消息推送设置 | 把站内消息推送到企业微信 / 钉钉 / 飞书群机器人或自建网关(Webhook),以及邮件(SMTP)。支持「发送测试消息」验证渠道;钉钉支持加签密钥。推送在响应之后异步执行,失败只记在消息上,绝不影响单据审核 |
| 批量入库导入 | 入库单 → 批量导入 | 上传 CSV / Excel 直接生成入库草稿明细。两段式:先解析预览(逐行标出问题,不改数据库)→ 确认后再落单。支持中英文表头别名、编码/名称双路匹配、同一物资多行自动合并数量、1,200 / 12 元 之类宽松数值格式、CSV 编码自适应(UTF-8 / GBK)。可下载带示例的导入模板 |
配套功能
| 模块 | 能力 |
| 经营看板 | 库存总览卡片、近 30 天出入库趋势图、部门领用排行、物资分类占比 |
| 库存流水 | 每一笔出入库的明细流水(谁、何时、哪张单据、增减多少),库存的唯一依据 |
| 基础资料 | 物资分类(树形)、库房、部门(树形)、供应商、物资档案(含安全库存 / 库存上限 / 参考单价) |
| 系统管理 | 用户管理、角色管理(菜单 + 按钮级授权)、操作日志(含登录/增删改审计) |
| 授权管理 | 联网授权配置、状态实时展示、宽限期提示、日志查询、卡密(CDK)自助开通、自助换绑域名、购买联系方式与卡密购买链接展示(由授权中心统一填写下发,没填时灰色占位)、在线续费(入口是顶部状态横幅上的「续费」按钮,点开一个独立的续费弹窗;四档价格由授权中心下发)、更新自动推送提示与下载( |
| 客户端下载 | 顶栏右上角(消息红点左边)常驻下载入口,点一下直接拿到 PC 客户端安装包;安装包由授权中心统一托管,服务商只维护一个地方 |
| 顶栏信息 | 左上角系统名右侧显示当前运行版本号(排障第一步就是确认版本);右上角消息铃常显,有未读才出红点 |
| 个人中心 | 修改本人密码 |
三端联动
三端共用同一套后端、同一份数据、同一套授权——不存在”哪个端的数据不一样”的问题。
| 端 | 形态 | 入口 | 说明 |
| 网页端 | 浏览器 | http://服务器地址:8000 | 功能最全,改完前端刷新即生效 |
| 手机端 | 浏览器 / 加到主屏 | 同上(同一个网址) | 响应式布局;支持「添加到主屏幕」,加完就是一个独立 App 图标(PWA),有离线页兜底 |
| PC 桌面端 | 绿色单文件 exe | desktop/ 目录 | pywebview 客户端,双击即开,不用记网址;窗口里打开的就是服务器上的同一套网页,所以客户端本身永远不用升级。右下角常驻「⚙ 服务器设置」,客户可自助修改服务器网址;窗口内可直接下载文件(WebView2 的下载开关已强制打开) |
单据流转(四类单据一致)
提交 审核
草稿 draft ─────────> 待审核 pending ─────────> 已审核 approved ──红字冲销──> 已红冲 reversed
│ 可编辑 │ 可退回草稿 (生成反向单据 + 反向流水,
│ 可删除 │ ←──退回草稿 reject 库存精确复原)
│ │
└─────── 可作废 ─────────┴──────> 已作废 cancelled(不产生库存影响)
四类单据:入库单(RK,库存 +)、领用单(LY,库存 −)、退回单(TL,库存 +)、盘点单(PD,按盈亏调整)。
核心原则:单据只增不改。已审核的单据永远不能修改或删除,填错了只能用红字冲销——系统自动生成一张数量为负的反向单据 + 反向流水,原单标记为「已红冲」。这样任何时点的库存都能被流水完整解释,账实差异可追溯到具体单据。
