fix(pendidikan): perbaiki jumlahPengajar & jumlahSiswa per jenjang di stats

- Fix sintaks _count.select: gabungkan siswa & pengajar dalam satu object select
- Tambah jumlahPengajar per jenjang via reduce _count.pengajar
- Update type PerJenjang di stats.ts & ringkasan-pendidikan.ts
- Tambah tasks ke tasks-sample.csv

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-05-07 12:34:20 +08:00
parent 9e213ade8e
commit 27a42f7ff0
4 changed files with 18 additions and 13 deletions

View File

@@ -1,6 +1,6 @@
import { proxy } from "valtio";
type PerJenjang = { nama: string; jumlahSiswa: number };
type PerJenjang = { nama: string; jumlahSiswa: number; jumlahPengajar: number };
type StatsPendidikan = {
perJenjang: PerJenjang[];

View File

@@ -1,6 +1,6 @@
import prisma from "@/lib/prisma";
type PerJenjang = { nama: string; jumlahSiswa: number };
type PerJenjang = { nama: string; jumlahSiswa: number, jumlahPengajar: number };
type StatsResult = {
perJenjang: PerJenjang[];
@@ -21,7 +21,7 @@ export default async function pendidikanRingkasanStats(): Promise<{
lembagas: {
where: { isActive: true },
include: {
_count: { select: { siswa: { where: { isActive: true } } } },
_count: { select: { siswa: { where: { isActive: true } }, pengajar: { where: { isActive: true } } } },
},
},
},
@@ -33,6 +33,7 @@ export default async function pendidikanRingkasanStats(): Promise<{
const perJenjang = jenjangList.map((j) => ({
nama: j.nama,
jumlahSiswa: j.lembagas.reduce((acc, l) => acc + l._count.siswa, 0),
jumlahPengajar: j.lembagas.reduce((acc, l) => acc + l._count.pengajar, 0),
}));
return {