Package br.gov.serpro.ouvidoria.model

Examples of br.gov.serpro.ouvidoria.model.Acionamento


   */
  public Hashtable informeTotaisMsgs(Orgao pOrgao, Funcionario pFunc)
      throws DaoException {

    Hashtable hsh = new Hashtable();
    Acionamento primeiroAcionamento = null;
    List lstAcionamentos = new ArrayList();
    List lstTotais = new ArrayList();
    Long totalFunc = new Long(0);
    Long totalOrgao = new Long(0);
    Long primeiroAcionId = new Long(0);
    long totalGeralFunc = 0;
    long totalGeralOrgao = 0;

    // --------------- PENDENTES ------------------
    // Consulta-se as mensagens pedentes sob responsabilidade do
    // órgão/funcionario

    // -- mensagens da Ouvidoria pendentes
    if (pOrgao != null) {
      lstAcionamentos = this.listaMensagensEstado(pOrgao, "S", "N", "N",
          "N");

      if (!lstAcionamentos.isEmpty()) {
        totalOrgao = new Long(lstAcionamentos.size());

        totalGeralOrgao = totalGeralOrgao + lstAcionamentos.size();
      }
    }

    // -- mensagens do Funcionário pendentes
    lstAcionamentos = this.listaMensagensEstado(pFunc, "S", "N", "N", "N",
        "", "", "0", "0", "", "");
    if (lstAcionamentos.isEmpty()) {
      totalFunc = new Long(0);
      primeiroAcionId = new Long(0);
    } else {
      totalFunc = new Long(lstAcionamentos.size());

      primeiroAcionamento = (Acionamento) lstAcionamentos.get(0);
      primeiroAcionId = primeiroAcionamento.getId();

      totalGeralFunc = totalGeralFunc + lstAcionamentos.size();
    }

    TotaisMsgBean totMsg = new TotaisMsgBean("PENDENTES", totalFunc,
        totalOrgao, primeiroAcionId);
    // Adiciona totais de mensagens pendentes
    lstTotais.add(totMsg);

    // -------- EM ANDAMENTO ---------------
    // Consulta-se as mensagens em andamento sob responsabilidade do
    // funcionário/órgão

    // -- mensagens da Ouvidoria em andamento
    if (pOrgao != null) {
      lstAcionamentos = this.listaMensagensEstado(pOrgao, "N", "S", "N",
          "N");

      if (lstAcionamentos.isEmpty()) {
        totalOrgao = new Long(0);
      } else {
        totalOrgao = new Long(lstAcionamentos.size());
        totalGeralOrgao = totalGeralOrgao + lstAcionamentos.size();
      }
    }

    // -- mensagens do Funcionário em andamento
    lstAcionamentos = this.listaMensagensEstado(pFunc, "N", "S", "N", "N",
        "", "", "0", "0", "", "");
    if (lstAcionamentos.isEmpty()) {
      totalFunc = new Long(0);
      primeiroAcionId = new Long(0);
    } else {
      totalFunc = new Long(lstAcionamentos.size());
      primeiroAcionamento = (Acionamento) lstAcionamentos.get(0);
      primeiroAcionId = primeiroAcionamento.getId();

      totalGeralFunc = totalGeralFunc + lstAcionamentos.size();
    }

    totMsg = new TotaisMsgBean("EM ANDAMENTO", totalFunc, totalOrgao,
        primeiroAcionId);
    // Adiciona totais de mensagens am andamento
    lstTotais.add(totMsg);

    // ---------- EM ATRASO ---------------
    // Consulta-se as mensagens em atraso sob responsabilidade do
    // funcionário/órgão

    // -- mensagens da Ouvidoria em atraso
    if (pOrgao != null) {
      lstAcionamentos = this.listaMensagensEstado(pOrgao, "N", "N", "S",
          "N");

      if (!lstAcionamentos.isEmpty()) {
        totalOrgao = new Long(lstAcionamentos.size());

        totalGeralOrgao = totalGeralOrgao + lstAcionamentos.size();
      } else {
        totalOrgao = new Long(0);
      }
    }

    // -- mensagens do Funcionário em atraso
    lstAcionamentos = this.listaMensagensEstado(pFunc, "N", "N", "S", "N",
        "", "", "0", "0", "", "");
    if (lstAcionamentos.isEmpty()) {
      totalFunc = new Long(0);
      primeiroAcionId = new Long(0);
    } else {
      totalFunc = new Long(lstAcionamentos.size());
      primeiroAcionamento = (Acionamento) lstAcionamentos.get(0);
      primeiroAcionId = primeiroAcionamento.getId();

      totalGeralFunc = totalGeralFunc + lstAcionamentos.size();
    }

    totMsg = new TotaisMsgBean("EM ATRASO", totalFunc, totalOrgao,
        primeiroAcionId);

    // Adiciona totais de mensagens am atraso
    lstTotais.add(totMsg);

    // ------- EM ATRASO CRÍTICO ---------------
    // Consulta-se as mensagens em atraso sob responsabilidade do
    // funcionário

    // -- mensagens da Ouvidoria em atraso CRÍTICO
    if (pOrgao != null) {
      lstAcionamentos = this.listaMensagensEstado(pOrgao, "N", "N", "N",
          "S");

      if (!lstAcionamentos.isEmpty()) {
        totalOrgao = new Long(lstAcionamentos.size());

        totalGeralOrgao = totalGeralOrgao + lstAcionamentos.size();
      } else {
        totalOrgao = new Long(0);
      }
    }

    // -- mensagens do Funcionário em atraso CRÍTICO
    lstAcionamentos = this.listaMensagensEstado(pFunc, "N", "N", "N", "S",
        "", "", "0", "0", "", "");
    if (lstAcionamentos.isEmpty()) {
      totalFunc = new Long(0);
      primeiroAcionId = new Long(0);
    } else {
      totalFunc = new Long(lstAcionamentos.size());
      primeiroAcionamento = (Acionamento) lstAcionamentos.get(0);
      primeiroAcionId = primeiroAcionamento.getId();

      totalGeralFunc = totalGeralFunc + lstAcionamentos.size();
    }

    totMsg = new TotaisMsgBean("EM ATRASO CRÍTICO", totalFunc, totalOrgao,
View Full Code Here


      for (Iterator it = lstAcionamentos.iterator(); it.hasNext();) {

        ConsultaAndamento consultaAndamento = (ConsultaAndamento) it
            .next();

        Acionamento acionamento = get(consultaAndamento.getId());
       
        long idEstadoAcion = consultaAndamento.getIdEstadoAcionamento()
            .longValue();
        Timestamp dataExterna = consultaAndamento.getDataExterna() != null ? new Timestamp(
            consultaAndamento.getDataExterna().getTime()) : null;
        Timestamp dataInterna = consultaAndamento.getDataInterna() != null ? new Timestamp(
            consultaAndamento.getDataInterna().getTime()) : null;

        // atualizar o estado do acionamento, dependendo do estado atual
        if (idEstadoAcion == EstadoAcionamento.PENDENTE.getId()
            .longValue()
            || idEstadoAcion == EstadoAcionamento.EM_ANDAMENTO
                .getId().longValue()) {

 
          // acionamento PENDENTE ou EM ANDAMENTO - verificar se está
          // em ATRASO
          if (dataExterna != null && dataExterna.before(agora)) {
            acionamento.setEstadoAcionamento(EstadoAcionamento.CRITICO);
            acionamentoDao.save(acionamento);
           
          } else if (dataInterna != null && dataInterna.before(agora)) {
            acionamento.setEstadoAcionamento(EstadoAcionamento.ATRASO);
            acionamentoDao.save(acionamento)
           
          }

        } else if (idEstadoAcion == EstadoAcionamento.ATRASO.getId()
            .longValue()) {


          // acionamento em ATRASO
          if (dataExterna != null && dataExterna.before(agora)) {
            acionamento.setEstadoAcionamento(EstadoAcionamento.CRITICO);
            acionamentoDao.save(acionamento);
          } else if (dataInterna != null && dataInterna.after(agora)) {
            // prazo interno foi "esticado" - voltar para PENDENTE
            acionamento.setEstadoAcionamento(EstadoAcionamento.PENDENTE);
            acionamentoDao.save(acionamento);
          }

        } else if (idEstadoAcion == EstadoAcionamento.CRITICO.getId()
            .longValue()) {


          // acionamento em atraso CRÍTICO
          if (dataInterna != null && dataInterna.after(agora)) {
            // prazo interno foi "esticado" - voltar para PENDENTE
            acionamento.setEstadoAcionamento(EstadoAcionamento.PENDENTE);
            acionamentoDao.save(acionamento);
          } else if (dataInterna != null && dataInterna.after(agora)) {
            // prazo externo foi "esticado" - voltar para ATRASO
            acionamento.setEstadoAcionamento(EstadoAcionamento.ATRASO);
            acionamentoDao.save(acionamento);
          }
        }
      }
View Full Code Here

    if (!object.getSituacao().equals(Funcionario.ATIVO)
        && object.getListaAcionamento() != null) {

      for (Iterator iter = object.getListaAcionamento().iterator(); iter
          .hasNext();) {
        Acionamento acionamento = (Acionamento) iter.next();
        if (!(acionamento.getEstadoAcionamento().equals(
            EstadoAcionamento.RESPONDIDO) || acionamento
            .getEstadoAcionamento().equals(
                EstadoAcionamento.ENVIADO))) {
          if (acionamento.redirecionarAcionamento(orgao, object)) {
            acionamentos.add(acionamento);
          } else {
            erro = true;
            break;
          }
View Full Code Here

    Iterator listaAcionamentos = acionamentoCtrl
        .listaAcionamentosPorEstado(estado.getId()).iterator();

    /* Dados do acionamento */
    Acionamento acionamento = null;
    String enderecoUrlAcionamento = null;
    String estadoAcionamento = null;
    Timestamp dataAcionamento = null;
    Integer numeroProtocolo = null;
    String assunto = null;

    SimpleDateFormat data = null;
    String dataFormatada = null;

    String nomeFuncionarioResponsavel = null;
    String nomeOrgao = null;

    Funcionario funcionario = null;

    // Recupera o nome do acionador
    while (listaAcionamentos.hasNext()) {

      acionamento = (Acionamento) listaAcionamentos.next();

      funcionario = acionamento.getFuncionario();

      enderecoUrlAcionamento = urlDetalhamento(acionamento, orgao);
      estadoAcionamento = acionamento.getEstadoAcionamento()
          .getDescricao();
      dataAcionamento = acionamento.getDataAcionamento();
      numeroProtocolo = acionamento.getNumeroProtocolo();
      assunto = acionamento.getMensagem().getAssunto().getDescricao();

      data = new SimpleDateFormat("dd/MM/yyyy");
      dataFormatada = data.format(dataAcionamento);

      nomeFuncionarioResponsavel = funcionario.getNome();
View Full Code Here

        if (orgao == null || funcionario == null || acionamentoId == null) {
            throw new IllegalArgumentException();
        }

        Acionamento acionamento = (Acionamento) acionamentoDao.get(new Long(
                acionamentoId));

        if (verificaPermissao(funcionario, acionamento)) {
            return acionamento;
        }
View Full Code Here

            throw new IllegalArgumentException();
        }

        AcionamentoCtrl acionamentoCtrl = new AcionamentoCtrl(daoFactory);

        Acionamento acionamento = acionamentoCtrl.getAcionamentoPeloProtocolo(
                orgao, new Integer(numeroProtocolo));

        if (acionamento == null) {
            return null;
        }
View Full Code Here

                + "  order by a.respostaAcionamento.data desc ";
           
        List acnmnts = acionamentoDao.query(sql);

        for (Iterator iter = acnmnts.iterator(); iter.hasNext();) {
            Acionamento acionamento = (Acionamento) iter.next();

            if (verificaPermissao(funcionario, acionamento)) {
                acionamentos.add(acionamento);
            }
        }
View Full Code Here

        if (acionamentos == null) {
            throw new IllegalArgumentException();
        }

        Acionamento acionamento = null;
        for (int i = 0; i < acionamentos.length; i++) {

            acionamento = (Acionamento) acionamentoDao.get(new Long(
                    acionamentos[i]));

            if (acionamento != null) {
                acionamento.setEstadoAcionamento(EstadoAcionamento.ENVIADO);

                if (acionamento.getAcionador().getMeioEnvioRespostaOrgao()
                        .getMeioEnvioResposta().equals(MeioEnvioResposta.CARTA)
                        || acionamento.getAcionador()
                                .getMeioEnvioRespostaOrgao()
                                .getMeioEnvioResposta().equals(
                                        MeioEnvioResposta.TELEFONE)
                        || acionamento.getAcionador()
                                .getMeioEnvioRespostaOrgao()
                                .getMeioEnvioResposta().equals(
                                        MeioEnvioResposta.FAX)
                        || acionamento.getAcionador()
                                .getMeioEnvioRespostaOrgao()
                                .getMeioEnvioResposta().equals(
                                        MeioEnvioResposta.EMAIL)) {                 
                    acionamento.getRespostaAcionamento().setDataEnvio(
                            new Timestamp(System.currentTimeMillis()));
                }

                acionamentoDao.save(acionamento);
            }
View Full Code Here

   * @param id
   * @return
   * @throws DaoException
   */
  public Acionamento getAcionamento(Integer id) throws DaoException {
    Acionamento acionamento = (Acionamento) acionamentoDao.get(new Long(id
        .longValue()));
    return acionamento;
  }
View Full Code Here

    int valorRetorno = RESPOSTA_INCORRETA;
    Integer tempoBloqueio;
    boolean existeBloqueio;

    Acionamento acionamento = this.getAcionamento(numeroProtocolo);

    // incrementa o número de tentativas
    acionamento.getAcionador().getInformacoesConsultaAcionamento()
        .incrementarNumeroTentativasPergunta();

    // tentativas na tela:
    int numeroTentativas = acionamento.getAcionador()
        .getInformacoesConsultaAcionamento()
        .getNumeroTentativasPergunta().intValue();

    // número limite:
    int numeroTentativasOrgao = 9999;
    if (orgao.getConfiguracoes().getQtdeTentativasPossiveisPergunta() != null) {
      numeroTentativasOrgao = orgao.getConfiguracoes()
          .getQtdeTentativasPossiveisPergunta().intValue();
    }

    existeBloqueio = false;

    if (orgao.getConfiguracoes().getExisteBloqueioProtocoloPelaPergunta() != null) {
      existeBloqueio = orgao.getConfiguracoes()
          .getExisteBloqueioProtocoloPelaPergunta().booleanValue();
    }

    if (existeBloqueio) {
      tempoBloqueio = orgao.getConfiguracoes()
          .getTempoBloqueioProtocoloPelaPergunta();

      if (numeroTentativas >= numeroTentativasOrgao) {

        acionamento.bloquearProtocolo(tempoBloqueio);
        valorRetorno = PROTOCOLO_FOI_BLOQUEADO;
        numeroTentativas = 0;

      } else if (numeroTentativas == (numeroTentativasOrgao - 1)) {
        valorRetorno = ALERTA_BLOQUEIO_PROTOCOLO;
      } else {
        valorRetorno = RESPOSTA_INCORRETA;
      }
    }

    acionamento.getAcionador().getInformacoesConsultaAcionamento()
        .setNumeroTentativasPergunta(new Integer(numeroTentativas));

    acionamentoDao.save(acionamento);

    return valorRetorno;
View Full Code Here

TOP

Related Classes of br.gov.serpro.ouvidoria.model.Acionamento

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.