<?php

use Phalcon\Mvc\Model\Migration;

class InfoAlokasiPendapatanBelanjaMigration_335 extends Migration
{
    public function up()
    {
        $this->down(); 
        
        self::$connection->execute('
            CREATE TABLE IF NOT EXISTS "jaga"."info_alokasi_pendapatan_belanja"
            (
                id SERIAL PRIMARY KEY,
                tipe_alokasi VARCHAR(20),
                parent_id INTEGER,
                kode_output VARCHAR(10),
                nama_output VARCHAR(255),
                created_at timestamp(6) DEFAULT now(),
                updated_at timestamp(6) DEFAULT now(),
                deleted_at timestamp(6)
            )
            WITH (
                OIDS = FALSE
            );
        ');

        self::$connection->execute("
            INSERT INTO jaga.info_alokasi_pendapatan_belanja (id, tipe_alokasi, parent_id, kode_output, nama_output)
            VALUES
                (1, 'Pendapatan', 0, 'P001', 'Pemerintah'),
                (2, 'Pendapatan', 0, 'P002', 'Non Pemerintah'),
                (3, 'Pendapatan', 1, 'PC001', 'APBN Kemendiktbud'),
                (4, 'Pendapatan', 1, 'PC002', 'APBN Non Kemendiktbud'),
                (5, 'Pendapatan', 1, 'PC003', 'APBD'),
                (6, 'Pendapatan', 3, 'PSC001', 'Gaji dan Tunjangan PNS'),
                (7, 'Pendapatan', 3, 'PSC002', 'BPPTNBH Sekjen'),
                (8, 'Pendapatan', 3, 'PSC003', 'Alokasi Pendanaan Sekjen'),
                (9, 'Pendapatan', 3, 'PSC004', 'Hibah Instansi Kementerian Lainnya'),
                (10, 'Pendapatan', 2, 'PSC005', 'Biaya Pendidikan'),
                (11, 'Pendapatan', 2, 'PSC006', 'Kerjasama Tridharma Perguruan Tinggi'),
                (12, 'Pendapatan', 2, 'PSC007', 'Hasil Usaha PTN'),
                (13, 'Pendapatan', 2, 'PSC008', 'Pengelola Dana Abadi'),
                (14, 'Pendapatan', 2, 'PSC009', 'Pendapatan Entitas Anak PTNBH'),
                (15, 'Pendapatan', 2, 'PSC010', 'Hibah Lainnya'),
                (16, 'Belanja', 0, 'BC001', 'Pegawai'),
                (17, 'Belanja', 0, 'BC002', 'Operasional Tridharma Perguruan Tinggi'),
                (18, 'Belanja', 0, 'BC003', 'Operasional Non Tridharma Perguruan Tinggi'),
                (19, 'Belanja', 0, 'BC004', 'Pengembangan Perguruan Tinggi'),
                (20, 'Belanja', 16, 'BSC001', 'Gaji dan Tunjangan PNS'),
                (21, 'Belanja', 16, 'BSC002', 'Gaji, Tunjangan Non PNS dan Intensif Kerja'),
                (22, 'Belanja', 16, 'BSC003', 'Operasional Manajemen'),
                (23, 'Belanja', 17, 'BSC004', 'Layanan Pendidikan'),
                (24, 'Belanja', 17, 'BSC005', 'Penelitian dan Publikasi'),
                (25, 'Belanja', 17, 'BSC006', 'Pengabdian Masyarakat'),
                (26, 'Belanja', 18, 'BSC007', 'Pengelolaan Unit Usaha PTN'),
                (27, 'Belanja', 19, 'BSC008', 'Belanja Modal'),
                (28, 'Belanja', 19, 'BSC009', 'Pemeliharaan Sarana Prasarana'),
                (29, 'Belanja', 19, 'BSC010', 'Pengembangan SDM')
            ON CONFLICT DO NOTHING;
        ");
    }

    public function down()
    {
        self::$connection->execute('
            DROP TABLE IF EXISTS "jaga"."info_alokasi_pendapatan_belanja";
        ');
    }
}
