Package ecar.dao

Source Code of ecar.dao.ConfiguracaoDao

/*
* Criado em 02/12/2004
*
*/
package ecar.dao;

import java.util.HashSet;
import java.util.Iterator;
import java.util.List;

import javax.mail.internet.AddressException;
import javax.servlet.http.HttpServletRequest;

import org.hibernate.HibernateException;

import comum.database.Dao;
import comum.util.Pagina;
import comum.util.Util;

import ecar.exception.ECARException;
import ecar.pojo.ConfigMailCfgm;
import ecar.pojo.ConfiguracaoCfg;
import ecar.pojo.Estilo;
import ecar.pojo.PeriodicidadePrdc;
import ecar.pojo.SisAtributoSatb;
import ecar.pojo.SisGrupoAtributoSga;
import ecar.pojo.TextosSiteTxt;
import ecar.pojo.VisaoDemandasVisDem;

/**
* @author felipev
*
*/
public class ConfiguracaoDao extends Dao {
  /**
   * Construtor. Chama o Session factory do Hibernate
   *
   * @param request
   */
  private ConfiguracaoCfg configuracao;

  public ConfiguracaoDao(HttpServletRequest request) {
    super();
    this.request = request;
    try {
      configuracao = (ConfiguracaoCfg) this.listar(ConfiguracaoCfg.class, null).iterator().next();
    } catch (ECARException e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
    }
  }

