package gcom.gui.cadastro.projeto; import gcom.cadastro.cliente.Cliente; import gcom.cadastro.projeto.Projeto; import gcom.fachada.Fachada; import gcom.gui.ActionServletException; import gcom.gui.GcomAction; import gcom.util.Util; import java.math.BigDecimal; import java.util.Date; 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; public class InserirProjetoAction extends GcomAction { public ActionForward execute(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) { //Seta o caminho de retorno ActionForward retorno = actionMapping.findForward("telaSucesso"); InserirProjetoForm form = (InserirProjetoForm) actionForm; // Obt�m a inst�ncia da fachada Fachada fachada = Fachada.getInstancia(); if(form.getObservacao() != null && form.getObservacao().length() > 300){ String[] msg = new String[2]; msg[0]="Observa��o"; msg[1]="300"; throw new ActionServletException("atencao.execedeu_limit_observacao",null,msg); } Date inicioProjeto = Util.converteStringParaDate(form.getDataInicio()); Date fimProjeto = null; if(form.getDataFim()!=null && !form.getDataFim().equals("")){ fimProjeto = Util.converteStringParaDate(form.getDataFim()); if(Util.compararDiaMesAno(fimProjeto,inicioProjeto)==-1){ throw new ActionServletException("atencao.datainicio_maior_datafim"); } } Projeto projeto = new Projeto(form.getNome(),inicioProjeto); if(form.getNomeAbreviado()!=null && !form.getNomeAbreviado().equals("")){ projeto.setNomeAbreviado(form.getNomeAbreviado()); } if(form.getIdOrgaoFinanciador()!=null && !form.getIdOrgaoFinanciador().equals("")){ //CRIA OBJETO DO CLIENTE ORGAO FINANCIADOR Cliente orgaoFinanciador = new Cliente(); orgaoFinanciador.setId(new Integer(form.getIdOrgaoFinanciador())); projeto.setOrgaoFinanciador(orgaoFinanciador); } if(form.getDataFim()!=null && !form.getDataFim().equals("")){ projeto.setDataFim(fimProjeto); } if(form.getValorFinanciamento()!=null && !form.getValorFinanciamento().equals("")){ BigDecimal valorFinanciamento = new BigDecimal( form.getValorFinanciamento().replace(".","").replace(",",".")); projeto.setValorFinanciamento(valorFinanciamento); } if(form.getObservacao()!=null && !form.getObservacao().equals("")){ projeto.setObservacao(form.getObservacao()); } projeto.setUltimaAlteracao(new Date()); Integer idProjeto = (Integer) fachada.inserir(projeto); montarPaginaSucesso(httpServletRequest, "Projeto " + projeto.getNome() + " inserido com sucesso.", "Atualizar o Projeto inclu�do", "exibirAtualizarProjetoAction.do?projetoID="+idProjeto); return retorno; } }