Created
July 21, 2011 19:01
-
-
Save achvaicer/1097922 to your computer and use it in GitHub Desktop.
cobranca temp
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
if object_id('tempdb..#tempCobranca1') is not null | |
drop table #tempCobranca1 | |
select | |
parte, | |
tipoIf, | |
grupo, | |
faixa, | |
modalidadeLiquidacao, | |
dataOperacao, | |
numDiasUteis, | |
tipoOperacao, | |
subTipoOperacao, | |
codigoIF, | |
cnpj, | |
contraparte, | |
funcionalidade, | |
diasCorridos, | |
valorRegistro, | |
valorNominal, | |
c_codigoIf, | |
quantidade, | |
c_guidTransacao | |
into | |
#tempCobranca1 | |
from | |
( | |
select | |
map.nm_login as parte, | |
pv.c_tipoIFAgrupamento as tipoIf, | |
pv.c_grupoAgrupamento as grupo, | |
pv.c_faixa as faixa, | |
pv.c_modalidadeAgrupamento as modalidadeLiquidacao, | |
pv.c_dataOperacaoAgrupamento as dataOperacao, | |
pv.c_numDiasUteis as numDiasUteis, | |
pv.c_tipoOperacaoAgrupamento as tipoOperacao, | |
pv.c_subTipoOperacaoAgrupamento as subTipoOperacao, | |
pv.c_codigoIFAgrupamento as codigoIF, | |
pv.c_cnpjAgrupamento as cnpj, | |
pv.c_contraparteAgrupamento as contraparte, | |
cast(isnull(pv.c_funcionalidade, '0') as bit) as funcionalidade, | |
c_prazo as diasCorridos, | |
CAST(pv.c__valorRegistro AS DECIMAL(30,2)) as valorRegistro, | |
CAST(svc.c_valorNominal as DECIMAL(30,10)) as valorNominal, | |
pv.c_codigoIf, | |
CAST(ISNULL(pv.c_quantidade, 0) as DECIMAL(30,10)) as quantidade, | |
pv.c_guidTransacao | |
from | |
t_svc_operacoes svc inner join | |
t_batch batch on (batch.tx_batch = svc.c__CollectionID) inner join | |
t_acc_usage acc on (acc.tx_uid = svc.id_source_sess) inner join | |
t_account_mapper map on (acc.id_acc = map.id_acc) inner join | |
t_pv_operacoes pv on (acc.id_sess = pv.id_sess) | |
where | |
batch.tx_namespace = '%%ns%%' and batch.tx_status = 'C' and pv.c_tipoOperacaoAgrupamento <> 'PermanenciaDebentures' | |
union | |
select | |
map.nm_login as parte, | |
pv.c_tipoIFAgrupamento as tipoIf, | |
pv.c_grupoAgrupamento as grupo, | |
pv.c_faixa as faixa, | |
pv.c_modalidadeAgrupamento as modalidadeLiquidacao, | |
svc.c_dataOperacao as dataOperacao, | |
pv.c_numDiasUteis as numDiasUteis, | |
pv.c_tipoOperacaoAgrupamento as tipoOperacao, | |
pv.c_subTipoOperacaoAgrupamento as subTipoOperacao, | |
pv.c_codigoIFAgrupamento as codigoIF, | |
pv.c_cnpjAgrupamento as cnpj, | |
pv.c_contraparteAgrupamento as contraparte, | |
cast(isnull(pv.c_funcionalidade, '0') as bit) as funcionalidade, | |
c_prazo as diasCorridos, | |
CAST(pv.c__valorRegistro AS DECIMAL(30,2)) as valorRegistro, | |
CAST(svc.c_valorNominal as DECIMAL(30,10)) as valorNominal, | |
pv.c_codigoIf, | |
CAST(ISNULL(pv.c_quantidade, 0) as DECIMAL(30,10)), | |
pv.c_guidTransacao | |
from | |
t_svc_operacoes svc inner join | |
t_batch batch on (batch.tx_batch = svc.c__CollectionID) inner join | |
t_acc_usage acc on (acc.tx_uid = svc.id_source_sess) inner join | |
t_account_mapper map on (acc.id_acc = map.id_acc) inner join | |
t_pv_operacoes pv on (acc.id_sess = pv.id_sess) inner join | |
( | |
select pv2.c_parte as parte, pv2.c_cnpjAgrupamento as cnpj, pv2.c_codigoIF as codigoIF, MAX(svc2.c_dataOperacao) as dataOperacao | |
from | |
t_svc_operacoes svc2 inner join | |
t_batch batch2 on (batch2.tx_batch = svc2.c__CollectionID) inner join | |
t_acc_usage acc2 on (acc2.tx_uid = svc2.id_source_sess) inner join | |
t_account_mapper map2 on (acc2.id_acc = map2.id_acc) inner join | |
t_pv_operacoes pv2 on (acc2.id_sess = pv2.id_sess) | |
where | |
batch2.tx_namespace = '%%ns%%' and batch2.tx_status = 'C' and pv2.c_tipoOperacaoAgrupamento = 'PermanenciaDebentures' | |
group by pv2.c_parte,pv2.c_cnpjAgrupamento, pv2.c_codigoIF | |
) as maxdata on (maxdata.parte = pv.c_parte and maxdata.cnpj = pv.c_cnpjAgrupamento and maxdata.codigoIF = pv.c_codigoIF) | |
where | |
batch.tx_namespace = '%%ns%%' and batch.tx_status = 'C' and pv.c_tipoOperacaoAgrupamento = 'PermanenciaDebentures' | |
) as t1 | |
select | |
parte, | |
tipoIf, | |
grupo, | |
faixa, | |
modalidadeLiquidacao, | |
dataOperacao, | |
numDiasUteis, | |
tipoOperacao, | |
subTipoOperacao, | |
codigoIF, | |
cnpj, | |
contraparte, | |
funcionalidade, | |
sum(diasCorridos) as diasCorridos, | |
(CASE tipoOperacao | |
WHEN 'PermanenciaDebentures' THEN avg(quantidade) * valorNominal | |
ELSE sum(valorRegistro) | |
END) as somaValorFinanceiro, | |
CAST((CASE tipoOperacao | |
WHEN 'Custodia' THEN count (distinct c_codigoIf) | |
ELSE count(1) | |
END) as VARCHAR) as quantidade, | |
sum(quantidade) as totalQuantidade | |
from | |
#tempCobranca1 | |
group by | |
parte, | |
tipoIf, | |
grupo, | |
faixa, | |
modalidadeLiquidacao, | |
dataOperacao, | |
numDiasUteis, | |
tipoOperacao, | |
subTipoOperacao, | |
codigoIF, | |
cnpj, | |
contraparte, | |
funcionalidade, | |
c_guidTransacao |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment