package gcom.gui.financeiro; import java.text.ParseException; import java.text.SimpleDateFormat; import gcom.fachada.Fachada; import gcom.gui.ActionServletException; import gcom.gui.GcomAction; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionForward; import org.apache.struts.action.ActionMapping; /** * Gerar integra��o para contabilidade. * * @author Fl�vio Leonardo * @date 13/06/2007 */ public class GerarIntegracaoContabilidadeCaernAction extends GcomAction { /** * Description of the Method * * @param actionMapping * Description of the Parameter * @param actionForm * Description of the Parameter * @param httpServletRequest * Description of the Parameter * @param httpServletResponse * Description of the Parameter * @return Description of the Return Value */ public ActionForward execute(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) { // Seta o mapeamento de retorno para a tela de sucesso. ActionForward retorno = actionMapping.findForward("telaSucesso"); GerarIntegracaoContabilidadeActionForm gerarIntegracaoContabilidadeActionForm = (GerarIntegracaoContabilidadeActionForm) actionForm; Fachada fachada = Fachada.getInstancia(); //recupera os par�metros informados pelo usu�rio. String idLancamentoOrigem = gerarIntegracaoContabilidadeActionForm.getIdLacamentoOrigem(); String dataLancamento = gerarIntegracaoContabilidadeActionForm.getDataLancamento(); //verifica se a origem do lan�amento foi informada. if(idLancamentoOrigem == null || idLancamentoOrigem.trim().equals("")){ throw new ActionServletException("atencao.naoinformado",null, "Lan�amento Origem"); } /* * Caso a data n�o tenha sido informada levanta a exce��o para o usu�rio. */ if(dataLancamento == null || dataLancamento.trim().equals("")){ throw new ActionServletException("atencao.naoinformado",null, "Data de Lan�amento"); }else{ //[FS0002 - Validar data do lan�amento] //cria o formato da data SimpleDateFormat dataFormato = new SimpleDateFormat("dd/MM/yyyy"); try { //tenta converter a data de lan�amento dataFormato.parse(dataLancamento); //se n�o conseguir converter } catch (ParseException ex) { //levanta a exce��o para a pr�xima camada throw new ActionServletException("atencao.data_pagamento_invalida"); } } //recupera o m�s e o ano informados String mes = dataLancamento.substring(3, 5); String ano = dataLancamento.substring(6, 10); String anoMes = ano + mes; //chama o met�do para gerar o txt de integra��o para contabilidade fachada.gerarIntegracaoContabilidade(idLancamentoOrigem, anoMes, dataLancamento); // montando p�gina de sucesso montarPaginaSucesso(httpServletRequest, "Gerando a Integra��o para a Contabilidade.", "Gerar Integra��o para a Contabilidade", "/exibirGerarIntegracaoContabilidadeAction.do"); return retorno; } }