From 59b66fec102cf072edae0e1785eafc5afe82cc96 Mon Sep 17 00:00:00 2001 From: leonardo Date: Thu, 4 Jul 2019 19:37:12 +0000 Subject: [PATCH] =?UTF-8?q?14853:=20Esta=C3=A7=C3=A3o=20null=20constante?= =?UTF-8?q?=20fixes=20bug#14853=20dev:zauli=20qua:leo?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Web/trunk/ventaboletos@95431 d1611594-4594-4d17-8e1d-87c2c4800839 --- .../rest/SincronizarDispositivo.java | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/src/java/com/rjconsultores/ventaboletos/rest/SincronizarDispositivo.java b/src/java/com/rjconsultores/ventaboletos/rest/SincronizarDispositivo.java index c2ac4677d..e1619aa90 100644 --- a/src/java/com/rjconsultores/ventaboletos/rest/SincronizarDispositivo.java +++ b/src/java/com/rjconsultores/ventaboletos/rest/SincronizarDispositivo.java @@ -5,18 +5,21 @@ import javax.ws.rs.Path; import javax.ws.rs.Produces; import javax.ws.rs.QueryParam; import javax.ws.rs.core.MediaType; +import javax.ws.rs.core.Response; import com.rjconsultores.ventaboletos.constantes.Constantes; import com.rjconsultores.ventaboletos.dao.ConstanteDAO; import com.rjconsultores.ventaboletos.dao.DispositivoEmbarcadaDAO; import com.rjconsultores.ventaboletos.dao.EmpresaDAO; import com.rjconsultores.ventaboletos.dao.PuntoVentaDAO; +import com.rjconsultores.ventaboletos.entidad.Constante; import com.rjconsultores.ventaboletos.entidad.CtrlSerieEmbarcada; import com.rjconsultores.ventaboletos.entidad.DispositivoEmbarcada; import com.rjconsultores.ventaboletos.entidad.Empresa; import com.rjconsultores.ventaboletos.entidad.InscricaoEstadual; import com.rjconsultores.ventaboletos.entidad.PtovtaEmpresa; import com.rjconsultores.ventaboletos.entidad.PuntoVenta; +import com.rjconsultores.ventaboletos.exception.ConstanteEstacaoEmbarcadaException; import com.rjconsultores.ventaboletos.vo.embarcada.DispositivoEmbarcadaVO; import com.rjconsultores.ventaboletos.vo.embarcada.EmpresaVO; import com.rjconsultores.ventaboletos.vo.embarcada.EstadoDispositivoEmbarcadaVO; @@ -28,7 +31,7 @@ public class SincronizarDispositivo { @GET @Produces({ MediaType.APPLICATION_JSON }) - public DispositivoEmbarcadaVO buscarDispositivo(@QueryParam("imei") String imei) throws Exception { + public Response buscarDispositivo(@QueryParam("imei") String imei) throws Exception { DispositivoEmbarcadaDAO dispositivoEmbarcadaDAO = (DispositivoEmbarcadaDAO)AppContext.getApplicationContext().getBean("dispositivoEmbarcadaDAO"); EmpresaDAO empresaDAO = (EmpresaDAO)AppContext.getApplicationContext().getBean("empresaDAO"); PuntoVentaDAO puntoVentaDAO = (PuntoVentaDAO)AppContext.getApplicationContext().getBean("puntoVentaDAO"); @@ -38,7 +41,7 @@ public class SincronizarDispositivo { if (dispositivo == null){ DispositivoEmbarcadaVO dispositivoVo = new DispositivoEmbarcadaVO(); dispositivoVo.setMsg("Dispositivo não encontrado"); - return dispositivoVo; + return Response.ok(dispositivoVo, MediaType.APPLICATION_JSON).build(); } PuntoVenta puntoVenta = puntoVentaDAO.obtenerID(dispositivo.getPuntoVenta().getPuntoventaId().intValue()); Empresa empresa = empresaDAO.obtenerID(dispositivo.getEmpresa().getEmpresaId().intValue()); @@ -70,7 +73,12 @@ public class SincronizarDispositivo { } } vo.setEnderecoEmpresa(empresa.getLogradouro()+", nº: "+empresa.getNumero()+". Cidade: "+empresa.getBairro()); - String estacionIdEmbarcada = constanteDAO.buscarPorNomeConstante(Constantes.ESTACAO_EMBARCADA).getValorconstante(); + Constante estacionEmbarcadaConst = constanteDAO.buscarPorNomeConstante(Constantes.ESTACAO_EMBARCADA); + if (estacionEmbarcadaConst == null || (estacionEmbarcadaConst != null && estacionEmbarcadaConst.getValorconstante() == null) || + (estacionEmbarcadaConst != null && estacionEmbarcadaConst.getValorconstante().isEmpty())){ + return Response.status(Response.Status.NOT_FOUND).entity("Error: Constante ESTACAO_EMBARCADA não cadastrada!").build(); + } + String estacionIdEmbarcada = estacionEmbarcadaConst.getValorconstante(); vo.setEstacionId(estacionIdEmbarcada != null && !estacionIdEmbarcada.isEmpty() ? Integer.parseInt(estacionIdEmbarcada) : null); for (CtrlSerieEmbarcada serie : dispositivo.getSeries()){ @@ -81,7 +89,7 @@ public class SincronizarDispositivo { estado.setSerie(serie.getSerie()); vo.add(estado); } - return vo; + return Response.ok(vo, MediaType.APPLICATION_JSON).build(); } }