|
|
# 巡检管理
|
|
|
|
|
|
> 模块编码:inspection
|
|
|
> 端侧:Web + 小程序(双端)
|
|
|
> 关联文档:01-模块划分 §3.2 / 02-功能清单-物业公司 §2 / 03-业务流转逻辑-物业公司 §2 / 05-接口规范 §9.2 / 06-项目技术要求 §4.4
|
|
|
|
|
|
## 功能概览
|
|
|
|
|
|
| 项目 | 说明 |
|
|
|
|------|------|
|
|
|
| 菜单名称 | 巡检管理 |
|
|
|
| 子菜单 | 巡检计划管理、巡检任务看板、巡检记录查询、异常处理跟踪、巡检区域管理、数据补录 |
|
|
|
| 功能编号 | PR-I-01 ~ PR-I-07 |
|
|
|
| 权限编码前缀 | inspection:plan:* / inspection:task:* / inspection:area:* / inspection:supplement:* |
|
|
|
|
|
|
---
|
|
|
|
|
|
## 页面1:巡检计划管理页
|
|
|
|
|
|
**页面编号**:PR-I-01-P01
|
|
|
**端侧归属**:Web专属
|
|
|
**页面路径**:/inspection/plans
|
|
|
|
|
|
### 界面布局
|
|
|
|
|
|
```
|
|
|
┌──────────────────────────────────────────────────────────────────┐
|
|
|
│ [面包屑] 巡检管理 > 巡检计划管理 │
|
|
|
├──────────────────────────────────────────────────────────────────┤
|
|
|
│ [查询条件区] │
|
|
|
│ 计划名称[____] 状态[▼] 巡检类型[▼] 负责班组[▼] [查询] [重置] │
|
|
|
├──────────────────────────────────────────────────────────────────┤
|
|
|
│ [操作栏] [新增计划] │
|
|
|
├──────────────────────────────────────────────────────────────────┤
|
|
|
│ [列表区] │
|
|
|
│ 序号 | 计划名称 | 巡检类型 | 频次 | 负责班组 | 巡检人员 | 状态 | 操作│
|
|
|
│ 1 | 门诊楼日常| 日常 | 每日 | 巡检一班 | 张三,李四| 启用 | 编辑│
|
|
|
│ 2 | 空调专项 | 专项 | 每周 | 巡检二班 | 王五 | 停用 | 编辑│
|
|
|
├──────────────────────────────────────────────────────────────────┤
|
|
|
│ [分页] 共25条 每页[20▼] < 1 2 > │
|
|
|
└──────────────────────────────────────────────────────────────────┘
|
|
|
```
|
|
|
|
|
|
### 查询条件
|
|
|
|
|
|
| 字段名 | 控件类型 | 必填 | 默认值 | 说明 |
|
|
|
|--------|----------|------|--------|------|
|
|
|
| 计划名称 | 文本输入 | 否 | — | 模糊匹配 |
|
|
|
| 状态 | 下拉单选 | 否 | 全部 | 启用/停用 |
|
|
|
| 巡检类型 | 下拉单选 | 否 | 全部 | 数据来源:字典管理-巡检类型 |
|
|
|
| 负责班组 | 下拉单选 | 否 | 全部 | 数据来源:组织架构-班组 |
|
|
|
|
|
|
### 列表字段
|
|
|
|
|
|
| 序号 | 字段名 | 列宽 | 支持排序 | 说明 |
|
|
|
|------|--------|------|----------|------|
|
|
|
| 1 | 序号 | 60px | — | 自增 |
|
|
|
| 2 | 计划名称 | 160px | 是 | — |
|
|
|
| 3 | 巡检类型 | 80px | 否 | 标签样式 |
|
|
|
| 4 | 频次 | 80px | 否 | 每日/每周/每月/自定义 |
|
|
|
| 5 | 负责班组 | 100px | 是 | — |
|
|
|
| 6 | 巡检人员 | 150px | 否 | 显示人员列表 |
|
|
|
| 7 | 巡检区域 | 150px | 否 | 简略显示区域 |
|
|
|
| 8 | 状态 | 80px | 是 | 启用/停用 |
|
|
|
| 9 | 操作 | 100px | — | 编辑/停用 |
|
|
|
|
|
|
### 操作按钮
|
|
|
|
|
|
| 按钮 | 权限编码 | 位置 | 显示条件 | 说明 |
|
|
|
|------|----------|------|----------|------|
|
|
|
| 新增计划 | inspection:plan:create | 操作栏 | 始终 | 跳转新增页 |
|
|
|
| 编辑 | inspection:plan:update | 行操作 | 始终 | — |
|
|
|
| 启用/停用 | inspection:plan:update | 行操作 | 始终 | 停用后不再生成任务 |
|
|
|
|
|
|
### 表单字段(新增/编辑页)
|
|
|
|
|
|
| 字段名 | 控件类型 | 必填 | 默认值 | 数据来源 | 校验规则 |
|
|
|
|--------|----------|------|--------|----------|----------|
|
|
|
| 计划名称 | 文本输入 | 是 | — | 自填 | 最大50字,同租户内唯一 |
|
|
|
| 巡检类型 | 下拉单选 | 是 | — | 字典管理-巡检类型 | — |
|
|
|
| 巡检区域 | 级联多选 | 是 | — | 区域五级架构 | 至少选一个 |
|
|
|
| 巡检设备 | 下拉多选 | 否 | — | 区域关联设备 | 可选,不选则巡检所有 |
|
|
|
| 频次 | 下拉单选 | 是 | — | 固定选项 | 每日/每周/每月/自定义 |
|
|
|
| 自定义cron | 文本输入 | 条件 | — | 自填 | 频次=自定义时必填 |
|
|
|
| 负责班组 | 下拉单选 | 是 | — | 组织架构-班组 | — |
|
|
|
| 巡检人员 | 下拉多选 | 是 | — | 班组内人员 | 至少选一个 |
|
|
|
| 巡检清单 | 下拉多选 | 是 | — | 巡检清单模板 | 至少选一个检查项 |
|
|
|
| 生效日期 | 日期选择 | 是 | — | 自填 | 不早于当前日期 |
|
|
|
|
|
|
### API端点
|
|
|
|
|
|
| 页面操作 | API路径 | 方法 | 说明 |
|
|
|
|----------|---------|------|------|
|
|
|
| 列表查询 | /api/v1/inspection-plans | GET | 分页查询 |
|
|
|
| 新增 | /api/v1/inspection-plans | POST | — |
|
|
|
| 编辑 | /api/v1/inspection-plans/{id} | PUT | — |
|
|
|
| 启用/停用 | /api/v1/inspection-plans/{id}/toggle-status | PUT | — |
|
|
|
|
|
|
---
|
|
|
|
|
|
## 页面2:巡检任务看板页
|
|
|
|
|
|
**页面编号**:PR-I-02-P01
|
|
|
**端侧归属**:Web专属
|
|
|
**页面路径**:/inspection/tasks
|
|
|
|
|
|
### 界面布局
|
|
|
|
|
|
```
|
|
|
┌──────────────────────────────────────────────────────────────────┐
|
|
|
│ [面包屑] 巡检管理 > 巡检任务看板 │
|
|
|
├──────────────────────────────────────────────────────────────────┤
|
|
|
│ [视图切换] 📅日历视图 📋列表视图 日期:[◀ 2026-04-16 ▶] │
|
|
|
├──────────────────────────────────────────────────────────────────┤
|
|
|
│ ── 日历视图(默认)── │
|
|
|
│ 1 2 3 4 5 6 7 │
|
|
|
│ 上午 🟢 🟢 🔴 🟢 🟡 🟢 🟢 │
|
|
|
│ 下午 🟢 🟡 🟢 🟢 🟢 — — │
|
|
|
│ 🟢=正常 🔴=异常 🟡=未执行 —=无任务 │
|
|
|
├──────────────────────────────────────────────────────────────────┤
|
|
|
│ ── 列表视图 ── │
|
|
|
│ 日期 | 计划名称 | 巡检人员 | 打卡时间 | 状态 | 异常数 | 操作 │
|
|
|
│ 04-16| 门诊楼日常| 张三 | 09:15 | 正常 | 0 | 查看 │
|
|
|
│ 04-16| 住院楼日常| 李四 | — | 未执行| — | — │
|
|
|
│ 04-15| 门诊楼日常| 张三 | 09:20 | 异常 | 2 | 查看 │
|
|
|
├──────────────────────────────────────────────────────────────────┤
|
|
|
│ [分页] 共30条 每页[20▼] < 1 2 > │
|
|
|
└──────────────────────────────────────────────────────────────────┘
|
|
|
```
|
|
|
|
|
|
### 查询条件
|
|
|
|
|
|
| 字段名 | 控件类型 | 必填 | 默认值 | 说明 |
|
|
|
|--------|----------|------|--------|------|
|
|
|
| 日期 | 日期选择 | 否 | 今天 | — |
|
|
|
| 计划名称 | 下拉单选 | 否 | 全部 | — |
|
|
|
| 状态 | 下拉单选 | 否 | 全部 | 正常/异常/未执行 |
|
|
|
| 巡检人员 | 文本输入 | 否 | — | 模糊匹配 |
|
|
|
|
|
|
### 列表字段
|
|
|
|
|
|
| 序号 | 字段名 | 列宽 | 支持排序 | 说明 |
|
|
|
|------|--------|------|----------|------|
|
|
|
| 1 | 日期 | 100px | 是 | — |
|
|
|
| 2 | 计划名称 | 150px | 否 | — |
|
|
|
| 3 | 巡检人员 | 80px | 否 | — |
|
|
|
| 4 | 打卡时间 | 100px | 是 | 未执行显示"—" |
|
|
|
| 5 | 打卡方式 | 80px | 否 | 蓝牙/手动/补录 |
|
|
|
| 6 | 状态 | 80px | 是 | 正常(绿)/异常(红)/未执行(黄) |
|
|
|
| 7 | 异常数 | 70px | 否 | 点击查看异常详情 |
|
|
|
| 8 | 操作 | 80px | — | 查看 |
|
|
|
|
|
|
### API端点
|
|
|
|
|
|
| 页面操作 | API路径 | 方法 | 说明 |
|
|
|
|----------|---------|------|------|
|
|
|
| 任务列表 | /api/v1/inspection-tasks | GET | 分页查询 |
|
|
|
| 日历数据 | /api/v1/inspection-tasks/calendar | GET | 按月返回日历数据 |
|
|
|
|
|
|
---
|
|
|
|
|
|
## 页面3:巡检记录查询页
|
|
|
|
|
|
**页面编号**:PR-I-03-P01
|
|
|
**端侧归属**:Web专属
|
|
|
**页面路径**:/inspection/records
|
|
|
|
|
|
### 查询条件
|
|
|
|
|
|
| 字段名 | 控件类型 | 必填 | 默认值 | 说明 |
|
|
|
|--------|----------|------|--------|------|
|
|
|
| 巡检人员 | 文本输入 | 否 | — | 模糊匹配 |
|
|
|
| 日期范围 | 日期范围 | 否 | — | — |
|
|
|
| 打卡方式 | 下拉单选 | 否 | 全部 | 蓝牙/手动/补录 |
|
|
|
| 结果状态 | 下拉单选 | 否 | 全部 | 全部正常/有异常 |
|
|
|
| 补录标记 | 下拉单选 | 否 | 全部 | 正常数据/补录数据 |
|
|
|
|
|
|
### 列表字段
|
|
|
|
|
|
| 序号 | 字段名 | 列宽 | 支持排序 | 说明 |
|
|
|
|------|--------|------|----------|------|
|
|
|
| 1 | 巡检人员 | 80px | 否 | — |
|
|
|
| 2 | 计划名称 | 150px | 否 | — |
|
|
|
| 3 | 巡检区域 | 150px | 否 | — |
|
|
|
| 4 | 打卡时间 | 140px | 是 | 默认倒序 |
|
|
|
| 5 | 打卡方式 | 80px | 否 | 蓝牙(蓝)/手动(灰)/补录(橙) |
|
|
|
| 6 | 检查项数 | 70px | 否 | — |
|
|
|
| 7 | 异常数 | 70px | 否 | — |
|
|
|
| 8 | 补录标记 | 70px | 否 | 补录显示"补录"标签+原因 |
|
|
|
| 9 | 操作 | 120px | — | 查看详情/查看异常 |
|
|
|
|
|
|
### 操作按钮
|
|
|
|
|
|
| 按钮 | 权限编码 | 位置 | 显示条件 | 说明 |
|
|
|
|------|----------|------|----------|------|
|
|
|
| 查看详情 | inspection:task:view | 行操作 | 始终 | 跳转记录详情 |
|
|
|
| 查看异常 | inspection:task:view | 行操作 | 异常数>0 | 跳转异常列表 |
|
|
|
|
|
|
### API端点
|
|
|
|
|
|
| 页面操作 | API路径 | 方法 | 说明 |
|
|
|
|----------|---------|------|------|
|
|
|
| 记录列表 | /api/v1/inspection-records | GET | 分页查询 |
|
|
|
| 记录详情 | /api/v1/inspection-records/{id} | GET | 含打卡信息+检查项结果+照片 |
|
|
|
|
|
|
---
|
|
|
|
|
|
## 页面4:异常处理跟踪页
|
|
|
|
|
|
**页面编号**:PR-I-04-P01
|
|
|
**端侧归属**:Web专属
|
|
|
**页面路径**:/inspection/abnormals
|
|
|
|
|
|
### 查询条件
|
|
|
|
|
|
| 字段名 | 控件类型 | 必填 | 默认值 | 说明 |
|
|
|
|--------|----------|------|--------|------|
|
|
|
| 严重等级 | 下拉单选 | 否 | 全部 | 一般/较重/严重 |
|
|
|
| 处理状态 | 下拉单选 | 否 | 全部 | 待处理/已生成工单/已关闭 |
|
|
|
| 日期范围 | 日期范围 | 否 | — | — |
|
|
|
|
|
|
### 列表字段
|
|
|
|
|
|
| 序号 | 字段名 | 列宽 | 支持排序 | 说明 |
|
|
|
|------|--------|------|----------|------|
|
|
|
| 1 | 异常编号 | 120px | 否 | — |
|
|
|
| 2 | 巡检记录 | 120px | 否 | 关联巡检记录 |
|
|
|
| 3 | 严重等级 | 80px | 是 | 一般(黄)/较重(橙)/严重(红) |
|
|
|
| 4 | 异常描述 | 200px | 否 | — |
|
|
|
| 5 | 上报人 | 80px | 否 | — |
|
|
|
| 6 | 上报时间 | 140px | 是 | 默认倒序 |
|
|
|
| 7 | 处理状态 | 100px | 否 | 待处理/已生成工单/已关闭 |
|
|
|
| 8 | 关联工单 | 120px | 否 | 点击跳转工单详情 |
|
|
|
| 9 | 操作 | 120px | — | 生成工单/查看 |
|
|
|
|
|
|
### 操作按钮
|
|
|
|
|
|
| 按钮 | 权限编码 | 位置 | 显示条件 | 说明 |
|
|
|
|------|----------|------|----------|------|
|
|
|
| 生成报修工单 | repair:list:create | 行操作 | 处理状态=待处理 | 一键生成,自动关联异常记录 |
|
|
|
| 查看 | inspection:task:view | 行操作 | 始终 | 查看异常详情 |
|
|
|
|
|
|
### 通知触发
|
|
|
|
|
|
| 触发操作 | 通知对象 | 通知方式 | 消息模板 | 文档来源 |
|
|
|
|----------|----------|----------|----------|----------|
|
|
|
| 异常上报 | 物业主管 | 小程序推送 | 巡检异常通知 | 01 §7.1 |
|
|
|
| 生成工单 | 维修人员 | 小程序推送 | 新工单通知 | 05 §5.2 (INSPECTION_ABNORMAL) |
|
|
|
|
|
|
### API端点
|
|
|
|
|
|
| 页面操作 | API路径 | 方法 | 说明 |
|
|
|
|----------|---------|------|------|
|
|
|
| 异常列表 | /api/v1/inspection-abnormals | GET | 分页查询 |
|
|
|
| 生成工单 | /api/v1/inspection-abnormals/{id}/create-order | POST | — |
|
|
|
|
|
|
---
|
|
|
|
|
|
## 页面5:巡检区域管理页
|
|
|
|
|
|
**页面编号**:PR-I-05-P01
|
|
|
**端侧归属**:Web专属
|
|
|
**页面路径**:/inspection/areas
|
|
|
|
|
|
### 界面布局
|
|
|
|
|
|
```
|
|
|
┌──────────────────────────────────────────────────────────────────┐
|
|
|
│ [面包屑] 巡检管理 > 巡检区域管理 │
|
|
|
├──────────────────────────────────────────────────────────────────┤
|
|
|
│ [操作栏] [新增区域] [批量导入] │
|
|
|
├──────────────────────────────────────────────────────────────────┤
|
|
|
│ [树形结构+列表] │
|
|
|
│ ┌──────────────┐ ┌──────────────────────────────────────────┐ │
|
|
|
│ │ 主院区 │ │ 区域:主院区 > 门诊楼 > 1层 │ │
|
|
|
│ │ ├ 门诊楼 │ │ 蓝牙Beacon:B-001 (在线) │ │
|
|
|
│ │ │ ├ 1层 │ │ Beacon UUID:xxxx-xxxx-xxxx │ │
|
|
|
│ │ │ ├ 2层 │ │ 关联设备:灯控系统、空调系统 │ │
|
|
|
│ │ │ └ 3层 │ │ 巡检计划:门诊楼日常巡检 │ │
|
|
|
│ │ └ 住院楼 │ │ [编辑] [删除]│ │
|
|
|
│ └──────────────┘ └──────────────────────────────────────────┘ │
|
|
|
└──────────────────────────────────────────────────────────────────┘
|
|
|
```
|
|
|
|
|
|
### 操作按钮
|
|
|
|
|
|
| 按钮 | 权限编码 | 位置 | 显示条件 | 说明 |
|
|
|
|------|----------|------|----------|------|
|
|
|
| 新增区域 | inspection:area:create | 操作栏 | 始终 | 弹窗 |
|
|
|
| 编辑 | inspection:area:update | 详情区 | 始终 | — |
|
|
|
| 删除 | inspection:area:delete | 详情区 | 无关联计划时 | 二次确认 |
|
|
|
|
|
|
### 表单字段(新增/编辑弹窗)
|
|
|
|
|
|
| 字段名 | 控件类型 | 必填 | 默认值 | 数据来源 | 校验规则 |
|
|
|
|--------|----------|------|--------|----------|----------|
|
|
|
| 区域名称 | 文本输入 | 是 | — | 自填 | 最大30字 |
|
|
|
| 上级区域 | 级联选择 | 是 | — | 区域树 | — |
|
|
|
| 蓝牙Beacon | 下拉单选 | 是 | — | 蓝牙设备管理(在线设备) | — |
|
|
|
| 关联设备 | 下拉多选 | 否 | — | 设备列表 | — |
|
|
|
|
|
|
### API端点
|
|
|
|
|
|
| 页面操作 | API路径 | 方法 | 说明 |
|
|
|
|----------|---------|------|------|
|
|
|
| 区域树 | /api/v1/inspection-areas/tree | GET | 树形结构 |
|
|
|
| 新增 | /api/v1/inspection-areas | POST | — |
|
|
|
| 编辑 | /api/v1/inspection-areas/{id} | PUT | — |
|
|
|
| 删除 | /api/v1/inspection-areas/{id} | DELETE | — |
|
|
|
|
|
|
---
|
|
|
|
|
|
## 页面6:数据补录与补录审核页
|
|
|
|
|
|
**页面编号**:PR-I-06-P01 / PR-I-07-P01
|
|
|
**端侧归属**:Web专属
|
|
|
**页面路径**:/inspection/supplement
|
|
|
|
|
|
### 查询条件
|
|
|
|
|
|
| 字段名 | 控件类型 | 必填 | 默认值 | 说明 |
|
|
|
|--------|----------|------|--------|------|
|
|
|
| 审核状态 | 下拉单选 | 否 | 全部 | 待审核/已通过/已驳回 |
|
|
|
| 补录人 | 文本输入 | 否 | — | 模糊匹配 |
|
|
|
| 补录原因 | 下拉单选 | 否 | 全部 | 蓝牙故障/系统异常/定位失败/其他 |
|
|
|
| 日期范围 | 日期范围 | 否 | — | — |
|
|
|
|
|
|
### 补录数据标记规范
|
|
|
|
|
|
| 标记项 | 说明 |
|
|
|
|--------|------|
|
|
|
| is_supplement | true |
|
|
|
| supplement_reason | 蓝牙故障/系统异常/定位失败/其他 |
|
|
|
| supplement_remark | 补录详细说明 |
|
|
|
| supplement_audit_status | 待审核/通过/驳回 |
|
|
|
| supplement_auditor | 审核人ID |
|
|
|
| supplement_audit_time | 审核时间 |
|
|
|
|
|
|
### 操作按钮
|
|
|
|
|
|
| 按钮 | 权限编码 | 位置 | 显示条件 | 说明 |
|
|
|
|------|----------|------|----------|------|
|
|
|
| 审核 | inspection:supplement:approve | 行操作 | 审核状态=待审核 | 通过/驳回弹窗 |
|
|
|
| 查看 | inspection:supplement:view | 行操作 | 始终 | 查看补录详情 |
|
|
|
|
|
|
### 通知触发
|
|
|
|
|
|
| 触发操作 | 通知对象 | 通知方式 | 消息模板 | 文档来源 |
|
|
|
|----------|----------|----------|----------|----------|
|
|
|
| 审核通过 | 补录人 | 小程序推送 | 补录审核通过通知 | 03-物业公司 §2.2 |
|
|
|
| 审核驳回 | 补录人 | 小程序推送 | 补录审核驳回通知,需重新执行 | 03-物业公司 §2.2 |
|
|
|
|
|
|
### API端点
|
|
|
|
|
|
| 页面操作 | API路径 | 方法 | 说明 |
|
|
|
|----------|---------|------|------|
|
|
|
| 补录列表 | /api/v1/inspection-records/supplements | GET | 分页查询 |
|
|
|
| 审核 | /api/v1/inspection-records/supplements/{id}/approve | POST | — |
|
|
|
|
|
|
---
|
|
|
|
|
|
## 需求追溯
|
|
|
|
|
|
| 功能点编号 | 功能名称 | 文档来源 | 后续服务 | 关联功能 |
|
|
|
|------------|----------|----------|----------|----------|
|
|
|
| PR-I-01 | 巡检计划管理 | 02-物业公司 §2 / 03-物业公司 §2.1 | 计划创建→自动生成每日任务 | 巡检任务看板 |
|
|
|
| PR-I-02 | 巡检任务看板 | 02-物业公司 §2 / 03-物业公司 §2.1 | — | 小程序端今日巡检(MP-I-01) |
|
|
|
| PR-I-03 | 巡检记录查询 | 02-物业公司 §2 / 03-物业公司 §2.1 | — | 统计报表→巡检统计 |
|
|
|
| PR-I-04 | 异常处理跟踪 | 02-物业公司 §2 / 03-物业公司 §2.1 | 异常→一键生成报修工单 | 在线报修(工单创建) |
|
|
|
| PR-I-05 | 巡检区域管理 | 02-物业公司 §2 | 区域→蓝牙Beacon绑定 | 系统配置→蓝牙设备管理 |
|
|
|
| PR-I-06 | 数据补录 | 02-物业公司 §2 / 03-物业公司 §2.2 | 补录→审核→生效 | 小程序端异常数据补录(MP-I-06) |
|
|
|
| PR-I-07 | 补录审核 | 02-物业公司 §2 / 03-物业公司 §2.2 | 审核结果→通知补录人 | 操作日志→补录日志 |
|
|
|
|
|
|
## 业务规则
|
|
|
|
|
|
1. **任务自动生成**:巡检计划创建后,系统按频次自动生成每日巡检任务(来源:03-物业公司 §2.1)
|
|
|
2. **蓝牙打卡**:小程序端巡检必须连接蓝牙Beacon后才可打卡和拍照(策略=REQUIRED时),失败进入补录模式(来源:01 §9 / 06 §4.4)
|
|
|
3. **蓝牙双模式**:策略=OPTIONAL时允许手动打卡(check_type=MANUAL),无需补录审核(来源:06 §4.4 / 03-物业公司 §10)
|
|
|
4. **异常上报→工单**:巡检发现异常可一键生成报修工单,触发INSPECTION_ABNORMAL事件(来源:05 §5.2 / 03-物业公司 §2.1)
|
|
|
5. **补录审核流程**:补录数据需主管审核,审核通过生效,驳回需重新执行(来源:03-物业公司 §2.2)
|
|
|
6. **补录数据标记**:所有补录记录标记is_supplement=true,补录原因、审核状态等完整记录(来源:03-物业公司 §2.3)
|
|
|
7. **数据权限**:主管仅看本班组数据,员工仅看本人数据(来源:01 §1.3)
|