Verificar a possibilidade de melhorar o tempo de sincronismo do Operador na Embarcada

bug#14740
dev:trevezani
qua:

git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Web/trunk/ventaboletos@94843 d1611594-4594-4d17-8e1d-87c2c4800839
master
alberto 2019-06-21 14:45:06 +00:00
parent e47c37f99b
commit 2b6e3a59f0
3 changed files with 227 additions and 3 deletions

View File

@ -0,0 +1,136 @@
package com.rjconsultores.ventaboletos.rest;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.QueryParam;
import javax.ws.rs.core.MediaType;
import org.slf4j.Logger;
import com.rjconsultores.ventaboletos.dao.OperadorEmbarcadaDAO;
import com.rjconsultores.ventaboletos.dao.OperadorEmbarcadaLinhaDAO;
import com.rjconsultores.ventaboletos.dao.OperadorEmbarcadaServicoDAO;
import com.rjconsultores.ventaboletos.entidad.FormaPagoDet;
import com.rjconsultores.ventaboletos.entidad.OperadorEmbarcada;
import com.rjconsultores.ventaboletos.entidad.PtoVtaSeguro;
import com.rjconsultores.ventaboletos.entidad.PtovtaCatInd;
import com.rjconsultores.ventaboletos.entidad.PuntoVentaVO;
import com.rjconsultores.ventaboletos.vo.corrida.CorridaVO;
import com.rjconsultores.ventaboletos.vo.embarcada.FormaPagamentoVO;
import com.rjconsultores.ventaboletos.vo.embarcada.OperadorEmbarcadaVO;
import com.rjconsultores.ventaboletos.vo.embarcada.SeguroTaxaEmbarqueVO;
import com.rjconsultores.ventaboletos.vo.embarcada.TiposPassagensBloqueadasVO;
import com.rjconsultores.ventaboletos.vo.ruta.RutaVO;
import com.rjconsultores.ventaboletos.web.utilerias.spring.AppContext;
@Path("/consultarOperadorProxy")
public class ConsultarOperador {
private static Logger log = org.slf4j.LoggerFactory.getLogger(ConsultarOperador.class);
@GET
@Produces({ MediaType.APPLICATION_JSON })
public OperadorEmbarcadaVO buscarDadosOperador(
@QueryParam("operador") Integer operador,
@QueryParam("empresa") Integer empresa,
@QueryParam("dataInicial") String dataInicial,
@QueryParam("dataFinal") String dataFinal) {
long start = System.currentTimeMillis();
SimpleDateFormat sdf = new SimpleDateFormat("yyMMddHHmm");
Date dtIni = null;
Date dtFim = null;
try {
dtIni = sdf.parse(dataInicial);
dtFim = sdf.parse(dataFinal);
} catch (ParseException e) {
log.error(e.getMessage(), e);
}
OperadorEmbarcadaDAO operadorEmbarcadaDAO = (OperadorEmbarcadaDAO)AppContext.getApplicationContext().getBean("operadorEmbarcadaDAO");
OperadorEmbarcadaLinhaDAO operadorEmbarcadaLinhaDAO = (OperadorEmbarcadaLinhaDAO)AppContext.getApplicationContext().getBean("operadorEmbarcadaLinhaDAO");
OperadorEmbarcadaServicoDAO operadorEmbarcadaServicoDAO = (OperadorEmbarcadaServicoDAO)AppContext.getApplicationContext().getBean("operadorEmbarcadaServicoDAO");
OperadorEmbarcada operadorEmbarcada = operadorEmbarcadaDAO.buscarOperadorEmbarcadaPorUsuario(operador);
PuntoVentaVO puntoVentaVO = operadorEmbarcadaDAO.getPuntoVentaVO(operador);
List<RutaVO> lsRutaVO = operadorEmbarcadaLinhaDAO.getListaRutaVO(operador);
List<CorridaVO> lsCorridaVO = operadorEmbarcadaServicoDAO.getListaCorridaProxyVO(operador, empresa, dtIni, dtFim);
OperadorEmbarcadaVO vo = new OperadorEmbarcadaVO();
vo.setIdOperador(operadorEmbarcada.getUsuarioId());
vo.setOperador(operadorEmbarcada.getUsername());
vo.setDescOperador(operadorEmbarcada.getName());
if (puntoVentaVO != null) {
vo.setIdAgencia(puntoVentaVO.getPuntoventaId());
vo.setDescAgencia(puntoVentaVO.nombpuntoventa);
vo.setLsFormasPagamento(new ArrayList<FormaPagamentoVO>());
vo.setLsSeguroTaxaEmbarque(new ArrayList<SeguroTaxaEmbarqueVO>());
vo.setLsTiposPassagensBloqueadas(new ArrayList<TiposPassagensBloqueadasVO>());
List<FormaPagoDet> listFP = operadorEmbarcadaDAO.getListaFormaPago(puntoVentaVO.getPuntoventaId());
for (FormaPagoDet dp : listFP) {
vo.getLsFormasPagamento().add(
new FormaPagamentoVO(
dp.getEmpresa().getEmpresaId(),
dp.getEmpresa().getNombempresa(),
dp.getFormaPago().getFormapagoId().intValue(),
dp.getFormaPago().getDescpago()));
}
List<PtoVtaSeguro> listSTx = operadorEmbarcadaDAO.getListaSeguroTaxaEmbarque(puntoVentaVO.getPuntoventaId());
for (PtoVtaSeguro st : listSTx) {
vo.getLsSeguroTaxaEmbarque().add(
new SeguroTaxaEmbarqueVO(
st.getEmpresa().getEmpresaId(),
st.getIndVendeSeguroOpcEmbarcada(),
st.getIndVendeSeguroTabelaEmbarcada(),
st.getIndTaxaEmbarqueEmbarcada()));
}
List<PtovtaCatInd> listTPB = operadorEmbarcadaDAO.getListaTiposPassagensBloqueadas(puntoVentaVO.getPuntoventaId());
for (PtovtaCatInd tpb : listTPB) {
vo.getLsTiposPassagensBloqueadas().add(
new TiposPassagensBloqueadasVO(
tpb.getCategoria().getCategoriaId(),
tpb.getUsuarioBloqueado().getUsuarioId(),
tpb.getEmpresa().getEmpresaId()));
}
}
vo.setLsRutas(lsRutaVO);
vo.setLsCorridas(lsCorridaVO);
printInfo("/consultarOperadorProxy", start);
return vo;
}
private void printInfo(String service, long start) {
long milliseconds = System.currentTimeMillis() - start;
long minutes = (milliseconds / 1000) / 60;
long seconds = (milliseconds / 1000) % 60;
String info = String.format("[%s] %d minutos e %d segundos", service, minutes, seconds);
if ((minutes + seconds) == 0) {
info = String.format("[%s] %d milissegundos", service, milliseconds);
}
log.info(info);
}
}

View File

@ -0,0 +1,66 @@
package com.rjconsultores.ventaboletos.rest;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.QueryParam;
import javax.ws.rs.core.MediaType;
import org.slf4j.Logger;
import com.rjconsultores.ventaboletos.dao.OperadorEmbarcadaServicoDAO;
import com.rjconsultores.ventaboletos.dao.PuntoVentaDAO;
import com.rjconsultores.ventaboletos.vo.corrida.CorridaVO;
import com.rjconsultores.ventaboletos.vo.embarcada.DetalheCorridaVO;
import com.rjconsultores.ventaboletos.web.utilerias.spring.AppContext;
@Path("/consultarOperadorDetalhesCorrida")
public class ConsultarOperadorDetalhesCorrida {
private static Logger log = org.slf4j.LoggerFactory.getLogger(ConsultarOperadorDetalhesCorrida.class);
@GET
@Produces({ MediaType.APPLICATION_JSON })
public DetalheCorridaVO buscarDetalhesCorrida(
@QueryParam("corridaId") Integer corridaId,
@QueryParam("feccorrida") String feccorrida,
@QueryParam("rutaId") Integer rutaId,
@QueryParam("marcaId") Integer marcaId,
@QueryParam("puntoVentaId") Integer puntoVentaId,
@QueryParam("claseServicioId") Integer claseServicioId) {
long start = System.currentTimeMillis();
CorridaVO corrida = new CorridaVO();
corrida.setCorridaId(corridaId);
corrida.setFeccorrida(feccorrida);
corrida.setRutaId(rutaId);
corrida.setMarcaId(marcaId);
corrida.setClaseServicioId(claseServicioId);
OperadorEmbarcadaServicoDAO operadorEmbarcadaServicoDAO = (OperadorEmbarcadaServicoDAO)AppContext.getApplicationContext().getBean("operadorEmbarcadaServicoDAO");
PuntoVentaDAO puntoventaDAO = (PuntoVentaDAO)AppContext.getApplicationContext().getBean("puntoVentaDAO");
operadorEmbarcadaServicoDAO.preencherCorrida(corrida, puntoventaDAO.obtenerID(puntoVentaId));
DetalheCorridaVO vo = new DetalheCorridaVO();
vo.setLsTramoVO(corrida.getLsTramoVO());
vo.setLsSecuenciaVO(corrida.getLsSecuenciaVO());
printInfo("/consultarOperadorDetalhesCorrida", start);
return vo;
}
private void printInfo(String service, long start) {
long milliseconds = System.currentTimeMillis() - start;
long minutes = (milliseconds / 1000) / 60;
long seconds = (milliseconds / 1000) % 60;
String info = String.format("[%s] %d minutos e %d segundos", service, minutes, seconds);
if ((minutes + seconds) == 0) {
info = String.format("[%s] %d milissegundos", service, milliseconds);
}
log.info(info);
}
}

View File

@ -13,6 +13,8 @@ import javax.ws.rs.QueryParam;
import javax.ws.rs.core.MediaType; import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response; import javax.ws.rs.core.Response;
import org.slf4j.Logger;
import com.rjconsultores.ventaboletos.dao.OperadorEmbarcadaDAO; import com.rjconsultores.ventaboletos.dao.OperadorEmbarcadaDAO;
import com.rjconsultores.ventaboletos.dao.OperadorEmbarcadaLinhaDAO; import com.rjconsultores.ventaboletos.dao.OperadorEmbarcadaLinhaDAO;
import com.rjconsultores.ventaboletos.dao.OperadorEmbarcadaServicoDAO; import com.rjconsultores.ventaboletos.dao.OperadorEmbarcadaServicoDAO;
@ -32,7 +34,8 @@ import com.rjconsultores.ventaboletos.web.utilerias.spring.AppContext;
@Path("/sincronizarOperador") @Path("/sincronizarOperador")
public class SincronizarOperador { public class SincronizarOperador {
private static Logger log = org.slf4j.LoggerFactory.getLogger(SincronizarOperador.class);
@GET @GET
@Produces({ MediaType.APPLICATION_JSON }) @Produces({ MediaType.APPLICATION_JSON })
public Response buscarDadosOperador( public Response buscarDadosOperador(
@ -40,8 +43,9 @@ public class SincronizarOperador {
@QueryParam("empresa") Integer empresa, @QueryParam("empresa") Integer empresa,
@QueryParam("dataInicial") String dataInicial, @QueryParam("dataInicial") String dataInicial,
@QueryParam("dataFinal") String dataFinal) { @QueryParam("dataFinal") String dataFinal) {
long start = System.currentTimeMillis();
SimpleDateFormat sdf = new SimpleDateFormat("yyMMddHHmm"); SimpleDateFormat sdf = new SimpleDateFormat("yyMMddHHmm");
// SimpleDateFormat sdf = new SimpleDateFormat("yyMMdd");
Date dtIni = null; Date dtIni = null;
Date dtFim = null; Date dtFim = null;
@ -50,7 +54,7 @@ public class SincronizarOperador {
dtIni = sdf.parse(dataInicial); dtIni = sdf.parse(dataInicial);
dtFim = sdf.parse(dataFinal); dtFim = sdf.parse(dataFinal);
} catch (ParseException e) { } catch (ParseException e) {
e.printStackTrace(); log.error(e.getMessage(), e);
} }
OperadorEmbarcadaDAO operadorEmbarcadaDAO = (OperadorEmbarcadaDAO)AppContext.getApplicationContext().getBean("operadorEmbarcadaDAO"); OperadorEmbarcadaDAO operadorEmbarcadaDAO = (OperadorEmbarcadaDAO)AppContext.getApplicationContext().getBean("operadorEmbarcadaDAO");
@ -66,7 +70,9 @@ public class SincronizarOperador {
// List<OperadorEmbarcadaLinha> lsOperadorEmbarcadaLinha = operadorEmbarcadaLinhaDAO.buscarPorOperador(operadorEmbarcada); // List<OperadorEmbarcadaLinha> lsOperadorEmbarcadaLinha = operadorEmbarcadaLinhaDAO.buscarPorOperador(operadorEmbarcada);
PuntoVentaVO puntoVentaVO = operadorEmbarcadaDAO.getPuntoVentaVO(operador); PuntoVentaVO puntoVentaVO = operadorEmbarcadaDAO.getPuntoVentaVO(operador);
List<RutaVO>lsRutaVO = operadorEmbarcadaLinhaDAO.getListaRutaVO(operador); List<RutaVO>lsRutaVO = operadorEmbarcadaLinhaDAO.getListaRutaVO(operador);
List<CorridaVO>lsCorridaVO = operadorEmbarcadaServicoDAO.getListaCorridaVO(operador, empresa, dtIni, dtFim, puntoventaDAO.obtenerID(puntoVentaVO.getPuntoventaId())); List<CorridaVO>lsCorridaVO = operadorEmbarcadaServicoDAO.getListaCorridaVO(operador, empresa, dtIni, dtFim, puntoventaDAO.obtenerID(puntoVentaVO.getPuntoventaId()));
OperadorEmbarcadaVO vo = new OperadorEmbarcadaVO(); OperadorEmbarcadaVO vo = new OperadorEmbarcadaVO();
@ -117,7 +123,23 @@ public class SincronizarOperador {
vo.setLsRutas(lsRutaVO); vo.setLsRutas(lsRutaVO);
vo.setLsCorridas(lsCorridaVO); vo.setLsCorridas(lsCorridaVO);
printInfo("/sincronizarOperador", start);
return Response.ok(vo, MediaType.APPLICATION_JSON).build(); return Response.ok(vo, MediaType.APPLICATION_JSON).build();
} }
private void printInfo(String service, long start) {
long milliseconds = System.currentTimeMillis() - start;
long minutes = (milliseconds / 1000) / 60;
long seconds = (milliseconds / 1000) % 60;
String info = String.format("[%s] %d minutos e %d segundos", service, minutes, seconds);
if ((minutes + seconds) == 0) {
info = String.format("[%s] %d milissegundos", service, milliseconds);
}
log.info(info);
}
} }