Você está na página 1de 5

RELATÓRIO DE ENTREGAS

PROJETO: BI-002
Demanda: Relatório de Custo de Fontes

DATA DE ATUALIZAÇÃO: 14-02-2022

DESCRIÇÃO:

Demanda solicitada pela Dir. Operacional no nome de José Nicodemos, sobre

o qual busca avaliar a estimativa de volume de pesquisas realizadas em relação

ao volume de cadastros e atualizações realizadas por períodos.

Objetivando a entrega de metodologia para produção do relatório em escala

operacional, demandou a compreensão dos princípios processuais das regras de

negócio, dos fluxos no sistema e, da compreensão de como os dados se organizavam

na base de dados transacionais.

Ao final do projeto, objetiva-se a produção de mecanismos metodológicos

para definir a volumetria estimada das pesquisas, bem como uma nuance sobre o

comportamento financeiro, oferecendo uma visão operacional, comercial e

financeira sobre os dados levantados, sendo capaz de analisar sobre aas óticas

de Clientes, corretoras, seguradoras, gestores comerciais e operacionais,

unidades e até mesmo períodos específicos de um dado mês.

ETAPAS:

Para produção e entrega do referido relatório sob a forma de arquivo de

planilha eletrônica necessita-se dividir a referida tarefa em algumas etapas:

1. Estudo preliminar sobre as regras de negócio que necessitam estar

inseridas dentro do escopo do projeto.

2. Modelagem dos fatos sobre cadastros e atualizações, bem como suas

respectivas pesquisas nas fontes ou nas bases internas

Entrega Parcial:

Em 14 de fevereiro de 2022, foi enviado o arquivo para o gerente de

projetos Fábio Coyado para homologação junto à diretoria. Junto deste

documento, segue anexo o código do modelo SQL produzido para ser colocado em
RELATÓRIO DE ENTREGAS
PROJETO: BI-002
Demanda: Relatório de Custo de Fontes
Homologação/Produção para execução da extração de dados do banco de dados, em

ambiente de produção, do sistema Valida.

Para implementação da busca na base, utilizou-se a técnica de pivotamento

de consultas para se obter a soma do total de pesquisas por tipo por cadastro,

na base e na fonte, permitindo ainda a identificação do cliente através do

campo “d.empresa_id”. Para determinar sobre o reuso da requisição na fonte,

utilizou-se a comparação entre as datas da demanda “d.criacao”, atualização ou

cadastro, e data da requisição na fonte, ”rf.criacao”.

A comparação serve semanticamente para avaliar se a data da pesquisa

realizada foi reaproveitada de uma fonte já existente no banco de dados interno

à aplicação, assim, obteremos um valor 0 para situações em que o cliente

demandou e a requisição já existia, não gerando cobrança, e 1 para requisições

cuja data/hora são posteriores à solicitação do cliente.

ANEXO

PLANILHA PRODUTO

