- VERSION 4.10.02

- Se agregó el almacen a todas las tablas necesarias y a los queries de envio de información.
This commit is contained in:
Jose Alberto Guerra Ugalde
2024-10-03 15:24:11 -06:00
parent e85f953e73
commit ead56c8758
16 changed files with 2900 additions and 358 deletions

View File

@@ -85,6 +85,11 @@ Sub Class_Globals
Public Provider As FileProvider Public Provider As FileProvider
Public rutaBDBackup As String = "" Public rutaBDBackup As String = ""
Dim rutarep As String Dim rutarep As String
Private p_ruteo As Panel
' Private lv_algoritmo As ListView
' Private lv_matriz As ListView
Private s_algoritmo As Spinner
Private s_matriz As Spinner
End Sub End Sub
Public Sub Initialize Public Sub Initialize
@@ -146,10 +151,17 @@ Private Sub B4XPage_Created (Root1 As B4XView)
Subs.agregaColumna("REPARTO", "REP_CLI_ORIG", "TEXT") Subs.agregaColumna("REPARTO", "REP_CLI_ORIG", "TEXT")
Subs.agregaColumna("REPARTO", "REP_PRECIO", "TEXT") Subs.agregaColumna("REPARTO", "REP_PRECIO", "TEXT")
Subs.agregaColumna("REPARTO", "REP_RECHAZO", "INTEGER") Subs.agregaColumna("REPARTO", "REP_RECHAZO", "INTEGER")
Subs.agregaColumna("REPARTO", "REP_IDALMACEN", "TEXT")
Subs.agregaColumna("RECHAZOS", "R_PRECIO", "TEXT") Subs.agregaColumna("RECHAZOS", "R_PRECIO", "TEXT")
Subs.agregaColumna("VENTAS", "V_PRECIO", "TEXT") Subs.agregaColumna("VENTAS", "V_PRECIO", "TEXT")
Starter.skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS RUTAA (RUTAA TEXT)") Starter.skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS RUTAA (RUTAA TEXT)")
Starter.skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS wayPoints (codigo TEXT, indice INT)") Starter.skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS wayPoints (codigo TEXT, indice INT)")
Subs.agregaColumna("kmt_info", "CAT_CL_IDALMACEN", "TEXT")
Subs.agregaColumna("HIST_VENTAS", "HVD_IDALMACEN", "TEXT")
Subs.agregaColumna("HIST_VENTAS2", "HVD_IDALMACEN", "TEXT")
Subs.agregaColumna("NOVENTA", "NV_IDALMACEN", "TEXT")
Subs.agregaColumna("RECHAZOS", "R_IDALMACEN", "TEXT")
Subs.agregaColumna("VENTAS", "V_IDALMACEN", "TEXT")
' Dim server As String = "http://11.0.0.151:1782" ' Dim server As String = "http://11.0.0.151:1782"
Dim server As String = "http://187.189.244.154:1782" Dim server As String = "http://187.189.244.154:1782"
' Dim server As String = "http://11.0.0.12:1782" ' Dim server As String = "http://11.0.0.12:1782"
@@ -161,7 +173,19 @@ Private Sub B4XPage_Created (Root1 As B4XView)
' Dim P As PhoneId ' Dim P As PhoneId
Log("provider") Log("provider")
Provider.Initialize Provider.Initialize
s_algoritmo.AddAll(Array As String("Nearest Neighbor", "Nearest Insertion"))
s_algoritmo.TextSize = 13
s_matriz.AddAll(Array As String("OSRM", "LOCAL"))
s_matriz.TextSize = 13
Subs.centraPanel(p_ruteo, Root.Width)
' lv_algoritmo.AddSingleLine2("Nearest Neighbor","NN")
' lv_algoritmo.AddSingleLine2("Nearest Insertion", "NI")
' lv_algoritmo.SingleLineLayout.Label.TextColor = Colors.black
' lv_algoritmo.SingleLineLayout.Label.TextSize = 11
' lv_matriz.AddSingleLine("OSRM")
' lv_matriz.AddSingleLine("LOCAL")
' lv_matriz.SingleLineLayout.Label.TextColor = Colors.black
' lv_matriz.SingleLineLayout.Label.TextSize = 11
' Starter.rp.CheckAndRequest(Starter.rp.PERMISSION_READ_PHONE_STATE) ' Starter.rp.CheckAndRequest(Starter.rp.PERMISSION_READ_PHONE_STATE)
' Wait For B4XPage_PermissionResult (Permission As String, Result As Boolean) ' Wait For B4XPage_PermissionResult (Permission As String, Result As Boolean)
' If Result Then ' If Result Then
@@ -201,11 +225,18 @@ Sub B4XPage_Appear
' If Result Then ' If Result Then
' Log("Con permisos de escritura externa") ' Log("Con permisos de escritura externa")
' End If ' End If
Private al As String = "Nearest Neighbor"
If Subs.traeAlgoritmoRuteo <> "NN" Then al = "Nearest Insertion"
s_algoritmo.SelectedIndex = s_algoritmo.IndexOf(al)
s_matriz.SelectedIndex = s_matriz.IndexOf(Subs.traeMatrizRuteo)
End Sub End Sub
'You can see the list of page related events in the B4XPagesManager object. The event name is B4XPage. 'You can see the list of page related events in the B4XPagesManager object. The event name is B4XPage.
Sub Entrar_Click Sub Entrar_Click
If user.Text = "x" And pass.Text = "" Then
user.Text = "CAPACITACIONR"
End If
If pass.Text = "YA" Then If pass.Text = "YA" Then
Starter.skmt.ExecNonQuery("delete from usuarioa") Starter.skmt.ExecNonQuery("delete from usuarioa")
Starter.skmt.ExecNonQuery("delete from VERSION") Starter.skmt.ExecNonQuery("delete from VERSION")
@@ -242,6 +273,7 @@ Sub Entrar_Click
End Sub End Sub
Sub JobDone(Job As HttpJob) Sub JobDone(Job As HttpJob)
Log("JobDone MainPage: " & Job.Success)
If Job.Success = False Then If Job.Success = False Then
ToastMessageShow("Error: " & Job.ErrorMessage, True) ToastMessageShow("Error: " & Job.ErrorMessage, True)
Else Else
@@ -309,7 +341,10 @@ Private Sub i_engrane_Click
Subs.centraBoton(b_server, p_serverList.Width) Subs.centraBoton(b_server, p_serverList.Width)
lv_server.Clear lv_server.Clear
lv_server.AddSingleLine("http://keymon.lat:1782") lv_server.AddSingleLine("http://keymon.lat:1782")
If user.Text = "KMTS1" Then lv_server.AddSingleLine("http://11.0.0.222:1782") If user.Text = "KMTS1" Then
lv_server.AddSingleLine("http://11.0.0.222:1782")
p_ruteo.Visible = True
End If
' l_server.Text = Starter.server ' l_server.Text = Starter.server
et_server.Text = server et_server.Text = server
Subs.panelVisible(p_appUpdate, 0, 0) Subs.panelVisible(p_appUpdate, 0, 0)
@@ -392,3 +427,25 @@ End Sub
Sub ocultaProgreso Sub ocultaProgreso
ProgressDialogHide ProgressDialogHide
End Sub End Sub
'Private Sub lv_algoritmo_ItemClick (Position As Int, Value As Object)
' Starter.skmt.ExecNonQuery2("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = ?", Array As Object ("ALGORITMO_RUTEO"))
' Starter.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("ALGORITMO_RUTEO",Value))
'End Sub
'
'Private Sub lv_matriz_ItemClick (Position As Int, Value As Object)
' Starter.skmt.ExecNonQuery2("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = ?", Array As Object ("MATRIZ_RUTEO"))
' Starter.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("MATRIZ_RUTEO",Value))
'End Sub
Private Sub s_algoritmo_ItemClick (Position As Int, Value As Object)
Starter.skmt.ExecNonQuery2("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = ?", Array As Object ("ALGORITMO_RUTEO"))
Starter.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("ALGORITMO_RUTEO",Value))
Log(Value)
End Sub
Private Sub s_matriz_ItemClick (Position As Int, Value As Object)
Starter.skmt.ExecNonQuery2("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = ?", Array As Object ("MATRIZ_RUTEO"))
Starter.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("MATRIZ_RUTEO",Value))
Log(Value)
End Sub

View File

@@ -120,7 +120,7 @@ Sub B4XPage_Appear
Subs.centraPanel(p_principal, Root.Width) Subs.centraPanel(p_principal, Root.Width)
Starter.skmt.Initialize(Starter.ruta,"kmt.db", True) Starter.skmt.Initialize(Starter.ruta,"kmt.db", True)
reqManager.Initialize(Me, B4XPages.MainPage.SERVER) reqManager.Initialize(Me, B4XPages.MainPage.SERVER)
c=Starter.skmt.ExecQuery("select CAT_CL_CODIGO,CAT_CL_RUTA,CAT_CL_NOMBRE,CAT_CL_ATIENDE1,CAT_CL_ATIENTE2,CAT_CL_TELEFONO,CAT_CL_EMAIL,CAT_CL_CALLE,CAT_CL_NOEXT,CAT_CL_NOINT,CAT_CL_CALLE1,CAT_CL_CALLE2,CAT_CL_COLONIA,CAT_CL_MUNI,CAT_CL_EDO,CAT_CL_CP,CAT_CL_LONG,CAT_CL_LAT, CAT_CL_BCREDITO from kmt_info where CAT_CL_CODIGO In (Select cuenta from cuentaa)") c=Starter.skmt.ExecQuery("select CAT_CL_CODIGO,CAT_CL_RUTA,CAT_CL_NOMBRE,CAT_CL_ATIENDE1,CAT_CL_ATIENTE2,CAT_CL_TELEFONO,CAT_CL_EMAIL,CAT_CL_CALLE,CAT_CL_NOEXT,CAT_CL_NOINT,CAT_CL_CALLE1,CAT_CL_CALLE2,CAT_CL_COLONIA,CAT_CL_MUNI,CAT_CL_EDO,CAT_CL_CP,CAT_CL_LONG,CAT_CL_LAT, CAT_CL_BCREDITO, CAT_CL_IDALMACEN from kmt_info where CAT_CL_CODIGO In (Select cuenta from cuentaa)")
s=Starter.skmt.ExecQuery("select sum(pe_costo_tot) as TOTAL_CLIE, SUM(PE_CANT) AS CANT_CLIE FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)") s=Starter.skmt.ExecQuery("select sum(pe_costo_tot) as TOTAL_CLIE, SUM(PE_CANT) AS CANT_CLIE FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)")
s.Position=0 s.Position=0
c.Position=0 c.Position=0
@@ -135,6 +135,7 @@ Sub B4XPage_Appear
la_cp.Text = c.GetString("CAT_CL_CP") la_cp.Text = c.GetString("CAT_CL_CP")
l_entre1.Text = c.GetString("CAT_CL_CALLE1") l_entre1.Text = c.GetString("CAT_CL_CALLE1")
l_entre2.Text = c.GetString("CAT_CL_CALLE2") l_entre2.Text = c.GetString("CAT_CL_CALLE2")
B4XPages.MainPage.almacen = c.GetString("CAT_CL_IDALMACEN")
If c.GetString("CAT_CL_ATIENDE1") <> Null And c.GetString("CAT_CL_ATIENDE1") <> "null" Then If c.GetString("CAT_CL_ATIENDE1") <> Null And c.GetString("CAT_CL_ATIENDE1") <> "null" Then
l_atiende.Text = c.GetString("CAT_CL_ATIENDE1") l_atiende.Text = c.GetString("CAT_CL_ATIENDE1")
Else Else
@@ -216,7 +217,7 @@ Sub gest_Click
d.Close d.Close
Starter.skmt.ExecNonQuery("DELETE FROM NOVENTA WHERE NV_CLIENTE IN (select cuenta from cuentaa)") Starter.skmt.ExecNonQuery("DELETE FROM NOVENTA WHERE NV_CLIENTE IN (select cuenta from cuentaa)")
Starter.skmt.ExecNonQuery2("INSERT INTO NOVENTA (NV_CLIENTE,NV_FECHA,NV_USER,NV_MOTIVO,NV_COMM,NV_LAT,NV_LON) VALUES(?,?,?,?,?,?,?) ", Array As Object (cuenta,sDate &" "& sTime, usuario, "ENTREGA","ENTREGA COMPLETA", B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps)) Starter.skmt.ExecNonQuery2("INSERT INTO NOVENTA (NV_CLIENTE, NV_FECHA, NV_USER, NV_MOTIVO, NV_COMM, NV_LAT, NV_LON, NV_IDALMACEN) VALUES (?,?,?,?,?,?,?,?) ", Array As Object (cuenta,sDate &" "& sTime, usuario, "ENTREGA","ENTREGA COMPLETA", B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps, B4XPages.MainPage.almacen))
Starter.skmt.ExecNonQuery2("INSERT INTO REPARTO_GEO (CLIENTE, USUARIO, FECHA_PUNTEO, LATITUD, LONGITUD, ALMACEN, RUTA_REPARTO, RUTA_PREV, FECHA_PREVENTA, TIPO,ENVIO) VALUES(?,?,?,?,?,?,?,?,?,?,0)",Array As String (la_cuenta.Text, usuario, sDate &" "&sTime, B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps, B4XPages.MainPage.almacen, ruta, rutapre, fechaprev, "ENTREGADO")) Starter.skmt.ExecNonQuery2("INSERT INTO REPARTO_GEO (CLIENTE, USUARIO, FECHA_PUNTEO, LATITUD, LONGITUD, ALMACEN, RUTA_REPARTO, RUTA_PREV, FECHA_PREVENTA, TIPO,ENVIO) VALUES(?,?,?,?,?,?,?,?,?,?,0)",Array As String (la_cuenta.Text, usuario, sDate &" "&sTime, B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps, B4XPages.MainPage.almacen, ruta, rutapre, fechaprev, "ENTREGADO"))
Starter.skmt.ExecNonQuery("UPDATE kmt_info set gestion = 2 where CAT_CL_CODIGO In (select cuenta from cuentaa) ") Starter.skmt.ExecNonQuery("UPDATE kmt_info set gestion = 2 where CAT_CL_CODIGO In (select cuenta from cuentaa) ")
Starter.skmt.ExecNonQuery("update HIST_VENTAS SET HVD_ESTATUS = 1 WHERE HVD_CLIENTE IN (SELECT CUENTA FROM CUENTAA)") Starter.skmt.ExecNonQuery("update HIST_VENTAS SET HVD_ESTATUS = 1 WHERE HVD_CLIENTE IN (SELECT CUENTA FROM CUENTAA)")
@@ -454,29 +455,27 @@ Sub B_PASO2_Click
B4XPages.ShowPage("Principal") B4XPages.ShowPage("Principal")
End Sub End Sub
Sub mandaPendientesreparto Sub mandaPendientesreparto
c=Starter.skmt.ExecQuery("SELECT CLIENTE, USUARIO, FECHA_PUNTEO, LATITUD, LONGITUD, ALMACEN, RUTA_REPARTO, RUTA_PREV, FECHA_PREVENTA, MOTIVO, COMENTARIO,TIPO FROM REPARTO_GEO where ENVIO <> 1") ' c=Starter.skmt.ExecQuery("SELECT CLIENTE, USUARIO, FECHA_PUNTEO, LATITUD, LONGITUD, ALMACEN, RUTA_REPARTO, RUTA_PREV, FECHA_PREVENTA, MOTIVO, COMENTARIO,TIPO FROM REPARTO_GEO where ENVIO <> 1")
Log($"REPARTO_Cliente PENDIENTE: ${c.RowCount}"$) ' Log($"REPARTO_Cliente PENDIENTE: ${c.RowCount}"$)
If c.RowCount>0 Then ' If c.RowCount>0 Then
For i=0 To c.RowCount -1 ' For i=0 To c.RowCount -1
c.Position=i ' c.Position=i
'
Dim cmd As DBCommand ' Dim cmd As DBCommand
cmd.Initialize ' cmd.Initialize
cmd.Name = "insert_REPARTO_GUNA2" ' cmd.Name = "insert_REPARTO_GUNA2"
cmd.Parameters = Array As Object(c.GetString("CLIENTE"), c.GetString("USUARIO"), c.GetString("FECHA_PUNTEO"), c.GetString("LATITUD"), c.GetString("LONGITUD"), c.GetString("ALMACEN"), c.GetString("RUTA_REPARTO"), c.GetString("RUTA_PREV"), c.GetString("FECHA_PREVENTA"), c.GetString("MOTIVO"), c.GetString("COMENTARIO"),c.GetString("TIPO")) ' cmd.Parameters = Array As Object(c.GetString("CLIENTE"), c.GetString("USUARIO"), c.GetString("FECHA_PUNTEO"), c.GetString("LATITUD"), c.GetString("LONGITUD"), c.GetString("ALMACEN"), c.GetString("RUTA_REPARTO"), c.GetString("RUTA_PREV"), c.GetString("FECHA_PREVENTA"), c.GetString("MOTIVO"), c.GetString("COMENTARIO"),c.GetString("TIPO"))
reqManager.ExecuteCommand(cmd , $"ins_REPARTOPendientes_head_${c.GetString("CLIENTE")}"$) ' reqManager.ExecuteCommand(cmd , $"ins_REPARTOPendientes_head_${c.GetString("CLIENTE")}"$)
'
Next ' Next
End If ' End If
c.Close ' c.Close
LogColor("******* MANDAPENDIENTES COMENTADO POR PRUEBAS ******", Colors.red)
End Sub End Sub
Sub JobDone(Job As HttpJob) Sub JobDone(Job As HttpJob)
Log(Job.Success) Log("JobDone Cliente: " & Job.Success)
If Job.Success = False Then If Job.Success = False Then
' ToastMessageShow("Error: " & Job.ErrorMessage, True) ' ToastMessageShow("Error: " & Job.ErrorMessage, True)
Else Else

View File

