共享医修通 - 业务逻辑与架构视图
完整权威版(十六模块细则、派工算法、泳道图、用例依赖、开发任务关系等)见仓库内 Markdown:
business_logic.md。
本页为
架构与状态机速览,便于浏览器直接打开评审。
系统上下文(C4-Context)
系统边界与外部参与者
flowchart TB
subgraph actors [外部参与者]
HDept[医院科室与设备科]
Eng[持证维修工程师]
Sup[备件供应商与厂家]
Ops[平台运营方]
end
subgraph medfix [共享医修通]
Core[工单派工维修结算内核]
end
subgraph external [外部系统]
Wx[微信开放平台]
Map[地图服务]
Oss[对象存储]
Sms[短信网关]
His[可选HIS或资产系统]
end
HDept -->|报修验收评价| Core
Eng -->|接单打卡维修| Core
Sup -->|报价发货对账| Core
Ops -->|配置监管统计| Core
Core --> Wx
Core --> Map
Core --> Oss
Core --> Sms
Core -.->|二期| His
业务架构(产品域)
flowchart TB
root[共享医修通产品边界]
root --> domainA[设备管理域]
root --> domainB[报修服务域]
root --> domainC[维修执行域]
root --> domainD[备件供应域]
root --> domainE[结算域]
root --> domainF[运营域]
domainA --> capA1[设备档案与二维码]
domainB --> capB1[扫码报修与工单跟踪]
domainC --> capC1[派工引擎与现场维修]
domainD --> capD1[库存申领与预警]
domainE --> capE1[对账开票]
domainF --> capF1[工程师与SLA看板]
容器视图(C4-Container 简版)
flowchart LR
subgraph Client [客户端层]
C1[科室小程序 uni-app x]
C2[工程师小程序 uni-app x]
C3[管理后台 Cool Admin Vue]
end
subgraph Gateway [接入层]
G1[Nginx与API网关]
end
subgraph Service [业务层 Midway]
S1[工单模块]
S2[设备模块]
S3[备件模块]
S4[结算模块]
S5[派工引擎]
end
subgraph Data [数据层]
D1[(MySQL medfix)]
D2[(Redis)]
D3[(OSS)]
end
C1 --> G1
C2 --> G1
C3 --> G1
G1 --> S1
G1 --> S2
G1 --> S3
G1 --> S4
S1 --> S5
S1 --> D1
S2 --> D1
S3 --> D1
S4 --> D1
S5 --> D2
S1 --> D3
工单状态机
状态流转(Mermaid)
stateDiagram-v2
[*] --> 待派工
待派工 --> 已派工 : 派工
待派工 --> 已取消 : 取消
已派工 --> 维修中 : 到场打卡
已派工 --> 待派工 : 退单转单
维修中 --> 待验收 : 完工上报
待验收 --> 已完成 : 验收通过
待验收 --> 维修中 : 验收不通过
已完成 --> 已关闭 : 结算或超期
已取消 --> [*]
已关闭 --> [*]
报修主链路时序(摘要)
sequenceDiagram
autonumber
participant KS as 科室用户
participant XCX as 小程序
participant API as API服务
participant PG as 派工引擎
participant ENG as 工程师
KS->>XCX: 扫码或拍照报修
XCX->>API: 创建工单
API->>PG: 智能匹配
PG-->>API: 工程师列表
API-->>ENG: 推送派工
ENG->>XCX: 接单到场维修
ENG->>XCX: 完工上报
KS->>XCX: 验收签字
角色权限矩阵(摘要)
| 功能 |
科室报修员 |
工程师 |
仓库 |
院方设备科 |
运营 |
| 报修 | 是 | 否 | 否 | 是 | 否 |
| 工单详情 | 本科室 | 本人单 | 否 | 本院 | 全部 |
| 接单维修 | 否 | 是 | 否 | 否 | 否 |
| 备件出入库 | 否 | 申领 | 是 | 否 | 否 |
| 验收 | 是 | 否 | 否 | 是 | 否 |
| 结算对账 | 否 | 否 | 否 | 是 | 是 |
多身份入驻角色映射(新增)
| 申请身份 |
applyType |
roleCode |
roleType |
审核责任方 |
| 工程师 | engineer | engineer | engineer | 运营管理员 + 系统管理员 |
| 供应商 | supplier | supplier | vendor | 运营管理员 + 财务复核 |
| 服务商 | service_provider | service_provider | vendor | 运营管理员 + 系统管理员 |
| 医院管理员 | hospital | hospital_admin | department | 平台超管 |
| 科室报修员 | department_user | dept_user | department | 医院管理员 |
入驻审核状态机(新增)
stateDiagram-v2
[*] --> 草稿
草稿 --> 待初审 : 提交申请
待初审 --> 待复审 : 资料完整
待初审 --> 待补件 : 缺少材料
待复审 --> 已通过 : 复审通过
待复审 --> 待补件 : 驳回补件
待复审 --> 已拒绝 : 审核拒绝
待初审 --> 已撤销 : 申请人撤销
待复审 --> 已撤销 : 申请人撤销
待补件 --> 已作废 : 平台作废
待补件 --> 待初审 : 重新提交
已通过 --> 已激活 : 账号开通+角色绑定
审核管理与作废规则(新增)
| 场景 | 动作 | 状态流转 | 约束 |
| 申请人主动取消 | revoke | 待审/补件 -> 已撤销 | 已通过、已激活不可撤销 |
| 平台人工作废 | void | 待审/补件 -> 已作废 | 必须记录作废原因、作废人、时间 |
| 重复申请作废 | void_duplicate | 新申请 -> 已作废 | 同手机号+身份30天仅保留1个有效单 |
| 补件超时作废 | void_timeout | 待补件 -> 已作废 | 默认超过7天自动作废 |
销售推广归因流程(新增)
flowchart LR
A[活动投放] --> B[访问落地页]
B --> C[提交线索]
C --> D[提交入驻申请]
D --> E[审核通过]
E --> F[账号激活]
F --> G[归因报表]
返回文档总览