gleimar 2012-09-28 21:02:09 +00:00
parent ab71f5c481
commit 6c8a506b31
2 changed files with 26 additions and 19 deletions

View File

@ -9,23 +9,26 @@ import com.rjconsultores.ventaboletos.exception.BusinessException;
public interface TarifaOficialService {
/**
* Gera as tarifas de acordo o cólculo do coeficiente tarifório.<br/>
* Gera as tarifas de acordo o cálculo do coeficiente tarifário.<br/>
*
* Fórmula: (KM * Coeficiente Tarifório)
*
* Se o parametro ruta nóo for informado, seró gerado tarifas para todas as
* Se o parametro ruta não for informado, será gerado tarifas para todas as
* rutas. <br/>
*
* Obs.: Essa operção apenas gera tarifas que ainda nóo estóo geradas<br/>
* Se o parametro orgaoConcedenteId não for informado, será gerado tarifas para todos os
* órgãos. <br/>
*
* Obs.: Essa operação apenas gera tarifas que ainda não esão geradas<br/>
*
* @param rutaId
* @param orgaoConcedenteId TODO
* @param orgaoConcedenteId
* @return A quantidade de registros afetadas
*/
public Integer gerarTarifaPorCoeficiente(Integer rutaId, Integer orgaoConcedenteId);
/**
* Atualiza as tarifas de acordo o cólculo do coeficiente tarifório.<br/>
* Atualiza as tarifas de acordo o cálculo do coeficiente tarifário.<br/>
*
* Fórmula: (KM * Coeficiente Tarifário)
*
@ -38,7 +41,7 @@ public interface TarifaOficialService {
*
* @param rutaId
* @param orgaoConcedenteId
* @return TODO
* @return - Quantidade de tarifas atualizadas
*/
public Integer atualizarTarifaPorCoeficiente(Integer rutaId, Integer orgaoConcedenteId);
@ -53,7 +56,10 @@ public interface TarifaOficialService {
public void gerarAtualizarTarifaPorCoeficiente(Integer rudaId, Integer orgaoConcedenteId) throws BusinessException ;
/**
* Copia a tarifa oficial para a tabela de tarifa de acordo com a vigencia especificada
* Copia a tarifa oficial para a tabela de tarifa de acordo com a vigencia especificada.<br/>
*
* Se a tarifa não existe, ela é inserida. Se existe, a tarifa e os componentes do preços são atualizados<br/>
*
* @param vigenciaTarifa
*/
public void copiarParaTarifa(VigenciaTarifa vigenciaTarifa);
@ -61,17 +67,17 @@ public interface TarifaOficialService {
/**
* Atualiza a taxa de embarque da entidade TarifaOficial.<br/>
*
* Para o cólculo, ó usado a seguinte lógica:<br/>
* Para o cálculo, é usado a seguinte lógica:<br/>
* - Atualiza de acordo a tabela TAXA_EMBARQUE_PARADA por kilometragem<br/>
* - Atualiza de acordo a tabela TAXA_EMBARQUE por kilometragem<br/>
* - Atualiza de acordo a tabela TAXA_EMBARQUE_PARADA por valor fixo<br/>
*
* A sequencia acima indica a ordem de atualizaóóo da taxa de embarque.<br/>
* A sequencia acima indica a ordem de atualização da taxa de embarque.<br/>
*
* A taxa de embarque mais restritiva fica por óltimo (TAXA_EMBARQUE_PARADA por valor fixo)
* A taxa de embarque mais restritiva fica por último (TAXA_EMBARQUE_PARADA por valor fixo)
*
* @param rutaId - Se informado, seró atualizado apenas a taxa de embarque da ruta informada
* @param orgaoConcedenteId TODO
* @param rutaId - Se informado, será atualizado apenas a taxa de embarque da ruta informada
* @param orgaoConcedenteId - Se informado, será atualizado apenas a taxa de embarque do órgão informado
*/
public void atualizarTaxaEmbarque(Integer rutaId, Integer orgaoConcedenteId);
@ -79,8 +85,8 @@ public interface TarifaOficialService {
/**
* Atualiza o seguro de acordo a kilometragem do trecho
*
* @param rutaId - Se informado, seró filtrado pela ruta
* @param orgaoId -Campo obrigatório
* @param rutaId - Se informado, será filtrado pela ruta
* @param orgaoId -Se informado, será filtrado pelo orgão
*/
public void atualizarSeguroPorKm(Integer rutaId,Integer orgaoId) throws BusinessException;
@ -88,7 +94,7 @@ public interface TarifaOficialService {
* Atualiza o seguro de acordo o valor da tarifa
*
* @param rutaId - Se informado, seró filtrado pela ruta
* @param orgaoId -Campo obrigatório
* @param orgaoId -Se informado, será filtrado pelo orgão
*
*/
public void atualizarSeguroPorTarifa(Integer rutaId, Integer orgaoId) throws BusinessException;
@ -97,15 +103,15 @@ public interface TarifaOficialService {
/**
* Executa tanto o {@link #atualizarSeguroPorKm(Integer, Integer)} quanto {@link #atualizarSeguroPorTarifa(Integer, Integer)}
*
* @param rutaId
* @param orgaoId
* @param rutaId- Se informado, seró filtrado pela ruta
* @param orgaoId-Se informado, será filtrado pelo orgão
* @throws BusinessException
*/
public void atualizarSeguro(Integer rutaId, Integer orgaoId) throws BusinessException;
/**
* See {@link TarifaOficialDAO#aplicarArredondamentoTarifa(Integer, Integer)}
* @param orgaoConcedenteId
* @param orgaoConcedenteId -Se informado, será filtrado pelo orgão
*/
public void aplicarArredondamentoTarifa(Integer orgaoConcedenteId) ;

View File

@ -89,6 +89,7 @@ public class TarifaOficialServiceImpl implements TarifaOficialService {
lsOrgaoId.add(orgaoId);
}
//O seguro por km é preferencial em relação ao por tarifa.
for (Integer orgaoConcedenteId : lsOrgaoId) {
if (seguroKmDAO.existe(orgaoConcedenteId)) {
atualizarSeguroPorKm(rutaId, orgaoConcedenteId);