采购管理状态筛选增加已回填 SYB 单号 #327

Open
opened 2026-09-19 15:35:35 +08:00 by ila · 2 comments
Owner

线上已发布,待验收(2026-09-19)

main及线上版本8d9c3d4;已回填SYB筛选接口验证返回CG-393。下方未发布描述为历史实施记录,最新证据见发布评论。

当前状态:已实现,待验收

实现368f2c2、文档8d9c3d4,已推送独立分支;测试通过,未合并或部署。详见完成评论。

原始需求

用户2026-09-19要求采购管理现有状态下拉框增加“已回填”,以便筛选已成功回填SYB单号的采购任务;确认“按照你的建议建工单,做”。

目标、范围与非目标

在现有状态下拉框增加“已回填 SYB”。选择后按purchase_order_writeback.status=succeeded过滤,不更改purchase_task.status,不混淆旧物流writeback_status。
仅Server采购列表查询、Web采购列表选项及对应测试/契约。无数据库迁移、权限变化、Android变更、真实回填、线上发布或数据修正。

当前事实、依赖与并行

main=f66952f,已发布#326。现有列表按purchase_task.status过滤,#305独立单号队列已有purchase_task_id唯一索引与status字段。依赖已完成#305/#326;可独立实施,无其他未满足依赖。

方案与设计证据

GET /api/admin/v1/purchase-tasks新增虚拟status筛选值syb_writeback_succeeded,仅用于查询;所有旧status含义保持不变。使用子查询/EXISTS匹配独立队列成功记录,count和分页复用同一过滤条件,可与任务号、订单号、模式等现有条件组合。没有队列、pending/running/failed/unknown/conflict均不命中;历史采购状态不同但回填成功仍命中。
Web在原“状态”el-select内增加“已回填 SYB”,不新增控件或导航。用户已确认该文字方案和现有控件复用范围;属现有界面小范围扩展,设计证据明确复用purchase-tasks/index.vue现有筛选规范,不制作新页面原型。空、加载、失败、清空、查询回第一页、权限边界全部沿用现有行为。

验收/验证

  • 成功记录可筛出,旧物流成功但单号未回填不能混入。
  • total和分页一致,不重复记录;其他查询条件继续生效。
  • 原订单已创建等状态查询及清空状态不变。
  • Server单元/handler必要验证;Web模拟浏览器选项、请求参数、清空回归;生产构建。
  • 不执行真实采购、支付或SYB写入;不更新线上,发布另行授权。

风险与回退

只读查询扩展;不将虚拟值传入任务执行状态机。回退本单提交即可,不涉及数据恢复。

文档影响

更新Android-Agent-API-Contract中的Admin列表查询契约及Business-Rules-and-Glossary的筛选语义,Wiki-first在线回读后sync/check。无部署方式变更。

实施授权及工具

本次用户指令已授权建单实施。无配置Gitea MCP,回退Gitea API,凭据来自安全配置。完成保持待验收。

## 线上已发布,待验收(2026-09-19) main及线上版本8d9c3d4;已回填SYB筛选接口验证返回CG-393。下方未发布描述为历史实施记录,最新证据见发布评论。 ## 当前状态:已实现,待验收 实现368f2c2、文档8d9c3d4,已推送独立分支;测试通过,未合并或部署。详见完成评论。 ## 原始需求 用户2026-09-19要求采购管理现有状态下拉框增加“已回填”,以便筛选已成功回填SYB单号的采购任务;确认“按照你的建议建工单,做”。 ## 目标、范围与非目标 在现有状态下拉框增加“已回填 SYB”。选择后按purchase_order_writeback.status=succeeded过滤,不更改purchase_task.status,不混淆旧物流writeback_status。 仅Server采购列表查询、Web采购列表选项及对应测试/契约。无数据库迁移、权限变化、Android变更、真实回填、线上发布或数据修正。 ## 当前事实、依赖与并行 main=f66952f,已发布#326。现有列表按purchase_task.status过滤,#305独立单号队列已有purchase_task_id唯一索引与status字段。依赖已完成#305/#326;可独立实施,无其他未满足依赖。 ## 方案与设计证据 GET /api/admin/v1/purchase-tasks新增虚拟status筛选值syb_writeback_succeeded,仅用于查询;所有旧status含义保持不变。使用子查询/EXISTS匹配独立队列成功记录,count和分页复用同一过滤条件,可与任务号、订单号、模式等现有条件组合。没有队列、pending/running/failed/unknown/conflict均不命中;历史采购状态不同但回填成功仍命中。 Web在原“状态”el-select内增加“已回填 SYB”,不新增控件或导航。用户已确认该文字方案和现有控件复用范围;属现有界面小范围扩展,设计证据明确复用purchase-tasks/index.vue现有筛选规范,不制作新页面原型。空、加载、失败、清空、查询回第一页、权限边界全部沿用现有行为。 ## 验收/验证 - 成功记录可筛出,旧物流成功但单号未回填不能混入。 - total和分页一致,不重复记录;其他查询条件继续生效。 - 原订单已创建等状态查询及清空状态不变。 - Server单元/handler必要验证;Web模拟浏览器选项、请求参数、清空回归;生产构建。 - 不执行真实采购、支付或SYB写入;不更新线上,发布另行授权。 ## 风险与回退 只读查询扩展;不将虚拟值传入任务执行状态机。回退本单提交即可,不涉及数据恢复。 ## 文档影响 更新Android-Agent-API-Contract中的Admin列表查询契约及Business-Rules-and-Glossary的筛选语义,Wiki-first在线回读后sync/check。无部署方式变更。 ## 实施授权及工具 本次用户指令已授权建单实施。无配置Gitea MCP,回退Gitea API,凭据来自安全配置。完成保持待验收。
Author
Owner

