|
|
@ -30,7 +30,7 @@ |
|
|
| 11 | createCmd customerId | ⛔ 卡 A4 | |
|
|
| 11 | createCmd customerId | ⛔ 卡 A4 | |
|
|
| 12 | 商机侧新增入口关联线索校验 | ⛔ 实质卡(建商机入口 Service 未建=依赖票 02/11 → A4) | |
|
|
| 12 | 商机侧新增入口关联线索校验 | ⛔ 实质卡(建商机入口 Service 未建=依赖票 02/11 → A4) | |
|
|
| 13 | 商机-客户关联子表 | ⚠ 部分(实体 `OpportunityCustomer`+约束已落;读写入口/下拉选客户卡 A4) | |
|
|
| 13 | 商机-客户关联子表 | ⚠ 部分(实体 `OpportunityCustomer`+约束已落;读写入口/下拉选客户卡 A4) | |
|
|
| 14 | 自定义视图 + 内置视图族 | ✅ 主体已落(底座三表 team/focus/view_log + `TeamMemberPermission` 枚举;**内置六视图**在 crm-opportunity 枚举/ViewQuery 硬编码,票 10 主体已落;**自定义视图 = crm-preference 平台能力已落**:`UserSavedView` 实体 + Mapper + `SavedView`/`SavedViewCondition` DTO + `SavedViewService` 契约 list/save/delete/setDefault + Impl(默认视图单值互斥) + Controller `/api/preference/view` + 16 单测);**剩商机侧接线尾巴**:销售机会工作区读默认视图 / 把 filter_json 条件翻译成 OpportunityPageParam 过滤(字段池 = 票 10 PageParam 可筛选列,依赖票 10 回显尾巴一起收) | |
|
|
| 14 | 自定义视图 + 内置视图族 | ✅ 已落(底座三表 team/focus/view_log + `TeamMemberPermission` 枚举;**内置六视图**在 crm-opportunity 枚举/ViewQuery 硬编码;**自定义视图 = crm-preference 平台能力**:`UserSavedView` 实体 + Mapper + `SavedView`/`SavedViewCondition` DTO + `SavedViewService` list/save/delete/setDefault + Impl(默认单值互斥) + Controller `/api/preference/view` + 16 单测;**商机侧接线已完成**:`SavedViewOperator` 六操作符枚举 + `OpportunitySavedViewFilter` 把 filter_json 条件翻译成 wrapper(字段池白名单=票10可筛选列,未知字段/操作符跳过)+ PageParam.savedViewId + ViewQueryImpl 叠加;读默认视图=前端调 /view/list 取 isDefault。144 全绿) | |
|
|
|
|
|
|
|
|
**前沿小结**:商机模块**结构层已全部落地**(主表 + 状态机 + 三族规则 + 六子表 + 视图数据源三表 team/focus/view_log)。剩余:① **票 10 查询层 + 票 14 视图组织/自定义视图 = 可独立开工的读侧大票(不卡 A4)** → 建议每票清上下文单独 `/implement`(底座表已备);② **票 02/11/12/13 读写入口 = 卡 A4 客户模块**(建商机核心逻辑需写关联客户主标记子表 customer_id),挂起等 A4。 |
|
|
**前沿小结**:商机模块**结构层已全部落地**(主表 + 状态机 + 三族规则 + 六子表 + 视图数据源三表 team/focus/view_log)。剩余:① **票 10 查询层 + 票 14 视图组织/自定义视图 = 可独立开工的读侧大票(不卡 A4)** → 建议每票清上下文单独 `/implement`(底座表已备);② **票 02/11/12/13 读写入口 = 卡 A4 客户模块**(建商机核心逻辑需写关联客户主标记子表 customer_id),挂起等 A4。 |
|
|
|
|
|
|
|
|
@ -88,7 +88,7 @@ |
|
|
|
|
|
|
|
|
<!-- in-scope fog,随前沿推进 graduate --> |
|
|
<!-- in-scope fog,随前沿推进 graduate --> |
|
|
|
|
|
|
|
|
- **自定义视图实现落地(票 14 传出)** — ✅ **crm-preference 侧已落**:`user_saved_view` 表(`UserSavedView` 实体,uk(user,scope,view_id))+ 契约 `list/save/delete/setDefault`(Impl 默认视图单值互斥 + 16 单测)+ Controller `/api/preference/view`。**剩商机侧接线尾巴**:销售机会工作区进入时读默认视图、把 `filter_json` 条件列表翻译成 `OpportunityPageParam` 过滤(可筛选列字段池 = 票 10 `OpportunityPageParam` 已实现的列)—— 与票 10 回显尾巴(字典名 / 节点名)一起收。 |
|
|
- **自定义视图实现落地(票 14 传出)** — ✅ **已全部落地**:crm-preference 侧 `user_saved_view` 表 + 契约 `list/save/delete/setDefault` + Controller `/api/preference/view` + 16 单测;商机侧 `SavedViewOperator`(六操作符)+ `OpportunitySavedViewFilter`(filter_json→wrapper,字段池白名单=票 10 `OpportunityPageParam` 可筛选列)+ `PageParam.savedViewId` + ViewQueryImpl 叠加 + 12 翻译器单测(共 144 全绿)。读默认视图 = 前端调 `/view/list` 取 isDefault 项再带 viewId 调 `/page`。spin-out(本期未做,契约已预留):多组条件 AND/OR 复合 / 高级公式 / sortField 入库级排序。 |
|
|
|
|
|
|
|
|
- **客户关联子表的形态** — 已钉死为 **票 13**(见下 Decisions);仅“下拉选客户”数据源 + 客户联系人是否本子表冗余仍挂 **A4 客户模块(未建)** 边界(票 11 占位)。 |
|
|
- **客户关联子表的形态** — 已钉死为 **票 13**(见下 Decisions);仅“下拉选客户”数据源 + 客户联系人是否本子表冗余仍挂 **A4 客户模块(未建)** 边界(票 11 占位)。 |
|
|
- **商机批量操作与统计接口** — 对称线索 G1–G5(批量领取/分配/关注、列表统计卡片)。等主表 + 四视图定稿后再切成票。 |
|
|
- **商机批量操作与统计接口** — 对称线索 G1–G5(批量领取/分配/关注、列表统计卡片)。等主表 + 四视图定稿后再切成票。 |
|
|
|