  /**
   * Atribui os valores dos atributos passados por request a um objeto
   * Configura��o
   *
   * @param request
   * @param configuracao
   * @throws ECARException
   */
  public void setConfiguracao(HttpServletRequest request,
      ConfiguracaoCfg configuracao) throws ECARException {
    if (!"".equals(Pagina.getParamStr(request, "codCfg"))) {
      configuracao.setCodCfg(Long.valueOf(Pagina.getParamStr(request,
          "codCfg")));
    }

    configuracao.setNomeEstruturaCfg(Pagina.getParamStr(request,
        "nomeEstruturaCfg"));

    if (!"".equals(Pagina.getParamStr(request, "periodicidadePrdc"))) {
      configuracao.setPeriodicidadePrdc((PeriodicidadePrdc) this.buscar(
          PeriodicidadePrdc.class, Long.valueOf(Pagina.getParam(
              request, "periodicidadePrdc"))));
    }

    configuracao.setExibDefaultEstCfg(Pagina.getParamStr(request,
        "exibicaoDefaultEstruturaCfg"));

    configuracao.setIndGerarHistoricoCfg(Pagina.getParamStr(request,
        "indGerarHistoricoCfg"));

    configuracao.setTpArqIntegFinanceiraCfg(Pagina.getParamStr(request,
        "tpArqIntegFinanceiraCfg"));

    if (!"".equals(Pagina.getParamStr(request, "codSgaUnidMedida"))) {
      configuracao
          .setSisGrupoAtributoSgaByUnidMedida((SisGrupoAtributoSga) this
              .buscar(SisGrupoAtributoSga.class, Long
                  .valueOf(Pagina.getParam(request,
                      "codSgaUnidMedida"))));
    } else {
      configuracao.setSisGrupoAtributoSgaByUnidMedida(null);
    }

    if (!"".equals(Pagina.getParamStr(request, "codSgaTipoEvento"))) {
      configuracao
          .setSisGrupoAtributoSgaByTipoEvento((SisGrupoAtributoSga) this
              .buscar(SisGrupoAtributoSga.class, Long
                  .valueOf(Pagina.getParam(request,
                      "codSgaTipoEvento"))));
    } else {
      configuracao.setSisGrupoAtributoSgaByTipoEvento(null);
    }

    if (!"".equals(Pagina.getParamStr(request, "codSgaGrAtrClAcesso"))) {
      configuracao
          .setSisGrupoAtributoSgaByCodSgaGrAtrClAcesso((SisGrupoAtributoSga) this
              .buscar(SisGrupoAtributoSga.class, Long
                  .valueOf(Pagina.getParam(request,
                      "codSgaGrAtrClAcesso"))));
    }

    if (!"".equals(Pagina.getParamStr(request, "codSgaGrAtrPgIni"))) {
      configuracao
          .setSisGrupoAtributoSgaByCodSgaGrAtrPgIni((SisGrupoAtributoSga) this
              .buscar(SisGrupoAtributoSga.class, Long
                  .valueOf(Pagina.getParam(request,
                      "codSgaGrAtrPgIni"))));
    }

    if (!"".equals(Pagina.getParamStr(request, "codSapadrao"))) {
      configuracao.setSisAtributoSatbByCodSapadrao((SisAtributoSatb) this
          .buscar(SisAtributoSatb.class, Long.valueOf(Pagina
              .getParam(request, "codSapadrao"))));
    }

    if (!"".equals(Pagina.getParamStr(request, "codSgaGrAtrLeiCapa"))) {
      configuracao
          .setSisGrupoAtributoSgaByCodSgaGrAtrLeiCapa((SisGrupoAtributoSga) this
              .buscar(SisGrupoAtributoSga.class, Long
                  .valueOf(Pagina.getParam(request,
                      "codSgaGrAtrLeiCapa"))));
    }

    if (!"".equals(Pagina.getParamStr(request, "codSgaPontoCritico"))) {
      configuracao
          .setSisGrupoAtributoSgaTipoPontoCritico((SisGrupoAtributoSga) this
              .buscar(SisGrupoAtributoSga.class, Long
                  .valueOf(Pagina.getParam(request,
                      "codSgaPontoCritico"))));
    } else {
      configuracao.setSisGrupoAtributoSgaTipoPontoCritico(null);
    }

    if (!"".equals(Pagina.getParamStr(request, "codSacapa"))) {
      configuracao.setSisAtributoSatbByCodSacapa((SisAtributoSatb) this
          .buscar(SisAtributoSatb.class, Long.valueOf(Pagina
              .getParam(request, "codSacapa"))));
    }

    if (!"".equals(Pagina.getParamStr(request, "atrTpAcesso"))) {
      configuracao
          .setSisGrupoAtributoSgaByCodSgaGrAtrTpAcesso((SisGrupoAtributoSga) this
              .buscar(SisGrupoAtributoSga.class, Long
                  .valueOf(Pagina.getParam(request,
                      "atrTpAcesso"))));
    }

    if (!"".equals(Pagina.getParamStr(request, "codSaUsu"))) {
      configuracao.setSisAtributoSatbByCodSaAcesso((SisAtributoSatb) this
          .buscar(SisAtributoSatb.class, Long.valueOf(Pagina
              .getParam(request, "codSaUsu"))));
    }

    if (!"".equals(Pagina.getParamStr(request, "atrNvPlan"))) {
      configuracao
          .setSisGrupoAtributoSgaByCodSgaGrAtrNvPlan((SisGrupoAtributoSga) this
              .buscar(SisGrupoAtributoSga.class, Long
                  .valueOf(Pagina.getParam(request,
                      "atrNvPlan"))));
    }

    /*
     * -- Add conforme modifica��o solicitada no UC04-05
     *
     * @author rogeriom
     *
     * @since 12/04/2006 --
     */
    if (!""
        .equals(Pagina
            .getParamStr(request, "intervaloAtualizacaoEmail"))) {
      configuracao.setIntervaloAtualizacaoEmail(Long.valueOf(Pagina
          .getParamStr(request, "intervaloAtualizacaoEmail")));
    }

    if (!"".equals(Pagina.getParamStr(request, "diasAntecedenciaMailCfg"))) {
      configuracao.setDiasAntecedenciaMailCfg(Long.valueOf(Pagina
          .getParamStr(request, "diasAntecedenciaMailCfg")));
    }

    if (!"".equals(Pagina.getParamStr(request, "horaEnvioMailCfg"))) {
      configuracao.setHoraEnvioMailCfg(Pagina.getParamStr(request,
          "horaEnvioMailCfg"));
    }

    this.setConfiguracaoMail(request, configuracao); /*
                             * -- Op��es de
                             * envio --
                             */

    Estilo estilo = new Estilo();
    estilo.setCodEstilo(Integer.valueOf((Pagina.getParamStr(request,
        "estilo"))));
    configuracao.setEstilo(estilo);

    /*
     * -- Adicionado por Igor para migra��o dos properties para Banco
     * 10/05/2006
     */
    configuracao.setTituloSistema(Pagina.getParamStr(request,
        "tituloSistema"));
    configuracao.setEmailServer(Pagina.getParamStr(request, "emailServer"));
    configuracao.setImagemEsquerda(Pagina.getParamStr(request,
        "imagemEsquerda"));
    configuracao.setRaizUpload(Pagina.getParamStr(request, "raizUpload"));
    configuracao.setUploadUsuarios(Pagina.getParamStr(request,
        "uploadUsuarios"));
    configuracao.setUploadEmpresa(Pagina.getParamStr(request,
        "uploadEmpresa"));
    configuracao.setUploadCategoria(Pagina.getParamStr(request,
        "uploadCategoria"));
    configuracao.setUploadAnexos(Pagina
        .getParamStr(request, "uploadAnexos"));
    configuracao.setUploadAdmPortal(Pagina.getParamStr(request,
        "uploadAdmPortal"));
    configuracao.setUploadIconeLinks(Pagina.getParamStr(request,
        "uploadIconeLinks"));
    configuracao.setUploadExportacaoDemandas(Pagina.getParamStr(request,
        "uploadExportacaoDemandas"));

    configuracao.setSeparadorArqTXT(Pagina.getParamStr(request,
        "separadorArqTXT"));
    configuracao.setSeparadorCampoMultivalor(Pagina.getParamStr(request,
        "separadorCampoMultivalor"));

    configuracao.setNumRegistros(Long.valueOf(Pagina.getParamStr(request,
        "numRegistros")));
    configuracao.setQtdeItensGalAnexo(Long.valueOf(Pagina.getParamStr(
        request, "qteItensGalAnexo")));
    configuracao.setNuItensExibidosPaginacao(Integer.valueOf(
        Pagina.getParamStr(request, "nuItensExibidosPaginacao"))
        .intValue());

    configuracao.setLabelMonitorado(Pagina.getParamStr(request,
        "labelMonitorado"));
    configuracao.setLabelOrgao(Pagina.getParamStr(request, "labelOrgao"));
    configuracao.setLabelAgrupamentoItensSemOrgao(Pagina.getParamStr(request, "labelAgrupamentoItensSemOrgao"));

    configuracao.setLabelSituacaoParecer(Pagina.getParamStr(request,
        "labelSituacaoParecer"));
    configuracao.setLabelCorParecer(Pagina.getParamStr(request,
        "labelCorParecer"));
    configuracao.setLabelSituacaoListaPareceres(Pagina.getParamStr(request,
        "labelSituacaoListaPareceres"));

    /*
     * -- Adicionado por aleixo - Integra��o Financeira 02/08/2006
     */
    configuracao.setFinanceiroDescValor1Cfg(Pagina.getParamStr(request,
        "financeiroDescValor1Cfg"));
    configuracao.setFinanceiroDescValor2Cfg(Pagina.getParamStr(request,
        "financeiroDescValor2Cfg"));
    configuracao.setFinanceiroDescValor3Cfg(Pagina.getParamStr(request,
        "financeiroDescValor3Cfg"));
    configuracao.setFinanceiroDescValor4Cfg(Pagina.getParamStr(request,
        "financeiroDescValor4Cfg"));
    configuracao.setFinanceiroDescValor5Cfg(Pagina.getParamStr(request,
        "financeiroDescValor5Cfg"));
    configuracao.setFinanceiroDescValor6Cfg(Pagina.getParamStr(request,
        "financeiroDescValor6Cfg"));

    configuracao.setUploadIntegracao(Pagina.getParamStr(request,
        "uploadIntegracao"));

    /*
     * -- Adicionado por aleixo - Integra��o Financeira (Cadastro de
     * Recursos) 09/03/2007
     */
    configuracao.setRecursoDescValor1Cfg(Pagina.getParamStr(request,
        "recursoDescValor1Cfg"));
    configuracao.setRecursoDescValor2Cfg(Pagina.getParamStr(request,
        "recursoDescValor2Cfg"));
    configuracao.setRecursoDescValor3Cfg(Pagina.getParamStr(request,
        "recursoDescValor3Cfg"));

    /*
     * -- Adicionado por Rogerio Inclus�o de campo sobre Metas F�sicas
     * na tela 15/03/2007 --
     */
    if (!"".equals(Pagina.getParamStr(request, "codSgaMetasFisicas"))) {
      configuracao
          .setSisGrupoAtributoSgaByCodSgaGrAtrMetasFisicas((SisGrupoAtributoSga) this
              .buscar(SisGrupoAtributoSga.class, Long
                  .valueOf(Pagina.getParam(request,
                      "codSgaMetasFisicas"))));
    } else {
      configuracao.setSisGrupoAtributoSgaByCodSgaGrAtrMetasFisicas(null);
    }

    /*--
     * Adicionado por Davi Gad�lha - SERPRO/DERCE
     * Inclus�o do campo de per�odo padr�o para ser usado na tela de filtros
     * 24/01/2008
     */
    if (!"".equals(Pagina.getParamStr(request, "periodoPadrao"))) {
      configuracao.setPeriodoPadrao(Long.valueOf((Pagina.getParamStr(
          request, "periodoPadrao"))));
    } else {
      configuracao.setPeriodoPadrao(null);
    }

    if (!"".equals(Pagina.getParamStr(request, "tempoSessao"))) {
      configuracao.setTempoSessao((Long.valueOf((Pagina.getParamStr(
          request, "tempoSessao")))));
    } else {
      configuracao.setTempoSessao(2L);
    }

    if (!"".equals(Pagina.getParamStr(request,
        "indOcultarObservacoesParecer"))) {
      configuracao.setIndOcultarObservacoesParecer(Pagina.getParamStr(
          request, "indOcultarObservacoesParecer"));
    }

    if (!"".equals(Pagina.getParamStr(request,
        "indExibirSituacoesFormatoAbas"))) {
      String indExibirSituacoesFormatoAbas = Pagina.getParamStr(request,
          "indExibirSituacoesFormatoAbas");

      configuracao
          .setIndExibirSituacoesFormatoAbas(indExibirSituacoesFormatoAbas);
    }

    configuracao.setIndExibirArvoreNavegacaoCfg(Pagina.getParamStr(request,
        "indExibirArvoreNavegacaoCfg"));

    if (!"".equals(Pagina.getParamStr(request, "visaoDemandasVisDem"))) {
      configuracao.setVisaoDemandasVisDem((VisaoDemandasVisDem) this
          .buscar(VisaoDemandasVisDem.class, Long.valueOf(Pagina
              .getParam(request, "visaoDemandasVisDem"))));
    } else {
      configuracao.setVisaoDemandasVisDem(null);
    }
  } // fim setConfiguracao

  /**
   * obtem dados da lista, testa para setar como ativo / inativo,testa para
   * atribuir o texto e-mail,testa para atribuir o texto sms, por fim adiciona
   * as configura��es
   *
   * @param request
   * @param configuracao
   * @throws ECARException
   */
  public void setConfiguracaoMail(HttpServletRequest request,
      ConfiguracaoCfg configuracao) throws ECARException {
    // obtem os dados da lista
    String[] listCfgMail = request.getParameterValues("chkAtivoCfgM");
    String[] listCfgObrigatorio = request
        .getParameterValues("chkObrigatorioCfgM");
    String[] listCboEmail = request
        .getParameterValues("cboCodTextoSiteEmail");
    String[] listCboSMS = request.getParameterValues("cboCodTextoSiteSMS");

    ConfigMailCfgmDAO configMailDao = new ConfigMailCfgmDAO(request);
    Iterator itConfigMail = configMailDao.listar(ConfigMailCfgm.class,
        new String[] { "descricaoCfgm", "asc" }).iterator();

    TextosSiteDao textoSiteDao = new TextosSiteDao(request);

    int indice = 0;

    while (itConfigMail.hasNext()) {
      ConfigMailCfgm configMail = (ConfigMailCfgm) itConfigMail.next();
      configMail.setAtivoCfgm(String.valueOf("N"));
      configMail.setIndEnvioObrigatorio(String.valueOf("N"));

      // teste para setar como ativo/ inativo
      if (listCfgMail != null) {
        for (int i = 0; i < listCfgMail.length; i++) {
          if (configMail.getCodCfgm().equals(
              Integer.valueOf(listCfgMail[i]))) {
            configMail.setAtivoCfgm(String.valueOf("S"));
          }
        }
      }

      // luana: incluindo o campo obrigatorio
      if (listCfgObrigatorio != null) {
        for (int i = 0; i < listCfgObrigatorio.length; i++) {
          if (configMail.getCodCfgm().equals(
              Integer.valueOf(listCfgObrigatorio[i]))) {
            configMail.setIndEnvioObrigatorio(String.valueOf("S"));
          }
        }
      }

      // teste para atribuir o texto e-mail
      if (listCboEmail != null) {
        if (!"0".equals(listCboEmail[indice])) {
          configMail.setTextosSiteMail((TextosSiteTxt) textoSiteDao
              .buscar(TextosSiteTxt.class, Long
                  .valueOf(listCboEmail[indice])));
        } else {
          configMail.setTextosSiteMail(null);
        }
      }

      // teste para atribuir o texto sms
      if (listCboSMS != null) {
        if (!"0".equals(listCboSMS[indice])) {
          configMail.setTextosSiteSms((TextosSiteTxt) textoSiteDao
              .buscar(TextosSiteTxt.class, Long
                  .valueOf(listCboSMS[indice])));
        } else {
          configMail.setTextosSiteSms(null);
        }
      }

      indice++;

      if (configuracao.getConfigMailCfgms() == null) {
        configuracao.setConfigMailCfgms(new HashSet());
      }

      configuracao.getConfigMailCfgms().add(configMail);
    }
  }

