package gcom.gui.cobranca; import gcom.cobranca.CobrancaGrupo; import gcom.cobranca.FiltroCobrancaGrupo; import gcom.gui.ActionServletException; import gcom.gui.GcomAction; import gcom.micromedicao.ContratoEmpresaServico; import gcom.micromedicao.InformarItensContratoServicoHelper; import gcom.util.ConstantesSistema; import gcom.util.filtro.ParametroSimples; import java.util.Collection; import java.util.Date; import java.util.List; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionForward; import org.apache.struts.action.ActionMapping; /** * Descri��o da classe * * @author Arthur Carvalho * @date 14/08/2009 */ public class InserirCobrancaGrupoAction extends GcomAction { /** * Este caso de uso permite a inclus�o de um Grupo de Cobranca * * [UC0929] Inserir Grupo de Cobranca * * @author Arthur Carvalho * * @param actionMapping * @param actionForm * @param httpServletRequest * @param httpServletResponse * @return */ public ActionForward execute(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) { ActionForward retorno = actionMapping.findForward("telaSucesso"); InserirCobrancaGrupoActionForm form = (InserirCobrancaGrupoActionForm) actionForm; Collection colecaoPesquisa = null; // Descri��o String descricao = form.getDescricao(); if (descricao == null || "".equals(descricao)) { throw new ActionServletException("atencao.required", null,"Descri��o"); } // Descri��o Abreviada String descricaoAbreviada = form.getDescricaoAbreviada(); if (descricaoAbreviada == null || "".equals(descricaoAbreviada ) ) { throw new ActionServletException("atencao.required", null,"Descri��o Abreviada"); } //Ano Mes Referencia String anoMesReferencia = form.getAnoMesReferencia(); if ( anoMesReferencia == null || anoMesReferencia.equals("") ) { throw new ActionServletException("atencao.required", null, "M�s/Ano de Refer�ncia" ); } //Ano Mes Referencia String indicadorExecucaoAutomatica = form.getIndicadorExecucaoAutomatica(); if ( indicadorExecucaoAutomatica == null || indicadorExecucaoAutomatica.equals("") ) { throw new ActionServletException("atencao.required", null, "Execu��o Autom�tica" ); } //E-mail do Funcion�rio Respons�vel String emailResponsavel = form.getEmailResponsavel(); /* InformarItensContratoServicoHelper helper = null; ContratoEmpresaServico contratoEmpresaServico = null; Iterator iterator = null; iterator = colecaoHelper.iterator(); while (iterator.hasNext()) { helper = (InformarItensContratoServicoHelper) iterator.next(); contratoEmpresaServico = helper.getContratoEmpresaServico(); }*/ ContratoEmpresaServico contratoEmpresaServico = null; if (form.getIdNumeroContrato() != null && !form.getIdNumeroContrato().equals("")) { HttpSession sessao = httpServletRequest.getSession(false); List colecaoHelper = (List) sessao.getAttribute("collectionContrato"); int posicaoComponente = new Integer(form.getIdNumeroContrato()); if (colecaoHelper.size() >= posicaoComponente) { InformarItensContratoServicoHelper helper = (InformarItensContratoServicoHelper) colecaoHelper.get(posicaoComponente-1); contratoEmpresaServico = helper.getContratoEmpresaServico(); helper.setContratoEmpresaServico(contratoEmpresaServico); colecaoHelper.remove(posicaoComponente-1); colecaoHelper.add(helper); } } FiltroCobrancaGrupo filtroCobrancaGrupo = new FiltroCobrancaGrupo(); filtroCobrancaGrupo.adicionarParametro( new ParametroSimples(FiltroCobrancaGrupo.DESCRICAO, descricao)); colecaoPesquisa = (Collection) this.getFachada().pesquisar(filtroCobrancaGrupo, CobrancaGrupo.class.getName()); if (colecaoPesquisa != null && !colecaoPesquisa.isEmpty()) { throw new ActionServletException("atencao.grupo_cobranca_ja_cadastrada", null,descricao); } else { CobrancaGrupo cobrancaGrupo = new CobrancaGrupo(); String mes = anoMesReferencia.substring(0, 2); String ano = anoMesReferencia.substring(3, 7); anoMesReferencia = ano + "" + mes; cobrancaGrupo.setAnoMesReferencia(new Integer(anoMesReferencia)); cobrancaGrupo.setDescricao(descricao); cobrancaGrupo.setDescricaoAbreviada(descricaoAbreviada); cobrancaGrupo.setIndicadorUso(ConstantesSistema.INDICADOR_USO_ATIVO); cobrancaGrupo.setUltimaAlteracao(new Date()); cobrancaGrupo.setContratoEmpresaServico(contratoEmpresaServico); cobrancaGrupo.setEmailResponsavel(emailResponsavel); cobrancaGrupo.setIndicadorExecucaoAutomatica(new Short(indicadorExecucaoAutomatica)); Integer idCobrancaGrupo = (Integer) this.getFachada().inserir(cobrancaGrupo); montarPaginaSucesso(httpServletRequest, "Grupo de Cobran�a " + descricao + " inserido com sucesso.", "Inserir outro Grupo de Cobran�a ", "exibirInserirCobrancaGrupoAction.do?menu=sim", "exibirAtualizarCobrancaGrupoAction.do?idRegistroAtualizacao=" + idCobrancaGrupo, "Atualizar Grupo de Cobran�a Inserido"); this.getSessao(httpServletRequest).removeAttribute("InserirCobrancaGrupoActionForm"); this.getSessao(httpServletRequest).removeAttribute("collectionContrato"); return retorno; } } }