From e5342c02368e9837ee06d4f42b4360415a0d2cb9 Mon Sep 17 00:00:00 2001 From: Isaac Date: Tue, 17 Dec 2024 11:51:44 -0600 Subject: [PATCH] Version: 4.12.15 Se agrego la geocerca a 50 mts Se agregaron validaciones para tomar promociones aprovadas. --- B4A/C_Cliente.bas | 137 +++++++++++++++++++------- B4A/C_NuevoCliente.bas | 196 +++++++------------------------------ B4A/C_Principal.bas | 164 +++++++++++++++++-------------- B4A/C_Productos.bas | 22 ++++- B4A/Files/cliente.bal | Bin 40036 -> 40036 bytes B4A/Files/clientes.bal | Bin 7986 -> 7986 bytes B4A/Files/nuevocliente.bal | Bin 15028 -> 15029 bytes B4A/MAZAPA.b4a | 2 +- B4A/MAZAPA.b4a.meta | 4 +- B4A/Starter.bas | 3 +- B4A/Subs.bas | 12 ++- B4A/Tracker.bas | 11 ++- 12 files changed, 271 insertions(+), 280 deletions(-) diff --git a/B4A/C_Cliente.bas b/B4A/C_Cliente.bas index 06d0040..56ff346 100644 --- a/B4A/C_Cliente.bas +++ b/B4A/C_Cliente.bas @@ -266,6 +266,11 @@ Sub B4XPage_Appear LA_GPS.TextColor = Colors.Red LA_GPS.Text = "SIN UBICACION GPS" cercavalor = 0 + Tels.Visible = False + gest.Visible = False + bitacora.p_transparenteInicioFin2.Visible = False + bitacora.b_Inicio_Fin_venta2.Visible = False + b_ventaabordo.Enabled = False If Subs.hayPedido Then 'Si hay pedido, deshabilitamos el boton de "No Venta" Log(">>>>> HAY PEDIDO") @@ -392,14 +397,7 @@ Sub B4XPage_Appear Tels.Visible = True gest.Visible = True End If - CallSubDelayed(Tracker, "Track") - CallSubDelayed(Tracker, "StartFLPSmall") - If Tracker.FLP.IsInitialized And 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 + Tels.Visible = True gest.Visible = True @@ -489,13 +487,29 @@ Sub B4XPage_Appear gest.Text = "Recarga" B4XPages.MainPage.recarga = "1" Else - gest.Text = "Pre-venta" + gest.Text = "PREVENTA 24HRS" B4XPages.MainPage.recarga = "0" End If ' LogColor(B4XPages.MainPage.recarga,Colors.Blue) ' If banderaimp = 1 Then ' Guardar_Click ' End If + + Tels.Visible = False + gest.Visible = False + bitacora.p_transparenteInicioFin2.Visible = False + bitacora.b_Inicio_Fin_venta2.Visible = False + b_ventaabordo.Visible = False + + CallSubDelayed(Tracker, "Track") + CallSubDelayed(Tracker, "StartFLPSmall") + If Tracker.FLP.IsInitialized And 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 + End Sub Sub GPS_LocationChanged (Location1 As Location) @@ -503,7 +517,7 @@ Sub GPS_LocationChanged (Location1 As Location) If Tracker.FLP.GetLastKnownLocation.IsInitialized And Tracker.FLP.GetLastKnownLocation.Latitude <> 0 Then B4XPages.MainPage.lat_gps = Tracker.FLP.GetLastKnownLocation.Latitude B4XPages.MainPage.lon_gps = Tracker.FLP.GetLastKnownLocation.Longitude -' Log("Coords set to: " & B4XPages.MainPage.lat_gps & " and " & B4XPages.MainPage.lon_gps) + Log("Coords set to: " & B4XPages.MainPage.lat_gps & " and " & B4XPages.MainPage.lon_gps) End If Dim l1, l2 As Location @@ -518,13 +532,21 @@ Sub GPS_LocationChanged (Location1 As Location) 'now we need the distance between our location and the target location distance = l1.DistanceTo(l2) 'the result is in meter gest.Visible = True -' If distance < 100 Then + If distance < 50 Then LA_GEO.TextColor = Colors.Blue Tels.Visible = True gest.Visible = True -' Else -' LA_GEO.TextColor = Colors.Red - ' End If + bitacora.p_transparenteInicioFin2.Visible = True + bitacora.b_Inicio_Fin_venta2.Visible = True + b_ventaabordo.Visible = True + Else + Tels.Visible = False + gest.Visible = False + bitacora.p_transparenteInicioFin2.Visible = False + bitacora.b_Inicio_Fin_venta2.Visible = False + b_ventaabordo.Visible = False + LA_GEO.TextColor = Colors.Red + End If LA_GEO.Text= $"$1.2{distance/1000} kms"$ 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)) @@ -536,6 +558,8 @@ Sub ListView1_ItemLongClick (Position As Int, Value As Object) End Sub Sub gest_Click + Starter.BanderaActualizar = "1" + Log("---------> Estoy en boton 24HRS:"&Starter.BanderaActualizar) If la_cuenta.Text = "0" Then B4XPages.MainPage.tipo_venta = "ABORDO" Else If la_cuenta.Text = "1" Then @@ -543,7 +567,7 @@ Sub gest_Click Else B4XPages.MainPage.tipo_venta = "PREVENTA_24" End If - +' c = B4XPages.MainPage.skmt.ExecQuery($"SELECT * FROM "$) 'Buscamos en el historial de cuestionarios si el cliente ya tiene cuestionario contestado. ' Private hc As Cursor = Starter.skmt.ExecQuery($"select count(HC_CLIENTE) as cuantos from HIST_CUESTIONARIO where HC_CLIENTE = '${Subs.traeCliente}'"$) ' hc.Position = 0 @@ -1052,6 +1076,18 @@ Sub imprime_preventa sDate=DateTime.Date(DateTime.Now) sTime=DateTime.Time(DateTime.Now) c.Close + + Dim tel As String = "" + Dim t As Cursor = B4XPages.MainPage.skmt.ExecQuery("SELECT CAT_VA_VALOR FROM CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = 'TELEFONO'") + If t.RowCount > 0 Then + t.Position = 0 + tel = t.GetString("CAT_VA_VALOR") + End If + t.Close + + Dim IMEI_BASE As String = Starter.IMEI_BASE + Log("IMEI_BASE desde otra clase: " & IMEI_BASE) + ProgressDialogShow("Imprimiendo, un momento ...") Printer1.DisConnect If Not(Printer1.IsConnected) Then @@ -1083,10 +1119,11 @@ Sub imprime_preventa TAMANO = 0 ESPACIO = 22 BLANCO = " " - Printer1.WriteString("mazapa Distribuciones" & CRLF) + Printer1.WriteString("Compania Logistica Mazapa." & CRLF) Printer1.WriteString(sDate & CRLF) Printer1.WriteString(sTime & CRLF) Printer1.WriteString("Vendedor:" & usuario & CRLF) + Printer1.WriteString("Tel vendedor:" & tel & CRLF) Printer1.WriteString("Tienda: " & La_nombre.Text & CRLF) Printer1.WriteString("ID.Cliente: " & la_cuenta.Text & CRLF) Printer1.WriteString("Calle: " & la_Calle.Text & CRLF) @@ -1098,7 +1135,7 @@ Sub imprime_preventa Printer1.WriteString("------PREVENTA A CREDITO------" & CRLF) End If If c.RowCount > 0 Then - Printer1.WriteString("-----------PREVENTA-----------" & CRLF) + Printer1.WriteString("--------PREVENTA_24--------" & CRLF) Printer1.WriteString("Cant. Precio Importe" & CRLF) Printer1.WriteString("------------------------------" & CRLF) s=skmt.ExecQuery2("select PE_BCAJAS,PE_PRONOMBRE, PE_CANT, length(pe_cant) as L_CANT, PE_COSTOU, length(PE_COSTOU) as L_COSTOU, PE_COSTO_TOT, length(PE_CANT * PE_COSTOU) as L_COSTO_TOT,PE_PROID, PE_CEDIS FROM PEDIDO WHERE PE_FOLIO = ? AND LENGTH(PE_CEDIS) < 4 AND PE_CLIENTE IN (Select CUENTA from cuentaa) order by PE_PROID", Array As String("PREVENTA_24")) @@ -1228,6 +1265,9 @@ Sub imprime_preventa Printer1.WriteString("----ESTE TICKET NO ES UN -----" & CRLF) Printer1.WriteString("--COMPROBANTE FISCAL, SOLO ES-" & CRLF) Printer1.WriteString("--------INFORMATIVO-----------" & CRLF) + Printer1.WriteString("-POR FAVOR REVISE SU PEDIDO,--" & CRLF) + Printer1.WriteString("-UNA VEZ REALIZADA LA ENTREGA-" & CRLF) + Printer1.WriteString("NO HAY CAMBIOS NI DEVOLUCIONES" & CRLF) Printer1.WriteString("------------------------------" & CRLF) Printer1.WriteString(" " & CRLF) Printer1.WriteString(" " & CRLF) @@ -1252,6 +1292,15 @@ Sub imprime_venta sDate=DateTime.Date(DateTime.Now) sTime=DateTime.Time(DateTime.Now) c.Close + + Dim tel As String = "" + Dim t As Cursor = B4XPages.MainPage.skmt.ExecQuery("SELECT CAT_VA_VALOR FROM CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = 'TELEFONO'") + If t.RowCount > 0 Then + t.Position = 0 + tel = t.GetString("CAT_VA_VALOR") + End If + t.Close + ' c=Starter.skmt.ExecQuery2("SELECT CAT_VA_VALOR FROM CAT_VARIABLES WHERE CAT_VA_DESCRIPCION =?", Array As String ("SUCURSAL")) ' c.Position = 0 ' sucursal = c.GetString("CAT_VA_VALOR") @@ -1306,11 +1355,12 @@ Sub imprime_venta ' Printer1.Justify = 1 'printer.Initialize(cmp20.OutputStream) ' Printer1.WriteString("DISTRIBUIDORA ROCHA TULA PACHUCA" & CRLF) - Printer1.WriteString("mazapa Distribuciones" & CRLF) + Printer1.WriteString("Compania Logistica Mazapa." & CRLF) ' Printer1.WriteString(sucursal & CRLF) Printer1.WriteString(sDate & CRLF) Printer1.WriteString(sTime & CRLF) Printer1.WriteString("Vendedor:" & usuario & CRLF) + Printer1.WriteString("Tel vendedor:" & tel & CRLF) Printer1.WriteString("Tienda: " & La_nombre.Text & CRLF) Printer1.WriteString("ID.Cliente: " & la_cuenta.Text & CRLF) Printer1.WriteString("Calle: " & la_Calle.Text & CRLF) @@ -1321,7 +1371,7 @@ Sub imprime_venta Printer1.WriteString(" " & CRLF) c = skmt.ExecQuery2("SELECT * FROM PEDIDO WHERE PE_FOLIO = ?",Array As String("PREVENTA_48")) If c.RowCount > 0 Then - Printer1.WriteString("-----------VENTA-----------" & CRLF) + Printer1.WriteString("--------PREVENTA_48--------" & CRLF) ' Printer1.WriteString("--------------------------------" & CRLF) Printer1.WriteString("Cant. Precio Importe" & CRLF) @@ -1543,18 +1593,38 @@ Sub imprime_venta Printer1.WriteString(" " & CRLF) End If s.Close -' Printer1.Justify = 0 - s=skmt.ExecQuery2("select SUM(PE_COSTO_TOT) AS TOTAL FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) AND PE_FOLIO = ?", Array As String("PREVENTA_48")) - s.Position =0 - ' If s.GetString("TOTAL") - s.GetString("TOTAL2") <> 0 Then - ' Printer1.WriteString("Descuento: $" & (s.GetString("TOTAL2") - s.GetString("TOTAL"))) - ' End If - Printer1.WriteString("Total venta: $" & NumberFormat( s.GetString("TOTAL"),0,2) & CRLF) - + s = skmt.ExecQuery($"SELECT SUM(CAT_GP_PRECIO * PE_CANT) As SUBTOTAL FROM PEDIDO P INNER JOIN CAT_GUNAPROD C ON P.PE_PROID = C.CAT_GP_ID And P.PE_CEDIS = P.PE_PROID WHERE PE_CLIENTE IN (Select cuenta FROM CUENTAA) And PE_FOLIO = 'PREVENTA_48'"$) + Dim subtotal As Double + s.Position = 0 + subtotal = s.GetDouble("SUBTOTAL") s.Close - c= skmt.ExecQuery2("select sum(PE_CANT) as PC_NOART from PEDIDO where PE_CLIENTE in (Select CUENTA from cuentaa) AND PE_PROID NOT IN (SELECT CAT_PA_ID FROM PROMOS_COMP ) AND PE_FOLIO = ?", Array As String("PREVENTA_48")) - C.Position=0 - Printer1.WriteString("Total art. venta: " &NumberFormat( c.GetString("PC_NOART"),0,0) & CRLF) + + Dim subtot As Cursor = skmt.ExecQuery("SELECT SUM(P.PE_COSTO_TOT) As TOTAL_SIN_PROMO FROM PEDIDO P INNER JOIN CAT_GUNAPROD C ON P.PE_PROID = C.CAT_GP_ID WHERE P.PE_CLIENTE IN (Select cuenta FROM CUENTAA) And P.PE_FOLIO = 'PREVENTA_48' And PE_CEDIS Not IN (Select DISTINCT PE_PROID FROM PEDIDO)") + subtot.Position = 0 + subtotal = subtotal + subtot.GetDouble("TOTAL_SIN_PROMO") + subtot.Close + + subtotal = Round2(subtotal, 2) + Printer1.WriteString("Subtotal: $" & NumberFormat(subtotal, 0, 2) & CRLF) + + ' Calcular el descuento + Dim descuento As Double + s = skmt.ExecQuery2("SELECT SUM(PE_COSTO_TOT) AS TOTAL FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) AND PE_FOLIO = ?", Array As String("PREVENTA_48")) + s.Position = 0 + Dim total As Double = s.GetDouble("TOTAL") + descuento = subtotal - total + descuento = Round2(descuento, 2) ' Redondear descuento con precisión de 2 decimales + s.Close + + Printer1.WriteString("Descuento: $" & NumberFormat(descuento, 0, 2) & CRLF) + + ' Mostrar el total de la preventa + Printer1.WriteString("Total preventa: $" & NumberFormat(total, 0, 2) & CRLF) + + ' Contar los artículos en preventa + Dim c As Cursor = skmt.ExecQuery2("SELECT SUM(PE_CANT) AS PC_NOART FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) AND PE_PROID NOT IN (SELECT CAT_PA_ID FROM PROMOS_COMP) AND PE_FOLIO = ?", Array As String("PREVENTA_48")) + c.Position = 0 + Printer1.WriteString("Total art. preventa: " & NumberFormat(c.GetDouble("PC_NOART"), 0, 0) & CRLF) c.Close ' Printer1.WriteString(" " & CRLF) @@ -1583,6 +1653,9 @@ Sub imprime_venta Printer1.WriteString("----ESTE TICKET NO ES UN -----" & CRLF) Printer1.WriteString("--COMPROBANTE FISCAL, SOLO ES-" & CRLF) Printer1.WriteString("--------INFORMATIVO-----------" & CRLF) + Printer1.WriteString("-POR FAVOR REVISE SU PEDIDO,--" & CRLF) + Printer1.WriteString("-UNA VEZ REALIZADA LA ENTREGA-" & CRLF) + Printer1.WriteString("NO HAY CAMBIOS NI DEVOLUCIONES" & CRLF) Printer1.WriteString("------------------------------" & CRLF) Printer1.WriteString(" " & CRLF) Printer1.WriteString(" " & CRLF) @@ -1985,7 +2058,7 @@ Sub mandapiezas End If End Sub -Sub JobDone(Job As HttpJob) +Sub JobDone(Job As HttpJob) ' Log(Job.Success) If Job.Success = False Then ' ToastMessageShow("Error: " & Job.ErrorMessage, True) @@ -2346,8 +2419,6 @@ Private Sub b_ventaabordo_Click c=B4XPages.MainPage.skmt.ExecQuery2("Select * From CAT_GUNAPROD2 where cat_gp_tipo <> ? " , Array As String ("PROMOS")) If c.RowCount > 0 Then - - B4XPages.MainPage.tipo_venta = "PREVENTA_48" ' If B4XPages.MainPage.productos.clv_prods_ll.Size = 0 Then ' B4XPages.MainPage.productos.LlenaProdsLL(Null) diff --git a/B4A/C_NuevoCliente.bas b/B4A/C_NuevoCliente.bas index 50646f0..4f127c4 100644 --- a/B4A/C_NuevoCliente.bas +++ b/B4A/C_NuevoCliente.bas @@ -7,11 +7,9 @@ Version=11.5 Sub Class_Globals Private Root As B4XView 'ignore Private xui As XUI 'ignore - Dim g As GPS Dim ruta As String - Dim c As Cursor - + Dim c As Cursor Dim CANCELA As Button Dim GUARDA As Button Dim cuenta As String @@ -19,8 +17,7 @@ Sub Class_Globals Dim sDate,sTime As String Dim sDate2,sTime2 As String Dim no_cliente As String - Dim no_ruta As String - + Dim no_ruta As String Dim r_4 As RadioButton Dim E_NOMBRE As EditText Dim tgl As Toggle @@ -31,7 +28,6 @@ Sub Class_Globals Private p_cam As Panel Private p_camara As Panel Private b_foto_inci As Button -' Private camEx2 As CameraExClass2 Dim frontCamera As Boolean = False Dim fototomada As String = "0" Dim ALMACEN As String @@ -44,6 +40,7 @@ Sub Class_Globals Private cb_giro As B4XComboBox Dim giros As String Dim hr_ini As String + Dim hr_fin As String Private L_Atiende As Label Private ET_Atiende As EditText Private Label5 As Label @@ -59,33 +56,17 @@ Sub Class_Globals Private l_ini 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) -' B4XPages.SetTitle(Me, $"${Subs.capitalizar(B4XPages.GetPageId(Me))} - ${Application.VersionName}"$) Root = Root1 - 'load the layout to Root Root.LoadLayout("nuevocliente") ruta = File.DirInternal If File.Exists(ruta, "kmt.db") = False Then File.Copy(File.DirAssets, "kmt.db", ruta, "kmt.db") End If -' skmt.Initialize(ruta,"kmt.db", True) -' p_camara.Height = Root.Height -' p_camara.Width = Root.Width -' Starter.rp.CheckAndRequest(Starter.rp.PERMISSION_CAMERA) -' Wait For B4XPage_PermissionResult (Permission As String, Result As Boolean) -' If Result Then - '' camEx2.Initialize(p_cam, frontCamera, Me, "Camera1") - '' frontCamera = camEx2.Front -' Log("inicializamos Camara") -' Else -' ToastMessageShow("Sin permisos de camara!!!", True) -' End If Starter.rp.CheckAndRequest(Starter.rp.PERMISSION_WRITE_EXTERNAL_STORAGE) Wait For B4XPage_PermissionResult (Permission As String, Result As Boolean) If Result Then @@ -93,7 +74,6 @@ Private Sub B4XPage_Created (Root1 As B4XView) Else ToastMessageShow("Sin permisos de escritura!!!", True) End If - Starter.rp.CheckAndRequest(Starter.rp.PERMISSION_READ_EXTERNAL_STORAGE) Wait For B4XPage_PermissionResult (Permission As String, Result As Boolean) If Result Then @@ -103,8 +83,6 @@ Private Sub B4XPage_Created (Root1 As B4XView) End If End Sub -'You can see the list of page related events in the B4XPagesManager object. The event name is B4XPage. - Sub B4XPage_Appear et_direccion.Text = "" E_NOMBRE.Text = "" @@ -140,7 +118,6 @@ Sub B4XPage_Appear StartActivity(Starter.GPS.LocationSettingsIntent) Else Starter.GPS.Start(0, 0) -' If Starter.ubicacionActual.Latitude <> 0 Then GPS_LocationChanged(Starter.ubicacionActual) End If CallSubDelayed(Tracker, "StartFLPSmall") @@ -157,9 +134,7 @@ Sub B4XPage_Appear End If giros = "SELECCIONA UNA OPCIÓN" c.Close - - '------------------------------------------------------------- - + Dim Items2 As List Items2.Initialize Items2.Add("SELECCIONA UNA OPCIÓN") @@ -172,8 +147,13 @@ Sub B4XPage_Appear hr_ini = ("SELECCIONA UNA OPCIÓN") - ' -------------------------------------------------------------- - + Dim Item3 As List + Item3.Initialize + Item3.Add("SELECCIONA UNA OPCIÓN") + cb_hora_fin.SetItems(Item3) + hr_fin = "SELECCIONA UNA OPCIÓN" + l_ini.Text="" + l_fin.Text="" End Sub @@ -201,16 +181,11 @@ Sub CANCELA_Click End Sub Sub GUARDA_Click - ' Verifica si el nombre de la tienda está vacío If E_NOMBRE.Text = "" Then MsgboxAsync("Por favor captura el nombre de la Tienda","Atención") - ' Verifica si la dirección tiene más de 3 caracteres Else If et_direccion.Text.Length > 3 Then - ' Verifica si la latitud es diferente de 0 If lat <> 0 Then - ' Verifica si el giro del cliente está seleccionado If giros <> "SELECCIONA UNA OPCIÓN" Or cb_giro.SelectedItem <> "SELECCIONA UNA OPCIÓN" Then - ' Verifica si el encargado que atiende el negocio está capturado If ET_Atiende.Text <> "" Then If et_colonia.Text <> "" Then If et_colonia.Text <> "" Then @@ -221,7 +196,6 @@ Sub GUARDA_Click sDate = DateTime.Date(DateTime.Now) sTime = DateTime.Time(DateTime.Now) Log($" //////////// Date: ${sDate} - Time: ${sTime} ////////////////"$) - ' Aquí creamos manualmente la hora con el separador de los 2 puntos porque en algunas versiones de Android no respeta el formato "Timeformat = 'HH:mm:ss'" Private hora As String = sTime.SubString2(0,2) Private mins As String = sTime.SubString2(2,4) Private segs As String = sTime.SubString(4) @@ -247,23 +221,19 @@ Sub GUARDA_Click c.Position = 0 usuario = c.GetString("USUARIO") c.Close - ' Starter.skmt.ExecNonQuery2("INSERT INTO HIST_FOTO_CLIENTE(CODIGO, ALMACEN, RUTA) VALUES(?,?,?)", Array As Object(no_cliente, ALMACEN, no_ruta)) - ' Starter.skmt.ExecNonQuery2("INSERT INTO NOVENTA (NV_CLIENTE,NV_FECHA,NV_USER,NV_MOTIVO,NV_LAT,NV_LON,NV_NOMBRE,NV_DIRECCION) VALUES(?,?,?,?,?,?,?,?) ", Array As Object (no_cliente,sDate & sTime, usuario, "NUEVO CLIENTE", lat, lon, E_NOMBRE.Text,et_direccion.Text)) - DateTime.DateFormat = "dd/MM/yyyy" DateTime.Timeformat = "HH:mm:ss" sDate2 = DateTime.Date(DateTime.Now) sTime2 = DateTime.Time(DateTime.Now) Starter.skmt.ExecNonQuery2("INSERT INTO CLIENTES_NUEVOS(CN_ID, CN_FECHA, CN_USER, CN_LAT, CN_LON, CN_NOMBRE, CN_DIRECCION, CN_FOTO, CN_RUTA, CN_GIRO, CN_SOLICITA,CN_COLONIA, CN_TELEFONO, CN_REFERENCIA, CN_HR_INICIO, CN_HR_FIN) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)", Array As String(no_cliente, sDate2 &" "&sTime2, usuario, lat, lon, E_NOMBRE.Text, et_direccion.Text, ALMACEN, no_ruta, cb_giro.SelectedItem, ET_Atiende.Text,et_colonia.Text,et_telefono.Text, et_referencia.Text, cb_hora_ini.SelectedItem, cb_hora_fin.SelectedItem)) - ' fototomada = "0" - B4XPages.ShowPage("Cliente") + B4XPages.ShowPage("Principal") CallSubDelayed(Tracker, "StartFLP") Else - MsgboxAsync("Por favor, debe capturar la referencia de el negocio.","Atención") + MsgboxAsync("Por favor, debe capturar la apertura del negocio.","Atención") End If Else - MsgboxAsync("Por favor, debe capturar la referencia de el negocio.","Atención") + MsgboxAsync("Por favor, debe capturar el cierre del negocio.","Atención") End If Else MsgboxAsync("Por favor, debe capturar la colonia el negocio.","Atención") @@ -272,7 +242,6 @@ Sub GUARDA_Click MsgboxAsync("Por favor, debe capturar el telfono.","Atención") End If Else - ' Mensaje de advertencia si ET_Atiende.Text está vacío MsgboxAsync("Por favor, debe capturar al encargado que atiende el negocio.","Atención") End If Else @@ -286,147 +255,50 @@ Sub GUARDA_Click End If End Sub - - - Private Sub p_nuevoCliente_Click End Sub -'Private Sub b_foto_inci_Click -' camEx2.TakePicture -' p_camara.Visible = False -'' StopCamera2 -'End Sub -' -'Private Sub InitializeCamera2 -' Starter.rp.CheckAndRequest(Starter.rp.PERMISSION_CAMERA) -' Wait For B4XPage_PermissionResult (Permission As String, Result As Boolean) -' If Result Then -' camEx2.Initialize(p_cam, frontCamera, Me, "Camera1") -' frontCamera = camEx2.Front -' Log("inicializamos Camara") -' Else -' ToastMessageShow("Sin permisos de camara!!!", True) -' End If -' Starter.rp.CheckAndRequest(Starter.rp.PERMISSION_WRITE_EXTERNAL_STORAGE) -' Wait For B4XPage_PermissionResult (Permission As String, Result As Boolean) -' If Result Then -' Log("con permisos para escritura") -' Else -' ToastMessageShow("Sin permisos de escritura!!!", True) -' End If -' -' Starter.rp.CheckAndRequest(Starter.rp.PERMISSION_READ_EXTERNAL_STORAGE) -' Wait For B4XPage_PermissionResult (Permission As String, Result As Boolean) -' If Result Then -' Log("con permisos para escritura") -' Else -' ToastMessageShow("Sin permisos de lectura!!!", True) -' End If -'End Sub -' -'Sub Camera1_Ready (Success As Boolean) -' Log("Camara ready") -' If Success Then -' camEx2.SetJpegQuality(90) -' camEx2.SetContinuousAutoFocus -' camEx2.CommitParameters -' camEx2.StartPreview -' Log(camEx2.GetPreviewSize) -' Else -' ToastMessageShow("Cannot open camera.", True) -' Log("Cannot open camera") -' End If -'End Sub -' -'Sub Camera1_PictureTaken (Data()As Byte) -' Log("tome foto") -' Dim filename As String = fototomada -' Dim Dirp As String = File.DirInternal -' Dim Dir As String -' Dim Dir2 As String -' Try -' File.MakeDir(Dirp,"/promotoriakmts") -' Dir = "/promotoriakmts" -' Log("creado en promotoria " & Dirp & Dir) -' Catch -' Dir = "" -' Log("creado en raiz") -' End Try -' -' Try -' File.MakeDir(Dirp & Dir,"/reduccion") -' Dir2 = "/reduccion" -' Log("creado en promotoria " & Dirp & Dir & Dir2) -' Catch -' Dir = "" -' Log("creado en raiz") -' End Try -' -' camEx2.SavePictureToFile(Data, Dirp&Dir, filename) -' camEx2.StartPreview 'restart preview -' ToastMessageShow("Picture saved." & CRLF & "File size: " & File.Size(Dir, filename) & Dir &"," & filename, True) -' Log("Picture saved." & CRLF & "File size: " & File.Size(Dir, filename) & Dir &"," & filename) -' p_camara.Visible = False -' StopCamera2 -' -'End Sub -' -'Private Sub StopCamera2 -'' Capturing = False -' If camEx2.IsInitialized Then -' camEx2.Release -' End If -'End Sub -' -' -'Private Sub B_FOTO_Click -' DateTime.DateFormat="ddMMyyyyHHmmss" -' InitializeCamera2 -' Subs.panelVisible(p_camara, 0, 0) -' fototomada = DateTime.Now & "_cliente.jpg" -'End Sub - Private Sub cb_giro_SelectedIndexChanged (Index As Int) giros = cb_giro.SelectedItem End Sub - -Private Sub cb_hora_ini_SelectedIndexChanged (Index As Int) +Private Sub cb_hora_ini_SelectedIndexChanged(Index As Int) Dim Item3 As List Item3.Initialize Item3.Add("SELECCIONA UNA OPCIÓN") - If cb_hora_ini.SelectedIndex > 0 Then - Dim horaInicio As Int = cb_hora_ini.SelectedItem + 1 - - For i = horaInicio To 23 - Dim hora As String - hora = i - Item3.Add(hora) - Next - Else - Item3.Add("SELECCIONA UNA OPCIÓN") + + If Index = 0 Then + l_ini.Text = "" + cb_hora_fin.SetItems(Item3) + Return End If + + Dim horaInicio As Int = cb_hora_ini.SelectedItem + 1 + For i = horaInicio To 23 + Dim hora As String + hora = i + Item3.Add(hora) + Next cb_hora_fin.SetItems(Item3) - + If cb_hora_ini.SelectedItem >= 7 And cb_hora_ini.SelectedItem <= 11 Then l_ini.Text = "AM" Else If cb_hora_ini.SelectedItem >= 12 And cb_hora_ini.SelectedItem <= 23 Then l_ini.Text = "PM" - Else - l_ini.Text = "" End If - End Sub -Private Sub cb_hora_fin_SelectedIndexChanged (Index As Int) +Private Sub cb_hora_fin_SelectedIndexChanged(Index As Int) + If Index = 0 Then + l_fin.Text = "" + Return + End If + If cb_hora_fin.SelectedItem >= 7 And cb_hora_fin.SelectedItem <= 11 Then l_fin.Text = "AM" Else If cb_hora_fin.SelectedItem >= 12 And cb_hora_fin.SelectedItem <= 23 Then l_fin.Text = "PM" - Else - l_fin.Text = "" End If End Sub \ No newline at end of file diff --git a/B4A/C_Principal.bas b/B4A/C_Principal.bas index f975012..39f960b 100644 --- a/B4A/C_Principal.bas +++ b/B4A/C_Principal.bas @@ -460,12 +460,10 @@ Sub B4XPage_Appear b.Position=0 L_MONTOD.Text = c.GetString("MONTO_DIA") l_cuantosc.Text = c.GetString("CLIENTES_DIA") - D2=B4XPages.MainPage.skmt.ExecQuery("select COUNT(*) AS CUANTOS from PEDIDO ") D2.Position = 0 LPT = D2.GetString("CUANTOS") / l_cuantosc.Text D2.Close - l_cuantosn.Text = b.GetString("CUANTOS") efectiva = c.GetString("CLIENTES_DIA") / e.GetString("POR_VISITAR") l_efectiva.text = Round2(efectiva*100,2) @@ -496,14 +494,12 @@ Sub B4XPage_Appear c.Close b.Close e.Close - c=B4XPages.MainPage.skmt.ExecQuery("select ID_ALMACEN from CAT_ALMACEN") + c=B4XPages.MainPage.skmt.ExecQuery("select ID_ALMACEN from CAT_ALMACEN") C.Position =0 ALMACEN = C.GetString("ID_ALMACEN") c.Close bu.Initialize batterystatus = bu.BatteryInformation - - c=B4XPages.MainPage.skmt.ExecQuery("select usuario from usuarioa") c.Position = 0 usuario = c.GetString("USUARIO") @@ -515,7 +511,6 @@ Sub B4XPage_Appear B4XPages.MainPage.clientesvisitados = l_porvisitar.TEXT B4XPages.MainPage.ALMACEN = ALMACEN B4XPages.MainPage.rutapreventa = l_ruta.text - '////// Para el usuario global - Chv c=B4XPages.MainPage.skmt.ExecQuery("select usuario from usuarioa") c.Position = 0 @@ -524,44 +519,30 @@ Sub B4XPage_Appear c.Close '/////// CallSub(Starter, "ENVIA_ULTIMA_GPS") - - s = B4XPages.MainPage.skmt.ExecQuery("select RS_RUTA FROM RUTA_SUPLENCIA") s.Position = 0 If s.RowCount = 0 Then - Label22.Visible = False l_rutasuplencia.Visible = False l_rutasuplencia.Text = "" - Else If s.RowCount > 0 Then - Label22.Visible = True l_rutasuplencia.Visible = True l_rutasuplencia.Text = s.GetString("RS_RUTA") - End If s.Close - s = B4XPages.MainPage.skmt.ExecQuery("select RUTAA FROM RUTAA") s.Position = 0 If s.RowCount = 0 Then - - l_ruta.Text = 0 - Else If s.RowCount > 0 Then - l_ruta.Text = s.GetString("RUTAA") - End If - If l_ruta.Text = "0" Then p_abordo.Visible = False Else p_abordo.Visible = False End If - ' d = B4XPages.MainPage.skmt.ExecQuery("SELECT CAT_GP_ID, CAT_GP_NOMBRE FROM CAT_GUNAPROD2") ' CLV_PICK_CIEGO.Clear ' For i = 0 To d.RowCount - 1 @@ -570,8 +551,7 @@ Sub B4XPage_Appear ' Log(d.GetString("CAT_GP_ID")) ' Log(d.GetString("CAT_GP_NOMBRE")) ' Next -' d.Close - +' d.Close End Sub Sub Subir_Click @@ -681,7 +661,7 @@ Sub Subir_Click Dim Dir2 As String Dir = "/promotoriakmts" - c=Starter.skmt.ExecQuery("SELECT CN_ID, CN_FECHA , CN_USER, CN_LAT, CN_LON, CN_NOMBRE, CN_DIRECCION, CN_FOTO, CN_ALMACEN, CN_RUTA, CN_GIRO, CN_SOLICITA, CN_COLONIA, CN_TELEFONO FROM CLIENTES_NUEVOS") + c=Starter.skmt.ExecQuery("SELECT CN_ID, CN_FECHA , CN_USER, CN_LAT, CN_LON, CN_NOMBRE, CN_DIRECCION, CN_FOTO, CN_ALMACEN, CN_RUTA, CN_GIRO, CN_SOLICITA, CN_COLONIA, CN_TELEFONO, CN_REFERENCIA, CN_HR_INICIO, CN_HR_FIN FROM CLIENTES_NUEVOS") If c.RowCount>0 Then For i = 0 To c.RowCount - 1 c.Position = i @@ -702,7 +682,7 @@ Sub Subir_Click Dim cmd As DBCommand cmd.Initialize cmd.Name = "insert_clientesnuevos_mazapa3" - cmd.Parameters = Array As Object(c.GetString("CN_ID"), c.GetString("CN_FECHA"), c.GetString("CN_USER"), c.GetString("CN_LAT"), c.GetString("CN_LON"), c.GetString("CN_NOMBRE"), c.GetString("CN_DIRECCION"),ALMACEN, c.GetString("CN_RUTA"), "En espera",c.GetString("CN_GIRO"),dialetra, c.GetString("CN_SOLICITA"), c.GetString("CN_COLONIA"), c.GetString("CN_TELEFONO")) + cmd.Parameters = Array As Object(c.GetString("CN_ID"), c.GetString("CN_FECHA"), c.GetString("CN_USER"), c.GetString("CN_LAT"), c.GetString("CN_LON"), c.GetString("CN_NOMBRE"), c.GetString("CN_DIRECCION"),ALMACEN, c.GetString("CN_RUTA"), "En espera",c.GetString("CN_GIRO"),dialetra, c.GetString("CN_SOLICITA"), c.GetString("CN_COLONIA"), c.GetString("CN_TELEFONO"), c.GetString("CN_REFERENCIA"), c.GetString("CN_HR_INICIO"), c.GetString("CN_HR_FIN")) reqManager.ExecuteCommand(cmd , "inst_clientesn") Next End If @@ -963,6 +943,17 @@ Sub cargar_Click Dim P As PhoneId ' imei = P.GetDeviceId + + cmd.Initialize + cmd.Name = "select_marcas_MAZ" + cmd.Parameters = Array As Object(usuario) + reqManager.ExecuteQuery(cmd , 0, "marcas") + + cmd.Initialize + cmd.Name = "select_tel_mazapa" + cmd.Parameters = Array As Object(usuario) + reqManager.ExecuteQuery(cmd , 0, "telefono") + imei = "xxxx" cmd.Initialize cmd.Name ="insert_drop_mazapa" @@ -1009,10 +1000,10 @@ Sub cargar_Click cmd.Parameters = Array As Object(e_ruta.text, ALMACEN) reqManager.ExecuteQuery(cmd , 0, "kmt_datos") - cmd.Initialize - cmd.Name = "select_cat_clientes_todos_mazapa" - cmd.Parameters = Array As Object(e_ruta.text, ALMACEN) - reqManager.ExecuteQuery(cmd , 0, "kmt_datos_todos") +' cmd.Initialize +' cmd.Name = "select_cat_clientes_todos_mazapa" +' cmd.Parameters = Array As Object(e_ruta.text, ALMACEN) +' reqManager.ExecuteQuery(cmd , 0, "kmt_datos_todos") cmd.Initialize cmd.Name = "select_hist_datos_mazapa" @@ -1052,10 +1043,10 @@ Sub cargar_Click cmd.Parameters = Array As Object(E_RUTA2.text, ALMACEN) reqManager.ExecuteQuery(cmd , 0, "kmt_datos") - cmd.Initialize - cmd.Name = "select_cat_clientes_todos_mazapa" - cmd.Parameters = Array As Object(E_RUTA2.text, ALMACEN) - reqManager.ExecuteQuery(cmd , 0, "kmt_datos_todos") +' cmd.Initialize +' cmd.Name = "select_cat_clientes_todos_mazapa" +' cmd.Parameters = Array As Object(E_RUTA2.text, ALMACEN) +' reqManager.ExecuteQuery(cmd , 0, "kmt_datos_todos") cmd.Initialize cmd.Name = "select_hist_datos_mazapa" @@ -1150,6 +1141,7 @@ Sub JobDone(Job As HttpJob) Log(2) ' Job.Release Else 'If Job Success then ... + Log(3) LogColor("JobDone: '" & reqManager.HandleJob(Job).tag & "' - Registros: " & reqManager.HandleJob(Job).Rows.Size, Colors.RGB(0,160,0)) 'Mod por CHV - 211027 'Verificamos que el usuario guardado en BD sea VALIDO. @@ -1310,45 +1302,67 @@ Sub JobDone(Job As HttpJob) +' If Job.JobName = "DBRequest" Then +' Dim RESULT As DBResult = reqManager.HandleJob(Job) +' If RESULT.Tag = "kmt_datos_todos" Then 'query tag +' S_CC.TEXT = "CARGANDO" +' For Each records() As Object In RESULT.Rows +' Dim CAT_CL_CODIGO As String = records(RESULT.Columns.Get("CAT_CL_CODIGO")) +' Dim CAT_CL_RUTA As String = records(RESULT.Columns.Get("CAT_CL_RUTA")) +' Dim CAT_CL_NOMBRE As String = records(RESULT.Columns.Get("CAT_CL_NOMBRE")) +' Dim CAT_CL_ATIENDE1 As String = records(RESULT.Columns.Get("CAT_CL_ATIENDE1")) +' Dim CAT_CL_ATIENTE2 As String = records(RESULT.Columns.Get("CAT_CL_ATIENTE2")) +' Dim CAT_CL_TELEFONO As String = records(RESULT.Columns.Get("CAT_CL_TELEFONO")) +' Dim CAT_CL_EMAIL As String = records(RESULT.Columns.Get("CAT_CL_EMAIL")) +' Dim CAT_CL_CALLE As String = records(RESULT.Columns.Get("CAT_CL_CALLE")) +' Dim CAT_CL_NOEXT As String = records(RESULT.Columns.Get("CAT_CL_NOEXT")) +' Dim CAT_CL_NOINT As String = records(RESULT.Columns.Get("CAT_CL_NOINT")) +' Dim CAT_CL_CALLE1 As String = records(RESULT.Columns.Get("CAT_CL_CALLE1")) +' Dim CAT_CL_CALLE2 As String = records(RESULT.Columns.Get("CAT_CL_CALLE2")) +' Dim CAT_CL_COLONIA As String = records(RESULT.Columns.Get("CAT_CL_COLONIA")) +' Dim CAT_CL_MUNI As String = records(RESULT.Columns.Get("CAT_CL_MUNI")) +' Dim CAT_CL_EDO As String = records(RESULT.Columns.Get("CAT_CL_EDO")) +' Dim CAT_CL_CP As String = records(RESULT.Columns.Get("CAT_CL_CP")) +' Dim CAT_CL_LONG As String = records(RESULT.Columns.Get("CAT_CL_LONG")) +' Dim CAT_CL_LAT As String = records(RESULT.Columns.Get("CAT_CL_LAT")) +' Dim CAT_CL_MTOCOMPRA As String = records(RESULT.Columns.Get("CAT_CL_MTOCOMPRA")) +' Dim CAT_CL_NUM_SERIEFISICO As String = records(RESULT.Columns.Get("CAT_CL_NUM_SERIEFISICO")) +' Dim CAT_CL_BCREDITO As String = records(RESULT.Columns.Get("CAT_CL_BCREDITO")) +' Dim CAT_CL_LIMITECREDITO As String = records(RESULT.Columns.Get("CAT_CL_LIMITECREDITO")) +' Dim CAT_CL_DIAS_VISITA As String = records(RESULT.Columns.Get("CAT_CL_DIAS_VISITA")) +' B4XPages.MainPage.skmt.ExecNonQuery2("INSERT INTO kmt_info(CAT_CL_CODIGO,CAT_CL_RUTA,CAT_CL_NOMBRE,CAT_CL_ATIENDE1,CAT_CL_ATIENTE2,CAT_CL_TELEFONO,CAT_CL_EMAIL,CAT_CL_CALLE,CAT_CL_NOEXT,CAT_CL_NOINT,CAT_CL_CALLE1,CAT_CL_CALLE2,CAT_CL_COLONIA,CAT_CL_MUNI,CAT_CL_EDO,CAT_CL_CP,CAT_CL_LONG,CAT_CL_LAT,CAT_CL_MTOCOMPRA,CAT_CL_NUM_SERIEFISICO, gestion, CAT_CL_DIAS_VISITA, CAT_CL_BCREDITO, CAT_CL_LIMITECREDITO) 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_DIAS_VISITA, CAT_CL_BCREDITO, CAT_CL_LIMITECREDITO)) +' 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 +' Listo1 = 1 +' S_CC.Text = "LISTO" +' If Starter.marcaCel <> "Sony" Then ToastMessageShow("Catalogo Clientes Actualizados." , True) +' If Listo1 =1 And Listo2 =1 And Listo3 = 1 And Listo4 = 1 Then +' B4XPage_Appear +' img2.Visible=False +' EJECUTANDO=0 +' End If +' End If +' End If + If Job.JobName = "DBRequest" Then Dim RESULT As DBResult = reqManager.HandleJob(Job) - If RESULT.Tag = "kmt_datos_todos" Then 'query tag - S_CC.TEXT = "CARGANDO" + If RESULT.Tag = "telefono" Then 'query tag + For Each records() As Object In RESULT.Rows - Dim CAT_CL_CODIGO As String = records(RESULT.Columns.Get("CAT_CL_CODIGO")) - Dim CAT_CL_RUTA As String = records(RESULT.Columns.Get("CAT_CL_RUTA")) - Dim CAT_CL_NOMBRE As String = records(RESULT.Columns.Get("CAT_CL_NOMBRE")) - Dim CAT_CL_ATIENDE1 As String = records(RESULT.Columns.Get("CAT_CL_ATIENDE1")) - Dim CAT_CL_ATIENTE2 As String = records(RESULT.Columns.Get("CAT_CL_ATIENTE2")) - Dim CAT_CL_TELEFONO As String = records(RESULT.Columns.Get("CAT_CL_TELEFONO")) - Dim CAT_CL_EMAIL As String = records(RESULT.Columns.Get("CAT_CL_EMAIL")) - Dim CAT_CL_CALLE As String = records(RESULT.Columns.Get("CAT_CL_CALLE")) - Dim CAT_CL_NOEXT As String = records(RESULT.Columns.Get("CAT_CL_NOEXT")) - Dim CAT_CL_NOINT As String = records(RESULT.Columns.Get("CAT_CL_NOINT")) - Dim CAT_CL_CALLE1 As String = records(RESULT.Columns.Get("CAT_CL_CALLE1")) - Dim CAT_CL_CALLE2 As String = records(RESULT.Columns.Get("CAT_CL_CALLE2")) - Dim CAT_CL_COLONIA As String = records(RESULT.Columns.Get("CAT_CL_COLONIA")) - Dim CAT_CL_MUNI As String = records(RESULT.Columns.Get("CAT_CL_MUNI")) - Dim CAT_CL_EDO As String = records(RESULT.Columns.Get("CAT_CL_EDO")) - Dim CAT_CL_CP As String = records(RESULT.Columns.Get("CAT_CL_CP")) - Dim CAT_CL_LONG As String = records(RESULT.Columns.Get("CAT_CL_LONG")) - Dim CAT_CL_LAT As String = records(RESULT.Columns.Get("CAT_CL_LAT")) - Dim CAT_CL_MTOCOMPRA As String = records(RESULT.Columns.Get("CAT_CL_MTOCOMPRA")) - Dim CAT_CL_NUM_SERIEFISICO As String = records(RESULT.Columns.Get("CAT_CL_NUM_SERIEFISICO")) - Dim CAT_CL_BCREDITO As String = records(RESULT.Columns.Get("CAT_CL_BCREDITO")) - Dim CAT_CL_LIMITECREDITO As String = records(RESULT.Columns.Get("CAT_CL_LIMITECREDITO")) - Dim CAT_CL_DIAS_VISITA As String = records(RESULT.Columns.Get("CAT_CL_DIAS_VISITA")) - B4XPages.MainPage.skmt.ExecNonQuery2("INSERT INTO kmt_info(CAT_CL_CODIGO,CAT_CL_RUTA,CAT_CL_NOMBRE,CAT_CL_ATIENDE1,CAT_CL_ATIENTE2,CAT_CL_TELEFONO,CAT_CL_EMAIL,CAT_CL_CALLE,CAT_CL_NOEXT,CAT_CL_NOINT,CAT_CL_CALLE1,CAT_CL_CALLE2,CAT_CL_COLONIA,CAT_CL_MUNI,CAT_CL_EDO,CAT_CL_CP,CAT_CL_LONG,CAT_CL_LAT,CAT_CL_MTOCOMPRA,CAT_CL_NUM_SERIEFISICO, gestion, CAT_CL_DIAS_VISITA, CAT_CL_BCREDITO, CAT_CL_LIMITECREDITO) 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_DIAS_VISITA, CAT_CL_BCREDITO, CAT_CL_LIMITECREDITO)) - 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)) + Dim TELEFONO As String = "" + + If RESULT.Columns.Get("CAT_LO_IDTELEFONO") <> Null Then + Dim index As Int = RESULT.Columns.Get("CAT_LO_IDTELEFONO") + If records(index) <> Null Then + TELEFONO = records(index) + End If + End If + + If TELEFONO <> "" Then + B4XPages.MainPage.skmt.ExecNonQuery2("DELETE FROM CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As Object("TELEFONO")) + B4XPages.MainPage.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object("TELEFONO", TELEFONO)) + End If Next - Listo1 = 1 - S_CC.Text = "LISTO" - If Starter.marcaCel <> "Sony" Then ToastMessageShow("Catalogo Clientes Actualizados." , True) - If Listo1 =1 And Listo2 =1 And Listo3 = 1 And Listo4 = 1 Then - B4XPage_Appear - img2.Visible=False - EJECUTANDO=0 - End If End If End If @@ -1431,6 +1445,14 @@ Sub JobDone(Job As HttpJob) S_CH.Text = "LISTO" End If End If + If RESULT.Tag = "marcas" Then 'query tag + For Each records() As Object In RESULT.Rows + Dim MARCAS As String = records(RESULT.Columns.Get("MARCAS")) + B4XPages.MainPage.skmt.ExecNonQuery2("DELETE FROM CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As Object ("MARCAS")) + B4XPages.MainPage.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("MARCAS", MARCAS)) + Next + End If + End If If Job.JobName = "DBRequest" Then @@ -1466,7 +1488,7 @@ Sub JobDone(Job As HttpJob) Dim CAT_PA_MAXPROM As String = records(RESULT.Columns.Get("CAT_PA_MAXPROM")) Dim CAT_PA_MAXPROMREC As String = records(RESULT.Columns.Get("CAT_PA_MAXPROMREC")) Dim CAT_PA_MAXPROMCLIE As String = records(RESULT.Columns.Get("CAT_PA_MAXPROMCLIE")) - B4XPages.MainPage.skmt.ExecNonQuery2("INSERT INTO PROMOS_COMP(CAT_PA_ID, CAT_PA_MAXPROM, CAT_PA_MAXPROMREC, CAT_PA_MAXPROMCLIE) VALUES (?,?,?,?)", Array As Object (CAT_PA_ID, CAT_PA_MAXPROM,CAT_PA_MAXPROMREC,CAT_PA_MAXPROMCLIE)) + B4XPages.MainPage.skmt.ExecNonQuery2("INSERT INTO PROMOS_COMP(CAT_PA_ID, CAT_PA_MAXPROM, CAT_PA_MAXPROMREC, CAT_PA_MAXPROMCLIE) VALUES (?, ?, ?, ?)", Array As Object (CAT_PA_ID, CAT_PA_MAXPROM,CAT_PA_MAXPROMREC,CAT_PA_MAXPROMCLIE)) Next If PB1.Progress = 0 Then PB1.Progress = 30 @@ -2538,10 +2560,10 @@ Sub resdia_Click L_COMP.Text = "0" End If - c=B4XPages.MainPage.skmt.ExecQuery("Select COUNT(*) AS CUANTOS FROM PEDIDO WHERE PE_CEDIS = PE_PROID ") + c=B4XPages.MainPage.skmt.ExecQuery("Select COUNT(*) AS CUANTOS FROM PEDIDO WHERE PE_CEDIS = PE_PROID ") c.Position = 0 If c.GetString("CUANTOS") > 0 Then - d=B4XPages.MainPage.skmt.ExecQuery("Select sum(pe_cant) AS CUANTOS FROM PEDIDO WHERE PE_CEDIS = PE_PROID ") + d=B4XPages.MainPage.skmt.ExecQuery("Select sum(pe_cant) AS CUANTOS FROM PEDIDO WHERE PE_CEDIS = PE_PROID ") d.Position = 0 L_CTE_PROMO.Text = d.GetString("CUANTOS") d.Close @@ -2551,7 +2573,7 @@ Sub resdia_Click L_REDEN_PROMO.Text = 0 End If c.Close - d=B4XPages.MainPage.skmt.ExecQuery("Select COUNT(*) AS CUANTOS FROM PEDIDO ") + d=B4XPages.MainPage.skmt.ExecQuery("Select COUNT(*) AS CUANTOS FROM PEDIDO ") d.Position = 0 L_LIN_TICK.Text = Round2(d.GetString("CUANTOS") / L_VISITCC.Text,2) d.Close diff --git a/B4A/C_Productos.bas b/B4A/C_Productos.bas index c313ea3..6deda48 100644 --- a/B4A/C_Productos.bas +++ b/B4A/C_Productos.bas @@ -1240,8 +1240,18 @@ Sub Busca_TextChanged (Old As String, New As String) listaProds.Initialize listaHints.Initialize Sleep(0) + + Dim marcas As String = "" + Dim m As Cursor = B4XPages.MainPage.skmt.ExecQuery("SELECT CAT_VA_VALOR FROM CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = 'MARCAS'") + If m.RowCount > 0 Then + m.Position = 0 + marcas = m.GetString("CAT_VA_VALOR") + End If + + + ' Dim p As ResultSet = B4XPages.MainPage.skmt.ExecQuery($"select CAT_GP_ID, CAT_GP_NOMBRE, CAT_GP_ALMACEN, CAT_GP_PRECIO, CAT_GP_TIPOPROD from ${Starter.tabla} where CAT_GP_NOMBRE like '%${New}%' and CAT_GP_PRECIO > 0 AND CAT_GP_ALMACEN > 0 and CAT_GP_CLASIF <> 'PROMOS' order by CAT_GP_NOMBRE"$) - Dim p As ResultSet = B4XPages.MainPage.skmt.ExecQuery($"select DISTINCT CAT_GP_ID, CAT_GP_NOMBRE, CAT_GP_ALMACEN, CAT_GP_PRECIO, CAT_GP_TIPOPROD, CAT_DP_CONVERSION1, CAT_DP_PRECIO4, PE_BCAJAS, CAT_DP_CANT_MIN_VENTA from ${Starter.tabla} LEFT JOIN PEDIDO ON CAT_GP_ID = PE_PROID where CAT_GP_NOMBRE like '%${New}%' AND CAT_GP_PRECIO > 0 And CAT_GP_ALMACEN > 0 And CAT_GP_CLASIF <> 'PROMOS' union all select DISTINCT CAT_GP_ID, CAT_GP_NOMBRE, CAT_GP_ALMACEN, CAT_GP_PRECIO, CAT_GP_TIPOPROD, CAT_DP_CONVERSION1, CAT_DP_PRECIO4 , PE_BCAJAS, CAT_DP_CANT_MIN_VENTA from ${Starter.tabla} LEFT JOIN PEDIDO ON CAT_GP_ID = PE_PROID where CAT_GP_PRECIO > 0 And CAT_GP_ALMACEN = 0 And CAT_GP_CLASIF <> 'PROMOS' and cat_gp_id in (select pe_proid from pedido where pe_cliente in (select cuenta from cuentaa)) order by 2"$) + Dim p As ResultSet = B4XPages.MainPage.skmt.ExecQuery($"select DISTINCT CAT_GP_ID, CAT_GP_NOMBRE, CAT_GP_ALMACEN, CAT_GP_PRECIO, CAT_GP_TIPOPROD, CAT_DP_CONVERSION1, CAT_DP_PRECIO4, PE_BCAJAS, CAT_DP_CANT_MIN_VENTA from ${Starter.tabla} LEFT JOIN PEDIDO ON CAT_GP_ID = PE_PROID where CAT_GP_NOMBRE like '%${New}%' AND CAT_GP_PRECIO > 0 And CAT_GP_ALMACEN > 0 And CAT_GP_CLASIF <> 'PROMOS' and CAT_GP_CLASIF IN (${marcas}) AND CAT_GP_CLASIF <> 'ALEN PROMOCIONES' union all select DISTINCT CAT_GP_ID, CAT_GP_NOMBRE, CAT_GP_ALMACEN, CAT_GP_PRECIO, CAT_GP_TIPOPROD, CAT_DP_CONVERSION1, CAT_DP_PRECIO4 , PE_BCAJAS, CAT_DP_CANT_MIN_VENTA from ${Starter.tabla} LEFT JOIN PEDIDO ON CAT_GP_ID = PE_PROID where CAT_GP_PRECIO > 0 And CAT_GP_ALMACEN = 0 And CAT_GP_CLASIF <> 'PROMOS' and CAT_GP_CLASIF IN (${marcas}) AND CAT_GP_CLASIF <> 'ALEN PROMOCIONES' and cat_gp_id in (select pe_proid from pedido where pe_cliente in (select cuenta from cuentaa)) order by 2"$) Log("Llamamos LlenaProdsLL") LlenaProdsLL(p) ' Do While p.NextRow @@ -1292,8 +1302,14 @@ Sub LlenaProdsLL(p As ResultSet) ' Log("NO HAY RESULSET") LogColor(Starter.tabla,Colors.blue) ' Dim p As ResultSet = B4XPages.MainPage.skmt.ExecQuery($"select CAT_GP_ID, CAT_GP_NOMBRE, CAT_GP_ALMACEN, CAT_GP_PRECIO, CAT_GP_TIPOPROD from ${Starter.tabla} where CAT_GP_PRECIO > 0 And CAT_GP_ALMACEN > 0 And CAT_GP_CLASIF <> 'PROMOS' order by CAT_GP_NOMBRE"$) - - Dim p As ResultSet = B4XPages.MainPage.skmt.ExecQuery($"select distinct CAT_GP_ID, CAT_GP_NOMBRE, CAT_GP_ALMACEN, CAT_GP_PRECIO, CAT_GP_TIPOPROD, CAT_DP_CONVERSION1, CAT_DP_PRECIO4, PE_BCAJAS, CAT_DP_CANT_MIN_VENTA from ${Starter.tabla} LEFT JOIN PEDIDO ON CAT_GP_ID = PE_PROID where CAT_GP_PRECIO > 0 And CAT_GP_ALMACEN > 0 And CAT_GP_CLASIF <> 'PROMOS' union all select CAT_GP_ID, CAT_GP_NOMBRE, CAT_GP_ALMACEN, CAT_GP_PRECIO, CAT_GP_TIPOPROD, CAT_DP_CONVERSION1, CAT_DP_PRECIO4 , PE_BCAJAS, CAT_DP_CANT_MIN_VENTA from ${Starter.tabla} LEFT JOIN PEDIDO ON CAT_GP_ID = PE_PROID where CAT_GP_PRECIO > 0 And CAT_GP_ALMACEN = 0 And CAT_GP_CLASIF <> 'PROMOS' and cat_gp_id in (select pe_proid from pedido where pe_cliente in (select cuenta from cuentaa)) order by 2"$) + + Dim marcas As String = "" + Dim m As Cursor = B4XPages.MainPage.skmt.ExecQuery("SELECT CAT_VA_VALOR FROM CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = 'MARCAS'") + If m.RowCount > 0 Then + m.Position = 0 + marcas = m.GetString("CAT_VA_VALOR") + End If + Dim p As ResultSet = B4XPages.MainPage.skmt.ExecQuery($"select distinct CAT_GP_ID, CAT_GP_NOMBRE, CAT_GP_ALMACEN, CAT_GP_PRECIO, CAT_GP_TIPOPROD, CAT_DP_CONVERSION1, CAT_DP_PRECIO4, PE_BCAJAS, CAT_DP_CANT_MIN_VENTA from ${Starter.tabla} LEFT JOIN PEDIDO ON CAT_GP_ID = PE_PROID where CAT_GP_PRECIO > 0 And CAT_GP_ALMACEN > 0 And CAT_GP_CLASIF <> 'PROMOS' AND CAT_GP_CLASIF IN(${marcas}) AND CAT_GP_CLASIF <> 'ALEN PROMOCIONES' union all Select CAT_GP_ID, CAT_GP_NOMBRE, CAT_GP_ALMACEN, CAT_GP_PRECIO, CAT_GP_TIPOPROD, CAT_DP_CONVERSION1, CAT_DP_PRECIO4 , PE_BCAJAS, CAT_DP_CANT_MIN_VENTA from ${Starter.tabla} LEFT JOIN PEDIDO ON CAT_GP_ID = PE_PROID where CAT_GP_PRECIO > 0 And CAT_GP_ALMACEN = 0 And CAT_GP_CLASIF <> 'PROMOS' AND CAT_GP_CLASIF IN(${marcas}) AND CAT_GP_CLASIF <> 'ALEN PROMOCIONES' and cat_gp_id in (select pe_proid from pedido where pe_cliente in (select cuenta from cuentaa)) order by 2"$) End If diff --git a/B4A/Files/cliente.bal b/B4A/Files/cliente.bal index 6ca94f853481f0a6e8de38d7e1ff03f94f821de8..0d872aca757c60db550cdf959b87d799a8508d90 100644 GIT binary patch delta 63 zcmaE|gXzf*rVZ2GCdY?qPd-0gX!8{}4jmY0vSe|+a1;XrgB%buW-u}^$b%TuC)?+1 KY`$DPQ3C)F?G-El delta 62 zcmaE|gXzf*rVZ2GCdb>cPhMM~GWq;;q0Lv^ICPK&CQBCAa}_c$FvtNhW5(pH8HSrL I7f;jx06qv94*&oF diff --git a/B4A/Files/clientes.bal b/B4A/Files/clientes.bal index ff39d9891553163877b062545e675874b6b1805a..4d9f670b9a1d0d7b5873e1c88e9d03b68bd128bd 100644 GIT binary patch delta 29 lcmdmFx5;k98Yae^$!nR!8FM!uWm+UY`4zv&=4z?!EC8=a3rPR~ delta 33 pcmdmFx5;k98YV`c$!nR!8GSb&Wm+UY`8+S%JT7y^`dTs%;e29d7`Q4=09dtjEvL4s`Ev~C*L;UoV>TNmAQfVlVf>onH+sLPvbeH&NyZAZdK38i%hH;r%t}0lEpY}vY>|4 0 Then + Log("----->1<--------------") c.Position=0 Private antCant As Int = 0 If IsNumber(c.GetInt("PE_CANT")) Then antCant=c.GetInt("PE_CANT") Private difCant As Int = cant - antCant B4XPages.MainPage.skmt.ExecNonQuery($"update pedido set pe_cant = ${cant}, pe_costo_tot = ${(cant*c.GetString("PE_COSTOU"))}, PE_CANTC = ${cantc}, PE_BCAJAS = ${bcajas} where pe_cedis = '${cedis}' and pe_proid = '${prodId}' and pe_cliente = '${clienteId}' AND PE_FOLIO = '${B4XPages.MainPage.tipo_venta}'"$) - B4XPages.MainPage.skmt.ExecNonQuery($"update ${Starter.tabla} set cat_gp_almacen = cat_gp_almacen - (${difCant}) where cat_gp_id = '${prodId}' "$) +' B4XPages.MainPage.skmt.ExecNonQuery($"update ${Starter.tabla} set cat_gp_almacen = cat_gp_almacen - (${difCant}) where cat_gp_id = '${prodId}' "$) + B4XPages.MainPage.skmt.ExecNonQuery($"update CAT_GUNAPROD set cat_gp_almacen = cat_gp_almacen - (${difCant}) where cat_gp_id = '${prodId}' "$) + B4XPages.MainPage.skmt.ExecNonQuery($"update CAT_GUNAPROD2 set cat_gp_almacen = cat_gp_almacen - (${difCant}) where cat_gp_id = '${prodId}' "$) + ' Log($"CANT=${cant}"$) If cant = 0 Then Log("BORRAMOS PROD") @@ -818,6 +823,7 @@ Sub actualizaProducto(cedis As String, costoU As String, cant As Int, nombre As If pe.GetString("cuantosPedidos") = 0 Then B4XPages.MainPage.skmt.ExecNonQuery("delete from pedido_cliente where PC_CLIENTE In (select cuenta from cuentaa)") End If Else + Log("----->2<--------------") 'INSERTAMOS If cant <> 0 Then guardaProductoSinGestion(cedis, costoU, cant, nombre, prodId, clienteId, fecha, usuario, rutaV, precioSin, tipoVenta,cantc,bcajas) End If diff --git a/B4A/Tracker.bas b/B4A/Tracker.bas index fad490c..5fbbac7 100644 --- a/B4A/Tracker.bas +++ b/B4A/Tracker.bas @@ -119,9 +119,9 @@ Private Sub CreateLocationRequest As LocationRequest ' Log("CreateLocationRequest") Dim lr As LocationRequest lr.Initialize - lr.SetInterval(10000) 'Intervalo deseado para actualizaciones de ubicacion + lr.SetInterval(1) 'Intervalo deseado para actualizaciones de ubicacion lr.SetFastestInterval(lr.GetInterval / 2) 'Intervalo minimo para actualizaciones de ubicacion - lr.SetSmallestDisplacement(50) 'Solo registra cambio de ubicacion si es mayor a XX mts + lr.SetSmallestDisplacement(0) 'Solo registra cambio de ubicacion si es mayor a XX mts lr.SetPriority(lr.Priority.PRIORITY_HIGH_ACCURACY) actualLR=lr Return lr @@ -193,8 +193,11 @@ Sub flp_LocationChanged (Location1 As Location) End If CallSub2(Starter, "GPS_LocationChanged", Location1) +' CallSub2(B4XPages.MainPage.cliente, "GPS_LocationChanged", Location1) ' CallSub2(gestion, "GPS_LocationChanged", Location1) -' CallSub2(B4XPages.GetPage("Cliente"), "GPS_LocationChanged", Location1) + If B4XPages.MainPage.cliente.IsInitialized Then + CallSub2(B4XPages.GetPage("Cliente"), "GPS_LocationChanged", Location1) + End If ' CallSub2(nuevocliente, "GPS_LocationChanged", Location1) End Sub @@ -202,7 +205,7 @@ Sub CreateNotification (Body As String) As Notification Dim notification As Notification notification.Initialize2(notification.IMPORTANCE_LOW) notification.Icon = "icon" - notification.SetInfo("mazapa", Body, Main) + notification.SetInfo("ADM", Body, Main) Return notification End Sub