Advertisement
Guest User

Untitled

a guest
Sep 30th, 2019
146
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PL/SQL 5.36 KB | None | 0 0
  1. -- 1° Union
  2. SELECT
  3.     '1° Union' AS qual_union,
  4.     TO_CHAR(PD.MARCA_IDO) AS MARCA_IDO,
  5.     (SELECT MARCA_NOME FROM RAR_MARCA WHERE MARCA_IDO = PD.MARCA_IDO) AS MARCA,
  6.     PA.PATEN_LOJA_IDO AS CD_LOJA,
  7.     (SELECT CANAL_NOME FROM RAR_CANAL WHERE CANAL_IDO = PD.ID_CANAL) AS CANAL,
  8.     PD.GRUPO_EMPRESARIAL AS CD_REDE,
  9.     PD.CLIEN_EST_COORDENADOR AS CD_COORDENADOR,
  10.     (SELECT NOME FROM PESSOA WHERE PESSOA = PD.CLIEN_EST_COORDENADOR) AS COORDENADOR,
  11.     PD.CLIEN_EST_CONSULTOR AS CD_CONSULTOR,
  12.     (SELECT NOME FROM PESSOA WHERE PESSOA = PD.CLIEN_EST_CONSULTOR) AS CONSULTOR,
  13.     PA.PATEN_FUNC_IDO AS CD_FUNCIONARIO,
  14.     (SELECT FUNC_NOME FROM PORTAL_FUNCIONARIO WHERE FUNC_IDO = PA.PATEN_FUNC_IDO) AS FUNCIONARIO,
  15.     (SELECT NM_MUNICIPIO FROM PESSOA WHERE PESSOA = PA.PATEN_LOJA_IDO AND MARCA_IDO = PD.MARCA_IDO) AS CIDADE,
  16.     PD.SG_UF AS UF,
  17.     PA.PATEN_TICKET_ECOMMERCE AS NUMERO_PEDIDO,
  18.     FORMATA_CPF_CNPJ(C.CRMCLI_CPF) AS CPF,
  19.     C.CRMCLI_NOME AS CLIENTE_NOME,
  20.     IM.CD_ITEM_MATERIAL AS SKU,
  21.     PI.PATENI_TAM AS NUMERACAO,
  22.     (SELECT DS_GRUPO_MATERIAL FROM GRUPO_MATERIAL WHERE GRUPO_MATERIAL = IM.GRUPO_MATERIAL) AS GRUPO_PRODUTO,
  23.     (SELECT DS_TPCAT FROM TIPO_CATEGORIA WHERE CD_TPCAT = IM.CD_TPCAT AND GRUPO_MATERIAL = IM.GRUPO_MATERIAL) AS CATEGORIA,
  24.     (SELECT DS_TPSUBCAT FROM TIPO_SUBCATEGORIA WHERE CD_TPSUBCAT = IM.CD_TPSUBCAT AND CD_TPCAT = IM.CD_TPCAT AND GRUPO_MATERIAL = IM.GRUPO_MATERIAL) AS SUBCATEGORIA,
  25.     (SELECT MAX(ECL.CD_ESTACAO)
  26.         FROM CATALOGO_PRODUTO CP
  27.         JOIN ESTACAO_COLECAO_LANCAMENTO ECL ON ECL.MARCA_IDO = CP.MARCA_IDO
  28.                 AND ECL.CD_COLECAO = CP.CD_COLECAO
  29.                 AND CP.CD_ESTACAO = ECL.CD_ESTACAO
  30.                 AND ECL.CD_LANCAMENTO = CP.CD_LANCAMENTO
  31.         WHERE CP.STATUS_CATALOGO = 'V'
  32.         AND CP.MARCA_IDO = PD.MARCA_IDO
  33.         AND CP.CD_ITEM_MATERIAL = IM.CD_ITEM_MATERIAL
  34.         AND ECL.DT_INI_REMES_COMPRA <= PA.PATEN_DATA
  35.     ) AS ESTACAO,
  36.     (SELECT MAX(ECL.CD_COLECAO)
  37.         FROM CATALOGO_PRODUTO CP
  38.         JOIN ESTACAO_COLECAO_LANCAMENTO ECL ON ECL.MARCA_IDO = CP.MARCA_IDO
  39.                 AND ECL.CD_COLECAO = CP.CD_COLECAO
  40.                 AND CP.CD_ESTACAO = ECL.CD_ESTACAO
  41.                 AND ECL.CD_LANCAMENTO = CP.CD_LANCAMENTO
  42.         WHERE CP.STATUS_CATALOGO = 'V'
  43.         AND CP.MARCA_IDO = PD.MARCA_IDO
  44.         AND CP.CD_ITEM_MATERIAL = IM.CD_ITEM_MATERIAL
  45.         AND ECL.DT_INI_REMES_COMPRA <= PA.PATEN_DATA
  46.     ) AS COLECAO,
  47.     TO_CHAR(PA.PATEN_DATA, 'DD/MM/YYYY') AS DATA_PEDIDO,
  48.     TRIM(TO_CHAR(0, '999999999990D00', 'NLS_NUMERIC_CHARACTERS = ''.,''')) AS PVL,
  49.     PI.PATENI_QTD AS QUANTIDADE_VENDIDA,
  50.     TRIM(TO_CHAR(0, '999999999990D00', 'NLS_NUMERIC_CHARACTERS = ''.,''')) AS VALOR_LIQUIDO,
  51.     TRIM(TO_CHAR(0, '999999999990D00', 'NLS_NUMERIC_CHARACTERS = ''.,'''))  AS VALOR_BRUTO,
  52.     'Aguardando integração' AS STATUS
  53. FROM
  54.     PREATENDIMENTO PA
  55.     INNER JOIN PESSOA_DEPARA PD ON PD.ANTERIOR = PA.PATEN_LOJA_IDO AND PD.MARCA_IDO = PA.PATEN_MARCA_IDO
  56.     INNER JOIN CRM_CLIENTE C ON C.CRMCLI_IDO = PA.PATEN_CRMCLI_IDO
  57.     INNER JOIN PREATENDIMENTO_ITEM PI ON PA.PATEN_IDO = PI.PATENI_PATEN_IDO
  58.     INNER JOIN ITEM_MATERIAL IM ON IM.CD_ITEM_MATERIAL = PI.PATENI_SKU
  59. WHERE
  60.     :cliente IS NOT NULL /* COLOCADA ESTA RESTRICAO, PARA APENAS FUNCIONAR EM LOJA (QUANDO O PESSOAL INTERNO TENTA EXTRAIR UM RELATORIO MENSAL COM TODAS AS LOJAS ESTE UNION TENDE A FICAR MUITO LENTO) */
  61.     AND PA.PATEN_VENDA_ECOMMERCE = 'S'
  62.     AND PA.PATEN_TICKET_ECOMMERCE IS NOT NULL
  63.     AND PD.MARCA_IDO = :marcaIdo
  64.     AND PA.PATEN_LOJA_IDO = :cliente
  65.     AND (:nrTicket IS NULL OR PA.PATEN_TICKET_ECOMMERCE ='')
  66.     AND (NULL IS NULL OR PD.GRUPO_EMPRESARIAL = NULL)
  67.     AND (NULL IS NULL OR PD.CLIEN_EST_COORDENADOR = NULL)
  68.     AND (NULL IS NULL OR PD.CLIEN_EST_CONSULTOR = NULL)
  69.     AND (NULL IS NULL OR PA.PATEN_FUNC_IDO = NULL)
  70.     AND (TRUNC(PA.PATEN_DATA) BETWEEN TO_DATE('20/09/2019', 'DD/MM/YYYY') AND TO_DATE('26/09/2019', 'DD/MM/YYYY'))
  71.     AND PD.ID_CANAL IN (10, 40)
  72.     AND PD.ANTERIOR IN (SELECT LILC_LOJA_IDO FROM LIGHT_LOJA_CONFIG)
  73.     AND EXISTS
  74.     (
  75.         SELECT
  76.             /*+ FIRST_ROWS(1) */ 1
  77.         FROM
  78.             VW_USUARIOXCLIENTE UC
  79.         WHERE
  80.             UC.CLIENTE_CODIGO = PD.ATUAL
  81.             AND UC.USUAR_IDO = :usuarIdo
  82.             AND ROWNUM = 1
  83.     )
  84.     AND NOT EXISTS
  85.     (
  86.         SELECT
  87.             /*+ FIRST_ROWS(1) */ 1
  88.         FROM
  89.             PORTAL_VENDA PV
  90.         WHERE
  91.             PV.VENDA_PESSOA = 300979 -- CODIGO ECOMMERCE
  92.             AND PV.VENDA_FUNC_IDO IS NOT NULL
  93.             AND PV.VENDA_CLIEN_IDO IS NOT NULL
  94.             AND PV.VENDA_TICKET = PA.PATEN_TICKET_ECOMMERCE
  95.             AND
  96.             (
  97.                 (:nrTicket IS NOT NULL AND PV.VENDA_DATA >= TRUNC(SYSDATE)-300)
  98.                 OR
  99.                 --
  100.                 (:nrTicket IS NULL AND PV.VENDA_DATA >= PA.PATEN_DATA)
  101.                 -- pv.venda_data >= pa.PATEN_DATA
  102.             )
  103.             AND (:nrTicket IS NULL OR PV.VENDA_TICKET ='')
  104.             AND ROWNUM = 1
  105.     )
  106.     AND NOT EXISTS
  107.     (
  108.         SELECT
  109.             /*+ FIRST_ROWS(1) */ 1
  110.         FROM
  111.             PEDIDO_ECOMMERCE PE
  112.             INNER JOIN PEDIDO_ECOMMERCE_ITEM PEI ON PEI.MARCA_IDO = PE.MARCA_IDO AND PEI.NUMERO_PEDIDO = PE.NUMERO_PEDIDO
  113.         WHERE
  114.             PE.NUMERO_PEDIDO = PA.PATEN_TICKET_ECOMMERCE
  115.             AND ROWNUM = 1
  116.     )
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement