Escolar Documentos
Profissional Documentos
Cultura Documentos
XML Envio
XML Envio
declare
@d1 datetime,
@d2 datetime,
@status char(2),
@guia varchar(100),
@td_guias varchar(15),
@td_postos char(2),
@filtro char(1),
@posto char (2),
@lote char(5),
@nguia char(20),
@pedido char(15),
@valor float,
@valort float,
@data char(12),
@DATA2 CHAR(12),
@guia_rev char(12),
@qtd int,
@cliente char(60),
@pt1 char(2),@pt2 char(2),@pt3 char(2),@pt4 char(2),@pt5 char(2),@pt6
char(2),@pt7 char(2),
@CONVENIO VARCHAR(10),----------------------------#66268 - PAULO AUGUSTO
09/02/2023
@C_GUIA CHAR(4),
@C_PEDIDO CHAR(6),
@C_VALOR CHAR(5),
@C_ATENDIMENTO CHAR(13),
@C_REVISAO CHAR(8),
@C_STATUS CHAR(7),
@C_CLIENTE CHAR(8),
@C_LOTE CHAR(4),
@DELIM CHAR(160),
@C_CONVENIO VARCHAR(10)----------------------------#66268 - PAULO AUGUSTO
09/02/2023
print ''
print 'RELATÓRIO GUIAS REVISADAS/N REVISADAS/TODAS - 202'
print
'----------------------------------------------------------------------------------
----------------------------------------'
print ''
print 'Período de data: '+convert(varchar,@d1,103)+' até
'+convert(varchar,@d2,103)
print ''
print
'==================================================================================
========================================'
print ''
if @filtro = 'T'
begin
declare @linha varchar(max), @tamanho int, @laco int, @saida varchar(100)
set @laco = 1
set @linha = @guia
--set @linha = ',UNIMED-ANA,UNIMED-IM,UNIMED-IMG,UNIMED-INT,'
if @status = 'NR'
begin
print '-------------------'
print 'GUIAS NÃO REVISADAS'
print '-------------------'
print 'CONVENIO: '+convert(varchar,@saida)
print '-------------------'
print ''
open nrevisadas
set @valor = 0
set @valort = 0
set @qtd = 0
PRINT ''
end
begin
print '---------------'
print 'GUIAS REVISADAS'
print '---------------'
print 'CONVENIO: '+convert(varchar,@saida)
print '---------------'
print ''
open revisadas
set @valor = 0
set @valort = 0
set @qtd = 0
PRINT ''
else
begin
print '-----'
print 'TODAS'
print '-----'
print 'CONVENIO: '+convert(varchar,@saida)
print '-----'
print ''
declare todas cursor for
SELECT
convert(varchar(15),MM.no_guia_med) as 'NUMERO GUIA',
convert(varchar(15),convert(varchar,p.codigo_pedido)+'-'+p.posto_pedido) as
PEDIDO,
convert(float,SUM(( m.preco_uni_conv + m.preco_unitario ) * (case
M.numero_da_amostra when 0 then M.numero_amostras else 1 end))) AS 'VALOR TOTAL',
convert(varchar,P.data_atendimento,103) as 'DATA ATENDIMENTO',
convert(varchar,P.data_guia_revisada,103) as 'DATA REVISÃO GUIA',
l.tiss_numeroFatura,
case when p.data_guia_revisada is not null then 'REVISADA' WHEN
P.DATA_GUIA_REVISADA IS NULL THEN 'NÃO REVISADA' ELSE NULL END AS 'STATUS',
C.nome_cliente as CLIENTE,
TG.cod_guia AS 'CONVENIO'
FROM PEDIDO P WITH (NOLOCK)
JOIN cliente C WITH (NOLOCK) ON (P.cod_cliente = C.cod_cliente AND
P.posto_cliente = C.posto_cliente)
JOIN MOV_EX M WITH (NOLOCK) ON (M.codigo_pedido = P.codigo_pedido AND
M.posto_pedido = P.posto_pedido AND (ISNULL(M.status_mov_ex, '') NOT IN ('N')) )
JOIN TIPO_EX T WITH (NOLOCK) ON (T.cod_exame = M.cod_exame)
JOIN TIPO_G TG WITH (NOLOCK) ON (TG.cod_guia = P.cod_guia)
JOIN MOVEX_MED MM WITH (NOLOCK) ON (M.CODIGO_PEDIDO = MM.CODIGO_PEDIDO AND
M.POSTO_PEDIDO = MM.POSTO_PEDIDO AND M.ORDEM_MOVEX = MM.ORDEM_MOVEX AND
MM.EX_COBRANCA = '1')
JOIN GUIA G WITH (NOLOCK) ON(G.CODIGO_PEDIDO = MM.CODIGO_PEDIDO AND
G.POSTO_PEDIDO = MM.POSTO_PEDIDO AND G.ORDEM_GUIA = MM.SEQ_MED)
left JOIN LOTEGUIAS_GUIA LG WITH (NOLOCK) ON (LG.codigo_pedido =
G.codigo_pedido AND LG.posto_pedido = G.posto_pedido
AND LG.ORDEM_GUIA = G.ORDEM_GUIA)
LEFT JOIN loteguias L WITH (NOLOCK) ON (L.numeroLote = LG.numeroLote)
WHERE P.status_pedido IS NULL
AND STATUS_LOTEGUIAS IS NULL
AND P.data_atendimento between @d1 AND @d2
AND (P.cod_guia=@saida)
and p.posto_pedido in (@pt1, @pt2, @pt3, @pt4, @pt5, @pt6,@pt7)
GROUP BY MM.no_guia_med, P.data_guia_revisada, p.posto_pedido,
p.codigo_pedido, P.data_atendimento, C.nome_cliente,l.tiss_numeroFatura,
TG.cod_guia
ORDER BY P.data_atendimento, p.posto_pedido, p.codigo_pedido
open todas
set @valor = 0
set @valort = 0
set @qtd = 0
PRINT ''
end
end
end
else
begin
if @status = 'NR'
begin
print '-------------------'
print 'GUIAS NÃO REVISADAS'
print '-------------------'
open nrevisadas
set @valor = 0
set @valort = 0
set @qtd = 0
PRINT ''
end
begin
print '---------------'
print 'GUIAS REVISADAS'
print '---------------'
print ''
open revisadas
set @valor = 0
set @valort = 0
set @qtd = 0
PRINT ''
else
begin
print '-----'
print 'TODAS'
print '-----'
print ''
declare todas cursor for
SELECT
convert(varchar(15),MM.no_guia_med) as 'NUMERO GUIA',
convert(varchar(15),convert(varchar,p.codigo_pedido)
+'-'+p.posto_pedido) as PEDIDO,
convert(float,SUM(( m.preco_uni_conv + m.preco_unitario ) * (case
M.numero_da_amostra when 0 then M.numero_amostras else 1 end))) AS 'VALOR TOTAL',
convert(varchar,P.data_atendimento,103) as 'DATA ATENDIMENTO',
convert(varchar,P.data_guia_revisada,103) as 'DATA GUIA REVISADA',
l.tiss_numeroFatura,
case when p.data_guia_revisada is not null then 'REVISADA' WHEN
P.DATA_GUIA_REVISADA IS NULL THEN 'NÃO REVISADA' ELSE NULL END AS 'STATUS',
C.nome_cliente as CLIENTE,
TG.cod_guia AS 'CONVENIO'
FROM PEDIDO P WITH (NOLOCK)
JOIN cliente C WITH (NOLOCK) ON (P.cod_cliente = C.cod_cliente AND
P.posto_cliente = C.posto_cliente)
JOIN MOV_EX M WITH (NOLOCK) ON (M.codigo_pedido = P.codigo_pedido AND
M.posto_pedido = P.posto_pedido)
JOIN TIPO_EX T WITH (NOLOCK) ON (T.cod_exame = M.cod_exame)
JOIN TIPO_G TG WITH (NOLOCK) ON (TG.cod_guia = P.cod_guia)
JOIN MOVEX_MED MM WITH (NOLOCK) ON (M.CODIGO_PEDIDO = MM.CODIGO_PEDIDO
AND M.POSTO_PEDIDO = MM.POSTO_PEDIDO AND M.ORDEM_MOVEX = MM.ORDEM_MOVEX AND
MM.EX_COBRANCA = '1')
JOIN GUIA G WITH (NOLOCK) ON(G.CODIGO_PEDIDO = MM.CODIGO_PEDIDO AND
G.POSTO_PEDIDO = MM.POSTO_PEDIDO AND G.ORDEM_GUIA = MM.SEQ_MED)
left JOIN LOTEGUIAS_GUIA LG WITH (NOLOCK) ON (LG.codigo_pedido =
G.codigo_pedido AND LG.posto_pedido = G.posto_pedido
AND
LG.ORDEM_GUIA = G.ORDEM_GUIA)
LEFT JOIN loteguias L WITH (NOLOCK) ON (L.numeroLote = LG.numeroLote)
WHERE P.status_pedido IS NULL
AND STATUS_LOTEGUIAS IS NULL
AND P.data_atendimento between @d1 AND @d2
AND ((P.cod_guia = @td_guias) or (@td_guias = '*' ))
and ((p.posto_pedido = @td_postos) or (@td_postos = '*' ))
GROUP BY MM.no_guia_med, P.data_guia_revisada, p.posto_pedido,
p.codigo_pedido, P.data_atendimento, C.nome_cliente,l.tiss_numeroFatura,
TG.cod_guia
ORDER BY P.data_atendimento, p.posto_pedido, p.codigo_pedido
open todas
set @valor = 0
set @valort = 0
set @qtd = 0
PRINT ''
fetch next from todas into @nguia, @pedido, @valor,
@data,@data2,@lote,@guia_rev, @cliente, @CONVENIO
while @@FETCH_STATUS = 0
begin
print
'----------------------------------------------------------------------------------
------------'
print 'VALOR TOTAL: '+str(@valort,10,2)
print 'QUANTIDADE TOTAL: '+convert(varchar,@qtd)
print
'----------------------------------------------------------------------------------
------------'
close todas
deallocate todas
end
end
print ''
print 'ESTE RELATÓRIO É PARA SIMPLES CONFERÊNCIA.'
print 'ESTE RELATÓRIO PODE NÃO REPRESENTAR A REALIDADE NO CASO DE ATUALIZAÇÃO DE
NOVAS VERSÕES DO SOFTLAB E/OU BANCO DE DADOS.'
print ''