package gcom.gui.batch; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Collection; 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; import gcom.batch.FiltroProcesso; import gcom.batch.Processo; import gcom.batch.ProcessoIniciado; import gcom.batch.ProcessoSituacao; import gcom.fachada.Fachada; import gcom.gui.ActionServletException; import gcom.gui.GcomAction; import gcom.util.filtro.ParametroSimples; /** * Action que insere um ProcessoIniciado no sistema * * @author Rodrigo Silveira * @created 24/07/2006 */ public class InserirProcessoMensalEventualAction extends GcomAction { public ActionForward execute(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) { // Seta o mapeamento de retorno ActionForward retorno = actionMapping.findForward("telaSucesso"); InserirProcessoMensalEventualActionForm inserirProcessoMensalEventualActionForm = (InserirProcessoMensalEventualActionForm) actionForm; Fachada fachada = Fachada.getInstancia(); int idProcesso = Integer.parseInt(inserirProcessoMensalEventualActionForm.getIdProcesso()); FiltroProcesso filtro = new FiltroProcesso(); filtro.adicionarParametro(new ParametroSimples(FiltroProcesso.ID, Integer.valueOf(idProcesso))); Collection lista = fachada.pesquisar(filtro, Processo.class.getName()); Processo processo = (Processo) lista.iterator().next(); if (processo.isExcluido()){ throw new ActionServletException("atencao.processo_excluido"); } String dataAgendamento = inserirProcessoMensalEventualActionForm.getDataAgendamento(); String horaAgendamento = inserirProcessoMensalEventualActionForm.getHoraAgendamento(); String idProcessoIniciadoPrecedenteRequest = inserirProcessoMensalEventualActionForm.getIdProcessoIniciadoPrecedente(); Integer idProcessoIniciadoPrecedente = null; if (idProcessoIniciadoPrecedenteRequest != null && !idProcessoIniciadoPrecedenteRequest.trim().equals("")) { idProcessoIniciadoPrecedente = Integer.parseInt(idProcessoIniciadoPrecedenteRequest); } ProcessoIniciado processoIniciado = new ProcessoIniciado(); SimpleDateFormat formatoDataHora = new SimpleDateFormat("dd/MM/yyyy k:mm:ss"); try { if (dataAgendamento != null && !dataAgendamento.equals("") && horaAgendamento != null && !horaAgendamento.equals("")) { processoIniciado.setDataHoraAgendamento(formatoDataHora.parse(dataAgendamento + " " + horaAgendamento)); } } catch (ParseException e) { throw new ActionServletException("erro.sistema"); } ProcessoSituacao processoSituacao = new ProcessoSituacao(); processoIniciado.setProcesso(processo); processoIniciado.setProcessoSituacao(processoSituacao); if (idProcessoIniciadoPrecedente != null) { ProcessoIniciado processoIniciadoPrecedente = new ProcessoIniciado(); processoIniciadoPrecedente.setId(idProcessoIniciadoPrecedente); processoIniciado.setProcessoIniciadoPrecedente(processoIniciadoPrecedente); } //Falta setar o usu�rio real processoIniciado.setUsuario(this.getUsuarioLogado(httpServletRequest)); Integer codigoProcessoIniciadoGerado = (Integer) fachada.inserirProcessoIniciado(processoIniciado); montarPaginaSucesso(httpServletRequest, "Processo Iniciado de c�digo " + codigoProcessoIniciadoGerado + " inserido com sucesso.", "Inserir outro Processo", "exibirInserirProcessoAction.do"); return retorno; } }