Files
LabelChange-server/.trae/documents/运营指标逻辑调整计划.md
2026-06-01 16:30:29 +08:00

3.2 KiB
Raw Blame History

运营指标逻辑调整计划

修改前提

保留原最新运营监控.sql文件不变,所有修改在新文件最新运营监控_优化版.sql中实现

具体修改内容

指标名称 原逻辑 新逻辑
累计要换的总单数 有标签,标签推送时间<=统计日期,创建时间<=统计日期,且统计日当天未完成换单的不重复订单总数 有标签、未完成换单、且有交接单号的订单总数
当天应该换单数 有考核时间、考核基准日期/考核截止日期是当天,且换单完成时间<=统计日期的订单 到仓时间是当天、标签率≥80%、且没有完成扫描的订单(完全和考核时间无关)
当日换单完成数 统计日期内所有扫描成功的去重订单数包含STOP标签 统计日期内扫描成功且不是STOP标签的去重订单数去除STOP数部分
24小时换单成功数 当天应该换单数中、首次成功时间在考核基准时间与考核时间之间、且完成时间是当天的订单数(考核基准/截止日期是当天) 完成考核(首次成功时间在考核基准与考核时间之间)、且考核截止时间是当天的订单数(仅看考核截止日期是当天,不看基准日期)

实施步骤

步骤1创建新SQL文件

复制最新运营监控.sql内容到新文件d:\EPproject\LabelReplaceServer\最新运营监控_优化版.sql,保留原文件不变

步骤2修改累计要换的总单数逻辑

-- 修改为:有标签、未完成换单、且有交接单号的订单总数
COUNT(DISTINCT CASE 
    WHEN ofi.HasLabel = 1 
        AND ofi.IsSuccess = 0
        AND ofi.FormId IS NOT NULL -- 有交接单号
    THEN ofi.RequestId 
END) AS 累计要换的总单数

步骤3修改当天应该换单数逻辑

移除考核时间相关判断,改为:

-- 修改为到仓时间是当天、标签率≥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标签的条件

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小时换单成功数逻辑

仅保留考核截止日期是当天的判断:

-- 修改为:完成考核、且考核时间(截止时间)是当天的订单数
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逻辑完全符合要求没有多余的条件判断统计结果准确。