package gcom.gui.micromedicao; import gcom.cadastro.cliente.Cliente; import gcom.cadastro.cliente.FiltroCliente; import gcom.cadastro.empresa.Empresa; import gcom.cadastro.funcionario.FiltroFuncionario; import gcom.cadastro.funcionario.Funcionario; import gcom.fachada.Fachada; import gcom.gui.ActionServletException; import gcom.gui.GcomAction; import gcom.micromedicao.Leiturista; import gcom.util.Util; import gcom.util.filtro.ParametroSimples; import java.util.Collection; 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 CadastrarLeituristaAction extends GcomAction { public ActionForward execute(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) { ActionForward retorno = actionMapping.findForward("telaSucesso"); CadastrarLeituristaActionForm form = (CadastrarLeituristaActionForm) actionForm; Fachada fachada = Fachada.getInstancia(); if(form.getDdd()!=null && !form.getDdd().trim().equals("") && form.getFone()!=null && !form.getFone().trim().equals("") && form.getImei()!=null && !form.getImei().trim().equals("")){ Leiturista leiturista = new Leiturista(); boolean escolheuCliente = false; if(form.getClienteID()!=null && !form.getClienteID().trim().equals("")){ if(Util.validarNumeroMaiorQueZERO(form.getClienteID())){ FiltroCliente filtroCliente = new FiltroCliente(); filtroCliente.adicionarParametro(new ParametroSimples(FiltroCliente.ID, form.getClienteID())); Collection colecao = fachada.pesquisar(filtroCliente, Cliente.class.getName()); if(colecao!=null && !colecao.isEmpty()){ escolheuCliente = true; leiturista.setCliente((Cliente)colecao.iterator().next()); } }else{ //exception throw new ActionServletException("atencao.cliente.inexistente"); } } if(!escolheuCliente && form.getFuncionarioID()!=null && !form.getFuncionarioID().trim().equals("")){ if(Util.validarNumeroMaiorQueZERO(form.getFuncionarioID())){ FiltroFuncionario filtroFuncionario = new FiltroFuncionario(); filtroFuncionario.adicionarParametro(new ParametroSimples(FiltroFuncionario.ID, form.getFuncionarioID())); Collection colecao = fachada.pesquisar(filtroFuncionario, Funcionario.class.getName()); if(colecao!=null && !colecao.isEmpty()){ escolheuCliente = true; leiturista.setFuncionario((Funcionario)colecao.iterator().next()); } }else{ //Exception throw new ActionServletException("pesquisa.funcionario.inexistente"); } } if(!escolheuCliente){ //ERRO, selecione um cliente ou um funcionario throw new ActionServletException("atencao.cliente_ou_funcionario"); } leiturista.setCodigoDDD(form.getDdd()); leiturista.setNumeroFone(form.getFone()); if(Util.validarStringNumerica(form.getImei())){ leiturista.setNumeroImei(new Long(form.getImei())); }else{ //n atencao.imei throw new ActionServletException("atencao.imei"); } if(form.getEmpresaID()!=null && !form.getEmpresaID().trim().equals("") && !form.getEmpresaID().trim().equals("-1")){ Empresa empresa = new Empresa(); empresa.setId(new Integer(form.getEmpresaID())); leiturista.setEmpresa(empresa); }else{ //exception throw new ActionServletException("atencao.usuario.empresa.nula"); } leiturista.setIndicadorUso(new Short("1")); leiturista.setUltimaAlteracao(new Date()); Integer id = fachada.maximoIdLeiturista(); if(id == null){ id = new Integer(1); }else{ int temp = id.intValue(); id = null; id = new Integer(temp+1); } leiturista.setId(id); fachada.inserir(leiturista); montarPaginaSucesso(httpServletRequest, "Leiturista Cadastrado com Sucesso.", "Cadastrar outro Leiturista", "exibirCadastrarLeituristaAction.do?menu=sim"); } return retorno; } }