本文将当前仓库按 功能 -> 页面 -> 接口 -> 模型 的方式整理为表格,适合:
项目根定位:实验室化学品智能管理终端(壁挂 Android 一体机)。
| 功能域 | 入口页面/类 | 作用说明 | 关键文件 |
|---|---|---|---|
| 应用初始化 | 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 |
| 功能模块 | 主页面 | 子页面/辅助类 | 主要接口 | 关键模型 |
|---|---|---|---|---|
| 登录认证 | 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 |
| 环节 | 页面/类 | 主要动作 | 关键接口/工具 | 关键数据 |
|---|---|---|---|---|
| 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/前台状态 |
| 主页入口控件 | 跳转页面 | 功能含义 | 关键代码 |
|---|---|---|---|
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 |
| 功能 | 页面 | 触发来源 | 主要接口 | 关键模型 | 备注 |
|---|---|---|---|---|---|
| 刷卡登录 | SwipeActivity |
主页登录分流 | cardNum userCardValidation |
UserData UserValidationBean |
通过卡号获取 token,再校验实验室权限 |
| 扫码登录 | ScanLoginActivity |
主页登录分流 | getScanCode / 扫码认证相关 |
UserData |
与二维码/微信码联动 |
| 人脸登录 | FaceLoginActivity |
主页登录分流 | faceNewCompare |
UserData |
摄像头拍照比对 |
| 人脸+刷卡 | FacialCardActivity |
配置 loginType 包含 4 |
组合认证 | UserData |
硬件一体机组合登录 |
| 配置字段 | 含义 | 使用位置 |
|---|---|---|
ConfigBean.loginType |
登录方式配置 | MainActivity.java:325-384 InquiryActivity.java:623-678 |
1 |
人脸 | basicConfLog() 分流 |
2 |
刷卡 | basicConfLog() 分流 |
3 |
扫码 | basicConfLog() 分流 |
4 |
人脸+刷卡组合 | FacialCardActivity |
| 角色字段 | 说明 | 主要用途 |
|---|---|---|
schoolLevelAdmin |
校级管理员 | 高权限管理/管控类操作 |
collegeAdmin |
院级管理员 | 高权限管理/管控类操作 |
adminUser |
实验室负责人 | 登录、双人认证、柜门操作 |
safeUser |
安全负责人 | 登录、双人认证、柜门操作 |
cabinetAdmin |
柜锁管理员 | 柜门开锁、认证 |
belongUser |
化学品归属人 | 领用/归还相关合法身份 |
toipcUser |
课题组成员 | 领用/归还相关合法身份 |
apply |
实验室准入 | 登录放行 |
white |
白名单 | 登录放行 |
来源:app/src/main/java/com/rc/httpcore/bean/UserValidationBean.kt:4
mTag |
业务场景 | 调用方页面 | 备注 |
|---|---|---|---|
0 |
新增入库 | PlanAddActivity / UnlockActivity 一线流程 |
对入库相关高风险操作做二次授权 |
1 |
归还/废弃/空瓶/标签管理 | ChemicalsAlsoActivity WasteChemicalsActivity ChemicalLabelingActivity |
与开门、回流处理相关 |
2 |
待入库 | 待入库相关 | 用于待入库确认场景 |
3 |
领用 | UseActivity |
领用前双人授权 |
来源:TwoVerificationActivity.kt:83
| 配置字段 | 说明 | 页面使用点 |
|---|---|---|
ConfigBean.verifyType |
双人认证方式配置 | UseActivity ChemicalsAlsoActivity WasteChemicalsActivity ChemicalLabelingActivity |
1 |
人脸 | 调 checkUserFaceByPic |
2 |
刷卡 | 调 useCardVerify |
3 |
扫码 | 调 aioScanLogin |
1,2 / 1,3 / 2,3 / 多组合 |
组合认证 | 统一落到 TwoVerificationActivity |
| 接口 | 方法 | 用途 | 关键参数 |
|---|---|---|---|
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 |
| 动作 | 存储位置 | 后续消费页面 |
|---|---|---|
| 缓存两位认证人 | SharedPreferencesHelper.saveList() |
UseActivity ChemicalsAlsoActivity WasteChemicalsActivity InquiryActivity 等 |
| 打开认证结果对话框 | DoublePeopleDialog |
认证成功后的过渡页 |
| 将双人信息写入业务请求 | oneUserId/twoUserId 或 backOneUser/backTwoUser |
开锁、归还、废弃、入库提交 |
| 功能子项 | 页面/类 | 作用 | 关键依赖 |
|---|---|---|---|
| 计划入库工作台 | PlanAddActivity |
展示当前柜层待入库清单,发起最终提交 | PlanAddActivityHelp LockerAdapter Room DAO |
| 计划入库辅助 | PlanAddActivityHelp |
拉实验室/柜体信息、扫码录入、保存入库 | HttpTool ApiRepository PortScanHelper |
| 手动录入 | AddActivity |
录入化学品基础信息与归属信息 | AddActivityHelp |
| 手动录入辅助 | AddActivityHelp |
化学品搜索、类别/归属人/课题组选择、称重与保存 | ApiRepository BluetoothWeighDialog PrintLabelDialog |
| 入库开锁 | UnlockActivity |
按待入库清单逐个柜门开锁 | UnlockActivityHelp UnlockAdapter |
| 入库结果页 | SaveListActivity |
显示已保存完成结果 | 结果展示 |
| 已申领未入库 | AlreadyActivity |
处理已申领未入库单据 | AlreadyAdapter |
| 接口 | 方法 | 用途 | 调用位置 |
|---|---|---|---|
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() |
| 模型 | 作用 | 关键字段 |
|---|---|---|
HxpChemicalVo |
入库主数据模型 | chemicalId chemicalLevel belongId cabinetId doorId joinType stockType |
InventoryItemBean |
本地待入库 item | 柜体/柜门/层/数量/绑定的化学品 |
StockModel |
校验用入参 | 称重校验相关 |
StockModeBean |
提交入库入参 | 待入库整体提交 |
ChemicalInfoBean |
实验室基础信息 | 实验室维度数据 |
ChemicalTypeBean |
化学品类别字典 | label value |
BelongingPersonBean |
归属人 | userId userName account |
TopicDataBean |
课题组 | topicId topicName |
| 动作 | 页面/类 | 说明 |
|---|---|---|
| 柜层选择 | LockerFragment + Room DAO |
选择最终存储柜层 |
| 手动录入 | AddActivity |
普通人工录入 |
| 扫码录入 | PlanAddActivityHelp.startScanEventListener() |
兼容多种二维码/条码 |
| 标签打印确认 | PrintLabelDialog |
录入后是否打印标签 |
| 蓝牙称重 | BluetoothWeighDialog |
入库前称重校验 |
| 智能柜开门 | UnlockActivity |
提交前先开门 |
| 功能子项 | 页面/类 | 说明 |
|---|---|---|
| 领用工作台 | UseActivity |
柜门选择、库存查询、开门、扫描、称重、提交 |
| 领用弹窗 | UsageLabelDialog |
开门后在弹窗中刷标签/RFID、移除条目、再次开门 |
| 称重弹窗 | WeighDialog / 页面内蓝牙逻辑 |
领用称重或手动录入 |
| 接口 | 方法 | 用途 | 调用位置 |
|---|---|---|---|
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() |
| 模型 | 用途 | 关键字段 |
|---|---|---|
UseBean |
RFID 领用详情 | 领用前化学品信息 |
ChemistryBean |
单条领用记录 | 数量、出库方式、标签等 |
UsePostDataBean |
领用提交体 | userecordModelList |
LockVoListBean |
柜锁信息 | lockNum unlockingMethod isOk |
RuleBean |
柜体/柜门容器 | cabinetDoorVoList |
TimeWarBean |
异常上报 | 超时/异常柜门记录 |
| 步骤 | 页面动作 | 关键点 |
|---|---|---|
| 选择柜体 | 左侧柜体列表 | CabinetDoorAdapter |
| 选择柜门 | 右侧柜门列表 | CabinetDoorRighAdapter |
| 判断双人认证 | verify == true |
走 TwoVerificationActivity |
| 判断智能锁 | unlockingMethod == 2 |
先 openLock() |
| 扫描化学品 | onCardInContent() |
查 getByRfid |
| 称重/录入 | weighData() |
蓝牙秤或手动 |
| 提交 | putDataUse() |
调 addUseRecord |
| 异常离开 | outTimeWarnData() |
上报开门未完成场景 |
| 功能子项 | 页面/类 | 说明 |
|---|---|---|
| 归还总工作台 | ChemicalsAlsoActivity |
待归还查询、详情展示、归还、空瓶、废弃、换标、补打 |
| 废弃原因录入 | DiscardDialog |
录入废弃原因 |
| 空瓶确认 | EmptiesDialog |
空瓶处理 |
| RFID 更换/打印 | AirBottleDialog AirBottleNewDialog |
换标和补打 |
| 柜门已开提示 | CabinetOpenDialog |
开门后的引导交互 |
| 接口 | 方法 | 用途 | 调用位置 |
|---|---|---|---|
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() |
| 模型 | 用途 | 关键字段 |
|---|---|---|
ReturningChemicalsBean |
待归还列表 | 分页记录 |
ReturnDetailsBean |
归还详情 | chemicalLevel verify cabinetLockVoList rfidCode |
GiveBackBean |
归还/废弃提交体 | returnType useStatus weigh disuseReason backOneUser/backTwoUser |
ReturnGiveBackBean |
归还结果 | 结果回显 |
| 字段 | 取值 | 含义 | 来源 |
|---|---|---|---|
returnType |
1 / 2 |
归还方式:称重 / 录入 | GiveBackBean.kt:20 |
outType |
1 / 2 |
领用方式:称重 / 录入 | GiveBackBean.kt:13 |
useStatus |
0 |
归还 | 代码使用线索 |
useStatus |
3 |
空瓶/废弃出库 | GiveBackBean.kt:23 |
useStatus |
4 |
作废/归还相关状态流转 | 页面使用线索 |
| 功能 | 页面/类 | 说明 |
|---|---|---|
| 废弃列表与处理 | WasteChemicalsActivity |
查询可废弃对象、扫描进入详情、录入原因、提交废弃 |
| 废弃原因弹窗 | DiscardDialog |
录入废弃原因 |
| 柜位选择弹窗 | StorageDialog |
柜体/柜门过滤 |
| 接口 | 方法 | 用途 |
|---|---|---|
chemical/aio/stockDetailsList |
stockDetailsList |
查询可废弃化学品列表 |
chemical/aio/discardDetail |
discardDetail |
获取废弃详情 |
chemical/aio/giveBack |
giveBack |
提交废弃出库 |
chemical/aio/lockOperate |
lockOperate |
柜门开锁 |
chemical/aio/outTimeWarn |
outTimeWarn |
开门后异常退出上报 |
| 模型 | 用途 |
|---|---|
WasteChemicalsBean |
废弃列表分页容器 |
ReturnDetailsBean |
废弃详情承接 |
GiveBackBean |
废弃提交体 |
TimeWarBean |
异常上报体 |
| 功能子项 | 页面/类 | 说明 |
|---|---|---|
| 查询主页面 | InquiryActivity |
柜体柜门选择、扫码查询、开门 |
| 查询页签一 | QueryOneFragment |
当前柜门库存列表 |
| 查询页签二 | QueryTwoFragment |
标签/库存详情 |
| 详情弹窗 | PromptDialog ScanCodeDialog |
根据登录态显示不同详情 |
| 接口 | 方法 | 用途 |
|---|---|---|
chemical/aio/getCabinetList |
getCabinetList |
查询柜体柜门 |
chemical/aio/indexDetailbyRfid |
indexDetailbyRfid |
未登录态按 RFID 查询 |
chemical/aio/getStockDetailsByCode |
getStockDetailsByCode |
登录态按 RFID/标签查询 |
chemical/aio/lockOperate |
lockOperate |
柜门开锁 |
chemical/aio/getLockStatus |
getLocks |
锁状态轮询 |
| 模型 | 用途 |
|---|---|
RuleBean |
柜体柜门容器 |
CabinetDoorVo |
柜门 item |
UseNoBean |
未登录态查询结果 |
UseNoTwoBean |
登录态查询结果 |
LockVoListBean |
柜锁明细 |
| 功能 | 页面/类 | 说明 |
|---|---|---|
| 标签列表与详情 | ChemicalLabelingActivity |
标签查询、详情查看、补打、换 RFID、定位开柜 |
| RFID 输入/更换 | AirBottleDialog AirBottleNewDialog |
补写/改写 RFID |
| 接口 | 方法 | 用途 |
|---|---|---|
chemical/aio/tagDetailsList |
tagDetailsList |
标签列表查询 |
chemical/aio/getDetailsById |
getDetailsById |
标签详情 |
chemical/aio/updateRfid |
updateRfid |
更新 RFID |
chemical/aio/lockOperate |
lockOperate |
打开柜门定位 |
chemical/aio/getLockStatus |
getLocks |
锁状态轮询 |
| 模型 | 用途 |
|---|---|
QueryTwoBean |
标签列表分页 |
ReturnDetailsBean |
标签详情回显 |
LockVoListBean |
柜锁信息 |
| 功能 | 页面/类 | 说明 |
|---|---|---|
| 电子台账容器 | LedgerActivity |
切换使用台账/库存台账 |
| 使用台账 | UseLedgerFragment |
按柜门/类别/级别/时间查询使用记录 |
| 库存台账 | InventoryIedgerFragment |
按柜门/类别/级别/出库方式查询库存记录 |
| 待归还清单 | ChecklistsActivity |
使用台账中的待归还入口 |
| 接口 | 方法 | 用途 |
|---|---|---|
chemical/aio/useRecords |
useRecords |
使用台账查询 |
chemical/aio/stockLedger |
stockLedger |
库存台账查询 |
chemical/aio/useReturnList |
useReturnList |
待归还清单 |
system/dict/item/option |
getOptions |
化学品类别字典 |
| 模型 | 用途 |
|---|---|
UseLedBean |
使用台账分页 |
InventoryListBean |
库存台账分页 |
ChemicalTypeBean |
化学品类别字典 |
| 页面 | 筛选项 | 字段 |
|---|---|---|
UseLedgerFragment |
月份 | numberMonths |
UseLedgerFragment |
类别 | chemicalCategory |
UseLedgerFragment |
级别 | chemicalLevel |
UseLedgerFragment |
柜体/柜门 | cabinetId doorId |
InventoryIedgerFragment |
月份 | numberMonths |
InventoryIedgerFragment |
类别 | chemicalCategory |
InventoryIedgerFragment |
级别 | chemicalLevel |
InventoryIedgerFragment |
出库方式 | status |
| 功能 | 页面/类 | 说明 |
|---|---|---|
| 预警列表 | WarningEventsActivity |
预警统计、分页、筛选 |
| 预警详情/处理 | ProcessedActivity |
查看详情、提交处理备注 |
| 接口 | 方法 | 用途 |
|---|---|---|
system/aioUnify/warningNoticeCount |
warningNoticeCount |
获取预警总数 |
system/aioUnify/warningNoticeList |
warningNoticeList |
查询预警列表 |
system/aioUnify/warningNoticeDetail |
warningNoticeDetail |
查询预警详情 |
system/warningNotice/handleMessage |
handleMessage |
提交处理说明 |
| 模型 | 用途 |
|---|---|
EarlyWarningBean |
预警列表分页 |
ProcessedBean |
预警详情/处理结果 |
| 筛选项 | 字段 | 备注 |
|---|---|---|
| 处理状态 | noticeStatus |
0 待处理,1 已处理 |
| 时间范围 | timeType |
近一月 / 近三月 |
| 指定日期 | warnTime |
日期筛选 |
| 功能 | 页面/类 | 说明 |
|---|---|---|
| MSDS 列表与预览 | MsdsActivity |
搜索、列表、HTML 展示、二维码 |
| MSDS 全屏查看 | MsdsScreenActivity |
全屏文档查看 |
| 接口 | 方法 | 用途 |
|---|---|---|
chemical/aio/msds |
getMsdsDetails |
搜索 MSDS 列表 |
chemical/aio/msdsDetails |
msdsDetails |
查询单条文档详情 |
| 模型 | 用途 |
|---|---|
MsdsBean |
MSDS 列表分页 |
MsdsListBean |
单条 MSDS 详情 |
| 功能 | 页面/类 | 说明 |
|---|---|---|
| 服务地址配置 | SettingActivity |
保存 HTTP/图片/二维码基础地址 |
| 管理员密码 | SettingActivity |
主页隐藏入口密码 |
| 蓝牙秤绑定 | SettingActivity + BleSelectorDialog |
扫描并绑定 sppMac/sppName |
| 相机方向 | SettingActivity |
前后摄配置 |
| 系统操作 | SettingActivity + Tool |
重启、打开系统设置、文件浏览器、状态栏控制 |
| 接口/工具 | 类型 | 用途 |
|---|---|---|
iot/aio/report |
后端接口 | 设备绑定实验室 / 版本上报 |
terminal/machine/heartbeat |
后端接口 | 心跳上报 |
onepcApkUpdate |
后端接口 | APK 升级状态回传 |
Tool |
本地工具 | su 命令、重启、状态栏、设置 |
HttpTool.getCheck() |
本地 HTTP 工具 | 启动校验设备信息 |
HttpTool.heartbeat() |
本地 HTTP 工具 | 心跳 |
| 硬件/能力 | 主要类 | 说明 |
|---|---|---|
| 摄像头/人脸 | FaceLoginActivity TwoVerificationActivity |
登录与双人认证 |
| 刷卡/扫码输入 | PortScanHelper UsbReceiver PortScanService |
键盘流/USB 输入统一分发 |
| 蓝牙秤 | SppTool BluetoothHelper BluetoothWeighDialog |
入库/领用/归还称重 |
| 智能柜锁 | lockOperate getLocks + 各业务页 openLock() |
柜门控制 |
| 标签打印 | PrintTool |
打印化学品标签并切纸 |
| Web 文档引擎 | QbSdk WebViewHelper |
MSDS 展示 |
| 类/页面 | 用途 | 关键点 |
|---|---|---|
SppTool |
蓝牙 SPP 封装 | 连接、收包、断开 |
BluetoothHelper |
旧版蓝牙连接实现 | RFCOMM 连接特定设备 |
BluetoothWeighDialog |
入库称重校验 | 规格/净含量/称重值比较,再调 addStockCheck |
UseActivity |
领用称重 | 页面内蓝牙接秤 |
ChemicalsAlsoActivity |
归还称重 | 页面内蓝牙接秤 |
| 类/页面 | 用途 |
|---|---|
PrintTool |
打印标签、切纸 |
PrintLabelDialog |
入库前标签打印确认 |
ChemicalLabelingActivity |
补打标签 |
ChemicalsAlsoActivity |
归还页补打标签 |
| 模型 | 说明 | 重点字段 |
|---|---|---|
ChemicalSearchBean |
化学品搜索结果 | chemicalId chemicalName casNum chemicalLevel specNum packNum msdsId |
HxpChemicalVo |
入库/待入库主对象 | chemicalLevel belongType joinType stockType doorUniqueId stockDetailsModelList |
ChemicalTypeBean |
类别字典 | label value |
ChemicalConfsBean / HxpControlConfig |
化学品控制配置 | 是否打印、称重等 |
| 模型 | 说明 | 重点字段 |
|---|---|---|
RuleBean |
柜体及柜门集合 | cabinetId cabinetName cabinetDoorVoList |
CabinetDoorVo |
柜门 | doorUniqueId doorName verify isControl cabinetLockVoList |
LockVoListBean |
单把锁 | lockNum unlockingMethod isOk |
| 模型 | 说明 | 重点字段 |
|---|---|---|
UseBean |
RFID 领用详情 | 当前待领用化学品信息 |
ChemistryBean |
领用记录 item | 数量、出库方式、标签信息 |
UsePostDataBean |
领用提交体 | userecordModelList |
ReturningChemicalsBean |
待归还列表 | 分页记录 |
ReturnDetailsBean |
归还/废弃/标签详情 | verify chemicalLevel cabinetLockVoList |
GiveBackBean |
归还/废弃提交体 | 双人信息、称重、原因、状态 |
ReturnGiveBackBean |
归还后结果 | 回显使用量等 |
| 模型 | 说明 |
|---|---|
UseLedBean |
使用台账分页 |
InventoryListBean |
库存台账分页 |
EarlyWarningBean |
预警分页 |
ProcessedBean |
预警处理详情 |
TimeWarBean |
开锁后异常超时上报 |
| 模型 | 说明 |
|---|---|
UserData |
登录用户信息 |
UserValidationBean |
用户权限角色信息 |
ConfigBean |
实验室基础配置、登录方式、认证方式、超时配置 |
LabInfo |
设备绑定实验室信息 |
| 字段 | 模型 | 含义 |
|---|---|---|
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 |
归还/废弃状态 |
| 目标 | 优先看 |
|---|---|
| 改登录 | 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 |
| 层级 | 文件 |
|---|---|
| 接口声明 | 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 |
| 能力 | 文件 |
|---|---|
| 系统控制 | 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 |
如果把这个项目压缩成一句话:
这是一个以实验室安全柜为中心,把登录认证、双人授权、入库、领用、归还、废弃、标签、RFID、称重、台账、预警、MSDS 与终端设备能力整合在一起的实验室化学品智能管理终端。
而从开发接手角度,最重要的三条主线是:
MainActivity -> 各业务 ActivityTwoVerificationActivity -> SharedPreferencesHelper -> 各业务提交体ApiService -> ChemicalRetrofit -> ApiRepository -> UI本章是在前文基础上的 UI 依赖增强版,重点补充每个功能线的:
| 功能 | 主页面 | 主要接口 | 关键模型 | 关键适配器/对话框/控件 |
|---|---|---|---|---|
| 刷卡登录 | SwipeActivity |
cardNum userCardValidation |
UserData UserValidationBean |
AuthenticationDialog PortScanHelper UsbReceiver |
| 扫码登录 | ScanLoginActivity |
getScanCode / 扫码认证链路 |
UserData |
二维码/扫码输入控件、PortScanHelper |
| 人脸登录 | FaceLoginActivity |
faceNewCompare |
UserData |
摄像头、Fotoapparat、人脸检测相关 UI |
| 人脸+刷卡 | FacialCardActivity |
组合认证 | UserData |
刷卡输入 + 摄像头识别 UI |
| 登录结果确认 | 多登录页共用 | 无 | 登录人信息 | AuthenticationDialog CustomDialog |
| 功能 | 主页面 | 主要接口 | 关键模型 | 关键适配器/对话框/控件 |
|---|---|---|---|---|
| 双人人脸/刷卡/扫码组合认证 | TwoVerificationActivity |
useCardVerify aioScanLogin checkUserFaceByPic |
UserValidationBean DoubleDialogBean |
DoublePeopleDialog CustomDialog PortScanHelper UsbReceiver 二维码 ImageView |
| 双人认证历史兼容页 | TwoPersonActivity SwipeCodeTwoActivity ScanCodeTwoActivity |
认证相关接口 | UserValidationBean |
旧版组合认证页面 |
| 双人认证结果承接 | 业务页侧 | 无 | DoubleDialogBean |
SharedPreferencesHelper |
| 功能 | 主页面 | 主要接口 | 关键模型 | 关键适配器/对话框/控件 |
|---|---|---|---|---|
| 计划入库总控 | 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 |
| 功能 | 主页面 | 主要接口 | 关键模型 | 关键适配器/对话框/控件 |
|---|---|---|---|---|
| 柜门选择与列表 | 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 |
| 功能 | 主页面 | 主要接口 | 关键模型 | 关键适配器/对话框/控件 |
|---|---|---|---|---|
| 待归还列表 | 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 |
| 功能 | 主页面 | 主要接口 | 关键模型 | 关键适配器/对话框/控件 |
|---|---|---|---|---|
| 废弃列表 | WasteChemicalsActivity |
stockDetailsList |
WasteChemicalsBean |
WasteChemicalsAdapter |
| 扫描获取详情 | WasteChemicalsActivity |
discardDetail |
ReturnDetailsBean |
PortScanHelper UsbReceiver |
| 输入废弃原因 | WasteChemicalsActivity |
giveBack |
GiveBackBean |
DiscardDialog |
| 柜门开门 | WasteChemicalsActivity |
lockOperate getLocks |
LockVoListBean |
StorageDialog CustomDialog |
| 异常开门退出 | WasteChemicalsActivity |
outTimeWarn |
TimeWarBean |
提示弹窗/返回计时 UI |
| 功能 | 主页面 | 主要接口 | 关键模型 | 关键适配器/对话框/控件 |
|---|---|---|---|---|
| 柜体/柜门查询 | 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 |
| 功能 | 主页面 | 主要接口 | 关键模型 | 关键适配器/对话框/控件 |
|---|---|---|---|---|
| 标签列表 | 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 |
| 功能 | 主页面 | 主要接口 | 关键模型 | 关键适配器/对话框/控件 |
|---|---|---|---|---|
| 台账容器页 | 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 |
| 功能 | 主页面 | 主要接口 | 关键模型 | 关键适配器/对话框/控件 |
|---|---|---|---|---|
| 预警列表 | WarningEventsActivity |
warningNoticeList warningNoticeCount |
EarlyWarningBean |
WarningEventsAdapter DatePickDialog |
| 预警详情/处理 | ProcessedActivity |
warningNoticeDetail handleMessage |
ProcessedBean |
详情与处理表单 UI |
| 功能 | 主页面 | 主要接口 | 关键模型 | 关键适配器/对话框/控件 |
|---|---|---|---|---|
| MSDS 列表 | MsdsActivity |
getMsdsDetails |
MsdsBean |
MsdsListAdapter |
| 文档详情预览 | MsdsActivity |
msdsDetails |
MsdsListBean |
WebViewHelper VideoFullScreenWebChromeClient |
| 全屏查看 | MsdsScreenActivity |
文档展示 | MsdsListBean |
全屏 WebView |
| 功能 | 主页面 | 主要接口/工具 | 关键模型 | 关键适配器/对话框/控件 |
|---|---|---|---|---|
| 服务地址/管理员密码/相机配置 | SettingActivity |
SharedPreferencesHelper |
SettingsBean |
表单输入控件 |
| 蓝牙秤设备选择 | SettingActivity |
SppTool |
本地 SP 配置 | BleSelectorDialog |
| 系统控制 | SettingActivity |
Tool |
无 | 系统按钮 |
| 心跳与设备状态 | MainActivity |
HttpTool.heartbeat() |
无 | 心跳计时器 |
| 类/组件 | 类型 | 主要服务对象 | 用途 |
|---|---|---|---|
PrintTool |
工具类 | 入库/标签/归还页 | USB 标签打印与切纸 |
BluetoothWeighDialog |
对话框 | 入库 | 蓝牙秤接入与称重校验 |
SppTool |
工具类 | 入库/领用/归还 | 蓝牙串口秤连接 |
Tool |
工具类 | 启动页/设置页/全局 | 设备系统控制 |
StorageDialog |
对话框 | 归还/废弃/台账/标签 | 柜体柜门筛选 |
CustomDialog |
对话框 | 全局 | 通用业务提示/异常提示 |
PlanDialog |
对话框 | 主页入库入口 | 待入库/新增分流 |
PortScanHelper |
工具类 | 登录/查询/领用/归还/废弃 | 扫码/刷卡输入分发 |
UsbReceiver |
广播接收器 | 登录/查询/领用/归还/废弃 | USB 设备监听 |
如果你后续继续扩展文档,建议按以下模板补充:
| 功能 | 页面 | 接口 | 模型 | 适配器/对话框 |
|---|---|---|---|---|
| 某功能 | 某 Activity/Fragment | 某 API | 某 Bean | 某 Adapter/Dialog |
这样后续无论做:
都可以直接沿着同一张表往下查。