mirror of
https://github.com/KeymonSoft/Durakelo.git
synced 2026-04-17 19:36:12 +00:00
- 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:
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
34
B4A/Subs.bas
34
B4A/Subs.bas
@@ -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
|
||||
Reference in New Issue
Block a user