Merge pull request 'fixes bug#AL-4214' (!168) from AL-4214 into master

Reviewed-on: utilidades/Flyway#168
Reviewed-by: Gleison da Cruz <gleison.cruz@totvs.com.br>
master
Célio de Souza Ribeiro JR 2024-08-09 21:37:13 +00:00
commit 232baad70d
2 changed files with 45 additions and 44 deletions

View File

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

View File

@ -1,45 +1,46 @@
DECLARE
dup_val_on_index EXCEPTION;
except_02291 EXCEPTION;
declare
object_exists exception;
except_01451 exception;
except_01442 exception;
PRAGMA EXCEPTION_INIT(dup_val_on_index, -00001);
PRAGMA EXCEPTION_INIT(except_02291, -02291);
col_exists NUMBER := 0;
BEGIN
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;
pragma exception_init (object_exists , -01430);
pragma exception_init (except_01451 , -01451);
pragma exception_init (except_01442 , -01442);
begin
execute immediate 'ALTER TABLE TIPO_EVENTO_EXTRA ADD (INDQUANTVIASIMPRIMIR NUMBER(1))';
exception
when object_exists then null;
when except_01451 then null;
when except_01442 then null;
end;
/
declare
dup_val_on_index exception;
except_02291 exception;
pragma exception_init (dup_val_on_index , -00001);
pragma exception_init (except_02291 , -02291);
begin
execute immediate 'UPDATE TIPO_EVENTO_EXTRA SET INDQUANTVIASIMPRIMIR = 1 WHERE INDQUANTVIASIMPRIMIR IS NULL';
exception
when dup_val_on_index then null;
when except_02291 then null;
end;
/
declare
dup_val_on_index exception;
except_02291 exception;
pragma exception_init (dup_val_on_index , -00001);
pragma exception_init (except_02291 , -02291);
begin
execute immediate
'UPDATE tipo_evento_extra SET indquantviasimprimir = 2 WHERE desctipoevento IN (''VALE COBRADOR'', ''SANGRIA'') AND (INDQUANTVIASIMPRIMIR IS NULL OR INDQUANTVIASIMPRIMIR =1)';
exception
when dup_val_on_index then null;
when except_02291 then null;
end;
/