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)