  /**
   * Grava as configura��es ( ou altera se j� houver um registro gravado
   * )
   *
   * @param request
   * @param configuracao
   * @throws ECARException
   * @throws HibernateException
   * @throws AddressException
   * @throws AddressException
   */
  public void salvar(HttpServletRequest request, ConfiguracaoCfg configuracao)
      throws ECARException, HibernateException, AddressException{
   

    String ipStr = configuracao.getEmailServer();

    if (!Util.validaIP(ipStr)) {
      throw new ECARException("geral.validacao.servidor.email",null,new String[]{ipStr});
    }
   
    String horaEnvioEmail = configuracao.getHoraEnvioMailCfg();
   
    if (!Util.validaHora(horaEnvioEmail)) {
      throw new ECARException("geral.validacao.hora.envio.email",null,new String[]{horaEnvioEmail});
    }
   
    this.salvarOuAlterar(configuracao);
   
  }
 
  /**
   * Verifica se j� foi gravado um registro de Configura��o
   *
   * @return
   * @throws ECARException
   */
  public boolean existeConfiguracao() throws ECARException {
    List confg = this.listar(ConfiguracaoCfg.class, null);

    if ((confg != null) && (confg.size() > 0)) {
      return true;
    } else {
      return false;
    }
  }

  /**
   * Retorna o objeto configura��o do Sistema caso algum j� tenha sido
   * gravado, caso contr�rio retorna null
   *
   * @return
   * @throws ECARException
   */
  public ConfiguracaoCfg getConfiguracao() throws ECARException {
    return configuracao;
    // return (ConfiguracaoCfg) this.listar( ConfiguracaoCfg.class, null
    // ).iterator().next();
  }
}
TOP

Related Classes of ecar.dao.ConfiguracaoDao

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.