Original query:

 SELECT  	gradeproduto_.idbGradeProduto AS "idbGradeProduto", 	gradeproduto_.nmProduto || case when ( gradeproduto_.stconsignado = true ) then ' CONSIGNADO' else '' end AS "dsProduto", 	gradeproduto_.stPrecoPDV AS "stPrecoPDV", 	gradeproduto_.stConsignado AS "stConsignado", 	gradeproduto_.stGradeProduto = 'A' AND produto_.stProduto = 'A' AS "isStAtivo", 	produto_.qtdDecimal AS "qtdDecimalProduto", 	produto_.stDescricaoComplementar AS "stDescricaoComplementar", 	MAX(listaprecoproduto_.vlPreco) AS "vlPreco", MAX(listaprecoproduto_.tpPreco) AS "tpPreco", 	estoque_.qtd - estoque_.qtdReserva AS "qtd" FROM est_gradeproduto gradeproduto_ INNER JOIN est_produto produto_ ON gradeproduto_.idbProduto = produto_.idbProduto INNER JOIN est_estoque estoque_ ON estoque_.idbGradeProduto = gradeproduto_.idbGradeProduto INNER JOIN est_listaprecoproduto listaprecoproduto_ ON listaprecoproduto_.idbGradeProduto = gradeproduto_.idbGradeProduto INNER JOIN est_divisao divisao_ ON divisao_.idbDivisao = produto_.idbDivisao INNER JOIN est_subGrupo subgrupo_ ON subgrupo_.idbSubGrupo = divisao_.idbSubGrupo INNER JOIN est_grupo grupo_ ON subgrupo_.idbGrupo = grupo_.idbGrupo WHERE  estoque_.idEstabelecimento = 31 AND gradeproduto_.stGradeProduto = 'A' AND produto_.stProduto = 'A' AND (grupo_.arrIdEstabelecimento IS NULL OR 31 = ANY(grupo_.arrIdEstabelecimento) ) AND listaprecoproduto_.tpPrecoNome IN ('V') AND listaprecoproduto_.nrListaPreco = '1' AND (CASE WHEN listaprecoproduto_.tppreconumero <> '1' THEN (listaprecoproduto_.dtvalidadepreco is null OR listaprecoproduto_.dtvalidadepreco >= now()) ELSE TRUE END)  AND ((gradeproduto_.idbGradeProduto=248301 or gradeproduto_.referenciaSistema like '%248301%'))GROUP BY gradeproduto_.idbGradeProduto, produto_.idbProduto, estoque_.idbEstoque ORDER BY gradeproduto_.stConsignado asc ,gradeproduto_.nmProduto asc limit 10 

Prettified:

SELECT
  "gradeproduto_"."idbgradeproduto" AS idbGradeProduto,
  "gradeproduto_"."nmproduto" || CASE WHEN "gradeproduto_"."stconsignado" = true THEN ' CONSIGNADO' ELSE '' END AS dsProduto,
  "gradeproduto_"."stprecopdv" AS stPrecoPDV,
  "gradeproduto_"."stconsignado" AS stConsignado,
  "gradeproduto_"."stgradeproduto" = 'A' AND
  "produto_"."stproduto" = 'A' AS isStAtivo,
  "produto_"."qtddecimal" AS qtdDecimalProduto,
  "produto_"."stdescricaocomplementar" AS stDescricaoComplementar,
  max("listaprecoproduto_"."vlpreco") AS vlPreco,
  max("listaprecoproduto_"."tppreco") AS tpPreco,
  "estoque_"."qtd" - "estoque_"."qtdreserva" AS qtd
FROM
  "est_gradeproduto" gradeproduto_
  JOIN "est_produto" produto_ ON ("gradeproduto_"."idbproduto" = "produto_"."idbproduto")
  JOIN "est_estoque" estoque_ ON ("estoque_"."idbgradeproduto" = "gradeproduto_"."idbgradeproduto")
  JOIN "est_listaprecoproduto" listaprecoproduto_ ON ("listaprecoproduto_"."idbgradeproduto" = "gradeproduto_"."idbgradeproduto")
  JOIN "est_divisao" divisao_ ON ("divisao_"."idbdivisao" = "produto_"."idbdivisao")
  JOIN "est_subgrupo" subgrupo_ ON ("subgrupo_"."idbsubgrupo" = "divisao_"."idbsubgrupo")
  JOIN "est_grupo" grupo_ ON ("subgrupo_"."idbgrupo" = "grupo_"."idbgrupo")
WHERE
  "estoque_"."idestabelecimento" = 31 AND
  "gradeproduto_"."stgradeproduto" = 'A' AND
  "produto_"."stproduto" = 'A' AND
  (
    "grupo_"."arridestabelecimento" IS NULL OR
    31 = ANY("grupo_"."arridestabelecimento")
  ) AND
  "listaprecoproduto_"."tppreconome" IN ('V') AND
  "listaprecoproduto_"."nrlistapreco" = '1' AND
  CASE
    WHEN "listaprecoproduto_"."tppreconumero" <> '1' THEN "listaprecoproduto_"."dtvalidadepreco" IS NULL OR "listaprecoproduto_"."dtvalidadepreco" >= now()
    ELSE true
  END AND
  (
    "gradeproduto_"."idbgradeproduto" = 248301 OR
    "gradeproduto_"."referenciasistema" LIKE '%248301%'
  )
GROUP BY
  "gradeproduto_"."idbgradeproduto",
  "produto_"."idbproduto",
  "estoque_"."idbestoque"
ORDER BY
  "gradeproduto_"."stconsignado" ASC,
  "gradeproduto_"."nmproduto" ASC
LIMIT
  10