chemFeatures.md 41 KB

化学品智能管理终端 App 功能表格导航

1. 文档说明

本文将当前仓库按 功能 -> 页面 -> 接口 -> 模型 的方式整理为表格,适合:

  • 新开发接手时快速定位代码
  • 功能评审时快速查看页面与接口对应关系
  • 排查问题时按业务链路反查源码

项目根定位:实验室化学品智能管理终端(壁挂 Android 一体机)


2. 项目主入口总表

功能域 入口页面/类 作用说明 关键文件
应用初始化 ChemicalApp 初始化全局状态、蓝牙、X5、日志、ANR 恢复 app/src/main/java/xn/hxp/app/ChemicalApp.kt:32
启动与设备绑定 StartActivity 自动授权、读取本地配置、校验设备绑定实验室、跳主页 app/src/main/java/xn/hxp/ui/StartActivity.java:34
主工作台 MainActivity 主菜单入口、柜体轮播、登录分流、心跳、自动登出 app/src/main/java/xn/hxp/ui/MainActivity.java:87
设置 SettingActivity 服务地址、管理员密码、蓝牙秤、相机、系统控制 app/src/main/java/xn/hxp/ui/SettingActivity.java:24

3. 功能总览表

功能模块 主页面 子页面/辅助类 主要接口 关键模型
登录认证 SwipeActivity / ScanLoginActivity / FaceLoginActivity / FacialCardActivity AuthenticationDialog cardNum userCardValidation getScanCode faceNewCompare UserData UserValidationBean ConfigBean
双人认证 TwoVerificationActivity TwoPersonActivity SwipeCodeTwoActivity ScanCodeTwoActivity DoublePeopleDialog useCardVerify aioScanLogin checkUserFaceByPic UserValidationBean DoubleDialogBean
新增入库 PlanAddActivity PlanAddActivityHelp AddActivity AddActivityHelp UnlockActivity SaveListActivity getRelList getCabinetListBySub scanCodeChemical certitude getControlConfigs addStockCheck addStock HxpChemicalVo InventoryItemBean StockModeBean StockModel ChemicalInfoBean
已申领未入库 AlreadyActivity AlreadyAdapter getHxpStockWait AlreadyBean PageHxpStockBean
领用 UseActivity UsageLabelDialog WeighDialog getStockList getByRfid addUseRecord lockOperate getLocks outTimeWarn UseBean UsePostDataBean ChemistryBean LockVoListBean
归还/空瓶/废弃回流 ChemicalsAlsoActivity DiscardDialog EmptiesDialog CabinetOpenDialog AirBottleDialog AirBottleNewDialog useList backDetail giveBack returnGiveBack updateRfid lockOperate getLocks ReturningChemicalsBean ReturnDetailsBean ReturnGiveBackBean GiveBackBean
废弃出库 WasteChemicalsActivity DiscardDialog StorageDialog stockDetailsList discardDetail giveBack outTimeWarn lockOperate WasteChemicalsBean ReturnDetailsBean GiveBackBean TimeWarBean
查询 InquiryActivity QueryOneFragment QueryTwoFragment PromptDialog ScanCodeDialog getCabinetList indexDetailbyRfid getStockDetailsByCode lockOperate getLocks RuleBean UseNoBean UseNoTwoBean LockVoListBean
标签/RFID 管理 ChemicalLabelingActivity AirBottleDialog AirBottleNewDialog tagDetailsList getDetailsById updateRfid lockOperate QueryTwoBean ReturnDetailsBean
电子台账 LedgerActivity UseLedgerFragment InventoryIedgerFragment useRecords stockLedger useReturnList UseLedBean InventoryListBean
预警事件 WarningEventsActivity ProcessedActivity warningNoticeList warningNoticeDetail handleMessage warningNoticeCount EarlyWarningBean ProcessedBean
MSDS MsdsActivity MsdsScreenActivity getMsdsDetails msdsDetails MsdsBean MsdsListBean
设备运维 SettingActivity / MainActivity / StartActivity Tool HttpTool iot/aio/report terminal/machine/heartbeat onepcApkUpdate AppInfo LabInfo

4. 入口与全局初始化表

4.1 应用启动链路

环节 页面/类 主要动作 关键接口/工具 关键数据
Application 初始化 ChemicalApp 初始化全局状态、蓝牙、X5、日志、ANR 恢复 SppTool.init() BleManager QbSdk userData subjectId confs labInfo
启动页 StartActivity 长按进设置、授权、恢复本地配置 Tool.cmd() SharedPreferencesHelper.getUrlBase() SettingsBean
设备绑定实验室 StartActivity.initView() 调设备上报接口,获取实验室信息 HttpTool.getCheck() LabInfo
主菜单加载 MainActivity 拉基础配置、柜体轮播、登录态展示 ApiRepository.basicConfig() ApiRepository.getCabinetBySubId() ConfigBean RuleBean
心跳与在线 MainActivity 每 20 秒上报设备心跳 HttpTool.heartbeat() 设备号/IP/前台状态

