Advertisement
Guest User

Untitled

a guest
Apr 24th, 2018
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
SQL 3.96 KB | None | 0 0
  1. WITH solicitacao AS
  2. (
  3.           SELECT    s.idfilial,
  4.                     s.idsolicitacao,
  5.                     nd.numeronota AS nota_devolucao
  6.           FROM      gdc.solicitacao s
  7.           JOIN      rst.nota n
  8.           ON        n.idfilial = s.idfilial
  9.           AND       n.idregistronota = s.idregistronota
  10.           JOIN      glb.pessoa p
  11.           ON        p.idcnpj_cpf = n.idcnpj_cpf
  12.           LEFT JOIN gdc.solicitacaonotadevolucao snd
  13.           ON        snd.idfilial = s.idfilial
  14.           AND       snd.idregistronota = s.idregistronota
  15.           LEFT JOIN rst.nota nd
  16.           ON        nd.idfilial = snd.idfilial
  17.           AND       nd.idregistronota = snd.idregistronota
  18.           WHERE     s.idfilialcoleta = :idfilialcoleta
  19.           AND       p.cnpj_cpf = :fornecedor )
  20.           , movimentacao AS
  21. (
  22.        SELECT sh.idfilial,
  23.               sh.idsolicitacao,
  24.               st.descricao AS situacao,
  25.               sh.datamovimento,
  26.               MIN(sh.datamovimento) OVER (partition BY sh.idfilial, sh.idsolicitacao) AS datamenor,
  27.               MAX(sh.datamovimento) OVER (partition BY sh.idfilial, sh.idsolicitacao) AS datamaior
  28.        FROM   gdc.solicitacaohistorico sh
  29.        JOIN   solicitacao s
  30.        USING  (idfilial, idsolicitacao)
  31.        JOIN   sis.situacaoautorizacaodevolucao st
  32.        ON     sh.idsituacaoautorizacaodevolucao = st.idsituacaoautorizacaodevolucao ) , termocoleta AS
  33. (
  34.           SELECT    tcs.idfilialsolicitacao,
  35.                     tcs.idsolicitacao,
  36.                     tch.idsituacaotermocoleta,
  37.                     tch.datamovimento,
  38.                     tch.idfilial,
  39.                     tch.idtermocoleta,
  40.                     MAX(tch.datamovimento) OVER (partition BY tch.idfilial, tch.idtermocoleta) AS datamaior
  41.           FROM      solicitacao s
  42.           LEFT JOIN gdc.termocoletasolicitacao tcs
  43.           ON        tcs.idfilialsolicitacao = s.idfilial
  44.           AND       tcs.idsolicitacao = s.idsolicitacao
  45.           LEFT JOIN gdc.termocoletahistorico tch
  46.           ON        tch.idfilial = tcs.idfilial
  47.           AND       tch.idtermocoleta = tcs.idtermocoleta ), solicitacaocomtermo AS
  48. (
  49.        SELECT tc.idfilialsolicitacao,
  50.               tc.idsolicitacao,
  51.               tc.idfilial,
  52.               tc.idtermocoleta
  53.        FROM   termocoleta tc
  54.        WHERE  tc.datamovimento = tc.datamaior
  55.        AND    tc.idsituacaotermocoleta <> 3
  56.               /*Cancelado*/
  57. )
  58. SELECT    ultimohistorico.situacao,
  59.           fs.idempresa,
  60.           fs.idempresa
  61.                     ||'.'
  62.                     ||fs.numerofilial
  63.                     ||' - '
  64.                     || fs.fantasia AS filial,
  65.           fs.numerofilial,
  66.           s.idsolicitacao,
  67.           To_char(primeirohistorico.datamenor, 'dd/mm/yyyy HH24:MI:SS') AS datacadastro,
  68.           n.numeronota,
  69.           ( sct.idfilial = :idfilialcoleta
  70. AND       sct.idtermocoleta = :idtermocoleta ) AS selecionado,
  71.           s.idfilial,
  72.           s.nota_devolucao
  73. FROM      solicitacao s
  74. JOIN      movimentacao UltimoHistorico
  75. ON        ultimohistorico.idfilial = s.idfilial
  76. AND       ultimohistorico.idsolicitacao = s.idsolicitacao
  77. AND       ultimohistorico.datamovimento = ultimohistorico.datamaior
  78. JOIN      movimentacao PrimeiroHistorico
  79. ON        primeirohistorico.idfilial = s.idfilial
  80. AND       primeirohistorico.idsolicitacao = s.idsolicitacao
  81. AND       primeirohistorico.datamovimento = primeirohistorico.datamenor
  82. JOIN      glb.filial fs
  83. ON        fs.idfilial = s.idfilial
  84. JOIN      gdc.solicitacaonotadevolucao snd
  85. ON        snd.idfilial = s.idfilial
  86. AND       snd.idsolicitacao = s.idsolicitacao
  87. JOIN      rst.nota n
  88. ON        n.idfilial = snd.idfilial
  89. AND       n.idregistronota = snd.idregistronota
  90. LEFT JOIN solicitacaocomtermo sct
  91. ON        sct.idfilialsolicitacao = s.idfilial
  92. AND       sct.idsolicitacao = s.idsolicitacao
  93. WHERE     (sct.idsolicitacao IS NULL)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement