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