4.2 主菜单功能映射

主页入口控件 跳转页面 功能含义 关键代码
addChemicals PlanAddActivity / AlreadyActivity 入库/待入库管理 MainActivity.java:465-480 MainActivity.java:645-684
reDis WasteChemicalsActivity 废弃出库 MainActivity.java:482-491
reInq InquiryActivity 查询 MainActivity.java:493-501
reCla UseActivity 领用 MainActivity.java:504-513
reRet ChemicalsAlsoActivity 归还/空瓶/废弃回流 MainActivity.java:515-524
rlLedger LedgerActivity 电子台账 MainActivity.java:526-535
reLedger ChemicalLabelingActivity 标签/RFID 管理 MainActivity.java:537-546
rlWarning WarningEventsActivity 预警事件 MainActivity.java:548-557
rlDem MsdsActivity MSDS MainActivity.java:559-564

5. 登录认证功能表

5.1 登录方式表

功能 页面 触发来源 主要接口 关键模型 备注
刷卡登录 SwipeActivity 主页登录分流 cardNum userCardValidation UserData UserValidationBean 通过卡号获取 token,再校验实验室权限
扫码登录 ScanLoginActivity 主页登录分流 getScanCode / 扫码认证相关 UserData 与二维码/微信码联动
人脸登录 FaceLoginActivity 主页登录分流 faceNewCompare UserData 摄像头拍照比对
人脸+刷卡 FacialCardActivity 配置 loginType 包含 4 组合认证 UserData 硬件一体机组合登录

5.2 登录方式配置表

配置字段 含义 使用位置
ConfigBean.loginType 登录方式配置 MainActivity.java:325-384 InquiryActivity.java:623-678
1 人脸 basicConfLog() 分流
2 刷卡 basicConfLog() 分流
3 扫码 basicConfLog() 分流
4 人脸+刷卡组合 FacialCardActivity

5.3 登录后角色判定表

角色字段 说明 主要用途
schoolLevelAdmin 校级管理员 高权限管理/管控类操作
collegeAdmin 院级管理员 高权限管理/管控类操作
adminUser 实验室负责人 登录、双人认证、柜门操作
safeUser 安全负责人 登录、双人认证、柜门操作
cabinetAdmin 柜锁管理员 柜门开锁、认证
belongUser 化学品归属人 领用/归还相关合法身份
toipcUser 课题组成员 领用/归还相关合法身份
apply 实验室准入 登录放行
white 白名单 登录放行

来源:app/src/main/java/com/rc/httpcore/bean/UserValidationBean.kt:4


6. 双人认证功能表

6.1 双人认证场景表

mTag 业务场景 调用方页面 备注
0 新增入库 PlanAddActivity / UnlockActivity 一线流程 对入库相关高风险操作做二次授权
1 归还/废弃/空瓶/标签管理 ChemicalsAlsoActivity WasteChemicalsActivity ChemicalLabelingActivity 与开门、回流处理相关
2 待入库 待入库相关 用于待入库确认场景
3 领用 UseActivity 领用前双人授权

来源:TwoVerificationActivity.kt:83

6.2 认证方式表

配置字段 说明 页面使用点
ConfigBean.verifyType 双人认证方式配置 UseActivity ChemicalsAlsoActivity WasteChemicalsActivity ChemicalLabelingActivity
1 人脸 checkUserFaceByPic
2 刷卡 useCardVerify
3 扫码 aioScanLogin
1,2 / 1,3 / 2,3 / 多组合 组合认证 统一落到 TwoVerificationActivity

6.3 双人认证接口表

接口 方法 用途 关键参数
chemical/aio/verify/useCardVerify useCardVerify 双人刷卡认证 cardNum subId doorId
chemical/aio/verify/aioScanLogin aioScanLogin 双人扫码认证 subId doorId code
chemical/aio/verify/checkUserFaceByPic checkUserFaceByPic 双人人脸认证 subId doorId stockId waitId

6.4 双人认证结果承接表

动作 存储位置 后续消费页面
缓存两位认证人 SharedPreferencesHelper.saveList() UseActivity ChemicalsAlsoActivity WasteChemicalsActivity InquiryActivity
打开认证结果对话框 DoublePeopleDialog 认证成功后的过渡页
将双人信息写入业务请求 oneUserId/twoUserIdbackOneUser/backTwoUser 开锁、归还、废弃、入库提交

7. 入库功能表

7.1 入库页面表

功能子项 页面/类 作用 关键依赖
计划入库工作台 PlanAddActivity 展示当前柜层待入库清单,发起最终提交 PlanAddActivityHelp LockerAdapter Room DAO
计划入库辅助 PlanAddActivityHelp 拉实验室/柜体信息、扫码录入、保存入库 HttpTool ApiRepository PortScanHelper
手动录入 AddActivity 录入化学品基础信息与归属信息 AddActivityHelp
手动录入辅助 AddActivityHelp 化学品搜索、类别/归属人/课题组选择、称重与保存 ApiRepository BluetoothWeighDialog PrintLabelDialog
入库开锁 UnlockActivity 按待入库清单逐个柜门开锁 UnlockActivityHelp UnlockAdapter
入库结果页 SaveListActivity 显示已保存完成结果 结果展示
已申领未入库 AlreadyActivity 处理已申领未入库单据 AlreadyAdapter

7.2 入库接口表

接口 方法 用途 调用位置
laboratory/subRelInfo/getRelList getRelList 获取实验室基础信息 PlanAddActivityHelp.getLabInfo()
chemical/aio/getCabinetListBySub HttpTool.getCabinetList() 获取柜体/柜门详情 PlanAddActivityHelp.getCabinetList()
chemical/stockWait/scanCodeChemical scanCodeChemical 扫码获取化学品信息 PlanAddActivityHelp.chemicalSearchByCode()
chemical/aio/controlConfig getControlConfigs 获取化学品控制配置 AddActivityHelp.save()
chemical/aio/certitude certitude 化学品确认/补全 AddActivityHelp.save()
chemical/aio/addStockCheck addStockCheck 称重/入库合法性校验 BluetoothWeighDialog
chemical/aio/addStock addChemical / stockWaitAdd 最终提交入库 PlanAddActivityHelp.save()
chemical/aio/getHxpStockWait HttpTool.getHxpStockWait() 获取已申领未入库列表 MainActivity.getHxpStockWait()

7.3 入库核心模型表

模型 作用 关键字段
HxpChemicalVo 入库主数据模型 chemicalId chemicalLevel belongId cabinetId doorId joinType stockType
InventoryItemBean 本地待入库 item 柜体/柜门/层/数量/绑定的化学品
StockModel 校验用入参 称重校验相关
StockModeBean 提交入库入参 待入库整体提交
ChemicalInfoBean 实验室基础信息 实验室维度数据
ChemicalTypeBean 化学品类别字典 label value
BelongingPersonBean 归属人 userId userName account
TopicDataBean 课题组 topicId topicName

7.4 入库现场动作表

动作 页面/类 说明
柜层选择 LockerFragment + Room DAO 选择最终存储柜层
手动录入 AddActivity 普通人工录入
扫码录入 PlanAddActivityHelp.startScanEventListener() 兼容多种二维码/条码
标签打印确认 PrintLabelDialog 录入后是否打印标签
蓝牙称重 BluetoothWeighDialog 入库前称重校验
智能柜开门 UnlockActivity 提交前先开门

8. 领用功能表

8.1 领用页面表

功能子项 页面/类 说明
领用工作台 UseActivity 柜门选择、库存查询、开门、扫描、称重、提交
领用弹窗 UsageLabelDialog 开门后在弹窗中刷标签/RFID、移除条目、再次开门
称重弹窗 WeighDialog / 页面内蓝牙逻辑 领用称重或手动录入

8.2 领用接口表

接口 方法 用途 调用位置
chemical/aio/stockList getStockList 查询可领用库存列表 UseActivity.getStockList()
chemical/aio/byRfid getByRfid 根据 RFID 查询领用对象 UseActivity.getByRfid()
chemical/aio/addUserecord addUseRecord 提交领用记录 UseActivity.putDataUse()
chemical/aio/getCabinetList getCabinetList 获取柜门列表 UseActivity.getCabinet()
chemical/aio/lockOperate lockOperate 开锁 UseActivity.openLock()
chemical/aio/getLockStatus getLocks 轮询锁状态 UseActivity.getLocks()
chemical/aio/outTimeWarn outTimeWarn 异常退出上报 UseActivity.outTimeWarnData()

8.3 领用模型表

模型 用途 关键字段
UseBean RFID 领用详情 领用前化学品信息
ChemistryBean 单条领用记录 数量、出库方式、标签等
UsePostDataBean 领用提交体 userecordModelList
LockVoListBean 柜锁信息 lockNum unlockingMethod isOk
RuleBean 柜体/柜门容器 cabinetDoorVoList
TimeWarBean 异常上报 超时/异常柜门记录

8.4 领用现场流程表

步骤 页面动作 关键点
选择柜体 左侧柜体列表 CabinetDoorAdapter
选择柜门 右侧柜门列表 CabinetDoorRighAdapter
判断双人认证 verify == true TwoVerificationActivity
判断智能锁 unlockingMethod == 2 openLock()
扫描化学品 onCardInContent() getByRfid
称重/录入 weighData() 蓝牙秤或手动
提交 putDataUse() addUseRecord
异常离开 outTimeWarnData() 上报开门未完成场景

9. 归还/空瓶/废弃回流功能表

9.1 页面表

功能子项 页面/类 说明
归还总工作台 ChemicalsAlsoActivity 待归还查询、详情展示、归还、空瓶、废弃、换标、补打
废弃原因录入 DiscardDialog 录入废弃原因
空瓶确认 EmptiesDialog 空瓶处理
RFID 更换/打印 AirBottleDialog AirBottleNewDialog 换标和补打
柜门已开提示 CabinetOpenDialog 开门后的引导交互

