<?php

namespace App\Database\Seeds;

use CodeIgniter\Database\Seeder;

class AiKbCpSeeder extends Seeder
{
    public function run()
    {
        $db = \Config\Database::connect();

        // 1. Ambil data subjek master jika ada
        $infSubject = $db->table('subjects')->where('name', 'Informatika')->where('level', 'MTs')->get()->getRowArray();
        $bigSubject = $db->table('subjects')->where('name', 'Bahasa Inggris')->where('level', 'MTs')->get()->getRowArray();
        $mtkSubject = $db->table('subjects')->where('name', 'Matematika')->where('level', 'MTs')->get()->getRowArray();

        $cpData = [
            [
                'subject_id'   => $infSubject ? $infSubject['id'] : null,
                'subject_name' => 'Informatika',
                'phase'        => 'D',
                'content'      => "Pada akhir Fase D, peserta didik mampu menerapkan berpikir komputasional secara mandiri untuk menyelesaikan persoalan dengan data diskrit bervolume kecil dan mendisposisikan berpikir komputasional dalam bidang lain terutama dalam literasi, numerasi, dan literasi sains; memanfaatkan berbagai aplikasi (surel, peramban, mesin pencari, dan perkakas kolaboratif) untuk berkomunikasi, mencari informasi di internet, dan mengolah dokumen secara terstruktur; mengelola dan menganalisis data bervolume kecil secara sistematis; mengidentifikasi komponen, fungsi, dan cara kerja sistem komputer beserta interaksi antar-komponennya; menerapkan konsep konektivitas jaringan lokal dan internet secara aman; memahami aspek sejarah, hukum, dan dampak sosial dari perkembangan informatika; serta mempraktikkan pemrograman visual sederhana dan memecahkan masalah komputasi secara kolaboratif dalam sebuah tim kerja.",
                'created_at'   => date('Y-m-d H:i:s'),
                'updated_at'   => date('Y-m-d H:i:s'),
            ],
            [
                'subject_id'   => $bigSubject ? $bigSubject['id'] : null,
                'subject_name' => 'Bahasa Inggris',
                'phase'        => 'D',
                'content'      => "Pada akhir Fase D, peserta didik menggunakan teks lisan, tulisan dan visual dalam bahasa Inggris untuk berinteraksi dan berkomunikasi dalam konteks yang lebih beragam dan dalam situasi formal dan informal. Peserta didik dapat menggunakan berbagai jenis teks seperti narasi, deskripsi, prosedur, teks khusus (pesan singkat, iklan) dan teks otentik menjadi rujukan utama dalam mempelajari bahasa Inggris pada fase ini. Peserta didik menggunakan bahasa Inggris untuk berdiskusi dan menyampaikan keinginan/perasaan. Pemahaman mereka terhadap teks tulisan semakin berkembang dan mereka mampu menggunakan alat bantu (seperti kamus atau media digital) untuk membantu pemahaman. Peserta didik menuliskan ide dan pengalaman mereka sendiri dalam kalimat sederhana dan paragraf terstruktur dengan ejaan dan tata bahasa yang berterima.",
                'created_at'   => date('Y-m-d H:i:s'),
                'updated_at'   => date('Y-m-d H:i:s'),
            ],
            [
                'subject_id'   => $mtkSubject ? $mtkSubject['id'] : null,
                'subject_name' => 'Matematika',
                'phase'        => 'D',
                'content'      => "Pada akhir Fase D, peserta didik dapat menyelesaikan masalah kontekstual yang berkaitan dengan bilangan bulat, pecahan, persen, pangkat dan akar, rasio dan proporsi; bentuk aljabar dan persamaannya untuk memodelkan situasi matematika; hubungan fungsi linier untuk menyelesaikan masalah sehari-hari; geometri bidang datar dan ruang untuk menghitung keliling, luas, dan volume; statistika (pengumpulan, penyajian, dan analisis data) serta peluang kejadian sederhana untuk menarik kesimpulan logis.",
                'created_at'   => date('Y-m-d H:i:s'),
                'updated_at'   => date('Y-m-d H:i:s'),
            ],
        ];

        foreach ($cpData as $data) {
            // Cek apakah sudah ada untuk menghindari duplikat
            $exists = $db->table('ai_kb_cp')
                        ->where('subject_name', $data['subject_name'])
                        ->where('phase', $data['phase'])
                        ->countAllResults();

            if ($exists == 0) {
                $db->table('ai_kb_cp')->insert($data);
            }
        }
    }
}
