Files
LabelChange-server/.trae/documents/运营监控SQL调整计划.md
2026-06-01 16:30:29 +08:00

41 lines
2.3 KiB
Markdown
Raw 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.

# 运营监控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:00UTC-5
- 收货时间UTC-5是当天16:00之后考核时间为次日23:59:59UTC-5
- 标签率<80%的订单不参与24小时换单率考核
#### 2.3 时间处理规则
- 到货时间ReceiptTime本身是UTC-5不需要转换
- 其他时间LabelRetrievedAt扫描时间CreatedAt是UTC-0需要转换为UTC-5
### 步骤3SQL结构重构
1. 保留必要的CTE删除不需要的逻辑
2. 新增交接单标签率计算CTE
3. 新增考核时间计算CTE
4. 按日期维度汇总所有指标
5. 验证指标计算正确性
### 步骤4验证和优化
1. 检查所有指标计算是否符合用户定义
2. 删除所有用户未提及的指标字段
3. 优化SQL性能避免不必要的关联和计算