AdmMono/src/java/com/rjconsultores/ventaboletos/rest/ConsultarOperador.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);
}
}