package gcom.gui.faturamento; import gcom.arrecadacao.ContratoDemanda; import gcom.cadastro.imovel.FiltroImovel; import gcom.cadastro.imovel.Imovel; import gcom.fachada.Fachada; import gcom.faturamento.FiltroContratoDemanda; import gcom.gui.ActionServletException; import gcom.gui.GcomAction; import gcom.seguranca.acesso.usuario.Usuario; import gcom.util.Util; import gcom.util.filtro.ParametroNulo; import gcom.util.filtro.ParametroSimples; import java.util.Collection; import java.util.Date; 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; /** * [UC0512] Inserir Contrato de Demanda * * @author Eduardo Bianchi * @date 15/02/2007 */ public class InserirContratoDemandaAction extends GcomAction { public ActionForward execute(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) { ActionForward retorno = actionMapping.findForward("telaSucesso"); HttpSession sessao = httpServletRequest.getSession(false); Fachada fachada = Fachada.getInstancia(); InserirContratoDemandaActionForm inserirContratoDemandaActionForm = (InserirContratoDemandaActionForm) actionForm; Usuario usuarioLogado = (Usuario) sessao .getAttribute(Usuario.USUARIO_LOGADO); ContratoDemanda contratoDemanda = new ContratoDemanda(); Imovel imovel = null; String idImovel = inserirContratoDemandaActionForm.getIdImovel(); if (idImovel != null && !idImovel.trim().equals("")) { FiltroImovel filtroImovel = new FiltroImovel(); filtroImovel.adicionarParametro(new ParametroSimples(FiltroImovel.ID, idImovel)); Collection colecaoImoveis = fachada.pesquisar(filtroImovel, Imovel.class.getName()); if (colecaoImoveis != null && !colecaoImoveis.isEmpty()) { imovel = (Imovel) Util.retonarObjetoDeColecao(colecaoImoveis); } else { throw new ActionServletException("atencao.pesquisa_inexistente", null, "Im�vel"); } FiltroContratoDemanda filtroContratoDemanda = new FiltroContratoDemanda(); filtroContratoDemanda.adicionarParametro( new ParametroSimples(FiltroContratoDemanda.IMOVEL, idImovel)); filtroContratoDemanda.adicionarParametro( new ParametroNulo(FiltroContratoDemanda.DATACONTRATOENCERRAMENTO)); Collection colecaoContratoDemanda = fachada.pesquisar( filtroContratoDemanda, ContratoDemanda.class.getName()); if (colecaoContratoDemanda != null & !colecaoContratoDemanda.isEmpty()) { throw new ActionServletException("atencao.contrato.demanda.encerrado", null, idImovel); } } imovel.setId(new Integer(inserirContratoDemandaActionForm.getIdImovel())); contratoDemanda.setNumeroContrato(inserirContratoDemandaActionForm.getNumeroContrato()); contratoDemanda.setImovel(imovel); contratoDemanda.setDataContratoInicio(Util.converteStringParaDate(inserirContratoDemandaActionForm.getDataInicioContrato())); contratoDemanda.setDataContratoFim(Util.converteStringParaDate(inserirContratoDemandaActionForm.getDataFimContrato())); contratoDemanda.setUltimaAlteracao(new Date()); // Inserir na base de dados ContratoDemanda Integer idContratoDemanda = fachada.inserirContratoDemanda(contratoDemanda,usuarioLogado); // Montar a p�gina de sucesso montarPaginaSucesso(httpServletRequest, "Contrato de Demanda de c�digo " + idContratoDemanda.toString() + " inserido com sucesso.", "Inserir outro Contrato de Demanda", "exibirInserirContratoDemandaAction.do?menu=sim", "exibirAtualizarContratoDemandaAction.do?inserir=sim&contratoDemandaID=" + idContratoDemanda, "Atualizar Contrato de Demanda Inserido"); sessao.removeAttribute("InserirContratoDemandaActionForm"); return retorno; } }