SOHE智能厨余垃圾处理系统

SOHE 智能餐余垃圾置管系统 --- 完整流程与功能说明

SOHE智能餐余垃圾置管系统(以下简称"系统")业务流程、功能模块、数据模型、接口示例、硬件集成与实现。


一、系统目标与范围

目标:对餐饮单位产生的餐余垃圾进行全流程智能化监管与处置:实时采集产生量与称重数据、上传处置量与入厂/出厂重量、设备运行状态监控、报警与审计日志,支持监管部门、运营方和餐饮单位协同管理与追溯。

范围

  • 数据采集:称重设备(进厂/出厂/中转)、时间、地点、单位信息
  • 设备监控:状态、通讯、传感器告警
  • 报警管理:超标、异常重量、设备离线、作弊疑似
  • 日志审计:用户操作、自动事件、修正记录
  • 报表与统计:日/周/月/年、单位排行、合规性检测
  • 移动端/PC端:餐饮端上报、司机/称重员操作、监管端审批
  • 接入硬件:电子秤、门禁、称重摄像头、物联网网关
  • 可扩展:路线优化、预测、可视化地图、区块链上链

二、系统主要角色

  1. 餐饮单位管理员:登记单位信息,上报产垃圾/预约入厂。
  2. 称重员 / 司机:现场称重、拍照、确认入厂/出厂、上传处置量。
  3. 运营调度人员:调度车辆、处理异常报警。
  4. 设备维护人员:设备巡检、故障处理。
  5. 监管人员(政府/环保):查看报表、审计日志、监管报警。
  6. 系统管理员:用户权限管理、系统配置、备份。

三、高层业务流程(步骤化)

  1. 餐饮单位注册与资料维护

    • 单位信息(名称、地址、经营类型、负责人、联系人、证照信息)录入并审核。
  2. 产生记录(自动/手工)

    • 餐饮单位通过移动端或接口提交"产生记录":产生时间、估算重量(或自动称重)、产生点ID(厨房/门口)、照片(可选)、垃圾类型(餐余/厨余/油渣)。
    • 系统生成产生记录ID,进入待收运状态。
  3. 预约/调度收运

    • 餐饮单位预约上门收运或运营方安排路线。
    • 调度系统分配车辆与称重点。
  4. 上门收运 --- 现场称重(进厂重量)

    • 车辆到达称重点/厂区,电子地磅自动读取"进厂重量"(毛重),拍照(车牌、车厢)、称重终端上传数据:产生记录ID、进厂时间、进厂重量、称重设备ID、操作员ID。
    • 系统关联单据并校验(照片与车牌匹配,重量范围合理性校验)。
  5. 处置/中转处理

    • 在处理中间环节记录处理明细(例如转堆、堆肥量、厌氧消化量),可分批记录"处置量"。
    • 设备(破碎机/烘干/发酵设备)状态与运行日志同步上传。
  6. 出厂称重(回皮重 / 去皮重)

    • 出厂时称重获取回皮重(空车重量)或称重后得到净处理量(毛重 - 皮重)。
    • 系统计算处理量并记录处置结论(已处理/转运/异常)。
  7. 数据校验与计量确认

    • 系统依据规则自动校验(与预约重量、历史数据比较、同车多次入厂检测)。
    • 若校验失败,生成报警/待人工复核。
  8. 报警处理

    • 对超限、异常波动、设备离线、时序错乱等触发报警,支持短信/微信/邮件/推送通知,设定SLA与处理流程。
  9. 审计与日志

    • 所有用户操作、系统自动修正、手工核销均产生审计日志并不可篡改保存(可接区块链上链或数据库只追加策略)。
  10. 报表与分析

    • 生成日/周/月报表、合规报告、单位排行、设备利用率、异常统计、地图可视化。

四、功能模块一览(细分)

下面按模块详细列出功能点(可直接用于开发任务拆解):

1. 用户与权限模块

  • 用户/角色管理(RBAC:监管、运营、餐饮、称重员、维护)
  • 单位(餐饮)管理与资质审核
  • 操作日志/审计查看

2. 设备与物联模块

  • 设备注册(秤、摄像头、网关、传感器)
  • 设备心跳/状态监控(在线/离线、故障码)
  • 固件版本管理、远程重启/维护指令下发
  • 支持协议:MQTT、HTTP、Modbus、串口转网关

3. 数据采集模块

  • 自动称重采集(串口/网关->MQTT->服务器)
  • 摄像头抓拍(车牌、称重过程)
  • 移动端手工上传(产生记录、照片、备注)
  • GPS/位置点位关联

