From 75d6359852219d8ac3dda086c977efd0d929112b Mon Sep 17 00:00:00 2001 From: fabio Date: Mon, 6 Apr 2020 22:56:16 +0000 Subject: [PATCH] Fixes bug#18897 dev: qua: git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Web/trunk/ventaboletos@101126 d1611594-4594-4d17-8e1d-87c2c4800839 --- .../rest/UltimaSincronizacao.java | 32 ++++++++++++ .../bean/ParamsUltimaSincDispositivo.java | 36 +++++++++++++ .../rest/service/SincronizarService.java | 3 +- .../service/UltimaSincronizacaoService.java | 50 +++++++++++++++++++ 4 files changed, 120 insertions(+), 1 deletion(-) create mode 100644 src/java/com/rjconsultores/ventaboletos/rest/UltimaSincronizacao.java create mode 100644 src/java/com/rjconsultores/ventaboletos/rest/bean/ParamsUltimaSincDispositivo.java create mode 100644 src/java/com/rjconsultores/ventaboletos/rest/service/UltimaSincronizacaoService.java diff --git a/src/java/com/rjconsultores/ventaboletos/rest/UltimaSincronizacao.java b/src/java/com/rjconsultores/ventaboletos/rest/UltimaSincronizacao.java new file mode 100644 index 000000000..40f2c25c7 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/rest/UltimaSincronizacao.java @@ -0,0 +1,32 @@ +package com.rjconsultores.ventaboletos.rest; + +import javax.annotation.security.RolesAllowed; +import javax.ws.rs.Consumes; +import javax.ws.rs.POST; +import javax.ws.rs.Path; +import javax.ws.rs.Produces; +import javax.ws.rs.core.MediaType; +import javax.ws.rs.core.Response; + +import com.rjconsultores.ventaboletos.rest.bean.ParamsUltimaSincDispositivo; +import com.rjconsultores.ventaboletos.rest.service.UltimaSincronizacaoService; +import com.rjconsultores.ventaboletos.rest.service.exception.ServiceEmbarcadaException; +import com.rjconsultores.ventaboletos.web.utilerias.spring.AppContext; + +@Path("/ultimaSincronizacao") +public class UltimaSincronizacao { + + @POST + @Consumes({ MediaType.APPLICATION_JSON }) + @RolesAllowed("EMBARCADA") + @Produces({ MediaType.APPLICATION_JSON }) + public Response UltimaSincronizacaoDispositivo(ParamsUltimaSincDispositivo params) throws Exception { + UltimaSincronizacaoService service = (UltimaSincronizacaoService) AppContext.getApplicationContext().getBean("ultimaSincronizacaoService"); + + try { + return Response.ok(service.registrarUltimaSincronizaco(params), MediaType.APPLICATION_JSON).build(); + } catch (ServiceEmbarcadaException e) { + return Response.status(Response.Status.NOT_FOUND).entity(e.getMessage()).build(); + } + } +} diff --git a/src/java/com/rjconsultores/ventaboletos/rest/bean/ParamsUltimaSincDispositivo.java b/src/java/com/rjconsultores/ventaboletos/rest/bean/ParamsUltimaSincDispositivo.java new file mode 100644 index 000000000..9ca7b79fb --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/rest/bean/ParamsUltimaSincDispositivo.java @@ -0,0 +1,36 @@ +package com.rjconsultores.ventaboletos.rest.bean; + +import java.util.Date; + +import org.codehaus.jackson.annotate.JsonIgnoreProperties; + +@JsonIgnoreProperties(ignoreUnknown = true) +public class ParamsUltimaSincDispositivo { + String imei; + String versao; + Date dataUltimaSinc; + + public String getVersao() { + return versao; + } + + public void setVersao(String versao) { + this.versao = versao; + } + + public String getImei() { + return imei; + } + + public void setImei(String imei) { + this.imei = imei; + } + + public Date getDataUltimaSinc() { + return dataUltimaSinc; + } + + public void setDataUltimaSinc(Date dataUltimaSinc) { + this.dataUltimaSinc = dataUltimaSinc; + } +} diff --git a/src/java/com/rjconsultores/ventaboletos/rest/service/SincronizarService.java b/src/java/com/rjconsultores/ventaboletos/rest/service/SincronizarService.java index b6334cc97..afb7ca3e5 100644 --- a/src/java/com/rjconsultores/ventaboletos/rest/service/SincronizarService.java +++ b/src/java/com/rjconsultores/ventaboletos/rest/service/SincronizarService.java @@ -5,7 +5,6 @@ import java.util.Map; import org.springframework.stereotype.Service; -import com.rjconsultores.routing.ReadOnlyConnection; import com.rjconsultores.ventaboletos.constantes.Constantes; import com.rjconsultores.ventaboletos.dao.ConstanteDAO; import com.rjconsultores.ventaboletos.dao.DispositivoEmbarcadaDAO; @@ -64,6 +63,8 @@ public class SincronizarService { vo.setEnderecoAgencia(puntoVenta.getDireccioncalle()+", nº: "+puntoVenta.getDireccionnumero()+". Cidade: "+puntoVenta.getCidade()); vo.setCnpjEmpresa(empresa.getCnpj()); vo.setIndVendeNaoBpe(dispositivo.getIndVendeNaoBpe()); + vo.setVersaoUltimaSinc(dispositivo.getVersaoUltimaSinc()); + vo.setDataUltimaSinc(dispositivo.getDataUltimaSinc()); Map impostos = getImpostos(empresa); diff --git a/src/java/com/rjconsultores/ventaboletos/rest/service/UltimaSincronizacaoService.java b/src/java/com/rjconsultores/ventaboletos/rest/service/UltimaSincronizacaoService.java new file mode 100644 index 000000000..0c02dc128 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/rest/service/UltimaSincronizacaoService.java @@ -0,0 +1,50 @@ +package com.rjconsultores.ventaboletos.rest.service; + +import org.apache.log4j.Logger; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import com.rjconsultores.ventaboletos.dao.DispositivoEmbarcadaDAO; +import com.rjconsultores.ventaboletos.entidad.DispositivoEmbarcada; +import com.rjconsultores.ventaboletos.rest.bean.ParamsSincronizarDispositivo; +import com.rjconsultores.ventaboletos.rest.bean.ParamsUltimaSincDispositivo; +import com.rjconsultores.ventaboletos.rest.service.exception.ServiceEmbarcadaException; +import com.rjconsultores.ventaboletos.vo.embarcada.DispositivoEmbarcadaVO; +import com.rjconsultores.ventaboletos.web.utilerias.spring.AppContext; + +@Service("ultimaSincronizacaoService") +public class UltimaSincronizacaoService { + + private static Logger log = Logger.getLogger(UltimaSincronizacaoService.class); + + @Autowired + private SincronizarService sincronizarService; + + @Transactional + public DispositivoEmbarcadaVO registrarUltimaSincronizaco(ParamsUltimaSincDispositivo params) throws ServiceEmbarcadaException { + DispositivoEmbarcadaDAO dispositivoEmbarcadaDAO = (DispositivoEmbarcadaDAO)AppContext.getApplicationContext().getBean("dispositivoEmbarcadaDAO"); + + DispositivoEmbarcada dispositivo = dispositivoEmbarcadaDAO.buscarImei(params.getImei()); + + if (dispositivo == null){ + DispositivoEmbarcadaVO dispositivoVo = new DispositivoEmbarcadaVO(); + dispositivoVo.setMsg("Dispositivo não encontrado"); + return dispositivoVo; + } + + dispositivo.setVersaoUltimaSinc(params.getVersao()); + dispositivo.setDataUltimaSinc(params.getDataUltimaSinc()); + + dispositivoEmbarcadaDAO.actualizacion(dispositivo); + log.info( "Dispositivo Sincronizado: "+dispositivo.toString() ); + + ParamsSincronizarDispositivo parametro = new ParamsSincronizarDispositivo(); + parametro.setImei(params.getImei()); + + DispositivoEmbarcadaVO vo = sincronizarService.getDispositivoEmbarcada(parametro); + + return vo; + } + +}