- VERSION 5.05.25

-Se agrego que en las fechas de vigencia de las promos de preventa, se reste un dia, porque es del dia especifivcado MENOS uno.
This commit is contained in:
2025-05-26 16:07:35 -06:00
parent 9011b6a8bb
commit 2716f80d25
4 changed files with 74 additions and 39 deletions

View File

@@ -165,7 +165,7 @@ Sub B4XPage_Appear
' Starter.skmt.ExecNonQuery2("UPDATE CAT_GUNAPROD SET CAT_GP_TIPOPROD = (?) WHERE CAT_GP_TIPOPROD = (?) ",Array As Object("COMPLEMENTARIO","3"))
' Starter.skmt.ExecNonQuery2("UPDATE CAT_GUNAPROD SET CAT_GP_TIPOPROD = (?) WHERE CAT_GP_TIPOPROD = (?) ",Array As Object("CATALOGO REGULAR","0"))
' Starter.skmt.ExecNonQuery2("UPDATE CAT_GUNAPROD SET CAT_GP_TIPOPROD = (?) WHERE CAT_GP_CLASIF = (?) ",Array As Object("PROMOS","PROMOS"))
if Subs.traeCliente = 0 then Starter.tipov = "ABORDO"
If Subs.traeCliente = 0 Then Starter.tipov = "ABORDO"
If Starter.tipov = "PREVENTA" Then
query = "cat_gunaprod"
query2 = "COUNT_GUNAPROD"
@@ -271,7 +271,7 @@ Sub B4XPage_Appear
'Traemos las promociones con el proveedor incluido.
c2=Starter.skmt.ExecQuery("Select distinct CAT_GP_ID, CAT_GP_NOMBRE, CAT_GP_PRECIO, CAT_GP_ALMACEN, CAT_GP_TIPO, CAT_DP_CLASIF, CAT_CLASF_PROD.* from " & query & " join CAT_DETALLES_PAQ on CAT_DP_ID = CAT_GP_ID join CAT_CLASF_PROD on CAT_DP_CLASIF = CAT_CP_ID where CAT_GP_ALMACEN > 0 And CAT_GP_TIPO = 'PROMOS' AND CAT_GP_SUBTIPO ='PROMOS' AND CAT_GP_TIPOPROD <> 1 and (length(CAT_GP_CODPROMO) = 1 OR CAT_GP_CODPROMO = CAT_GP_ID) order by CAT_CP_NOMPROD")
Log(("Select distinct CAT_GP_ID, CAT_GP_NOMBRE, CAT_GP_PRECIO, CAT_GP_ALMACEN, CAT_GP_TIPO, CAT_DP_CLASIF, CAT_CLASF_PROD.* from " & query & " join CAT_DETALLES_PAQ on CAT_DP_ID = CAT_GP_ID join CAT_CLASF_PROD on CAT_DP_CLASIF = CAT_CP_ID where CAT_GP_ALMACEN > 0 And CAT_GP_TIPO = 'PROMOS' AND CAT_GP_SUBTIPO ='PROMOS' AND CAT_GP_TIPOPROD <> 1 and (length(CAT_GP_CODPROMO) = 1 OR CAT_GP_CODPROMO = CAT_GP_ID) order by CAT_CP_NOMPROD"))
Log("Select distinct CAT_GP_ID, CAT_GP_NOMBRE, CAT_GP_PRECIO, CAT_GP_ALMACEN, CAT_GP_TIPO, CAT_DP_CLASIF, CAT_CLASF_PROD.* from " & query & " join CAT_DETALLES_PAQ on CAT_DP_ID = CAT_GP_ID join CAT_CLASF_PROD on CAT_DP_CLASIF = CAT_CP_ID where CAT_GP_ALMACEN > 0 And CAT_GP_TIPO = 'PROMOS' AND CAT_GP_SUBTIPO ='PROMOS' AND CAT_GP_TIPOPROD <> 1 and (length(CAT_GP_CODPROMO) = 1 OR CAT_GP_CODPROMO = CAT_GP_ID) order by CAT_CP_NOMPROD")
' Log($"Resultados : ${c2.RowCount}"$)
Private mPromosProv As Map
mPromosProv.Initialize
@@ -291,6 +291,8 @@ Sub B4XPage_Appear
Next
' Log(mPromos)
traeListaPrecios(kh.traeAlmacen, kh.traeRuta, "", PERFIL)
End Sub
Sub PCLV_AddProds