CAMPO DESCRIÇÃO
Cadastro Número do cadastro no sistema
Tipo_cadastro Tipologia do cadastro: Profissional,
Veículo, profissional_veículo
Empresa Código da empresa que solicitou a demanda
dtDemanda Data da demanda realizada pelo cliente
fSocio Quantidade de pesquisa do tipo SOCIO
realizada na fonte
bSocio Quantidade de pesquisa do tipo SOCIO
realizada na própria base, reaproveitando
fValidacao Quantidade de pesquisa tipo VALIDACAO na
fonte
bValidacao Quantidade de pesquisa do tipo VALIDACAO
realizada na própria base, reaproveitando
fMotor Quantidade de pesquisa tipo VEICULO_MOTOR
na fonte
bMotor Quantidade de pesquisa do tipo
VEICULO_MOTOR realizada na própria base,
reaproveitando
fCar1 Quantidade de pesquisa tipo
VEICULO_CARRETA_1 na fonte
bCar1 Quantidade de pesquisa do tipo
VEICULO_CARRETA_1 realizada na própria
base, reaproveitando
RELATÓRIO DE ENTREGAS
PROJETO: BI-002
Demanda: Relatório de Custo de Fontes
fCar2 Quantidade de pesquisa tipo
VEICULO_CARRETA_2 na fonte
bCar2 Quantidade de pesquisa do tipo
VEICULO_CARRETA_2 realizada na própria
base, reaproveitando
fCar3 Quantidade de pesquisa tipo
VEICULO_CARRETA_3 na fonte
bCar3 Quantidade de pesquisa do tipo
VEICULO_CARRETA_3 realizada na própria
base, reaproveitando
fCRM_MOTORISTA Quantidade de pesquisa CRIMINAL_MOTORISTA
realizada na fonte
bCRM_MOTORISTA Quantidade de pesquisa do tipo
CRIMINAL_MOTORISTA realizada na própria
base, reaproveitando
fCRM_PROP_MOTOR Quantidade de pesquisa
CRIMINAL_PROPRIETARIO_MOTOR realizada na
fonte
bCRM_PROP_MOTOR Quantidade de pesquisa do tipo
CRIMINAL_PROPRIETARIO_MOTOR realizada na
própria base, reaproveitando
fCRM_PROP_CAR1 Quantidade de pesquisa
CRIMINAL_PROPRIETARIO_CARRETA_1 realizada
na fonte
bCRM_PROP_CAR1 Quantidade de pesquisa do tipo
CRIMINAL_PROPRIETARIO_CARRETA_1 realizada
na própria base, reaproveitando
fCRM_PROP_CAR2 Quantidade de pesquisa
CRIMINAL_PROPRIETARIO_CARRETA_2 realizada
na fonte
bCRM_PROP_CAR2 Quantidade de pesquisa do tipo
CRIMINAL_PROPRIETARIO_CARRETA_2 realizada
na própria base, reaproveitando
fCRM_PROP_CAR3 Quantidade de pesquisa
CRIMINAL_PROPRIETARIO_CARRETA_2 realizada
na fonte
bCRM_PROP_CAR3 Quantidade de pesquisa do tipo
CRIMINAL_PROPRIETARIO_CARRETA_2 realizada
na própria base, reaproveitando
ANTT_MOTOR Quantidade de pesquisa ANTT realizada
para MOTOR
ANTT_CAR1 Quantidade de pesquisa ANTT realizada
para CARRETA_1
ANTT_CAR2 Quantidade de pesquisa ANTT realizada
para CARRETA_2
ANTT_CAR3 Quantidade de pesquisa ANTT realizada
para CARRETA_3
RELATÓRIO DE ENTREGAS
PROJETO: BI-002
Demanda: Relatório de Custo de Fontes
ANEXO

MODELO SQL – EXTRAÇÃO DE DADOS DE PESQUISAS DE CADASTROS/ATUALIZAÇÕES

