- VERSION 5.03.02

- Se agregó código para las promos por monto.
- Se agregó codigo para validar la hora del telefono con la hora del servidor.
This commit is contained in:
2025-03-04 13:25:42 -06:00
parent d87a3c3c63
commit 267a0e7bf9
13 changed files with 318 additions and 61 deletions

View File

@@ -598,7 +598,7 @@ Sub B4XPage_Appear
End If
la_saldooper.Text = META2
c=Starter.skmt.ExecQuery("SELECT COUNT(*) AS CUANTOS FROM HIST_CLIENTE_CANT_PROMOS WHERE HCCP_CLIENTE IN (Select cuenta from cuentaa)")
c.Position =0
c.Position = 0
If c.GetString("CUANTOS") > 0 Then
C1 = Starter.skmt.ExecQuery("SELECT HCCP_PROMO FROM HIST_CLIENTE_CANT_PROMOS WHERE HCCP_CLIENTE IN (Select cuenta from cuentaa) ")
C1.Position = 0
@@ -647,7 +647,7 @@ Sub B4XPage_Appear
If l_total.Text = "" Or l_total.Text = "null" Then l_total.Text = "0"
If Not(l_total.Text > 0) Then Guardar.Visible = True ' And Not(kh.traeTotalClienteDOE > 0
' If la_cuenta.text = "0" Then Guardar.Visible = True 'Abordo
Log($"L_TOTAL = ${l_total.text}"$)
' Log($"L_TOTAL = ${l_total.text}"$)
If l_total.Text = Null Or l_total.Text = "null" Or l_total.text = "0" Then Guardar.Visible = True 'Si no hay venta entonces "Guardar" es visible.
'Promo Especial
@@ -760,6 +760,49 @@ Sub B4XPage_Appear
End If
If Subs.revisaImpresa Then Guardar.Visible = True
'PROMOS POR MONTO
Private mPromoXMonto As Map = Subs.revisaPromoPorMonto
LogColor("PROMOXMONTO:" & mPromoXMonto, Colors.Blue)
If mPromoXMonto.Size > 0 And clienteId <> 0 Then ' El "clienteId <> 0" es para que no la promo cuando se pida ABORDO
If l_total.Text > mPromoXMonto.Get("rangoMin") And l_total.Text < mPromoXMonto.Get("precio1") Then
Log("Eres candidato a una promocion")
MsgboxAsync($"Si agregas venta para que supere los $${mPromoXMonto.Get("precio1")}, la promoción "${Subs.traeProdNombre(mPromoXMonto.Get("id"))}" se agregará automáticamente."$, "AGREGA VENTA")
else if l_total.Text >= mPromoXMonto.Get("precio1") Then
'Agregamos la promocion y sus productos FIJOS.
Private dp As Cursor = Starter.skmt.ExecQuery($"select * from cat_detalles_paq where cat_dp_id = '${mPromoXMonto.Get("id")}'"$)
If dp.RowCount > 0 Then
Subs.guardaProductoSinGestion(mPromoXMonto.Get("id"), 0, 1, Subs.traeProdNombre(mPromoXMonto.Get("id")), mPromoXMonto.Get("id"), Subs.traeCliente, Subs.traeFecha, Subs.traeUsuarioDeBD, Subs.traeRuta, 0, Starter.tipov)
For i = 0 To dp.RowCount - 1
dp.Position = i
If dp.GetString("CAT_DP_TIPO") = "0" Then
Subs.guardaProductoSinGestion(mPromoXMonto.Get("id"), dp.GetString("CAT_DP_PRECIO"), dp.GetString("CAT_DP_PZAS"), Subs.traeProdNombre(dp.GetString("CAT_DP_IDPROD")), dp.GetString("CAT_DP_IDPROD"), Subs.traeCliente, Subs.traeFecha, Subs.traeUsuarioDeBD, Subs.traeRuta, 0, Starter.tipov)
End If
Next
MsgboxAsync($"Promo por monto "${Subs.traeProdNombre(mPromoXMonto.Get("id"))}" agregada."$,"AVISO")
B4XPage_Appear
End If
End If
End If
Private ppm As Cursor = Starter.skmt.ExecQuery($"select (select ifnull(sum(PE_COSTO_TOT),0) from pedido where CAT_PA_ID <> pe_cedis) as CT, ifnull((select pe_cedis from pedido where pe_cedis = CAT_PA_ID), 0) as existe, * from PROMOS_COMP where CAT_PA_TIPO_PROMONTO = '1' and CT < cast(cat_pa_precio1 as integer)"$) 'Traemos las promos por monto donde la venta es menor al precio1 para borrarlas.
Log("REGISTROS DE PPM: " & ppm.RowCount)
If ppm.RowCount > 0 Then
Private existe As String = 0
For i = 0 To ppm.RowCount - 1
ppm.Position = i
Log(ppm.GetString("existe"))
existe = ppm.GetString("existe")
Log($"BORRAMOS PROMO ${ppm.GetString("CAT_PA_ID")} or monto menor a ${ppm.GetString("CAT_PA_PRECIO1")}"$)
Starter.skmt.ExecNonQuery($"delete from pedido where pe_cedis = '${ppm.GetString("CAT_PA_ID")}' and pe_cliente = '${Subs.traeCliente}'"$)
Next
If existe <> "0" Then
MsgboxAsync($"Promoción "${Subs.traeProdNombre(ppm.GetString("CAT_PA_ID"))}" eliminada por no cumplir con el monto mínimo."$, "AVISO")
B4XPage_Appear
End If
End If
If Not(Subs.revisaHora) Then
Log("***************** HORA INCORRECTA")
MsgboxAsync("La hora del equipo NO coincide con la hora del servidor, es necesario corregirla", "AVISO IMPORTANTE")
End If
End Sub
Sub Printer1_Connected (Success As Boolean)