<?php
declare(strict_types=1);

use Phinx\Migration\AbstractMigration;

final class Task2205101433 extends AbstractMigration
{
    public function up(): void
    {
        $this->execute(<<<SQL

            -- SELECT lpp.id_liquidacao, p.id_proposta, propostas.id_proposta_mae
            --   FROM sinistro.liquidacoes l
            --   JOIN sinistro.processos p ON p.id = l.id_processo
            --   JOIN seguro.propostas ON propostas.id = p.id_proposta
            --   JOIN sinistro.liquidacoes_previsao_pagamento lpp ON lpp.id_liquidacao = l.id
            --  WHERE EXTRACT(YEAR FROM lpp.dt_criacao) = 2022
            --    AND NOT EXISTS(SELECT  1 FROM sinistro.liquidacoes_itens_segurados_coberturas lisc WHERE lisc.id_liquidacao = l.id LIMIT 1);
   
            -- id_liquidacao | id_proposta | id_proposta_mae
            -- ---------------+-------------+-----------------
            --         94387 |      526412 |          526412
            --         94421 |      512393 |          512393
            --         94378 |      736160 |          515750
            --         94382 |      736164 |          515758
            --         94403 |      737158 |          591407
            --         94413 |      737159 |          591428

            -- Proposta mae 591428
            UPDATE sinistro.liquidacoes_itens_segurados_coberturas  SET id_liquidacao = 94413 WHERE id_liquidacao = 94548;
            -- Proposta mae 591407
            UPDATE sinistro.liquidacoes_itens_segurados_coberturas  SET id_liquidacao = 94403 WHERE id_liquidacao = 94542;
            -- Proposta mae 515758
            UPDATE sinistro.liquidacoes_itens_segurados_coberturas  SET id_liquidacao = 94382 WHERE id_liquidacao = 94528;
            -- Proposta mae 515750
            UPDATE sinistro.liquidacoes_itens_segurados_coberturas  SET id_liquidacao = 94378 WHERE id_liquidacao = 94527;
            -- Proposta mae 512393
            UPDATE sinistro.liquidacoes_itens_segurados_coberturas  SET id_liquidacao = 94421 WHERE id_liquidacao = 94550;
            -- Proposta mae 526412
            UPDATE sinistro.liquidacoes_itens_segurados_coberturas  SET id_liquidacao = 94387 WHERE id_liquidacao = 94529;
SQL
        );
    }

    public function down(): void
    {
        $this->execute(<<<SQL

            -- Proposta mae 526412
            UPDATE sinistro.liquidacoes_itens_segurados_coberturas  SET id_liquidacao = 94529 WHERE id_liquidacao = 94387;
            -- Proposta mae 512393
            UPDATE sinistro.liquidacoes_itens_segurados_coberturas  SET id_liquidacao = 94550 WHERE id_liquidacao = 94421;
            -- Proposta mae 515750
            UPDATE sinistro.liquidacoes_itens_segurados_coberturas  SET id_liquidacao = 94527 WHERE id_liquidacao = 94378;
            -- Proposta mae 515758
            UPDATE sinistro.liquidacoes_itens_segurados_coberturas  SET id_liquidacao = 94528 WHERE id_liquidacao = 94382;
            -- Proposta mae 591407
            UPDATE sinistro.liquidacoes_itens_segurados_coberturas  SET id_liquidacao = 94542 WHERE id_liquidacao = 94403;
            -- Proposta mae 591428
            UPDATE sinistro.liquidacoes_itens_segurados_coberturas  SET id_liquidacao = 94548 WHERE id_liquidacao = 94413;
SQL
        );
    }
}
