- 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

@@ -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