fixes bug#6346

Ajuste para gerar apenas taxa de embarque. Da forma que estava, ele apenas atualizada a taxa de embarque para os preços calculados

git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Model/trunk/modelWeb@45923 d1611594-4594-4d17-8e1d-87c2c4800839
master
gleimar 2015-07-10 14:00:29 +00:00
parent affaa86382
commit c588e44905
3 changed files with 33 additions and 46 deletions

View File

@ -13,9 +13,7 @@ public class SQLBuilderOracle implements SQLBuilder {
private static final String RED_PAGO_FORMA_PAGO = "CR"; private static final String RED_PAGO_FORMA_PAGO = "CR";
@Override @Override
public String getSQLGerarTabelaZerada(final Integer codRuta, final Integer usuarioId, public String getSQLGerarTabelaZerada(final Integer codRuta, final Integer usuarioId,final Integer orgaoConcedenteId, final Integer empresaId){
final Integer orgaoConcedenteId, final Integer empresaId)
{
StringBuilder sb = new StringBuilder(); StringBuilder sb = new StringBuilder();
sb.append("INSERT "); sb.append("INSERT ");
@ -154,8 +152,6 @@ public class SQLBuilderOracle implements SQLBuilder {
sb.append(" (select max( tkm.valortaxa ) from Tarifa_km tkm where tkm.CLASESERVICIO_ID = r.CLASESERVICIO_ID and tkm.activo = 1)"); sb.append(" (select max( tkm.valortaxa ) from Tarifa_km tkm where tkm.CLASESERVICIO_ID = r.CLASESERVICIO_ID and tkm.activo = 1)");
sb.append(" else"); sb.append(" else");
sb.append(" (select min( tkm.valortaxa ) from Tarifa_km tkm where tkm.kmate >= t.cantkmreal and r.CLASESERVICIO_ID = tkm.CLASESERVICIO_ID and tkm.activo = 1) end"); sb.append(" (select min( tkm.valortaxa ) from Tarifa_km tkm where tkm.kmate >= t.cantkmreal and r.CLASESERVICIO_ID = tkm.CLASESERVICIO_ID and tkm.activo = 1) end");
// sb.append(" * "); ARTESP não tem ICMS ou ja é calculado na tabela de referencia em pdf da artesp
// sb.append(" (case when e.icms is null then 1 else (1/(1-e.icms/100)) end)");
sb.append(" ) "); sb.append(" ) ");
sb.append(" ,2), "); sb.append(" ,2), ");

View File

@ -46,15 +46,17 @@ public interface TarifaOficialService {
*/ */
public Integer atualizarTarifaPorCoeficiente(Integer rutaId, Integer orgaoConcedenteId); public Integer atualizarTarifaPorCoeficiente(Integer rutaId, Integer orgaoConcedenteId);
/** /**
* Gera as novas tarifas e atualiza as ja existentes * Gera o calculo de preço utilizando calculo por coeficiente ou pela kilometragem da ARTESP
* *
* Utiliza os mótodos {@link #gerarTarifaPorCoeficiente(Integer, Integer)} e {@link #atualizarTarifaPorCoeficiente(Integer, Integer)}
* *
* @param rudaId * @param rudaId
* @param orgaoConcedenteId * @param orgaoConcedenteId
* @param empresaId
* @throws BusinessException
*/ */
public void gerarAtualizarTarifaPorCoeficiente(Integer rudaId, Integer orgaoConcedenteId, Integer empresaId) throws BusinessException ; public void gerarAtualizarTarifa(Integer rudaId, Integer orgaoConcedenteId, Integer empresaId) throws BusinessException ;
/** /**
* Copia a tarifa oficial para a tabela de tarifa de acordo com a vigencia especificada.<br/> * Copia a tarifa oficial para a tabela de tarifa de acordo com a vigencia especificada.<br/>
@ -79,8 +81,10 @@ public interface TarifaOficialService {
* *
* @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 - Se informado, será atualizado apenas a taxa de embarque do órgão informado * @param orgaoConcedenteId - Se informado, será atualizado apenas a taxa de embarque do órgão informado
* @param gerarTabelaZerada - Indica se uma tabela zerada será gerada. Isso para a possibilidade de gerar apenas a taxa de embarque sem preço
* @throws BusinessException
*/ */
public void atualizarTaxaEmbarque(Integer rutaId, Integer orgaoConcedenteId); public void atualizarTaxaEmbarque(Integer rutaId, Integer orgaoConcedenteId,boolean gerarTabelaZerada) throws BusinessException;
/** /**
@ -124,10 +128,4 @@ public interface TarifaOficialService {
public void gerarAtualizarTabelaZerada(Integer rudaId, Integer orgaoConcedenteId, Integer empresaId) throws BusinessException ; public void gerarAtualizarTabelaZerada(Integer rudaId, Integer orgaoConcedenteId, Integer empresaId) throws BusinessException ;
public Integer gerarTabelaZerada(Integer rutaId, Integer orgaoConcedenteId, Integer empresaId);
public void gerarAtualizarTarifaArtesp(Integer rudaId, Integer orgaoConcedenteId, Integer empresaId) throws BusinessException;
public Integer gerarTarifaArtesp(Integer rutaId, Integer orgaoConcedenteId, Integer empresaId);
} }

View File

@ -11,6 +11,7 @@ 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;
import com.rjconsultores.ventaboletos.dao.TarifaOficialDAO; import com.rjconsultores.ventaboletos.dao.TarifaOficialDAO;
import com.rjconsultores.ventaboletos.entidad.OrgaoConcedente;
import com.rjconsultores.ventaboletos.entidad.TarifaOficial; import com.rjconsultores.ventaboletos.entidad.TarifaOficial;
import com.rjconsultores.ventaboletos.entidad.VigenciaTarifa; import com.rjconsultores.ventaboletos.entidad.VigenciaTarifa;
import com.rjconsultores.ventaboletos.exception.BusinessException; import com.rjconsultores.ventaboletos.exception.BusinessException;
@ -35,18 +36,6 @@ public class TarifaOficialServiceImpl implements TarifaOficialService {
return tarifaOficialDAO.gerarTarifaPorCoeficiente(rutaId, UsuarioLogado.getUsuarioLogado().getUsuarioId(), orgaoConcedenteId, empresaId); return tarifaOficialDAO.gerarTarifaPorCoeficiente(rutaId, UsuarioLogado.getUsuarioLogado().getUsuarioId(), orgaoConcedenteId, empresaId);
} }
@Override
@Transactional
public Integer gerarTarifaArtesp(Integer rutaId, Integer orgaoConcedenteId, Integer empresaId) {
return tarifaOficialDAO.gerarTarifaArtesp(rutaId, UsuarioLogado.getUsuarioLogado().getUsuarioId(), orgaoConcedenteId, empresaId);
}
@Override
@Transactional
public Integer gerarTabelaZerada(Integer rutaId, Integer orgaoConcedenteId, Integer empresaId) {
return tarifaOficialDAO.gerarTabelaZerada(rutaId, UsuarioLogado.getUsuarioLogado().getUsuarioId(), orgaoConcedenteId, empresaId);
}
@Override @Override
@Transactional @Transactional
public Integer atualizarTarifaPorCoeficiente(Integer rutaId, Integer orgaoConcedenteId) { public Integer atualizarTarifaPorCoeficiente(Integer rutaId, Integer orgaoConcedenteId) {
@ -61,35 +50,38 @@ public class TarifaOficialServiceImpl implements TarifaOficialService {
@Override @Override
@Transactional(rollbackFor = BusinessException.class) @Transactional(rollbackFor = BusinessException.class)
public void gerarAtualizarTarifaPorCoeficiente(Integer rudaId, Integer orgaoConcedenteId, Integer empresaId) throws BusinessException { public void gerarAtualizarTarifa(Integer rudaId, Integer orgaoConcedenteId, Integer empresaId) throws BusinessException {
// Limpando a tabela de TARIFA_OFICIAL // Limpando a tabela de TARIFA_OFICIAL
//tarifaOficialDAO.limparTarifasOficiais(); tarifaOficialDAO.limparTarifasOficiais();
//Gerando as tarifas
gerarTarifaPorCoeficiente(rudaId, orgaoConcedenteId, empresaId);
//Gerando as tarifas pelo coeficiente
if(orgaoConcedenteId ==null || orgaoConcedenteId != OrgaoConcedente.CODIGO_ARTESP){
gerarTarifaPorCoeficiente(rudaId, orgaoConcedenteId, empresaId);
}
//Gerando as tarifas para ARTESP
if(orgaoConcedenteId ==null || orgaoConcedenteId == OrgaoConcedente.CODIGO_ARTESP ){
tarifaOficialDAO.gerarTarifaArtesp(rudaId, UsuarioLogado.getUsuarioLogado().getUsuarioId(), orgaoConcedenteId, empresaId);
}
} }
@Override @Override
@Transactional(rollbackFor = BusinessException.class) @Transactional(rollbackFor = BusinessException.class)
public void gerarAtualizarTarifaArtesp(Integer rudaId, Integer orgaoConcedenteId, Integer empresaId) throws BusinessException public void gerarAtualizarTabelaZerada(Integer rutaId, Integer orgaoConcedenteId, Integer empresaId) throws BusinessException {
{
gerarTarifaArtesp(rudaId, orgaoConcedenteId, empresaId);
}
@Override
@Transactional(rollbackFor = BusinessException.class)
public void gerarAtualizarTabelaZerada(Integer rudaId, Integer orgaoConcedenteId, Integer empresaId) throws BusinessException {
// Limpando a tabela de TARIFA_OFICIAL // Limpando a tabela de TARIFA_OFICIAL
tarifaOficialDAO.limparTarifasOficiais(); tarifaOficialDAO.limparTarifasOficiais();
//Gerando as tarifas //Gerando as tarifas
//gerarTarifaPorCoeficiente(rudaId, orgaoConcedenteId, empresaId); tarifaOficialDAO.gerarTabelaZerada(rutaId, UsuarioLogado.getUsuarioLogado().getUsuarioId(), orgaoConcedenteId, empresaId);
gerarTabelaZerada(rudaId, orgaoConcedenteId, empresaId);
} }
@Override @Override
@Transactional @Transactional(rollbackFor = BusinessException.class)
public void atualizarTaxaEmbarque(Integer rutaId, Integer orgaoConcedenteId) { public void atualizarTaxaEmbarque(Integer rutaId, Integer orgaoConcedenteId,boolean gerarTabelaZerada) throws BusinessException{
if (gerarTabelaZerada){
gerarAtualizarTabelaZerada(rutaId, orgaoConcedenteId, null);
}
tarifaOficialDAO.atualizarTaxaEmbarque(rutaId, UsuarioLogado.getUsuarioLogado().getUsuarioId(), orgaoConcedenteId); tarifaOficialDAO.atualizarTaxaEmbarque(rutaId, UsuarioLogado.getUsuarioLogado().getUsuarioId(), orgaoConcedenteId);
} }
@ -150,4 +142,5 @@ public class TarifaOficialServiceImpl implements TarifaOficialService {
public void borrar(TarifaOficial tarifaOficial) { public void borrar(TarifaOficial tarifaOficial) {
tarifaOficialDAO.borrar(tarifaOficial); tarifaOficialDAO.borrar(tarifaOficial);
} }
} }