From 45aaeb9d43ea1a0f611f582f92316463fa7922ca Mon Sep 17 00:00:00 2001 From: liuyun Date: Thu, 15 Oct 2026 00:11:18 +0800 Subject: [PATCH] =?UTF-8?q?docs:=20C3=20=E7=95=99=E7=97=95=E5=9B=9B?= =?UTF-8?q?=E8=A1=A8=E5=89=8D=E7=BC=80=E6=94=B9=E4=B8=BA=20ho=EF=BC=88?= =?UTF-8?q?=E7=94=A8=E6=88=B7=E6=8C=87=E5=AE=9A=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 4.8 --- .../specs/2026-10-15-服务机构端-C3履约留痕-design.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/superpowers/specs/2026-10-15-服务机构端-C3履约留痕-design.md b/docs/superpowers/specs/2026-10-15-服务机构端-C3履约留痕-design.md index 6e539f8..fe9e611 100644 --- a/docs/superpowers/specs/2026-10-15-服务机构端-C3履约留痕-design.md +++ b/docs/superpowers/specs/2026-10-15-服务机构端-C3履约留痕-design.md @@ -14,7 +14,7 @@ C0–C2 已落地:elder(十态)、plan/plan_item、order(八态,含 no ## Decisions -1. **表命名**:`record`/`record_item`/`record_photo`/`record_abnormal`(禁用 checkin/clockin/punch)。`settlement`/`report` 为二期预留、本期建空表不写业务数据。`qc` 表 C4 建。 +1. **表命名**:`ho_record`/`ho_record_item`/`ho_record_photo`/`ho_record_abnormal`(前缀 `ho`,禁用 checkin/clockin/punch)。`settlement`/`report` 为二期预留、本期建空表不写业务数据。`qc` 表 C4 建。 2. **模块划分**:`src/record/`(record + item + photo + 签到/签退/离线)+ `src/abnormal/`(异常有独立生命周期 notify/handle,供 C4 质控联动)。垫付结转并入 record 模块。 3. **record 生命周期**:`serving`(签到后)→ `submitted`(签退后);`returned`/`passed` 留 C4 质控。 4. **服务器取时**:`checkin_time`/`checkout_time`/`duration_min` 一律系统取,接口不接受客户端传入(防补录时间)。`submit_time` 系统取。 @@ -31,14 +31,14 @@ C0–C2 已落地:elder(十态)、plan/plan_item、order(八态,含 no 通用:UUID v7、`tenant_code`、`@map` snake_case、utf8mb4_general_ci。record 入 SOFT_DELETE;record_item/record_photo/record_abnormal 为子表(循 ElderStatusLog/PlanItem 先例:带 tenant_code、无 deleted_at、不入 SOFT_DELETE)。 -- **record**(`ltc_record`? 否——用业务前缀):`id`、`tenant_code`、`order_id`、`elder_id`、`assignee_id`、`checkin_time`、`checkout_time`、`duration_min`、`checkin_lat`、`checkin_lng`、`locate_status`(ok/failed/denied)、`record_status`(serving/submitted)、`voice_file`、`offline_flag`、`client_md5`、`submit_time`、`actual_duration_tier`、`biz_line`(恒 ltci)、`is_prepaid`、`billable`、`source_prepaid_of`(结转来源标记)、时间戳 + `deleted_at`。索引 (tenant_code, order_id)、(tenant_code, elder_id)、(tenant_code, assignee_id, checkin_time)。 +- **record**(`ho_record`):`id`、`tenant_code`、`order_id`、`elder_id`、`assignee_id`、`checkin_time`、`checkout_time`、`duration_min`、`checkin_lat`、`checkin_lng`、`locate_status`(ok/failed/denied)、`record_status`(serving/submitted)、`voice_file`、`offline_flag`、`client_md5`、`submit_time`、`actual_duration_tier`、`biz_line`(恒 ltci)、`is_prepaid`、`billable`、`source_prepaid_of`(结转来源标记)、时间戳 + `deleted_at`。索引 (tenant_code, order_id)、(tenant_code, elder_id)、(tenant_code, assignee_id, checkin_time)。 - **record_item**:`id`、`tenant_code`、`record_id`、`svc_id`、`svc_name_snapshot`、`exec_result`(done/undo_not_done/undo_refused)、`undo_reason`、`extra_flag`、`photo_required`、`is_refused_photo`、`refuse_reason`。索引 (record_id)。 - **record_photo**:`id`、`tenant_code`、`record_id`、`svc_id`、`file_path`、`file_size`、`visible_to_family`(恒 0)、`upload_batch`、`keep_until`。索引 (record_id)。 - **record_abnormal**:`id`、`tenant_code`、`record_id`(可空,扑空时无)、`order_id`(可空,扑空时指向工单)、`elder_id`、`reporter_id`、`abnormal_type`(必选)、`abnormal_desc`、`voice_file`、`has_photo`、`notify_status`、`handle_status`、`handle_result`、`link_plan_change`。索引 (tenant_code, elder_id)、(tenant_code, notify_status)。 - **settlement**(预留空表):`id`、`tenant_code`、`settle_period`、`amount_total`、`amount_passed`、`amount_rejected`、`amount_fund`、`amount_self_pay`、`submit_date`、`pay_date`、`exception_reason`、`handle_deadline`。 - **report**(预留空表):`id`、`tenant_code`、`record_id`、`order_id`、`report_status`、`report_time`、`official_no`、`loc_code`、`nat_code_snapshot`、`adapter_result`。 -> 表前缀(定):留痕属老人服务域,循 `ltc_` 先例(`ltc_elder`/`ltc_elder_status_log`/`ltc_elder_svc`)——`ltc_record`/`ltc_record_item`/`ltc_record_photo`/`ltc_record_abnormal`;`settlement`/`report` 为二期预留,无前缀(与 PRD §7.3 一致)。 +> 表前缀(定):留痕四表前缀 `ho`(用户指定)——`ho_record`/`ho_record_item`/`ho_record_photo`/`ho_record_abnormal`;`settlement`/`report` 为二期预留,无前缀(与 PRD §7.3 一致)。 ## 接口(`@Controller('record')` / `@Controller('abnormal')`)