You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
houqin-java/docs/03-业务流转逻辑-小程序端.md

16 KiB

微信小程序端 — 业务流转逻辑

版本v4.0 微信小程序仅供物业人员使用,医院账号无小程序端。 不同角色登录后看到不同功能入口。 关联文档:01-模块划分.mdv4.0)、02-功能清单-小程序端.md


1. 登录与权限加载流程

1.1 首次登录

用户打开小程序
      │
  微信授权获取openid
      │
  绑定手机号(微信获取手机号组件)
      │
  系统匹配物业公司+人员信息
  **数据来源物业公司Web端创建的下属账号sys_user表**
      │
  ┌─── 匹配成功 ──┐  ┌─── 匹配失败 ──┐
  │                │  │                │
  创建账号         提示"未找到关联信息,请联系管理员"
  进入工作台       无法使用

1.2 再次登录

打开小程序
      │
  读取本地token
      │
  ┌─── token有效 ──┐  ┌─── token无效 ──┐
  │                  │  │                  │
  直接进入工作台     openid静默登录
                     **数据来源:系统用户表自动匹配**
                         │
                     刷新token
                         │
                     进入工作台

1.3 权限加载与界面渲染

用户登录成功
      │
  获取角色及权限集(四级粒度)
  **数据来源:超级管理员定义的角色+物业公司管理员分配的角色**
      │
  根据权限动态渲染:
    ├── 可见菜单项
    ├── 页面内可见功能点
    ├── 功能点可用动作(按钮显示/隐藏/禁用)
    └── 数据范围(行级隔离)

2. 报修流程

2.1 报修人视角

首页工作台 → 一键报修
      │
  选择报修类型数据来源物业公司Web端配置的报修类型字典
      │
  填写描述
      │
  拍照上传≤9张含水印时间定位
      │
  提交 → 生成工单 → 等待分配
      │
  接收处理通知
      │
  接收完工通知 → 评价(五分制+留言)

2.2 维修人员视角

接收工单通知(小程序推送)
      │
  查看待处理工单列表
  **数据来源物业公司Web端分配的工单或自动分配**
      │
  接单
      │
  处理维修
      │
  ┌─── 正常完工 ────────────────────┐
  │  上传维修后照片 → 填写说明 → 提交   │
  │  → 工单状态变为"待验收"             │
  └────────────────────────────────────┘
      │
  ┌─── 需要延期 ────────────────────┐
  │  填写延期原因和预计完成时间          │
  │  → 工单状态变为"延期中"             │
  │  → 等待主管审批                    │
  │  **审批数据来源主管在Web或小程序端审批** │
  └────────────────────────────────────┘
      │
  ┌─── 需要协助 ────────────────────┐
  │  请求其他班组协助                   │
  │  → 生成协助子工单                   │
  │  → 等待协助完成                     │
  └────────────────────────────────────┘
      │
  等待验收
  **验收数据来源主管或报修人在Web/小程序端验收**

2.3 主管视角(工单管理)

查看待分配工单列表
**数据来源:报修人提交的工单(小程序端)+ Web端录入的工单**
      │
  工单分配(手动分配到班组/人员)
      │
  延期审批(审批维修人员延期申请)
  **数据来源:维修人员在小程序端提交的延期申请**
      │
  工单验收

3. 巡检流程(巡检人员视角)

查看今日巡检任务
**数据来源物业管理员在Web端创建的巡检计划自动生成**
      │
  到达巡检点位
      │
  查询蓝牙策略配置
  **数据来源系统配置的蓝牙策略GET /system/bluetooth-policy → inspection_check_in**
      │
  ┌─── 策略=REQUIRED强制蓝牙───────────────────────────┐
  │                                                          │
  │  小程序自动扫描蓝牙Beacon                                 │
  │      │                                                   │
  │  ┌─── 检测到目标Beacon ───┐  ┌─── 未检测到 ────────────┐ │
  │  │                          │  │                          │ │
  │  │ 读取UUID                 │  提示"未检测到蓝牙信号"    │ │
  │  │ 连接蓝牙设备             │      │                     │ │
  │  │ 连接成功即打卡           │  ┌─重试──▶ 重新扫描        │ │
  │  │ check_type=BLUETOOTH    │  └─补录──▶ 进入补录模式    │ │
  │  │ **无需距离校验**         │      │                     │ │
  │  └─────────────────────────┘  选择补录原因              │ │
  │                               手动填写巡检记录          │ │
  │                               提交补录申请              │ │
  │                               **需主管审核Web/小程序)**│ │
  └──────────────────────────────────────────────────────────┘
      │
  ┌─── 策略=OPTIONAL非强制蓝牙──────────────────────────┐
  │                                                          │
  │  用户选择打卡方式                                         │
  │  ┌───蓝牙打卡──┐───手动打卡──┐                            │
  │  扫描蓝牙        直接打卡                                  │
  │  check_type=    check_type=MANUAL                         │
  │  BLUETOOTH                                               │
  └──────────────────────────────────────────────────────────┘
      │
  打卡成功后 → 逐项检查巡检清单 → 记录正常/异常
      │
  ┌─── 发现异常 ────────────────────────────────────┐
  │  拍照上传 + 标记严重等级                             │
  │  可一键生成报修工单(数据写入报修模块)               │
  └──────────────────────────────────────────────────┘
      │
  ┌─── 拍照(蓝牙策略=REQUIRED时────────────────────┐
  │  拍照也须在蓝牙连接状态下进行                         │
  │  **拍照策略数据来源GET /system/bluetooth-policy    │
  │   → inspection_photo**                               │
  └──────────────────────────────────────────────────┘

4. 保洁流程(保洁人员视角)

查看今日保洁任务
**数据来源物业管理员在Web端配置的排班自动生成**
      │
  到达保洁区域
      │
  查询蓝牙策略配置
  **数据来源系统配置的蓝牙策略GET /system/bluetooth-policy → cleaning_check_in**
      │
  ┌─── 策略=REQUIRED强制蓝牙──────────────────────┐
  │  蓝牙强制打卡确认流程同巡检3.1                     │
  │  check_type=BLUETOOTH                                 │
  │  未检测到蓝牙 → 进入补录模式(需主管审核)             │
  └──────────────────────────────────────────────────────┘
      │
  ┌─── 策略=OPTIONAL非强制蓝牙─────────────────────┐
  │  可选蓝牙打卡或手动打卡                                │
  │  手动打卡check_type=MANUAL                          │
  └──────────────────────────────────────────────────────┘
      │
  逐项完成保洁清单 → 上传完成后照片
      │
  ┌─── 发现异常 ─────────────────────────────┐
  │  异常反馈 → 拍照上报                          │
  └────────────────────────────────────────────┘
      │
  任务完成
      │
  主管抽查(数据来源:主管在小程序端标记)
  ┌─合格─┐  ┌─不合格─┐
  确认完成    重新生成任务

5. 考勤打卡流程(员工视角)

到达班组打卡点
      │
  查询蓝牙策略配置
  **数据来源系统配置的蓝牙策略GET /system/bluetooth-policy → attendance_check**
      │
  ┌─── 策略=REQUIRED强制蓝牙──────────────────────┐
  │                                                      │
  │  小程序自动扫描蓝牙Beacon                             │
  │      │                                               │
  │  ┌─── 检测到指定打卡点Beacon ───┐                     │
  │  │  验证Beacon属于本人班组打卡点   │                   │
  │  │  连接蓝牙成功                  │                    │
  │  │  记录打卡时间+Beacon标识       │                    │
  │  │  **打卡点数据来源Web端配置的打卡点+蓝牙绑定**   │
  │  │  打卡成功 check_method=BLUETOOTH                  │
  │  └──────────────────────────────┘                     │
  │      │                                               │
  │  ┌─── 未检测到打卡点蓝牙 ──────────┐                  │
  │  │  提示"未检测到打卡点蓝牙信号"     │                 │
  │  │  ┌─重试──▶ 重新扫描              │                 │
  │  │  └─异常申诉──▶ 提交打卡异常申诉   │                 │
  │  │     选择异常原因(蓝牙故障/手机异常/系统异常/     │
  │  │     忘记打卡/其他)                              │
  │  │     补充说明(可上传照片)                          │
  │  │     提交申诉 → 等待主管审核                       │
  │  │     **审核数据来源主管在Web/小程序端审核**       │
  │  └──────────────────────────────────┘                 │
  └──────────────────────────────────────────────────────┘
      │
  ┌─── 策略=OPTIONAL非强制蓝牙─────────────────────┐
  │  可选蓝牙打卡或手动打卡                                │
  │  手动打卡check_method=MANUAL                        │
  └──────────────────────────────────────────────────────┘
      │
  打卡成功 → 记录操作日志

5.1 打卡异常申诉审核流程

员工提交打卡异常申诉(小程序端)
      │
  主管审核Web+小程序均可)
  **申诉数据来源:小程序端提交的异常申诉**
      │
  ┌─审核通过─┐  ┌─审核驳回─┐
  系统自动补录      通知员工
  打卡记录          申诉未通过
  标注"补录"        记录审核日志
  记录审核日志