select
SL.cadastro,
SL.tipo_cadastro ,
SL.empresa ,
SL.dtDemanda ,
#SOCIO
SUM(IF(SL.pesquisa = 'SOCIO' and SL.cobranca = 1 ,1,0)) AS fSOCIO,
SUM(IF(SL.pesquisa = 'SOCIO' and SL.cobranca = 0 ,1,0)) AS bSOCIO,
#VALIDACAO
SUM(IF(SL.pesquisa = 'VALIDACAO' and SL.cobranca = 1 ,1,0)) AS
fVALIDACAO,
SUM(IF(SL.pesquisa = 'VALIDACAO' and SL.cobranca = 0 ,1,0)) AS
bVALIDACAO,
#VEICULO MOTOR
SUM(IF(SL.pesquisa = 'VEICULO_MOTOR' and SL.cobranca = 1 ,1,0)) AS
fMOTOR,
SUM(IF(SL.pesquisa = 'VEICULO_MOTOR' and SL.cobranca = 0 ,1,0)) AS
bMOTOR,
#VEICULO CARRETA 1
SUM(IF(SL.pesquisa = 'VEICULO_CARRETA_1' and SL.cobranca = 1 ,1,0)) AS
fCAR1,
SUM(IF(SL.pesquisa = 'VEICULO_CARRETA_1' and SL.cobranca = 0 ,1,0)) AS
bCAR1,
#VEICULO CARRETA 2
SUM(IF(SL.pesquisa = 'VEICULO_CARRETA_2' and SL.cobranca = 1 ,1,0)) AS
fCAR2,
SUM(IF(SL.pesquisa = 'VEICULO_CARRETA_2' and SL.cobranca = 0 ,1,0)) AS
bCAR2,
#VEICULO CARRETA 3
SUM(IF(SL.pesquisa = 'VEICULO_CARRETA_3' and SL.cobranca = 1 ,1,0)) AS
fCAR3,
SUM(IF(SL.pesquisa = 'VEICULO_CARRETA_3' and SL.cobranca = 0 ,1,0)) AS
bCAR3,
#CRIMINAL MOTORISTA
SUM(IF(SL.pesquisa = 'CRIMINAL_MOTORISTA' and SL.cobranca = 1 ,1,0))
AS fCRM_MOTORISTA,
SUM(IF(SL.pesquisa = 'CRIMINAL_MOTORISTA' and SL.cobranca = 0 ,1,0))
AS bCRM_MOTORISTA,
#CRIMINAL PROPRIETARIO CRIMINAL_PROPRIETARIO_MOTOR
SUM(IF(SL.pesquisa = 'CRIMINAL_PROPRIETARIO_MOTOR' and SL.cobranca = 1
,1,0)) AS fCRM_PROP_MOTOR,
SUM(IF(SL.pesquisa = 'CRIMINAL_PROPRIETARIO_MOTOR' and SL.cobranca = 0
,1,0)) AS bCRM_PROP_MOTOR,
#CRIMINAL PROPRIETARIO CRIMINAL_PROPRIETARIO_CARRETA_1
SUM(IF(SL.pesquisa = 'CRIMINAL_PROPRIETARIO_CARRETA_1' and SL.cobranca
= 1 ,1,0)) AS fCRM_PROP_CAR1,
SUM(IF(SL.pesquisa = 'CRIMINAL_PROPRIETARIO_CARRETA_1' and SL.cobranca
= 0 ,1,0)) AS bCRM_PROP_CAR1,
#CRIMINAL PROPRIETARIO CRIMINAL_PROPRIETARIO_CARRETA_2
SUM(IF(SL.pesquisa = 'CRIMINAL_PROPRIETARIO_CARRETA_2' and SL.cobranca
= 1 ,1,0)) AS fCRM_PROP_CAR2,
RELATÓRIO DE ENTREGAS
PROJETO: BI-002
Demanda: Relatório de Custo de Fontes
SUM(IF(SL.pesquisa = 'CRIMINAL_PROPRIETARIO_CARRETA_2' and SL.cobranca
= 0 ,1,0)) AS bCRM_PROP_CAR2,
#CRIMINAL PROPRIETARIO CRIMINAL_PROPRIETARIO_CARRETA_3
SUM(IF(SL.pesquisa = 'CRIMINAL_PROPRIETARIO_CARRETA_3' and SL.cobranca
= 1 ,1,0)) AS fCRM_PROP_CAR3,
SUM(IF(SL.pesquisa = 'CRIMINAL_PROPRIETARIO_CARRETA_3' and SL.cobranca
= 0 ,1,0)) AS bCRM_PROP_CAR3,
#ANTT MOTOR
SUM(IF(SL.pesquisa = 'ANTT_MOTOR' ,1,0)) AS ANTT_MOTOR,
#ANTT CARRETA 1
SUM(IF(SL.pesquisa = 'ANTT_CARRETA_1' ,1,0)) AS ANTT_CAR1,
#ANTT CARRETA 2
SUM(IF(SL.pesquisa = 'ANTT_CARRETA_2' ,1,0)) AS ANTT_CAR2,
#ANTT CARRETA 3
SUM(IF(SL.pesquisa = 'ANTT_CARRETA_3' ,1,0)) AS ANTT_CAR3
from (
select
d.cadastro_id as cadastro,
c.tipo_cadastro as tipo_cadastro,
d.empresa_id as empresa,
pf.pesquisa as pesquisa,
d.criacao as dtDemanda,
MAX(rf.inicio) as dtReq,
IF(d.criacao>MAX(rf.inicio),0,1) as cobranca,
count(*) as qtd
from
pesquisa_fonte pf
left join pesquisa_cadastro pc on
pc.id = pf.pesquisa_cadastro_id
left join cadastro c on
c.id = pc.cadastro_id
left join demanda d on
d.cadastro_id = c.id
left join requisicao_fonte rf on
rf.id = pf.requisicao_fonte_id
where
pf.inicio BETWEEN :inicio and :fim
and d.empresa_id = :empresa
group by d.cadastro_id, pf.pesquisa
) AS SL
GROUP BY SL.cadastro

Você também pode gostar