View File

@@ -1344,37 +1344,38 @@ FileGroup97=Default Group
FileGroup98=Default Group
FileGroup99=Default Group
Group=Default Group
Library1=b4xpages
Library10=fileprovider
Library11=firebaseanalytics
Library12=firebasenotifications
Library13=fusedlocationprovider
Library14=gifdecoder
Library15=googlemaps
Library16=googlemapsextras
Library17=gps
Library18=ime
Library19=javaobject
Library2=baqrcode
Library20=json
Library21=okhttputils2
Library22=phone
Library23=preoptimizedclv
Library24=randomaccessfile
Library25=reflection
Library26=runtimepermissions
Library27=serial
Library28=sql
Library29=xcustomlistview
Library3=batteryprogressview
Library30=zxing_scanner
Library31=appupdating
Library4=bitmapcreator
Library5=byteconverter
Library6=camera
Library7=compressstrings
Library8=contentresolver
Library9=core
Library1=appupdating
Library10=core
Library11=fileprovider
Library12=firebaseanalytics
Library13=firebasenotifications
Library14=fusedlocationprovider
Library15=gifdecoder
Library16=googlemaps
Library17=googlemapsextras
Library18=gps
Library19=ime
Library2=b4xpages
Library20=javaobject
Library21=json
Library22=okhttputils2
Library23=phone
Library24=preoptimizedclv
Library25=randomaccessfile
Library26=reflection
Library27=runtimepermissions
Library28=serial
Library29=sql
Library3=baqrcode
Library30=xcustomlistview
Library31=zxing_scanner
Library32=dateutils
Library4=batteryprogressview
Library5=bitmapcreator
Library6=byteconverter
Library7=camera
Library8=compressstrings
Library9=contentresolver
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~<uses-sdk android:minSdkVersion="21" android:targetSdkVersion="33"/>~\n~<supports-screens android:largeScreens="true" ~\n~ android:normalScreens="true" ~\n~ android:smallScreens="true" ~\n~ android:anyDensity="true"/>)~\n~SetApplicationAttribute(android:icon, "@drawable/icon")~\n~SetApplicationAttribute(android:label, "$LABEL$")~\n~CreateResourceFromFile(Macro, Themes.LightTheme)~\n~'End of default text.~\n~~\n~AddApplicationText(~\n~<meta-data android:name="com.google.android.geo.API_KEY" android:value="AIzaSyBlBnx3O-DncOSv3oFIp-12wgujOYYcl-U"/>~\n~<meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version" />~\n~)~\n~AddManifestText(<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" android:maxSdkVersion="33" />)~\n~AddManifestText(<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />)~\n~SetApplicationAttribute(android:usesCleartextTraffic, "true")~\n~~\n~AddPermission(android.permission.ACCESS_FINE_LOCATION)~\n~AddPermission(android.permission.BLUETOOTH_ADVERTISE)~\n~AddPermission(android.permission.BLUETOOTH_CONNECT)~\n~AddPermission(android.permission.BLUETOOTH_SCAN)~\n~~\n~'/////////////// FLP y FBMessageing MOD Inicia /////////////////////~\n~CreateResourceFromFile(Macro, FirebaseAnalytics.GooglePlayBase)~\n~CreateResourceFromFile(Macro, FirebaseAnalytics.Firebase)~\n~CreateResourceFromFile(Macro, FirebaseAnalytics.FirebaseAnalytics)~\n~CreateResourceFromFile(Macro, FirebaseNotifications.FirebaseNotifications)~\n~'CreateResourceFromFile(Macro, FirebaseAnalytics.Crashlytics)~\n~SetServiceAttribute(Tracker, android:foregroundServiceType, "location")~\n~'/////////////// FLP y FBMessageing MOD Termina /////////////////////~\n~~\n~'Si al cargar un mapa de google manda este error "java.lang.NoClassDefFoundError: Failed resolution of: Lorg/apache/http/ProtocolVersion". agregar la siguiente linea:~\n~AddApplicationText(<uses-library android:name="org.apache.http.legacy" android:required="false"/>)~\n~SetApplicationAttribute(android:allowBackup, "false")~\n~SetApplicationAttribute(android:exported, "true")~\n~AddManifestText(<queries><package android:name="com.google.android.apps.maps" /></queries>)~\n~~\n~'Para provider (Envio de base de datos por whatsapp)~\n~AddApplicationText(~\n~ <provider android:name="android.support.v4.content.FileProvider" android:authorities="$PACKAGE$.provider" android:exported="false" android:grantUriPermissions="true">~\n~ <meta-data android:name="android.support.FILE_PROVIDER_PATHS" android:resource="@xml/provider_paths"/>~\n~ </provider>~\n~ )~\n~CreateResource(xml, provider_paths,~\n~ <paths>~\n~ <external-files-path name="name" path="" />~\n~ <files-path name="name" path="" />~\n~ <files-path name="name" path="shared" />~\n~ </paths>~\n~ )~\n~ ~\n~ AddManifestText(<uses-permission~\n~ android:name="android.permission.WRITE_EXTERNAL_STORAGE"~\n~ android:maxSdkVersion="18" />~\n~ )~\n~ AddApplicationText(~\n~ <provider~\n~ android:name="android.support.v4.content.FileProvider"~\n~ android:authorities="$PACKAGE$.provider"~\n~ android:exported="false"~\n~ android:grantUriPermissions="true">~\n~ <meta-data~\n~ android:name="android.support.FILE_PROVIDER_PATHS"~\n~ android:resource="@xml/provider_paths"/>~\n~ </provider>~\n~ )~\n~ CreateResource(xml, provider_paths,~\n~ <paths>~\n~ <external-files-path name="name" path="" />~\n~ <files-path name="name" path="" />~\n~ <files-path name="name" path="shared" />~\n~ </paths>~\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~~\n~ 'Para que se registre para abrir bases de datos~\n~ AddActivityText(main,~\n~<intent-filter>~\n~<action android:name="android.intent.action.VIEW" />~\n~<category android:name="android.intent.category.DEFAULT" />~\n~<data android:mimeType="application/octet-stream" />~\n~</intent-filter>)
Module1=appUpdater
Module10=C_Principal
@@ -1401,14 +1402,14 @@ Module7=C_Historico
Module8=C_Nota
Module9=C_NoVenta
NumberOfFiles=672
NumberOfLibraries=31
NumberOfLibraries=32
NumberOfModules=24
Version=12.8
@EndOfDesignText@
#Region Project Attributes
#ApplicationLabel: Durakelo
#VersionCode: 1
#VersionName: 5.05.13
#VersionName: 5.05.25
'SupportedOrientations possible values: unspecified, landscape or portrait.
#SupportedOrientations: portrait
#CanInstallToExternalStorage: False

