Você está na página 1de 21

API CRÉDITOS EMITIDOS

Área:
TI – Frotas
Análise de Sistema Projeto:
Integração TCW

SUMÁRIO

1. Introdução ...................................................................................................................................................... 3
2. Arquitetura de Integração..............................................................................................................................3
3. Detalhamento da API..................................................................................................................................... 3
Nome: Relatório de Créditos Emitidos ............................................................................................................. 3
POST /ticketlog-servicos/ebs/relatorioCreditosEmitidos/search ....................................................................... 3
3.1 Tarefa 613 - [Requisito 21] - Relatórios Créditos Emitidos - (OSB) - (JAVA) ..................................... 3
3.1.1 Método:search ............................................................................................................................. 3
3.1.2 ER ................................................................................................................................................ 8
3.1.3 Dependências .............................................................................................................................. 9
4 Banco de Dados ....................................................................................................................................... 10
5 Tabela de Erros ........................................................................................................................................ 11
6 Pendência ................................................................................................................................................. 12
7 Imagens do relatório ................................................................................................................................. 13
8 Consulta transações ................................................................................................................................. 14

Criado por: Pág. 2 de 21


Aprovado por: Última Alteração: 16/4/2019 11:29
Área:
TI – Frotas
Análise de Sistema Projeto:
Integração TCW

1. Introdução
Este documento tem por objetivo a definição das especificações necessárias para a utilização dos
serviços de consulta de veículos, motoristas e o cadastro de crédito em cartões do cliente.

2. Arquitetura de integração
Os Serviços disponibilizam as operações que serão utilizadas pelos aplicativos do cliente.
As URIs (Paths) dos Serviços são disponibilizadas pela Expers através de HTTPS.

O processo de utilização dos Serviços ocorre através de chamadas REST sobre HTTPS,
utilizando a notação JSON para representar os objetos e os verbos HTTP padrão POST (para
inclusão) e GET (para pesquisa).

A ocorrência de qualquer erro na validação dos dados recebidos resulta em uma response
JSON contendo os atributos sucesso (com o valor false), codigoErro (código do erro ocorrido) e
mensagem (descrição do erro).

A autenticação do serviço é executada através de um HTTP Basic Authorization Header em


base64 sobre HTTPS.

O usuário correspondente ao Authorization Header possui permissão para executar apenas


chamadas às operações descritas neste documento.

3. Detalhamento da API
Nome: Relatório de Créditos Emitidos

POST /ticketlog-servicos/ebs/relatorioCreditosEmitidos/search

Busca créditos emitidos dos cartão cliente conforme filtros informados.

URL Produção:
https://srv1.ticketlog.com.br/ticketlog-servicos/ebs/RelatorioCreditosEmitidos/search

URL Homologação:
https://serviceshml.ticketlog.com.br/ticketlog-servicos/ebs/RelatorioCreditosEmitidos/search

3.1 Tarefa 613 - [Requisito 21] - Relatórios Créditos Emitidos - (OSB) - (JAVA)

Desenvolver serviços que permitam listar os registros de extrato simplificado via integração.

3.1.1 Método:search

Detalhamento entrada do serviço:

Arquitetura/Protocolo REST

Webservice RelatorioCreditosEmitidos

Operação search

Método POST

Criado por: Pág. 3 de 21


Aprovado por: Última Alteração: 16/4/2019 11:29
Área:
TI – Frotas
Análise de Sistema Projeto:
Integração TCW

Mídia JSON

URL A DEFINIR

Descrição Lista os registros de créditos emitidos.

Detalhamento do JSON de entrada

# Nome # Tipo Ocor Tamanho Descrição


Pai

I01. codigoCliente - Inteiro 1 - Código do cliente.

Código do produto (Cartão)

I02. codigoProduto - Inteiro 1 - 4 – FUEL CONTROL

5 – FUEL

I03. numeroCartao - Texto 0-1 16 Número do cartão

I04. nomeCompleto - Texto 0-1 100 Nome do motorista.

I05. placaVeiculo - Texto 0-1 7 Placa do veículo.

I06. codigoTitulo - Inteiro 0-1 - Código do título.

I07. codigoGrupoCredito - Inteiro 0-1 - Código do grupo de crédito.

0-1 Ordem:

C - Cartão
I08. ordem Texto 1
D – Data do cadastro

I09. dataInicialPeriodo Datetime 0-1 - Data inicial do cadatro do crédito.

I010. dataFinalPeriodo Datetime 0-1 - Data final do cadastro do crédito.

I011. dataInicialExpiracao Datetime 0-1 - Data inicial da expiração.

I012. dataFinalExpiracao Datetime 0-1 - Data final da expiração.

I013. identificador Texto 0-1 50 Identificador.

0-1 Status:

TO –Todos;

Di – Disponível;

BL – Bloqueado;
I014. status Texto 2
EX – Expirado;

TR – Transferido;

CA – Cancelado.

Criado por: Pág. 4 de 21


Aprovado por: Última Alteração: 16/4/2019 11:29
Área:
TI – Frotas
Análise de Sistema Projeto:
Integração TCW

Detalhamento da Saída do serviço:

Arquitetura/Protocolo REST

Webservice RelatorioCreditosEmitidos

Operação search

Mídia JSON

Descrição Retorno obtido.

Detalhamento do JSON de saída

# Nome # Pai Tipo Ocor Tamanho Descrição

O01. codigoEntidade - Inteiro 1 - Código do parâmetro de configuração.

O02. codigoErro - Texto 0-1 7 Código atribuído ao erro

Retorno verdadeiro quando o processamento foi


O03. sucesso - Boolean 1 - realizado com sucesso e falso quando da
ocorrência de alguma falha.

O04. mensagem - Texto 0-1 - Mensagem de erro capturada

RelatorioCredi Itens do relatório.


tosEmitidosIte
O05. itens - 0-* -
nsRetornoInte
gracao

O06. numeroCartao Texto 1 16 Número do cartão.


itens
O07. nomeCompleto itens Texto 1 100 Nome.

O08. codigoCredito itens Inteiro 1 - Código do crédito.

O09. dataCadastro itens Datetime 1 - Data do cadastro.

O010. codigoUsuarioCartao itens Inteiro 1 - Código do usuário de cartão.

O011. tipoCredito itens Texto 1 40 Tipo do crédito.


dataLiberacaoCredit itens Data da liberação do crédito.
O012. Datetime 1 -
o
O013. dataCancelamento itens Datetime 1 - Data do cancelamento do crédito.

O014. dataValidade itens Datetime 1 - Data da validade do crédito.

O015. valorCredito itens Decimal 1 - Valor do crédito.

O016. viaCartao itens Inteiro 1 - Número da via do cartão.

O017. valorSaldo itens Decimal 1 - Valor do saldo.

O018. codigoTitulo itens Inteiro 1 - Código do título.

O019. codigoGrupoCredito itens Inteiro 1 - Código do grupo do crédito.

O020. Situacao itens Texto 1 20 Situação do crédito.

O021. Status itens Texto 1 20 Status do crédito.

O022. justificativa itens Texto 1 255 Justificativa.

Criado por: Pág. 5 de 21


Aprovado por: Última Alteração: 16/4/2019 11:29
Área:
TI – Frotas
Análise de Sistema Projeto:
Integração TCW

O023. identificador itens Texto 1 50 Identificador.

O024. creditoAtivo itens Texto 1 1 Indicador de crédito ativo.

O025. identificadorCartao itens Texto 1 1 Identificador do cartão.

O026. nomeMotorista itens Texto 1 50 Nome do motorista.

O027. placa itens Texto 1 7 Placa do veículo.

RelatorioCredi Totais do relatório.


tosEmitidosTo
O028. totais 1:1 -
taisRetornoInt
egracao

O029. totalDisponivel totais Decimal 1 - Total disponível.


quantidadeDisp totais Quantidade disponível.
O030. Inteiro 1 -
onivel

O031. totalBloqueado totais Decimal 1 - Total bloqueado.


quantidadeBloq totais Quantidade bloqueada.
O032. Inteiro 1 -
ueado
O033. totalExpirado totais Decimal 1 - Total expirado.
quantidadeExpir totais Quantidade expirada.
O034. Inteiro 1 -
ado
O035. totalCancelado totais Decimal 1 - Total cancelado.
quantidadeCanc totais Quantidade cancelada.
O036. Inteiro 1 -
elado
O037. totalTransferido Totais Decimal 1 - Total transferido.
quantidadeTran totais Quantidade transferida.
O038. Inteiro 1 -
sferido
O039. total totais Decimal 1 - Total.

