dy-dashboard/vault/知识库/工作指南/训练记录/2026-09-18-计划预测选项筛选空值误命中修复.md
2026-10-28 11:14:17 +08:00

1.4 KiB
Raw Permalink Blame History

2026-09-18 计划预测选项筛选空值误命中修复

1. 修复计划预测「是否调拨」列筛选异常

旭东 → OpenClaw:

计划预测菜单里面的计划预测-国内品下边,是否调拨字段列筛选异常,我筛选云仓时,出来的数据还是有空的

OpenClaw 响应:

已定位并修复。

  • 现象复现:接口按「是否调拨=云仓」筛选时,返回总数 2,509 与不筛选完全相同,首页 200 行里有 187 行「是否调拨」为空。
  • 根因:列表接口的选项筛选匹配写成 v == row_val or v in row_val or row_val in v。其中反向包含 row_val in v 在单元格为空时恒为真(空字符串是任何字符串的子串),所以空值行会被任何选项命中;同理单元格为「云仓」时也会被选项「云仓和外仓」命中。
  • 修复:去掉反向包含判断,只保留「完全相等」或「单元格包含所选选项」,空值单独判为不匹配。
  • 验证:修复后筛「云仓」→ 625 行且 200 行全部为云仓、不符 0;筛「外仓」「云仓和外仓」均 0 行(当前确实没有这类数据);多选「云仓+外仓」同样只返回云仓 625 行。回归检查风险把控、销售趋势、是否新品、产品种类、波动风险等选项字段筛选,返回行全部严格匹配、不符 0。
  • 测试服务重启后 active,本机与局域网 HTTP 200,Git 提交 1c81ac0。未操作生产环境。