diff --git a/src/com/rjconsultores/ventaboletos/dao/RutaCombinacionDAO.java b/src/com/rjconsultores/ventaboletos/dao/RutaCombinacionDAO.java index a0f5fd535..7ff4178ac 100644 --- a/src/com/rjconsultores/ventaboletos/dao/RutaCombinacionDAO.java +++ b/src/com/rjconsultores/ventaboletos/dao/RutaCombinacionDAO.java @@ -17,6 +17,8 @@ import com.rjconsultores.ventaboletos.entidad.Tramo; import com.rjconsultores.ventaboletos.entidad.VigenciaTarifa; import com.rjconsultores.ventaboletos.vo.esquemaoperacional.TarifaEscalaGroupVO; import com.rjconsultores.ventaboletos.vo.esquemaoperacional.TarifaEscalaVO; +import com.rjconsultores.ventaboletos.vo.esquemaoperacional.TarifaOficialEscalaGroupVO; +import com.rjconsultores.ventaboletos.vo.esquemaoperacional.TarifaOficialEscalaVO; import java.util.List; /** @@ -61,4 +63,10 @@ public interface RutaCombinacionDAO extends GenericDAO public List pesquisaTarifaEscalaObj(String rutaId, String monedaId, String vigenciaId, String marcaId); public List pesquisaTarifaGroupObj(List lsAddRmvMonedas, List lsAddRmvMarcas, List lsAddRmvClaseServico, List lsAddRmvCategoria, List lsAddRmvEmpresas, List lsAddRmvRutas, List lsAddRmvTipoPuntoVenta, List lsAddRmvVigenciaTarifa); + + public List pesquisaTarifaOficialEscalaObj(String rutaId, String monedaId, String vigenciaId, String marcaId); + + public List pesquisaTarifaOficialGroupObj(List lsAddRmvMonedas, List lsAddRmvMarcas, List lsAddRmvClaseServico, List lsAddRmvEmpresas, List lsAddRmvRutas, List lsAddRmvVigenciaTarifa); + + public List pesquisaTarifaOficialObj(List lsAddRmvMonedas, List lsAddRmvMarcas, List lsAddRmvClaseServico, List lsAddRmvEmpresas, List lsAddRmvRutas, List lsAddRmvVigenciaTarifa); } diff --git a/src/com/rjconsultores/ventaboletos/dao/TarifaOficialDAO.java b/src/com/rjconsultores/ventaboletos/dao/TarifaOficialDAO.java index d17ca624c..7308010da 100644 --- a/src/com/rjconsultores/ventaboletos/dao/TarifaOficialDAO.java +++ b/src/com/rjconsultores/ventaboletos/dao/TarifaOficialDAO.java @@ -1,10 +1,11 @@ package com.rjconsultores.ventaboletos.dao; +import com.rjconsultores.ventaboletos.entidad.TarifaOficial; import com.rjconsultores.ventaboletos.entidad.VigenciaTarifa; import com.rjconsultores.ventaboletos.service.TarifaOficialService; -public interface TarifaOficialDAO { +public interface TarifaOficialDAO extends GenericDAO{ /** * See {@link TarifaOficialService#gerarTarifaPorCoeficiente(Integer, Integer)} * @param ruta @@ -55,12 +56,12 @@ public interface TarifaOficialDAO { public void atualizarSeguroPorTarifa(Integer rutaId, Integer orgaoId,Integer usuarioId); /** - * Aplica a regra de arredondamento para as tarifas do órgão concedente informado.
+ * Aplica a regra de arredondamento para as tarifas do �rg�o concedente informado.
* * - * Após somar todos os componentes (precio,importetaxaembarque,importeseguro,importeoutros e importepedagio) obtem-se o PRECO final.
+ * Ap�s somar todos os componentes (precio,importetaxaembarque,importeseguro,importeoutros e importepedagio) obtem-se o PRECO final.
* - * Baseado nesse valor, são aplicados as regras de arredondamento onde o componente precio pode sofrer um acréscimo os descréscimo de preço para que o arredondamento
+ * Baseado nesse valor, s�o aplicados as regras de arredondamento onde o componente precio pode sofrer um acr�scimo os descr�scimo de pre�o para que o arredondamento
* fique certo * * @param orgaoConcedenteId diff --git a/src/com/rjconsultores/ventaboletos/dao/hibernate/RutaCombinacionHibernateDAO.java b/src/com/rjconsultores/ventaboletos/dao/hibernate/RutaCombinacionHibernateDAO.java index c076fc8da..06c33e057 100644 --- a/src/com/rjconsultores/ventaboletos/dao/hibernate/RutaCombinacionHibernateDAO.java +++ b/src/com/rjconsultores/ventaboletos/dao/hibernate/RutaCombinacionHibernateDAO.java @@ -37,6 +37,8 @@ import com.rjconsultores.ventaboletos.entidad.VigenciaTarifa; import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado; import com.rjconsultores.ventaboletos.vo.esquemaoperacional.TarifaEscalaGroupVO; import com.rjconsultores.ventaboletos.vo.esquemaoperacional.TarifaEscalaVO; +import com.rjconsultores.ventaboletos.vo.esquemaoperacional.TarifaOficialEscalaGroupVO; +import com.rjconsultores.ventaboletos.vo.esquemaoperacional.TarifaOficialEscalaVO; import org.hibernate.transform.AliasToBeanResultTransformer; /** @@ -344,24 +346,115 @@ public class RutaCombinacionHibernateDAO extends GenericHibernateDAO pesquisaTarifaOficialObj(List lsMoneda, List lsMarca, List lsClaseServicio, List lsEmpresa, List lsRuta, List lsVigenciaTarifa) { + + StringBuilder hql = new StringBuilder(" "); + hql.append(" SELECT T.TARIFAOFICIAL_ID,TRA.DESCTRAMO, "); + hql.append(" ORI.DESCPARADA as origem,DES.DESCPARADA as destino, "); + hql.append(" R.DESCRUTA,M.DESCMARCA, "); + hql.append(" CS.DESCCLASE,'' as feciniciovigencia, "); + hql.append(" '' as fecfinvigencia,MON.descmoneda, "); + hql.append(" T.preciooriginal, T.PRECIO,R.RUTA_ID,MON.moneda_id,'' AS VIGENCIATARIFA_ID,M.MARCA_ID,T.IMPORTETAXAEMBARQUE,T.IMPORTESEGURO,T.IMPORTEPEDAGIO,T.IMPORTEOUTROS "); + hql.append(" FROM "); + hql.append(" ").append(schema).append("RUTA_COMBINACION RC "); + hql.append(" inner join ").append(schema).append("RUTA R on (RC.RUTA_ID = R.RUTA_ID) "); + hql.append(" inner join ").append(schema).append("TRAMO TRA on (RC.TRAMO_ID = TRA.TRAMO_ID) "); + hql.append(" ,").append(schema).append("TARIFA_OFICIAL T "); + if (!lsEmpresa.isEmpty()) { + hql.append(" ,").append(schema).append("RUTA_EMPRESA RE "); + } + hql.append(" ,").append(schema).append("MARCA M,").append(schema).append("MONEDA MON");//.append(,+schema).append("VIGENCIA_TARIFA VT "); + hql.append(" ,").append(schema).append("CLASE_SERVICIO CS , ").append(schema).append("PARADA ORI, ").append(schema).append("PARADA DES "); + hql.append(" WHERE T.activo = 1 AND RC.activo = 1 AND R.activo = 1 "); + if (!lsEmpresa.isEmpty()) { + hql.append(" AND RE.activo = 1 AND RC.RUTA_ID = RE.RUTA_ID "); + } + hql.append(" AND T.TRAMO_ID = TRA.TRAMO_ID "); + hql.append(" AND T.MARCA_ID = M.MARCA_ID "); + hql.append(" AND T.MONEDA_ID = MON.MONEDA_ID "); + //hql.append(" AND T.VIGENCIATARIFA_ID = VT.VIGENCIATARIFA_ID "); + hql.append(" AND T.CLASESERVICIO_ID = CS.CLASESERVICIO_ID "); + hql.append(" AND T.CLASESERVICIO_ID = R.CLASESERVICIO_ID "); + hql.append(" AND TRA.ORIGEN_ID = ORI.PARADA_ID "); + hql.append(" AND TRA.DESTINO_ID = DES.PARADA_ID "); + + +// if (!lsVigenciaTarifa.isEmpty()) { +// StringBuilder sb = new StringBuilder(""); +// for (VigenciaTarifa vt : lsVigenciaTarifa) { +// sb.append(vt.getVigenciatarifaId()).append(","); +// } +// String listInt = sb.toString().substring(0, sb.toString().length() - 1); +// hql.append(" AND VT.VIGENCIATARIFA_ID in (").append(listInt).append(")"); +// } + if (!lsEmpresa.isEmpty()) { + StringBuilder sb = new StringBuilder(""); + for (Empresa vt : lsEmpresa) { + sb.append(vt.getEmpresaId()).append(","); + } + String listInt = sb.toString().substring(0, sb.toString().length() - 1); + hql.append(" AND RE.EMPRESA_ID in (").append(listInt).append(") "); + } + if (!lsRuta.isEmpty()) { + StringBuilder sb = new StringBuilder(""); + for (Ruta vt : lsRuta) { + sb.append(vt.getRutaId()).append(","); + } + String listInt = sb.toString().substring(0, sb.toString().length() - 1); + hql.append(" AND RC.RUTA_ID in (").append(listInt).append(")"); + } + if (!lsMarca.isEmpty()) { + StringBuilder sb = new StringBuilder(""); + for (Marca vt : lsMarca) { + sb.append(vt.getMarcaId()).append(","); + } + String listInt = sb.toString().substring(0, sb.toString().length() - 1); + hql.append(" AND M.MARCA_ID in (").append(listInt).append(") "); + } + if (!lsMoneda.isEmpty()) { + StringBuilder sb = new StringBuilder(""); + for (Moneda vt : lsMoneda) { + sb.append(vt.getMonedaId()).append(","); + } + String listInt = sb.toString().substring(0, sb.toString().length() - 1); + hql.append(" AND MON.MONEDA_ID in (").append(listInt).append(") "); + } + if (!lsClaseServicio.isEmpty()) { + StringBuilder sb = new StringBuilder(""); + for (ClaseServicio cs : lsClaseServicio) { + sb.append(cs.getClaseservicioId()).append(","); + } + String listInt = sb.toString().substring(0, sb.toString().length() - 1); + hql.append(" AND CS.CLASESERVICIO_ID in (").append(listInt).append(") "); + } + + hql.append(" order by R.DESCRUTA, R.RUTA_ID, RC.RUTACOMBINACION_ID,t.TARIFAOFICIAL_id "); + + System.out.println(hql.toString()); + + List lsObj = this.getSession().createSQLQuery(hql.toString()).list(); + + return lsObj; + } public List pesquisaTarifaGroupObj(List lsMoneda, List lsMarca, List lsClaseServicio, List lsCategoria, List lsEmpresa, List lsRuta, List lsTipoPuntoVenta, List lsVigenciaTarifa) { StringBuilder sql = new StringBuilder(" "); - sql.append(" SELECT R.descruta,R.RUTA_ID,MON.moneda_id,VT.VIGENCIATARIFA_ID,M.MARCA_ID,mon.descmoneda,vt.FECINICIOVIGENCIA,vt.FECFINVIGENCIA, M.descmarca,CS.descclase "); + sql.append(" SELECT R.descruta,R.RUTA_ID,MON.moneda_id,'' AS VIGENCIATARIFA_ID,M.MARCA_ID,mon.descmoneda,vt.FECINICIOVIGENCIA,vt.FECFINVIGENCIA, M.descmarca,CS.descclase "); sql.append(" FROM "); sql.append(" ").append(schema).append("RUTA_COMBINACION RC "); sql.append(" inner join ").append(schema).append("RUTA R on (RC.RUTA_ID = R.RUTA_ID) "); sql.append(" inner join ").append(schema).append("TRAMO TRA on (RC.TRAMO_ID = TRA.TRAMO_ID) "); - sql.append(" ,").append(schema).append("TARIFA T ,").append(schema).append("RUTA_EMPRESA RE "); - sql.append(" ,").append(schema).append("MARCA M,").append(schema).append("MONEDA MON,").append(schema).append("VIGENCIA_TARIFA VT "); + sql.append(" ,").append(schema).append("TARIFA_OFICIAL T ,").append(schema).append("RUTA_EMPRESA RE "); + sql.append(" ,").append(schema).append("MARCA M,").append(schema).append("MONEDA MON,");//.append(schema).append("VIGENCIA_TARIFA VT "); sql.append(" ,").append(schema).append("CLASE_SERVICIO CS , ").append(schema).append("PARADA ORI, ").append(schema).append("PARADA DES "); sql.append(" WHERE T.activo = 1 AND RC.activo = 1 AND RE.activo = 1 AND R.activo = 1 "); sql.append(" AND T.TRAMO_ID = TRA.TRAMO_ID "); sql.append(" AND RC.RUTA_ID = RE.RUTA_ID "); sql.append(" AND T.MARCA_ID = M.MARCA_ID "); sql.append(" AND T.MONEDA_ID = MON.MONEDA_ID "); - sql.append(" AND T.VIGENCIATARIFA_ID = VT.VIGENCIATARIFA_ID "); + //sql.append(" AND T.VIGENCIATARIFA_ID = VT.VIGENCIATARIFA_ID "); sql.append(" AND T.CLASESERVICIO_ID = CS.CLASESERVICIO_ID "); sql.append(" AND T.CLASESERVICIO_ID = R.CLASESERVICIO_ID "); sql.append(" AND TRA.ORIGEN_ID = ORI.PARADA_ID "); @@ -369,14 +462,14 @@ public class RutaCombinacionHibernateDAO extends GenericHibernateDAO pesquisaTarifaOficialGroupObj(List lsMoneda, List lsMarca, List lsClaseServicio, List lsEmpresa, List lsRuta, List lsVigenciaTarifa) { + + StringBuilder sql = new StringBuilder(" "); + sql.append(" SELECT R.descruta,R.RUTA_ID,MON.moneda_id,M.MARCA_ID,mon.descmoneda, M.descmarca,CS.descclase "); + sql.append(" FROM "); + sql.append(" ").append(schema).append("RUTA_COMBINACION RC "); + sql.append(" inner join ").append(schema).append("RUTA R on (RC.RUTA_ID = R.RUTA_ID) "); + sql.append(" inner join ").append(schema).append("TRAMO TRA on (RC.TRAMO_ID = TRA.TRAMO_ID) "); + sql.append(" ,").append(schema).append("TARIFA_OFICIAL T ,").append(schema).append("RUTA_EMPRESA RE "); + sql.append(" ,").append(schema).append("MARCA M,").append(schema).append("MONEDA MON");//.append(schema).append("VIGENCIA_TARIFA VT "); + sql.append(" ,").append(schema).append("CLASE_SERVICIO CS , ").append(schema).append("PARADA ORI, ").append(schema).append("PARADA DES "); + sql.append(" WHERE T.activo = 1 AND RC.activo = 1 AND RE.activo = 1 AND R.activo = 1 "); + sql.append(" AND T.TRAMO_ID = TRA.TRAMO_ID "); + sql.append(" AND RC.RUTA_ID = RE.RUTA_ID "); + sql.append(" AND T.MARCA_ID = M.MARCA_ID "); + sql.append(" AND T.MONEDA_ID = MON.MONEDA_ID "); + // sql.append(" AND T.VIGENCIATARIFA_ID = VT.VIGENCIATARIFA_ID "); + sql.append(" AND T.CLASESERVICIO_ID = CS.CLASESERVICIO_ID "); + sql.append(" AND T.CLASESERVICIO_ID = R.CLASESERVICIO_ID "); + sql.append(" AND TRA.ORIGEN_ID = ORI.PARADA_ID "); + sql.append(" AND TRA.DESTINO_ID = DES.PARADA_ID "); + + + +// if (!lsVigenciaTarifa.isEmpty()) { +// StringBuilder sb = new StringBuilder(""); +// for (VigenciaTarifa vt : lsVigenciaTarifa) { +// sb.append(vt.getVigenciatarifaId()).append(","); +// } +// String listInt = sb.toString().substring(0, sb.toString().length() - 1); +// sql.append(" AND VT.VIGENCIATARIFA_ID in (").append(listInt).append(")"); +// } + if (!lsEmpresa.isEmpty()) { + StringBuilder sb = new StringBuilder(""); + for (Empresa vt : lsEmpresa) { + sb.append(vt.getEmpresaId()).append(","); + } + String listInt = sb.toString().substring(0, sb.toString().length() - 1); + sql.append(" AND RE.EMPRESA_ID in (").append(listInt).append(") "); + } + if (!lsRuta.isEmpty()) { + StringBuilder sb = new StringBuilder(""); + for (Ruta vt : lsRuta) { + sb.append(vt.getRutaId()).append(","); + } + String listInt = sb.toString().substring(0, sb.toString().length() - 1); + sql.append(" AND RC.RUTA_ID in (").append(listInt).append(")"); + } + if (!lsMarca.isEmpty()) { + StringBuilder sb = new StringBuilder(""); + for (Marca vt : lsMarca) { + sb.append(vt.getMarcaId()).append(","); + } + String listInt = sb.toString().substring(0, sb.toString().length() - 1); + sql.append(" AND M.MARCA_ID in (").append(listInt).append(") "); + } + if (!lsMoneda.isEmpty()) { + StringBuilder sb = new StringBuilder(""); + for (Moneda vt : lsMoneda) { + sb.append(vt.getMonedaId()).append(","); + } + String listInt = sb.toString().substring(0, sb.toString().length() - 1); + sql.append(" AND MON.MONEDA_ID in (").append(listInt).append(") "); + } + if (!lsClaseServicio.isEmpty()) { + StringBuilder sb = new StringBuilder(""); + for (ClaseServicio cs : lsClaseServicio) { + sb.append(cs.getClaseservicioId()).append(","); + } + String listInt = sb.toString().substring(0, sb.toString().length() - 1); + sql.append(" AND CS.CLASESERVICIO_ID in (").append(listInt).append(") "); + } + + sql.append(" GROUP by R.descruta,R.RUTA_ID,MON.moneda_id,M.MARCA_ID,mon.descmoneda, M.descmarca,CS.descclase "); + sql.append(" ORDER by R.descruta,R.RUTA_ID,MON.moneda_id,M.MARCA_ID"); + + SQLQuery query = getSession().createSQLQuery(sql.toString()); + query.setResultTransformer(new AliasToBeanResultTransformer(TarifaOficialEscalaGroupVO.class)); + + return query.list(); + } + + public List pesquisaTarifaOficialEscalaObj(String rutaId, String monedaId, String vigenciaId, String marcaId) { + + StringBuilder sql = new StringBuilder(" "); + sql.append("select distinct po.cveparada as cveOrigem,po.descparada as descOrigem, "); + sql.append(" pd.cveparada as cveDestino,pd.descparada as descDestino,tmp.numsecuencia as NUMSECORIGEM,tmp2.numsecuencia as NUMSECDESTINO, "); + sql.append(" ta.PRECIO as precio,IMPORTETAXAEMBARQUE as TAXAEMBARQUE, IMPORTEPEDAGIO AS PEDAGIO,IMPORTEOUTROS AS OUTROS,IMPORTESEGURO AS SEGURO,ruta.ruta_id as rutaId,ruta.descruta as descruta "); + sql.append("from "); + sql.append(" ").append(schema).append("ruta_combinacion rc "); + sql.append(" inner join ").append(schema).append("ruta on (ruta.ruta_id = rc.ruta_id) "); + sql.append(" inner join ").append(schema).append("tramo t on t.tramo_id = rc.tramo_id "); + sql.append(" inner join ").append(schema).append("parada po on po.parada_id = t.origen_id "); + sql.append(" inner join ").append(schema).append("parada pd on pd.parada_id = t.destino_id "); + sql.append(" inner join ( "); + sql.append(" (SELECT "); + sql.append(" p.parada_id,p.cveparada,rs.numsecuencia+1 as numsecuencia,rs.ruta_id "); + sql.append(" FROM "); + sql.append(" ").append(schema).append("ruta_secuencia rs "); + sql.append(" INNER JOIN ").append(schema).append("tramo t ON t.tramo_id = rs.tramo_id "); + sql.append(" INNER JOIN ").append(schema).append("parada p ON p.parada_id = t.destino_id "); + sql.append(" WHERE "); + sql.append(" rs.ruta_id = ").append(rutaId); + sql.append(" AND rs.activo = 1 "); + sql.append(" and rownum =1 "); + sql.append(" and rs.numsecuencia = (select max(numsecuencia) from ").append(schema).append("ruta_secuencia where activo = 1 and ruta_id = rs.ruta_id)) "); + sql.append(" "); + sql.append(" union "); + + sql.append(" (SELECT "); + sql.append(" p.parada_id,p.cveparada,rs.numsecuencia,rs.ruta_id "); + sql.append(" FROM "); + sql.append(" ").append(schema).append("ruta_secuencia rs "); + sql.append(" INNER JOIN ").append(schema).append("tramo t ON t.tramo_id = rs.tramo_id "); + sql.append(" INNER JOIN ").append(schema).append("parada p ON p.parada_id = t.origen_id "); + sql.append(" WHERE "); + sql.append(" rs.ruta_id = ").append(rutaId); + sql.append(" AND rs.activo = 1) "); + sql.append(" ) tmp on tmp.parada_id = po.parada_id "); + + sql.append("left join ( "); + sql.append(" (SELECT "); + sql.append(" p.parada_id,p.cveparada,rs.numsecuencia+1 as numsecuencia,rs.ruta_id "); + sql.append(" FROM "); + sql.append(" ").append(schema).append("ruta_secuencia rs "); + sql.append(" INNER JOIN ").append(schema).append("tramo t ON t.tramo_id = rs.tramo_id "); + sql.append(" INNER JOIN ").append(schema).append("parada p ON p.parada_id = t.destino_id "); + sql.append(" WHERE "); + sql.append(" rs.ruta_id = ").append(rutaId); + sql.append(" AND rs.activo = 1 "); + sql.append(" and rs.numsecuencia = (select max(numsecuencia) from ").append(schema).append("ruta_secuencia where activo = 1 and ruta_id = rs.ruta_id)) "); + sql.append(" union "); + sql.append(" (SELECT "); + sql.append(" p.parada_id,p.cveparada,rs.numsecuencia,rs.ruta_id "); + sql.append(" FROM "); + sql.append(" ").append(schema).append("ruta_secuencia rs "); + sql.append(" INNER JOIN ").append(schema).append("tramo t ON t.tramo_id = rs.tramo_id "); + sql.append(" INNER JOIN ").append(schema).append("parada p ON p.parada_id = t.origen_id "); + sql.append(" WHERE "); + sql.append(" rs.ruta_id = ").append(rutaId); + sql.append(" AND rs.activo = 1) "); + sql.append(" ) tmp2 on tmp2.parada_id = pd.parada_id "); + sql.append(" inner join ").append(schema).append("ruta r on r.ruta_id = rc.ruta_id "); + sql.append(" left join ").append(schema).append("tarifa_oficial ta on ta.TRAMO_ID = rc.tramo_id and ta.claseservicio_id = r.claseservicio_id and ta.MONEDA_ID = ").append(monedaId).append(" and ta.activo = 1 "); + sql.append(" where "); + sql.append(" rc.ruta_id = ").append(rutaId); + sql.append(" and rc.activo = 1 "); + sql.append(" and ta.MARCA_ID = ").append(marcaId); + // sql.append(" and ta.VIGENCIATARIFA_ID = ").append(vigenciaId); + sql.append(" and ta.moneda_id = ").append(monedaId); + sql.append(" order by ruta.ruta_id ,tmp.numsecuencia,tmp2.numsecuencia "); + + + SQLQuery query = getSession().createSQLQuery(sql.toString()); + query.setResultTransformer(new AliasToBeanResultTransformer(TarifaOficialEscalaVO.class)); + + return query.list(); + } + } diff --git a/src/com/rjconsultores/ventaboletos/dao/hibernate/RutaHibernateDAO.java b/src/com/rjconsultores/ventaboletos/dao/hibernate/RutaHibernateDAO.java index 3d261aff2..a2bbad6dc 100644 --- a/src/com/rjconsultores/ventaboletos/dao/hibernate/RutaHibernateDAO.java +++ b/src/com/rjconsultores/ventaboletos/dao/hibernate/RutaHibernateDAO.java @@ -86,8 +86,7 @@ public class RutaHibernateDAO extends GenericHibernateDAO Boolean nomeObrigatorio) { Criteria c = getSession().createCriteria(getPersistentClass()); c.add(Restrictions.eq("activo", Boolean.TRUE)); - - c.add(Restrictions.eq("descruta", nomeRuta)); + //c.add(Restrictions.eq("descruta", nomeRuta)); c.add(Restrictions.eq("claseServicio", claseServicio)); c.add(Restrictions.eq("indNombreObligatorio", nomeObrigatorio)); diff --git a/src/com/rjconsultores/ventaboletos/dao/hibernate/TarifaOficialHibernateDAO.java b/src/com/rjconsultores/ventaboletos/dao/hibernate/TarifaOficialHibernateDAO.java index 7ac6fe4e9..2284290f5 100644 --- a/src/com/rjconsultores/ventaboletos/dao/hibernate/TarifaOficialHibernateDAO.java +++ b/src/com/rjconsultores/ventaboletos/dao/hibernate/TarifaOficialHibernateDAO.java @@ -11,7 +11,6 @@ import com.rjconsultores.ventaboletos.dao.TarifaOficialDAO; import com.rjconsultores.ventaboletos.dao.sqlbuilder.SQLBuilder; import com.rjconsultores.ventaboletos.entidad.TarifaOficial; import com.rjconsultores.ventaboletos.entidad.VigenciaTarifa; -import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado; @Repository("tarifaOficialDAO") public class TarifaOficialHibernateDAO extends GenericHibernateDAO implements TarifaOficialDAO { diff --git a/src/com/rjconsultores/ventaboletos/service/RutaCombinacionService.java b/src/com/rjconsultores/ventaboletos/service/RutaCombinacionService.java index 240d2eab4..66dca877c 100644 --- a/src/com/rjconsultores/ventaboletos/service/RutaCombinacionService.java +++ b/src/com/rjconsultores/ventaboletos/service/RutaCombinacionService.java @@ -15,6 +15,7 @@ import com.rjconsultores.ventaboletos.entidad.RutaCombinacion; import com.rjconsultores.ventaboletos.entidad.TipoPuntoVenta; import com.rjconsultores.ventaboletos.entidad.Tramo; import com.rjconsultores.ventaboletos.entidad.VigenciaTarifa; +import java.util.ArrayList; import java.util.List; import org.apache.poi.hssf.usermodel.HSSFWorkbook; @@ -53,4 +54,8 @@ public interface RutaCombinacionService extends GenericService pesquisaTarifaObj(List lsAddRmvMonedas, List lsAddRmvMarcas, List lsAddRmvClaseServico, List lsAddRmvCategoria, List lsAddRmvEmpresas, List lsAddRmvRutas, List lsAddRmvTipoPuntoVenta, List lsAddRmvVigenciaTarifa); public HSSFWorkbook gerarTarifaEscala(List lsAddRmvMonedas, List lsAddRmvMarcas, List lsAddRmvClaseServico, List lsAddRmvCategoria, List lsAddRmvEmpresas, List lsAddRmvRutas, List lsAddRmvTipoPuntoVenta, List lsAddRmvVigenciaTarifa); + + public HSSFWorkbook gerarTarifaOficialEscala(List lsAddRmvMonedas, List lsAddRmvMarcas, List lsAddRmvClaseServico, ArrayList arrayList, List lsAddRmvEmpresas, List lsAddRmvRutas, ArrayList arrayList0, List lsAddRmvVigenciaTarifa); + + public List pesquisaTarifaOficialObj(List lsAddRmvMonedas, List lsAddRmvMarcas, List lsAddRmvClaseServico, ArrayList arrayList, List lsAddRmvEmpresas, List lsAddRmvRutas, ArrayList arrayList0, List lsAddRmvVigenciaTarifa); } diff --git a/src/com/rjconsultores/ventaboletos/service/TarifaOficialService.java b/src/com/rjconsultores/ventaboletos/service/TarifaOficialService.java index 55c414445..685931d3a 100644 --- a/src/com/rjconsultores/ventaboletos/service/TarifaOficialService.java +++ b/src/com/rjconsultores/ventaboletos/service/TarifaOficialService.java @@ -1,21 +1,22 @@ package com.rjconsultores.ventaboletos.service; import com.rjconsultores.ventaboletos.dao.TarifaOficialDAO; +import com.rjconsultores.ventaboletos.entidad.TarifaOficial; import com.rjconsultores.ventaboletos.entidad.VigenciaTarifa; import com.rjconsultores.ventaboletos.exception.BusinessException; -public interface TarifaOficialService { +public interface TarifaOficialService extends GenericService{ /** - * Gera as tarifas de acordo o cálculo do coeficiente tarifário.
+ * Gera as tarifas de acordo o c�lculo do coeficiente tarif�rio.
* - * Fórmula: (KM * Coeficiente Tarifário) + * F�rmula: (KM * Coeficiente Tarif�rio) * - * Se o parametro ruta não for informado, será gerado tarifas para todas as + * Se o parametro ruta n�o for informado, ser� gerado tarifas para todas as * rutas.
* - * Obs.: Essa operção apenas gera tarifas que ainda não estão geradas
+ * Obs.: Essa oper��o apenas gera tarifas que ainda n�o est�o geradas
* * @param rutaId * @param orgaoConcedenteId TODO @@ -24,11 +25,11 @@ public interface TarifaOficialService { public Integer gerarTarifaPorCoeficiente(Integer rutaId, Integer orgaoConcedenteId); /** - * Atualiza as tarifas de acordo o cálculo do coeficiente tarifário.
+ * Atualiza as tarifas de acordo o c�lculo do coeficiente tarif�rio.
* - * Fórmula: (KM * Coeficiente Tarifário) + * F�rmula: (KM * Coeficiente Tarif�rio) * - * Se o parametro ruta não for informado, será atualizado as tarifas para + * Se o parametro ruta n�o for informado, ser� atualizado as tarifas para * todas as rutas.
* * @param rutaId @@ -38,9 +39,9 @@ public interface TarifaOficialService { public Integer atualizarTarifaPorCoeficiente(Integer rutaId, Integer orgaoConcedenteId); /** - * Gera as novas tarifas e atualiza as já existentes + * Gera as novas tarifas e atualiza as j� existentes * - * Utiliza os métodos {@link #gerarTarifaPorCoeficiente(Integer, Integer)} e {@link #atualizarTarifaPorCoeficiente(Integer, Integer)} + * Utiliza os m�todos {@link #gerarTarifaPorCoeficiente(Integer, Integer)} e {@link #atualizarTarifaPorCoeficiente(Integer, Integer)} * * @param rudaId * @param orgaoConcedenteId @@ -57,16 +58,16 @@ public interface TarifaOficialService { /** * Atualiza a taxa de embarque da entidade TarifaOficial.
* - * Para o cálculo, é usado a seguinte lógica:
+ * Para o c�lculo, � usado a seguinte l�gica:
* - Atualiza de acordo a tabela TAXA_EMBARQUE_PARADA por kilometragem
* - Atualiza de acordo a tabela TAXA_EMBARQUE por kilometragem
* - Atualiza de acordo a tabela TAXA_EMBARQUE_PARADA por valor fixo
* - * A sequencia acima indica a ordem de atualização da taxa de embarque.
+ * A sequencia acima indica a ordem de atualiza��o da taxa de embarque.
* - * A taxa de embarque mais restritiva fica por último (TAXA_EMBARQUE_PARADA por valor fixo) + * A taxa de embarque mais restritiva fica por �ltimo (TAXA_EMBARQUE_PARADA por valor fixo) * - * @param rutaId - Se informado, será atualizado apenas a taxa de embarque da ruta informada + * @param rutaId - Se informado, ser� atualizado apenas a taxa de embarque da ruta informada * @param orgaoConcedenteId TODO */ public void atualizarTaxaEmbarque(Integer rutaId, Integer orgaoConcedenteId); @@ -75,16 +76,16 @@ public interface TarifaOficialService { /** * Atualiza o seguro de acordo a kilometragem do trecho * - * @param rutaId - Se informado, será filtrado pela ruta - * @param orgaoId -Campo obrigatório + * @param rutaId - Se informado, ser� filtrado pela ruta + * @param orgaoId -Campo obrigat�rio */ public void atualizarSeguroPorKm(Integer rutaId,Integer orgaoId) throws BusinessException; /** * Atualiza o seguro de acordo o valor da tarifa * - * @param rutaId - Se informado, será filtrado pela ruta - * @param orgaoId -Campo obrigatório + * @param rutaId - Se informado, ser� filtrado pela ruta + * @param orgaoId -Campo obrigat�rio * */ public void atualizarSeguroPorTarifa(Integer rutaId, Integer orgaoId) throws BusinessException; diff --git a/src/com/rjconsultores/ventaboletos/service/impl/RutaCombinacionServiceImpl.java b/src/com/rjconsultores/ventaboletos/service/impl/RutaCombinacionServiceImpl.java index 943638eda..ae3a111b4 100644 --- a/src/com/rjconsultores/ventaboletos/service/impl/RutaCombinacionServiceImpl.java +++ b/src/com/rjconsultores/ventaboletos/service/impl/RutaCombinacionServiceImpl.java @@ -20,7 +20,11 @@ import com.rjconsultores.ventaboletos.service.RutaCombinacionService; import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado; import com.rjconsultores.ventaboletos.vo.esquemaoperacional.TarifaEscalaGroupVO; import com.rjconsultores.ventaboletos.vo.esquemaoperacional.TarifaEscalaVO; +import com.rjconsultores.ventaboletos.vo.esquemaoperacional.TarifaOficialEscalaGroupVO; +import com.rjconsultores.ventaboletos.vo.esquemaoperacional.TarifaOficialEscalaVO; +import java.math.BigDecimal; import java.text.SimpleDateFormat; +import java.util.ArrayList; import java.util.Calendar; import java.util.List; import org.apache.log4j.Logger; @@ -44,7 +48,7 @@ public class RutaCombinacionServiceImpl implements RutaCombinacionService { @Autowired private RutaCombinacionDAO rutaCombinacionDAO; private static Logger log = Logger.getLogger(RutaCombinacionServiceImpl.class); - private int NUM_LINHA_INICIO = 7; + private int NUM_LINHA_INICIO = 8; public List obtenerTodos() { return rutaCombinacionDAO.obtenerTodos(); @@ -122,22 +126,6 @@ public class RutaCombinacionServiceImpl implements RutaCombinacionService { rutaCombinacionDAO.activar(ruta, trBuscaOrigemDestino); } -// public List pesquisaTarifa(List lsAddRmvMonedas, List lsAddRmvMarcas, -// List lsAddRmvClaseServico, List lsAddRmvCategoria, -// List lsAddRmvEmpresas, List lsAddRmvRutas, -// List lsAddRmvTipoPuntoVenta, List lsAddRmvVigenciaTarifa) { -// return rutaCombinacionDAO.pesquisaTarifa(lsAddRmvMonedas, lsAddRmvMarcas, lsAddRmvClaseServico, -// lsAddRmvCategoria, lsAddRmvEmpresas, lsAddRmvRutas, lsAddRmvTipoPuntoVenta, lsAddRmvVigenciaTarifa); -// } -// -// public List pesquisaTarifaObj(List lsAddRmvMonedas, List lsAddRmvMarcas, -// List lsAddRmvClaseServico, List lsAddRmvCategoria, -// List lsAddRmvEmpresas, List lsAddRmvRutas, -// List lsAddRmvTipoPuntoVenta, List lsAddRmvVigenciaTarifa) { -// return rutaCombinacionDAO.pesquisaTarifaObj(lsAddRmvMonedas, lsAddRmvMarcas, lsAddRmvClaseServico, -// lsAddRmvCategoria, lsAddRmvEmpresas, lsAddRmvRutas, lsAddRmvTipoPuntoVenta, lsAddRmvVigenciaTarifa); -// } - public HSSFWorkbook gerarTarifaEscala(List lsAddRmvMonedas, List lsAddRmvMarcas, List lsAddRmvClaseServico, List lsAddRmvCategoria, List lsAddRmvEmpresas, List lsAddRmvRutas, List lsAddRmvTipoPuntoVenta, List lsAddRmvVigenciaTarifa) { HSSFWorkbook wb = new HSSFWorkbook(); @@ -275,6 +263,163 @@ public class RutaCombinacionServiceImpl implements RutaCombinacionService { return wb; } + public HSSFWorkbook gerarTarifaOficialEscala(List lsAddRmvMonedas, List lsAddRmvMarcas, List lsAddRmvClaseServico, ArrayList arrayList, List lsAddRmvEmpresas, List lsAddRmvRutas, ArrayList arrayList0, List lsAddRmvVigenciaTarifa) { + + HSSFWorkbook wb = new HSSFWorkbook(); + // fonte em negrito: + HSSFFont fonte = wb.createFont(); + fonte.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD); + HSSFCellStyle estilo = wb.createCellStyle(); + estilo.setFont(fonte); + + //Bucando todas as Linhas com Clase Marca e Moeda Separadamente + List lsLinhasAgrupadas = rutaCombinacionDAO.pesquisaTarifaOficialGroupObj(lsAddRmvMonedas, lsAddRmvMarcas, lsAddRmvClaseServico, + lsAddRmvEmpresas, lsAddRmvRutas, lsAddRmvVigenciaTarifa); + + + HSSFSheet sheet1 = null; + + int linha = NUM_LINHA_INICIO; + int linhaAnterior = NUM_LINHA_INICIO; + int coluna = 0; + int numAba = 1; + + Object[] rows = new Object[10000]; + + TarifaOficialEscalaVO tarAnterior = null; + for (TarifaOficialEscalaGroupVO teg : lsLinhasAgrupadas) { + try { + + String descRuta = teg.getDESCRUTA(); + Integer rutaId = teg.getRUTA_ID().intValue(); + + //Buscando preços especificos de uma Linha + List lsTarifaEscala = rutaCombinacionDAO.pesquisaTarifaOficialEscalaObj(rutaId.toString(), teg.getMONEDA_ID().toString(), + null, teg.getMARCA_ID().toString()); + //Nome da Aba + String sheetName = ""; + //Se o nome da ruta for muito grande, tem que cortar para caber no noma da aba com seu ID + if (descRuta.toString().length() > 22) { + sheetName = numAba + " ".concat(descRuta.substring(0, 22).concat(" (").concat(rutaId.toString()).concat(")")); + } else { + sheetName = numAba + " ".concat(descRuta.concat(" (").concat(rutaId.toString()).concat(")")); + } + + numAba = numAba + 1; + sheet1 = wb.createSheet(sheetName); + SimpleDateFormat sf = new SimpleDateFormat("dd/MM/yyyy HH:mm"); + + //Montando o Cabeçalho + HSSFRow r0 = sheet1.createRow(0); +// r0.createCell(0).setCellValue(Labels.getLabel("tarifaEscalaContorller.lhFeciniciovigencia.label")); +// r0.createCell(1).setCellValue(sf.format(teg.getFECINICIOVIGENCIA()) + " - " + sf.format(teg.getFECFINVIGENCIA())); + + HSSFRow r1 = sheet1.createRow(1); + r1.createCell(0).setCellValue(Labels.getLabel("tarifaEscalaContorller.lhMoneda.label")); + r1.createCell(1).setCellValue(teg.getDESCMONEDA().toUpperCase()); + + HSSFRow r2 = sheet1.createRow(2); + r2.createCell(0).setCellValue(Labels.getLabel("tarifaEscalaContorller.lhMarca.label")); + r2.createCell(1).setCellValue(teg.getDESCMARCA().toUpperCase()); + + HSSFRow r3 = sheet1.createRow(3); + r3.createCell(0).setCellValue(Labels.getLabel("tarifaEscalaContorller.lhClaseServicio.label")); + r3.createCell(1).setCellValue(teg.getDESCCLASE().toUpperCase()); + + HSSFRow r4 = sheet1.createRow(4); + r4.createCell(0).setCellValue(Labels.getLabel("tarifaEscalaContorller.lhRuta.label")); + r4.createCell(1).setCellValue(descRuta.toUpperCase()); + + HSSFRow r6 = sheet1.createRow(6); + r6.createCell(0).setCellValue("Preço - Taxa - Seguro - Pedagio - Outros"); + + + for (TarifaOficialEscalaVO tar : lsTarifaEscala) { + //Primeira Execucao + //Crias as Linhas + //Coloca o preço do primeiro registro + if (linha == NUM_LINHA_INICIO) { + for (int i = NUM_LINHA_INICIO; i <= lsTarifaEscala.size() + NUM_LINHA_INICIO; i++) { + HSSFRow row = sheet1.createRow(i); + rows[i] = row; + } + + HSSFRow rowOrigem = (HSSFRow) rows[linha]; + //Nome e Descrição + rowOrigem.createCell(coluna).setCellValue(tar.getCVEORIGEM()); + rowOrigem.createCell(coluna + 1).setCellValue(tar.getDESCORIGEM()); + rows[linha] = rowOrigem; + + HSSFRow rowPrimeiroPrecio = (HSSFRow) rows[linha + 1]; + BigDecimal taxa = tar.getTAXAEMBARQUE(); + BigDecimal segu = tar.getSEGURO(); + BigDecimal outros = tar.getOUTROS(); + BigDecimal pedagio = tar.getPEDAGIO(); + rowPrimeiroPrecio.createCell(coluna).setCellValue(tar.getPRECIO().setScale(2).doubleValue() + " \n" + + (taxa == null ? " 0 " : taxa.setScale(2).doubleValue()) + " \n" + + (segu == null ? " 0 " : segu.setScale(2).doubleValue()) + " \n" + + (pedagio == null ? " 0 " : pedagio.setScale(2).doubleValue()) + " \n" + + (outros == null ? " 0 " : outros.setScale(2).doubleValue())); + rows[linha + 1] = rowPrimeiroPrecio; + + linha = linha + 1; + tarAnterior = tar; + continue; + } + + //Si mesma origen, se coloca somente o precio + if (tar.getCVEORIGEM().equals(tarAnterior.getCVEORIGEM())) { + HSSFRow rowTarifa = (HSSFRow) rows[linha + 1]; + if (tar.getPRECIO() != null) { + rowTarifa.createCell(coluna).setCellValue(tar.getPRECIO().setScale(2).doubleValue()); + } + rows[linha + 1] = rowTarifa; + + linha = linha + 1; + } else { + + //Se nao mostra proxima Localidade + Preço na linha + linhaAnterior = linhaAnterior + 1; + linha = linhaAnterior; + coluna = coluna + 1; + + HSSFRow rowOrigem = (HSSFRow) rows[linha]; + rowOrigem.createCell(coluna).setCellValue(tar.getCVEORIGEM()); + rowOrigem.createCell(coluna + 1).setCellValue(tar.getDESCORIGEM()); + rows[linha] = rowOrigem; + + HSSFRow rowOrigemPrecio = (HSSFRow) rows[linha + 1]; + BigDecimal taxa = tar.getTAXAEMBARQUE(); + BigDecimal segu = tar.getSEGURO(); + BigDecimal pedagio = tar.getPEDAGIO(); + BigDecimal outros = tar.getOUTROS(); + rowOrigemPrecio.createCell(coluna).setCellValue(tar.getPRECIO().setScale(2).doubleValue() + " \n" + + (taxa == null ? " 0 " : taxa.setScale(2).doubleValue()) + " \n" + + (segu == null ? " 0 " : segu.setScale(2).doubleValue()) + " \n" + + (pedagio == null ? " 0 " : pedagio.setScale(2).doubleValue()) + " \n" + + (outros == null ? " 0 " : outros.setScale(2).doubleValue())); + rows[linha + 1] = rowOrigemPrecio; + + linha = linha + 1; + } + tarAnterior = tar; + } + //Ultima Execucao Coloca o Destino Final + HSSFRow rowOrigem = (HSSFRow) rows[linha]; + rowOrigem.createCell(coluna + 1).setCellValue(tarAnterior.getCVEDESTINO()); + rowOrigem.createCell(coluna + 2).setCellValue(tarAnterior.getDESCDESTINO()); + rows[linha] = rowOrigem; + linha = NUM_LINHA_INICIO; + linhaAnterior = NUM_LINHA_INICIO; + coluna = 0; + } catch (Exception ex) { + log.error("Exportação Excel Escala: ", ex); + } + } + + return wb; + } + public List pesquisaTarifaObj(List lsAddRmvMonedas, List lsAddRmvMarcas, List lsAddRmvClaseServico, List lsAddRmvCategoria, List lsAddRmvEmpresas, List lsAddRmvRutas, @@ -282,4 +427,9 @@ public class RutaCombinacionServiceImpl implements RutaCombinacionService { return rutaCombinacionDAO.pesquisaTarifaObj(lsAddRmvMonedas, lsAddRmvMarcas, lsAddRmvClaseServico, lsAddRmvCategoria, lsAddRmvEmpresas, lsAddRmvRutas, lsAddRmvTipoPuntoVenta, lsAddRmvVigenciaTarifa); } + + public List pesquisaTarifaOficialObj(List lsAddRmvMonedas, List lsAddRmvMarcas, List lsAddRmvClaseServico, ArrayList arrayList, List lsAddRmvEmpresas, List lsAddRmvRutas, ArrayList arrayList0, List lsAddRmvVigenciaTarifa) { + return rutaCombinacionDAO.pesquisaTarifaOficialObj(lsAddRmvMonedas, lsAddRmvMarcas, lsAddRmvClaseServico, + lsAddRmvEmpresas, lsAddRmvRutas, lsAddRmvVigenciaTarifa); + } } diff --git a/src/com/rjconsultores/ventaboletos/service/impl/TarifaOficialServiceImpl.java b/src/com/rjconsultores/ventaboletos/service/impl/TarifaOficialServiceImpl.java index 72b1db163..2526734b1 100644 --- a/src/com/rjconsultores/ventaboletos/service/impl/TarifaOficialServiceImpl.java +++ b/src/com/rjconsultores/ventaboletos/service/impl/TarifaOficialServiceImpl.java @@ -1,5 +1,7 @@ package com.rjconsultores.ventaboletos.service.impl; +import com.rjconsultores.ventaboletos.entidad.TarifaOficial; +import java.util.List; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -15,91 +17,113 @@ import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado; @Service("tarifaOficialService") public class TarifaOficialServiceImpl implements TarifaOficialService { - @Autowired - private TarifaOficialDAO tarifaOficialDAO; - @Autowired - private SeguroKmDAO seguroKmDAO; - @Autowired - private SeguroTarifaDAO seguroTarifaDAO; + @Autowired + private TarifaOficialDAO tarifaOficialDAO; + @Autowired + private SeguroKmDAO seguroKmDAO; + @Autowired + private SeguroTarifaDAO seguroTarifaDAO; - @Override - @Transactional - public Integer gerarTarifaPorCoeficiente(Integer rutaId, Integer orgaoConcedenteId) { - return tarifaOficialDAO.gerarTarifaPorCoeficiente(rutaId, UsuarioLogado.getUsuarioLogado().getUsuarioId(), orgaoConcedenteId); - } + @Override + @Transactional + public Integer gerarTarifaPorCoeficiente(Integer rutaId, Integer orgaoConcedenteId) { + return tarifaOficialDAO.gerarTarifaPorCoeficiente(rutaId, UsuarioLogado.getUsuarioLogado().getUsuarioId(), orgaoConcedenteId); + } - @Override - @Transactional - public Integer atualizarTarifaPorCoeficiente(Integer rutaId, Integer orgaoConcedenteId) { - return tarifaOficialDAO.atualizarTarifaCoeficiente(rutaId, UsuarioLogado.getUsuarioLogado().getUsuarioId(), orgaoConcedenteId); - } + @Override + @Transactional + public Integer atualizarTarifaPorCoeficiente(Integer rutaId, Integer orgaoConcedenteId) { + return tarifaOficialDAO.atualizarTarifaCoeficiente(rutaId, UsuarioLogado.getUsuarioLogado().getUsuarioId(), orgaoConcedenteId); + } - @Override - @Transactional - public void copiarParaTarifa(VigenciaTarifa vigenciaTarifa) { - tarifaOficialDAO.copiarParaTarifa(vigenciaTarifa, UsuarioLogado.getUsuarioLogado().getUsuarioId()); - } + @Override + @Transactional + public void copiarParaTarifa(VigenciaTarifa vigenciaTarifa) { + tarifaOficialDAO.copiarParaTarifa(vigenciaTarifa, UsuarioLogado.getUsuarioLogado().getUsuarioId()); + } - @Override - @Transactional(rollbackFor = BusinessException.class) - public Integer gerarAtualizarTarifaPorCoeficiente(Integer rudaId, Integer orgaoConcedenteId) throws BusinessException { + @Override + @Transactional(rollbackFor = BusinessException.class) + public Integer gerarAtualizarTarifaPorCoeficiente(Integer rudaId, Integer orgaoConcedenteId) throws BusinessException { - if (orgaoConcedenteId == null) { - throw new BusinessException("TarifaOficialServiceImpl.msg.validacion.orgaoObligatorio"); - } + if (orgaoConcedenteId == null) { + throw new BusinessException("TarifaOficialServiceImpl.msg.validacion.orgaoObligatorio"); + } - Integer qtd = gerarTarifaPorCoeficiente(rudaId, orgaoConcedenteId); - qtd += atualizarTarifaPorCoeficiente(rudaId, orgaoConcedenteId); + Integer qtd = gerarTarifaPorCoeficiente(rudaId, orgaoConcedenteId); + qtd += atualizarTarifaPorCoeficiente(rudaId, orgaoConcedenteId); - return qtd; - } + return qtd; + } - @Override - @Transactional - public void atualizarTaxaEmbarque(Integer rutaId, Integer orgaoConcedenteId) { - tarifaOficialDAO.atualizarTaxaEmbarque(rutaId, UsuarioLogado.getUsuarioLogado().getUsuarioId(), orgaoConcedenteId); - } + @Override + @Transactional + public void atualizarTaxaEmbarque(Integer rutaId, Integer orgaoConcedenteId) { + tarifaOficialDAO.atualizarTaxaEmbarque(rutaId, UsuarioLogado.getUsuarioLogado().getUsuarioId(), orgaoConcedenteId); + } - @Override - @Transactional(rollbackFor = BusinessException.class) - public void atualizarSeguroPorKm(Integer rutaId, Integer orgaoId) throws BusinessException { + @Override + @Transactional(rollbackFor = BusinessException.class) + public void atualizarSeguroPorKm(Integer rutaId, Integer orgaoId) throws BusinessException { - if (orgaoId == null) { - throw new BusinessException("TarifaOficialServiceImpl.msg.validacion.orgaoObligatorio"); - } + if (orgaoId == null) { + throw new BusinessException("TarifaOficialServiceImpl.msg.validacion.orgaoObligatorio"); + } - tarifaOficialDAO.atualizarSeguroPorKm(rutaId, orgaoId, UsuarioLogado.getUsuarioLogado().getUsuarioId()); + tarifaOficialDAO.atualizarSeguroPorKm(rutaId, orgaoId, UsuarioLogado.getUsuarioLogado().getUsuarioId()); - } + } - @Override - @Transactional(rollbackFor = BusinessException.class) - public void atualizarSeguroPorTarifa(Integer rutaId, Integer orgaoId) throws BusinessException { - if (orgaoId == null) { - throw new BusinessException("TarifaOficialServiceImpl.msg.validacion.orgaoObligatorio"); - } + @Override + @Transactional(rollbackFor = BusinessException.class) + public void atualizarSeguroPorTarifa(Integer rutaId, Integer orgaoId) throws BusinessException { + if (orgaoId == null) { + throw new BusinessException("TarifaOficialServiceImpl.msg.validacion.orgaoObligatorio"); + } - tarifaOficialDAO.atualizarSeguroPorTarifa(rutaId, orgaoId, UsuarioLogado.getUsuarioLogado().getUsuarioId()); - } + tarifaOficialDAO.atualizarSeguroPorTarifa(rutaId, orgaoId, UsuarioLogado.getUsuarioLogado().getUsuarioId()); + } - @Override - @Transactional(rollbackFor = BusinessException.class) - public void atualizarSeguro(Integer rutaId, Integer orgaoId) throws BusinessException { - if (orgaoId == null) { - throw new BusinessException("TarifaOficialServiceImpl.msg.validacion.orgaoObligatorio"); - } + @Override + @Transactional(rollbackFor = BusinessException.class) + public void atualizarSeguro(Integer rutaId, Integer orgaoId) throws BusinessException { + if (orgaoId == null) { + throw new BusinessException("TarifaOficialServiceImpl.msg.validacion.orgaoObligatorio"); + } - if (seguroKmDAO.existe(orgaoId)) { - atualizarSeguroPorKm(rutaId, orgaoId); - } else if (seguroTarifaDAO.existe(orgaoId)) { - atualizarSeguroPorTarifa(rutaId, orgaoId); - } - } + if (seguroKmDAO.existe(orgaoId)) { + atualizarSeguroPorKm(rutaId, orgaoId); + } else if (seguroTarifaDAO.existe(orgaoId)) { + atualizarSeguroPorTarifa(rutaId, orgaoId); + } + } - @Override - @Transactional - public void aplicarArredondamentoTarifa(Integer orgaoConcedenteId) { - tarifaOficialDAO.aplicarArredondamentoTarifa(orgaoConcedenteId, UsuarioLogado.getUsuarioLogado().getUsuarioId()); - } + @Override + @Transactional + public void aplicarArredondamentoTarifa(Integer orgaoConcedenteId) { + tarifaOficialDAO.aplicarArredondamentoTarifa(orgaoConcedenteId, UsuarioLogado.getUsuarioLogado().getUsuarioId()); + } + public List obtenerTodos() { + return tarifaOficialDAO.obtenerTodos(); + } + + public TarifaOficial obtenerID(Integer id) { +return tarifaOficialDAO.obtenerID(id); + } + + @Transactional + public TarifaOficial suscribir(TarifaOficial entidad) { + return tarifaOficialDAO.suscribir(entidad); + } + + @Transactional + public TarifaOficial actualizacion(TarifaOficial entidad) { + return tarifaOficialDAO.actualizacion(entidad); + } + + @Transactional + public void borrar(TarifaOficial entidad) { + tarifaOficialDAO.borrar(entidad); + } } diff --git a/src/com/rjconsultores/ventaboletos/service/impl/TramoRutaServiceImpl.java b/src/com/rjconsultores/ventaboletos/service/impl/TramoRutaServiceImpl.java index f97303868..00d1bb924 100644 --- a/src/com/rjconsultores/ventaboletos/service/impl/TramoRutaServiceImpl.java +++ b/src/com/rjconsultores/ventaboletos/service/impl/TramoRutaServiceImpl.java @@ -35,278 +35,289 @@ import com.rjconsultores.ventaboletos.vo.esquemaoperacional.SecuenciaRutaTramoVO @Service("tramoRutaService") public class TramoRutaServiceImpl implements TramoRutaService { - private static Logger log = Logger.getLogger(TramoRutaServiceImpl.class); - @Autowired - private RutaService rutaService; - @Autowired - private RutaCombinacionService rutaCombinacionService; - @Autowired - private RutaSecuenciaService rutaSecuenciaService; - @Autowired - private TramoService tramoService; - @Autowired - private TramoServicioService tramoServicioService; - @Autowired - private RutaDAO rutaDAO; - private void validarGenerarTramosRutas(RutaTramoVO rutaTramoVO) throws BusinessException { - if (rutaTramoVO.getLsSecuenciaRutaTramoVO().isEmpty()) { - throw new BusinessException("tramoRutaServiceImpl.msg.secuenciaObligatorio"); - } - if ((rutaTramoVO.getPrefixo() == null) || (rutaTramoVO.getPrefixo().isEmpty())) { - throw new BusinessException("tramoRutaServiceImpl.msg.prefixoObligatorio"); - } - if (rutaTramoVO.getLsEmpresa().isEmpty()) { - throw new BusinessException("tramoRutaServiceImpl.msg.empresaObligatoria"); - } + private static Logger log = Logger.getLogger(TramoRutaServiceImpl.class); + @Autowired + private RutaService rutaService; + @Autowired + private RutaCombinacionService rutaCombinacionService; + @Autowired + private RutaSecuenciaService rutaSecuenciaService; + @Autowired + private TramoService tramoService; + @Autowired + private TramoServicioService tramoServicioService; + @Autowired + private RutaDAO rutaDAO; - if (rutaTramoVO.getLsCombinacionRutaTramoVO().isEmpty()) { - throw new BusinessException("tramoRutaServiceImpl.msg.combinacionObligatorio"); - } - for (SecuenciaRutaTramoVO s : rutaTramoVO.getLsCombinacionRutaTramoVO()) { - if (s.getTramoId() != null) { - continue; - } - if ((s.getOrigen() == null) || (s.getDestino() == null) || (s.getVia() == null) - || (s.getKmReal() == null) || (s.getSecuencia() == null) || (s.getTiempoRecorrido() == null)) { - throw new BusinessException("tramoRutaServiceImpl.msg.cambosObligatoriosCombinacion", new Object[] { s.getOrigen(), - s.getDestino() }); - } - } - for (SecuenciaRutaTramoVO s : rutaTramoVO.getLsSecuenciaRutaTramoVO()) { - if (s.getTramoId() != null) { - continue; - } - if ((s.getOrigen() == null) || (s.getDestino() == null) || (s.getVia() == null) - || (s.getKmReal() == null) || (s.getSecuencia() == null) || (s.getTiempoRecorrido() == null)) { - throw new BusinessException("tramoRutaServiceImpl.msg.cambosObligatoriosSecuencia", new Object[] { s.getOrigen(), - s.getDestino() }); - } - } - } + private void validarGenerarTramosRutas(RutaTramoVO rutaTramoVO) throws BusinessException { + if (rutaTramoVO.getLsSecuenciaRutaTramoVO().isEmpty()) { + throw new BusinessException("tramoRutaServiceImpl.msg.secuenciaObligatorio"); + } + if ((rutaTramoVO.getPrefixo() == null) || (rutaTramoVO.getPrefixo().isEmpty())) { + throw new BusinessException("tramoRutaServiceImpl.msg.prefixoObligatorio"); + } + if (rutaTramoVO.getLsEmpresa().isEmpty()) { + throw new BusinessException("tramoRutaServiceImpl.msg.empresaObligatoria"); + } - @Transactional(rollbackFor = BusinessException.class) - @Override - public Ruta generarTramosRutas(RutaTramoVO rutaTramoVO) throws BusinessException { + if (rutaTramoVO.getLsCombinacionRutaTramoVO().isEmpty()) { + throw new BusinessException("tramoRutaServiceImpl.msg.combinacionObligatorio"); + } + for (SecuenciaRutaTramoVO s : rutaTramoVO.getLsCombinacionRutaTramoVO()) { + if (s.getTramoId() != null) { + continue; + } + if ((s.getOrigen() == null) || (s.getDestino() == null) || (s.getVia() == null) + || (s.getKmReal() == null) || (s.getSecuencia() == null) || (s.getTiempoRecorrido() == null)) { + throw new BusinessException("tramoRutaServiceImpl.msg.cambosObligatoriosCombinacion", new Object[]{s.getOrigen(), + s.getDestino()}); + } + } + for (SecuenciaRutaTramoVO s : rutaTramoVO.getLsSecuenciaRutaTramoVO()) { + if (s.getTramoId() != null) { + continue; + } + if ((s.getOrigen() == null) || (s.getDestino() == null) || (s.getVia() == null) + || (s.getKmReal() == null) || (s.getSecuencia() == null) || (s.getTiempoRecorrido() == null)) { + throw new BusinessException("tramoRutaServiceImpl.msg.cambosObligatoriosSecuencia", new Object[]{s.getOrigen(), + s.getDestino()}); + } + } + } - this.validarGenerarTramosRutas(rutaTramoVO); + @Transactional(rollbackFor = BusinessException.class) + @Override + public Ruta generarTramosRutas(RutaTramoVO rutaTramoVO) throws BusinessException { - List lsRutaExiste = rutaService.buscar(rutaTramoVO.getDescRuta(), rutaTramoVO.getClaseServicio(), rutaTramoVO.getSolicitaNombrePasajero()); + this.validarGenerarTramosRutas(rutaTramoVO); - if (!lsRutaExiste.isEmpty()) { - throw new BusinessException("MSG.Registro.Existe"); - } + //Validação retirada + //no Brasil pode existir rutas com o mesmo nome (Ida e Volta por exemplo legalmente tem o mesmo nome) + // Fabio e Xande +// List lsRutaExiste = rutaService.buscar(rutaTramoVO.getDescRuta(), rutaTramoVO.getClaseServicio(), rutaTramoVO.getSolicitaNombrePasajero()); +// +// if (!lsRutaExiste.isEmpty()) { +// throw new BusinessException("MSG.Registro.Existe"); +// } - // Genero los tramos y tramos servicios de la combinacion que no existen - // Aqui si genera tambien los tramos de la secuencia - for (SecuenciaRutaTramoVO s : rutaTramoVO.getLsCombinacionRutaTramoVO()) { - log.debug("Origen:" + s.getOrigen() + ";Destino:" + s.getDestino() + ";Via:" + s.getVia()); - boolean fueGenerado = tramoServicioService.generarTramoTiempo(s.getOrigen(), s.getDestino(), s.getVia(), s.getKmReal(), - s.getTiempoRecorrido().getFecha(), rutaTramoVO.getClaseServicio()); - log.debug("Fue Generado:" + fueGenerado); - } + // Genero los tramos y tramos servicios de la combinacion que no existen + // Aqui si genera tambien los tramos de la secuencia + for (SecuenciaRutaTramoVO s : rutaTramoVO.getLsCombinacionRutaTramoVO()) { + log.debug("Origen:" + s.getOrigen() + ";Destino:" + s.getDestino() + ";Via:" + s.getVia()); + boolean fueGenerado = tramoServicioService.generarTramoTiempo(s.getOrigen(), s.getDestino(), s.getVia(), s.getKmReal(), + s.getTiempoRecorrido().getFecha(), rutaTramoVO.getClaseServicio()); + log.debug("Fue Generado:" + fueGenerado); + } - // Genero la relacion de ruta con empresa - List lsRutaEmpresa = new ArrayList(); - for (Empresa e : rutaTramoVO.getLsEmpresa()) { - RutaEmpresa rutaEmpresa = new RutaEmpresa(); - rutaEmpresa.setEmpresa(e); - rutaEmpresa.setActivo(Boolean.TRUE); - rutaEmpresa.setFecmodif(Calendar.getInstance().getTime()); - rutaEmpresa.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId()); + // Genero la relacion de ruta con empresa + List lsRutaEmpresa = new ArrayList(); + for (Empresa e : rutaTramoVO.getLsEmpresa()) { + RutaEmpresa rutaEmpresa = new RutaEmpresa(); + rutaEmpresa.setEmpresa(e); + rutaEmpresa.setActivo(Boolean.TRUE); + rutaEmpresa.setFecmodif(Calendar.getInstance().getTime()); + rutaEmpresa.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId()); - lsRutaEmpresa.add(rutaEmpresa); - } + lsRutaEmpresa.add(rutaEmpresa); + } - // Genero la ruta - Ruta ruta = new Ruta(); - ruta.setDescruta(rutaTramoVO.getDescRuta()); - ruta.setClaseServicio(rutaTramoVO.getClaseServicio()); - ruta.setIndNombreObligatorio(rutaTramoVO.getSolicitaNombrePasajero()); - ruta.setVentaOffLine(rutaTramoVO.getVentaHandHeld()); - ruta.setLsRutaEmpresa(lsRutaEmpresa); - ruta.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId()); - ruta.setActivo(Boolean.TRUE); - ruta.setFecmodif(new java.util.Date()); - ruta.setPrefixo(rutaTramoVO.getPrefixo()); - ruta = rutaDAO.suscribir(ruta); + // Genero la ruta + Ruta ruta = new Ruta(); + ruta.setDescruta(rutaTramoVO.getDescRuta()); + ruta.setClaseServicio(rutaTramoVO.getClaseServicio()); + ruta.setOrgaoConcedente(rutaTramoVO.getOrgaoConcedente()); + ruta.setIndNombreObligatorio(rutaTramoVO.getSolicitaNombrePasajero()); + ruta.setVentaOffLine(rutaTramoVO.getVentaHandHeld()); + ruta.setLsRutaEmpresa(lsRutaEmpresa); + ruta.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId()); + ruta.setActivo(Boolean.TRUE); + ruta.setFecmodif(new java.util.Date()); + ruta.setPrefixo(rutaTramoVO.getPrefixo()); + ruta = rutaDAO.suscribir(ruta); - // Genero la secuencia de la ruta - for (SecuenciaRutaTramoVO s : rutaTramoVO.getLsSecuenciaRutaTramoVO()) { - RutaSecuencia rutaSecuencia = new RutaSecuencia(); - rutaSecuencia.setNumsecuencia(s.getSecuencia().shortValue()); - rutaSecuencia.setTramo(tramoService.obtenerTramotPorOrigemDestinoVia(s.getOrigen(), s.getDestino(), s.getVia())); - rutaSecuencia.setRuta(ruta); - rutaSecuencia = rutaSecuenciaService.suscribir(rutaSecuencia); - } + // Genero la secuencia de la ruta + for (SecuenciaRutaTramoVO s : rutaTramoVO.getLsSecuenciaRutaTramoVO()) { + RutaSecuencia rutaSecuencia = new RutaSecuencia(); + rutaSecuencia.setNumsecuencia(s.getSecuencia().shortValue()); + rutaSecuencia.setTramo(tramoService.obtenerTramotPorOrigemDestinoVia(s.getOrigen(), s.getDestino(), s.getVia())); + rutaSecuencia.setRuta(ruta); + rutaSecuencia = rutaSecuenciaService.suscribir(rutaSecuencia); + } - for (SecuenciaRutaTramoVO s : rutaTramoVO.getLsCombinacionRutaTramoVO()) { - RutaCombinacion rutaCombinacion = new RutaCombinacion(); - rutaCombinacion.setIndventa(Boolean.TRUE); - rutaCombinacion.setRuta(ruta); - rutaCombinacion.setTramo(tramoService.obtenerTramotPorOrigemDestinoVia(s.getOrigen(), s.getDestino(), s.getVia())); + for (SecuenciaRutaTramoVO s : rutaTramoVO.getLsCombinacionRutaTramoVO()) { + RutaCombinacion rutaCombinacion = new RutaCombinacion(); + rutaCombinacion.setIndventa(Boolean.TRUE); + rutaCombinacion.setRuta(ruta); + rutaCombinacion.setTramo(tramoService.obtenerTramotPorOrigemDestinoVia(s.getOrigen(), s.getDestino(), s.getVia())); - rutaCombinacion = rutaCombinacionService.suscribir(rutaCombinacion); - } + rutaCombinacion = rutaCombinacionService.suscribir(rutaCombinacion); + } - return ruta; - } + return ruta; + } - @Override - public RutaTramoVO generarRutaRegreso(RutaTramoVO rutaTramoVO) { - RutaTramoVO rutaTramoRegresoVO = new RutaTramoVO(); - rutaTramoRegresoVO.setClaseServicio(rutaTramoVO.getClaseServicio()); - rutaTramoRegresoVO.setSolicitaNombrePasajero(rutaTramoVO.getSolicitaNombrePasajero()); - rutaTramoRegresoVO.setVentaHandHeld(rutaTramoVO.getVentaHandHeld()); - rutaTramoRegresoVO.setLsEmpresa(rutaTramoVO.getLsEmpresa()); - rutaTramoRegresoVO.setPrefixo(rutaTramoVO.getPrefixo()); + @Override + public RutaTramoVO generarRutaRegreso(RutaTramoVO rutaTramoVO) { + RutaTramoVO rutaTramoRegresoVO = new RutaTramoVO(); + rutaTramoRegresoVO.setClaseServicio(rutaTramoVO.getClaseServicio()); + rutaTramoRegresoVO.setOrgaoConcedente(rutaTramoVO.getOrgaoConcedente()); + rutaTramoRegresoVO.setSolicitaNombrePasajero(rutaTramoVO.getSolicitaNombrePasajero()); + rutaTramoRegresoVO.setVentaHandHeld(rutaTramoVO.getVentaHandHeld()); + rutaTramoRegresoVO.setLsEmpresa(rutaTramoVO.getLsEmpresa()); + rutaTramoRegresoVO.setPrefixo(rutaTramoVO.getPrefixo()); + if (rutaTramoVO.getDescRuta() != null) { + rutaTramoRegresoVO.setDescRuta(rutaTramoVO.getDescRuta()); + } else { + rutaTramoRegresoVO.setDescRuta("-"); + } - List lsSecuenciaRutaTramoRegresoVO = new ArrayList(); - List lsSecuenciaRutaTramoIdaVO = new ArrayList(rutaTramoVO.getLsSecuenciaRutaTramoVO()); - Collections.sort(lsSecuenciaRutaTramoIdaVO, new Comparator() { + List lsSecuenciaRutaTramoRegresoVO = new ArrayList(); + List lsSecuenciaRutaTramoIdaVO = new ArrayList(rutaTramoVO.getLsSecuenciaRutaTramoVO()); + Collections.sort(lsSecuenciaRutaTramoIdaVO, new Comparator() { - @Override - public int compare(SecuenciaRutaTramoVO o1, SecuenciaRutaTramoVO o2) { - return o2.getSecuencia().compareTo(o1.getSecuencia()); - } - }); + @Override + public int compare(SecuenciaRutaTramoVO o1, SecuenciaRutaTramoVO o2) { + return o2.getSecuencia().compareTo(o1.getSecuencia()); + } + }); - int secuencia = 0; + int secuencia = 0; - for (SecuenciaRutaTramoVO s : lsSecuenciaRutaTramoIdaVO) { - TramoServicio tramoServicio = tramoServicioService.buscar(s.getOrigen(), s.getDestino(), s.getVia(), rutaTramoVO.getClaseServicio()); - if (tramoServicio != null) { - s.setTramoId(tramoServicio.getTramo().getTramoId()); - s.setTramoServicioId(tramoServicio.getTramoservicioId()); + for (SecuenciaRutaTramoVO s : lsSecuenciaRutaTramoIdaVO) { + TramoServicio tramoServicio = tramoServicioService.buscar(s.getOrigen(), s.getDestino(), s.getVia(), rutaTramoVO.getClaseServicio()); + if (tramoServicio != null) { + s.setTramoId(tramoServicio.getTramo().getTramoId()); + s.setTramoServicioId(tramoServicio.getTramoservicioId()); - lsSecuenciaRutaTramoRegresoVO.add(new SecuenciaRutaTramoVO(s.getDestino(), s.getOrigen(), s.getVia(), ++secuencia, s.getKmReal(), s.getTiempoRecorrido(), - s.getTramoId(), s.getTramoServicioId())); - } else { - lsSecuenciaRutaTramoRegresoVO.add(new SecuenciaRutaTramoVO(s.getDestino(), s.getOrigen(), s.getVia(), ++secuencia, s.getKmReal(), s.getTiempoRecorrido())); - } - } - rutaTramoRegresoVO.setLsSecuenciaRutaTramoVO(lsSecuenciaRutaTramoRegresoVO); + lsSecuenciaRutaTramoRegresoVO.add(new SecuenciaRutaTramoVO(s.getDestino(), s.getOrigen(), s.getVia(), ++secuencia, s.getKmReal(), s.getTiempoRecorrido(), + s.getTramoId(), s.getTramoServicioId())); + } else { + lsSecuenciaRutaTramoRegresoVO.add(new SecuenciaRutaTramoVO(s.getDestino(), s.getOrigen(), s.getVia(), ++secuencia, s.getKmReal(), s.getTiempoRecorrido())); + } + } + rutaTramoRegresoVO.setLsSecuenciaRutaTramoVO(lsSecuenciaRutaTramoRegresoVO); - List lsCombinacionRutaTramoRegresoVO = new ArrayList(); - List lsCombinacionTramoIdaVO = new ArrayList(rutaTramoVO.getLsCombinacionRutaTramoVO()); - Collections.sort(lsCombinacionTramoIdaVO, new Comparator() { + List lsCombinacionRutaTramoRegresoVO = new ArrayList(); + List lsCombinacionTramoIdaVO = new ArrayList(rutaTramoVO.getLsCombinacionRutaTramoVO()); + Collections.sort(lsCombinacionTramoIdaVO, new Comparator() { - @Override - public int compare(SecuenciaRutaTramoVO o1, SecuenciaRutaTramoVO o2) { - return o2.getSecuencia().compareTo(o1.getSecuencia()); - } - }); + @Override + public int compare(SecuenciaRutaTramoVO o1, SecuenciaRutaTramoVO o2) { + return o2.getSecuencia().compareTo(o1.getSecuencia()); + } + }); - secuencia = 0; - for (SecuenciaRutaTramoVO s : lsCombinacionTramoIdaVO) { - TramoServicio tramoServicio = tramoServicioService.buscar(s.getOrigen(), s.getDestino(), s.getVia(), rutaTramoVO.getClaseServicio()); - if (tramoServicio != null) { - s.setTramoId(tramoServicio.getTramo().getTramoId()); - s.setTramoServicioId(tramoServicio.getTramoservicioId()); + secuencia = 0; + for (SecuenciaRutaTramoVO s : lsCombinacionTramoIdaVO) { + TramoServicio tramoServicio = tramoServicioService.buscar(s.getOrigen(), s.getDestino(), s.getVia(), rutaTramoVO.getClaseServicio()); + if (tramoServicio != null) { + s.setTramoId(tramoServicio.getTramo().getTramoId()); + s.setTramoServicioId(tramoServicio.getTramoservicioId()); - lsCombinacionRutaTramoRegresoVO.add(new SecuenciaRutaTramoVO(s.getDestino(), s.getOrigen(), s.getVia(), ++secuencia, s.getKmReal(), s.getTiempoRecorrido(), - s.getTramoId(), s.getTramoServicioId())); - } else { - lsCombinacionRutaTramoRegresoVO.add(new SecuenciaRutaTramoVO(s.getDestino(), s.getOrigen(), s.getVia(), ++secuencia, s.getKmReal(), s.getTiempoRecorrido())); - } + lsCombinacionRutaTramoRegresoVO.add(new SecuenciaRutaTramoVO(s.getDestino(), s.getOrigen(), s.getVia(), ++secuencia, s.getKmReal(), s.getTiempoRecorrido(), + s.getTramoId(), s.getTramoServicioId())); + } else { + lsCombinacionRutaTramoRegresoVO.add(new SecuenciaRutaTramoVO(s.getDestino(), s.getOrigen(), s.getVia(), ++secuencia, s.getKmReal(), s.getTiempoRecorrido())); + } - } - rutaTramoRegresoVO.setLsCombinacionRutaTramoVO(lsCombinacionRutaTramoRegresoVO); + } + rutaTramoRegresoVO.setLsCombinacionRutaTramoVO(lsCombinacionRutaTramoRegresoVO); - return rutaTramoRegresoVO; - } + return rutaTramoRegresoVO; + } - @Override - public List generarCombinacion(RutaTramoVO rutaTramoVO) { - List lsSecuenciaRutaTramoVO = new ArrayList(rutaTramoVO.getLsSecuenciaRutaTramoVO()); - List lsSecuenciaCombinacionRutaTramoVO = new ArrayList(); + @Override + public List generarCombinacion(RutaTramoVO rutaTramoVO) { + List lsSecuenciaRutaTramoVO = new ArrayList(rutaTramoVO.getLsSecuenciaRutaTramoVO()); + List lsSecuenciaCombinacionRutaTramoVO = new ArrayList(); - Collections.sort(lsSecuenciaRutaTramoVO, new Comparator() { + Collections.sort(lsSecuenciaRutaTramoVO, new Comparator() { - @Override - public int compare(SecuenciaRutaTramoVO o1, SecuenciaRutaTramoVO o2) { - return o1.getSecuencia().compareTo(o2.getSecuencia()); - } - }); - // Collections.sort(lsSecuenciaCombinacionRutaTramoVO, new - // Comparator() { - // - // @Override - // public int compare(SecuenciaRutaTramoVO o1, SecuenciaRutaTramoVO o2) - // { - // return o1.getSecuencia().compareTo(o2.getSecuencia()); - // } - // }); + @Override + public int compare(SecuenciaRutaTramoVO o1, SecuenciaRutaTramoVO o2) { + return o1.getSecuencia().compareTo(o2.getSecuencia()); + } + }); + // Collections.sort(lsSecuenciaCombinacionRutaTramoVO, new + // Comparator() { + // + // @Override + // public int compare(SecuenciaRutaTramoVO o1, SecuenciaRutaTramoVO o2) + // { + // return o1.getSecuencia().compareTo(o2.getSecuencia()); + // } + // }); - int qtdTramos = lsSecuenciaRutaTramoVO.size(); - int secuencia = 0; - for (int i = 0; i < qtdTramos; i++) { - SecuenciaRutaTramoVO secuenciaInicial = lsSecuenciaRutaTramoVO.get(i); - Parada origen = secuenciaInicial.getOrigen(); - BigDecimal totalKmsReal = secuenciaInicial.getKmReal(); - Hora totalTiempoRecorrido = secuenciaInicial.getTiempoRecorrido(); - boolean primeraCombinacion = true; - int j = i + 1; - for (; j < (qtdTramos); j++) { - Parada destino = lsSecuenciaRutaTramoVO.get(j).getOrigen(); + int qtdTramos = lsSecuenciaRutaTramoVO.size(); + int secuencia = 0; + for (int i = 0; i < qtdTramos; i++) { + SecuenciaRutaTramoVO secuenciaInicial = lsSecuenciaRutaTramoVO.get(i); + Parada origen = secuenciaInicial.getOrigen(); + BigDecimal totalKmsReal = secuenciaInicial.getKmReal(); + Hora totalTiempoRecorrido = secuenciaInicial.getTiempoRecorrido(); + boolean primeraCombinacion = true; + int j = i + 1; + for (; j < (qtdTramos); j++) { + Parada destino = lsSecuenciaRutaTramoVO.get(j).getOrigen(); - Via via = secuenciaInicial.getVia(); - // if (primeraCombinacion) { - // via = secuenciaInicial.getVia(); - // } + Via via = secuenciaInicial.getVia(); + // if (primeraCombinacion) { + // via = secuenciaInicial.getVia(); + // } - SecuenciaRutaTramoVO nuevaSecuencia = new SecuenciaRutaTramoVO(origen, destino, via, ++secuencia, - totalKmsReal, totalTiempoRecorrido); + SecuenciaRutaTramoVO nuevaSecuencia = new SecuenciaRutaTramoVO(origen, destino, via, ++secuencia, + totalKmsReal, totalTiempoRecorrido); - if (via != null) { - TramoServicio tramoServicio = tramoServicioService.buscar(origen, destino, via, rutaTramoVO.getClaseServicio()); - if (tramoServicio != null) { - log.debug("TRAMO EXISTE"); + if (via != null) { + TramoServicio tramoServicio = tramoServicioService.buscar(origen, destino, via, rutaTramoVO.getClaseServicio()); + if (tramoServicio != null) { + log.debug("TRAMO EXISTE"); - nuevaSecuencia.setKmReal(tramoServicio.getTramo().getKmReal()); - nuevaSecuencia.setTiempoRecorrido(new Hora(tramoServicio.getTiemporecorrido())); - nuevaSecuencia.setTramoId(tramoServicio.getTramo().getTramoId()); - nuevaSecuencia.setTramoServicioId(tramoServicio.getTramoservicioId()); + nuevaSecuencia.setKmReal(tramoServicio.getTramo().getKmReal()); + nuevaSecuencia.setTiempoRecorrido(new Hora(tramoServicio.getTiemporecorrido())); + nuevaSecuencia.setTramoId(tramoServicio.getTramo().getTramoId()); + nuevaSecuencia.setTramoServicioId(tramoServicio.getTramoservicioId()); - } - } - lsSecuenciaCombinacionRutaTramoVO.add(nuevaSecuencia); + } + } + lsSecuenciaCombinacionRutaTramoVO.add(nuevaSecuencia); - totalKmsReal = totalKmsReal.add(lsSecuenciaRutaTramoVO.get(j).getKmReal()); - totalTiempoRecorrido = totalTiempoRecorrido.sumar(lsSecuenciaRutaTramoVO.get(j).getTiempoRecorrido()); + totalKmsReal = totalKmsReal.add(lsSecuenciaRutaTramoVO.get(j).getKmReal()); + totalTiempoRecorrido = totalTiempoRecorrido.sumar(lsSecuenciaRutaTramoVO.get(j).getTiempoRecorrido()); - log.debug("Origen:" + nuevaSecuencia.getOrigen() + ";Destino:" + nuevaSecuencia.getDestino() + ";Via:" - + nuevaSecuencia.getVia() + ";KmsReal:" + nuevaSecuencia.getKmReal() + ";hora:" + nuevaSecuencia.getTiempoRecorrido()); + log.debug("Origen:" + nuevaSecuencia.getOrigen() + ";Destino:" + nuevaSecuencia.getDestino() + ";Via:" + + nuevaSecuencia.getVia() + ";KmsReal:" + nuevaSecuencia.getKmReal() + ";hora:" + nuevaSecuencia.getTiempoRecorrido()); - primeraCombinacion = false; - } - Parada destino = lsSecuenciaRutaTramoVO.get(qtdTramos - 1).getDestino(); + primeraCombinacion = false; + } + Parada destino = lsSecuenciaRutaTramoVO.get(qtdTramos - 1).getDestino(); - Via via = secuenciaInicial.getVia(); - // if (primeraCombinacion) { - // via = secuenciaInicial.getVia(); - // } + Via via = secuenciaInicial.getVia(); + // if (primeraCombinacion) { + // via = secuenciaInicial.getVia(); + // } - SecuenciaRutaTramoVO nuevaSecuencia = new SecuenciaRutaTramoVO(origen, destino, via, ++secuencia, - totalKmsReal, totalTiempoRecorrido); - if (via != null) { - TramoServicio tramoServicio = tramoServicioService.buscar(origen, destino, via, rutaTramoVO.getClaseServicio()); - if (tramoServicio != null) { - log.debug("TRAMO EXISTE"); + SecuenciaRutaTramoVO nuevaSecuencia = new SecuenciaRutaTramoVO(origen, destino, via, ++secuencia, + totalKmsReal, totalTiempoRecorrido); + if (via != null) { + TramoServicio tramoServicio = tramoServicioService.buscar(origen, destino, via, rutaTramoVO.getClaseServicio()); + if (tramoServicio != null) { + log.debug("TRAMO EXISTE"); - nuevaSecuencia.setKmReal(tramoServicio.getTramo().getKmReal()); - nuevaSecuencia.setTiempoRecorrido(new Hora(tramoServicio.getTiemporecorrido())); - nuevaSecuencia.setTramoId(tramoServicio.getTramo().getTramoId()); - nuevaSecuencia.setTramoServicioId(tramoServicio.getTramoservicioId()); - } - } + nuevaSecuencia.setKmReal(tramoServicio.getTramo().getKmReal()); + nuevaSecuencia.setTiempoRecorrido(new Hora(tramoServicio.getTiemporecorrido())); + nuevaSecuencia.setTramoId(tramoServicio.getTramo().getTramoId()); + nuevaSecuencia.setTramoServicioId(tramoServicio.getTramoservicioId()); + } + } - lsSecuenciaCombinacionRutaTramoVO.add(nuevaSecuencia); - log.debug("Origen:" + nuevaSecuencia.getOrigen() + ";Destino:" + nuevaSecuencia.getDestino() + ";Via:" - + nuevaSecuencia.getVia() + ";KmsReal:" + nuevaSecuencia.getKmReal() + ";hora:" + nuevaSecuencia.getTiempoRecorrido()); + lsSecuenciaCombinacionRutaTramoVO.add(nuevaSecuencia); + log.debug("Origen:" + nuevaSecuencia.getOrigen() + ";Destino:" + nuevaSecuencia.getDestino() + ";Via:" + + nuevaSecuencia.getVia() + ";KmsReal:" + nuevaSecuencia.getKmReal() + ";hora:" + nuevaSecuencia.getTiempoRecorrido()); - } + } - return lsSecuenciaCombinacionRutaTramoVO; - } + return lsSecuenciaCombinacionRutaTramoVO; + } } diff --git a/src/com/rjconsultores/ventaboletos/vo/esquemaoperacional/RutaTramoVO.java b/src/com/rjconsultores/ventaboletos/vo/esquemaoperacional/RutaTramoVO.java index 0909cb0da..36605c648 100644 --- a/src/com/rjconsultores/ventaboletos/vo/esquemaoperacional/RutaTramoVO.java +++ b/src/com/rjconsultores/ventaboletos/vo/esquemaoperacional/RutaTramoVO.java @@ -6,94 +6,105 @@ import java.util.List; import com.rjconsultores.ventaboletos.entidad.ClaseServicio; import com.rjconsultores.ventaboletos.entidad.Empresa; +import com.rjconsultores.ventaboletos.entidad.OrgaoConcedente; public class RutaTramoVO { - private Boolean ventaHandHeld; - private Boolean solicitaNombrePasajero; - private ClaseServicio claseServicio; - private List lsSecuenciaRutaTramoVO; - private List lsCombinacionRutaTramoVO; - private List lsEmpresa; - private String prefixo; - private String descRuta; - public RutaTramoVO() { - lsSecuenciaRutaTramoVO = new ArrayList(); - lsEmpresa = new ArrayList(); - lsCombinacionRutaTramoVO = new ArrayList(); - } + private Boolean ventaHandHeld; + private Boolean solicitaNombrePasajero; + private ClaseServicio claseServicio; + private OrgaoConcedente orgaoConcedente; + private List lsSecuenciaRutaTramoVO; + private List lsCombinacionRutaTramoVO; + private List lsEmpresa; + private String prefixo; + private String descRuta; - public Boolean getVentaHandHeld() { - return ventaHandHeld; - } + public RutaTramoVO() { + lsSecuenciaRutaTramoVO = new ArrayList(); + lsEmpresa = new ArrayList(); + lsCombinacionRutaTramoVO = new ArrayList(); + } - public void setVentaHandHeld(Boolean ventaHandHeld) { - this.ventaHandHeld = ventaHandHeld; - } + public Boolean getVentaHandHeld() { + return ventaHandHeld; + } - public Boolean getSolicitaNombrePasajero() { - return solicitaNombrePasajero; - } + public void setVentaHandHeld(Boolean ventaHandHeld) { + this.ventaHandHeld = ventaHandHeld; + } - public void setSolicitaNombrePasajero(Boolean solicitaNombrePasajero) { - this.solicitaNombrePasajero = solicitaNombrePasajero; - } + public Boolean getSolicitaNombrePasajero() { + return solicitaNombrePasajero; + } - public ClaseServicio getClaseServicio() { - return claseServicio; - } + public void setSolicitaNombrePasajero(Boolean solicitaNombrePasajero) { + this.solicitaNombrePasajero = solicitaNombrePasajero; + } - public void setClaseServicio(ClaseServicio claseServicio) { - this.claseServicio = claseServicio; - } + public ClaseServicio getClaseServicio() { + return claseServicio; + } - /** - * Regresa una unmodifiable list - * - * @return - */ - public List getLsSecuenciaRutaTramoVO() { - return Collections.unmodifiableList(lsSecuenciaRutaTramoVO); - } + public void setClaseServicio(ClaseServicio claseServicio) { + this.claseServicio = claseServicio; + } - public void setLsSecuenciaRutaTramoVO(List lsSecuenciaRutaTramoVO) { - this.lsSecuenciaRutaTramoVO = lsSecuenciaRutaTramoVO; - } + public OrgaoConcedente getOrgaoConcedente() { + return orgaoConcedente; + } - /** - * Regresa una unmodifiable list - * - * @return - */ - public List getLsCombinacionRutaTramoVO() { - return Collections.unmodifiableList(lsCombinacionRutaTramoVO); - } + public void setOrgaoConcedente(OrgaoConcedente orgaoConcedente) { + this.orgaoConcedente = orgaoConcedente; + } - public void setLsCombinacionRutaTramoVO(List lsCombinacionRutaTramoVO) { - this.lsCombinacionRutaTramoVO = lsCombinacionRutaTramoVO; - } + /** + * Regresa una unmodifiable list + * + * @return + */ + public List getLsSecuenciaRutaTramoVO() { + return Collections.unmodifiableList(lsSecuenciaRutaTramoVO); + } - public List getLsEmpresa() { - return lsEmpresa; - } + public void setLsSecuenciaRutaTramoVO(List lsSecuenciaRutaTramoVO) { + this.lsSecuenciaRutaTramoVO = lsSecuenciaRutaTramoVO; + } - public void setLsEmpresa(List lsEmpresa) { - this.lsEmpresa = lsEmpresa; - } + /** + * Regresa una unmodifiable list + * + * @return + */ + public List getLsCombinacionRutaTramoVO() { + return Collections.unmodifiableList(lsCombinacionRutaTramoVO); + } - public String getPrefixo() { - return prefixo; - } + public void setLsCombinacionRutaTramoVO(List lsCombinacionRutaTramoVO) { + this.lsCombinacionRutaTramoVO = lsCombinacionRutaTramoVO; + } - public void setPrefixo(String prefixo) { - this.prefixo = prefixo; - } + public List getLsEmpresa() { + return lsEmpresa; + } - public String getDescRuta() { - return descRuta; - } + public void setLsEmpresa(List lsEmpresa) { + this.lsEmpresa = lsEmpresa; + } - public void setDescRuta(String descRuta) { - this.descRuta = descRuta; - } + public String getPrefixo() { + return prefixo; + } + + public void setPrefixo(String prefixo) { + this.prefixo = prefixo; + } + + public String getDescRuta() { + return descRuta; + } + + public void setDescRuta(String descRuta) { + this.descRuta = descRuta; + } }