@@ -35,6 +35,7 @@ Sub Class_Globals
Private b_limpiarRuta As Button Private b_limpiarRuta As Button
Dim secuenciao As Int Dim secuenciao As Int
Dim SECIENDA As String Dim SECIENDA As String
Dim rutaGenerada As Boolean = False
End Sub End Sub
'You can add more parameters here. 'You can add more parameters here.
@@ -84,7 +85,7 @@ Sub B4XPage_Appear
' Private t1 As Map ' Private t1 As Map
ListView1.Clear ListView1.Clear
Dim cs, cs2 As CSBuilder Dim cs, cs2 As CSBuilder
entro = 3 ' entro = 3
' Log("Generamos ListView1 en Activity_Resume") ' Log("Generamos ListView1 en Activity_Resume")
For i=0 To c.RowCount -1 'Generamos el listView con la lista ordenada. For i=0 To c.RowCount -1 'Generamos el listView con la lista ordenada.
c.Position=i c.Position=i
@@ -92,7 +93,7 @@ Sub B4XPage_Appear
cs2.Initialize cs2.Initialize
' t1 = Starter.waypointsOrdered.Get(k) ' t1 = Starter.waypointsOrdered.Get(k)
' c.GetString("codigo") ' c.GetString("codigo")
Log(c.GetString("indice")) ' Log(c.GetString("indice"))
ListView1.AddTwoLines(cs.Color(Colors.RGB(100,149,237)).Append(c.GetString("codigo")).PopAll, cs2.append(c.GetString("CAT_CL_NOMBRE")).Color(Colors.RGB(100,149,237)).Append(" Calle: ").Pop.Append(c.GetString("CAT_CL_CALLE").Trim & " " & c.GetString("CAT_CL_NOEXT")).PopAll ) ListView1.AddTwoLines(cs.Color(Colors.RGB(100,149,237)).Append(c.GetString("codigo")).PopAll, cs2.append(c.GetString("CAT_CL_NOMBRE")).Color(Colors.RGB(100,149,237)).Append(" Calle: ").Pop.Append(c.GetString("CAT_CL_CALLE").Trim & " " & c.GetString("CAT_CL_NOEXT")).PopAll )
Next Next
Else Else
@@ -107,11 +108,12 @@ Sub B4XPage_Appear
Subs.centraEtiqueta(lfila, Root.Width) Subs.centraEtiqueta(lfila, Root.Width)
b_getRutaInfo.Visible = True b_getRutaInfo.Visible = True
b_getRutaInfo.BringToFront b_getRutaInfo.BringToFront
laRuta = ""
End Sub End Sub
Sub ListView1_ItemClick (Position As Int, Value As Object) Sub ListView1_ItemClick (Position As Int, Value As Object)
' Log($"Entro= ${entro}"$) Log($"Entro= ${entro}, Cliente: ${Value}"$)
ListView1.Clear ListView1.Clear
Sleep(50) Sleep(50)
Subs.SetDivider(ListView1, Colors.LightGray, 2) Subs.SetDivider(ListView1, Colors.LightGray, 2)
@@ -121,11 +123,16 @@ Sub ListView1_ItemClick (Position As Int, Value As Object)
ListView1.Top = lv1Top + 100 ListView1.Top = lv1Top + 100
End If End If
l_rutaInfo.Visible = False l_rutaInfo.Visible = False
b_GetDirs.Visible = False ' b_GetDirs.Visible = False
If Not(Value.As(String).StartsWith("Ruta:")) Then 'Si el valor del clic no es la ruta, entonces es el cliente y lo mandamos a el.
entro = "3"
Log("Es cliente")
End If
If entro = "2" Then If entro = "2" Then
b_GetDirs.Left = Root.Width - b_GetDirs.Width - 10dip
b_GetDirs.Visible = True b_GetDirs.Visible = True
img_getDirs.Visible = True img_getDirs.Visible = True
b_getRutaInfo.Visible = False ' b_getRutaInfo.Visible = False
Private lrt As String Private lrt As String
lrt = Value lrt = Value
laRuta = lrt.SubString(6) 'Quitamos el texto "Ruta: " para obtener el numero de la ruta. laRuta = lrt.SubString(6) 'Quitamos el texto "Ruta: " para obtener el numero de la ruta.
@@ -148,8 +155,13 @@ Sub ListView1_ItemClick (Position As Int, Value As Object)
If c2.RowCount>0 Then If c2.RowCount>0 Then
For i=0 To c2.RowCount -1 'Generamos mapa de clientes For i=0 To c2.RowCount -1 'Generamos mapa de clientes
c2.Position = i c2.Position = i
If c2.GetString("CAT_CL_LAT") = "null" Then
thisLoc.Latitude = 0
thisLoc.Longitude = 0
Else
thisLoc.Latitude = c2.GetString("CAT_CL_LAT") thisLoc.Latitude = c2.GetString("CAT_CL_LAT")
thisLoc.Longitude = c2.GetString("CAT_CL_LONG") thisLoc.Longitude = c2.GetString("CAT_CL_LONG")
End If
' Log(Tracker.UUGCoords) ' Log(Tracker.UUGCoords)
Private distancia As Int = Tracker.UUGCoords.DistanceTo(thisLoc) 'Calculamos la distancia de la posicion ACTUAL a la tienda. Private distancia As Int = Tracker.UUGCoords.DistanceTo(thisLoc) 'Calculamos la distancia de la posicion ACTUAL a la tienda.
Private esteCliente As Map = CreateMap("distancia": distancia, "ubicacion": thisLoc.Longitude&","&thisLoc.Latitude, "codigo": c2.GetString("CAT_CL_CODIGO"), "nomDirDist": $"${c2.GetString("CAT_CL_NOMBRE")} CALLE: ${c2.GetString("CAT_CL_CALLE")} ${CRLF}Distancia: $1.1{(distancia/1000)} kms"$) Private esteCliente As Map = CreateMap("distancia": distancia, "ubicacion": thisLoc.Longitude&","&thisLoc.Latitude, "codigo": c2.GetString("CAT_CL_CODIGO"), "nomDirDist": $"${c2.GetString("CAT_CL_NOMBRE")} CALLE: ${c2.GetString("CAT_CL_CALLE")} ${CRLF}Distancia: $1.1{(distancia/1000)} kms"$)
@@ -410,6 +422,7 @@ Sub traeRutaDia(aVisitar As B4XOrderedMap)
Private r As Int = 1 Private r As Int = 1
Private r1, wps As Map Private r1, wps As Map
Starter.skmt.ExecNonQuery("delete from waypoints") Starter.skmt.ExecNonQuery("delete from waypoints")
Starter.skmt.ExecNonQuery("update kmt_info set secuencia = '150'") ' Ponemos la secuencia en 150 (que es el ultimo globito que tenemos) y luego en secuencia ponemos el orden segun el ruteo.
For Each k As Object In clientesMapaO.Keys 'Guardamos en la BD el orden de los waypoints para luego generar el listview. For Each k As Object In clientesMapaO.Keys 'Guardamos en la BD el orden de los waypoints para luego generar el listview.
r1 = clientesMapaO.Get(k) r1 = clientesMapaO.Get(k)
r1.Get("codigo") r1.Get("codigo")
@@ -418,6 +431,18 @@ Sub traeRutaDia(aVisitar As B4XOrderedMap)
Starter.skmt.ExecNonQuery2("insert into waypoints values (?,?)", Array As Object(r1.Get("codigo"), wps.get("waypoint_index"))) Starter.skmt.ExecNonQuery2("insert into waypoints values (?,?)", Array As Object(r1.Get("codigo"), wps.get("waypoint_index")))
r = r + 1 r = r + 1
Next Next
Private no As Cursor = Starter.skmt.ExecQuery("select * from waypoints order by indice") ' Traemos el orden segun el ruteo dinamico.
If no.RowCount > 0 Then
Private nuevaSec As Int = 1
For i = 0 To no.RowCount - 1
no.Position = i
Starter.skmt.ExecNonQuery($"update kmt_info set secuencia = '${nuevaSec}' where cat_cl_codigo = '${no.Getstring("codigo")}'"$) ' Ponemos en la secuencia el orden segun el resultado del ruteo.
' Log($"${no.Getstring("codigo")},${no.getstring("indice")}, ${nuevaSec}"$)
nuevaSec = nuevaSec + 1
Next
End If
ListView1.Clear ListView1.Clear
Sleep(100) Sleep(100)
Dim label2 As Label Dim label2 As Label
@@ -438,7 +463,7 @@ Sub traeRutaDia(aVisitar As B4XOrderedMap)
cs.Initialize cs.Initialize
cs2.Initialize cs2.Initialize
ListView1.AddTwoLines(cs.Color(Colors.RGB(100,149,237)).Append(c.GetString("codigo")).PopAll, cs2.append(c.GetString("CAT_CL_NOMBRE")).Color(Colors.RGB(100,149,237)).Append(" Calle: ").Pop.Append(c.GetString("CAT_CL_CALLE").Trim & " " & c.GetString("CAT_CL_NOEXT")).PopAll ) ListView1.AddTwoLines(cs.Color(Colors.RGB(100,149,237)).Append(c.GetString("codigo")).PopAll, cs2.append(c.GetString("CAT_CL_NOMBRE")).Color(Colors.RGB(100,149,237)).Append(" Calle: ").Pop.Append(c.GetString("CAT_CL_CALLE").Trim & " " & c.GetString("CAT_CL_NOEXT")).PopAll )
Starter.skmt.ExecNonQuery2("UPDATE kmt_info SET SECUENCIA = ? where CAT_CL_NOMBRE = ? ", Array As String(secuenciao, c.GetString("CAT_CL_NOMBRE"))) ' Starter.skmt.ExecNonQuery2("UPDATE kmt_info SET SECUENCIA = ? where CAT_CL_NOMBRE = ? ", Array As String(secuenciao, c.GetString("CAT_CL_NOMBRE")))
Next Next
End If End If
c.Close c.Close
@@ -550,7 +575,8 @@ End Sub
'Traemos la ruta de visitas via el API de OSRM usando el sub "traeRutaDia(traeTodosAVisitar)". 'Traemos la ruta de visitas via el API de OSRM usando el sub "traeRutaDia(traeTodosAVisitar)".
Private Sub b_getRutaInfo_Click Private Sub b_getRutaInfo_Click
traeRutaDia(traeTodosAVisitar) ' traeRutaDia(traeTodosAVisitar)
caculaRutaGPS(todosAVisitar)
End Sub End Sub
'Mostramos u ocultamos el boton para borrar los waypoints de la ruta. 'Mostramos u ocultamos el boton para borrar los waypoints de la ruta.
@@ -568,3 +594,127 @@ Private Sub b_limpiarRuta_Click
b_limpiarRuta.Visible = False b_limpiarRuta.Visible = False
B4XPage_Appear B4XPage_Appear
End Sub End Sub
Sub caculaRutaGPS(coords As List)
Log("caculaRutaGPS")
Private tmpList As List
Dim cs, cs2 As CSBuilder
tmpList.Initialize
tmpList.AddAll(Array As String("ACTUAL", Tracker.UUGCoords.Longitude, Tracker.UUGCoords.Latitude)) ' Ponemos la ubicacion actual en tmpList.
Log($"STARTER.INICIOMAPA = ${Starter.iniciomapa}"$)
If Starter.inicioMapa Then
tmpList.Initialize
tmpList.AddAll(Array As String("ACTUAL", Starter.inicioLon, Starter.inicioLat)) ' Ponemos la ubicacion de la tienda seleccionada en tmpList.
Starter.inicioMapa = False
Starter.inicioLon = 0
Starter.inicioLat = 0
End If
Log($">>>> TMPLIST = ${tmpList}"$)
coords.InsertAt(0,tmpList) ' Agregamos tmpList (ubicacion actual) al principio de la lista de coordenadas, para que ese sea el inicio de la ruta.
Log("=================================")
Log(coords)
Private coordsStr As String = ""
For Each tienda As List In coords
' Log(tienda)
If coordsStr = "" Then
coordsStr = $"${tienda.get(0)},${tienda.get(1)},${tienda.get(2)}"$
Else
coordsStr = $"${coordsStr};${tienda.get(0)},${tienda.get(1)},${tienda.get(2)}"$
End If
Next
Log(coordsStr)
ProgressDialogShow2("Calculando distancia y tiempo, un momento por favor.", False)
Dim j As HttpJob
j.Initialize("trip", Me) 'Calculamos el resto de la ruta.
j.Download($"http://keymon.lat:9002/ruteador?algoritmo=${Subs.traeAlgoritmoRuteo}&m=${Subs.traeMatrizRuteo}&r=${Subs.traeRutaReparto}&a=${Subs.traeAlmacen}&f=CEDIS,${Starter.cedisLocation.Longitude},${Starter.cedisLocation.Latitude}&c=${coordsStr}"$)
Log($"http://keymon.lat:9002/ruteador?algoritmo=${Subs.traeAlgoritmoRuteo}&m=${Subs.traeMatrizRuteo}&r=${Subs.traeRutaReparto}&a=${Subs.traeAlmacen}&f=CEDIS,${Starter.cedisLocation.Longitude},${Starter.cedisLocation.Latitude}&c=${coordsStr}"$)
Wait For (j) JobDone(j As HttpJob)
If j.Success Then
Dim jp As JSONParser
jp.Initialize(j.GetString)
Dim m As Map = jp.NextObject
Log(m)
If m.Get("code") = "OK" Then
Log("===== OK")
rutaGenerada = True
Dim puntos As Int = m.Get("puntos")
Private coords As List = m.Get("coords")
Private duration As String = m.Get("duration")
Private distance As String = m.Get("distance")
Private mensaje As String = m.Get("mensaje")
Starter.skmt.ExecNonQuery("delete from waypoints")
Starter.skmt.ExecNonQuery("update kmt_info set SECUENCIA = 150")
' Log(">>> " & coords.Size)
For i = 0 To coords.Size - 1
Private ti As Map = coords.Get(i)
' Starter.skmt.ExecNonQuery($"update kmt_info set SECUENCIA = ${ti.Get("pos")} where CAT_CL_CODIGO = '${ti.Get("id").As(String).SubString(1)}'"$) ' Ponemos la secuencia con el orden del ruteo para poder verla en el mapa.
Starter.skmt.ExecNonQuery($"insert into waypoints (codigo, indice) values ('${ti.Get("id").As(String).SubString(1)}', '${ti.Get("pos")}')"$)
Next
Private no As Cursor = Starter.skmt.ExecQuery("select * from waypoints order by indice") ' Traemos el orden segun el ruteo dinamico.
Log("ROWCOUNT: " & no.RowCount)
If no.RowCount > 0 Then
Private nuevaSec As Int = 1
For i = 0 To no.RowCount - 1
no.Position = i
Starter.skmt.ExecNonQuery($"update kmt_info set secuencia = '${nuevaSec}' where cat_cl_codigo = '${no.Getstring("codigo")}'"$) ' Ponemos en la secuencia el orden segun el resultado del ruteo.
Log($"${no.Getstring("codigo")},${no.getstring("indice")}, ${nuevaSec}"$)
nuevaSec = nuevaSec + 1
Next
End If
c = Starter.skmt.ExecQuery("select codigo, indice, CAT_CL_NOMBRE, CAT_CL_CALLE, CAT_CL_NOEXT from waypoints inner join kmt_info on waypoints.codigo = kmt_info.CAT_CL_CODIGO where gestion = 0 order by indice")
If c.RowCount > 0 Then 'Ya hay waypoints en la base de datos.
c.Position = 0
conMapa = True
ListView1.Clear
Dim cs, cs2 As CSBuilder
entro = 3
For i=0 To c.RowCount -1 'Generamos el listView con la lista ordenada.
c.Position = i
cs.Initialize
cs2.Initialize
ListView1.AddTwoLines(cs.Color(Colors.RGB(100,149,237)).Append(c.GetString("codigo")).PopAll, cs2.append(c.GetString("CAT_CL_NOMBRE")).Color(Colors.RGB(100,149,237)).Append(" Calle: ").Pop.Append(c.GetString("CAT_CL_CALLE").Trim & " " & c.GetString("CAT_CL_NOEXT")).PopAll )
Next
End If
c.Close
Log($"Distancia total: $1.1{distance/1000} kms, tiempo aprox: $1.1{duration/60} mins. ($1.1{duration/60/60} hrs)"$)
l_rutaInfo.Text = $"Distancia: $1.1{distance/1000} kms, tiempo aprox: $1.1{duration/60/60} hrs${CRLF}Visitas restantes: ${puntos - 1}"$
l_rutaInfo.Width = Root.Width * 0.9
Subs.centraEtiqueta(l_rutaInfo, Root.Width)
l_rutaInfo.Visible = True
l_rutaInfo.BringToFront
ListView1.Top = lv1Top + 100
End If
Else
LogColor("**************** Error! ******************", Colors.red)
End If
j.Release
ProgressDialogHide
End Sub
'Regresa lista de los clientes a visitar y sus coordenadas.
Sub todosAVisitar As List
Log("|" & laRuta &"|")
Log(entro)
Private sqlDeRuta As String = ""
' If entro = 3 Then sqlDeRuta = $"and CAT_CL_RUTA = '${laRuta}'"$
If laRuta <> "" Then sqlDeRuta = $"and CAT_CL_RUTA = '${laRuta}'"$
Private aVisitar, tmpList As List
aVisitar.Initialize
Private coords As ResultSet = Starter.skmt.ExecQuery($"select distinct CAT_CL_CODIGO, CAT_CL_LAT, CAT_CL_LONG from kmt_info where gestion = 0 ${sqlDeRuta}"$)
Log("ROWCOUNT 2: " & coords.RowCount)
Do While coords.NextRow
tmpList.Initialize
tmpList.AddAll(Array As String(coords.GetString("CAT_CL_CODIGO"), coords.GetString("CAT_CL_LONG"), coords.GetString("CAT_CL_LAT")))
aVisitar.Add(tmpList)
Loop
Log(aVisitar)
Return aVisitar
End Sub
Private Sub b_GetDirs_longClick
caculaRutaGPS(todosAVisitar)
End Sub

View File

