package gcom.gui.cadastro.imovel; import gcom.cadastro.imovel.FiltroImovelProgramaEspecial; import gcom.cadastro.imovel.ImovelProgramaEspecial; import gcom.cadastro.sistemaparametro.SistemaParametro; import gcom.fachada.Fachada; 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; public class SuspenderImovelProgramaEspecialAction extends GcomAction { public ActionForward execute(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) { // Seta o mapeamento de retorno ActionForward retorno = actionMapping .findForward("telaSucesso"); HttpSession sessao = httpServletRequest.getSession(false); InserirImovelProgramaEspecialActionForm form = (InserirImovelProgramaEspecialActionForm) actionForm; Fachada fachada = Fachada.getInstancia(); // Obter Parametros do sistema SistemaParametro sistemaParametro = fachada .pesquisarParametrosDoSistema(); Usuario usuarioLogado = (Usuario) sessao.getAttribute("usuarioLogado"); ImovelProgramaEspecial imovelProgramaEspecial = new ImovelProgramaEspecial(); if (form.getMatriculaImovel() != null && !form.getMatriculaImovel().equals("")) { FiltroImovelProgramaEspecial filtroImovelProgramaEspecial = new FiltroImovelProgramaEspecial(); filtroImovelProgramaEspecial .adicionarParametro(new ParametroSimples( FiltroImovelProgramaEspecial.IMOVEL_ID, form .getMatriculaImovel())); filtroImovelProgramaEspecial .adicionarParametro(new ParametroNulo( FiltroImovelProgramaEspecial.DATA_SUSPENSAO)); filtroImovelProgramaEspecial .adicionarCaminhoParaCarregamentoEntidade(FiltroImovelProgramaEspecial.IMOVEL); filtroImovelProgramaEspecial .adicionarCaminhoParaCarregamentoEntidade(FiltroImovelProgramaEspecial.IMOVEL_FATURAMENTO_GRUPO); Collection<ImovelProgramaEspecial> colecaoImovelProgramaEspecial = fachada.pesquisar(filtroImovelProgramaEspecial, ImovelProgramaEspecial.class.getName()); imovelProgramaEspecial = (ImovelProgramaEspecial) Util.retonarObjetoDeColecao(colecaoImovelProgramaEspecial); } Date dataAtual = new Date(); if (form.getMesAnoSuspensaoPrograma() != null && !form.getMesAnoSuspensaoPrograma().equals("")) { Integer mesAnoSuspencaoPrograma = Util .formatarMesAnoComBarraParaAnoMes(form .getMesAnoSuspensaoPrograma()); Integer mesAnoAtual = Util.formataAnoMes(dataAtual); if (mesAnoSuspencaoPrograma.compareTo(mesAnoAtual) > 0) { throw new ActionServletException( "atencao.mes.ano.suspensao.anterior.atual"); } imovelProgramaEspecial .setMesAnoSaidaPrograma(mesAnoSuspencaoPrograma); } if (sistemaParametro.getClienteResponsavelProgramaEspecial() == null) { throw new ActionServletException( "atencao.nao.existe.cliente.reposponsavel.cadastrado"); } if (sistemaParametro.getPerfilProgramaEspecial() == null) { throw new ActionServletException( "atencao.nao.existe.perfil.programa.cadastrado"); } // [FS0004] Valida dados da suspensao do imovel no programa especial //fachada.validarDadosSuspensaoImovelProgramaEspecial(imovelProgramaEspecial); Short formaSuspensao = ImovelProgramaEspecial.FORMA_SUSPENSAO_OPERADOR; fachada.suspenderImovelEmProgramaEspecial(imovelProgramaEspecial,usuarioLogado,formaSuspensao); montarPaginaSucesso(httpServletRequest, "Matr�cula do im�vel " + imovelProgramaEspecial.getImovel().getId() + " suspensa com sucesso no programa especial.", "Suspender outro im�vel no programa.", "exibirSuspenderImovelProgramaEspecialAction.do?menu=sim"); return retorno; } }