O040. quantidade totais Inteiro 1 - Quantidade

Criado por: Pág. 6 de 21


Aprovado por: Última Alteração: 16/4/2019 11:29
Área:
TI – Frotas
Análise de Sistema Projeto:
Integração TCW

Processamento:

a. Criar um objeto RelatorioCreditosEmitidosEntrada , setando valores nos atributos conforme segue:


Atributo na classe
Recebe
RelatorioCreditosEmitidosEntrada

clienteTipoCartao.cliente.oid codigoCliente

clienteTipoCartao.tipoCartao.oid codigoProduto

numeroCartao numeroCartao

nomeCompleto nomeCompleto

placaVeiculo placaVeiculo

codigoTitulo codigoTitulo

codigoGrupoCredito codigoGrupoCredito

ordem ordem

dataInicialPeriodo dataInicialPeriodo

dataFinalPeriodo dataFinalPeriodo

dataInicialExpiracao dataInicialExpiracao

dataFinalExpiracao dataFinalExpiracao

identificador identificador

status status

b. Chamar o método RelatorioCreditosEmitidosFacade .search passando o objeto (vo) criado por


parâmetro.

c. Após a execução, popular JSON de saída conforme objeto


RelatorioCreditosEmitidosRetornoIntegracao retornado pelo método:

Valor de saída Recebe

codigoEntidade RelatorioCreditosEmitidosRetornoIntegracao.codigoEntidade

codigoErro RelatorioCreditosEmitidosRetornoIntegracao.codigoErro

sucesso RelatorioCreditosEmitidosRetornoIntegracao.sucesso

mensagem RelatorioCreditosEmitidosRetornoIntegracao.mensagem

itens[] RelatorioCreditosEmitidosRetornoIntegracao.itens[]

totais RelatorioCreditosEmitidosRetornoIntegracao.totais

Criado por: Pág. 7 de 21


Aprovado por: Última Alteração: 16/4/2019 11:29
Área:
TI – Frotas
Análise de Sistema Projeto:
Integração TCW

3.1.2 ER

Criado por: Pág. 8 de 21


Aprovado por: Última Alteração: 16/4/2019 11:29
Área:
TI – Frotas
Análise de Sistema Projeto:
Integração TCW

3.1.3 Dependências

Tarefa 111 - [Requisito 11] - Cadastro Usuário WEB - (JAVA)


Classe RetornoIntegracao

Criado por: Pág. 9 de 21


Aprovado por: Última Alteração: 16/4/2019 11:29
Área:
TI – Frotas
Análise de Sistema Projeto:
Integração TCW

4 Banco de Dados

Criado por: Pág. 10 de 21


Aprovado por: Última Alteração: 16/4/2019 11:29
Área:
TI – Frotas
Análise de Sistema Projeto:
Integração TCW

5 Tabela de Erros

Código Mensagem
E000000 Erro interno.

Criado por: Pág. 11 de 21


Aprovado por: Última Alteração: 16/4/2019 11:29
Área:
TI – Frotas
Análise de Sistema Projeto:
Integração TCW

6 Pendência

Criado por: Pág. 12 de 21


Aprovado por: Última Alteração: 16/4/2019 11:29
Área:
TI – Frotas
Análise de Sistema Projeto:
Integração TCW

7 Imagens do relatório

Criado por: Pág. 13 de 21


Aprovado por: Última Alteração: 16/4/2019 11:29
Área:
TI – Frotas
Análise de Sistema Projeto:
Integração TCW

8 Consulta transações

select CUC.nr_cartao,
(CASE UC.nome_completo WHEN 'N/D' THEN UC.ds_identificador_cartao else
UC.nome_completo END) nome_completo,
C.cd_credito,
convert(varchar(10),C.dt_cadastro,103) as data,
C.dt_cadastro,
C.cd_usuario_cartao,
TC.ds_tipo_credito,
C.dt_liberacao_credito,
C.dt_cancelamento,
C.dt_validade,
isnull(case
when C.dt_transferencia is not null then (select isnull(LTC.vl_credito, isnull(C.vl_credito,0))
from LOG_TRANSFERENCIA_CREDITO LTC
where LTC.cd_credito_origem = C.cd_credito)
else
isnull(C.vl_credito,0)
end ,0) as vl_credito,
CUC.nr_via_cartao,
case when C.dt_transferencia is not null then 0.0
else
(select isnull(C.vl_credito,0) - isnull(C.vl_total_compras,0) -
isNull(sum(RC.vl_desconto_credito),0)
from REDUCAO_CREDITO RC
where RC.cd_credito = C.cd_credito)
end as saldo,
C.cd_titulo,
C.cd_grupo_credito,
(case when UC.dt_cancelamento is not null then 'USUÁRIO CANCELADO'
when (CUC.dt_desativacao is not null and UC.dt_cancelamento is null ) then 'CARTÃO CANCELADO'
when (CUC.dt_desativacao is null and
exists(select 1
from BLOQUEIO_CARTAO_USUARIO_CARTAO BCUC
where BCUC.nr_cartao = CUC.nr_cartao
and BCUC.nr_via_cartao = ( select max(CUC1.nr_via_cartao)
from CARTAO_USUARIO_CARTAO CUC1
where CUC.nr_cartao = CUC1.nr_cartao )
and BCUC.dt_bloqueio is not null
and BCUC.dt_desbloqueio is null ) ) then 'CARTÃO BLOQUEADO'
when ( CUC.dt_desativacao is null and
UC.dt_cancelamento is null and
not exists ( select nr_cartao
from BLOQUEIO_CARTAO_USUARIO_CARTAO BCUC
where BCUC.nr_cartao = CUC.nr_cartao
and BCUC.nr_via_cartao = CUC.nr_via_cartao
and BCUC.dt_bloqueio is not null
and BCUC.dt_desbloqueio is null ) ) then 'CARTÃO ATIVO'
end ) situacao,
(case when C.dt_transferencia <> null Then 'TRANSFERIDO'
when (C.dt_validade is not null
and convert(varchar,C.dt_validade,112) < convert(varchar,getDate(),112))
and C.dt_transferencia is null Then 'EXPIRADO'
when C.dt_cancelamento is not null Then 'CANCELADO'
Criado por: Pág. 14 de 21
Aprovado por: Última Alteração: 16/4/2019 11:29
Área:
TI – Frotas
Análise de Sistema Projeto:
Integração TCW

when convert(varchar,C.dt_liberacao_credito,112) <=


convert(varchar,getDate(),112)
and C.dt_cancelamento is null
and C.dt_transferencia is null
and (C.dt_validade is null
or convert(varchar,C.dt_validade,112) >=
convert(varchar,getDate(),112)
) Then 'DISPONIVEL'
when (C.dt_liberacao_credito is null or convert(varchar,C.dt_liberacao_credito,112) >
convert(varchar,getDate(),112))
and (convert(varchar,C.dt_validade,112) >=
convert(varchar,getDate(),112) or C.dt_validade is null )
and C.dt_transferencia is null
and C.dt_cancelamento is null Then 'BLOQUEADO'
end) status,
ds_justificativa,
C.ds_identificador,
(case when exists (select C2.cd_credito
from CREDITO C2
inner join USUARIO_CARTAO U2
on C2.cd_usuario_cartao =
U2.cd_usuario_cartao
inner join CLIENTE_TC_REGRA_CREDITO CTCRC2
on CTCRC2.cd_cliente = U2.cd_cliente
and CTCRC2.cd_tipo_cartao =
U2.cd_tipo_cartao
and CTCRC2.cd_grupo_credito =
C2.cd_grupo_credito
and CTCRC2.fl_credito_possui_validade =
'S'
and CTCRC2.dt_desativacao = null
inner join CLIENTE_TIPO_CARTAO CTC2 on
CTCRC2.cd_cliente = CTC2.cd_cliente
and CTCRC2.cd_tipo_cartao =
CTC2.cd_tipo_cartao
and CTC2.fl_cartao_identifica_veiculo = 'S'
inner join CARTAO_USUARIO_CARTAO CUC on
C.cd_usuario_cartao = CUC.cd_usuario_cartao
where C2.cd_credito = C.cd_credito
and C2.dt_cancelamento = null
and C2.dt_transferencia = null
and(C2.dt_validade > getdate() or
C2.dt_validade = null)
and(C2.vl_credito - C2.vl_total_compras -
isnull((select sum(RC2.vl_desconto_credito)

from REDUCAO_CREDITO RC2

where RC2.cd_credito = C2.cd_credito),0) >


0)
and CTCRC2.cd_cliente = CTC2.cd_cliente
and CTCRC2.cd_tipo_cartao =
CTC2.cd_tipo_cartao
and CTC2.fl_cartao_identifica_veiculo = 'S'
) then 'S' else 'N' end) as 'CreditoAtivo',
UC.ds_identificador_cartao
SE (clienteTipoCartao.identificaMotorista OU clienteTipoCartao.tipoCartao=5) E
clienteTipoCartao.tipoCartao.oid != 5)
,M.ds_nome_motorista
FIM SE
SE (clienteTipoCartao.cartaoIdentificaVeiculo)
,VC.ds_placa
Criado por: Pág. 15 de 21
Aprovado por: Última Alteração: 16/4/2019 11:29
Área:
TI – Frotas
Análise de Sistema Projeto:
Integração TCW