@@ -75,7 +75,7 @@ Sub B4XPage_Appear
Existe = C.GetString("EXISTE") Existe = C.GetString("EXISTE")
C.Close C.Close
' c=Starter.skmt.ExecQuery("select distinct hist_ventas.hvd_num_registro, HIST_VENTAS.HVD_CLIENTE, HIST_VENTAS.HVD_PRONOMBRE, HIST_VENTAS.HVD_PROID, HIST_VENTAS.HVD_CANT, HIST_VENTAS2.HVD_CANT as HVD_CANT2, HIST_VENTAS.HVD_COSTO_TOT, HIST_VENTAS.HVD_CODPROMO from HIST_VENTAS inner join HIST_VENTAS2 on HIST_VENTAS.HVD_PROID = HIST_VENTAS2.HVD_PROID and HIST_VENTAS.HVD_CLIENTE = HIST_VENTAS2.HVD_CLIENTE WHERE HIST_VENTAS.HVD_CLIENTE IN (Select CUENTA from cuentaa) and HIST_VENTAS.HVD_RECHAZO = 0 order by HIST_VENTAS.HVD_CODPROMO desc, HIST_VENTAS.HVD_PRONOMBRE asc") ' c=Starter.skmt.ExecQuery("select distinct hist_ventas.hvd_num_registro, HIST_VENTAS.HVD_CLIENTE, HIST_VENTAS.HVD_PRONOMBRE, HIST_VENTAS.HVD_PROID, HIST_VENTAS.HVD_CANT, HIST_VENTAS2.HVD_CANT as HVD_CANT2, HIST_VENTAS.HVD_COSTO_TOT, HIST_VENTAS.HVD_CODPROMO from HIST_VENTAS inner join HIST_VENTAS2 on HIST_VENTAS.HVD_PROID = HIST_VENTAS2.HVD_PROID and HIST_VENTAS.HVD_CLIENTE = HIST_VENTAS2.HVD_CLIENTE WHERE HIST_VENTAS.HVD_CLIENTE IN (Select CUENTA from cuentaa) and HIST_VENTAS.HVD_RECHAZO = 0 order by HIST_VENTAS.HVD_CODPROMO desc, HIST_VENTAS.HVD_PRONOMBRE asc")
c=Starter.skmt.ExecQuery("select hvd_num_registro, HVD_CLIENTE, HVD_PRONOMBRE, HVD_PROID, HVD_CANT, HVD_COSTO_TOT, HVD_CODPROMO from HIST_VENTAS WHERE HVD_CLIENTE IN (Select CUENTA from cuentaa) and HVD_RECHAZO = 0 and hvd_cant > 0 order by HVD_CODPROMO desc, HVD_PRONOMBRE asc") c=Starter.skmt.ExecQuery("select hvd_num_registro, HVD_CLIENTE, HVD_PRONOMBRE, HVD_PROID, HVD_IDALMACEN, HVD_CANT, HVD_COSTO_TOT, HVD_CODPROMO from HIST_VENTAS WHERE HVD_CLIENTE IN (Select CUENTA from cuentaa) and HVD_RECHAZO = 0 and hvd_cant > 0 order by HVD_CODPROMO desc, HVD_PRONOMBRE asc")
ListView1.Clear ListView1.Clear
clv_pedido.Clear clv_pedido.Clear
Subs.SetDivider(ListView1, Colors.LightGray, 2) Subs.SetDivider(ListView1, Colors.LightGray, 2)
@@ -111,7 +111,7 @@ Sub B4XPage_Appear
End If End If
' Log($"Agregamos prod a lista1 | ${c.GetString("HVD_CANT")} - ${c.GetString("HVD_CANT2")}"$) 'HVD_CANT2 es la original de la orden. ' Log($"Agregamos prod a lista1 | ${c.GetString("HVD_CANT")} - ${c.GetString("HVD_CANT2")}"$) 'HVD_CANT2 es la original de la orden.
' ListView1.AddTwoLines(c.GetString("HVD_PRONOMBRE"),"Cantidad #"& c.GetString("HVD_CANT")& " SubTotal $"& c.GetString("HVD_COSTO_TOT")) ' ListView1.AddTwoLines(c.GetString("HVD_PRONOMBRE"),"Cantidad #"& c.GetString("HVD_CANT")& " SubTotal $"& c.GetString("HVD_COSTO_TOT"))
clv_pedido.Add(CreateListItem(c.GetString("HVD_PRONOMBRE"), Subs.traePrecio(c.GetString("HVD_PROID"), c.GetString("HVD_CODPROMO")), c.GetString("HVD_CANT"), 0, clv_pedido.AsView.Width, 50dip, bmp, c.GetString("HVD_PROID"), bgColor, textColor, c.GetString("HVD_CODPROMO"),Subs.traeCliente), c.GetString("HVD_PRONOMBRE")) clv_pedido.Add(CreateListItem(c.GetString("HVD_PRONOMBRE"), Subs.traePrecio(c.GetString("HVD_PROID"), c.GetString("HVD_CODPROMO")), c.GetString("HVD_CANT"), 0, clv_pedido.AsView.Width, 50dip, bmp, c.GetString("HVD_PROID"), bgColor, textColor, c.GetString("HVD_CODPROMO"),Subs.traeCliente, c.GetString("HVD_IDALMACEN")), c.GetString("HVD_PRONOMBRE"))
Next Next
' cuentaProds("") ' cuentaProds("")
End If End If
@@ -135,7 +135,7 @@ Sub B4XPage_Appear
cantCO = Subs.traeCantidadRechazada(vc.GetString("REP_CLI_ORIG"), vc.GetString("REP_PRODID")) cantCO = Subs.traeCantidadRechazada(vc.GetString("REP_CLI_ORIG"), vc.GetString("REP_PRODID"))
' Log($"${vc.GetString("REP_CLI_ORIG")}, ${vc.GetString("REP_CLIENTE")}, ${vc.GetString("REP_PRODID")}, ${vc.GetString("REP_PRONOMBRE")}, ${vc.GetString("REP_RECHAZO")}, ${vc.GetString("REP_CANT")}, ${vc.GetString("REP_PRECIO")}, ${cantCO}, ${cco.GetString("REP_CANT")}, ${vc.GetString("REP_CANT")}"$) ' Log($"${vc.GetString("REP_CLI_ORIG")}, ${vc.GetString("REP_CLIENTE")}, ${vc.GetString("REP_PRODID")}, ${vc.GetString("REP_PRONOMBRE")}, ${vc.GetString("REP_RECHAZO")}, ${vc.GetString("REP_CANT")}, ${vc.GetString("REP_PRECIO")}, ${cantCO}, ${cco.GetString("REP_CANT")}, ${vc.GetString("REP_CANT")}"$)
clv_pedido.Add(CreateListItem(vc.GetString("REP_PRONOMBRE"), Subs.traePrecio(vc.GetString("REP_PRODID"), 1), vc.GetString("REP_CANT"), cantCO, clv_pedido.AsView.Width, 50dip, bmp, vc.GetString("REP_PRODID"), bgColor, textColor, 1, vc.GetString("REP_CLI_ORIG")), vc.GetString("REP_PRONOMBRE")) clv_pedido.Add(CreateListItem(vc.GetString("REP_PRONOMBRE"), Subs.traePrecio(vc.GetString("REP_PRODID"), 1), vc.GetString("REP_CANT"), cantCO, clv_pedido.AsView.Width, 50dip, bmp, vc.GetString("REP_PRODID"), bgColor, textColor, 1, vc.GetString("REP_CLI_ORIG"), c.GetString("HVD_IDALMACEN")), vc.GetString("REP_PRONOMBRE"))
Next Next
cco.Close cco.Close
vc.Close vc.Close
@@ -314,7 +314,7 @@ End Sub
'***************** PARA EL MAS/MENOS ************************************* '***************** PARA EL MAS/MENOS *************************************
'**************************************************************************** '****************************************************************************
Sub CreateListItem(Text As String, precioU As String, inv As Int, inv2 As Int, Width As Int, Height As Int, img As Bitmap, prodId As String, bc As Int, tc As Int, promo As String, cliente_original As String) As Panel Sub CreateListItem(Text As String, precioU As String, inv As Int, inv2 As Int, Width As Int, Height As Int, img As Bitmap, prodId As String, bc As Int, tc As Int, promo As String, cliente_original As String, idAlmacen As String) As Panel
Dim p As B4XView = xui.CreatePanel("") Dim p As B4XView = xui.CreatePanel("")
Private cs As CSBuilder Private cs As CSBuilder
cs.Initialize cs.Initialize
@@ -329,8 +329,8 @@ Sub CreateListItem(Text As String, precioU As String, inv As Int, inv2 As Int, W
End If End If
l_prodX.Tag = $"ID: ${prodId}${CRLF}${Text}${CRLF}Precio: $$1.2{precioU}${CRLF}Inv: ${inv} pzs"$ l_prodX.Tag = $"ID: ${prodId}${CRLF}${Text}${CRLF}Precio: $$1.2{precioU}${CRLF}Inv: ${inv} pzs"$
' l_pCant.Text = 0 ' l_pCant.Text = 0
l_pCant.Tag = Round2(precioU,2)&"|"&inv&"|"&prodId&"|"&promo&"|"&inv2&"|"&cliente_original l_pCant.Tag = Round2(precioU,2)&"|"&inv&"|"&prodId&"|"&promo&"|"&inv2&"|"&cliente_original&"|"&idAlmacen
et_pCant.Tag = Round2(precioU,2)&"|"&inv&"|"&prodId&"|"&promo&"|"&inv2&"|"&cliente_original et_pCant.Tag = Round2(precioU,2)&"|"&inv&"|"&prodId&"|"&promo&"|"&inv2&"|"&cliente_original&"|"&idAlmacen
p_prods.Tag = l_pCant.tag p_prods.Tag = l_pCant.tag
' Log($"Ponemos la cant en ${inv}"$) ' Log($"Ponemos la cant en ${inv}"$)
l_pCant.Text = inv l_pCant.Text = inv
@@ -380,7 +380,7 @@ Sub b_prodMenos_Click
' L_CANT.Text = L_CANT.Text - 1 ' L_CANT.Text = L_CANT.Text - 1
' End If ' End If
' b_guardar.Visible = True ' b_guardar.Visible = True
Subs.prodRechazo(esteTag.Get(5), esteTag.Get(2)) Subs.prodRechazo(esteTag.Get(5), esteTag.Get(2), esteTag.Get(6))
Private cym As Map = Subs.traemosCantYMonto(clv_pedido) Private cym As Map = Subs.traemosCantYMonto(clv_pedido)
L_CANT.Text = cym.Get("cantidad") L_CANT.Text = cym.Get("cantidad")
L_TOTAL.Text = Round2(cym.Get("monto"), 2) L_TOTAL.Text = Round2(cym.Get("monto"), 2)
@@ -411,7 +411,7 @@ Sub b_prodMas_Click
laCant.Text = $"$1.0{laCant.Text + 1}"$ laCant.Text = $"$1.0{laCant.Text + 1}"$
Starter.skmt.ExecNonQuery2("update cat_gunaprod set cat_gp_almacen = cat_gp_almacen - 1 where cat_gp_id = ?", Array As Object(esteTag.Get(2))) Starter.skmt.ExecNonQuery2("update cat_gunaprod set cat_gp_almacen = cat_gp_almacen - 1 where cat_gp_id = ?", Array As Object(esteTag.Get(2)))
Subs.prodVenta(esteTag.Get(5), esteTag.Get(2)) Subs.prodVenta(esteTag.Get(5), esteTag.Get(2), esteTag.Get(6))
Private cym As Map = Subs.traemosCantYMonto(clv_pedido) Private cym As Map = Subs.traemosCantYMonto(clv_pedido)
L_CANT.Text = cym.Get("cantidad") L_CANT.Text = cym.Get("cantidad")
L_TOTAL.Text = Round2(cym.Get("monto"), 2) L_TOTAL.Text = Round2(cym.Get("monto"), 2)
@@ -455,6 +455,7 @@ Sub cuentaProds(accion As String)
Private esteCliente = Subs.traeCliente Private esteCliente = Subs.traeCliente
Private esteProdNombre = Subs.traeNombre(esteProd) Private esteProdNombre = Subs.traeNombre(esteProd)
Private esteClienteOriginal As Int = esteTag.Get(5) Private esteClienteOriginal As Int = esteTag.Get(5)
Private esteIdAlmacen As String = esteTag.Get(6)
Private fechaReparto As String = Subs.traeFechaReparto Private fechaReparto As String = Subs.traeFechaReparto
Private maxProds = Subs.traeMaxCantidad(esteTag.Get(5), esteTag.Get(2)) Private maxProds = Subs.traeMaxCantidad(esteTag.Get(5), esteTag.Get(2))
@@ -479,8 +480,8 @@ Sub cuentaProds(accion As String)
' Log($"HayRechazo=${rr.GetString("hayRechazo")}"$) ' Log($"HayRechazo=${rr.GetString("hayRechazo")}"$)
If rr.GetString("hayRechazo") = 0 Then If rr.GetString("hayRechazo") = 0 Then
Log("INSERTAMOS EN REPARTO") Log("INSERTAMOS EN REPARTO")
Starter.skmt.ExecNonQuery2("insert into reparto(REP_CLIENTE, REP_PRONOMBRE, REP_CANT, REP_COSTO_TOT, REP_FECHA, REP_RECHAZO, REP_PRODID, REP_PRECIO, REP_CLI_ORIG) VALUES (?,?,?,?,?,1,?,?,?) ", Array As String(esteCliente, esteProdNombre, 0, estePrecio, fechaReparto, esteProd, estePrecio, esteCliente)) Starter.skmt.ExecNonQuery2("insert into reparto(REP_CLIENTE, REP_PRONOMBRE, REP_CANT, REP_COSTO_TOT, REP_FECHA, REP_RECHAZO, REP_PRODID, REP_PRECIO, REP_CLI_ORIG, REP_IDALMACEN) VALUES (?,?,?,?,?,1,?,?,?,?) ", Array As String(esteCliente, esteProdNombre, 0, estePrecio, fechaReparto, esteProd, estePrecio, esteCliente, esteIdAlmacen))
Starter.skmt.ExecNonQuery2("insert into reparto(REP_CLIENTE, REP_PRONOMBRE, REP_CANT, REP_COSTO_TOT, REP_FECHA, REP_RECHAZO, REP_PRODID, REP_PRECIO, REP_CLI_ORIG) VALUES (?,?,?,?,?,0,?,?,?) ", Array As String(esteCliente, esteProdNombre, cantRechazada, 0, fechaReparto, esteProd, estePrecio, esteCliente)) Starter.skmt.ExecNonQuery2("insert into reparto(REP_CLIENTE, REP_PRONOMBRE, REP_CANT, REP_COSTO_TOT, REP_FECHA, REP_RECHAZO, REP_PRODID, REP_PRECIO, REP_CLI_ORIG, REP_IDALMACEN) VALUES (?,?,?,?,?,0,?,?,?,?) ", Array As String(esteCliente, esteProdNombre, cantRechazada, 0, fechaReparto, esteProd, estePrecio, esteCliente, esteIdAlmacen))
Else if esteClienteOriginal = "0" Then 'Actualizamos el rechazo en el cliente actual. Else if esteClienteOriginal = "0" Then 'Actualizamos el rechazo en el cliente actual.
' Log($"Actualizamos REP_CANT=${cantRechazada}"$) ' Log($"Actualizamos REP_CANT=${cantRechazada}"$)
' Starter.skmt.ExecNonQuery($"update reparto set REP_CANT = '${cantRechazada}', REP_PRECIO = '${estePrecio}', REP_COSTO_TOT = '${estePrecio * cantRechazada}' where REP_CLIENTE in (Select CUENTA from cuentaa) and REP_CLI_ORIG = '${esteClienteOriginal}' and REP_RECHAZO = 1 and REP_PRODID = '${esteProd}'"$) ' Starter.skmt.ExecNonQuery($"update reparto set REP_CANT = '${cantRechazada}', REP_PRECIO = '${estePrecio}', REP_COSTO_TOT = '${estePrecio * cantRechazada}' where REP_CLIENTE in (Select CUENTA from cuentaa) and REP_CLI_ORIG = '${esteClienteOriginal}' and REP_RECHAZO = 1 and REP_PRODID = '${esteProd}'"$)
@@ -494,7 +495,7 @@ Sub cuentaProds(accion As String)
' totalCompra = totalCompra + (esteTag.get(0) * cant1.text) ' totalCompra = totalCompra + (esteTag.get(0) * cant1.text)
' Log($"Cant: ${cant1.Text}, Suma: ${totalCompra}"$) ' Log($"Cant: ${cant1.Text}, Suma: ${totalCompra}"$)
Private m As Map Private m As Map
m=CreateMap("cant":cant1.Text, "cant2":esteTag.get(4), "precio":esteTag.get(0), "promo":esteTag.get(3), "nombre":Subs.traeNombre(esteTag.Get(2)), "cli_orig":esteTag.get(5)) m=CreateMap("cant":cant1.Text, "cant2":esteTag.get(4), "precio":esteTag.get(0), "promo":esteTag.get(3), "nombre":Subs.traeNombre(esteTag.Get(2)), "cli_orig":esteTag.get(5), "idAlmacen":esteTag.get(6))
' LogColor("PUT:" & esteTag.Get(2), Colors.Red) ' LogColor("PUT:" & esteTag.Get(2), Colors.Red)
prodsMap.Put(esteTag.Get(2), m) prodsMap.Put(esteTag.Get(2), m)
End If End If
@@ -528,7 +529,7 @@ Sub cuentaProds(accion As String)
bgColor = Colors.White bgColor = Colors.White
End If End If
Log($"CLI: ${pr1.Get("nombre")}, ${newPrecio}, ${pr1.Get("cant")}, ${pr1.Get("cant2")}"$) Log($"CLI: ${pr1.Get("nombre")}, ${newPrecio}, ${pr1.Get("cant")}, ${pr1.Get("cant2")}"$)
clv_pedido.Add(CreateListItem(pr1.Get("nombre"), newPrecio, pr1.Get("cant"), pr1.Get("cant2"), clv_pedido.AsView.Width, 50dip, bmp, pr, bgColor, textColor, newPromo, pr1.Get("cli_orig")), pr1.Get("nombre")) clv_pedido.Add(CreateListItem(pr1.Get("nombre"), newPrecio, pr1.Get("cant"), pr1.Get("cant2"), clv_pedido.AsView.Width, 50dip, bmp, pr, bgColor, textColor, newPromo, pr1.Get("cli_orig"), pr1.Get("idAlmacen")), pr1.Get("nombre"))
reconstruirPedido = False reconstruirPedido = False
Next Next
promoABorrar = "" promoABorrar = ""

View File

@@ -74,7 +74,7 @@ Sub B4XPage_Appear
Existe = C.GetString("EXISTE") Existe = C.GetString("EXISTE")
C.Close C.Close
' c=Starter.skmt.ExecQuery("select distinct hist_ventas.hvd_num_registro, HIST_VENTAS.HVD_CLIENTE, HIST_VENTAS.HVD_PRONOMBRE, HIST_VENTAS.HVD_PROID, HIST_VENTAS.HVD_CANT, HIST_VENTAS2.HVD_CANT as HVD_CANT2, HIST_VENTAS.HVD_COSTO_TOT, HIST_VENTAS.HVD_CODPROMO from HIST_VENTAS inner join HIST_VENTAS2 on HIST_VENTAS.HVD_PROID = HIST_VENTAS2.HVD_PROID and HIST_VENTAS.HVD_CLIENTE = HIST_VENTAS2.HVD_CLIENTE WHERE HIST_VENTAS.HVD_CLIENTE IN (Select CUENTA from cuentaa) and HIST_VENTAS.HVD_RECHAZO = 0 order by HIST_VENTAS.HVD_CODPROMO desc, HIST_VENTAS.HVD_PRONOMBRE asc") ' c=Starter.skmt.ExecQuery("select distinct hist_ventas.hvd_num_registro, HIST_VENTAS.HVD_CLIENTE, HIST_VENTAS.HVD_PRONOMBRE, HIST_VENTAS.HVD_PROID, HIST_VENTAS.HVD_CANT, HIST_VENTAS2.HVD_CANT as HVD_CANT2, HIST_VENTAS.HVD_COSTO_TOT, HIST_VENTAS.HVD_CODPROMO from HIST_VENTAS inner join HIST_VENTAS2 on HIST_VENTAS.HVD_PROID = HIST_VENTAS2.HVD_PROID and HIST_VENTAS.HVD_CLIENTE = HIST_VENTAS2.HVD_CLIENTE WHERE HIST_VENTAS.HVD_CLIENTE IN (Select CUENTA from cuentaa) and HIST_VENTAS.HVD_RECHAZO = 0 order by HIST_VENTAS.HVD_CODPROMO desc, HIST_VENTAS.HVD_PRONOMBRE asc")
c=Starter.skmt.ExecQuery("select hvd_num_registro, HVD_CLIENTE, HVD_PRONOMBRE, HVD_PROID, HVD_CANT, HVD_COSTO_TOT, HVD_CODPROMO from HIST_VENTAS WHERE HVD_CLIENTE IN (Select CUENTA from cuentaa) and HVD_RECHAZO = 0 and hvd_cant > 0 order by HVD_CODPROMO desc, HVD_PRONOMBRE asc") c=Starter.skmt.ExecQuery("select hvd_num_registro, hvd_idalmacen, HVD_CLIENTE, HVD_PRONOMBRE, HVD_PROID, HVD_CANT, HVD_COSTO_TOT, HVD_CODPROMO from HIST_VENTAS WHERE HVD_CLIENTE IN (Select CUENTA from cuentaa) and HVD_RECHAZO = 0 and hvd_cant > 0 order by HVD_CODPROMO desc, HVD_PRONOMBRE asc")
ListView1.Clear ListView1.Clear
clv_pedido.Clear clv_pedido.Clear
Subs.SetDivider(ListView1, Colors.LightGray, 2) Subs.SetDivider(ListView1, Colors.LightGray, 2)
@@ -110,7 +110,7 @@ Sub B4XPage_Appear
End If End If
' Log($"Agregamos prod a lista1 | ${c.GetString("HVD_CANT")} - ${c.GetString("HVD_CANT2")}"$) 'HVD_CANT2 es la original de la orden. ' Log($"Agregamos prod a lista1 | ${c.GetString("HVD_CANT")} - ${c.GetString("HVD_CANT2")}"$) 'HVD_CANT2 es la original de la orden.
' ListView1.AddTwoLines(c.GetString("HVD_PRONOMBRE"),"Cantidad #"& c.GetString("HVD_CANT")& " SubTotal $"& c.GetString("HVD_COSTO_TOT")) ' ListView1.AddTwoLines(c.GetString("HVD_PRONOMBRE"),"Cantidad #"& c.GetString("HVD_CANT")& " SubTotal $"& c.GetString("HVD_COSTO_TOT"))
clv_pedido.Add(CreateListItem(c.GetString("HVD_PRONOMBRE"), Subs.traePrecio(c.GetString("HVD_PROID"), c.GetString("HVD_CODPROMO")), c.GetString("HVD_CANT"), 0, clv_pedido.AsView.Width, 50dip, bmp, c.GetString("HVD_PROID"), bgColor, textColor, c.GetString("HVD_CODPROMO"),Subs.traeCliente), c.GetString("HVD_PRONOMBRE")) clv_pedido.Add(CreateListItem(c.GetString("HVD_PRONOMBRE"), Subs.traePrecio(c.GetString("HVD_PROID"), c.GetString("HVD_CODPROMO")), c.GetString("HVD_CANT"), 0, clv_pedido.AsView.Width, 50dip, bmp, c.GetString("HVD_PROID"), bgColor, textColor, c.GetString("HVD_CODPROMO"),Subs.traeCliente, c.GetString("HVD_IDALMACEN")), c.GetString("HVD_PRONOMBRE"))
Next Next
' cuentaProds("") ' cuentaProds("")
End If End If
@@ -134,7 +134,7 @@ Sub B4XPage_Appear
cantCO = Subs.traeCantidadRechazada(vc.GetString("REP_CLI_ORIG"), vc.GetString("REP_PRODID")) cantCO = Subs.traeCantidadRechazada(vc.GetString("REP_CLI_ORIG"), vc.GetString("REP_PRODID"))
' Log($"${vc.GetString("REP_CLI_ORIG")}, ${vc.GetString("REP_CLIENTE")}, ${vc.GetString("REP_PRODID")}, ${vc.GetString("REP_PRONOMBRE")}, ${vc.GetString("REP_RECHAZO")}, ${vc.GetString("REP_CANT")}, ${vc.GetString("REP_PRECIO")}, ${cantCO}, ${cco.GetString("REP_CANT")}, ${vc.GetString("REP_CANT")}"$) ' Log($"${vc.GetString("REP_CLI_ORIG")}, ${vc.GetString("REP_CLIENTE")}, ${vc.GetString("REP_PRODID")}, ${vc.GetString("REP_PRONOMBRE")}, ${vc.GetString("REP_RECHAZO")}, ${vc.GetString("REP_CANT")}, ${vc.GetString("REP_PRECIO")}, ${cantCO}, ${cco.GetString("REP_CANT")}, ${vc.GetString("REP_CANT")}"$)
clv_pedido.Add(CreateListItem(vc.GetString("REP_PRONOMBRE"), Subs.traePrecio(vc.GetString("REP_PRODID"), 1), vc.GetString("REP_CANT"), cantCO, clv_pedido.AsView.Width, 50dip, bmp, vc.GetString("REP_PRODID"), bgColor, textColor, 1, vc.GetString("REP_CLI_ORIG")), vc.GetString("REP_PRONOMBRE")) clv_pedido.Add(CreateListItem(vc.GetString("REP_PRONOMBRE"), Subs.traePrecio(vc.GetString("REP_PRODID"), 1), vc.GetString("REP_CANT"), cantCO, clv_pedido.AsView.Width, 50dip, bmp, vc.GetString("REP_PRODID"), bgColor, textColor, 1, vc.GetString("REP_CLI_ORIG"), vc.GetString("REP_IDALMACEN")), vc.GetString("REP_PRONOMBRE"))
Next Next
cco.Close cco.Close
vc.Close vc.Close
@@ -313,7 +313,7 @@ End Sub
'***************** PARA EL MAS/MENOS ************************************* '***************** PARA EL MAS/MENOS *************************************
'**************************************************************************** '****************************************************************************
Sub CreateListItem(Text As String, precioU As String, inv As Int, inv2 As Int, Width As Int, Height As Int, img As Bitmap, prodId As String, bc As Int, tc As Int, promo As String, cliente_original As String) As Panel Sub CreateListItem(Text As String, precioU As String, inv As Int, inv2 As Int, Width As Int, Height As Int, img As Bitmap, prodId As String, bc As Int, tc As Int, promo As String, cliente_original As String, idAlmacen As String) As Panel
Dim p As B4XView = xui.CreatePanel("") Dim p As B4XView = xui.CreatePanel("")
Private cs As CSBuilder Private cs As CSBuilder
cs.Initialize cs.Initialize
@@ -328,8 +328,8 @@ Sub CreateListItem(Text As String, precioU As String, inv As Int, inv2 As Int, W
End If End If
l_prodX.Tag = $"ID: ${prodId}${CRLF}${Text}${CRLF}Precio: $$1.2{precioU}${CRLF}Inv: ${inv} pzs"$ l_prodX.Tag = $"ID: ${prodId}${CRLF}${Text}${CRLF}Precio: $$1.2{precioU}${CRLF}Inv: ${inv} pzs"$
' l_pCant.Text = 0 ' l_pCant.Text = 0
l_pCant.Tag = Round2(precioU,2)&"|"&inv&"|"&prodId&"|"&promo&"|"&inv2&"|"&cliente_original l_pCant.Tag = Round2(precioU,2)&"|"&inv&"|"&prodId&"|"&promo&"|"&inv2&"|"&cliente_original&"|"&idAlmacen
et_pCant.Tag = Round2(precioU,2)&"|"&inv&"|"&prodId&"|"&promo&"|"&inv2&"|"&cliente_original et_pCant.Tag = Round2(precioU,2)&"|"&inv&"|"&prodId&"|"&promo&"|"&inv2&"|"&cliente_original&"|"&idAlmacen
p_prods.Tag = l_pCant.tag p_prods.Tag = l_pCant.tag
' Log($"Ponemos la cant en ${inv}"$) ' Log($"Ponemos la cant en ${inv}"$)
l_pCant.Text = inv l_pCant.Text = inv
@@ -379,7 +379,7 @@ Sub b_prodMenos_Click
' L_CANT.Text = L_CANT.Text - 1 ' L_CANT.Text = L_CANT.Text - 1
' End If ' End If
' b_guardar.Visible = True ' b_guardar.Visible = True
Subs.prodRechazo(esteTag.Get(5), esteTag.Get(2)) Subs.prodRechazo(esteTag.Get(5), esteTag.Get(2), esteTag.Get(6))
Private cym As Map = Subs.traemosCantYMonto(clv_pedido) Private cym As Map = Subs.traemosCantYMonto(clv_pedido)
L_CANT.Text = cym.Get("cantidad") L_CANT.Text = cym.Get("cantidad")
L_TOTAL.Text = Round2(cym.Get("monto"), 2) L_TOTAL.Text = Round2(cym.Get("monto"), 2)
@@ -401,7 +401,7 @@ Sub b_prodMas_Click
Log("LC_TEXT:"&laCant.Text&"|LC_TAG:"&laCant.Tag&"|ET:"&esteTag) Log("LC_TEXT:"&laCant.Text&"|LC_TAG:"&laCant.Tag&"|ET:"&esteTag)
If laCant.Text = "" Then laCant.Text = 0 If laCant.Text = "" Then laCant.Text = 0
Private maxProds as string = esteTag.Get(1) + esteTag.Get(4) 'Prods disponibles + prods comprados Private maxProds As String = esteTag.Get(1) + esteTag.Get(4) 'Prods disponibles + prods comprados
LogColor($"++++++++++++++++++++++++++ ${esteTag}"$, Colors.Green) LogColor($"++++++++++++++++++++++++++ ${esteTag}"$, Colors.Green)
' Log(esteTag.get(4)) ' Log(esteTag.get(4))
@@ -409,7 +409,7 @@ Sub b_prodMas_Click
Log($"NuevaCant = ${laCant.Text + 1}"$) Log($"NuevaCant = ${laCant.Text + 1}"$)
laCant.Text = $"$1.0{laCant.Text + 1}"$ laCant.Text = $"$1.0{laCant.Text + 1}"$
Starter.skmt.ExecNonQuery2("update cat_gunaprod set cat_gp_almacen = cat_gp_almacen - 1 where cat_gp_id = ?", Array As Object(esteTag.Get(2))) Starter.skmt.ExecNonQuery2("update cat_gunaprod set cat_gp_almacen = cat_gp_almacen - 1 where cat_gp_id = ?", Array As Object(esteTag.Get(2)))
Subs.prodVenta(esteTag.Get(5), esteTag.Get(2)) Subs.prodVenta(esteTag.Get(5), esteTag.Get(2), esteTag.Get(6))
Private cym As Map = Subs.traemosCantYMonto(clv_pedido) Private cym As Map = Subs.traemosCantYMonto(clv_pedido)
L_CANT.Text = cym.Get("cantidad") L_CANT.Text = cym.Get("cantidad")
L_TOTAL.Text = Round2(cym.Get("monto"), 2) L_TOTAL.Text = Round2(cym.Get("monto"), 2)
@@ -453,6 +453,7 @@ Log("*******************************************************")
Private esteCliente = Subs.traeCliente Private esteCliente = Subs.traeCliente
Private esteProdNombre = Subs.traeNombre(esteProd) Private esteProdNombre = Subs.traeNombre(esteProd)
Private esteClienteOriginal As Int = esteTag.Get(5) Private esteClienteOriginal As Int = esteTag.Get(5)
Private esteIdAlmacen As String = esteTag.Get(6)
Private fechaReparto As String = Subs.traeFechaReparto Private fechaReparto As String = Subs.traeFechaReparto
Private maxProds = Subs.traeMaxCantidad(esteTag.Get(5), esteTag.Get(2)) Private maxProds = Subs.traeMaxCantidad(esteTag.Get(5), esteTag.Get(2))
@@ -477,8 +478,8 @@ Log("*******************************************************")
' Log($"HayRechazo=${rr.GetString("hayRechazo")}"$) ' Log($"HayRechazo=${rr.GetString("hayRechazo")}"$)
If rr.GetString("hayRechazo") = 0 Then If rr.GetString("hayRechazo") = 0 Then
Log("INSERTAMOS EN REPARTO") Log("INSERTAMOS EN REPARTO")
Starter.skmt.ExecNonQuery2("insert into reparto(REP_CLIENTE, REP_PRONOMBRE, REP_CANT, REP_COSTO_TOT, REP_FECHA, REP_RECHAZO, REP_PRODID, REP_PRECIO, REP_CLI_ORIG) VALUES (?,?,?,?,?,1,?,?,?) ", Array As String(esteCliente, esteProdNombre, 0, estePrecio, fechaReparto, esteProd, estePrecio, esteCliente)) Starter.skmt.ExecNonQuery2("insert into reparto(REP_CLIENTE, REP_PRONOMBRE, REP_CANT, REP_COSTO_TOT, REP_FECHA, REP_RECHAZO, REP_PRODID, REP_PRECIO, REP_CLI_ORIG, REP_IDALMACEN) VALUES (?,?,?,?,?,1,?,?,?,?) ", Array As String(esteCliente, esteProdNombre, 0, estePrecio, fechaReparto, esteProd, estePrecio, esteCliente, esteIdAlmacen))
Starter.skmt.ExecNonQuery2("insert into reparto(REP_CLIENTE, REP_PRONOMBRE, REP_CANT, REP_COSTO_TOT, REP_FECHA, REP_RECHAZO, REP_PRODID, REP_PRECIO, REP_CLI_ORIG) VALUES (?,?,?,?,?,0,?,?,?) ", Array As String(esteCliente, esteProdNombre, cantRechazada, 0, fechaReparto, esteProd, estePrecio, esteCliente)) Starter.skmt.ExecNonQuery2("insert into reparto(REP_CLIENTE, REP_PRONOMBRE, REP_CANT, REP_COSTO_TOT, REP_FECHA, REP_RECHAZO, REP_PRODID, REP_PRECIO, REP_CLI_ORIG, REP_IDALMACEN) VALUES (?,?,?,?,?,0,?,?,?,?) ", Array As String(esteCliente, esteProdNombre, cantRechazada, 0, fechaReparto, esteProd, estePrecio, esteCliente, esteIdAlmacen))
Else if esteClienteOriginal = "0" Then 'Actualizamos el rechazo en el cliente actual. Else if esteClienteOriginal = "0" Then 'Actualizamos el rechazo en el cliente actual.
' Log($"Actualizamos REP_CANT=${cantRechazada}"$) ' Log($"Actualizamos REP_CANT=${cantRechazada}"$)
' Starter.skmt.ExecNonQuery($"update reparto set REP_CANT = '${cantRechazada}', REP_PRECIO = '${estePrecio}', REP_COSTO_TOT = '${estePrecio * cantRechazada}' where REP_CLIENTE in (Select CUENTA from cuentaa) and REP_CLI_ORIG = '${esteClienteOriginal}' and REP_RECHAZO = 1 and REP_PRODID = '${esteProd}'"$) ' Starter.skmt.ExecNonQuery($"update reparto set REP_CANT = '${cantRechazada}', REP_PRECIO = '${estePrecio}', REP_COSTO_TOT = '${estePrecio * cantRechazada}' where REP_CLIENTE in (Select CUENTA from cuentaa) and REP_CLI_ORIG = '${esteClienteOriginal}' and REP_RECHAZO = 1 and REP_PRODID = '${esteProd}'"$)
@@ -492,7 +493,7 @@ Log("*******************************************************")
' totalCompra = totalCompra + (esteTag.get(0) * cant1.text) ' totalCompra = totalCompra + (esteTag.get(0) * cant1.text)
' Log($"Cant: ${cant1.Text}, Suma: ${totalCompra}"$) ' Log($"Cant: ${cant1.Text}, Suma: ${totalCompra}"$)
Private m As Map Private m As Map
m=CreateMap("cant":cant1.Text, "cant2":esteTag.get(4), "precio":esteTag.get(0), "promo":esteTag.get(3), "nombre":Subs.traeNombre(esteTag.Get(2)), "cli_orig":esteTag.get(5)) m=CreateMap("cant":cant1.Text, "cant2":esteTag.get(4), "precio":esteTag.get(0), "promo":esteTag.get(3), "nombre":Subs.traeNombre(esteTag.Get(2)), "cli_orig":esteTag.get(5), "idAlmacen":esteTag.get(6))
' LogColor("PUT:" & esteTag.Get(2), Colors.Red) ' LogColor("PUT:" & esteTag.Get(2), Colors.Red)
prodsMap.Put(esteTag.Get(2), m) prodsMap.Put(esteTag.Get(2), m)
End If End If
@@ -526,7 +527,7 @@ Log("*******************************************************")
bgColor = Colors.White bgColor = Colors.White
End If End If
Log($"CLI: ${pr1.Get("nombre")}, ${newPrecio}, ${pr1.Get("cant")}, ${pr1.Get("cant2")}"$) Log($"CLI: ${pr1.Get("nombre")}, ${newPrecio}, ${pr1.Get("cant")}, ${pr1.Get("cant2")}"$)
clv_pedido.Add(CreateListItem(pr1.Get("nombre"), newPrecio, pr1.Get("cant"), pr1.Get("cant2"), clv_pedido.AsView.Width, 50dip, bmp, pr, bgColor, textColor, newPromo, pr1.Get("cli_orig")), pr1.Get("nombre")) clv_pedido.Add(CreateListItem(pr1.Get("nombre"), newPrecio, pr1.Get("cant"), pr1.Get("cant2"), clv_pedido.AsView.Width, 50dip, bmp, pr, bgColor, textColor, newPromo, pr1.Get("cli_orig"), pr1.Get("idAlmacen")), pr1.Get("nombre"))
reconstruirPedido = False reconstruirPedido = False
Next Next
promoABorrar = "" promoABorrar = ""

View File

@@ -78,9 +78,8 @@ Sub GUARDA_Click
c.Close c.Close
Starter.skmt.ExecNonQuery("DELETE FROM NOVENTA WHERE NV_CLIENTE IN (select cuenta from cuentaa)") Starter.skmt.ExecNonQuery("DELETE FROM NOVENTA WHERE NV_CLIENTE IN (select cuenta from cuentaa)")
'Traemos los productos del pedido. 'Traemos los productos del pedido.
c=Starter.skmt.ExecQuery("select HVD_NUM_REGISTRO, HVD_CLIENTE, HVD_PRONOMBRE, HVD_CANT, HVD_COSTO_TOT, HVD_FECHA, HVD_PROID, CAT_GP_PRECIO from HIST_VENTAS2 join CAT_GUNAPROD on CAT_GP_ID = HVD_PROID WHERE HVD_CLIENTE IN (Select CUENTA from cuentaa) order by HVD_PRONOMBRE asc") c=Starter.skmt.ExecQuery("select HVD_NUM_REGISTRO, HVD_CLIENTE, HVD_PRONOMBRE, HVD_CANT, HVD_COSTO_TOT, HVD_FECHA, HVD_PROID, HVD_IDALMACEN, CAT_GP_PRECIO from HIST_VENTAS2 join CAT_GUNAPROD on CAT_GP_ID = HVD_PROID WHERE HVD_CLIENTE IN (Select CUENTA from cuentaa) order by HVD_PRONOMBRE asc")
If c.RowCount > 0 Then 'Si hay pedido en HIST_VENTAS ... If c.RowCount > 0 Then 'Si hay pedido en HIST_VENTAS ...
'Revisamos si se le ha agregado venta al pedido. 'Revisamos si se le ha agregado venta al pedido.
Private esteCliente As String = Subs.traeCliente Private esteCliente As String = Subs.traeCliente
Private rv As Cursor = Starter.skmt.ExecQuery($"select * from REPARTO where REP_CLIENTE = '${esteCliente}' and REP_CLI_ORIG <> '${esteCliente}' and REP_RECHAZO = 0"$) Private rv As Cursor = Starter.skmt.ExecQuery($"select * from REPARTO where REP_CLIENTE = '${esteCliente}' and REP_CLI_ORIG <> '${esteCliente}' and REP_RECHAZO = 0"$)
@@ -96,13 +95,12 @@ Sub GUARDA_Click
For i=0 To c.RowCount - 1 'Insertamos los productos en REPARTO. For i=0 To c.RowCount - 1 'Insertamos los productos en REPARTO.
c.Position=i c.Position=i
Log($"REGISTRO= ${c.GetString("HVD_NUM_REGISTRO")}"$) Log($"REGISTRO= ${c.GetString("HVD_NUM_REGISTRO")}"$)
Starter.skmt.ExecNonQuery2("insert into reparto(REP_CLIENTE, REP_PRONOMBRE, REP_CANT, REP_COSTO_TOT, REP_FECHA, REP_RECHAZO, REP_PRODID, REP_PRECIO, REP_PRODREGISTRO, REP_CLI_ORIG) VALUES (?,?,?,?,?,1,?,?,?,?) ", Array As String(c.GetString("HVD_CLIENTE"),c.GetString("HVD_PRONOMBRE"),c.GetString("HVD_CANT"),c.GetString("HVD_COSTO_TOT"),c.GetString("HVD_FECHA"), c.GetString("HVD_PROID"), c.GetString("CAT_GP_PRECIO"), c.GetString("HVD_NUM_REGISTRO"), c.GetString("HVD_CLIENTE"))) Starter.skmt.ExecNonQuery2("insert into reparto(REP_CLIENTE, REP_PRONOMBRE, REP_CANT, REP_COSTO_TOT, REP_FECHA, REP_RECHAZO, REP_PRODID, REP_PRECIO, REP_PRODREGISTRO, REP_CLI_ORIG, REP_IDALMACEN) VALUES (?,?,?,?,?,1,?,?,?,?,?) ", Array As String(c.GetString("HVD_CLIENTE"),c.GetString("HVD_PRONOMBRE"),c.GetString("HVD_CANT"),c.GetString("HVD_COSTO_TOT"),c.GetString("HVD_FECHA"), c.GetString("HVD_PROID"), c.GetString("CAT_GP_PRECIO"), c.GetString("HVD_NUM_REGISTRO"), c.GetString("HVD_CLIENTE"), c.GetString("HVD_IDALMACEN")))
Starter.skmt.ExecNonQuery2("insert into reparto(REP_CLIENTE, REP_PRONOMBRE, REP_CANT, REP_COSTO_TOT, REP_FECHA, REP_RECHAZO, REP_PRODID, REP_PRECIO, REP_PRODREGISTRO, REP_CLI_ORIG) VALUES (?,?,?,?,?,0,?,?,?,?) ", Array As String(c.GetString("HVD_CLIENTE"),c.GetString("HVD_PRONOMBRE"),0,c.GetString("HVD_COSTO_TOT"),c.GetString("HVD_FECHA"), c.GetString("HVD_PROID"), c.GetString("CAT_GP_PRECIO"), c.GetString("HVD_NUM_REGISTRO"), c.GetString("HVD_CLIENTE"))) Starter.skmt.ExecNonQuery2("insert into reparto(REP_CLIENTE, REP_PRONOMBRE, REP_CANT, REP_COSTO_TOT, REP_FECHA, REP_RECHAZO, REP_PRODID, REP_PRECIO, REP_PRODREGISTRO, REP_CLI_ORIG, REP_IDALMACEN) VALUES (?,?,?,?,?,0,?,?,?,?,?) ", Array As String(c.GetString("HVD_CLIENTE"),c.GetString("HVD_PRONOMBRE"),0,c.GetString("HVD_COSTO_TOT"),c.GetString("HVD_FECHA"), c.GetString("HVD_PROID"), c.GetString("CAT_GP_PRECIO"), c.GetString("HVD_NUM_REGISTRO"), c.GetString("HVD_CLIENTE"), c.GetString("HVD_IDALMACEN")))
Starter.skmt.ExecNonQuery2("update cat_gunaprod set cat_gp_almacen = cat_gp_almacen + ? where cat_gp_nombre = ?", Array As Object(c.GetString("HVD_CANT"),c.GetString("HVD_PRONOMBRE"))) Starter.skmt.ExecNonQuery2("update cat_gunaprod set cat_gp_almacen = cat_gp_almacen + ? where cat_gp_nombre = ?", Array As Object(c.GetString("HVD_CANT"),c.GetString("HVD_PRONOMBRE")))
Next Next
End If End If
Starter.skmt.ExecNonQuery2("INSERT INTO NOVENTA (NV_CLIENTE,NV_FECHA,NV_USER,NV_MOTIVO,NV_COMM,NV_LAT,NV_LON, NV_IDALMACEN) VALUES(?,?,?,?,?,?,?,?) ", Array As Object (cuenta,sDate & sTime, usuario, motivo,e_comm.text, B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps, B4XPages.MainPage.almacen))
Starter.skmt.ExecNonQuery2("INSERT INTO NOVENTA (NV_CLIENTE,NV_FECHA,NV_USER,NV_MOTIVO,NV_COMM,NV_LAT,NV_LON) VALUES(?,?,?,?,?,?,?) ", Array As Object (cuenta,sDate & sTime, usuario, motivo,e_comm.text, B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps))
Starter.skmt.ExecNonQuery("UPDATE kmt_info set gestion = 3 where CAT_CL_CODIGO In (select cuenta from cuentaa)") Starter.skmt.ExecNonQuery("UPDATE kmt_info set gestion = 3 where CAT_CL_CODIGO In (select cuenta from cuentaa)")
Starter.skmt.ExecNonQuery("update HIST_VENTAS SET HVD_RECHAZO = 1 WHERE HVD_CLIENTE IN (SELECT CUENTA FROM CUENTAA)") Starter.skmt.ExecNonQuery("update HIST_VENTAS SET HVD_RECHAZO = 1 WHERE HVD_CLIENTE IN (SELECT CUENTA FROM CUENTAA)")
@@ -130,29 +128,27 @@ Sub GUARDA_Click
End If End If
End Sub End Sub
Sub mandaPendientesreparto Sub mandaPendientesreparto
c=Starter.skmt.ExecQuery("SELECT CLIENTE, USUARIO, FECHA_PUNTEO, LATITUD, LONGITUD, ALMACEN, RUTA_REPARTO, RUTA_PREV, FECHA_PREVENTA, MOTIVO, COMENTARIO,TIPO FROM REPARTO_GEO where ENVIO <> 1") ' c=Starter.skmt.ExecQuery("SELECT CLIENTE, USUARIO, FECHA_PUNTEO, LATITUD, LONGITUD, ALMACEN, RUTA_REPARTO, RUTA_PREV, FECHA_PREVENTA, MOTIVO, COMENTARIO,TIPO FROM REPARTO_GEO where ENVIO <> 1")
Log($"REPARTO_Cliente PENDIENTE: ${c.RowCount}"$) ' Log($"REPARTO_Cliente PENDIENTE: ${c.RowCount}"$)
If c.RowCount>0 Then ' If c.RowCount>0 Then
For i=0 To c.RowCount -1 ' For i=0 To c.RowCount -1
c.Position=i ' c.Position=i
'
Dim cmd As DBCommand ' Dim cmd As DBCommand
cmd.Initialize ' cmd.Initialize
cmd.Name = "insert_REPARTO_GUNA2" ' cmd.Name = "insert_REPARTO_GUNA2"
cmd.Parameters = Array As Object(c.GetString("CLIENTE"), c.GetString("USUARIO"), c.GetString("FECHA_PUNTEO"), c.GetString("LATITUD"), c.GetString("LONGITUD"), c.GetString("ALMACEN"), c.GetString("RUTA_REPARTO"), c.GetString("RUTA_PREV"), c.GetString("FECHA_PREVENTA"), c.GetString("MOTIVO"), c.GetString("COMENTARIO"),c.GetString("TIPO")) ' cmd.Parameters = Array As Object(c.GetString("CLIENTE"), c.GetString("USUARIO"), c.GetString("FECHA_PUNTEO"), c.GetString("LATITUD"), c.GetString("LONGITUD"), c.GetString("ALMACEN"), c.GetString("RUTA_REPARTO"), c.GetString("RUTA_PREV"), c.GetString("FECHA_PREVENTA"), c.GetString("MOTIVO"), c.GetString("COMENTARIO"),c.GetString("TIPO"))
reqManager.ExecuteCommand(cmd , $"ins_REPARTOPendientes_head_${c.GetString("CLIENTE")}"$) ' reqManager.ExecuteCommand(cmd , $"ins_REPARTOPendientes_head_${c.GetString("CLIENTE")}"$)
'
Next ' Next
End If ' End If
c.Close ' c.Close
LogColor("******* MANDAPENDIENTES COMENTADO POR PRUEBAS ******", Colors.red)
End Sub End Sub
Sub JobDone(Job As HttpJob) Sub JobDone(Job As HttpJob)
Log(Job.Success) Log("JobDone NoVenta: " & Job.Success)
If Job.Success = False Then If Job.Success = False Then
' ToastMessageShow("Error: " & Job.ErrorMessage, True) ' ToastMessageShow("Error: " & Job.ErrorMessage, True)
Else Else

View File

@@ -91,6 +91,14 @@ Sub Class_Globals
Dim cp As Cursor Dim cp As Cursor
Private b_picking As Button Private b_picking As Button
Private b_multiAlmacen As Button
Private s_almacen2 As Spinner
Private et_ruta2 As EditText
Private p_multiAlmacen As Panel
Private x2 As Int
Private idAlmacenExtra As String = ""
Private multiAlmacen As Boolean = False
' Private m_cargaAlmacen As Map
End Sub End Sub
'You can add more parameters here. 'You can add more parameters here.
@@ -160,6 +168,7 @@ Private Sub B4XPage_Created (Root1 As B4XView)
reqManager.ExecuteQuery(cmd , 0, "coords_almacen") reqManager.ExecuteQuery(cmd , 0, "coords_almacen")
End If End If
B4XPages.MainPage.usuario=Subs.dameUsuarioDeDB B4XPages.MainPage.usuario=Subs.dameUsuarioDeDB
' m_cargaAlmacen.Initialize
End Sub End Sub
Sub B4XPage_Appear Sub B4XPage_Appear
@@ -349,7 +358,7 @@ Sub B4XPage_Appear
rc.Position = i3 rc.Position = i3
' Log($"delete from RECHAZOS where R_CLIENTE = '${rc.GetString("REP_CLIENTE")}' and R_CLI_ORIG = '${rc.GetString("REP_CLI_ORIG")}' and R_RECHAZO = '1' and R_PRODID = '${rc.GetString("REP_PRODID")}'"$) ' Log($"delete from RECHAZOS where R_CLIENTE = '${rc.GetString("REP_CLIENTE")}' and R_CLI_ORIG = '${rc.GetString("REP_CLI_ORIG")}' and R_RECHAZO = '1' and R_PRODID = '${rc.GetString("REP_PRODID")}'"$)
' Starter.skmt.ExecNonQuery($"delete from RECHAZOS where R_CLIENTE = '${rc.GetString("REP_CLIENTE")}' and R_CLI_ORIG = '${rc.GetString("REP_CLI_ORIG")}' and R_RECHAZO = '1' and R_PRODID = '${rc.GetString("REP_PRODID")}'"$) ' Starter.skmt.ExecNonQuery($"delete from RECHAZOS where R_CLIENTE = '${rc.GetString("REP_CLIENTE")}' and R_CLI_ORIG = '${rc.GetString("REP_CLI_ORIG")}' and R_RECHAZO = '1' and R_PRODID = '${rc.GetString("REP_PRODID")}'"$)
Starter.skmt.ExecNonQuery($"insert into RECHAZOS(R_FECHA, R_CLIENTE, R_CLI_ORIG, R_PRODID, R_CANT, R_RECHAZO, R_PRECIO) select REP_FECHA, REP_CLIENTE, REP_CLI_ORIG, REP_PRODID, REP_CANT, REP_RECHAZO, REP_PRECIO from REPARTO where REP_CLIENTE = '${rc.GetString("REP_CLIENTE")}' and REP_CLI_ORIG = '${rc.GetString("REP_CLI_ORIG")}' and REP_PRODID = '${rc.GetString("REP_PRODID")}' and REP_RECHAZO = '1' and REP_CANT > 0"$) Starter.skmt.ExecNonQuery($"insert into RECHAZOS(R_FECHA, R_CLIENTE, R_CLI_ORIG, R_PRODID, R_CANT, R_RECHAZO, R_PRECIO, R_IDALMACEN) select REP_FECHA, REP_CLIENTE, REP_CLI_ORIG, REP_PRODID, REP_CANT, REP_RECHAZO, REP_PRECIO, REP_IDALMACEN from REPARTO where REP_CLIENTE = '${rc.GetString("REP_CLIENTE")}' and REP_CLI_ORIG = '${rc.GetString("REP_CLI_ORIG")}' and REP_PRODID = '${rc.GetString("REP_PRODID")}' and REP_RECHAZO = '1' and REP_CANT > 0"$)
Next Next
End If End If
Private vc As Cursor = Starter.skmt.ExecQuery($"select * from REPARTO where REP_RECHAZO = "0" and REP_CANT > 0"$) Private vc As Cursor = Starter.skmt.ExecQuery($"select * from REPARTO where REP_RECHAZO = "0" and REP_CANT > 0"$)
@@ -360,7 +369,7 @@ Sub B4XPage_Appear
vc.Position = i4 vc.Position = i4
' Log($"delete from VENTAS where V_CLIENTE = '${vc.GetString("REP_CLIENTE")}' and V_CLI_ORIG = '${vc.GetString("REP_CLI_ORIG")}' and V_RECHAZO = '1' and V_PRODID = '${vc.GetString("REP_PRODID")}'"$) ' Log($"delete from VENTAS where V_CLIENTE = '${vc.GetString("REP_CLIENTE")}' and V_CLI_ORIG = '${vc.GetString("REP_CLI_ORIG")}' and V_RECHAZO = '1' and V_PRODID = '${vc.GetString("REP_PRODID")}'"$)
' Starter.skmt.ExecNonQuery($"delete from VENTAS where V_CLIENTE = '${vc.GetString("REP_CLIENTE")}' and V_CLI_ORIG = '${vc.GetString("REP_CLI_ORIG")}' and V_RECHAZO = '0' and V_PRODID = '${vc.GetString("REP_PRODID")}'"$) ' Starter.skmt.ExecNonQuery($"delete from VENTAS where V_CLIENTE = '${vc.GetString("REP_CLIENTE")}' and V_CLI_ORIG = '${vc.GetString("REP_CLI_ORIG")}' and V_RECHAZO = '0' and V_PRODID = '${vc.GetString("REP_PRODID")}'"$)
Starter.skmt.ExecNonQuery($"insert into VENTAS(V_FECHA, V_CLIENTE, V_CLI_ORIG, V_PRODID, V_CANT, V_RECHAZO, V_PRECIO) select REP_FECHA, REP_CLIENTE, REP_CLI_ORIG, REP_PRODID, REP_CANT, REP_RECHAZO, REP_PRECIO from REPARTO where REP_CLIENTE = '${vc.GetString("REP_CLIENTE")}' and REP_CLI_ORIG = '${vc.GetString("REP_CLI_ORIG")}' and REP_PRODID = '${vc.GetString("REP_PRODID")}' and REP_RECHAZO = '0' and REP_CANT > 0"$) Starter.skmt.ExecNonQuery($"insert into VENTAS(V_FECHA, V_CLIENTE, V_CLI_ORIG, V_PRODID, V_CANT, V_RECHAZO, V_PRECIO, V_IDALMACEN) select REP_FECHA, REP_CLIENTE, REP_CLI_ORIG, REP_PRODID, REP_CANT, REP_RECHAZO, REP_PRECIO, REP_IDALMACEN from REPARTO where REP_CLIENTE = '${vc.GetString("REP_CLIENTE")}' and REP_CLI_ORIG = '${vc.GetString("REP_CLI_ORIG")}' and REP_PRODID = '${vc.GetString("REP_PRODID")}' and REP_RECHAZO = '0' and REP_CANT > 0"$)
Next Next
End If End If
Starter.ENVIA_ULTIMA_GPS Starter.ENVIA_ULTIMA_GPS
@@ -451,33 +460,30 @@ Sub trabajar_Click
End Sub End Sub
Sub Subir_Click Sub Subir_Click
If Not(IsConnectedToInternet) Then MsgboxAsync("No hay conexión a conexión a Internet", "Revisa tu conexión") If Not(IsConnectedToInternet) Then MsgboxAsync("No hay conexión a conexión a Internet", "Revisa tu conexión")
c=Starter.skmt.ExecQuery("select usuario from usuarioa") c=Starter.skmt.ExecQuery("select usuario from usuarioa")
c.Position = 0 c.Position = 0
usuario = c.GetString("USUARIO") usuario = c.GetString("USUARIO")
c.Close c.Close
' NOVENTA ' NOVENTA
c = Starter.skmt.ExecQuery("SELECT NV_CLIENTE,NV_FECHA,NV_USER,NV_MOTIVO,NV_COMM,NV_LAT,NV_LON, NV_FOTO FROM NOVENTA") ' c = Starter.skmt.ExecQuery("SELECT NV_CLIENTE,NV_FECHA,NV_USER,NV_MOTIVO,NV_COMM,NV_LAT,NV_LON, NV_FOTO FROM NOVENTA")
D=Starter.skmt.ExecQuery("SELECT COUNT(*) AS CUANTOS_NOVENTA FROM NOVENTA") ' D=Starter.skmt.ExecQuery("SELECT COUNT(*) AS CUANTOS_NOVENTA FROM NOVENTA")
If c.RowCount>0 Then ' If c.RowCount>0 Then
For i=0 To c.RowCount -1 ' For i=0 To c.RowCount -1
c.Position=i ' c.Position=i
foto1 = c.GetBlob("NV_FOTO") ' foto1 = c.GetBlob("NV_FOTO")
Dim cmd As DBCommand ' Dim cmd As DBCommand
cmd.Initialize ' cmd.Initialize
cmd.Name = "insert_reparto_noventa_MARDS_REPG" ' cmd.Name = "insert_reparto_noventa_MARDS_REPG"
cmd.Parameters = Array As Object(C.GetString("NV_CLIENTE"),C.GetString("NV_FECHA"),C.GetString("NV_USER"),C.GetString("NV_MOTIVO"),C.GetString("NV_COMM"),C.GetString("NV_LAT"),C.GetString("NV_LON"), ALMACEN, l_ruta.Text) ' cmd.Parameters = Array As Object(C.GetString("NV_CLIENTE"), C.GetString("NV_FECHA"), C.GetString("NV_USER"), C.GetString("NV_MOTIVO"), C.GetString("NV_COMM"), C.GetString("NV_LAT"), C.GetString("NV_LON"), C.GetString("NV_IDALMACEN"), l_ruta.Text)
reqManager.ExecuteQuery(cmd , 0, "inst_noventa") ' reqManager.ExecuteQuery(cmd , 0, "inst_noventa")
Next ' Next
c.Close ' c.Close
End If ' End If
d.Position=0 ' d.Position=0
cuantos_noventa = D.GetString("CUANTOS_NOVENTA") ' cuantos_noventa = D.GetString("CUANTOS_NOVENTA")
d.Close ' d.Close
c=Starter.skmt.ExecQuery("SELECT HVD_CLIENTE,HVD_PRONOMBRE,HVD_CANT,HVD_COSTO_TOT, HVD_FECHA, HVD_CODPROMO, HVD_PROID, HVD_NUM_TICKET, HVD_NUM_REGISTRO, HVD_RECHAZO, HVD_PARCIAL FROM hist_ventas WHERE HVD_RECHAZO = 1 OR HVD_PARCIAL = 1") c=Starter.skmt.ExecQuery("SELECT * FROM hist_ventas WHERE HVD_RECHAZO = 1 OR HVD_PARCIAL = 1")
' '
If c.RowCount>0 Then If c.RowCount>0 Then
For i=0 To c.RowCount -1 For i=0 To c.RowCount -1
@@ -485,24 +491,24 @@ Sub Subir_Click
Dim cmd As DBCommand Dim cmd As DBCommand
cmd.Initialize cmd.Initialize
cmd.Name = "insert_rep_hist_ventas_GUNA_REPG2" cmd.Name = "insert_rep_hist_ventas_GUNA_REPG2"
cmd.Parameters = Array As Object(C.GetString("HVD_CLIENTE"),C.GetString("HVD_PRONOMBRE"),C.GetString("HVD_CANT"),C.GetString("HVD_COSTO_TOT"),C.GetString("HVD_CODPROMO"),C.GetString("HVD_PROID"),C.GetString("HVD_NUM_TICKET"),C.GetString("HVD_NUM_REGISTRO"),C.GetString("HVD_RECHAZO"),C.GetString("HVD_PARCIAL"), ALMACEN) cmd.Parameters = Array As Object(C.GetString("HVD_CLIENTE"),C.GetString("HVD_PRONOMBRE"),C.GetString("HVD_CANT"),C.GetString("HVD_COSTO_TOT"),C.GetString("HVD_CODPROMO"),C.GetString("HVD_PROID"),C.GetString("HVD_NUM_TICKET"),C.GetString("HVD_NUM_REGISTRO"),C.GetString("HVD_RECHAZO"),C.GetString("HVD_PARCIAL"), C.GetString("HVD_IDALMACEN"))
reqManager.ExecuteQuery(cmd , 0, "inst_noventa") reqManager.ExecuteCommand(cmd , "inst_noventa")
Next Next
c.Close c.Close
End If End If
' pedido ' pedido
c=Starter.skmt.ExecQuery("SELECT PE_CEDIS, PE_COSTO_TOT, PE_COSTOU, PE_CANT, PE_PRONOMBRE, PE_PROID, PE_CLIENTE, PE_FECHA, PE_USUARIO, PE_COSTO_SIN, PE_RUTA, 1 as PE_DESC FROM PEDIDO") ' c=Starter.skmt.ExecQuery("SELECT *, 1 as PE_DESC FROM PEDIDO")
If c.RowCount>0 Then ' If c.RowCount>0 Then
For i=0 To c.RowCount -1 ' For i=0 To c.RowCount -1
c.Position=i ' c.Position=i
Dim cmd As DBCommand ' Dim cmd As DBCommand
cmd.Initialize ' cmd.Initialize
cmd.Name = "insert_pedido_REPG" ' cmd.Name = "insert_pedido_REPG"
cmd.Parameters = Array As Object(C.GetString("PE_CEDIS"),ALMACEN,C.GetString("PE_COSTO_TOT"),C.GetString("PE_COSTOU"),C.GetString("PE_CANT"),C.GetString("PE_PRONOMBRE"),C.GetString("PE_PROID"),C.GetString("PE_CLIENTE"),C.GetString("PE_FECHA"),C.GetString("PE_USUARIO"),C.GetString("PE_RUTA"), C.GetString("PE_COSTO_SIN"),C.GetString("PE_DESC"),"0","VENTA") ' cmd.Parameters = Array As Object(C.GetString("PE_CEDIS"),C.GetString("PE_IDALMACEN"),C.GetString("PE_COSTO_TOT"),C.GetString("PE_COSTOU"),C.GetString("PE_CANT"),C.GetString("PE_PRONOMBRE"),C.GetString("PE_PROID"),C.GetString("PE_CLIENTE"),C.GetString("PE_FECHA"),C.GetString("PE_USUARIO"),C.GetString("PE_RUTA"), C.GetString("PE_COSTO_SIN"),C.GetString("PE_DESC"),"0","VENTA")
reqManager.ExecuteQuery(cmd , 0, "ins_pedido") ' reqManager.ExecuteQuery(cmd , 0, "ins_pedido")
Next ' Next
c.Close ' c.Close
End If ' End If
' reqManager.Initialize(Me, "http://187.189.244.154:1787") 'Para el servidor de pruebas. ' reqManager.Initialize(Me, "http://187.189.244.154:1787") 'Para el servidor de pruebas.
c = Starter.skmt.ExecQuery("SELECT * from reparto") c = Starter.skmt.ExecQuery("SELECT * from reparto")
If c.RowCount > 0 Then If c.RowCount > 0 Then
@@ -511,8 +517,8 @@ Sub Subir_Click
c.Position=i c.Position=i
Dim cmd As DBCommand Dim cmd As DBCommand
cmd.Initialize cmd.Initialize
cmd.Name = "insertGUNAReparto2" cmd.Name = "insertGUNAReparto3"
cmd.Parameters = Array As Object(folio, C.GetString("REP_FECHA"), C.GetString("REP_CLIENTE"), C.GetString("REP_CLI_ORIG"), C.GetString("REP_PRODID"), C.GetString("REP_PRONOMBRE"), C.GetString("REP_PRODREGISTRO"), C.GetString("REP_CANT"), C.GetString("REP_PRECIO"), C.GetString("REP_COSTO_TOT"), C.GetString("REP_RECHAZO")) cmd.Parameters = Array As Object(folio, C.GetString("REP_FECHA"), C.GetString("REP_CLIENTE"), C.GetString("REP_CLI_ORIG"), C.GetString("REP_PRODID"), C.GetString("REP_PRONOMBRE"), C.GetString("REP_PRODREGISTRO"), C.GetString("REP_CANT"), C.GetString("REP_PRECIO"), C.GetString("REP_COSTO_TOT"), C.GetString("REP_RECHAZO"), C.GetString("REP_IDALMACEN"))
reqManager.ExecuteCommand(cmd , "ins_reparto") reqManager.ExecuteCommand(cmd , "ins_reparto")
Next Next
c.Close c.Close
@@ -525,7 +531,7 @@ Sub Subir_Click
Dim cmd As DBCommand Dim cmd As DBCommand
cmd.Initialize cmd.Initialize
cmd.Name = "insertGUNARechazos2" cmd.Name = "insertGUNARechazos2"
cmd.Parameters = Array As Object(folio, C.GetString("R_FECHA"), C.GetString("R_CLIENTE"), C.GetString("R_CLI_ORIG"), C.GetString("R_PRODID"), C.GetString("R_CANT"), C.GetString("R_RECHAZO")) cmd.Parameters = Array As Object(folio, C.GetString("R_FECHA"), C.GetString("R_CLIENTE"), C.GetString("R_CLI_ORIG"), C.GetString("R_PRODID"), C.GetString("R_CANT"), C.GetString("R_RECHAZO"), C.GetString("R_IDALMACEN"))
reqManager.ExecuteCommand(cmd , "ins_rechazos") reqManager.ExecuteCommand(cmd , "ins_rechazos")
Next Next
c.Close c.Close
@@ -538,7 +544,8 @@ Sub Subir_Click
Dim cmd As DBCommand Dim cmd As DBCommand
cmd.Initialize cmd.Initialize
cmd.Name = "insertGUNAVentas2" cmd.Name = "insertGUNAVentas2"
cmd.Parameters = Array As Object(folio, C.GetString("V_FECHA"), C.GetString("V_CLIENTE"), C.GetString("V_CLI_ORIG"), C.GetString("V_PRODID"), C.GetString("V_CANT"), C.GetString("V_RECHAZO")) cmd.Parameters = Array As Object(folio, C.GetString("V_FECHA"), C.GetString("V_CLIENTE"), C.GetString("V_CLI_ORIG"), C.GetString("V_PRODID"), C.GetString("V_CANT"), C.GetString("V_RECHAZO"), C.GetString("V_IDALMACEN"))
' Log($"${folio},${C.GetString("V_FECHA")},${C.GetString("V_CLIENTE")},${C.GetString("V_CLI_ORIG")},${C.GetString("V_PRODID")},${C.GetString("V_CANT")},${C.GetString("V_RECHAZO")},${C.GetString("V_IDALMACEN")}"$)
reqManager.ExecuteCommand(cmd , "ins_ventas") reqManager.ExecuteCommand(cmd , "ins_ventas")
Next Next
c.Close c.Close
@@ -598,8 +605,8 @@ Sub Subir_Click
End Sub End Sub
Sub cargar_Click Sub cargar_Click
' m_cargaAlmacen.Initialize
p_multiAlmacen.Visible = False
Dim pedidodiaanterior As Boolean = False Dim pedidodiaanterior As Boolean = False
Dim cp As Cursor = Starter.skmt.ExecQuery("select * from NOVENTA") Dim cp As Cursor = Starter.skmt.ExecQuery("select * from NOVENTA")
If cp.RowCount > 0 Then If cp.RowCount > 0 Then
@@ -657,21 +664,13 @@ Sub cargar_Click
c=Starter.skmt.ExecQuery("select usuario from usuarioa") c=Starter.skmt.ExecQuery("select usuario from usuarioa")
c.Position = 0 c.Position = 0
usuario = c.GetString("USUARIO") usuario = c.GetString("USUARIO")
Log("******************* CARGAMOS RUTA")
cargaGeneral
cmd.Initialize If multiAlmacen Then
cmd.Name = "select_punteo_guna_re_REPG2" Log(multiAlmacen)
cmd.Parameters = Array As Object(e_ruta.text, ALMACEN,ALMACEN, ALMACEN,ALMACEN) Log("==================== CARGAMOS SEGUNDO ALMACEN ======================")
reqManager.ExecuteQuery(cmd , 0, "punteo") cargaAlmacen2
Log($"Pedimos Punteo"$)
reqs.Add("punteo")
If l_ruta.Text = "0" Then
cmd.Initialize
cmd.Name = "select_almacen_guna_re_REPG2"
cmd.Parameters = Array As Object(ALMACEN, e_ruta.text, ALMACEN, ALMACEN)
reqManager.ExecuteQuery(cmd , 0, "gunaprod")
Log($"Pedimos gunaprod - ${ALMACEN}, ${e_ruta.text}"$)
reqs.Add("gunaprod")
End If End If
cmd.Initialize cmd.Initialize
@@ -680,14 +679,6 @@ Sub cargar_Click
reqManager.ExecuteQuery(cmd , 0, "conversion") reqManager.ExecuteQuery(cmd , 0, "conversion")
reqs.Add("conversion") reqs.Add("conversion")
cmd.Initialize
cmd.Name = "select_cliente_guna_re_REPG2"
cmd.Parameters = Array As Object(e_ruta.text, ALMACEN, ALMACEN,ALMACEN,e_ruta.text, ALMACEN, ALMACEN)
reqManager.ExecuteQuery(cmd , 0, "kmt_datos")
Log($"Pedimos kmt_datos"$)
reqs.Add("kmt_datos")
cmd.Initialize cmd.Initialize
cmd.Name = "select_picking_reparto" cmd.Name = "select_picking_reparto"
cmd.Parameters = Array As Object(ALMACEN, e_ruta.text, ALMACEN) cmd.Parameters = Array As Object(ALMACEN, e_ruta.text, ALMACEN)
@@ -695,100 +686,95 @@ Sub cargar_Click
Log($"Pedimos p_reparto"$) Log($"Pedimos p_reparto"$)
' reqs.Add("p_reparto") ' reqs.Add("p_reparto")
' If ALMACEN = "32" Then
cmd.Initialize ' ALMACEN = "33"
cmd.Name = "select_ventad_guna_re_REPG2" ' cargo = 2
cmd.Parameters = Array As Object(e_ruta.text, ALMACEN, ALMACEN) ' cmd.Initialize
reqManager.ExecuteQuery(cmd , 0, "hist_datos") ' cmd.Name = "select_punteo_guna_re_REPG2"
Log($"Pedimos hist_datos"$) ' cmd.Parameters = Array As Object(e_ruta.text, ALMACEN, ALMACEN, ALMACEN, ALMACEN)
reqs.Add("hist_datos") ' reqManager.ExecuteQuery(cmd , 0, "punteo")
' reqs.Add("punteo")
If ALMACEN = "32" Then '
ALMACEN = "33" ' cmd.Initialize
cargo = 2 ' cmd.Name = "select_almacen_guna_re_REPG2"
cmd.Initialize ' cmd.Parameters = Array As Object(ALMACEN, e_ruta.text, ALMACEN, ALMACEN)
cmd.Name = "select_punteo_guna_re_REPG2" ' reqManager.ExecuteQuery(cmd , 0, "gunaprod")
cmd.Parameters = Array As Object(e_ruta.text, ALMACEN,ALMACEN, ALMACEN,ALMACEN) ' reqs.Add("gunaprod")
reqManager.ExecuteQuery(cmd , 0, "punteo") '
reqs.Add("punteo") ' cmd.Initialize
' cmd.Name = "select_cliente_guna_re_REPG2"
cmd.Initialize ' cmd.Parameters = Array As Object(e_ruta.text, ALMACEN, ALMACEN, ALMACEN, e_ruta.text, ALMACEN, ALMACEN)
cmd.Name = "select_almacen_guna_re_REPG2" ' reqManager.ExecuteQuery(cmd , 0, "kmt_datos")
cmd.Parameters = Array As Object(ALMACEN, e_ruta.text, ALMACEN, ALMACEN) ' Log($"Pedimos kmt_datos"$)
reqManager.ExecuteQuery(cmd , 0, "gunaprod") ' reqs.Add("kmt_datos")
reqs.Add("gunaprod") '
' cmd.Initialize
cmd.Initialize ' cmd.Name = "select_ventad_guna_re_REPG2"
cmd.Name = "select_cliente_guna_re_REPG2" ' cmd.Parameters = Array As Object(e_ruta.text, ALMACEN, ALMACEN)
cmd.Parameters = Array As Object(e_ruta.text, ALMACEN, ALMACEN,ALMACEN,e_ruta.text, ALMACEN, ALMACEN) ' reqManager.ExecuteQuery(cmd , 0, "hist_datos")
reqManager.ExecuteQuery(cmd , 0, "kmt_datos") ' reqs.Add("hist_datos")
reqs.Add("kmt_datos") ' 'reparto rechazo REP_CLIENTE, REP_PRONOMBRE, REP_CANT, REP_COSTO_TOT
' End If
cmd.Initialize '
cmd.Name = "select_ventad_guna_re_REPG2" ' If ALMACEN = "12" Then
cmd.Parameters = Array As Object(e_ruta.text, ALMACEN, ALMACEN) ' ALMACEN = "72"
reqManager.ExecuteQuery(cmd , 0, "hist_datos") ' cargo = 2
reqs.Add("hist_datos") ' cmd.Initialize
'reparto rechazo REP_CLIENTE, REP_PRONOMBRE, REP_CANT, REP_COSTO_TOT ' cmd.Name = "select_punteo_guna_re_REPG2"
End If ' cmd.Parameters = Array As Object(e_ruta.text, ALMACEN, ALMACEN, ALMACEN, ALMACEN)
' reqManager.ExecuteQuery(cmd , 0, "punteo")
If ALMACEN = "12" Then ' reqs.Add("punteo")
ALMACEN = "72" '
cargo = 2 ' cmd.Initialize
cmd.Initialize ' cmd.Name = "select_almacen_guna_re_REPG2"
cmd.Name = "select_punteo_guna_re_REPG2" ' cmd.Parameters = Array As Object(ALMACEN, e_ruta.text, ALMACEN, ALMACEN)
cmd.Parameters = Array As Object(e_ruta.text, ALMACEN,ALMACEN, ALMACEN,ALMACEN) ' reqManager.ExecuteQuery(cmd , 0, "gunaprod")
reqManager.ExecuteQuery(cmd , 0, "punteo") ' reqs.Add("gunaprod")
reqs.Add("punteo") '
' cmd.Initialize
cmd.Initialize ' cmd.Name = "select_cliente_guna_re_REPG2"
cmd.Name = "select_almacen_guna_re_REPG2" ' cmd.Parameters = Array As Object(e_ruta.text, ALMACEN, ALMACEN, ALMACEN, e_ruta.text, ALMACEN, ALMACEN)
cmd.Parameters = Array As Object(ALMACEN, e_ruta.text, ALMACEN, ALMACEN) ' reqManager.ExecuteQuery(cmd , 0, "kmt_datos")
reqManager.ExecuteQuery(cmd , 0, "gunaprod") ' Log($"Pedimos kmt_datos"$)
reqs.Add("gunaprod") ' reqs.Add("kmt_datos")
'
cmd.Initialize ' cmd.Initialize
cmd.Name = "select_cliente_guna_re_REPG2" ' cmd.Name = "select_ventad_guna_re_REPG2"
cmd.Parameters = Array As Object(e_ruta.text, ALMACEN, ALMACEN,ALMACEN,e_ruta.text, ALMACEN, ALMACEN) ' cmd.Parameters = Array As Object(e_ruta.text, ALMACEN, ALMACEN)
reqManager.ExecuteQuery(cmd , 0, "kmt_datos") ' reqManager.ExecuteQuery(cmd , 0, "hist_datos")
reqs.Add("kmt_datos") ' reqs.Add("hist_datos")
' 'reparto rechazo REP_CLIENTE, REP_PRONOMBRE, REP_CANT, REP_COSTO_TOT
cmd.Initialize ' End If
cmd.Name = "select_ventad_guna_re_REPG2" '
cmd.Parameters = Array As Object(e_ruta.text, ALMACEN, ALMACEN) ' If ALMACEN = "66" Then
reqManager.ExecuteQuery(cmd , 0, "hist_datos") ' ALMACEN = "67"
reqs.Add("hist_datos") ' cargo = 2
'reparto rechazo REP_CLIENTE, REP_PRONOMBRE, REP_CANT, REP_COSTO_TOT ' cmd.Initialize
End If ' cmd.Name = "select_punteo_guna_re_REPG2"
' cmd.Parameters = Array As Object(e_ruta.text, ALMACEN, ALMACEN, ALMACEN, ALMACEN)
If ALMACEN = "66" Then ' reqManager.ExecuteQuery(cmd , 0, "punteo")
ALMACEN = "67" ' reqs.Add("punteo")
cargo = 2 '
cmd.Initialize ' cmd.Initialize
cmd.Name = "select_punteo_guna_re_REPG2" ' cmd.Name = "select_almacen_guna_re_REPG2"
cmd.Parameters = Array As Object(e_ruta.text, ALMACEN,ALMACEN, ALMACEN,ALMACEN) ' cmd.Parameters = Array As Object(ALMACEN, e_ruta.text, ALMACEN, ALMACEN)
reqManager.ExecuteQuery(cmd , 0, "punteo") ' reqManager.ExecuteQuery(cmd , 0, "gunaprod")
reqs.Add("punteo") ' reqs.Add("gunaprod")
'
cmd.Initialize ' cmd.Initialize
cmd.Name = "select_almacen_guna_re_REPG2" ' cmd.Name = "select_cliente_guna_re_REPG2"
cmd.Parameters = Array As Object(ALMACEN, e_ruta.text, ALMACEN, ALMACEN) ' cmd.Parameters = Array As Object(e_ruta.text, ALMACEN, ALMACEN, ALMACEN, e_ruta.text, ALMACEN, ALMACEN)
reqManager.ExecuteQuery(cmd , 0, "gunaprod") ' reqManager.ExecuteQuery(cmd , 0, "kmt_datos")
reqs.Add("gunaprod") ' Log($"Pedimos kmt_datos"$)
' reqs.Add("kmt_datos")
cmd.Initialize '
cmd.Name = "select_cliente_guna_re_REPG2" ' cmd.Initialize
cmd.Parameters = Array As Object(e_ruta.text, ALMACEN, ALMACEN,ALMACEN,e_ruta.text, ALMACEN, ALMACEN) ' cmd.Name = "select_ventad_guna_re_REPG2"
reqManager.ExecuteQuery(cmd , 0, "kmt_datos") ' cmd.Parameters = Array As Object(e_ruta.text, ALMACEN, ALMACEN)
reqs.Add("kmt_datos") ' reqManager.ExecuteQuery(cmd , 0, "hist_datos")
' reqs.Add("hist_datos")
cmd.Initialize ' 'reparto rechazo REP_CLIENTE, REP_PRONOMBRE, REP_CANT, REP_COSTO_TOT
cmd.Name = "select_ventad_guna_re_REPG2" ' End If
cmd.Parameters = Array As Object(e_ruta.text, ALMACEN, ALMACEN)
reqManager.ExecuteQuery(cmd , 0, "hist_datos")
reqs.Add("hist_datos")
'reparto rechazo REP_CLIENTE, REP_PRONOMBRE, REP_CANT, REP_COSTO_TOT
End If
' c=Starter.skmt.ExecQuery("SELECT REP_CLIENTE, REP_PRONOMBRE, REP_CANT, REP_COSTO_TOT, REP_FECHA FROM REPARTO") ' c=Starter.skmt.ExecQuery("SELECT REP_CLIENTE, REP_PRONOMBRE, REP_CANT, REP_COSTO_TOT, REP_FECHA FROM REPARTO")
' If c.RowCount > 0 Then ' If c.RowCount > 0 Then
@@ -831,16 +817,49 @@ Sub cargar_Click
ToastMessageShow("Se actualizarán los datos, este proceso podria tardar hasta un minuto, gracias" , True) ToastMessageShow("Se actualizarán los datos, este proceso podria tardar hasta un minuto, gracias" , True)
ProgressDialogShow2("Descargando rutas, espere un momento.", False) ProgressDialogShow2("Descargando rutas, espere un momento.", False)
If Not(IsConnectedToInternet) Then MsgboxAsync("No hay conexión a Internet", "Revisa tu conexión") If Not(IsConnectedToInternet) Then MsgboxAsync("No hay conexión a Internet", "Revisa tu conexión")
Else Else
Log("XXXX") Log("HAY VENTA DEL DIA ANTERIOR.")
MsgboxAsync("Para poder cargar día no puedes tener venta del día anterior. Por favor haz FIN DIA e intenta nuevamente.","Atención") MsgboxAsync("Para poder cargar día no puedes tener venta del día anterior. Por favor haz FIN DIA e intenta nuevamente.","Atención")
End If End If
et_ruta2.Text = ""
End Sub
'Carga los datos generales de la ruta.
Sub cargaGeneral
Log($"****** ALMACEN: ${ALMACEN}"$)
If l_ruta.Text = "0" Then
cmd.Initialize
cmd.Name = "select_almacen_guna_re_REPG2"
cmd.Parameters = Array As Object(ALMACEN, e_ruta.text, ALMACEN, ALMACEN)
reqManager.ExecuteQuery(cmd , 0, "gunaprod")
LogColor($"Pedimos gunaprod - ${ALMACEN}, ${e_ruta.text}"$, Colors.red)
reqs.Add("gunaprod")
End If
cmd.Initialize
cmd.Name = "select_punteo_guna_re_REPG2"
cmd.Parameters = Array As Object(e_ruta.text, ALMACEN, ALMACEN, ALMACEN, ALMACEN)
reqManager.ExecuteQuery(cmd , 0, "punteo")
LogColor($"Pedimos punteo - ${ALMACEN}, ${e_ruta.text}"$, Colors.red)
reqs.Add("punteo")
cmd.Initialize
cmd.Name = "select_cliente_guna_re_REPG2"
cmd.Parameters = Array As Object(e_ruta.text, ALMACEN, ALMACEN, ALMACEN, e_ruta.text, ALMACEN, ALMACEN)
reqManager.ExecuteQuery(cmd , 0, "kmt_datos")
LogColor($"Pedimos kmt_datos - ${ALMACEN}, ${e_ruta.text}"$, Colors.red)
reqs.Add("kmt_datos")
cmd.Initialize
cmd.Name = "select_ventad_guna_re_REPG2"
cmd.Parameters = Array As Object(e_ruta.text, ALMACEN, ALMACEN)
reqManager.ExecuteQuery(cmd , 0, $"hist_datos_${ALMACEN}"$)
LogColor($"Pedimos hist_datos - ${ALMACEN}, ${e_ruta.text}"$, Colors.red)
reqs.Add("hist_datos")
End Sub End Sub
Sub JobDone(Job As HttpJob) Sub JobDone(Job As HttpJob)
Log("JobDone Principal: " & Job.Success)
' Private r As DBResult = reqManager.HandleJob(Job) ' Private r As DBResult = reqManager.HandleJob(Job)
If Job.Success = False Then If Job.Success = False Then
LogColor("** " & Job.Tag & " Error: " & Job.ErrorMessage, Colors.Red) ' Mod by CHV - 211023 LogColor("** " & Job.Tag & " Error: " & Job.ErrorMessage, Colors.Red) ' Mod by CHV - 211023
@@ -850,6 +869,7 @@ Sub JobDone(Job As HttpJob)
If Job.JobName = "DBRequest" Then If Job.JobName = "DBRequest" Then
Dim result As DBResult = reqManager.HandleJob(Job) Dim result As DBResult = reqManager.HandleJob(Job)
If result.Tag = "kmt_datos" Then 'query tag If result.Tag = "kmt_datos" Then 'query tag
' m_cargaAlmacen.Put(ALMACEN & "-Clientes", result.Rows.Size)
If reqs.IndexOf("kmt_datos") > -1 Then If reqs.IndexOf("kmt_datos") > -1 Then
reqs.RemoveAt(reqs.IndexOf("kmt_datos")) reqs.RemoveAt(reqs.IndexOf("kmt_datos"))
' Log(reqs.Size) ' Log(reqs.Size)
@@ -875,8 +895,13 @@ Sub JobDone(Job As HttpJob)
Dim CAT_CL_LONG As String = records(result.Columns.Get("CAT_CL_LONG")) Dim CAT_CL_LONG As String = records(result.Columns.Get("CAT_CL_LONG"))
Dim CAT_CL_LAT As String = records(result.Columns.Get("CAT_CL_LAT")) Dim CAT_CL_LAT As String = records(result.Columns.Get("CAT_CL_LAT"))
Dim CAT_CL_BCREDITO As String = records(result.Columns.Get("CAT_CL_BCREDITO")) Dim CAT_CL_BCREDITO As String = records(result.Columns.Get("CAT_CL_BCREDITO"))
Dim CAT_CL_IDALMACEN As String = records(result.Columns.Get("CAT_CL_IDALMACEN"))
' Log(" ++ insert into kmt_info: "&CAT_CL_RUTA&","&CAT_CL_CODIGO&","&CAT_CL_RUTA&","&CAT_CL_NOMBRE) ' Log(" ++ insert into kmt_info: "&CAT_CL_RUTA&","&CAT_CL_CODIGO&","&CAT_CL_RUTA&","&CAT_CL_NOMBRE)
Starter.skmt.ExecNonQuery2("INSERT INTO kmt_info(CAT_CL_CODIGO,CAT_CL_RUTA,CAT_CL_NOMBRE,CAT_CL_ATIENDE1,CAT_CL_ATIENTE2,CAT_CL_TELEFONO,CAT_CL_EMAIL,CAT_CL_CALLE,CAT_CL_NOEXT,CAT_CL_NOINT,CAT_CL_CALLE1,CAT_CL_CALLE2,CAT_CL_COLONIA,CAT_CL_MUNI,CAT_CL_EDO,CAT_CL_CP,CAT_CL_LONG,CAT_CL_LAT,CAT_CL_BCREDITO, gestion,SECUENCIA) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,0,?)", Array As Object (CAT_CL_CODIGO,CAT_CL_RUTA,CAT_CL_NOMBRE,CAT_CL_ATIENDE1,CAT_CL_ATIENTE2,CAT_CL_TELEFONO,CAT_CL_EMAIL,CAT_CL_CALLE,CAT_CL_NOEXT,CAT_CL_NOINT,CAT_CL_CALLE1,CAT_CL_CALLE2,CAT_CL_COLONIA,CAT_CL_MUNI,CAT_CL_EDO,CAT_CL_CP,CAT_CL_LONG,CAT_CL_LAT,CAT_CL_BCREDITO,"0")) ' Log(records(result.Columns.Get("CAT_CL_IDALMACEN")))
If Not(CAT_CL_CODIGO.StartsWith("N")) Then
' Log($"INSERT ${CAT_CL_CODIGO}"$)
Starter.skmt.ExecNonQuery2("INSERT INTO kmt_info(CAT_CL_CODIGO,CAT_CL_RUTA,CAT_CL_NOMBRE,CAT_CL_ATIENDE1,CAT_CL_ATIENTE2,CAT_CL_TELEFONO,CAT_CL_EMAIL,CAT_CL_CALLE,CAT_CL_NOEXT,CAT_CL_NOINT,CAT_CL_CALLE1,CAT_CL_CALLE2,CAT_CL_COLONIA,CAT_CL_MUNI,CAT_CL_EDO,CAT_CL_CP,CAT_CL_LONG,CAT_CL_LAT,CAT_CL_BCREDITO, gestion, SECUENCIA, CAT_CL_IDALMACEN) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,0,?,?)", Array As Object (CAT_CL_CODIGO,CAT_CL_RUTA,CAT_CL_NOMBRE,CAT_CL_ATIENDE1,CAT_CL_ATIENTE2,CAT_CL_TELEFONO,CAT_CL_EMAIL,CAT_CL_CALLE,CAT_CL_NOEXT,CAT_CL_NOINT,CAT_CL_CALLE1,CAT_CL_CALLE2,CAT_CL_COLONIA,CAT_CL_MUNI,CAT_CL_EDO,CAT_CL_CP,CAT_CL_LONG,CAT_CL_LAT,CAT_CL_BCREDITO,"0",CAT_CL_IDALMACEN))
End If
Next Next
Starter.skmt.TransactionSuccessful Starter.skmt.TransactionSuccessful
Starter.skmt.EndTransaction Starter.skmt.EndTransaction
@@ -893,6 +918,7 @@ Sub JobDone(Job As HttpJob)
If Job.JobName = "DBRequest" Then If Job.JobName = "DBRequest" Then
Dim result As DBResult = reqManager.HandleJob(Job) Dim result As DBResult = reqManager.HandleJob(Job)
If result.Tag = "gunaprod" Then 'query tag If result.Tag = "gunaprod" Then 'query tag
' m_cargaAlmacen.Put(ALMACEN & "-Prods", result.Rows.Size)
If reqs.IndexOf("gunaprod") > -1 Then If reqs.IndexOf("gunaprod") > -1 Then
reqs.RemoveAt(reqs.IndexOf("gunaprod")) reqs.RemoveAt(reqs.IndexOf("gunaprod"))
Log(reqs.Size) Log(reqs.Size)
@@ -1025,8 +1051,6 @@ Sub JobDone(Job As HttpJob)
End If End If
End If End If
If Job.JobName = "DBRequest" Then If Job.JobName = "DBRequest" Then
Dim result As DBResult = reqManager.HandleJob(Job) Dim result As DBResult = reqManager.HandleJob(Job)
If result.Tag = "conversion" Then 'query tag If result.Tag = "conversion" Then 'query tag
@@ -1055,14 +1079,15 @@ Sub JobDone(Job As HttpJob)
End If End If
End If End If
If Job.JobName = "DBRequest" Then If Job.JobName = "DBRequest" Then
Dim result As DBResult = reqManager.HandleJob(Job) Dim result As DBResult = reqManager.HandleJob(Job)
If result.Tag = "hist_datos" Then 'query tag If result.Tag.As(String).StartsWith("hist_datos") Then 'query tag
If reqs.IndexOf("hist_datos") > -1 Then If reqs.IndexOf("hist_datos") > -1 Then
reqs.RemoveAt(reqs.IndexOf("hist_datos")) reqs.RemoveAt(reqs.IndexOf("hist_datos"))
' Log(reqs.Size) ' Log(reqs.Size)
End If End If
Private elAlmacen0() As String = Regex.Split("_", result.Tag)
Private elAlmacen As String = elAlmacen0(2)
Log(l_ruta.text) Log(l_ruta.text)
Log($"******** Insertamos HV - ${result.Rows.Size}"$) Log($"******** Insertamos HV - ${result.Rows.Size}"$)
Starter.skmt.BeginTransaction Starter.skmt.BeginTransaction
@@ -1078,18 +1103,18 @@ Sub JobDone(Job As HttpJob)
Dim HVD_NUM_REGISTRO As String = records(result.Columns.Get("HVD_NUM_REGISTRO")) Dim HVD_NUM_REGISTRO As String = records(result.Columns.Get("HVD_NUM_REGISTRO"))
Dim HVD_RECHAZO As String = records(result.Columns.Get("HVD_RECHAZO")) Dim HVD_RECHAZO As String = records(result.Columns.Get("HVD_RECHAZO"))
' Log(" ++ insert into HIST_VENTAS: "&HVD_CLIENTE&","&HVD_PRONOMBRE&","&HVD_CANT) ' Log(" ++ insert into HIST_VENTAS: "&HVD_CLIENTE&","&HVD_PRONOMBRE&","&HVD_CANT)
' Log($"**** ALMACEN DE HIST_VENTAS: ${elAlmacen}"$)
If l_ruta.Text = "0" Then 'Si no hay ruta cargada, guardamos todos los clientes If l_ruta.Text = "0" Then 'Si no hay ruta cargada, guardamos todos los clientes
Log("No hay ruta, guardamos todos") ' Log("No hay ruta, guardamos todos")
Starter.skmt.ExecNonQuery2("INSERT INTO HIST_VENTAS(HVD_CLIENTE,HVD_PRONOMBRE,HVD_CANT,HVD_COSTO_TOT, HVD_FECHA, HVD_CODPROMO, HVD_PROID,HVD_NUM_TICKET, HVD_NUM_REGISTRO, HVD_RECHAZO, HVD_ESTATUS, HVD_PARCIAL) VALUES (?,?,?,?,?,?,?,?,?,?,0,0)", Array As Object (HVD_CLIENTE,HVD_PRONOMBRE,HVD_CANT,HVD_COSTO_TOT,HVD_FECHA, HVD_CODPROMO, HVD_PROID,HVD_NUM_TICKET, HVD_NUM_REGISTRO, HVD_RECHAZO)) Starter.skmt.ExecNonQuery2("INSERT INTO HIST_VENTAS(HVD_CLIENTE,HVD_PRONOMBRE,HVD_CANT,HVD_COSTO_TOT, HVD_FECHA, HVD_CODPROMO, HVD_PROID,HVD_NUM_TICKET, HVD_NUM_REGISTRO, HVD_RECHAZO, HVD_ESTATUS, HVD_PARCIAL,HVD_IDALMACEN) VALUES (?,?,?,?,?,?,?,?,?,?,0,0,?)", Array As Object (HVD_CLIENTE,HVD_PRONOMBRE,HVD_CANT,HVD_COSTO_TOT,HVD_FECHA, HVD_CODPROMO, HVD_PROID,HVD_NUM_TICKET, HVD_NUM_REGISTRO, HVD_RECHAZO, elAlmacen))
Starter.skmt.ExecNonQuery2("INSERT INTO HIST_VENTAS2(HVD_CLIENTE,HVD_PRONOMBRE,HVD_CANT,HVD_COSTO_TOT, HVD_FECHA, HVD_CODPROMO, HVD_PROID,HVD_NUM_TICKET, HVD_NUM_REGISTRO, HVD_RECHAZO, HVD_ESTATUS, HVD_PARCIAL) VALUES (?,?,?,?,?,?,?,?,?,?,0,0)", Array As Object (HVD_CLIENTE,HVD_PRONOMBRE,HVD_CANT,HVD_COSTO_TOT,HVD_FECHA, HVD_CODPROMO, HVD_PROID,HVD_NUM_TICKET, HVD_NUM_REGISTRO, HVD_RECHAZO)) Starter.skmt.ExecNonQuery2("INSERT INTO HIST_VENTAS2(HVD_CLIENTE,HVD_PRONOMBRE,HVD_CANT,HVD_COSTO_TOT, HVD_FECHA, HVD_CODPROMO, HVD_PROID,HVD_NUM_TICKET, HVD_NUM_REGISTRO, HVD_RECHAZO, HVD_ESTATUS, HVD_PARCIAL,HVD_IDALMACEN) VALUES (?,?,?,?,?,?,?,?,?,?,0,0,?)", Array As Object (HVD_CLIENTE,HVD_PRONOMBRE,HVD_CANT,HVD_COSTO_TOT,HVD_FECHA, HVD_CODPROMO, HVD_PROID,HVD_NUM_TICKET, HVD_NUM_REGISTRO, HVD_RECHAZO, elAlmacen))
Else 'Si ya hay ruta cargada, solo guardamos los clientes nuevos. Else 'Si ya hay ruta cargada, solo guardamos los clientes nuevos.
' Log("Hay ruta, guardamos los nuevos") ' Log("Hay ruta, guardamos los nuevos")
Private tc As Cursor = Starter.skmt.ExecQuery($"select HVD_CLIENTE from HIST_VENTAS where HVD_CLIENTE = '${HVD_CLIENTE}' and HVD_PROID = '${HVD_PROID}'"$) Private tc As Cursor = Starter.skmt.ExecQuery($"select HVD_CLIENTE from HIST_VENTAS where HVD_CLIENTE = '${HVD_CLIENTE}' and HVD_PROID = '${HVD_PROID}'"$)
If tc.RowCount = 0 Then If tc.RowCount = 0 Then
Log($"Guardamos ${HVD_CLIENTE}"$) ' Log($"Guardamos ${HVD_CLIENTE}"$)
Starter.skmt.ExecNonQuery2("INSERT INTO HIST_VENTAS(HVD_CLIENTE,HVD_PRONOMBRE,HVD_CANT,HVD_COSTO_TOT, HVD_FECHA, HVD_CODPROMO, HVD_PROID,HVD_NUM_TICKET, HVD_NUM_REGISTRO, HVD_RECHAZO, HVD_ESTATUS, HVD_PARCIAL) VALUES (?,?,?,?,?,?,?,?,?,?,0,0)", Array As Object (HVD_CLIENTE,HVD_PRONOMBRE,HVD_CANT,HVD_COSTO_TOT,HVD_FECHA, HVD_CODPROMO, HVD_PROID,HVD_NUM_TICKET, HVD_NUM_REGISTRO, HVD_RECHAZO)) Starter.skmt.ExecNonQuery2("INSERT INTO HIST_VENTAS(HVD_CLIENTE,HVD_PRONOMBRE,HVD_CANT,HVD_COSTO_TOT, HVD_FECHA, HVD_CODPROMO, HVD_PROID,HVD_NUM_TICKET, HVD_NUM_REGISTRO, HVD_RECHAZO, HVD_ESTATUS, HVD_PARCIAL,HVD_IDALMACEN) VALUES (?,?,?,?,?,?,?,?,?,?,0,0,?)", Array As Object (HVD_CLIENTE,HVD_PRONOMBRE,HVD_CANT,HVD_COSTO_TOT,HVD_FECHA, HVD_CODPROMO, HVD_PROID,HVD_NUM_TICKET, HVD_NUM_REGISTRO, HVD_RECHAZO, elAlmacen))
Starter.skmt.ExecNonQuery2("INSERT INTO HIST_VENTAS2(HVD_CLIENTE,HVD_PRONOMBRE,HVD_CANT,HVD_COSTO_TOT, HVD_FECHA, HVD_CODPROMO, HVD_PROID,HVD_NUM_TICKET, HVD_NUM_REGISTRO, HVD_RECHAZO, HVD_ESTATUS, HVD_PARCIAL) VALUES (?,?,?,?,?,?,?,?,?,?,0,0)", Array As Object (HVD_CLIENTE,HVD_PRONOMBRE,HVD_CANT,HVD_COSTO_TOT,HVD_FECHA, HVD_CODPROMO, HVD_PROID,HVD_NUM_TICKET, HVD_NUM_REGISTRO, HVD_RECHAZO)) Starter.skmt.ExecNonQuery2("INSERT INTO HIST_VENTAS2(HVD_CLIENTE,HVD_PRONOMBRE,HVD_CANT,HVD_COSTO_TOT, HVD_FECHA, HVD_CODPROMO, HVD_PROID,HVD_NUM_TICKET, HVD_NUM_REGISTRO, HVD_RECHAZO, HVD_ESTATUS, HVD_PARCIAL,HVD_IDALMACEN) VALUES (?,?,?,?,?,?,?,?,?,?,0,0,?)", Array As Object (HVD_CLIENTE,HVD_PRONOMBRE,HVD_CANT,HVD_COSTO_TOT,HVD_FECHA, HVD_CODPROMO, HVD_PROID,HVD_NUM_TICKET, HVD_NUM_REGISTRO, HVD_RECHAZO, elAlmacen))
End If End If
End If End If
Next Next
@@ -1314,6 +1339,28 @@ Sub JobDone(Job As HttpJob)
Next Next
Next Next
End If End If
If result.Tag = "agrupaAlmacen" Then 'query tag
If result.Rows.Size > 1 Then
Starter.skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS CAT_ALMACEN_AGRUPADOR(ID TEXT, DESCRIPCION TEXT)")
Starter.skmt.ExecNonQuery($"delete from CAT_ALMACEN_AGRUPADOR"$)
b_multiAlmacen.Visible = True
s_almacen2.Clear
s_almacen2.Add("-= Seleccione =-")
For Each records() As Object In result.Rows
' For Each k As String In result.Columns.Keys
' Log(k & ": " & records(result.Columns.Get(k)))
' Next
If ALMACEN <> records(result.Columns.Get("CAT_AL_ID")) Then
s_almacen2.Add(records(result.Columns.Get("CAT_AL_DESC")))
Starter.skmt.ExecNonQuery($"insert into CAT_ALMACEN_AGRUPADOR (ID, DESCRIPCION) values ('${records(result.Columns.Get("CAT_AL_ID"))}', '${records(result.Columns.Get("CAT_AL_DESC"))}')"$)
End If
s_almacen2.TextSize = 13
s_almacen2.DropdownTextColor = Colors.RGB(6, 137, 0)
' s_almacen2.TextColor = Colors.Green
Next
End If
End If
End If End If
If Job.JobName = "DBRequest" Then If Job.JobName = "DBRequest" Then
@@ -1332,12 +1379,12 @@ Sub JobDone(Job As HttpJob)
ProgressDialogHide ProgressDialogHide
' Log(reqs.size) ' Log(reqs.size)
' Log("Terminamos lo descarga de ruta!") ' Log("Terminamos lo descarga de ruta!")
c = Starter.skmt.ExecQuery("SELECT * FROM CHECAR") c = Starter.skmt.ExecQuery("SELECT * FROM CHECAR")
If c.RowCount = 0 Then If c.RowCount = 0 Then
Starter.skmt.ExecNonQuery2("insert into CHECAR (MOSTRAR) VALUES(?)", Array As String("0")) Starter.skmt.ExecNonQuery2("insert into CHECAR (MOSTRAR) VALUES(?)", Array As String("0"))
End If End If
End If End If
' LogColor(m_cargaAlmacen, Colors.red)
End Sub End Sub
Private Sub B4XPage_CloseRequest As ResumableSub Private Sub B4XPage_CloseRequest As ResumableSub
@@ -1354,6 +1401,8 @@ End Sub
Sub connecta_Click Sub connecta_Click
LogColor($"ReqServer = ${B4XPages.MainPage.server}"$, Colors.red) LogColor($"ReqServer = ${B4XPages.MainPage.server}"$, Colors.red)
cargar.Enabled = True
multiAlmacen = False
If Not(IsConnectedToInternet) Then MsgboxAsync("No hay conexión a conexión a Internet", "Revisa tu conexión") If Not(IsConnectedToInternet) Then MsgboxAsync("No hay conexión a conexión a Internet", "Revisa tu conexión")
If e_ruta.Text <> "" Then If e_ruta.Text <> "" Then
imei = "" 'p.GetDeviceId imei = "" 'p.GetDeviceId
@@ -1373,6 +1422,11 @@ Sub connecta_Click
Starter.skmt.ExecNonQuery("DELETE FROM RUTAA") Starter.skmt.ExecNonQuery("DELETE FROM RUTAA")
Starter.skmt.ExecNonQuery2("INSERT INTO RUTAA(RUTAA) VALUES (?)", Array As Object (e_ruta.TEXT)) Starter.skmt.ExecNonQuery2("INSERT INTO RUTAA(RUTAA) VALUES (?)", Array As Object (e_ruta.TEXT))
B4XPages.MainPage.rutaPreventa = e_ruta.TEXT B4XPages.MainPage.rutaPreventa = e_ruta.TEXT
cmd.Name = "selectAgrupadorAlmacen"
cmd.Parameters = Array As Object(ALMACEN)
Log($"${ALMACEN}, ${e_ruta.text}, ${imei}"$)
reqManager.ExecuteQuery(cmd , 0, "agrupaAlmacen")
End If End If
End Sub End Sub
@@ -1537,8 +1591,65 @@ Private Sub b_tabulador_Click
End If End If
End Sub End Sub
Private Sub b_picking_Click Private Sub b_picking_Click
B4XPages.ShowPage("picking") B4XPages.ShowPage("picking")
End Sub End Sub
Private Sub b_multiAlmacen_Click
s_almacen2.SelectedIndex = 0
et_ruta2.Text = ""
If p_multiAlmacen.Visible Then
p_multiAlmacen.Visible = False
cargar.Enabled = True
multiAlmacen = False
Else
p_multiAlmacen.Visible = True
cargar.Enabled = False
multiAlmacen = True
End If
End Sub
Private Sub s_almacen2_ItemClick (Position As Int, Value As Object)
Private ga As ResultSet = Starter.skmt.ExecQuery($"select * from CAT_ALMACEN_AGRUPADOR where descripcion = '${Value}'"$)
Do While ga.NextRow
idAlmacenExtra = ga.GetString("ID")
Loop
Log($"${Value}, ${idAlmacenExtra}"$)
If Value <> "-= Seleccione =-" And et_ruta2.Text <> "" Then
cargar.Enabled = True
Else
cargar.Enabled = False
End If
End Sub
Private Sub et_ruta2_TextChanged (Old As String, New As String)
If s_almacen2.SelectedItem <> "-= Seleccione =-" And New <> "" Then
cargar.Enabled = True
Else
cargar.Enabled = False
End If
End Sub
Sub l_ruta2_click
x2 = x2 + 1
Log($"|${x2}|"$)
If x2 > 2 Then
x2 = 0
cargaAlmacen2
End If
End Sub
Sub cargaAlmacen2
Log("=================================================")
Log("============ CARGAMOS ALMACEN 2 ===============")
Log("=================================================")
Private almacenPrincipal = ALMACEN
Private rutaPrincipal = e_ruta.text
ALMACEN = idAlmacenExtra
e_ruta.text = et_ruta2.text
l_ruta.Text = "0"
cargaGeneral
Sleep(2000)
ALMACEN = almacenPrincipal
e_ruta.text = rutaPrincipal
End Sub

View File

@@ -670,6 +670,7 @@ Sub Terminar_Click
End If End If
e.Close e.Close
Starter.skmt.ExecNonQuery2("INSERT INTO PEDIDO (PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO,PE_RUTA,PE_TIPO,PE_PRECIO2) VALUES(?,?,?,?,?,?,?,?,?,?,?,?) ", Array As Object (L_PROID.text,0, 0, cantidad.text, l_desc.text, L_PROID.Text,clie_id, sDate & sTime, usuario,cl_ruta,"VENTA",precio2)) Starter.skmt.ExecNonQuery2("INSERT INTO PEDIDO (PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO,PE_RUTA,PE_TIPO,PE_PRECIO2) VALUES(?,?,?,?,?,?,?,?,?,?,?,?) ", Array As Object (L_PROID.text,0, 0, cantidad.text, l_desc.text, L_PROID.Text,clie_id, sDate & sTime, usuario,cl_ruta,"VENTA",precio2))
Log("insertamos en PEDIDO")
Starter.skmt.ExecNonQuery2("update " & query & " set cat_gp_almacen = cat_gp_almacen - ? where cat_gp_id = ? ", Array As Object(cantidad.Text, L_PROID.Text)) Starter.skmt.ExecNonQuery2("update " & query & " set cat_gp_almacen = cat_gp_almacen - ? where cat_gp_id = ? ", Array As Object(cantidad.Text, L_PROID.Text))
Else Else
Msgbox("Tiene " & TOT_ART_PROMO & " " & TOT_ART_PROMOR & " y necesita " & PROMO_C & " " & PROMO_CR & " Para la Promo. " , "ADVERTENCIA") 'ignore Msgbox("Tiene " & TOT_ART_PROMO & " " & TOT_ART_PROMOR & " y necesita " & PROMO_C & " " & PROMO_CR & " Para la Promo. " , "ADVERTENCIA") 'ignore
@@ -741,6 +742,7 @@ Sub Terminar_Click
usuario = c.GetString("USUARIO") usuario = c.GetString("USUARIO")
Starter.skmt.ExecNonQuery2("INSERT INTO PEDIDO (PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO,PE_RUTA,PE_COSTO_SIN,PE_TIPO,PE_PRECIO2) VALUES(?,?,?,?,?,?,?,?,?,?,?,?,?) ", Array As Object (ALMACEN,cantidad.Text * l_precio.Text, l_precio.text, cantidad.text, l_desc.text, L_PROID.Text,clie_id, sDate & sTime, usuario,cl_ruta,preciosin,"VENTA",precio2)) Starter.skmt.ExecNonQuery2("INSERT INTO PEDIDO (PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO,PE_RUTA,PE_COSTO_SIN,PE_TIPO,PE_PRECIO2) VALUES(?,?,?,?,?,?,?,?,?,?,?,?,?) ", Array As Object (ALMACEN,cantidad.Text * l_precio.Text, l_precio.text, cantidad.text, l_desc.text, L_PROID.Text,clie_id, sDate & sTime, usuario,cl_ruta,preciosin,"VENTA",precio2))
Log("Insertamos en PEDIDO")
Starter.skmt.ExecNonQuery2("update " & query & " set cat_gp_almacen = cat_gp_almacen - ? where cat_gp_id = ? ", Array As Object(cantidad.Text, L_PROID.Text)) Starter.skmt.ExecNonQuery2("update " & query & " set cat_gp_almacen = cat_gp_almacen - ? where cat_gp_id = ? ", Array As Object(cantidad.Text, L_PROID.Text))
Panel1.Visible= False Panel1.Visible= False
B4XPages.ShowPage("Cliente") B4XPages.ShowPage("Cliente")
@@ -850,7 +852,7 @@ Sub llenaProductos(limpiar As Boolean)
If limpiar Then clv_productos.Clear If limpiar Then clv_productos.Clear
Private c2 As Cursor Private c2 As Cursor
' c2 = Starter.skmt.ExecQuery("select REP_CLIENTE, REP_PRONOMBRE, REP_CANT, REP_COSTO_TOT, REP_PRECIO, REP_PRODID from REPARTO where REP_RECHAZO = 1 and REP_CANT <> '0'") ' c2 = Starter.skmt.ExecQuery("select REP_CLIENTE, REP_PRONOMBRE, REP_CANT, REP_COSTO_TOT, REP_PRECIO, REP_PRODID from REPARTO where REP_RECHAZO = 1 and REP_CANT <> '0'")
c2 = Starter.skmt.ExecQuery("Select rep_cliente As cliente, rep_prodid As prodid, rep_pronombre As nombre, rep_precio As precio, rep_cant As cantidad, rep_prodregistro as registro, 'r' as f from reparto where REP_RECHAZO = 1 And REP_CANT > 0 order by REP_PRODID") c2 = Starter.skmt.ExecQuery("Select rep_cliente As cliente, rep_idalmacen, rep_prodid As prodid, rep_pronombre As nombre, rep_precio As precio, rep_cant As cantidad, rep_prodregistro as registro, 'r' as f from reparto where REP_RECHAZO = 1 And REP_CANT > 0 order by REP_PRODID")
' Private cv As Cursor = Starter.skmt.ExecQuery("Select v_cliente_orig As cliente, V_PRODID As prodid, V_PRODNOMBRE As nombre, V_PRECIO As precio, v_cantidad As cantidad, v_prodregistro as registro, 'v' as f from ventas where V_CLIENTE in (select cuenta from cuentaa)") ' Private cv As Cursor = Starter.skmt.ExecQuery("Select v_cliente_orig As cliente, V_PRODID As prodid, V_PRODNOMBRE As nombre, V_PRECIO As precio, v_cantidad As cantidad, v_prodregistro as registro, 'v' as f from ventas where V_CLIENTE in (select cuenta from cuentaa)")
Private bgColor, textColor As Int Private bgColor, textColor As Int
@@ -870,7 +872,7 @@ Sub llenaProductos(limpiar As Boolean)
End If End If
' LogColor($"${c2.GetString("nombre")}, ${c2.GetString("precio")}, ${inv}, ${inv2}, ${c2.GetString("cliente")}"$, Colors.Blue) ' LogColor($"${c2.GetString("nombre")}, ${c2.GetString("precio")}, ${inv}, ${inv2}, ${c2.GetString("cliente")}"$, Colors.Blue)
textColor = Colors.Black textColor = Colors.Black
clv_productos.Add(CreateListItem(c2.GetString("nombre"), Subs.traePrecio(c2.GetString("prodid"), 1), inv, inv2, c2.GetString("cliente"), clv_productos.AsView.Width, 50dip, bmp, c2.GetString("prodid"), bgColor, textColor), c2.GetString("nombre")) clv_productos.Add(CreateListItem(c2.GetString("nombre"), Subs.traePrecio(c2.GetString("prodid"), 1), inv, inv2, c2.GetString("cliente"), clv_productos.AsView.Width, 50dip, bmp, c2.GetString("prodid"), bgColor, textColor, c2.GetString("REP_IDALMACEN")), c2.GetString("nombre"))
Next Next
End If End If
' If cv.RowCount > 0 Then ' If cv.RowCount > 0 Then
@@ -894,7 +896,7 @@ Sub llenaProductos(limpiar As Boolean)
c2.Close c2.Close
End Sub End Sub
Sub CreateListItem(Text As String, precioU As String, inv As Int, inv2 As Int, cliente As String, Width As Int, Height As Int, img As Bitmap, prodId As String, bc As Int, tc As Int) As Panel Sub CreateListItem(Text As String, precioU As String, inv As Int, inv2 As Int, cliente As String, Width As Int, Height As Int, img As Bitmap, prodId As String, bc As Int, tc As Int, idAlmacen As String) As Panel
Dim p As B4XView = xui.CreatePanel("") Dim p As B4XView = xui.CreatePanel("")
p.SetLayoutAnimated(0, 0, 0, Width, Height) p.SetLayoutAnimated(0, 0, 0, Width, Height)
p.LoadLayout("prodItem") p.LoadLayout("prodItem")
@@ -905,10 +907,10 @@ Sub CreateListItem(Text As String, precioU As String, inv As Int, inv2 As Int, c
l_prodX.TextColor = tc l_prodX.TextColor = tc
l_prodX.Text = Text&CRLF&"# " & inv & " $ " & precioU l_prodX.Text = Text&CRLF&"# " & inv & " $ " & precioU
l_prodX.Tag = $"ID: ${prodId}${CRLF}${Text}${CRLF}Precio: $$1.2{precioU}${CRLF}Inv: ${inv} pzs"$ l_prodX.Tag = $"ID: ${prodId}${CRLF}${Text}${CRLF}Precio: $$1.2{precioU}${CRLF}Inv: ${inv} pzs"$
l_vendido.Tag = precioU&"|"&inv&"|"&prodId&"|"&inv2&"|"&cliente l_vendido.Tag = precioU&"|"&inv&"|"&prodId&"|"&inv2&"|"&cliente&"|"&idAlmacen
p_prods.Tag = precioU&"|"&inv&"|"&prodId&"|"&inv2&"|"&cliente p_prods.Tag = precioU&"|"&inv&"|"&prodId&"|"&inv2&"|"&cliente&"|"&idAlmacen
l_pCant.Tag = precioU&"|"&inv&"|"&prodId&"|"&cliente l_pCant.Tag = precioU&"|"&inv&"|"&prodId&"|"&cliente&"|"&idAlmacen
et_pCant.Tag = precioU&"|"&inv&"|"&prodId&"|"&cliente et_pCant.Tag = precioU&"|"&inv&"|"&prodId&"|"&cliente&"|"&idAlmacen
' l_pCant.Text = 0 ' l_pCant.Text = 0
' et_pCant.Text = inv2 ' et_pCant.Text = inv2
et_pCant.BringToFront et_pCant.BringToFront
@@ -974,8 +976,11 @@ Sub b_prodMas_Click
Private cp As Cursor = Starter.skmt.ExecQuery($"select * from HIST_VENTAS where HVD_PROID = '${esteTag.Get(2)}' and HVD_CLIENTE = '${esteTag.get(3)}'"$) Private cp As Cursor = Starter.skmt.ExecQuery($"select * from HIST_VENTAS where HVD_PROID = '${esteTag.Get(2)}' and HVD_CLIENTE = '${esteTag.get(3)}'"$)
If cp.RowCount > 0 Then If cp.RowCount > 0 Then
cp.Position = 0 cp.Position = 0
Starter.skmt.ExecNonQuery2("insert into reparto(REP_CLIENTE, REP_PRONOMBRE, REP_CANT, REP_COSTO_TOT, REP_FECHA, REP_RECHAZO, REP_PRODID, REP_PRECIO, REP_PRODREGISTRO, REP_CLI_ORIG) VALUES (?,?,?,?,?,1,?,?,?,?) ", Array As String(Subs.traeCliente, cp.GetString("HVD_PRONOMBRE"), 0, cp.GetString("HVD_COSTO_TOT"), Subs.fechaKMT(DateTime.now), cp.GetString("HVD_PROID"), precio, 50, esteTag.get(3))) Log(esteTag)
Starter.skmt.ExecNonQuery2("insert into reparto(REP_CLIENTE, REP_PRONOMBRE, REP_CANT, REP_COSTO_TOT, REP_FECHA, REP_RECHAZO, REP_PRODID, REP_PRECIO, REP_PRODREGISTRO, REP_CLI_ORIG) VALUES (?,?,?,?,?,0,?,?,?,?) ", Array As String(Subs.traeCliente, cp.GetString("HVD_PRONOMBRE"), laCant.text, cp.GetString("HVD_COSTO_TOT"), Subs.fechaKMT(DateTime.now), cp.GetString("HVD_PROID"), precio, 50, esteTag.get(3))) Starter.skmt.ExecNonQuery2("insert into reparto(REP_CLIENTE, REP_PRONOMBRE, REP_CANT, REP_COSTO_TOT, REP_FECHA, REP_RECHAZO, REP_PRODID, REP_PRECIO, REP_PRODREGISTRO, REP_CLI_ORIG, REP_IDALMACEN) VALUES (?,?,?,?,?,1,?,?,?,?,?) ", Array As String(Subs.traeCliente, cp.GetString("HVD_PRONOMBRE"), 0, cp.GetString("HVD_COSTO_TOT"), Subs.fechaKMT(DateTime.now), cp.GetString("HVD_PROID"), precio, 50, esteTag.get(3), esteTag.get(4)))
Log(4)
Starter.skmt.ExecNonQuery2("insert into reparto(REP_CLIENTE, REP_PRONOMBRE, REP_CANT, REP_COSTO_TOT, REP_FECHA, REP_RECHAZO, REP_PRODID, REP_PRECIO, REP_PRODREGISTRO, REP_CLI_ORIG, REP_IDALMACEN) VALUES (?,?,?,?,?,0,?,?,?,?,?) ", Array As String(Subs.traeCliente, cp.GetString("HVD_PRONOMBRE"), laCant.text, cp.GetString("HVD_COSTO_TOT"), Subs.fechaKMT(DateTime.now), cp.GetString("HVD_PROID"), precio, 50, esteTag.get(3), esteTag.get(4)))
Log(5)
Starter.skmt.ExecNonQuery($"update reparto set REP_CANT = REP_CANT - 1, REP_PRECIO = '${precio}', REP_COSTO_TOT = ((REP_CANT - 1) * REP_PRECIO) where REP_CLIENTE = '${esteTag.get(3)}' and REP_CLI_ORIG = '${esteTag.get(3)}' and REP_RECHAZO = 1 and REP_PRODID = '${esteTag.Get(2)}'"$) Starter.skmt.ExecNonQuery($"update reparto set REP_CANT = REP_CANT - 1, REP_PRECIO = '${precio}', REP_COSTO_TOT = ((REP_CANT - 1) * REP_PRECIO) where REP_CLIENTE = '${esteTag.get(3)}' and REP_CLI_ORIG = '${esteTag.get(3)}' and REP_RECHAZO = 1 and REP_PRODID = '${esteTag.Get(2)}'"$)
Starter.skmt.ExecNonQuery2("update cat_gunaprod set cat_gp_almacen = cat_gp_almacen + ? where cat_gp_nombre = ?", Array As Object(laCant.Text, cp.GetString("HVD_PRONOMBRE"))) Starter.skmt.ExecNonQuery2("update cat_gunaprod set cat_gp_almacen = cat_gp_almacen + ? where cat_gp_nombre = ?", Array As Object(laCant.Text, cp.GetString("HVD_PRONOMBRE")))
End If End If
@@ -1098,7 +1103,7 @@ Private Sub p_prods_LongClick
Log($"|${esteTag.Get(3)}|"$) Log($"|${esteTag.Get(3)}|"$)
If esteTag.Get(3) <> "0" Then If esteTag.Get(3) <> "0" Then
Log("VENDIDO") Log("VENDIDO")
borraProdVenta(esteTag.Get(2)) borraProdVenta(esteTag.Get(2), esteTag.Get(5))
Else Else
Log("NO VENDIDO") Log("NO VENDIDO")
End If End If
@@ -1110,13 +1115,13 @@ Private Sub l_vendido_LongClick
Log($"|${esteTag.Get(3)}|"$) Log($"|${esteTag.Get(3)}|"$)
If esteTag.Get(3) <> "0" Then If esteTag.Get(3) <> "0" Then
Log("VENDIDO") Log("VENDIDO")
borraProdVenta(esteTag.Get(2)) borraProdVenta(esteTag.Get(2), esteTag.Get(5))
Else Else
Log("NO VENDIDO") Log("NO VENDIDO")
End If End If
End Sub End Sub
Sub borraProdVenta(prodId) Sub borraProdVenta(prodId As String, idAlmacen As String)
Private cant As Int = 0 Private cant As Int = 0
Private cliOrig As String = "" Private cliOrig As String = ""
Private RES As String = Msgbox2("Seguro que desea borrar este producto?","Borrar", "Si", "", "No",LoadBitmap(File.DirAssets,"alert2.png")) 'ignore Private RES As String = Msgbox2("Seguro que desea borrar este producto?","Borrar", "Si", "", "No",LoadBitmap(File.DirAssets,"alert2.png")) 'ignore
@@ -1132,8 +1137,8 @@ Sub borraProdVenta(prodId)
LogColor($"Hay prod con venta en VENTAS - ${prodId}, ${cant}"$, Colors.Blue) LogColor($"Hay prod con venta en VENTAS - ${prodId}, ${cant}"$, Colors.Blue)
Starter.skmt.ExecNonQuery($"update CAT_GUNAPROD set CAT_GP_ALMACEN = CAT_GP_ALMACEN + ${cant} where CAT_GP_ID = '${prodId}'"$) Starter.skmt.ExecNonQuery($"update CAT_GUNAPROD set CAT_GP_ALMACEN = CAT_GP_ALMACEN + ${cant} where CAT_GP_ID = '${prodId}'"$)
End If End If
Starter.skmt.ExecNonQuery($"update REPARTO set REP_CANT = REP_CANT + ${cant} where REP_RECHAZO = 1 and REP_PRODID = '${prodId}' and REP_CLIENTE = '${cliOrig}'"$) Starter.skmt.ExecNonQuery($"update REPARTO set REP_CANT = REP_CANT + ${cant} where REP_RECHAZO = 1 and REP_IDALMACEN = '${idAlmacen}' and REP_PRODID = '${prodId}' and REP_CLIENTE = '${cliOrig}'"$)
Starter.skmt.ExecNonQuery($"update REPARTO set REP_CANT = REP_CANT - ${cant} where REP_RECHAZO = 0 and REP_PRODID = '${prodId}' and REP_CLIENTE = '${cliOrig}'"$) Starter.skmt.ExecNonQuery($"update REPARTO set REP_CANT = REP_CANT - ${cant} where REP_RECHAZO = 0 and REP_IDALMACEN = '${idAlmacen}' and REP_PRODID = '${prodId}' and REP_CLIENTE = '${cliOrig}'"$)
Starter.skmt.ExecNonQuery($"delete from VENTAS where V_PRODID = '${prodId}' and V_CLIENTE_ORIG = '${cliOrig}' and V_CLIENTE in (select CUENTA from CUENTAA)"$) Starter.skmt.ExecNonQuery($"delete from VENTAS where V_PRODID = '${prodId}' and V_CLIENTE_ORIG = '${cliOrig}' and V_CLIENTE in (select CUENTA from CUENTAA)"$)
B4XPages.ShowPage("Cliente") B4XPages.ShowPage("Cliente")
End If End If

Binary file not shown.

Binary file not shown.

Binary file not shown.

File diff suppressed because it is too large Load Diff

View File

@@ -68,13 +68,13 @@ ModuleClosedNodes16=
ModuleClosedNodes17= ModuleClosedNodes17=
ModuleClosedNodes18= ModuleClosedNodes18=
ModuleClosedNodes19= ModuleClosedNodes19=
ModuleClosedNodes2= ModuleClosedNodes2=2
ModuleClosedNodes20= ModuleClosedNodes20=
ModuleClosedNodes21= ModuleClosedNodes21=
ModuleClosedNodes22= ModuleClosedNodes22=
ModuleClosedNodes23= ModuleClosedNodes23=
ModuleClosedNodes24= ModuleClosedNodes24=
ModuleClosedNodes25= ModuleClosedNodes25=2,4
ModuleClosedNodes26= ModuleClosedNodes26=
ModuleClosedNodes27= ModuleClosedNodes27=
ModuleClosedNodes28= ModuleClosedNodes28=
@@ -85,6 +85,6 @@ ModuleClosedNodes6=
ModuleClosedNodes7= ModuleClosedNodes7=
ModuleClosedNodes8= ModuleClosedNodes8=
ModuleClosedNodes9= ModuleClosedNodes9=
NavigationStack=B4XMainPage,B4XPage_Created,141,3,DBRequestManager,ExecuteCommand,54,0,C_Principal,JobDone,1164,3,C_picking,B4XPage_Appear,139,0,C_picking,Class_Globals,43,0,C_picking,mandapicking,515,6,C_picking,b_guardapicking_Click,500,1,C_Principal,trabajar_Click,432,0,C_Principal,B4XPage_Appear,386,0,C_Principal,checachek,411,6,B4XMainPage,B4XPage_Appear,192,0 NavigationStack=C_Principal,JobDone,857,0,Visual Designer,cliente.bal,-100,6,C_DetalleVenta,B4XPage_Appear,114,0,Subs,fechaKMT,67,0,C_Productos,b_prodMas_Click,973,0,C_Productos,CreateListItem,892,0,C_Productos,llenaProductos,844,0,C_NoVenta,GUARDA_Click,91,4,C_Principal,B4XPage_Appear,356,3,C_Principal,Subir_Click,541,4,C_DetalleVenta,cuentaProds,472,0
SelectedBuild=0 SelectedBuild=0
VisibleModules=1,2,16,3,4,5,6,7,8,9 VisibleModules=26,2,16,5,8,27,6,17,12

View File

@@ -113,13 +113,17 @@ Sub Activity_Create(FirstTime As Boolean)
End Sub End Sub
Sub MapFragment1_Ready Sub MapFragment1_Ready
' Msgbox("111","AVISO")
gmap = MapFragment1.GetMap gmap = MapFragment1.GetMap
gmap.IsInitialized gmap.IsInitialized
'todos= 1 'todos= 1
'permisos 'permisos
' Msgbox("11","AVISO")
If gmap.IsInitialized Then ' Esto es para capturar el "clic largo" de la etiqueta de los marcadores.
Dim jo As JavaObject = gmap
Dim event As Object = jo.CreateEventFromUI("com.google.android.gms.maps.GoogleMap.OnInfoWindowLongClickListener", "InfoWindowLongClick", Null)
jo.RunMethod("setOnInfoWindowLongClickListener", Array(event))
End If
rp.CheckAndRequest(rp.PERMISSION_ACCESS_FINE_LOCATION) rp.CheckAndRequest(rp.PERMISSION_ACCESS_FINE_LOCATION)
Wait For Activity_PermissionResult (Permission As String, Result As Boolean) Wait For Activity_PermissionResult (Permission As String, Result As Boolean)
@@ -129,14 +133,12 @@ Sub MapFragment1_Ready
JavaMapsObject = gmap.GetUiSettings JavaMapsObject = gmap.GetUiSettings
JavaMapsObject.RunMethod("setMapToolbarEnabled", Array As Object(True)) JavaMapsObject.RunMethod("setMapToolbarEnabled", Array As Object(True))
' Msgbox("12","AVISO")
'''''''----------------------------MARKER AZUL - POR ENTREGAR '''''''----------------------------MARKER AZUL - POR ENTREGAR
Private esteAzul As Int = 0 Private esteAzul As Int = 0
Private esteAzul2 As String Private esteAzul2 As String
If azul = 1 Or todos = 1 Then If azul = 1 Or todos = 1 Then
c.IsInitialized c.IsInitialized
c=Starter.skmt.ExecQuery("select CAT_CL_CODIGO, SECUENCIA, CAT_CL_NOMBRE, CAT_CL_LAT, CAT_CL_LONG, CAT_CL_RUTA from kmt_info where gestion = 0 and CAT_CL_LAT is not null and CAT_CL_LONG is not null and CAT_CL_LAT <> 0 and CAT_CL_LONG <> 0 order by CAT_CL_RUTA") c = Starter.skmt.ExecQuery("select CAT_CL_CODIGO, SECUENCIA, CAT_CL_NOMBRE, CAT_CL_LAT, CAT_CL_LONG, CAT_CL_RUTA from kmt_info where gestion = 0 and CAT_CL_LAT <> 'null' and CAT_CL_LAT is not null and CAT_CL_LONG is not null and CAT_CL_LAT <> 0 and CAT_CL_LONG <> 0 order by CAT_CL_RUTA")
' Msgbox("2","AVISO") ' Msgbox("2","AVISO")
rutaAnt = "" rutaAnt = ""
For i = 0 To c.RowCount -1 For i = 0 To c.RowCount -1
@@ -162,7 +164,7 @@ Sub MapFragment1_Ready
c .Close c .Close
If MARK_AZUL.IsInitialized Then LIST_AZUL.Add(MARK_AZUL) If MARK_AZUL.IsInitialized Then LIST_AZUL.Add(MARK_AZUL)
End If End If
' Msgbox("3","AVISO")
'''''''----------------------------MARKER VERDE- ENTREGADO '''''''----------------------------MARKER VERDE- ENTREGADO
If verde = 1 Or todos = 1 Then If verde = 1 Or todos = 1 Then
@@ -201,6 +203,7 @@ Sub MapFragment1_Ready
End If End If
' '''''''----------------------------MARKER ROJO - NO ENTREGADO ' '''''''----------------------------MARKER ROJO - NO ENTREGADO
Private esteRojo As Int = 0 Private esteRojo As Int = 0
Private esteRojo2 As String Private esteRojo2 As String
If rojo = 1 Or todos = 1 Then If rojo = 1 Or todos = 1 Then
@@ -261,6 +264,27 @@ Sub OnInfoWindowClickListener1_click(Marker1 As Marker)
B4XPages.ShowPage("Cliente") B4XPages.ShowPage("Cliente")
End Sub End Sub
'Evento del clic largo de la etiqueta del marcador.
Sub InfoWindowLongClick_Event (MethodName As String, Args() As Object) As Object
Dim m As Marker = Args(0)
Log(m.Snippet)
Log($"Marker: ${m.Title} was long clicked"$)
Private RES As String = Msgbox2($"¿Quieres usar la tienda ${m.Title} como tu punto de inicio?"$, "Punto de inicio", "SI", "", "NO", Null)
If RES = DialogResponse.POSITIVE Then
Private t As ResultSet = Starter.skmt.ExecQuery($"select cat_cl_lat, cat_cl_long from kmt_info where cat_cl_codigo = '${m.Title}'"$)
Do While t.NextRow
Starter.inicioMapa = True
Log($"${m.Title}, ${t.GetString("CAT_CL_LAT")}, ${t.GetString("CAT_CL_LONG")}"$)
Starter.inicioLat = t.GetString("CAT_CL_LAT") + 0.000001
Starter.inicioLon= t.GetString("CAT_CL_LONG") + 0.000001
B4XPages.ShowPage("clientes")
B4XPages.MainPage.clientes.caculaRutaGPS(B4XPages.MainPage.clientes.todosAVisitar)
B4XPages.ShowPage("clientes")
Loop
End If
Return Null
End Sub
Sub GPS_LocationChanged (Parametro As Location) Sub GPS_LocationChanged (Parametro As Location)
'MARK_CEDIS.IsInitialized 'MARK_CEDIS.IsInitialized
' Dim sp As Int ' Dim sp As Int
@@ -329,5 +353,3 @@ Sub B_AZUL_Click
gmap.Clear gmap.Clear
MapFragment1_Ready MapFragment1_Ready
End Sub End Sub

View File

@@ -37,6 +37,9 @@ Sub Process_Globals
' Dim server As String = "http://11.0.0.222:1782" ' Dim server As String = "http://11.0.0.222:1782"
Dim muestraProgreso = 0 Dim muestraProgreso = 0
Dim c As Cursor Dim c As Cursor
Dim inicioMapa As Boolean = False
Dim inicioLat As Double = 0
Dim inicioLon As Double = 0
End Sub End Sub
Sub Service_Create Sub Service_Create
@@ -130,11 +133,6 @@ Sub ENVIA_ULTIMA_GPS
End If End If
End Sub End Sub
Sub IsConnectedToInternet As Boolean 'ignore Sub IsConnectedToInternet As Boolean 'ignore
Dim r As Reflector Dim r As Reflector
r.Target = r.GetContext r.Target = r.GetContext
@@ -147,7 +145,7 @@ Sub IsConnectedToInternet As Boolean 'ignore
End Sub End Sub
Sub JobDone(Job As HttpJob) Sub JobDone(Job As HttpJob)
' LogColor("starter jobdone", Colors.Red) Log("JobDone Starter: " & Job.Success)
' Log(Job.ErrorMessage) ' Log(Job.ErrorMessage)
' Private r As DBResult = reqManager.HandleJob(Job) ' Private r As DBResult = reqManager.HandleJob(Job)
If Job.Success = False Then If Job.Success = False Then

View File

@@ -71,7 +71,7 @@ Sub fechaKMT(fecha As String) As String 'ignore
DateTime.DateFormat="yyMMddHHmmss" DateTime.DateFormat="yyMMddHHmmss"
Dim nuevaFecha As String=DateTime.Date(fecha) Dim nuevaFecha As String=DateTime.Date(fecha)
DateTime.DateFormat=OrigFormat 'return to orig date format DateTime.DateFormat=OrigFormat 'return to orig date format
' Log(nuevaFecha) Log(nuevaFecha)
Return nuevaFecha Return nuevaFecha
End Sub End Sub
@@ -695,14 +695,15 @@ Sub traeMaxCantidad(cliente As String, prodId As String) As Int
End Sub End Sub
'Ponemos venta de producto en la tabla de Reparto. 'Ponemos venta de producto en la tabla de Reparto.
Sub prodVenta(clienteOriginal As String, prodId As String) Sub prodVenta(clienteOriginal As String, prodId As String, idAlmacen As String)
' Log("RECHAZO VENTA") ' Log("RECHAZO VENTA")
Private precio As String = traePrecio(prodId, 1) Private precio As String = traePrecio(prodId, 1)
Starter.skmt.ExecNonQuery($"update reparto set REP_CANT = REP_CANT - 1 where REP_CLIENTE = '${clienteOriginal}' and REP_CLI_ORIG = '${clienteOriginal}' and REP_RECHAZO = 1 and REP_PRODID = '${prodId}'"$) Starter.skmt.ExecNonQuery($"update reparto set REP_CANT = REP_CANT - 1 where REP_CLIENTE = '${clienteOriginal}' and REP_IDALMACEN = '${idAlmacen}' and REP_CLI_ORIG = '${clienteOriginal}' and REP_RECHAZO = 1 and REP_PRODID = '${prodId}'"$)
Starter.skmt.ExecNonQuery($"update reparto set REP_CANT = REP_CANT + 1 where REP_CLIENTE in (Select CUENTA from cuentaa) and REP_CLI_ORIG = '${clienteOriginal}' and REP_RECHAZO = 0 and REP_PRODID = '${prodId}'"$) Starter.skmt.ExecNonQuery($"update reparto set REP_CANT = REP_CANT + 1 where REP_CLIENTE in (Select CUENTA from cuentaa) and REP_IDALMACEN = '${idAlmacen}' and REP_CLI_ORIG = '${clienteOriginal}' and REP_RECHAZO = 0 and REP_PRODID = '${prodId}'"$)
Log($"update reparto set REP_CANT = REP_CANT - 1 where REP_CLIENTE = '${clienteOriginal}' and REP_CLI_ORIG = '${clienteOriginal}' and REP_RECHAZO = 1 and REP_PRODID = '${prodId}'"$) Log($"update reparto set REP_CANT = REP_CANT - 1 where REP_CLIENTE = '${clienteOriginal}' and REP_IDALMACEN = '${idAlmacen}' and REP_CLI_ORIG = '${clienteOriginal}' and REP_RECHAZO = 1 and REP_PRODID = '${prodId}'"$)
Log($"update reparto set REP_CANT = REP_CANT + 1 where REP_CLIENTE in (Select CUENTA from cuentaa) and REP_CLI_ORIG = '${clienteOriginal}' and REP_RECHAZO = 0 and REP_PRODID = '${prodId}'"$) Log($"update reparto set REP_CANT = REP_CANT + 1 where REP_CLIENTE in (Select CUENTA from cuentaa) and REP_IDALMACEN = '${idAlmacen}' and REP_CLI_ORIG = '${clienteOriginal}' and REP_RECHAZO = 0 and REP_PRODID = '${prodId}'"$)
Starter.skmt.ExecNonQuery($"update reparto set REP_COSTO_TOT = REP_CANT * ${precio}, REP_PRECIO = '${precio}' where REP_CLIENTE in (Select CUENTA from cuentaa) and REP_CLI_ORIG = '${clienteOriginal}' and REP_RECHAZO = 0 and REP_PRODID = '${prodId}'"$) Starter.skmt.ExecNonQuery($"update reparto set REP_COSTO_TOT = REP_CANT * ${precio}, REP_PRECIO = '${precio}' where REP_CLIENTE in (Select CUENTA from cuentaa) and REP_IDALMACEN = '${idAlmacen}' and REP_CLI_ORIG = '${clienteOriginal}' and REP_RECHAZO = 0 and REP_PRODID = '${prodId}'"$)
Log($"update reparto set REP_COSTO_TOT = REP_CANT * ${precio}, REP_PRECIO = '${precio}' where REP_CLIENTE in (Select CUENTA from cuentaa) and REP_IDALMACEN = '${idAlmacen}' and REP_CLI_ORIG = '${clienteOriginal}' and REP_RECHAZO = 0 and REP_PRODID = '${prodId}'"$)
' Private pu As String = 0 ' Private pu As String = 0
' Private cant As Int = 0 ' Private cant As Int = 0
@@ -726,9 +727,9 @@ Sub prodVenta(clienteOriginal As String, prodId As String)
End Sub End Sub
'Ponemos rechazo de producto en la tabla de Reparto. 'Ponemos rechazo de producto en la tabla de Reparto.
Sub prodRechazo(clienteOriginal As String, prodId As String) Sub prodRechazo(clienteOriginal As String, prodId As String, idAlmacen As String)
Log("RECHAZO DEVOLUCION") Log("RECHAZO DEVOLUCION")
Private rr As Cursor = Starter.skmt.ExecQuery($"select count(REP_CLIENTE) as hayRechazo from REPARTO where rep_prodid = '${prodId}' and REP_CLIENTE in (Select CUENTA from cuentaa)"$) Private rr As Cursor = Starter.skmt.ExecQuery($"select count(REP_CLIENTE) as hayRechazo from REPARTO where rep_prodid = '${prodId}' and REP_IDALMACEN = '${idAlmacen}' and REP_CLIENTE in (Select CUENTA from cuentaa)"$)
rr.Position = 0 rr.Position = 0
If rr.GetString("hayRechazo") = 0 Then If rr.GetString("hayRechazo") = 0 Then
Log("INSERTAMOS EN REPARTO") Log("INSERTAMOS EN REPARTO")
@@ -739,18 +740,20 @@ Sub prodRechazo(clienteOriginal As String, prodId As String)
chv.Position = 0 chv.Position = 0
' Log($"CANT=${chv.GetString("HVD_CANT")}"$) ' Log($"CANT=${chv.GetString("HVD_CANT")}"$)
Private precio As String = traePrecio(prodId, 1) Private precio As String = traePrecio(prodId, 1)
Starter.skmt.ExecNonQuery2("insert into reparto(REP_CLIENTE, REP_PRONOMBRE, REP_CANT, REP_COSTO_TOT, REP_FECHA, REP_RECHAZO, REP_PRODID, REP_PRECIO, REP_CLI_ORIG) VALUES (?,?,?,?,?,1,?,?,?) ", Array As String(traeCliente, chv.GetString("HVD_PRONOMBRE"), 1, precio, chv.GetString("HVD_FECHA"), prodId, precio, traeCliente)) Starter.skmt.ExecNonQuery2("insert into reparto(REP_CLIENTE, REP_PRONOMBRE, REP_CANT, REP_COSTO_TOT, REP_FECHA, REP_RECHAZO, REP_PRODID, REP_PRECIO, REP_CLI_ORIG, REP_IDALMACEN) VALUES (?,?,?,?,?,1,?,?,?,?) ", Array As String(traeCliente, chv.GetString("HVD_PRONOMBRE"), 1, precio, chv.GetString("HVD_FECHA"), prodId, precio, traeCliente, idAlmacen))
Starter.skmt.ExecNonQuery2("insert into reparto(REP_CLIENTE, REP_PRONOMBRE, REP_CANT, REP_COSTO_TOT, REP_FECHA, REP_RECHAZO, REP_PRODID, REP_PRECIO, REP_CLI_ORIG) VALUES (?,?,?,?,?,0,?,?,?) ", Array As String(traeCliente, chv.GetString("HVD_PRONOMBRE"), chv.GetString("HVD_CANT") - 1, (chv.GetString("HVD_CANT") - 1) * precio, chv.GetString("HVD_FECHA"), prodId, precio, traeCliente)) Starter.skmt.ExecNonQuery2("insert into reparto(REP_CLIENTE, REP_PRONOMBRE, REP_CANT, REP_COSTO_TOT, REP_FECHA, REP_RECHAZO, REP_PRODID, REP_PRECIO, REP_CLI_ORIG, REP_IDALMACEN) VALUES (?,?,?,?,?,0,?,?,?,?) ", Array As String(traeCliente, chv.GetString("HVD_PRONOMBRE"), chv.GetString("HVD_CANT") - 1, (chv.GetString("HVD_CANT") - 1) * precio, chv.GetString("HVD_FECHA"), prodId, precio, traeCliente, idAlmacen))
Starter.skmt.ExecNonQuery($"update HIST_VENTAS set HVD_PARCIAL = 1, HVD_CANT = 0, HVD_COSTO_TOT = '0' where HVD_PROID = '${prodId}' and HVD_CLIENTE in (Select CUENTA from cuentaa)"$) Log($"Insertamos a Reparto -> (${traeCliente}, ${chv.GetString("HVD_PRONOMBRE")}, ${precio}, ${chv.GetString("HVD_FECHA")}, ${prodId}, ${precio}, ${traeCliente}, ${idAlmacen}))"$)
Log($"Insertamos a Reparto -> (${traeCliente}, ${chv.GetString("HVD_PRONOMBRE")}, ${chv.GetString("HVD_CANT")} - 1, (${chv.GetString("HVD_CANT")} - 1) * ${precio}, ${chv.GetString("HVD_FECHA")}, ${prodId}, ${precio}, ${traeCliente}, ${idAlmacen})))"$)
Starter.skmt.ExecNonQuery($"update HIST_VENTAS set HVD_PARCIAL = 1, HVD_CANT = 0, HVD_COSTO_TOT = '0' where HVD_PROID = '${prodId}' and HVD_IDALMACEN = '${idAlmacen}' and HVD_CLIENTE in (Select CUENTA from cuentaa)"$)
End If End If
Else Else
Log($"ACTUALIZAMOS REPARTO"$) Log($"ACTUALIZAMOS REPARTO"$)
Private precio As String = traePrecio(prodId, 1) Private precio As String = traePrecio(prodId, 1)
Starter.skmt.ExecNonQuery2("update HIST_VENTAS set HVD_PARCIAL = 1, HVD_CANT = 0, HVD_COSTO_TOT = '0' WHERE HVD_PROID = ? and HVD_CLIENTE in (Select CUENTA from cuentaa)", Array As String(prodId)) Starter.skmt.ExecNonQuery2("update HIST_VENTAS set HVD_PARCIAL = 1, HVD_CANT = 0, HVD_COSTO_TOT = '0' WHERE HVD_PROID = ? and HVD_IDALMACEN = ? and HVD_CLIENTE in (Select CUENTA from cuentaa)", Array As String(prodId, idAlmacen))
Starter.skmt.ExecNonQuery($"update reparto set REP_CANT = REP_CANT + 1 where REP_CLIENTE = '${clienteOriginal}' and REP_CLI_ORIG = '${clienteOriginal}' and REP_RECHAZO = 1 and REP_PRODID = '${prodId}'"$) Starter.skmt.ExecNonQuery($"update reparto set REP_CANT = REP_CANT + 1 where REP_CLIENTE = '${clienteOriginal}' and REP_IDALMACEN = '${idAlmacen}' and REP_CLI_ORIG = '${clienteOriginal}' and REP_RECHAZO = 1 and REP_PRODID = '${prodId}'"$)
Starter.skmt.ExecNonQuery($"update reparto set REP_CANT = REP_CANT - 1 where REP_CLIENTE in (Select CUENTA from cuentaa) and REP_CLI_ORIG = '${clienteOriginal}' and REP_RECHAZO = 0 and REP_PRODID = '${prodId}'"$) Starter.skmt.ExecNonQuery($"update reparto set REP_CANT = REP_CANT - 1 where REP_CLIENTE in (Select CUENTA from cuentaa) and REP_IDALMACEN = '${idAlmacen}' and REP_CLI_ORIG = '${clienteOriginal}' and REP_RECHAZO = 0 and REP_PRODID = '${prodId}'"$)
' Log($"update reparto set REP_CANT = REP_CANT + 1 where REP_CLIENTE = '${clienteOriginal}' and REP_CLI_ORIG = '${clienteOriginal}' and REP_RECHAZO = 1 and REP_PRODID = '${prodId}'"$) Log($"update reparto set REP_CANT = REP_CANT + 1 where REP_CLIENTE = '${clienteOriginal}' and REP_IDALMACEN = '${idAlmacen}' and REP_CLI_ORIG = '${clienteOriginal}' and REP_RECHAZO = 1 and REP_PRODID = '${prodId}'"$)
' Log($"update reparto set REP_CANT = REP_CANT - 1 where REP_CLIENTE in (Select CUENTA from cuentaa) and REP_CLI_ORIG = '${clienteOriginal}' and REP_RECHAZO = 0 and REP_PRODID = '${prodId}'"$) Log($"update reparto set REP_CANT = REP_CANT - 1 where REP_CLIENTE in (Select CUENTA from cuentaa) and REP_IDALMACEN = '${idAlmacen}' and REP_CLI_ORIG = '${clienteOriginal}' and REP_RECHAZO = 0 and REP_PRODID = '${prodId}'"$)
Starter.skmt.ExecNonQuery($"update reparto set REP_COSTO_TOT = REP_CANT * ${precio}, REP_PRECIO = '${precio}' where REP_CLIENTE in (Select CUENTA from cuentaa) and REP_CLI_ORIG = '${clienteOriginal}' and REP_PRODID = '${prodId}'"$) Starter.skmt.ExecNonQuery($"update reparto set REP_COSTO_TOT = REP_CANT * ${precio}, REP_PRECIO = '${precio}' where REP_CLIENTE in (Select CUENTA from cuentaa) and REP_CLI_ORIG = '${clienteOriginal}' and REP_PRODID = '${prodId}'"$)
End If End If
End Sub End Sub
@@ -875,3 +878,52 @@ Sub agregaColumna(tabla As String, columna As String, tipo As String)
End Try End Try
End Try End Try
End Sub End Sub
'Regresa la ruta actual de la base de datos.
Sub traeRutaReparto As String 'ignore
Private c As Cursor
Private r As String
c=Starter.skmt.ExecQuery("select RUTAA from RUTAA")
r = "0"
If c.RowCount > 0 Then
c.Position=0
r = c.GetString("RUTAA")
End If
c.Close
Return r
End Sub
'Regresa el almacen actual de la base de datos.
Sub traeAlmacen As String 'ignore
Private c As Cursor
Private a As String
c = Starter.skmt.ExecQuery("select ID_ALMACEN from CAT_ALMACEN")
c.Position = 0
a = C.GetString("ID_ALMACEN")
c.Close
Return a
End Sub
'Trae el algoritmo a utilizar para el ruteo dinamico.
Sub traeAlgoritmoRuteo As String
Private a As String = "NN"
Private r As ResultSet = Starter.skmt.ExecQuery("select CAT_VA_VALOR from CAT_VARIABLES where CAT_VA_DESCRIPCION = 'ALGORITMO_RUTEO'")
Do While r.NextRow
If r.GetString("CAT_VA_VALOR") = "Nearest Insertion" Then a = "NI"
Loop
r.close
Log("|" & a & "|")
Return a
End Sub
'Trae la matriz a utilizar para el ruteo dinamico.
Sub traeMatrizRuteo As String
Private m As String = "LOCAL"
Private r As ResultSet = Starter.skmt.ExecQuery("select CAT_VA_VALOR from CAT_VARIABLES where CAT_VA_DESCRIPCION = 'MATRIZ_RUTEO'")
Do While r.NextRow
If r.GetString("CAT_VA_VALOR") = "OSRM" Then m = "OSRM"
Loop
r.close
Log("|" & m & "|")
Return m
End Sub