<?php
declare(strict_types=1);

use Phinx\Migration\AbstractMigration;

final class TaskInc43355 extends AbstractMigration
{
    public function up(): void
    {
        $this->execute(<<<SQL
CREATE TEMP TABLE w_acerto_tipo_destinatario AS (
    SELECT acd.id_chamado
          , CASE
              WHEN atc.fl_destinatario_corretor is true
                THEN 'C'
              WHEN atc.fl_destinatario_empresa_vistoria is true
                THEN 'V'
              ELSE 'S'
             END AS destinatario_correto
      FROM atendimento.chamados_destinatario acd
           INNER JOIN atendimento.chamados ac ON ac.id = acd.id_chamado
           INNER JOIN atendimento.tipo_chamado atc ON atc.id = ac.id_tipo_chamado
     WHERE acd.ds_tipo_destinatario = '0'
);

UPDATE atendimento.chamados_destinatario acd
   SET ds_tipo_destinatario = w_acerto_tipo_destinatario.destinatario_correto
  FROM w_acerto_tipo_destinatario
 WHERE acd.id_chamado = w_acerto_tipo_destinatario.id_chamado;

UPDATE atendimento.chamados_destinatario
   SET id_empresa = null
 WHERE id_empresa = 0;
SQL
);
    }

    public function down(): void
    {
    }
}
