fixes bug#al-1091

qua:
dev:Wallace

git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Model/trunk/modelWeb@114042 d1611594-4594-4d17-8e1d-87c2c4800839
master
aristides 2022-09-01 18:31:24 +00:00
parent e3e7a3fa18
commit e869ad6236
18 changed files with 258 additions and 98 deletions

View File

@ -6,9 +6,9 @@ import com.rjconsultores.ventaboletos.entidad.OrgaoConcedente;
import com.rjconsultores.ventaboletos.entidad.Ruta; import com.rjconsultores.ventaboletos.entidad.Ruta;
public interface CalcularPeajeDAO { public interface CalcularPeajeDAO {
public List<Object> buscarCasetasPeajeWithinTramo(Ruta ruta); public List<Object> buscarCasetasPeajeWithinTramo(Ruta ruta,Integer[] listCasetaPeaje);
public int[] gerarSQLInserirPeajes(List<Ruta> lsRuta, OrgaoConcedente orgao, boolean usaICMS) throws Exception; public int[] gerarSQLInserirPeajes(List<Ruta> lsRuta, OrgaoConcedente orgao, boolean usaICMS,Integer[] listCasetaPeaje) throws Exception;
public List<Ruta> buscarRutaWithCasetaPeajeFromOrgao(OrgaoConcedente oc); public List<Ruta> buscarRutaWithCasetaPeajeFromOrgao(OrgaoConcedente oc);
} }

View File

@ -63,4 +63,6 @@ public interface ParadaDAO {
public List<Parada> buscarDestinosPorOrigem(Integer origemId); public List<Parada> buscarDestinosPorOrigem(Integer origemId);
public List<Parada> obtenerOrigenPorListRutaIds(Integer orgaoConcendenteId, Integer empresaId,Integer[] listRuta);
} }

View File

@ -65,11 +65,16 @@ public interface RutaDAO extends GenericDAO<Ruta, Integer> {
public List<Ruta> buscarPorRutaPorEmpresas(List<Empresa> lsEmpresas); public List<Ruta> buscarPorRutaPorEmpresas(List<Empresa> lsEmpresas);
public List<Ruta> buscarRutasPorEmpresaOrgaoConcedente(Empresa empresa, OrgaoConcedente orgao); public List<Ruta> buscarRutasPorEmpresaOrgaoConcedente(Empresa empresa, OrgaoConcedente orgao);
public List<Ruta> buscarRutasPorEmpresaOrgaoConcedenteParadaIds(Empresa empresa, OrgaoConcedente orgao, Integer[] lsParadaIds) ;
public void updateAsientosVendibles(Ruta ruta, Tramo viejoTramo, Tramo nuevoTramo); public void updateAsientosVendibles(Ruta ruta, Tramo viejoTramo, Tramo nuevoTramo);
public List<Ruta> buscarRutasVendaEmbarcada(List<Integer> empresasIds, Integer rutaId, String numeroLinha, String descRuta, ClaseServicio classe); public List<Ruta> buscarRutasVendaEmbarcada(List<Integer> empresasIds, Integer rutaId, String numeroLinha, String descRuta, ClaseServicio classe);
public List<Ruta> buscaLikeComboBox(String stringConsulta); public List<Ruta> buscaLikeComboBox(String stringConsulta);
public List<Ruta> buscarPorIds(Integer[] rutaIds);
public List<Ruta> buscarPorOrgaoEcasetaPeaje(OrgaoConcedente orgao, Integer[] listCasetaPeaje);
} }

View File

