AdmMono/src/com/rjconsultores/ventaboletos/service/impl/PricingEspecificoServiceImp...

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);
}
}