一、产品介绍(聚澜智能办公用品领用柜)
1、产品概述
聚澜智能办公用品领用柜,面向政企、国企、集团企业,实现办公用品、打印耗材、U 盘、劳保用品、档案物料24 小时无人自助领用归还,替代传统人工登记发放。
支持身份核验:人脸识别 / IC 刷卡 / 二维码扫码
识别方案:RFID 射频识别(柜内物资自动识别)
部署模式:公有云、私有化信创部署(适配麒麟系统)
对接能力:API 接口对接 OA、ERP、企业微信
核心能力:领用记录留痕、库存自动盘点、低库存告警、部门领用配额管理、审计报表导出。
柜体硬件:加厚冷轧钢柜体、钢化玻璃视窗、触控显示屏、RFID 读写天线、电控锁、本地缓存控制器。
2、业务流程
用户人脸 / 刷卡登录柜子终端
系统校验用户权限、部门领用额度
授权开启对应柜门
用户取放物资,RFID 自动扫描柜内物资
关门,终端自动比对物资变化,生成领用记录
数据上传后台,库存更新,库存不足触发消息提醒
管理员后台查询报表、设置权限、管理物资台账
3、核心功能清单
用户权限管理:按岗位 / 部门设置月度领用限额
RFID 自动盘点,无需人工盘点
操作全程留痕,可审计溯源
断网本地缓存,联网同步数据
告警:库存不足、柜门异常未关、非法开箱告警
API 对外对接第三方系统
多维度统计报表(部门消耗、人员领用、耗材消耗排行)
二、整体技术架构
设备终端层:智能柜硬件(触控屏、RFID 读写器、人脸模块、电控锁、边缘控制器)
边缘本地服务:设备本地逻辑,断网缓存、门锁控制、RFID 读取
后端服务层:业务接口、用户权限、库存管理、报表、消息推送
后台管理 Web 端:管理员操作页面
第三方对接层:API 接口,对接 OA、企业内部系统
三、简易技术实现代码示例
1、物资实体、领用记录数据模型(Python + SQLAlchemy)
from sqlalchemy import Column, Integer, String, DateTime, Float, Boolean
from sqlalchemy.ext.declarative import declarative_base
import datetime
Base = declarative_base()
# 物资表:文具、耗材、U盘、劳保、档案物料
class OfficeMaterial(Base):
__tablename__ = "office_material"
id = Column(Integer, primary_key=True)
rfid_tag = Column(String, unique=True, comment="RFID标签ID")
material_name = Column(String, comment="物资名称:A4纸/U盘/劳保手套/档案盒")
material_type = Column(String, comment="分类:文具|打印耗材|U盘|劳保用品|档案物料")
stock_num = Column(Integer, default=0, comment="当前库存")
warning_stock = Column(Integer, default=5, comment="库存告警阈值")
# 领用记录表
class BorrowRecord(Base):
__tablename__ = "borrow_record"
id = Column(Integer, primary_key=True)
user_id = Column(String, comment="领用人员ID")
user_name = Column(String)
dept = Column(String, comment="所属部门")
rfid_tag = Column(String)
material_name = Column(String)
operate_type = Column(String, comment="borrow领用 / return归还")
operate_time = Column(DateTime, default=datetime.datetime.now)
status = Column(String, comment="正常/异常")
# 用户权限模型
class CabinetUser(Base):
__tablename__ = "cabinet_user"
id = Column(Integer, primary_key=True)
user_id = Column(String, unique=True)
name = Column(String)
dept = Column(String)
month_quota = Column(Integer, comment="月度领用限额")
face_feature = Column(String, comment="人脸特征码")
card_no = Column(String, comment="IC卡号")
2、柜端核心业务逻辑模拟(Python 伪代码)
"""
办公用品领用柜 柜端业务逻辑
流程:身份认证→权限校验→开柜→关门后RFID盘点→生成记录、更新库存
"""
class OfficeCabinetDevice:
def __init__(self):
self.is_open = False
self.local_cache = [] # 断网本地缓存操作记录
self.current_read_rfid_list = [] # RFID读到柜内标签
def user_verify(self, verify_type:str, verify_data):
"""
身份认证
verify_type: face / card / qrcode
verify_data:人脸特征 / 卡号 / 二维码内容
return (True/False, user_info)
"""
print(f"执行身份校验,方式:{verify_type}")
# 对接人脸SDK / IC读卡器SDK校验用户身份
user_info = {"user_id":"U001","name":"张三","dept":"行政部","month_quota":10}
return True, user_info
def open_door(self):
"""控制电控锁开门"""
print("执行开门指令,电控锁打开")
self.is_open = True
def close_door(self):
"""关门触发RFID全柜盘点"""
print("柜门关闭,启动RFID全柜扫描盘点物资")
# 调用RFID读写SDK读取柜内全部标签
self.current_read_rfid_list = ["TAG001","TAG002","TAG003"]
self.is_open = False
return self.current_read_rfid_list
def compare_material_change(self, before_list, after_list):
"""开门前后RFID对比,识别拿走(领用)、放入(归还)的物资"""
borrow_tags = list(set(before_list) - set(after_list)) #拿走=领用
return_tags = list(set(after_list) - set(before_list)) #放入=归还
return borrow_tags, return_tags
def save_operate_record(self, record):
"""保存记录,断网存入本地缓存,联网同步服务端"""
# 判断网络状态
net_ok = False
if net_ok:
# http请求上传后端接口
print("网络正常,直接上传业务记录")
else:
self.local_cache.append(record)
print("网络断开,存入本地缓存,待联网同步")
四、关键技术点说明
RFID 物资识别 每件物资粘贴 UHF RFID 标签;柜门关闭后,柜内天线读取全部标签;对比开门前后标签集合,自动识别领用 / 归还物资,不需要每个物资单独格口。适合文具、耗材、档案盒、劳保手套、U 盘等杂乱物资管理。
断网本地缓存 柜端边缘控制器缓存操作记录,网络故障不影响领用业务,网络恢复批量同步后台,保障业务连续性,政企场景刚需。
信创私有化部署 后端服务可部署国产化麒麟服务器,数据库使用达梦,全部数据保存在本地内网,不经过公网,满足国企政务数据安全。
权限配额管控 后台配置每个人员 / 部门月度领用额度,超额柜子拒绝申领,管控办公用品成本。
第三方对接 API 对外提供 HTTP 接口,可以把领用记录推送给 OA 系统,实现单点登录,组织人员同步。
五、FAQ
Q1:RFID 标签可以贴 U 盘、劳保用品、档案盒吗? A:可以,纸质档案盒、包装盒耗材、U 盘外壳都可以粘贴 UHF 标签;金属物资选用抗金属 RFID 标签。
Q2:没有网络柜子还能使用吗? A:柜端本地边缘系统缓存业务逻辑,断网依旧可以领用归还,网络恢复自动同步全部台账数据。
Q3:可以对接企业内部 OA 系统吗? A:开放标准 API 接口,支持人员同步、单点登录、领用记录推送,适配主流 OA、ERP。
Q4:聚澜智能这套柜子软件可以做二次开发吗? A:支持,提供 API 文档,私有化部署版本支持功能定制开发。