diff --git a/src/com/rjconsultores/ventaboletos/dao/OrgaoConcedenteDAO.java b/src/com/rjconsultores/ventaboletos/dao/OrgaoConcedenteDAO.java index 60b23415a..87afa7532 100644 --- a/src/com/rjconsultores/ventaboletos/dao/OrgaoConcedenteDAO.java +++ b/src/com/rjconsultores/ventaboletos/dao/OrgaoConcedenteDAO.java @@ -9,6 +9,7 @@ public interface OrgaoConcedenteDAO extends GenericDAO public List buscar(String desc); public List obtenerTodos(); + + public List obtenerTodosIds() ; - public List obtenerTodosOpTodos(); } diff --git a/src/com/rjconsultores/ventaboletos/dao/hibernate/OrgaoConcedenteHibernateDAO.java b/src/com/rjconsultores/ventaboletos/dao/hibernate/OrgaoConcedenteHibernateDAO.java index 4d2bdd50b..2661e01bd 100644 --- a/src/com/rjconsultores/ventaboletos/dao/hibernate/OrgaoConcedenteHibernateDAO.java +++ b/src/com/rjconsultores/ventaboletos/dao/hibernate/OrgaoConcedenteHibernateDAO.java @@ -5,6 +5,8 @@ import java.util.List; import org.hibernate.Criteria; import org.hibernate.SessionFactory; import org.hibernate.criterion.Order; +import org.hibernate.criterion.ProjectionList; +import org.hibernate.criterion.Projections; import org.hibernate.criterion.Restrictions; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Qualifier; @@ -14,8 +16,7 @@ import com.rjconsultores.ventaboletos.dao.OrgaoConcedenteDAO; import com.rjconsultores.ventaboletos.entidad.OrgaoConcedente; @Repository("orgaoConcedenteDAO") -public class OrgaoConcedenteHibernateDAO extends GenericHibernateDAO - implements OrgaoConcedenteDAO { +public class OrgaoConcedenteHibernateDAO extends GenericHibernateDAO implements OrgaoConcedenteDAO { @Autowired public OrgaoConcedenteHibernateDAO(@Qualifier("sessionFactory") SessionFactory factory) { @@ -27,11 +28,20 @@ public class OrgaoConcedenteHibernateDAO extends GenericHibernateDAO obtenerTodos() { Criteria c = getSession().createCriteria(getPersistentClass()); c.add(Restrictions.eq("activo", Boolean.TRUE)); - c.add(Restrictions.ne("orgaoConcedenteId", -1)); c.addOrder(Order.asc("descOrgao")); return c.list(); } + + @SuppressWarnings("unchecked") + @Override + public List obtenerTodosIds() { + Criteria c = getSession().createCriteria(getPersistentClass()); + c.add(Restrictions.eq("activo", Boolean.TRUE)); + c.setProjection(Projections.property("orgaoConcedenteId")); + + return c.list(); + } @SuppressWarnings("unchecked") @Override @@ -42,13 +52,4 @@ public class OrgaoConcedenteHibernateDAO extends GenericHibernateDAO obtenerTodosOpTodos() { - Criteria c = getSession().createCriteria(getPersistentClass()); - c.add(Restrictions.eq("activo", Boolean.TRUE)); - - c.addOrder(Order.asc("descOrgao")); - - return c.list(); - } } diff --git a/src/com/rjconsultores/ventaboletos/dao/hibernate/TarifaOficialHibernateDAO.java b/src/com/rjconsultores/ventaboletos/dao/hibernate/TarifaOficialHibernateDAO.java index bfc5b501e..083545393 100644 --- a/src/com/rjconsultores/ventaboletos/dao/hibernate/TarifaOficialHibernateDAO.java +++ b/src/com/rjconsultores/ventaboletos/dao/hibernate/TarifaOficialHibernateDAO.java @@ -15,114 +15,61 @@ import com.rjconsultores.ventaboletos.entidad.VigenciaTarifa; @Repository("tarifaOficialDAO") public class TarifaOficialHibernateDAO extends GenericHibernateDAO implements TarifaOficialDAO { - @Autowired - private SQLBuilder sqlBuilder; + @Autowired + private SQLBuilder sqlBuilder; - @Autowired - public TarifaOficialHibernateDAO(@Qualifier("sessionFactory") SessionFactory factory) { - setSessionFactory(factory); - } + @Autowired + public TarifaOficialHibernateDAO(@Qualifier("sessionFactory") SessionFactory factory) { + setSessionFactory(factory); + } - @Override - public Integer gerarTarifaPorCoeficiente(Integer rutaId, Integer usuarioId, Integer orgaoConcedenteId) { + @Override + public Integer gerarTarifaPorCoeficiente(Integer rutaId, Integer usuarioId, Integer orgaoConcedenteId) { - String sql = sqlBuilder.getSQLGerarTarifaOficial(rutaId, usuarioId, orgaoConcedenteId); + String sql = sqlBuilder.getSQLGerarTarifaOficial(rutaId, usuarioId, orgaoConcedenteId); - int qtd = getSession().createSQLQuery(sql).executeUpdate(); + int qtd = getSession().createSQLQuery(sql).executeUpdate(); - return qtd; - } + return qtd; + } - @Override - public Integer atualizarTarifaCoeficiente(Integer rutaId, Integer usuarioId, Integer orgaoConcedenteId) { + @Override + public Integer atualizarTarifaCoeficiente(Integer rutaId, Integer usuarioId, Integer orgaoConcedenteId) { - String sql = sqlBuilder.getSQLAtualizarTarifaOficial(rutaId, usuarioId, orgaoConcedenteId); + String sql = sqlBuilder.getSQLAtualizarTarifaOficial(rutaId, usuarioId, orgaoConcedenteId); - int qtd = getSession().createSQLQuery(sql).executeUpdate(); + int qtd = getSession().createSQLQuery(sql).executeUpdate(); - return qtd; - } + return qtd; + } - public void limparTarifasOficiais() { - Query query = getSession().createQuery("DELETE FROM TarifaOficial"); - query.executeUpdate(); - } + public void limparTarifasOficiais() { + Query query = getSession().createQuery("DELETE FROM TarifaOficial"); + query.executeUpdate(); + } - @Override - public void copiarParaTarifa(VigenciaTarifa vigenciaTarifa, Integer usuarioId) { + @Override + public void copiarParaTarifa(VigenciaTarifa vigenciaTarifa, Integer usuarioId) { - StringBuilder sb = new StringBuilder(); - sb.append("INSERT "); - sb.append("INTO "); - sb.append(" Tarifa "); - sb.append(" ( "); - sb.append(" precio, "); - sb.append(" precioredabierto, "); - sb.append(" tramo, "); - sb.append(" marca, "); - sb.append(" claseServicio, "); - sb.append(" preciooriginal, "); - sb.append(" moneda, "); - sb.append(" vigenciaTarifa, "); - sb.append(" statustarifa, "); - sb.append(" activo, "); - sb.append(" fecmodif, "); - sb.append(" usuarioId, "); - sb.append(" importetaxaembarque, "); - sb.append(" importepedagio, "); - sb.append(" importeoutros, "); - sb.append(" importeseguro, "); - sb.append(" orgaoConcedente, "); - sb.append(" ruta, "); - sb.append(" origen, "); - sb.append(" destino "); - sb.append(" ) "); - sb.append("SELECT "); - sb.append(" "); - sb.append(" to.precio, "); - sb.append(" to.precioredabierto, "); - sb.append(" to.tramo, "); - sb.append(" to.marca, "); - sb.append(" to.claseServicio, "); - sb.append(" to.preciooriginal, "); - sb.append(" to.moneda, "); - sb.append(" vt, "); - sb.append(" to.statustarifa, "); - sb.append(" to.activo, "); - sb.append(" current_timestamp(), "); - sb.append(" ").append(usuarioId).append(", "); - sb.append(" to.importetaxaembarque, "); - sb.append(" to.importepedagio, "); - sb.append(" to.importeoutros, "); - sb.append(" to.importeseguro, "); - sb.append(" to.orgaoConcedente, "); - sb.append(" to.ruta, "); - sb.append(" to.origen, "); - sb.append(" to.destino "); - sb.append("FROM "); - sb.append(" TarifaOficial to, "); - sb.append(" VigenciaTarifa vt "); - sb.append("WHERE "); - sb.append(" to.activo =1 "); - sb.append(" and vt.vigenciatarifaId = :vigenciaId "); + // Insiro as tarifas que não existem + SQLQuery querySQL = getSession().createSQLQuery(sqlBuilder.getSQLInserirTarifaPelaTarifaOficial(vigenciaTarifa.getVigenciatarifaId(), usuarioId)); + querySQL.executeUpdate(); + // Atualizo o preço e o componente dos preços que já existem + querySQL = getSession().createSQLQuery(sqlBuilder.getSQLAtualizarTarifaPorTarifaOfical(vigenciaTarifa.getVigenciatarifaId(), usuarioId)); + querySQL.executeUpdate(); + } - Query query = getSession().createQuery("DELETE FROM Tarifa t where t.vigenciaTarifa = :vigencia"); - query.setParameter("vigencia", vigenciaTarifa); - query.executeUpdate(); + @Override + public void atualizarTaxaEmbarque(Integer rutaId, Integer usuarioId, Integer orgaoConcedenteId) { - query = getSession().createQuery(sb.toString()); - query.setParameter("vigenciaId", vigenciaTarifa.getVigenciatarifaId()); + // Atualizo a taxa de embarque de acordo a parada e km + SQLQuery query = getSession().createSQLQuery(sqlBuilder.getAtualizarTaxaEmbarquePorKmParada(rutaId, usuarioId, orgaoConcedenteId)); + query.executeUpdate(); - query.executeUpdate(); - - } - - @Override - public void atualizarTaxaEmbarque(Integer rutaId, Integer usuarioId, Integer orgaoConcedenteId) { - // Atualizo a taxa de embarque de acordo a parada e km - SQLQuery query = getSession().createSQLQuery(sqlBuilder.getAtualizarTaxaEmbarquePorKmParada(rutaId, usuarioId, orgaoConcedenteId)); - query.executeUpdate(); + // Atualizo a taxa de embarque de acordo a km do orgao + query = getSession().createSQLQuery(sqlBuilder.getSQLAtualizarTaxaEmbarquePorKmOrgao(rutaId, usuarioId, orgaoConcedenteId)); + query.executeUpdate(); // Atualizo a taxa de embarque de acordo a parada e valor fixo query = getSession().createSQLQuery(sqlBuilder.getSQLAtualizarTaxaEmbarquePorParadaFixo(rutaId, usuarioId, orgaoConcedenteId)); @@ -149,10 +96,15 @@ public class TarifaOficialHibernateDAO extends GenericHibernateDAO -1 "); sb.append(" and mc.activo = 1 "); - //sb.append(" and re.activo = 1 "); + sb.append(" and re.activo = 1 "); sb.append(" and m.moneda_id = 1 "); if (orgaoConcedenteId != null) { sb.append(" and oc.orgaoconcedente_id = ").append(orgaoConcedenteId); @@ -104,7 +103,6 @@ public class SQLBuilderOracle implements SQLBuilder { sb.append(" oc.orgaoconcedente_id, "); sb.append(" r.ruta_id) not in (select tao.tramo_id,tao.marca_id,tao.CLASESERVICIO_ID,tao.moneda_id,tao.orgaoconcedente_id, tao.ruta_id from tarifa_oficial tao where tao.activo = 1) "); - //System.out.println(sb.toString()); return sb.toString(); } @@ -368,5 +366,84 @@ public class SQLBuilderOracle implements SQLBuilder { return sb.toString(); } + + public String getSQLAtualizarTarifaPorTarifaOfical(Integer vigenciaTarifaId,Integer usuarioId){ + StringBuilder sb = new StringBuilder(""); + sb.append("update ( "); + sb.append(" "); + sb.append("select "); + sb.append(" ta.precio as taprecio,ta.preciooriginal as tapreciooriginal,ta.importetaxaembarque as taimportetaxaembarque, "); + sb.append(" ta.importepedagio as taimportepedagio,ta.importeoutros as taimporteoutros,ta.importeseguro as taimporteseguro, "); + sb.append(" tao.precio as taoprecio,tao.preciooriginal as taopreciooriginal,tao.importetaxaembarque as taoimportetaxaembarque, "); + sb.append(" tao.importepedagio as taoimportepedagio,tao.importeoutros as taoimporteoutros,tao.importeseguro as taoimporteseguro, "); + sb.append(" ta.fecmodif as tafecmodif,ta.usuario_id as tausuario_id "); + sb.append("from "); + sb.append(" tarifa_oficial tao "); + sb.append(" inner join tarifa ta on "); + sb.append(" tao.marca_id = ta.marca_id "); + sb.append(" and tao.claseservicio_id = ta.claseservicio_id "); + sb.append(" and tao.tramo_id = ta.tramo_id "); + sb.append(" and tao.moneda_id = ta.moneda_id "); + sb.append(" and tao.ruta_id = ta.ruta_id "); + sb.append(" and tao.orgaoconcedente_id = ta.orgaoconcedente_id "); + sb.append("where "); + sb.append(" ta.vigenciatarifa_id = ").append(vigenciaTarifaId); + sb.append(" ) set "); + sb.append(" taprecio = taoprecio , tapreciooriginal = taopreciooriginal,taimportetaxaembarque = taoimportetaxaembarque, "); + sb.append(" taimportepedagio = taoimportepedagio,taimporteoutros = taoimporteoutros,taimporteseguro = taoimporteseguro, "); + sb.append(" tafecmodif = current_timestamp, tausuario_id = ").append(usuarioId); + + return sb.toString(); + } + + public String getSQLInserirTarifaPelaTarifaOficial(Integer vigenciaTarifaId, Integer usuarioId){ + StringBuilder sb = new StringBuilder(""); + sb.append(" insert "); + sb.append(" into "); + sb.append(" TARIFA "); + sb.append(" ( TARIFA_ID, PRECIO, PRECIOREDABIERTO, TRAMO_ID, MARCA_ID, CLASESERVICIO_ID, PRECIOORIGINAL, MONEDA_ID, VIGENCIATARIFA_ID, STATUSTARIFA, ACTIVO, FECMODIF, USUARIO_ID, IMPORTETAXAEMBARQUE, IMPORTEPEDAGIO, IMPORTEOUTROS, IMPORTESEGURO, ORGAOCONCEDENTE_ID, RUTA_ID, ORIGEN_ID, DESTINO_ID ) select "); + sb.append(" TARIFA_SEQ.nextval, "); + sb.append(" tao.PRECIO , "); + sb.append(" tao.PRECIOREDABIERTO , "); + sb.append(" tao.TRAMO_ID , "); + sb.append(" tao.MARCA_ID , "); + sb.append(" tao.CLASESERVICIO_ID , "); + sb.append(" tao.PRECIOORIGINAL , "); + sb.append(" tao.MONEDA_ID , "); + sb.append(" v.VIGENCIATARIFA_ID , "); + sb.append(" tao.STATUSTARIFA , "); + sb.append(" tao.ACTIVO , "); + sb.append(" current_timestamp , "); + sb.append(" ").append(usuarioId).append(", "); + sb.append(" tao.IMPORTETAXAEMBARQUE , "); + sb.append(" tao.IMPORTEPEDAGIO , "); + sb.append(" tao.IMPORTEOUTROS , "); + sb.append(" tao.IMPORTESEGURO , "); + sb.append(" tao.ORGAOCONCEDENTE_ID , "); + sb.append(" tao.RUTA_ID , "); + sb.append(" tao.ORIGEN_ID , "); + sb.append(" tao.DESTINO_ID "); + sb.append(" from "); + sb.append(" TARIFA_OFICIAL tao, "); + sb.append(" VIGENCIA_TARIFA v "); + sb.append(" where "); + sb.append(" tao.ACTIVO=1 "); + sb.append(" and v.VIGENCIATARIFA_ID=").append(vigenciaTarifaId).append(" "); + sb.append(" and not (exists (select "); + sb.append(" tar.TARIFA_ID "); + sb.append(" from "); + sb.append(" TARIFA tar "); + sb.append(" where "); + sb.append(" tar.ACTIVO=1 "); + sb.append(" and tar.TRAMO_ID=tao.TRAMO_ID "); + sb.append(" and tar.MARCA_ID=tao.MARCA_ID "); + sb.append(" and tar.CLASESERVICIO_ID=tao.CLASESERVICIO_ID "); + sb.append(" and tar.MONEDA_ID=tao.MONEDA_ID "); + sb.append(" and tar.ORGAOCONCEDENTE_ID=tao.ORGAOCONCEDENTE_ID "); + sb.append(" and tar.RUTA_ID=tao.RUTA_ID "); + sb.append(" and tar.VIGENCIATARIFA_ID=").append(vigenciaTarifaId).append("))"); + + return sb.toString(); + } } \ No newline at end of file diff --git a/src/com/rjconsultores/ventaboletos/service/OrgaoConcedenteService.java b/src/com/rjconsultores/ventaboletos/service/OrgaoConcedenteService.java index d2d5acc90..945c188b9 100644 --- a/src/com/rjconsultores/ventaboletos/service/OrgaoConcedenteService.java +++ b/src/com/rjconsultores/ventaboletos/service/OrgaoConcedenteService.java @@ -15,6 +15,4 @@ public interface OrgaoConcedenteService { public OrgaoConcedente actualizacion(OrgaoConcedente entidad); - public List obtenerTodosOpTodos(); - } diff --git a/src/com/rjconsultores/ventaboletos/service/TarifaOficialService.java b/src/com/rjconsultores/ventaboletos/service/TarifaOficialService.java index 685931d3a..f9bf209cb 100644 --- a/src/com/rjconsultores/ventaboletos/service/TarifaOficialService.java +++ b/src/com/rjconsultores/ventaboletos/service/TarifaOficialService.java @@ -6,17 +6,17 @@ import com.rjconsultores.ventaboletos.entidad.VigenciaTarifa; import com.rjconsultores.ventaboletos.exception.BusinessException; -public interface TarifaOficialService extends GenericService{ +public interface TarifaOficialService { /** - * Gera as tarifas de acordo o c�lculo do coeficiente tarif�rio.
+ * Gera as tarifas de acordo o cólculo do coeficiente tarifório.
* - * 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.
* - * Obs.: Essa oper��o apenas gera tarifas que ainda n�o est�o geradas
+ * Obs.: Essa operção apenas gera tarifas que ainda nóo estóo geradas
* * @param rutaId * @param orgaoConcedenteId TODO @@ -25,29 +25,32 @@ public interface TarifaOficialService extends GenericService + * Atualiza as tarifas de acordo o cólculo do coeficiente tarifório.
* - * F�rmula: (KM * Coeficiente Tarif�rio) + * Fórmula: (KM * Coeficiente Tarifário) * - * Se o parametro ruta n�o for informado, ser� atualizado as tarifas para + * Se o parametro ruta não for informado, seró atualizado as tarifas para * todas as rutas.
* + * + * Se o parametro orgaoConcedenteId não for informado, seró atualizado as tarifas para + * todos as órgãos.
+ * * @param rutaId - * @param orgaoConcedenteId TODO + * @param orgaoConcedenteId * @return TODO */ public Integer atualizarTarifaPorCoeficiente(Integer rutaId, Integer orgaoConcedenteId); /** - * Gera as novas tarifas e atualiza as j� existentes + * Gera as novas tarifas e atualiza as ja existentes * - * Utiliza os m�todos {@link #gerarTarifaPorCoeficiente(Integer, Integer)} e {@link #atualizarTarifaPorCoeficiente(Integer, Integer)} + * Utiliza os mótodos {@link #gerarTarifaPorCoeficiente(Integer, Integer)} e {@link #atualizarTarifaPorCoeficiente(Integer, Integer)} * * @param rudaId * @param orgaoConcedenteId - * @return - Retorna o total de registros inseridos + atualizados */ - public Integer 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 @@ -58,16 +61,16 @@ public interface TarifaOficialService extends GenericService * - * Para o c�lculo, � usado a seguinte l�gica:
+ * Para o cólculo, ó usado a seguinte lógica:
* - Atualiza de acordo a tabela TAXA_EMBARQUE_PARADA por kilometragem
* - Atualiza de acordo a tabela TAXA_EMBARQUE por kilometragem
* - Atualiza de acordo a tabela TAXA_EMBARQUE_PARADA por valor fixo
* - * A sequencia acima indica a ordem de atualiza��o da taxa de embarque.
+ * A sequencia acima indica a ordem de atualizaóóo da taxa de embarque.
* - * 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 */ public void atualizarTaxaEmbarque(Integer rutaId, Integer orgaoConcedenteId); @@ -76,16 +79,16 @@ public interface TarifaOficialService extends GenericService obtenerTodos() { return orgaoConcedenteDAO.obtenerTodos(); } - public List obtenerTodosOpTodos() { - return orgaoConcedenteDAO.obtenerTodosOpTodos(); - } public OrgaoConcedente obtenerID(Integer id) { return orgaoConcedenteDAO.obtenerID(id); diff --git a/src/com/rjconsultores/ventaboletos/service/impl/TarifaOficialServiceImpl.java b/src/com/rjconsultores/ventaboletos/service/impl/TarifaOficialServiceImpl.java index 0fdb2e0f7..6d932ffd4 100644 --- a/src/com/rjconsultores/ventaboletos/service/impl/TarifaOficialServiceImpl.java +++ b/src/com/rjconsultores/ventaboletos/service/impl/TarifaOficialServiceImpl.java @@ -1,16 +1,17 @@ package com.rjconsultores.ventaboletos.service.impl; -import com.rjconsultores.ventaboletos.dao.OrgaoConcedenteDAO; -import com.rjconsultores.ventaboletos.entidad.TarifaOficial; +import java.util.ArrayList; import java.util.List; + import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import com.rjconsultores.ventaboletos.dao.OrgaoConcedenteDAO; import com.rjconsultores.ventaboletos.dao.SeguroKmDAO; import com.rjconsultores.ventaboletos.dao.SeguroTarifaDAO; import com.rjconsultores.ventaboletos.dao.TarifaOficialDAO; -import com.rjconsultores.ventaboletos.entidad.OrgaoConcedente; +import com.rjconsultores.ventaboletos.entidad.TarifaOficial; import com.rjconsultores.ventaboletos.entidad.VigenciaTarifa; import com.rjconsultores.ventaboletos.exception.BusinessException; import com.rjconsultores.ventaboletos.service.TarifaOficialService; @@ -19,127 +20,103 @@ import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado; @Service("tarifaOficialService") public class TarifaOficialServiceImpl implements TarifaOficialService { - @Autowired - private TarifaOficialDAO tarifaOficialDAO; - @Autowired - private SeguroKmDAO seguroKmDAO; - @Autowired - private SeguroTarifaDAO seguroTarifaDAO; - @Autowired - private OrgaoConcedenteDAO orgaoConcedenteDAO; + @Autowired + private TarifaOficialDAO tarifaOficialDAO; + @Autowired + private SeguroKmDAO seguroKmDAO; + @Autowired + private SeguroTarifaDAO seguroTarifaDAO; + @Autowired + private OrgaoConcedenteDAO orgaoConcedenteDAO; - @Override - @Transactional - public Integer gerarTarifaPorCoeficiente(Integer rutaId, Integer orgaoConcedenteId) { - return tarifaOficialDAO.gerarTarifaPorCoeficiente(rutaId, UsuarioLogado.getUsuarioLogado().getUsuarioId(), orgaoConcedenteId); - } + @Override + @Transactional + public Integer gerarTarifaPorCoeficiente(Integer rutaId, Integer orgaoConcedenteId) { + return tarifaOficialDAO.gerarTarifaPorCoeficiente(rutaId, UsuarioLogado.getUsuarioLogado().getUsuarioId(), orgaoConcedenteId); + } - @Override - @Transactional - public Integer atualizarTarifaPorCoeficiente(Integer rutaId, Integer orgaoConcedenteId) { - return tarifaOficialDAO.atualizarTarifaCoeficiente(rutaId, UsuarioLogado.getUsuarioLogado().getUsuarioId(), orgaoConcedenteId); - } + @Override + @Transactional + public Integer atualizarTarifaPorCoeficiente(Integer rutaId, Integer orgaoConcedenteId) { + return tarifaOficialDAO.atualizarTarifaCoeficiente(rutaId, UsuarioLogado.getUsuarioLogado().getUsuarioId(), orgaoConcedenteId); + } - @Override - @Transactional - public void copiarParaTarifa(VigenciaTarifa vigenciaTarifa) { - tarifaOficialDAO.copiarParaTarifa(vigenciaTarifa, UsuarioLogado.getUsuarioLogado().getUsuarioId()); - } + @Override + @Transactional + public void copiarParaTarifa(VigenciaTarifa vigenciaTarifa) { + tarifaOficialDAO.copiarParaTarifa(vigenciaTarifa, UsuarioLogado.getUsuarioLogado().getUsuarioId()); + } - @Override - @Transactional(rollbackFor = BusinessException.class) - public Integer gerarAtualizarTarifaPorCoeficiente(Integer rudaId, Integer orgaoConcedenteId) throws BusinessException { + @Override + @Transactional(rollbackFor = BusinessException.class) + public void gerarAtualizarTarifaPorCoeficiente(Integer rudaId, Integer orgaoConcedenteId) throws BusinessException { + // Limpando a tabela de TARIFA_OFICIAL + tarifaOficialDAO.limparTarifasOficiais(); + //Gerando as tarifas + gerarTarifaPorCoeficiente(rudaId, orgaoConcedenteId); - if (orgaoConcedenteId == null) { - throw new BusinessException("TarifaOficialServiceImpl.msg.validacion.orgaoObligatorio"); - } + } - Integer qtd = 0; - //Limpando a tabela de TARIFA_OFICIAL - tarifaOficialDAO.limparTarifasOficiais(); - if (orgaoConcedenteId == -1) { - List lsOrgaos = orgaoConcedenteDAO.obtenerTodos(); + @Override + @Transactional + public void atualizarTaxaEmbarque(Integer rutaId, Integer orgaoConcedenteId) { + tarifaOficialDAO.atualizarTaxaEmbarque(rutaId, UsuarioLogado.getUsuarioLogado().getUsuarioId(), orgaoConcedenteId); + } - for (OrgaoConcedente o : lsOrgaos) { - qtd += gerarTarifaPorCoeficiente(rudaId, o.getOrgaoConcedenteId()); - qtd += atualizarTarifaPorCoeficiente(rudaId, o.getOrgaoConcedenteId()); - } - } else { - qtd += gerarTarifaPorCoeficiente(rudaId, orgaoConcedenteId); - qtd += atualizarTarifaPorCoeficiente(rudaId, orgaoConcedenteId); - } + @Override + @Transactional(rollbackFor = BusinessException.class) + public void atualizarSeguroPorKm(Integer rutaId, Integer orgaoId) throws BusinessException { - return qtd; - } + tarifaOficialDAO.atualizarSeguroPorKm(rutaId, orgaoId, UsuarioLogado.getUsuarioLogado().getUsuarioId()); - @Override - @Transactional - public void atualizarTaxaEmbarque(Integer rutaId, Integer orgaoConcedenteId) { - tarifaOficialDAO.atualizarTaxaEmbarque(rutaId, UsuarioLogado.getUsuarioLogado().getUsuarioId(), orgaoConcedenteId); - } + } - @Override - @Transactional(rollbackFor = BusinessException.class) - public void atualizarSeguroPorKm(Integer rutaId, Integer orgaoId) throws BusinessException { + @Override + @Transactional(rollbackFor = BusinessException.class) + public void atualizarSeguroPorTarifa(Integer rutaId, Integer orgaoId) throws BusinessException { + tarifaOficialDAO.atualizarSeguroPorTarifa(rutaId, orgaoId, UsuarioLogado.getUsuarioLogado().getUsuarioId()); + } - if (orgaoId == null) { - throw new BusinessException("TarifaOficialServiceImpl.msg.validacion.orgaoObligatorio"); - } + @Override + @Transactional(rollbackFor = BusinessException.class) + public void atualizarSeguro(Integer rutaId, Integer orgaoId) throws BusinessException { - tarifaOficialDAO.atualizarSeguroPorKm(rutaId, orgaoId, UsuarioLogado.getUsuarioLogado().getUsuarioId()); + List lsOrgaoId = new ArrayList(); - } + if (orgaoId == null) { + lsOrgaoId.addAll(orgaoConcedenteDAO.obtenerTodosIds()); + } else { + lsOrgaoId.add(orgaoId); + } - @Override - @Transactional(rollbackFor = BusinessException.class) - public void atualizarSeguroPorTarifa(Integer rutaId, Integer orgaoId) throws BusinessException { - if (orgaoId == null) { - throw new BusinessException("TarifaOficialServiceImpl.msg.validacion.orgaoObligatorio"); - } + for (Integer orgaoConcedenteId : lsOrgaoId) { + if (seguroKmDAO.existe(orgaoConcedenteId)) { + atualizarSeguroPorKm(rutaId, orgaoConcedenteId); + } else if (seguroTarifaDAO.existe(orgaoConcedenteId)) { + atualizarSeguroPorTarifa(rutaId, orgaoConcedenteId); + } + } + } - tarifaOficialDAO.atualizarSeguroPorTarifa(rutaId, orgaoId, UsuarioLogado.getUsuarioLogado().getUsuarioId()); - } + @Override + @Transactional + public void aplicarArredondamentoTarifa(Integer orgaoConcedenteId) { + tarifaOficialDAO.aplicarArredondamentoTarifa(orgaoConcedenteId, UsuarioLogado.getUsuarioLogado().getUsuarioId()); + } - @Override - @Transactional(rollbackFor = BusinessException.class) - public void atualizarSeguro(Integer rutaId, Integer orgaoId) throws BusinessException { - if (orgaoId == null) { - throw new BusinessException("TarifaOficialServiceImpl.msg.validacion.orgaoObligatorio"); - } + @Override + @Transactional + public void actualizacion(TarifaOficial tarifaOficial) { + tarifaOficialDAO.actualizacion(tarifaOficial); + } - if (seguroKmDAO.existe(orgaoId)) { - atualizarSeguroPorKm(rutaId, orgaoId); - } else if (seguroTarifaDAO.existe(orgaoId)) { - atualizarSeguroPorTarifa(rutaId, orgaoId); - } - } + @Override + public TarifaOficial obtenerID(Integer tarifaOficialId) { + return tarifaOficialDAO.obtenerID(tarifaOficialId); + } - @Override - @Transactional - public void aplicarArredondamentoTarifa(Integer orgaoConcedenteId) { - tarifaOficialDAO.aplicarArredondamentoTarifa(orgaoConcedenteId, UsuarioLogado.getUsuarioLogado().getUsuarioId()); - } - - public List obtenerTodos() { - return tarifaOficialDAO.obtenerTodos(); - } - - public TarifaOficial obtenerID(Integer id) { - return tarifaOficialDAO.obtenerID(id); - } - - @Transactional - public TarifaOficial suscribir(TarifaOficial entidad) { - return tarifaOficialDAO.suscribir(entidad); - } - - @Transactional - public TarifaOficial actualizacion(TarifaOficial entidad) { - return tarifaOficialDAO.actualizacion(entidad); - } - - @Transactional - public void borrar(TarifaOficial entidad) { - tarifaOficialDAO.borrar(entidad); - } + @Override + public void borrar(TarifaOficial tarifaOficial) { + tarifaOficialDAO.borrar(tarifaOficial); + } }