Created
January 16, 2020 14:23
-
-
Save AndyDaSilva52/b1e0667e4c03d1ad58b280c2270df8ff to your computer and use it in GitHub Desktop.
#MegaERP - Materiais - Gerenciamento NFe - Atualizar dados dos registros nao baixados no Gerenciador de NFe com informacoes da Chave para identificar
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
create or replace PROCEDURE P_EST_RECEBNFE_AGUARDANDO AS | |
vAGN_IN_CODIGO MGADM.EST_RECEBIMENTONFE.AGN_IN_CODIGO%TYPE; | |
vHOST_NAME VARCHAR(250); | |
BEGIN | |
/** | |
AGS - 14/05/2017 - | |
Atualizar dados dos registros não baixados no Gerenciador de NFe com informações da Chave para identificar: | |
Nota Fiscal / Série / Modelo | |
Agente (CNPJ / UF) | |
*/ | |
FOR cNF IN ( | |
SELECT | |
R.RCNF_IN_SEQUENCIAL | |
, R.RCNF_ST_CHAVEXML | |
, SUBSTR(R.RCNF_ST_CHAVEXML, 0,2) cUF | |
, SUBSTR(R.RCNF_ST_CHAVEXML, 3,4) AAMM | |
, SUBSTR(R.RCNF_ST_CHAVEXML, 7,14) CNPJ | |
, SUBSTR(R.RCNF_ST_CHAVEXML, 21,2) modelo | |
, SUBSTR(R.RCNF_ST_CHAVEXML, 23,3) serie | |
, SUBSTR(R.RCNF_ST_CHAVEXML, 26,9) nNF | |
, SUBSTR(R.RCNF_ST_CHAVEXML, 35,1) tpEmis | |
, SUBSTR(R.RCNF_ST_CHAVEXML, 36,8) cNF | |
, SUBSTR(R.RCNF_ST_CHAVEXML, 44,1) DV | |
--, R.* | |
FROM MGADM.EST_RECEBIMENTONFE R | |
left join MGADM.EST_CABECRECEBXML C | |
on C.RCNF_IN_SEQUENCIAL = R.RCNF_IN_SEQUENCIAL | |
WHERE | |
(C.CAB_ST_XNOMEEMIT LIKE '%AGUARDANDO%' -- RCNF_ST_NOMERAZAO | |
OR | |
(C.CAB_ST_XNOMEEMIT IS NULL AND (C.CAB_IN_SERIE IS NULL OR C.MOD_ST_MODELO IS NULL)) | |
) | |
AND ( | |
R.RCB_DT_INCLUSAO <= (SYSDATE - (20)) | |
OR | |
R.RCNF_ST_STATUSIMPORTA = 'R' | |
) | |
AND R.RCNF_IN_SEQUENCIAL IN ( | |
SELECT T.RCNF_IN_SEQUENCIAL FROM MGADM.EST_OCORRECEBNFE T WHERE T.ORNF_ST_DESCRICAO LIKE '%[650] Rejeicao: Evento de Ciencia da Operacao para NFe cancelada ou denegada%' | |
--Erro no processo de manifestação: [650] Rejeicao: Evento de Ciencia da Operacao para NFe cancelada ou denegada | |
) | |
) LOOP | |
BEGIN | |
BEGIN | |
SELECT | |
A.AGN_IN_CODIGO | |
INTO vAGN_IN_CODIGO | |
FROM MGGLO.GLO_AGENTES A | |
WHERE TRIM(REGEXP_REPLACE(A.AGN_ST_CGC, '[^0-9]', '')) = TRIM(REGEXP_REPLACE(cNF.CNPJ, '[^0-9]', '')) | |
AND A.AGN_IN_CODIGO NOT IN (2,12,22,32) | |
; | |
EXCEPTION | |
WHEN NO_DATA_FOUND THEN | |
vAGN_IN_CODIGO := NULL; | |
DBMS_OUTPUT.PUT_LINE('CNPJ: ' || cNF.CNPJ); | |
mgcli.p_mail_log_generico(2,'P_EST_RECEBNFE_AGUARDANDO', 'CNPJ ['||cNF.CNPJ||'] não tem Cadastro'); | |
WHEN TOO_MANY_ROWS THEN | |
RAISE_APPLICATION_ERROR(-20101, 'CNPJ com mais de um registro: ' || cNF.CNPJ); | |
END; | |
IF (vAGN_IN_CODIGO IS NOT NULL) THEN | |
UPDATE MGADM.EST_RECEBIMENTONFE R | |
SET | |
R.RCB_ST_NOTA = TO_NUMBER(cNF.nNF) | |
, R.UF_ST_SIGLA = ( | |
SELECT U.UF_ST_SIGLA FROM MGGLO.GLO_UF U WHERE U.UF_IN_CODIGO = cNF.cUF | |
) | |
, R.AGN_IN_CODIGO = CASE WHEN vAGN_IN_CODIGO IS NULL THEN R.AGN_IN_CODIGO ELSE vAGN_IN_CODIGO END | |
--, R.RCNF_ST_STATUSIMPORTA = 'P' -- P;Pendente | |
WHERE R.RCNF_IN_SEQUENCIAL = cNF.RCNF_IN_SEQUENCIAL; | |
UPDATE MGADM.EST_CABECRECEBXML C | |
SET | |
C.CAB_ST_XNOMEEMIT = SUBSTR(CASE WHEN vAGN_IN_CODIGO IS NULL THEN C.CAB_ST_XNOMEEMIT ELSE (SELECT T.AGN_ST_NOME FROM MGGLO.GLO_AGENTES T WHERE T.AGN_IN_CODIGO = vAGN_IN_CODIGO) END, 0,60) | |
, C.CAB_ST_XFANTEMIT = SUBSTR(CASE WHEN vAGN_IN_CODIGO IS NULL THEN C.CAB_ST_XFANTEMIT ELSE (SELECT T.AGN_ST_FANTASIA FROM MGGLO.GLO_AGENTES T WHERE T.AGN_IN_CODIGO = vAGN_IN_CODIGO) END,0,60) | |
, C.CAB_ST_CNPJEMIT = TO_CHAR(cNF.CNPJ) -- RCNF_ST_CNPJEMITENTE | |
, C.CAB_IN_SERIE = TO_NUMBER(cNF.serie)--RCNF_IN_SERIE | |
, C.MOD_ST_MODELO = TO_CHAR(cNF.modelo)--RCNF_ST_MODELO | |
, C.CAB_ST_CUFEMIT = TO_NUMBER(cNF.cUF) --RCNF_IN_UFEMITENTE | |
WHERE C.RCNF_IN_SEQUENCIAL = cNF.RCNF_IN_SEQUENCIAL; | |
SELECT host_name | |
INTO vHOST_NAME | |
FROM v$instance; | |
MGADM.ADM_PCK_NFE.P_SetOcorrencias( | |
cNF.RCNF_IN_SEQUENCIAL , | |
1,--MGGLO.GLO_PCK_CONTEXTO.F_GETVARIAVEL('vUSU_IN_CODIGO'), | |
vHOST_NAME,--'[MGCLI.P_EST_RECEBNFE_AGUARDANDO]',--MGGLO.GLO_PCK_CONTEXTO.F_GETVARIAVEL('vCOMP_ST_NOME'), | |
NULL,--pTipoNota | |
'', | |
'Já que não teve seu Download realizado, o registro foi atualizado por customização a partir das informações de Número de Nota/Série/Modelo/CNPJ Emitente/UF Emitente disponíveis na Chave de Acesso.', | |
NULL,--pCodRejeicaoOcor | |
NULL,--pDuplicaOcorrencia | |
cNF.RCNF_ST_CHAVEXML || '.xml', | |
'Customização [MGCLI.P_EST_RECEBNFE_AGUARDANDO]', | |
'' | |
); | |
END IF; | |
END; | |
END LOOP; | |
END P_EST_RECEBNFE_AGUARDANDO; |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment