Merge pull request 'bug#al-2761' (!63) from AL-2761 into master

Reviewed-on: adm/ModelWeb#63
Reviewed-by: Wilian Domingues <wilian@rjconsultores.com.br>
Reviewed-by: fabio <fabio.faria@rjconsultores.com.br>
master
Valdir Cordeiro 2023-06-13 13:14:40 +00:00
commit db5aa54f7e
5 changed files with 22 additions and 20 deletions

View File

@ -3,7 +3,7 @@
<modelVersion>4.0.0</modelVersion>
<groupId>br.com.rjconsultores</groupId>
<artifactId>ModelWeb</artifactId>
<version>1.5.2</version>
<version>1.5.3</version>
<distributionManagement>
<repository>
<id>rj-releases</id>

View File

@ -207,7 +207,7 @@ public class ConexionRutaConfHibernateDAO extends GenericHibernateDAO<ConexionRu
Long conexionctrlId = Long.valueOf(tupla[21].toString());
Boolean indPricing = tupla[22] == null ? false : Integer.valueOf(tupla[22].toString()) == 1;
ConexionCtrlVO conexionCtrl = recuperarConexionCtrlVO(listConexionCtrlVO, listConexionCtrl, paradaOrigemTrecho.getParadaId(), paradaDestinoTrecho.getParadaId(), conexionctrlId, indPricing);
ConexionCtrlVO conexionCtrl = recuperarConexionCtrlVO(listConexionCtrlVO, listConexionCtrl, paradaOrigemTrecho.getParadaId(), paradaDestinoTrecho.getParadaId(), conexionctrlId, indPricing, grupo);
ConexionRutaCtrlVO conexionRutaCtrl = new ConexionRutaCtrlVO(rutaOrigemId, rutaDestinoId, rutaDestinoCId);
ParadaVOConexionRuta trecho = new ParadaVOConexionRuta(grupo, paradaOrigem, paradaDestino, rutaId, numRuta, secuencia, true, paradaOrigemTrecho, paradaDestinoTrecho, conexionCtrl, conexionRutaCtrl, sentido);
@ -242,9 +242,9 @@ public class ConexionRutaConfHibernateDAO extends GenericHibernateDAO<ConexionRu
return sQuery.toString();
}
private ConexionCtrlVO recuperarConexionCtrlVO(List<ConexionCtrlVO> listConexionCtrlVO, List<ConexionCtrl> listConexionCtrl, Integer origemConexaoCtrl, Integer destinoConexaoCtrl, Long conexionctrlId, Boolean indPricing) {
private ConexionCtrlVO recuperarConexionCtrlVO(List<ConexionCtrlVO> listConexionCtrlVO, List<ConexionCtrl> listConexionCtrl, Integer origemConexaoCtrl, Integer destinoConexaoCtrl, Long conexionctrlId, Boolean indPricing, Integer grupo) {
for (ConexionCtrlVO conexionCtrlTemp : listConexionCtrlVO) {
if(conexionCtrlTemp.isOrigemDestinoIgual(origemConexaoCtrl, destinoConexaoCtrl)) {
if(conexionCtrlTemp.isOrigemDestinoGrupoIgual(origemConexaoCtrl, destinoConexaoCtrl, grupo)) {
return conexionCtrlTemp;
}
}
@ -252,9 +252,10 @@ public class ConexionRutaConfHibernateDAO extends GenericHibernateDAO<ConexionRu
ConexionCtrlVO conexionCtrlVO = new ConexionCtrlVO(origemConexaoCtrl, destinoConexaoCtrl);
conexionCtrlVO.setConexionctrlId(conexionctrlId);
conexionCtrlVO.setIndPricing(indPricing);
conexionCtrlVO.setGrupo(grupo);
listConexionCtrlVO.add(conexionCtrlVO);
ConexionCtrl conexaoCtrl = new ConexionCtrl(origemConexaoCtrl, destinoConexaoCtrl, null);
ConexionCtrl conexaoCtrl = new ConexionCtrl(origemConexaoCtrl, destinoConexaoCtrl, grupo);
conexaoCtrl.setConexionctrlId(conexionctrlId);
conexaoCtrl.setIndPricing(indPricing);
listConexionCtrl.add(conexaoCtrl);

View File

@ -125,30 +125,23 @@ public class ConexionRutaCombinacionServiceImpl implements ConexionRutaCombinaci
*/
private ConexionCtrlVO adicionarConexao(List<ConexionCtrlVO> conexoesCtrl, Integer origemConexaoCtrl, Integer destinoConexaoCtrl) {
ConexionCtrlVO conexionCtrl = null;
Integer indice = 0;
Integer grupo = 0;
for (ConexionCtrlVO conexionCtrlTemp : conexoesCtrl) {
if(conexionCtrlTemp.isOrigemDestinoIgual(origemConexaoCtrl, destinoConexaoCtrl)) {
conexionCtrl = conexionCtrlTemp;
break;
grupo++;
}
indice++;
}
if(conexionCtrl == null) {
conexionCtrl = new ConexionCtrlVO(origemConexaoCtrl, destinoConexaoCtrl);
indice = -1;
conexionCtrl.setGrupo(grupo);
}
conexionCtrl.incrementarGrupo();
if(indice > -1) {
conexoesCtrl.set(indice, conexionCtrl);
} else {
conexoesCtrl.add(conexionCtrl);
}
return conexionCtrl;
}
private void adicionarLocalidadeGerada(ConexionCtrlVO conexionCtrl, List<ParadaVOConexionRuta> localidadesGeradas, ParadaVOConexionRuta trechoA, ParadaVOConexionRuta trechoB, ParadaVOConexionRuta trechoC, Set<String> rutasVendaA, Set<String> rutasVendaB, Set<String> rutasVendaC, Boolean isConexaoPorAgrupamento) {

View File

@ -234,16 +234,14 @@ public class ConexionRutaConfServiceImpl implements ConexionRutaConfService {
}
private void salvarConexionesConf(ConexionRutaConf conexionRutaConf, ConexionCtrl conexionCtrl) {
for (int i = 1; i <= conexionCtrl.getGrupos(); i++) {
ConexionConf conexionConf = new ConexionConf();
conexionConf.setConexionCtrl(conexionCtrl);
conexionConf.setGrupo(i);
conexionConf.setGrupo(conexionCtrl.getGrupos());
conexionConf.setIndisponible(false);
conexionConf.setTiempoMin(conexionRutaConf.getTiempoMin());
conexionConf.setTiempoMax(conexionRutaConf.getTiempoMax());
conexionConf = conexionConfService.suscribir(conexionConf);
}
}
private void salvarConexiones(ConexionCtrl conexionCtrl, List<ConexionRutaTramoCtrl> lsConexionRutaTramo, List<ParadaVOConexionRuta> localidadesCombinadas) {
List<ConexionRutaTramoCtrl> conexionRutaTramoCtrls = recuperarConexionRutaTramoCtrl(conexionCtrl, lsConexionRutaTramo, localidadesCombinadas);
@ -263,7 +261,7 @@ public class ConexionRutaConfServiceImpl implements ConexionRutaConfService {
private List<ConexionRutaTramoCtrl> recuperarConexionRutaTramoCtrl(ConexionCtrl conexionCtrl, List<ConexionRutaTramoCtrl> lsConexionRutaTramo, List<ParadaVOConexionRuta> localidadesCombinadas) {
List<ConexionRutaTramoCtrl> list = new ArrayList<ConexionRutaTramoCtrl>(0);
for (ParadaVOConexionRuta trecho: localidadesCombinadas) {
if(trecho.getConexionCtrl().isOrigemDestinoIgual(conexionCtrl.getOrigenId(), conexionCtrl.getDestinoId())) {
if(trecho.getConexionCtrl().isOrigemDestinoGrupoIgual(conexionCtrl.getOrigenId(), conexionCtrl.getDestinoId(), conexionCtrl.getGrupos())) {
ConexionRutaTramoCtrl aux = new ConexionRutaTramoCtrl(trecho.getConexionRutaTramoId());
Integer idx = lsConexionRutaTramo.indexOf(aux);
if(idx > -1) {

View File

@ -80,6 +80,12 @@ public class ConexionCtrlVO {
getDestinoId() !=null && getDestinoId().equals(destinoConexaoCtrl);
}
public boolean isOrigemDestinoGrupoIgual(Integer origemConexaoCtrl, Integer destinoConexaoCtrl, Integer grupo) {
return getOrigenId() != null && getOrigenId().equals(origemConexaoCtrl) &&
getDestinoId() !=null && getDestinoId().equals(destinoConexaoCtrl) &&
getGrupo() !=null && getGrupo().equals(grupo);
}
public boolean isValida() {
return valida;
}
@ -104,4 +110,8 @@ public class ConexionCtrlVO {
this.indPricing = indPricing;
}
public void setGrupo(Integer grupo) {
this.grupo = grupo;
}
}