实施完成,待验收(2026-09-19)

  • 基线main=f66952f;独立分支feat/327-syb-writeback-filter,实现368f2c2、文档8d9c3d4,均已推送,工作区干净。
  • 原状态下拉框增加“已回填 SYB”,复用原有控件/查询/清空/第一页行为,不增加导航或独立组件。ui-ux-pro-max用于核对既有筛选交互与状态语义,不另创设计系统。
  • Admin列表GET的status支持查询专用值syb_writeback_succeeded;子查询匹配独立purchase_order_writeback成功记录,不进入任务状态机,不匹配旧物流writeback_status。count和分页复用相同过滤,原status和其他筛选不变。
  • go test -p 1 ./app/goauto/purchase ./app/goauto/clientapi通过;新增用例覆盖成功/非成功/无记录、物流成功误入排除、不同采购状态的成功回填、分页total、任务号/PDD单号/模式/类型/SYB关联组合、清空及空结果、虚拟值不能作为真实任务状态。首次测试数据克隆产生旧审计UUID重复,修正合成fixture后通过,未修改业务数据或生产代码规避。
  • Server go build通过;Web pnpm build:prod通过(既有CSS伪类及chunk告警)。生产构建预览运行purchase-order-writeback.spec.ts:7/7通过,新增下拉选项/请求参数/查询第一页/清空/不写入断言,原6项回归全通过;所有业务API模拟。临时9538预览已停止。
  • git diff --check通过;harness check --strict仍因main既有docs/evidence/pdd-home-35727-summary.md未登记而失败,未改无关文件。
  • Wiki在线更新及回读revision:Business-Rules-and-Glossary b6df3e2d3d497827c9f3cc5b5ec859d5bda3c1f2;Android-Agent-API-Contract 275caa306765440b0888dea701198d45481bfb40。唯一一轮sync和sync --check均通过,镜像已提交。

无数据库迁移、权限/Android变化或真实SYB写入。未合并main、未发布线上、未重启本地常驻服务。下一步需用户授权合并发布Server/Web,先Server后Web;无需APK。保持工单打开待验收。

## 实施完成,待验收(2026-09-19) - 基线main=f66952f;独立分支feat/327-syb-writeback-filter,实现368f2c2、文档8d9c3d4,均已推送,工作区干净。 - 原状态下拉框增加“已回填 SYB”,复用原有控件/查询/清空/第一页行为,不增加导航或独立组件。ui-ux-pro-max用于核对既有筛选交互与状态语义,不另创设计系统。 - Admin列表GET的status支持查询专用值syb_writeback_succeeded;子查询匹配独立purchase_order_writeback成功记录,不进入任务状态机,不匹配旧物流writeback_status。count和分页复用相同过滤,原status和其他筛选不变。 - go test -p 1 ./app/goauto/purchase ./app/goauto/clientapi通过;新增用例覆盖成功/非成功/无记录、物流成功误入排除、不同采购状态的成功回填、分页total、任务号/PDD单号/模式/类型/SYB关联组合、清空及空结果、虚拟值不能作为真实任务状态。首次测试数据克隆产生旧审计UUID重复,修正合成fixture后通过,未修改业务数据或生产代码规避。 - Server go build通过;Web pnpm build:prod通过(既有CSS伪类及chunk告警)。生产构建预览运行purchase-order-writeback.spec.ts:7/7通过,新增下拉选项/请求参数/查询第一页/清空/不写入断言,原6项回归全通过;所有业务API模拟。临时9538预览已停止。 - git diff --check通过;harness check --strict仍因main既有docs/evidence/pdd-home-35727-summary.md未登记而失败,未改无关文件。 - Wiki在线更新及回读revision:Business-Rules-and-Glossary b6df3e2d3d497827c9f3cc5b5ec859d5bda3c1f2;Android-Agent-API-Contract 275caa306765440b0888dea701198d45481bfb40。唯一一轮sync和sync --check均通过,镜像已提交。 无数据库迁移、权限/Android变化或真实SYB写入。未合并main、未发布线上、未重启本地常驻服务。下一步需用户授权合并发布Server/Web,先Server后Web;无需APK。保持工单打开待验收。
Author
Owner