4. 称重与计量模块

  • 进厂/出厂称重流程(毛重/皮重/净重)
  • 称重单据生成、打印(二维码/条码)
  • 多称重点合并、分批计量
  • 实时数据校验(波动、超标、逻辑冲突)

5. 报警与通知模块

  • 报警策略编辑(阈值、条件组合)
  • 报警分级(紧急/高/中/低)
  • 通知渠道:短信、邮件、企业微信、APP推送
  • 报警处理工单(指派、回复、关闭、二次上报)

6. 流程与审批模块

  • 入厂单确认、处置单审批
  • 人工复核与凭证上传(图片、视频)
  • 异常申诉/复核历史记录

7. 报表与可视化

  • 实时看板(单位、设备、报警)
  • 地图视图(热力图、路由)
  • 导出(CSV/Excel/PDF)
  • 定时报表/邮件分发

8. 审计与合规

  • 操作日志(who/when/what)
  • 数据防篡改(只追加、备份、哈希校验)
  • 合规报告模板(交给监管部门用)

9. 系统管理与监控

  • 备份/恢复、性能监控、告警上报
  • API 密钥管理、访问频率限制(Rate Limiting)
  • 多租户支持(如果需要)

10. 扩展智能功能(可选)

  • 异常检测的 ML 模型(识别作弊、虚报)
  • 运输路线优化(基于地图服务)
  • 处理量预测(单位/节假日动态)
  • 区块链上链(不可篡改审计)------可选

五、关键业务规则

  • 毛重与皮重时差不得超过 24 小时;超时需人工复核。
  • 单车同日累计净处理量超出历史平均 3 倍触发警报。
  • 设备离线超过 15 分钟触发离线告警;离线超过 24 小时自动生成维护单。
  • 相同产生记录多次计量时,系统按"首次入厂"为准,后续需人工核准。
  • 用户操作的关键字段修改需记录原值与修改原因。

六、数据模型

下面给出核心表结构,供开发直接使用或作参考(简化版)。

sql 复制代码
-- 餐饮单位
CREATE TABLE restaurant_unit (
  unit_id BIGINT PRIMARY KEY AUTO_INCREMENT,
  name VARCHAR(200) NOT NULL,
  license_no VARCHAR(100),
  contact_name VARCHAR(100),
  contact_phone VARCHAR(50),
  address VARCHAR(500),
  category VARCHAR(50), -- 餐饮类型
  status TINYINT DEFAULT 1, -- 1:正常 0:停用
  created_at DATETIME DEFAULT CURRENT_TIMESTAMP
);

-- 产生记录(餐余垃圾产生)
CREATE TABLE generation_record (
  gen_id BIGINT PRIMARY KEY AUTO_INCREMENT,
  unit_id BIGINT NOT NULL,
  gen_time DATETIME NOT NULL,
  estimate_weight DECIMAL(10,2), -- 估算
  gen_type VARCHAR(50), -- 餐余/厨余/油脂等
  photo_url VARCHAR(1000),
  status VARCHAR(50) DEFAULT '待收运', -- 状态
  remark TEXT,
  created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
  FOREIGN KEY(unit_id) REFERENCES restaurant_unit(unit_id)
);

-- 称重单(入厂/出厂)
CREATE TABLE weigh_record (
  weigh_id BIGINT PRIMARY KEY AUTO_INCREMENT,
  gen_id BIGINT, -- 关联产生记录,可为空
  vehicle_no VARCHAR(50),
  operator_id BIGINT,
  device_id BIGINT,
  weigh_type VARCHAR(10), -- 'IN' or 'OUT'
  weigh_time DATETIME NOT NULL,
  weight DECIMAL(10,2) NOT NULL,
  photo_url VARCHAR(1000),
  gps VARCHAR(100), -- "lat,lng"
  source VARCHAR(50) DEFAULT 'device',
  created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
  FOREIGN KEY(gen_id) REFERENCES generation_record(gen_id)
);

-- 处置记录(处理量)
CREATE TABLE disposal_record (
  disposal_id BIGINT PRIMARY KEY AUTO_INCREMENT,
  weigh_in_id BIGINT, -- 入厂称重记录
  weigh_out_id BIGINT, -- 出厂称重记录,计算净量
  net_weight DECIMAL(10,2),
  process_type VARCHAR(100),
  processed_at DATETIME,
  operator_id BIGINT,
  remark TEXT,
  created_at DATETIME DEFAULT CURRENT_TIMESTAMP
);

-- 报警表
CREATE TABLE alarm (
  alarm_id BIGINT PRIMARY KEY AUTO_INCREMENT,
  alarm_type VARCHAR(100),
  level VARCHAR(20),
  related_id BIGINT, -- 可关联 weigh_id / device_id / gen_id
  message TEXT,
  status VARCHAR(20) DEFAULT '未处理',
  created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
  handled_at DATETIME,
  handler_id BIGINT
);

