# 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`。未操作生产环境。