From 7f9f57ec1280791760fe5bf9b61032705ab8e00e Mon Sep 17 00:00:00 2001 From: xman <1946321327@qq.com> Date: Fri, 16 May 2025 15:14:30 +0800 Subject: [PATCH] sth --- application/admin/controller/statistics/Worker.php | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/application/admin/controller/statistics/Worker.php b/application/admin/controller/statistics/Worker.php index 548cf99..ca0f1ca 100644 --- a/application/admin/controller/statistics/Worker.php +++ b/application/admin/controller/statistics/Worker.php @@ -192,12 +192,13 @@ class Worker extends Backend $builder = new OrderDispatch(); $fields = [ 'worker_id', - "COUNT(*) AS dispatch_count", //分配数 - "COUNT(CASE WHEN status NOT IN (0, -10) THEN 1 END) AS get_count", //接单数 + // 使用 IFNULL 确保结果为 null 时返回 0 + "IFNULL(COUNT(*), 0) AS dispatch_count", //分配数 + "IFNULL(COUNT(CASE WHEN status NOT IN (0, -10) THEN 1 END), 0) AS get_count", //接单数 //"COUNT(CASE WHEN status IN (60) THEN 1 END) AS finish_count", //完成数 - "COUNT(CASE WHEN status NOT IN (-10) THEN 1 END) AS refuse_count", //拒绝数 - "COUNT(arrive_time) AS arrive_count", //上门数 - "AVG(CASE WHEN status = 60 AND arrive_time IS NOT NULL THEN UNIX_TIMESTAMP(arrive_time) - UNIX_TIMESTAMP(create_time) END) AS avg_time_diff", //联系时效 + "IFNULL(COUNT(CASE WHEN status NOT IN (-10) THEN 1 END), 0) AS refuse_count", //拒绝数 + "IFNULL(COUNT(arrive_time), 0) AS arrive_count", //上门数 + "IFNULL(AVG(CASE WHEN status = 60 AND arrive_time IS NOT NULL THEN UNIX_TIMESTAMP(arrive_time) - UNIX_TIMESTAMP(create_time) END), 0) AS avg_time_diff", //联系时效 ]; $builder->field($fields);