mirror of
https://github.com/KeymonSoft/Guna_Preventa.git
synced 2026-04-20 14:19:25 +00:00
Version 4.08.18.EP_d
Se agregaron las funciones de Bitacora GPS Se agrego el boton de Inicio / Fin Venta La bitacora GPS guarda La hora de cargar dia, al darle fin dia tambien guarda su venta.
This commit is contained in:
150
B4A/Subs.bas
150
B4A/Subs.bas
@@ -202,6 +202,16 @@ Sub revisaBD 'ignore
|
||||
errorLog.ExecNonQuery("CREATE TABLE IF NOT EXISTS errores(fecha INTEGER, error TEXT)")
|
||||
End Sub
|
||||
|
||||
Sub fechanormal(fecha As String) As String 'ignore
|
||||
' Log(fecha)
|
||||
Dim OrigFormat As String = DateTime.DateFormat 'save orig date format
|
||||
DateTime.DateFormat = "YYYY/MM/dd HH:mm:ss"
|
||||
Dim nuevaFecha As String=DateTime.Date(fecha)
|
||||
DateTime.DateFormat = OrigFormat 'return to orig date format
|
||||
' Log(nuevaFecha)
|
||||
Return nuevaFecha
|
||||
End Sub
|
||||
|
||||
'Obtiene el ssid al que esta conectado el telefono
|
||||
Sub getSSID 'ignore
|
||||
' 'Requiere la libreria "MLWifi400"
|
||||
@@ -423,10 +433,16 @@ End Sub
|
||||
'Borramos renglones extra de la tabla de bitacora
|
||||
Sub borraArribaDe600RenglonesBitacora 'ignore
|
||||
revisaBD
|
||||
LogColor("Borramos BD de log", Colors.Magenta)
|
||||
kmt.ExecNonQuery("DELETE FROM bitacora WHERE fecha NOT in (SELECT fecha FROM bitacora ORDER BY fecha desc LIMIT 599 )")
|
||||
kmt.ExecNonQuery("vacuum;")
|
||||
Log("Borramos mas de 600 de bitacora")
|
||||
If Starter.logger Then LogColor("Recortamos la tabla de la Bitacora, limite de 600", Colors.Magenta)
|
||||
Private c As Cursor
|
||||
c = B4XPages.MainPage.skmt.ExecQuery("select fecha from bitacora")
|
||||
c.Position = 0
|
||||
If c.RowCount > 650 Then
|
||||
B4XPages.MainPage.skmt.ExecNonQuery("DELETE FROM bitacora WHERE fecha NOT in (SELECT fecha FROM bitacora ORDER BY fecha desc LIMIT 599 )")
|
||||
B4XPages.MainPage.skmt.ExecNonQuery("vacuum;")
|
||||
' if starter.logger then Log("Borramos mas de 600 de bitacora")
|
||||
End If
|
||||
c.Close
|
||||
End Sub
|
||||
|
||||
'Inserta 50 renglones de prueba a la tabla "errores"
|
||||
@@ -1207,3 +1223,129 @@ Sub vendidoPromoEsp As Boolean
|
||||
Log(w)
|
||||
Return w
|
||||
End Sub
|
||||
|
||||
|
||||
'En geocerca si mete la contraseña poner 0 en precision gps y si esta dentro de los 50 mts poner 1 y 2 para eventos que no lo ocupen
|
||||
'Mandar fecha de sync(sysdate)
|
||||
Sub bitacora(fechab As String, usuariob As String, almacenb As String, rutab As String, eventob As String, clienteb As String, iniciob As String, finb As String, latitudb As String, longitudb As String, precision As String, motivonoventa As String, motivonovisita As String )
|
||||
Log(motivonovisita)
|
||||
Log("bitacora")
|
||||
Private cmd As DBCommand
|
||||
cmd.Initialize
|
||||
cmd.Name = "mandaBitacora3"
|
||||
Log("BITACORA3")
|
||||
Private nombreCliente As String = traeNombreCliente(clienteb)
|
||||
If eventob = "Llega a almacen" Then
|
||||
nombreCliente = "BOLETA"
|
||||
clienteb = ""
|
||||
finb = iniciob
|
||||
End If
|
||||
If eventob = "Salida almacen" Then nombreCliente = "CHECKLIST"
|
||||
If eventob = "Fin Día" Then nombreCliente = "FIN DIA"
|
||||
If eventob = "Carga día" Then nombreCliente = "CARGA DIA"
|
||||
If eventob <> "Termina Venta" And eventob <> "No Venta" Then
|
||||
B4XPages.MainPage.skmt.ExecNonQuery($"INSERT INTO BITACORAGPS (fechab, usuariob , almacenb , rutab , eventob , clienteb , iniciob , finb , latitudb, longitudb , precision , motivonoventa , motivonovisita) VALUES ('${fechab}' ,'${usuariob}' , '${almacenb}' , '${rutab}' , '${eventob}' , '${clienteb}' , '${iniciob}' , '${finb}' , '${latitudb}' , '${longitudb}' , '${precision}' , '${motivonoventa}' , '${motivonovisita}')"$)
|
||||
Log($"'${almacenb}', '${usuariob}', '${rutab}', '${eventob}', '${clienteb}', '${nombreCliente}','${ iniciob}', '${finb}','${ latitudb}','${ longitudb}', '${precision}', '${motivonoventa}', '${motivonovisita}', '${fechab}'"$)
|
||||
' TMP_ALMACEN, TMP_USUARIO, TMP_RUTA, TMP_EVENTO, TMP_ID_CLIENTE, TMP_NOMBRE_CLIENTE, TMP_INICIO, TMP_FINAL, TMP_LATITUD, TMP_LONGITUD, TMP_PRESICION, TMP_MOTIVO_NO_VENTA, TMP_MOTIVO_NO_VISITA, TMP_FECHA_SINC, TMP_FECHA_MOVIL
|
||||
' cmd.Parameters = Array As Object(almacenb, usuariob, rutab, eventob, clienteb, nombreCliente, iniciob, finb, latitudb, longitudb, precision, motivonoventa, motivonovisita, fechab)
|
||||
' Starter.reqManager.ExecuteCommand(cmd , "mandaBitacora")
|
||||
Else
|
||||
Private e As Cursor = B4XPages.MainPage.skmt.ExecQuery($"select fechab from BITACORAGPS where usuariob = '${usuariob}' and almacenb = '${almacenb}' and rutab = '${rutab}' and clienteb = '${clienteb}' and eventob = 'Inicia Venta' order by fechab desc"$)
|
||||
' TMP_RUTA = (?) And tmp_almacen = (?) And tmp_usuario = (?) And tmp_id_cliente = (?) And tmp_evento = (?) And tmp_fecha_movil = to_date((?),'YYYY/MM/DD HH24:MI:ss')
|
||||
If e.RowCount > 0 Then
|
||||
e.Position = 0
|
||||
Log("ACTUALIZA BITACORA")
|
||||
If eventob = "Termina Venta" Then
|
||||
B4XPages.MainPage.skmt.ExecNonQuery($"update BITACORAGPS set finb = '${finb}' where rutab = '${rutab}' and almacenb = '${almacenb}' and usuariob = '${usuariob}' and clienteb = '${clienteb}' and fechab = '${e.GetString("fechab")}' "$)
|
||||
' cmd.Name = "actualizaSalidaBitacora"
|
||||
' TMP_FINAL = to_date((?),'YYYY/MM/DD HH24:MI:ss') where TMP_RUTA = (?) and tmp_almacen = (?) and tmp_usuario = (?) and tmp_id_cliente = (?) and tmp_evento = (?) and tmp_fecha_movil = to_date((?),'YYYY/MM/DD HH24:MI:ss');
|
||||
cmd.Parameters = Array As Object(finb, rutab, almacenb, usuariob, clienteb, "Inicia Venta", e.GetString("fechab"))
|
||||
' Log($"${finb}, ${rutab}, ${almacenb}, ${usuariob}, ${clienteb}, 'Inicia Venta', ${e.GetString("fechab")}, "$)
|
||||
' Starter.reqManager.ExecuteCommand(cmd , "mandaBitacora")
|
||||
else if eventob = "No Venta" Then
|
||||
B4XPages.MainPage.skmt.ExecNonQuery($"update BITACORAGPS set finb = '${finb}', motivonoventa = '${motivonoventa}', motivonovisita = '${motivonovisita}' where rutab = '${rutab}' and almacenb = '${almacenb}' and usuariob = '${usuariob}' and clienteb = '${clienteb}' and fechab = '${e.GetString("fechab")}' "$)
|
||||
' cmd.Name = "actualizaNoVentaBitacora"
|
||||
' TMP_FINAL = to_date((?),'YYYY/MM/DD HH24:MI:ss'), TMP_MOTIVO_NO_VENTA = (?), TMP_MOTIVO_NO_VISITA = (?) where TMP_RUTA = (?) and tmp_almacen = (?) and tmp_usuario = (?) and tmp_id_cliente = (?) and tmp_evento = (?) and tmp_fecha_movil = to_date((?),'YYYY/MM/DD HH24:MI:ss')
|
||||
cmd.Parameters = Array As Object(finb, motivonoventa, motivonovisita, rutab, almacenb, usuariob, clienteb, "Inicia Venta", e.GetString("fechab"))
|
||||
' Log($"${finb}, ${rutab}, ${almacenb}, ${usuariob}, ${clienteb}, 'Inicia Venta', ${e.GetString("fechab")}, "$)
|
||||
' Starter.reqManager.ExecuteCommand(cmd , "mandaBitacora")
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
If eventob <> "Inicia Venta" Then
|
||||
Private c As Cursor = B4XPages.MainPage.skmt.ExecQuery($"select * from BITACORAGPS where usuariob = '${usuariob}' and almacenb = '${almacenb}' and rutab = '${rutab}' and clienteb = '${clienteb}' order by fechab desc"$)
|
||||
If c.RowCount > 0 Then
|
||||
c.Position = 0
|
||||
cmd.Parameters = Array As Object(c.GetString("almacenb"), c.GetString("usuariob"), c.GetString("rutab"), c.GetString("eventob"), c.GetString("clienteb"), nombreCliente, c.GetString("iniciob"), c.GetString("finb"), c.GetString("latitudb"), c.GetString("longitudb"), c.GetString("precision"), c.GetString("motivonoventa"), c.GetString("motivonovisita"), c.GetString("fechab"))
|
||||
Starter.reqManager.ExecuteCommand(cmd , "mandaBitacora")
|
||||
End If
|
||||
End If
|
||||
Log("Mandamos bitacora")
|
||||
End Sub
|
||||
|
||||
'En geocerca si mete la contraseña poner 0 en precision gps y si esta dentro de los 50 mts poner 1 y 2 para eventos que no lo ocupen
|
||||
'Mandar fecha de sync(sysdate)
|
||||
Sub bitacoraX(fechab As String, usuariob As String, almacenb As String, rutab As String, eventob As String, clienteb As String, iniciob As String, finb As String, latitudb As String, longitudb As String, precision As String, motivonoventa As String, motivonovisita As String )
|
||||
Log("bitacora")
|
||||
B4XPages.MainPage.skmt.ExecNonQuery($"INSERT INTO BITACORAGPS (fechab, usuariob , almacenb , rutab , eventob , clienteb , iniciob , finb , latitudb, longitudb , precision , motivonoventa , motivonovisita) VALUES ('${fechab}' ,'${usuariob}' , '${almacenb}' , '${rutab}' , '${eventob}' , '${clienteb}' , '${iniciob}' , '${finb}' , '${latitudb}' , '${longitudb}' , '${precision}' , '${motivonoventa}' , '${motivonovisita}')"$)
|
||||
Private cmd As DBCommand
|
||||
cmd.Initialize
|
||||
If eventob <> "Termina Venta" And eventob <> "No Venta" Then
|
||||
cmd.Name = "mandaBitacora3"
|
||||
Log("BITACORA3")
|
||||
Private nombreCliente As String = traeNombreCliente(clienteb)
|
||||
If eventob = "Llega a almacen" Then
|
||||
nombreCliente = "BOLETA"
|
||||
clienteb = ""
|
||||
finb = iniciob
|
||||
End If
|
||||
If eventob = "Salida almacen" Then nombreCliente = "CHECKLIST"
|
||||
If eventob = "Fin Día" Then nombreCliente = "FIN DIA"
|
||||
If eventob = "Carga día" Then nombreCliente = "CARGA DIA"
|
||||
Log($"'${almacenb}', '${usuariob}', '${rutab}', '${eventob}', '${clienteb}', '${nombreCliente}','${ iniciob}', '${finb}','${ latitudb}','${ longitudb}', '${precision}', '${motivonoventa}', '${motivonovisita}', '${fechab}'"$)
|
||||
' TMP_ALMACEN, TMP_USUARIO, TMP_RUTA, TMP_EVENTO, TMP_ID_CLIENTE, TMP_NOMBRE_CLIENTE, TMP_INICIO, TMP_FINAL, TMP_LATITUD, TMP_LONGITUD, TMP_PRESICION, TMP_MOTIVO_NO_VENTA, TMP_MOTIVO_NO_VISITA, TMP_FECHA_SINC, TMP_FECHA_MOVIL
|
||||
cmd.Parameters = Array As Object(almacenb, usuariob, rutab, eventob, clienteb, nombreCliente, iniciob, finb, latitudb, longitudb, precision, motivonoventa, motivonovisita, fechab)
|
||||
Starter.reqManager.ExecuteCommand(cmd , "mandaBitacora")
|
||||
Else
|
||||
Private e As Cursor = B4XPages.MainPage.skmt.ExecQuery($"select fechab from BITACORAGPS where usuariob = '${usuariob}' and almacenb = '${almacenb}' and rutab = '${rutab}' and clienteb = '${clienteb}' and eventob = 'Inicia Venta' order by fechab desc"$)
|
||||
If e.RowCount > 0 Then
|
||||
e.Position = 0
|
||||
Log("ACTUALIZA BITACORA")
|
||||
If eventob = "Termina Venta" Then
|
||||
cmd.Name = "actualizaSalidaBitacora"
|
||||
' TMP_FINAL = to_date((?),'YYYY/MM/DD HH24:MI:ss') where TMP_RUTA = (?) and tmp_almacen = (?) and tmp_usuario = (?) and tmp_id_cliente = (?) and tmp_evento = (?) and tmp_fecha_movil = to_date((?),'YYYY/MM/DD HH24:MI:ss');
|
||||
cmd.Parameters = Array As Object(finb, rutab, almacenb, usuariob, clienteb, "Inicia Venta", e.GetString("fechab"))
|
||||
Log($"${finb}, ${rutab}, ${almacenb}, ${usuariob}, ${clienteb}, 'Inicia Venta', ${e.GetString("fechab")}, "$)
|
||||
Starter.reqManager.ExecuteCommand(cmd , "mandaBitacora")
|
||||
else if eventob = "No Venta" Then
|
||||
cmd.Name = "actualizaNoVentaBitacora"
|
||||
' TMP_FINAL = to_date((?),'YYYY/MM/DD HH24:MI:ss') where TMP_RUTA = (?) and tmp_almacen = (?) and tmp_usuario = (?) and tmp_id_cliente = (?) and tmp_evento = (?) and tmp_fecha_movil = to_date((?),'YYYY/MM/DD HH24:MI:ss');
|
||||
cmd.Parameters = Array As Object(finb, motivonoventa, motivonovisita, rutab, almacenb, usuariob, clienteb, "Inicia Venta", e.GetString("fechab"))
|
||||
Log($"${finb}, ${rutab}, ${almacenb}, ${usuariob}, ${clienteb}, 'Inicia Venta', ${e.GetString("fechab")}, "$)
|
||||
Starter.reqManager.ExecuteCommand(cmd , "mandaBitacora")
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
Log("Mandamos bitacora")
|
||||
End Sub
|
||||
|
||||
'Regresa el nombre del cliente del id dado.
|
||||
Sub traeNombreCliente(id As String) As String
|
||||
Private c As ResultSet = B4XPages.MainPage.skmt.ExecQuery($"select CAT_CL_NOMBRE from kmt_info2 where CAT_CL_CODIGO = '${id}'"$)
|
||||
Private n As String = "N/A"
|
||||
Do While c.NextRow
|
||||
n = c.GetString("CAT_CL_NOMBRE")
|
||||
Loop
|
||||
Return n
|
||||
End Sub
|
||||
|
||||
'Guarda el nombre de la pagina en base de datos la muestra.
|
||||
Sub iniciaActividad(ia As String)
|
||||
If ia <> "" And ia <> Null Then
|
||||
' If B4XPages.MainPage.logger Then LogColor($"Guardamos en BD '${ia}'"$, Colors.Yellow)
|
||||
B4XPages.MainPage.skmt.ExecNonQuery2("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = ?", Array As Object ("ULTIMOMODULO"))
|
||||
B4XPages.MainPage.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("ULTIMOMODULO", ia))
|
||||
B4XPages.ShowPage(ia)
|
||||
' If B4XPages.MainPage.logger Then LogColor("Iniciamos --> " & ia, Colors.Blue)
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Reference in New Issue
Block a user