Files
LabelChange-server/.trae/documents/当天应该换单数逻辑调整计划.md
2026-06-01 16:30:29 +08:00

30 lines
1.5 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 当天应该换单数逻辑调整计划
## 问题分析
当前逻辑存在的问题:
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结果应该完全一致