From 628c38ca89f240478f0229cd799c96560c1e9c30 Mon Sep 17 00:00:00 2001 From: Jose Alberto Guerra Ugalde Date: Thu, 4 Apr 2024 11:13:02 -0600 Subject: [PATCH] - Bitacora (Proyecto GPS) completo --- B4A/C_Cliente.bas | 9 +++---- B4A/C_NoVenta.bas | 2 +- B4A/C_Principal.bas | 53 +++++++++++++++++++++++------------------ B4A/KelloggsV4.b4a | 2 +- B4A/KelloggsV4.b4a.meta | 6 ++--- B4A/Subs.bas | 19 ++++++++++++++- 6 files changed, 58 insertions(+), 33 deletions(-) diff --git a/B4A/C_Cliente.bas b/B4A/C_Cliente.bas index 266d859..f040550 100644 --- a/B4A/C_Cliente.bas +++ b/B4A/C_Cliente.bas @@ -4168,16 +4168,17 @@ End Sub Private Sub b_inicioFinVenta_Click If dentroDeGeocerca Then precision = 1 + motivoNoVenta = "" If Starter.enVenta Then - Subs.bitacora(Subs.fechanormal(DateTime.Now), usuario, Id_Almacen, ruta_tienda, "Termina Venta", la_cuenta.text, "", Subs.fechanormal(DateTime.Now), Starter.lat_gps, Starter.lon_gps, precision, motivoNoVenta, "") + Subs.bitacora(Subs.fechanormal(DateTime.Now), usuario, Id_Almacen, ruta_tienda, "Termina Venta", Subs.traeCliente, "", Subs.fechanormal(DateTime.Now), Starter.lat_gps, Starter.lon_gps, precision, motivoNoVenta, "") Starter.enVenta = False -' LogColor(">>>>>> EN VENTA: " & Starter.enVenta, Colors.red) + LogColor($">>>>>> TERMINA VENTA: ${Starter.enVenta} - ${Subs.traeCliente}"$, Colors.red) Subs.iniciaActividad("principal") B4XPages.ShowPageAndRemovePreviousPages("Principal") Else - Subs.bitacora(Subs.fechanormal(DateTime.Now),usuario, Id_Almacen, ruta_tienda, "Inicia Venta", la_cuenta.text, Subs.fechanormal(DateTime.Now), "", Starter.lat_gps, Starter.lon_gps, precision, motivoNoVenta, "") + Subs.bitacora(Subs.fechanormal(DateTime.Now), usuario, Id_Almacen, ruta_tienda, "Inicia Venta", Subs.traeCliente, Subs.fechanormal(DateTime.Now), "", Starter.lat_gps, Starter.lon_gps, precision, motivoNoVenta, "") Starter.enVenta = True -' LogColor(">>>>>> EN VENTA: " & Starter.enVenta, Colors.red) + LogColor($">>>>>> TERMINA VENTA: ${Starter.enVenta} - ${Subs.traeCliente}"$, Colors.red) End If b_inicioFinVenta.Visible = False End Sub diff --git a/B4A/C_NoVenta.bas b/B4A/C_NoVenta.bas index 4f1fb14..1ff3537 100644 --- a/B4A/C_NoVenta.bas +++ b/B4A/C_NoVenta.bas @@ -89,7 +89,7 @@ Sub GUARDA_Click usuario = Subs.traeUsuarioDeBD If B4XPages.MainPage.cliente.IsInitialized Then B4XPages.MainPage.cliente.motivoNoVenta = motivo - Subs.bitacora(Subs.fechanormal(DateTime.Now), usuario, Subs.traeAlmacen, Subs.traeRuta, "Termina Venta", Subs.traeUsuarioDeBD, "", Subs.fechanormal(DateTime.Now), Starter.lat_gps, Starter.lon_gps, B4XPages.MainPage.cliente.precision, motivo, "") + Subs.bitacora(Subs.fechanormal(DateTime.Now), usuario, Subs.traeAlmacen, Subs.traeRuta, "Termina Venta", Subs.traeCliente, "", Subs.fechanormal(DateTime.Now), Starter.lat_gps, Starter.lon_gps, B4XPages.MainPage.cliente.precision, motivo, "") Starter.enVenta = False End If DateTime.DateFormat = "MM/dd/yyyy" diff --git a/B4A/C_Principal.bas b/B4A/C_Principal.bas index 8260e1f..e41cddc 100644 --- a/B4A/C_Principal.bas +++ b/B4A/C_Principal.bas @@ -2477,49 +2477,41 @@ End Sub Sub B_PROXIMA_Click If horaentrada Then - Starter.skmt.ExecNonQuery("delete from CUENTAA") Starter.skmt.ExecNonQuery2("INSERT INTO CUENTAA VALUES (?)", Array As Object("0")) Starter.tipov = "ABORDO" B4XPages.ShowPage("Productos") - - Else - - + Else End If End Sub Sub horaentrada As Boolean - Dim periodo As Period periodo.Hours = 0 periodo.Minutes = 0 Dim newDate As Long = DateUtils.AddPeriod(DateTime.Now, periodo) Log(newDate) Log(DateUtils.TicksToString(newDate)) - Dim p2 As Period p2.Hours = 0 p2.Minutes = 20 DateTime.DateFormat = "MM/dd/yyyy HH:mm" Dim fecha2 As String = DateTime.Date(DateTime.Now) - Dim prueba2() As String = Regex.Split(" ",fecha2) - LogColor(prueba2(0),Colors.red) - Dim prueba3 As String = prueba2(0) &" "&"12:00" - LogColor(prueba3,Colors.Red) - Dim ticks2 As Long = DateTime.DateParse(prueba3) + Dim pr2() As String = Regex.Split(" ",fecha2) + LogColor(pr2(0),Colors.red) + Dim pr3 As String = pr2(0) &" "&"12:00" + LogColor(pr3,Colors.Red) + Dim ticks2 As Long = DateTime.DateParse(pr3) LogColor(ticks2,Colors.red) LogColor(DateTime.Date(ticks2),Colors.red) Dim timeToCheck2 As Long = DateUtils.AddPeriod(ticks2, p2) LogColor(DateUtils.TicksToString(timeToCheck2),Colors.red) - If timeToCheck2 <= newDate Then Return True Else Return False End If - End Sub Sub Printer_Connected (Success As Boolean) @@ -2730,6 +2722,18 @@ Sub SUBIR_INFO_PEDIDO cmd.Parameters = Array As Object(PEDIDO_TOT, L_ABORDO.Text, d.GetDouble("MONTO"),l_ruta.TEXT, ALMACEN) reqManager.ExecuteCommand(cmd , "inst_noventa_Upd_Info_e_Kell") contador_env = contador_env + 1 + + 'BITACORA (PROYECTO GPS) + Private h As ResultSet = Starter.skmt.ExecQuery($"select * from bitacoraGPS"$) + Do While h.nextrow + cmd.Initialize + cmd.Name = "mandaBitacora" + cmd.Parameters = Array As Object(h.GetString("almacenb"), h.GetString("usuariob"), h.GetString("rutab"), h.GetString("eventob"), h.GetString("clienteb"), h.GetString("clienteb"), h.GetString("iniciob"), h.GetString("finb"), h.GetString("latitudb"), h.GetString("longitudb"), h.GetString("precision"), h.GetString("motivonoventa"), h.GetString("motivonovisita")) + reqManager.ExecuteCommand(cmd , "mandaBitacora") +' cmd.Name = "borraBitacora" +' cmd.Parameters = Array As Object(c.GetString("almacenb"), c.GetString("rutab"), c.GetString("usuariob"), c.GetString("almacenb")) + Loop + Log("MANDAMOS BITACORA") ' ENCUESTA c = Starter.skmt.ExecQuery("SELECT HE_CLIE, HE_RES, HE_FECHA, HE_TIPO FROM HIST_ENCUESTA") @@ -3318,18 +3322,21 @@ Sub GetBA As Object End Sub Private Sub connecta_LongClick - cmd.Initialize - Private c As Cursor = Starter.skmt.ExecQuery("select * from bitacoraGPS") -' If c.RowCount > 0 Then + Private h As ResultSet = Starter.skmt.ExecQuery($"select * from bitacoraGPS"$) + Do While h.nextrow + cmd.Initialize + cmd.Name = "mandaBitacora" +' 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 + cmd.Parameters = Array As Object(h.GetString("almacenb"), h.GetString("usuariob"), h.GetString("rutab"), h.GetString("eventob"), h.GetString("clienteb"), h.GetString("clienteb"), h.GetString("iniciob"), h.GetString("finb"), h.GetString("latitudb"), h.GetString("longitudb"), h.GetString("precision"), h.GetString("motivonoventa"), h.GetString("motivonovisita")) + reqManager.ExecuteCommand(cmd , "mandaBitacora") ' cmd.Name = "borraBitacora" ' cmd.Parameters = Array As Object(c.GetString("almacenb"), c.GetString("rutab"), c.GetString("usuariob"), c.GetString("almacenb")) -' + Loop ' End If - -' cmd.Name = "mandaBitacora" -'' TMP_ALMACEN, TMP_RUTA, TMP_USUARIO, TMP_FECHA_SINC, TMP_ID_CLIENTE, TMP_EVENTO, TMP_INICIO, TMP_FINAL, TMP_LATITUD, TMP_LONGITUD, TMP_MOTIVO_NO_VENTA, TMP_MOTIVO_NO_VISITA, TMP_NOMBRE_CLIENTE,TMP_PRESICION -' cmd.Parameters = Array As Object( ALMACEN, cliente, evento, fecha, e_ruta.text, ) -' reqManager.ExecuteQuery(cmd , 0, "HIST_ENCUESTA2") + Log("MANDAMOS BITACORA") +' Subs.bitacora(Subs.fechanormal(DateTime.Now),usuario,ALMACEN,l_ruta.Text,"Carga día", "",Subs.fechanormal(DateTime.Now),Subs.fechanormal(DateTime.Now),Starter.lat_gps,Starter.lon_gps,"2","","") +' sql.mandaBitacora = insert into KELLOGGS.TMP_GPS_DIARIO (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) values ((?),(?),(?),(?),(?),(?),(?),(?),(?),(?),(?),(?),(?),sysdate) End Sub 'Borramos los clientes nuevosd que no tengan venta. diff --git a/B4A/KelloggsV4.b4a b/B4A/KelloggsV4.b4a index 8b0ee97..27573d2 100644 --- a/B4A/KelloggsV4.b4a +++ b/B4A/KelloggsV4.b4a @@ -864,7 +864,7 @@ Module9=C_NuevoCliente NumberOfFiles=401 NumberOfLibraries=29 NumberOfModules=29 -Version=12.5 +Version=12.8 @EndOfDesignText@ #Region Project Attributes #ApplicationLabel: Kelloggs Venta diff --git a/B4A/KelloggsV4.b4a.meta b/B4A/KelloggsV4.b4a.meta index 830c7f1..3adf2cd 100644 --- a/B4A/KelloggsV4.b4a.meta +++ b/B4A/KelloggsV4.b4a.meta @@ -61,7 +61,7 @@ ModuleBreakpoints9= ModuleClosedNodes0= ModuleClosedNodes1=2,4 ModuleClosedNodes10= -ModuleClosedNodes11=1,3 +ModuleClosedNodes11= ModuleClosedNodes12=3 ModuleClosedNodes13= ModuleClosedNodes14= @@ -88,6 +88,6 @@ ModuleClosedNodes6= ModuleClosedNodes7=3,11,12 ModuleClosedNodes8= ModuleClosedNodes9= -NavigationStack=C_Cliente,b_chk_e_Click,3642,0,C_Productos,et_pCant_TextChanged,750,0,C_Principal,JobDone,1030,6,C_Productos,b_prodMas_Click,676,1,C_Productos,Class_Globals,16,0,Diseñador Visual,principal.bal,-100,1,C_Principal,Class_Globals,0,0,C_Principal,Printer_Connected,2488,0,C_Principal,horaentrada,2489,6,C_Principal,B_PROXIMA_Click,2484,4 +NavigationStack=C_NoVenta,GUARDA_Click,85,1,C_Cliente,b_inicioFinVenta_Click,4164,6,Subs,traeNombreCliente,839,6,C_Principal,cargar_Click,521,0,C_Cliente,Bt_GuardarBoleta_Click,3630,0,C_Principal,borraClientesNuevosSinVenta,3336,0,C_Principal,GetBA,3304,0,C_Principal,connecta_LongClick,3306,6,Visual Designer,principal.bal,-100,1,C_Principal,Subir_Click,501,0,C_Principal,SUBIR_INFO_PEDIDO,2731,3 SelectedBuild=0 -VisibleModules=1,27,11,3,12,4,28,13,23,2 +VisibleModules=1,27,11,3,12,4,28,13,2,8 diff --git a/B4A/Subs.bas b/B4A/Subs.bas index 477c162..1f8efb5 100644 --- a/B4A/Subs.bas +++ b/B4A/Subs.bas @@ -842,6 +842,16 @@ Sub traeCliente As String 'ignore Return cl End Sub +'Regresa el nombre del cliente del id dado. +Sub traeNombreCliente(id As String) As String + Private c As ResultSet = Starter.skmt.ExecQuery($"select CAT_CL_NOMBRE from kmt_info 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 + Sub traeFecha As String 'ignore DateTime.DateFormat = "MM/dd/yyyy" Private sDate As String =DateTime.Date(DateTime.Now) @@ -1647,7 +1657,14 @@ End Sub '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("bitacora") - Starter.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}')"$) + Starter.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 + cmd.Name = "mandaBitacora" +' 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 + cmd.Parameters = Array As Object(almacenb, usuariob, rutab, eventob, clienteb, traeNombreCliente(clienteb), iniciob, finb, latitudb, longitudb, precision, motivonoventa, motivonovisita) + Starter.reqManager.ExecuteCommand(cmd , "mandaBitacora") + Log("Mandamos bitacora") End Sub 'Trae la sumatoria del pedido del cliente especificado de la tabla PEDIDO.