package gcom.gui.faturamento.conta;
import gcom.cadastro.sistemaparametro.SistemaParametro;
import gcom.fachada.Fachada;
import gcom.gui.GcomAction;
import gcom.util.Util;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
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 ExibirAlterarVencimentoConjuntoContaAction extends GcomAction {
public ActionForward execute(ActionMapping actionMapping,
ActionForm actionForm, HttpServletRequest httpServletRequest,
HttpServletResponse httpServletResponse) {
//Seta o mapeamento de retorno
ActionForward retorno = actionMapping.findForward("exibirAlterarVencimentoConjuntoConta");
HttpSession sessao = httpServletRequest.getSession(false);
Fachada fachada = Fachada.getInstancia();
// Inst�ncia do formul�rio que est� sendo utilizado
AlterarVencimentoContaActionForm alterarVencimentoContaActionForm = (AlterarVencimentoContaActionForm) actionForm;
SistemaParametro sistemaParametro = fachada.pesquisarParametrosDoSistema();
//Carregar a data corrente do sistema
//====================================
SimpleDateFormat formatoData = new SimpleDateFormat("dd/MM/yyyy");
Calendar dataCorrente = new GregorianCalendar();
//Ultimo dia do m�s corrente.
Date ultimaDataMes = Util.obterUltimaDataMes(Util.getMes(dataCorrente.getTime()), Util.getAno(dataCorrente.getTime()));
httpServletRequest.setAttribute("ultimaDataMes", formatoData.format(ultimaDataMes));
//Data Corrente
httpServletRequest.setAttribute("dataAtual", formatoData
.format(dataCorrente.getTime()));
//Data Corrente + 60 dias
dataCorrente.add(Calendar.DATE, 60);
httpServletRequest.setAttribute("dataAtual60", formatoData
.format(dataCorrente.getTime()));
Integer anoMes = null;
if(httpServletRequest.getParameter("mesAno") != null){
anoMes = Util.formatarMesAnoComBarraParaAnoMes(httpServletRequest.getParameter("mesAno"));
sessao.setAttribute("anoMes", anoMes);
}
Integer anoMesFim = null;
if(httpServletRequest.getParameter("mesAnoFim") != null){
anoMesFim = Util.formatarMesAnoComBarraParaAnoMes(httpServletRequest.getParameter("mesAnoFim"));
sessao.setAttribute("anoMesFim", anoMesFim);
}
Date dataVencimentoContaInicio = null;
Date dataVencimentoContaFim = null;
String indicadorContaPaga = null;
Integer idGrupoFaturamento = null;
String codigoCliente = null;
if (httpServletRequest.getParameter("dataVencimentoContaInicial") != null){
dataVencimentoContaInicio = Util.converteStringParaDate(httpServletRequest.getParameter("dataVencimentoContaInicial"));
sessao.setAttribute("dataVencimentoContaInicial", dataVencimentoContaInicio);
}
if (httpServletRequest.getParameter("dataVencimentoContaFinal") != null){
dataVencimentoContaFim = Util.converteStringParaDate(httpServletRequest.getParameter("dataVencimentoContaFinal"));
sessao.setAttribute("dataVencimentoContaFinal", dataVencimentoContaFim);
}
if (httpServletRequest.getParameter("indicadorContaPaga") != null){
indicadorContaPaga = httpServletRequest.getParameter("indicadorContaPaga");
sessao.setAttribute("indicadorContaPaga", indicadorContaPaga);
}
if (httpServletRequest.getParameter("idGrupoFaturamento") != null){
idGrupoFaturamento = new Integer((String) httpServletRequest.getParameter("idGrupoFaturamento"));
sessao.setAttribute("idGrupoFaturamento", idGrupoFaturamento);
}
if (httpServletRequest.getParameter("codigoCliente") != null){
codigoCliente = (String) httpServletRequest.getParameter("codigoCliente");
sessao.setAttribute("codigoCliente", codigoCliente);
}
// -------------------------------------------------------------------------------------------
// Alterado por : Hugo Leonardo - data : 06/07/2010
// Analista : Fabiola Araujo
//-------------------------------------------------------------------------------------------
if(sistemaParametro.getIndicadorCalculaVencimento() == 1){
Date dtCorrente = new Date();
Integer diasAdicionais = 0;
if(sistemaParametro.getNumeroDiasAlteracaoVencimentoPosterior() != null){
diasAdicionais = sistemaParametro.getNumeroDiasAlteracaoVencimentoPosterior().intValue();
}
Date dataCorrenteComDias = Util.adicionarNumeroDiasDeUmaData(dtCorrente, diasAdicionais.intValue());
alterarVencimentoContaActionForm.setDataVencimento(Util.formatarData(dataCorrenteComDias));
}
//--------------------------------------------------------------------------------------------
return retorno;
}
}