- Se agregaron varios TRY/CATCH para evitar que se muera la aplicacion en caso de parametros faltantes o equivocados.

This commit is contained in:
2024-04-23 04:18:15 -06:00
parent 758916a1da
commit 156e3b1d94
5 changed files with 144 additions and 117 deletions

View File

@@ -155,6 +155,8 @@ Sub ruteoCompleto(ruta As String) As ResumableSub 'ignore
' Next ' Next
' Log("*****************************************") ' Log("*****************************************")
' Log(js.NextObject) ' Log(js.NextObject)
ts.Put(ruta, CreateMap("code":"KO", "duration":0, "distance":0, "puntos":0))
Try
Private m As Map = js1.NextObject Private m As Map = js1.NextObject
' Private estatus As String = m.Get("code") ' Private estatus As String = m.Get("code")
Private rutas As Map = m.Get("routes").as(List).Get(0) Private rutas As Map = m.Get("routes").as(List).Get(0)
@@ -168,8 +170,11 @@ Sub ruteoCompleto(ruta As String) As ResumableSub 'ignore
steps.Initialize steps.Initialize
steps = rutas.Get("legs").as(List).get("steps") steps = rutas.Get("legs").as(List).get("steps")
Log("STEPS SIZE: " & steps.Size) Log("STEPS SIZE: " & steps.Size)
ts.Put(ruta, CreateMap("code":"Ok", "duration":rutas.Get("duration"), "distance":rutas.Get("distance"), "puntos":rutas.Get("legs").As(List).Size)) ts.Put(ruta, CreateMap("code":"OK", "duration":rutas.Get("duration"), "distance":rutas.Get("distance"), "puntos":rutas.Get("legs").As(List).Size))
' Log(">>>>>>>>>>>>>>>>>>>>>>>>>>>" & ts) ' Log(">>>>>>>>>>>>>>>>>>>>>>>>>>>" & ts)
Catch
Log(LastException)
End Try
Return 1 Return 1
End Sub End Sub

View File

