Example usage for org.hibernate Query uniqueResult

List of usage examples for org.hibernate Query uniqueResult

Introduction

In this page you can find the example usage for org.hibernate Query uniqueResult.

Prototype

R uniqueResult();

Source Link

Document

Convenience method to return a single instance that matches the query, or null if the query returns no results.

Usage

From source file:br.gov.jfrj.siga.ex.relatorio.dinamico.relatorios.RelConsultaDocEntreDatas.java

License:Open Source License

public Collection processarDadosLento() throws Exception {
    List<String> dados = new ArrayList<String>();
    // HibernateUtil.configurarHibernate("/br/gov/jfrj/siga/hibernate/hibernate.cfg.xml");

    ExDao dao = ExDao.getInstance();/* w w  w .j  a  v a 2  s.  c o  m*/
    final Query query = dao.getSessao().getNamedQuery("consultarMobilNoPeriodo");

    DpLotacao lot = new DpLotacao();
    lot.setSigla((String) parametros.get("lotacao"));
    List<DpLotacao> listaLotacao = dao.consultar(lot, null);
    query.setLong("idLotacao", new Long(listaLotacao.get(0).getId()));
    query.setString("dataInicial", (String) parametros.get("dataInicial"));
    query.setString("dataFinal", (String) parametros.get("dataFinal"));

    Query qryLotacaoTitular = HibernateUtil.getSessao()
            .createQuery("from DpLotacao lot " + "where lot.dataFimLotacao is null " + "and lot.orgaoUsuario = "
                    + parametros.get("orgaoUsuario") + " and lot.siglaLotacao = '"
                    + parametros.get("lotacaoTitular") + "'");

    DpLotacao lotaTitular = (DpLotacao) qryLotacaoTitular.uniqueResult();

    DpPessoa titular = ExDao.getInstance().consultar(new Long((String) parametros.get("idTit")), DpPessoa.class,
            false);

    ExMobil mob = null;

    List provResultList = query.list();

    for (Iterator iterator = provResultList.iterator(); iterator.hasNext();) {
        BigDecimal idMobil = (BigDecimal) iterator.next();
        if (idMobil != null) {
            mob = dao.consultar(new Long(idMobil.longValue()), ExMobil.class, false);
            dados.add(mob.getSigla());
            dados.add((String) parametros.get("link_siga") + mob.getSigla());
            // dados.add(mob.getExDocumento().getDescrDocumento());
            dados.add(Ex.getInstance().getBL().descricaoConfidencialDoDocumento(mob, titular, lotaTitular));
            dados.add(mob.getExDocumento().getLotaCadastrante().getSigla());
        }
    }
    return dados;
}

From source file:br.gov.jfrj.siga.ex.relatorio.dinamico.relatorios.RelDocSubordinadosCriados.java

License:Open Source License

public Collection processarDados() throws Exception {

    // Obtm uma formaDoc a partir da sigla passada e monta trecho da query
    // para a forma
    Query qryTipoForma = HibernateUtil.getSessao().createQuery(
            "from ExTipoFormaDoc tf where " + "tf.descTipoFormaDoc = '" + parametros.get("tipoFormaDoc") + "'");

    ExTipoFormaDoc tipoFormaDoc = null;//from  w w  w  .java2s. co  m
    if (qryTipoForma.list().size() > 0) {
        tipoFormaDoc = (ExTipoFormaDoc) qryTipoForma.uniqueResult();
    }

    String trechoQryTipoForma = tipoFormaDoc == null ? ""
            : " and tipoForma.idTipoFormaDoc = " + tipoFormaDoc.getIdTipoFormaDoc();

    // Obtm a lotao com o id passado...
    Query qrySetor = HibernateUtil.getSessao()
            .createQuery("from DpLotacao lot where lot.idLotacao = " + parametros.get("lotacao"));

    Set<DpLotacao> lotacaoSet = new HashSet<DpLotacao>();
    DpLotacao lotacao = (DpLotacao) qrySetor.list().get(0);
    lotacaoSet.add(lotacao);

    // ... e monta trecho da query para as lotaes
    String listaLotacoes = "";
    Set<DpLotacao> todasLotas;
    if (parametros.get("incluirSubordinados") != null)
        todasLotas = getSetoresSubordinados(lotacaoSet);
    else
        todasLotas = lotacaoSet;
    for (DpLotacao lot : todasLotas) {
        if (listaLotacoes != "")
            listaLotacoes += ",";
        listaLotacoes += lot.getIdInicial().toString();
    }

    // Monta trecho da query para ocultar seletivamente a descrio do
    // documento
    String trechoQryDescrDocumento = "(case when (" + "   nivel.idNivelAcesso <> 1 "
            + "   and nivel.idNivelAcesso <> 6" + ") then 'CONFIDENCIAL' else doc.descrDocumento end)";

    // Monta trecho da query para retornar o cdigo do documento
    /*String trechoQryCodigoDoc = " orgao.siglaOrgaoUsu "
    + "|| '-' || " + "forma.siglaFormaDoc "
    + "|| '-' || " + "doc.anoEmissao " + "|| '/' || "
    + "doc.numExpediente " + "|| "
    + "(case when (tipoMob.idTipoMobil = 4) "
    + "then ('-V' || marca.exMobil.numSequencia) " +
          "else ('-' || chr(marca.exMobil.numSequencia+64)) end)";*/

    // Monta query definitiva
    String listaMarcadoresRelevantes = "2, 3, 5, 7, 14, 15"; // Ativos
    if (parametros.get("tipoRel").equals("2")) {
        listaMarcadoresRelevantes = "27"; // Como gestor
    } else if (parametros.get("tipoRel").equals("3")) {
        listaMarcadoresRelevantes = "28"; // Como interessado
    }

    // bruno.lacerda@avantiprima.com.br
    // int timeout = 1;
    Query qryMarcas = HibernateUtil.getSessao().createQuery("select doc.idDoc, marca.dpLotacaoIni.nomeLotacao, "
            + "mov, mob, "
            + "orgao.siglaOrgaoUsu, orgao.acronimoOrgaoUsu, forma.siglaFormaDoc, doc.anoEmissao, doc.numExpediente, doc.numSequencia, tipoMob.idTipoMobil, mob.numSequencia,  "
            + "docPai.idDoc, orgaoDocPai.siglaOrgaoUsu, orgaoDocPai.acronimoOrgaoUsu, formaDocPai.siglaFormaDoc, docPai.anoEmissao, docPai.numExpediente, docPai.numSequencia, tipoMobPai.idTipoMobil, mobPai.numSequencia, "
            + " '" + parametros.get("link_siga") + " '" + "," + trechoQryDescrDocumento + ","
            + "   pes.nomePessoa," + "   marca.cpMarcador.descrMarcador " + "from ExMarca marca "
            + "inner join marca.exMobil as mob " + "inner join mob.exTipoMobil as tipoMob "
            + "inner join mob.exDocumento as doc " + "inner join mob.exMovimentacaoSet as mov "
            + "inner join mov.lotaResp as dplot " + "inner join doc.exNivelAcesso as nivel "
            + "inner join doc.orgaoUsuario as orgao " + "inner join doc.exFormaDocumento as forma "
            + "inner join forma.exTipoFormaDoc as tipoForma " + "inner join marca.dpLotacaoIni as lot "
            + "inner join marca.cpMarcador as marcador " + "left outer join marca.dpPessoaIni as pes "
            + "left outer join doc.exMobilPai as mobPai " + "left outer join mobPai.exDocumento docPai "
            + "left outer join docPai.orgaoUsuario orgaoDocPai "
            + "left outer join docPai.exFormaDocumento formaDocPai "
            + "left outer join mobPai.exTipoMobil tipoMobPai " + "where lot.idLotacao in (" + listaLotacoes
            + ") " + "and marcador.idMarcador in (" + listaMarcadoresRelevantes + ")" + trechoQryTipoForma
            + " and mov.dtMov = (select min(movim.dtMov) from ExMovimentacao movim where movim.exMobil = mov.exMobil) "
            + " order by lot.siglaLotacao, doc.idDoc, mov.dtMov"/*, timeout*/);

    // Retorna
    List<Object[]> lista = qryMarcas.list();
    long datatual = 0;
    long dataant = 0;
    long durentrelots = 0;
    List<String> listaFinal = new ArrayList<String>();

    for (Object[] array : lista) {
        Long idDoc = (Long) array[0];
        String nomeLotacao = (String) array[1];
        ExMovimentacao mov = (ExMovimentacao) array[2];
        ExMobil mob = (ExMobil) array[3];
        String siglaOrgaoUsu = (String) array[4];
        String acronimoOrgaoUsu = (String) array[5];
        String siglaFormaDoc = (String) array[6];
        Long anoEmissao = (Long) array[7];
        Long numExpediente = (Long) array[8];
        Integer docNumSequencia = (Integer) array[9];
        Long idTipoMobil = (Long) array[10];
        Integer mobilNumSequencia = (Integer) array[11];
        Long pai_idDoc = (Long) array[12];
        String pai_siglaOrgaoUsu = (String) array[13];
        String pai_acronimoOrgaoUsu = (String) array[14];
        String pai_siglaFormaDoc = (String) array[15];
        Long pai_anoEmissao = (Long) array[16];
        Long pai_numExpediente = (Long) array[17];
        Integer pai_numSequencia = (Integer) array[18];
        Long pai_idTipoMobil = (Long) array[19];
        Integer pai_mobilNumSequencia = (Integer) array[20];

        String codigoDocumento = ExDocumento.getCodigo(idDoc, siglaOrgaoUsu, acronimoOrgaoUsu, siglaFormaDoc,
                anoEmissao, numExpediente, docNumSequencia, idTipoMobil, mobilNumSequencia, pai_idDoc,
                pai_siglaOrgaoUsu, pai_acronimoOrgaoUsu, pai_siglaFormaDoc, pai_anoEmissao, pai_numExpediente,
                pai_numSequencia, pai_idTipoMobil, pai_mobilNumSequencia);

        String codigoMobil = ExMobil.getSigla(codigoDocumento, mobilNumSequencia, idTipoMobil);

        String url = ((String) array[21]).trim() + codigoMobil;

        String descricao = (String) array[22];

        String nomePessoa = (String) array[23];

        String descrMarcador = (String) array[24];

        long identificador = mov.getExMobil().getId();

        listaFinal.add(nomeLotacao);
        listaFinal.add(codigoMobil);
        //testar se a criao foi cancelada
        //if (mob.getUltimaMovimentacao(1).isCancelada() == false)
        listaFinal.add(mob.getUltimaMovimentacao(1).getDtMovDDMMYY().toString());
        listaFinal.add(mob.getUltimaMovimentacao(1).getLotaCadastrante().getSiglaLotacao().toString());
        listaFinal.add(descrMarcador);
        listaFinal.add(mov.getLotaResp().getSigla().toString());
        if (mob.getUltimaMovimentacao(28) != null) {
            listaFinal.add(mob.getUltimaMovimentacao(28).toString());
        } else {
            listaFinal.add("");
        }
        listaFinal.add(descricao);

    }
    return listaFinal;
}

