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(); } }