# 运营监控SQL调整计划
## 需求概述
根据用户提供的新指标定义，调整现有运营监控SQL的计算逻辑，删除未提及的指标，实现正确的指标统计。
## 实施步骤
### 步骤1：明确需要保留的指标清单
用户明确要求保留的指标：
1. 日期
2. 当天新增换单数：到仓时间是当天的交接单中有标签的总订单数
3. 累计要换的总单数：历史上所有有标签但是没有扫描完成记录的订单（不含当天新增）
4. 当天应该换单数：标签率≥80%且到仓时间是当天的订单总数
5. 当日换单完成数：扫描完成时间是当日的订单总数
6. 当日STOP数：扫描结果成功且描述包含"成功返回STOP标签"的订单数
7. 当日标签推送数：标签推送时间是当天的订单数
8. 当天换单完成率：当日换单完成数 / 当天应该换单数
9. 24小时换单率：标签率≥80%的订单中在考核时间内扫描成功的订单 / 标签率≥80%的订单
10. 数据拉取时间（UTC_5）：查询数据的时间
### 步骤2：核心逻辑设计
#### 2.1 交接单标签率计算逻辑
- 对每个交接单，先查找首次扫描记录时间（所有关联订单的最早扫描时间）
- 标签率计算：
  - 如果有首次扫描时间：扫描时间 > 标签推送时间的有标签订单数 / 交接单关联的总订单数（有标签+无标签）
  - 如果没有首次扫描时间：当前有标签订单数 / 交接单关联的总订单数
#### 2.2 考核时间计算逻辑
仅针对标签率≥80%且有标签的订单：
- 收货时间（UTC-5）是当天16:00之前：考核时间为次日16:00（UTC-5）
- 收货时间（UTC-5）是当天16:00之后：考核时间为次日23:59:59（UTC-5）
- 标签率<80%的订单不参与24小时换单率考核
#### 2.3 时间处理规则
- 到货时间ReceiptTime本身是UTC-5，不需要转换
- 其他时间（LabelRetrievedAt、扫描时间CreatedAt）是UTC-0，需要转换为UTC-5
### 步骤3：SQL结构重构
1. 保留必要的CTE，删除不需要的逻辑
2. 新增交接单标签率计算CTE
3. 新增考核时间计算CTE
4. 按日期维度汇总所有指标
5. 验证指标计算正确性
### 步骤4：验证和优化
1. 检查所有指标计算是否符合用户定义
2. 删除所有用户未提及的指标字段
3. 优化SQL性能，避免不必要的关联和计算