From source file:br.gov.jfrj.siga.ex.relatorio.dinamico.relatorios.RelDocSubordinadosCriados.java

License:Open Source License

public Collection processarDadosAnterior() throws Exception {

    // Obtm uma formaDoc a partir da sigla passada e monta trecho da query
    // para a forma
    Query qryTipoForma = HibernateUtil.getSessao().createQuery(
            "from ExTipoFormaDoc tf where " + "tf.descTipoFormaDoc = '" + parametros.get("tipoFormaDoc") + "'");

    ExTipoFormaDoc tipoFormaDoc = null;//  w  w  w  .j a v  a2 s . c o m
    if (qryTipoForma.list().size() > 0) {
        tipoFormaDoc = (ExTipoFormaDoc) qryTipoForma.uniqueResult();
    }

    String trechoQryTipoForma = tipoFormaDoc == null ? ""
            : " and tipoForma.idTipoFormaDoc = " + tipoFormaDoc.getIdTipoFormaDoc();

    // Obtm a lotao com o id passado...
    Query qrySetor = HibernateUtil.getSessao()
            .createQuery("from DpLotacao lot where lot.idLotacao = " + parametros.get("lotacao"));

    Set<DpLotacao> lotacaoSet = new HashSet<DpLotacao>();
    DpLotacao lotacao = (DpLotacao) qrySetor.list().get(0);
    lotacaoSet.add(lotacao);

    // ... e monta trecho da query para as lotaes
    String listaLotacoes = "";
    Set<DpLotacao> todasLotas;
    if (parametros.get("incluirSubordinados") != null)
        todasLotas = getSetoresSubordinados(lotacaoSet);
    else
        todasLotas = lotacaoSet;
    for (DpLotacao lot : todasLotas) {
        if (listaLotacoes != "")
            listaLotacoes += ",";
        listaLotacoes += lot.getIdInicial().toString();
    }

    // Monta trecho da query para ocultar seletivamente a descrio do
    // documento
    String trechoQryDescrDocumento = "(case when (" + "   nivel.idNivelAcesso <> 1 "
            + "   and nivel.idNivelAcesso <> 6" + ") then 'CONFIDENCIAL' else doc.descrDocumento end)";

    // Monta trecho da query para retornar o cdigo do documento
    String trechoQryCodigoDoc = " orgao.siglaOrgaoUsu " + "|| '-' || " + "forma.siglaFormaDoc " + "|| '-' || "
            + "doc.anoEmissao " + "|| '/' || " + "doc.numExpediente " + "|| "
            + "(case when (tipoMob.idTipoMobil = 4) " + "then ('-V' || marca.exMobil.numSequencia) "
            + "else ('-' || chr(marca.exMobil.numSequencia+64)) end)";

    // Monta query definitiva
    String listaMarcadoresRelevantes = "2, 3, 5, 7, 14, 15"; // Ativos
    if (parametros.get("tipoRel").equals("2")) {
        listaMarcadoresRelevantes = "27"; // Como gestor
    } else if (parametros.get("tipoRel").equals("3")) {
        listaMarcadoresRelevantes = "28"; // Como interessado
    }

    // bruno.lacerda@avantiprima.com.br
    // int timeout = 1;
    Query qryMarcas = HibernateUtil.getSessao().createQuery("select " + "   marca.dpLotacaoIni.nomeLotacao, "
            + " mov.dtMov, mov.descrMov, dplot.siglaLotacao, " + trechoQryCodigoDoc + "," + " '"
            + parametros.get("link_siga") + "' ||" + trechoQryCodigoDoc + "," + trechoQryDescrDocumento + ","
            + "   pes.nomePessoa," + "   marca.cpMarcador.descrMarcador " + "from ExMarca marca "
            + "inner join marca.exMobil as mob " + "inner join mob.exTipoMobil as tipoMob "
            + "inner join mob.exDocumento as doc " + "inner join mob.exMovimentacaoSet as mov "
            + "inner join mov.lotaResp as dplot " + "inner join doc.exNivelAcesso as nivel "
            + "inner join doc.orgaoUsuario as orgao " + "inner join doc.exFormaDocumento as forma "
            + "inner join forma.exTipoFormaDoc as tipoForma " + "inner join marca.dpLotacaoIni as lot "
            + "inner join marca.cpMarcador as marcador " + "left outer join marca.dpPessoaIni as pes "
            + "where lot.idLotacao in (" + listaLotacoes + ") " + "and marcador.idMarcador in ("
            + listaMarcadoresRelevantes + ")" + trechoQryTipoForma
            + " and mov.dtMov = (select max(movim.dtMov) from ExMovimentacao movim where movim.exMobil = mov.exMobil) "
            + " order by lot.siglaLotacao, doc.idDoc"/*, timeout*/);

    // Retorna
    List<Object[]> lista = qryMarcas.list();

    List<String> listaFinal = new ArrayList<String>();
    for (Object[] array : lista) {
        for (Object value : array)
            listaFinal.add((String) value);
    }

    return listaFinal;

}

