# S09 · 重复报修现场确认与单人跟进

状态：**业务评审草案 v0.3 / draft**。更新日期：2026-10-15。
依据：本轮用户明确两类处理；原 PRD 5.5、C-01/C-18/A3/R03 中相冲突的多人汇总方案待同步。
依赖：S07 正常任务流程、S08 简单金额确认、S03 后台任务操作权限。

## 问题与目标

多人报修可能是同一个故障，也可能完全不同。不同问题各自处理；同一问题由师傅到场核实后问清谁继续跟进，只保留该报修人的任务并对接此人，其他重复任务从后台关闭，原始记录不丢失。

## 使用者与需求

- 维修师傅：到场确认是否同一问题；问清哪个报修人愿意继续跟进，并记录保留任务。
- 继续跟进的报修人：作为保留任务的唯一对接用户，正常处理、报价答复、最终点完成。
- 有权后台操作人员：关闭明确选中的重复任务并留关闭原因，维护保留任务与负责人；可以由已有相应权限的师傅兼任，不增加审核链。
- 其他报修人：查看自己任务的重复关闭说明，不需要再确认同一问题的结果。

## 一期范围

1. 师傅现场判断“同一个问题 / 不同问题”。系统不替师傅自动判断和关闭。
2. 不同问题保持各自任务，正常走 S07/S08。
3. 同一问题现场询问一个报修人继续跟进，保留此人的原任务。
4. 其余重复任务在后台关闭并记录“重复问题，已保留一条任务继续处理”；留存原描述、照片、时间、操作及原费用记录。
5. 保留任务复用正常流程，不再做多人结果汇总、全员确认或共同报价确认。

## 业务规则与确认状态

- **本轮用户确认**：不是同一个问题就分别走正常流程，不因相同房号/类别/时间自动合并或关闭。
- **本轮用户确认**：同一问题由师傅到场确认；不能把系统的“疑似重复”提示当成已确认结论。
- **本轮用户确认**：现场问“谁继续跟下去”，选定一位报修人后只对接此人。系统记录对应账号与保留的原任务，不要求所有人投票或逐人在线确认。
- **本轮用户确认**：其他人开启的重复任务从后台关闭；保留任务仍继续处理，不因为关闭其他任务而被一起关闭。
- **沿用权限边界**：后台关闭复用已有公司/小区及任务动作权限；不能把现场判断扩展为所有师傅可任意强制结束任何任务。操作入口实现不增加独立审批环节。
- **正常报价衔接**：报价、改价、同意/不同意和最终完成只由保留任务的报修人按 S08 处理。其他人不用再确认，不把他们原任务的金额同意复制给这个人。
- **记录与统计**：其他任务的结束原因是“重复关闭”，不是“维修已完成”或“该住户确认解决”。提交记录和费用历史保留，可追溯到保留任务；关闭不物理删除原记录。
- **隐私边界**：其他住户能看本人重复关闭说明，不因此获得保留任务的联系人、私人描述、报价金额或照片权限；S12 公共进度公示已延期，一期不增加此公开进度功能。

## 操作前提与业务对象

- 本次有多条尚未结束的独立报修任务可供核对；师傅实际到场确认同一故障。已结束历史不覆盖原结束原因，不作为本次待关闭对象。
- 对接人从这些报修人中询问选定，保留其原任务，使该任务提交账号与 S08 金额答复账号一致；不改写他人的历史提交人。
- 后台记录保留任务、明确重复任务清单、现场结论/对接人及关闭操作者/原因。保留任务由继续跟进的师傅负责；已有负责人安排仍复用 S07，不新增移交审批。

## 用户主流程

| 步骤 | 谁 | 操作 | 结果 |
|---|---|---|---|
| S09-M01 | 多名住户 | 各自提交问题 | 原任务独立存在，记录描述、照片和提交时间 |
| S09-M02 | 维修师傅 | 到场核对是不是同一个问题 | 不同问题保持独立处理；相同问题进入单人跟进安排 |
| S09-M03 | 维修师傅与报修人 | 现场询问谁继续跟进，并记录选定人 | 确定该人的原任务作为保留任务；不需要全员在线确认 |
| S09-M04 | 有权后台操作人员 | 按现场结论关闭明确选中的其余重复任务 | 记录重复关闭原因、操作者和保留任务；原提交/费用记录不删除 |
| S09-M05 | 维修师傅 | 只对接选定人，继续保留任务 | 保留任务保持其实际处理状态，不因其他任务关闭而结束 |
| S09-M06 | 师傅与选定报修人 | 按 S08 发金额、答复与改价确认 | 只发给保留任务的报修人；同意继续，不同意保持处理中 |
| S09-M07 | 选定报修人 | 保留任务维修完成后点击完成 | 仅保留任务按正常结果结束；其他任务早先重复关闭不被改成确认解决 |

## 异常与分支处理