-- 设备表
CREATE TABLE device (
  device_id BIGINT PRIMARY KEY AUTO_INCREMENT,
  device_sn VARCHAR(100) UNIQUE,
  type VARCHAR(50), -- scale/camera/gateway
  location VARCHAR(200),
  status VARCHAR(20) DEFAULT 'online',
  last_heartbeat DATETIME,
  meta JSON,
  created_at DATETIME DEFAULT CURRENT_TIMESTAMP
);

-- 操作日志
CREATE TABLE operation_log (
  log_id BIGINT PRIMARY KEY AUTO_INCREMENT,
  user_id BIGINT,
  action VARCHAR(200),
  target_table VARCHAR(100),
  target_id BIGINT,
  before_data JSON,
  after_data JSON,
  ip VARCHAR(50),
  created_at DATETIME DEFAULT CURRENT_TIMESTAMP
);

七、常用 API 设计示例

示例仅列出关键端点与请求/响应示例。

  1. 餐饮单位注册
  • POST /api/units
json 复制代码
{
  "name":"某某饭店",
  "license_no":"ABC123",
  "contact_name":"张三",
  "contact_phone":"13800138000",
  "address":"某市某区"
}
  1. 提交产生记录
  • POST /api/generation
json 复制代码
{
  "unit_id": 1001,
  "gen_time": "2025-12-14T11:30:00Z",
  "estimate_weight": 35.5,
  "gen_type": "餐余",
  "photo_url": "https://..."
}
  1. 设备上报称重(设备通过MQTT/HTTP网关推送)
  • POST /api/weigh
json 复制代码
{
  "device_sn":"SCALE-0001",
  "weigh_type":"IN",
  "weigh_time":"2025-12-14T12:05:00Z",
  "weight": 1250.50,
  "vehicle_no":"晋A12345",
  "photo_url":"https://...",
  "gen_id": 2012
}
  1. 查询警报
  • GET /api/alarms?status=未处理&level=紧急
  1. 人工复核/处理报警
  • POST /api/alarms/{alarm_id}/handle
json 复制代码
{
  "handler_id": 3001,
  "action":"已确认,安排复核",
  "result":"待排查"
}

八、硬件集成与通信设计

硬件构成

  • 电子地磅(称重):支持RS232输出称重数据
  • 工业相机/车牌识别相机:用于捕捉车辆与称重过程
  • 物联网网关:将串口/设备数据转为MQTT/HTTP推送到云端
  • 门禁/道闸(可选):控制车辆进出,并触发称重流程
  • 移动端设备(Android/IOS):手工上报、扫码、审批

通信协议与链路

  • 称重设备 -> 网关:串口(RS232)或Modbus
  • 网关 -> 后端:MQTT或HTTPS(REST)
  • 摄像头 -> 后端:RTSP + 定时抓图上传;或通过网关抓图并上传
  • 移动端 -> 后端:HTTPS + JWT 或 OAuth2

实时性与可靠性

  • 称重数据优先级高,建议网关本地缓存(持久化)并重试机制。
  • 心跳机制:设备每 N 秒上报心跳,后台统计并触发离线报警。
  • 图片/视频较大,采用分片上传或先上传到对象存储(如 S3),再把 URL 写入主表。

九、报警策略与处理流程

常见报警类型

  1. 设备离线(心跳超时)
  2. 异常重量(与预约或历史明显不符)
  3. 重复计量/多次入厂(同车连续入厂异常)
  4. 超限/超出许可单位日处理量
  5. 图片/视频缺失或车牌识别不一致

处理流程

  1. 系统触发报警并生成报警单。
  2. 自动通知相应责任人(短信/微信/APP)。
  3. 责任人确认并指派工单(维修、复核、行政处罚等)。
  4. 记录处理结果并归档为审计文本。
  5. 必要时触发二次抽检或监管复核。

十、前端界面/移动端页面

PC/管理端

  • 登录/权限管理
  • 实时仪表盘(今日产生总量、待处理、设备在线率、报警)
  • 地图视图(单位/车辆/设备分布)
  • 单位管理/资质审核
  • 称重记录管理(筛选/复核)
  • 报表导出/定时任务
  • 设备管理/固件管理

移动端(餐饮端)

  • 单位信息与资质查看
  • 提交产生记录(拍照、重量、备注)
  • 查看预约与收运状态
  • 报警与处理历史

移动端(称重员/司机)

  • 当日任务(入厂/出厂)
  • 扫码/拍照上传称重单据
  • GPS 打点与签到

