fixes bug#23906
dev: Lucas qua: git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Model/trunk/modelWeb@110063 d1611594-4594-4d17-8e1d-87c2c4800839master
parent
d08b2437da
commit
df06a43d3b
|
@ -14,7 +14,7 @@ public interface ConexionDAO extends GenericDAO<Conexion, Integer> {
|
|||
*/
|
||||
public void generarConexiones(Integer usuarioId);
|
||||
|
||||
public List<ConexionVO> buscarConexiones(Integer origenId, Integer destinoId);
|
||||
public List<ConexionVO> buscarConexiones(boolean isBuscaAgrupada, Integer origenId, Integer destinoId);
|
||||
|
||||
public List<Conexion> buscarPorConexionCtrl(Long conexcionCtrlId);
|
||||
|
||||
|
|
|
@ -78,6 +78,9 @@ public class ConexionHibernateDAO extends GenericHibernateDAO<Conexion, Integer>
|
|||
conexionVO.setGrupo(((BigDecimal) oc[3]).intValue());
|
||||
conexionVO.setTramoOrigen((String) oc[4]);
|
||||
conexionVO.setTramoDestino((String) oc[5]);
|
||||
|
||||
conexionVO.setBuscaAgruapada(false);
|
||||
|
||||
conexionVOs.add(conexionVO);
|
||||
}
|
||||
|
||||
|
@ -85,11 +88,38 @@ public class ConexionHibernateDAO extends GenericHibernateDAO<Conexion, Integer>
|
|||
}
|
||||
|
||||
@Override
|
||||
public List<ConexionVO> buscarConexiones(Integer origenId, Integer destinoId) {
|
||||
public List<ConexionVO> buscarConexiones(boolean isBuscaAgrupada, Integer origenId, Integer destinoId) {
|
||||
|
||||
String queryStr = getQueryConexiones(isBuscaAgrupada, origenId, destinoId);
|
||||
|
||||
Query query = getSession().createSQLQuery(queryStr);
|
||||
List<Object[]> list = query.list();
|
||||
|
||||
List<ConexionVO> vos = new ArrayList<ConexionVO>();
|
||||
for (Object[] o : list) {
|
||||
ConexionVO vo = new ConexionVO();
|
||||
vo.setGrupo(((BigDecimal) o[0]).intValue());
|
||||
vo.setConexionCtrlId(((BigDecimal) o[1]).longValue());
|
||||
vo.setConOrigen((String) o[2]);
|
||||
vo.setConDestino((String) o[3]);
|
||||
vo.setTramoOrigen((String) o[4]);
|
||||
vo.setTramoDestino((String) o[5]);
|
||||
vo.setBuscaAgruapada(isBuscaAgrupada);
|
||||
|
||||
vos.add(vo);
|
||||
}
|
||||
|
||||
return vos;
|
||||
}
|
||||
|
||||
private String getQueryConexiones(boolean isBuscaAgrupada, Integer origenId, Integer destinoId) {
|
||||
|
||||
StringBuilder sb = new StringBuilder();
|
||||
sb.append(" select cc.conexionctrl_id as conexionCtrlId, occ.descparada as conOrigen, dcc.descparada as conDestino, ");
|
||||
sb.append(" c.numgrupo as grupo, oc.descparada as tramoOrigen, dc.descparada as tramoDestino ");
|
||||
|
||||
sb.append(" select ");
|
||||
sb.append(isBuscaAgrupada ? " max(c.numgrupo) as grupo, " : " c.numgrupo as grupo, ");
|
||||
sb.append(" cc.conexionctrl_id as conexionCtrlId, occ.descparada as conOrigen, dcc.descparada as conDestino, ");
|
||||
sb.append(" oc.descparada as tramoOrigen, dc.descparada as tramoDestino, c.numsecuencia as numsecuencia ");
|
||||
sb.append(" from conexion_ctrl cc ");
|
||||
sb.append(" inner join conexion_conf conf ");
|
||||
sb.append(" on conf.conexionctrl_id = cc.conexionctrl_id, ");
|
||||
|
@ -105,31 +135,18 @@ public class ConexionHibernateDAO extends GenericHibernateDAO<Conexion, Integer>
|
|||
sb.append(" and dcc.parada_id = cc.destino_id ");
|
||||
sb.append(" and oc.parada_id = c.origen_id ");
|
||||
sb.append(" and dc.parada_id = c.destino_id ");
|
||||
|
||||
if (origenId != null) {
|
||||
sb.append(" and cc.origen_id = ").append(origenId);
|
||||
}
|
||||
|
||||
if (destinoId != null) {
|
||||
sb.append(" and cc.destino_id = ").append(destinoId);
|
||||
}
|
||||
sb.append(" order by occ.descparada, dcc.descparada, cc.conexionctrl_id, c.numgrupo, c.numsecuencia, oc.descparada, dc.descparada ");
|
||||
|
||||
Query query = getSession().createSQLQuery(sb.toString());
|
||||
List<Object[]> list = query.list();
|
||||
|
||||
List<ConexionVO> vos = new ArrayList<ConexionVO>();
|
||||
for (Object[] o : list) {
|
||||
ConexionVO vo = new ConexionVO();
|
||||
vo.setConexionCtrlId(((BigDecimal) o[0]).longValue());
|
||||
vo.setConOrigen((String) o[1]);
|
||||
vo.setConDestino((String) o[2]);
|
||||
vo.setGrupo(((BigDecimal) o[3]).intValue());
|
||||
vo.setTramoOrigen((String) o[4]);
|
||||
vo.setTramoDestino((String) o[5]);
|
||||
|
||||
vos.add(vo);
|
||||
}
|
||||
|
||||
return vos;
|
||||
sb.append(isBuscaAgrupada ? " group by cc.conexionctrl_id , occ.descparada, dcc.descparada, oc.descparada, dc.descparada, c.numsecuencia " : "");
|
||||
sb.append(" order by conOrigen, conDestino, conexionCtrlId, grupo, numsecuencia, tramoOrigen, tramoDestino ");
|
||||
return sb.toString();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -288,10 +305,10 @@ public class ConexionHibernateDAO extends GenericHibernateDAO<Conexion, Integer>
|
|||
|
||||
@Override
|
||||
public Conexion buscarPorConexionRutaTramoCtrl(Integer conexionRutaTramoId) {
|
||||
|
||||
|
||||
Criteria c = getSession().createCriteria(getPersistentClass());
|
||||
c.add(Restrictions.eq("conexionRutaTramoId", conexionRutaTramoId));
|
||||
c.add(Restrictions.eq("activo", Boolean.TRUE));
|
||||
c.add(Restrictions.eq("activo", Boolean.TRUE));
|
||||
return (Conexion) c.uniqueResult();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -13,7 +13,7 @@ public interface ConexionService {
|
|||
*/
|
||||
public void gerarConexiones();
|
||||
|
||||
public List<ConexionVO> buscarConexiones(Integer origenId, Integer destinoId);
|
||||
public List<ConexionVO> buscarConexiones(boolean isBuscaAgrupada, Integer origenId, Integer destinoId);
|
||||
|
||||
public Conexion suscribir(Conexion conexion);
|
||||
|
||||
|
|
|
@ -31,8 +31,8 @@ public class ConexionServiceImpl implements ConexionService {
|
|||
}
|
||||
|
||||
@Override
|
||||
public List<ConexionVO> buscarConexiones(Integer origenId, Integer destinoId) {
|
||||
return conexionDAO.buscarConexiones(origenId, destinoId);
|
||||
public List<ConexionVO> buscarConexiones(boolean isBuscaAgrupada, Integer origenId, Integer destinoId) {
|
||||
return conexionDAO.buscarConexiones(isBuscaAgrupada, origenId, destinoId);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -8,6 +8,8 @@ public class ConexionVO {
|
|||
private String tramoDestino;
|
||||
private Long conexionCtrlId;
|
||||
|
||||
private boolean buscaAgruapada;
|
||||
|
||||
public String getConOrigen() {
|
||||
return conOrigen;
|
||||
}
|
||||
|
@ -56,6 +58,14 @@ public class ConexionVO {
|
|||
this.conexionCtrlId = conexionCtrlId;
|
||||
}
|
||||
|
||||
public boolean isBuscaAgruapada() {
|
||||
return buscaAgruapada;
|
||||
}
|
||||
|
||||
public void setBuscaAgruapada(boolean buscaAgruapada) {
|
||||
this.buscaAgruapada = buscaAgruapada;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "ConexionVO [conOrigen=" + conOrigen + ", conDestino=" + conDestino + ", grupo=" + grupo + ", tramoOrigen=" + tramoOrigen + ", tramoDestino=" + tramoDestino + ", conexionCtrlId=" + conexionCtrlId + "]";
|
||||
|
|
Loading…
Reference in New Issue