From 02c7189884226bfa077f979243bb037dab4bbcd7 Mon Sep 17 00:00:00 2001 From: cmz Date: Wed, 4 Sep 2024 12:38:12 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E6=95=B0=E6=8D=AE=E6=A6=82?= =?UTF-8?q?=E8=A7=88=E5=9B=BE=E8=A1=A8=E6=95=B0=E6=8D=AE=E4=B8=8D=E5=87=86?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/Admin/Metrics/Chart/ColumnCharts.php | 4 ++-- app/Admin/Metrics/Chart/FemaleColumnCharts.php | 3 +-- app/Admin/Metrics/Chart/MaleColumnCharts.php | 3 +-- app/Admin/Metrics/Examples/FemaleRegistering.php | 6 +++--- app/Admin/Metrics/Examples/MaleRegistering.php | 6 +++--- app/Admin/Metrics/Examples/ReportRate.php | 7 ++----- 6 files changed, 12 insertions(+), 17 deletions(-) diff --git a/app/Admin/Metrics/Chart/ColumnCharts.php b/app/Admin/Metrics/Chart/ColumnCharts.php index 803f6de..071a6dd 100644 --- a/app/Admin/Metrics/Chart/ColumnCharts.php +++ b/app/Admin/Metrics/Chart/ColumnCharts.php @@ -79,6 +79,7 @@ class ColumnCharts extends Chart "status" => AdmissionNewStudents::STATUS_YES, "is_new_student" => AdmissionNewStudents::IS_NEW_STUDENT_YES, ])->whereIn("speciality_id", $specialityIds)->get("idCard")->toArray(); + if(!empty($importStudents)){ $idcardList = array_column($importStudents, "idCard"); //根据身份证集取出已注册的用户 @@ -88,8 +89,7 @@ class ColumnCharts extends Chart //线下迎新有几步 $stepCount = OfflineStep::query()->where("status", OfflineStep::STATUS_YES)->count(); //检测是否存在线下报到步骤,存在则视为已到校(实际报到学生) - $completedOfflineStep = CompletedOfflineStep::query()->whereIn("unique_number", $userList)->where("annual_session", $config->data)->where("step_id",">=",$stepCount)->count(); - + $completedOfflineStep = CompletedOfflineStep::query()->where("annual_session", $config->data)->whereIn("unique_number", $userList)->distinct("unique_number")->count(); //报到率 if($completedOfflineStep == 0 || count($importStudents) == 0){ $registering = 0; diff --git a/app/Admin/Metrics/Chart/FemaleColumnCharts.php b/app/Admin/Metrics/Chart/FemaleColumnCharts.php index 26630b5..c1e7064 100644 --- a/app/Admin/Metrics/Chart/FemaleColumnCharts.php +++ b/app/Admin/Metrics/Chart/FemaleColumnCharts.php @@ -93,8 +93,7 @@ class FemaleColumnCharts extends Chart //线下迎新有几步 $stepCount = OfflineStep::query()->where("status", OfflineStep::STATUS_YES)->count(); //检测是否存在线下报到步骤,存在则视为已到校(实际报到学生) - $completedOfflineStep = CompletedOfflineStep::query()->whereIn("unique_number", $userList)->where("annual_session", $config->data)->where("step_id",">=",$stepCount)->count(); - + $completedOfflineStep = CompletedOfflineStep::query()->where("annual_session", $config->data)->whereIn("unique_number", $userList)->distinct("unique_number")->count(); $studentsNum = count($importStudents); diff --git a/app/Admin/Metrics/Chart/MaleColumnCharts.php b/app/Admin/Metrics/Chart/MaleColumnCharts.php index 3446716..ae757bc 100644 --- a/app/Admin/Metrics/Chart/MaleColumnCharts.php +++ b/app/Admin/Metrics/Chart/MaleColumnCharts.php @@ -93,8 +93,7 @@ class MaleColumnCharts extends Chart //线下迎新有几步 $stepCount = OfflineStep::query()->where("status", OfflineStep::STATUS_YES)->count(); //检测是否存在线下报到步骤,存在则视为已到校(实际报到学生) - $completedOfflineStep = CompletedOfflineStep::query()->whereIn("unique_number", $userList)->where("annual_session", $config->data)->where("step_id",">=",$stepCount)->count(); - + $completedOfflineStep = CompletedOfflineStep::query()->where("annual_session", $config->data)->whereIn("unique_number", $userList)->distinct("unique_number")->count(); $studentsNum = count($importStudents); diff --git a/app/Admin/Metrics/Examples/FemaleRegistering.php b/app/Admin/Metrics/Examples/FemaleRegistering.php index 85fe94c..816075a 100644 --- a/app/Admin/Metrics/Examples/FemaleRegistering.php +++ b/app/Admin/Metrics/Examples/FemaleRegistering.php @@ -68,11 +68,11 @@ class FemaleRegistering extends Card $userList = array_column($userList, "unique_number"); //当前年份已完成二级学院扫码的学生(实际报道人数) - $allCount = CompletedOfflineStep::query()->where([ + $number = CompletedOfflineStep::query()->where([ "annual_session" => $config->data, - ])->whereIn("unique_number", $userList)->select("unique_number")->distinct()->get()->toArray(); + ])->whereIn("unique_number", $userList)->distinct("unique_number")->count(); + - $number = count($allCount); } $studentsNum = count($importStudents); } diff --git a/app/Admin/Metrics/Examples/MaleRegistering.php b/app/Admin/Metrics/Examples/MaleRegistering.php index 510709f..b3667df 100644 --- a/app/Admin/Metrics/Examples/MaleRegistering.php +++ b/app/Admin/Metrics/Examples/MaleRegistering.php @@ -68,11 +68,11 @@ class MaleRegistering extends Card $userList = array_column($userList, "unique_number"); //当前年份已完成二级学院扫码的学生(实际报道人数) - $allCount = CompletedOfflineStep::query()->where([ + $number = CompletedOfflineStep::query()->where([ "annual_session" => $config->data, - ])->whereIn("unique_number", $userList)->select("unique_number")->distinct()->get()->toArray(); + ])->whereIn("unique_number", $userList)->distinct("unique_number")->count(); + - $number = count($allCount); } $studentsNum = count($importStudents); } diff --git a/app/Admin/Metrics/Examples/ReportRate.php b/app/Admin/Metrics/Examples/ReportRate.php index f8e1167..e78c251 100644 --- a/app/Admin/Metrics/Examples/ReportRate.php +++ b/app/Admin/Metrics/Examples/ReportRate.php @@ -48,12 +48,9 @@ class ReportRate extends Card ])->first(); //当前年份已完成二级学院扫码的学生 - $allCount = CompletedOfflineStep::query()->where([ + $number = CompletedOfflineStep::query()->where([ "annual_session" => $config->data, - ])->select("unique_number")->distinct()->get()->toArray(); - if(!empty($allCount)){ - $number = count($allCount); - } + ])->distinct("unique_number")->count(); //取出当前年份录入的学生