Você está na página 1de 3

SET DATEFORMAT YMD

SET ANSI_WARNINGS OFF


SET NOCOUNT ON

DECLARE @PEDIDO VARCHAR(10)


, @CLIENTE CHAR(43)
, @CONVENIO VARCHAR(50)
, @COD_GUIA VARCHAR(10)
, @DATA_ATENDIMENTO VARCHAR(16)
, @DATA_DEVOLUCAO VARCHAR(16)
, @USUARIO CHAR(7)
, @JUST VARCHAR(39)
, @COD_GUIA_ANT VARCHAR(10)
, @POSTO_DESCR VARCHAR(40)
, @QTD INT = 0
, @DT1 DATETIME
, @DT2 DATETIME

DECLARE CONSULTA CURSOR FOR

SELECT DISTINCT PEDIDO = CONVERT(VARCHAR(10),P.codigo_pedido) + '-' +


P.posto_pedido
, CLIENTE = C.nome_cliente
, CONVENIO = G.nome_conv
, COD_GUIA = G.cod_guia
, DT_ATEND = CONVERT(VARCHAR(10),P.data_atendimento,103)-- + ' ' +
CONVERT(VARCHAR(5),P.data_atendimento,108)
, DT_DEVOL = CONVERT(VARCHAR(10),GH.data_guia_historico,103) + ' ' +
CONVERT(VARCHAR(5),GH.data_guia_historico,108)
, USUARIO = P.usu_pedido
, JUST = ISNULL(D.valor_dominio, GH.justificativa_guia_historico)
FROM PEDIDO P
JOIN CLIENTE C ON C.cod_cliente = P.cod_cliente
AND C.posto_cliente = P.posto_cliente
JOIN TIPO_G G ON G.cod_guia = P.cod_guia
JOIN GUIA_HISTORICO GH ON P.codigo_pedido = GH.codigo_pedido
AND P.posto_pedido = GH.posto_pedido
LEFT JOIN DOMINIO_VALOR D (nolock) ON D.cod_dominio_valor =
GH.justificativa_guia_historico
AND D.cod_dominio =
(SELECT top 1 cod_dominio

FROM DOMINIO

WHERE desc_dominio = 'DOMINIO_HISTORICO'

ORDER BY cod_dominio desc)


AND
ISNUMERIC(GH.justificativa_guia_historico) = 1
WHERE P.data_atendimento BETWEEN '%0:S 00:00:00' AND '%1:S 23:59:59'
AND (( P.posto_pedido = '%2:S')
OR ('%2:S' = '*')
OR ('%2:S' = '**' AND P.posto_pedido NOT IN ('08'))
OR ('%2:S' = '***' AND P.posto_pedido NOT IN ('71')) )
--AND (P.posto_pedido = '%2:S' OR '%2:S' = '*')
AND (G.cod_guia = '%3:S' OR '%3:S' = '*')
AND (G.tipo_guia = 'G')
AND (P.usu_pedido = '%4:S' OR '%4:S' = '*')
AND (p.data_guia_faturamento is null)
AND descricao_guia_historico = 'Guia de "Faturamento" para "Recepção"'
AND cod_guia_historico = (SELECT top 1 cod_guia_historico
FROM GUIA_HISTORICO A
WHERE A.codigo_pedido = P.codigo_pedido
AND A.posto_pedido = P.posto_pedido
AND A.ordem_guia = GH.ordem_guia
ORDER BY cod_guia_historico DESC)
ORDER BY G.cod_guia,C.nome_cliente

OPEN CONSULTA
FETCH NEXT FROM CONSULTA INTO @PEDIDO, @CLIENTE, @CONVENIO, @COD_GUIA,
@DATA_ATENDIMENTO, @DATA_DEVOLUCAO, @USUARIO, @JUST

SELECT @COD_GUIA_ANT = @COD_GUIA


, @DT1 = '%0:S 00:00:00'
, @DT2 = '%1:S 00:00:00'

IF '%2:S' = '*'
SELECT @POSTO_DESCR = 'TODOS'
ELSE
SELECT @POSTO_DESCR = desc_posto FROM POSTO WHERE cod_posto = '%2:S'

PRINT ' PENDÊNCIA GUIAS DEVOLVIDAS DO FATURAMENTO


PARA RECEPÇÃO'
PRINT ' ' +
CONVERT(VARCHAR(10),GETDATE(),103) + ' as ' + CONVERT(VARCHAR(5),GETDATE(),108)
PRINT ' DNA CENTER'
PRINT ''
PRINT 'PERÍODO :'+ CHAR(160) + CONVERT(VARCHAR(10),@DT1,103) + ' à ' +
CONVERT(VARCHAR(10),@DT2,103)
PRINT 'POSTO :'+ CHAR(160) + @POSTO_DESCR
PRINT ''

WHILE @@FETCH_STATUS = 0
BEGIN
PRINT 'CONVÊNIO :'+ CHAR(160) + @CONVENIO
PRINT 'PEDIDO '+CHAR(160)
+ 'CLIENTE '+CHAR(160)
+ 'USUARIO' +CHAR(160)
+ 'DATA ATEND'+CHAR(160)
+ 'DATA DEVOLUÇÃO '+CHAR(160)
+ 'JUSTIFICATIVA'
PRINT '----------'+CHAR(160)
+ '-------------------------------------------'+CHAR(160)
+ '-------'+CHAR(160)
+'----------'+CHAR(160)
+'----------------'+CHAR(160)
+'-------------'

WHILE @COD_GUIA_ANT = @COD_GUIA AND @@FETCH_STATUS = 0


BEGIN
PRINT dbo.AlinharADireita(@PEDIDO,10) + CHAR(160) + @CLIENTE +
CHAR(160) + @USUARIO + CHAR(160) + @DATA_ATENDIMENTO + CHAR(160) + @DATA_DEVOLUCAO
+ CHAR(160) + @JUST
SELECT @QTD = @QTD + 1
FETCH NEXT FROM CONSULTA INTO @PEDIDO, @CLIENTE, @CONVENIO,
@COD_GUIA, @DATA_ATENDIMENTO, @DATA_DEVOLUCAO, @USUARIO, @JUST
END
PRINT '
'+CHAR(160)+'----------------'
PRINT '
TOTAL :'+ CHAR(160) + dbo.AlinharADireita(CONVERT(VARCHAR(8),@QTD),8)
SELECT @COD_GUIA_ANT = @COD_GUIA
, @QTD = 0
PRINT ''
END

CLOSE CONSULTA
DEALLOCATE CONSULTA

Você também pode gostar