131 lines
4.6 KiB
Java
131 lines
4.6 KiB
Java
/*
|
|
* To change this template, choose Tools | Templates
|
|
* and open the template in the editor.
|
|
*/
|
|
package com.rjconsultores.ventaboletos.service.impl;
|
|
|
|
import java.util.ArrayList;
|
|
import java.util.Calendar;
|
|
import java.util.Date;
|
|
import java.util.List;
|
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
import com.rjconsultores.ventaboletos.dao.PricingEspecificoDAO;
|
|
import com.rjconsultores.ventaboletos.entidad.ClaseServicio;
|
|
import com.rjconsultores.ventaboletos.entidad.Empresa;
|
|
import com.rjconsultores.ventaboletos.entidad.Parada;
|
|
import com.rjconsultores.ventaboletos.entidad.PricingEspecifico;
|
|
import com.rjconsultores.ventaboletos.entidad.PricingEspecificoOcupacion;
|
|
import com.rjconsultores.ventaboletos.service.PricingEspecificoService;
|
|
import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado;
|
|
|
|
/**
|
|
*
|
|
* @author Rafius
|
|
*/
|
|
@Service("pricingEspecificoService")
|
|
public class PricingEspecificoServiceImpl implements PricingEspecificoService {
|
|
|
|
@Autowired
|
|
private PricingEspecificoDAO pricingEspecificoDAO;
|
|
|
|
public List<PricingEspecifico> obtenerTodos() {
|
|
return pricingEspecificoDAO.obtenerTodos();
|
|
}
|
|
|
|
public PricingEspecifico obtenerID(Long id) {
|
|
return pricingEspecificoDAO.obtenerID(id);
|
|
}
|
|
|
|
@Transactional
|
|
public PricingEspecifico suscribir(PricingEspecifico entidad) {
|
|
entidad.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId());
|
|
entidad.setFecmodif(Calendar.getInstance().getTime());
|
|
entidad.setActivo(Boolean.TRUE);
|
|
|
|
return pricingEspecificoDAO.suscribir(entidad);
|
|
}
|
|
|
|
@Transactional
|
|
public PricingEspecifico actualizacion(PricingEspecifico entidad) {
|
|
entidad.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId());
|
|
entidad.setFecmodif(Calendar.getInstance().getTime());
|
|
entidad.setActivo(Boolean.TRUE);
|
|
|
|
return pricingEspecificoDAO.actualizacion(entidad);
|
|
}
|
|
|
|
@Transactional
|
|
public void borrar(PricingEspecifico entidad) {
|
|
entidad.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId());
|
|
entidad.setFecmodif(Calendar.getInstance().getTime());
|
|
entidad.setActivo(Boolean.FALSE);
|
|
|
|
pricingEspecificoDAO.actualizacion(entidad);
|
|
}
|
|
|
|
public List<PricingEspecifico> buscarPorNome(PricingEspecifico pricingEspecifico) {
|
|
return pricingEspecificoDAO.buscarPorNome(pricingEspecifico);
|
|
}
|
|
|
|
@Override
|
|
public List<PricingEspecifico> buscarPorNome(String nome) {
|
|
// TODO Auto-generated method stub
|
|
return null;
|
|
}
|
|
|
|
@Override
|
|
@Transactional
|
|
public PricingEspecifico clonarPricing(Long id, String nome) {
|
|
|
|
PricingEspecifico pricingToClone = obtenerID(id);
|
|
PricingEspecifico clonePricing = new PricingEspecifico();
|
|
|
|
clonePricing.setNombPricing(nome);
|
|
clonePricing.setCategoria(pricingToClone.getCategoria());
|
|
clonePricing.setClaseServicio(pricingToClone.getClaseServicio());
|
|
clonePricing.setCorridaId(pricingToClone.getCorridaId());
|
|
clonePricing.setFechorfin(pricingToClone.getFechorfin());
|
|
clonePricing.setFechorinicio(pricingToClone.getFechorinicio());
|
|
clonePricing.setMarca(pricingToClone.getMarca());
|
|
clonePricing.setMoneda(pricingToClone.getMoneda());
|
|
clonePricing.setParada(pricingToClone.getParada());
|
|
clonePricing.setParada1(pricingToClone.getParada1());
|
|
clonePricing.setPricingEspecificoOcupacionsList(getPricingEspecificoOcupacion(pricingToClone, clonePricing));
|
|
clonePricing.setTarifa(pricingToClone.getTarifa());
|
|
clonePricing.setTarifaredabierto(pricingToClone.getTarifaredabierto());
|
|
// clonePricing.setTipoPtovta(pricingToClone.getTipoPtovta());
|
|
|
|
return suscribir(clonePricing);
|
|
}
|
|
|
|
private List<PricingEspecificoOcupacion> getPricingEspecificoOcupacion(PricingEspecifico pricingToClone, PricingEspecifico clonePricing){
|
|
|
|
List<PricingEspecificoOcupacion> list = new ArrayList<PricingEspecificoOcupacion>();
|
|
|
|
for(PricingEspecificoOcupacion peo : pricingToClone.getPricingEspecificoOcupacionsList()){
|
|
PricingEspecificoOcupacion newPeo = new PricingEspecificoOcupacion(
|
|
peo.getOcupacioninicial(),
|
|
peo.getOcupacionfinal(),
|
|
peo.getTarifa(),
|
|
peo.getActivo(),
|
|
new Date(),
|
|
UsuarioLogado.getUsuarioLogado().getUsuarioId(),
|
|
peo.getDescuento(),
|
|
clonePricing);
|
|
|
|
list.add(newPeo);
|
|
}
|
|
|
|
return list;
|
|
}
|
|
|
|
@Override
|
|
public List<PricingEspecifico> buscar(List<Empresa> empresas, List<ClaseServicio> tipoClasses, List<Parada> origens, List<Parada> destinos, Date vigenciaInicial, Date vigenciaFinal) {
|
|
return pricingEspecificoDAO.buscar(empresas, tipoClasses, origens, destinos, vigenciaInicial, vigenciaFinal);
|
|
}
|
|
}
|