9.2 接口表

接口 方法 用途 调用位置
chemical/aio/useList useList 查询待归还列表 ChemicalsAlsoActivity.useList()
chemical/aio/backDetail backDetail 获取归还详情 扫描/点击进入详情
chemical/aio/giveBack giveBack 归还/空瓶/废弃提交 ChemicalsAlsoActivity
chemical/aio/giveBack returnGiveBack 返回更丰富归还结果 ChemicalsAlsoActivity
chemical/aio/updateRfid updateRfid 更换 RFID ChemicalsAlsoActivity.updateRfid()
chemical/aio/lockOperate lockOperate 柜门开锁 ChemicalsAlsoActivity.openLock()
chemical/aio/getLockStatus getLocks 轮询锁状态 ChemicalsAlsoActivity.getLocks()

9.3 模型表

模型 用途 关键字段
ReturningChemicalsBean 待归还列表 分页记录
ReturnDetailsBean 归还详情 chemicalLevel verify cabinetLockVoList rfidCode
GiveBackBean 归还/废弃提交体 returnType useStatus weigh disuseReason backOneUser/backTwoUser
ReturnGiveBackBean 归还结果 结果回显

9.4 状态字段表

字段 取值 含义 来源
returnType 1 / 2 归还方式:称重 / 录入 GiveBackBean.kt:20
outType 1 / 2 领用方式:称重 / 录入 GiveBackBean.kt:13
useStatus 0 归还 代码使用线索
useStatus 3 空瓶/废弃出库 GiveBackBean.kt:23
useStatus 4 作废/归还相关状态流转 页面使用线索

10. 废弃功能表

10.1 页面表

功能 页面/类 说明
废弃列表与处理 WasteChemicalsActivity 查询可废弃对象、扫描进入详情、录入原因、提交废弃
废弃原因弹窗 DiscardDialog 录入废弃原因
柜位选择弹窗 StorageDialog 柜体/柜门过滤

10.2 接口表

接口 方法 用途
chemical/aio/stockDetailsList stockDetailsList 查询可废弃化学品列表
chemical/aio/discardDetail discardDetail 获取废弃详情
chemical/aio/giveBack giveBack 提交废弃出库
chemical/aio/lockOperate lockOperate 柜门开锁
chemical/aio/outTimeWarn outTimeWarn 开门后异常退出上报

10.3 模型表

模型 用途
WasteChemicalsBean 废弃列表分页容器
ReturnDetailsBean 废弃详情承接
GiveBackBean 废弃提交体
TimeWarBean 异常上报体

11. 查询功能表

11.1 页面表

功能子项 页面/类 说明
查询主页面 InquiryActivity 柜体柜门选择、扫码查询、开门
查询页签一 QueryOneFragment 当前柜门库存列表
查询页签二 QueryTwoFragment 标签/库存详情
详情弹窗 PromptDialog ScanCodeDialog 根据登录态显示不同详情

11.2 接口表

接口 方法 用途
chemical/aio/getCabinetList getCabinetList 查询柜体柜门
chemical/aio/indexDetailbyRfid indexDetailbyRfid 未登录态按 RFID 查询
chemical/aio/getStockDetailsByCode getStockDetailsByCode 登录态按 RFID/标签查询
chemical/aio/lockOperate lockOperate 柜门开锁
chemical/aio/getLockStatus getLocks 锁状态轮询

11.3 模型表

模型 用途
RuleBean 柜体柜门容器
CabinetDoorVo 柜门 item
UseNoBean 未登录态查询结果
UseNoTwoBean 登录态查询结果
LockVoListBean 柜锁明细

12. 标签/RFID 管理功能表

12.1 页面表

功能 页面/类 说明
标签列表与详情 ChemicalLabelingActivity 标签查询、详情查看、补打、换 RFID、定位开柜
RFID 输入/更换 AirBottleDialog AirBottleNewDialog 补写/改写 RFID

12.2 接口表

接口 方法 用途
chemical/aio/tagDetailsList tagDetailsList 标签列表查询
chemical/aio/getDetailsById getDetailsById 标签详情
chemical/aio/updateRfid updateRfid 更新 RFID
chemical/aio/lockOperate lockOperate 打开柜门定位
chemical/aio/getLockStatus getLocks 锁状态轮询

12.3 模型表

模型 用途
QueryTwoBean 标签列表分页
ReturnDetailsBean 标签详情回显
LockVoListBean 柜锁信息

13. 电子台账功能表

13.1 页面表

功能 页面/类 说明
电子台账容器 LedgerActivity 切换使用台账/库存台账
使用台账 UseLedgerFragment 按柜门/类别/级别/时间查询使用记录
库存台账 InventoryIedgerFragment 按柜门/类别/级别/出库方式查询库存记录
待归还清单 ChecklistsActivity 使用台账中的待归还入口

13.2 接口表

