From 0f6bf7f62a01a06e601a8f8ca0c63370d799e8a1 Mon Sep 17 00:00:00 2001 From: cvaldes1201 Date: Mon, 13 Apr 2026 11:27:15 -0600 Subject: [PATCH] 6.02.16 se agregan las encuestas de bat --- B4A/B4XMainPage.bas | 16 + B4A/C_Cliente.bas | 584 +++++++++++++++++++++++++++++++++- B4A/C_NoVenta.bas | 89 ++++++ B4A/C_Principal.bas | 157 +++++++-- B4A/C_historicobatyodos.bas | 168 ++++++++++ B4A/Files/cliente.bal | Bin 66869 -> 67821 bytes B4A/Files/encuesta_1.bal | Bin 0 -> 10449 bytes B4A/Files/encuesta_2.bal | Bin 0 -> 17247 bytes B4A/Files/historicobat.bal | Bin 8534 -> 8534 bytes B4A/Files/historicobat2.bal | Bin 8097 -> 8097 bytes B4A/Files/nota3.bal | Bin 0 -> 8277 bytes B4A/Guna Vistas V3.1.b4a | 235 +++++++------- B4A/Guna Vistas V3.1.b4a.meta | 17 +- B4A/Starter.bas | 32 ++ B4A/Subs.bas | 2 +- 15 files changed, 1145 insertions(+), 155 deletions(-) create mode 100644 B4A/C_historicobatyodos.bas create mode 100644 B4A/Files/encuesta_1.bal create mode 100644 B4A/Files/encuesta_2.bal create mode 100644 B4A/Files/nota3.bal diff --git a/B4A/B4XMainPage.bas b/B4A/B4XMainPage.bas index 4738390..0714da1 100644 --- a/B4A/B4XMainPage.bas +++ b/B4A/B4XMainPage.bas @@ -39,6 +39,7 @@ Sub Class_Globals Public promos As C_Promos Public historico As C_Historico + Public historicobattodos As C_historicobatyodos Public historicobat As C_historicobat Dim reqManager As DBRequestManager Dim v As String = Application.VersionName @@ -145,6 +146,9 @@ Private Sub B4XPage_Created (Root1 As B4XView) historicobat.Initialize B4XPages.AddPage("historicobat", historicobat) + historicobattodos.Initialize + B4XPages.AddPage("historicobattodos", historicobattodos) + p_Main.Height = Root.Height p_Main.Width = Root.Width @@ -200,6 +204,13 @@ Private Sub B4XPage_Created (Root1 As B4XView) skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS HIST_PRO3055(H_IDCLIENTE TEXT)") skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS RUTA_SUPLENCIA(RS_RUTA TEXT)") skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS TICKET_IMPRESO (idCliente TEXT)") + + + skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS HIST_ENCUESTA_BAT(CLIENTE)") + skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS ENCUESTAS_BAT (CLIENTE TEXT,RUTA TEXT,ALMACEN TEXT,P1 TEXT,P2 TEXT,P3 TEXT,P4 TEXT,P5 TEXT,P6 TEXT,P7 TEXT,P8 TEXT,P9 TEXT,P10 TEXT, FECHA TEXT)") + + skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS hist_ventastodos (HVD_CLIENTE TEX, HVD_PRONOMBRE TEXT, HVD_CANT TEXT, HVD_COSTO_TOT TEXT, HVD_FECHA TEXT)") + ' skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS CAT_VARIABLES (CAT_VA_DESCRIPCION TEXT, CAT_VA_VALOR TEXT)") Subs.agregaColumna("HIST_ENCUESTA", "HE_LAT", "TEXT") Subs.agregaColumna("HIST_ENCUESTA", "HE_FOTO", "BLOB") @@ -210,8 +221,13 @@ Private Sub B4XPage_Created (Root1 As B4XView) Subs.agregaColumna("HIST_ENCUESTA", "HE_LON", "TEXT") Subs.agregaColumna("HIST_VENTAS", "HVD_FECHA", "TEXT") Subs.agregaColumna("kmt_info3", "encuesta", "TEXT") + + Subs.agregaColumna("hist_ventastodos", "HVD_NUM_TICKET", "TEXT") + Subs.agregaColumna("hist_ventastodos", "HVD_CODPROMO", "TEXT") + Subs.agregaColumna("kmt_info3", "CAT_CL_CLASIFICADOR3", "TEXT") Subs.agregaColumna("kmt_info3", "CAT_CL_CLASIFICADOR2", "TEXT") + Subs.agregaColumna("kmt_info3", "CAT_CL_CLASIFICADOR5", "TEXT") Subs.agregaColumna("kmt_info3", "CAT_CL_TIPOCLIENTE", "TEXT") Subs.agregaColumna("kmt_info3", "CAT_CL_LIMITECREDITO", "TEXT") Subs.agregaColumna("kmt_info3", "CAT_CL_DIASCREDITO", "TEXT") diff --git a/B4A/C_Cliente.bas b/B4A/C_Cliente.bas index ab46ffe..a3cea1d 100644 --- a/B4A/C_Cliente.bas +++ b/B4A/C_Cliente.bas @@ -470,6 +470,22 @@ Sub Class_Globals Private Label22 As Label Private l_animal As Label Private contIguales As Int = 0 + Private b_ventatb As Button + Private scv_bat As ScrollView + Private b_cancelencu As Button + Private b_guadarenc As Button + Private p_encu As Panel + Private cb_p1 As B4XComboBox + Private cb_p2 As B4XComboBox + Private cb_p3 As B4XComboBox + Private cb_p4 As B4XComboBox + Private cb_p5 As B4XComboBox + Dim e_1, e_2, e_3, e_4,e_5,e_6,e_7,e_8,e_9,e_10 As String + Private cb_p6 As B4XComboBox + Private cb_p7 As B4XComboBox + Private cb_p8 As B4XComboBox + Private cb_p9 As B4XComboBox + Private cb_p10 As B4XComboBox End Sub 'You can add more parameters here. @@ -541,6 +557,13 @@ End Sub 'You can see the list of page related events in the B4XPagesManager object. The event name is B4XPage. Sub B4XPage_Appear + + Private tc As Cursor = skmt.ExecQuery($"select * from hist_ventastodos where HVD_CLIENTE IN (SELECT CUENTA FROM CUENTAA)"$) + If tc.RowCount > 0 Then + b_ventatb.Visible = True + Else + b_ventatb.Visible = False + End If Starter.enCliente = True Tels.Visible = False gest.Visible = False @@ -549,7 +572,7 @@ Sub B4XPage_Appear ' MejorarPrecisionGPS ' ' Al aparecer la página del cliente ' InicializarLocalizacionMejorada - + B4XPages.MainPage.skmt.ExecNonQuery("delete from PEDIDO where PE_CANT <= 0") recalculoXcant ImageView4.Bitmap = LoadBitmap(File.DirAssets,"images.png") @@ -557,6 +580,8 @@ Sub B4XPage_Appear bitacora.inicioFin ' iniciofin que_modulo = 1 + scv_bat.Width = Root.Width + scv_bat.Height = Root.Height dentroDeGeocerca = False indicePregunta = 0 l_credito.Visible = False @@ -1424,7 +1449,7 @@ Sub GPS_LocationChanged (Location1 As Location) If contIguales >= 3 Then ' contIguales = 0 ' Log("No hacemos nada") - CallSubDelayed(Tracker, "StopFLP") +' CallSubDelayed(Tracker, "StopFLP") Return End If Else @@ -1503,7 +1528,7 @@ Sub GPS_LocationChanged (Location1 As Location) LA_GPS.Text = $"UBICACIÓN - Precisión: ${NumberFormat2(Location1.Accuracy, 0, 1, 1, False)}m"$ End If ' Solo usar ubicaciones con buena precisión - If Location1.Accuracy < 30 Then ' Menos de 30 metros de error + If Location1.Accuracy < 60 Then ' Menos de 30 metros de error ' Tu lógica actual aquí B4XPages.MainPage.lat_gps = Location1.Latitude B4XPages.MainPage.lon_gps = Location1.Longitude @@ -1688,6 +1713,8 @@ Sub GPS_LocationChanged (Location1 As Location) LA_GPS.TextColor = Colors.Red End If End If + + If cuenta.StartsWith("N") Then precision = "0" @@ -1702,7 +1729,7 @@ Sub GPS_LocationChanged (Location1 As Location) ' 19.4846431, -99.1458691 -> Keymon If LA_GEO.IsInitialized Then LA_GEO.Text= $"$1.2{distance/1000} kms"$ - + ' If distance > 100 Then ToastMessageShow("Fuera de rango GPS", False) B4XPages.MainPage.skmt.ExecNonQuery("DELETE FROM HIST_GPS") B4XPages.MainPage.skmt.ExecNonQuery2("INSERT INTO HIST_GPS (HGDATE, HGLAT, HGLON) VALUES(?,?,?) ", Array As Object (sDate & sTime, B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps)) @@ -1894,29 +1921,367 @@ Sub gest_Click ' MejorarPrecisionGPS ' Sleep(500) ' Esperar un poco para que el GPS se estabilice + Dim checkenc As Cursor = B4XPages.MainPage.skmt.ExecQuery("select * FROM HIST_ENCUESTA_BAT WHERE CLIENTE In (Select cuenta from cuentaa)") + If checkenc.RowCount = 0 Then + Dim checkenc1 As Cursor = B4XPages.MainPage.skmt.ExecQuery("select * FROM ENCUESTAS_BAT WHERE CLIENTE In (Select cuenta from cuentaa)") + If checkenc1.RowCount = 0 Then + + If ALMACEN = 88 Or ALMACEN = 92 Then + + Dim coloressaldo As Cursor=B4XPages.MainPage.skmt.ExecQuery("select IFNULL(CAT_CL_CLASIFICADOR5,0) AS CAT_CL_CLASIFICADOR5 from kmt_info3 where CAT_CL_CODIGO In (Select cuenta from cuentaa)") + If coloressaldo.RowCount > 0 Then + coloressaldo.Position = 0 + If coloressaldo.GetString("CAT_CL_CLASIFICADOR5") = "3" Then + scv_bat.Visible = True + scv_bat.Panel.RemoveAllViews + scv_bat.Panel.LoadLayout("encuesta_1") + scv_bat.Panel.Height = p_encu.Height + p_encu.Width = scv_bat.Width + + + Dim itembat1 As List + itembat1.Initialize + itembat1.Add("Selecciona una opcion") + itembat1.Add("Ninguno") + itembat1.Add("Menos de medio paquete") + itembat1.Add("Medio paquete a 1 paquete") + itembat1.Add("1.1 a 2.9 paquetes") + itembat1.Add("3 a 5.9 paquetes") + itembat1.Add("6 a 8.9 paquetes") + itembat1.Add("9 a 12.9 paquetes") + itembat1.Add("13 a 16.9 paquetes") + itembat1.Add("17 a 20.9 paquetes") + itembat1.Add("21 a 25.9 paquetes") + itembat1.Add("26 a 30 paquetes") + itembat1.Add("Más de 30 paquetes") + cb_p1.SetItems(itembat1) + e_1 = "Selecciona una opcion" + + Dim itembat2 As List + itembat2.Initialize + itembat2.Add("Selecciona una opcion") + itembat2.Add("Ninguno") + itembat2.Add("Menos de medio paquete") + itembat2.Add("Medio paquete a 1 paquete") + itembat2.Add("1.1 a 2.9 paquetes") + itembat2.Add("3 a 5.9 paquetes") + itembat2.Add("6 a 8.9 paquetes") + itembat2.Add("9 a 12.9 paquetes") + itembat2.Add("13 a 16.9 paquetes") + itembat2.Add("17 a 20.9 paquetes") + itembat2.Add("21 a 25.9 paquetes") + itembat2.Add("26 a 30 paquetes") + itembat2.Add("Más de 30 paquetes") + cb_p2.SetItems(itembat2) + e_2 = "Selecciona una opcion" + + Dim itembat3 As List + itembat3.Initialize + itembat3.Add("Selecciona una opcion") + itembat3.Add("Ninguno") + itembat3.Add("Menos de medio paquete") + itembat3.Add("Medio paquete a 1 paquete") + itembat3.Add("1.1 a 2.9 paquetes") + itembat3.Add("3 a 5.9 paquetes") + itembat3.Add("6 a 8.9 paquetes") + itembat3.Add("9 a 12.9 paquetes") + itembat3.Add("13 a 16.9 paquetes") + itembat3.Add("17 a 20.9 paquetes") + itembat3.Add("21 a 25.9 paquetes") + itembat3.Add("26 a 30 paquetes") + itembat3.Add("Más de 30 paquetes") + cb_p3.SetItems(itembat3) + e_3 = "Selecciona una opcion" + + Dim itembat4 As List + itembat4.Initialize + itembat4.Add("Selecciona una opcion") + itembat4.Add("Ninguno") + itembat4.Add("Menos de medio paquete") + itembat4.Add("Medio paquete a 1 paquete") + itembat4.Add("1.1 a 2.9 paquetes") + itembat4.Add("3 a 5.9 paquetes") + itembat4.Add("6 a 8.9 paquetes") + itembat4.Add("9 a 12.9 paquetes") + itembat4.Add("13 a 16.9 paquetes") + itembat4.Add("17 a 20.9 paquetes") + itembat4.Add("21 a 25.9 paquetes") + itembat4.Add("26 a 30 paquetes") + itembat4.Add("Más de 30 paquetes") + cb_p4.SetItems(itembat4) + e_4 = "Selecciona una opcion" + + Dim itembat5 As List + itembat5.Initialize + itembat5.Add("Selecciona una opcion") + itembat5.Add("Ninguno") + itembat5.Add("Tiendatek") + itembat5.Add("Yomp") + itembat5.Add("Systienda") + itembat5.Add("MyBusiness POS") + itembat5.Add("Eleventa") + itembat5.Add("Otro") + cb_p5.SetItems(itembat5) + e_5 = "Selecciona una opcion" + Else If coloressaldo.GetString("CAT_CL_CLASIFICADOR5") = "6" Then + + scv_bat.Visible = True + scv_bat.Panel.RemoveAllViews + scv_bat.Panel.LoadLayout("encuesta_2") + scv_bat.Panel.Height = p_encu.Height + p_encu.Width = scv_bat.Width + + + Dim itembat1 As List + itembat1.Initialize + itembat1.Add("Selecciona una opcion") + itembat1.Add("Ninguno") + itembat1.Add("Menos de medio cartón") + itembat1.Add("Medio cartón a 1 cartón") + itembat1.Add("1.1 a 1.9 cartones") + itembat1.Add("2 a 2.9 cartones") + itembat1.Add("3 a 3.9 cartones") + itembat1.Add("4 a 4.9 cartones") + itembat1.Add("5 a 7.9 cartones") + itembat1.Add("8 a 10.9 cartones") + itembat1.Add("11 a 15.9 cartones") + itembat1.Add("16 a 20.9 cartones") + itembat1.Add("21 a 25.9 cartones") + itembat1.Add("26 a 30.9 cartones") + itembat1.Add("31 a 40 cartones") + itembat1.Add("Más de 40 cartones") + cb_p1.SetItems(itembat1) + e_1 = "Selecciona una opcion" + + Dim itembat2 As List + itembat2.Initialize + itembat2.Add("Selecciona una opcion") + itembat2.Add("Ninguno") + itembat2.Add("Menos de medio cartón") + itembat2.Add("Medio cartón a 1 cartón") + itembat2.Add("1.1 a 1.9 cartones") + itembat2.Add("2 a 2.9 cartones") + itembat2.Add("3 a 3.9 cartones") + itembat2.Add("4 a 4.9 cartones") + itembat2.Add("5 a 7.9 cartones") + itembat2.Add("8 a 10.9 cartones") + itembat2.Add("11 a 15.9 cartones") + itembat2.Add("16 a 20.9 cartones") + itembat2.Add("21 a 25.9 cartones") + itembat2.Add("26 a 30.9 cartones") + itembat2.Add("31 a 40 cartones") + itembat2.Add("Más de 40 cartones") + cb_p2.SetItems(itembat2) + e_2 = "Selecciona una opcion" + + Dim itembat3 As List + itembat3.Initialize + itembat3.Add("Selecciona una opcion") + itembat3.Add("Ninguno") + itembat3.Add("Menos de medio cartón") + itembat3.Add("Medio cartón a 1 cartón") + itembat3.Add("1.1 a 1.9 cartones") + itembat3.Add("2 a 2.9 cartones") + itembat3.Add("3 a 3.9 cartones") + itembat3.Add("4 a 4.9 cartones") + itembat3.Add("5 a 7.9 cartones") + itembat3.Add("8 a 10.9 cartones") + itembat3.Add("11 a 15.9 cartones") + itembat3.Add("16 a 20.9 cartones") + itembat3.Add("21 a 25.9 cartones") + itembat3.Add("26 a 30.9 cartones") + itembat3.Add("31 a 40 cartones") + itembat3.Add("Más de 40 cartones") + cb_p3.SetItems(itembat3) + e_3 = "Selecciona una opcion" + + Dim itembat4 As List + itembat4.Initialize + itembat4.Add("Selecciona una opcion") + itembat4.Add("Ninguno") + itembat4.Add("Menos de medio cartón") + itembat4.Add("Medio cartón a 1 cartón") + itembat4.Add("1.1 a 1.9 cartones") + itembat4.Add("2 a 2.9 cartones") + itembat4.Add("3 a 3.9 cartones") + itembat4.Add("4 a 4.9 cartones") + itembat4.Add("5 a 7.9 cartones") + itembat4.Add("8 a 10.9 cartones") + itembat4.Add("11 a 15.9 cartones") + itembat4.Add("16 a 20.9 cartones") + itembat4.Add("21 a 25.9 cartones") + itembat4.Add("26 a 30.9 cartones") + itembat4.Add("31 a 40 cartones") + itembat4.Add("Más de 40 cartones") + cb_p4.SetItems(itembat4) + e_4 = "Selecciona una opcion" + + Dim itembat5 As List + itembat5.Initialize + itembat5.Add("Selecciona una opcion") + itembat5.Add("Ninguno") + itembat5.Add("Menos de medio cartón") + itembat5.Add("Medio cartón a 1 cartón") + itembat5.Add("1.1 a 1.9 cartones") + itembat5.Add("2 a 2.9 cartones") + itembat5.Add("3 a 3.9 cartones") + itembat5.Add("4 a 4.9 cartones") + itembat5.Add("5 a 7.9 cartones") + itembat5.Add("8 a 10.9 cartones") + itembat5.Add("11 a 15.9 cartones") + itembat5.Add("16 a 20.9 cartones") + itembat5.Add("21 a 25.9 cartones") + itembat5.Add("26 a 30.9 cartones") + itembat5.Add("31 a 40 cartones") + itembat5.Add("Más de 40 cartones") + cb_p5.SetItems(itembat5) + e_5 = "Selecciona una opcion" + + Dim itembat6 As List + itembat6.Initialize + itembat6.Add("Selecciona una opcion") + itembat6.Add("Ninguno") + itembat6.Add("Menos de medio cartón") + itembat6.Add("Medio cartón a 1 cartón") + itembat6.Add("1.1 a 1.9 cartones") + itembat6.Add("2 a 2.9 cartones") + itembat6.Add("3 a 3.9 cartones") + itembat6.Add("4 a 4.9 cartones") + itembat6.Add("5 a 7.9 cartones") + itembat6.Add("8 a 10.9 cartones") + itembat6.Add("11 a 15.9 cartones") + itembat6.Add("16 a 20.9 cartones") + itembat6.Add("21 a 25.9 cartones") + itembat6.Add("26 a 30.9 cartones") + itembat6.Add("31 a 40 cartones") + itembat6.Add("Más de 40 cartones") + cb_p6.SetItems(itembat6) + e_6 = "Selecciona una opcion" + + Dim itembat7 As List + itembat7.Initialize + itembat7.Add("Selecciona una opcion") + itembat7.Add("Ninguno") + itembat7.Add("Menos de medio cartón") + itembat7.Add("Medio cartón a 1 cartón") + itembat7.Add("1.1 a 1.9 cartones") + itembat7.Add("2 a 2.9 cartones") + itembat7.Add("3 a 3.9 cartones") + itembat7.Add("4 a 4.9 cartones") + itembat7.Add("5 a 7.9 cartones") + itembat7.Add("8 a 10.9 cartones") + itembat7.Add("11 a 15.9 cartones") + itembat7.Add("16 a 20.9 cartones") + itembat7.Add("21 a 25.9 cartones") + itembat7.Add("26 a 30.9 cartones") + itembat7.Add("31 a 40 cartones") + itembat7.Add("Más de 40 cartones") + cb_p7.SetItems(itembat7) + e_7 = "Selecciona una opcion" + + Dim itembat8 As List + itembat8.Initialize + itembat8.Add("Selecciona una opcion") + itembat8.Add("Ninguno") + itembat8.Add("Menos de medio cartón") + itembat8.Add("Medio cartón a 1 cartón") + itembat8.Add("1.1 a 1.9 cartones") + itembat8.Add("2 a 2.9 cartones") + itembat8.Add("3 a 3.9 cartones") + itembat8.Add("4 a 4.9 cartones") + itembat8.Add("5 a 7.9 cartones") + itembat8.Add("8 a 10.9 cartones") + itembat8.Add("11 a 15.9 cartones") + itembat8.Add("16 a 20.9 cartones") + itembat8.Add("21 a 25.9 cartones") + itembat8.Add("26 a 30.9 cartones") + itembat8.Add("31 a 40 cartones") + itembat8.Add("Más de 40 cartones") + cb_p8.SetItems(itembat8) + e_8 = "Selecciona una opcion" + + Dim itembat9 As List + itembat9.Initialize + itembat9.Add("Selecciona una opcion") + itembat9.Add("Ninguno") + itembat9.Add("Menos de medio cartón") + itembat9.Add("Medio cartón a 1 cartón") + itembat9.Add("1.1 a 1.9 cartones") + itembat9.Add("2 a 2.9 cartones") + itembat9.Add("3 a 3.9 cartones") + itembat9.Add("4 a 4.9 cartones") + itembat9.Add("5 a 7.9 cartones") + itembat9.Add("8 a 10.9 cartones") + itembat9.Add("11 a 15.9 cartones") + itembat9.Add("16 a 20.9 cartones") + itembat9.Add("21 a 25.9 cartones") + itembat9.Add("26 a 30.9 cartones") + itembat9.Add("31 a 40 cartones") + itembat9.Add("Más de 40 cartones") + cb_p9.SetItems(itembat9) + e_9 = "Selecciona una opcion" + + Dim itembat10 As List + itembat10.Initialize + itembat10.Add("Selecciona una opcion") + itembat10.Add("Ninguno") + itembat10.Add("Menos de medio cartón") + itembat10.Add("Medio cartón a 1 cartón") + itembat10.Add("1.1 a 1.9 cartones") + itembat10.Add("2 a 2.9 cartones") + itembat10.Add("3 a 3.9 cartones") + itembat10.Add("4 a 4.9 cartones") + itembat10.Add("5 a 7.9 cartones") + itembat10.Add("8 a 10.9 cartones") + itembat10.Add("11 a 15.9 cartones") + itembat10.Add("16 a 20.9 cartones") + itembat10.Add("21 a 25.9 cartones") + itembat10.Add("26 a 30.9 cartones") + itembat10.Add("31 a 40 cartones") + itembat10.Add("Más de 40 cartones") + cb_p10.SetItems(itembat10) + e_10 = "Selecciona una opcion" + Else + vent + End If + End If + Else + vent + End If + + Else + vent + End If + Else + vent + End If + +End Sub + +Sub vent Dim pagarepen As Cursor = B4XPages.MainPage.skmt.ExecQuery("select FECHA, SALDO_PENDIENTE FROM ABONOSP WHERE CLIENTE IN (SELECT CUENTA FROM CUENTAA)") If pagarepen.RowCount > 0 Then pagarepen.Position = 0 DateTime.DateFormat="dd/MM/yyyy" Dim FechaInicio As String = pagarepen.GetString("FECHA") ' Formato: dd/MM/yyyy -' Dim FechaHoy As String = DateTime.Date(DateTime.Now) ' Fecha actual en formato dd/MM/yyyy + ' Dim FechaHoy As String = DateTime.Date(DateTime.Now) ' Fecha actual en formato dd/MM/yyyy Log(pagarepen.GetString("FECHA")) - + ' Convertir las fechas a milisegundos (desde 01/01/1970) Dim TicksInicio As Long = DateTime.DateParse(FechaInicio) Dim TicksHoy As Long = DateTime.DateParse(DateTime.Date(DateTime.Now)) - + ' Calcular diferencia en días Dim DiferenciaDias As Int = (TicksHoy - TicksInicio) / DateTime.TicksPerDay - + ' Mostrar resultado Log($"Días transcurridos: ${DiferenciaDias}"$) - + c=B4XPages.MainPage.skmt.ExecQuery("select IFNULL(CAT_CL_DIASCREDITO,0) AS CAT_CL_DIASCREDITO from kmt_info3 where CAT_CL_CODIGO In (Select cuenta from cuentaa)") c.Position = 0 - + If DiferenciaDias <= c.GetInt("CAT_CL_DIASCREDITO") + 1 Then -' MsgboxAsync($"Favor de pagar su credito el día de mañana por un monto de $${pagarepen.GetString("SALDO_PENDIENTE")}"$, "Recordatorio") + ' MsgboxAsync($"Favor de pagar su credito el día de mañana por un monto de $${pagarepen.GetString("SALDO_PENDIENTE")}"$, "Recordatorio") Msgbox2Async($"Favor de pagar su credito el día de mañana por un monto de $${pagarepen.GetString("SALDO_PENDIENTE")}"$, "Recordatorio", "Ok", "", "", LoadBitmap(File.DirAssets,"alert2.png"), False) Wait For Msgbox_Result (resultado As Int) If resultado = DialogResponse.POSITIVE Then @@ -1950,7 +2315,7 @@ Sub gestionar Starter.encuesta = 0 Dim cmd As DBCommand skmt.ExecNonQuery2("UPDATE kmt_info3 SET encuesta = (?) WHERE CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA)",Array As Object(2)) - ToastMessageShow("La aplicación Tienda 360 no está instalada o no puede manejar la URL.", True) +' ToastMessageShow("La aplicación Tienda 360 no está instalada o no puede manejar la URL.", True) compra End Try cmd.Initialize @@ -1981,7 +2346,7 @@ Sub gestionar Starter.encuesta = 0 Dim cmd As DBCommand skmt.ExecNonQuery2("UPDATE kmt_info3 SET encuesta = (?) WHERE CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA)",Array As Object(2)) - ToastMessageShow("La aplicación Tienda 360 no está instalada o no puede manejar la URL.", True) +' ToastMessageShow("La aplicación Tienda 360 no está instalada o no puede manejar la URL.", True) compra End Try cmd.Initialize @@ -1992,6 +2357,92 @@ Sub gestionar compra End If End If +End Sub + +Sub Mandapedido + +' PEDIDO + c=B4XPages.MainPage.skmt.ExecQuery2("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, PE_DESC, PE_FOLIO FROM PEDIDO WHERE (PE_RECALCULO = ? or PE_RECALCULO = ? or PE_RECALCULO IS NULL)",Array As String("","null")) + If c.RowCount>0 Then + For i=0 To c.RowCount -1 + c.Position=i + Dim cmd As DBCommand + cmd.Initialize + cmd.Name = "insert_pedido_GV2" + cmd.Parameters = Array As Object(C.GetString("PE_CEDIS"), Subs.traeAlmacen, 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"),c.GetString("PE_FOLIO")) + B4XPages.MainPage.reqManager.ExecuteCommand(cmd , "ins_pedido") + Next + End If + c.Close + + ' NOVENTA + c=B4XPages.MainPage.skmt.ExecQuery("SELECT NV_CLIENTE,NV_FECHA,NV_USER,NV_MOTIVO,NV_COMM,NV_LAT,NV_LON FROM NOVENTA") + If c.RowCount>0 Then + For i=0 To c.RowCount -1 + c.Position=i + Dim cmd As DBCommand + cmd.Initialize + cmd.Name = "insert_noventa_GV2" + 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"), Subs.traeAlmacen, Subs.traeRuta2(C.GetString("NV_CLIENTE"))) + B4XPages.MainPage.reqManager.ExecuteCommand(cmd , "inst_noventa") + Next + End If + c.Close + + + c=B4XPages.MainPage.skmt.ExecQuery("SELECT PC_CLIENTE, PC_FECHA, PC_USER, PC_NOART, PC_MONTO,PC_LON, PC_LAT, PC_COSTO_SIN, PC_RUTA, PC_ALMACEN, PC_FACTURA FROM PEDIDO_CLIENTE ") + If c.RowCount>0 Then + For i=0 To c.RowCount -1 + c.Position=i + Dim cmd As DBCommand + cmd.Initialize + cmd.Name = "insert_pedidos_GV3" + cmd.Parameters = Array As Object(C.GetString("PC_CLIENTE"),C.GetString("PC_FECHA"),C.GetString("PC_USER"),C.GetString("PC_NOART"),C.GetString("PC_MONTO"),C.GetString("PC_LON"),C.GetString("PC_LAT"),Subs.traeAlmacen,Subs.traeRuta2(C.GetString("PC_CLIENTE")),C.GetString("PC_COSTO_SIN"),C.GetString("PC_FACTURA") ) + B4XPages.MainPage.reqManager.ExecuteCommand(cmd , "ins_pedidos") + Next + End If + c.Close + +' If Subs.traeAlmacen = "88" Or Subs.traeAlmacen = "6" Then + c=B4XPages.MainPage.skmt.ExecQuery2("SELECT PE_RECALCULO,PE_RECALCULOTOT,ifnull(PE_RECCEDIS,'') as PE_RECCEDIS,PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,ifnull(PE_CANT,0) as PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO, PE_COSTO_SIN, PE_RUTA, PE_DESC, PE_FOLIO, IFNULL(PE_RECCANT,0) AS PE_RECCANT FROM PEDIDO WHERE PE_RECALCULO <> ? or PE_RECALCULO <> ? or PE_RECALCULO IS NOT NULL",Array As String("","null")) + If c.RowCount>0 Then + For i=0 To c.RowCount -1 + c.Position=i + If c.GetString("PE_RECCEDIS") = "" Then + Dim cmd As DBCommand + cmd.Initialize + cmd.Name = "insert_pedido_GV2" + cmd.Parameters = Array As Object(C.GetString("PE_CEDIS"), Subs.traeAlmacen, C.GetString("PE_RECALCULOTOT"), C.GetString("PE_RECALCULO"), 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"),c.GetString("PE_FOLIO")) + B4XPages.MainPage.reqManager.ExecuteCommand(cmd , "ins_pedido") + Else + If c.GetString("PE_RECCANT") = c.GetString("PE_CANT") Then + Dim cmd As DBCommand + cmd.Initialize + cmd.Name = "insert_pedido_GV2" + cmd.Parameters = Array As Object(C.GetString("PE_RECCEDIS"), Subs.traeAlmacen, C.GetString("PE_RECALCULOTOT"), C.GetString("PE_RECALCULO"), 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"),c.GetString("PE_FOLIO")) + B4XPages.MainPage.reqManager.ExecuteCommand(cmd , "ins_pedido") + Else + 'Con descuento + Dim cmd As DBCommand + cmd.Initialize + cmd.Name = "insert_pedido_GV2" + cmd.Parameters = Array As Object(C.GetString("PE_RECCEDIS"), Subs.traeAlmacen, C.GetString("PE_RECALCULOTOT"), C.GetString("PE_RECALCULO"), C.GetString("PE_RECCANT"), 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"),c.GetString("PE_FOLIO")) + B4XPages.MainPage.reqManager.ExecuteCommand(cmd , "ins_pedido") + 'Sin descuento + Dim cmd As DBCommand + cmd.Initialize + cmd.Name = "insert_pedido_GV2" + cmd.Parameters = Array As Object(C.GetString("PE_CEDIS"), Subs.traeAlmacen, NumberFormat2((C.GetString("PE_CANT")-C.GetString("PE_RECCANT"))*C.GetString("PE_COSTOU"),1,2,2,False), C.GetString("PE_COSTOU"), (C.GetString("PE_CANT")-C.GetString("PE_RECCANT")), 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"),c.GetString("PE_FOLIO")) + B4XPages.MainPage.reqManager.ExecuteCommand(cmd , "ins_pedido") + End If + End If + Next + End If + c.Close + + + + End Sub Sub compra @@ -2717,6 +3168,8 @@ Private Sub B4XPage_CloseRequest As ResumableSub Return False else If p_encuesta.Visible Then p_encuesta.Visible = False + else If scv_bat.Visible Then + scv_bat.Visible = False Else iF p_camara.Visible Then Return False ' p_camara.Visible = False @@ -2828,6 +3281,9 @@ Sub Guardar_Click ' End If '########################## TERMINA CODIGO PARA CREDITOS #################### ' B4XPages.ShowPage("Principal") + If Subs.traeAlmacen <> "43" Then + Mandapedido + End If End Sub Sub Guardar_LongClick @@ -3058,7 +3514,7 @@ Sub Impresion3 Printer1.WriteString(BLANCO & s.GETSTRING("PE_CANT") & " X $" & s.GETSTRING("PE_RECALCULO") & " $" & s.GETSTRING("PE_COSTO_TOTREC") & eLINEFEED & eLINEFEED ) - Printer1.WriteString(BLANCO & "PL $" & s.GETSTRING("PE_COSTOU") & " Desc.: " & descpro.GetDouble("CAT_PD_DESCUENTO")&"%" & eLINEFEED & eLINEFEED) +' Printer1.WriteString(BLANCO & "PL $" & s.GETSTRING("PE_COSTOU") & " Desc.: " & descpro.GetDouble("CAT_PD_DESCUENTO")&"%" & eLINEFEED & eLINEFEED) TAMANO = 0 ESPACIO = 21 BLANCO = " " @@ -6958,4 +7414,104 @@ End Sub Private Sub p_deuda_Click p_deuda.Visible = False +End Sub + +Private Sub b_ventatb_Click + B4XPages.ShowPage("historicobattodos") +End Sub + +Private Sub b_guadarenc_Click + DateTime.DateFormat = "dd/MM/yyyy" + sDate=DateTime.Date(DateTime.Now) + sTime=DateTime.Time(DateTime.Now) + Dim coloressaldo As Cursor=B4XPages.MainPage.skmt.ExecQuery("select IFNULL(CAT_CL_CLASIFICADOR5,0) AS CAT_CL_CLASIFICADOR5 from kmt_info3 where CAT_CL_CODIGO In (Select cuenta from cuentaa)") + If coloressaldo.RowCount > 0 Then + coloressaldo.Position = 0 + If coloressaldo.GetString("CAT_CL_CLASIFICADOR5") = "3" Then + If e_1 <> "Selecciona una opcion" And e_2 <> "Selecciona una opcion" And e_3<> "Selecciona una opcion" And e_4 <> "Selecciona una opcion" And e_5 <> "Selecciona una opcion" Then + B4XPages.MainPage.skmt.ExecNonQuery($"insert into ENCUESTAS_BAT (CLIENTE, RUTA, ALMACEN, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10,FECHA) values ('${Subs.traeCliente}', '${Subs.traeRuta}', '${Subs.traeAlmacen}', '${e_1}', '${e_2}', '${e_3}', '${e_4}', '${e_5}', 'N/A', 'N/A', 'N/A', 'N/A', 'N/A' , '${sDate}')"$) + scv_bat.Visible = False + ' ENCUESTAS BAT + c=B4XPages.MainPage.skmt.ExecQuery("SELECT * FROM ENCUESTAS_BAT WHERE CLIENTE IN (SELECT CUENTA FROM CUENTAA)") + If c.RowCount>0 Then + For i=0 To c.RowCount -1 + c.Position=i + Dim cmd As DBCommand + cmd.Initialize + cmd.Name = "insert_encuestas_bat_guna" + cmd.Parameters = Array As Object(c.GetString("CLIENTE"),c.GetString("RUTA"),c.GetString("ALMACEN"),c.GetString("FECHA"),c.GetString("P1"),c.GetString("P2"),c.GetString("P3"),c.GetString("P4"),c.GetString("P5"),c.GetString("P6"),c.GetString("P7"),c.GetString("P8"),c.GetString("P9"),c.GetString("P10")) + B4XPages.MainPage.reqManager.ExecuteCommand(cmd , "INSENCUESTAS") + Next + End If + vent + Else + MsgboxAsync("Favor de responder todas las preguntas","Atención") + End If + Else If coloressaldo.GetString("CAT_CL_CLASIFICADOR5") = "6" Then + If e_1 <> "Selecciona una opcion" And e_2 <> "Selecciona una opcion" And e_3<> "Selecciona una opcion" And e_4 <> "Selecciona una opcion" And e_5 <> "Selecciona una opcion" And e_6 <> "Selecciona una opcion" And e_7 <> "Selecciona una opcion" And e_8<> "Selecciona una opcion" And e_9 <> "Selecciona una opcion" And e_10 <> "Selecciona una opcion" Then + B4XPages.MainPage.skmt.ExecNonQuery($"insert into ENCUESTAS_BAT (CLIENTE, RUTA, ALMACEN, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10,FECHA) values ('${Subs.traeCliente}', '${Subs.traeRuta}', '${Subs.traeAlmacen}', '${e_1}', '${e_2}', '${e_3}', '${e_4}', '${e_5}', '${e_6}', '${e_7}', '${e_8}', '${e_9}', '${e_10}' , '${sDate}')"$) + scv_bat.Visible = False + ' ENCUESTAS BAT + c=B4XPages.MainPage.skmt.ExecQuery("SELECT * FROM ENCUESTAS_BAT WHERE CLIENTE IN (SELECT CUENTA FROM CUENTAA)") + If c.RowCount>0 Then + For i=0 To c.RowCount -1 + c.Position=i + Dim cmd As DBCommand + cmd.Initialize + cmd.Name = "insert_encuestas_bat_guna" + cmd.Parameters = Array As Object(c.GetString("CLIENTE"),c.GetString("RUTA"),c.GetString("ALMACEN"),c.GetString("FECHA"),c.GetString("P1"),c.GetString("P2"),c.GetString("P3"),c.GetString("P4"),c.GetString("P5"),c.GetString("P6"),c.GetString("P7"),c.GetString("P8"),c.GetString("P9"),c.GetString("P10")) + B4XPages.MainPage.reqManager.ExecuteCommand(cmd , "INSENCUESTAS") + Next + End If + vent + Else + MsgboxAsync("Favor de responder todas las preguntas","Atención") + End If + End If + End If + +End Sub + +Private Sub b_cancelencu_Click + scv_bat.Visible = False +End Sub + +Private Sub cb_p10_SelectedIndexChanged (Index As Int) + e_10 = Sender.As(B4XComboBox).SelectedItem +End Sub + +Private Sub cb_p9_SelectedIndexChanged (Index As Int) + e_9 = Sender.As(B4XComboBox).SelectedItem +End Sub + +Private Sub cb_p8_SelectedIndexChanged (Index As Int) + e_8 = Sender.As(B4XComboBox).SelectedItem +End Sub + +Private Sub cb_p7_SelectedIndexChanged (Index As Int) + e_7 = Sender.As(B4XComboBox).SelectedItem +End Sub + +Private Sub cb_p6_SelectedIndexChanged (Index As Int) + e_6 = Sender.As(B4XComboBox).SelectedItem +End Sub + +Private Sub cb_p5_SelectedIndexChanged (Index As Int) + e_5 = Sender.As(B4XComboBox).SelectedItem +End Sub + +Private Sub cb_p4_SelectedIndexChanged (Index As Int) + e_4 = Sender.As(B4XComboBox).SelectedItem +End Sub + +Private Sub cb_p3_SelectedIndexChanged (Index As Int) + e_3 = Sender.As(B4XComboBox).SelectedItem +End Sub + +Private Sub cb_p2_SelectedIndexChanged (Index As Int) + e_2 = Sender.As(B4XComboBox).SelectedItem +End Sub + +Private Sub cb_p1_SelectedIndexChanged (Index As Int) + e_1 = Sender.As(B4XComboBox).SelectedItem End Sub \ No newline at end of file diff --git a/B4A/C_NoVenta.bas b/B4A/C_NoVenta.bas index a8eda6e..61c4d54 100644 --- a/B4A/C_NoVenta.bas +++ b/B4A/C_NoVenta.bas @@ -140,6 +140,95 @@ Sub GUARDA_Click B4XPages.MainPage.skmt.ExecNonQuery2("UPDATE HIST_STAY_STORE set HSS_TOT = ? where HSS_CODIGO In (select cuenta from cuentaa)", Array As Object(stay_hh + stay_mi + stay_ss)) B4XPages.MainPage.skmt.ExecNonQuery2("UPDATE HIST_STAY_OUT set HSO_FIN = ? ", Array As Object(sTime)) DateTime.TimeFormat = "HH:mm:ss" + If Subs.traeAlmacen <> "43" Then + Mandapedido + End If bitacora.mandaBitacora(Subs.fechanormal(DateTime.Now), usuario, Subs.traeAlmacen, Subs.traeRutaBitacora, "NO VENTA", Subs.traeCliente,Subs.fechanormal(DateTime.Now), Subs.fechanormal(DateTime.Now), B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps, 2, motivo, r_1.Checked, B4XPages.MainPage.cliente.bitacora.banderaGeoCerca) B4XPages.ShowPage("Principal") +End Sub + + +Sub Mandapedido + +' PEDIDO + c=B4XPages.MainPage.skmt.ExecQuery2("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, PE_DESC, PE_FOLIO FROM PEDIDO WHERE (PE_RECALCULO = ? or PE_RECALCULO = ? or PE_RECALCULO IS NULL)",Array As String("","null")) + If c.RowCount>0 Then + For i=0 To c.RowCount -1 + c.Position=i + Dim cmd As DBCommand + cmd.Initialize + cmd.Name = "insert_pedido_GV2" + cmd.Parameters = Array As Object(C.GetString("PE_CEDIS"), Subs.traeAlmacen, 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"),c.GetString("PE_FOLIO")) + B4XPages.MainPage.reqManager.ExecuteCommand(cmd , "ins_pedido") + Next + End If + c.Close + + ' NOVENTA + c=B4XPages.MainPage.skmt.ExecQuery("SELECT NV_CLIENTE,NV_FECHA,NV_USER,NV_MOTIVO,NV_COMM,NV_LAT,NV_LON FROM NOVENTA") + If c.RowCount>0 Then + For i=0 To c.RowCount -1 + c.Position=i + Dim cmd As DBCommand + cmd.Initialize + cmd.Name = "insert_noventa_GV2" + 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"), Subs.traeAlmacen, Subs.traeRuta2(C.GetString("NV_CLIENTE"))) + B4XPages.MainPage.reqManager.ExecuteCommand(cmd , "inst_noventa") + Next + End If + c.Close + + + c=B4XPages.MainPage.skmt.ExecQuery("SELECT PC_CLIENTE, PC_FECHA, PC_USER, PC_NOART, PC_MONTO,PC_LON, PC_LAT, PC_COSTO_SIN, PC_RUTA, PC_ALMACEN, PC_FACTURA FROM PEDIDO_CLIENTE ") + If c.RowCount>0 Then + For i=0 To c.RowCount -1 + c.Position=i + Dim cmd As DBCommand + cmd.Initialize + cmd.Name = "insert_pedidos_GV3" + cmd.Parameters = Array As Object(C.GetString("PC_CLIENTE"),C.GetString("PC_FECHA"),C.GetString("PC_USER"),C.GetString("PC_NOART"),C.GetString("PC_MONTO"),C.GetString("PC_LON"),C.GetString("PC_LAT"),Subs.traeAlmacen,Subs.traeRuta2(C.GetString("PC_CLIENTE")),C.GetString("PC_COSTO_SIN"),C.GetString("PC_FACTURA") ) + B4XPages.MainPage.reqManager.ExecuteCommand(cmd , "ins_pedidos") + Next + End If + c.Close + +' If Subs.traeAlmacen = "88" Or Subs.traeAlmacen = "6" Then + c=B4XPages.MainPage.skmt.ExecQuery2("SELECT PE_RECALCULO,PE_RECALCULOTOT,ifnull(PE_RECCEDIS,'') as PE_RECCEDIS,PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,ifnull(PE_CANT,0) as PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO, PE_COSTO_SIN, PE_RUTA, PE_DESC, PE_FOLIO, IFNULL(PE_RECCANT,0) AS PE_RECCANT FROM PEDIDO WHERE PE_RECALCULO <> ? or PE_RECALCULO <> ? or PE_RECALCULO IS NOT NULL",Array As String("","null")) + If c.RowCount>0 Then + For i=0 To c.RowCount -1 + c.Position=i + If c.GetString("PE_RECCEDIS") = "" Then + Dim cmd As DBCommand + cmd.Initialize + cmd.Name = "insert_pedido_GV2" + cmd.Parameters = Array As Object(C.GetString("PE_CEDIS"), Subs.traeAlmacen, C.GetString("PE_RECALCULOTOT"), C.GetString("PE_RECALCULO"), 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"),c.GetString("PE_FOLIO")) + B4XPages.MainPage.reqManager.ExecuteCommand(cmd , "ins_pedido") + Else + If c.GetString("PE_RECCANT") = c.GetString("PE_CANT") Then + Dim cmd As DBCommand + cmd.Initialize + cmd.Name = "insert_pedido_GV2" + cmd.Parameters = Array As Object(C.GetString("PE_RECCEDIS"), Subs.traeAlmacen, C.GetString("PE_RECALCULOTOT"), C.GetString("PE_RECALCULO"), 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"),c.GetString("PE_FOLIO")) + B4XPages.MainPage.reqManager.ExecuteCommand(cmd , "ins_pedido") + Else + 'Con descuento + Dim cmd As DBCommand + cmd.Initialize + cmd.Name = "insert_pedido_GV2" + cmd.Parameters = Array As Object(C.GetString("PE_RECCEDIS"), Subs.traeAlmacen, C.GetString("PE_RECALCULOTOT"), C.GetString("PE_RECALCULO"), C.GetString("PE_RECCANT"), 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"),c.GetString("PE_FOLIO")) + B4XPages.MainPage.reqManager.ExecuteCommand(cmd , "ins_pedido") + 'Sin descuento + Dim cmd As DBCommand + cmd.Initialize + cmd.Name = "insert_pedido_GV2" + cmd.Parameters = Array As Object(C.GetString("PE_CEDIS"), Subs.traeAlmacen, NumberFormat2((C.GetString("PE_CANT")-C.GetString("PE_RECCANT"))*C.GetString("PE_COSTOU"),1,2,2,False), C.GetString("PE_COSTOU"), (C.GetString("PE_CANT")-C.GetString("PE_RECCANT")), 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"),c.GetString("PE_FOLIO")) + B4XPages.MainPage.reqManager.ExecuteCommand(cmd , "ins_pedido") + End If + End If + Next + End If + c.Close + + + End Sub \ No newline at end of file diff --git a/B4A/C_Principal.bas b/B4A/C_Principal.bas index 558193c..a0a1b0b 100644 --- a/B4A/C_Principal.bas +++ b/B4A/C_Principal.bas @@ -177,7 +177,7 @@ Sub Class_Globals Dim sDate,sTime As String Dim HORAINGRESO As String - + Dim distancealm As Long Private L_QUALA As Label Private L_FERRERO As Label Private L_SANMARCOS As Label @@ -385,6 +385,14 @@ Sub B4XPage_Appear If Starter.marcaCel <> "Sony" Then ToastMessageShow("Es necesario tener el GPS encendido", True) StartActivity(Starter.gps.LocationSettingsIntent) End If + + If Tracker.FLP.GetLastKnownLocation.IsInitialized Then 'Si tenemos "UltimaUbicaccionConocida" la usamos. + B4XPages.MainPage.lat_gps = Tracker.FLP.GetLastKnownLocation.Latitude + B4XPages.MainPage.lon_gps = Tracker.FLP.GetLastKnownLocation.Longitude + Log($"Tenemos UUC: ${Tracker.FLP.GetLastKnownLocation.Latitude},${Tracker.FLP.GetLastKnownLocation.Longitude}"$) + GPS_LocationChanged(Tracker.FLP.GetLastKnownLocation) + End If + c=B4XPages.MainPage.skmt.ExecQuery2("select count(*) as CUANTOS from CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As String ("FECHA")) c.Position = 0 If c.GetString("CUANTOS") = 0 Then @@ -541,6 +549,23 @@ Sub B4XPage_Appear End Sub Sub Subir_Click + Dim envia As Boolean = False + Dim env As Cursor = Starter.skmt.ExecQuery("SELECT CAT_VA_VALOR FROM CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = 'ENVIOALMACEN'") + If env.RowCount > 0 Then + env.Position = 0 + If env.GetString("CAT_VA_VALOR") = 0 Then + envia = True + Else + If distancealm < 100 Then + envia = True + End If + End If + End If + + + If envia Then + + checaPedido CARGA = "SUBIR" P1.Visible = True @@ -628,7 +653,21 @@ Sub Subir_Click B4XPages.MainPage.reqManager.ExecuteCommand(cmd , "ins_QR2") Next End If - c.Close + c.Close + + ' ENCUESTAS BAT + c=B4XPages.MainPage.skmt.ExecQuery("SELECT * FROM ENCUESTAS_BAT") + If c.RowCount>0 Then + For i=0 To c.RowCount -1 + c.Position=i + Dim cmd As DBCommand + cmd.Initialize + cmd.Name = "insert_encuestas_bat_guna" + cmd.Parameters = Array As Object(c.GetString("CLIENTE"),c.GetString("RUTA"),c.GetString("ALMACEN"),c.GetString("FECHA"),c.GetString("P1"),c.GetString("P2"),c.GetString("P3"),c.GetString("P4"),c.GetString("P5"),c.GetString("P6"),c.GetString("P7"),c.GetString("P8"),c.GetString("P9"),c.GetString("P10")) + B4XPages.MainPage.reqManager.ExecuteCommand(cmd , "INSENCUESTAS") + Next + End If + c.Close ' Plan Lealtad c=B4XPages.MainPage.skmt.ExecQuery("SELECT * FROM PLAN_LEALTAD WHERE DESCARGADO IS NULL") @@ -644,19 +683,19 @@ Sub Subir_Click End If c.Close - ' Plan Lealtad - c=B4XPages.MainPage.skmt.ExecQuery("SELECT * FROM COMENTARIOS WHERE DESCARGADO IS NULL") - If c.RowCount>0 Then - For i=0 To c.RowCount -1 - c.Position=i - Dim cmd As DBCommand - cmd.Initialize - cmd.Name = "insert_coments_GUNA" - cmd.Parameters = Array As Object(C.GetString("COMENTARTIO"),C.GetString("CLIENTE"),Subs.traeAlmacen,Subs.traeRuta) - B4XPages.MainPage.reqManager.ExecuteCommand(cmd , "INS_coment") - Next - End If - c.Close +' ' Plan Lealtad +' c=B4XPages.MainPage.skmt.ExecQuery("SELECT * FROM COMENTARIOS WHERE DESCARGADO IS NULL") +' If c.RowCount>0 Then +' For i=0 To c.RowCount -1 +' c.Position=i +' Dim cmd As DBCommand +' cmd.Initialize +' cmd.Name = "insert_coments_GUNA" +' cmd.Parameters = Array As Object(C.GetString("COMENTARTIO"),C.GetString("CLIENTE"),Subs.traeAlmacen,Subs.traeRuta) +' B4XPages.MainPage.reqManager.ExecuteCommand(cmd , "INS_coment") +' Next +' End If +' c.Close Dim fotomostrar1 As Cursor = Starter.skmt.ExecQuery("SELECT * FROM kmt_info3 where foto is not NULL") @@ -966,6 +1005,9 @@ Sub Subir_Click Next End If x.Close + Else + MsgboxAsync("Para poder enviar informacion debes de estar en el almacen.","Atención") + End If End Sub Sub cargar_Click @@ -989,6 +1031,9 @@ Sub cargar_Click Log(Rut_Rep) B4XPages.MainPage.skmt.ExecNonQuery2("UPDATE GPS SET HABILITADO = (?)",Array As Object(0)) B4XPages.MainPage.skmt.ExecNonQuery2("DELETE FROM CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?",Array As String("CARGA_DIA")) + B4XPages.MainPage.skmt.ExecNonQuery2("DELETE FROM CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?",Array As String("ENVIOALMACEN")) + B4XPages.MainPage.skmt.ExecNonQuery2("DELETE FROM CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?",Array As String("RULAT")) + B4XPages.MainPage.skmt.ExecNonQuery2("DELETE FROM CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?",Array As String("RULONG")) B4XPages.MainPage.skmt.ExecNonQuery2("DELETE FROM CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?",Array As String("pasword")) B4XPages.MainPage.skmt.ExecNonQuery2("DELETE FROM CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?",Array As String("LATITUD")) B4XPages.MainPage.skmt.ExecNonQuery2("DELETE FROM CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?",Array As String("GEOCERCA")) @@ -1088,6 +1133,11 @@ Sub cargar_Click cmd.Parameters = Array As Object(usuario,e_ruta.text,sDate,imei,sTime,"","","","","CARGA",ALMACEN,Application.VersionName) B4XPages.MainPage.reqManager.ExecuteCommand(cmd , "inst_drop") + cmd.Initialize + cmd.Name = "select_envio_almacen" + cmd.Parameters = Array As Object(e_ruta.text, ALMACEN) + B4XPages.MainPage.reqManager.ExecuteQuery(cmd , 0, "envioalmacen") + cmd.Initialize cmd.Name = "select_TipoVenta" cmd.Parameters = Array As Object(ALMACEN, e_ruta.text) @@ -1108,6 +1158,11 @@ Sub cargar_Click cmd.Parameters = Array As Object(ALMACEN) B4XPages.MainPage.reqManager.ExecuteQuery(cmd , 0, "promodesp") + ' cmd.Initialize +' cmd.Name = "select_venta_tb_guna" +' cmd.Parameters = Array As Object( e_ruta.text,ALMACEN) +' B4XPages.MainPage.reqManager.ExecuteQuery(cmd , 0, "hist_ventastodos") + cmd.Initialize cmd.Name = "select_cat_gunaprod2_GV2" cmd.Parameters = Array As Object(ALMACEN, e_ruta.text) @@ -1367,8 +1422,8 @@ Sub JobDone(Job As HttpJob) If n = "OKActivo" Then Dim cmd As DBCommand cmd.Initialize - cmd.Name = "select_ruta_GV2_70_10" - cmd.Parameters = Array As Object(ALMACEN,e_ruta.text) + cmd.Name = "select_ruta_GV2_70_19" + cmd.Parameters = Array As Object(ALMACEN,e_ruta.text,usuario) B4XPages.MainPage.reqManager.ExecuteQuery(cmd , 0, "ruta") 'Log("Usuario guardado en BD es 'Valido'") Else @@ -1395,6 +1450,21 @@ Sub JobDone(Job As HttpJob) End If End If + If Job.JobName = "DBRequest" Then + Dim RESULT As DBResult = B4XPages.MainPage.reqManager.HandleJob(Job) + If RESULT.Tag = "envioalmacen" Then 'query tag + For Each records() As Object In RESULT.Rows + Dim CAT_RU_ENVIO_ALMACEN As String = records(RESULT.Columns.Get("CAT_RU_ENVIO_ALMACEN")) + Dim CAT_RU_LAT As String = records(RESULT.Columns.Get("CAT_RU_LAT")) + Dim CAT_RU_LONG As String = records(RESULT.Columns.Get("CAT_RU_LONG")) + B4XPages.MainPage.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("ENVIOALMACEN",CAT_RU_ENVIO_ALMACEN)) + B4XPages.MainPage.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("RULAT",CAT_RU_LAT)) + B4XPages.MainPage.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("RULONG",CAT_RU_LONG)) + Next +' If Starter.marcaCel <> "Sony" Then ToastMessageShow(" Historico Marcas" , True) + End If + End If + If Job.JobName = "DBRequest" Then Dim result1 As DBResult = B4XPages.MainPage.reqManager.HandleJob(Job) If result1.Tag = "CHECAENCUESTA" Then 'query tag @@ -1414,6 +1484,31 @@ Sub JobDone(Job As HttpJob) End If End If End If + + If Job.JobName = "DBRequest" Then + Dim RESULT As DBResult = B4XPages.MainPage.reqManager.HandleJob(Job) + If RESULT.Tag = "hist_ventastodos" Then 'query tag + + For Each records() As Object In RESULT.Rows +' Log ("NO HACE NADA") + Dim HVD_CLIENTE As String = records(RESULT.Columns.Get("HVD_CLIENTE")) + Dim HVD_PRONOMBRE As String = records(RESULT.Columns.Get("HVD_PRONOMBRE")) + Dim HVD_CANT As String = records(RESULT.Columns.Get("HVD_CANT")) + Dim HVD_COSTO_TOT As String = records(RESULT.Columns.Get("HVD_COSTO_TOT")) + Dim HVD_FECHA As String = records(RESULT.Columns.Get("HVD_FECHA")) + Dim HVD_NUM_TICKET As String = records(RESULT.Columns.Get("HVD_NUM_TICKET")) + Dim HVD_CODPROMO As String = records(RESULT.Columns.Get("HVD_CODPROMO")) +' Log(HVD_CLIENTE&"--"&HVD_PRONOMBRE&"--"&HVD_CANT&"--"&HVD_COSTO_TOT) + + Private tc As Cursor = Starter.skmt.ExecQuery($"select * from hist_ventastodos where HVD_CLIENTE = '${HVD_CLIENTE}' and HVD_PRONOMBRE = '${HVD_PRONOMBRE}' AND HVD_CANT = '${HVD_CANT}' AND HVD_CODPROMO = '${HVD_CODPROMO}' AND HVD_COSTO_TOT = '${HVD_COSTO_TOT}' "$) + If tc.RowCount = 0 Then + B4XPages.MainPage.skmt.ExecNonQuery2("INSERT INTO hist_ventastodos(HVD_CLIENTE,HVD_PRONOMBRE,HVD_CANT,HVD_COSTO_TOT, HVD_FECHA, HVD_NUM_TICKET,HVD_CODPROMO) VALUES (?,?,?,?,?,?,?)", Array As Object (HVD_CLIENTE,HVD_PRONOMBRE,HVD_CANT,HVD_COSTO_TOT,HVD_FECHA, HVD_NUM_TICKET,HVD_CODPROMO)) + End If + + Next + + End If + End If If Job.JobName = "DBRequest" Then Dim RESULT As DBResult = B4XPages.MainPage.reqManager.HandleJob(Job) @@ -1446,10 +1541,11 @@ Sub JobDone(Job As HttpJob) Dim CAT_CL_DIASCREDITO As String = records(RESULT.Columns.Get("CAT_CL_DIASCREDITO")) Dim CAT_CL_CLASIFICADOR3 As String = records(RESULT.Columns.Get("CAT_CL_CLASIFICADOR3")) Dim CAT_CL_CLASIFICADOR2 As String = records(RESULT.Columns.Get("CAT_CL_CLASIFICADOR2")) + Dim CAT_CL_CLASIFICADOR5 As String = records(RESULT.Columns.Get("CAT_CL_CLASIFICADOR5")) '########################## INICIA CODIGO PARA CREDITOS #################### Dim CAT_CL_BCREDITO As String = records(RESULT.Columns.Get("CAT_CL_BCREDITO")) - B4XPages.MainPage.skmt.ExecNonQuery2("INSERT INTO kmt_info3(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_MTOCOMPRA,CAT_CL_NUM_SERIEFISICO, gestion,CAT_CL_BCREDITO,CAT_CL_TIPOCLIENTE,FOTO,CAT_CL_LIMITECREDITO,CAT_CL_DIASCREDITO,CAT_CL_CLASIFICADOR3,CAT_CL_CLASIFICADOR2) 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_MTOCOMPRA,CAT_CL_NUM_SERIEFISICO,CAT_CL_BCREDITO,CAT_CL_TIPOCLIENTE,CAT_CL_FOTO,CAT_CL_LIMITECREDITO,CAT_CL_DIASCREDITO,CAT_CL_CLASIFICADOR3,CAT_CL_CLASIFICADOR2)) + B4XPages.MainPage.skmt.ExecNonQuery2("INSERT INTO kmt_info3(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_MTOCOMPRA,CAT_CL_NUM_SERIEFISICO, gestion,CAT_CL_BCREDITO,CAT_CL_TIPOCLIENTE,FOTO,CAT_CL_LIMITECREDITO,CAT_CL_DIASCREDITO,CAT_CL_CLASIFICADOR3,CAT_CL_CLASIFICADOR2,CAT_CL_CLASIFICADOR5) 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_MTOCOMPRA,CAT_CL_NUM_SERIEFISICO,CAT_CL_BCREDITO,CAT_CL_TIPOCLIENTE,CAT_CL_FOTO,CAT_CL_LIMITECREDITO,CAT_CL_DIASCREDITO,CAT_CL_CLASIFICADOR3,CAT_CL_CLASIFICADOR2,CAT_CL_CLASIFICADOR5)) '########################## TERMINA CODIGO PARA CREDITOS #################### B4XPages.MainPage.skmt.ExecNonQuery2("INSERT INTO HIST_STAY_STORE(HSS_CODIGO, HSS_IN , HSS_OUT , HSS_TOT) VALUES (?,0,0,0)", Array As Object (CAT_CL_CODIGO)) Next @@ -2464,6 +2560,10 @@ Log("--------> BORRAMOS") B4XPages.MainPage.skmt.ExecNonQuery("DELETE FROM ENCUESTA_MODULO3") B4XPages.MainPage.skmt.ExecNonQuery("DELETE FROM ENCUESTA_MODULO4") B4XPages.MainPage.skmt.ExecNonQuery("DELETE FROM ENCUESTA_MODULO5") + B4XPages.MainPage.skmt.ExecNonQuery("DELETE FROM hist_ventastodos") + B4XPages.MainPage.skmt.ExecNonQuery2("DELETE FROM CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?",Array As String("ENVIOALMACEN")) + B4XPages.MainPage.skmt.ExecNonQuery2("DELETE FROM CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?",Array As String("RULAT")) + B4XPages.MainPage.skmt.ExecNonQuery2("DELETE FROM CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?",Array As String("RULONG")) B4XPages.MainPage.skmt.ExecNonQuery("DELETE FROM BITACORAGPS") B4XPages.MainPage.skmt.ExecNonQuery("DELETE FROM RUTA_SUPLENCIA") B4XPages.MainPage.skmt.ExecNonQuery("DELETE FROM TICKET_IMPRESO") @@ -3013,7 +3113,26 @@ Sub tickets_dia_Click End Sub Sub GPS_LocationChanged (Location1 As Location) - + Dim al_longitud As String = 0 + Dim al_latitud As String = 0 + Dim envlat As Cursor = Starter.skmt.ExecQuery("SELECT CAT_VA_VALOR FROM CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = 'RULAT'") +' c = Starter.skmt.ExecQuery2("SELECT CAT_VA_VALOR FROM CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?",Array As String("LATITUD")) + If envlat.RowCount > 0 Then + envlat.Position = 0 + Dim al_latitud As String = envlat.GetString("CAT_VA_VALOR") + End If + envlat.Close + Dim envlat As Cursor = Starter.skmt.ExecQuery("SELECT CAT_VA_VALOR FROM CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = 'RULONG'") +' envlat = Starter.skmt.ExecQuery2("SELECT CAT_VA_VALOR FROM CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?",Array As String("LONGITUD")) + If envlat.RowCount > 0 Then + envlat.Position = 0 + Dim al_longitud As String = envlat.GetString("CAT_VA_VALOR") + End If + envlat.Close + Dim ubi1, ubi2 As Location + ubi1.Initialize2(B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps) + ubi2.Initialize2(al_latitud, al_longitud) + distancealm = ubi1.DistanceTo(ubi2) End Sub Sub Btn_Ubicar_Click diff --git a/B4A/C_historicobatyodos.bas b/B4A/C_historicobatyodos.bas new file mode 100644 index 0000000..040795d --- /dev/null +++ b/B4A/C_historicobatyodos.bas @@ -0,0 +1,168 @@ +B4A=true +Group=Default Group +ModulesStructureVersion=1 +Type=Class +Version=12.8 +@EndOfDesignText@ +Sub Class_Globals + Private Root As B4XView 'ignore + Private xui As XUI 'ignore + + Dim g As GPS + Dim clie_id As String + Dim sDate,sTime As String + Dim usuario As String + + Dim c As Cursor + Dim ruta As String + Dim Regresar As Button + + + Dim ListView1 As ListView + Dim L_CANT As Label + Dim L_TOTAL As Label + Dim borra As Button + Dim Existe As String + Dim result As String + ' Dim lat_gps, lon_gps As String + + Private Titulo As Label + Private b_desc As Button + Private ListView2 As ListView + Dim tgl As Toggle + Private p_nota As Panel + Private Panel1 As Panel + Private l_productohist As Label + Private l_s1 As Label + Private l_s2 As Label + Private l_s3 As Label + Private l_s4 As Label + Private CustomListView1 As CustomListView + Private L_PROMEDIOHIST As Label +End Sub + +'You can add more parameters here. +Public Sub Initialize As Object + Return Me +End Sub + +'This event will be called once, before the page becomes visible. +Private Sub B4XPage_Created (Root1 As B4XView) + Root = Root1 + 'load the layout to Root + Root.LoadLayout("nota3") + borra.Visible = False + Titulo.Text = "Acumulado" + b_desc.Visible = False +End Sub + + + + + +Sub B4XPage_Appear + Panel1.Visible = False + If Not(Starter.gps.GPSEnabled) Then + ToastMessageShow("Es necesario tener el GPS encendido", True) + StartActivity(Starter.gps.LocationSettingsIntent) + End If + + L_CANT.Text = "" + L_TOTAL.Text = "" + + c = B4XPages.MainPage.skmt.ExecQuery("select count(*) as EXISTE from hist_ventastodos WHERE HVD_CLIENTE IN (Select CUENTA from cuentaa) ORDER BY HVD_CODPROMO, HVD_COSTO_TOT ASC") + c.Position = 0 + Existe = c.GetString("EXISTE") + c.Close + + ' ===================================================================== + ' NUEVA LÓGICA DE LISTVIEW1: DISEÑO "TICKET MODERNO" + ' ===================================================================== + ListView1.Clear + ListView1.Visible = True + + ' 1. Fondo de la lista: Un gris muy claro/hueso para simular el papel + ListView1.Color = xui.Color_RGB(245, 245, 245) + + ' 2. Diseño del Encabezado (El Ticket y la Fecha) + ListView1.SingleLineLayout.Label.TextSize = 16 + ' Azul oscuro elegante para separar visualmente los tickets + ListView1.SingleLineLayout.Label.TextColor = xui.Color_RGB(25, 118, 210) + ListView1.SingleLineLayout.Label.Typeface = Typeface.DEFAULT_BOLD + ' Centrado en ambas direcciones para que parezca un divisor + ListView1.SingleLineLayout.Label.Gravity = Bit.Or(Gravity.CENTER_VERTICAL, Gravity.CENTER_HORIZONTAL) + ListView1.SingleLineLayout.ItemHeight = 50dip + + ' 3. Diseño del Detalle (Los Productos) + ListView1.TwoLinesLayout.Label.TextSize = 16 + ListView1.TwoLinesLayout.Label.TextColor = xui.Color_RGB(33, 33, 33) ' Gris casi negro (mejor lectura) + ListView1.TwoLinesLayout.Label.Typeface = Typeface.DEFAULT_BOLD + ListView1.TwoLinesLayout.Label.Gravity = Gravity.CENTER_VERTICAL + + ListView1.TwoLinesLayout.SecondLabel.TextSize = 15 + ' Verde oscuro para destacar el dinero y la cantidad + ListView1.TwoLinesLayout.SecondLabel.TextColor = xui.Color_RGB(56, 142, 60) + ListView1.TwoLinesLayout.SecondLabel.Typeface = Typeface.DEFAULT_BOLD + ListView1.TwoLinesLayout.ItemHeight = 70dip ' Espacio cómodo para que respire el texto + + ' Query: Ordena de más antiguo a más reciente + Dim queryVentas As String = $" + SELECT HVD_NUM_TICKET, HVD_PRONOMBRE, HVD_CANT, HVD_COSTO_TOT, HVD_FECHA + FROM hist_ventastodos + WHERE HVD_CLIENTE IN (Select CUENTA from cuentaa) + ORDER BY + SUBSTR(HVD_FECHA, 7, 4) ASC, + SUBSTR(HVD_FECHA, 4, 2) ASC, + SUBSTR(HVD_FECHA, 1, 2) ASC, + HVD_NUM_TICKET ASC, + HVD_CODPROMO, + HVD_COSTO_TOT ASC + "$ + + c = B4XPages.MainPage.skmt.ExecQuery(queryVentas) + + If c.RowCount > 0 Then + Dim currentTicket As String = "" + + For i = 0 To c.RowCount - 1 + c.Position = i + + Dim ticket As String = c.GetString("HVD_NUM_TICKET") + Dim fecha As String = c.GetString("HVD_FECHA") + Dim producto As String = c.GetString("HVD_PRONOMBRE") + Dim cant As String = c.GetString("HVD_CANT") + Dim costo As String = c.GetString("HVD_COSTO_TOT") +' Dim Costotodo As Double = 0 + + ' Agregamos el separador de Ticket + If ticket <> currentTicket Then +' Costotodo = Costotodo + costo +' ListView1.AddSingleLine($"🎫 TICKET: ${ticket} | 📅 ${fecha} ${CRLF} 💵 Total: $${NumberFormat2(Costotodo,0,2,2,False)}"$) + ListView1.AddSingleLine($"🎫 TICKET: ${ticket} | 📅 ${fecha}"$) + currentTicket = ticket + End If + + ' Formateamos el texto del detalle usando Smart String Literal para que se vea más profesional + Dim detalle As String = $"📦 Cantidad: ${cant} | 💵 Total: $${costo}"$ + ListView1.AddTwoLines(producto, detalle) + Next + End If + c.Close + ' ===================================================================== + + ' Lógica para totales + If Existe <> "0" Then + c = B4XPages.MainPage.skmt.ExecQuery("select SUM(HVD_CANT) AS PC_NOART, SUM(HVD_COSTO_TOT) AS PC_MONTO from hist_ventastodos where HVD_CLIENTE in (Select CUENTA from cuentaa)") + c.Position = 0 + L_CANT.Text = c.GetString("PC_NOART") + L_TOTAL.Text = c.GetString("PC_MONTO") + c.Close + End If + + ' ... + ' (AQUÍ SIGUE TU CÓDIGO DEL CustomListView1 PARA EL PROMEDIO DE 4 SEMANAS) + ' CustomListView1.AsView.Height = Root.Height * 0.45 + ' ... +End Sub + + diff --git a/B4A/Files/cliente.bal b/B4A/Files/cliente.bal index 1f88f75ca7b2fdcaf9c07cfcb1c3e4aae1c4f405..f6df81319e68acb69a2314c98285d32ea6b96e00 100644 GIT binary patch delta 5957 zcmb7{4_uAc8^G_mD&AY&d%G_Bs~d$>Dt}A=O;M;DDHE$C#4z*UW@(!;sj0_L^jl=> z7ZWS)%rv8ZGvvoaq>U`2gskLmY5G0qz5O}wmCt^^>UsOV=RD6j&pGe&Jm-CnY}R|2 zu4k+-5{aA@B9R3D?>%Jvh!}H7bD~zoEm;w>Vvgn&xnW?~6PuRDu8NuyvjV>9-xu0? zNo9uEHZ45LKlrWb{?o$zz?d^58JfWykc1xCrH5jNG6-cb$`BNLl%XgN3_CLH#PBfW zj&YokT~J(6hBG{Z;gMb3S2U{YMl`yEA;i$S)3vc3t@z&q#S_H~#hYOthJ6|KV|X0H zZ!tWcVgD{p5C!1P1eA#=feZ&RJc;4S3{PP=nBfqH)eMI+JeB7J?ZnfVjxdI&GaSxv z1j92Jew*Q$3`a6Ni{aTgf9LAoVK|E6Xoh1Lp2Kh~!*dyqV|X6J^V>OrZu8%U4|DkyoBMU48Ohwq%xew@aGI~WjLMT z42FT>Z4Cc|;e_qXO(w%T7~YATh4N37FBr~dco)OF8O}l8gYqTHR}AMOW7;eDy#E*8 z^gz)=$%EfzA0^}wk;pow7v9s>joU5-{p6xddV1O0e@TGf+!f`=?2W8q>!OYJEMF55 zTt31$uXN(!qO~=TUxayYj`yhjbgqLkt2OG?u2*|YpTF%^{e?2ewAWXk{SA{QJZM%|rUU-1cvg^~{j4+>o)Mu~wdGw|7Pu?KUXCbf;;b_k_4}5e-*XU8&TI z@eBzlzx8;?F5}j|FUt~kZ?4qqJu&_0EQ5!ab26?c$KCDMT6!(HCj4T4@+i4gj~g|s z9dqK-bEA(phdo%DrmReOdf!q}ba+JdfNvHhk3Z`#9U*i1B6B8;tCJqaAKX@)Jb@`f~k5wf_49mS1e_T)I zpf+=JD)P#|xOGv%j^9Q~3>KcQ^B9|Q&~;#1eZ#@X(C>cF?YU{=l%M;ZyB9cY?fR;! z>&ez1>`s2%QaNDVXWN`itNKSBy>r;=V8Oae{wrrZjVy5Dt#h>a|^obF@y@A8`AytrAU6eS$Z@RxMC4o9}zqOZOeR5pL>CnR1l z?|oO`Qf<3SBcb}0Ex1fD(Ek=&Zfja0l#n{y2uCRXS^;HE3R#`duzjx;Z2?VR{ zdE`FokAmtJ3)y`gU0jp+fe38A9}9(PQb^4Vk<_CKzxxkiS(_`k>{NjL4ny)Mw1xMv zX~0hM1gizV!4L6{-(U#>zpsA^x1?}K9%)2FN4)x^_(S78e~@O`iyvu2pb7kP&0%Sl zLe_)>bUlwo&DN}JLLPU9(_>+GM>t8IV7ogC_XL)u214;o4vbqkjVwEikf)v2Pv2nu zti$?Qr?uzq0`eRV4ebqWyS-%3bqo*99uDhs>c|UR(m+WPZUevQ7j)5Zc+Yv#%$sI> z=_P9xn7#njVijqDwlCAhy~G}Ve_Ij$LZPKt#J$1`-%JC#jkbtze1gJ>@j`#}+MB_( z)-@y74&ZAG@XfU#tuQOs+^h#`b#37b)NeP2P#=3xJ@2I{&fP_b9uz(p1*%jF7@aT0 zm9%H3=6YTa0*(i44JV-&{Ic{3_@?yNIP6tV zg~K!3#8_ZX)W_h}TVoE@@d{|%ZVRS|rF1--#n$kij|4W{^abMr|2NhOLy#ZS)`~ag zpAmYXtrL9y8R|GhOF}~dmITez!j%NPG#rt_r9%@SO(VtiJ!(>d*Gf)8PiQ^_We|M0 zfymKmwOp<<7ImALzzI#7p#r$(UMpXKKZpzVpLg zP@l8~^#M-YUmHF*H*t`7Jeyeak>>M+gYXh5?M%-a0>#0!YH^VDV>VHtf}>0&7~C4R zoE!uDPvj9B+6xPQk`impmXm7<8GtdZmJQHRf7CRH41|)(K+V;XafI0NO19l7*-<5^ zp2tDsPoAcOP=kN0gAw#GCbU^S1je7T)3?XAp|IqXr48-nD`pU?@L5Lty3*Df@=sL} z2T(oqhBH4a@x;nG5Vl_BWS)Xi#=^daKvu8?!p9 z`&+cS!?RmbRFhZLLZ918h+JgG*YJ05OU2_lYq(~^%{(IU$EjSN>&WH}jCsM~{ z6NSU!5_}>0?r`W|)2SH9D+YF>c)uo_1kpMN?sXROAfd+V4n*J0hJptc;BwnDqn_Ux zp^GQTWIop>cjelY&Rm-!7#&q~axI$#^LZ95(3_&&pAed7M2%%eEm!L*&=M00IS&OT z=98ws$+T%W40D=J)fx3onP#d9XmBSm@+qDiC8K3wLbI+k(u6$1T$|2E=k#urv?&zx zxQK*zY>_ye&!4UrbQ-BSPqvW=x^B~m_E8M=v0l?({!;~Qv=70Y%z#@@6Aj-+HNLRV zByekj1?+F(J?$6SVUDrO|7gvr$53`*G&D9_Vc>Akx5XX`XWHnFLuTy|n$26yexp?pTx{(N#VsE4cZ53HtSh@<%P-3gR=iw7qG(Zpvuz64P-7vF)-_1a z8V&EazWEg^1|yxmV*T%*I59d?bOpsw?dJ^~{cDl#nloDnaq9Tk$($r6QhdbhF59&2 zC9yP7G9&cx6^+&;dMwTDhy(dt!L+g6q)Hs0Dsck6x!S{)X2R5?7sLcB_&k31=LyyL z7@bdxV`haO2~n0}G-wZh=1VHw+f}a+JHTRx8Cigy^%?MnPpNtwov;22_~;dHA`qQo WORKCQO%5v@ganJ>Qn@337W@|%zwx^O delta 5893 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 diff --git a/B4A/Files/encuesta_1.bal b/B4A/Files/encuesta_1.bal new file mode 100644 index 0000000000000000000000000000000000000000..9d2294835dc2660ede2cbd76b45abeb318583ab2 GIT binary patch literal 10449 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 diff --git a/B4A/Files/historicobat2.bal b/B4A/Files/historicobat2.bal index 1bd732945b67799aed137a15ad5a64a083ec66e8..0c2c47d0055af532e4c6249ba44f4d9355de79c1 100644 GIT binary patch delta 62 vcmZ2zztDa|BAcNJ8v_G_PhwJPjxiIE6>JRWn}GR7aK0&+Z@7698^0s~stOE~ delta 62 vcmZ2zztDa|BAcNh8v_G_PhwJPjxiIE6>J3On}GSoaK0&+Z?bt38^0s~scH<9 diff --git a/B4A/Files/nota3.bal b/B4A/Files/nota3.bal new file mode 100644 index 0000000000000000000000000000000000000000..f4157699df9781e36530f7845889575b9187c896 GIT binary patch literal 8277 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 F{{Y_B(98e; literal 0 HcmV?d00001 diff --git a/B4A/Guna Vistas V3.1.b4a b/B4A/Guna Vistas V3.1.b4a index 063dbe2..b3cbb1d 100644 --- a/B4A/Guna Vistas V3.1.b4a +++ b/B4A/Guna Vistas V3.1.b4a @@ -1,18 +1,21 @@ Build1=Default,gunav2.keymon.com.mx File1=alert2.png File10=clientes.bal -File100=seleccion.bal -File101=senial.jpg -File102=sync.png -File103=tache_rojo.png -File104=telefonos.bal -File105=Ticket dia.jpg -File106=ticketdia20.png -File107=ticketsdia.bal -File108=Tiendita.jpg -File109=usuario.png +File100=rojo.png +File101=salma.jpg +File102=salma.png +File103=seleccion.bal +File104=senial.jpg +File105=sync.png +File106=tache_rojo.png +File107=telefonos.bal +File108=Ticket dia.jpg +File109=ticketdia20.png File11=comis.bal -File110=verde.png +File110=ticketsdia.bal +File111=Tiendita.jpg +File112=usuario.png +File113=verde.png File12=contrasena.png File13=datoscliente.bal File14=detalle_promo.bal @@ -20,95 +23,95 @@ File15=durakelo.png File16=durakelo1.png File17=ENCUESSTA_M3.bal File18=ENCUESTA.bal -File19=ENCUESTA_M4.bal +File19=encuesta_1.bal File2=alerta.jpg -File20=ENCUESTA_M5.bal -File21=ENCUESTA_PED.bal -File22=engrane.jpg -File23=engrane.png -File24=engrane18.png -File25=engraneactual.png -File26=errormanager.bal -File27=ESNCUESTA_M2.bal -File28=fondo_kmt.jpg -File29=fondo-rojo.jpg +File20=encuesta_2.bal +File21=ENCUESTA_M4.bal +File22=ENCUESTA_M5.bal +File23=ENCUESTA_PED.bal +File24=engrane.jpg +File25=engrane.png +File26=engrane18.png +File27=engraneactual.png +File28=errormanager.bal +File29=ESNCUESTA_M2.bal File3=alerta_amarilla.png -File30=fondo-rojo.png -File31=foto.bal -File32=gps20.png -File33=guardagestion.bal -File34=guna.png -File35=guna_192x192.jpg -File36=guna_viejo.png -File37=guna18.png -File38=guna-fondo.jpg -File39=guna-fondo.png +File30=fondo_kmt.jpg +File31=fondo-rojo.jpg +File32=fondo-rojo.png +File33=foto.bal +File34=gps20.png +File35=guardagestion.bal +File36=guna.png +File37=guna_192x192.jpg +File38=guna_viejo.png +File39=guna18.png File4=amarillo.png -File40=Hacer pedido.jpg -File41=hacerpedido30.png -File42=historicobat.bal -File43=historicobat2.bal -File44=ic_cloud_download_white_24dp.png -File45=images.png -File46=infonavit1.jpg -File47=inicioFinVenta.bal -File48=intmex_logo_192x192.jpg -File49=itembuttonblue.png +File40=guna-fondo.jpg +File41=guna-fondo.png +File42=Hacer pedido.jpg +File43=hacerpedido30.png +File44=historicobat.bal +File45=historicobat2.bal +File46=ic_cloud_download_white_24dp.png +File47=images.png +File48=infonavit1.jpg +File49=inicioFinVenta.bal File5=anterior.jpg -File50=keymon_logo.png -File51=kmt.db -File52=login.bal -File53=Logo Guna_192x192.png -File54=Logo Guna-01.png -File55=logo sanfer.jpg -File56=Logo_192x192.jpg -File57=logo_exitus1.jpg -File58=logo-guna-18.png -File59=logo-guna-contorno.png +File50=intmex_logo_192x192.jpg +File51=itembuttonblue.png +File52=keymon_logo.png +File53=kmt.db +File54=login.bal +File55=Logo Guna_192x192.png +File56=Logo Guna-01.png +File57=logo sanfer.jpg +File58=Logo_192x192.jpg +File59=logo_exitus1.jpg File6=bus-ar.png -File60=MainPage.bal -File61=Malo.jpg -File62=mapa.bal -File63=mapa_rutas.bal -File64=maparutas.bal -File65=mas-azul.png -File66=mas-azul-red.png -File67=mas-azul-red1.png -File68=menos.png -File69=menosred.png +File60=logo-guna-18.png +File61=logo-guna-contorno.png +File62=MainPage.bal +File63=Malo.jpg +File64=mapa.bal +File65=mapa_rutas.bal +File66=maparutas.bal +File67=mas-azul.png +File68=mas-azul-red.png +File69=mas-azul-red1.png File7=carrito.png -File70=menos-red.png -File71=nota (conflict 2022-07-08-00-16-40).bal -File72=nota.bal -File73=nota2.bal -File74=noventa.bal -File75=nuevocliente.bal -File76=nuevo-cliente20.png -File77=Nvo Cliente.jpg -File78=p&g.png -File79=palomita_verde.png +File70=menos.png +File71=menosred.png +File72=menos-red.png +File73=nota (conflict 2022-07-08-00-16-40).bal +File74=nota.bal +File75=nota2.bal +File76=nota3.bal +File77=noventa.bal +File78=nuevocliente.bal +File79=nuevo-cliente20.png File8=celltitle.bal -File80=pedido.bal -File81=planfia_logo.png -File82=planfia_logo_old.png -File83=planfia_logo_old2.png -File84=principal.bal -File85=proditem.bal -File86=proditem1.bal -File87=proditem2.bal -File88=productos.bal -File89=productos_.bal +File80=Nvo Cliente.jpg +File81=p&g.png +File82=palomita_verde.png +File83=pedido.bal +File84=planfia_logo.png +File85=planfia_logo_old.png +File86=planfia_logo_old2.png +File87=principal.bal +File88=proditem.bal +File89=proditem1.bal File9=cliente.bal -File90=promociones.bal -File91=qr.bal -File92=qr_gallina.jpg -File93=QRPlanLealtad.png -File94=resdia.bal -File95=ResDia.jpg -File96=resdia20.png -File97=rojo.png -File98=salma.jpg -File99=salma.png +File90=proditem2.bal +File91=productos.bal +File92=productos_.bal +File93=promociones.bal +File94=qr.bal +File95=qr_gallina.jpg +File96=QRPlanLealtad.png +File97=resdia.bal +File98=ResDia.jpg +File99=resdia20.png FileGroup1=Default Group FileGroup10=Default Group FileGroup100=Default Group @@ -123,6 +126,9 @@ FileGroup108=Default Group FileGroup109=Default Group FileGroup11=Default Group FileGroup110=Default Group +FileGroup111=Default Group +FileGroup112=Default Group +FileGroup113=Default Group FileGroup12=Default Group FileGroup13=Default Group FileGroup14=Default Group @@ -259,42 +265,43 @@ Library9=compressstrings ManifestCode='This code will be applied to the manifest file during compilation.~\n~'You do not need to modify it in most cases.~\n~'See this link for for more information: https://www.b4x.com/forum/showthread.php?p=78136~\n~AddManifestText(~\n~~\n~)~\n~SetApplicationAttribute(android:icon, "@drawable/icon")~\n~SetApplicationAttribute(android:label, "$LABEL$")~\n~CreateResourceFromFile(Macro, Themes.LightTheme)~\n~AddApplicationText(~\n~)~\n~CreateResourceFromFile(Macro, FirebaseAnalytics.GooglePlayBase)~\n~ 'End of default text.~\n~ ~\n~ ''''' CAMBIA LA CLAVE API~\n~AddApplicationText(~\n~~\n~ ~\n~)~\n~AddApplicationText(~\n~~\n~)~\n~AddManifestText(~\n~~\n~)~\n~~\n~''CreateResourceFromFile(Macro, FirebaseAnalytics.GooglePlayBase)~\n~ 'End of default text.~\n~ ~\n~SetApplicationAttribute(android:usesCleartextTraffic, "true")~\n~ AddManifestText(~\n~~\n~)~\n~AddPermission(android.permission.ACCESS_BACKGROUND_LOCATION)~\n~AddManifestText(~\n~~\n~)~\n~AddManifestText(~\n~~\n~) 'in order to access the device non-resettable identifiers such as IMEI and serial number.~\n~~\n~'///////////////////////// FLP Y PUSH /////////////~\n~ CreateResourceFromFile(Macro, FirebaseAnalytics.GooglePlayBase)~\n~ CreateResourceFromFile(Macro, FirebaseAnalytics.Firebase)~\n~ CreateResourceFromFile(Macro, FirebaseAnalytics.FirebaseAnalytics)~\n~ CreateResourceFromFile(Macro, FirebaseNotifications.FirebaseNotifications)~\n~ SetServiceAttribute(Tracker, android:foregroundServiceType, "location")~\n~'//////////////////////////////////////////////////////~\n~~\n~'/////////////////////// App Updating ////////////////~\n~ AddManifestText(~\n~ )~\n~ AddApplicationText(~\n~ ~\n~ ~\n~ ~\n~ )~\n~ CreateResource(xml, provider_paths,~\n~ ~\n~ ~\n~ ~\n~ ~\n~ ~\n~ )~\n~AddManifestText()~\n~AddManifestText()~\n~AddManifestText()~\n~AddManifestText()~\n~~\n~AddPermission(android.permission.REQUEST_INSTALL_PACKAGES)~\n~AddPermission(android.permission.INTERNET)~\n~AddPermission(android.permission.INSTALL_PACKAGES)~\n~AddPermission(android.permission.READ_EXTERNAL_STORAGE)~\n~AddPermission(android.permission.WRITE_EXTERNAL_STORAGE)~\n~AddPermission(android.permission.READ_PHONE_STATE)~\n~AddPermission(android.permission.WAKE_LOCK)~\n~CreateResourceFromFile(Macro, JhsIceZxing1.CaturePortrait)~\n~ ~\n~SetApplicationAttribute(android:largeHeap, "true")~\n~SetApplicationAttribute(android:allowBackup, "false")~\n~AddPermission(android.permission.BLUETOOTH_ADVERTISE)~\n~AddPermission(android.permission.BLUETOOTH_CONNECT)~\n~AddPermission(android.permission.BLUETOOTH_SCAN)~\n~AddManifestText(~\n~ ~\n~ )~\n~AddManifestText()~\n~~\n~AddManifestText(~\n~ ~\n~ )~\n~ AddPermission(android.permission.MANAGE_EXTERNAL_STORAGE)~\n~ SetApplicationAttribute(android:allowBackup, "false")~\n~ ~\n~ ~\n~ AddManifestText(~\n~ )~\n~ AddPermission(android.permission.READ_EXTERNAL_STORAGE)~\n~~\n~ 'Para que se registre para abrir bases de datos~\n~' AddActivityText(main,~\n~'~\n~'~\n~'~\n~'~\n~')~\n~~\n~ 'Para que se registre para abrir bases de datos~\n~ AddActivityText(main,~\n~~\n~~\n~~\n~~\n~~\n~)~\n~AddPermission(android.permission.CALL_PHONE)~\n~AddPermission(android.permission.READ_EXTERNAL_STORAGE)~\n~AddPermission(android.permission.WRITE_EXTERNAL_STORAGE)~\n~AddPermission("android.permission.MANAGE_EXTERNAL_STORAGE")~\n~AddPermission(android.permission.READ_PHONE_STATE)~\n~ Module1=appUpdater Module10=C_historicobat -Module11=C_Mapas -Module12=C_Nota -Module13=C_NoVenta -Module14=C_NuevoCliente -Module15=C_Pedidos -Module16=C_Principal -Module17=C_Productos -Module18=C_Promos -Module19=C_TicketsDia +Module11=C_historicobatyodos +Module12=C_Mapas +Module13=C_Nota +Module14=C_NoVenta +Module15=C_NuevoCliente +Module16=C_Pedidos +Module17=C_Principal +Module18=C_Productos +Module19=C_Promos Module2=B4XMainPage -Module20=C_UpdateAvailable -Module21=CameraExClass -Module22=cPDF -Module23=DBRequestManager -Module24=EscPosPrinter -Module25=FirebaseMessaging -Module26=MAPA_RUTAS -Module27=Starter -Module28=Subs -Module29=Tracker +Module20=C_TicketsDia +Module21=C_UpdateAvailable +Module22=CameraExClass +Module23=cPDF +Module24=DBRequestManager +Module25=EscPosPrinter +Module26=FirebaseMessaging +Module27=MAPA_RUTAS +Module28=Starter +Module29=Subs Module3=BatteryUtilities +Module30=Tracker Module4=C_Bitacora Module5=C_Cliente Module6=C_Clientes Module7=C_Cuestionario Module8=C_Historico Module9=C_Historico2 -NumberOfFiles=110 +NumberOfFiles=113 NumberOfLibraries=36 -NumberOfModules=29 +NumberOfModules=30 Version=12.8 @EndOfDesignText@ #Region Project Attributes #ApplicationLabel: Guna Preventa #VersionCode: 1 - #VersionName: 6.02.05 + #VersionName: 6.02.16 'SupportedOrientations possible values: unspecified, landscape or portrait. #SupportedOrientations: portrait #CanInstallToExternalStorage: False diff --git a/B4A/Guna Vistas V3.1.b4a.meta b/B4A/Guna Vistas V3.1.b4a.meta index cab34ff..43f44aa 100644 --- a/B4A/Guna Vistas V3.1.b4a.meta +++ b/B4A/Guna Vistas V3.1.b4a.meta @@ -22,6 +22,7 @@ ModuleBookmarks27= ModuleBookmarks28= ModuleBookmarks29= ModuleBookmarks3= +ModuleBookmarks30= ModuleBookmarks4= ModuleBookmarks5= ModuleBookmarks6= @@ -52,6 +53,7 @@ ModuleBreakpoints27= ModuleBreakpoints28= ModuleBreakpoints29= ModuleBreakpoints3= +ModuleBreakpoints30= ModuleBreakpoints4= ModuleBreakpoints5= ModuleBreakpoints6= @@ -71,23 +73,24 @@ ModuleClosedNodes17= ModuleClosedNodes18= ModuleClosedNodes19= ModuleClosedNodes2= -ModuleClosedNodes20=4 -ModuleClosedNodes21= +ModuleClosedNodes20= +ModuleClosedNodes21=4 ModuleClosedNodes22= ModuleClosedNodes23= ModuleClosedNodes24= ModuleClosedNodes25= ModuleClosedNodes26= -ModuleClosedNodes27=3,4,6,8,9 -ModuleClosedNodes28= -ModuleClosedNodes29=20 +ModuleClosedNodes27= +ModuleClosedNodes28=3,4,8,9 +ModuleClosedNodes29= ModuleClosedNodes3= +ModuleClosedNodes30=20 ModuleClosedNodes4= ModuleClosedNodes5= ModuleClosedNodes6= ModuleClosedNodes7=6,8,9,10,11 ModuleClosedNodes8= ModuleClosedNodes9= -NavigationStack=C_Cliente,GPS_LocationChanged,1440,0,C_Cliente,MejorarPrecisionGPS,1278,0,C_Cliente,LA_GPS_Click,1359,0,C_Cliente,Impresion3,2984,6,C_Cliente,Impresion2,3225,0,B4XMainPage,revisaActualizacion,1037,0,C_Cliente,gestionar,1929,0,C_Principal,JobDone,1445,0,C_Cliente,Impresion,3548,0,C_Cliente,B_IMP_Click,2905,0 +NavigationStack=C_Cliente,cb_p7_SelectedIndexChanged,7431,0,C_Cliente,cb_p9_SelectedIndexChanged,7449,0,C_Principal,Subir_Click,659,1,C_Cliente,b_guadarenc_Click,7454,6,C_Cliente,b_ventatb_Click,7411,0,C_Principal,Class_Globals,0,0,C_Principal,connecta_Click,2483,0,C_Principal,JobDone,1419,1,C_Cliente,gest_Click,1928,3,C_Cliente,B4XPage_CloseRequest,3164,0,C_Cliente,gestionar,2342,0 SelectedBuild=0 -VisibleModules=27,2,16,28,5,13,17,29,19,4 +VisibleModules=28,2,17,29,5,14,18,30,20,4 diff --git a/B4A/Starter.bas b/B4A/Starter.bas index a6fe07e..b629a0f 100644 --- a/B4A/Starter.bas +++ b/B4A/Starter.bas @@ -120,6 +120,15 @@ Sub ENVIA_ULTIMA_GPS reqManager.ExecuteCommand(cmd, "actualizaUltimaGPS") skmt.ExecNonQuery2("Update cat_variables set CAT_VA_VALOR = ? WHERE CAT_VA_DESCRIPCION = ?" , Array As String(DateTime.Time(DateTime.Now),"HoraIngreso")) 'Reiniciamos el timer para cuando llamamos el Sub desde "seleccion" + + If B4XPages.MainPage.rutapreventa <> 0 Then + cmd.Initialize + cmd.Name = "select_venta_tb_guna" + cmd.Parameters = Array As Object(B4XPages.MainPage.rutapreventa,B4XPages.MainPage.ALMACEN) + B4XPages.MainPage.reqManager.ExecuteQuery(cmd , 0, "hist_ventastodos") + End If + + Timer1.Enabled = False Timer1.Interval = Interval * 1000 Timer1.Enabled = True @@ -156,6 +165,29 @@ Sub JobDone(Job As HttpJob) Dim RESULT As DBResult = B4XPages.MainPage.reqManager.HandleJob(Job) Log($"Tag: ${RESULT.tag}, success=${Job.Success}"$) End If + + If Job.JobName = "DBRequest" Then + Dim RESULT As DBResult = B4XPages.MainPage.reqManager.HandleJob(Job) + If RESULT.Tag = "hist_ventastodos" Then 'query tag + + For Each records() As Object In RESULT.Rows +' Log ("NO HACE NADA") + Dim HVD_CLIENTE As String = records(RESULT.Columns.Get("HVD_CLIENTE")) + Dim HVD_PRONOMBRE As String = records(RESULT.Columns.Get("HVD_PRONOMBRE")) + Dim HVD_CANT As String = records(RESULT.Columns.Get("HVD_CANT")) + Dim HVD_COSTO_TOT As String = records(RESULT.Columns.Get("HVD_COSTO_TOT")) + Dim HVD_FECHA As String = records(RESULT.Columns.Get("HVD_FECHA")) + Dim HVD_NUM_TICKET As String = records(RESULT.Columns.Get("HVD_NUM_TICKET")) + Dim HVD_CODPROMO As String = records(RESULT.Columns.Get("HVD_CODPROMO")) +' Log(HVD_CLIENTE&"--"&HVD_PRONOMBRE&"--"&HVD_CANT&"--"&HVD_COSTO_TOT) + Private tc As Cursor = skmt.ExecQuery($"select * from hist_ventastodos where HVD_CLIENTE = '${HVD_CLIENTE}' and HVD_PRONOMBRE = '${HVD_PRONOMBRE}' AND HVD_CANT = '${HVD_CANT}' AND HVD_CODPROMO = '${HVD_CODPROMO}' AND HVD_COSTO_TOT = '${HVD_COSTO_TOT}' "$) + If tc.RowCount = 0 Then + B4XPages.MainPage.skmt.ExecNonQuery2("INSERT INTO hist_ventastodos(HVD_CLIENTE,HVD_PRONOMBRE,HVD_CANT,HVD_COSTO_TOT, HVD_FECHA, HVD_NUM_TICKET,HVD_CODPROMO) VALUES (?,?,?,?,?,?,?)", Array As Object (HVD_CLIENTE,HVD_PRONOMBRE,HVD_CANT,HVD_COSTO_TOT,HVD_FECHA, HVD_NUM_TICKET,HVD_CODPROMO)) + End If + Next + + End If + End If ' Log("JOBDONE SUCCESS") End If End Sub \ No newline at end of file diff --git a/B4A/Subs.bas b/B4A/Subs.bas index 3c11ede..d88eafc 100644 --- a/B4A/Subs.bas +++ b/B4A/Subs.bas @@ -779,7 +779,7 @@ End Sub Sub traeRuta2 (cliente As String) As String 'ignore Private c As Cursor Private r As String - c=B4XPages.MainPage.skmt.ExecQuery($"select CAT_CL_RUTA from kmt_info where CAT_CL_CODIGO = '${cliente}' UNION ALL select CAT_CL_RUTA from kmt_info2 where CAT_CL_CODIGO = '${cliente}'"$) + c=B4XPages.MainPage.skmt.ExecQuery($"select CAT_CL_RUTA from kmt_info3 where CAT_CL_CODIGO = '${cliente}'"$) r = "0" If c.RowCount > 0 Then c.Position=0