Package br.gov.serpro.ouvidoria.struts.action.gerencial.administracao

Source Code of br.gov.serpro.ouvidoria.struts.action.gerencial.administracao.AtualizarConfiguracoesOrgaoAction

/*
* Sistema de Ouvidoria: um canal através do qual os usuários
* podem encaminhar suas reclamações, elogios e sugestões.
*
* Copyright (C) 2011 SERPRO
*
* Este programa é software livre; você pode redistribuí-lo e/ou
* modificá-lo sob os termos da Licença Pública Geral GNU, conforme
* publicada pela Free Software Foundation; tanto a versão 2 da
* Licença como (a seu critério) qualquer versão mais nova.
*
* Este programa é distribuído na expectativa de ser útil, mas SEM
* QUALQUER GARANTIA; sem mesmo a garantia implícita de
* COMERCIALIZAÇÃO ou de ADEQUAÇÃO A QUALQUER PROPÓSITO EM
* PARTICULAR. Consulte a Licença Pública Geral GNU para obter mais
* detalhes.
*
* Você deve ter recebido uma cópia da Licença Pública Geral GNU,
* sob o título "LICENCA.txt", junto com esse programa. Se não,
* acesse o Portal do Software Público Brasileiro no endereço
* http://www.softwarepublico.gov.br/ ou escreva para a Fundação do
* Software Livre (FSF) Inc., 51 Franklin St, Fifth Floor, Boston,
* MA 02111-1301, USA.
*
* Contatos através do seguinte endereço internet:
* http://www.serpro.gov.br/sistemaouvidoria/
*/
package br.gov.serpro.ouvidoria.struts.action.gerencial.administracao;

import java.util.ArrayList;
import java.util.Collection;
import java.util.Date;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.log4j.Logger;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.action.ActionMessage;
import org.apache.struts.action.ActionMessages;
import org.apache.struts.upload.FormFile;
import org.quartz.Scheduler;

import br.gov.serpro.ouvidoria.agendador.OuvidoriaScheduler;
import br.gov.serpro.ouvidoria.controller.gerencial.administracao.ConfiguracoesOrgaoCtrl;
import br.gov.serpro.ouvidoria.controller.gerencial.administracao.OrgaoCtrl;
import br.gov.serpro.ouvidoria.dao.DaoException;
import br.gov.serpro.ouvidoria.model.ConfiguracoesOrgao;
import br.gov.serpro.ouvidoria.model.MeioEnvioResposta;
import br.gov.serpro.ouvidoria.model.Orgao;
import br.gov.serpro.ouvidoria.model.TipoAcionador;
import br.gov.serpro.ouvidoria.struts.DispatchActionSupport;
import br.gov.serpro.ouvidoria.struts.form.CadastrarConfiguracoesOrgaoForm;
import br.gov.serpro.ouvidoria.util.Constants;

/**
* Objetivo: Exibir os dados da configuração de um órgão.
*
* @author SERPRO
* @version $Revision: 1.1.2.5 $, $Date: 2011/10/21 12:51:37 $
* @version 0.1, 2004/12/27
*/
public class AtualizarConfiguracoesOrgaoAction extends DispatchActionSupport {

 
  private static Logger log;
  private static String horaAgendadaAntiga = null;

    public ActionForward exibir(ActionMapping mapping, ActionForm form,
            HttpServletRequest request, HttpServletResponse response)
            throws Exception {

        Orgao localOrgao = null;
       
        final String idOrgao = request.getParameter("id");
        OrgaoCtrl orgaoCtrl = new OrgaoCtrl(getDaoFactory());
        ConfiguracoesOrgaoCtrl configuracoesOrgaoCtrl = new ConfiguracoesOrgaoCtrl(
                getDaoFactory());
       
        if (idOrgao == null) {
            localOrgao = getOrgao(request);
        } else {
            localOrgao = orgaoCtrl.get(new Long(idOrgao));
        }
       
        ConfiguracoesOrgao configuracoes = localOrgao.getConfiguracoes();
        if (configuracoes == null) {
            configuracoes = new ConfiguracoesOrgao();
            request.setAttribute("function", "incluir");
        } else
            request.setAttribute("function", "alterar");
       
        request.setAttribute("orgao", localOrgao);
        request.setAttribute("configuracoes", configuracoes);
       
        request.setAttribute("listaMeioEnvioRespostaTodos",
                configuracoesOrgaoCtrl.listarMeioEnvioResposta());
       
        request.setAttribute("diretorioContextoAplicacao",
                configuracoesOrgaoCtrl.getParametrosGerais()
                .getDiretorioContextoAplicacao());
       
        request.setAttribute("listaDiretoriosCores", configuracoesOrgaoCtrl
                .listarDiretoriosCores(this.servlet.getServletContext()
                .getRealPath("")));
       
        horaAgendadaAntiga = configuracoes.getHoraEnvioNotificacao();
       
        return mapping.findForward("exibir");
       
    }
   

