diff --git a/B4A/B4XMainPage.bas b/B4A/B4XMainPage.bas index 5c77142..92aa9c7 100644 --- a/B4A/B4XMainPage.bas +++ b/B4A/B4XMainPage.bas @@ -184,6 +184,8 @@ Private Sub B4XPage_Created (Root1 As B4XView) Starter.skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS CAT_PROMOS_RUTA (CPR_IDALMACEN TEXT, CPR_RUTA TEXT, CPR_PROMO TEXT, CPR_CANT INT)") Subs.agregaColumna("PEDIDO", "PE_ENVIO_OK", "TEXT") + Subs.agregaColumna("HIST_CLIENTE_CANT_PROMOS", "HCCP_CANT_VENDIDA", "TEXT") + 'Revisamos si se disparo el intent de cargar la base de datos desde WhatApp. If s.traeUsarIntentBDWA Then s.importaBDDesdeWhatsApp diff --git a/B4A/C_Principal.bas b/B4A/C_Principal.bas index 4e7ccf6..337670f 100644 --- a/B4A/C_Principal.bas +++ b/B4A/C_Principal.bas @@ -1250,7 +1250,9 @@ Sub JobDone(Job As HttpJob) Dim HCCP_CLIENTE As String = records(RESULT.Columns.Get("HCCP_CLIENTE")) Dim HCCP_PROMO As String = records(RESULT.Columns.Get("HCCP_PROMO")) Dim HCCP_CANT As String = records(RESULT.Columns.Get("HCCP_CANT")) - Starter.skmt.ExecNonQuery2("INSERT INTO HIST_CLIENTE_CANT_PROMOS(HCCP_CLIENTE, HCCP_PROMO, HCCP_CANT) VALUES (?,?,?)", Array As Object (HCCP_CLIENTE, HCCP_PROMO,HCCP_CANT)) + Dim HCCP_CANT_VENDIDA As String = records(RESULT.Columns.Get("HCCP_CANT_VENDIDA")) + If HCCP_CANT_VENDIDA = "null" Then HCCP_CANT_VENDIDA = "0" + Starter.skmt.ExecNonQuery2("INSERT INTO HIST_CLIENTE_CANT_PROMOS(HCCP_CLIENTE, HCCP_PROMO, HCCP_CANT,HCCP_CANT_VENDIDA) VALUES (?,?,?,?)", Array As Object (HCCP_CLIENTE, HCCP_PROMO,HCCP_CANT,HCCP_CANT_VENDIDA)) Next If Starter.marcaCel <> "Sony" Then ToastMessageShow(" Historico Clientes Promociones Actualizado." , True) End If diff --git a/B4A/C_Productos.bas b/B4A/C_Productos.bas index dd7cd5d..67790cc 100644 --- a/B4A/C_Productos.bas +++ b/B4A/C_Productos.bas @@ -223,6 +223,7 @@ Sub lv_catalogos_ItemClick (Position As Int, Value As Object) lfila.text = "PROMOCIONES" lv_catalogos.Visible = False lv_promos.Clear + Log("LIMPIAMOS LV_PROMOS") Dim label1 As B4XView label1 = lv_promos.TwoLinesLayout.Label label1.TextSize = 15 @@ -248,14 +249,17 @@ Sub lv_catalogos_ItemClick (Position As Int, Value As Object) label14.TextColor = Colors.Black ' label14.Height = 80dip lfila.text = "PROMOS" - c2=Starter.skmt.ExecQuery2("select CAT_GP_ID, CAT_GP_NOMBRE, CAT_GP_PRECIO, CAT_GP_ALMACEN, CAT_GP_IMG from cat_gunaprod where CAT_GP_PRECIO > 0 AND CAT_GP_ALMACEN > 0 and CAT_GP_TIPOPROD = ? AND CAT_GP_TIPO = ? AND CAT_GP_SUBTIPO = ? AND CAT_GP_ID NOT IN (SELECT PE_PROID FROM PEDIDO WHERE PE_CLIENTE IN (Select cuenta from cuentaa) )", Array As String(Value, Value, Value)) + c2=Starter.skmt.ExecQuery2("select CAT_GP_ID, CAT_GP_NOMBRE, CAT_GP_PRECIO, CAT_GP_ALMACEN, CAT_GP_IMG from cat_gunaprod where CAT_GP_PRECIO > 0 AND CAT_GP_ALMACEN > 0 and CAT_GP_TIPOPROD = ? AND CAT_GP_TIPO = ? AND CAT_GP_SUBTIPO = ? AND CAT_GP_ID NOT IN (SELECT PE_PROID FROM PEDIDO WHERE PE_CLIENTE IN (Select cuenta from cuentaa)) order by CAT_GP_ID", Array As String(Value, Value, Value)) Log($"res:${c2.RowCount}, ${Value}, ${marca}, ${tipo}"$) If c2.RowCount > 0 Then For i=0 To c2.RowCount -1 - c2.Position=i + c2.Position = i + LogColor(">>>>>>>>> " & c2.GetString("CAT_GP_ID") & " <<<<<<<<<<", Colors.red) + LogColor(">>>>>>>>> " & c2.GetString("CAT_GP_NOMBRE") & " <<<<<<<<<<", Colors.red) Private tm As Map = Subs.procesaPromocion(c2.GetString("CAT_GP_ID"), clienteId) - Log(c2.GetString("CAT_GP_ID")) +' Log(c2.GetString("CAT_GP_ID")) If tm.Get("status") = "ok" Then 'Solo muestrala si hay producto. + Log($"Promo OK ${CRLF}${tm}"$) lv_promos.AddTwoLines(c2.GetString("CAT_GP_NOMBRE"),"# " & c2.GetString("CAT_GP_ALMACEN") & " $ " & c2.GetString("CAT_GP_PRECIO") & " F:" & tm.Get("mp").As(Map).Get("prodsFijosCant") & " V:" & tm.Get("mp").As(Map).Get("prodsVariablesCant")) End If Next @@ -340,7 +344,7 @@ End Sub Sub lv_promos_ItemClick (Position As Int, Value As Object) clv_prods_ll.AsView.Visible = False Dim cliente As C_Cliente = B4XPages.GetPage("Cliente") -' Log($"Entro=${entro}, value=${Value}, cuenta=${cliente.cuenta}"$) + Log($"Entro=${entro}, value=${Value}, cuenta=${cliente.cuenta}"$) If Value = "PROMOS" And cliente.cuenta <> "N" Then entro = "3" marca = "PROMOS" diff --git a/B4A/MAPA_RUTAS.bas b/B4A/MAPA_RUTAS.bas index 4ed4939..6bcccfb 100644 --- a/B4A/MAPA_RUTAS.bas +++ b/B4A/MAPA_RUTAS.bas @@ -150,7 +150,7 @@ Sub MapFragment1_Ready rp.CheckAndRequest(rp.PERMISSION_ACCESS_FINE_LOCATION) Wait For Activity_PermissionResult (Permission As String, Result As Boolean) gmap.MyLocationEnabled = Result - + Dim JavaMapsObject As JavaObject JavaMapsObject = gmap.GetUiSettings JavaMapsObject.RunMethod("setMapToolbarEnabled", Array As Object(True)) diff --git a/B4A/Mariana.b4a b/B4A/Mariana.b4a index 5d3b4ab..fdc3c91 100644 --- a/B4A/Mariana.b4a +++ b/B4A/Mariana.b4a @@ -1057,7 +1057,7 @@ Library6=bctoast Library7=bitmapcreator Library8=byteconverter Library9=camera -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~''''' CAMBIA LA CLAVE API~\n~AddApplicationText(~\n~~\n~ ~\n~)~\n~AddApplicationText(~\n~~\n~)~\n~AddManifestText(~\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~AddPermission("android.permission.MANAGE_EXTERNAL_STORAGE")~\n~SetApplicationAttribute(android:largeHeap, "true")~\n~AddPermission("android.permission.MANAGE_EXTERNAL_STORAGE")~\n~AddApplicationText(~\n~~\n~ ~\n~ )~\n~ ~\n~ AddManifestText(~\n~ ~\n~ )~\n~ ~\n~ 'Para que se registre para abrir bases de datos~\n~ AddActivityText(main,~\n~~\n~~\n~~\n~~\n~)~\n~ +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~''''' CAMBIA LA CLAVE API~\n~AddApplicationText(~\n~~\n~ ~\n~)~\n~AddApplicationText(~\n~~\n~)~\n~AddManifestText(~\n~~\n~)~\n~''CreateResourceFromFile(Macro, FirebaseAnalytics.GooglePlayBase)~\n~ 'End of default text.~\n~SetApplicationAttribute(android:allowBackup, "false")~\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~AddPermission("android.permission.MANAGE_EXTERNAL_STORAGE")~\n~SetApplicationAttribute(android:largeHeap, "true")~\n~AddPermission("android.permission.MANAGE_EXTERNAL_STORAGE")~\n~AddApplicationText(~\n~~\n~ ~\n~ )~\n~ ~\n~ AddManifestText(~\n~ ~\n~ )~\n~ ~\n~ 'Para que se registre para abrir bases de datos~\n~ AddActivityText(main,~\n~~\n~~\n~~\n~~\n~)~\n~ Module1=appUpdater Module10=C_NuevoCliente Module11=C_Pedidos @@ -1093,7 +1093,7 @@ Version=12.8 #Region Project Attributes #ApplicationLabel: Mariana #VersionCode: 1 - #VersionName: 4.07.16 + #VersionName: 4.07.20 'SupportedOrientations possible values: unspecified, landscape or portrait. #SupportedOrientations: portrait #CanInstallToExternalStorage: False diff --git a/B4A/Mariana.b4a.meta b/B4A/Mariana.b4a.meta index 4fc1eb8..d9968e4 100644 --- a/B4A/Mariana.b4a.meta +++ b/B4A/Mariana.b4a.meta @@ -82,6 +82,6 @@ ModuleClosedNodes6= ModuleClosedNodes7= ModuleClosedNodes8= ModuleClosedNodes9= -NavigationStack=C_Principal,Subir_Click,516,0,C_Principal,connecta_Click,1838,0,C_Subs,CreateNotification,463,0,C_Subs,notiLowReturn,486,0,C_Principal,B4XPage_Appear,432,0,B4XMainPage,B4XPage_Created,211,0,Subs,getPhnId,19,0,Subs,traePromo,847,0,Visual Designer,productos.bal,-100,1,C_Productos,lv_catalogos_ItemClick,230,6,C_Principal,Class_Globals,0,0 +NavigationStack=C_Principal,B4XPage_Appear,474,0,MAPA_RUTAS,MapFragment1_Ready,146,0,C_Productos,lv_catalogos_ItemClick,251,6,Visual Designer,principal.bal,-100,3,C_Productos,llenaCatalogo,365,0,C_Productos,lv_promos_ItemClick,340,5,C_Productos,lv_catalogos2_ItemClick,335,0,C_Principal,Class_Globals,0,0,C_Principal,JobDone,1238,0,B4XMainPage,JobDone,474,0 SelectedBuild=0 VisibleModules=2,12,4,5,6,26,10,16,8,13 diff --git a/B4A/Subs.bas b/B4A/Subs.bas index 2edc4fd..e28f49e 100644 --- a/B4A/Subs.bas +++ b/B4A/Subs.bas @@ -839,7 +839,7 @@ Sub traePromo(promo As String, cliente As String) As Map promoMap = CreateMap("id":promo, "maxXcliente":0, "maxRecurrente":0, "maxPromos":0) 'Si es segmentada la ponemos en cero, porque SOLO le debe de aparecer a ciertos clientes. If thisLog Then Log($">>> PROMO "${promo}" SEGMENTADA PARA EL CLIENTE ${ps.GetString("HCCP_CLIENTE")}"$) ' Select hccp_cliente As valido from HIST_CLIENTE_CANT_PROMOS where HCCP_PROMO = '${promo}' and HCCP_CLIENTE = '${traecliente}' - Private ps2 As Cursor = Starter.skmt.ExecQuery($"Select *, ifnull(HCCP_CANT_VENDIDA, 0) as HCCP_CANT_VENDIDA from HIST_CLIENTE_CANT_PROMOS where HCCP_PROMO = '${promo}' and HCCP_CLIENTE = '${cliente}' and HCCP_CANT > ifnull(HCCP_CANT_VENDIDA, 0)"$) + Private ps2 As Cursor = Starter.skmt.ExecQuery($"Select *, ifnull(HCCP_CANT_VENDIDA, 0) as HCCP_CANT_VENDIDA from HIST_CLIENTE_CANT_PROMOS where HCCP_PROMO = '${promo}' and HCCP_CLIENTE = '${cliente}' and HCCP_CANT > HCCP_CANT_VENDIDA"$) ' Log($"Select * from HIST_CLIENTE_CANT_PROMOS where HCCP_PROMO = '${promo}' and HCCP_CLIENTE = '${traeCliente}' and HCCP_CANT > HCCP_CANT_VENDIDA"$) ' Log($"registros:${ps2.RowCount}"$) If ps2.RowCount > 0 Then