6. 组织架构相关流程

查看我的班组
**数据来源物业管理员在Web端配置的班组信息**
      │
  班组信息 + 班组成员列表
      │
  查看我的排班
  **数据来源物业管理员在Web端配置的排班数据**
      │
  个人排班日历

7. 服务评价流程(报修人视角)

工单完工后收到评价通知
**触发数据来源物业公司在Web/小程序端验收通过**
      │
  打开待评价列表
      │
  五分制评分 + 文字留言 + 图片上传
      │
  提交评价
      │
  物业公司可查看和回复(数据写入评价模块)
  **评价数据来源小程序端提交物业公司Web端可查看回复**

8. 统计概览流程

8.1 管理员/主管视角

进入工作台 → 简版统计概览
      │
  按角色权限显示今日/本周关键指标:
    ├── 报修:今日工单数/待处理/已完成
    ├── 巡检:今日任务数/已完成/异常
    ├── 保洁:今日任务数/已完成/超时
    └── 考勤:今日出勤率
      │
  **数据来源:物业公司各业务模块实时数据**

8.2 员工视角

进入工作台 → 个人绩效统计
      │
  个人工单量、评分、考勤
  **数据来源:报修模块工单数据 + 评价模块评分 + 考勤模块打卡数据**

9. 物业公司管理员小程序功能

物业管理员登录小程序
      │
  功能入口与Web端对应但功能简化
    ├── 报修管理:工单列表/分配/流转
    ├── 巡检管理:计划/看板/记录
    ├── 保洁管理:任务/排班/抽查
    ├── 考勤管理:记录/统计
    ├── 评价管理:查看/回复
    └── 组织架构查看:查看班组/人员
      │
  **所有数据来源与Web端同一数据源操作实时同步**

10. 小程序更新流程

小程序启动
      │
  调用后台接口获取最新版本号 + 最低兼容版本
  **数据来源超级管理员在Web端配置的版本信息**
      │
  与本地版本号比较
      │
  ┌── 版本一致 ──▶ 正常使用
  │
  ┌── 小版本更新(兼容) ──▶ 提示"发现新版本,是否更新?"
  │                           │
  │                      用户确认 → 触发热更新/重启
  │                      用户取消 → 继续使用旧版
  │
  └── 大版本更新(不兼容) ──▶ 强制更新
                               │
                          提示"版本过低,必须更新"
                               │
                          引导前往微信更新小程序

SDK依赖校验

  • 启动时校验蓝牙SDK、微信SDK等关键依赖版本
  • 低于最低兼容版本时提示更新
  • 记录SDK版本信息到操作日志便于排查问题

11. 审批流程(主管视角)

收到审批推送(小程序推送通知)
**推送数据来源:系统根据业务规则自动触发**
      │
  打开审批中心
      │
  查看待审批列表
      │
  查看详情 → 通过/驳回
      │
  通知申请人
      │
  记录审批操作日志

审批场景汇总:

审批场景 发起端 审批端 数据来源
工单延期审批 小程序(维修人员申请) Web+小程序(主管审批) 小程序端延期申请
工单分配 Web+小程序(主管分配) 报修人提交的工单
工单验收 Web+小程序(主管/报修人) 维修人员提交的完工
打卡异常审核 小程序(员工申诉) Web+小程序(主管审核) 小程序端异常申诉
数据补录审核 小程序(员工补录) Web+小程序(主管审核) 小程序端补录申请
保洁抽查 小程序(主管标记) 保洁人员完成的任务