FIM SE
from CARTAO_USUARIO_CARTAO CUC,
USUARIO_CARTAO UC,
CREDITO C,
TIPO_CREDITO TC
SE (clienteTipoCartao.cartaoIdentificaMotorista OU clienteTipoCartao.tipoCartao.oid = 5) E
clienteTipoCartao.tipoCartao.oid != 5
,MOTORISTA M
FIM SE
SE (clienteTipoCartao.cartaoIdentificaVeiculo)
,VEICULO_CLIENTE VC
FIM SE
where CUC.cd_usuario_cartao = UC.cd_usuario_cartao
and C.cd_usuario_cartao = CUC.cd_usuario_cartao
and TC.cd_tipo_credito = C.cd_tipo_credito
and UC.cd_cliente = vo.codigoCliente
and UC.cd_tipo_cartao = vo.codigoProduto
SE (dataInicialPeriodo INFORMADA)
and C.dt_cadastro >= dataInicialPeriodo, no formato yyyymmdd 00:00:00
and C.dt_cadastro <= dataFinalPeriodo, no formato yyyymmdd 23:59:59
FIM SE
SE (numeroCartao INFORMADO)
and CUC.nr_cartao = vo.numeroCartao
SENÃO
and CUC.dt_desativacao is null
FIM SE
SE (clienteTipoCartao.cartaoIdentificaMotorista OU clienteTipoCartao.tipoCartao.oid = 5) E
vo.codigoProduto != 5
and UC.cd_motorista = M.cd_motorista
FIM SE
SE (clienteTipoCartao.cartaoIdentificaMotorista OU clienteTipoCartao.tipoCartao.oid = 5) E
vo.nomeCompleto INFORMADO)
SE (clienteTipoCartao.tipoCartao.oid = 5)
and upper(UC.nome_completo) like (vo.nomeCompleto%)
SENÃO
and upper(M.ds_nome_motorista) like (vo.nomeCompleto%)
FIM SE
FIM SE
SE (clienteTipoCartao.cartaoIdentificaVeiculo)
and UC.cd_veiculo_cliente = VC.cd_veiculo_cliente
FIM SE
SE (clienteTipoCartao.cartaoIdentificaVeiculo)
and str_replace(upper(VC.ds_placa) , ' ', NULL) like upper(vo.placa)%
FIM SE
SE (vo.codigoTitulo INFORMADO)
and C.cd_titulo = vo.codigoTitulo
FIM SE
SE(vo.codigoGrupoCredito INFORMADO)
and C.cd_grupo_credito = vo.codigoGrupoCredito
FIM SE
SE (vo.dataInicialExpiracao INFORMADA)
and C.dt_validade IS NOT null
and convert(varchar,C.dt_validade,112) >= convert(varchar,{vo.dataInicialExpiracao,
no formato 'yyyymmdd'} , 112)
and convert(varchar,C.dt_validade,112) <= convert(varchar,{vo.dataFinalExpiracao,
no formato 'yyyymmdd'} , 112)
FIM SE
SE (vo.identificador INFORMADO)

Criado por: Pág. 16 de 21


Aprovado por: Última Alteração: 16/4/2019 11:29
Área:
TI – Frotas
Análise de Sistema Projeto:
Integração TCW

and upper(C.ds_identificador) like upper(%vo.identificador%)


