fixes bug#AL-4214

master
celio 2024-08-09 15:27:58 -03:00
parent def2d831a0
commit c39fcb591b
2 changed files with 37 additions and 31 deletions

View File

@ -4,7 +4,7 @@
<modelVersion>4.0.0</modelVersion>
<groupId>br.com.rjconsultores</groupId>
<artifactId>Flyway</artifactId>
<version>1.79.1</version>
<version>1.79.2</version>
<distributionManagement>
<repository>

View File

@ -4,36 +4,42 @@ DECLARE
PRAGMA EXCEPTION_INIT(dup_val_on_index, -00001);
PRAGMA EXCEPTION_INIT(except_02291, -02291);
col_exists NUMBER := 0;
BEGIN
BEGIN
EXECUTE IMMEDIATE 'ALTER TABLE tipo_evento_extra ADD (indquantviasimprimir NUMBER(1) DEFAULT 1)';
EXCEPTION
WHEN dup_val_on_index THEN
DBMS_OUTPUT.PUT_LINE('A coluna QUANTIDADEVIASIMPRIMIR já existe.');
WHEN OTHERS THEN
RAISE;
END;
BEGIN
EXECUTE IMMEDIATE 'UPDATE tipo_evento_extra SET indquantviasimprimir = 1';
EXCEPTION
WHEN except_02291 THEN
DBMS_OUTPUT.PUT_LINE('Erro ao atualizar valores padrão.');
WHEN OTHERS THEN
RAISE;
END;
-- Ajusta o valor da coluna para 2 nos casos específicos de "Vale Cobrador" e "Sangria" RETRO para os CARDS: AL-3449 e AL-2817
BEGIN
EXECUTE IMMEDIATE 'UPDATE tipo_evento_extra SET indquantviasimprimir = 2 WHERE desctipoevento IN (''VALE COBRADOR'', ''SANGRIA'')';
EXCEPTION
WHEN except_02291 THEN
DBMS_OUTPUT.PUT_LINE('Erro ao ajustar valores para "Vale Cobrador" e "Sangria".');
WHEN OTHERS THEN
RAISE;
END;
SELECT COUNT(*) INTO col_exists FROM all_tab_columns
WHERE table_name = 'TIPO_EVENTO_EXTRA'
AND column_name = 'INDQUANTVIASIMPRIMIR';
IF col_exists = 0 THEN
BEGIN
EXECUTE IMMEDIATE 'ALTER TABLE tipo_evento_extra ADD (indquantviasimprimir NUMBER(1) DEFAULT 1)';
EXCEPTION
WHEN dup_val_on_index THEN
DBMS_OUTPUT.PUT_LINE('A coluna QUANTIDADEVIASIMPRIMIR já existe.');
WHEN OTHERS THEN
RAISE;
END;
BEGIN
EXECUTE IMMEDIATE 'UPDATE tipo_evento_extra SET indquantviasimprimir = 1';
EXCEPTION
WHEN except_02291 THEN
DBMS_OUTPUT.PUT_LINE('Erro ao atualizar valores padrão.');
WHEN OTHERS THEN
RAISE;
END;
-- Ajusta o valor da coluna para 2 nos casos específicos de "Vale Cobrador" e "Sangria" RETRO para os CARDS: AL-3449 e AL-2817
BEGIN
EXECUTE IMMEDIATE 'UPDATE tipo_evento_extra SET indquantviasimprimir = 2 WHERE desctipoevento IN (''VALE COBRADOR'', ''SANGRIA'')';
EXCEPTION
WHEN except_02291 THEN
DBMS_OUTPUT.PUT_LINE('Erro ao ajustar valores para "Vale Cobrador" e "Sangria".');
WHEN OTHERS THEN
RAISE;
END;
END IF;
END;
/