StringBuilder hql = new StringBuilder()

hql.append(" SELECT NVL(TV.REDE_ID, 0)                              REDE_ID ");
		hql.append("      , COALESCE(R.NOME, 'Estabelecimento(s) sem rede') REDE ");
		hql.append("      , TV.ESTABELECIMENTO_EMPRESA_ID                   CLIENTE_ID ");
		hql.append("      , AC.TIPO_USUARIO                                 TIPO_USUARIO ");
		hql.append("      , EE.USUARIO_SFA_ID                               USUARIO_SFA ");
		hql.append("      , INITCAP(E.NOME_FANTASIA)                        NOME_FANTASIA ");
		hql.append("      , END.SIGLA                                       ESTADO ");
		hql.append("      , NVL(SUM(TV.QUANTIDADE), 0)                      QTDE ");
		hql.append("      , NVL(SUM(TV.VALOR_ORIGINAL / 100), 0)            VALOR ");
		hql.append("      , (NVL(SUM(TV.VALOR_ORIGINAL / 100), 0) ");
		hql.append("     - NVL(SUM(TV.VALOR / 100), 0))                     FATURADO ");
		hql.append("      , (NVL(SUM(TV.VALOR_ORIGINAL / 100), 0) ");
		hql.append("     - NVL(SUM(TV.VALOR_ORIGINAL / 100), 0) ");
		hql.append("     - NVL(SUM(TV.VALOR / 100), 0) * -1)                REPASSE ");
		hql.append("      , NVL(ROUND((SUM(TV.VALOR_ORIGINAL)) ");
		hql.append("     / (SUM(TV.QUANTIDADE))) / 100, 0)                  TICKET_MEDIO ");
		hql.append("      , AC.AREA_CONSULTOR                               AREA_CONSULTOR ");
		hql.append("      , (SELECT NOME ");
		hql.append("         FROM ADM_SGV_CAD.CANAL_VENDA ");
		hql.append("         WHERE ID = TV.CANAL_VENDA)                     CANAL_VENDA_NOME");
		hql.append(" FROM ADM_SGV_TRN.TRANSACAO_VALORADA TV ");
		hql.append("         INNER JOIN ADM_SGV_CAD.ESTABELECIMENTO_EMPRESA EE ON (EE.ID = TV.ESTABELECIMENTO_EMPRESA_ID) ");
		hql.append("         INNER JOIN ADM_SGV_CAD.ESTABELECIMENTO E ON (E.ID = EE.ESTABELECIMENTO_ID AND E.TEMPLATE = 0) ");
		hql.append("         LEFT JOIN ADM_SGV_CAD.REDE R ON (R.ID = TV.REDE_ID) ");
		hql.append("         LEFT JOIN (SELECT ACI.ESTABELECIMENTO_EMPRESA_ID ");
		hql.append("                         , ACI.AREA_CONSULTOR_ID ");
		hql.append("                         , INITCAP(AC.NOME)                     AREA_CONSULTOR");
		hql.append("                         , DECODE(U.TIPO_USUARIO, 0, 'Web', 1, 'Operador', 2, 'Consultor', 3, 'SupervisorCampo', 4, ");
		hql.append("                                  'Coordenador', 5, 'AgenteRelacionamento', 6, 'T�cnico', 7, 'Gerente', 8, ");
		hql.append("                                  'Tecnico_eps', 9, 'Promotor') TIPO_USUARIO ");
		hql.append("                    FROM ADM_SGV_CAD.AREA_CONSULTOR_ITEM ACI ");
		hql.append("                             INNER JOIN ADM_SGV_CAD.AREA_CONSULTOR AC ON (AC.ID = ACI.AREA_CONSULTOR_ID) ");
		hql.append("                             INNER JOIN ADM_SGV_ACE.USUARIO U ");
		hql.append("                                        ON (AC.CONSULTOR_ID = U.ID AND U.TIPO_USUARIO NOT IN (0, 1, 5)) ");
		hql.append("                    WHERE ACI.ATIVO = 1) AC ON (AC.ESTABELECIMENTO_EMPRESA_ID = TV.ESTABELECIMENTO_EMPRESA_ID) ");
		hql.append("         LEFT JOIN (SELECT EN.ESTADO_ID ");
		hql.append("                         , EST.SIGLA ");
		hql.append("                         , EN.CIDADE_ID ");
		hql.append("                         , CD.NOME NM_CIDADE ");
		hql.append("                         , PROPRIETARIO_ID ");
		hql.append("                    FROM ADM_SGV_CEP.ENDERECO EN ");
		hql.append("                             INNER JOIN ADM_SGV_CEP.ESTADO EST ON (EST.ID = EN.ESTADO_ID AND EST.ATIVO = 1) ");
		hql.append("                             INNER JOIN ADM_SGV_CEP.CIDADE CD ON (CD.ID = EN.CIDADE_ID AND CD.ATIVO = 1) ");
		hql.append("                    WHERE EN.ATIVO = 1 ");
		hql.append("                      AND EN.TIPO_PROPRIETARIO = 2 ");
		hql.append("                      AND EN.TIPO_ENDERECO_ID = 1) END ON (END.PROPRIETARIO_ID = E.ID) ");
		hql.append(" WHERE 1 = 1 ");
		hql.append("  AND TV.TIPO_TRANSACAO_ID IN (1, 2, 3)");
		
		
		println(hql)