From a65138fd56e20211aaf6087983d248e6da2bbd9a Mon Sep 17 00:00:00 2001 From: "lucas.favaro" Date: Mon, 25 May 2026 10:23:36 -0300 Subject: [PATCH] =?UTF-8?q?Atualiza=C3=A7=C3=A3o=20procedure=20de=20agenda?= =?UTF-8?q?mento.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...22000005_prc_flash_atualiza_venda_dono.sql | 91 +++++++++++++++++++ ...22000005_prc_flash_atualiza_venda_dono.sql | 91 +++++++++++++++++++ 2 files changed, 182 insertions(+) create mode 100644 migrations/C5/20260522000005_prc_flash_atualiza_venda_dono.sql create mode 100644 migrations/C5_big/20260522000005_prc_flash_atualiza_venda_dono.sql diff --git a/migrations/C5/20260522000005_prc_flash_atualiza_venda_dono.sql b/migrations/C5/20260522000005_prc_flash_atualiza_venda_dono.sql new file mode 100644 index 0000000..84ce9e8 --- /dev/null +++ b/migrations/C5/20260522000005_prc_flash_atualiza_venda_dono.sql @@ -0,0 +1,91 @@ +-- +goose Up +-- +goose StatementBegin +CREATE OR REPLACE PROCEDURE VITRUVIO.PRC_FLASH_ATUALIZA_VENDA_DONO ( + p_data_inicial IN DATE, + p_data_final IN DATE, + p_empresa_ini IN NUMBER DEFAULT NULL, + p_empresa_fim IN NUMBER DEFAULT NULL +) AS + v_inicio_execucao DATE := SYSDATE; +BEGIN + DBMS_OUTPUT.PUT_LINE('Iniciando PRC_FLASH_ATUALIZA_VENDA_DONO em ' || TO_CHAR(v_inicio_execucao, 'DD/MM/YYYY HH24:MI:SS')); + DBMS_OUTPUT.PUT_LINE('Período: ' || TO_CHAR(p_data_inicial, 'DD/MM/YYYY') || ' até ' || TO_CHAR(p_data_final, 'DD/MM/YYYY')); + + FOR r IN ( + SELECT codigo + FROM vitruvio.vi_lojas + WHERE codigo NOT IN (301, 401, 500) + AND (p_empresa_ini IS NULL OR codigo >= p_empresa_ini) + AND (p_empresa_fim IS NULL OR codigo <= p_empresa_fim) + ORDER BY codigo + ) LOOP + BEGIN + DBMS_OUTPUT.PUT_LINE('Carregando venda da empresa: ' || r.codigo); + + PRC_FLASH_CARGA_DADOS_VENDA( + p_data_inicial => p_data_inicial, + p_data_final => p_data_final, + p_empresa => r.codigo + ); + + EXCEPTION + WHEN OTHERS THEN + DBMS_OUTPUT.PUT_LINE( + 'Erro ao carregar empresa ' || r.codigo || ': ' || SQLERRM + ); + RAISE; + END; + END LOOP; + + DBMS_OUTPUT.PUT_LINE('Carregando stage de metas de venda...'); + + PRC_FLASH_CARGA_META_VENDA_STG( + p_data_inicial => p_data_inicial, + p_data_final => p_data_final + ); + + DBMS_OUTPUT.PUT_LINE('Carregando metas finais de venda...'); + + PRC_FLASH_CARGA_META_VENDA( + p_data_inicial => p_data_inicial, + p_data_final => p_data_final + ); + + DBMS_OUTPUT.PUT_LINE('Atualizando resumo de venda...'); + + PRC_FLASH_CARGA_RESUMO_VENDA( + p_data_inicial => p_data_inicial, + p_data_final => p_data_final + ); + + DBMS_OUTPUT.PUT_LINE('PRC_FLASH_ATUALIZA_VENDA_DONO finalizada em ' || TO_CHAR(SYSDATE, 'DD/MM/YYYY HH24:MI:SS')); + DBMS_OUTPUT.PUT_LINE('Tempo em segundos: ' || ROUND((SYSDATE - v_inicio_execucao) * 86400, 2)); + +EXCEPTION + WHEN OTHERS THEN + DBMS_OUTPUT.PUT_LINE('Erro geral na PRC_FLASH_ATUALIZA_VENDA_DONO: ' || SQLERRM); + RAISE; +END; +-- +goose StatementEnd +-- +goose StatementBegin +DECLARE + v_count NUMBER; +BEGIN + SELECT COUNT(*) INTO v_count FROM all_objects WHERE object_name = 'PRC_FLASH_ATUALIZA_VENDA_DONO_DONO' AND object_type = 'PROCEDURE' AND owner = 'VITRUVIO'; + IF v_count > 0 THEN + EXECUTE IMMEDIATE 'DROP PROCEDURE VITRUVIO.PRC_FLASH_ATUALIZA_VENDA_DONO_DONO'; + END IF; +END; +-- +goose StatementEnd + +-- +goose Down +-- +goose StatementBegin +DECLARE + v_count NUMBER; +BEGIN + SELECT COUNT(*) INTO v_count FROM all_objects WHERE object_name = 'PRC_FLASH_ATUALIZA_VENDA_DONO' AND object_type = 'PROCEDURE' AND owner = 'VITRUVIO'; + IF v_count > 0 THEN + EXECUTE IMMEDIATE 'DROP PROCEDURE VITRUVIO.PRC_FLASH_ATUALIZA_VENDA_DONO'; + END IF; +END; +-- +goose StatementEnd diff --git a/migrations/C5_big/20260522000005_prc_flash_atualiza_venda_dono.sql b/migrations/C5_big/20260522000005_prc_flash_atualiza_venda_dono.sql new file mode 100644 index 0000000..84ce9e8 --- /dev/null +++ b/migrations/C5_big/20260522000005_prc_flash_atualiza_venda_dono.sql @@ -0,0 +1,91 @@ +-- +goose Up +-- +goose StatementBegin +CREATE OR REPLACE PROCEDURE VITRUVIO.PRC_FLASH_ATUALIZA_VENDA_DONO ( + p_data_inicial IN DATE, + p_data_final IN DATE, + p_empresa_ini IN NUMBER DEFAULT NULL, + p_empresa_fim IN NUMBER DEFAULT NULL +) AS + v_inicio_execucao DATE := SYSDATE; +BEGIN + DBMS_OUTPUT.PUT_LINE('Iniciando PRC_FLASH_ATUALIZA_VENDA_DONO em ' || TO_CHAR(v_inicio_execucao, 'DD/MM/YYYY HH24:MI:SS')); + DBMS_OUTPUT.PUT_LINE('Período: ' || TO_CHAR(p_data_inicial, 'DD/MM/YYYY') || ' até ' || TO_CHAR(p_data_final, 'DD/MM/YYYY')); + + FOR r IN ( + SELECT codigo + FROM vitruvio.vi_lojas + WHERE codigo NOT IN (301, 401, 500) + AND (p_empresa_ini IS NULL OR codigo >= p_empresa_ini) + AND (p_empresa_fim IS NULL OR codigo <= p_empresa_fim) + ORDER BY codigo + ) LOOP + BEGIN + DBMS_OUTPUT.PUT_LINE('Carregando venda da empresa: ' || r.codigo); + + PRC_FLASH_CARGA_DADOS_VENDA( + p_data_inicial => p_data_inicial, + p_data_final => p_data_final, + p_empresa => r.codigo + ); + + EXCEPTION + WHEN OTHERS THEN + DBMS_OUTPUT.PUT_LINE( + 'Erro ao carregar empresa ' || r.codigo || ': ' || SQLERRM + ); + RAISE; + END; + END LOOP; + + DBMS_OUTPUT.PUT_LINE('Carregando stage de metas de venda...'); + + PRC_FLASH_CARGA_META_VENDA_STG( + p_data_inicial => p_data_inicial, + p_data_final => p_data_final + ); + + DBMS_OUTPUT.PUT_LINE('Carregando metas finais de venda...'); + + PRC_FLASH_CARGA_META_VENDA( + p_data_inicial => p_data_inicial, + p_data_final => p_data_final + ); + + DBMS_OUTPUT.PUT_LINE('Atualizando resumo de venda...'); + + PRC_FLASH_CARGA_RESUMO_VENDA( + p_data_inicial => p_data_inicial, + p_data_final => p_data_final + ); + + DBMS_OUTPUT.PUT_LINE('PRC_FLASH_ATUALIZA_VENDA_DONO finalizada em ' || TO_CHAR(SYSDATE, 'DD/MM/YYYY HH24:MI:SS')); + DBMS_OUTPUT.PUT_LINE('Tempo em segundos: ' || ROUND((SYSDATE - v_inicio_execucao) * 86400, 2)); + +EXCEPTION + WHEN OTHERS THEN + DBMS_OUTPUT.PUT_LINE('Erro geral na PRC_FLASH_ATUALIZA_VENDA_DONO: ' || SQLERRM); + RAISE; +END; +-- +goose StatementEnd +-- +goose StatementBegin +DECLARE + v_count NUMBER; +BEGIN + SELECT COUNT(*) INTO v_count FROM all_objects WHERE object_name = 'PRC_FLASH_ATUALIZA_VENDA_DONO_DONO' AND object_type = 'PROCEDURE' AND owner = 'VITRUVIO'; + IF v_count > 0 THEN + EXECUTE IMMEDIATE 'DROP PROCEDURE VITRUVIO.PRC_FLASH_ATUALIZA_VENDA_DONO_DONO'; + END IF; +END; +-- +goose StatementEnd + +-- +goose Down +-- +goose StatementBegin +DECLARE + v_count NUMBER; +BEGIN + SELECT COUNT(*) INTO v_count FROM all_objects WHERE object_name = 'PRC_FLASH_ATUALIZA_VENDA_DONO' AND object_type = 'PROCEDURE' AND owner = 'VITRUVIO'; + IF v_count > 0 THEN + EXECUTE IMMEDIATE 'DROP PROCEDURE VITRUVIO.PRC_FLASH_ATUALIZA_VENDA_DONO'; + END IF; +END; +-- +goose StatementEnd