十一、安全与合规

  • 数据传输使用 TLS(HTTPS/MQTTs)
  • 鉴权:OAuth2/JWT,角色权限控制(RBAC)
  • 日志不可抵赖性:关键数据保存历史版本,操作日志不可删除
  • 数据保留策略:根据法规设置(例如 3 年或 5 年),并提供导出功能
  • 隐私保护:对人员信息/电话号码做访问控制与脱敏展示

十二、部署与运维建议

  • 后端:Spring Boot(微服务或单体根据规模),容器化(Docker + Kubernetes)
  • 数据库:MySQL/Postgres(主从),时序/日志用 ElasticSearch(可选)
  • 消息中间件:Kafka/RabbitMQ(高并发)或 MQTT Broker(EMQX)用于设备数据
  • 对象存储:MinIO / S3 用于存放照片/视频
  • 监控:Prometheus + Grafana;日志集中(ELK)
  • 备份/恢复:定时备份 DB & 对象存储,演练恢复

十三、测试与验收项

  1. 功能测试:产生记录上报、进/出厂称重、处置记录、报警生成与处理。
  2. 设备兼容性测试:与典型电子秤/网关/摄像头的连通性测试。
  3. 性能测试:并发称重上报 1000TPS(依据规模设定),报表导出压力测试。
  4. 容错测试:网关/设备断连重连、重复数据去重。
  5. 安全测试:渗透测试、数据泄露防护、认证授权测试。
  6. 验收标准:准确率 > 99%(计量)、设备在线率 > 95%(可定制)。

十四、扩展功能建议(优先级可调整)

  • 地图/路线优化调度(中):提升收运效率,节省油耗。
  • 异常识别 ML(中):训练模型识别虚报/作弊行为。
  • 接口对接监管平台(高):支持监管部门接入 API。
  • 区块链审计上链(低):增加不可篡改性(若监管要求)。
  • 微信小程序/企业微信接入(高):便于餐饮单位与监管通知。

十五、示例场景流程(具体步骤示例)

  1. 餐饮单位 A 在 2025-12-15 08:00 上传产生记录:估重 18 kg(照片附带)。
  2. 调度员在 2025-12-15 09:00 分配车辆 V01 前往收运。
  3. 车辆到厂,地磅自动读取毛重 1230 kg(weigh_in),拍照保存。
  4. 处理完毕后,出厂称重回皮重 1010 kg(weigh_out),系统计算净处理量 220 kg。
  5. 系统与产生记录核对,确认净处理量匹配;若不匹配(比如超出 3 倍),触发"异常重量"报警,自动抄送调度员与监管员。
  6. 调度员在线上提交复核申请,维护人员审查图片与称重曲线后关闭报警并记录处理决议。

十六、开发技术栈建议

  • 后端:Java + Spring Boot / Spring Cloud(或 Node.js + NestJS)
  • 数据库:MySQL + Redis(缓存)+ ElasticSearch(日志/搜索)
  • 消息/设备:EMQX(MQTT)或 Kafka
  • 前端:Vue.js(管理端),WeChat 小程序
  • 存储:MinIO
  • 容器/部署:Docker
  • CI/CD: GitHub

十七、交付物

  1. 需求规格说明书(含流程图、用例)
  2. 数据库 ER 图与 SQL 建表脚本
  3. 后端 API 文档(OpenAPI/Swagger)
  4. 前端原型 + 页面设计
  5. 设备接入说明(协议、样例)
  6. 测试用例与验收标准
  7. 部署手册与运维指南

相关推荐
掘根1 分钟前
【仿Muduo库项目】EventLoop模块
java·开发语言
信码由缰7 分钟前
Java 中的 AI 与机器学习:TensorFlow、DJL 与企业级 AI
java
沙子迷了蜗牛眼29 分钟前
当展示列表使用 URL.createObjectURL 的创建临时图片、视频无法加载问题
java·前端·javascript·vue.js
ganshenml31 分钟前
【Android】 开发四角版本全解析:AS、AGP、Gradle 与 JDK 的配套关系
android·java·开发语言
我命由我1234532 分钟前
Kotlin 运算符 - == 运算符与 === 运算符
android·java·开发语言·java-ee·kotlin·android studio·android-studio
小途软件38 分钟前
ssm327校园二手交易平台的设计与实现+vue
java·人工智能·pytorch·python·深度学习·语言模型
alonewolf_9942 分钟前
Java类加载机制深度解析:从双亲委派到热加载实战
java·开发语言
追梦者12343 分钟前
springboot整合minio
java·spring boot·后端
云游1 小时前
Jaspersoft Studio community edition 7.0.3的应用
java·报表
帅气的你1 小时前
Spring Boot 集成 AOP 实现日志记录与接口权限校验
java·spring boot