package gcom.gui.faturamento; import gcom.fachada.Fachada; import gcom.faturamento.FaturamentoAtivCronRota; import gcom.faturamento.FaturamentoAtividadeCronograma; import gcom.gui.ActionServletException; import gcom.gui.GcomAction; import gcom.util.Util; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Collection; import java.util.Date; import java.util.Iterator; import java.util.Map; 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 AtualizarComandoAtividadeFaturamentoAction extends GcomAction { public ActionForward execute(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) { //Seta o mapeamento de retorno ActionForward retorno = actionMapping.findForward("telaSucesso"); //Carrega a instancia da fachada Fachada fachada = Fachada.getInstancia(); //Carrega o objeto sessao HttpSession sessao = httpServletRequest.getSession(false); // Faturamento Atividade Cronograma selecionado FaturamentoAtividadeCronograma faturamentoAtividadeCronograma = (FaturamentoAtividadeCronograma) sessao .getAttribute("faturamentoAtividadeCronograma"); Collection colecaoFaturamentoAtividadeCronogramaRotaUniao = (Collection) sessao .getAttribute("colecaoFaturamentoAtividadeCronogramaRotaUniao"); // [FS0005] Verificar exclus�o de rotas if (colecaoFaturamentoAtividadeCronogramaRotaUniao == null || colecaoFaturamentoAtividadeCronogramaRotaUniao.isEmpty()) { throw new ActionServletException("atencao.faturamento_nenhuma_rota"); } //Atualizando a data de vencimento da rota de acordo com o informado pelo usu�rio //------------------------------------------------------------------------------------------- SimpleDateFormat formatoData = new SimpleDateFormat("dd/MM/yyyy"); Map<String, String[]> requestMap = httpServletRequest.getParameterMap(); Iterator colecaoFaturamentoAtividadeCronogramaRotaUniaoIt = colecaoFaturamentoAtividadeCronogramaRotaUniao.iterator(); FaturamentoAtivCronRota faturamentoAtivCronRota; String dataVencimentoRota = null; Date dataVencimentoRotaJSPObjeto = null; while (colecaoFaturamentoAtividadeCronogramaRotaUniaoIt.hasNext()) { faturamentoAtivCronRota = (FaturamentoAtivCronRota) colecaoFaturamentoAtividadeCronogramaRotaUniaoIt.next(); if (requestMap.get("data" + faturamentoAtivCronRota.getRota().getId().intValue()) != null) { dataVencimentoRota = (requestMap.get("data" + faturamentoAtivCronRota.getRota().getId().intValue()))[0]; if (dataVencimentoRota == null || dataVencimentoRota.equalsIgnoreCase("")) { throw new ActionServletException( "atencao.campo_texto.obrigatorio", null, "Data de vencimento da rota "); } try { dataVencimentoRotaJSPObjeto = formatoData.parse(dataVencimentoRota); } catch (ParseException ex) { dataVencimentoRotaJSPObjeto = null; } faturamentoAtivCronRota.setDataContaVencimento(dataVencimentoRotaJSPObjeto); } } // Atualizar comando fachada.atualizarComandoAtividadeFaturamento( faturamentoAtividadeCronograma, colecaoFaturamentoAtividadeCronogramaRotaUniao); montarPaginaSucesso(httpServletRequest, "Comando de Atividade de Faturamento " + faturamentoAtividadeCronograma.getFaturamentoAtividade().getDescricao() + " do " + faturamentoAtividadeCronograma.getFaturamentoGrupoCronogramaMensal().getFaturamentoGrupo().getDescricaoAbreviada() + " refer�ncia " + Util.formatarAnoMesParaMesAno(faturamentoAtividadeCronograma.getFaturamentoGrupoCronogramaMensal().getFaturamentoGrupo().getAnoMesReferencia()) + " atualizado com sucesso.", "Realizar outra Manuten��o de Comando de Atividade de Faturamento", "filtrarComandoAtividadeFaturamentoAction.do"); //Limpando todos os objetos colocados na sess�o sessao.removeAttribute("dataCorrente"); sessao.removeAttribute("exibirCampoVencimentoGrupo"); sessao.removeAttribute("faturamentoAtividadeCronograma"); sessao.removeAttribute("colecaoFaturamentoAtividadeCronogramaRota"); sessao.removeAttribute("colecaoRotasSelecionadas"); sessao.removeAttribute("colecaoRotasSelecionadasUsuario"); sessao.removeAttribute("colecaoFaturamentoAtividadeCronogramaRotaUniao"); sessao.removeAttribute("PesquisarActionForm"); sessao.removeAttribute("InserirComandoAtividadeFaturamentoActionForm"); sessao.removeAttribute("statusWizard"); return retorno; } }