package gcom.gui.faturamento; import gcom.cadastro.cliente.Cliente; import gcom.cadastro.sistemaparametro.SistemaParametro; import gcom.fachada.Fachada; import gcom.gui.ActionServletException; import gcom.gui.GcomAction; import gcom.seguranca.acesso.usuario.Usuario; import gcom.util.ConstantesSistema; import gcom.util.Util; 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; /** * * [UC0972] Gerar TXT das Contas dos Projetos Especiais * * @author Hugo Amorim, Anderson Italo * @since 14/12/2009, 29/01/2010 * */ public class GerarTxtContasProjetosEspeciaisAction extends GcomAction { public ActionForward execute(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) { ActionForward retorno = actionMapping.findForward("telaSucesso"); HttpSession sessao = getSessao(httpServletRequest); // Usuario logado no sistema Usuario usuario = (Usuario) sessao.getAttribute("usuarioLogado"); GerarTxtContasProjetosEspeciaisForm gerarTxtContasProjetosEspeciaisForm = (GerarTxtContasProjetosEspeciaisForm) actionForm; Fachada fachada = Fachada.getInstancia(); SistemaParametro sistemaParametro = fachada.pesquisarParametrosDoSistema(); Integer mesAno = Util.formatarMesAnoComBarraParaAnoMes(gerarTxtContasProjetosEspeciaisForm.getMesAno()); if(mesAno.compareTo(sistemaParametro.getAnoMesFaturamento())>0){ throw new ActionServletException("atencao.faturamento.mes_ano_deve_ser_menor_ou_igual"); } Cliente cliente = fachada.pesquisarClienteDigitado(new Integer(gerarTxtContasProjetosEspeciaisForm.getIdCliente())); if (cliente == null){ throw new ActionServletException( "atencao.cliente.inexistente", null, "cliente"); } if (cliente.getIndicadorUso().equals(ConstantesSistema.INDICADOR_USO_DESATIVO)){ throw new ActionServletException( "atencao.cliente.inativo", null, cliente.getNome()); } int count = fachada.countTxtContasProjetosEspeciais(Util.formatarMesAnoComBarraParaAnoMes(gerarTxtContasProjetosEspeciaisForm.getMesAno()).toString(), new Integer(gerarTxtContasProjetosEspeciaisForm.getIdCliente())); if(count==0){ throw new ActionServletException("atencao.nao_existe_dados_geracao_arquivo_texto"); } fachada.gerarTxtContasProjetosEspeciais( Util.formatarMesAnoComBarraParaAnoMes(gerarTxtContasProjetosEspeciaisForm.getMesAno()).toString(), new Integer(gerarTxtContasProjetosEspeciaisForm.getIdCliente()), usuario); //montando p�gina de sucesso montarPaginaSucesso(httpServletRequest, "Arquivo Texto Contas dos Projetos Especiais Enviado para Processamento", "Voltar", "exibirGerarTxtContasProjetosEspeciaisAction.do"); return retorno; } }