接口 方法 用途
chemical/aio/useRecords useRecords 使用台账查询
chemical/aio/stockLedger stockLedger 库存台账查询
chemical/aio/useReturnList useReturnList 待归还清单
system/dict/item/option getOptions 化学品类别字典

13.3 模型表

模型 用途
UseLedBean 使用台账分页
InventoryListBean 库存台账分页
ChemicalTypeBean 化学品类别字典

13.4 台账筛选字段表

页面 筛选项 字段
UseLedgerFragment 月份 numberMonths
UseLedgerFragment 类别 chemicalCategory
UseLedgerFragment 级别 chemicalLevel
UseLedgerFragment 柜体/柜门 cabinetId doorId
InventoryIedgerFragment 月份 numberMonths
InventoryIedgerFragment 类别 chemicalCategory
InventoryIedgerFragment 级别 chemicalLevel
InventoryIedgerFragment 出库方式 status

14. 预警事件功能表

14.1 页面表

功能 页面/类 说明
预警列表 WarningEventsActivity 预警统计、分页、筛选
预警详情/处理 ProcessedActivity 查看详情、提交处理备注

14.2 接口表

接口 方法 用途
system/aioUnify/warningNoticeCount warningNoticeCount 获取预警总数
system/aioUnify/warningNoticeList warningNoticeList 查询预警列表
system/aioUnify/warningNoticeDetail warningNoticeDetail 查询预警详情
system/warningNotice/handleMessage handleMessage 提交处理说明

14.3 模型表

模型 用途
EarlyWarningBean 预警列表分页
ProcessedBean 预警详情/处理结果

14.4 筛选项表

筛选项 字段 备注
处理状态 noticeStatus 0 待处理,1 已处理
时间范围 timeType 近一月 / 近三月
指定日期 warnTime 日期筛选

15. MSDS 功能表

15.1 页面表

功能 页面/类 说明
MSDS 列表与预览 MsdsActivity 搜索、列表、HTML 展示、二维码
MSDS 全屏查看 MsdsScreenActivity 全屏文档查看

15.2 接口表

接口 方法 用途
chemical/aio/msds getMsdsDetails 搜索 MSDS 列表
chemical/aio/msdsDetails msdsDetails 查询单条文档详情

15.3 模型表

模型 用途
MsdsBean MSDS 列表分页
MsdsListBean 单条 MSDS 详情

16. 设置与设备运维功能表

16.1 设置页功能表

功能 页面/类 说明
服务地址配置 SettingActivity 保存 HTTP/图片/二维码基础地址
管理员密码 SettingActivity 主页隐藏入口密码
蓝牙秤绑定 SettingActivity + BleSelectorDialog 扫描并绑定 sppMac/sppName
相机方向 SettingActivity 前后摄配置
系统操作 SettingActivity + Tool 重启、打开系统设置、文件浏览器、状态栏控制

16.2 设备接口表

接口/工具 类型 用途
iot/aio/report 后端接口 设备绑定实验室 / 版本上报
terminal/machine/heartbeat 后端接口 心跳上报
onepcApkUpdate 后端接口 APK 升级状态回传
Tool 本地工具 su 命令、重启、状态栏、设置
HttpTool.getCheck() 本地 HTTP 工具 启动校验设备信息
HttpTool.heartbeat() 本地 HTTP 工具 心跳

17. 硬件接入功能表

17.1 硬件能力表

硬件/能力 主要类 说明
摄像头/人脸 FaceLoginActivity TwoVerificationActivity 登录与双人认证
刷卡/扫码输入 PortScanHelper UsbReceiver PortScanService 键盘流/USB 输入统一分发
蓝牙秤 SppTool BluetoothHelper BluetoothWeighDialog 入库/领用/归还称重
智能柜锁 lockOperate getLocks + 各业务页 openLock() 柜门控制
标签打印 PrintTool 打印化学品标签并切纸
Web 文档引擎 QbSdk WebViewHelper MSDS 展示

17.2 蓝牙秤相关表

类/页面 用途 关键点
SppTool 蓝牙 SPP 封装 连接、收包、断开
BluetoothHelper 旧版蓝牙连接实现 RFCOMM 连接特定设备
BluetoothWeighDialog 入库称重校验 规格/净含量/称重值比较,再调 addStockCheck
UseActivity 领用称重 页面内蓝牙接秤
ChemicalsAlsoActivity 归还称重 页面内蓝牙接秤

17.3 打印相关表

类/页面 用途
PrintTool 打印标签、切纸
PrintLabelDialog 入库前标签打印确认
ChemicalLabelingActivity 补打标签
ChemicalsAlsoActivity 归还页补打标签

18. 核心业务模型表

18.1 化学品域

模型 说明 重点字段
ChemicalSearchBean 化学品搜索结果 chemicalId chemicalName casNum chemicalLevel specNum packNum msdsId
HxpChemicalVo 入库/待入库主对象 chemicalLevel belongType joinType stockType doorUniqueId stockDetailsModelList
ChemicalTypeBean 类别字典 label value
ChemicalConfsBean / HxpControlConfig 化学品控制配置 是否打印、称重等

18.2 柜体与锁域

模型 说明 重点字段
RuleBean 柜体及柜门集合 cabinetId cabinetName cabinetDoorVoList
CabinetDoorVo 柜门 doorUniqueId doorName verify isControl cabinetLockVoList
LockVoListBean 单把锁 lockNum unlockingMethod isOk

18.3 领用与归还域

模型 说明 重点字段
UseBean RFID 领用详情 当前待领用化学品信息
ChemistryBean 领用记录 item 数量、出库方式、标签信息
UsePostDataBean 领用提交体 userecordModelList
ReturningChemicalsBean 待归还列表 分页记录
ReturnDetailsBean 归还/废弃/标签详情 verify chemicalLevel cabinetLockVoList
GiveBackBean 归还/废弃提交体 双人信息、称重、原因、状态
ReturnGiveBackBean 归还后结果 回显使用量等

18.4 台账与预警域

模型 说明
UseLedBean 使用台账分页
InventoryListBean 库存台账分页
EarlyWarningBean 预警分页
ProcessedBean 预警处理详情
TimeWarBean 开锁后异常超时上报

18.5 用户与配置域

模型 说明
UserData 登录用户信息
UserValidationBean 用户权限角色信息
ConfigBean 实验室基础配置、登录方式、认证方式、超时配置
LabInfo 设备绑定实验室信息

19. 关键配置字段速查表

字段 模型 含义
loginType ConfigBean 登录方式配置
verifyType ConfigBean 双人认证方式配置
backTime ConfigBean 自动返回时间
signOutTime ConfigBean 自动注销时间
offTime ConfigBean 弹窗关闭时间
vinVex ConfigBean 称重入库容差率
chemicalLevel ChemicalSearchBean / HxpChemicalVo 1 管控,2 非管控
unlockingMethod LockVoListBean 2 表示智能锁
joinType HxpChemicalVo 入库方式:1 称重,2 录入
stockType HxpChemicalVo 入库来源类型
useStatus GiveBackBean 归还/废弃状态

20. 接手开发建议

20.1 如果你要改某个功能,优先看这些文件

目标 优先看
改登录 MainActivity SwipeActivity ScanLoginActivity FaceLoginActivity UserValidationBean
改双人认证 TwoVerificationActivity SharedPreferencesHelper
改入库 PlanAddActivity PlanAddActivityHelp AddActivity AddActivityHelp UnlockActivity
改领用 UseActivity UsageLabelDialog
改归还/空瓶/废弃 ChemicalsAlsoActivity WasteChemicalsActivity
改查询 InquiryActivity QueryOneFragment QueryTwoFragment
改标签/RFID ChemicalLabelingActivity PrintTool
改台账 LedgerActivity UseLedgerFragment InventoryIedgerFragment
改预警 WarningEventsActivity ProcessedActivity
改 MSDS MsdsActivity MsdsScreenActivity
改设备设置 SettingActivity Tool SppTool

20.2 如果你要改接口层,优先看这些文件

层级 文件
接口声明 app/src/main/java/com/rc/httpcore/client/retrofit/ApiService.java
请求封装 app/src/main/java/com/rc/httpcore/client/retrofit/ChemicalRetrofit.kt
页面调用入口 app/src/main/java/com/rc/httpcore/client/ApiRepository.kt
HTTP 客户端 app/src/main/java/com/rc/httpcore/HttpClient.kt
老接口直连 app/src/main/java/com/rc/httpcore/client/HttpTool.java

20.3 如果你要改设备层,优先看这些文件

能力 文件
系统控制 xn/hxp/utils/Tool.java
蓝牙秤 xn/hxp/utils/bluetooth/SppTool.java
蓝牙旧实现 xn/hxp/blu/BluetoothHelper.kt
USB/扫码输入 xn/hxp/receiver/UsbReceiver.kt xn/hxp/receiver/PortScanService.kt
打印 xn/hxp/utils/PrintTool.java

21. 文档结论

如果把这个项目压缩成一句话:

这是一个以实验室安全柜为中心,把登录认证、双人授权、入库、领用、归还、废弃、标签、RFID、称重、台账、预警、MSDS 与终端设备能力整合在一起的实验室化学品智能管理终端。

而从开发接手角度,最重要的三条主线是:

  1. 业务页主线MainActivity -> 各业务 Activity
  2. 认证主线TwoVerificationActivity -> SharedPreferencesHelper -> 各业务提交体
  3. 接口主线ApiService -> ChemicalRetrofit -> ApiRepository -> UI

22. 扩展表:功能 -> 页面 -> 接口 -> 模型 -> 关键适配器/对话框

本章是在前文基础上的 UI 依赖增强版,重点补充每个功能线的:

  • 关键适配器
  • 关键对话框
  • 常用辅助控件/Fragment

22.1 登录认证扩展表

