package gcom.gui.atendimentopublico.ordemservico; import gcom.atendimentopublico.ordemservico.OrdemServico; import gcom.atendimentopublico.ordemservico.OrdemServicoPavimento; import gcom.cadastro.imovel.Imovel; import gcom.fachada.Fachada; import gcom.gui.GcomAction; import gcom.gui.atendimentopublico.registroatendimento.ConjuntoTramitacaoRaActionForm; import java.math.BigDecimal; import java.util.ArrayList; 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; /** * Action que define o pr�-processamento da p�gina de encerra inserir * dados de pavimento na ordem servi�o. * * @author Pedro Alexandre * @created 03/01/2007 */ public class InserirDadosPavimentoOrdemServicoPopupAction extends GcomAction { public ActionForward execute(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) { // Seta o mapeamento de retorno ActionForward retorno = null; HttpSession sessao = httpServletRequest.getSession(false); String tramitarConjunto =(String) sessao.getAttribute("tramitarConjunto"); /* * Caso o usu�rio esteja tramitando um conjuntode RA * seta o mapeamento de retorno para a tela de tramitar * conjunto de RA * Caso contr�rio seta o mapeamento de retorno para * a p�gina de tramitar RA individualmente. */ if(tramitarConjunto.equals("sim")){ retorno = actionMapping.findForward("registroAtendimentoTramitacaoConjuntoAction"); }else{ retorno = actionMapping.findForward("registroAtendimentoTramitacaoAction"); } //Recupera o im�vel da sess�o Imovel imovel = (Imovel)sessao.getAttribute("imovel"); ConjuntoTramitacaoRaActionForm conjuntoTramitacaoRaActionForm = (ConjuntoTramitacaoRaActionForm) actionForm; Fachada fachada = Fachada.getInstancia(); //Monta a ordem de servi�o que esta sendo tratada. String numeroOS = conjuntoTramitacaoRaActionForm.getIdOrdemServico(); OrdemServico ordemServico = new OrdemServico(); ordemServico.setId(new Integer(numeroOS)); //Recupera os dados de metragem de pavimento rua e cal�ada String metragemPavimentoRua = conjuntoTramitacaoRaActionForm.getMetragemPavimentoRua(); String metragemPavimentoCalcada = conjuntoTramitacaoRaActionForm.getMetragemPavimentoCalcada(); BigDecimal areaPavimentoRua = null; if(metragemPavimentoRua != null && !metragemPavimentoRua.trim().equals("")){ areaPavimentoRua = new BigDecimal(metragemPavimentoRua); } BigDecimal areaPavimentoCalcada = null; if(metragemPavimentoCalcada != null && !metragemPavimentoCalcada.trim().equals("")){ areaPavimentoCalcada = new BigDecimal(metragemPavimentoCalcada); } Collection colecaoOrdemServico = null; //Adiciona a ordem de servi�o a cole��o de OS j� tratadas. colecaoOrdemServico = (Collection)sessao.getAttribute("colecaoOrdemServicoJaTratada"); if(colecaoOrdemServico != null && !colecaoOrdemServico.isEmpty()){ colecaoOrdemServico.add(ordemServico); }else{ colecaoOrdemServico = new ArrayList(); colecaoOrdemServico.add(ordemServico); } sessao.setAttribute("colecaoOrdemServicoJaTratada",colecaoOrdemServico); //Inseri a OrdemServicoPavimento na base de dados. OrdemServicoPavimento ordemServicoPavimento = new OrdemServicoPavimento(); ordemServicoPavimento.setOrdemServico(ordemServico); ordemServicoPavimento.setPavimentoRua(imovel.getPavimentoRua()); ordemServicoPavimento.setAreaPavimentoRua(areaPavimentoRua); ordemServicoPavimento.setPavimentoCalcada(imovel.getPavimentoCalcada()); ordemServicoPavimento.setAreaPavimentoCalcada(areaPavimentoCalcada); ordemServicoPavimento.setPavimentoRuaRetorno(null); ordemServicoPavimento.setAreaPavimentoRuaRetorno(null); ordemServicoPavimento.setPavimentoCalcadaRetorno(null); ordemServicoPavimento.setAreaPavimentoCalcadaRetorno(null); ordemServicoPavimento.setDataGeracao(new Date()); fachada.inserirOrdemServicoPavimento(ordemServicoPavimento); return retorno; } }