<?php

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

        self::$connection->execute("
            SELECT setval('jaga.topik_diskusi_bansos_id_seq', COALESCE((SELECT MAX(id)+1 FROM jaga.topik_diskusi_bansos), 1), false);
            
            INSERT INTO jaga.topik_diskusi_bansos (deskripsi, type, view_order) VALUES ('Pelabuhan - Layanan Kapal', 'PELABUHAN', 1);
            INSERT INTO jaga.topik_diskusi_bansos (deskripsi, type, view_order) VALUES ('Pelabuhan - Layanan Barang', 'PELABUHAN', 2);
            INSERT INTO jaga.topik_diskusi_bansos (deskripsi, type, view_order) VALUES ('Pelabuhan - Layanan Ekspor/Impor', 'PELABUHAN', 3);
            INSERT INTO jaga.topik_diskusi_bansos (deskripsi, type, view_order) VALUES ('Pelabuhan - Layanan Domestik', 'PELABUHAN', 4);
            INSERT INTO jaga.topik_diskusi_bansos (deskripsi, type, view_order) VALUES ('Pelabuhan - Layanan Pintu Keluar/Masuk', 'PELABUHAN', 5);
            INSERT INTO jaga.topik_diskusi_bansos (deskripsi, type, view_order) VALUES ('Pelabuhan - Layanan Pengeluaran Barang', 'PELABUHAN', 6);
            INSERT INTO jaga.topik_diskusi_bansos (deskripsi, type, view_order) VALUES ('Pelabuhan - Layanan Transportasi Pelabuhan', 'PELABUHAN', 7);
            INSERT INTO jaga.topik_diskusi_bansos (deskripsi, type, view_order) VALUES ('Pelabuhan - Layanan Pembayaran', 'PELABUHAN', 8);
            INSERT INTO jaga.topik_diskusi_bansos (deskripsi, type, view_order) VALUES ('Pelabuhan - Layanan Tenaga Bongkar Muat', 'PELABUHAN', 9);
        ");

        self::$connection->execute("
            SELECT setval(pg_get_serial_sequence('instansi', 'id'), coalesce(max(id),0) + 1, false) FROM jaga.instansi;
            INSERT INTO jaga.instansi (nama, show_to_public, is_stranas, id_tipe, flag_dana_desa, flag_pak) VALUES ('PT Pelabuhan Indonesia (Persero)', 0, 0, (SELECT id FROM jaga.instansi_tipe WHERE nama = 'Lainnya'), 0, false);

        ");

        self::$connection->execute("
            INSERT INTO jaga.scopes(name, label, description) VALUES ('keluhan.pelabuhan.follow_up', 'Melakukan followup keluhan Pelabuhan', 'Melakukan followup keluhan Pelabuhan');

            INSERT INTO jaga.roles(name, label, description) VALUES ('admin_keluhan_pelabuhan_klop', 'Administrator KLOP Keluhan Pelabuhan', 'Administrator KLOP Keluhan Pelabuhan');

            INSERT INTO jaga.roles_scopes(role_id, scope_id) values(
				(select id from jaga.roles where name = 'admin_keluhan_pelabuhan_klop'), (select id from jaga.scopes where name = 'keluhan.pelabuhan.follow_up') 
            );
        ");

        self::$connection->execute("
            INSERT INTO jaga.instansi_tipe(nama, stranas_filter) VALUES ('Pelabuhan', 'f');
        ");

        self::$connection->execute("
            INSERT INTO jaga.instansi(nama, show_to_public, id_provinsi, id_kota_kabupaten, is_stranas, id_tipe, flag_dana_desa, flag_pak, keluhan_type) VALUES ('Pelabuhan Belawan ', 0, 12, 1271, 0, (SELECT id FROM instansi_tipe WHERE nama = 'Pelabuhan'), 0, 'f', 'PELABUHAN');
            INSERT INTO jaga.instansi(nama, show_to_public, id_provinsi, id_kota_kabupaten, is_stranas, id_tipe, flag_dana_desa, flag_pak, keluhan_type) VALUES ('Pelabuhan Dumai', 0, 14, 1472, 0, (SELECT id FROM instansi_tipe WHERE nama = 'Pelabuhan'), 0, 'f', 'PELABUHAN');
            INSERT INTO jaga.instansi(nama, show_to_public, id_provinsi, id_kota_kabupaten, is_stranas, id_tipe, flag_dana_desa, flag_pak, keluhan_type) VALUES ('Pelabuhan Batu Ampar', 0, 21, 2171, 0, (SELECT id FROM instansi_tipe WHERE nama = 'Pelabuhan'), 0, 'f', 'PELABUHAN');
            INSERT INTO jaga.instansi(nama, show_to_public, id_provinsi, id_kota_kabupaten, is_stranas, id_tipe, flag_dana_desa, flag_pak, keluhan_type) VALUES ('Pelabuhan Boom Baru', 0, 16, 1671, 0, (SELECT id FROM instansi_tipe WHERE nama = 'Pelabuhan'), 0, 'f', 'PELABUHAN');
            INSERT INTO jaga.instansi(nama, show_to_public, id_provinsi, id_kota_kabupaten, is_stranas, id_tipe, flag_dana_desa, flag_pak, keluhan_type) VALUES ('Pelabuhan Panjang', 0, 18, 1871, 0, (SELECT id FROM instansi_tipe WHERE nama = 'Pelabuhan'), 0, 'f', 'PELABUHAN');
            INSERT INTO jaga.instansi(nama, show_to_public, id_provinsi, id_kota_kabupaten, is_stranas, id_tipe, flag_dana_desa, flag_pak, keluhan_type) VALUES ('Pelabuhan Cilegon Mandiri', 0, 36, 3672, 0, (SELECT id FROM instansi_tipe WHERE nama = 'Pelabuhan'), 0, 'f', 'PELABUHAN');
            INSERT INTO jaga.instansi(nama, show_to_public, id_provinsi, id_kota_kabupaten, is_stranas, id_tipe, flag_dana_desa, flag_pak, keluhan_type) VALUES ('Pelabuhan Tanjung Priok', 0, 31, 3172, 0, (SELECT id FROM instansi_tipe WHERE nama = 'Pelabuhan'), 0, 'f', 'PELABUHAN');
            INSERT INTO jaga.instansi(nama, show_to_public, id_provinsi, id_kota_kabupaten, is_stranas, id_tipe, flag_dana_desa, flag_pak, keluhan_type) VALUES ('Pelabuhan Tanjung Emas', 0, 33, 3374, 0, (SELECT id FROM instansi_tipe WHERE nama = 'Pelabuhan'), 0, 'f', 'PELABUHAN');
            INSERT INTO jaga.instansi(nama, show_to_public, id_provinsi, id_kota_kabupaten, is_stranas, id_tipe, flag_dana_desa, flag_pak, keluhan_type) VALUES ('Pelabuhan Tanjung Perak', 0, 35, 3578, 0, (SELECT id FROM instansi_tipe WHERE nama = 'Pelabuhan'), 0, 'f', 'PELABUHAN');
            INSERT INTO jaga.instansi(nama, show_to_public, id_provinsi, id_kota_kabupaten, is_stranas, id_tipe, flag_dana_desa, flag_pak, keluhan_type) VALUES ('Pelabuhan Dwikora', 0, 61, 6171, 0, (SELECT id FROM instansi_tipe WHERE nama = 'Pelabuhan'), 0, 'f', 'PELABUHAN');
            INSERT INTO jaga.instansi(nama, show_to_public, id_provinsi, id_kota_kabupaten, is_stranas, id_tipe, flag_dana_desa, flag_pak, keluhan_type) VALUES ('Pelabuhan Balikpapan', 0, 64, 6471, 0, (SELECT id FROM instansi_tipe WHERE nama = 'Pelabuhan'), 0, 'f', 'PELABUHAN');
            INSERT INTO jaga.instansi(nama, show_to_public, id_provinsi, id_kota_kabupaten, is_stranas, id_tipe, flag_dana_desa, flag_pak, keluhan_type) VALUES ('Pelabuhan Samarinda', 0, 64, 6472, 0, (SELECT id FROM instansi_tipe WHERE nama = 'Pelabuhan'), 0, 'f', 'PELABUHAN');
            INSERT INTO jaga.instansi(nama, show_to_public, id_provinsi, id_kota_kabupaten, is_stranas, id_tipe, flag_dana_desa, flag_pak, keluhan_type) VALUES ('Pelabuhan Soekarno-Hatta', 0, 73, 7371, 0, (SELECT id FROM instansi_tipe WHERE nama = 'Pelabuhan'), 0, 'f', 'PELABUHAN');
            INSERT INTO jaga.instansi(nama, show_to_public, id_provinsi, id_kota_kabupaten, is_stranas, id_tipe, flag_dana_desa, flag_pak, keluhan_type) VALUES ('Pelabuhan Nusantara Kendari', 0, 74, 7471, 0, (SELECT id FROM instansi_tipe WHERE nama = 'Pelabuhan'), 0, 'f', 'PELABUHAN');
        ");
    }

    public function down()
    {
        self::$connection->execute("
            DELETE FROM jaga.topik_diskusi_bansos WHERE type = 'PELABUHAN';
            SELECT setval('jaga.topik_diskusi_bansos_id_seq', COALESCE((SELECT MAX(id)+1 FROM jaga.topik_diskusi_bansos), 1), false);
        ");

        self::$connection->execute("
            DELETE FROM jaga.instansi WHERE id_tipe = (SELECT id FROM jaga.instansi_tipe WHERE nama = 'Lainnya') AND nama = 'PT Pelabuhan Indonesia (Persero)';
            SELECT setval(pg_get_serial_sequence('instansi', 'id'), coalesce(max(id),0) + 1, false) FROM jaga.instansi;
        ");

        self::$connection->execute("
            DELETE FROM jaga.roles_scopes WHERE 
            role_id = (select id from jaga.roles where name = 'admin_keluhan_pelabuhan_klop');
            
            DELETE FROM jaga.scopes WHERE name = 'keluhan.pelabuhan.follow_up';

            DELETE FROM jaga.roles WHERE name = 'admin_keluhan_pelabuhan_klop';
        ");

        self::$connection->execute("
            DELETE FROM jaga.instansi WHERE keluhan_type = 'PELABUHAN';
            SELECT setval(pg_get_serial_sequence('instansi', 'id'), coalesce(max(id),0) + 1, false) FROM jaga.instansi;
      ");

        self::$connection->execute("
            DELETE FROM jaga.instansi_tipe WHERE nama = 'Pelabuhan';
            SELECT setval(pg_get_serial_sequence('instansi_tipe', 'id'), coalesce(max(id),0) + 1, false) FROM jaga.instansi_tipe;
    ");

    }
}
