diff --git a/B4A/C_Productos.bas b/B4A/C_Productos.bas index 5a4cd73..ff8c63a 100644 --- a/B4A/C_Productos.bas +++ b/B4A/C_Productos.bas @@ -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 diff --git a/B4A/Durakelo.b4a b/B4A/Durakelo.b4a index c6bbfa3..2e9e37f 100644 --- a/B4A/Durakelo.b4a +++ b/B4A/Durakelo.b4a @@ -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~~\n~)~\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~~\n~~\n~)~\n~AddManifestText()~\n~AddManifestText()~\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()~\n~SetApplicationAttribute(android:allowBackup, "false")~\n~SetApplicationAttribute(android:exported, "true")~\n~AddManifestText()~\n~~\n~'Para provider (Envio de base de datos por whatsapp)~\n~AddApplicationText(~\n~ ~\n~ ~\n~ ~\n~ )~\n~CreateResource(xml, provider_paths,~\n~ ~\n~ ~\n~ ~\n~ ~\n~ ~\n~ )~\n~ ~\n~ AddManifestText(~\n~ )~\n~ AddApplicationText(~\n~ ~\n~ ~\n~ ~\n~ )~\n~ CreateResource(xml, provider_paths,~\n~ ~\n~ ~\n~ ~\n~ ~\n~ ~\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~~\n~~\n~~\n~~\n~) 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 diff --git a/B4A/Durakelo.b4a.meta b/B4A/Durakelo.b4a.meta index 2a8dbe2..62a870d 100644 --- a/B4A/Durakelo.b4a.meta +++ b/B4A/Durakelo.b4a.meta @@ -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 diff --git a/B4A/Subs.bas b/B4A/Subs.bas index d044bbc..4435197 100644 --- a/B4A/Subs.bas +++ b/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 \ No newline at end of file