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 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);
|
public List<Conexion> buscarPorConexionCtrl(Long conexcionCtrlId);
|
||||||
|
|
||||||
|
|
|
@ -78,6 +78,9 @@ public class ConexionHibernateDAO extends GenericHibernateDAO<Conexion, Integer>
|
||||||
conexionVO.setGrupo(((BigDecimal) oc[3]).intValue());
|
conexionVO.setGrupo(((BigDecimal) oc[3]).intValue());
|
||||||
conexionVO.setTramoOrigen((String) oc[4]);
|
conexionVO.setTramoOrigen((String) oc[4]);
|
||||||
conexionVO.setTramoDestino((String) oc[5]);
|
conexionVO.setTramoDestino((String) oc[5]);
|
||||||
|
|
||||||
|
conexionVO.setBuscaAgruapada(false);
|
||||||
|
|
||||||
conexionVOs.add(conexionVO);
|
conexionVOs.add(conexionVO);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -85,11 +88,38 @@ public class ConexionHibernateDAO extends GenericHibernateDAO<Conexion, Integer>
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@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();
|
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(" from conexion_ctrl cc ");
|
||||||
sb.append(" inner join conexion_conf conf ");
|
sb.append(" inner join conexion_conf conf ");
|
||||||
sb.append(" on conf.conexionctrl_id = cc.conexionctrl_id, ");
|
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 dcc.parada_id = cc.destino_id ");
|
||||||
sb.append(" and oc.parada_id = c.origen_id ");
|
sb.append(" and oc.parada_id = c.origen_id ");
|
||||||
sb.append(" and dc.parada_id = c.destino_id ");
|
sb.append(" and dc.parada_id = c.destino_id ");
|
||||||
|
|
||||||
if (origenId != null) {
|
if (origenId != null) {
|
||||||
sb.append(" and cc.origen_id = ").append(origenId);
|
sb.append(" and cc.origen_id = ").append(origenId);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (destinoId != null) {
|
if (destinoId != null) {
|
||||||
sb.append(" and cc.destino_id = ").append(destinoId);
|
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());
|
sb.append(isBuscaAgrupada ? " group by cc.conexionctrl_id , occ.descparada, dcc.descparada, oc.descparada, dc.descparada, c.numsecuencia " : "");
|
||||||
List<Object[]> list = query.list();
|
sb.append(" order by conOrigen, conDestino, conexionCtrlId, grupo, numsecuencia, tramoOrigen, tramoDestino ");
|
||||||
|
return sb.toString();
|
||||||
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;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -288,10 +305,10 @@ public class ConexionHibernateDAO extends GenericHibernateDAO<Conexion, Integer>
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Conexion buscarPorConexionRutaTramoCtrl(Integer conexionRutaTramoId) {
|
public Conexion buscarPorConexionRutaTramoCtrl(Integer conexionRutaTramoId) {
|
||||||
|
|
||||||
Criteria c = getSession().createCriteria(getPersistentClass());
|
Criteria c = getSession().createCriteria(getPersistentClass());
|
||||||
c.add(Restrictions.eq("conexionRutaTramoId", conexionRutaTramoId));
|
c.add(Restrictions.eq("conexionRutaTramoId", conexionRutaTramoId));
|
||||||
c.add(Restrictions.eq("activo", Boolean.TRUE));
|
c.add(Restrictions.eq("activo", Boolean.TRUE));
|
||||||
return (Conexion) c.uniqueResult();
|
return (Conexion) c.uniqueResult();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -13,7 +13,7 @@ public interface ConexionService {
|
||||||
*/
|
*/
|
||||||
public void gerarConexiones();
|
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);
|
public Conexion suscribir(Conexion conexion);
|
||||||
|
|
||||||
|
|
|
@ -31,8 +31,8 @@ public class ConexionServiceImpl implements ConexionService {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<ConexionVO> buscarConexiones(Integer origenId, Integer destinoId) {
|
public List<ConexionVO> buscarConexiones(boolean isBuscaAgrupada, Integer origenId, Integer destinoId) {
|
||||||
return conexionDAO.buscarConexiones(origenId, destinoId);
|
return conexionDAO.buscarConexiones(isBuscaAgrupada, origenId, destinoId);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -8,6 +8,8 @@ public class ConexionVO {
|
||||||
private String tramoDestino;
|
private String tramoDestino;
|
||||||
private Long conexionCtrlId;
|
private Long conexionCtrlId;
|
||||||
|
|
||||||
|
private boolean buscaAgruapada;
|
||||||
|
|
||||||
public String getConOrigen() {
|
public String getConOrigen() {
|
||||||
return conOrigen;
|
return conOrigen;
|
||||||
}
|
}
|
||||||
|
@ -56,6 +58,14 @@ public class ConexionVO {
|
||||||
this.conexionCtrlId = conexionCtrlId;
|
this.conexionCtrlId = conexionCtrlId;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public boolean isBuscaAgruapada() {
|
||||||
|
return buscaAgruapada;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setBuscaAgruapada(boolean buscaAgruapada) {
|
||||||
|
this.buscaAgruapada = buscaAgruapada;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String toString() {
|
public String toString() {
|
||||||
return "ConexionVO [conOrigen=" + conOrigen + ", conDestino=" + conDestino + ", grupo=" + grupo + ", tramoOrigen=" + tramoOrigen + ", tramoDestino=" + tramoDestino + ", conexionCtrlId=" + conexionCtrlId + "]";
|
return "ConexionVO [conOrigen=" + conOrigen + ", conDestino=" + conDestino + ", grupo=" + grupo + ", tramoOrigen=" + tramoOrigen + ", tramoDestino=" + tramoDestino + ", conexionCtrlId=" + conexionCtrlId + "]";
|
||||||
|
|
Loading…
Reference in New Issue