<?php

use Phalcon\Mvc\Model\Migration;

class ViewDesaPaguPenyaluranMigration_432 extends Migration {
    public function up()
    {
        self::$connection->execute("
            CREATE VIEW jaga.view_desa_pagu_penyaluran AS SELECT
                pagu.kode_desa,
                pagu.nama_desa,
                pemda.nm_lokasi AS kabupaten_kota,
                provinsi.nm_prov AS provinsi,
                pagu.tahun,
                pagu.pagu,
                SUM ( penyaluran.realisasi ) AS penyaluran,
                djp.jumlah_penduduk,
                djp.jumlah_kk 
            FROM
                jaga.omspan_dana_desa_pagu pagu
                LEFT JOIN jaga.omspan_master_pemda pemda ON pemda.kd_lokasi = pagu.kode_lokasi
                LEFT JOIN jaga.omspan_master_provinsi provinsi ON provinsi.kd_prov = pemda.kd_prov
                LEFT JOIN jaga.omspan_dana_desa_penyaluran penyaluran ON penyaluran.kode_desa = pagu.kode_desa AND penyaluran.tahun = pagu.tahun
                LEFT JOIN jaga.desa_jumlah_penduduk djp ON djp.\"kode_PUM\" = pagu.kode_desa
            GROUP BY
                pagu.kode_desa,
                pagu.nama_desa,
                pagu.pagu,
                pagu.tahun,
                pemda.kd_lokasi,
                provinsi.kd_prov,
                djp.\"kode_PUM\";
        ");

        self::$connection->execute("
            INSERT INTO jaga.app_config(kode, nilai, keterangan) VALUES ('OMSPAN_PENYALURAN_LAST_PERIOD_2022', '12', 'Periode akhir penarikan Penyaluran Dana Desa tahun 2022 melalui Scheduled Task');
            INSERT INTO jaga.app_config(kode, nilai, keterangan) VALUES ('OMSPAN_PENYALURAN_START_PERIOD_2023', '01', 'Periode awal penarikan Penyaluran Dana Desa tahun 2023 melalui Scheduled Task');
        ");
    }

    public function down()
    {
        self::$connection->execute("
            DROP VIEW jaga.view_desa_pagu_penyaluran;
            DELETE FROM jaga.app_config WHERE kode = 'OMSPAN_PENYALURAN_LAST_PERIOD_2022';
            DELETE FROM jaga.app_config WHERE kode = 'OMSPAN_PENYALURAN_START_PERIOD_2023';
        ");
    }
}
