package gcom.gui.faturamento; import gcom.fachada.Fachada; import gcom.gui.ActionServletException; import gcom.gui.GcomAction; import gcom.util.Util; 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 AtualizarVencimentoFaturaClienteResponsavelAction extends GcomAction { public ActionForward execute(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) { ActionForward retorno = actionMapping.findForward("exibirAtualizarVencimentoFaturaClienteResponsavel"); HttpSession sessao = httpServletRequest.getSession(false); AtualizarVencimentoFaturaClienteResponsavelActionForm form = (AtualizarVencimentoFaturaClienteResponsavelActionForm) actionForm; Fachada fachada = Fachada.getInstancia(); Date dataVencimento = Util.converteStringParaDate(form.getDataVencimento()); String anoMesReferencia = Util.formatarMesAnoParaAnoMesSemBarra(form.getAnoMesReferencia()); Integer qtdeContas = 0; if(dataVencimento == null) { throw new ActionServletException("atencao.informe_campo_obrigatorio", null, "Data vencimento"); } if(anoMesReferencia == null) { throw new ActionServletException("atencao.informe_campo_obrigatorio", null, "M�s/Ano de Refer�ncia"); } qtdeContas = fachada.countFaturasClienteResponsaveis(anoMesReferencia); //Controlamos o cancelamento de contas pagas Object[] arrayValidaQtdeFaturas = validarQtdeFaturas( qtdeContas, httpServletRequest, actionMapping ); if ( ( Boolean ) arrayValidaQtdeFaturas[2] ){ return ( ActionForward ) arrayValidaQtdeFaturas[0]; } Boolean confirmadoCancelamentoContasPagas = ( Boolean )arrayValidaQtdeFaturas[1]; if ( confirmadoCancelamentoContasPagas != null && !confirmadoCancelamentoContasPagas ){ return retorno; } fachada.atualizarVecimentoFaturaClienteResponsavel(dataVencimento, anoMesReferencia); montarPaginaSucesso(httpServletRequest, "Atualiza��o do vencimento de faturas realizada com sucesso", "Voltar", "/exibirAtualizarVencimentoFaturaClienteResponsavel.do"); retorno = ( ActionForward ) arrayValidaQtdeFaturas[0]; return retorno; } private Object[] validarQtdeFaturas( Integer qtde, HttpServletRequest request, ActionMapping actionMapping ){ Object[] retorno = new Object[3]; String[] qtdeArray = new String[1]; qtdeArray[0] = qtde.toString(); retorno[1] = ( request.getParameter("confirmado") != null ? request.getParameter("confirmado").equals("ok") : null ); retorno[2] = new Boolean( Boolean.FALSE ); if ( retorno[1] == null ){ request.setAttribute("caminhoActionConclusao", "/gsan/atualizarVencimentoFaturaClienteResponsavelAction.do"); request.setAttribute("cancelamento", "TRUE"); request.setAttribute("nomeBotao1", "Sim"); request.setAttribute("nomeBotao2", "N�o"); retorno[0] = montarPaginaConfirmacao( "atencao.qtde.faturas.atualizar.vencimento", request, actionMapping, qtdeArray ); retorno[2] = new Boolean( Boolean.TRUE ); return retorno; } retorno[0] = actionMapping.findForward("telaSucesso"); return retorno; } }