mirror of
https://github.com/KeymonSoft/Kelloggs_v4.git
synced 2026-04-17 18:26:11 +00:00
Corrección de segmentadas, para que no aparezca el popup de "Tienes derecho a una promocion" cuando no lo tienes.
This commit is contained in:
@@ -138,6 +138,8 @@ Private Sub B4XPage_Created (Root1 As B4XView)
|
||||
Starter.skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS CAT_ENCUESTA_PREGUNTA (CAT_EP_ID TEXT,CAT_EP_IDTIPOPREGUNTA TEXT,CAT_CE_DESCRIPCION TEXT,CAT_EP_PREGUNTA TEXT,CAT_EP_RES1_PRED TEXT,CAT_EP_RES2_PRED TEXT,CAT_EP_RES3_PRED TEXT,CAT_EP_ORDEN_PREGUNTA TEXT)")
|
||||
Starter.skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS HIST_FOTOS (HF_FOTO BLOB, HF_CUENTA TEXT, HF_IDENCUESTA TEXT)")
|
||||
Starter.skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS CLIENTE_IMPRESO (CI_CUENTA TEXT)")
|
||||
Starter.skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS HIST_CLIENTE_CANT_PROMOS (HCCP_CLIENTE TEXT, HCCP_PROMO TEXT, HCCP_CANT TEXT, HCCP_CANT_VENDIDA TEXT)")
|
||||
kh.agregaColumna(Starter.skmt, "HIST_CLIENTE_CANT_PROMOS", "HCCP_CANT_VENDIDA", "TEXT")
|
||||
Starter.skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS CAT_PROMO_MONTO (CPM_IDPROMO TEXT, CPM_MONTO TEXT, CPM_PROID TEXT, CPM_CLIENTE TEXT, CPM_CANT TEXT, CPM_RANGO TEXT, CPM_DESC TEXT)")
|
||||
Starter.skmt.ExecNonQuery2("INSERT INTO HIST_ENVIOS VALUES (?,0,?)", Array As Object(sTime, "PEDIDO"))
|
||||
Starter.skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS HIST_EXHIBIDORES2 (HIST_EX_ID_CLIENTE TEXT, HIST_EX_TIPO TEXT, HIST_EX_CANT TEXT)")
|
||||
@@ -152,8 +154,6 @@ Private Sub B4XPage_Created (Root1 As B4XView)
|
||||
''' FIN DOE
|
||||
kh.agregaColumna(Starter.skmt, "kmt_info", "IMPRESION", "INTEGER")
|
||||
kh.agregaColumna(Starter.skmt, "USUARIOA", "FECHA", "TEXT")
|
||||
|
||||
|
||||
Root = Root1
|
||||
' Root.LoadLayout("MainPage")
|
||||
Root.LoadLayout("login")
|
||||
|
||||
@@ -577,15 +577,27 @@ Sub B4XPage_Appear
|
||||
c=Starter.skmt.ExecQuery("SELECT COUNT(*) AS CUANTOS FROM HIST_CLIENTE_CANT_PROMOS WHERE HCCP_CLIENTE IN (Select cuenta from cuentaa)")
|
||||
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 = Starter.skmt.ExecQuery("SELECT HCCP_PROMO FROM HIST_CLIENTE_CANT_PROMOS WHERE HCCP_CLIENTE IN (Select cuenta from cuentaa) ")
|
||||
C1.Position = 0
|
||||
C3=Starter.skmt.ExecQuery2("SELECT COUNT(*) AS CUANTOS FROM CAT_GUNAPROD2 WHERE CAT_GP_ID = ? ", Array As String(C1.GetString("HCCP_PROMO")))
|
||||
C3 = Starter.skmt.ExecQuery2("SELECT COUNT(*) AS CUANTOS FROM CAT_GUNAPROD2 WHERE CAT_GP_ID = ? ", Array As String(C1.GetString("HCCP_PROMO")))
|
||||
C3.Position = 0
|
||||
If Not(B4XPages.MainPage.cliente.muestraBoleta) And Subs.traeCliente <> "0" Then 'Si vamos a mostrar boleta entonces no mandamos aviso.
|
||||
If C3.GetString("CUANTOS") > 0 Then
|
||||
c2=Starter.skmt.ExecQuery2("SELECT CAT_GP_NOMBRE FROM CAT_GUNAPROD2 WHERE CAT_GP_ID = ? ", Array As String(C1.GetString("HCCP_PROMO")))
|
||||
c2.Position = 0
|
||||
If Not(Subs.hayPedido) Then MsgboxAsync("El cliente tiene derecho a una promo especial "& c2.GetString("CAT_GP_NOMBRE"),"Aviso") 'ignore
|
||||
If Not(Subs.hayPedido) Then
|
||||
' ############### PROMOCIONES SEGMENTADAS ###############
|
||||
' Revisamos si la promo esta en la lista, y tiene promos disponibles segun las ventas anteriores.
|
||||
Private ps2 As Cursor = Starter.skmt.ExecQuery($"Select * from HIST_CLIENTE_CANT_PROMOS where HCCP_PROMO = '${C1.GetString("HCCP_PROMO")}' and HCCP_CLIENTE = '${Subs.traeCliente}' and HCCP_CANT > HCCP_CANT_VENDIDA"$)
|
||||
Log($"Select * from HIST_CLIENTE_CANT_PROMOS where HCCP_PROMO = '${C1.GetString("HCCP_PROMO")}' and HCCP_CLIENTE = '${Subs.traeCliente}' and HCCP_CANT > HCCP_CANT_VENDIDA"$)
|
||||
Log($"registros:${ps2.RowCount}"$)
|
||||
If ps2.RowCount > 0 Then
|
||||
ps2.Position = 0
|
||||
Log($"registros:${ps2.RowCount}, cant:${ps2.GetString("HCCP_CANT")}"$)
|
||||
MsgboxAsync("El cliente tiene derecho a una promo especial "& c2.GetString("CAT_GP_NOMBRE"),"Aviso") 'ignore
|
||||
End If
|
||||
' ############### TERMINA PROMOS SEGMENTADAS ###############
|
||||
End If
|
||||
c2.Close
|
||||
Else
|
||||
If Not(Subs.hayPedido) Then MsgboxAsync("El cliente tiene derecho a una promo especial ","Aviso") 'ignore
|
||||
|
||||
@@ -937,7 +937,7 @@ Sub JobDone(Job As HttpJob)
|
||||
End If
|
||||
bcarga1 = 20
|
||||
End If
|
||||
|
||||
|
||||
If Job.JobName = "DBRequest" Then
|
||||
Dim RESULT As DBResult = reqManager.HandleJob(Job)
|
||||
If RESULT.Tag = "hist_promos" Then 'query tag
|
||||
@@ -972,7 +972,9 @@ Sub JobDone(Job As HttpJob)
|
||||
Dim HCCP_CLIENTE As String = records(RESULT.Columns.Get("HCCP_CLIENTE"))
|
||||
Dim HCCP_PROMO As String = records(RESULT.Columns.Get("HCCP_PROMO"))
|
||||
Dim HCCP_CANT As String = records(RESULT.Columns.Get("HCCP_CANT"))
|
||||
Starter.skmt.ExecNonQuery2("INSERT INTO HIST_CLIENTE_CANT_PROMOS(HCCP_CLIENTE, HCCP_PROMO, HCCP_CANT) VALUES (?,?,?)", Array As Object (HCCP_CLIENTE, HCCP_PROMO,HCCP_CANT))
|
||||
Dim HCCP_CANT_VENDIDA As String = records(RESULT.Columns.Get("HCCP_CANT_VENDIDA"))
|
||||
If HCCP_CANT_VENDIDA = Null or HCCP_CANT_VENDIDA = "null" Then HCCP_CANT_VENDIDA = 0
|
||||
Starter.skmt.ExecNonQuery2("INSERT INTO HIST_CLIENTE_CANT_PROMOS(HCCP_CLIENTE, HCCP_PROMO, HCCP_CANT, HCCP_CANT_VENDIDA) VALUES (?,?,?,?)", Array As Object (HCCP_CLIENTE, HCCP_PROMO, HCCP_CANT, HCCP_CANT_VENDIDA))
|
||||
Next
|
||||
Starter.skmt.TransactionSuccessful
|
||||
Starter.skmt.EndTransaction
|
||||
|
||||
@@ -680,7 +680,7 @@ Sub b_prodMas_Click
|
||||
i.Position = 0
|
||||
invActualizado = i.GetString("CAT_GP_ALMACEN")
|
||||
End If
|
||||
If Starter.tipov <> "ABORDO" Then lProdX.Text = cs.Color(Colors.red).append(nombreX).pop.append(CRLF).Append("Existencias: " & invActualizado).Color(0xFF017F01).Append($" $${numberformat2(precio, 1, 2, 2, False)}"$).Popall
|
||||
If Starter.tipov <> "ABORDO" Then lProdX.Text = cs.Color(Colors.red).append(nombreX).pop.append(CRLF).Append("Existencias: " & invActualizado).Color(0xFF017F01).Append($" $${NumberFormat2(precio, 1, 2, 2, False)}"$).Popall
|
||||
End If
|
||||
Log($"Total Prods: ${totalProds}, Total Compra: $$1.2{totalCompra}"$)
|
||||
End Sub
|
||||
@@ -1207,7 +1207,7 @@ Sub Busca_TextChanged (Old As String, New As String)
|
||||
End If
|
||||
cPromo.Close
|
||||
else if lfila.text = "RMI" Then
|
||||
Dim p As ResultSet = Starter.skmt.ExecQuery($"select CAT_ID as CAT_GP_ID, CAT_DESCRIPCION as CAT_GP_NOMBRE, CAT_MONTO as CAT_GP_PRECIO, '1000' as CAT_GP_ALMACEN from CAT_RMI where CAT_DESCRIPCION like '%${New}%' order by CAT_DESCRIPCION"$)
|
||||
Dim p As ResultSet = Starter.skmt.ExecQuery($"select CAT_ID as CAT_GP_ID, CAT_DESCRIPCION as CAT_GP_NOMBRE, CAT_MONTO as CAT_GP_PRECIO, '1000' as CAT_GP_ALMACEN, 'RMI' as CAT_GP_TIPO from CAT_RMI where CAT_DESCRIPCION like '%${New}%' order by CAT_DESCRIPCION"$)
|
||||
Log($"Llamamos LlenaProdsLL con ${p.RowCount} prods."$)
|
||||
lfila.Text = "RMI"
|
||||
b_rmi.Visible = False
|
||||
@@ -1388,7 +1388,7 @@ Private Sub b_rmi_mas_Click
|
||||
End Sub
|
||||
|
||||
Private Sub b_rmi_Click
|
||||
Dim p As ResultSet = Starter.skmt.ExecQuery($"select CAT_ID as CAT_GP_ID, CAT_DESCRIPCION as CAT_GP_NOMBRE, CAT_MONTO as CAT_GP_PRECIO, '1000' as CAT_GP_ALMACEN from CAT_RMI order by CAT_DESCRIPCION"$)
|
||||
Dim p As ResultSet = Starter.skmt.ExecQuery($"select CAT_ID as CAT_GP_ID, CAT_DESCRIPCION as CAT_GP_NOMBRE, CAT_MONTO as CAT_GP_PRECIO, '1000' as CAT_GP_ALMACEN, 'RMI' as CAT_GP_TIPO from CAT_RMI order by CAT_DESCRIPCION"$)
|
||||
Log($"Llamamos LlenaProdsLL con ${p.RowCount} prods."$)
|
||||
lfila.Text = "RMI"
|
||||
b_rmi.Visible = False
|
||||
|
||||
@@ -870,7 +870,7 @@ Version=12.5
|
||||
#Region Project Attributes
|
||||
#ApplicationLabel: Kelloggs Venta
|
||||
#VersionCode: 3000
|
||||
#VersionName: 4.02.05
|
||||
#VersionName: 4.02.07
|
||||
#SupportedOrientations: portrait
|
||||
#CanInstallToExternalStorage: False
|
||||
#BridgeLogger:true
|
||||
|
||||
@@ -61,7 +61,7 @@ ModuleBreakpoints7=
|
||||
ModuleBreakpoints8=
|
||||
ModuleBreakpoints9=
|
||||
ModuleClosedNodes0=
|
||||
ModuleClosedNodes1=2,35
|
||||
ModuleClosedNodes1=
|
||||
ModuleClosedNodes10=
|
||||
ModuleClosedNodes11=1,3,50,51,52
|
||||
ModuleClosedNodes12=3
|
||||
@@ -70,7 +70,7 @@ ModuleClosedNodes14=39,40,41,43,44
|
||||
ModuleClosedNodes15=
|
||||
ModuleClosedNodes16=
|
||||
ModuleClosedNodes17=
|
||||
ModuleClosedNodes18=3,4,5,7,8,9,10,11,12,13,15,16,18
|
||||
ModuleClosedNodes18=5,7,8,9,10,11,12,13,15,16,18
|
||||
ModuleClosedNodes19=
|
||||
ModuleClosedNodes2=
|
||||
ModuleClosedNodes20=
|
||||
@@ -91,6 +91,6 @@ ModuleClosedNodes6=
|
||||
ModuleClosedNodes7=3,11,12
|
||||
ModuleClosedNodes8=
|
||||
ModuleClosedNodes9=
|
||||
NavigationStack=Subs,traeCliente,834,0,C_Productos,clv_prods_ll_VisibleRangeChanged,1159,0,kms_helperSubs,traeDescXSku,1044,6,kms_helperSubs,traeDescXTipo,1030,0,Starter,Process_Globals,42,0,Starter,Service_Start,84,0,C_Productos,LlenaProdsLL,1286,6,B4XMainPage,Initialize,118,0,B4XMainPage,Class_Globals,110,0,Subs,traePromo,981,6
|
||||
NavigationStack=C_Principal,JobDone,969,6,B4XMainPage,B4XPage_Created,143,6,C_Cliente,B4XPage_Appear,587,6,Subs,traePromo,986,6,Subs,procesaPromocion,1180,0,Subs,traePromosVendidas,1169,0,Main,Process_Globals,20,0,Main,Activity_KeyPress,42,0,Main,Activity_ActionBarHomeClick,37,0,Main,Activity_Create,33,0
|
||||
SelectedBuild=0
|
||||
VisibleModules=1,28,11,24,3,12,4,29,13,14
|
||||
VisibleModules=1,28,11,3,12,4,29,13,14,24
|
||||
|
||||
18
B4A/Subs.bas
18
B4A/Subs.bas
@@ -977,12 +977,20 @@ Sub traePromo(promo As String, cliente As String) As Map
|
||||
If c.RowCount > 0 Then promoMap = CreateMap("id":promo, "maxXcliente":c.GetString("CAT_PA_MAXPROMCLIE"), "maxRecurrente":c.GetString("CAT_PA_MAXPROMREC"), "maxPromos":c.GetString("CAT_PA_MAXPROM"))
|
||||
'PROMOCIONES SEGMENTADAS, si la promo esta en la lista, SOLO los clientes que la tengan la pueden ver.
|
||||
Private ps As Cursor = Starter.skmt.ExecQuery($"select * from HIST_CLIENTE_CANT_PROMOS where HCCP_PROMO = '${promo}'"$)
|
||||
Log($"select * from HIST_CLIENTE_CANT_PROMOS where HCCP_PROMO = '${promo}'"$)
|
||||
' Log($"PROMOS SEGMENTADAS DISPONIBLES: ${ps.RowCount}"$)
|
||||
If ps.RowCount > 0 Then
|
||||
ps.Position = 0
|
||||
promoMap = CreateMap("id":promo, "maxXcliente":0, "maxRecurrente":0, "maxPromos":0) 'Si es segmentada la ponemos en cero, porque SOLO le aparece a ciertos clientes.
|
||||
Log(">>> SEGMENTADA -> " & promo)
|
||||
If traeCliente = ps.GetString("HCCP_CLIENTE") Then
|
||||
promoMap = CreateMap("id":promo, "maxXcliente":ps.GetString("HCCP_CANT"), "maxRecurrente":0, "maxPromos":ps.GetString("HCCP_CANT")) 'Si es segmentada SOLO le aparece a ciertos clientes.
|
||||
promoMap = CreateMap("id":promo, "maxXcliente":0, "maxRecurrente":0, "maxPromos":0) 'Si es segmentada la ponemos en cero, porque SOLO le debe de aparecer a ciertos clientes.
|
||||
Log(">>> SEGMENTADA -> " & promo & " | " & ps.GetString("HCCP_CLIENTE"))
|
||||
' Select hccp_cliente As valido from HIST_CLIENTE_CANT_PROMOS where HCCP_PROMO = '${promo}' and HCCP_CLIENTE = '${traecliente}'
|
||||
Private ps2 As Cursor = Starter.skmt.ExecQuery($"Select * from HIST_CLIENTE_CANT_PROMOS where HCCP_PROMO = '${promo}' and HCCP_CLIENTE = '${traeCliente}' and HCCP_CANT > HCCP_CANT_VENDIDA"$)
|
||||
Log($"Select * from HIST_CLIENTE_CANT_PROMOS where HCCP_PROMO = '${promo}' and HCCP_CLIENTE = '${traeCliente}' and HCCP_CANT > HCCP_CANT_VENDIDA"$)
|
||||
Log($"registros:${ps2.RowCount}"$)
|
||||
If ps2.RowCount > 0 Then
|
||||
ps2.Position = 0
|
||||
' Log($"registros:${ps2.RowCount}, cant:${ps2.GetString("HCCP_CANT")}"$)
|
||||
promoMap = CreateMap("id":promo, "maxXcliente":(ps2.GetString("HCCP_CANT")-ps2.GetString("HCCP_CANT_VENDIDA")), "maxRecurrente":0, "maxPromos":ps2.GetString("HCCP_CANT")) 'Si es segmentada SOLO le aparece a ciertos clientes.
|
||||
End If
|
||||
End If
|
||||
'Termina promos segmentadas
|
||||
@@ -1291,7 +1299,7 @@ End Sub
|
||||
'regresa el maximo por productos fijos. Ej. si las promos por variables es 10, pero el maximo por
|
||||
'fijos es 5, entonces regresamos 5.
|
||||
Sub revisaMaxPromosProdsVariablesPorInventario(pm As Map) As Int 'ignore
|
||||
Private thisLog As Boolean = False
|
||||
Private thisLog As Boolean = True
|
||||
If thisLog Then Log("======================================================")
|
||||
If thisLog Then Log("======================================================")
|
||||
Private invFijoXpromo As Map
|
||||
|
||||
Reference in New Issue
Block a user