上传源代码版本
This commit is contained in:
61
.trae/documents/运营指标逻辑调整计划.md
Normal file
61
.trae/documents/运营指标逻辑调整计划.md
Normal file
@@ -0,0 +1,61 @@
|
||||
# 运营指标逻辑调整计划
|
||||
## 修改前提
|
||||
保留原`最新运营监控.sql`文件不变,所有修改在新文件`最新运营监控_优化版.sql`中实现
|
||||
## 具体修改内容
|
||||
| 指标名称 | 原逻辑 | 新逻辑 |
|
||||
|---------|--------|--------|
|
||||
| 累计要换的总单数 | 有标签,标签推送时间<=统计日期,创建时间<=统计日期,且统计日当天未完成换单的不重复订单总数 | 有标签、未完成换单、且有交接单号的订单总数 |
|
||||
| 当天应该换单数 | 有考核时间、考核基准日期/考核截止日期是当天,且换单完成时间<=统计日期的订单 | 到仓时间是当天、标签率≥80%、且没有完成扫描的订单(完全和考核时间无关) |
|
||||
| 当日换单完成数 | 统计日期内所有扫描成功的去重订单数(包含STOP标签) | 统计日期内扫描成功且**不是STOP标签**的去重订单数(去除STOP数部分) |
|
||||
| 24小时换单成功数 | 当天应该换单数中、首次成功时间在考核基准时间与考核时间之间、且完成时间是当天的订单数(考核基准/截止日期是当天) | 完成考核(首次成功时间在考核基准与考核时间之间)、且考核截止时间是当天的订单数(仅看考核截止日期是当天,不看基准日期) |
|
||||
## 实施步骤
|
||||
### 步骤1:创建新SQL文件
|
||||
复制`最新运营监控.sql`内容到新文件`d:\EPproject\LabelReplaceServer\最新运营监控_优化版.sql`,保留原文件不变
|
||||
### 步骤2:修改累计要换的总单数逻辑
|
||||
```sql
|
||||
-- 修改为:有标签、未完成换单、且有交接单号的订单总数
|
||||
COUNT(DISTINCT CASE
|
||||
WHEN ofi.HasLabel = 1
|
||||
AND ofi.IsSuccess = 0
|
||||
AND ofi.FormId IS NOT NULL -- 有交接单号
|
||||
THEN ofi.RequestId
|
||||
END) AS 累计要换的总单数
|
||||
```
|
||||
### 步骤3:修改当天应该换单数逻辑
|
||||
移除考核时间相关判断,改为:
|
||||
```sql
|
||||
-- 修改为:到仓时间是当天、标签率≥80%、且没有完成扫描的订单
|
||||
COUNT(DISTINCT CASE
|
||||
WHEN ofi.ReceiptDate = dd.日期
|
||||
AND ofi.LabelRate >= 0.8
|
||||
AND ofi.IsSuccess = 0
|
||||
THEN ofi.RequestId
|
||||
END) AS 当天应该换单数
|
||||
```
|
||||
### 步骤4:修改当日换单完成数统计逻辑
|
||||
在`DailySuccessCount` CTE中添加排除STOP标签的条件:
|
||||
```sql
|
||||
DailySuccessCount AS (
|
||||
SELECT
|
||||
DATE(CONVERT_TZ(CreatedAt, '+00:00', '-05:00')) AS 日期,
|
||||
COUNT(DISTINCT NeutralWaybillNumber) AS 当日换单完成数
|
||||
FROM label_scan_history
|
||||
WHERE Result = 0
|
||||
AND Description NOT LIKE '%成功返回STOP标签%' -- 排除STOP标签
|
||||
GROUP BY DATE(CONVERT_TZ(CreatedAt, '+00:00', '-05:00'))
|
||||
)
|
||||
```
|
||||
### 步骤5:修改24小时换单成功数逻辑
|
||||
仅保留考核截止日期是当天的判断:
|
||||
```sql
|
||||
-- 修改为:完成考核、且考核时间(截止时间)是当天的订单数
|
||||
COUNT(DISTINCT CASE
|
||||
WHEN ofi.AssessmentTime IS NOT NULL
|
||||
AND DATE(ofi.AssessmentTime) = dd.日期 -- 仅考核截止日期是当天
|
||||
AND ofi.IsCompletedInAssessment = 1
|
||||
AND ofi.FirstSuccessDate_UTC5 = dd.日期
|
||||
THEN ofi.RequestId
|
||||
END) AS 24H完成数
|
||||
```
|
||||
### 步骤6:验证数据一致性
|
||||
确保修改后的SQL逻辑完全符合要求,没有多余的条件判断,统计结果准确。
|
||||
Reference in New Issue
Block a user