1、背景:本地仓库,现有出入库作业流程依赖手工操作,效率低、易出错。现计划开发一套 Android 端扫码应用,以实现仓库作业数字化、离线录入、扫码统计并与现有系统对接。
2、核心功能:
1). 离线订单数据下发
支持仓库员工在有网区域通过 APP 拉取当天或指定日期的出库订单以及采购订单的入库流程
每个订单包含:订单编号、客户信息、SKU 编码、商品名称、预出货数量等
采购订单:订单编号,采购订单号,SKU编码,商品名称,预进数量等
下发的订单需存储至本地数据库,支持离线访问
采购订单(入库)需存储⾄本地数据库
2). 扫码录单
需要对物品进行排序,显示尚未采集的物品
支持扫描商品上的 UPC条码
扫码后,自动匹配订单中的 SKU
同一 SKU 商品仅需扫一次,用户手动输入该 SKU 的出货数量
针对少量商品可设置为逐件扫描,自动+1计数
支持对一个订单进行多次扫码补录,避免漏扫
支持离线操作,等到有网后再上传
3). 订单加锁机制
某个订单一旦由员工 A 开始扫码录入,则该订单应锁定,仅允许该员工继续操作,避免重复录入
入库操作一般仅由一个员工操作,默认不加锁;出库需加锁
4). 数据同步
支持在有网络环境下,将本地扫码记录上传至客户现有系统
支持失败记录自动重传或人工重试
上传需调用客户提供的接口(客户将提供接口文档和模拟数据)
5). 扫码记录管理
每条扫码记录包含:订单号、SKU、数量、操作时间、操作人等
可在本地查询未上传与已上传记录
1、项目整体说明
该项目是一个基于 Flutter + Spring Boot 开发的安卓仓储录单系统,主要解决仓库场景下订单离线下发、扫码录单、订单加锁、数据同步和扫码记录管理等问题。
移动端基于 Isar 实现本地离线存储,通过 BLE 对接外部扫码设备,后端基于 Spring Boot 提供订单管理、锁控制和客户系统接口对接能力。
系统整体采用 离线优先 + 本地缓存 + 联网补传 + 服务端锁控制 的设计思路,兼顾了现场可用性、数据一致性和对外集成能力。
2、我的个人贡献
我主要负责 Flutter 客户端核心模块开发,包括订单下发、本地数据库设计、扫码录单、BLE 接入、数据同步和记录管理。
参与订单加锁机制联调和客户接口对接,推动系统实现从离线作业到数据回传的完整闭环。
通过本地化存储、扫码流程优化和失败重试机制设计,提升了系统在仓储弱网环境下的稳定性和实际可用性。
3、我的项目收获
这个项目让我在 Flutter 复杂业务开发、Isar 本地数据库设计、BLE 硬件接入、离线同步机制、前后端联调 等方面积累了比较完整的实战经验。同时也提升了我对 仓储业务流程、并发控制、异常兜底和系统稳定性设计 的理解。