From source file:br.gov.jfrj.siga.ex.relatorio.dinamico.relatorios.RelMovimentacaoDocSubordinados.java

License:Open Source License

public Collection processarDados() throws Exception {

    // Obtm uma formaDoc a partir da sigla passada e monta trecho da query
    // para a forma
    Query qryTipoForma = HibernateUtil.getSessao().createQuery(
            "from ExTipoFormaDoc tf where " + "tf.descTipoFormaDoc = '" + parametros.get("tipoFormaDoc") + "'");

    ExTipoFormaDoc tipoFormaDoc = null;/*from  w  ww.j a va 2s  .  co  m*/
    if (qryTipoForma.list().size() > 0) {
        tipoFormaDoc = (ExTipoFormaDoc) qryTipoForma.uniqueResult();
    }

    String trechoQryTipoForma = tipoFormaDoc == null ? ""
            : " and tipoForma.idTipoFormaDoc = " + tipoFormaDoc.getIdTipoFormaDoc();

    // Obtm a lotao com o id passado...
    Query qrySetor = HibernateUtil.getSessao()
            .createQuery("from DpLotacao lot where lot.idLotacao = " + parametros.get("lotacao"));

    Set<DpLotacao> lotacaoSet = new HashSet<DpLotacao>();
    DpLotacao lotacao = (DpLotacao) qrySetor.list().get(0);
    lotacaoSet.add(lotacao);

    // ... e monta trecho da query para as lotaes
    String listaLotacoes = "";
    Set<DpLotacao> todasLotas;
    if (parametros.get("incluirSubordinados") != null)
        todasLotas = getSetoresSubordinados(lotacaoSet);
    else
        todasLotas = lotacaoSet;
    for (DpLotacao lot : todasLotas) {
        if (listaLotacoes != "")
            listaLotacoes += ",";
        listaLotacoes += lot.getIdInicial().toString();
    }

    // Monta trecho da query para ocultar seletivamente a descrio do
    // documento
    String trechoQryDescrDocumento = "(case when (" + "   nivel.idNivelAcesso <> 1 "
            + "   and nivel.idNivelAcesso <> 6" + ") then 'CONFIDENCIAL' else doc.descrDocumento end)";

    // Monta trecho da query para retornar o cdigo do documento
    /*String trechoQryCodigoDoc = " orgao.siglaOrgaoUsu "
    + "|| '-' || " + "forma.siglaFormaDoc "
    + "|| '-' || " + "doc.anoEmissao " + "|| '/' || "
    + "doc.numExpediente " + "|| "
    + "(case when (tipoMob.idTipoMobil = 4) "
    + "then ('-V' || marca.exMobil.numSequencia) " +
          "else ('-' || chr(marca.exMobil.numSequencia+64)) end)";*/

    // Monta query definitiva
    String listaMarcadoresRelevantes = "2, 3, 5, 7, 14, 15"; // Ativos
    if (parametros.get("tipoRel").equals("2")) {
        listaMarcadoresRelevantes = "27"; // Como gestor
    } else if (parametros.get("tipoRel").equals("3")) {
        listaMarcadoresRelevantes = "28"; // Como interessado
    }

    // bruno.lacerda@avantiprima.com.br
    // int timeout = 1;
    Query qryMarcas = HibernateUtil.getSessao().createQuery("select " + "   marca.dpLotacaoIni.nomeLotacao, "
            + "mov, mob, "
            + "doc.idDoc, orgao.siglaOrgaoUsu, orgao.acronimoOrgaoUsu, forma.siglaFormaDoc, doc.anoEmissao, doc.numExpediente, doc.numSequencia, tipoMob.idTipoMobil, mob.numSequencia,  "
            + "docPai.idDoc, orgaoDocPai.siglaOrgaoUsu, orgaoDocPai.acronimoOrgaoUsu, formaDocPai.siglaFormaDoc, docPai.anoEmissao, docPai.numExpediente, docPai.numSequencia, tipoMobPai.idTipoMobil, mobPai.numSequencia, "
            + " '" + parametros.get("link_siga") + " '" + "," + trechoQryDescrDocumento + ","
            + "   pes.nomePessoa," + "   marca.cpMarcador.descrMarcador " + "from ExMarca marca "
            + "inner join marca.exMobil as mob " + "inner join mob.exTipoMobil as tipoMob "
            + "inner join mob.exDocumento as doc " + "inner join mob.exMovimentacaoSet as mov "
            + "inner join mov.lotaResp as dplot " + "inner join doc.exNivelAcesso as nivel "
            + "inner join doc.orgaoUsuario as orgao " + "inner join doc.exFormaDocumento as forma "
            + "inner join forma.exTipoFormaDoc as tipoForma " + "inner join marca.dpLotacaoIni as lot "
            + "inner join marca.cpMarcador as marcador " + "left outer join marca.dpPessoaIni as pes "
            + "left outer join doc.exMobilPai as mobPai " + "left outer join mobPai.exDocumento docPai "
            + "left outer join docPai.orgaoUsuario orgaoDocPai "
            + "left outer join docPai.exFormaDocumento formaDocPai "
            + "left outer join mobPai.exTipoMobil tipoMobPai " + "where lot.idLotacao in (" + listaLotacoes
            + ") " + "and marcador.idMarcador in (" + listaMarcadoresRelevantes + ")" + trechoQryTipoForma
            + " and mov.dtMov = (select max(movim.dtMov) from ExMovimentacao movim where movim.exMobil = mov.exMobil) "
            + " order by lot.siglaLotacao, doc.idDoc, mov.dtMov"/*, timeout*/);

    // Retorna
    List<Object[]> lista = qryMarcas.list();
    long datatual = 0;
    long dataant = 0;
    long durentrelots = 0;
    List<String> listaFinal = new ArrayList<String>();

    for (Object[] array : lista) {
        String nomeLotacao = (String) array[0];
        ExMovimentacao mov = (ExMovimentacao) array[1];
        ExMovimentacao movimentacao = (ExMovimentacao) array[1];
        ExMobil mob = (ExMobil) array[2];
        Long idDoc = (Long) array[3];
        String siglaOrgaoUsu = (String) array[4];
        String acronimoOrgaoUsu = (String) array[5];
        String siglaFormaDoc = (String) array[6];
        Long anoEmissao = (Long) array[7];
        Long numExpediente = (Long) array[8];
        Integer docNumSequencia = (Integer) array[9];
        Long idTipoMobil = (Long) array[10];
        Integer mobilNumSequencia = (Integer) array[11];
        Long pai_idDoc = (Long) array[12];
        String pai_siglaOrgaoUsu = (String) array[13];
        String pai_acronimoOrgaoUsu = (String) array[14];
        String pai_siglaFormaDoc = (String) array[15];
        Long pai_anoEmissao = (Long) array[16];
        Long pai_numExpediente = (Long) array[17];
        Integer pai_numSequencia = (Integer) array[18];
        Long pai_idTipoMobil = (Long) array[19];
        Integer pai_mobilNumSequencia = (Integer) array[20];

        String codigoDocumento = ExDocumento.getCodigo(idDoc, siglaOrgaoUsu, acronimoOrgaoUsu, siglaFormaDoc,
                anoEmissao, numExpediente, docNumSequencia, idTipoMobil, mobilNumSequencia, pai_idDoc,
                pai_siglaOrgaoUsu, pai_acronimoOrgaoUsu, pai_siglaFormaDoc, pai_anoEmissao, pai_numExpediente,
                pai_numSequencia, pai_idTipoMobil, pai_mobilNumSequencia);

        String codigoMobil = ExMobil.getSigla(codigoDocumento, mobilNumSequencia, idTipoMobil);

        String url = ((String) array[21]).trim() + codigoMobil;

        String descricao = (String) array[22];

        String nomePessoa = (String) array[23];

        String descrMarcador = (String) array[24];

        long identificador = movimentacao.getExMobil().getId();
        datatual = System.currentTimeMillis();
        movimentacao.getExMobil().getId();
        if ((mob.getUltimaMovimentacao(3) == null) || (mob.getUltimaMovimentacao(8) == null)) {
            dataant = mob.getUltimaMovimentacao(1).getData().getTime();
            durentrelots = (((datatual - dataant) / 86400000L) + 1);
        } else {
            if (mob.getUltimaMovimentacao(3).getData().getTime() > mob.getUltimaMovimentacao(8).getData()
                    .getTime()) {
                dataant = mob.getUltimaMovimentacao(3).getData().getTime();
                durentrelots = (((datatual - dataant) / 86400000L) + 1);
            } else {
                dataant = mob.getUltimaMovimentacao(8).getData().getTime();
                durentrelots = (((datatual - dataant) / 86400000L) + 1);
            }

        }
        mob.getUltimaMovimentacao(28);
        listaFinal.add(nomeLotacao);
        listaFinal.add(codigoMobil);
        listaFinal.add(mov.getDtRegMovDDMMYY().toString());
        listaFinal.add(mov.getLotaResp().getSigla().toString());
        listaFinal.add(descrMarcador);
        listaFinal.add(descricao);
        if (mob.getUltimaMovimentacao(28) != null) {
            listaFinal.add(mob.getUltimaMovimentacao(28).toString());
        } else {
            listaFinal.add("");
        }
        listaFinal.add(String.valueOf(durentrelots));

    }
    return listaFinal;
}

