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 { 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) * 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/> * 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 rutaId
* @param orgaoConcedenteId TODO * @param orgaoConcedenteId
* @return A quantidade de registros afetadas * @return A quantidade de registros afetadas
*/ */
public Integer gerarTarifaPorCoeficiente(Integer rutaId, Integer orgaoConcedenteId); 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) * Fórmula: (KM * Coeficiente Tarifário)
* *
@ -38,7 +41,7 @@ public interface TarifaOficialService {
* *
* @param rutaId * @param rutaId
* @param orgaoConcedenteId * @param orgaoConcedenteId
* @return TODO * @return - Quantidade de tarifas atualizadas
*/ */
public Integer atualizarTarifaPorCoeficiente(Integer rutaId, Integer orgaoConcedenteId); public Integer atualizarTarifaPorCoeficiente(Integer rutaId, Integer orgaoConcedenteId);
@ -53,7 +56,10 @@ public interface TarifaOficialService {
public void gerarAtualizarTarifaPorCoeficiente(Integer rudaId, Integer orgaoConcedenteId) throws BusinessException ; 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 * @param vigenciaTarifa
*/ */
public void copiarParaTarifa(VigenciaTarifa vigenciaTarifa); public void copiarParaTarifa(VigenciaTarifa vigenciaTarifa);
@ -61,17 +67,17 @@ public interface TarifaOficialService {
/** /**
* Atualiza a taxa de embarque da entidade TarifaOficial.<br/> * 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_PARADA por kilometragem<br/>
* - Atualiza de acordo a tabela TAXA_EMBARQUE 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/> * - 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 rutaId - Se informado, será atualizado apenas a taxa de embarque da ruta informada
* @param orgaoConcedenteId TODO * @param orgaoConcedenteId - Se informado, será atualizado apenas a taxa de embarque do órgão informado
*/ */
public void atualizarTaxaEmbarque(Integer rutaId, Integer orgaoConcedenteId); public void atualizarTaxaEmbarque(Integer rutaId, Integer orgaoConcedenteId);
@ -79,8 +85,8 @@ public interface TarifaOficialService {
/** /**
* Atualiza o seguro de acordo a kilometragem do trecho * Atualiza o seguro de acordo a kilometragem do trecho
* *
* @param rutaId - Se informado, seró filtrado pela ruta * @param rutaId - Se informado, será filtrado pela ruta
* @param orgaoId -Campo obrigatório * @param orgaoId -Se informado, será filtrado pelo orgão
*/ */
public void atualizarSeguroPorKm(Integer rutaId,Integer orgaoId) throws BusinessException; 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 * Atualiza o seguro de acordo o valor da tarifa
* *
* @param rutaId - Se informado, seró filtrado pela ruta * @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; 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)} * Executa tanto o {@link #atualizarSeguroPorKm(Integer, Integer)} quanto {@link #atualizarSeguroPorTarifa(Integer, Integer)}
* *
* @param rutaId * @param rutaId- Se informado, seró filtrado pela ruta
* @param orgaoId * @param orgaoId-Se informado, será filtrado pelo orgão
* @throws BusinessException * @throws BusinessException
*/ */
public void atualizarSeguro(Integer rutaId, Integer orgaoId) throws BusinessException; public void atualizarSeguro(Integer rutaId, Integer orgaoId) throws BusinessException;
/** /**
* See {@link TarifaOficialDAO#aplicarArredondamentoTarifa(Integer, Integer)} * See {@link TarifaOficialDAO#aplicarArredondamentoTarifa(Integer, Integer)}
* @param orgaoConcedenteId * @param orgaoConcedenteId -Se informado, será filtrado pelo orgão
*/ */
public void aplicarArredondamentoTarifa(Integer orgaoConcedenteId) ; public void aplicarArredondamentoTarifa(Integer orgaoConcedenteId) ;

View File

@ -89,6 +89,7 @@ public class TarifaOficialServiceImpl implements TarifaOficialService {
lsOrgaoId.add(orgaoId); lsOrgaoId.add(orgaoId);
} }
//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);