6acc92dfe2
davinTI/app-dono-modulos/pipeline/head This commit looks good
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
82 lines
2.6 KiB
SQL
82 lines
2.6 KiB
SQL
-- +goose Up
|
|
-- +goose StatementBegin
|
|
CREATE OR REPLACE PROCEDURE VITRUVIO.PRC_FLASH_ATUALIZA_VENDA_DONO_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_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 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
|