124 lines
4.5 KiB
Java
124 lines
4.5 KiB
Java
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);
|
||
}
|
||
}
|