diff --git a/app/Models/Dataset/DatasetTable32.php b/app/Models/Dataset/DatasetTable32.php
index b5b47c5..37b027d 100644
--- a/app/Models/Dataset/DatasetTable32.php
+++ b/app/Models/Dataset/DatasetTable32.php
@@ -16,7 +16,77 @@ use SoftDeletes;
protected $guarded = [];
-function dataset() {
+ function dataset() {
return $this->belongsTo('App\Models\Dataset','dataset_id');
}
+
+ public static function dataChart($modelClass,$datasetId,$templateId){
+
+ $datasets = \App\Models\Dataset::where('template_id', $templateId)
+ ->orderBy('tahun', 'asc')
+ ->get()
+ ->map(function ($dataset) use ($modelClass) {
+ $dataset->items = (new $modelClass)->where('dataset_id', $dataset->id)->get();
+ return $dataset;
+ });
+ $years = $datasets->pluck('tahun')->toArray();
+ $model = self::with('dataset')->whereHas('dataset',function($query) use ($years){
+ $query->whereIn('tahun',$years);
+ })->where('dataset_id',$datasetId)->get();
+
+ $result = [];
+ foreach ($model as $row) {
+ $lokasi = $row->lokasi ?? 'Unknown';
+
+ if (!isset($result[$lokasi])) {
+ $result[$lokasi] = [
+ 'lokasi' => [],
+ 'tidak_sekolah' => [],
+ 'sd' => [],
+ 'sltp' => [],
+ 'slta' => [],
+ 'pt' => [],
+ ];
+ }
+
+ $result[$lokasi]['lokasi'][] = (float) $row->lokasi;
+ $result[$lokasi]['tidak_sekolah'][] = (float) $row->tidak_sekolah_l+(float) $row->tidak_sekolah_p;
+ $result[$lokasi]['sd'][] = (float) $row->sd_p+(float) $row->sd_l;
+ $result[$lokasi]['sltp'][] = (float) $row->sltp_p+(float) $row->sltp_l;
+ $result[$lokasi]['slta'][] = (float) $row->slta_smk_p+(float) $row->slta_smk_l;
+ $result[$lokasi]['pt'][] = (float) $row->pt_p+(float) $row->pt_l;
+ }
+
+ return [
+ 'title' => '',
+ 'years' => $years,
+ 'yTitle' => 'Jumlah',
+ 'yOpposite' => '',
+ 'series' => collect($result)->flatMap(function ($item, $lokasi) {
+ return [
+ [
+ 'name' => "Tidak Sekolah - {$lokasi}",
+ 'type' => 'column',
+ 'data' => $item['tidak_sekolah']
+ ],[
+ 'name' => "SD - {$lokasi}",
+ 'type' => 'column',
+ 'data' => $item['sd']
+ ],[
+ 'name' => "SMP - {$lokasi}",
+ 'type' => 'column',
+ 'data' => $item['sltp']
+ ],[
+ 'name' => "SMA/SMK - {$lokasi}",
+ 'type' => 'column',
+ 'data' => $item['slta']
+ ],[
+ 'name' => "Perguruan Tinggi - {$lokasi}",
+ 'type' => 'column',
+ 'data' => $item['pt']
+ ],
+ ];
+ })->values()
+ ];
+ }
}
diff --git a/resources/views/modules/dashboard/resource_detail.blade.php b/resources/views/modules/dashboard/resource_detail.blade.php
index a85e6e2..88e96c4 100644
--- a/resources/views/modules/dashboard/resource_detail.blade.php
+++ b/resources/views/modules/dashboard/resource_detail.blade.php
@@ -34,28 +34,26 @@
@endsection
\ No newline at end of file