FIM SE
SE (vo.status INFORMADO) E (vo.status != 'TO')
SE (vo.status = "TR")
and C.dt_transferencia IS NOT NULL
SENÃO SE (vo.status = 'EX')
and C.dt_validade is not null
and convert(varchar,C.dt_validade,112) < convert(varchar,getDate(),112)

and C.dt_transferencia = NULL


SENÃO SE(vo.status = 'CA')
and C.dt_cancelamento IS NOT NULL
SENÃO SE (vo.status = 'DI')
and C.dt_cancelamento is null
and convert(varchar,C.dt_liberacao_credito,112) <=
convert(varchar,getDate(),112)
and C.dt_transferencia is null
and(C.dt_validade is null
or convert(varchar,C.dt_validade,112) >=
convert(varchar,getDate(),112)
)
SENÃO SE (vo.status = 'BL')
and (C.dt_liberacao_credito is null or
convert(varchar,C.dt_liberacao_credito,112) > convert(varchar,getDate(),112))
and C.dt_cancelamento is null
and (convert(varchar,C.dt_validade,112) >= convert(varchar,getDate(),112)
or C.dt_validade is null )
and C.dt_transferencia is null
FIM SE
FIM SE
SE(vo.numeroCartao INFORMADO)
UNION
select CUC.nr_cartao,
(CASE UC.nome_completo WHEN 'N/D' THEN UC.ds_identificador_cartao else
UC.nome_completo END) nome_completo,
C.cd_credito,
convert(varchar(10),C.dt_cadastro,103) as data,
C.dt_cadastro,
C.cd_usuario_cartao,
TC.ds_tipo_credito,
C.dt_liberacao_credito,
C.dt_cancelamento,
C.dt_validade,
isnull( case
when C.dt_transferencia is not null then (select isnull(LTC.vl_credito, isnull(C.vl_credito,0))
from LOG_TRANSFERENCIA_CREDITO LTC
where LTC.cd_credito_origem = C.cd_credito)
else
isnull(C.vl_credito,0)
end ,0) as vl_credito,
CUC.nr_via_cartao,
case when C.dt_transferencia is not null then 0.0
else
(select isnull(C.vl_credito,0) - isnull(C.vl_total_compras,0) -
isNull(sum(RC.vl_desconto_credito),0)
from REDUCAO_CREDITO RC
where RC.cd_credito = C.cd_credito)
end as saldo,
C.cd_titulo,
Criado por: Pág. 17 de 21
Aprovado por: Última Alteração: 16/4/2019 11:29
Área:
TI – Frotas
Análise de Sistema Projeto:
Integração TCW