@@ -201,6 +201,7 @@ Sub generaMatrizLocal(ruta As String) 'ignore
Log("#################################################################") Log("#################################################################")
' Log($"delete from ${ruta}_punteo"$) ' Log($"delete from ${ruta}_punteo"$)
Log("Generamos matriz LOCAL") Log("Generamos matriz LOCAL")
Try
db.ExecNonQuery($"delete from ${ruta}_punteo"$) db.ExecNonQuery($"delete from ${ruta}_punteo"$)
' Log($"delete from ${ruta}_matriz"$) ' Log($"delete from ${ruta}_matriz"$)
db.ExecNonQuery($"delete from ${ruta}_matriz"$) db.ExecNonQuery($"delete from ${ruta}_matriz"$)
@@ -228,6 +229,9 @@ Sub generaMatrizLocal(ruta As String) 'ignore
db.ExecNonQuery($"insert into ${ruta}_matriz (${lasCols}) values (${losVals})"$) db.ExecNonQuery($"insert into ${ruta}_matriz (${lasCols}) values (${losVals})"$)
Loop Loop
Log("Matriz LOCAL generada") Log("Matriz LOCAL generada")
Catch
Log(LastException)
End Try
' generaMatrizOSRM ' generaMatrizOSRM
End Sub End Sub
@@ -236,6 +240,7 @@ Sub generaMatrizOSRM(ruta As String) As ResumableSub 'ignore
Log("################################################################") Log("################################################################")
Log("############# Main/generaMatrizOSRM ####################") Log("############# Main/generaMatrizOSRM ####################")
Log("################################################################") Log("################################################################")
Try
db.ExecNonQuery($"delete from ${ruta}_punteo"$) db.ExecNonQuery($"delete from ${ruta}_punteo"$)
db.ExecNonQuery($"delete from ${ruta}_matrizOSRM"$) db.ExecNonQuery($"delete from ${ruta}_matrizOSRM"$)
' matriz = "OSRM" ' matriz = "OSRM"
@@ -282,6 +287,9 @@ Sub generaMatrizOSRM(ruta As String) As ResumableSub 'ignore
Next Next
' fx.ShowExternalDocument($"http://router.project-osrm.org/table/v1/driving/${lasCoords}"$) ' fx.ShowExternalDocument($"http://router.project-osrm.org/table/v1/driving/${lasCoords}"$)
Log("Matriz OSRM generada") Log("Matriz OSRM generada")
Catch
Log(LastException)
End Try
End Sub End Sub
Sub b_ruteo_Click Sub b_ruteo_Click
@@ -295,9 +303,11 @@ Sub ruteo(ruta As String, matriz As String) 'ignore
Log("#####################################################") Log("#####################################################")
db.ExecNonQuery($"delete from ${ruta}_punteo"$) db.ExecNonQuery($"delete from ${ruta}_punteo"$)
punteoLista.Initialize punteoLista.Initialize
Private c As ResultSet = db.ExecQuery($"select * from ${ruta}_puntos"$) Private c As ResultSet = db.ExecQuery($"select * from ${ruta}_puntos limit 1"$)
Do While c.NextRow
db.ExecNonQuery($"insert into ${ruta}_punteo (pos, id, nombre, lat, lon) values ('0', '${c.GetString("id")}', 'Almacen', ${c.Getdouble("lat")}, ${c.Getdouble("lon")})"$) db.ExecNonQuery($"insert into ${ruta}_punteo (pos, id, nombre, lat, lon) values ('0', '${c.GetString("id")}', 'Almacen', ${c.Getdouble("lat")}, ${c.Getdouble("lon")})"$)
punteoLista.Add(c.GetString("id")) 'Lista para ruteoNearestInsertion, ponemos el primer punto de la lista de coordenadas. punteoLista.Add(c.GetString("id")) 'Lista para ruteoNearestInsertion, ponemos el primer punto de la lista de coordenadas.
Loop
' Private c As ResultSet = db.ExecQuery($"select * from ${ruta}_puntos where id = 'CCINCIO' limit 1"$) ' Private c As ResultSet = db.ExecQuery($"select * from ${ruta}_puntos where id = 'CCINCIO' limit 1"$)
' Do While c.NextRow ' Do While c.NextRow
@@ -409,18 +419,23 @@ Sub tiempos(ruta As String) As ResumableSub 'ignore
'' Log(colroot) '' Log(colroot)
'' Next '' Next
' Log("*****************************************") ' Log("*****************************************")
ts.Put(ruta, CreateMap("code":"KO", "duration":0, "distance":0, "puntos":0))
Try
Private m As Map = js.NextObject Private m As Map = js.NextObject
Log(m) Log(m)
Private estatus As String = m.Get("code") Private estatus As String = m.Get("code")
Private rutas As Map = m.Get("routes").as(List).Get(0) Private rutas As Map = m.Get("routes").as(List).Get(0)
Private waypoints As List = m.Get("waypoints") Private waypoints As List = m.Get("waypoints")
' Log("Response: " & estatus) Log("Response: " & estatus)
' Log("Duration: " & rutas.Get("duration")) ' Log("Duration: " & rutas.Get("duration"))
' Log("Distance: " & rutas.Get("distance")) ' Log("Distance: " & rutas.Get("distance"))
' Log("Legs: " & rutas.Get("legs").As(List).Size) ' Log("Legs: " & rutas.Get("legs").As(List).Size)
' Log("Waypoints: " & waypoints.Size) ' Log("Waypoints: " & waypoints.Size)
ts.Put(ruta, CreateMap("code":"Ok", "duration":rutas.Get("duration"), "distance":rutas.Get("distance"), "puntos":rutas.Get("legs").As(List).Size)) ts.Put(ruta, CreateMap("code":"OK", "duration":rutas.Get("duration"), "distance":rutas.Get("distance"), "puntos":rutas.Get("legs").As(List).Size))
' Log(">>>>>>>>>>>>>>>>>>>>>>>>>>>" & ts) ' Log(">>>>>>>>>>>>>>>>>>>>>>>>>>>" & ts)
Catch
Log(LastException)
End Try
Return 1 Return 1
End Sub End Sub

View File

@@ -10,12 +10,12 @@ ModuleBreakpoints2=
ModuleBreakpoints3= ModuleBreakpoints3=
ModuleBreakpoints4= ModuleBreakpoints4=
ModuleBreakpoints5= ModuleBreakpoints5=
ModuleClosedNodes0=3,4,5,6,7,8,10,11,14,16,17,19,21,22,23,24,25 ModuleClosedNodes0=3,4,5,6,8,10,11,14,17,19,21,22,23,24,25
ModuleClosedNodes1= ModuleClosedNodes1=
ModuleClosedNodes2= ModuleClosedNodes2=
ModuleClosedNodes3= ModuleClosedNodes3=
ModuleClosedNodes4= ModuleClosedNodes4=
ModuleClosedNodes5= ModuleClosedNodes5=
NavigationStack=Main,Process_Globals,26,6,Main,ruteoNearestInsertion,491,6,Main,generaMatrizOSRM,210,0,Main,generaMatrizLocal,182,0,Main,creaTablas,122,0,rutaCompleta,Initialize,12,0,Mapa,Handle,54,0,Ruteador,Handle,63,6,rutaCompleta,Handle,55,6,Main,ruteo,285,6 NavigationStack=Main,ruteo,283,6,Mapa,Handle,54,0,Main,creaTablas,132,0,Main,generaMatrizLocal,204,1,Main,generaMatrizOSRM,214,1,Main,tiempos,410,3,Ruteador,generaMatrizRuteoTiempos,95,6,Ruteador,tiempos,136,1,Mapa,ruteoCompleto,166,3,rutaCompleta,ruteoCompleto,167,2
SelectedBuild=0 SelectedBuild=0
VisibleModules=5,3,4,1,2 VisibleModules=5,3,4,1,2

