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(); //取出当前年份录入的学生