C.cd_grupo_credito,
(case when UC.dt_cancelamento is not null then 'USUÁRIO CANCELADO'
when (CUC.dt_desativacao is not null and UC.dt_cancelamento is null ) then 'CARTÃO CANCELADO'
when (CUC.dt_desativacao is null
and exists(select 1
from BLOQUEIO_CARTAO_USUARIO_CARTAO BCUC
where BCUC.nr_cartao = CUC.nr_cartao
and BCUC.nr_via_cartao = ( select max(CUC1.nr_via_cartao)
from CARTAO_USUARIO_CARTAO CUC1
where CUC.nr_cartao = CUC1.nr_cartao )
and BCUC.dt_bloqueio is not null
and BCUC.dt_desbloqueio is null ) ) then 'CARTÃO BLOQUEADO'
when ( CUC.dt_desativacao is null and
UC.dt_cancelamento is null and
not exists ( select nr_cartao
from BLOQUEIO_CARTAO_USUARIO_CARTAO BCUC
where BCUC.nr_cartao = CUC.nr_cartao
and BCUC.nr_via_cartao = CUC.nr_via_cartao
and BCUC.dt_bloqueio is not null
and BCUC.dt_desbloqueio is null ) ) then 'CARTÃO ATIVO'
end ) situacao,
(case when C.dt_transferencia is not null Then 'TRANSFERIDO'
when (C.dt_validade is not null
and convert(varchar,C.dt_validade,112) < convert(varchar,getDate(),112))
and C.dt_transferencia is null
Then 'EXPIRADO'
when C.dt_cancelamento is not null Then 'CANCELADO'
when convert(varchar,C.dt_liberacao_credito,112) <=
convert(varchar,getDate(),112)
and C.dt_cancelamento is null
and C.dt_transferencia is null
and (C.dt_validade is null
or convert(varchar,C.dt_validade,112) >=
convert(varchar,getDate(),112)
) Then 'DISPONIVEL'
when (C.dt_liberacao_credito is null or convert(varchar,C.dt_liberacao_credito,112) >
convert(varchar,getDate(),112))
and (convert(varchar,C.dt_validade,112) >=
convert(varchar,getDate(),112) or C.dt_validade is null)
and C.dt_transferencia is null
and C.dt_cancelamento is null Then 'BLOQUEADO'
end) status,
ds_justificativa,
C.ds_identificador,
(case when exists (select C2.cd_credito
from CREDITO C2
inner join USUARIO_CARTAO U2
on
C2.cd_usuario_cartao = U2.cd_usuario_cartao
inner join
CLIENTE_TC_REGRA_CREDITO CTCRC2
on CTCRC2.cd_cliente
= U2.cd_cliente
and
CTCRC2.cd_tipo_cartao = U2.cd_tipo_cartao
and
CTCRC2.cd_grupo_credito = C2.cd_grupo_credito
and
CTCRC2.fl_credito_possui_validade = 'S'

Criado por: Pág. 18 de 21


Aprovado por: Última Alteração: 16/4/2019 11:29
Área:
TI – Frotas
Análise de Sistema Projeto:
Integração TCW

and
CTCRC2.dt_desativacao = null
inner join CLIENTE_TIPO_CARTAO CTC2
on CTCRC2.cd_cliente = CTC2.cd_cliente
and
CTCRC2.cd_tipo_cartao = CTC2.cd_tipo_cartao
and
CTC2.fl_cartao_identifica_veiculo = 'S'
inner join CARTAO_USUARIO_CARTAO
CUC on C.cd_usuario_cartao = CUC.cd_usuario_cartao
where C2.cd_credito =
C.cd_credito
and
C2.dt_cancelamento = null
and C2.dt_transferencia
= null
and(C2.dt_validade >
getdate() or C2.dt_validade = null)
and(C2.vl_credito -
C2.vl_total_compras - isnull((select sum(RC2.vl_desconto_credito)

from
REDUCAO_CREDITO RC2

where RC2.cd_credito =
C2.cd_credito),0) > 0)
and CTCRC2.cd_cliente
= CTC2.cd_cliente
and
CTCRC2.cd_tipo_cartao = CTC2.cd_tipo_cartao
and
CTC2.fl_cartao_identifica_veiculo = 'S'
) then 'S' else 'N' end) as 'CreditoAtivo',

UC.ds_identificador_cartao
SE (clienteTipoCartao.identificaMotorista OU clienteTipoCartao.tipoCartao=5) E
clienteTipoCartao.tipoCartao.oid != 5)
,M.ds_nome_motorista
FIM SE
SE (clienteTipoCartao.cartaoIdentificaVeiculo)
,VC.ds_placa
FIM SE
from CARTAO_USUARIO_CARTAO CUC,
USUARIO_CARTAO UC,
CREDITO C,
TIPO_CREDITO TC
SE (clienteTipoCartao.cartaoIdentificaMotorista OU clienteTipoCartao.tipoCartao.oid = 5) E
clienteTipoCartao.tipoCartao.oid != 5
,MOTORISTA M
FIM SE
SE (clienteTipoCartao.cartaoIdentificaVeiculo)
,VEICULO_CLIENTE VC
FIM SE
where CUC.cd_usuario_cartao = UC.cd_usuario_cartao
and C.cd_usuario_cartao = CUC.cd_usuario_cartao
and TC.cd_tipo_credito = C.cd_tipo_credito
and UC.cd_cliente = vo.codigoCliente
and UC.cd_tipo_cartao = vo.codigoProduto
SE (dataInicialPeriodo INFORMADA)
and C.dt_cadastro >= dataInicialPeriodo, no formato yyyymmdd 00:00:00
and C.dt_cadastro <= dataFinalPeriodo, no formato yyyymmdd 23:59:59
FIM SE

Criado por: Pág. 19 de 21


Aprovado por: Última Alteração: 16/4/2019 11:29
Área:
TI – Frotas
Análise de Sistema Projeto:
Integração TCW

