fixes bug #7930
git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Model/trunk/modelWeb@67106 d1611594-4594-4d17-8e1d-87c2c4800839master
parent
5e1f8cf2c7
commit
e667f575ef
|
@ -103,9 +103,11 @@ public interface RutaService {
|
||||||
* @return Retorna a coleção de sequencias que precisam ser geradas
|
* @return Retorna a coleção de sequencias que precisam ser geradas
|
||||||
*/
|
*/
|
||||||
public List<ParadaSecuenciaCombinacaoLinha> verificarSeqRutaNaoGerada(Ruta ruta, List<ParadaSecuencia> lsParadasSequencia);
|
public List<ParadaSecuenciaCombinacaoLinha> verificarSeqRutaNaoGerada(Ruta ruta, List<ParadaSecuencia> lsParadasSequencia);
|
||||||
|
|
||||||
public List<Ruta> buscarRutasPorEmpresaOrgaoConcedente(Empresa empresa, OrgaoConcedente orgao);
|
public List<Ruta> buscarRutasPorEmpresaOrgaoConcedente(Empresa empresa, OrgaoConcedente orgao);
|
||||||
|
|
||||||
public boolean cambiarParadaRuta(Ruta ruta, Parada parada, String descripcionParada) throws Exception ;
|
public boolean cambiarParadaRuta(Ruta ruta, Parada paradaAntiga, Parada nuevaParada, String descripcionParada) throws Exception;
|
||||||
|
|
||||||
|
public Parada validaParada(String descripcionParada, Parada paradaAntiga) throws Exception;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -72,39 +72,59 @@ public class RutaServiceImpl implements RutaService {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@Transactional(rollbackFor = BusinessException.class)
|
@Transactional(rollbackFor = BusinessException.class)
|
||||||
public boolean cambiarParadaRuta(Ruta ruta, Parada parada, String descripcionParada) throws Exception {
|
public Parada validaParada(String descripcionParada, Parada paradaAntiga) throws Exception {
|
||||||
|
|
||||||
String cve = null;
|
String cve = extrairCodigoOuLocalidade(descripcionParada, true, false);
|
||||||
String descparada = null;
|
String descparada = extrairCodigoOuLocalidade(descripcionParada, false, true);
|
||||||
try {
|
|
||||||
String arraySplit[] = new String[2];
|
|
||||||
arraySplit = descripcionParada.split(" - ");
|
|
||||||
cve = arraySplit[0];
|
|
||||||
descparada = arraySplit[1];
|
|
||||||
} catch (Exception e) {
|
|
||||||
throw new BusinessException("editarCatalogoDeRutaController.actionCanbiarParada.businessException");
|
|
||||||
}
|
|
||||||
|
|
||||||
if (cve == null || descparada == null)
|
if (cve == null || descparada == null)
|
||||||
throw new BusinessException("editarCatalogoDeRutaController.actionCanbiarParada.businessException");
|
throw new BusinessException("editarCatalogoDeRutaController.actionCanbiarParada.businessException");
|
||||||
|
|
||||||
try {
|
try {
|
||||||
Parada nuevaParada = null;
|
|
||||||
List<Parada> paradas = paradaService.buscarCVE(cve);
|
List<Parada> paradas = paradaService.buscarCVE(cve);
|
||||||
paradas.addAll(paradaService.buscar(descparada));
|
paradas.addAll(paradaService.buscar(descparada));
|
||||||
if (!paradas.isEmpty()) {
|
if (!paradas.isEmpty()) {
|
||||||
nuevaParada = paradas.iterator().next();
|
return paradas.iterator().next();
|
||||||
} else {
|
} else {
|
||||||
nuevaParada = crearNuevaParada(parada, cve, descparada);
|
return null;
|
||||||
|
}
|
||||||
|
} catch (Exception e) {
|
||||||
|
throw e;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private String extrairCodigoOuLocalidade(String descripcionParada, boolean isCodigo, boolean isLocalidade) throws Exception {
|
||||||
|
try {
|
||||||
|
String arraySplit[] = new String[2];
|
||||||
|
arraySplit = descripcionParada.split(" - ");
|
||||||
|
if (isCodigo)
|
||||||
|
return arraySplit[0];
|
||||||
|
if (isLocalidade)
|
||||||
|
return arraySplit[1];
|
||||||
|
} catch (Exception e) {
|
||||||
|
throw new BusinessException("editarCatalogoDeRutaController.actionCanbiarParada.businessException");
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
@Transactional(rollbackFor = BusinessException.class)
|
||||||
|
public boolean cambiarParadaRuta(Ruta ruta, Parada paradaAntiga, Parada nuevaParada, String descripcionParada) throws Exception {
|
||||||
|
|
||||||
|
try {
|
||||||
|
String cve = extrairCodigoOuLocalidade(descripcionParada, true, false);
|
||||||
|
String descparada = extrairCodigoOuLocalidade(descripcionParada, false, true);
|
||||||
|
|
||||||
|
if (nuevaParada == null) {
|
||||||
|
nuevaParada = crearNuevaParada(paradaAntiga, cve, descparada);
|
||||||
paradaService.suscribirActualizar(nuevaParada);
|
paradaService.suscribirActualizar(nuevaParada);
|
||||||
}
|
}
|
||||||
|
|
||||||
List<Tramo> tramos = validaTramosRuta(ruta);
|
List<Tramo> tramos = validaTramosRuta(ruta);
|
||||||
List<CambioRutaTramo> cambios = new ArrayList<CambioRutaTramo>();
|
List<CambioRutaTramo> cambios = new ArrayList<CambioRutaTramo>();
|
||||||
for (Tramo tramo : tramos) {
|
for (Tramo tramo : tramos) {
|
||||||
Tramo nTramo = crearNuevoTramo(tramo, parada, nuevaParada);
|
Tramo nTramo = crearNuevoTramo(tramo, paradaAntiga, nuevaParada);
|
||||||
if (nTramo != null) {
|
if (nTramo != null) {
|
||||||
cambios.add(new CambioRutaTramo(tramo, nTramo, parada, nuevaParada));
|
cambios.add(new CambioRutaTramo(tramo, nTramo, paradaAntiga, nuevaParada));
|
||||||
tramoService.suscribirActualizar(nTramo);
|
tramoService.suscribirActualizar(nTramo);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue