137 lines
5.4 KiB
Java
137 lines
5.4 KiB
Java
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.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 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.rest.SincronizarOperador.ParamsSincronizarOperador;
|
|
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);
|
|
|
|
@POST
|
|
@Consumes({ MediaType.APPLICATION_JSON })
|
|
@RolesAllowed("EMBARCADA")
|
|
@Produces({ MediaType.APPLICATION_JSON })
|
|
public OperadorEmbarcadaVO buscarDadosOperador(ParamsSincronizarOperador params) {
|
|
long start = System.currentTimeMillis();
|
|
|
|
SimpleDateFormat sdf = new SimpleDateFormat("yyMMddHHmm");
|
|
|
|
Date dtIni = null;
|
|
Date dtFim = null;
|
|
|
|
try {
|
|
dtIni = sdf.parse(params.dataInicial);
|
|
dtFim = sdf.parse(params.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(params.operador);
|
|
|
|
PuntoVentaVO puntoVentaVO = operadorEmbarcadaDAO.getPuntoVentaVO(params.operador);
|
|
|
|
List<RutaVO> lsRutaVO = operadorEmbarcadaLinhaDAO.getListaRutaVO(params.operador);
|
|
|
|
List<CorridaVO> lsCorridaVO = operadorEmbarcadaServicoDAO.getListaCorridaProxyVO(params.operador, params.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);
|
|
}
|
|
}
|