Jump to content
Fórum Script Brasil
  • 0

Informação repetida mesmo com Distinct


Question

Bom dia, estou precisando de uma ajuda na query abaixo, pois em alguns casos, por exemplo quando existe 1 item que foi selecionado duas vezes no mesmo pedido com o mesmo lote, o agrupamento mínimo (PRO.AGRUPMIN) está sendo somado no momento da divisão do (ITEM.QTDNEG/PRO.AGRUPMIN) AS EMBALAGENS na linha 6, retornando uma quantidade incorreta de embalagens para separação.

Por exemplo, se eu tenho o produto de código 100 com o lote 123 selecionado duas vezes no mesmo pedido, com quantidade 20 em cada pedido e o agrupamento mínimo é 5, o resultado deveria ser:

Produto 100| Lote 123| Quantidade 40| Embalagens 8 (40/5)

Porém, o que está acontecendo é:

Produto 100|Lote 123| Quantidade 40| Embalagens 4 (40/(5+5))

 

SELECT DISTINCT
         PAR.NOMEPARC,
         CAB.NUNOTA,
         ITE.QTDNEG,
         AD_LAUDO,
         PRO.AGRUPMIN,
         (ITE.QTDNEG/PRO.AGRUPMIN) AS EMBALAGENS,
         CAB.ORDEMCARGA AS "N_Ordem_de_Carga",
         ORD.PESOMAX AS "Peso_Max",
         ORD.CODVEICULO AS "Cod_Veiculo_da_OC",
         VEI.MARCAMODELO AS "Modelo_Veiculo_OC",
         VEI.PLACA AS "Placa_OC",
         VEI.PESOMAX AS "Peso_Max_Veiculo_2",
         TPO.DESCROPER AS "NOMETOP",
         ITE.CODPROD AS "Codigo_do_Produto",
         PRO.DESCRPROD AS "Descrição_do_Produto",
         ITE.CONTROLE AS "Controle",
         PRO.CODVOL AS "Un",
         PRO.PESOBRUTO AS "Peso_Bruto",
         SUM (ITE.QTDNEG * (CASE WHEN CAB.TIPMOV = 'D' THEN -1 ELSE 1 END))
         AS "SOMA_QUANTIDADE_NEGOCIADA",
         SUM (ITE.QTDNEG * (CASE WHEN CAB.TIPMOV = 'D' THEN -1 ELSE 1 END))
         * PRO.PESOBRUTO
         AS "PESO_TOTAL_ITEM"
 FROM TGFCAB /*CC (Empresa, CODEMP) (Centro de Resultado, CODCENCUS) (Natureza, CODNAT) (Projeto, CODPROJ) (Parceiro, CODPARC) (TOP, CODTIPOPER) CC*/ CAB,
         TGFORD  /*CC (Empresa, CODEMP) CC*/ ORD,
         TGFVEI VEI,
         TGFITE /*CC (Empresa, CODEMP) (Local, CODLOCALORIG) CC*/ ITE,
         TGFPRO /*CC (Centro de Resultado, CODCENCUS) (Natureza, CODNAT) (Projeto, CODPROJ) (Parceiro, CODPARCFORN) (Produto, CODPROD) (Grupo de Produto, CODGRUPOPROD) CC*/ PRO,
         TGFTOP TPO,
         TGFPAR PAR
   WHERE ITE.NUNOTA = CAB.NUNOTA
         AND PAR.CODPARC = CAB.CODPARC
        -- AND CAB.CODEMP = ORD.CODEMP
         AND ORD.CODVEICULO = VEI.CODVEICULO
         AND ITE.CODPROD = PRO.CODPROD
         AND CAB.CODTIPOPER = TPO.CODTIPOPER
         AND CAB.DHTIPOPER = TPO.DHALTER
         AND CAB.ORDEMCARGA = ORD.ORDEMCARGA
         AND ((CAB.ORDEMCARGA=$P{P0}))
         AND PRO.USOPROD <> 'S'
         AND TPO.TIPMOV = 'P'
         AND TPO.CODTIPOPER NOT IN (123,129,121,127,39,130,3200,120,126)
GROUP BY
         PAR.NOMEPARC,
         CAB.NUNOTA,
         CAB.ORDEMCARGA,
         ORD.PESOMAX,
         ORD.CODVEICULO,
         VEI.MARCAMODELO,
         ITE.QTDNEG,
         VEI.PLACA,
         VEI.PESOMAX,
         ITE.CODPROD,
         PRO.DESCRPROD,
         TPO.DESCROPER,
         ITE.CONTROLE,
         PRO.CODVOL,
         PRO.PESOBRUTO,
         PRO.AGRUPMIN,
         AD_LAUDO
ORDER BY CAB.NUNOTA

Link to post
Share on other sites

0 answers to this question

Recommended Posts

There have been no answers to this question yet

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      148680
    • Total Posts
      644501
×
×
  • Create New...