51 lines
4.0 KiB
Markdown
51 lines
4.0 KiB
Markdown
# 复诊接诊率:保留原算法,新增统计使用独立入口
|
||
|
||
2026-10-17 更正:用户要求原来的算法保持不变。原页面、原接口及原计算逻辑已恢复至修改前版本。10 月 16 日曾将原 Controller 接入指派周期计算器,虽然旧计算器仍保留,但原页面的数据口径已改变;本次恢复覆盖了完整调用链。
|
||
|
||
## 三个独立入口
|
||
|
||
| 页面 | 路径 | 接口 | 口径 |
|
||
| --- | --- | --- | --- |
|
||
| 原复诊接诊率 | `/stats/revisit_rate` | `stats.revisitRate/*` | 原按月算法、默认配置及 exclude/slot 切换保持原样 |
|
||
| 按指派周期复诊率 | `/stats/revisit_assign_rate` | `stats.revisitAssignRate/*` | 按新指派日期范围及医助选患者,复诊累计至查询当天 |
|
||
| 继承复诊接诊率 | `/stats/revisit_inherit_rate` | `stats.revisitInheritRate/*` | 按继承日期及医助选患者,继承首笔有效订单算二诊、次笔三诊 |
|
||
|
||
原四个 action(overview、deptOptions、assignLines、visitOrderLines)继续直接调用原 RevisitRateLogic。原月份筛选、参数 month / inherit_mode / kind、分母、分子、全局诊次、订单持有人及部门汇总规则全部恢复。原 API 函数原字节保留,新接口函数以 revisitCohort 前缀追加,避免旧页面误用。
|
||
|
||
RevisitCohortLogic 使用独立 RevisitCohortDataSource 读取数据,不再继承或要求修改原 RevisitRateLogic 的方法可见性。自动指派、个人业绩、全局诊次服务和项目统计配置均与修改前逐字节一致。
|
||
|
||
## 独立新增报表
|
||
|
||
日期范围包含起止日,订单累计到查询时刻。继承前全局诊次及偏移不影响继承重新起算。转派/释放终止旧持有段;释放后重新分回原医助正常统计。新报表的去重及继承规则只作用于新接口。
|
||
|
||
两个新报表分别接受 start_date / end_date、dept_ids、assistant_id;明细可附 scope_assistant_id / dept_id,与顶层筛选取交集。继承类型由服务端固定,不能通过参数切换。
|
||
|
||
## 发布
|
||
|
||
原页面恢复需要发布恢复后的 PHP 与管理端构建,原菜单无需修改;本次未执行正式 release,未连接业务库,不能据本地证据声称线上已恢复。
|
||
|
||
启用独立新增页面时,依次执行:
|
||
|
||
1. `server/sql/1.9.20261016/01_add_revisit_inherit_rate_menu.sql`
|
||
2. `server/sql/1.9.20261017/01_add_revisit_assign_rate_menu.sql`
|
||
3. 按部署流程刷新 AdminAuthCache 并重新登录。
|
||
|
||
脚本幂等,按原各项权限逐项授权,原角色没有订单明细权限时不会额外获得。两个脚本均不改写原菜单、原权限记录或业务数据。
|
||
|
||
## 本轮验证
|
||
|
||
- 10 个原链路文件(原页面、Controller、Logic、Calculator、诊次服务、配置、自动指派、个人业绩及 MCP 目录)与 HEAD=c67b3eff69d9a3ac2046861751f159692a0abcd7 字节一致;原 API 文件完整原字节作为前缀保留。证据:artifacts/revisit-legacy-source-proof.json。
|
||
- 原统计、继承诊次及诊次服务测试 122 项通过;新增队列纯计算 34 项通过。
|
||
- 本机隔离 MySQL 5.7 集成测试 37 项通过:实际 Controller 调用验证原 exclude/slot 的汇总及两类明细与原 Logic 完全一致;新增查询不改变原响应;独立新接口固定类型;两个菜单脚本幂等、逐权限授权且不改写原菜单。
|
||
- 四份 Vue SFC 编译及 12 个真实 API wrapper 路径调用通过;浏览器 20 项检查通过,包含原月筛选、原口径切换、原明细参数及新增两页入口隔离。浏览器使用虚构接口响应,数据库测试使用独立本机临时库。
|
||
- MCP 目录单元测试及 PHP 语法检查通过。
|
||
- 最终 Vite 生产构建通过,输出到 `.codex-tasks/revisit-legacy-restored-build`,未执行 release。
|
||
|
||
集成测试须在本机独立临时 MySQL 上显式启用:
|
||
|
||
```powershell
|
||
$env:REVISIT_COHORT_TEST_DISPOSABLE = '1'
|
||
$env:REVISIT_COHORT_TEST_MYSQL_PORT = '33817'
|
||
php server/tests/RevisitCohortDatabaseTest.php
|
||
```
|