fix endpoints
This commit is contained in:
@@ -131,4 +131,34 @@ class ExamScoreService
|
||||
|
||||
return $count;
|
||||
}
|
||||
|
||||
public function listBySchoolYear(string $table, ?string $schoolYear): array
|
||||
{
|
||||
$schoolYear = $this->term->schoolYear($schoolYear);
|
||||
$schoolYearVariants = $this->term->schoolYearVariants($schoolYear);
|
||||
if (empty($schoolYearVariants)) {
|
||||
$schoolYearVariants = [$schoolYear];
|
||||
}
|
||||
|
||||
$rows = DB::table($table . ' as ex')
|
||||
->select([
|
||||
'ex.*',
|
||||
's.firstname as student_firstname',
|
||||
's.lastname as student_lastname',
|
||||
's.school_id as student_school_id',
|
||||
])
|
||||
->leftJoin('students as s', 's.id', '=', 'ex.student_id')
|
||||
->whereIn('ex.school_year', $schoolYearVariants)
|
||||
->orderBy('ex.class_section_id')
|
||||
->orderBy('s.lastname')
|
||||
->orderBy('s.firstname')
|
||||
->get()
|
||||
->map(fn ($row) => (array) $row)
|
||||
->all();
|
||||
|
||||
return [
|
||||
'rows' => $rows,
|
||||
'schoolYear' => $schoolYear,
|
||||
];
|
||||
}
|
||||
}
|
||||
|
||||
@@ -87,6 +87,47 @@ class HomeworkScoreService
|
||||
];
|
||||
}
|
||||
|
||||
public function listBySchoolYear(?string $schoolYear): array
|
||||
{
|
||||
$schoolYear = $this->term->schoolYear($schoolYear);
|
||||
$schoolYearVariants = $this->term->schoolYearVariants($schoolYear);
|
||||
if (empty($schoolYearVariants)) {
|
||||
$schoolYearVariants = [$schoolYear];
|
||||
}
|
||||
|
||||
$rows = Homework::query()
|
||||
->select([
|
||||
'homework.id',
|
||||
'homework.student_id',
|
||||
'homework.school_id',
|
||||
'homework.class_section_id',
|
||||
'homework.updated_by',
|
||||
'homework.homework_index',
|
||||
'homework.score',
|
||||
'homework.comment',
|
||||
'homework.semester',
|
||||
'homework.school_year',
|
||||
'homework.created_at',
|
||||
'homework.updated_at',
|
||||
's.firstname as student_firstname',
|
||||
's.lastname as student_lastname',
|
||||
])
|
||||
->leftJoin('students as s', 's.id', '=', 'homework.student_id')
|
||||
->whereIn('homework.school_year', $schoolYearVariants)
|
||||
->orderBy('homework.class_section_id')
|
||||
->orderBy('s.lastname')
|
||||
->orderBy('s.firstname')
|
||||
->orderBy('homework.homework_index')
|
||||
->get()
|
||||
->map(fn ($row) => $row->toArray())
|
||||
->all();
|
||||
|
||||
return [
|
||||
'rows' => $rows,
|
||||
'schoolYear' => $schoolYear,
|
||||
];
|
||||
}
|
||||
|
||||
private function isLockedForAnySchoolYear(int $classSectionId, string $semester, array $schoolYearVariants): bool
|
||||
{
|
||||
foreach ($schoolYearVariants as $year) {
|
||||
|
||||
@@ -71,6 +71,45 @@ class ParticipationScoreService
|
||||
];
|
||||
}
|
||||
|
||||
public function listBySchoolYear(?string $schoolYear): array
|
||||
{
|
||||
$schoolYear = $this->term->schoolYear($schoolYear);
|
||||
$schoolYearVariants = $this->term->schoolYearVariants($schoolYear);
|
||||
if (empty($schoolYearVariants)) {
|
||||
$schoolYearVariants = [$schoolYear];
|
||||
}
|
||||
|
||||
$rows = Participation::query()
|
||||
->select([
|
||||
'participation.id',
|
||||
'participation.student_id',
|
||||
'participation.school_id',
|
||||
'participation.class_section_id',
|
||||
'participation.updated_by',
|
||||
'participation.score',
|
||||
'participation.comment',
|
||||
'participation.semester',
|
||||
'participation.school_year',
|
||||
'participation.created_at',
|
||||
'participation.updated_at',
|
||||
's.firstname as student_firstname',
|
||||
's.lastname as student_lastname',
|
||||
])
|
||||
->leftJoin('students as s', 's.id', '=', 'participation.student_id')
|
||||
->whereIn('participation.school_year', $schoolYearVariants)
|
||||
->orderBy('participation.class_section_id')
|
||||
->orderBy('s.lastname')
|
||||
->orderBy('s.firstname')
|
||||
->get()
|
||||
->map(fn ($row) => $row->toArray())
|
||||
->all();
|
||||
|
||||
return [
|
||||
'rows' => $rows,
|
||||
'schoolYear' => $schoolYear,
|
||||
];
|
||||
}
|
||||
|
||||
public function update(int $classSectionId, string $semester, string $schoolYear, array $scores, array $missingOk, int $updatedBy): int
|
||||
{
|
||||
if (GradingLock::isLocked($classSectionId, $semester, $schoolYear)) {
|
||||
|
||||
@@ -83,6 +83,47 @@ class ProjectScoreService
|
||||
];
|
||||
}
|
||||
|
||||
public function listBySchoolYear(?string $schoolYear): array
|
||||
{
|
||||
$schoolYear = $this->term->schoolYear($schoolYear);
|
||||
$schoolYearVariants = $this->term->schoolYearVariants($schoolYear);
|
||||
if (empty($schoolYearVariants)) {
|
||||
$schoolYearVariants = [$schoolYear];
|
||||
}
|
||||
|
||||
$rows = Project::query()
|
||||
->select([
|
||||
'project.id',
|
||||
'project.student_id',
|
||||
'project.school_id',
|
||||
'project.class_section_id',
|
||||
'project.updated_by',
|
||||
'project.project_index',
|
||||
'project.score',
|
||||
'project.comment',
|
||||
'project.semester',
|
||||
'project.school_year',
|
||||
'project.created_at',
|
||||
'project.updated_at',
|
||||
's.firstname as student_firstname',
|
||||
's.lastname as student_lastname',
|
||||
])
|
||||
->leftJoin('students as s', 's.id', '=', 'project.student_id')
|
||||
->whereIn('project.school_year', $schoolYearVariants)
|
||||
->orderBy('project.class_section_id')
|
||||
->orderBy('s.lastname')
|
||||
->orderBy('s.firstname')
|
||||
->orderBy('project.project_index')
|
||||
->get()
|
||||
->map(fn ($row) => $row->toArray())
|
||||
->all();
|
||||
|
||||
return [
|
||||
'rows' => $rows,
|
||||
'schoolYear' => $schoolYear,
|
||||
];
|
||||
}
|
||||
|
||||
public function update(int $classSectionId, string $semester, string $schoolYear, array $scores, array $missingOk, int $updatedBy): int
|
||||
{
|
||||
if (GradingLock::isLocked($classSectionId, $semester, $schoolYear)) {
|
||||
|
||||
@@ -82,6 +82,47 @@ class QuizScoreService
|
||||
];
|
||||
}
|
||||
|
||||
public function listBySchoolYear(?string $schoolYear): array
|
||||
{
|
||||
$schoolYear = $this->term->schoolYear($schoolYear);
|
||||
$schoolYearVariants = $this->term->schoolYearVariants($schoolYear);
|
||||
if (empty($schoolYearVariants)) {
|
||||
$schoolYearVariants = [$schoolYear];
|
||||
}
|
||||
|
||||
$rows = Quiz::query()
|
||||
->select([
|
||||
'quiz.id',
|
||||
'quiz.student_id',
|
||||
'quiz.school_id',
|
||||
'quiz.class_section_id',
|
||||
'quiz.updated_by',
|
||||
'quiz.quiz_index',
|
||||
'quiz.score',
|
||||
'quiz.comment',
|
||||
'quiz.semester',
|
||||
'quiz.school_year',
|
||||
'quiz.created_at',
|
||||
'quiz.updated_at',
|
||||
's.firstname as student_firstname',
|
||||
's.lastname as student_lastname',
|
||||
])
|
||||
->leftJoin('students as s', 's.id', '=', 'quiz.student_id')
|
||||
->whereIn('quiz.school_year', $schoolYearVariants)
|
||||
->orderBy('quiz.class_section_id')
|
||||
->orderBy('s.lastname')
|
||||
->orderBy('s.firstname')
|
||||
->orderBy('quiz.quiz_index')
|
||||
->get()
|
||||
->map(fn ($row) => $row->toArray())
|
||||
->all();
|
||||
|
||||
return [
|
||||
'rows' => $rows,
|
||||
'schoolYear' => $schoolYear,
|
||||
];
|
||||
}
|
||||
|
||||
public function update(int $classSectionId, string $semester, string $schoolYear, array $scores, array $missingOk, int $updatedBy): int
|
||||
{
|
||||
if (GradingLock::isLocked($classSectionId, $semester, $schoolYear)) {
|
||||
|
||||
Reference in New Issue
Block a user