diff --git a/src/com/rjconsultores/ventaboletos/dao/CalcularPeajeDAO.java b/src/com/rjconsultores/ventaboletos/dao/CalcularPeajeDAO.java index 3a079aeba..66b993d28 100644 --- a/src/com/rjconsultores/ventaboletos/dao/CalcularPeajeDAO.java +++ b/src/com/rjconsultores/ventaboletos/dao/CalcularPeajeDAO.java @@ -6,9 +6,9 @@ import com.rjconsultores.ventaboletos.entidad.OrgaoConcedente; import com.rjconsultores.ventaboletos.entidad.Ruta; public interface CalcularPeajeDAO { - public List buscarCasetasPeajeWithinTramo(Ruta ruta); + public List buscarCasetasPeajeWithinTramo(Ruta ruta,Integer[] listCasetaPeaje); - public int[] gerarSQLInserirPeajes(List lsRuta, OrgaoConcedente orgao, boolean usaICMS) throws Exception; + public int[] gerarSQLInserirPeajes(List lsRuta, OrgaoConcedente orgao, boolean usaICMS,Integer[] listCasetaPeaje) throws Exception; public List buscarRutaWithCasetaPeajeFromOrgao(OrgaoConcedente oc); } diff --git a/src/com/rjconsultores/ventaboletos/dao/ParadaDAO.java b/src/com/rjconsultores/ventaboletos/dao/ParadaDAO.java index bebbf5bb0..fede3a35a 100644 --- a/src/com/rjconsultores/ventaboletos/dao/ParadaDAO.java +++ b/src/com/rjconsultores/ventaboletos/dao/ParadaDAO.java @@ -63,4 +63,6 @@ public interface ParadaDAO { public List buscarDestinosPorOrigem(Integer origemId); + public List obtenerOrigenPorListRutaIds(Integer orgaoConcendenteId, Integer empresaId,Integer[] listRuta); + } diff --git a/src/com/rjconsultores/ventaboletos/dao/RutaDAO.java b/src/com/rjconsultores/ventaboletos/dao/RutaDAO.java index fc27cc587..6af7ce7ed 100644 --- a/src/com/rjconsultores/ventaboletos/dao/RutaDAO.java +++ b/src/com/rjconsultores/ventaboletos/dao/RutaDAO.java @@ -65,11 +65,16 @@ public interface RutaDAO extends GenericDAO { public List buscarPorRutaPorEmpresas(List lsEmpresas); public List buscarRutasPorEmpresaOrgaoConcedente(Empresa empresa, OrgaoConcedente orgao); - + + public List buscarRutasPorEmpresaOrgaoConcedenteParadaIds(Empresa empresa, OrgaoConcedente orgao, Integer[] lsParadaIds) ; + public void updateAsientosVendibles(Ruta ruta, Tramo viejoTramo, Tramo nuevoTramo); public List buscarRutasVendaEmbarcada(List empresasIds, Integer rutaId, String numeroLinha, String descRuta, ClaseServicio classe); public List buscaLikeComboBox(String stringConsulta); + public List buscarPorIds(Integer[] rutaIds); + + public List buscarPorOrgaoEcasetaPeaje(OrgaoConcedente orgao, Integer[] listCasetaPeaje); } diff --git a/src/com/rjconsultores/ventaboletos/dao/TarifaOficialDAO.java b/src/com/rjconsultores/ventaboletos/dao/TarifaOficialDAO.java index 2368a18ea..399aa6b50 100644 --- a/src/com/rjconsultores/ventaboletos/dao/TarifaOficialDAO.java +++ b/src/com/rjconsultores/ventaboletos/dao/TarifaOficialDAO.java @@ -27,7 +27,7 @@ public interface TarifaOficialDAO extends GenericDAO { public Integer gerarTarifaArtesp(Integer ruta, Integer usuarioId, Integer orgaoConcedenteId, List idsEmpresas); - public Integer gerarTabelaZerada(Integer ruta, Integer usuarioId, Integer orgaoConcedenteId, List idsEmpresas); + public Integer gerarTabelaZerada(Integer ruta, Integer usuarioId, Integer orgaoConcedenteId, List idsEmpresas,ListlsParadaId); /** * See {@link TarifaOficialService#atualizarTarifaPorCoeficiente(Integer, Integer)} @@ -57,7 +57,7 @@ public interface TarifaOficialDAO extends GenericDAO { * @param orgaoConcedenteId TODO * @param empresaId TODO */ - public void atualizarTaxaEmbarque(List lsRuta, Integer usuarioId, Integer orgaoConcedenteId, List idsEmpresas); + public void atualizarTaxaEmbarque(List lsRuta, Integer usuarioId, Integer orgaoConcedenteId, List idsEmpresas,List lsParadaIds); /** * See {@link TarifaOficialService#atualizarSeguroPorKm(Integer, Integer, Integer)} diff --git a/src/com/rjconsultores/ventaboletos/dao/hibernate/CalcularPeajeHibernateDAO.java b/src/com/rjconsultores/ventaboletos/dao/hibernate/CalcularPeajeHibernateDAO.java index 3424d9776..485e37687 100644 --- a/src/com/rjconsultores/ventaboletos/dao/hibernate/CalcularPeajeHibernateDAO.java +++ b/src/com/rjconsultores/ventaboletos/dao/hibernate/CalcularPeajeHibernateDAO.java @@ -16,6 +16,7 @@ import java.util.List; import java.util.Map; import java.util.Set; +import org.apache.commons.lang.StringUtils; import org.apache.log4j.Logger; import org.hibernate.Query; import org.hibernate.SessionFactory; @@ -85,7 +86,7 @@ public class CalcularPeajeHibernateDAO extends GenericHibernateDAO buscarCasetasPeajeWithinTramo(Ruta ruta) { + public List buscarCasetasPeajeWithinTramo(Ruta ruta, Integer[] listCasetaPeaje) { StringBuilder sql = new StringBuilder() .append("with tramo_tmp as ( ") .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 lsRuta, OrgaoConcedente orgao, boolean usaICMS) throws Exception { + public int[] gerarSQLInserirPeajes(List lsRuta, OrgaoConcedente orgao, boolean usaICMS,Integer[] listCasetaPeaje) throws Exception { boolean isOrgaoNull = orgao == null; List updates = new ArrayList(); Set peajes = new HashSet(); @@ -171,7 +177,7 @@ public class CalcularPeajeHibernateDAO extends GenericHibernateDAO lsObj = buscarCasetasPeajeWithinTramo(ruta); + List lsObj = buscarCasetasPeajeWithinTramo(ruta,listCasetaPeaje); log.info("****** QTD COMBINAÇÕES DE TRECHOS x QTD PEDAGIOS POR TRECHO: "+lsObj.size()+" ******"); if(isOrgaoNull){ diff --git a/src/com/rjconsultores/ventaboletos/dao/hibernate/ParadaHibernateDAO.java b/src/com/rjconsultores/ventaboletos/dao/hibernate/ParadaHibernateDAO.java index 3539190d2..fecf4f40b 100644 --- a/src/com/rjconsultores/ventaboletos/dao/hibernate/ParadaHibernateDAO.java +++ b/src/com/rjconsultores/ventaboletos/dao/hibernate/ParadaHibernateDAO.java @@ -128,6 +128,41 @@ public class ParadaHibernateDAO extends GenericHibernateDAO imp return c.list(); } + + @Override + public List 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 public List obterPossiveisDestinos(Parada origem) { diff --git a/src/com/rjconsultores/ventaboletos/dao/hibernate/RutaHibernateDAO.java b/src/com/rjconsultores/ventaboletos/dao/hibernate/RutaHibernateDAO.java index bda5e3db2..fee5d58b2 100644 --- a/src/com/rjconsultores/ventaboletos/dao/hibernate/RutaHibernateDAO.java +++ b/src/com/rjconsultores/ventaboletos/dao/hibernate/RutaHibernateDAO.java @@ -287,6 +287,33 @@ public class RutaHibernateDAO extends GenericHibernateDAO impleme return c.list(); } + + + @Override + public List 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 public void updateAsientosVendibles(Ruta ruta, Tramo viejoTramo, Tramo nuevoTramo) { @@ -434,4 +461,34 @@ public class RutaHibernateDAO extends GenericHibernateDAO impleme return c.list(); } + + @Override + public List buscarPorIds(Integer[] rutaIds) { + Criteria c = this.makeCriteria(); + c.add(Restrictions.in("rutaId", rutaIds)); + return c.list(); + } + + @Override + public List 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(); + + + } + } diff --git a/src/com/rjconsultores/ventaboletos/dao/hibernate/TarifaOficialHibernateDAO.java b/src/com/rjconsultores/ventaboletos/dao/hibernate/TarifaOficialHibernateDAO.java index 69db32593..12f06f4b7 100644 --- a/src/com/rjconsultores/ventaboletos/dao/hibernate/TarifaOficialHibernateDAO.java +++ b/src/com/rjconsultores/ventaboletos/dao/hibernate/TarifaOficialHibernateDAO.java @@ -67,9 +67,9 @@ public class TarifaOficialHibernateDAO extends GenericHibernateDAO idsEmpresas) { + public Integer gerarTabelaZerada(Integer rutaId, Integer usuarioId, Integer orgaoConcedenteId, List idsEmpresas,ListlsParadaId) { - String sql = sqlBuilder.getSQLGerarTabelaZerada(rutaId, usuarioId, orgaoConcedenteId, idsEmpresas); + String sql = sqlBuilder.getSQLGerarTabelaZerada(rutaId, usuarioId, orgaoConcedenteId, idsEmpresas,lsParadaId); int qtd = getSession().createSQLQuery(sql).executeUpdate(); @@ -210,7 +210,7 @@ public class TarifaOficialHibernateDAO extends GenericHibernateDAO lsRuta, Integer usuarioId, Integer orgaoConcedenteId, List idsEmpresas) { + public void atualizarTaxaEmbarque(List lsRuta, Integer usuarioId, Integer orgaoConcedenteId, List idsEmpresas,List lsParadaIds) { int x = 0; @@ -226,15 +226,15 @@ public class TarifaOficialHibernateDAO extends GenericHibernateDAO 0); diff --git a/src/com/rjconsultores/ventaboletos/dao/sqlbuilder/SQLBuilder.java b/src/com/rjconsultores/ventaboletos/dao/sqlbuilder/SQLBuilder.java index 048eebf3f..dd14a663b 100644 --- a/src/com/rjconsultores/ventaboletos/dao/sqlbuilder/SQLBuilder.java +++ b/src/com/rjconsultores/ventaboletos/dao/sqlbuilder/SQLBuilder.java @@ -23,18 +23,18 @@ public interface SQLBuilder { public String getSQLGerarTarifaOficial(Integer codRuta, Integer usuarioId, OrgaoConcedente orgaoConcedente, List idsEmpresas); - public String getSQLGerarTabelaZerada(Integer codRuta, Integer usuarioId, Integer orgaoConcedenteId, List idsEmpresas); + public String getSQLGerarTabelaZerada(Integer codRuta, Integer usuarioId, Integer orgaoConcedenteId, List idsEmpresas, List lsParadaId); public String getSQLAtualizarTarifaOficial(Integer rutaId, Integer usuarioId, OrgaoConcedente orgaoConcedente); public String getSQLGerarTarifaOficialArtesp(Integer codRuta, Integer usuarioId, Integer orgaoConcedenteId, List idsEmpresas); - public String getAtualizarTaxaEmbarquePorKmParada(Integer rutaId, Integer usuarioId, Integer orgaoConcedenteId, List idsEmpresas); + public String getAtualizarTaxaEmbarquePorKmParada(Integer rutaId, Integer usuarioId, Integer orgaoConcedenteId, List idsEmpresas,ListlsParadaIds); - public String getSQLAtualizarTaxaEmbarquePorKmOrgao(Integer rutaId, Integer usuarioId, Integer orgaoConcedenteId, List idsEmpresas); + public String getSQLAtualizarTaxaEmbarquePorKmOrgao(Integer rutaId, Integer usuarioId, Integer orgaoConcedenteId, List idsEmpresas, List lsParadaIds); - public String getSQLAtualizarTaxaEmbarquePorParadaFixo(Integer rutaId, Integer usuarioId,Integer orgaoConcedenteId, List idsEmpresas); + public String getSQLAtualizarTaxaEmbarquePorParadaFixo(Integer rutaId, Integer usuarioId,Integer orgaoConcedenteId, List idsEmpresas,List lsParadaIds); public String getSQLAtualizarSeguroPorKm(Integer rutaId, Integer usuarioId, Integer orgaoConcedenteId, TipoSeguro tipoSeguro); diff --git a/src/com/rjconsultores/ventaboletos/dao/sqlbuilder/impl/SQLBuilderOracle.java b/src/com/rjconsultores/ventaboletos/dao/sqlbuilder/impl/SQLBuilderOracle.java index 1bb52cc00..96f8e1784 100644 --- a/src/com/rjconsultores/ventaboletos/dao/sqlbuilder/impl/SQLBuilderOracle.java +++ b/src/com/rjconsultores/ventaboletos/dao/sqlbuilder/impl/SQLBuilderOracle.java @@ -24,7 +24,7 @@ public class SQLBuilderOracle implements SQLBuilder { private static final Integer DER_PR = 2; @Override - public String getSQLGerarTabelaZerada(final Integer codRuta, final Integer usuarioId,final Integer orgaoConcedenteId, final List idsEmpresas){ + public String getSQLGerarTabelaZerada(final Integer codRuta, final Integer usuarioId, final Integer orgaoConcedenteId, final List idsEmpresas, List lsParadaId) { StringBuilder sb = new StringBuilder(); sb.append("INSERT "); @@ -102,7 +102,7 @@ public class SQLBuilderOracle implements SQLBuilder { sb.append(" and mc.activo = 1 "); sb.append(" and re.activo = 1 "); 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 "); 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(" tao.moneda_id,tao.orgaoconcedente_id, tao.ruta_id "); 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(); } @Override public String getSQLGerarTarifaOficialArtesp(final Integer codRuta, final Integer usuarioId, - final Integer orgaoConcedenteId, final List idsEmpresas) - { + final Integer orgaoConcedenteId, final List idsEmpresas) { StringBuilder sb = new StringBuilder(); sb.append(" INSERT "); 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 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 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 pd on pd.parada_id = t.destino_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 r.orgaoconcedente_id = 21 "); 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 "); if (orgaoConcedenteId != null) { @@ -275,12 +277,12 @@ public class SQLBuilderOracle implements SQLBuilder { sb.append(" select "); sb.append(" "); sb.append(" TARIFA_OFICIAL_SEQ.NEXTVAL, "); - //>> 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(" 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(" ELSE " ); - //< COEFICIENTE DA CLASSE 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(" 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(" ELSE "); + // < COEFICIENTE DA CLASSE ESTA NULL sb.append(" ROUND( "); sb.append(" (coalesce(ct1.coeficiente,0) * coalesce(tc.kmcoeficiente1,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(" end else " ); - //< ORGAO NAO EH DER-PR + sb.append(" end else "); + // < ORGAO NAO EH DER-PR sb.append(" ROUND( "); sb.append(" (coalesce(ct1.coeficiente,0) * coalesce(tc.kmcoeficiente1,0) + "); sb.append(" coalesce(ct2.coeficiente,0) * coalesce(tc.kmcoeficiente2,0) + "); @@ -302,14 +304,14 @@ public class SQLBuilderOracle implements SQLBuilder { } else { sb.append(" 1, 2 ) "); } - sb.append(" end , " ); + sb.append(" end , "); // - //>> 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(" 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(" ELSE " ); - //< COEFICIENTE DA CLASSE 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(" 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(" ELSE "); + // < COEFICIENTE DA CLASSE ESTA NULL sb.append(" ROUND( "); sb.append(" (coalesce(ct1.coeficiente,0) * coalesce(tc.kmcoeficiente1,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(" end else " ); - //< ORGAO NAO EH DER-PR + sb.append(" end else "); + // < ORGAO NAO EH DER-PR sb.append(" ROUND( "); sb.append(" (coalesce(ct1.coeficiente,0) * coalesce(tc.kmcoeficiente1,0) + "); sb.append(" coalesce(ct2.coeficiente,0) * coalesce(tc.kmcoeficiente2,0) + "); @@ -331,7 +333,7 @@ public class SQLBuilderOracle implements SQLBuilder { } else { sb.append(" 1, 2 ) "); } - sb.append(" end , " ); + sb.append(" end , "); // sb.append(" t.tramo_id, "); sb.append(" mc.marca_id, "); @@ -386,11 +388,11 @@ public class SQLBuilderOracle implements SQLBuilder { sb.append(" and mc.activo = 1 "); sb.append(" and re.activo = 1 "); 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 "); } 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 "); if (orgaoConcedente != null && orgaoConcedente.getOrgaoConcedenteId() != null && orgaoConcedente.getOrgaoConcedenteId() != SELECAO_TODOS) { @@ -475,7 +477,7 @@ public class SQLBuilderOracle implements SQLBuilder { } @Override - public String getAtualizarTaxaEmbarquePorKmParada(final Integer rutaId, final Integer usuarioId,final Integer orgaoConcedenteId, List idsEmpresas) { + public String getAtualizarTaxaEmbarquePorKmParada(final Integer rutaId, final Integer usuarioId, final Integer orgaoConcedenteId, List idsEmpresas, List lsParadaIds) { StringBuilder sb = new StringBuilder(""); sb.append("update tarifa_oficial set IMPORTETAXAEMBARQUE = "); 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 TAXA_EMBARQUE_PARADA tepKm on "); 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("where "); 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 tepKm.orgaoconcedente_id = tarifa_oficial.orgaoconcedente_id "); 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(", usuario_id = ").append(usuarioId).append(",fecmodif = ").append(DBUtil.getInstance().dbSysdate()).append(" "); @@ -520,13 +526,14 @@ public class SQLBuilderOracle implements SQLBuilder { if (orgaoConcedenteId != null) { 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(); } @Override - public String getSQLAtualizarTaxaEmbarquePorKmOrgao(final Integer rutaId, final Integer usuarioId,final Integer orgaoConcedenteId, List idsEmpresas) { + public String getSQLAtualizarTaxaEmbarquePorKmOrgao(final Integer rutaId, final Integer usuarioId, final Integer orgaoConcedenteId, List idsEmpresas,List lsParadaIds) { StringBuilder sb = new StringBuilder(""); sb.append("update tarifa_oficial set IMPORTETAXAEMBARQUE = "); sb.append("coalesce( "); @@ -560,8 +567,14 @@ public class SQLBuilderOracle implements SQLBuilder { sb.append(" and tao.tramo_id = tarifa_oficial.tramo_id "); 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(", usuario_id = ").append(usuarioId).append(",fecmodif = ").append(DBUtil.getInstance().dbSysdate()).append(" "); @@ -576,11 +589,15 @@ public class SQLBuilderOracle implements SQLBuilder { if (orgaoConcedenteId != null) { 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(); } @Override - public String getSQLAtualizarTaxaEmbarquePorParadaFixo(final Integer rutaId, final Integer usuarioId,final Integer orgaoConcedenteId, List idsEmpresas) { + public String getSQLAtualizarTaxaEmbarquePorParadaFixo(final Integer rutaId, final Integer usuarioId, final Integer orgaoConcedenteId, List idsEmpresas,List lsParadaIds) { StringBuilder sb = new StringBuilder(""); sb.append("update tarifa_oficial set IMPORTETAXAEMBARQUE = "); @@ -593,7 +610,7 @@ public class SQLBuilderOracle implements SQLBuilder { sb.append(" tarifa_oficial tao "); sb.append(" inner join tramo t on t.tramo_id = tao.tramo_id "); 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(" inner join marca m on m.marca_id = tao.marca_id "); 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.ruta_id = tarifa_oficial.ruta_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(", usuario_id = ").append(usuarioId).append(",fecmodif = ").append(DBUtil.getInstance().dbSysdate()).append(" "); sb.append(" "); @@ -616,15 +637,19 @@ public class SQLBuilderOracle implements SQLBuilder { if (orgaoConcedenteId != null) { 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(); } - + private String obtemEmpresas(List idsEmpresas) { if (idsEmpresas == null || idsEmpresas.contains(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 @@ -751,7 +776,7 @@ public class SQLBuilderOracle implements SQLBuilder { sb.append(" tao.IMPORTEOUTROS AS \"taoimporteoutros\", "); 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(" AND tao.CLASESERVICIO_ID = ta.CLASESERVICIO_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); - if(orgao != null){ + if (orgao != null) { 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 mTao.EMPRESA_ID = ").append(empresa.getEmpresaId()); } @@ -776,25 +801,25 @@ public class SQLBuilderOracle implements SQLBuilder { } @Override - public String getSQLAtualizarTarifaPorTarifaOfical(Map dados, Integer usuarioId, Boolean calculaPegagio, - Boolean calculaTarifa, Boolean calculaTaxaEmbarque, Boolean calculaSeguro, Boolean calculaTPP){ + public String getSQLAtualizarTarifaPorTarifaOfical(Map dados, Integer usuarioId, Boolean calculaPegagio, + Boolean calculaTarifa, Boolean calculaTaxaEmbarque, Boolean calculaSeguro, Boolean calculaTPP) { StringBuilder sb = new StringBuilder(""); sb.append("UPDATE TARIFA SET "); - if(calculaPegagio){ + if (calculaPegagio) { 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(","); } - if(calculaTaxaEmbarque){ + if (calculaTaxaEmbarque) { sb.append("IMPORTETAXAEMBARQUE=").append(dados.get("taoimportetaxaembarque")).append(","); } - if(calculaSeguro){ + if (calculaSeguro) { sb.append("IMPORTESEGURO=").append(dados.get("taoimporteseguro")).append(","); } - if(calculaTPP){ + if (calculaTPP) { sb.append("IMPORTETPP=").append(dados.get("taoimportetpp")).append(","); } sb.append("IMPORTEOUTROS=").append(dados.get("taoimporteoutros")).append(","); @@ -1287,7 +1312,7 @@ public class SQLBuilderOracle implements SQLBuilder { public String getSQLObterSequenciaNumOperacion() { return "select numeoperacion_seq.nextval from dual"; } - + @Override public String getSQLInserirTarifaEmbarcadaPelaTarifaOficial(final Integer vigenciaTarifaId, final Integer usuarioId, Empresa empresa, OrgaoConcedente orgao) { StringBuilder sb = new StringBuilder(""); @@ -1354,7 +1379,7 @@ public class SQLBuilderOracle implements SQLBuilder { return sb.toString(); } - + @Override public String getSQLSelecionarTarifaEmbarcadaPorTarifaOficalParaAtualizar(final Integer vigenciaTarifaId, Empresa empresa, OrgaoConcedente orgao) { StringBuilder sb = new StringBuilder(""); @@ -1368,7 +1393,7 @@ public class SQLBuilderOracle implements SQLBuilder { sb.append(" tao.IMPORTEOUTROS AS \"taoimporteoutros\", "); 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(" AND tao.CLASESERVICIO_ID = ta.CLASESERVICIO_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); - if(orgao != null){ + if (orgao != null) { 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 mTao.EMPRESA_ID = ").append(empresa.getEmpresaId()); } return sb.toString(); } - + @Override - public String getSQLAtualizarTarifaEmbarcadaPorTarifaOfical(Map dados, Integer usuarioId, Boolean calculaPegagio, - Boolean calculaTarifa, Boolean calculaTaxaEmbarque, Boolean calculaSeguro, Boolean calculaTPP){ + public String getSQLAtualizarTarifaEmbarcadaPorTarifaOfical(Map dados, Integer usuarioId, Boolean calculaPegagio, + Boolean calculaTarifa, Boolean calculaTaxaEmbarque, Boolean calculaSeguro, Boolean calculaTPP) { StringBuilder sb = new StringBuilder(""); sb.append("UPDATE TARIFA_EMBARCADA SET "); - if(calculaPegagio){ + if (calculaPegagio) { 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(","); } - if(calculaTaxaEmbarque){ + if (calculaTaxaEmbarque) { sb.append("IMPORTETAXAEMBARQUE=").append(dados.get("taoimportetaxaembarque")).append(","); } - if(calculaSeguro){ + if (calculaSeguro) { sb.append("IMPORTESEGURO=").append(dados.get("taoimporteseguro")).append(","); } - if(calculaTPP){ + if (calculaTPP) { sb.append("IMPORTETPP=").append(dados.get("taoimportetpp")).append(","); } sb.append("IMPORTEOUTROS=").append(dados.get("taoimporteoutros")).append(","); diff --git a/src/com/rjconsultores/ventaboletos/service/CalcularPeajeService.java b/src/com/rjconsultores/ventaboletos/service/CalcularPeajeService.java index debfe09e0..5a83ade55 100644 --- a/src/com/rjconsultores/ventaboletos/service/CalcularPeajeService.java +++ b/src/com/rjconsultores/ventaboletos/service/CalcularPeajeService.java @@ -6,7 +6,7 @@ import com.rjconsultores.ventaboletos.entidad.OrgaoConcedente; import com.rjconsultores.ventaboletos.entidad.Ruta; public interface CalcularPeajeService { - public List buscarCasetasPeajeWithinTramo(Ruta ruta); + public List buscarCasetasPeajeWithinTramo(Ruta ruta,Integer[] listCasetaPeaje); public List buscarRutaWithCasetaPeajeFromOrgao(OrgaoConcedente oc); - public int[] gerarSQLInserirPeajes(List lsRuta, OrgaoConcedente orgao, boolean usaICMS) throws Exception; + public int[] gerarSQLInserirPeajes(List lsRuta, OrgaoConcedente orgao, boolean usaICMS,Integer[] listCasetaPeaje) throws Exception; } diff --git a/src/com/rjconsultores/ventaboletos/service/ParadaService.java b/src/com/rjconsultores/ventaboletos/service/ParadaService.java index 68f193036..f2450eaee 100644 --- a/src/com/rjconsultores/ventaboletos/service/ParadaService.java +++ b/src/com/rjconsultores/ventaboletos/service/ParadaService.java @@ -49,5 +49,7 @@ public interface ParadaService { public List buscarPorAgrupamentoParadaId(AgrupamentoParada agrupamentoParada); public List buscarDestinosPorOrigem(Integer origemId); + + public List obtenerOrigenPorListRutaIds(Integer orgaoConcendenteId, Integer empresaId,Integer[] listRuta); } diff --git a/src/com/rjconsultores/ventaboletos/service/RutaService.java b/src/com/rjconsultores/ventaboletos/service/RutaService.java index 3be36fad0..4e46c59b9 100644 --- a/src/com/rjconsultores/ventaboletos/service/RutaService.java +++ b/src/com/rjconsultores/ventaboletos/service/RutaService.java @@ -118,4 +118,10 @@ public interface RutaService { public List buscaLikeComboBox(String stringConsulta); + public List buscarPorIds(Integer[] rutaIds); + + public List buscarPorOrgaoEcasetaPeaje(OrgaoConcedente orgao, Integer[] listCasetaPeaje); + + public List buscarRutasPorEmpresaOrgaoConcedenteParadaIds(Empresa empresa, OrgaoConcedente orgao, Integer[] lsParadaIds) ; + } diff --git a/src/com/rjconsultores/ventaboletos/service/TarifaOficialService.java b/src/com/rjconsultores/ventaboletos/service/TarifaOficialService.java index c9fa4a122..e72a67eb8 100644 --- a/src/com/rjconsultores/ventaboletos/service/TarifaOficialService.java +++ b/src/com/rjconsultores/ventaboletos/service/TarifaOficialService.java @@ -95,8 +95,7 @@ public interface TarifaOficialService { * @param empresaId - Empresa para ser filtrada * @throws BusinessException */ - public void atualizarTaxaEmbarque(List lsRuta, Integer orgaoConcedenteId,boolean gerarTabelaZerada, List lsEmpresaSelected) throws BusinessException; - + public void atualizarTaxaEmbarque(List lsRuta, Integer orgaoConcedenteId,boolean gerarTabelaZerada, List lsEmpresaSelected, List lsParadaIds) throws BusinessException; /** * Atualiza o seguro de acordo a kilometragem do trecho @@ -137,7 +136,7 @@ public interface TarifaOficialService { public void borrar(TarifaOficial tarifaOficial); - public void gerarAtualizarTabelaZerada(List lsRuta, Integer orgaoConcedenteId, List lsEmpresaSelected) throws BusinessException ; + public void gerarAtualizarTabelaZerada(List lsRuta, Integer orgaoConcedenteId, List lsEmpresaSelected,List lsParadaId) throws BusinessException ; public void atualizarPedagio(); diff --git a/src/com/rjconsultores/ventaboletos/service/impl/CalcularPeajeServiceImpl.java b/src/com/rjconsultores/ventaboletos/service/impl/CalcularPeajeServiceImpl.java index 582bb02bc..22631e658 100644 --- a/src/com/rjconsultores/ventaboletos/service/impl/CalcularPeajeServiceImpl.java +++ b/src/com/rjconsultores/ventaboletos/service/impl/CalcularPeajeServiceImpl.java @@ -7,6 +7,7 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import com.rjconsultores.ventaboletos.dao.CalcularPeajeDAO; +import com.rjconsultores.ventaboletos.entidad.CasetaPeaje; import com.rjconsultores.ventaboletos.entidad.OrgaoConcedente; import com.rjconsultores.ventaboletos.entidad.Ruta; import com.rjconsultores.ventaboletos.exception.BusinessException; @@ -19,8 +20,8 @@ public class CalcularPeajeServiceImpl implements CalcularPeajeService{ private CalcularPeajeDAO calcularPeajeDAO; @Override - public List buscarCasetasPeajeWithinTramo(Ruta ruta){ - return calcularPeajeDAO.buscarCasetasPeajeWithinTramo(ruta); + public List buscarCasetasPeajeWithinTramo(Ruta ruta,Integer[] listCasetaPeaje){ + return calcularPeajeDAO.buscarCasetasPeajeWithinTramo(ruta,listCasetaPeaje); } @Override @@ -30,7 +31,7 @@ public class CalcularPeajeServiceImpl implements CalcularPeajeService{ @Override @Transactional(rollbackFor = BusinessException.class) - public int[] gerarSQLInserirPeajes(List lsRuta, OrgaoConcedente orgao, boolean usaICMS) throws Exception { - return calcularPeajeDAO.gerarSQLInserirPeajes(lsRuta, orgao, usaICMS); + public int[] gerarSQLInserirPeajes(List lsRuta, OrgaoConcedente orgao, boolean usaICMS,Integer[] listCasetaPeaje) throws Exception { + return calcularPeajeDAO.gerarSQLInserirPeajes(lsRuta, orgao, usaICMS,listCasetaPeaje); } } diff --git a/src/com/rjconsultores/ventaboletos/service/impl/ParadaServiceImpl.java b/src/com/rjconsultores/ventaboletos/service/impl/ParadaServiceImpl.java index 9e19b748f..c67827ade 100644 --- a/src/com/rjconsultores/ventaboletos/service/impl/ParadaServiceImpl.java +++ b/src/com/rjconsultores/ventaboletos/service/impl/ParadaServiceImpl.java @@ -185,4 +185,9 @@ public class ParadaServiceImpl implements ParadaService { public List buscarDestinosPorOrigem(Integer origemId) { return paradaDAO.buscarDestinosPorOrigem(origemId); } + + @Override + public List obtenerOrigenPorListRutaIds(Integer orgaoConcendenteId, Integer empresaId, Integer[] listRuta){ + return paradaDAO.obtenerOrigenPorListRutaIds(orgaoConcendenteId,empresaId,listRuta); + } } diff --git a/src/com/rjconsultores/ventaboletos/service/impl/RutaServiceImpl.java b/src/com/rjconsultores/ventaboletos/service/impl/RutaServiceImpl.java index 4d7ad79dc..bbbf59375 100644 --- a/src/com/rjconsultores/ventaboletos/service/impl/RutaServiceImpl.java +++ b/src/com/rjconsultores/ventaboletos/service/impl/RutaServiceImpl.java @@ -666,4 +666,21 @@ public class RutaServiceImpl implements RutaService { public List buscaLikeComboBox(String stringConsulta) { return rutaDAO.buscaLikeComboBox(stringConsulta); } -} + + @Override + public List buscarPorIds(Integer[] rutaIds){ + return rutaDAO.buscarPorIds(rutaIds); + + } + + @Override + public List buscarPorOrgaoEcasetaPeaje(OrgaoConcedente orgao, Integer[] listCasetaPeaje){ + return rutaDAO.buscarPorOrgaoEcasetaPeaje(orgao,listCasetaPeaje); + } + + @Override + public List buscarRutasPorEmpresaOrgaoConcedenteParadaIds(Empresa empresa, OrgaoConcedente orgao, Integer[] lsParadaIds) { + return rutaDAO.buscarRutasPorEmpresaOrgaoConcedenteParadaIds(empresa,orgao,lsParadaIds); + } + + } diff --git a/src/com/rjconsultores/ventaboletos/service/impl/TarifaOficialServiceImpl.java b/src/com/rjconsultores/ventaboletos/service/impl/TarifaOficialServiceImpl.java index 4eb77a37a..af4450585 100644 --- a/src/com/rjconsultores/ventaboletos/service/impl/TarifaOficialServiceImpl.java +++ b/src/com/rjconsultores/ventaboletos/service/impl/TarifaOficialServiceImpl.java @@ -113,7 +113,7 @@ public class TarifaOficialServiceImpl implements TarifaOficialService { @Override @Transactional(rollbackFor = BusinessException.class) - public void gerarAtualizarTabelaZerada(List lsRuta, Integer orgaoConcedenteId, List lsEmpresaSelected) throws BusinessException { + public void gerarAtualizarTabelaZerada(List lsRuta, Integer orgaoConcedenteId, List lsEmpresaSelected,List lsParadaIds) throws BusinessException { // Limpando a tabela de TARIFA_OFICIAL tarifaOficialDAO.limparTarifasOficiais(lsEmpresaSelected); @@ -134,7 +134,7 @@ public class TarifaOficialServiceImpl implements TarifaOficialService { } //Gerando as tarifas - tarifaOficialDAO.gerarTabelaZerada(rutaId, UsuarioLogado.getUsuarioLogado().getUsuarioId(), orgaoConcedenteId, idsEmpresas); + tarifaOficialDAO.gerarTabelaZerada(rutaId, UsuarioLogado.getUsuarioLogado().getUsuarioId(), orgaoConcedenteId, idsEmpresas,lsParadaIds); x--; }while(x > 0); @@ -142,10 +142,10 @@ public class TarifaOficialServiceImpl implements TarifaOficialService { @Override @Transactional(rollbackFor = BusinessException.class) - public void atualizarTaxaEmbarque(List lsRuta, Integer orgaoConcedenteId,boolean gerarTabelaZerada, List lsEmpresaSelected) throws BusinessException{ + public void atualizarTaxaEmbarque(List lsRuta, Integer orgaoConcedenteId,boolean gerarTabelaZerada, List lsEmpresaSelected, List lsParadaIds) throws BusinessException{ if (gerarTabelaZerada){ - gerarAtualizarTabelaZerada(lsRuta, orgaoConcedenteId, lsEmpresaSelected); + gerarAtualizarTabelaZerada(lsRuta, orgaoConcedenteId, lsEmpresaSelected,lsParadaIds); } List idsEmpresas = new ArrayList(); @@ -153,7 +153,7 @@ public class TarifaOficialServiceImpl implements TarifaOficialService { idsEmpresas.add(e.getEmpresaId()); } - tarifaOficialDAO.atualizarTaxaEmbarque(lsRuta, UsuarioLogado.getUsuarioLogado().getUsuarioId(), orgaoConcedenteId, idsEmpresas); + tarifaOficialDAO.atualizarTaxaEmbarque(lsRuta, UsuarioLogado.getUsuarioLogado().getUsuarioId(), orgaoConcedenteId, idsEmpresas,lsParadaIds); } @Override