View File

@@ -51,7 +51,7 @@ ModuleBreakpoints9=
ModuleClosedNodes0=
ModuleClosedNodes1=
ModuleClosedNodes10=
ModuleClosedNodes11=3,7,35,36,41,42
ModuleClosedNodes11=3
ModuleClosedNodes12=
ModuleClosedNodes13=
ModuleClosedNodes14=
@@ -73,6 +73,6 @@ ModuleClosedNodes6=
ModuleClosedNodes7=
ModuleClosedNodes8=
ModuleClosedNodes9=
NavigationStack=C_Principal,Class_Globals,20,0,C_Principal,B_PROXIMA_Click,2568,0,C_Productos,b_prodMenos_Click,626,0,Subs,traeTablaProds,1361,0,C_Promos,Class_Globals,0,0,C_Principal,Resumen_Click,2551,6,Subs,traemosInventarioDisponibleParaPromo,897,0,C_Promos,b_continuar_Click,412,0,C_Promos,b_terminar1_Click,386,6,Subs,agrupaProdsPromo,1529,2
NavigationStack=Subs,dameErroresJSON,367,0,C_Principal,SUBIR_P_Click,2725,0,C_Principal,cargar_Click,883,0,C_Principal,Subir_Click,558,0,C_Productos,Class_Globals,0,0,Subs,revisaFechaVigenciaPromo,1502,6,Subs,agrupaProdsPromo,1576,0,C_Productos,B4XPage_Appear,278,6,Subs,fechaMenosUnDia,1579,6,Subs,traePromo,851,6
SelectedBuild=0
VisibleModules=22,2,10,4,19,9,11,23,12,8
VisibleModules=22,2,10,4,11,23,12,8

View File

@@ -858,7 +858,10 @@ Sub traePromo(promo As String, cliente As String) As Map
promoMap.Put("prodsFijosPiezas", prodsFijosPiezas)
promoMap.Put("prodsVariablesCant", prodsVariables.Size)
promoMap.Put("prodsVariablesPrecios", prodsVariablesPrecios)
promoMap.Put("vigencia", c.GetString("CAT_PA_VIGENCIA_FIN").SubString2(0, c.GetString("CAT_PA_VIGENCIA_FIN").IndexOf(" ")))
Log("-------> |" & c.GetString("CAT_PA_VIGENCIA_FIN") & "|")
' promoMap.Put("vigencia", c.GetString("CAT_PA_VIGENCIA_FIN").SubString2(0, c.GetString("CAT_PA_VIGENCIA_FIN").IndexOf(" ")))
Private fVigencia As String = fechaMenosUnDia(c.GetString("CAT_PA_VIGENCIA_FIN").SubString2(0, c.GetString("CAT_PA_VIGENCIA_FIN").IndexOf(" ")))
promoMap.Put("vigencia", fVigencia) ' La vigencia de la preventa debe de ser la especificada MENOS un dia.
promoMap.Put("vigencia_abordo", c.GetString("CAT_PA_VIGENCIAABORDO").SubString2(0, c.GetString("CAT_PA_VIGENCIAABORDO").IndexOf(" ")))
promoMap.Put("resultado", "ok")
Else
@@ -1502,6 +1505,7 @@ Sub revisaFechaVigenciaPromo(pm As Map) As Boolean
DateTime.DateFormat = "yyyyMMdd"
If Starter.tipov = "PREVENTA" Or Starter.tipov = "ABORDO" Then
Private vigencia As String = pm.Get("vigencia").As(String).Replace("-", "")
' Log("|" & vigencia & "|")
If vigencia >= DateTime.Date(DateTime.Now) Then vigente = True
Else if Starter.tipov = "VENTA" Then
Private vigencia As String = pm.Get("vigencia_abordo").As(String).Replace("-", "")
@@ -1516,6 +1520,9 @@ End Sub
' y las mismas cantidades, el pasarInfoMovil las detecta como duplicados y las tira, con esta funcion en lugar de dos registros,
' solo va uno con cantidades y totales sumados.
Sub agrupaProdsPromo (cliente As String)
Log("####################################################################################################################")
Log("####################################################################################################################")
Log("####################################################################################################################")
Starter.skmt.ExecNonQuery($"CREATE TEMP TABLE IF NOT EXISTS PEDIDO_AGRUPADOR (
PE_PRECIO2,
PE_TIPO,
@@ -1571,4 +1578,29 @@ Sub agrupaProdsPromo (cliente As String)
Starter.skmt.TransactionSuccessful 'Si no se pone TransactionSuccessful no se escribe NADA!!
Starter.skmt.EndTransaction
Log("LISTO!!")
End Sub
'Recibe un string con la fecha en formato "YYYY-MM-DD" y regresa la fecha menos un dia.
Sub fechaMenosUnDia(fecha As String) As String
Dim fechaDate As Long
Dim nuevaFecha As Long
Dim fechaFormateada As String
DateTime.DateFormat = "yyyy-MM-dd"
Dim fechaMenos1Dia As String
Log("|" & fecha & "|")
' Convertir la cadena de fecha a un valor de fecha largo
fechaDate = DateTime.DateParse(fecha)
' Log(fechaDate)
' Restar un día (86400000 milisegundos = 1 día)
nuevaFecha = fechaDate - DateTime.TicksPerDay ' o puedes usar: 24 * 60 * 60 * 1000
' Formatear la nueva fecha al mismo formato
fechaFormateada = DateTime.Date(nuevaFecha)
' fechaFormateada ahora contiene la fecha con un día menos
Log(fechaFormateada)
Return fechaFormateada
End Sub