AdmMono/src/com/rjconsultores/ventaboletos/service/impl/TarifaOficialServiceImpl.java

124 lines
4.5 KiB
Java
Raw Blame History

package com.rjconsultores.ventaboletos.service.impl;
import java.util.ArrayList;
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.OrgaoConcedenteDAO;
import com.rjconsultores.ventaboletos.dao.SeguroKmDAO;
import com.rjconsultores.ventaboletos.dao.SeguroTarifaDAO;
import com.rjconsultores.ventaboletos.dao.TarifaOficialDAO;
import com.rjconsultores.ventaboletos.entidad.TarifaOficial;
import com.rjconsultores.ventaboletos.entidad.VigenciaTarifa;
import com.rjconsultores.ventaboletos.exception.BusinessException;
import com.rjconsultores.ventaboletos.service.TarifaOficialService;
import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado;
@Service("tarifaOficialService")
public class TarifaOficialServiceImpl implements TarifaOficialService {
@Autowired
private TarifaOficialDAO tarifaOficialDAO;
@Autowired
private SeguroKmDAO seguroKmDAO;
@Autowired
private SeguroTarifaDAO seguroTarifaDAO;
@Autowired
private OrgaoConcedenteDAO orgaoConcedenteDAO;
@Override
@Transactional
public Integer gerarTarifaPorCoeficiente(Integer rutaId, Integer orgaoConcedenteId, Integer empresaId) {
return tarifaOficialDAO.gerarTarifaPorCoeficiente(rutaId, UsuarioLogado.getUsuarioLogado().getUsuarioId(), orgaoConcedenteId, empresaId);
}
@Override
@Transactional
public Integer atualizarTarifaPorCoeficiente(Integer rutaId, Integer orgaoConcedenteId) {
return tarifaOficialDAO.atualizarTarifaCoeficiente(rutaId, UsuarioLogado.getUsuarioLogado().getUsuarioId(), orgaoConcedenteId);
}
@Override
@Transactional
public void copiarParaTarifa(VigenciaTarifa vigenciaTarifa, Boolean calculaPegagio, Boolean calculaTarifa, Boolean calculaTaxaEmbarque) {
tarifaOficialDAO.copiarParaTarifa(vigenciaTarifa, UsuarioLogado.getUsuarioLogado().getUsuarioId(), calculaPegagio, calculaTarifa, calculaTaxaEmbarque);
}
@Override
@Transactional(rollbackFor = BusinessException.class)
public void gerarAtualizarTarifaPorCoeficiente(Integer rudaId, Integer orgaoConcedenteId, Integer empresaId) throws BusinessException {
// Limpando a tabela de TARIFA_OFICIAL
tarifaOficialDAO.limparTarifasOficiais();
//Gerando as tarifas
gerarTarifaPorCoeficiente(rudaId, orgaoConcedenteId, empresaId);
}
@Override
@Transactional
public void atualizarTaxaEmbarque(Integer rutaId, Integer orgaoConcedenteId) {
tarifaOficialDAO.atualizarTaxaEmbarque(rutaId, UsuarioLogado.getUsuarioLogado().getUsuarioId(), orgaoConcedenteId);
}
@Override
@Transactional(rollbackFor = BusinessException.class)
public void atualizarSeguroPorKm(Integer rutaId, Integer orgaoId) throws BusinessException {
tarifaOficialDAO.atualizarSeguroPorKm(rutaId, orgaoId, UsuarioLogado.getUsuarioLogado().getUsuarioId());
}
@Override
@Transactional(rollbackFor = BusinessException.class)
public void atualizarSeguroPorTarifa(Integer rutaId, Integer orgaoId) throws BusinessException {
tarifaOficialDAO.atualizarSeguroPorTarifa(rutaId, orgaoId, UsuarioLogado.getUsuarioLogado().getUsuarioId());
}
@Override
@Transactional(rollbackFor = BusinessException.class)
public void atualizarSeguro(Integer rutaId, Integer orgaoId) throws BusinessException {
List<Integer> lsOrgaoId = new ArrayList<Integer>();
if (orgaoId == null) {
lsOrgaoId.addAll(orgaoConcedenteDAO.obtenerTodosIds());
} else {
lsOrgaoId.add(orgaoId);
}
//O seguro por km <20> preferencial em rela<6C><61>o ao por tarifa.
for (Integer orgaoConcedenteId : lsOrgaoId) {
if (seguroKmDAO.existe(orgaoConcedenteId)) {
atualizarSeguroPorKm(rutaId, orgaoConcedenteId);
} else if (seguroTarifaDAO.existe(orgaoConcedenteId)) {
atualizarSeguroPorTarifa(rutaId, orgaoConcedenteId);
}
}
}
@Override
@Transactional
public void aplicarArredondamentoTarifa(Integer orgaoConcedenteId, Boolean taxaEmbarque) {
tarifaOficialDAO.aplicarArredondamentoTarifa(orgaoConcedenteId, UsuarioLogado.getUsuarioLogado().getUsuarioId(), taxaEmbarque);
}
@Override
@Transactional
public void actualizacion(TarifaOficial tarifaOficial) {
tarifaOficialDAO.actualizacion(tarifaOficial);
}
@Override
public TarifaOficial obtenerID(Integer tarifaOficialId) {
return tarifaOficialDAO.obtenerID(tarifaOficialId);
}
@Override
public void borrar(TarifaOficial tarifaOficial) {
tarifaOficialDAO.borrar(tarifaOficial);
}
}