and NOT EXISTS( select CUC2.cd_usuario_cartao


FROM CARTAO_USUARIO_CARTAO CUC2
where CUC2.cd_usuario_cartao = CUC.cd_usuario_cartao
and CUC2.dt_desativacao is null)
and CUC.nr_cartao = (select
max(CUC2.nr_cartao)
from
CARTAO_USUARIO_CARTAO CUC2

where CUC2.cd_usuario_cartao = CUC.cd_usuario_cartao


and
CUC2.nr_via_cartao = (select max(nr_via_cartao) from CARTAO_USUARIO_CARTAO CUC3

where CUC3.cd_usuario_cartao = CUC2.cd_usuario_cartao )


)
SE (clienteTipoCartao.cartaoIdentificaMotorista OU clienteTipoCartao.tipoCartao.oid = 5) E
vo.codigoProduto != 5
and UC.cd_motorista = M.cd_motorista
FIM SE
SE (clienteTipoCartao.cartaoIdentificaMotorista OU clienteTipoCartao.tipoCartao.oid = 5) E
vo.nomeCompleto INFORMADO)
SE (clienteTipoCartao.tipoCartao.oid = 5)
and upper(UC.nome_completo) like (vo.nomeCompleto%)
SENÃO
and upper(M.ds_nome_motorista) like (vo.nomeCompleto%)
FIM SE
FIM SE
SE (clienteTipoCartao.cartaoIdentificaVeiculo)
and UC.cd_veiculo_cliente = VC.cd_veiculo_cliente
FIM SE
SE (clienteTipoCartao.cartaoIdentificaVeiculo)
and str_replace(upper(VC.ds_placa) , ' ', NULL) like upper(vo.placa)%
FIM SE

SE (vo.codigoTitulo INFORMADO)
and C.cd_titulo = vo.codigoTitulo
FIM SE

SE(vo.codigoGrupoCredito INFORMADO)
and C.cd_grupo_credito = vo.codigoGrupoCredito
FIM SE
SE (vo.dataInicialExpiracao INFORMADA)
and C.dt_validade IS NOT null
and convert(varchar,C.dt_validade,112) >= convert(varchar,{vo.dataInicialExpiracao, no formato
'yyyymmdd'} , 112)
and convert(varchar,C.dt_validade,112) <= convert(varchar,{vo.dataFinalExpiracao, no formato
'yyyymmdd'} , 112)
FIM SE
SE (vo.identificador INFORMADO)
and upper(C.ds_identificador) like upper(%vo.identificador%)
FIM SE
SE (vo.status INFORMADO) E (vo.status != 'TO')
SE (vo.status = "TR")
and C.dt_transferencia IS NOT NULL
SENÃO SE (vo.status = 'EX')
and C.dt_validade is not null
and convert(varchar,C.dt_validade,112) < convert(varchar,getDate(),112)
and C.dt_transferencia = NULL
SENÃO SE(vo.status = 'CA')

Criado por: Pág. 20 de 21


Aprovado por: Última Alteração: 16/4/2019 11:29
Área:
TI – Frotas
Análise de Sistema Projeto:
Integração TCW

and C.dt_cancelamento IS NOT NULL


SENÃO SE (vo.status = 'DI')
and C.dt_cancelamento is null
and convert(varchar,C.dt_liberacao_credito,112) <= convert(varchar,getDate(),112)
and C.dt_transferencia is null
and(C.dt_validade is null
or convert(varchar,C.dt_validade,112) >=
convert(varchar,getDate(),112)
)
SENÃO SE (vo.status = 'BL')
and (C.dt_liberacao_credito is null or convert(varchar,C.dt_liberacao_credito,112) >
convert(varchar,getDate(),112))
and C.dt_cancelamento is null
and (convert(varchar,C.dt_validade,112) >= convert(varchar,getDate(),112) or
C.dt_validade is null )
and C.dt_transferencia is null
FIM SE
FIM SE
SE(vo.ordem = 'C')
order by nr_cartao, dt_cadastro
SENÃO
order by dt_cadastro,nr_cartao
FIM SE
SENÃO
SE(ordem = 'C')
order by nr_cartao, dt_cadastro
SENÃO
order by dt_cadastro,nr_cartao
FIM SE
FIM SE

Criado por: Pág. 21 de 21


Aprovado por: Última Alteração: 16/4/2019 11:29

Você também pode gostar