rafael 2012-09-12 18:21:25 +00:00
parent 413da62f78
commit 340b6ec7a1
11 changed files with 886 additions and 424 deletions

View File

@ -17,6 +17,8 @@ import com.rjconsultores.ventaboletos.entidad.Tramo;
import com.rjconsultores.ventaboletos.entidad.VigenciaTarifa; import com.rjconsultores.ventaboletos.entidad.VigenciaTarifa;
import com.rjconsultores.ventaboletos.vo.esquemaoperacional.TarifaEscalaGroupVO; import com.rjconsultores.ventaboletos.vo.esquemaoperacional.TarifaEscalaGroupVO;
import com.rjconsultores.ventaboletos.vo.esquemaoperacional.TarifaEscalaVO; 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; import java.util.List;
/** /**
@ -61,4 +63,10 @@ public interface RutaCombinacionDAO extends GenericDAO<RutaCombinacion, Integer>
public List<TarifaEscalaVO> pesquisaTarifaEscalaObj(String rutaId, String monedaId, String vigenciaId, String marcaId); public List<TarifaEscalaVO> pesquisaTarifaEscalaObj(String rutaId, String monedaId, String vigenciaId, String marcaId);
public List<TarifaEscalaGroupVO> pesquisaTarifaGroupObj(List<Moneda> lsAddRmvMonedas, List<Marca> lsAddRmvMarcas, List<ClaseServicio> lsAddRmvClaseServico, List<Categoria> lsAddRmvCategoria, List<Empresa> lsAddRmvEmpresas, List<Ruta> lsAddRmvRutas, List<TipoPuntoVenta> lsAddRmvTipoPuntoVenta, List<VigenciaTarifa> lsAddRmvVigenciaTarifa); public List<TarifaEscalaGroupVO> pesquisaTarifaGroupObj(List<Moneda> lsAddRmvMonedas, List<Marca> lsAddRmvMarcas, List<ClaseServicio> lsAddRmvClaseServico, List<Categoria> lsAddRmvCategoria, List<Empresa> lsAddRmvEmpresas, List<Ruta> lsAddRmvRutas, List<TipoPuntoVenta> lsAddRmvTipoPuntoVenta, List<VigenciaTarifa> lsAddRmvVigenciaTarifa);
public List<TarifaOficialEscalaVO> pesquisaTarifaOficialEscalaObj(String rutaId, String monedaId, String vigenciaId, String marcaId);
public List<TarifaOficialEscalaGroupVO> pesquisaTarifaOficialGroupObj(List<Moneda> lsAddRmvMonedas, List<Marca> lsAddRmvMarcas, List<ClaseServicio> lsAddRmvClaseServico, List<Empresa> lsAddRmvEmpresas, List<Ruta> lsAddRmvRutas, List<VigenciaTarifa> lsAddRmvVigenciaTarifa);
public List<Object> pesquisaTarifaOficialObj(List<Moneda> lsAddRmvMonedas, List<Marca> lsAddRmvMarcas, List<ClaseServicio> lsAddRmvClaseServico, List<Empresa> lsAddRmvEmpresas, List<Ruta> lsAddRmvRutas, List<VigenciaTarifa> lsAddRmvVigenciaTarifa);
} }

View File

@ -1,10 +1,11 @@
package com.rjconsultores.ventaboletos.dao; package com.rjconsultores.ventaboletos.dao;
import com.rjconsultores.ventaboletos.entidad.TarifaOficial;
import com.rjconsultores.ventaboletos.entidad.VigenciaTarifa; import com.rjconsultores.ventaboletos.entidad.VigenciaTarifa;
import com.rjconsultores.ventaboletos.service.TarifaOficialService; import com.rjconsultores.ventaboletos.service.TarifaOficialService;
public interface TarifaOficialDAO { public interface TarifaOficialDAO extends GenericDAO<TarifaOficial, Integer>{
/** /**
* See {@link TarifaOficialService#gerarTarifaPorCoeficiente(Integer, Integer)} * See {@link TarifaOficialService#gerarTarifaPorCoeficiente(Integer, Integer)}
* @param ruta * @param ruta
@ -55,12 +56,12 @@ public interface TarifaOficialDAO {
public void atualizarSeguroPorTarifa(Integer rutaId, Integer orgaoId,Integer usuarioId); public void atualizarSeguroPorTarifa(Integer rutaId, Integer orgaoId,Integer usuarioId);
/** /**
* Aplica a regra de arredondamento para as tarifas do órgão concedente informado.<br/> * Aplica a regra de arredondamento para as tarifas do <EFBFBD>rg<EFBFBD>o concedente informado.<br/>
* *
* *
* Após somar todos os componentes (precio,importetaxaembarque,importeseguro,importeoutros e importepedagio) obtem-se o PRECO final.<br/> * Ap<EFBFBD>s somar todos os componentes (precio,importetaxaembarque,importeseguro,importeoutros e importepedagio) obtem-se o PRECO final.<br/>
* *
* 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<br/> * Baseado nesse valor, s<EFBFBD>o aplicados as regras de arredondamento onde o componente precio pode sofrer um acr<EFBFBD>scimo os descr<EFBFBD>scimo de pre<EFBFBD>o para que o arredondamento<br/>
* fique certo * fique certo
* *
* @param orgaoConcedenteId * @param orgaoConcedenteId

View File

@ -37,6 +37,8 @@ import com.rjconsultores.ventaboletos.entidad.VigenciaTarifa;
import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado; import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado;
import com.rjconsultores.ventaboletos.vo.esquemaoperacional.TarifaEscalaGroupVO; import com.rjconsultores.ventaboletos.vo.esquemaoperacional.TarifaEscalaGroupVO;
import com.rjconsultores.ventaboletos.vo.esquemaoperacional.TarifaEscalaVO; 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; import org.hibernate.transform.AliasToBeanResultTransformer;
/** /**
@ -345,23 +347,114 @@ public class RutaCombinacionHibernateDAO extends GenericHibernateDAO<RutaCombina
return lsObj; return lsObj;
} }
public List<Object> pesquisaTarifaOficialObj(List<Moneda> lsMoneda, List<Marca> lsMarca, List<ClaseServicio> lsClaseServicio, List<Empresa> lsEmpresa, List<Ruta> lsRuta, List<VigenciaTarifa> 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<Object> lsObj = this.getSession().createSQLQuery(hql.toString()).list();
return lsObj;
}
public List<TarifaEscalaGroupVO> pesquisaTarifaGroupObj(List<Moneda> lsMoneda, List<Marca> lsMarca, List<ClaseServicio> lsClaseServicio, List<Categoria> lsCategoria, List<Empresa> lsEmpresa, List<Ruta> lsRuta, List<TipoPuntoVenta> lsTipoPuntoVenta, List<VigenciaTarifa> lsVigenciaTarifa) { public List<TarifaEscalaGroupVO> pesquisaTarifaGroupObj(List<Moneda> lsMoneda, List<Marca> lsMarca, List<ClaseServicio> lsClaseServicio, List<Categoria> lsCategoria, List<Empresa> lsEmpresa, List<Ruta> lsRuta, List<TipoPuntoVenta> lsTipoPuntoVenta, List<VigenciaTarifa> lsVigenciaTarifa) {
StringBuilder sql = new StringBuilder(" "); 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(" FROM ");
sql.append(" ").append(schema).append("RUTA_COMBINACION RC "); 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("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(" 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("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("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(" ,").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(" 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 T.TRAMO_ID = TRA.TRAMO_ID ");
sql.append(" AND RC.RUTA_ID = RE.RUTA_ID "); sql.append(" AND RC.RUTA_ID = RE.RUTA_ID ");
sql.append(" AND T.MARCA_ID = M.MARCA_ID "); sql.append(" AND T.MARCA_ID = M.MARCA_ID ");
sql.append(" AND T.MONEDA_ID = MON.MONEDA_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 = CS.CLASESERVICIO_ID ");
sql.append(" AND T.CLASESERVICIO_ID = R.CLASESERVICIO_ID "); sql.append(" AND T.CLASESERVICIO_ID = R.CLASESERVICIO_ID ");
sql.append(" AND TRA.ORIGEN_ID = ORI.PARADA_ID "); sql.append(" AND TRA.ORIGEN_ID = ORI.PARADA_ID ");
@ -369,14 +462,14 @@ public class RutaCombinacionHibernateDAO extends GenericHibernateDAO<RutaCombina
if (!lsVigenciaTarifa.isEmpty()) { // if (!lsVigenciaTarifa.isEmpty()) {
StringBuilder sb = new StringBuilder(""); // StringBuilder sb = new StringBuilder("");
for (VigenciaTarifa vt : lsVigenciaTarifa) { // for (VigenciaTarifa vt : lsVigenciaTarifa) {
sb.append(vt.getVigenciatarifaId()).append(","); // sb.append(vt.getVigenciatarifaId()).append(",");
} // }
String listInt = sb.toString().substring(0, sb.toString().length() - 1); // String listInt = sb.toString().substring(0, sb.toString().length() - 1);
sql.append(" AND VT.VIGENCIATARIFA_ID in (").append(listInt).append(")"); // sql.append(" AND VT.VIGENCIATARIFA_ID in (").append(listInt).append(")");
} // }
if (!lsEmpresa.isEmpty()) { if (!lsEmpresa.isEmpty()) {
StringBuilder sb = new StringBuilder(""); StringBuilder sb = new StringBuilder("");
for (Empresa vt : lsEmpresa) { for (Empresa vt : lsEmpresa) {
@ -503,4 +596,164 @@ public class RutaCombinacionHibernateDAO extends GenericHibernateDAO<RutaCombina
return query.list(); return query.list();
} }
public List<TarifaOficialEscalaGroupVO> pesquisaTarifaOficialGroupObj(List<Moneda> lsMoneda, List<Marca> lsMarca, List<ClaseServicio> lsClaseServicio, List<Empresa> lsEmpresa, List<Ruta> lsRuta, List<VigenciaTarifa> 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<TarifaOficialEscalaVO> 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();
}
} }

View File

@ -86,8 +86,7 @@ public class RutaHibernateDAO extends GenericHibernateDAO<Ruta, Integer>
Boolean nomeObrigatorio) { Boolean nomeObrigatorio) {
Criteria c = getSession().createCriteria(getPersistentClass()); Criteria c = getSession().createCriteria(getPersistentClass());
c.add(Restrictions.eq("activo", Boolean.TRUE)); 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("claseServicio", claseServicio));
c.add(Restrictions.eq("indNombreObligatorio", nomeObrigatorio)); c.add(Restrictions.eq("indNombreObligatorio", nomeObrigatorio));

View File

@ -11,7 +11,6 @@ import com.rjconsultores.ventaboletos.dao.TarifaOficialDAO;
import com.rjconsultores.ventaboletos.dao.sqlbuilder.SQLBuilder; import com.rjconsultores.ventaboletos.dao.sqlbuilder.SQLBuilder;
import com.rjconsultores.ventaboletos.entidad.TarifaOficial; import com.rjconsultores.ventaboletos.entidad.TarifaOficial;
import com.rjconsultores.ventaboletos.entidad.VigenciaTarifa; import com.rjconsultores.ventaboletos.entidad.VigenciaTarifa;
import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado;
@Repository("tarifaOficialDAO") @Repository("tarifaOficialDAO")
public class TarifaOficialHibernateDAO extends GenericHibernateDAO<TarifaOficial, Integer> implements TarifaOficialDAO { public class TarifaOficialHibernateDAO extends GenericHibernateDAO<TarifaOficial, Integer> implements TarifaOficialDAO {

View File

@ -15,6 +15,7 @@ import com.rjconsultores.ventaboletos.entidad.RutaCombinacion;
import com.rjconsultores.ventaboletos.entidad.TipoPuntoVenta; import com.rjconsultores.ventaboletos.entidad.TipoPuntoVenta;
import com.rjconsultores.ventaboletos.entidad.Tramo; import com.rjconsultores.ventaboletos.entidad.Tramo;
import com.rjconsultores.ventaboletos.entidad.VigenciaTarifa; import com.rjconsultores.ventaboletos.entidad.VigenciaTarifa;
import java.util.ArrayList;
import java.util.List; import java.util.List;
import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.poi.hssf.usermodel.HSSFWorkbook;
@ -53,4 +54,8 @@ public interface RutaCombinacionService extends GenericService<RutaCombinacion,
public List<Object> pesquisaTarifaObj(List<Moneda> lsAddRmvMonedas, List<Marca> lsAddRmvMarcas, List<ClaseServicio> lsAddRmvClaseServico, List<Categoria> lsAddRmvCategoria, List<Empresa> lsAddRmvEmpresas, List<Ruta> lsAddRmvRutas, List<TipoPuntoVenta> lsAddRmvTipoPuntoVenta, List<VigenciaTarifa> lsAddRmvVigenciaTarifa); public List<Object> pesquisaTarifaObj(List<Moneda> lsAddRmvMonedas, List<Marca> lsAddRmvMarcas, List<ClaseServicio> lsAddRmvClaseServico, List<Categoria> lsAddRmvCategoria, List<Empresa> lsAddRmvEmpresas, List<Ruta> lsAddRmvRutas, List<TipoPuntoVenta> lsAddRmvTipoPuntoVenta, List<VigenciaTarifa> lsAddRmvVigenciaTarifa);
public HSSFWorkbook gerarTarifaEscala(List<Moneda> lsAddRmvMonedas, List<Marca> lsAddRmvMarcas, List<ClaseServicio> lsAddRmvClaseServico, List<Categoria> lsAddRmvCategoria, List<Empresa> lsAddRmvEmpresas, List<Ruta> lsAddRmvRutas, List<TipoPuntoVenta> lsAddRmvTipoPuntoVenta, List<VigenciaTarifa> lsAddRmvVigenciaTarifa); public HSSFWorkbook gerarTarifaEscala(List<Moneda> lsAddRmvMonedas, List<Marca> lsAddRmvMarcas, List<ClaseServicio> lsAddRmvClaseServico, List<Categoria> lsAddRmvCategoria, List<Empresa> lsAddRmvEmpresas, List<Ruta> lsAddRmvRutas, List<TipoPuntoVenta> lsAddRmvTipoPuntoVenta, List<VigenciaTarifa> lsAddRmvVigenciaTarifa);
public HSSFWorkbook gerarTarifaOficialEscala(List<Moneda> lsAddRmvMonedas, List<Marca> lsAddRmvMarcas, List<ClaseServicio> lsAddRmvClaseServico, ArrayList<Categoria> arrayList, List<Empresa> lsAddRmvEmpresas, List<Ruta> lsAddRmvRutas, ArrayList<TipoPuntoVenta> arrayList0, List<VigenciaTarifa> lsAddRmvVigenciaTarifa);
public List<Object> pesquisaTarifaOficialObj(List<Moneda> lsAddRmvMonedas, List<Marca> lsAddRmvMarcas, List<ClaseServicio> lsAddRmvClaseServico, ArrayList<Categoria> arrayList, List<Empresa> lsAddRmvEmpresas, List<Ruta> lsAddRmvRutas, ArrayList<TipoPuntoVenta> arrayList0, List<VigenciaTarifa> lsAddRmvVigenciaTarifa);
} }

View File

@ -1,21 +1,22 @@
package com.rjconsultores.ventaboletos.service; package com.rjconsultores.ventaboletos.service;
import com.rjconsultores.ventaboletos.dao.TarifaOficialDAO; import com.rjconsultores.ventaboletos.dao.TarifaOficialDAO;
import com.rjconsultores.ventaboletos.entidad.TarifaOficial;
import com.rjconsultores.ventaboletos.entidad.VigenciaTarifa; import com.rjconsultores.ventaboletos.entidad.VigenciaTarifa;
import com.rjconsultores.ventaboletos.exception.BusinessException; import com.rjconsultores.ventaboletos.exception.BusinessException;
public interface TarifaOficialService { public interface TarifaOficialService extends GenericService<TarifaOficial, Integer>{
/** /**
* Gera as tarifas de acordo o cálculo do coeficiente tarifário.<br/> * Gera as tarifas de acordo o c<EFBFBD>lculo do coeficiente tarif<EFBFBD>rio.<br/>
* *
* Fórmula: (KM * Coeficiente Tarifário) * F<EFBFBD>rmula: (KM * Coeficiente Tarif<EFBFBD>rio)
* *
* Se o parametro ruta não for informado, será gerado tarifas para todas as * Se o parametro ruta n<EFBFBD>o for informado, ser<EFBFBD> gerado tarifas para todas as
* rutas. <br/> * rutas. <br/>
* *
* Obs.: Essa operção apenas gera tarifas que ainda não estão geradas<br/> * Obs.: Essa oper<EFBFBD><EFBFBD>o apenas gera tarifas que ainda n<EFBFBD>o est<EFBFBD>o geradas<br/>
* *
* @param rutaId * @param rutaId
* @param orgaoConcedenteId TODO * @param orgaoConcedenteId TODO
@ -24,11 +25,11 @@ public interface TarifaOficialService {
public Integer gerarTarifaPorCoeficiente(Integer rutaId, Integer orgaoConcedenteId); public Integer gerarTarifaPorCoeficiente(Integer rutaId, Integer orgaoConcedenteId);
/** /**
* Atualiza as tarifas de acordo o cálculo do coeficiente tarifário.<br/> * Atualiza as tarifas de acordo o c<EFBFBD>lculo do coeficiente tarif<EFBFBD>rio.<br/>
* *
* Fórmula: (KM * Coeficiente Tarifário) * F<EFBFBD>rmula: (KM * Coeficiente Tarif<EFBFBD>rio)
* *
* Se o parametro ruta não for informado, será atualizado as tarifas para * Se o parametro ruta n<EFBFBD>o for informado, ser<EFBFBD> atualizado as tarifas para
* todas as rutas.<br/> * todas as rutas.<br/>
* *
* @param rutaId * @param rutaId
@ -38,9 +39,9 @@ public interface TarifaOficialService {
public Integer atualizarTarifaPorCoeficiente(Integer rutaId, Integer orgaoConcedenteId); public Integer atualizarTarifaPorCoeficiente(Integer rutaId, Integer orgaoConcedenteId);
/** /**
* Gera as novas tarifas e atualiza as já existentes * Gera as novas tarifas e atualiza as j<EFBFBD> existentes
* *
* Utiliza os métodos {@link #gerarTarifaPorCoeficiente(Integer, Integer)} e {@link #atualizarTarifaPorCoeficiente(Integer, Integer)} * Utiliza os m<EFBFBD>todos {@link #gerarTarifaPorCoeficiente(Integer, Integer)} e {@link #atualizarTarifaPorCoeficiente(Integer, Integer)}
* *
* @param rudaId * @param rudaId
* @param orgaoConcedenteId * @param orgaoConcedenteId
@ -57,16 +58,16 @@ public interface TarifaOficialService {
/** /**
* Atualiza a taxa de embarque da entidade TarifaOficial.<br/> * Atualiza a taxa de embarque da entidade TarifaOficial.<br/>
* *
* Para o cálculo, é usado a seguinte lógica:<br/> * Para o c<EFBFBD>lculo, <EFBFBD> usado a seguinte l<EFBFBD>gica:<br/>
* - Atualiza de acordo a tabela TAXA_EMBARQUE_PARADA por kilometragem<br/> * - Atualiza de acordo a tabela TAXA_EMBARQUE_PARADA por kilometragem<br/>
* - Atualiza de acordo a tabela TAXA_EMBARQUE por kilometragem<br/> * - Atualiza de acordo a tabela TAXA_EMBARQUE por kilometragem<br/>
* - Atualiza de acordo a tabela TAXA_EMBARQUE_PARADA por valor fixo<br/> * - Atualiza de acordo a tabela TAXA_EMBARQUE_PARADA por valor fixo<br/>
* *
* A sequencia acima indica a ordem de atualização da taxa de embarque.<br/> * A sequencia acima indica a ordem de atualiza<EFBFBD><EFBFBD>o da taxa de embarque.<br/>
* *
* A taxa de embarque mais restritiva fica por último (TAXA_EMBARQUE_PARADA por valor fixo) * A taxa de embarque mais restritiva fica por <EFBFBD>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<EFBFBD> atualizado apenas a taxa de embarque da ruta informada
* @param orgaoConcedenteId TODO * @param orgaoConcedenteId TODO
*/ */
public void atualizarTaxaEmbarque(Integer rutaId, Integer orgaoConcedenteId); public void atualizarTaxaEmbarque(Integer rutaId, Integer orgaoConcedenteId);
@ -75,16 +76,16 @@ public interface TarifaOficialService {
/** /**
* Atualiza o seguro de acordo a kilometragem do trecho * Atualiza o seguro de acordo a kilometragem do trecho
* *
* @param rutaId - Se informado, será filtrado pela ruta * @param rutaId - Se informado, ser<EFBFBD> filtrado pela ruta
* @param orgaoId -Campo obrigatório * @param orgaoId -Campo obrigat<EFBFBD>rio
*/ */
public void atualizarSeguroPorKm(Integer rutaId,Integer orgaoId) throws BusinessException; public void atualizarSeguroPorKm(Integer rutaId,Integer orgaoId) throws BusinessException;
/** /**
* Atualiza o seguro de acordo o valor da tarifa * Atualiza o seguro de acordo o valor da tarifa
* *
* @param rutaId - Se informado, será filtrado pela ruta * @param rutaId - Se informado, ser<EFBFBD> filtrado pela ruta
* @param orgaoId -Campo obrigatório * @param orgaoId -Campo obrigat<EFBFBD>rio
* *
*/ */
public void atualizarSeguroPorTarifa(Integer rutaId, Integer orgaoId) throws BusinessException; public void atualizarSeguroPorTarifa(Integer rutaId, Integer orgaoId) throws BusinessException;

View File

@ -20,7 +20,11 @@ import com.rjconsultores.ventaboletos.service.RutaCombinacionService;
import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado; import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado;
import com.rjconsultores.ventaboletos.vo.esquemaoperacional.TarifaEscalaGroupVO; import com.rjconsultores.ventaboletos.vo.esquemaoperacional.TarifaEscalaGroupVO;
import com.rjconsultores.ventaboletos.vo.esquemaoperacional.TarifaEscalaVO; 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.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar; import java.util.Calendar;
import java.util.List; import java.util.List;
import org.apache.log4j.Logger; import org.apache.log4j.Logger;
@ -44,7 +48,7 @@ public class RutaCombinacionServiceImpl implements RutaCombinacionService {
@Autowired @Autowired
private RutaCombinacionDAO rutaCombinacionDAO; private RutaCombinacionDAO rutaCombinacionDAO;
private static Logger log = Logger.getLogger(RutaCombinacionServiceImpl.class); private static Logger log = Logger.getLogger(RutaCombinacionServiceImpl.class);
private int NUM_LINHA_INICIO = 7; private int NUM_LINHA_INICIO = 8;
public List<RutaCombinacion> obtenerTodos() { public List<RutaCombinacion> obtenerTodos() {
return rutaCombinacionDAO.obtenerTodos(); return rutaCombinacionDAO.obtenerTodos();
@ -122,22 +126,6 @@ public class RutaCombinacionServiceImpl implements RutaCombinacionService {
rutaCombinacionDAO.activar(ruta, trBuscaOrigemDestino); rutaCombinacionDAO.activar(ruta, trBuscaOrigemDestino);
} }
// public List<RutaCombinacion> pesquisaTarifa(List<Moneda> lsAddRmvMonedas, List<Marca> lsAddRmvMarcas,
// List<ClaseServicio> lsAddRmvClaseServico, List<Categoria> lsAddRmvCategoria,
// List<Empresa> lsAddRmvEmpresas, List<Ruta> lsAddRmvRutas,
// List<TipoPuntoVenta> lsAddRmvTipoPuntoVenta, List<VigenciaTarifa> lsAddRmvVigenciaTarifa) {
// return rutaCombinacionDAO.pesquisaTarifa(lsAddRmvMonedas, lsAddRmvMarcas, lsAddRmvClaseServico,
// lsAddRmvCategoria, lsAddRmvEmpresas, lsAddRmvRutas, lsAddRmvTipoPuntoVenta, lsAddRmvVigenciaTarifa);
// }
//
// public List<Object> pesquisaTarifaObj(List<Moneda> lsAddRmvMonedas, List<Marca> lsAddRmvMarcas,
// List<ClaseServicio> lsAddRmvClaseServico, List<Categoria> lsAddRmvCategoria,
// List<Empresa> lsAddRmvEmpresas, List<Ruta> lsAddRmvRutas,
// List<TipoPuntoVenta> lsAddRmvTipoPuntoVenta, List<VigenciaTarifa> lsAddRmvVigenciaTarifa) {
// return rutaCombinacionDAO.pesquisaTarifaObj(lsAddRmvMonedas, lsAddRmvMarcas, lsAddRmvClaseServico,
// lsAddRmvCategoria, lsAddRmvEmpresas, lsAddRmvRutas, lsAddRmvTipoPuntoVenta, lsAddRmvVigenciaTarifa);
// }
public HSSFWorkbook gerarTarifaEscala(List<Moneda> lsAddRmvMonedas, List<Marca> lsAddRmvMarcas, List<ClaseServicio> lsAddRmvClaseServico, List<Categoria> lsAddRmvCategoria, List<Empresa> lsAddRmvEmpresas, List<Ruta> lsAddRmvRutas, List<TipoPuntoVenta> lsAddRmvTipoPuntoVenta, List<VigenciaTarifa> lsAddRmvVigenciaTarifa) { public HSSFWorkbook gerarTarifaEscala(List<Moneda> lsAddRmvMonedas, List<Marca> lsAddRmvMarcas, List<ClaseServicio> lsAddRmvClaseServico, List<Categoria> lsAddRmvCategoria, List<Empresa> lsAddRmvEmpresas, List<Ruta> lsAddRmvRutas, List<TipoPuntoVenta> lsAddRmvTipoPuntoVenta, List<VigenciaTarifa> lsAddRmvVigenciaTarifa) {
HSSFWorkbook wb = new HSSFWorkbook(); HSSFWorkbook wb = new HSSFWorkbook();
@ -275,6 +263,163 @@ public class RutaCombinacionServiceImpl implements RutaCombinacionService {
return wb; return wb;
} }
public HSSFWorkbook gerarTarifaOficialEscala(List<Moneda> lsAddRmvMonedas, List<Marca> lsAddRmvMarcas, List<ClaseServicio> lsAddRmvClaseServico, ArrayList<Categoria> arrayList, List<Empresa> lsAddRmvEmpresas, List<Ruta> lsAddRmvRutas, ArrayList<TipoPuntoVenta> arrayList0, List<VigenciaTarifa> 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<TarifaOficialEscalaGroupVO> 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<TarifaOficialEscalaVO> 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<Object> pesquisaTarifaObj(List<Moneda> lsAddRmvMonedas, List<Marca> lsAddRmvMarcas, public List<Object> pesquisaTarifaObj(List<Moneda> lsAddRmvMonedas, List<Marca> lsAddRmvMarcas,
List<ClaseServicio> lsAddRmvClaseServico, List<Categoria> lsAddRmvCategoria, List<ClaseServicio> lsAddRmvClaseServico, List<Categoria> lsAddRmvCategoria,
List<Empresa> lsAddRmvEmpresas, List<Ruta> lsAddRmvRutas, List<Empresa> lsAddRmvEmpresas, List<Ruta> lsAddRmvRutas,
@ -282,4 +427,9 @@ public class RutaCombinacionServiceImpl implements RutaCombinacionService {
return rutaCombinacionDAO.pesquisaTarifaObj(lsAddRmvMonedas, lsAddRmvMarcas, lsAddRmvClaseServico, return rutaCombinacionDAO.pesquisaTarifaObj(lsAddRmvMonedas, lsAddRmvMarcas, lsAddRmvClaseServico,
lsAddRmvCategoria, lsAddRmvEmpresas, lsAddRmvRutas, lsAddRmvTipoPuntoVenta, lsAddRmvVigenciaTarifa); lsAddRmvCategoria, lsAddRmvEmpresas, lsAddRmvRutas, lsAddRmvTipoPuntoVenta, lsAddRmvVigenciaTarifa);
} }
public List<Object> pesquisaTarifaOficialObj(List<Moneda> lsAddRmvMonedas, List<Marca> lsAddRmvMarcas, List<ClaseServicio> lsAddRmvClaseServico, ArrayList<Categoria> arrayList, List<Empresa> lsAddRmvEmpresas, List<Ruta> lsAddRmvRutas, ArrayList<TipoPuntoVenta> arrayList0, List<VigenciaTarifa> lsAddRmvVigenciaTarifa) {
return rutaCombinacionDAO.pesquisaTarifaOficialObj(lsAddRmvMonedas, lsAddRmvMarcas, lsAddRmvClaseServico,
lsAddRmvEmpresas, lsAddRmvRutas, lsAddRmvVigenciaTarifa);
}
} }

View File

@ -1,5 +1,7 @@
package com.rjconsultores.ventaboletos.service.impl; 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.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
@ -102,4 +104,26 @@ public class TarifaOficialServiceImpl implements TarifaOficialService {
tarifaOficialDAO.aplicarArredondamentoTarifa(orgaoConcedenteId, UsuarioLogado.getUsuarioLogado().getUsuarioId()); tarifaOficialDAO.aplicarArredondamentoTarifa(orgaoConcedenteId, UsuarioLogado.getUsuarioLogado().getUsuarioId());
} }
public List<TarifaOficial> obtenerTodos() {
return tarifaOficialDAO.obtenerTodos();
}
public TarifaOficial obtenerID(Integer id) {
return tarifaOficialDAO.obtenerID(id);
}
@Transactional
public TarifaOficial suscribir(TarifaOficial entidad) {
return tarifaOficialDAO.suscribir(entidad);
}
@Transactional
public TarifaOficial actualizacion(TarifaOficial entidad) {
return tarifaOficialDAO.actualizacion(entidad);
}
@Transactional
public void borrar(TarifaOficial entidad) {
tarifaOficialDAO.borrar(entidad);
}
} }

View File

@ -35,6 +35,7 @@ import com.rjconsultores.ventaboletos.vo.esquemaoperacional.SecuenciaRutaTramoVO
@Service("tramoRutaService") @Service("tramoRutaService")
public class TramoRutaServiceImpl implements TramoRutaService { public class TramoRutaServiceImpl implements TramoRutaService {
private static Logger log = Logger.getLogger(TramoRutaServiceImpl.class); private static Logger log = Logger.getLogger(TramoRutaServiceImpl.class);
@Autowired @Autowired
private RutaService rutaService; private RutaService rutaService;
@ -69,8 +70,8 @@ public class TramoRutaServiceImpl implements TramoRutaService {
} }
if ((s.getOrigen() == null) || (s.getDestino() == null) || (s.getVia() == null) if ((s.getOrigen() == null) || (s.getDestino() == null) || (s.getVia() == null)
|| (s.getKmReal() == null) || (s.getSecuencia() == null) || (s.getTiempoRecorrido() == null)) { || (s.getKmReal() == null) || (s.getSecuencia() == null) || (s.getTiempoRecorrido() == null)) {
throw new BusinessException("tramoRutaServiceImpl.msg.cambosObligatoriosCombinacion", new Object[] { s.getOrigen(), throw new BusinessException("tramoRutaServiceImpl.msg.cambosObligatoriosCombinacion", new Object[]{s.getOrigen(),
s.getDestino() }); s.getDestino()});
} }
} }
for (SecuenciaRutaTramoVO s : rutaTramoVO.getLsSecuenciaRutaTramoVO()) { for (SecuenciaRutaTramoVO s : rutaTramoVO.getLsSecuenciaRutaTramoVO()) {
@ -79,8 +80,8 @@ public class TramoRutaServiceImpl implements TramoRutaService {
} }
if ((s.getOrigen() == null) || (s.getDestino() == null) || (s.getVia() == null) if ((s.getOrigen() == null) || (s.getDestino() == null) || (s.getVia() == null)
|| (s.getKmReal() == null) || (s.getSecuencia() == null) || (s.getTiempoRecorrido() == null)) { || (s.getKmReal() == null) || (s.getSecuencia() == null) || (s.getTiempoRecorrido() == null)) {
throw new BusinessException("tramoRutaServiceImpl.msg.cambosObligatoriosSecuencia", new Object[] { s.getOrigen(), throw new BusinessException("tramoRutaServiceImpl.msg.cambosObligatoriosSecuencia", new Object[]{s.getOrigen(),
s.getDestino() }); s.getDestino()});
} }
} }
} }
@ -91,11 +92,14 @@ public class TramoRutaServiceImpl implements TramoRutaService {
this.validarGenerarTramosRutas(rutaTramoVO); this.validarGenerarTramosRutas(rutaTramoVO);
List<Ruta> lsRutaExiste = rutaService.buscar(rutaTramoVO.getDescRuta(), rutaTramoVO.getClaseServicio(), rutaTramoVO.getSolicitaNombrePasajero()); //Validação retirada
//no Brasil pode existir rutas com o mesmo nome (Ida e Volta por exemplo legalmente tem o mesmo nome)
if (!lsRutaExiste.isEmpty()) { // Fabio e Xande
throw new BusinessException("MSG.Registro.Existe"); // List<Ruta> 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 // Genero los tramos y tramos servicios de la combinacion que no existen
// Aqui si genera tambien los tramos de la secuencia // Aqui si genera tambien los tramos de la secuencia
@ -122,6 +126,7 @@ public class TramoRutaServiceImpl implements TramoRutaService {
Ruta ruta = new Ruta(); Ruta ruta = new Ruta();
ruta.setDescruta(rutaTramoVO.getDescRuta()); ruta.setDescruta(rutaTramoVO.getDescRuta());
ruta.setClaseServicio(rutaTramoVO.getClaseServicio()); ruta.setClaseServicio(rutaTramoVO.getClaseServicio());
ruta.setOrgaoConcedente(rutaTramoVO.getOrgaoConcedente());
ruta.setIndNombreObligatorio(rutaTramoVO.getSolicitaNombrePasajero()); ruta.setIndNombreObligatorio(rutaTramoVO.getSolicitaNombrePasajero());
ruta.setVentaOffLine(rutaTramoVO.getVentaHandHeld()); ruta.setVentaOffLine(rutaTramoVO.getVentaHandHeld());
ruta.setLsRutaEmpresa(lsRutaEmpresa); ruta.setLsRutaEmpresa(lsRutaEmpresa);
@ -156,10 +161,16 @@ public class TramoRutaServiceImpl implements TramoRutaService {
public RutaTramoVO generarRutaRegreso(RutaTramoVO rutaTramoVO) { public RutaTramoVO generarRutaRegreso(RutaTramoVO rutaTramoVO) {
RutaTramoVO rutaTramoRegresoVO = new RutaTramoVO(); RutaTramoVO rutaTramoRegresoVO = new RutaTramoVO();
rutaTramoRegresoVO.setClaseServicio(rutaTramoVO.getClaseServicio()); rutaTramoRegresoVO.setClaseServicio(rutaTramoVO.getClaseServicio());
rutaTramoRegresoVO.setOrgaoConcedente(rutaTramoVO.getOrgaoConcedente());
rutaTramoRegresoVO.setSolicitaNombrePasajero(rutaTramoVO.getSolicitaNombrePasajero()); rutaTramoRegresoVO.setSolicitaNombrePasajero(rutaTramoVO.getSolicitaNombrePasajero());
rutaTramoRegresoVO.setVentaHandHeld(rutaTramoVO.getVentaHandHeld()); rutaTramoRegresoVO.setVentaHandHeld(rutaTramoVO.getVentaHandHeld());
rutaTramoRegresoVO.setLsEmpresa(rutaTramoVO.getLsEmpresa()); rutaTramoRegresoVO.setLsEmpresa(rutaTramoVO.getLsEmpresa());
rutaTramoRegresoVO.setPrefixo(rutaTramoVO.getPrefixo()); rutaTramoRegresoVO.setPrefixo(rutaTramoVO.getPrefixo());
if (rutaTramoVO.getDescRuta() != null) {
rutaTramoRegresoVO.setDescRuta(rutaTramoVO.getDescRuta());
} else {
rutaTramoRegresoVO.setDescRuta("-");
}
List<SecuenciaRutaTramoVO> lsSecuenciaRutaTramoRegresoVO = new ArrayList<SecuenciaRutaTramoVO>(); List<SecuenciaRutaTramoVO> lsSecuenciaRutaTramoRegresoVO = new ArrayList<SecuenciaRutaTramoVO>();
List<SecuenciaRutaTramoVO> lsSecuenciaRutaTramoIdaVO = new ArrayList<SecuenciaRutaTramoVO>(rutaTramoVO.getLsSecuenciaRutaTramoVO()); List<SecuenciaRutaTramoVO> lsSecuenciaRutaTramoIdaVO = new ArrayList<SecuenciaRutaTramoVO>(rutaTramoVO.getLsSecuenciaRutaTramoVO());

View File

@ -6,11 +6,14 @@ import java.util.List;
import com.rjconsultores.ventaboletos.entidad.ClaseServicio; import com.rjconsultores.ventaboletos.entidad.ClaseServicio;
import com.rjconsultores.ventaboletos.entidad.Empresa; import com.rjconsultores.ventaboletos.entidad.Empresa;
import com.rjconsultores.ventaboletos.entidad.OrgaoConcedente;
public class RutaTramoVO { public class RutaTramoVO {
private Boolean ventaHandHeld; private Boolean ventaHandHeld;
private Boolean solicitaNombrePasajero; private Boolean solicitaNombrePasajero;
private ClaseServicio claseServicio; private ClaseServicio claseServicio;
private OrgaoConcedente orgaoConcedente;
private List<SecuenciaRutaTramoVO> lsSecuenciaRutaTramoVO; private List<SecuenciaRutaTramoVO> lsSecuenciaRutaTramoVO;
private List<SecuenciaRutaTramoVO> lsCombinacionRutaTramoVO; private List<SecuenciaRutaTramoVO> lsCombinacionRutaTramoVO;
private List<Empresa> lsEmpresa; private List<Empresa> lsEmpresa;
@ -47,6 +50,14 @@ public class RutaTramoVO {
this.claseServicio = claseServicio; this.claseServicio = claseServicio;
} }
public OrgaoConcedente getOrgaoConcedente() {
return orgaoConcedente;
}
public void setOrgaoConcedente(OrgaoConcedente orgaoConcedente) {
this.orgaoConcedente = orgaoConcedente;
}
/** /**
* Regresa una unmodifiable list * Regresa una unmodifiable list
* *