功能 主页面 主要接口 关键模型 关键适配器/对话框/控件
刷卡登录 SwipeActivity cardNum userCardValidation UserData UserValidationBean AuthenticationDialog PortScanHelper UsbReceiver
扫码登录 ScanLoginActivity getScanCode / 扫码认证链路 UserData 二维码/扫码输入控件、PortScanHelper
人脸登录 FaceLoginActivity faceNewCompare UserData 摄像头、Fotoapparat、人脸检测相关 UI
人脸+刷卡 FacialCardActivity 组合认证 UserData 刷卡输入 + 摄像头识别 UI
登录结果确认 多登录页共用 登录人信息 AuthenticationDialog CustomDialog

22.2 双人认证扩展表

功能 主页面 主要接口 关键模型 关键适配器/对话框/控件
双人人脸/刷卡/扫码组合认证 TwoVerificationActivity useCardVerify aioScanLogin checkUserFaceByPic UserValidationBean DoubleDialogBean DoublePeopleDialog CustomDialog PortScanHelper UsbReceiver 二维码 ImageView
双人认证历史兼容页 TwoPersonActivity SwipeCodeTwoActivity ScanCodeTwoActivity 认证相关接口 UserValidationBean 旧版组合认证页面
双人认证结果承接 业务页侧 DoubleDialogBean SharedPreferencesHelper

22.3 新增入库扩展表

功能 主页面 主要接口 关键模型 关键适配器/对话框/控件
计划入库总控 PlanAddActivity getRelList getCabinetListBySub addStock ChemicalInfoBean InventoryItemBean HxpChemicalVo PlanAdapter LockerAdapter LockerFragment
扫码录入 PlanAddActivityHelp scanCodeChemical HxpChemicalVo PortScanHelper
手动录入 AddActivity searchChemica getOptions getSelects getTopicList HxpChemicalVo ChemicalTypeBean BelongingPersonBean TopicDataBean ChemicalTypeDialog BelongingPersonDialog SelectTopicDialog SelectChemicalDialog
标签打印确认 AddActivityHelp getControlConfigs certitude HxpControlConfig HxpChemicalVo PrintLabelDialog
蓝牙称重校验 BluetoothWeighDialog addStockCheck HxpChemicalVo 称重提示图、净含量输入框、蓝牙连接态 UI
柜门开锁 UnlockActivity lockOperate getLocks 柜门/锁模型 UnlockAdapter CustomDialog
入库完成 SaveListActivity 结果数据 结果列表 UI
已申领未入库 AlreadyActivity getHxpStockWait AlreadyBean AlreadyAdapter PlanDialog SelectAlreadyDialog

22.4 领用扩展表

功能 主页面 主要接口 关键模型 关键适配器/对话框/控件
柜门选择与列表 UseActivity getCabinetList getStockList RuleBean LockVoListBean CabinetDoorAdapter CabinetDoorRighAdapter UseListAdapter
柜门双人认证 UseActivity -> TwoVerificationActivity useCardVerify aioScanLogin checkUserFaceByPic UserValidationBean CustomDialog
开门后领用工作台 UsageLabelDialog getByRfid UseBean ChemistryBean UsageLabelDialogAdapter
称重/录入 UseActivity / WeighDialog 页面内蓝牙逻辑 ChemistryBean WeighDialog 蓝牙提示 UI
再次开门 UsageLabelDialog.openLock() lockOperate LockVoListBean 柜门状态提示音/弹窗
异常退出上报 UseActivity outTimeWarn TimeWarBean CustomDialog

22.5 归还/空瓶/废弃回流扩展表

功能 主页面 主要接口 关键模型 关键适配器/对话框/控件
待归还列表 ChemicalsAlsoActivity useList ReturningChemicalsBean ReturningChemicalsAdapter
扫描进入详情 ChemicalsAlsoActivity backDetail ReturnDetailsBean PortScanHelper UsbReceiver
正常归还 ChemicalsAlsoActivity giveBack returnGiveBack GiveBackBean ReturnGiveBackBean 柜门开门提示、归还称重 UI
空瓶处理 ChemicalsAlsoActivity giveBack GiveBackBean EmptiesDialog
废弃处理 ChemicalsAlsoActivity giveBack GiveBackBean DiscardDialog
RFID 更换/补打 ChemicalsAlsoActivity updateRfid ReturnDetailsBean AirBottleDialog AirBottleNewDialog
柜门开门 ChemicalsAlsoActivity lockOperate getLocks LockVoListBean CabinetOpenDialog CustomDialog
柜位过滤 ChemicalsAlsoActivity getCabinetList RuleBean StorageDialog

22.6 废弃出库扩展表

功能 主页面 主要接口 关键模型 关键适配器/对话框/控件
废弃列表 WasteChemicalsActivity stockDetailsList WasteChemicalsBean WasteChemicalsAdapter
扫描获取详情 WasteChemicalsActivity discardDetail ReturnDetailsBean PortScanHelper UsbReceiver
输入废弃原因 WasteChemicalsActivity giveBack GiveBackBean DiscardDialog
柜门开门 WasteChemicalsActivity lockOperate getLocks LockVoListBean StorageDialog CustomDialog
异常开门退出 WasteChemicalsActivity outTimeWarn TimeWarBean 提示弹窗/返回计时 UI

22.7 查询扩展表

功能 主页面 主要接口 关键模型 关键适配器/对话框/控件
柜体/柜门查询 InquiryActivity getCabinetList RuleBean LockVoListBean CabinetDoorAdapter CabinetDoorRighAdapter
查询页签一 QueryOneFragment indexStockList 库存查询模型 列表 RecyclerView
查询页签二 QueryTwoFragment indexDetailsList 详情查询模型 列表 RecyclerView
未登录扫码查询 InquiryActivity indexDetailbyRfid UseNoBean PromptDialog
已登录扫码查询 InquiryActivity getStockDetailsByCode UseNoTwoBean ScanCodeDialog
查询场景开门 InquiryActivity lockOperate getLocks LockVoListBean CustomDialog

22.8 标签/RFID 管理扩展表

功能 主页面 主要接口 关键模型 关键适配器/对话框/控件
标签列表 ChemicalLabelingActivity tagDetailsList QueryTwoBean ChemicalLabelingAdapter CustomSpinnerTwoAdapter
标签详情 ChemicalLabelingActivity getDetailsById ReturnDetailsBean 详情区 UI
补打标签 ChemicalLabelingActivity PrintBean ReturnDetailsBean PrintTool
更换 RFID ChemicalLabelingActivity updateRfid ReturnDetailsBean AirBottleDialog AirBottleNewDialog
柜门开门定位 ChemicalLabelingActivity lockOperate getLocks LockVoListBean StorageDialog CustomDialog
标签场景双人认证 ChemicalLabelingActivity -> TwoVerificationActivity 认证链路接口 UserValidationBean 认证 UI

22.9 电子台账扩展表

功能 主页面 主要接口 关键模型 关键适配器/对话框/控件
台账容器页 LedgerActivity SwipeViewPager TabFragmentPagerAdapter
使用台账 UseLedgerFragment useRecords getOptions UseLedBean ChemicalTypeBean UseLedgerAdapter CabinetDoorAdapter CabinetDoorRighAdapter ChemicalTypeDialog StorageDialog
待归还入口 UseLedgerFragment 跳转 ChecklistsActivity
库存台账 InventoryIedgerFragment stockLedger getOptions InventoryListBean ChemicalTypeBean InventoryAdapter CabinetDoorAdapter CabinetDoorRighAdapter ChemicalTypeDialog StorageDialog CustomSpinnerTwoAdapter

22.10 预警事件扩展表

功能 主页面 主要接口 关键模型 关键适配器/对话框/控件
预警列表 WarningEventsActivity warningNoticeList warningNoticeCount EarlyWarningBean WarningEventsAdapter DatePickDialog
预警详情/处理 ProcessedActivity warningNoticeDetail handleMessage ProcessedBean 详情与处理表单 UI

22.11 MSDS 扩展表

功能 主页面 主要接口 关键模型 关键适配器/对话框/控件
MSDS 列表 MsdsActivity getMsdsDetails MsdsBean MsdsListAdapter
文档详情预览 MsdsActivity msdsDetails MsdsListBean WebViewHelper VideoFullScreenWebChromeClient
全屏查看 MsdsScreenActivity 文档展示 MsdsListBean 全屏 WebView

22.12 设置与设备运维扩展表

功能 主页面 主要接口/工具 关键模型 关键适配器/对话框/控件
服务地址/管理员密码/相机配置 SettingActivity SharedPreferencesHelper SettingsBean 表单输入控件
蓝牙秤设备选择 SettingActivity SppTool 本地 SP 配置 BleSelectorDialog
系统控制 SettingActivity Tool 系统按钮
心跳与设备状态 MainActivity HttpTool.heartbeat() 心跳计时器

22.13 设备工具与通用组件扩展表

类/组件 类型 主要服务对象 用途
PrintTool 工具类 入库/标签/归还页 USB 标签打印与切纸
BluetoothWeighDialog 对话框 入库 蓝牙秤接入与称重校验
SppTool 工具类 入库/领用/归还 蓝牙串口秤连接
Tool 工具类 启动页/设置页/全局 设备系统控制
StorageDialog 对话框 归还/废弃/台账/标签 柜体柜门筛选
CustomDialog 对话框 全局 通用业务提示/异常提示
PlanDialog 对话框 主页入库入口 待入库/新增分流
PortScanHelper 工具类 登录/查询/领用/归还/废弃 扫码/刷卡输入分发
UsbReceiver 广播接收器 登录/查询/领用/归还/废弃 USB 设备监听

22.14 推荐使用方式

如果你后续继续扩展文档,建议按以下模板补充:

功能 页面 接口 模型 适配器/对话框
某功能 某 Activity/Fragment 某 API 某 Bean 某 Adapter/Dialog

这样后续无论做:

  • 需求评审
  • Bug 定位
  • 页面重构
  • 接口替换
  • 新同事交接

都可以直接沿着同一张表往下查。