From source file:br.gov.jfrj.siga.ex.relatorio.dinamico.relatorios.RelMovimentacaoDocSubordinados.java

License:Open Source License

public Collection processarDadosAnterior() throws Exception {

    // Obtm uma formaDoc a partir da sigla passada e monta trecho da query
    // para a forma
    Query qryTipoForma = HibernateUtil.getSessao().createQuery(
            "from ExTipoFormaDoc tf where " + "tf.descTipoFormaDoc = '" + parametros.get("tipoFormaDoc") + "'");

    ExTipoFormaDoc tipoFormaDoc = null;//  w w w .j ava  2s.  c om
    if (qryTipoForma.list().size() > 0) {
        tipoFormaDoc = (ExTipoFormaDoc) qryTipoForma.uniqueResult();
    }

    String trechoQryTipoForma = tipoFormaDoc == null ? ""
            : " and tipoForma.idTipoFormaDoc = " + tipoFormaDoc.getIdTipoFormaDoc();

    // Obtm a lotao com o id passado...
    Query qrySetor = HibernateUtil.getSessao()
            .createQuery("from DpLotacao lot where lot.idLotacao = " + parametros.get("lotacao"));

    Set<DpLotacao> lotacaoSet = new HashSet<DpLotacao>();
    DpLotacao lotacao = (DpLotacao) qrySetor.list().get(0);
    lotacaoSet.add(lotacao);

    // ... e monta trecho da query para as lotaes
    String listaLotacoes = "";
    Set<DpLotacao> todasLotas;
    if (parametros.get("incluirSubordinados") != null)
        todasLotas = getSetoresSubordinados(lotacaoSet);
    else
        todasLotas = lotacaoSet;
    for (DpLotacao lot : todasLotas) {
        if (listaLotacoes != "")
            listaLotacoes += ",";
        listaLotacoes += lot.getIdInicial().toString();
    }

    // Monta trecho da query para ocultar seletivamente a descrio do
    // documento
    String trechoQryDescrDocumento = "(case when (" + "   nivel.idNivelAcesso <> 1 "
            + "   and nivel.idNivelAcesso <> 6" + ") then 'CONFIDENCIAL' else doc.descrDocumento end)";

    // Monta trecho da query para retornar o cdigo do documento
    String trechoQryCodigoDoc = " orgao.siglaOrgaoUsu " + "|| '-' || " + "forma.siglaFormaDoc " + "|| '-' || "
            + "doc.anoEmissao " + "|| '/' || " + "doc.numExpediente " + "|| "
            + "(case when (tipoMob.idTipoMobil = 4) " + "then ('-V' || marca.exMobil.numSequencia) "
            + "else ('-' || chr(marca.exMobil.numSequencia+64)) end)";

    // Monta query definitiva
    String listaMarcadoresRelevantes = "2, 3, 5, 7, 14, 15"; // Ativos
    if (parametros.get("tipoRel").equals("2")) {
        listaMarcadoresRelevantes = "27"; // Como gestor
    } else if (parametros.get("tipoRel").equals("3")) {
        listaMarcadoresRelevantes = "28"; // Como interessado
    }

    // bruno.lacerda@avantiprima.com.br
    // int timeout = 1;
    Query qryMarcas = HibernateUtil.getSessao().createQuery("select " + "   marca.dpLotacaoIni.nomeLotacao, "
            + " mov.dtMov, mov.descrMov, dplot.siglaLotacao, " + trechoQryCodigoDoc + "," + " '"
            + parametros.get("link_siga") + "' ||" + trechoQryCodigoDoc + "," + trechoQryDescrDocumento + ","
            + "   pes.nomePessoa," + "   marca.cpMarcador.descrMarcador " + "from ExMarca marca "
            + "inner join marca.exMobil as mob " + "inner join mob.exTipoMobil as tipoMob "
            + "inner join mob.exDocumento as doc " + "inner join mob.exMovimentacaoSet as mov "
            + "inner join mov.exMovimentacao as movimentacao" + "inner join mov.lotaResp as dplot "
            + "inner join doc.exNivelAcesso as nivel " + "inner join doc.orgaoUsuario as orgao "
            + "inner join doc.exFormaDocumento as forma " + "inner join forma.exTipoFormaDoc as tipoForma "
            + "inner join marca.dpLotacaoIni as lot " + "inner join marca.cpMarcador as marcador "
            + "left outer join marca.dpPessoaIni as pes " + "where lot.idLotacao in (" + listaLotacoes + ") "
            + "and marcador.idMarcador in (" + listaMarcadoresRelevantes + ")" + trechoQryTipoForma
            + " and mov.dtMov = (select max(movim.dtMov) from ExMovimentacao movim where movim.exMobil = mov.exMobil) "
            + " order by lot.siglaLotacao, doc.idDoc"/*, timeout*/);

    // Retorna
    List<Object[]> lista = qryMarcas.list();

    List<String> listaFinal = new ArrayList<String>();
    for (Object[] array : lista) {
        for (Object value : array)
            listaFinal.add((String) value);
    }

    return listaFinal;

}

