<?php
declare(strict_types=1);

use Phinx\Migration\AbstractMigration;

final class TaskInc56006 extends AbstractMigration
{
    public function up(): void
    {
        $row = $this->fetchRow('SELECT id FROM sinistro.avisos WHERE id = 149678');
        if ($row['id']) {
            $builder = $this->getQueryBuilder();
            $builder->update('sinistro.avisos')
                    ->set('id_status', 168)
                    ->set('id_usuario_alteracao', 2068)
                    ->set('dt_alteracao', '2025-05-09 11:07:23-03')
                    ->where(['id' => 149678])
                    ->execute();
            $table = $this->table('sinistro.avisos_log_mudanca_status');
            $singleRow = [
                           'id_usuario_criacao' => 2068
                         , 'dt_criacao' => '2025-05-09 11:07:23-03'
                         , 'id_aviso' => 149678
                         , 'ds_motivo' => 'Solicitação de cancelamento por parte do corretor'
                         , 'id_status_antigo' => 28
                         , 'id_status_novo' => 168
            ];
            $table->insert($singleRow)
                  ->saveData();
        }
    }

    public function down(): void
    {
        $row = $this->fetchRow('SELECT id FROM sinistro.avisos WHERE id = 149678');
        if ($row['id']) {
            $builder = $this->getQueryBuilder();
            $builder->update('sinistro.avisos')
                    ->set('id_status', 28)
                    ->set('id_usuario_alteracao', 3734)
                    ->set('dt_alteracao', '2025-03-18 09:02:35-03')
                    ->where(['id' => 149678])
                    ->execute();
            $delete = $this->getQueryBuilder();
            $delete->delete('sinistro.avisos_log_mudanca_status')
                   ->where(['id_aviso' => 149678, 'id_usuario_criacao' => 2068, 'dt_criacao' => '2025-05-09 11:07:23-03', 'ds_motivo' => 'Solicitação de cancelamento por parte do corretor', 'id_status_antigo' => 28, 'id_status_novo' => 168])
                   ->execute();
        }
    }
}