|
CREATE OR REPLACE PROCEDURE AGH.FECHAR_ABRIR_FAT_COMPETENCIA (p_modulo IN VARCHAR2, p_openOrClose IN NUMBER)
|
|
IS
|
|
BEGIN
|
|
IF p_openOrClose = 0 THEN
|
|
INSERT INTO agh.FAT_COMPETENCIAS(modulo, mes, ano, dt_hr_inicio, ind_faturado, dt_hr_fim, criado_por, alterado_por, criado_em, alterado_em, ind_situacao, dthr_liberado_co, dthr_liberado_emerg, dthr_encerra_estatistica, VERSION, versao_sisaih)
|
|
VALUES(UPPER(p_modulo), -- MODULO
|
|
TRUNC(TO_CHAR(ADD_MONTHS(SYSDATE, 1), 'MM')), -- MES
|
|
TRUNC(TO_CHAR(SYSDATE, 'YYYY')), -- ANO
|
|
TRUNC(ADD_MONTHS(SYSDATE, 1), 'MM'), -- DT_HR_INICIO
|
|
'N', -- IND_FATURADO
|
|
NULL, -- DT_HR_FIM
|
|
'AGHU', -- CRIADO_POR
|
|
'AGHU', -- ALTERADO_POR
|
|
SYSDATE, -- CRIADO_EM
|
|
NULL, 'A', NULL, NULL, NULL, 0, NULL);
|
|
ELSIF p_openOrClose = 1 THEN
|
|
UPDATE agh.FAT_COMPETENCIAS
|
|
SET ind_faturado='S',
|
|
dt_hr_fim=TRUNC(LAST_DAY(SYSDATE)),
|
|
ind_situacao='P',
|
|
alterado_em=SYSDATE
|
|
WHERE modulo=UPPER(p_modulo)
|
|
AND ind_situacao='A'
|
|
AND mes=TRUNC(TO_CHAR(SYSDATE, 'MM'))
|
|
AND ano=TRUNC(TO_CHAR(SYSDATE, 'YYYY'));
|
|
END IF;
|
|
COMMIT;
|
|
END FECHAR_ABRIR_FAT_COMPETENCIA;
|
|
|
|
COMMIT;
|
|
|
|
CREATE OR REPLACE PROCEDURE AGH.UPDATE_FAT_COMPETENCIA IS
|
|
BEGIN
|
|
AGH.FECHAR_ABRIR_FAT_COMPETENCIA('AMB', 1); -- FECHA COMPETENCIA MES ANTERIOR
|
|
AGH.FECHAR_ABRIR_FAT_COMPETENCIA('AMB', 0); -- ABRE COMPETENCIA MES ATUAL
|
|
AGH.FECHAR_ABRIR_FAT_COMPETENCIA('INT', 1); -- FECHA COMPETENCIA MES ANTERIOR
|
|
AGH.FECHAR_ABRIR_FAT_COMPETENCIA('INT', 0); -- ABRE COMPETENCIA MES ATUAL
|
|
END UPDATE_FAT_COMPETENCIA;
|
|
|
|
COMMIT;
|
|
|
|
BEGIN
|
|
DBMS_SCHEDULER.CREATE_JOB
|
|
(
|
|
JOB_NAME => 'JB_UPDATE_FAT_COMPETENCIA',
|
|
JOB_TYPE => 'STORED_PROCEDURE',
|
|
JOB_ACTION => 'AGH.UPDATE_FAT_COMPETENCIA',
|
|
START_DATE => TO_DATE(CONCAT(TO_CHAR(LAST_DAY(SYSDATE), 'DD/MM/YYYY'), ' 23:59:00'), 'DD/MM/YYYY HH24:MI:SS'),
|
|
REPEAT_INTERVAL => 'FREQ=MONTHLY; BYMONTHDAY=-1; BYHOUR=23; BYMINUTE=59;',
|
|
END_DATE => NULL,
|
|
ENABLED => TRUE,
|
|
COMMENTS => 'ENCERRA E CRIA UMA NOVA COMPETENCIA NA TABELA AGH.FAT_COMPETENCIAS.'
|
|
);
|
|
END;
|
|
|
|
COMMIT;
|