Browse Source

修复数据概览图表数据不准问题

master
崔茂正 10 months ago
parent
commit
02c7189884
  1. 4
      app/Admin/Metrics/Chart/ColumnCharts.php
  2. 3
      app/Admin/Metrics/Chart/FemaleColumnCharts.php
  3. 3
      app/Admin/Metrics/Chart/MaleColumnCharts.php
  4. 6
      app/Admin/Metrics/Examples/FemaleRegistering.php
  5. 6
      app/Admin/Metrics/Examples/MaleRegistering.php
  6. 7
      app/Admin/Metrics/Examples/ReportRate.php

4
app/Admin/Metrics/Chart/ColumnCharts.php

@ -79,6 +79,7 @@ class ColumnCharts extends Chart @@ -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 @@ -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;

3
app/Admin/Metrics/Chart/FemaleColumnCharts.php

@ -93,8 +93,7 @@ class FemaleColumnCharts extends Chart @@ -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);

3
app/Admin/Metrics/Chart/MaleColumnCharts.php

@ -93,8 +93,7 @@ class MaleColumnCharts extends Chart @@ -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);

6
app/Admin/Metrics/Examples/FemaleRegistering.php

@ -68,11 +68,11 @@ class FemaleRegistering extends Card @@ -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);
}

6
app/Admin/Metrics/Examples/MaleRegistering.php

@ -68,11 +68,11 @@ class MaleRegistering extends Card @@ -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);
}

7
app/Admin/Metrics/Examples/ReportRate.php

@ -48,12 +48,9 @@ class ReportRate extends Card @@ -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();
//取出当前年份录入的学生

Loading…
Cancel
Save