docs: 服务机构端 C3 履约留痕落地 + 修正 REST 路径 + 更新子模块指针与遗留项

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
liuyun 2026-10-15 01:10:44 +08:00
parent 398eae800f
commit 9a91fc6597
4 changed files with 16 additions and 4 deletions

View File

@ -53,3 +53,15 @@
- [ ] **plan_status ended 无入口**(无结束计划端点);`plan.change` 不要求旧计划 active。
- [ ] **非事务多写**:`plan.create`(head+items)、`elder-svc.put`(delete+create)、`change`(create+update)中途失败留部分状态。
- [ ] **toDateTime 硬编码 +08:00**(业务假设北京时区,已注释;如多时区属地需配置化)。
## C3 履约留痕
- [ ] **[高] 缺事务**:扑空 `order.update` + `recordAbnormal.create`、record itemSave 整表覆盖(先删后写)、`prepaidCarryover` 多写——中途失败留部分状态。C4/settlement 前加 `$transaction`。
- [ ] **扑空证据缺失用通用 40000**(无 `ABNORMAL_EVIDENCE_REQUIRED` 专用码,规则号 3003 写 message)。
- [ ] **照片/语音无 presign/下载端点**:前端只显示 file_path/key、有无,无法预览;APP 上线前补。
- [ ] **留痕/异常列表不分页**(`findMany` 全量);admin B3 规模可接受,APP 前补分页。
- [ ] **record.detail 嵌套 abnormals 的 visitLat/visitLng 仍带 Decimal**(顶层坐标已修,嵌套未序列化,minor 不一致)。
- [ ] **业务角色未授 record/abnormal 权限**(同 C2 的 elder/plan/order,靠 super 或 RBAC UI 配置);新租户靠 `sync:resources` 同步资源。
- [ ] **offlineSync 接受客户端 checkinTime/checkoutTime**(离线补传固有例外,仅 client_md5 去重兜底,防补录时间有缺口——可加 serviceDate 窗口约束)。
- [ ] **prepaidCarryover 不限制 record_status=submitted**(serving 垫付记录也能被结转);prepaidList 有 N+1 查询。
- [ ] 前端 pageSize 200 固定、serviceDate 文本输入、`loadPrepaid` 非 active 也请求(小浪费)。

View File

@ -1,7 +1,7 @@
## ADDED Requirements
### Requirement: 履约留痕接口
`POST /record/checkin`、`POST /record/item/save`、`POST /record/photo/upload`、`POST /record/checkout`、`POST /record/offline/sync`、`GET /record/detail`、`GET /record/list`、`GET /record/prepaid-list`、`POST /record/prepaid/carryover` MUST 存在,遵循统一响应。
`POST /record/checkin`、`POST /record/item/save`、`POST /record/photo/upload`、`POST /record/checkout`、`POST /record/offline/sync`、`GET /record/:id`、`GET /record`、`GET /record/prepaid-list`、`POST /record/prepaid/carryover` MUST 存在,遵循统一响应。
#### Scenario: 签退必拍未拍硬拒
- **WHEN** 必拍项未拍照且未走拒拍出路时签退
@ -12,7 +12,7 @@
- **THEN** checkin_time 由服务端生成,客户端传入被忽略
### Requirement: 异常接口
`POST /abnormal/report`、`GET /abnormal/list` MUST 存在,遵循统一响应。
`POST /abnormal`、`GET /abnormal` MUST 存在,遵循统一响应。
#### Scenario: 扑空
- **WHEN** 护理员登记未遇(扑空)

@ -1 +1 @@
Subproject commit 59e04693cdc489c8c24ebc903f3959ff1b5d78cf
Subproject commit 08a9182352d65ddfaf712939784822b633574963

@ -1 +1 @@
Subproject commit 66da809a2e5f4a0a69a95842d0c0e081fb66d14f
Subproject commit 9f232356e08d36eb1c2438059b51efb7726587b1