用户授权合并及线上发布完成(2026-09-19)

  • main从f66952f快进至8d9c3d4并推送;从main重跑purchase/clientapi测试通过,Linux amd64 Server/Web构建通过(Web既有CSS/chunk警告保留)。工作区干净。
  • 发布目录/home/goauto/releases/20260919-8d9c3d4-327,原子切换current并重启GoAuto、校验/reload Nginx;前版/home/goauto/releases/20260919-f66952f-326保留用于回滚,继承原配置及static/var真实目录。
  • 预检及切换前采集/采购执行数0,SYB回填pending/running数0。无迁移、无任务补偿;53项迁移与定时任务启停状态保持不变。
  • Server SHA256=ad0efddbbfa3504931ac652a42082c0f9d09e99cf2de482c2e0252a3e136eeb2;Web tgz SHA256=e1444515db4bc1c9e2507e9961580b4ee466ffbb42d4b9d646e9cad073fe3e8b;远端Server哈希匹配。
  • 公网首页及10项JS/CSS均200且与本地dist逐字节一致,新采购页chunk包含syb_writeback_succeeded且哈希/字节一致;公网health=200。
  • 使用已有受控凭据只读请求线上GET /api/admin/v1/purchase-tasks?status=syb_writeback_succeeded&page=1&pageSize=20,HTTP200/业务200,total=1,返回任务为CG-393,orderWriteback.status全部succeeded。未输出订单号、金额或其他敏感数据,未执行写入或SYB回填。
  • goauto.service及nginx均active,近期panic/fatal/1146/1054日志计数0。

刷新采购管理,在状态中选择已回填SYB并查询即可。无需数据库迁移或新APK。发布复用现有运维方式,长期契约已完成Wiki同步,本次不重复同步。工单保持打开待用户验收。

## 用户授权合并及线上发布完成(2026-09-19) - main从f66952f快进至8d9c3d4并推送;从main重跑purchase/clientapi测试通过,Linux amd64 Server/Web构建通过(Web既有CSS/chunk警告保留)。工作区干净。 - 发布目录/home/goauto/releases/20260919-8d9c3d4-327,原子切换current并重启GoAuto、校验/reload Nginx;前版/home/goauto/releases/20260919-f66952f-326保留用于回滚,继承原配置及static/var真实目录。 - 预检及切换前采集/采购执行数0,SYB回填pending/running数0。无迁移、无任务补偿;53项迁移与定时任务启停状态保持不变。 - Server SHA256=ad0efddbbfa3504931ac652a42082c0f9d09e99cf2de482c2e0252a3e136eeb2;Web tgz SHA256=e1444515db4bc1c9e2507e9961580b4ee466ffbb42d4b9d646e9cad073fe3e8b;远端Server哈希匹配。 - 公网首页及10项JS/CSS均200且与本地dist逐字节一致,新采购页chunk包含syb_writeback_succeeded且哈希/字节一致;公网health=200。 - 使用已有受控凭据只读请求线上GET /api/admin/v1/purchase-tasks?status=syb_writeback_succeeded&page=1&pageSize=20,HTTP200/业务200,total=1,返回任务为CG-393,orderWriteback.status全部succeeded。未输出订单号、金额或其他敏感数据,未执行写入或SYB回填。 - goauto.service及nginx均active,近期panic/fatal/1146/1054日志计数0。 刷新采购管理,在状态中选择已回填SYB并查询即可。无需数据库迁移或新APK。发布复用现有运维方式,长期契约已完成Wiki同步,本次不重复同步。工单保持打开待用户验收。
Sign in to join this conversation.
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: OPC/goauto#327