@ -27,7 +27,7 @@ public interface TarifaOficialDAO extends GenericDAO<TarifaOficial, Integer> {
public Integer gerarTarifaArtesp(Integer ruta, Integer usuarioId, Integer orgaoConcedenteId, List<Integer> idsEmpresas); public Integer gerarTarifaArtesp(Integer ruta, Integer usuarioId, Integer orgaoConcedenteId, List<Integer> idsEmpresas);
public Integer gerarTabelaZerada(Integer ruta, Integer usuarioId, Integer orgaoConcedenteId, List<Integer> idsEmpresas); public Integer gerarTabelaZerada(Integer ruta, Integer usuarioId, Integer orgaoConcedenteId, List<Integer> idsEmpresas,List<Integer>lsParadaId);
/** /**
* See {@link TarifaOficialService#atualizarTarifaPorCoeficiente(Integer, Integer)} * See {@link TarifaOficialService#atualizarTarifaPorCoeficiente(Integer, Integer)}
@ -57,7 +57,7 @@ public interface TarifaOficialDAO extends GenericDAO<TarifaOficial, Integer> {
* @param orgaoConcedenteId TODO * @param orgaoConcedenteId TODO
* @param empresaId TODO * @param empresaId TODO
*/ */
public void atualizarTaxaEmbarque(List<Ruta> lsRuta, Integer usuarioId, Integer orgaoConcedenteId, List<Integer> idsEmpresas); public void atualizarTaxaEmbarque(List<Ruta> lsRuta, Integer usuarioId, Integer orgaoConcedenteId, List<Integer> idsEmpresas,List<Integer> lsParadaIds);
/** /**
* See {@link TarifaOficialService#atualizarSeguroPorKm(Integer, Integer, Integer)} * See {@link TarifaOficialService#atualizarSeguroPorKm(Integer, Integer, Integer)}

View File

@ -16,6 +16,7 @@ import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.Set; import java.util.Set;
import org.apache.commons.lang.StringUtils;
import org.apache.log4j.Logger; import org.apache.log4j.Logger;
import org.hibernate.Query; import org.hibernate.Query;
import org.hibernate.SessionFactory; import org.hibernate.SessionFactory;
@ -85,7 +86,7 @@ public class CalcularPeajeHibernateDAO extends GenericHibernateDAO<String, Strin
} }
@Override @Override
public List<Object> buscarCasetasPeajeWithinTramo(Ruta ruta) { public List<Object> buscarCasetasPeajeWithinTramo(Ruta ruta, Integer[] listCasetaPeaje) {
StringBuilder sql = new StringBuilder() StringBuilder sql = new StringBuilder()
.append("with tramo_tmp as ( ") .append("with tramo_tmp as ( ")
.append(" select t.origen_id as orig, t.destino_id as dest, t.tramo_id as tra, ") .append(" select t.origen_id as orig, t.destino_id as dest, t.tramo_id as tra, ")
@ -132,8 +133,12 @@ public class CalcularPeajeHibernateDAO extends GenericHibernateDAO<String, Strin
.append(" inner join ruta_secuencia rseq2 on rseq2.tramo_id = rseq1.tramo_id ") .append(" inner join ruta_secuencia rseq2 on rseq2.tramo_id = rseq1.tramo_id ")
.append(" inner join tramo tra on tra.tramo_id = rseq1.tramo_id and rseq1.ruta_id = :rutaId ") .append(" inner join tramo tra on tra.tramo_id = rseq1.tramo_id and rseq1.ruta_id = :rutaId ")
.append(" inner join caseta_peaje casp on casp.casetapeaje_id = rcas.casetapeaje_id ") .append(" inner join caseta_peaje casp on casp.casetapeaje_id = rcas.casetapeaje_id ")
.append(" where rcas.activo =1 and rseq1.activo =1 and rseq2.activo =1 and tra.activo =1 and casp.activo =1 ") .append(" where rcas.activo =1 and rseq1.activo =1 and rseq2.activo =1 and tra.activo =1 and casp.activo =1 ");
.append(") ") if(null!=listCasetaPeaje) {
sql.append( "and casp.casetapeaje_id in (" + StringUtils.join(listCasetaPeaje,",") + ") ");
}
sql.append(") ")
.append("select distinct origen_tramo_inicial_seq, destino_tramo_final_seq, tramo_orig, tramo_dest, tracomb, ttorig, ttdest, ") .append("select distinct origen_tramo_inicial_seq, destino_tramo_final_seq, tramo_orig, tramo_dest, tracomb, ttorig, ttdest, ")
.append(" tracombdesc, tracomborig, tracombdest, tracombvia, tracombcantkm, tracombcantkmpago, tracombactivo, ") .append(" tracombdesc, tracomborig, tracombdest, tracombvia, tracombcantkm, tracombcantkmpago, tracombactivo, ")
.append(" tracombfecmodif, tracombusuario, rutacasetaid, rutasecuenciaid, casetapeaje_id, tramoid, casetapeajeid, ") .append(" tracombfecmodif, tracombusuario, rutacasetaid, rutasecuenciaid, casetapeaje_id, tramoid, casetapeajeid, ")
@ -146,13 +151,14 @@ public class CalcularPeajeHibernateDAO extends GenericHibernateDAO<String, Strin
query.setInteger("rutaId", ruta.getRutaId()); query.setInteger("rutaId", ruta.getRutaId());
query.setInteger("rutaId", ruta.getRutaId()); query.setInteger("rutaId", ruta.getRutaId());
query.setInteger("rutaId", ruta.getRutaId()); query.setInteger("rutaId", ruta.getRutaId());
query.setInteger("rutaId", ruta.getRutaId()); query.setInteger("rutaId", ruta.getRutaId());
return query.list(); return query.list();
} }
// pra cada ruta obter as combinacoes de tramos, cada tramo com sua lista de casetaPeaje // pra cada ruta obter as combinacoes de tramos, cada tramo com sua lista de casetaPeaje
public int[] gerarSQLInserirPeajes(List<Ruta> lsRuta, OrgaoConcedente orgao, boolean usaICMS) throws Exception { public int[] gerarSQLInserirPeajes(List<Ruta> lsRuta, OrgaoConcedente orgao, boolean usaICMS,Integer[] listCasetaPeaje) throws Exception {
boolean isOrgaoNull = orgao == null; boolean isOrgaoNull = orgao == null;
List<String> updates = new ArrayList<String>(); List<String> updates = new ArrayList<String>();
Set<PeajeVO> peajes = new HashSet<CalcularPeajeHibernateDAO.PeajeVO>(); Set<PeajeVO> peajes = new HashSet<CalcularPeajeHibernateDAO.PeajeVO>();
@ -171,7 +177,7 @@ public class CalcularPeajeHibernateDAO extends GenericHibernateDAO<String, Strin
log.info("****** Linha "+(++z)+" de "+lsRuta.size()+" ******"); log.info("****** Linha "+(++z)+" de "+lsRuta.size()+" ******");
log.info("****** LINHA : "+ruta.toString()+" ******"); log.info("****** LINHA : "+ruta.toString()+" ******");
List<Object> lsObj = buscarCasetasPeajeWithinTramo(ruta); List<Object> lsObj = buscarCasetasPeajeWithinTramo(ruta,listCasetaPeaje);
log.info("****** QTD COMBINAÇÕES DE TRECHOS x QTD PEDAGIOS POR TRECHO: "+lsObj.size()+" ******"); log.info("****** QTD COMBINAÇÕES DE TRECHOS x QTD PEDAGIOS POR TRECHO: "+lsObj.size()+" ******");
if(isOrgaoNull){ if(isOrgaoNull){

View File

@ -128,6 +128,41 @@ public class ParadaHibernateDAO extends GenericHibernateDAO<Parada, Integer> imp
return c.list(); return c.list();
} }
@Override
public List<Parada> obtenerOrigenPorListRutaIds(Integer orgaoConcendenteId, Integer empresaId,Integer[] listRuta) {
Criteria c = getSession().createCriteria(getPersistentClass());
Criteria criteriaTramo =c.createCriteria("tramoOrigemList");
criteriaTramo.add(Restrictions.eq("activo", Boolean.TRUE));
Criteria criteriaRutaCombinacionList =criteriaTramo.createCriteria("rutaCombinacionList");
criteriaRutaCombinacionList.add(Restrictions.eq("activo", Boolean.TRUE));
Criteria criteriaRuta = criteriaRutaCombinacionList.createCriteria("ruta");
criteriaRuta.add(Restrictions.eq("activo", Boolean.TRUE));
if(null!=orgaoConcendenteId) {
Criteria criteriaOrgaoConcendente = criteriaRuta.createCriteria("orgaoConcedente");
criteriaOrgaoConcendente.add(Restrictions.eq("orgaoConcendenteID", orgaoConcendenteId));
criteriaOrgaoConcendente.add(Restrictions.eq("activo", Boolean.TRUE));
}
if(null!=empresaId) {
Criteria criteriaRutaEmpresa = criteriaRuta.createCriteria("lsRutaEmpresa");
criteriaRutaEmpresa.add(Restrictions.eq("empresaId", empresaId));
criteriaRutaEmpresa.add(Restrictions.eq("activo", Boolean.TRUE));
}
c.add(Restrictions.eq("activo", Boolean.TRUE));
if(null!=listRuta) {
criteriaRuta.add(Restrictions.in("rutaId", listRuta));
}
c.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY);
return c.list();
}
@Override @Override
public List<Parada> obterPossiveisDestinos(Parada origem) { public List<Parada> obterPossiveisDestinos(Parada origem) {

View File

@ -287,6 +287,33 @@ public class RutaHibernateDAO extends GenericHibernateDAO<Ruta, Integer> impleme
return c.list(); return c.list();
} }
@Override
public List<Ruta> buscarRutasPorEmpresaOrgaoConcedenteParadaIds(Empresa empresa, OrgaoConcedente orgao, Integer[] lsParadaIds) {
Criteria c = getSession().createCriteria(getPersistentClass());
c.add(Restrictions.eq("activo", Boolean.TRUE));
c.add(Restrictions.ne("rutaId", -1));
if (empresa != null && empresa.getEmpresaId() != -1) {
c.createCriteria("lsRutaEmpresa").add(Restrictions.eq("empresa", empresa));
}
if (orgao != null && orgao.getOrgaoConcedenteId() != -1) {
c.add(Restrictions.eq("orgaoConcedente", orgao));
}
Criteria rutaCombinacionList = c.createCriteria("rutaCombinacionList");
rutaCombinacionList.add(Restrictions.eq("activo", Boolean.TRUE));
Criteria tramo = rutaCombinacionList.createCriteria("tramo");
tramo.add(Restrictions.eq("activo", Boolean.TRUE));
Criteria parada = tramo.createCriteria("origem");
parada.add(Restrictions.in("paradaId", lsParadaIds));
c.addOrder(Order.asc("descruta"));
c.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY);
return c.list();
}
@Override @Override
public void updateAsientosVendibles(Ruta ruta, Tramo viejoTramo, Tramo nuevoTramo) { public void updateAsientosVendibles(Ruta ruta, Tramo viejoTramo, Tramo nuevoTramo) {
@ -434,4 +461,34 @@ public class RutaHibernateDAO extends GenericHibernateDAO<Ruta, Integer> impleme
return c.list(); return c.list();
} }
@Override
public List<Ruta> buscarPorIds(Integer[] rutaIds) {
Criteria c = this.makeCriteria();
c.add(Restrictions.in("rutaId", rutaIds));
return c.list();
}
@Override
public List<Ruta> buscarPorOrgaoEcasetaPeaje(OrgaoConcedente orgao, Integer[] listCasetaPeaje){
Criteria c = getSession().createCriteria(getPersistentClass());
c.add(Restrictions.eq("activo", Boolean.TRUE));
c.add(Restrictions.eq("indRutaCancelada", Boolean.FALSE));
Criteria criteriaRutaSecuencia = c.createCriteria("rutaSecuenciaList","secuencia");
criteriaRutaSecuencia.add(Restrictions.eq("secuencia.activo", Boolean.TRUE));
Criteria criteriaRutaCaseta = criteriaRutaSecuencia.createCriteria("lsRutaCase");
criteriaRutaCaseta.add(Restrictions.eq("activo", Boolean.TRUE));
Criteria criteriaCasetaPeaje=criteriaRutaCaseta.createCriteria("casetaPeaje");
criteriaCasetaPeaje.add(Restrictions.in("casetaPeajeId", listCasetaPeaje));
if(orgao!=null) {
Criteria crietriaOrgaoConcendente = c.createCriteria("orgaoConcedente");
crietriaOrgaoConcendente.add(Restrictions.eq("activo", Boolean.TRUE));
crietriaOrgaoConcendente.add(Restrictions.eq("orgaoConcedenteId", orgao.getOrgaoConcedenteId()));
}
c.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY);
return c.list();
}
} }

View File

@ -67,9 +67,9 @@ public class TarifaOficialHibernateDAO extends GenericHibernateDAO<TarifaOficial
} }
@Override @Override
public Integer gerarTabelaZerada(Integer rutaId, Integer usuarioId, Integer orgaoConcedenteId, List<Integer> idsEmpresas) { public Integer gerarTabelaZerada(Integer rutaId, Integer usuarioId, Integer orgaoConcedenteId, List<Integer> idsEmpresas,List<Integer>lsParadaId) {
String sql = sqlBuilder.getSQLGerarTabelaZerada(rutaId, usuarioId, orgaoConcedenteId, idsEmpresas); String sql = sqlBuilder.getSQLGerarTabelaZerada(rutaId, usuarioId, orgaoConcedenteId, idsEmpresas,lsParadaId);
int qtd = getSession().createSQLQuery(sql).executeUpdate(); int qtd = getSession().createSQLQuery(sql).executeUpdate();
@ -210,7 +210,7 @@ public class TarifaOficialHibernateDAO extends GenericHibernateDAO<TarifaOficial
} }
@Override @Override
public void atualizarTaxaEmbarque(List<Ruta> lsRuta, Integer usuarioId, Integer orgaoConcedenteId, List<Integer> idsEmpresas) { public void atualizarTaxaEmbarque(List<Ruta> lsRuta, Integer usuarioId, Integer orgaoConcedenteId, List<Integer> idsEmpresas,List<Integer> lsParadaIds) {
int x = 0; int x = 0;
@ -226,15 +226,15 @@ public class TarifaOficialHibernateDAO extends GenericHibernateDAO<TarifaOficial
} }
// Atualizo a taxa de embarque de acordo a parada e km // Atualizo a taxa de embarque de acordo a parada e km
SQLQuery query = getSession().createSQLQuery(sqlBuilder.getAtualizarTaxaEmbarquePorKmParada(rutaId, usuarioId, orgaoConcedenteId, idsEmpresas)); SQLQuery query = getSession().createSQLQuery(sqlBuilder.getAtualizarTaxaEmbarquePorKmParada(rutaId, usuarioId, orgaoConcedenteId, idsEmpresas,lsParadaIds));
query.executeUpdate(); query.executeUpdate();
// Atualizo a taxa de embarque de acordo a km do orgao // Atualizo a taxa de embarque de acordo a km do orgao
query = getSession().createSQLQuery(sqlBuilder.getSQLAtualizarTaxaEmbarquePorKmOrgao(rutaId, usuarioId, orgaoConcedenteId, idsEmpresas)); query = getSession().createSQLQuery(sqlBuilder.getSQLAtualizarTaxaEmbarquePorKmOrgao(rutaId, usuarioId, orgaoConcedenteId, idsEmpresas,lsParadaIds));
query.executeUpdate(); query.executeUpdate();
// Atualizo a taxa de embarque de acordo a parada e valor fixo // Atualizo a taxa de embarque de acordo a parada e valor fixo
query = getSession().createSQLQuery(sqlBuilder.getSQLAtualizarTaxaEmbarquePorParadaFixo(rutaId, usuarioId, orgaoConcedenteId, idsEmpresas)); query = getSession().createSQLQuery(sqlBuilder.getSQLAtualizarTaxaEmbarquePorParadaFixo(rutaId, usuarioId, orgaoConcedenteId, idsEmpresas,lsParadaIds));
query.executeUpdate(); query.executeUpdate();
x--; x--;
} while (x > 0); } while (x > 0);

View File

@ -23,18 +23,18 @@ public interface SQLBuilder {
public String getSQLGerarTarifaOficial(Integer codRuta, Integer usuarioId, OrgaoConcedente orgaoConcedente, List<Integer> idsEmpresas); public String getSQLGerarTarifaOficial(Integer codRuta, Integer usuarioId, OrgaoConcedente orgaoConcedente, List<Integer> idsEmpresas);
public String getSQLGerarTabelaZerada(Integer codRuta, Integer usuarioId, Integer orgaoConcedenteId, List<Integer> idsEmpresas); public String getSQLGerarTabelaZerada(Integer codRuta, Integer usuarioId, Integer orgaoConcedenteId, List<Integer> idsEmpresas, List<Integer> lsParadaId);
public String getSQLAtualizarTarifaOficial(Integer rutaId, Integer usuarioId, OrgaoConcedente orgaoConcedente); public String getSQLAtualizarTarifaOficial(Integer rutaId, Integer usuarioId, OrgaoConcedente orgaoConcedente);
public String getSQLGerarTarifaOficialArtesp(Integer codRuta, Integer usuarioId, public String getSQLGerarTarifaOficialArtesp(Integer codRuta, Integer usuarioId,
Integer orgaoConcedenteId, List<Integer> idsEmpresas); Integer orgaoConcedenteId, List<Integer> idsEmpresas);
public String getAtualizarTaxaEmbarquePorKmParada(Integer rutaId, Integer usuarioId, Integer orgaoConcedenteId, List<Integer> idsEmpresas); public String getAtualizarTaxaEmbarquePorKmParada(Integer rutaId, Integer usuarioId, Integer orgaoConcedenteId, List<Integer> idsEmpresas,List<Integer>lsParadaIds);
public String getSQLAtualizarTaxaEmbarquePorKmOrgao(Integer rutaId, Integer usuarioId, Integer orgaoConcedenteId, List<Integer> idsEmpresas); public String getSQLAtualizarTaxaEmbarquePorKmOrgao(Integer rutaId, Integer usuarioId, Integer orgaoConcedenteId, List<Integer> idsEmpresas, List<Integer> lsParadaIds);
public String getSQLAtualizarTaxaEmbarquePorParadaFixo(Integer rutaId, Integer usuarioId,Integer orgaoConcedenteId, List<Integer> idsEmpresas); public String getSQLAtualizarTaxaEmbarquePorParadaFixo(Integer rutaId, Integer usuarioId,Integer orgaoConcedenteId, List<Integer> idsEmpresas,List<Integer> lsParadaIds);
public String getSQLAtualizarSeguroPorKm(Integer rutaId, Integer usuarioId, Integer orgaoConcedenteId, TipoSeguro tipoSeguro); public String getSQLAtualizarSeguroPorKm(Integer rutaId, Integer usuarioId, Integer orgaoConcedenteId, TipoSeguro tipoSeguro);

View File

@ -24,7 +24,7 @@ public class SQLBuilderOracle implements SQLBuilder {
private static final Integer DER_PR = 2; private static final Integer DER_PR = 2;
@Override @Override
public String getSQLGerarTabelaZerada(final Integer codRuta, final Integer usuarioId,final Integer orgaoConcedenteId, final List<Integer> idsEmpresas){ public String getSQLGerarTabelaZerada(final Integer codRuta, final Integer usuarioId, final Integer orgaoConcedenteId, final List<Integer> idsEmpresas, List<Integer> lsParadaId) {
StringBuilder sb = new StringBuilder(); StringBuilder sb = new StringBuilder();
sb.append("INSERT "); sb.append("INSERT ");
@ -102,7 +102,7 @@ public class SQLBuilderOracle implements SQLBuilder {
sb.append(" and mc.activo = 1 "); sb.append(" and mc.activo = 1 ");
sb.append(" and re.activo = 1 "); sb.append(" and re.activo = 1 ");
if (idsEmpresas != null) { if (idsEmpresas != null) {
sb.append(" and re.empresa_id in ( ").append(idsEmpresas.toString().substring(1, idsEmpresas.toString().length()-1)).append(" ) "); sb.append(" and re.empresa_id in ( ").append(idsEmpresas.toString().substring(1, idsEmpresas.toString().length() - 1)).append(" ) ");
} }
sb.append(" and m.moneda_id = 1 "); sb.append(" and m.moneda_id = 1 ");
if (orgaoConcedenteId != null) { if (orgaoConcedenteId != null) {
@ -117,14 +117,16 @@ public class SQLBuilderOracle implements SQLBuilder {
sb.append(" not in (select tao.tramo_id,tao.marca_id,tao.CLASESERVICIO_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(" tao.moneda_id,tao.orgaoconcedente_id, tao.ruta_id ");
sb.append(" from tarifa_oficial tao where tao.activo = 1) "); sb.append(" from tarifa_oficial tao where tao.activo = 1) ");
if (null != lsParadaId) {
sb.append(" and t.origen_id in (").append(lsParadaId.toString().substring(1, lsParadaId.toString().length() - 1)).append(" ) ");
}
return sb.toString(); return sb.toString();
} }
@Override @Override
public String getSQLGerarTarifaOficialArtesp(final Integer codRuta, final Integer usuarioId, public String getSQLGerarTarifaOficialArtesp(final Integer codRuta, final Integer usuarioId,
final Integer orgaoConcedenteId, final List<Integer> idsEmpresas) final Integer orgaoConcedenteId, final List<Integer> idsEmpresas) {
{
StringBuilder sb = new StringBuilder(); StringBuilder sb = new StringBuilder();
sb.append(" INSERT "); sb.append(" INSERT ");
sb.append(" INTO "); sb.append(" INTO ");
@ -201,7 +203,7 @@ public class SQLBuilderOracle implements SQLBuilder {
sb.append(" inner join ruta_empresa re on r.ruta_id = re.ruta_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 marca ma on ma.empresa_id = re.empresa_id ");
sb.append(" inner join orgao_concedente oc on oc.orgaoconcedente_id =r.orgaoconcedente_id "); sb.append(" inner join orgao_concedente oc on oc.orgaoconcedente_id =r.orgaoconcedente_id ");
sb.append(" inner join tramo t on t.tramo_id = rc.tramo_id and t.activo =1");//adicionei isso t.activo =1"); sb.append(" inner join tramo t on t.tramo_id = rc.tramo_id and t.activo =1");// adicionei isso t.activo =1");
sb.append(" inner join parada po on po.parada_id = t.origen_id "); sb.append(" inner join parada po on po.parada_id = t.origen_id ");
sb.append(" inner join parada pd on pd.parada_id = t.destino_id "); 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 ciudad c on c.ciudad_id = po.ciudad_id ");
@ -222,7 +224,7 @@ public class SQLBuilderOracle implements SQLBuilder {
sb.append(" and re.activo = 1 "); sb.append(" and re.activo = 1 ");
sb.append(" and r.orgaoconcedente_id = 21 "); sb.append(" and r.orgaoconcedente_id = 21 ");
if (idsEmpresas != null) { if (idsEmpresas != null) {
sb.append(" and re.empresa_id in ( ").append(idsEmpresas.toString().substring(1, idsEmpresas.toString().length()-1)).append(" ) "); sb.append(" and re.empresa_id in ( ").append(idsEmpresas.toString().substring(1, idsEmpresas.toString().length() - 1)).append(" ) ");
} }
sb.append(" and m.moneda_id = 1 "); sb.append(" and m.moneda_id = 1 ");
if (orgaoConcedenteId != null) { if (orgaoConcedenteId != null) {
@ -275,12 +277,12 @@ public class SQLBuilderOracle implements SQLBuilder {
sb.append(" select "); sb.append(" select ");
sb.append(" "); sb.append(" ");
sb.append(" TARIFA_OFICIAL_SEQ.NEXTVAL, "); sb.append(" TARIFA_OFICIAL_SEQ.NEXTVAL, ");
//>> SE ORGAO FOR DER-PR E SE O COEFICIENTE DA CLASSE NAO ESTA NULL // >> SE ORGAO FOR DER-PR E SE O COEFICIENTE DA CLASSE NAO ESTA NULL
sb.append(" CASE R.ORGAOCONCEDENTE_ID WHEN "+DER_PR+" THEN CASE WHEN cl.COEFICIENTETARIFA IS NOT NULL THEN " ); sb.append(" CASE R.ORGAOCONCEDENTE_ID WHEN " + DER_PR + " THEN CASE WHEN cl.COEFICIENTETARIFA IS NOT NULL THEN ");
sb.append(" trunc(((coalesce(ct1.coeficiente,0) + oc.coeficientetarifa / ((POWER(COALESCE(tc.kmcoeficiente1,0) + 350,0.27)*16160 )) ) * COALESCE(tc.kmcoeficiente1,0)) * cl.COEFICIENTETARIFA " ); sb.append(" trunc(((coalesce(ct1.coeficiente,0) + oc.coeficientetarifa / ((POWER(COALESCE(tc.kmcoeficiente1,0) + 350,0.27)*16160 )) ) * COALESCE(tc.kmcoeficiente1,0)) * cl.COEFICIENTETARIFA ");
sb.append(" + ((coalesce(ct2.coeficiente,0) + oc.coeficientetarifa / ((POWER(COALESCE(tc.kmcoeficiente2,0) + 350,0.27)*13470 )) ) * COALESCE(tc.kmcoeficiente2,0)) * cl.COEFICIENTETARIFA,2) " ); sb.append(" + ((coalesce(ct2.coeficiente,0) + oc.coeficientetarifa / ((POWER(COALESCE(tc.kmcoeficiente2,0) + 350,0.27)*13470 )) ) * COALESCE(tc.kmcoeficiente2,0)) * cl.COEFICIENTETARIFA,2) ");
sb.append(" ELSE " ); sb.append(" ELSE ");
//< COEFICIENTE DA CLASSE ESTA NULL // < COEFICIENTE DA CLASSE ESTA NULL
sb.append(" ROUND( "); sb.append(" ROUND( ");
sb.append(" (coalesce(ct1.coeficiente,0) * coalesce(tc.kmcoeficiente1,0) + "); sb.append(" (coalesce(ct1.coeficiente,0) * coalesce(tc.kmcoeficiente1,0) + ");
sb.append(" coalesce(ct2.coeficiente,0) * coalesce(tc.kmcoeficiente2,0) + "); sb.append(" coalesce(ct2.coeficiente,0) * coalesce(tc.kmcoeficiente2,0) + ");
@ -291,8 +293,8 @@ public class SQLBuilderOracle implements SQLBuilder {
sb.append(" 1, 2 ) "); sb.append(" 1, 2 ) ");
} }
// //
sb.append(" end else " ); sb.append(" end else ");
//< ORGAO NAO EH DER-PR // < ORGAO NAO EH DER-PR
sb.append(" ROUND( "); sb.append(" ROUND( ");
sb.append(" (coalesce(ct1.coeficiente,0) * coalesce(tc.kmcoeficiente1,0) + "); sb.append(" (coalesce(ct1.coeficiente,0) * coalesce(tc.kmcoeficiente1,0) + ");
sb.append(" coalesce(ct2.coeficiente,0) * coalesce(tc.kmcoeficiente2,0) + "); sb.append(" coalesce(ct2.coeficiente,0) * coalesce(tc.kmcoeficiente2,0) + ");
@ -302,14 +304,14 @@ public class SQLBuilderOracle implements SQLBuilder {
} else { } else {
sb.append(" 1, 2 ) "); sb.append(" 1, 2 ) ");
} }
sb.append(" end , " ); sb.append(" end , ");
// //
//>> SE ORGAO FOR DER-PR E SE O COEFICIENTE DA CLASSE NAO ESTA NULL // >> SE ORGAO FOR DER-PR E SE O COEFICIENTE DA CLASSE NAO ESTA NULL
sb.append(" CASE R.ORGAOCONCEDENTE_ID WHEN "+DER_PR+" THEN CASE WHEN cl.COEFICIENTETARIFA IS NOT NULL THEN " ); sb.append(" CASE R.ORGAOCONCEDENTE_ID WHEN " + DER_PR + " THEN CASE WHEN cl.COEFICIENTETARIFA IS NOT NULL THEN ");
sb.append(" trunc(((coalesce(ct1.coeficiente,0) + oc.coeficientetarifa / ((POWER(COALESCE(tc.kmcoeficiente1,0) + 350,0.27)*16160 )) ) * COALESCE(tc.kmcoeficiente1,0)) * cl.COEFICIENTETARIFA " ); sb.append(" trunc(((coalesce(ct1.coeficiente,0) + oc.coeficientetarifa / ((POWER(COALESCE(tc.kmcoeficiente1,0) + 350,0.27)*16160 )) ) * COALESCE(tc.kmcoeficiente1,0)) * cl.COEFICIENTETARIFA ");
sb.append(" + ((coalesce(ct2.coeficiente,0) + oc.coeficientetarifa / ((POWER(COALESCE(tc.kmcoeficiente2,0) + 350,0.27)*13470 )) ) * COALESCE(tc.kmcoeficiente2,0)) * cl.COEFICIENTETARIFA,2) " ); sb.append(" + ((coalesce(ct2.coeficiente,0) + oc.coeficientetarifa / ((POWER(COALESCE(tc.kmcoeficiente2,0) + 350,0.27)*13470 )) ) * COALESCE(tc.kmcoeficiente2,0)) * cl.COEFICIENTETARIFA,2) ");
sb.append(" ELSE " ); sb.append(" ELSE ");
//< COEFICIENTE DA CLASSE ESTA NULL // < COEFICIENTE DA CLASSE ESTA NULL
sb.append(" ROUND( "); sb.append(" ROUND( ");
sb.append(" (coalesce(ct1.coeficiente,0) * coalesce(tc.kmcoeficiente1,0) + "); sb.append(" (coalesce(ct1.coeficiente,0) * coalesce(tc.kmcoeficiente1,0) + ");
sb.append(" coalesce(ct2.coeficiente,0) * coalesce(tc.kmcoeficiente2,0) + "); sb.append(" coalesce(ct2.coeficiente,0) * coalesce(tc.kmcoeficiente2,0) + ");
@ -320,8 +322,8 @@ public class SQLBuilderOracle implements SQLBuilder {
sb.append(" 1, 2 ) "); sb.append(" 1, 2 ) ");
} }
// //
sb.append(" end else " ); sb.append(" end else ");
//< ORGAO NAO EH DER-PR // < ORGAO NAO EH DER-PR
sb.append(" ROUND( "); sb.append(" ROUND( ");
sb.append(" (coalesce(ct1.coeficiente,0) * coalesce(tc.kmcoeficiente1,0) + "); sb.append(" (coalesce(ct1.coeficiente,0) * coalesce(tc.kmcoeficiente1,0) + ");
sb.append(" coalesce(ct2.coeficiente,0) * coalesce(tc.kmcoeficiente2,0) + "); sb.append(" coalesce(ct2.coeficiente,0) * coalesce(tc.kmcoeficiente2,0) + ");
@ -331,7 +333,7 @@ public class SQLBuilderOracle implements SQLBuilder {
} else { } else {
sb.append(" 1, 2 ) "); sb.append(" 1, 2 ) ");
} }
sb.append(" end , " ); sb.append(" end , ");
// //
sb.append(" t.tramo_id, "); sb.append(" t.tramo_id, ");
sb.append(" mc.marca_id, "); sb.append(" mc.marca_id, ");
@ -386,11 +388,11 @@ public class SQLBuilderOracle implements SQLBuilder {
sb.append(" and mc.activo = 1 "); sb.append(" and mc.activo = 1 ");
sb.append(" and re.activo = 1 "); sb.append(" and re.activo = 1 ");
sb.append(" and r.orgaoconcedente_id <> 21 "); sb.append(" and r.orgaoconcedente_id <> 21 ");
if(ApplicationProperties.getInstance().isCustomHabilitado(CustomEnum.CRIAR_TARIFA_APENAS_TRECHO_VENDIDO.getDescricao())){ if (ApplicationProperties.getInstance().isCustomHabilitado(CustomEnum.CRIAR_TARIFA_APENAS_TRECHO_VENDIDO.getDescricao())) {
sb.append(" and rc.indventa = 1 "); sb.append(" and rc.indventa = 1 ");
} }
if (idsEmpresas != null) { if (idsEmpresas != null) {
sb.append(" and re.empresa_id in ( ").append(idsEmpresas.toString().substring(1, idsEmpresas.toString().length()-1)).append(" ) "); sb.append(" and re.empresa_id in ( ").append(idsEmpresas.toString().substring(1, idsEmpresas.toString().length() - 1)).append(" ) ");
} }
sb.append(" and m.moneda_id = 1 "); sb.append(" and m.moneda_id = 1 ");
if (orgaoConcedente != null && orgaoConcedente.getOrgaoConcedenteId() != null && orgaoConcedente.getOrgaoConcedenteId() != SELECAO_TODOS) { if (orgaoConcedente != null && orgaoConcedente.getOrgaoConcedenteId() != null && orgaoConcedente.getOrgaoConcedenteId() != SELECAO_TODOS) {
@ -475,7 +477,7 @@ public class SQLBuilderOracle implements SQLBuilder {
} }
@Override @Override
public String getAtualizarTaxaEmbarquePorKmParada(final Integer rutaId, final Integer usuarioId,final Integer orgaoConcedenteId, List<Integer> idsEmpresas) { public String getAtualizarTaxaEmbarquePorKmParada(final Integer rutaId, final Integer usuarioId, final Integer orgaoConcedenteId, List<Integer> idsEmpresas, List<Integer> lsParadaIds) {
StringBuilder sb = new StringBuilder(""); StringBuilder sb = new StringBuilder("");
sb.append("update tarifa_oficial set IMPORTETAXAEMBARQUE = "); sb.append("update tarifa_oficial set IMPORTETAXAEMBARQUE = ");
sb.append("( "); sb.append("( ");
@ -488,7 +490,11 @@ public class SQLBuilderOracle implements SQLBuilder {
sb.append(" inner join tramo t on t.tramo_id = tao.tramo_id "); sb.append(" inner join tramo t on t.tramo_id = tao.tramo_id ");
sb.append(" inner join TAXA_EMBARQUE_PARADA tepKm on "); sb.append(" inner join TAXA_EMBARQUE_PARADA tepKm on ");
sb.append(" tepKm.parada_id = t.origen_id and tepKm.KMATE >= "); sb.append(" tepKm.parada_id = t.origen_id and tepKm.KMATE >= ");
sb.append(" t.CANTKMREAL and tepKm.activo = 1 and tepKm.indtipo = 'K' and tepKm.empresa_id in (-1, ").append(idsEmpresas.toString().substring(1, idsEmpresas.toString().length()-1)).append(" ) "); sb.append(" t.CANTKMREAL and tepKm.activo = 1 and tepKm.indtipo = 'K' and tepKm.empresa_id in (-1, ").append(idsEmpresas.toString().substring(1, idsEmpresas.toString().length() - 1)).append(" ) ");
if (null != lsParadaIds) {
sb.append(" and t.origen_id in (").append(lsParadaIds.toString().substring(1, lsParadaIds.toString().length() - 1)).append(" ) ");
}
sb.append(" inner join marca m on m.marca_id = tao.marca_id "); sb.append(" inner join marca m on m.marca_id = tao.marca_id ");
sb.append("where "); sb.append("where ");
sb.append(" tepKm.kmate= "); sb.append(" tepKm.kmate= ");
@ -507,7 +513,7 @@ public class SQLBuilderOracle implements SQLBuilder {
sb.append(" and tao.tramo_id = tarifa_oficial.tramo_id "); sb.append(" and tao.tramo_id = tarifa_oficial.tramo_id ");
sb.append(" and tepKm.orgaoconcedente_id = tarifa_oficial.orgaoconcedente_id "); sb.append(" and tepKm.orgaoconcedente_id = tarifa_oficial.orgaoconcedente_id ");
if (idsEmpresas != null) { if (idsEmpresas != null) {
sb.append(" and m.empresa_id in (-1,").append(idsEmpresas.toString().substring(1, idsEmpresas.toString().length()-1)).append(" ) "); sb.append(" and m.empresa_id in (-1,").append(idsEmpresas.toString().substring(1, idsEmpresas.toString().length() - 1)).append(" ) ");
} }
sb.append(") "); sb.append(") ");
sb.append(", usuario_id = ").append(usuarioId).append(",fecmodif = ").append(DBUtil.getInstance().dbSysdate()).append(" "); sb.append(", usuario_id = ").append(usuarioId).append(",fecmodif = ").append(DBUtil.getInstance().dbSysdate()).append(" ");
@ -520,13 +526,14 @@ public class SQLBuilderOracle implements SQLBuilder {
if (orgaoConcedenteId != null) { if (orgaoConcedenteId != null) {
sb.append(" and tarifa_oficial.orgaoconcedente_id = ").append(orgaoConcedenteId); sb.append(" and tarifa_oficial.orgaoconcedente_id = ").append(orgaoConcedenteId);
} }
if (null != lsParadaIds) {
sb.append(" and tarifa_oficial.origen_id in (").append(lsParadaIds.toString().substring(1, lsParadaIds.toString().length() - 1)).append(" ) ");
}
return sb.toString(); return sb.toString();
} }
@Override @Override
public String getSQLAtualizarTaxaEmbarquePorKmOrgao(final Integer rutaId, final Integer usuarioId,final Integer orgaoConcedenteId, List<Integer> idsEmpresas) { public String getSQLAtualizarTaxaEmbarquePorKmOrgao(final Integer rutaId, final Integer usuarioId, final Integer orgaoConcedenteId, List<Integer> idsEmpresas,List<Integer> lsParadaIds) {
StringBuilder sb = new StringBuilder(""); StringBuilder sb = new StringBuilder("");
sb.append("update tarifa_oficial set IMPORTETAXAEMBARQUE = "); sb.append("update tarifa_oficial set IMPORTETAXAEMBARQUE = ");
sb.append("coalesce( "); sb.append("coalesce( ");
@ -560,8 +567,14 @@ public class SQLBuilderOracle implements SQLBuilder {
sb.append(" and tao.tramo_id = tarifa_oficial.tramo_id "); sb.append(" and tao.tramo_id = tarifa_oficial.tramo_id ");
if (idsEmpresas != null) { if (idsEmpresas != null) {
sb.append(" and m.empresa_id in ( ").append(idsEmpresas.toString().substring(1, idsEmpresas.toString().length()-1)).append(" ) "); sb.append(" and m.empresa_id in ( ").append(idsEmpresas.toString().substring(1, idsEmpresas.toString().length() - 1)).append(" ) ");
} }
if (null != lsParadaIds) {
sb.append(" and t.origen_id in (").append(lsParadaIds.toString().substring(1, lsParadaIds.toString().length() - 1)).append(" ) ");
}
sb.append("),IMPORTETAXAEMBARQUE) "); sb.append("),IMPORTETAXAEMBARQUE) ");
sb.append(", usuario_id = ").append(usuarioId).append(",fecmodif = ").append(DBUtil.getInstance().dbSysdate()).append(" "); sb.append(", usuario_id = ").append(usuarioId).append(",fecmodif = ").append(DBUtil.getInstance().dbSysdate()).append(" ");
@ -576,11 +589,15 @@ public class SQLBuilderOracle implements SQLBuilder {
if (orgaoConcedenteId != null) { if (orgaoConcedenteId != null) {
sb.append(" and tarifa_oficial.orgaoconcedente_id = ").append(orgaoConcedenteId); sb.append(" and tarifa_oficial.orgaoconcedente_id = ").append(orgaoConcedenteId);
} }
if (null != lsParadaIds) {
sb.append(" and tarifa_oficial.origen_id in (").append(lsParadaIds.toString().substring(1, lsParadaIds.toString().length() - 1)).append(" ) ");
}
return sb.toString(); return sb.toString();
} }
@Override @Override
public String getSQLAtualizarTaxaEmbarquePorParadaFixo(final Integer rutaId, final Integer usuarioId,final Integer orgaoConcedenteId, List<Integer> idsEmpresas) { public String getSQLAtualizarTaxaEmbarquePorParadaFixo(final Integer rutaId, final Integer usuarioId, final Integer orgaoConcedenteId, List<Integer> idsEmpresas,List<Integer> lsParadaIds) {
StringBuilder sb = new StringBuilder(""); StringBuilder sb = new StringBuilder("");
sb.append("update tarifa_oficial set IMPORTETAXAEMBARQUE = "); sb.append("update tarifa_oficial set IMPORTETAXAEMBARQUE = ");
@ -593,7 +610,7 @@ public class SQLBuilderOracle implements SQLBuilder {
sb.append(" tarifa_oficial tao "); sb.append(" tarifa_oficial tao ");
sb.append(" inner join tramo t on t.tramo_id = tao.tramo_id "); sb.append(" inner join tramo t on t.tramo_id = tao.tramo_id ");
sb.append(" inner join TAXA_EMBARQUE_PARADA tepFixo on "); sb.append(" inner join TAXA_EMBARQUE_PARADA tepFixo on ");
sb.append(" tepFixo.parada_id = t.origen_id and tepFixo.empresa_id in ("+obtemEmpresas(idsEmpresas)+" ) "); sb.append(" tepFixo.parada_id = t.origen_id and tepFixo.empresa_id in (" + obtemEmpresas(idsEmpresas) + " ) ");
sb.append(" and tepFixo.indtipo = 'F' and tepFixo.activo = 1 "); sb.append(" and tepFixo.indtipo = 'F' and tepFixo.activo = 1 ");
sb.append(" inner join marca m on m.marca_id = tao.marca_id "); sb.append(" inner join marca m on m.marca_id = tao.marca_id ");
sb.append("where "); sb.append("where ");
@ -604,7 +621,11 @@ public class SQLBuilderOracle implements SQLBuilder {
sb.append(" and tao.moneda_id = tarifa_oficial.moneda_id "); sb.append(" and tao.moneda_id = tarifa_oficial.moneda_id ");
sb.append(" and tao.ruta_id = tarifa_oficial.ruta_id "); sb.append(" and tao.ruta_id = tarifa_oficial.ruta_id ");
sb.append(" and tao.tramo_id = tarifa_oficial.tramo_id "); sb.append(" and tao.tramo_id = tarifa_oficial.tramo_id ");
sb.append(" and m.empresa_id in ("+obtemEmpresas(idsEmpresas)+" ) and tao.activo = 1 "); sb.append(" and m.empresa_id in (" + obtemEmpresas(idsEmpresas) + " ) and tao.activo = 1 ");
if (null != lsParadaIds) {
sb.append(" and t.origen_id in (").append(lsParadaIds.toString().substring(1, lsParadaIds.toString().length() - 1)).append(" ) ");
}
sb.append("),IMPORTETAXAEMBARQUE) "); sb.append("),IMPORTETAXAEMBARQUE) ");
sb.append(", usuario_id = ").append(usuarioId).append(",fecmodif = ").append(DBUtil.getInstance().dbSysdate()).append(" "); sb.append(", usuario_id = ").append(usuarioId).append(",fecmodif = ").append(DBUtil.getInstance().dbSysdate()).append(" ");
sb.append(" "); sb.append(" ");
@ -616,15 +637,19 @@ public class SQLBuilderOracle implements SQLBuilder {
if (orgaoConcedenteId != null) { if (orgaoConcedenteId != null) {
sb.append(" and tarifa_oficial.orgaoconcedente_id = ").append(orgaoConcedenteId); sb.append(" and tarifa_oficial.orgaoconcedente_id = ").append(orgaoConcedenteId);
} }
sb.append(" and tarifa_oficial.MARCA_ID in (select m2.marca_id from marca m2 where m2.activo = 1 and m2.empresa_id in (" +obtemEmpresas(idsEmpresas)+ " ) ) "); sb.append(" and tarifa_oficial.MARCA_ID in (select m2.marca_id from marca m2 where m2.activo = 1 and m2.empresa_id in (" + obtemEmpresas(idsEmpresas) + " ) ) ");
if (null != lsParadaIds) {
sb.append(" and tarifa_oficial.origen_id in (").append(lsParadaIds.toString().substring(1, lsParadaIds.toString().length() - 1)).append(" ) ");
}
return sb.toString(); return sb.toString();
} }
private String obtemEmpresas(List<Integer> idsEmpresas) { private String obtemEmpresas(List<Integer> idsEmpresas) {
if (idsEmpresas == null || idsEmpresas.contains(SELECAO_TODOS)) { if (idsEmpresas == null || idsEmpresas.contains(SELECAO_TODOS)) {
return Integer.toString(SELECAO_TODOS); return Integer.toString(SELECAO_TODOS);
} }
return idsEmpresas.toString().substring(1, idsEmpresas.toString().length()-1); return idsEmpresas.toString().substring(1, idsEmpresas.toString().length() - 1);
} }
@Override @Override
@ -751,7 +776,7 @@ public class SQLBuilderOracle implements SQLBuilder {
sb.append(" tao.IMPORTEOUTROS AS \"taoimporteoutros\", "); sb.append(" tao.IMPORTEOUTROS AS \"taoimporteoutros\", ");
sb.append(" ta.TARIFA_ID AS \"tarifaId\" "); sb.append(" ta.TARIFA_ID AS \"tarifaId\" ");
sb.append("FROM TARIFA_OFICIAL tao " ); sb.append("FROM TARIFA_OFICIAL tao ");
sb.append("INNER JOIN TARIFA ta ON (tao.MARCA_ID = ta.MARCA_ID "); sb.append("INNER JOIN TARIFA ta ON (tao.MARCA_ID = ta.MARCA_ID ");
sb.append(" AND tao.CLASESERVICIO_ID = ta.CLASESERVICIO_ID "); sb.append(" AND tao.CLASESERVICIO_ID = ta.CLASESERVICIO_ID ");
sb.append(" AND tao.TRAMO_ID = ta.TRAMO_ID "); sb.append(" AND tao.TRAMO_ID = ta.TRAMO_ID ");
@ -764,10 +789,10 @@ public class SQLBuilderOracle implements SQLBuilder {
sb.append("WHERE ta.VIGENCIATARIFA_ID = ").append(vigenciaTarifaId); sb.append("WHERE ta.VIGENCIATARIFA_ID = ").append(vigenciaTarifaId);
if(orgao != null){ if (orgao != null) {
sb.append(" AND tao.ORGAOCONCEDENTE_ID = ").append(orgao.getOrgaoConcedenteId()); sb.append(" AND tao.ORGAOCONCEDENTE_ID = ").append(orgao.getOrgaoConcedenteId());
} }
if(empresa != null){ if (empresa != null) {
sb.append(" AND mTa.EMPRESA_ID = ").append(empresa.getEmpresaId()); sb.append(" AND mTa.EMPRESA_ID = ").append(empresa.getEmpresaId());
sb.append(" AND mTao.EMPRESA_ID = ").append(empresa.getEmpresaId()); sb.append(" AND mTao.EMPRESA_ID = ").append(empresa.getEmpresaId());
} }
@ -776,25 +801,25 @@ public class SQLBuilderOracle implements SQLBuilder {
} }
@Override @Override
public String getSQLAtualizarTarifaPorTarifaOfical(Map<String,Object> dados, Integer usuarioId, Boolean calculaPegagio, public String getSQLAtualizarTarifaPorTarifaOfical(Map<String, Object> dados, Integer usuarioId, Boolean calculaPegagio,
Boolean calculaTarifa, Boolean calculaTaxaEmbarque, Boolean calculaSeguro, Boolean calculaTPP){ Boolean calculaTarifa, Boolean calculaTaxaEmbarque, Boolean calculaSeguro, Boolean calculaTPP) {
StringBuilder sb = new StringBuilder(""); StringBuilder sb = new StringBuilder("");
sb.append("UPDATE TARIFA SET "); sb.append("UPDATE TARIFA SET ");
if(calculaPegagio){ if (calculaPegagio) {
sb.append("IMPORTEPEDAGIO=").append(dados.get("taoimportepedagio")).append(","); sb.append("IMPORTEPEDAGIO=").append(dados.get("taoimportepedagio")).append(",");
} }
if(calculaTarifa){ if (calculaTarifa) {
sb.append("PRECIO=").append(dados.get("taoprecio")).append(",PRECIOORIGINAL=").append(dados.get("taopreciooriginal")).append(","); sb.append("PRECIO=").append(dados.get("taoprecio")).append(",PRECIOORIGINAL=").append(dados.get("taopreciooriginal")).append(",");
} }
if(calculaTaxaEmbarque){ if (calculaTaxaEmbarque) {
sb.append("IMPORTETAXAEMBARQUE=").append(dados.get("taoimportetaxaembarque")).append(","); sb.append("IMPORTETAXAEMBARQUE=").append(dados.get("taoimportetaxaembarque")).append(",");
} }
if(calculaSeguro){ if (calculaSeguro) {
sb.append("IMPORTESEGURO=").append(dados.get("taoimporteseguro")).append(","); sb.append("IMPORTESEGURO=").append(dados.get("taoimporteseguro")).append(",");
} }
if(calculaTPP){ if (calculaTPP) {
sb.append("IMPORTETPP=").append(dados.get("taoimportetpp")).append(","); sb.append("IMPORTETPP=").append(dados.get("taoimportetpp")).append(",");
} }
sb.append("IMPORTEOUTROS=").append(dados.get("taoimporteoutros")).append(","); sb.append("IMPORTEOUTROS=").append(dados.get("taoimporteoutros")).append(",");
@ -1287,7 +1312,7 @@ public class SQLBuilderOracle implements SQLBuilder {
public String getSQLObterSequenciaNumOperacion() { public String getSQLObterSequenciaNumOperacion() {
return "select numeoperacion_seq.nextval from dual"; return "select numeoperacion_seq.nextval from dual";
} }
@Override @Override
public String getSQLInserirTarifaEmbarcadaPelaTarifaOficial(final Integer vigenciaTarifaId, final Integer usuarioId, Empresa empresa, OrgaoConcedente orgao) { public String getSQLInserirTarifaEmbarcadaPelaTarifaOficial(final Integer vigenciaTarifaId, final Integer usuarioId, Empresa empresa, OrgaoConcedente orgao) {
StringBuilder sb = new StringBuilder(""); StringBuilder sb = new StringBuilder("");
@ -1354,7 +1379,7 @@ public class SQLBuilderOracle implements SQLBuilder {
return sb.toString(); return sb.toString();
} }
@Override @Override
public String getSQLSelecionarTarifaEmbarcadaPorTarifaOficalParaAtualizar(final Integer vigenciaTarifaId, Empresa empresa, OrgaoConcedente orgao) { public String getSQLSelecionarTarifaEmbarcadaPorTarifaOficalParaAtualizar(final Integer vigenciaTarifaId, Empresa empresa, OrgaoConcedente orgao) {
StringBuilder sb = new StringBuilder(""); StringBuilder sb = new StringBuilder("");
@ -1368,7 +1393,7 @@ public class SQLBuilderOracle implements SQLBuilder {
sb.append(" tao.IMPORTEOUTROS AS \"taoimporteoutros\", "); sb.append(" tao.IMPORTEOUTROS AS \"taoimporteoutros\", ");
sb.append(" ta.TARIFAEMBARCADA_ID AS \"tarifaId\" "); sb.append(" ta.TARIFAEMBARCADA_ID AS \"tarifaId\" ");
sb.append("FROM TARIFA_OFICIAL tao " ); sb.append("FROM TARIFA_OFICIAL tao ");
sb.append("INNER JOIN TARIFA_EMBARCADA ta ON (tao.MARCA_ID = ta.MARCA_ID "); sb.append("INNER JOIN TARIFA_EMBARCADA ta ON (tao.MARCA_ID = ta.MARCA_ID ");
sb.append(" AND tao.CLASESERVICIO_ID = ta.CLASESERVICIO_ID "); sb.append(" AND tao.CLASESERVICIO_ID = ta.CLASESERVICIO_ID ");
sb.append(" AND tao.TRAMO_ID = ta.TRAMO_ID "); sb.append(" AND tao.TRAMO_ID = ta.TRAMO_ID ");
@ -1381,37 +1406,37 @@ public class SQLBuilderOracle implements SQLBuilder {
sb.append("WHERE ta.VIGENCIATARIFA_ID = ").append(vigenciaTarifaId); sb.append("WHERE ta.VIGENCIATARIFA_ID = ").append(vigenciaTarifaId);
if(orgao != null){ if (orgao != null) {
sb.append(" AND tao.ORGAOCONCEDENTE_ID = ").append(orgao.getOrgaoConcedenteId()); sb.append(" AND tao.ORGAOCONCEDENTE_ID = ").append(orgao.getOrgaoConcedenteId());
} }
if(empresa != null){ if (empresa != null) {
sb.append(" AND mTa.EMPRESA_ID = ").append(empresa.getEmpresaId()); sb.append(" AND mTa.EMPRESA_ID = ").append(empresa.getEmpresaId());
sb.append(" AND mTao.EMPRESA_ID = ").append(empresa.getEmpresaId()); sb.append(" AND mTao.EMPRESA_ID = ").append(empresa.getEmpresaId());
} }
return sb.toString(); return sb.toString();
} }
@Override @Override
public String getSQLAtualizarTarifaEmbarcadaPorTarifaOfical(Map<String,Object> dados, Integer usuarioId, Boolean calculaPegagio, public String getSQLAtualizarTarifaEmbarcadaPorTarifaOfical(Map<String, Object> dados, Integer usuarioId, Boolean calculaPegagio,
Boolean calculaTarifa, Boolean calculaTaxaEmbarque, Boolean calculaSeguro, Boolean calculaTPP){ Boolean calculaTarifa, Boolean calculaTaxaEmbarque, Boolean calculaSeguro, Boolean calculaTPP) {
StringBuilder sb = new StringBuilder(""); StringBuilder sb = new StringBuilder("");
sb.append("UPDATE TARIFA_EMBARCADA SET "); sb.append("UPDATE TARIFA_EMBARCADA SET ");
if(calculaPegagio){ if (calculaPegagio) {
sb.append("IMPORTEPEDAGIO=").append(dados.get("taoimportepedagio")).append(","); sb.append("IMPORTEPEDAGIO=").append(dados.get("taoimportepedagio")).append(",");
} }
if(calculaTarifa){ if (calculaTarifa) {
sb.append("PRECIO=").append(dados.get("taoprecio")).append(",PRECIOORIGINAL=").append(dados.get("taopreciooriginal")).append(","); sb.append("PRECIO=").append(dados.get("taoprecio")).append(",PRECIOORIGINAL=").append(dados.get("taopreciooriginal")).append(",");
} }
if(calculaTaxaEmbarque){ if (calculaTaxaEmbarque) {
sb.append("IMPORTETAXAEMBARQUE=").append(dados.get("taoimportetaxaembarque")).append(","); sb.append("IMPORTETAXAEMBARQUE=").append(dados.get("taoimportetaxaembarque")).append(",");
} }
if(calculaSeguro){ if (calculaSeguro) {
sb.append("IMPORTESEGURO=").append(dados.get("taoimporteseguro")).append(","); sb.append("IMPORTESEGURO=").append(dados.get("taoimporteseguro")).append(",");
} }
if(calculaTPP){ if (calculaTPP) {
sb.append("IMPORTETPP=").append(dados.get("taoimportetpp")).append(","); sb.append("IMPORTETPP=").append(dados.get("taoimportetpp")).append(",");
} }
sb.append("IMPORTEOUTROS=").append(dados.get("taoimporteoutros")).append(","); sb.append("IMPORTEOUTROS=").append(dados.get("taoimporteoutros")).append(",");

View File

@ -6,7 +6,7 @@ import com.rjconsultores.ventaboletos.entidad.OrgaoConcedente;
import com.rjconsultores.ventaboletos.entidad.Ruta; import com.rjconsultores.ventaboletos.entidad.Ruta;
public interface CalcularPeajeService { public interface CalcularPeajeService {
public List<Object> buscarCasetasPeajeWithinTramo(Ruta ruta); public List<Object> buscarCasetasPeajeWithinTramo(Ruta ruta,Integer[] listCasetaPeaje);
public List<Ruta> buscarRutaWithCasetaPeajeFromOrgao(OrgaoConcedente oc); public List<Ruta> buscarRutaWithCasetaPeajeFromOrgao(OrgaoConcedente oc);
public int[] gerarSQLInserirPeajes(List<Ruta> lsRuta, OrgaoConcedente orgao, boolean usaICMS) throws Exception; public int[] gerarSQLInserirPeajes(List<Ruta> lsRuta, OrgaoConcedente orgao, boolean usaICMS,Integer[] listCasetaPeaje) throws Exception;
} }

View File

@ -49,5 +49,7 @@ public interface ParadaService {
public List<Parada> buscarPorAgrupamentoParadaId(AgrupamentoParada agrupamentoParada); public List<Parada> buscarPorAgrupamentoParadaId(AgrupamentoParada agrupamentoParada);
public List<Parada> buscarDestinosPorOrigem(Integer origemId); public List<Parada> buscarDestinosPorOrigem(Integer origemId);
public List<Parada> obtenerOrigenPorListRutaIds(Integer orgaoConcendenteId, Integer empresaId,Integer[] listRuta);
} }

View File

@ -118,4 +118,10 @@ public interface RutaService {
public List<Ruta> buscaLikeComboBox(String stringConsulta); public List<Ruta> buscaLikeComboBox(String stringConsulta);
public List<Ruta> buscarPorIds(Integer[] rutaIds);
public List<Ruta> buscarPorOrgaoEcasetaPeaje(OrgaoConcedente orgao, Integer[] listCasetaPeaje);
public List<Ruta> buscarRutasPorEmpresaOrgaoConcedenteParadaIds(Empresa empresa, OrgaoConcedente orgao, Integer[] lsParadaIds) ;
} }

View File

@ -95,8 +95,7 @@ public interface TarifaOficialService {
* @param empresaId - Empresa para ser filtrada * @param empresaId - Empresa para ser filtrada
* @throws BusinessException * @throws BusinessException
*/ */
public void atualizarTaxaEmbarque(List<Ruta> lsRuta, Integer orgaoConcedenteId,boolean gerarTabelaZerada, List<Empresa> lsEmpresaSelected) throws BusinessException; public void atualizarTaxaEmbarque(List<Ruta> lsRuta, Integer orgaoConcedenteId,boolean gerarTabelaZerada, List<Empresa> lsEmpresaSelected, List<Integer> lsParadaIds) throws BusinessException;
/** /**
* Atualiza o seguro de acordo a kilometragem do trecho * Atualiza o seguro de acordo a kilometragem do trecho
@ -137,7 +136,7 @@ public interface TarifaOficialService {
public void borrar(TarifaOficial tarifaOficial); public void borrar(TarifaOficial tarifaOficial);
public void gerarAtualizarTabelaZerada(List<Ruta> lsRuta, Integer orgaoConcedenteId, List<Empresa> lsEmpresaSelected) throws BusinessException ; public void gerarAtualizarTabelaZerada(List<Ruta> lsRuta, Integer orgaoConcedenteId, List<Empresa> lsEmpresaSelected,List<Integer> lsParadaId) throws BusinessException ;
public void atualizarPedagio(); public void atualizarPedagio();

View File

@ -7,6 +7,7 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import com.rjconsultores.ventaboletos.dao.CalcularPeajeDAO; import com.rjconsultores.ventaboletos.dao.CalcularPeajeDAO;
import com.rjconsultores.ventaboletos.entidad.CasetaPeaje;
import com.rjconsultores.ventaboletos.entidad.OrgaoConcedente; import com.rjconsultores.ventaboletos.entidad.OrgaoConcedente;
import com.rjconsultores.ventaboletos.entidad.Ruta; import com.rjconsultores.ventaboletos.entidad.Ruta;
import com.rjconsultores.ventaboletos.exception.BusinessException; import com.rjconsultores.ventaboletos.exception.BusinessException;
@ -19,8 +20,8 @@ public class CalcularPeajeServiceImpl implements CalcularPeajeService{
private CalcularPeajeDAO calcularPeajeDAO; private CalcularPeajeDAO calcularPeajeDAO;
@Override @Override
public List<Object> buscarCasetasPeajeWithinTramo(Ruta ruta){ public List<Object> buscarCasetasPeajeWithinTramo(Ruta ruta,Integer[] listCasetaPeaje){
return calcularPeajeDAO.buscarCasetasPeajeWithinTramo(ruta); return calcularPeajeDAO.buscarCasetasPeajeWithinTramo(ruta,listCasetaPeaje);
} }
@Override @Override
@ -30,7 +31,7 @@ public class CalcularPeajeServiceImpl implements CalcularPeajeService{
@Override @Override
@Transactional(rollbackFor = BusinessException.class) @Transactional(rollbackFor = BusinessException.class)
public int[] gerarSQLInserirPeajes(List<Ruta> lsRuta, OrgaoConcedente orgao, boolean usaICMS) throws Exception { public int[] gerarSQLInserirPeajes(List<Ruta> lsRuta, OrgaoConcedente orgao, boolean usaICMS,Integer[] listCasetaPeaje) throws Exception {
return calcularPeajeDAO.gerarSQLInserirPeajes(lsRuta, orgao, usaICMS); return calcularPeajeDAO.gerarSQLInserirPeajes(lsRuta, orgao, usaICMS,listCasetaPeaje);
} }
} }

View File

@ -185,4 +185,9 @@ public class ParadaServiceImpl implements ParadaService {
public List<Parada> buscarDestinosPorOrigem(Integer origemId) { public List<Parada> buscarDestinosPorOrigem(Integer origemId) {
return paradaDAO.buscarDestinosPorOrigem(origemId); return paradaDAO.buscarDestinosPorOrigem(origemId);
} }
@Override
public List<Parada> obtenerOrigenPorListRutaIds(Integer orgaoConcendenteId, Integer empresaId, Integer[] listRuta){
return paradaDAO.obtenerOrigenPorListRutaIds(orgaoConcendenteId,empresaId,listRuta);
}
} }

View File

@ -666,4 +666,21 @@ public class RutaServiceImpl implements RutaService {
public List<Ruta> buscaLikeComboBox(String stringConsulta) { public List<Ruta> buscaLikeComboBox(String stringConsulta) {
return rutaDAO.buscaLikeComboBox(stringConsulta); return rutaDAO.buscaLikeComboBox(stringConsulta);
} }
}
@Override
public List<Ruta> buscarPorIds(Integer[] rutaIds){
return rutaDAO.buscarPorIds(rutaIds);
}
@Override
public List<Ruta> buscarPorOrgaoEcasetaPeaje(OrgaoConcedente orgao, Integer[] listCasetaPeaje){
return rutaDAO.buscarPorOrgaoEcasetaPeaje(orgao,listCasetaPeaje);
}
@Override
public List<Ruta> buscarRutasPorEmpresaOrgaoConcedenteParadaIds(Empresa empresa, OrgaoConcedente orgao, Integer[] lsParadaIds) {
return rutaDAO.buscarRutasPorEmpresaOrgaoConcedenteParadaIds(empresa,orgao,lsParadaIds);
}
}

View File

@ -113,7 +113,7 @@ public class TarifaOficialServiceImpl implements TarifaOficialService {
@Override @Override
@Transactional(rollbackFor = BusinessException.class) @Transactional(rollbackFor = BusinessException.class)
public void gerarAtualizarTabelaZerada(List<Ruta> lsRuta, Integer orgaoConcedenteId, List<Empresa> lsEmpresaSelected) throws BusinessException { public void gerarAtualizarTabelaZerada(List<Ruta> lsRuta, Integer orgaoConcedenteId, List<Empresa> lsEmpresaSelected,List<Integer> lsParadaIds) throws BusinessException {
// Limpando a tabela de TARIFA_OFICIAL // Limpando a tabela de TARIFA_OFICIAL
tarifaOficialDAO.limparTarifasOficiais(lsEmpresaSelected); tarifaOficialDAO.limparTarifasOficiais(lsEmpresaSelected);
@ -134,7 +134,7 @@ public class TarifaOficialServiceImpl implements TarifaOficialService {
} }
//Gerando as tarifas //Gerando as tarifas
tarifaOficialDAO.gerarTabelaZerada(rutaId, UsuarioLogado.getUsuarioLogado().getUsuarioId(), orgaoConcedenteId, idsEmpresas); tarifaOficialDAO.gerarTabelaZerada(rutaId, UsuarioLogado.getUsuarioLogado().getUsuarioId(), orgaoConcedenteId, idsEmpresas,lsParadaIds);
x--; x--;
}while(x > 0); }while(x > 0);
@ -142,10 +142,10 @@ public class TarifaOficialServiceImpl implements TarifaOficialService {
@Override @Override
@Transactional(rollbackFor = BusinessException.class) @Transactional(rollbackFor = BusinessException.class)
public void atualizarTaxaEmbarque(List<Ruta> lsRuta, Integer orgaoConcedenteId,boolean gerarTabelaZerada, List<Empresa> lsEmpresaSelected) throws BusinessException{ public void atualizarTaxaEmbarque(List<Ruta> lsRuta, Integer orgaoConcedenteId,boolean gerarTabelaZerada, List<Empresa> lsEmpresaSelected, List<Integer> lsParadaIds) throws BusinessException{
if (gerarTabelaZerada){ if (gerarTabelaZerada){
gerarAtualizarTabelaZerada(lsRuta, orgaoConcedenteId, lsEmpresaSelected); gerarAtualizarTabelaZerada(lsRuta, orgaoConcedenteId, lsEmpresaSelected,lsParadaIds);
} }
List<Integer> idsEmpresas = new ArrayList<Integer>(); List<Integer> idsEmpresas = new ArrayList<Integer>();
@ -153,7 +153,7 @@ public class TarifaOficialServiceImpl implements TarifaOficialService {
idsEmpresas.add(e.getEmpresaId()); idsEmpresas.add(e.getEmpresaId());
} }
tarifaOficialDAO.atualizarTaxaEmbarque(lsRuta, UsuarioLogado.getUsuarioLogado().getUsuarioId(), orgaoConcedenteId, idsEmpresas); tarifaOficialDAO.atualizarTaxaEmbarque(lsRuta, UsuarioLogado.getUsuarioLogado().getUsuarioId(), orgaoConcedenteId, idsEmpresas,lsParadaIds);
} }
@Override @Override