    public ActionForward salvar(ActionMapping mapping, ActionForm form,
            HttpServletRequest request, HttpServletResponse response)
            throws Exception {

        ActionMessages msgs = new ActionMessages();
       
        final String id = request.getParameter("id");
        final String idOrgao = request.getParameter("idOrgao");
        final String meiosEnvioResp = request.getParameter("meiosEnvioResp");

       
        /*Campos de notificação por email*/
       
       
       
        final String textoNotificacaoPendencia = request.getParameter("textoNotificacaoPendencia");
       
        final String textoNotificacaoAtraso = request.getParameter("textoNotificacaoAtraso");;
       
        final String textoNotificacaoAtrasoCritico = request.getParameter("textoNotificacaoAtrasoCritico");
       
        final String notificacaoEmail = request.getParameter("notificacaoEmail");
       
        final String horaEnvioNotificacao = request.getParameter("horaEnvioNotificacao");
       
        /**/
       
        final String[] tipoAcionador = request.getParameterValues("tipoAcionador");
       
        Collection listaMeioEnvioResposta = new ArrayList();
       
        final String strPermiteMsgDigitalizadaAcionamento = request
                .getParameter("permiteMsgDigitalizadaAcionamento");
        Boolean permiteMsgDigitalizadaAcionamento;
       
        final String strTamanhoMaxArquivoCartaDigitalizada = request
                .getParameter("tamanhoMaxArquivoCartaDigitalizada");
        Integer tamanhoMaxArquivoCartaDigitalizada = null;
       
        final String strPermiteArquivoAnexoAcionamento = request
                .getParameter("permiteArquivoAnexoAcionamento");
        Boolean permiteArquivoAnexoAcionamento;
       
        final String strTamanhoMaxArquivoAnexo = request
                .getParameter("tamanhoMaxArquivoAnexo");
        Integer tamanhoMaxArquivoAnexo = null;
       
        final String strPossuiCodigoAcesso = request
                .getParameter("possuiCodigoAcesso");
        Boolean possuiCodigoAcesso;
       
        final String strAtendenteConsultaMsgNoAtendimento = request
                .getParameter("atendenteConsultaMsgNoAtendimento");
        Boolean atendenteConsultaMsgNoAtendimento;
       
        final String strExigeCertificadoDigitalGeral = request
                .getParameter("exigeCertificadoDigitalGeral");
        Boolean exigeCertificadoDigitalGeral;
       
        final String strExigeCertificadoDigitalOrgao = request
                .getParameter("exigeCertificadoDigitalOrgao");
        Boolean exigeCertificadoDigitalOrgao;
       
        final String strExisteBloqueioProtocoloPeloCodigo = request
                .getParameter("existeBloqueioProtocoloPeloCodigo");
        Boolean existeBloqueioProtocoloPeloCodigo;
       
        final String strExisteBloqueioProtocoloPelaPergunta = request
                .getParameter("existeBloqueioProtocoloPelaPergunta");
        Boolean existeBloqueioProtocoloPelaPergunta;
       
        final String strTempoBloqueioProtocoloPeloCodigo = request
                .getParameter("tempoBloqueioProtocoloPeloCodigo");
        Integer tempoBloqueioProtocoloPeloCodigo = null;
       
        final String strTempoBloqueioProtocoloPelaPergunta = request
                .getParameter("tempoBloqueioProtocoloPelaPergunta");
        Integer tempoBloqueioProtocoloPelaPergunta = null;
       
        final String strQtdeTentativasPossiveisCodigoAcesso = request
                .getParameter("qtdeTentativasPossiveisCodigoAcesso");
        Integer qtdeTentativasPossiveisCodigoAcesso = null;
       
        final String strQtdeTentativasPossiveisPergunta = request
                .getParameter("qtdeTentativasPossiveisPergunta");
        Integer qtdeTentativasPossiveisPergunta = null;
       
        final String textoApresentacaoOuvidoria = request
                .getParameter("textoApresentacaoOuvidoria");
       
        final String textoRespostaAcionamento = request
                .getParameter("textoRespostaAcionamento");
       
        final String textoApresentacaoFormulario = request
                .getParameter("textoApresentacaoFormulario");
       
        final String textoCanaisComunicacao = request
                .getParameter("textoCanaisComunicacao");
       
        final String textoApresentacaoResposta = request
                .getParameter("textoApresentacaoResposta");
       
        final String textoInformacaoOuvidoria = request
                .getParameter("textoInformacaoOuvidoria");
       
        final String esquemaCoresLayout = request
                .getParameter("esquemaCoresLayout");
       
        final String nomeExibicaoOrgao = request
                .getParameter("nomeExibicaoOrgao");
       
        final String descricaoImagemLogo = request
                .getParameter("descricaoImagemLogo");
       
        final String descricaoImagemBanner = request
                .getParameter("descricaoImagemBanner");
       
        final String descricaoImagem3 = request
                .getParameter("descricaoImagem3");
       
        final String descricaoImagem4 = request
                .getParameter("descricaoImagem4");
       
        final String descricaoImagem5 = request
                .getParameter("descricaoImagem5");
       
        final String linkImagemLogo = request.getParameter("linkImagemLogo");
       
        final String linkImagemBanner = request
                .getParameter("linkImagemBanner");
       
        final String linkImagem3 = request.getParameter("linkImagem3");
       
        final String linkImagem4 = request.getParameter("linkImagem4");
       
        final String linkImagem5 = request.getParameter("linkImagem5");
       
        CadastrarConfiguracoesOrgaoForm _form = (CadastrarConfiguracoesOrgaoForm) form;
        final FormFile imagemLogo = _form.getImagemLogo();
        final FormFile imagemBanner = _form.getImagemBanner();
        final FormFile imagem3 = _form.getImagem3();
        final FormFile imagem4 = _form.getImagem4();
        final FormFile imagem5 = _form.getImagem5();
       
        final String urlBaseFuncionarios = request
                .getParameter("urlBaseFuncionarios");
        final String textoConsultaRespostaNoPrazo = request
                .getParameter("textoConsultaRespostaNoPrazo");
        final String textoConsultaRespostaSemPrazo = request
                .getParameter("textoConsultaRespostaSemPrazo");
        final String textoConsultaRespostaEmAtraso = request
                .getParameter("textoConsultaRespostaEmAtraso");
        final String textoAvaliacaoResposta = request
                .getParameter("textoAvaliacaoResposta");
        final String nomeDiretorioOrgao = request
                .getParameter("nomeDiretorioOrgao");
        final String remetenteEmail = request.getParameter("remetenteEmail");
        final String textoLegislacaoOuvidoria = request
                .getParameter("textoLegislacaoOuvidoria");
        final String corCabecalhoLogo = request
                .getParameter("corCabecalhoLogo");
        final String corCabecalhoBanner = request
                .getParameter("corCabecalhoBanner");
        final String urlSuporteUsuario = request
                .getParameter("urlSuporteUsuario");
       
        OrgaoCtrl orgaoCtrl = new OrgaoCtrl(getDaoFactory());
        ConfiguracoesOrgaoCtrl configuracoesOrgaoCtrl = new ConfiguracoesOrgaoCtrl(
                getDaoFactory());
       
        try {
           
            if (idOrgao == null || idOrgao.trim().length() == 0)
                msgs.add(ActionMessages.GLOBAL_MESSAGE, new ActionMessage(
                        "error.atualizarConfiguracoesOrgao.masc", "Orgão"));
           
            if (strPermiteMsgDigitalizadaAcionamento != null) {
                permiteMsgDigitalizadaAcionamento = Boolean.TRUE;
               
                if (strTamanhoMaxArquivoCartaDigitalizada == null
                        || strTamanhoMaxArquivoCartaDigitalizada.trim()
                        .length() == 0)
                    msgs.add(ActionMessages.GLOBAL_MESSAGE, new ActionMessage(
                            "error.atualizarConfiguracoesOrgao.masc",
                            "Tamanho máximo para carta digitalizada"));
                else
                    tamanhoMaxArquivoCartaDigitalizada = new Integer(
                            strTamanhoMaxArquivoCartaDigitalizada);
            } else {
                permiteMsgDigitalizadaAcionamento = Boolean.FALSE;
                tamanhoMaxArquivoCartaDigitalizada = null;
            }
           
            if (strPermiteArquivoAnexoAcionamento != null) {
                permiteArquivoAnexoAcionamento = Boolean.TRUE;
               
                if (strTamanhoMaxArquivoAnexo == null
                        || strTamanhoMaxArquivoAnexo.trim().length() == 0)
                    msgs.add(ActionMessages.GLOBAL_MESSAGE, new ActionMessage(
                            "error.atualizarConfiguracoesOrgao.masc",
                            "Tamanho máximo para arquivos anexos"));
                else
                    tamanhoMaxArquivoAnexo = new Integer(
                            strTamanhoMaxArquivoAnexo);
            } else {
                permiteArquivoAnexoAcionamento = Boolean.FALSE;
                tamanhoMaxArquivoAnexo = null;
            }
           
            // possui código de acesso
            if (strPossuiCodigoAcesso != null) {
                possuiCodigoAcesso = Boolean.TRUE;
               
                // existe bloqueio pelo código de acesso
                if (strExisteBloqueioProtocoloPeloCodigo != null) {
                    existeBloqueioProtocoloPeloCodigo = Boolean.TRUE;
                   
                    if (strTempoBloqueioProtocoloPeloCodigo == null
                            || strTempoBloqueioProtocoloPeloCodigo.trim()
                            .length() == 0)
                        msgs
                            .add(
                                ActionMessages.GLOBAL_MESSAGE,
                                new ActionMessage(
                                "error.atualizarConfiguracoesOrgao.masc",
                                "Tempo de bloqueio pelo código de acesso"));
                    else
                        tempoBloqueioProtocoloPeloCodigo = new Integer(
                                strTempoBloqueioProtocoloPeloCodigo);
                   
                    if (strQtdeTentativasPossiveisCodigoAcesso == null
                            || strQtdeTentativasPossiveisCodigoAcesso.trim()
                            .length() == 0)
                        msgs
                            .add(
                                ActionMessages.GLOBAL_MESSAGE,
                                new ActionMessage(
                                "error.atualizarConfiguracoesOrgao.masc",
                                "Número máximo de falhas no código de acesso"));
                    else
                        qtdeTentativasPossiveisCodigoAcesso = new Integer(
                                strQtdeTentativasPossiveisCodigoAcesso);
                } else {
                    existeBloqueioProtocoloPeloCodigo = Boolean.FALSE;
                    tempoBloqueioProtocoloPeloCodigo = null;
                    qtdeTentativasPossiveisCodigoAcesso = null;
                }
               
                // existe bloqueio pela pergunta
                if (strExisteBloqueioProtocoloPelaPergunta != null) {
                    existeBloqueioProtocoloPelaPergunta = Boolean.TRUE;
                   
                    if (strTempoBloqueioProtocoloPelaPergunta == null
                            || strTempoBloqueioProtocoloPelaPergunta.trim()
                            .length() == 0)
                        msgs
                            .add(
                                ActionMessages.GLOBAL_MESSAGE,
                                new ActionMessage(
                                "error.atualizarConfiguracoesOrgao.masc",
                                "Tempo de bloqueio pela pergunta"));
                    else
                        tempoBloqueioProtocoloPelaPergunta = new Integer(
                                strTempoBloqueioProtocoloPelaPergunta);
                   
                    if (strQtdeTentativasPossiveisPergunta == null
                            || strQtdeTentativasPossiveisPergunta.trim()
                            .length() == 0)
                        msgs
                            .add(
                                ActionMessages.GLOBAL_MESSAGE,
                                new ActionMessage(
                                "error.atualizarConfiguracoesOrgao.masc",
                                "Número máximo de falhas na pergunta"));
                    else
                        qtdeTentativasPossiveisPergunta = new Integer(
                                strQtdeTentativasPossiveisPergunta);
                } else {
                    existeBloqueioProtocoloPelaPergunta = Boolean.FALSE;
                    tempoBloqueioProtocoloPelaPergunta = null;
                    qtdeTentativasPossiveisPergunta = null;
                }
               
            } else {
                possuiCodigoAcesso = Boolean.FALSE;
                existeBloqueioProtocoloPeloCodigo = null;
                existeBloqueioProtocoloPelaPergunta = null;
                tempoBloqueioProtocoloPeloCodigo = null;
                tempoBloqueioProtocoloPelaPergunta = null;
                qtdeTentativasPossiveisCodigoAcesso = null;
                qtdeTentativasPossiveisPergunta = null;
            }
           
            if (strAtendenteConsultaMsgNoAtendimento != null)
                atendenteConsultaMsgNoAtendimento = Boolean.TRUE;
            else
                atendenteConsultaMsgNoAtendimento = Boolean.FALSE;
           
            if (strExigeCertificadoDigitalGeral != null)
                exigeCertificadoDigitalGeral = Boolean.TRUE;
            else
                exigeCertificadoDigitalGeral = Boolean.FALSE;
           
            if (strExigeCertificadoDigitalOrgao != null)
                exigeCertificadoDigitalOrgao = Boolean.TRUE;
            else
                exigeCertificadoDigitalOrgao = Boolean.FALSE;
           
            if (textoApresentacaoOuvidoria == null
                    || textoApresentacaoOuvidoria.trim().length() == 0)
                msgs.add(ActionMessages.GLOBAL_MESSAGE, new ActionMessage(
                        "error.atualizarConfiguracoesOrgao.masc",
                        "Texto de apresentação da ouvidoria"));
           
            if (textoRespostaAcionamento == null
                    || textoRespostaAcionamento.trim().length() == 0)
                msgs.add(ActionMessages.GLOBAL_MESSAGE, new ActionMessage(
                        "error.atualizarConfiguracoesOrgao.masc",
                        "Texto de resposta no momento do acionamento"));
           
            if (textoApresentacaoResposta == null
                    || textoApresentacaoResposta.trim().length() == 0)
                msgs.add(ActionMessages.GLOBAL_MESSAGE, new ActionMessage(
                        "error.atualizarConfiguracoesOrgao.masc",
                        "Texto de apresentação da resposta"));
           
            if (textoInformacaoOuvidoria == null
                    || textoInformacaoOuvidoria.trim().length() == 0)
                msgs.add(ActionMessages.GLOBAL_MESSAGE, new ActionMessage(
                        "error.atualizarConfiguracoesOrgao.masc",
                        "Texto com informações sobre a ouvidoria"));
           
            if (textoConsultaRespostaNoPrazo == null
                    || textoConsultaRespostaNoPrazo.trim().length() == 0)
                msgs.add(ActionMessages.GLOBAL_MESSAGE, new ActionMessage(
                        "error.atualizarConfiguracoesOrgao.masc",
                        "Texto de consulta de resposta no prazo"));
           
            if (textoConsultaRespostaSemPrazo == null
                    || textoConsultaRespostaSemPrazo.trim().length() == 0)
                msgs.add(ActionMessages.GLOBAL_MESSAGE, new ActionMessage(
                        "error.atualizarConfiguracoesOrgao.masc",
                        "Texto de consulta de resposta sem prazo"));
           
            if (textoConsultaRespostaEmAtraso == null
                    || textoConsultaRespostaEmAtraso.trim().length() == 0)
                msgs.add(ActionMessages.GLOBAL_MESSAGE, new ActionMessage(
                        "error.atualizarConfiguracoesOrgao.masc",
                        "Texto de consulta de resposta em atraso"));
           
            if (textoAvaliacaoResposta == null
                    || textoAvaliacaoResposta.trim().length() == 0)
                msgs.add(ActionMessages.GLOBAL_MESSAGE, new ActionMessage(
                        "error.atualizarConfiguracoesOrgao.masc",
                        "Texto de avaliação da resposta"));
           
            if (esquemaCoresLayout == null
                    || esquemaCoresLayout.trim().length() == 0)
                msgs.add(ActionMessages.GLOBAL_MESSAGE, new ActionMessage(
                        "error.atualizarConfiguracoesOrgao.masc",
                        "Diretório de esquema de cores"));
           
            if (nomeExibicaoOrgao == null
                    || nomeExibicaoOrgao.trim().length() == 0)
                msgs.add(ActionMessages.GLOBAL_MESSAGE, new ActionMessage(
                        "error.atualizarConfiguracoesOrgao.masc",
                        "Nome do órgão para exibição"));
           
            if (id == null || id.trim().length() == 0) {

                if (nomeDiretorioOrgao == null
                        || nomeDiretorioOrgao.trim().length() == 0)
                    msgs.add(ActionMessages.GLOBAL_MESSAGE, new ActionMessage(
                            "error.atualizarConfiguracoesOrgao.masc",
                            "Nome do diretório do órgão"));
            }
           
            if (remetenteEmail == null || remetenteEmail.trim().length() == 0)
                msgs
                    .add(
                        ActionMessages.GLOBAL_MESSAGE,
                        new ActionMessage(
                        "error.atualizarConfiguracoesOrgao.masc",
                        "Remetente dos emails que serão enviados pela aplicação"));
           
            if (corCabecalhoLogo == null
                    || corCabecalhoLogo.trim().length() == 0)
                msgs.add(ActionMessages.GLOBAL_MESSAGE, new ActionMessage(
                        "error.atualizarConfiguracoesOrgao.fem",
                        "Cor referente a página do logo"));
           
            if (corCabecalhoBanner == null
                    || corCabecalhoBanner.trim().length() == 0)
                msgs.add(ActionMessages.GLOBAL_MESSAGE, new ActionMessage(
                        "error.atualizarConfiguracoesOrgao.fem",
                        "Cor referente a página do banner"));
           
            if (urlSuporteUsuario == null
                    || urlSuporteUsuario.trim().length() == 0)
                msgs.add(ActionMessages.GLOBAL_MESSAGE, new ActionMessage(
                        "error.atualizarConfiguracoesOrgao.fem",
                        "URL de suporte ao usuário"));
           
            Collection listaTipoAcionador = new ArrayList();
            if (tipoAcionador != null) {
                for (int i = 0; i < tipoAcionador.length; i++) {
                    listaTipoAcionador.add(TipoAcionador.get(new Long(
                            tipoAcionador[i])));
                }
            }
           
            if (meiosEnvioResp != null) {
                int posIni = 0;
                int pos = 0;
                String idMeioEnvioRespSel = "";
                // Recupera meios de envio de resposta selecionados para
                // o órgão
                while (posIni < meiosEnvioResp.length()) {
                    pos = meiosEnvioResp.indexOf(",", posIni);
                    if (pos > 0) {
                        idMeioEnvioRespSel = meiosEnvioResp.substring(posIni,
                                pos);
                       
                        MeioEnvioResposta mer = configuracoesOrgaoCtrl
                                .getMeioEnvioResposta(new Long(
                                idMeioEnvioRespSel));
                        listaMeioEnvioResposta.add(mer);
                    }
                   
                    posIni = pos + 1;
                }
            }

            if (!msgs.isEmpty()) {
                saveErrors(request, msgs);
                return mapping.findForward("error");
            }
           
            Orgao localOrgao = orgaoCtrl.get(new Long(idOrgao));
            if (id != null && id.trim().length() > 0) {
                configuracoesOrgaoCtrl.update(id, localOrgao,
                        permiteMsgDigitalizadaAcionamento,
                        tamanhoMaxArquivoCartaDigitalizada,
                        permiteArquivoAnexoAcionamento, tamanhoMaxArquivoAnexo,
                        atendenteConsultaMsgNoAtendimento,
                        exigeCertificadoDigitalGeral,
                        exigeCertificadoDigitalOrgao, possuiCodigoAcesso,
                        existeBloqueioProtocoloPeloCodigo,
                        existeBloqueioProtocoloPelaPergunta,
                        tempoBloqueioProtocoloPeloCodigo,
                        tempoBloqueioProtocoloPelaPergunta,
                        qtdeTentativasPossiveisCodigoAcesso,
                        qtdeTentativasPossiveisPergunta,
                        textoApresentacaoOuvidoria, textoRespostaAcionamento,
                        textoApresentacaoFormulario, textoCanaisComunicacao,
                        textoApresentacaoResposta, textoInformacaoOuvidoria,
                        textoConsultaRespostaNoPrazo,
                        textoConsultaRespostaSemPrazo,
                        textoConsultaRespostaEmAtraso, textoAvaliacaoResposta,
                        textoLegislacaoOuvidoria, esquemaCoresLayout,
                        nomeExibicaoOrgao, imagemLogo, corCabecalhoLogo,
                        imagemBanner, corCabecalhoBanner, imagem3, imagem4,
                        imagem5, descricaoImagemLogo, descricaoImagemBanner,
                        descricaoImagem3, descricaoImagem4, descricaoImagem5,
                        linkImagemLogo, linkImagemBanner, linkImagem3,
                        linkImagem4, linkImagem5, urlBaseFuncionarios,
                        urlSuporteUsuario, remetenteEmail,
                        listaMeioEnvioResposta, listaTipoAcionador,
                        notificacaoEmail,
                        horaEnvioNotificacao,
                        textoNotificacaoPendencia,
                        textoNotificacaoAtraso,
                        textoNotificacaoAtrasoCritico);
               
                msgs.add(ActionMessages.GLOBAL_MESSAGE, new ActionMessage(
                        "message.atualizar.alterar"));
            } else {
                configuracoesOrgaoCtrl.insert(localOrgao,
                        permiteMsgDigitalizadaAcionamento,
                        tamanhoMaxArquivoCartaDigitalizada,
                        permiteArquivoAnexoAcionamento, tamanhoMaxArquivoAnexo,
                        atendenteConsultaMsgNoAtendimento,
                        exigeCertificadoDigitalGeral,
                        exigeCertificadoDigitalOrgao, possuiCodigoAcesso,
                        existeBloqueioProtocoloPeloCodigo,
                        existeBloqueioProtocoloPelaPergunta,
                        tempoBloqueioProtocoloPeloCodigo,
                        tempoBloqueioProtocoloPelaPergunta,
                        qtdeTentativasPossiveisCodigoAcesso,
                        qtdeTentativasPossiveisPergunta,
                        textoApresentacaoOuvidoria, textoRespostaAcionamento,
                        textoApresentacaoFormulario, textoCanaisComunicacao,
                        textoApresentacaoResposta, textoInformacaoOuvidoria,
                        textoConsultaRespostaNoPrazo,
                        textoConsultaRespostaSemPrazo,
                        textoConsultaRespostaEmAtraso, textoAvaliacaoResposta,
                        textoLegislacaoOuvidoria, esquemaCoresLayout,
                        nomeExibicaoOrgao, nomeDiretorioOrgao, imagemLogo,
                        corCabecalhoLogo, imagemBanner, corCabecalhoBanner,
                        imagem3, imagem4, imagem5, descricaoImagemLogo,
                        descricaoImagemBanner, descricaoImagem3,
                        descricaoImagem4, descricaoImagem5, linkImagemLogo,
                        linkImagemBanner, linkImagem3, linkImagem4,
                        linkImagem5, urlBaseFuncionarios, urlSuporteUsuario,
                        remetenteEmail, listaMeioEnvioResposta,
                        listaTipoAcionador,
                        notificacaoEmail,
                        horaEnvioNotificacao,
                        textoNotificacaoPendencia,
                        textoNotificacaoAtraso,
                        textoNotificacaoAtrasoCritico);
               
                msgs.add(ActionMessages.GLOBAL_MESSAGE, new ActionMessage(
                        "message.atualizar.incluir"));
            }
           
        } catch (DaoException daoe) {
            if (Constants.DEBUG) {
                daoe.printStackTrace(System.out);
            }
            msgs.add(ActionMessages.GLOBAL_MESSAGE, new ActionMessage(
                    "error.atualizarConfiguracoesOrgao"));
        }
       
        //Caso o admistrador retire a indicação de agendamento o agendador será parado
        if(notificacaoEmail==null || notificacaoEmail.equals("")){
         
          boolean agendamentoFinalizado = OuvidoriaScheduler.sched.deleteJob( "EnviarAlertaJob", Scheduler.DEFAULT_GROUP);
         
          if(agendamentoFinalizado){
           
            getLog().info("\n\n Job 'EnviarAlertaJob' Finalizado em:"+new Date(System.currentTimeMillis()));
          }
         
         
        }else if(horaAgendadaAntiga!=null && horaEnvioNotificacao!=null &&
            !horaAgendadaAntiga.equals(horaEnvioNotificacao)){
          //Caso a hora antiga seja diferente da atual o agendador deverá ser reiniciado
          OuvidoriaScheduler.restart(request);
       
        }
       
        saveMessages(request, msgs);
       
        return mapping.findForward("success");
    }
   
    protected static Logger getLog() {
   
    if (log == null) {
      log = Logger.getLogger("OuvidoriaScheduler ------> ");
    }
    return log;
  }
   
}
TOP

Related Classes of br.gov.serpro.ouvidoria.struts.action.gerencial.administracao.AtualizarConfiguracoesOrgaoAction

TOP
Copyright © 2018 www.massapi.com. 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.