View File

@@ -99,13 +99,14 @@ Sub generaMatrizRuteoTiempos(r As String, resp As ServletResponse, ruta As Strin
tempMap.Put("api", matriz) tempMap.Put("api", matriz)
If matriz = "" Then tempMap.Put("api", "Local") If matriz = "" Then tempMap.Put("api", "Local")
'Ponemos la ruta, almacen, tiempos, distancias y la lista de las coordenadas en un mapa para regresarla en un JSON. 'Ponemos la ruta, almacen, tiempos, distancias y la lista de las coordenadas en un mapa para regresarla en un JSON.
tempMap.Put("code", "Ok") tempMap.Put("code", "OK")
tempMap.Put("ruta", ruta) tempMap.Put("ruta", ruta)
tempMap.Put("almacen", almacen) tempMap.Put("almacen", almacen)
tempMap.Put("duration", ts.Get("duration")) tempMap.Put("duration", ts.Get("duration"))
tempMap.Put("distance", ts.Get("distance")) tempMap.Put("distance", ts.Get("distance"))
tempMap.Put("puntos", ts.Get("puntos")) tempMap.Put("puntos", ts.Get("puntos"))
tempMap.Put("coords", listCoords) tempMap.Put("coords", listCoords)
If tempMap.get("puntos") = 0 Then tempMap.Put("code", "KO")
' Log(tempMap) ' Log(tempMap)
js.Initialize(tempMap) js.Initialize(tempMap)
StopMessageLoop StopMessageLoop
@@ -139,13 +140,14 @@ Sub tiempos(r As String, resp As ServletResponse, ruta As String, almacen As Str
Main.db.Close Main.db.Close
tempMap.Put("api", matriz) tempMap.Put("api", matriz)
If matriz = "" Then tempMap.Put("api", "Local") If matriz = "" Then tempMap.Put("api", "Local")
tempMap.Put("code", "Ok") tempMap.Put("code", "OK")
tempMap.Put("ruta", ruta) tempMap.Put("ruta", ruta)
tempMap.Put("almacen", almacen) tempMap.Put("almacen", almacen)
tempMap.Put("duration", ts.Get("duration")) tempMap.Put("duration", ts.Get("duration"))
tempMap.Put("distance", ts.Get("distance")) tempMap.Put("distance", ts.Get("distance"))
tempMap.Put("puntos", ts.Get("puntos")) tempMap.Put("puntos", ts.Get("puntos"))
tempMap.Put("coords", listCoords) tempMap.Put("coords", listCoords)
If tempMap.get("puntos") = 0 Then tempMap.Put("code", "KO")
' Log(tempMap) ' Log(tempMap)
js.Initialize(tempMap) js.Initialize(tempMap)
StopMessageLoop StopMessageLoop

View File

@@ -156,6 +156,8 @@ Sub ruteoCompleto(ruta As String) As ResumableSub 'ignore
' Next ' Next
' Log("*****************************************") ' Log("*****************************************")
' Log(js.NextObject) ' Log(js.NextObject)
ts.Put(ruta, CreateMap("code":"KO", "duration":0, "distance":0, "puntos":0))
Try
Private m As Map = js1.NextObject Private m As Map = js1.NextObject
' Private estatus As String = m.Get("code") ' Private estatus As String = m.Get("code")
Private rutas As Map = m.Get("routes").as(List).Get(0) Private rutas As Map = m.Get("routes").as(List).Get(0)
@@ -169,8 +171,11 @@ Sub ruteoCompleto(ruta As String) As ResumableSub 'ignore
steps.Initialize steps.Initialize
steps = rutas.Get("legs").as(List).get(0).As(Map).Get("steps") steps = rutas.Get("legs").as(List).get(0).As(Map).Get("steps")
Log("STEPS SIZE: " & steps.Size) Log("STEPS SIZE: " & steps.Size)
ts.Put(ruta, CreateMap("code":"Ok", "duration":rutas.Get("duration"), "distance":rutas.Get("distance"), "puntos":rutas.Get("legs").As(List).Size)) ts.Put(ruta, CreateMap("code":"OK", "duration":rutas.Get("duration"), "distance":rutas.Get("distance"), "puntos":rutas.Get("legs").As(List).Size))
' Log(">>>>>>>>>>>>>>>>>>>>>>>>>>>" & ts) ' Log(">>>>>>>>>>>>>>>>>>>>>>>>>>>" & ts)
Catch
Log(LastException)
End Try
Return 1 Return 1
End Sub End Sub