125 lines
4.4 KiB
Java
125 lines
4.4 KiB
Java
package com.rjconsultores.ventaboletos.service;
|
|
|
|
import com.rjconsultores.ventaboletos.dao.TarifaOficialDAO;
|
|
import com.rjconsultores.ventaboletos.entidad.TarifaOficial;
|
|
import com.rjconsultores.ventaboletos.entidad.VigenciaTarifa;
|
|
import com.rjconsultores.ventaboletos.exception.BusinessException;
|
|
|
|
|
|
public interface TarifaOficialService {
|
|
|
|
/**
|
|
* 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
|
|
* rutas. <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
|
|
* @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/>
|
|
*
|
|
* Fórmula: (KM * Coeficiente Tarifário)
|
|
*
|
|
* Se o parametro ruta não for informado, seró atualizado as tarifas para
|
|
* todas as rutas.<br/>
|
|
*
|
|
*
|
|
* Se o parametro orgaoConcedenteId não for informado, seró atualizado as tarifas para
|
|
* todos as órgãos.<br/>
|
|
*
|
|
* @param rutaId
|
|
* @param orgaoConcedenteId
|
|
* @return - Quantidade de tarifas atualizadas
|
|
*/
|
|
public Integer atualizarTarifaPorCoeficiente(Integer rutaId, Integer orgaoConcedenteId);
|
|
|
|
/**
|
|
* Gera as novas tarifas e atualiza as ja existentes
|
|
*
|
|
* Utiliza os mótodos {@link #gerarTarifaPorCoeficiente(Integer, Integer)} e {@link #atualizarTarifaPorCoeficiente(Integer, Integer)}
|
|
*
|
|
* @param rudaId
|
|
* @param orgaoConcedenteId
|
|
*/
|
|
public void gerarAtualizarTarifaPorCoeficiente(Integer rudaId, Integer orgaoConcedenteId) throws BusinessException ;
|
|
|
|
/**
|
|
* 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, Boolean calculaPegagio);
|
|
|
|
/**
|
|
* Atualiza a taxa de embarque da entidade TarifaOficial.<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 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 - Se informado, será atualizado apenas a taxa de embarque do órgão informado
|
|
*/
|
|
public void atualizarTaxaEmbarque(Integer rutaId, Integer orgaoConcedenteId);
|
|
|
|
|
|
/**
|
|
* Atualiza o seguro de acordo a kilometragem do trecho
|
|
*
|
|
* @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;
|
|
|
|
/**
|
|
* Atualiza o seguro de acordo o valor da tarifa
|
|
*
|
|
* @param rutaId - Se informado, seró filtrado pela ruta
|
|
* @param orgaoId -Se informado, será filtrado pelo orgão
|
|
*
|
|
*/
|
|
public void atualizarSeguroPorTarifa(Integer rutaId, Integer orgaoId) throws BusinessException;
|
|
|
|
|
|
/**
|
|
* Executa tanto o {@link #atualizarSeguroPorKm(Integer, Integer)} quanto {@link #atualizarSeguroPorTarifa(Integer, Integer)}
|
|
*
|
|
* @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 -Se informado, será filtrado pelo orgão
|
|
*/
|
|
public void aplicarArredondamentoTarifa(Integer orgaoConcedenteId) ;
|
|
|
|
public void actualizacion(TarifaOficial tarifaOficial);
|
|
|
|
public TarifaOficial obtenerID(Integer tarifaOficialId);
|
|
|
|
public void borrar(TarifaOficial tarifaOficial);
|
|
|
|
}
|