gleimar 2012-09-28 20:41:45 +00:00
parent c77eeef053
commit ab71f5c481
9 changed files with 263 additions and 248 deletions

View File

@ -10,5 +10,6 @@ public interface OrgaoConcedenteDAO extends GenericDAO<OrgaoConcedente, Integer>
public List<OrgaoConcedente> obtenerTodos();
public List<OrgaoConcedente> obtenerTodosOpTodos();
public List<Integer> obtenerTodosIds() ;
}

View File

@ -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<OrgaoConcedente, Integer>
implements OrgaoConcedenteDAO {
public class OrgaoConcedenteHibernateDAO extends GenericHibernateDAO<OrgaoConcedente, Integer> implements OrgaoConcedenteDAO {
@Autowired
public OrgaoConcedenteHibernateDAO(@Qualifier("sessionFactory") SessionFactory factory) {
@ -27,12 +28,21 @@ public class OrgaoConcedenteHibernateDAO extends GenericHibernateDAO<OrgaoConced
public List<OrgaoConcedente> 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<Integer> obtenerTodosIds() {
Criteria c = getSession().createCriteria(getPersistentClass());
c.add(Restrictions.eq("activo", Boolean.TRUE));
c.setProjection(Projections.property("orgaoConcedenteId"));
return c.list();
}
@SuppressWarnings("unchecked")
@Override
public List<OrgaoConcedente> buscar(String desc) {
@ -42,13 +52,4 @@ public class OrgaoConcedenteHibernateDAO extends GenericHibernateDAO<OrgaoConced
return c.list();
}
public List<OrgaoConcedente> obtenerTodosOpTodos() {
Criteria c = getSession().createCriteria(getPersistentClass());
c.add(Restrictions.eq("activo", Boolean.TRUE));
c.addOrder(Order.asc("descOrgao"));
return c.list();
}
}

View File

@ -15,114 +15,61 @@ import com.rjconsultores.ventaboletos.entidad.VigenciaTarifa;
@Repository("tarifaOficialDAO")
public class TarifaOficialHibernateDAO extends GenericHibernateDAO<TarifaOficial, Integer> 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<TarifaOficial
sql.append(" tao.activo = true , ");
sql.append(" tao.fecmodif= CURRENT_TIMESTAMP(), ");
sql.append(" tao.usuarioId =:usuarioId ");
sql.append(" WHERE tao.orgaoConcedente.orgaoConcedenteId = :orgao ");
if (orgaoConcedenteId != null) {
sql.append(" WHERE tao.orgaoConcedente.orgaoConcedenteId = :orgao ");
}
Query query = getSession().createQuery(sql.toString());
query.setParameter("orgao", orgaoConcedenteId);
if (orgaoConcedenteId != null) {
query.setParameter("orgao", orgaoConcedenteId);
}
query.setParameter("usuarioId", usuarioId);
query.executeUpdate();
}

View File

@ -28,5 +28,8 @@ public interface SQLBuilder {
public String getSQLAtualizarSeguroPorTarifa(Integer rutaId, Integer usuarioId, Integer orgaoConcedenteId);
public String getSQLAtualizarTarifaPorTarifaOfical(Integer vigenciaTarifaId,Integer usuarioId);
public String getSQLInserirTarifaPelaTarifaOficial(Integer vigenciaTarifaId, Integer usuarioId);
}

View File

@ -66,8 +66,8 @@ public class SQLBuilderOracle implements SQLBuilder {
sb.append("from ");
sb.append(" ruta_combinacion rc ");
sb.append(" inner join ruta r on r.ruta_id = rc.ruta_id ");
//sb.append(" inner join ruta_empresa re on r.ruta_id = re.ruta_id ");
//sb.append(" inner join marca on marca.empresa_id = re.empresa_id ");
sb.append(" inner join ruta_empresa re on r.ruta_id = re.ruta_id ");
sb.append(" inner join marca ma on ma.empresa_id = re.empresa_id ");
sb.append(" inner join orgao_tramo tc on tc.tramo_id = rc.tramo_id and tc.CLASESERVICIO_ID = r.CLASESERVICIO_ID and tc.activo =1 ");
sb.append(" inner join orgao_concedente oc on oc.orgaoconcedente_id = tc.orgaoconcedente_id and oc.orgaoconcedente_id =r.orgaoconcedente_id ");
sb.append(" inner join coeficiente_tarifa ct1 on ct1.coeficientetarifa_id = tc.coeficientetarifa1_id ");
@ -78,20 +78,19 @@ public class SQLBuilderOracle implements SQLBuilder {
sb.append(" inner join parada pd on pd.parada_id = t.destino_id ");
sb.append(" inner join ciudad c on c.ciudad_id = po.ciudad_id ");
sb.append(" inner join estado e on e.estado_id = c.estado_id ");
sb.append(" inner join MARCA_CLASESERVICIO mc on mc.CLASESERVICIO_ID = r.CLASESERVICIO_ID, ");
sb.append(" inner join MARCA_CLASESERVICIO mc on mc.CLASESERVICIO_ID = r.CLASESERVICIO_ID and ma.marca_id = mc.marca_id, ");
sb.append(" moneda m ");
sb.append(" ");
sb.append("where ");
sb.append(" rc.activo = 1 ");
if (codRuta != null) {
sb.append(" and r.ruta_id = ").append(codRuta);
sb.append(" and mc.marca_id in (select marca_id from marca m inner join ruta_empresa re on re.empresa_id = m.empresa_id where re.activo = 1 and m.activo = 1 and re.ruta_id = ").append(codRuta).append(" )");
}
sb.append(" and r.activo = 1 ");
sb.append(" and tc.activo = 1 ");
sb.append(" and mc.marca_id <> -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();
}
@ -369,4 +367,83 @@ 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();
}
}

View File

@ -15,6 +15,4 @@ public interface OrgaoConcedenteService {
public OrgaoConcedente actualizacion(OrgaoConcedente entidad);
public List<OrgaoConcedente> obtenerTodosOpTodos();
}

View File

@ -6,17 +6,17 @@ import com.rjconsultores.ventaboletos.entidad.VigenciaTarifa;
import com.rjconsultores.ventaboletos.exception.BusinessException;
public interface TarifaOficialService extends GenericService<TarifaOficial, Integer>{
public interface TarifaOficialService {
/**
* Gera as tarifas de acordo o c<EFBFBD>lculo do coeficiente tarif<EFBFBD>rio.<br/>
* Gera as tarifas de acordo o cólculo do coeficiente tarifório.<br/>
*
* F<EFBFBD>rmula: (KM * Coeficiente Tarif<EFBFBD>rio)
* Fórmula: (KM * Coeficiente Tarifório)
*
* Se o parametro ruta n<EFBFBD>o for informado, ser<EFBFBD> gerado tarifas para todas as
* Se o parametro ruta nóo for informado, seró gerado tarifas para todas as
* rutas. <br/>
*
* Obs.: Essa oper<EFBFBD><EFBFBD>o apenas gera tarifas que ainda n<EFBFBD>o est<EFBFBD>o geradas<br/>
* Obs.: Essa operção apenas gera tarifas que ainda nóo estóo geradas<br/>
*
* @param rutaId
* @param orgaoConcedenteId TODO
@ -25,29 +25,32 @@ public interface TarifaOficialService extends GenericService<TarifaOficial, Inte
public Integer gerarTarifaPorCoeficiente(Integer rutaId, Integer orgaoConcedenteId);
/**
* Atualiza as tarifas de acordo o c<EFBFBD>lculo do coeficiente tarif<EFBFBD>rio.<br/>
* Atualiza as tarifas de acordo o cólculo do coeficiente tarifório.<br/>
*
* F<EFBFBD>rmula: (KM * Coeficiente Tarif<EFBFBD>rio)
* Fórmula: (KM * Coeficiente Tarifário)
*
* Se o parametro ruta n<EFBFBD>o for informado, ser<EFBFBD> atualizado as tarifas para
* 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 TODO
* @param orgaoConcedenteId
* @return TODO
*/
public Integer atualizarTarifaPorCoeficiente(Integer rutaId, Integer orgaoConcedenteId);
/**
* Gera as novas tarifas e atualiza as j<EFBFBD> existentes
* Gera as novas tarifas e atualiza as ja existentes
*
* Utiliza os m<EFBFBD>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<TarifaOficial, Inte
/**
* Atualiza a taxa de embarque da entidade TarifaOficial.<br/>
*
* Para o c<EFBFBD>lculo, <EFBFBD> usado a seguinte l<EFBFBD>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 por kilometragem<br/>
* - Atualiza de acordo a tabela TAXA_EMBARQUE_PARADA por valor fixo<br/>
*
* A sequencia acima indica a ordem de atualiza<EFBFBD><EFBFBD>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 <EFBFBD>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<EFBFBD> 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<TarifaOficial, Inte
/**
* Atualiza o seguro de acordo a kilometragem do trecho
*
* @param rutaId - Se informado, ser<EFBFBD> filtrado pela ruta
* @param orgaoId -Campo obrigat<EFBFBD>rio
* @param rutaId - Se informado, seró filtrado pela ruta
* @param orgaoId -Campo obrigatório
*/
public void atualizarSeguroPorKm(Integer rutaId,Integer orgaoId) throws BusinessException;
/**
* Atualiza o seguro de acordo o valor da tarifa
*
* @param rutaId - Se informado, ser<EFBFBD> filtrado pela ruta
* @param orgaoId -Campo obrigat<EFBFBD>rio
* @param rutaId - Se informado, seró filtrado pela ruta
* @param orgaoId -Campo obrigatório
*
*/
public void atualizarSeguroPorTarifa(Integer rutaId, Integer orgaoId) throws BusinessException;
@ -106,4 +109,10 @@ public interface TarifaOficialService extends GenericService<TarifaOficial, Inte
*/
public void aplicarArredondamentoTarifa(Integer orgaoConcedenteId) ;
public void actualizacion(TarifaOficial tarifaOficial);
public TarifaOficial obtenerID(Integer tarifaOficialId);
public void borrar(TarifaOficial tarifaOficial);
}

View File

@ -21,9 +21,6 @@ public class OrgaoConcedenteServiceImpl implements OrgaoConcedenteService {
public List<OrgaoConcedente> obtenerTodos() {
return orgaoConcedenteDAO.obtenerTodos();
}
public List<OrgaoConcedente> obtenerTodosOpTodos() {
return orgaoConcedenteDAO.obtenerTodosOpTodos();
}
public OrgaoConcedente obtenerID(Integer id) {
return orgaoConcedenteDAO.obtenerID(id);

View File

@ -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<OrgaoConcedente> 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<Integer> lsOrgaoId = new ArrayList<Integer>();
}
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<TarifaOficial> 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);
}
}