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
"status" => AdmissionNewStudents::STATUS_YES, "status" => AdmissionNewStudents::STATUS_YES,
"is_new_student" => AdmissionNewStudents::IS_NEW_STUDENT_YES, "is_new_student" => AdmissionNewStudents::IS_NEW_STUDENT_YES,
])->whereIn("speciality_id", $specialityIds)->get("idCard")->toArray(); ])->whereIn("speciality_id", $specialityIds)->get("idCard")->toArray();
if(!empty($importStudents)){ if(!empty($importStudents)){
$idcardList = array_column($importStudents, "idCard"); $idcardList = array_column($importStudents, "idCard");
//根据身份证集取出已注册的用户 //根据身份证集取出已注册的用户
@ -88,8 +89,7 @@ class ColumnCharts extends Chart
//线下迎新有几步 //线下迎新有几步
$stepCount = OfflineStep::query()->where("status", OfflineStep::STATUS_YES)->count(); $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){ if($completedOfflineStep == 0 || count($importStudents) == 0){
$registering = 0; $registering = 0;

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

@ -93,8 +93,7 @@ class FemaleColumnCharts extends Chart
//线下迎新有几步 //线下迎新有几步
$stepCount = OfflineStep::query()->where("status", OfflineStep::STATUS_YES)->count(); $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); $studentsNum = count($importStudents);

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

@ -93,8 +93,7 @@ class MaleColumnCharts extends Chart
//线下迎新有几步 //线下迎新有几步
$stepCount = OfflineStep::query()->where("status", OfflineStep::STATUS_YES)->count(); $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); $studentsNum = count($importStudents);

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

@ -68,11 +68,11 @@ class FemaleRegistering extends Card
$userList = array_column($userList, "unique_number"); $userList = array_column($userList, "unique_number");
//当前年份已完成二级学院扫码的学生(实际报道人数) //当前年份已完成二级学院扫码的学生(实际报道人数)
$allCount = CompletedOfflineStep::query()->where([ $number = CompletedOfflineStep::query()->where([
"annual_session" => $config->data, "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); $studentsNum = count($importStudents);
} }

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

@ -68,11 +68,11 @@ class MaleRegistering extends Card
$userList = array_column($userList, "unique_number"); $userList = array_column($userList, "unique_number");
//当前年份已完成二级学院扫码的学生(实际报道人数) //当前年份已完成二级学院扫码的学生(实际报道人数)
$allCount = CompletedOfflineStep::query()->where([ $number = CompletedOfflineStep::query()->where([
"annual_session" => $config->data, "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); $studentsNum = count($importStudents);
} }

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

@ -48,12 +48,9 @@ class ReportRate extends Card
])->first(); ])->first();
//当前年份已完成二级学院扫码的学生 //当前年份已完成二级学院扫码的学生
$allCount = CompletedOfflineStep::query()->where([ $number = CompletedOfflineStep::query()->where([
"annual_session" => $config->data, "annual_session" => $config->data,
])->select("unique_number")->distinct()->get()->toArray(); ])->distinct("unique_number")->count();
if(!empty($allCount)){
$number = count($allCount);
}
//取出当前年份录入的学生 //取出当前年份录入的学生

Loading…
Cancel
Save