Advertisement
Guest User

Untitled

a guest
Oct 1st, 2019
131
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PL/SQL 28.37 KB | None | 0 0
  1. SELECT
  2.                     COALESCE(SPE.DESCRICAO, 'Outros') AS STATUS,
  3.                     COALESCE(SPE.DESCRICAO_LONGA, 'Outros') AS STATUS_DESCRICAO,
  4.                     SUBQUERY.*
  5.                 FROM
  6.                 (
  7.                     SELECT
  8.                         TO_CHAR(PD.MARCA_IDO) AS MARCA_IDO,
  9.                         (SELECT MARCA_NOME FROM RAR_MARCA WHERE MARCA_IDO = PD.MARCA_IDO) AS MARCA,
  10.                         PA.PATEN_LOJA_IDO AS CD_LOJA,
  11.                         (SELECT CANAL_NOME FROM RAR_CANAL WHERE CANAL_IDO = PD.ID_CANAL) AS CANAL,
  12.                         PD.GRUPO_EMPRESARIAL AS CD_REDE,
  13.                         PD.CLIEN_EST_COORDENADOR AS CD_COORDENADOR,
  14.                         (SELECT NOME FROM PESSOA WHERE PESSOA = PD.CLIEN_EST_COORDENADOR) AS COORDENADOR,
  15.                         PD.CLIEN_EST_CONSULTOR AS CD_CONSULTOR,
  16.                         (SELECT NOME FROM PESSOA WHERE PESSOA = PD.CLIEN_EST_CONSULTOR) AS CONSULTOR,
  17.                         PA.PATEN_FUNC_IDO AS CD_FUNCIONARIO,
  18.                         (SELECT FUNC_NOME FROM PORTAL_FUNCIONARIO WHERE FUNC_IDO = PA.PATEN_FUNC_IDO) AS FUNCIONARIO,
  19.                         (SELECT NM_MUNICIPIO FROM PESSOA WHERE PESSOA = PA.PATEN_LOJA_IDO AND MARCA_IDO = PD.MARCA_IDO) AS CIDADE,
  20.                         PD.SG_UF AS UF,
  21.                         PA.PATEN_TICKET_ECOMMERCE AS NUMERO_PEDIDO,
  22.                         FORMATA_CPF_CNPJ(C.CRMCLI_CPF) AS CPF,
  23.                         C.CRMCLI_NOME AS CLIENTE_NOME,
  24.                         IM.CD_ITEM_MATERIAL AS SKU,
  25.                         PI.PATENI_TAM AS NUMERACAO,
  26.                         (SELECT DS_GRUPO_MATERIAL FROM GRUPO_MATERIAL WHERE GRUPO_MATERIAL = IM.GRUPO_MATERIAL) AS GRUPO_PRODUTO,
  27.                         (SELECT DS_TPCAT FROM TIPO_CATEGORIA WHERE CD_TPCAT = IM.CD_TPCAT AND GRUPO_MATERIAL = IM.GRUPO_MATERIAL) AS CATEGORIA,
  28.                         (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,
  29.                         (SELECT MAX(ECL.CD_ESTACAO)
  30.                             FROM CATALOGO_PRODUTO CP
  31.                             JOIN ESTACAO_COLECAO_LANCAMENTO ECL ON ECL.MARCA_IDO = CP.MARCA_IDO
  32.                                     AND ECL.CD_COLECAO = CP.CD_COLECAO
  33.                                     AND CP.CD_ESTACAO = ECL.CD_ESTACAO
  34.                                     AND ECL.CD_LANCAMENTO = CP.CD_LANCAMENTO
  35.                             WHERE CP.STATUS_CATALOGO = 'V'
  36.                             AND CP.MARCA_IDO = PD.MARCA_IDO
  37.                             AND CP.CD_ITEM_MATERIAL = IM.CD_ITEM_MATERIAL
  38.                             AND ECL.DT_INI_REMES_COMPRA <= PA.PATEN_DATA
  39.                         ) AS ESTACAO,
  40.                         (SELECT MAX(ECL.CD_COLECAO)
  41.                             FROM CATALOGO_PRODUTO CP
  42.                             JOIN ESTACAO_COLECAO_LANCAMENTO ECL ON ECL.MARCA_IDO = CP.MARCA_IDO
  43.                                     AND ECL.CD_COLECAO = CP.CD_COLECAO
  44.                                     AND CP.CD_ESTACAO = ECL.CD_ESTACAO
  45.                                     AND ECL.CD_LANCAMENTO = CP.CD_LANCAMENTO
  46.                             WHERE CP.STATUS_CATALOGO = 'V'
  47.                             AND CP.MARCA_IDO = PD.MARCA_IDO
  48.                             AND CP.CD_ITEM_MATERIAL = IM.CD_ITEM_MATERIAL
  49.                             AND ECL.DT_INI_REMES_COMPRA <= PA.PATEN_DATA
  50.                         ) AS COLECAO,
  51.                         TO_CHAR(PA.PATEN_DATA, 'DD/MM/YYYY') AS DATA_PEDIDO,
  52.                         TRIM(TO_CHAR(0, '999999999990D00', 'NLS_NUMERIC_CHARACTERS = ''.,''')) AS PVL,
  53.                         PI.PATENI_QTD AS QUANTIDADE_VENDIDA,
  54.                         TRIM(TO_CHAR(0, '999999999990D00', 'NLS_NUMERIC_CHARACTERS = ''.,''')) AS VALOR_LIQUIDO,
  55.                         TRIM(TO_CHAR(0, '999999999990D00', 'NLS_NUMERIC_CHARACTERS = ''.,'''))  AS VALOR_BRUTO,
  56.                         --'Aguardando integração' AS STATUS
  57.                         NULL AS COD_STATUS
  58.                     FROM
  59.                         PREATENDIMENTO PA
  60.                         INNER JOIN PESSOA_DEPARA PD ON PD.ANTERIOR = PA.PATEN_LOJA_IDO AND PD.MARCA_IDO = PA.PATEN_MARCA_IDO
  61.                         INNER JOIN CRM_CLIENTE C ON C.CRMCLI_IDO = PA.PATEN_CRMCLI_IDO
  62.                         INNER JOIN PREATENDIMENTO_ITEM PI ON PA.PATEN_IDO = PI.PATENI_PATEN_IDO
  63.                         INNER JOIN ITEM_MATERIAL IM ON IM.CD_ITEM_MATERIAL = PI.PATENI_SKU
  64.                     WHERE
  65.                         :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) */
  66.                         AND PA.PATEN_VENDA_ECOMMERCE = 'S'
  67.                         AND PA.PATEN_TICKET_ECOMMERCE IS NOT NULL
  68.                         AND PD.MARCA_IDO = :marcaIdo
  69.                         AND PA.PATEN_LOJA_IDO = :cliente
  70.                         AND (:nrTicket IS NULL OR PA.PATEN_TICKET_ECOMMERCE ='')
  71.                         AND (NULL IS NULL OR PD.GRUPO_EMPRESARIAL = NULL)
  72.                         AND (NULL IS NULL OR PD.CLIEN_EST_COORDENADOR = NULL)
  73.                         AND (NULL IS NULL OR PD.CLIEN_EST_CONSULTOR = NULL)
  74.                         AND (NULL IS NULL OR PA.PATEN_FUNC_IDO = NULL)
  75.                         AND (TRUNC(PA.PATEN_DATA) BETWEEN TO_DATE('20/09/2019', 'DD/MM/YYYY') AND TO_DATE('26/10/2019', 'DD/MM/YYYY'))
  76.                         AND PD.ID_CANAL IN (10, 40)
  77.                         AND PD.ANTERIOR IN (SELECT LILC_LOJA_IDO FROM LIGHT_LOJA_CONFIG)
  78.                         AND EXISTS
  79.                         (
  80.                             SELECT
  81.                                 /*+ FIRST_ROWS(1) */ 1
  82.                             FROM
  83.                                 VW_USUARIOXCLIENTE UC
  84.                             WHERE
  85.                                 UC.CLIENTE_CODIGO = PD.ATUAL
  86.                                 AND UC.USUAR_IDO = :usuarIdo
  87.                                 AND ROWNUM = 1
  88.                         )
  89.                         AND NOT EXISTS
  90.                         (
  91.                             SELECT
  92.                                 /*+ FIRST_ROWS(1) */ 1
  93.                             FROM
  94.                                 PORTAL_VENDA PV
  95.                             WHERE
  96.                                 PV.VENDA_PESSOA = 300979 -- CODIGO ECOMMERCE
  97.                                 AND PV.VENDA_FUNC_IDO IS NOT NULL
  98.                                 AND PV.VENDA_CLIEN_IDO IS NOT NULL
  99.                                 AND PV.VENDA_TICKET = PA.PATEN_TICKET_ECOMMERCE
  100.                                 AND
  101.                                 (
  102.                                     (:nrTicket IS NULL AND PV.VENDA_DATA >= PA.PATEN_DATA AND PV.VENDA_DATA <= (PA.PATEN_DATA +90))
  103.                                 )
  104.                                 AND (:nrTicket IS NULL OR PV.VENDA_TICKET ='')
  105.                                 AND ROWNUM = 1
  106.                         )
  107.                         AND NOT EXISTS
  108.                         (
  109.                             SELECT
  110.                                 /*+ FIRST_ROWS(1) */ 1
  111.                             FROM
  112.                                 PEDIDO_ECOMMERCE PE
  113.                                 INNER JOIN PEDIDO_ECOMMERCE_ITEM PEI ON PEI.MARCA_IDO = PE.MARCA_IDO AND PEI.NUMERO_PEDIDO = PE.NUMERO_PEDIDO
  114.                             WHERE
  115.                                 PE.NUMERO_PEDIDO = PA.PATEN_TICKET_ECOMMERCE
  116.                                 AND ROWNUM = 1
  117.                         )
  118.  
  119.                     UNION ALL
  120.  
  121.                     SELECT
  122.                         TO_CHAR(PD.MARCA_IDO) AS MARCA_IDO,
  123.                         (SELECT MARCA_NOME FROM RAR_MARCA WHERE MARCA_IDO = PD.MARCA_IDO) AS MARCA,
  124.                         PA.PATEN_LOJA_IDO AS CD_LOJA,
  125.                         (SELECT CANAL_NOME FROM RAR_CANAL WHERE CANAL_IDO = PD.ID_CANAL) AS CANAL,
  126.                         PD.GRUPO_EMPRESARIAL AS CD_REDE,
  127.                         PD.CLIEN_EST_COORDENADOR AS CD_COORDENADOR,
  128.                         (SELECT NOME FROM PESSOA WHERE PESSOA = PD.CLIEN_EST_COORDENADOR) AS COORDENADOR,
  129.                         PD.CLIEN_EST_CONSULTOR AS CD_CONSULTOR,
  130.                         (SELECT NOME FROM PESSOA WHERE PESSOA = PD.CLIEN_EST_CONSULTOR) AS CONSULTOR,
  131.                         PA.PATEN_FUNC_IDO AS CD_FUNCIONARIO,
  132.                         (SELECT FUNC_NOME FROM PORTAL_FUNCIONARIO WHERE FUNC_IDO = PA.PATEN_FUNC_IDO) AS FUNCIONARIO,
  133.                         (SELECT NM_MUNICIPIO FROM PESSOA WHERE PESSOA = PA.PATEN_LOJA_IDO AND MARCA_IDO = PD.MARCA_IDO) AS CIDADE,
  134.                         PD.SG_UF AS UF,
  135.                         PE.NUMERO_PEDIDO,
  136.                         FORMATA_CPF_CNPJ(C.CRMCLI_CPF) AS CPF,
  137.                         C.CRMCLI_NOME AS CLIENTE_NOME,
  138.                         PEI.CD_ITEM_MATERIAL AS SKU,
  139.                         PEI.TAMANHO AS NUMERACAO,
  140.                         (SELECT DS_GRUPO_MATERIAL FROM GRUPO_MATERIAL WHERE GRUPO_MATERIAL = IM.GRUPO_MATERIAL) AS GRUPO_PRODUTO,
  141.                         (SELECT DS_TPCAT FROM TIPO_CATEGORIA WHERE CD_TPCAT = IM.CD_TPCAT AND GRUPO_MATERIAL = IM.GRUPO_MATERIAL) AS CATEGORIA,
  142.                         (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,
  143.                         (SELECT MAX(ECL.CD_ESTACAO)
  144.                             FROM CATALOGO_PRODUTO CP
  145.                             JOIN ESTACAO_COLECAO_LANCAMENTO ECL ON ECL.MARCA_IDO = CP.MARCA_IDO
  146.                                     AND ECL.CD_COLECAO = CP.CD_COLECAO
  147.                                     AND CP.CD_ESTACAO = ECL.CD_ESTACAO
  148.                                     AND ECL.CD_LANCAMENTO = CP.CD_LANCAMENTO
  149.                             WHERE CP.STATUS_CATALOGO = 'V'
  150.                             AND CP.MARCA_IDO = PE.MARCA_IDO  
  151.                             AND CP.CD_ITEM_MATERIAL = PEI.CD_ITEM_MATERIAL
  152.                             AND ECL.DT_INI_REMES_COMPRA <= PA.PATEN_DATA
  153.                         ) AS ESTACAO,
  154.                         (SELECT MAX(ECL.CD_COLECAO)
  155.                             FROM CATALOGO_PRODUTO CP
  156.                             JOIN ESTACAO_COLECAO_LANCAMENTO ECL ON ECL.MARCA_IDO = CP.MARCA_IDO
  157.                                     AND ECL.CD_COLECAO = CP.CD_COLECAO
  158.                                     AND CP.CD_ESTACAO = ECL.CD_ESTACAO
  159.                                     AND ECL.CD_LANCAMENTO = CP.CD_LANCAMENTO
  160.                             WHERE CP.STATUS_CATALOGO = 'V'
  161.                             AND CP.MARCA_IDO = PE.MARCA_IDO  
  162.                             AND CP.CD_ITEM_MATERIAL = PEI.CD_ITEM_MATERIAL
  163.                             AND ECL.DT_INI_REMES_COMPRA <= PA.PATEN_DATA
  164.                         ) AS COLECAO,
  165.                         TO_CHAR(PA.PATEN_DATA, 'DD/MM/YYYY') AS DATA_PEDIDO,
  166.                         TRIM(TO_CHAR(PEI.PRECO_BASE, '999999999990D00', 'NLS_NUMERIC_CHARACTERS = ''.,''')) AS PVL,
  167.                         PEI.QTD AS QUANTIDADE_VENDIDA,
  168.                         TRIM(TO_CHAR((PEI.PRECO_BASE * PEI.QTD), '999999999990D00', 'NLS_NUMERIC_CHARACTERS = ''.,''')) AS VALOR_LIQUIDO,
  169.                         TRIM(TO_CHAR(PEI.PRECO_TOTAL, '999999999990D00', 'NLS_NUMERIC_CHARACTERS = ''.,'''))  AS VALOR_BRUTO,
  170.                         PE.STATUS
  171.                     FROM
  172.                         PREATENDIMENTO PA
  173.                         INNER JOIN PESSOA_DEPARA PD ON PD.ANTERIOR = PA.PATEN_LOJA_IDO AND PD.MARCA_IDO = PA.PATEN_MARCA_IDO
  174.                         INNER JOIN CRM_CLIENTE C ON C.CRMCLI_IDO = PA.PATEN_CRMCLI_IDO
  175.                         INNER JOIN PEDIDO_ECOMMERCE PE ON PE.NUMERO_PEDIDO = PA.PATEN_TICKET_ECOMMERCE
  176.                         INNER JOIN PEDIDO_ECOMMERCE_ITEM PEI ON PEI.MARCA_IDO = PE.MARCA_IDO AND PEI.NUMERO_PEDIDO = PE.NUMERO_PEDIDO
  177.                         INNER JOIN ITEM_MATERIAL IM ON IM.MARCA_IDO = PEI.MARCA_IDO AND IM.CD_ITEM_MATERIAL = PEI.CD_ITEM_MATERIAL
  178.                     WHERE
  179.                         PA.PATEN_VENDA_ECOMMERCE = 'S'
  180.                         AND PA.PATEN_TICKET_ECOMMERCE IS NOT NULL
  181.                         AND PD.MARCA_IDO = :marcaIdo
  182.                         AND (:nrTicket IS NULL OR PA.PATEN_TICKET_ECOMMERCE ='')
  183.                         AND (:cliente IS NULL OR PA.PATEN_LOJA_IDO ='303008')
  184.                         AND (NULL IS NULL OR PD.GRUPO_EMPRESARIAL = NULL)
  185.                         AND (NULL IS NULL OR PD.CLIEN_EST_COORDENADOR = NULL)
  186.                         AND (NULL IS NULL OR PD.CLIEN_EST_CONSULTOR = NULL)
  187.                         AND (NULL IS NULL OR PA.PATEN_FUNC_IDO = NULL)
  188.                         AND (TRUNC(PA.PATEN_DATA) BETWEEN TO_DATE('20/09/2019', 'DD/MM/YYYY') AND TO_DATE('26/10/2019', 'DD/MM/YYYY'))
  189.                         AND PD.ANTERIOR IN (SELECT LILC_LOJA_IDO FROM LIGHT_LOJA_CONFIG)
  190.                         AND PD.ID_CANAL IN (10, 40)
  191.                         AND EXISTS
  192.                         (
  193.                             SELECT
  194.                                 /*+ FIRST_ROWS(1) */ 1
  195.                             FROM
  196.                                 VW_USUARIOXCLIENTE UC
  197.                             WHERE
  198.                                 UC.CLIENTE_CODIGO = PD.ATUAL
  199.                                 AND UC.USUAR_IDO = :usuarIdo
  200.                                 AND ROWNUM = 1
  201.                         )
  202.                         AND NOT EXISTS
  203.                         (
  204.                             SELECT
  205.                                 /*+ FIRST_ROWS(1) */ 1
  206.                             FROM
  207.                                 PORTAL_VENDA PV
  208.                             WHERE
  209.                                 PV.VENDA_PESSOA = 300979 -- CODIGO ECOMMERCE
  210.                                 AND PV.VENDA_FUNC_IDO IS NOT NULL
  211.                                 AND PV.VENDA_CLIEN_IDO IS NOT NULL
  212.                                 AND PV.VENDA_TICKET = PA.PATEN_TICKET_ECOMMERCE
  213.                                 AND
  214.                                 (
  215.                                     (:nrTicket IS NULL AND PV.VENDA_DATA >= PA.PATEN_DATA AND PV.VENDA_DATA <= (PA.PATEN_DATA +90))
  216.                                 )
  217.                                 AND (:nrTicket IS NULL OR PV.VENDA_TICKET ='')
  218.                                 AND ROWNUM = 1
  219.                         )
  220.                    
  221.                     UNION ALL
  222.                    
  223.                     SELECT DISTINCT
  224.                         TO_CHAR(IM.MARCA_IDO) AS MARCA_IDO,
  225.                         (SELECT MARCA_NOME FROM RAR_MARCA WHERE MARCA_IDO = IM.MARCA_IDO AND ROWNUM = 1) AS MARCA,  
  226.                         PD.ATUAL AS CD_LOJA,
  227.                         (SELECT CANAL_NOME FROM RAR_CANAL WHERE CANAL_IDO = 20) AS CANAL,
  228.                         PD.GRUPO_EMPRESARIAL AS CD_REDE,
  229.                         PD.CLIEN_EST_COORDENADOR AS CD_COORDENADOR,
  230.                         (SELECT NOME FROM PESSOA WHERE PESSOA = PD.CLIEN_EST_COORDENADOR) AS COORDENADOR,
  231.                         PD.CLIEN_EST_CONSULTOR AS CD_CONSULTOR,
  232.                         (SELECT NOME FROM PESSOA WHERE PESSOA = PD.CLIEN_EST_CONSULTOR) AS CONSULTOR,
  233.                         PF.FUNC_IDO AS CD_FUNCIONARIO,
  234.                         PF.FUNC_NOME AS FUNCIONARIO,
  235.                         (SELECT NM_MUNICIPIO FROM PESSOA WHERE PESSOA = PD.ATUAL AND MARCA_IDO = PD.MARCA_IDO) AS CIDADE,
  236.                         PD.SG_UF AS UF,
  237.                         PV.VENDA_TICKET AS NUMERO_PEDIDO,
  238.                         FORMATA_CPF_CNPJ(CC.CRMCLI_CPF) AS CPF,
  239.                         CC.CRMCLI_NOME AS CLIENTE_NOME,
  240.                         PVI.VENIT_PRODUTO AS SKU,
  241.                         PVI.VENIT_TAMANHO AS NUMERACAO,
  242.                         (SELECT DS_GRUPO_MATERIAL FROM GRUPO_MATERIAL WHERE GRUPO_MATERIAL = IM.GRUPO_MATERIAL) AS GRUPO_PRODUTO,
  243.                         (SELECT DS_TPCAT FROM TIPO_CATEGORIA WHERE CD_TPCAT = IM.CD_TPCAT AND GRUPO_MATERIAL = IM.GRUPO_MATERIAL) AS CATEGORIA,
  244.                         (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,
  245.                             (SELECT MAX(ECL.CD_ESTACAO)
  246.                             FROM CATALOGO_PRODUTO CP
  247.                             JOIN ESTACAO_COLECAO_LANCAMENTO ECL ON ECL.MARCA_IDO = CP.MARCA_IDO
  248.                                     AND ECL.CD_COLECAO = CP.CD_COLECAO
  249.                                     AND CP.CD_ESTACAO = ECL.CD_ESTACAO
  250.                                     AND ECL.CD_LANCAMENTO = CP.CD_LANCAMENTO
  251.                             WHERE CP.STATUS_CATALOGO = 'V'
  252.                             AND CP.MARCA_IDO = IM.MARCA_IDO  
  253.                             AND CP.CD_ITEM_MATERIAL = PVI.VENIT_PRODUTO
  254.                             AND ECL.DT_INI_REMES_COMPRA <= PV.VENDA_DATA
  255.                         ) AS ESTACAO,
  256.                         (SELECT MAX(ECL.CD_COLECAO)
  257.                             FROM CATALOGO_PRODUTO CP
  258.                             JOIN ESTACAO_COLECAO_LANCAMENTO ECL ON ECL.MARCA_IDO = CP.MARCA_IDO
  259.                                     AND ECL.CD_COLECAO = CP.CD_COLECAO
  260.                                     AND CP.CD_ESTACAO = ECL.CD_ESTACAO
  261.                                     AND ECL.CD_LANCAMENTO = CP.CD_LANCAMENTO
  262.                             WHERE CP.STATUS_CATALOGO = 'V'
  263.                             AND CP.MARCA_IDO = IM.MARCA_IDO  
  264.                             AND CP.CD_ITEM_MATERIAL = PVI.VENIT_PRODUTO
  265.                             AND ECL.DT_INI_REMES_COMPRA <= PV.VENDA_DATA
  266.                         ) AS COLECAO,
  267.                         TO_CHAR(PV.VENDA_DATA, 'DD/MM/YYYY') AS DATA_PEDIDO,
  268.                         TRIM(TO_CHAR(F_ITEM_PRECO(PVI.VENIT_PRODUTO), '999999999990D00', 'NLS_NUMERIC_CHARACTERS = ''.,''')) AS PVL,
  269.                         PVI.VENIT_QUANTIDADE AS QUANTIDADE_VENDIDA,
  270.  
  271.                         TRIM(TO_CHAR((PVI.VENIT_PRECO_UNITARIO * PVI.VENIT_QUANTIDADE), '999999999990D00', 'NLS_NUMERIC_CHARACTERS = ''.,'''))  AS VALOR_LIQUIDO,
  272.  
  273.                         /* PROPORCIONALIZAR O VALOR DO FRETE */
  274.                         TRIM(TO_CHAR((
  275.                             ((CASE
  276.                                 WHEN VENDA_QUANTIDADE > 0 THEN ((VENDA_VALOR_BRUTO - VENDA_VALOR) / VENDA_QUANTIDADE)
  277.                                 ELSE 0
  278.                             END) * PVI.VENIT_QUANTIDADE) + (PVI.VENIT_PRECO_UNITARIO * PVI.VENIT_QUANTIDADE)
  279.                         ), '999999999990D00', 'NLS_NUMERIC_CHARACTERS = ''.,''')) AS VALOR_BRUTO,
  280.  
  281.                         (SELECT MAX(PEC.STATUS) FROM PEDIDO_ECOMMERCE PEC WHERE PEC.NUMERO_PEDIDO = PV.VENDA_TICKET)
  282.                     FROM
  283.                         PESSOA_DEPARA PD
  284.                         INNER JOIN PORTAL_FUNCIONARIO PF ON (PF.FUNC_PESSOA_LOJA = PD.ATUAL)
  285.                         INNER JOIN PORTAL_VENDA PV ON
  286.                         (
  287.                             PV.VENDA_PESSOA = 300979 -- CODIGO ECOMMERCE
  288.                             AND PV.VENDA_FUNC_IDO = PF.FUNC_IDO
  289.                             AND (:nrTicket IS NOT NULL OR (PV.VENDA_DATA BETWEEN TO_DATE('20/09/2019', 'DD/MM/YYYY') AND TO_DATE('26/10/2019', 'DD/MM/YYYY')))
  290.                             AND
  291.                             (
  292.                                 (:nrTicket IS NOT NULL AND PV.VENDA_DATA >= TRUNC(SYSDATE)-600)
  293.                                 OR
  294.                                 (:nrTicket IS NULL AND PV.VENDA_DATA BETWEEN TO_DATE('20/09/2019', 'DD/MM/YYYY') AND TO_DATE('26/10/2019', 'DD/MM/YYYY'))
  295.                             )
  296.                             AND (:nrTicket IS NULL OR PV.VENDA_TICKET ='')
  297.                         )
  298.                         INNER JOIN PORTAL_VENDA_ITEM PVI ON (PV.VENDA_IDO = PVI.VENIT_VENDA_IDO)
  299.                         INNER JOIN PORTAL_CLIENTE PC ON PC.CLIEN_IDO = PV.VENDA_CLIEN_IDO
  300.                         INNER JOIN CRM_CLIENTE CC ON CC.CRMCLI_CPF = PC.CLIEN_CNPJCPF
  301.                         INNER JOIN ITEM_MATERIAL IM ON (IM.MARCA_IDO = PD.MARCA_IDO AND PVI.VENIT_PRODUTO = IM.CD_ITEM_MATERIAL)
  302.                     WHERE
  303.                         PD.MARCA_IDO = :marcaIdo
  304.                         AND PD.ATUAL = PD.ANTERIOR
  305.                         AND PD.ANTERIOR IN (SELECT LILC_LOJA_IDO FROM LIGHT_LOJA_CONFIG)
  306.                         AND (:nrTicket IS NULL OR PV.VENDA_TICKET ='')
  307.                         AND (:cliente IS NULL OR PF.FUNC_PESSOA_LOJA ='303008')
  308.                         AND (NULL IS NULL OR PD.GRUPO_EMPRESARIAL = NULL)
  309.                         AND (NULL IS NULL OR PD.CLIEN_EST_COORDENADOR = NULL)
  310.                         AND (NULL IS NULL OR PD.CLIEN_EST_CONSULTOR = NULL)
  311.                         AND (NULL IS NULL OR PV.VENDA_FUNC_IDO = NULL)
  312.                         AND
  313.                         (
  314.                             (:nrTicket IS NOT NULL AND PV.VENDA_DATA >= TRUNC(SYSDATE)-600)
  315.                             OR
  316.                             (:nrTicket IS NULL AND PV.VENDA_DATA BETWEEN TO_DATE('20/09/2019', 'DD/MM/YYYY') AND TO_DATE('26/10/2019', 'DD/MM/YYYY'))
  317.                         )
  318.  
  319.                     UNION ALL
  320.                    
  321.                     SELECT
  322.                             TO_CHAR(PD.MARCA_IDO) AS MARCA_IDO,
  323.                             (SELECT MARCA_NOME FROM RAR_MARCA WHERE MARCA_IDO = PD.MARCA_IDO) AS MARCA,
  324.                             PA.PATEN_LOJA_IDO AS CD_LOJA,
  325.                             (SELECT CANAL_NOME FROM RAR_CANAL WHERE CANAL_IDO = PD.ID_CANAL) AS CANAL,
  326.                             PD.GRUPO_EMPRESARIAL AS CD_REDE,
  327.                             PD.CLIEN_EST_COORDENADOR AS CD_COORDENADOR,
  328.                             (SELECT NOME FROM PESSOA WHERE PESSOA = PD.CLIEN_EST_COORDENADOR) AS COORDENADOR,
  329.                             PD.CLIEN_EST_CONSULTOR AS CD_CONSULTOR,
  330.                             (SELECT NOME FROM PESSOA WHERE PESSOA = PD.CLIEN_EST_CONSULTOR) AS CONSULTOR,
  331.                             PA.PATEN_FUNC_IDO AS CD_FUNCIONARIO,
  332.                             (SELECT FUNC_NOME FROM PORTAL_FUNCIONARIO WHERE FUNC_IDO = PA.PATEN_FUNC_IDO) AS FUNCIONARIO,
  333.                             (SELECT NM_MUNICIPIO FROM PESSOA WHERE PESSOA = PA.PATEN_LOJA_IDO AND MARCA_IDO = PD.MARCA_IDO) AS CIDADE,
  334.                             PD.SG_UF AS UF,
  335.                             PE.NUMERO_PEDIDO,
  336.                             FORMATA_CPF_CNPJ(C.CRMCLI_CPF) AS CPF,
  337.                             C.CRMCLI_NOME AS CLIENTE_NOME,
  338.                             PEI.CD_ITEM_MATERIAL AS SKU,
  339.                             PEI.TAMANHO AS NUMERACAO,
  340.                             (SELECT DS_GRUPO_MATERIAL FROM GRUPO_MATERIAL WHERE GRUPO_MATERIAL = IM.GRUPO_MATERIAL) AS GRUPO_PRODUTO,
  341.                             (SELECT DS_TPCAT FROM TIPO_CATEGORIA WHERE CD_TPCAT = IM.CD_TPCAT AND GRUPO_MATERIAL = IM.GRUPO_MATERIAL) AS CATEGORIA,
  342.                             (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,
  343.                             (SELECT MAX(ECL.CD_ESTACAO)
  344.                                 FROM CATALOGO_PRODUTO CP
  345.                                 JOIN ESTACAO_COLECAO_LANCAMENTO ECL ON ECL.MARCA_IDO = CP.MARCA_IDO
  346.                                         AND ECL.CD_COLECAO = CP.CD_COLECAO
  347.                                         AND CP.CD_ESTACAO = ECL.CD_ESTACAO
  348.                                         AND ECL.CD_LANCAMENTO = CP.CD_LANCAMENTO
  349.                                 WHERE CP.STATUS_CATALOGO = 'V'
  350.                                 AND CP.MARCA_IDO = PE.MARCA_IDO  
  351.                                 AND CP.CD_ITEM_MATERIAL = PEI.CD_ITEM_MATERIAL
  352.                                 AND ECL.DT_INI_REMES_COMPRA <= PA.PATEN_DATA
  353.                             ) AS ESTACAO,
  354.                             (SELECT MAX(ECL.CD_COLECAO)
  355.                                 FROM CATALOGO_PRODUTO CP
  356.                                 JOIN ESTACAO_COLECAO_LANCAMENTO ECL ON ECL.MARCA_IDO = CP.MARCA_IDO
  357.                                         AND ECL.CD_COLECAO = CP.CD_COLECAO
  358.                                         AND CP.CD_ESTACAO = ECL.CD_ESTACAO
  359.                                         AND ECL.CD_LANCAMENTO = CP.CD_LANCAMENTO
  360.                                 WHERE CP.STATUS_CATALOGO = 'V'
  361.                                 AND CP.MARCA_IDO = PE.MARCA_IDO  
  362.                                 AND CP.CD_ITEM_MATERIAL = PEI.CD_ITEM_MATERIAL
  363.                                 AND ECL.DT_INI_REMES_COMPRA <= PA.PATEN_DATA
  364.                             ) AS COLECAO,
  365.                             TO_CHAR(PA.PATEN_DATA, 'DD/MM/YYYY') AS DATA_PEDIDO,
  366.                             TRIM(TO_CHAR(PEI.PRECO_BASE, '999999999990D00', 'NLS_NUMERIC_CHARACTERS = ''.,''')) AS PVL,
  367.                             PEI.QTD AS QUANTIDADE_VENDIDA,
  368.                             TRIM(TO_CHAR((PEI.PRECO_BASE * PEI.QTD), '999999999990D00', 'NLS_NUMERIC_CHARACTERS = ''.,''')) AS VALOR_LIQUIDO,
  369.                             TRIM(TO_CHAR(PEI.PRECO_TOTAL, '999999999990D00', 'NLS_NUMERIC_CHARACTERS = ''.,'''))  AS VALOR_BRUTO,
  370.                             PE.STATUS
  371.                         FROM
  372.                             PREATENDIMENTO PA
  373.                             INNER JOIN PESSOA_DEPARA PD ON PD.ANTERIOR = PA.PATEN_LOJA_IDO AND PD.MARCA_IDO = PA.PATEN_MARCA_IDO
  374.                             INNER JOIN CRM_CLIENTE C ON C.CRMCLI_IDO = PA.PATEN_CRMCLI_IDO
  375.                             INNER JOIN PEDIDO_ECOMMERCE PE ON PE.NUMERO_PEDIDO = PA.PATEN_TICKET_ECOMMERCE
  376.                             INNER JOIN PEDIDO_ECOMMERCE_ITEM PEI ON PEI.MARCA_IDO = PE.MARCA_IDO AND PEI.NUMERO_PEDIDO = PE.NUMERO_PEDIDO
  377.                             INNER JOIN ITEM_MATERIAL IM ON IM.MARCA_IDO = PEI.MARCA_IDO AND IM.CD_ITEM_MATERIAL = PEI.CD_ITEM_MATERIAL
  378.                            
  379.                             INNER JOIN PORTAL_VENDA PV ON (
  380.                                 PV.VENDA_TICKET = PA.PATEN_TICKET_ECOMMERCE
  381.                                 AND PV.VENDA_PESSOA = 300979 -- CODIGO ECOMMERCE
  382.                             )
  383.                         WHERE
  384.                             PA.PATEN_VENDA_ECOMMERCE = 'S'
  385.                             AND PA.PATEN_TICKET_ECOMMERCE IS NOT NULL
  386.                             AND PD.MARCA_IDO = :marcaIdo
  387.                             AND (:nrTicket IS NULL OR PA.PATEN_TICKET_ECOMMERCE ='')
  388.                             AND (:cliente IS NULL OR PA.PATEN_LOJA_IDO ='303008')
  389.                             AND (NULL IS NULL OR PD.GRUPO_EMPRESARIAL = NULL)
  390.                             AND (NULL IS NULL OR PD.CLIEN_EST_COORDENADOR = NULL)
  391.                             AND (NULL IS NULL OR PD.CLIEN_EST_CONSULTOR = NULL)
  392.                             AND (NULL IS NULL OR PA.PATEN_FUNC_IDO = NULL)
  393.                             AND (TRUNC(PA.PATEN_DATA) BETWEEN TO_DATE('20/09/2019', 'DD/MM/YYYY') AND TO_DATE('26/10/2019', 'DD/MM/YYYY'))
  394.                             AND PD.ANTERIOR IN (SELECT LILC_LOJA_IDO FROM LIGHT_LOJA_CONFIG)
  395.                             AND PD.ID_CANAL IN (10, 40)
  396.                            
  397.                            
  398.                             AND PV.VENDA_FUNC_IDO IS NOT NULL
  399.                             AND PV.VENDA_CLIEN_IDO IS NOT NULL
  400.                            
  401.                             AND
  402.                             (
  403.                                 (:nrTicket IS NULL AND PV.VENDA_DATA >= PA.PATEN_DATA AND PV.VENDA_DATA <= (PA.PATEN_DATA +90))
  404.                             )
  405.                             AND (:nrTicket IS NULL OR PV.VENDA_TICKET ='')
  406.                            
  407.                             AND EXISTS
  408.                             (
  409.                                 SELECT
  410.                                     /*+ FIRST_ROWS(1) */ 1
  411.                                 FROM
  412.                                     VW_USUARIOXCLIENTE UC
  413.                                 WHERE
  414.                                     UC.CLIENTE_CODIGO = PD.ATUAL
  415.                                     AND UC.USUAR_IDO = :usuarIdo
  416.                                     AND ROWNUM = 1
  417.                             )
  418.                 ) SUBQUERY
  419.                 LEFT JOIN STATUS_PEDIDO_ECOMMERCE SPE ON SPE.STATUS_ECOMMERCE = SUBQUERY.COD_STATUS
  420.                 ORDER BY NUMERO_PEDIDO, SKU, NUMERACAO
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement