# 当天应该换单数逻辑调整计划 ## 问题分析 当前逻辑存在的问题: 1. 使用了`ofi.IsSuccess = 0`判断未成功,该字段是订单当前的最新状态,统计历史日期时会有问题:比如订单5月16日完成,统计5月15日的当天应该换单数时,当前IsSuccess=1会导致5月15日的统计漏单 2. 考核时间的范围判断需要修正,应该基于统计日期的时点判断订单是否还在考核周期内且未完成 ## 调整目标 统计历史日期的「当天应该换单数」时,判断规则是: > 在统计日期当天的时点: > 1. 订单标签率≥80% > 2. 考核时间包含/截止于统计当天 > 3. 订单在统计日期当天及之前没有成功扫描记录(即首次成功日期 > 统计日期 或 还没有成功日期) ## 具体调整步骤 1. 修改「当天应该换单数」的判断逻辑: - 替换`ofi.IsSuccess = 0`为`(ofi.FirstSuccessDate_UTC5 > dd.日期 OR ofi.FirstSuccessDate_UTC5 IS NULL)` - 保留`DATE(ofi.AssessmentTime) = dd.日期`(考核时间在当天) - 保留`ofi.LabelRate >= 0.8`(标签率达标) 2. 补充验证逻辑: - 同步调整明细查询SQL的对应逻辑,保证明细和汇总结果一致 - 增加历史日期的验证注释,方便用户核对数据 ## 验证方法 用户可以选取一个历史日期(比如5月15日),分别导出: 1. 汇总统计的「当天应该换单数」 2. 明细查询中所有考核时间在5月15日、且在5月15日之前没有成功记录的订单 两者count结果应该完全一致