git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Model/trunk/modelWeb@21896 d1611594-4594-4d17-8e1d-87c2c4800839
parent
c77eeef053
commit
ab71f5c481
|
@ -10,5 +10,6 @@ public interface OrgaoConcedenteDAO extends GenericDAO<OrgaoConcedente, Integer>
|
|||
|
||||
public List<OrgaoConcedente> obtenerTodos();
|
||||
|
||||
public List<OrgaoConcedente> obtenerTodosOpTodos();
|
||||
public List<Integer> obtenerTodosIds() ;
|
||||
|
||||
}
|
||||
|
|
|
@ -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();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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();
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
|
||||
}
|
||||
|
|
|
@ -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();
|
||||
}
|
||||
|
||||
}
|
|
@ -15,6 +15,4 @@ public interface OrgaoConcedenteService {
|
|||
|
||||
public OrgaoConcedente actualizacion(OrgaoConcedente entidad);
|
||||
|
||||
public List<OrgaoConcedente> obtenerTodosOpTodos();
|
||||
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue