diff --git a/src/com/rjconsultores/ventaboletos/dao/TarifaOficialDAO.java b/src/com/rjconsultores/ventaboletos/dao/TarifaOficialDAO.java index 84288e8fb..69cd5a249 100644 --- a/src/com/rjconsultores/ventaboletos/dao/TarifaOficialDAO.java +++ b/src/com/rjconsultores/ventaboletos/dao/TarifaOficialDAO.java @@ -15,6 +15,9 @@ public interface TarifaOficialDAO extends GenericDAO{ */ public Integer gerarTarifaPorCoeficiente(Integer ruta, Integer usuarioId, Integer orgaoConcedenteId, Integer empresaId); + + public Integer gerarTabelaZerada(Integer ruta, Integer usuarioId, Integer orgaoConcedenteId, Integer empresaId); + /** * See {@link TarifaOficialService#atualizarTarifaPorCoeficiente(Integer, Integer)} * @param rutaId diff --git a/src/com/rjconsultores/ventaboletos/dao/hibernate/TarifaOficialHibernateDAO.java b/src/com/rjconsultores/ventaboletos/dao/hibernate/TarifaOficialHibernateDAO.java index dccd58130..0ada9dee5 100644 --- a/src/com/rjconsultores/ventaboletos/dao/hibernate/TarifaOficialHibernateDAO.java +++ b/src/com/rjconsultores/ventaboletos/dao/hibernate/TarifaOficialHibernateDAO.java @@ -38,6 +38,16 @@ public class TarifaOficialHibernateDAO extends GenericHibernateDAO -1 "); + sb.append(" and mc.activo = 1 "); + sb.append(" and re.activo = 1 "); + if (empresaId != null) { + sb.append(" and re.empresa_id = ").append(empresaId); + } + sb.append(" and m.moneda_id = 1 "); + if (orgaoConcedenteId != null) { + sb.append(" and oc.orgaoconcedente_id = ").append(orgaoConcedenteId); + } + sb.append(" and "); + sb.append(" (t.tramo_id, "); + sb.append(" mc.marca_id, "); + sb.append(" r.CLASESERVICIO_ID, "); + sb.append(" m.moneda_id, "); + sb.append(" oc.orgaoconcedente_id, r.ruta_id) "); + sb.append(" not in (select tao.tramo_id,tao.marca_id,tao.CLASESERVICIO_ID, "); + sb.append(" tao.moneda_id,tao.orgaoconcedente_id, tao.ruta_id "); + sb.append(" from tarifa_oficial tao where tao.activo = 1) "); + + return sb.toString(); + } @Override public String getSQLGerarTarifaOficial(final Integer codRuta, final Integer usuarioId, diff --git a/src/com/rjconsultores/ventaboletos/service/TarifaOficialService.java b/src/com/rjconsultores/ventaboletos/service/TarifaOficialService.java index 19f96e696..6b182ac31 100644 --- a/src/com/rjconsultores/ventaboletos/service/TarifaOficialService.java +++ b/src/com/rjconsultores/ventaboletos/service/TarifaOficialService.java @@ -27,6 +27,7 @@ public interface TarifaOficialService { */ public Integer gerarTarifaPorCoeficiente(Integer rutaId, Integer orgaoConcedenteId, Integer empresaId); + /** * Atualiza as tarifas de acordo o cálculo do coeficiente tarifário.
* @@ -120,5 +121,9 @@ public interface TarifaOficialService { public TarifaOficial obtenerID(Integer tarifaOficialId); public void borrar(TarifaOficial tarifaOficial); + + public void gerarAtualizarTabelaZerada(Integer rudaId, Integer orgaoConcedenteId, Integer empresaId) throws BusinessException ; + + public Integer gerarTabelaZerada(Integer rutaId, Integer orgaoConcedenteId, Integer empresaId); } diff --git a/src/com/rjconsultores/ventaboletos/service/impl/TarifaOficialServiceImpl.java b/src/com/rjconsultores/ventaboletos/service/impl/TarifaOficialServiceImpl.java index 419131627..0fe294622 100644 --- a/src/com/rjconsultores/ventaboletos/service/impl/TarifaOficialServiceImpl.java +++ b/src/com/rjconsultores/ventaboletos/service/impl/TarifaOficialServiceImpl.java @@ -34,7 +34,13 @@ public class TarifaOficialServiceImpl implements TarifaOficialService { public Integer gerarTarifaPorCoeficiente(Integer rutaId, Integer orgaoConcedenteId, Integer empresaId) { return tarifaOficialDAO.gerarTarifaPorCoeficiente(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 @Transactional public Integer atualizarTarifaPorCoeficiente(Integer rutaId, Integer orgaoConcedenteId) { @@ -56,6 +62,17 @@ public class TarifaOficialServiceImpl implements TarifaOficialService { gerarTarifaPorCoeficiente(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 + tarifaOficialDAO.limparTarifasOficiais(); + //Gerando as tarifas + //gerarTarifaPorCoeficiente(rudaId, orgaoConcedenteId, empresaId); + gerarTabelaZerada(rudaId, orgaoConcedenteId, empresaId); + + } @Override @Transactional