From source file:br.gov.jfrj.siga.hibernate.ExDao.java

License:Open Source License

public Long obterProximoNumero(final ExDocumento doc, Long anoEmissao) throws SQLException {
    Query query = getSessao().getNamedQuery("obterProximoNumero");
    query.setLong("idOrgaoUsu", doc.getOrgaoUsuario().getId());
    query.setLong("idFormaDoc", doc.getExFormaDocumento().getId());
    query.setLong("anoEmissao", anoEmissao);

    return (Long) query.uniqueResult();
}

From source file:br.gov.jfrj.siga.hibernate.ExDao.java

License:Open Source License

public Integer consultarQuantidadePorFiltroOtimizado(final ExMobilDaoFiltro flt, DpPessoa titular,
        DpLotacao lotaTitular) {/* ww w . j a v a2 s .  com*/
    long tempoIni = System.nanoTime();
    String s = montadorQuery.montaQueryConsultaporFiltro(flt, titular, lotaTitular, true);
    Query query = getSessao().createQuery(s);

    preencherParametros(flt, query);

    Long l = (Long) query.uniqueResult();
    long tempoTotal = System.nanoTime() - tempoIni;
    System.out.println("consultarQuantidadePorFiltroOtimizado: " + tempoTotal / 1000000 + " ms -> " + s
            + ", resultado: " + l);
    return l.intValue();
}