| 编号 | 情况 | 处理结果 | 后续 |
|---|---|---|---|
| S09-E01 | 到场发现不是同一个问题 | 不关闭为重复，不串任务或报价 | 各任务分别正常受理/处理/完成 |
| S09-E02 | 现场还没选定谁继续对接 | 不能先把所有报修任务都关闭 | 师傅或物业先问清、记录保留任务再处理重复关闭 |
| S09-E03 | 其他任务已派人、发报价或发生作业 | 历史安排、报价答复和作业记录保留，不自动复制费用同意 | 后台按已有管理能力协调，保留任务只由自己的报修人按当前金额答复 |
| S09-E04 | 误把不同问题关闭成重复 | 物业核对后更正，恢复独立处理；保留原重复关闭及纠正记录 | 不新增复杂关联解除向导，也不删原提交 |
| S09-E05 | 选定人之后无法继续跟进 | 由师傅/物业重新问清谁跟进并留记录，不能靠系统默认换人或代同意 | 后续涉及更换保留任务及既有费用时，按本人任务和当前权限核对 |
| S09-E06 | 无相应后台关闭权限或重复提交同次关闭 | 越权不执行；同次重复操作不产生多次关闭、不误关保留任务 | 由已有权限者办理或返回实际结果 |

## 待确认与实现边界

本轮已确定两类处理、到场判断、询问一个报修人继续、后台关闭其他任务和单人正常跟进。旧多人汇总 A/B、全员结果确认、多人报价角色不再是一期开通前置。

S09-D04：选定人后来退出/换人时，保留哪条原任务、已有收费如何对齐，留待异常处理细化；不阻塞本轮已明确的正常现场留单流程，也不默认给新人继承旧同意。

后台具体按钮及关闭动作由现有工单管理入口承载；现场事实由师傅确认，不建立第二套物业审核流程。

## 验收标准与完成条件

| 编号 | 给定 | 当 | 则 |
|---|---|---|---|
| S09-AC01 | A/B/C 的报修实际为三个不同问题 | 师傅到场判断 | 各任务分别正常处理，不关闭成重复，也不共用一个人的报价同意 |
| S09-AC02 | A/B/C 报同一问题，现场选定 B 跟进 | 后台按现场结论处理 | 保留 B 原任务，A/C 重复关闭；提交人、原材料与时间不丢失 |
| S09-AC03 | B 保留、A/C 已重复关闭 | 师傅发送 200，再改 300 | 只向 B 请求同意；B 同意后覆盖金额并留痕，不要求 A/C 答复 |
| S09-AC04 | B 保留任务维修完成 | B 点击完成 | B 任务按正常流程结束；A/C 的结束原因仍为重复关闭，不改为已确认解决 |
| S09-AC05 | 未选定人和保留任务 | 尝试关闭所有报修 | 不能把全部都关闭而留下无人继续跟进的故障 |
| S09-AC06 | A 有自己的描述/私人照片/旧报价 | A 作为重复任务被关闭后查看 | 本人提交与原记录仍可查询关闭说明；不能据此访问 B 私密报价/照片 |
| S09-AC07 | 三条提交，两条重复关闭，一条仍处理中 | 查询完成/解决统计 | 重复关闭数量为 2，不能计为解决 2 个问题；保留任务尚未确认完成，不计已解决 |
| S09-AC08 | 同次重复关闭已执行 | 再次执行同次操作 | A/C 保持实际关闭结果，B 不受影响，不生成重复关闭记录 |
| S09-AC09 | 发现某重复关闭实际上是另一个问题 | 物业在后台纠正 | 原任务恢复独立处理，原关闭及更正记录保留，不复制 B 的金额同意 |

### 本 spec 完成的判断

- 不同问题各自正常处理；相同问题由到场师傅确认并问清一个跟进人。
- 后台仅关闭明确的其他重复任务，保留原材料、费用与关闭记录；保留任务独立继续。
- 选定人的报价与完成沿用 S07/S08，其他人无需参与确认。
- 关闭原因和统计区分“重复关闭”与“实际解决”，不因去掉多人确认而泄露他人的私密信息。

## 不在本 spec 内

- 系统自动判断重复、最早提交者自动成为对接人。
- 全员投票、多人各自确认结果、任一关注者阻断任务完成。
- 四层原始报修/共用执行任务/处理轮次/每人确认的专门产品流程。
- 把其他重复任务正常关闭当作各人确认解决，或直接删除原报修与费用历史。
- 重复投诉采用本规则；投诉仍按 S10 各自诉求和回复处理。

## 后续开发切片建议

1. 三个不同问题分别按正常流程处理。
2. 三条同故障任务现场选 B 留单，后台关闭 A/C，B 独立报价、改价和完成。
3. 核对历史/隐私、重复关闭统计及误判纠正。

## 技术设计边界

保存保留任务与重复关闭任务的关联、现场对接人及关闭原因即可；不新增多人结果汇总引擎。原任务 ID/提交人及时间线保持可追溯。

目录与覆盖：[00-拆分总览.md](../specs/00-拆分总览.md)、[16-决策与覆盖矩阵.md](../specs/16-决策与覆盖矩阵.md)、[17-规格完整性检查.md](../specs/17-规格完整性检查.md)。
