CGS - SELECT - Manifesto TAC Agregado

Modificado em Ter, 28 Jan, 2020 na (o) 12:47 PM

Descrição: Select para consulta via banco de dados.


Atenção 1! Ao clicar sobre os documentos será realizado o download de uma cópia para sua máquina. O documento original não deve ser alterado sem prévia autorização do P.O


Atenção 2! Os documentos não devem ser disponibilizados para terceiros sem prévia autorização do P.O.


Documentos: 


1. Verifica se possui parâmetro de TAC Agregado:

SELECT COUNT(T.EMPRESA) QTDE
FROM CGS_PARAMETROS_TAC

2. Se tiver parâmetro de TAC Agregado, o sistema busca os dados do Proprietário com base no código do veículo informado em tela, a data de emissão do docto em tela:

SELECT IDPROAUT
, CODINTFUNC CODIGOINTERNO
, DECODE(IDPROAUT,'S',CODIGOFORN,DECODE(CODINTPROAUTFRETE,NULL,CODINTFUNC ,CODINTPROAUTFRETE)) AS CODINT
, CODIGOFORN
, CODINTPROAUTFRETE
, CELULAR AS FONE
, C.ID_MOTORISTA
, B.RNTRC
FROM EXA015 A
, VWCGS_COLABORADORES B
, EXA015_HISTORICO C
WHERE C.ID_MOTORISTA = B.IDENTIFICADOR
AND C.MOTORISTA = B.CODINTFUNC
AND C.COD_VEICULO = A.COD_VEICULO
AND C.DT_VIGENCIAINI = (SELECT MAX(DT_VIGENCIAINI)
FROM EXA015_HISTORICO D
WHERE D.COD_VEICULO = A.COD_VEICULO
AND D.DT_CANCELAMENTO IS NULL
AND TRUNC(D.DT_VIGENCIAINI) <= TO_DATE('09/09/2019 00:00:00', 'DD/MM/YYYY HH24:MI:SS') /* PDATADOCUMENTO / )
AND A.COD_VEICULO = 2898 /
P_CODIGOVEIC */
AND C.DT_CANCELAMENTO IS NULL

3. O sistema faz uma verificação se o ID_MOTORISTA é 'E' (externo) e o IDPROAUT é 'S' (prestador de serviços).

4. Se algum os campos citados no itm 3 não saciar a validação, o sistema busca os dados do proprietário, com base no funcionário encontrado no select anterior.

5. Se o ID_MOTORISTA for 'E', o sistema verifica seu IDPROAUT - tipo de funcionário - e usa o código interno do funcionário para procurá-lo conforme seu tipo e achar o RNTRC correspondente.

5.1. Se o IDPROAUT for 'S', o sistema procura seus dados na tabela BGM_FORNECEDOR, utilizando o codigo interno:

SELECT NRFORN AS CODIGO
, RSOCIALFORN AS PROPRIETARIO
, ENDERECOFORN AS ENDERECO
, '' AS NUM
, CEPFORN AS CEP
, NRINSCRICAOFORN AS CNPJ
, '' AS INSS
, INSCESTADUALFORN AS IE
, CIDADEFORN AS CIDADE
, CODIGOUF AS UF
, TELEFONEFORN AS FONE
, NRRNTRC AS RNTRC
, NRINSCRICAOFORN AS CNPJ_CPF
, BAIRROFORN AS BAIRRO
, TIPOCONTABCO AS TIPOCONTA
, CODBANCOFORN AS CODBANCO
, CODAGENCIAFORN AS CODAGENCIA
, CODCONTABCOFORN AS CODCONTA
FROM BGM_FORNECEDOR
WHERE CODIGOFORN = ?_CODINT

5.2. Se o IDPROAUT diferente de 'S', o sistema procura seus dados na tabela FLP_PROAUTONOMOS, utilizando o codigo interno:

SELECT A.CODPROAUT AS CODIGO
, A.NOMEPROAUT AS PROPRIETARIO
, A.ENDRUAPROAUT AS ENDERECO
, A.ENDNRPROAUT AS NUM
, A.ENDCEPPROAUT AS CEP
, A.ENDTELPROAUT AS FONE
, A.INSCRINSSPROAUT AS CNPJ
, A.INSCRINSSPROAUT AS INSS
, ' ' AS IE
, NVL(B.DESCMUNIC, A.ENDCIDADEPROAUT) AS CIDADE
, A.CODIGOUF AS UF
, A.RNTRCPROAUT AS RNTRC
, A.CPFPROAUT AS CNPJ_CPF
, A.ENDBAIRROPROAUT AS BAIRRO
, DECODE(A.TIPOCONTA,2,'P','C') AS TIPOCONTA
, A.CODBANCO AS CODBANCO
, A.CODAGENCIA AS CODAGENCIA
, A.CONTAPROAUT AS CODCONTA
FROM FLP_PROAUTONOMOS A,
DVS_MUNICIPIO B
WHERE CODINTPROAUT = 2149 /* P_CODINT */
AND A.CODMUNICPROAUT = B.CODMUNIC(+)

6. Se o ID_MOTORISTA for diferente de 'E', o sistema verifica seu CODIGOVEIC - código do veículo - e acha o RNTRC correspondente.:

SELECT '' '' AS CODIGO
, C.RSOCIALEMPRESA AS PROPRIETARIO
, B.ENDERECOFL AS ENDERECO
, B.NUMEROENDFL AS NUM
, B.CEPFL AS CEP
, ''J'' AS TPDOC
, C.INSCRICAOEMPRESA AS CNPJ
, '' '' AS INSS
, B.IESTADUALFL AS IE
, B.FONEFL AS FONE
, B.CIDADEFL AS CIDADE
, B.CODIGOUF AS UF
, B.REGISTRO_RNTRC AS RNTRC
, C.INSCRICAOEMPRESA AS CNPJ_CPF
, B.BAIRROFL AS BAIRRO
, '' '' AS TIPOCONTA
, '' '' AS CODBANCO
, '' '' AS CODAGENCIA
, '' '' AS CODCONTA
FROM FRT_CADVEICULOS A
, CTR_FILIAL B
, CTR_EMPAUTORIZADAS C
WHERE A.CODIGOEMPRESA = B.CODIGOEMPRESA
AND A.CODIGOFL = B.CODIGOFL
AND B.CODINTEMPAUT = C.CODINTEMPAUT
AND A.CODIGOVEIC = ?_CODIGOVEIC

7. Depois de buscar os dados do proprietário, o sistema verifica a tabela EXA014 (Complemento dos motoristas Agregados - abas Cadastro e Complemento), se o proprietário tem TAC Agregado.

SELECT COUNT(CODIGO||ID_MOTORISTA) QTDE
FROM EXA014
WHERE TAC_AGREGADO = 'S' /* P_TAC_AGREGADO / --parâmetro TAC Agregado
AND CODIGO = 2149 /
P_MOTORISTA / --código interno do motorista
AND ID_MOTORISTA = 'E' /
P_ID_MOTORISTA */ --ID_MOTORISTA (tipo do motorista)

8. Se achar resultado, gera CIOT.

Este artigo foi útil?

Que bom!

Obrigado pelo seu feedback

Desculpe! Não conseguimos ajudar você

Obrigado pelo seu feedback

Deixe-nos saber como podemos melhorar este artigo!

Selecione pelo menos um dos motivos

Feedback enviado

Agradecemos seu esforço e tentaremos corrigir o artigo