From source file:br.gov.jfrj.siga.hibernate.ExDao.java

License:Open Source License

public Integer consultarQuantidadePorFiltro(final ExMobilDaoFiltro flt, DpPessoa titular,
        DpLotacao lotaTitular) {//from  w  ww .  jav  a2s. com
    Query query = getSessao().getNamedQuery("consultarQuantidadePorFiltro");
    query.setProperties(flt);
    query.setLong("titular", titular.getIdPessoaIni());
    query.setLong("lotaTitular", lotaTitular.getIdLotacaoIni());
    long tempoIni = System.nanoTime();
    Long l = (Long) query.uniqueResult();
    long tempoTotal = System.nanoTime() - tempoIni;
    System.out.println("consultarQuantidadePorFiltro: " + tempoTotal / 1000000 + ", resultado: " + l);
    return l.intValue();
}

From source file:br.gov.jfrj.siga.hibernate.ExDao.java

License:Open Source License

public int consultarQuantidade(final ExClassificacaoDaoFiltro flt) {
    String descrClassificacao = "";
    if (flt.getDescricao() != null) {
        descrClassificacao = flt.getDescricao();
    }/* ww w  .  ja va 2s.  co m*/

    final Query query = getSessao().getNamedQuery("consultarQuantidadeExClassificacao");

    query.setString("descrClassificacao", descrClassificacao.toUpperCase().replace(' ', '%'));
    query.setString("mascara", MascaraUtil.getInstance().getMscTodosDoMaiorNivel());

    final int l = ((Long) query.uniqueResult()).intValue();
    return l;
}

From source file:br.gov.jfrj.siga.hibernate.ExDao.java

License:Open Source License

public ExClassificacao consultarAtual(final ExClassificacao o) {
    try {/*from  ww  w.  j  a  va  2s  .c  o  m*/
        final Query query = getSessao().getNamedQuery("consultarAtualPorId");
        query.setLong("idRegIni", o.getHisIdIni());
        return (ExClassificacao) query.uniqueResult();
    } catch (final NullPointerException e) {
        return null;
    }
}