|
|
@@ -1,837 +0,0 @@
|
|
|
-# 化学品智能管理终端 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/twoUserId` 或 `backOneUser/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 定位
|
|
|
-- 页面重构
|
|
|
-- 接口替换
|
|
|
-- 新同事交接
|
|
|
-
|
|
|
-都可以直接沿着同一张表往下查。
|