<?php

class AlterKeluhanPemiluPaslonGroupMigration_461 extends \Phalcon\Mvc\Model\Migration {
    public function up()
    {
        $this->down();

        self::$connection->execute("
            ALTER TABLE jaga.objek_keluhan_pemilu ADD COLUMN IF NOT EXISTS paslon_didukung int;
        ");

        self::$connection->execute("
            UPDATE jaga.objek_keluhan_pemilu SET paslon_didukung = 1 WHERE nama = 'Partai Kebangkitan Bangsa';
            UPDATE jaga.objek_keluhan_pemilu SET paslon_didukung = 1 WHERE nama = 'Partai Keadilan Sejahtera';
            UPDATE jaga.objek_keluhan_pemilu SET paslon_didukung = 1 WHERE nama = 'Partai Nasdem';

            UPDATE jaga.objek_keluhan_pemilu SET paslon_didukung = 2 WHERE nama = 'Partai Amanat Nasional';
            UPDATE jaga.objek_keluhan_pemilu SET paslon_didukung = 2 WHERE nama = 'Partai Golkar';
            UPDATE jaga.objek_keluhan_pemilu SET paslon_didukung = 2 WHERE nama = 'Partai Gerakan Indonesia Raya';
            UPDATE jaga.objek_keluhan_pemilu SET paslon_didukung = 2 WHERE nama = 'Partai Demokrat';
            UPDATE jaga.objek_keluhan_pemilu SET paslon_didukung = 2 WHERE nama = 'Partai Garda Perubahan Indonesia';
            UPDATE jaga.objek_keluhan_pemilu SET paslon_didukung = 2 WHERE nama = 'Partai Bulan Bintang';
            UPDATE jaga.objek_keluhan_pemilu SET paslon_didukung = 2 WHERE nama = 'Partai Solidaritas Indonesia';

            UPDATE jaga.objek_keluhan_pemilu SET paslon_didukung = 3 WHERE nama = 'Partai Demokrasi Indonesia Perjuangan';
            UPDATE jaga.objek_keluhan_pemilu SET paslon_didukung = 3 WHERE nama = 'Partai Persatuan Pembangunan';
            UPDATE jaga.objek_keluhan_pemilu SET paslon_didukung = 3 WHERE nama = 'Partai Perindo';
            UPDATE jaga.objek_keluhan_pemilu SET paslon_didukung = 3 WHERE nama = 'Partai Hati Nurani Rakyat';
        ");

        self::$connection->execute("
            CREATE TABLE IF NOT EXISTS jaga.lhkpn_pemilu
            (
                id serial primary key,
                unit_kerja character varying(255) NOT NULL,
                id_objek_keluhan int NOT NULL, 
                wajib_lapor int NOT NULL, 
                sudah_lapor int NOT NULL,
                lengkap int NOT NULL,
                data_date timestamp(6),
                created_at timestamp(6) DEFAULT now(),
                updated_at timestamp(6),
                deleted_at timestamp(6)
            );
        ");

        self::$connection->execute("
            INSERT INTO jaga.lhkpn_pemilu (unit_kerja, id_objek_keluhan, wajib_lapor, sudah_lapor, lengkap, data_date) VALUES ('FRAKSI PARTAI NASDEM', (SELECT id FROM jaga.objek_keluhan_pemilu WHERE nama = 'Partai Nasdem'), 56, 55, 54, '2023-11-10');
            INSERT INTO jaga.lhkpn_pemilu (unit_kerja, id_objek_keluhan, wajib_lapor, sudah_lapor, lengkap, data_date) VALUES ('FRAKSI PARTAI DEMOKRASI INDONESIA PERJUANGAN', (SELECT id FROM jaga.objek_keluhan_pemilu WHERE nama = 'Partai Demokrasi Indonesia Perjuangan'), 127, 124, 120, '2023-11-10');
            INSERT INTO jaga.lhkpn_pemilu (unit_kerja, id_objek_keluhan, wajib_lapor, sudah_lapor, lengkap, data_date) VALUES ('FRAKSI PARTAI KEADILAN SEJAHTERA', (SELECT id FROM jaga.objek_keluhan_pemilu WHERE nama = 'Partai Keadilan Sejahtera'), 50, 45, 44, '2023-11-10');
            INSERT INTO jaga.lhkpn_pemilu (unit_kerja, id_objek_keluhan, wajib_lapor, sudah_lapor, lengkap, data_date) VALUES ('FRAKSI PARTAI DEMOKRAT', (SELECT id FROM jaga.objek_keluhan_pemilu WHERE nama = 'Partai Demokrat'), 54, 47, 46, '2023-11-10');
            INSERT INTO jaga.lhkpn_pemilu (unit_kerja, id_objek_keluhan, wajib_lapor, sudah_lapor, lengkap, data_date) VALUES ('FRAKSI PARTAI PERSATUAN PEMBANGUNAN', (SELECT id FROM jaga.objek_keluhan_pemilu WHERE nama = 'Partai Persatuan Pembangunan'), 19, 16, 15, '2023-11-10');
            INSERT INTO jaga.lhkpn_pemilu (unit_kerja, id_objek_keluhan, wajib_lapor, sudah_lapor, lengkap, data_date) VALUES ('FRAKSI PARTAI GOLONGAN KARYA', (SELECT id FROM jaga.objek_keluhan_pemilu WHERE nama = 'Partai Golkar'), 84, 67, 65, '2023-11-10');
            INSERT INTO jaga.lhkpn_pemilu (unit_kerja, id_objek_keluhan, wajib_lapor, sudah_lapor, lengkap, data_date) VALUES ('FRAKSI PARTAI KEBANGKITAN BANGSA', (SELECT id FROM jaga.objek_keluhan_pemilu WHERE nama = 'Partai Kebangkitan Bangsa'), 57, 47, 43, '2023-11-10');
            INSERT INTO jaga.lhkpn_pemilu (unit_kerja, id_objek_keluhan, wajib_lapor, sudah_lapor, lengkap, data_date) VALUES ('FRAKSI PARTAI GERAKAN INDONESIA RAYA', (SELECT id FROM jaga.objek_keluhan_pemilu WHERE nama = 'Partai Gerakan Indonesia Raya'), 77, 61, 56, '2023-11-10');
            INSERT INTO jaga.lhkpn_pemilu (unit_kerja, id_objek_keluhan, wajib_lapor, sudah_lapor, lengkap, data_date) VALUES ('FRAKSI PARTAI AMANAT NASIONAL', (SELECT id FROM jaga.objek_keluhan_pemilu WHERE nama = 'Partai Amanat Nasional'), 44, 29, 28, '2023-11-10');
        ");
    }

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

        self::$connection->execute("
            ALTER TABLE jaga.objek_keluhan_pemilu DROP COLUMN IF EXISTS paslon_didukung;
        ");
    }
}