8a2af9135f
Co-authored-by: multica-agent <github@multica.ai>
7.6 KiB
7.6 KiB
Work Log - 线路管理新建线路表单去掉塔型/状态(2026-06-07)
-
背景:
- Issue
FL-8要求调整/admin/power-lines新建线路表单,去掉“塔型”“状态”表单项,并删除对应字段契约。 - 代码排查确认影响不仅在前端表单,还包括线路公开 schema、线路列表筛选、线路卡片展示,以及 CSV 导入导出的线路元数据字段。
- 仓库当前无显式 Alembic 迁移链路,因此本次不直接做数据库删列迁移,优先收口前后端公开契约与页面行为。
- Issue
-
本次改动:
web/src/app/admin/power-lines/page.tsx- 删除线路表单中的
tower_shape、status字段。 - 删除线路列表状态筛选、线路卡片状态 Tag、线路卡片塔形展示。
- 调整创建/更新请求体,仅提交
code、name、voltage_kv。
- 删除线路表单中的
web/src/types/auth.ts- 删除
LineStatus类型与LineSummary中的tower_shape、status字段。
- 删除
api/app/schemas/line.py- 删除
LineSummary、LineCreateRequest、LineUpdateRequest中的tower_shape、status字段。
- 删除
api/app/api/v1/lines.py- 删除线路列表接口的
status查询参数。
- 删除线路列表接口的
api/app/services/line_service.py- 删除线路序列化输出中的
tower_shape、status。 - 删除线路列表状态筛选逻辑。
- 删除创建/更新线路时对
tower_shape、status的公开读写。 - 删除杆塔 CSV 导出中的“塔形”列,以及 CSV 导入元数据对“塔形”的回填。
- 删除线路序列化输出中的
api/tests/test_line_contract.py- 新增 AST 级最小回归测试,校验线路公开 schema/接口/CSV 导出头中不再暴露上述字段。
-
验证:
python3 -m unittest api/tests/test_line_contract.py通过。npm --workspace web run lint -- src/app/admin/power-lines/page.tsx仍失败,但失败项与修改前一致:react-hooks/set-state-in-effect2 处react-hooks/exhaustive-depswarning 4 处- 本次未新增新的 lint 问题。
-
风险与关注点:
power_line表中的tower_shape/status数据列仍保留为兼容字段,避免在缺少迁移链路时影响现网插入;当前仅前后端公开契约不再读写/展示这两个字段。
Work Log - 线路管理新建线路优化(2026-06-07)
-
背景:
- Issue
FL-10要求优化/admin/power-lines的新建线路弹窗:- 去掉“线路编码将由系统自动生成”提示;
- 将“电压等级”改为必填。
- 代码排查确认目标仅命中前端页面
web/src/app/admin/power-lines/page.tsx;后端线路接口当前仍保留voltage_kv可空兼容,未在本次需求内扩展为全链路契约变更。
- Issue
-
本次改动:
web/src/app/admin/power-lines/page.tsx- 删除新建线路弹窗顶部“线路编码将由系统自动生成”提示。
- 为“电压等级”增加 AntD 表单必填规则,错误文案为“请选择电压等级”。
- 去掉电压等级下拉的
allowClear,避免用户主动清空后提交空值。
-
验证:
- 执行
npm_config_cache=/tmp/npm-cache npm ci,补齐web依赖。 - 执行
npm_config_cache=/tmp/npm-cache npx eslint web/src/app/admin/power-lines/page.tsx:- 无新增 error;
- 仍有 4 条既有
react-hooks/exhaustive-depswarning,与本次改动无关。
- 执行
-
风险与关注点:
- 当前“电压等级必填”仅收口在前端新建/编辑弹窗;若后续还有其他外部写入入口,需要单独评估是否同步收紧后端
LineCreateRequest校验。
- 当前“电压等级必填”仅收口在前端新建/编辑弹窗;若后续还有其他外部写入入口,需要单独评估是否同步收紧后端
Work Log - 去掉线路管理页左侧提示文案(2026-06-07)
-
背景:
- Issue
FL-12要求去掉/admin/power-lines页面左侧卡片里的说明文案“左侧选择线路,右侧查看线路分布图或塔杆列表。”。 - 文案全局检索只命中
web/src/app/admin/power-lines/page.tsx一处,未发现接口、类型或其他页面联动影响。
- Issue
-
本次改动:
web/src/app/admin/power-lines/page.tsx- 删除线路管理左侧卡片顶部的提示文案,仅保留筛选输入框和线路列表。
-
验证:
- 基线:
npm --workspace web run lint -- src/app/admin/power-lines/page.tsx通过。 - 修改后:
npm --workspace web run lint -- src/app/admin/power-lines/page.tsx通过。
- 基线:
-
风险与关注点:
- 本次仅调整前端展示文案,不涉及页面交互、数据请求或接口契约。
Work Log - 迁移故障复现工具(2026-06-07)
-
背景:
- Issue
FL-18要求把源端/home/ck/fl-knowledge/LP/Form7_GuZhangFuXian.cs与LP/FuXian.cs的“故障复现”能力迁入fquiz。 - 源端工具是一个独立分析器:上传基础数据文件后,按波形、类型和耐雷水平做复现计算,并返回最可能的波头/波尾组合。
- 目标仓库现有
fl-analysis聚焦任务化风险评估,不适合硬塞入同一任务模型;因此本次采用独立无状态工具页 + 上传接口的最小闭环接入。
- Issue
-
本次改动:
- 后端
api/app/services/fault_recurrence_service.py- 纯 Python 迁移
FuXian核心逻辑:文件解码、源端分段文本/普通 CSV 双格式解析、2.6/50 基准点判断、按同波头分组插值、KDE 概率密度比选。
- 纯 Python 迁移
api/app/schemas/fault_recurrence.py- 新增故障复现结果 schema,统一前端契约。
api/app/api/v1/fault_recurrence.py- 新增
POST /api/v1/fault-recurrence/analyze,接收multipart/form-data上传并返回结构化结果。
- 新增
api/app/api/router.py- 注册故障复现路由。
api/app/services/seed_service.py- 新增默认菜单
admin.fault_recurrence,路径/admin/fault-recurrence,并加入 admin 默认菜单绑定。
- 新增默认菜单
api/app/services/legacy_authz_service.py- 补 legacy 权限映射与 synthetic menu,兼容旧菜单表场景。
api/app/services/legacy_admin_rbac_service.py- 将
admin.fault_recurrence加入受保护菜单集合。
- 将
- 前端
web/src/app/admin/fault-recurrence/page.tsx- 新增独立 admin 工具页,支持选择基础数据文件、配置波形/类型/耐雷水平、执行复现、展示结构化结果与基础数据表格预览。
web/src/types/auth.ts- 新增故障复现前端类型定义。
- 测试
api/tests/test_fault_recurrence_service.py- 新增纯 Python 服务测试,覆盖分段文本解析、
No need!分支、插值结果与缺基准点 warning。
- 新增纯 Python 服务测试,覆盖分段文本解析、
api/tests/test_fault_recurrence_contract.py- 新增 AST 契约测试,覆盖 router 注册与菜单/权限落点。
- 后端
-
验证:
- 基线:
python3 -m unittest tests.test_line_contract通过。
- 迁移后:
python3 -m unittest tests.test_fault_recurrence_service tests.test_fault_recurrence_contract通过。python3 -m unittest tests.test_line_contract通过。npm --workspace web run lint -- src/app/admin/fault-recurrence/page.tsx通过。npm --workspace web exec tsc --noEmit通过。npm --workspace web run build未完成,进程被环境以code 137杀掉;构建日志未给出新增代码级报错,更像资源限制。
- 基线:
-
风险与关注点:
- 当前工具仍是“上传文件即时计算”模式,未与现有线路台账做持久化绑定;若后续需要从已导入线路直接发起故障复现,需要再评估与
line/tower profile的联动入口。 - 前端完整
next build在当前执行环境被SIGKILL/137中断,虽然 lint 与tsc --noEmit已通过,但仍需在资源更充足的 CI/部署环境再确认一次全量构建。
- 当前工具仍是“上传文件即时计算”模式,未与现有线路台账做持久化绑定;若后续需要从已导入线路直接发起故障复现,需要再评估与