package gcom.gui.faturamento.conta; import java.util.Collection; import java.util.Date; import java.util.Iterator; import gcom.fachada.Fachada; import gcom.faturamento.conta.ContaMotivoRetificacao; import gcom.faturamento.conta.ContaMotivoRetificacaoColuna; import gcom.faturamento.conta.ContaMotivoRetificacaoColunaPK; import gcom.faturamento.conta.FiltroContaMotivoRetificacao; import gcom.gui.ActionServletException; import gcom.gui.GcomAction; import gcom.seguranca.transacao.TabelaColuna; import gcom.util.ConstantesSistema; import gcom.util.filtro.ParametroSimples; 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; /** * Action respons�vel pela exibi��o da pagina de inserir motivo de retifica��o * [UC1117] Inserir Motivo Retifica��o * * @author Mariana Victor * @date 11/01/2011 */ public class InserirMotivoRetificacaoAction extends GcomAction { /** * Description of the Method * * @param actionMapping * Description of the Parameter * @param actionForm * Description of the Parameter * @param httpServletRequest * Description of the Parameter * @param httpServletResponse * Description of the Parameter * @return Description of the Return Value */ public ActionForward execute(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) { // Mudar isso quando tiver esquema de seguran�a HttpSession sessao = httpServletRequest.getSession(false); // Set no mapeamento de retorno ActionForward retorno = actionMapping.findForward("telaSucesso"); InserirMotivoRetificacaoActionForm form = (InserirMotivoRetificacaoActionForm) actionForm; Fachada fachada = Fachada.getInstancia(); //[FS0004] - Verificar preenchimento dos campos if(form.getDescricao() == null){ throw new ActionServletException("atencao.naoinformado",null, "Descri��o"); } if(form.getIndicadorCompetenciaConsumo() == null){ throw new ActionServletException("atencao.naoinformado",null, "Indicativo de Validar Compet�ncia de Consumo"); } //[FS0001] � Verificar exist�ncia da descri��o FiltroContaMotivoRetificacao filtroContaMotivoRetificacao = new FiltroContaMotivoRetificacao(); filtroContaMotivoRetificacao.adicionarParametro( new ParametroSimples(FiltroContaMotivoRetificacao.DESCRICAO, form.getDescricao())); Collection colecaoContaMotivoRetificacao = fachada.pesquisar(filtroContaMotivoRetificacao, ContaMotivoRetificacao.class.getName()); if (colecaoContaMotivoRetificacao != null && !colecaoContaMotivoRetificacao.isEmpty()) { throw new ActionServletException("Motivo da Retifica��o com esta descri��o j� existe", null, "Descri��o"); } ContaMotivoRetificacao contaMotivoRetificacao = new ContaMotivoRetificacao(); Date data = new Date(); contaMotivoRetificacao.setIndicadorUso(ConstantesSistema.SIM); contaMotivoRetificacao.setDescricao( form.getDescricao()); contaMotivoRetificacao.setUltimaAlteracao( data); contaMotivoRetificacao.setIndicadorCompetenciaConsumo( new Short(form.getIndicadorCompetenciaConsumo())); if (form.getNumeroOcorrenciasNoAno() != null && !form.getNumeroOcorrenciasNoAno().equals("")) { contaMotivoRetificacao.setNumeroOcorrenciasNoAno( new Integer(form.getNumeroOcorrenciasNoAno())); } Integer id = (Integer) fachada.inserir(contaMotivoRetificacao); ContaMotivoRetificacao contaMotivo = new ContaMotivoRetificacao(); contaMotivo.setId(id); if (sessao.getAttribute("colecaoCampos") != null && !sessao.getAttribute("colecaoCampos").equals("")) { Collection<TabelaColuna> colecaoCampos = (Collection<TabelaColuna>) sessao.getAttribute("colecaoCampos"); Iterator iterator = colecaoCampos.iterator(); while (iterator.hasNext()) { TabelaColuna tabelaColuna = (TabelaColuna) iterator.next(); ContaMotivoRetificacaoColunaPK contaMotivoRetificacaoColunaPK = new ContaMotivoRetificacaoColunaPK(); contaMotivoRetificacaoColunaPK.setContaMotivoRetificacaoId(contaMotivo.getId()); contaMotivoRetificacaoColunaPK.setTabelaColunaId(tabelaColuna.getId()); ContaMotivoRetificacaoColuna contaMotivoRetificacaoColuna = new ContaMotivoRetificacaoColuna(); contaMotivoRetificacaoColuna.setComp_id(contaMotivoRetificacaoColunaPK); contaMotivoRetificacaoColuna.setUltimaAlteracao(data); fachada.inserir(contaMotivoRetificacaoColuna); } } montarPaginaSucesso(httpServletRequest, "Motivo de retifica��o de conta inserido com sucesso", "Inserir outro motivo de retifica��o de conta", "exibirInserirMotivoRetificacaoAction.do?menu=sim", "exibirAtualizarMotivoRetificacaoAction.do?idContaMotivoRetificacao="+id, "Atualizar motivo de retifica��o de conta inserida"); return retorno; } }