alexandre.lima 2017-07-14 19:10:36 +00:00
parent 170ad57c52
commit 706fd8407e
1 changed files with 44 additions and 7 deletions

View File

@ -9,6 +9,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import com.rjconsultores.ventaboletos.constantes.TipoSeguro;
import com.rjconsultores.ventaboletos.dao.OrgaoConcedenteDAO; import com.rjconsultores.ventaboletos.dao.OrgaoConcedenteDAO;
import com.rjconsultores.ventaboletos.dao.SeguroKmDAO; import com.rjconsultores.ventaboletos.dao.SeguroKmDAO;
import com.rjconsultores.ventaboletos.dao.SeguroTarifaDAO; import com.rjconsultores.ventaboletos.dao.SeguroTarifaDAO;
@ -50,9 +51,9 @@ public class TarifaOficialServiceImpl implements TarifaOficialService {
@Override @Override
@Transactional @Transactional
public void copiarParaTarifa(VigenciaTarifa vigenciaTarifa, Boolean calculaPegagio, Boolean calculaTarifa, Boolean calculaTaxaEmbarque, Boolean calculaSeguro,Empresa empresa, OrgaoConcedente orgaoConcedente) { public void copiarParaTarifa(VigenciaTarifa vigenciaTarifa, Boolean calculaPegagio, Boolean calculaTarifa, Boolean calculaTaxaEmbarque, Boolean calculaSeguro, Boolean calculaTPP,Empresa empresa, OrgaoConcedente orgaoConcedente) {
tarifaOficialDAO.copiarParaTarifa(vigenciaTarifa, UsuarioLogado.getUsuarioLogado().getUsuarioId(), tarifaOficialDAO.copiarParaTarifa(vigenciaTarifa, UsuarioLogado.getUsuarioLogado().getUsuarioId(),
calculaPegagio, calculaTarifa, calculaTaxaEmbarque, calculaSeguro, empresa, orgaoConcedente); calculaPegagio, calculaTarifa, calculaTaxaEmbarque, calculaSeguro, calculaTPP, empresa, orgaoConcedente);
} }
@Override @Override
@ -143,10 +144,14 @@ public class TarifaOficialServiceImpl implements TarifaOficialService {
@Override @Override
@Transactional(rollbackFor = BusinessException.class) @Transactional(rollbackFor = BusinessException.class)
public void atualizarSeguroPorKm(Integer rutaId, Integer orgaoId) throws BusinessException { public void atualizarSeguroPorKm(Integer rutaId, Integer orgaoId, TipoSeguro tipoSeguro) throws BusinessException {
tarifaOficialDAO.atualizarSeguroPorKm(rutaId, orgaoId, UsuarioLogado.getUsuarioLogado().getUsuarioId(), tipoSeguro);
tarifaOficialDAO.atualizarSeguroPorKm(rutaId, orgaoId, UsuarioLogado.getUsuarioLogado().getUsuarioId()); }
@Override
@Transactional(rollbackFor = BusinessException.class)
public void atualizarSeguroPorKmTPP(Integer rutaId, Integer orgaoId, TipoSeguro tipoSeguro) throws BusinessException {
tarifaOficialDAO.atualizarPrecioPorTPP(rutaId, orgaoId, UsuarioLogado.getUsuarioLogado().getUsuarioId(), tipoSeguro);
} }
@Override @Override
@ -157,7 +162,7 @@ public class TarifaOficialServiceImpl implements TarifaOficialService {
@Override @Override
@Transactional(rollbackFor = BusinessException.class) @Transactional(rollbackFor = BusinessException.class)
public void atualizarSeguro(List<Ruta> lsRuta, Integer orgaoId) throws BusinessException { public void atualizarSeguro(List<Ruta> lsRuta, Integer orgaoId, TipoSeguro tipoSeguro) throws BusinessException {
List<Integer> lsOrgaoId = new ArrayList<Integer>(); List<Integer> lsOrgaoId = new ArrayList<Integer>();
@ -180,7 +185,7 @@ public class TarifaOficialServiceImpl implements TarifaOficialService {
//O seguro por km é preferencial em relação ao por tarifa. //O seguro por km é preferencial em relação ao por tarifa.
for (Integer orgaoConcedenteId : lsOrgaoId) { for (Integer orgaoConcedenteId : lsOrgaoId) {
if (seguroKmDAO.existe(orgaoConcedenteId)) { if (seguroKmDAO.existe(orgaoConcedenteId)) {
atualizarSeguroPorKm(rutaId, orgaoConcedenteId); atualizarSeguroPorKm(rutaId, orgaoConcedenteId, tipoSeguro);
} else if (seguroTarifaDAO.existe(orgaoConcedenteId)) { } else if (seguroTarifaDAO.existe(orgaoConcedenteId)) {
atualizarSeguroPorTarifa(rutaId, orgaoConcedenteId); atualizarSeguroPorTarifa(rutaId, orgaoConcedenteId);
} }
@ -188,6 +193,38 @@ public class TarifaOficialServiceImpl implements TarifaOficialService {
x--; x--;
}while(x > 0); }while(x > 0);
} }
@Override
@Transactional(rollbackFor = BusinessException.class)
public void atualizarSeguroTPP(List<Ruta> lsRuta, Integer orgaoId, TipoSeguro tipoSeguro) throws BusinessException {
List<Integer> lsOrgaoId = new ArrayList<Integer>();
if (orgaoId == null) {
lsOrgaoId.addAll(orgaoConcedenteDAO.obtenerTodosIds());
} else {
lsOrgaoId.add(orgaoId);
}
int x = 0;
if(lsRuta != null && !lsRuta.isEmpty()){
x = lsRuta.size();
}
do{
Integer rutaId = null;
if(lsRuta != null && !lsRuta.isEmpty()){
rutaId = lsRuta.get(x-1).getRutaId();
}
//O seguro por km é preferencial em relação ao por tarifa.
for (Integer orgaoConcedenteId : lsOrgaoId) {
if (seguroKmDAO.existe(orgaoConcedenteId)) {
atualizarSeguroPorKmTPP(rutaId, orgaoConcedenteId, tipoSeguro);
}
}
x--;
}while(x > 0);
}
@Override @Override
@Transactional @Transactional