上传源代码版本

This commit is contained in:
Im-Jenisson
2026-06-01 16:30:29 +08:00
commit b2a9b7d3c2
462 changed files with 104365 additions and 0 deletions

View File

@@ -0,0 +1,40 @@
# 运营监控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性能避免不必要的关联和计算