[Minuta de Ampenho] Bug em cadastrar empenho que já existe na Alteração da Minuta de Empenho
Origem
Arquivo Logs
Passos para reproduzir o problema
Alterar um empenho (Reforço ou Anulação)
Qual o resultado obtido
DOException: SQLSTATE[23505]: Unique violation: 7 ERROR: duplicate key value violates unique constraint "empenhodetalhado_empenho_id_naturezasubitem_id_unique" DETAIL: Key (empenho_id, naturezasubitem_id)=(9436456, 2997) already exists. in /opt/websites/apache/2.4/pro_11977_comprasctr_app/contratos/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOStatement.php:117 Stack trace: #0 /opt/websites/apache/2.4/pro_11977_comprasctr_app/contratos/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOStatement.php(117): PDOStatement->execute(NULL) #1 (closed) /opt/websites/apache/2.4/pro_11977_comprasctr_app/contratos/vendor/laravel/framework/src/Illuminate/Database/Connection.php(330): Doctrine\DBAL\Driver\PDOStatement->execute() #2 (closed) /opt/websites/apache/2.4/pro_11977_comprasctr_app/contratos/vendor/laravel/framework/src/Illuminate/Database/Connection.php(657): Illuminate\Database\Connection->Illuminate\Database{closure}('insert into "em...', Array) #3 (closed) /opt/websites/apache/2.4/pro_11977_comprasctr_app/contratos/vendor/laravel/framework/src/Illuminate/Database/Connection.php(624): Illuminate\Database\Connection->runQueryCallback('insert into "em...', Array, Object(Closure)) #4 (closed)
Qual o resultado esperado
Não haja Erro
Solução sugerida
Alterar Observer sforcempenhodadosObserver linha 62
De: if ($sfOrcEmpenhoDados->situacao == 'EMITIDO') {
Para: if ($sfOrcEmpenhoDados->situacao == 'EMITIDO' and $sfOrcEmpenhoDados->alteracao == false) {