mirror of
https://github.com/KeymonSoft/Kelloggs_v4.git
synced 2026-04-17 18:26:11 +00:00
- VERSION 5.10.15
- Se pusieron los regalos y exhibidores como categorias exentas de bonificacion.
This commit is contained in:
@@ -774,7 +774,7 @@ Sub B4XPage_Appear
|
|||||||
Private mPromoXMonto As Map = Subs.revisaPromoPorMonto
|
Private mPromoXMonto As Map = Subs.revisaPromoPorMonto
|
||||||
Private elMontoTSDeLaVenta As String = 0
|
Private elMontoTSDeLaVenta As String = 0
|
||||||
' LogColor("PROMOXMONTO:" & mPromoXMonto, Colors.Blue)
|
' 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 mPromoXMonto.Size > 0 And clienteId <> 0 Then ' El "clienteId <> 0" es para que no de la promo cuando sea ABORDO
|
||||||
If l_total.Text > mPromoXMonto.Get("rangoMin") And l_total.Text < mPromoXMonto.Get("precio1") Then
|
If l_total.Text > mPromoXMonto.Get("rangoMin") And l_total.Text < mPromoXMonto.Get("precio1") Then
|
||||||
Log("Eres candidato a una promocion")
|
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")
|
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")
|
||||||
@@ -782,10 +782,12 @@ Sub B4XPage_Appear
|
|||||||
'Agregamos la promocion y sus productos FIJOS.
|
'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")}'"$)
|
Private dp As Cursor = Starter.skmt.ExecQuery($"select * from cat_detalles_paq where cat_dp_id = '${mPromoXMonto.Get("id")}'"$)
|
||||||
If dp.RowCount > 0 Then
|
If dp.RowCount > 0 Then
|
||||||
|
Log(">>>> GUARDAMOS PROMOXMONTO HEADER")
|
||||||
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)
|
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
|
For i = 0 To dp.RowCount - 1
|
||||||
dp.Position = i
|
dp.Position = i
|
||||||
If dp.GetString("CAT_DP_TIPO") = "0" Then
|
If dp.GetString("CAT_DP_TIPO") = "0" Then
|
||||||
|
Log(">>>> GUARDAMOS PROMOXMONTO PRODS")
|
||||||
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)
|
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)
|
||||||
' Traemos el monto de las bonificacionos a guardar. -- Trade Spending
|
' Traemos el monto de las bonificacionos a guardar. -- Trade Spending
|
||||||
Log("Monto Bonificacion -->> " & B4XPages.MainPage.promos.ts.traeMontoBonificacion(dp.GetString("CAT_DP_IDPROD"), dp.GetString("CAT_DP_PRECIO"), mPromoXMonto.Get("id")))
|
Log("Monto Bonificacion -->> " & B4XPages.MainPage.promos.ts.traeMontoBonificacion(dp.GetString("CAT_DP_IDPROD"), dp.GetString("CAT_DP_PRECIO"), mPromoXMonto.Get("id")))
|
||||||
@@ -1110,16 +1112,16 @@ End Sub
|
|||||||
|
|
||||||
Sub B_IMP_Click
|
Sub B_IMP_Click
|
||||||
' Buscamos los clientes que tienen pedido y NO estan impresos.
|
' Buscamos los clientes que tienen pedido y NO estan impresos.
|
||||||
Private t As Cursor = Starter.skmt.ExecQuery("Select cat_cl_codigo from kmt_info where impresion = 0 and cat_cl_codigo not in (select ci_cuenta from cliente_impreso) and cat_cl_codigo in (select distinct pe_cliente from pedido)")
|
' Private t As Cursor = Starter.skmt.ExecQuery("Select cat_cl_codigo from kmt_info where impresion = 0 and cat_cl_codigo not in (select ci_cuenta from cliente_impreso) and cat_cl_codigo in (select distinct pe_cliente from pedido)")
|
||||||
If t.RowCount > 0 Then
|
' If t.RowCount > 0 Then
|
||||||
For i = 0 To t.RowCount - 1
|
' For i = 0 To t.RowCount - 1
|
||||||
t.Position = i ' Y los BORRAMOS.
|
' t.Position = i ' Y los BORRAMOS.
|
||||||
Log(t.GetString("CAT_CL_CODIGO"))
|
' Log(t.GetString("CAT_CL_CODIGO"))
|
||||||
Starter.skmt.ExecNonQuery($"update CUENTAA set CUENTA = '${t.GetString("CAT_CL_CODIGO")}'"$)
|
' Starter.skmt.ExecNonQuery($"update CUENTAA set CUENTA = '${t.GetString("CAT_CL_CODIGO")}'"$)
|
||||||
Subs.borraPedidoClienteActual
|
' Subs.borraPedidoClienteActual
|
||||||
' Msgbox2Async($"El pedido del cliente ${t.GetString("CAT_CL_CODIGO")} no está impreso, se va a borrar"$, "PEDIDO NO IMPRESO", "Aceptar", "", "", Null, True)
|
'' Msgbox2Async($"El pedido del cliente ${t.GetString("CAT_CL_CODIGO")} no está impreso, se va a borrar"$, "PEDIDO NO IMPRESO", "Aceptar", "", "", Null, True)
|
||||||
Next
|
' Next
|
||||||
End If
|
' End If
|
||||||
|
|
||||||
Sleep(1000)
|
Sleep(1000)
|
||||||
|
|
||||||
@@ -1142,7 +1144,7 @@ Sub B_IMP_Click
|
|||||||
If s.RowCount > 0 Then
|
If s.RowCount > 0 Then
|
||||||
For i = 0 To S.RowCount - 1
|
For i = 0 To S.RowCount - 1
|
||||||
s.Position=i
|
s.Position=i
|
||||||
S1=Starter.skmt.ExecQuery2("select CAT_GP_ALMACEN from cat_gunaprod5 where CAT_GP_ID = ?", Array As String(s.GetString("CAT_GP_ID")))
|
S1=Starter.skmt.ExecQuery2("select CAT_GP_ALMACEN from cat_gunaprod2 where CAT_GP_ID = ?", Array As String(s.GetString("CAT_GP_ID")))
|
||||||
S1.Position=0
|
S1.Position=0
|
||||||
S3=Starter.skmt.ExecQuery2("select count(*) as CUANTOS from HIST_ABORDO where HIST_PROID = ?", Array As String(s.GetString("CAT_GP_ID")))
|
S3=Starter.skmt.ExecQuery2("select count(*) as CUANTOS from HIST_ABORDO where HIST_PROID = ?", Array As String(s.GetString("CAT_GP_ID")))
|
||||||
S3.Position=0
|
S3.Position=0
|
||||||
|
|||||||
@@ -2377,6 +2377,7 @@ Private Sub connecta_LongClick
|
|||||||
' Loop
|
' Loop
|
||||||
'' End If
|
'' End If
|
||||||
' Log("MANDAMOS BITACORA")
|
' Log("MANDAMOS BITACORA")
|
||||||
|
If e_ruta.Text = "KMTKLL1" Then Subs.deshabilitaValidaciones
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Sub BUSCA_Click
|
Sub BUSCA_Click
|
||||||
@@ -2402,17 +2403,17 @@ Sub e_ruta_EnterPressed
|
|||||||
res = Msgbox2("Seguro que desea hacer el cierre? ... todos los datos se borraran","Cierre", "Si", "", "No",LoadBitmap(File.DirAssets,"alert2.png")) 'ignore
|
res = Msgbox2("Seguro que desea hacer el cierre? ... todos los datos se borraran","Cierre", "Si", "", "No",LoadBitmap(File.DirAssets,"alert2.png")) 'ignore
|
||||||
If res = DialogResponse.POSITIVE Then
|
If res = DialogResponse.POSITIVE Then
|
||||||
e_ruta.Text = ""
|
e_ruta.Text = ""
|
||||||
|
Starter.skmt.ExecNonQuery("delete from pedido")
|
||||||
Starter.skmt.ExecNonQuery("delete from pedido_cliente")
|
Starter.skmt.ExecNonQuery("delete from pedido_cliente")
|
||||||
Starter.skmt.ExecNonQuery("delete from pedido_sugerido")
|
Starter.skmt.ExecNonQuery("delete from pedido_sugerido")
|
||||||
Starter.skmt.ExecNonQuery("delete from pedido")
|
|
||||||
Starter.skmt.ExecNonQuery("delete from BITACORAGPS")
|
Starter.skmt.ExecNonQuery("delete from BITACORAGPS")
|
||||||
Starter.skmt.ExecNonQuery("delete from noventa")
|
Starter.skmt.ExecNonQuery("delete from noventa")
|
||||||
Starter.skmt.ExecNonQuery("delete from clie_act")
|
Starter.skmt.ExecNonQuery("delete from clie_act")
|
||||||
Starter.skmt.ExecNonQuery("delete from kmt_info")
|
Starter.skmt.ExecNonQuery("delete from kmt_info")
|
||||||
Starter.skmt.ExecNonQuery("delete from cat_gunaprod")
|
Starter.skmt.ExecNonQuery("delete from cat_gunaprod")
|
||||||
|
Starter.skmt.ExecNonQuery("delete from cat_gunaprod2")
|
||||||
Starter.skmt.ExecNonQuery("delete from cat_inventario")
|
Starter.skmt.ExecNonQuery("delete from cat_inventario")
|
||||||
Starter.skmt.ExecNonQuery("delete from cat_rmi")
|
Starter.skmt.ExecNonQuery("delete from cat_rmi")
|
||||||
Starter.skmt.ExecNonQuery("delete from cat_gunaprod2")
|
|
||||||
Starter.skmt.ExecNonQuery("delete from CAT_DETALLES_PAQ")
|
Starter.skmt.ExecNonQuery("delete from CAT_DETALLES_PAQ")
|
||||||
Starter.skmt.ExecNonQuery("delete from HIST_VENTAS")
|
Starter.skmt.ExecNonQuery("delete from HIST_VENTAS")
|
||||||
Starter.skmt.ExecNonQuery("delete from HIST_VERIFICACION")
|
Starter.skmt.ExecNonQuery("delete from HIST_VERIFICACION")
|
||||||
@@ -3802,9 +3803,11 @@ End Sub
|
|||||||
Sub borraClientesNuevosSinVenta 'ignore
|
Sub borraClientesNuevosSinVenta 'ignore
|
||||||
Private x As Cursor = Starter.skmt.ExecQuery("Select CAT_CL_CODIGO from kmt_info where CAT_CL_CODIGO like 'N%' and CAT_CL_CODIGO not in (Select pe_cliente from pedido)")
|
Private x As Cursor = Starter.skmt.ExecQuery("Select CAT_CL_CODIGO from kmt_info where CAT_CL_CODIGO like 'N%' and CAT_CL_CODIGO not in (Select pe_cliente from pedido)")
|
||||||
If x.RowCount > 0 Then
|
If x.RowCount > 0 Then
|
||||||
x.Position = 0
|
' x.Position = 0
|
||||||
For i = 0 To x.RowCount - 1
|
For i = 0 To x.RowCount - 1
|
||||||
|
x.Position = i
|
||||||
Starter.skmt.ExecNonQuery($"delete from kmt_info where CAT_CL_CODIGO = '${x.GetString("CAT_CL_CODIGO")}'"$)
|
Starter.skmt.ExecNonQuery($"delete from kmt_info where CAT_CL_CODIGO = '${x.GetString("CAT_CL_CODIGO")}'"$)
|
||||||
|
' Log($"delete from kmt_info where CAT_CL_CODIGO = '${x.GetString("CAT_CL_CODIGO")}'"$)
|
||||||
LogColor($"Cliente nuevo "${x.GetString("CAT_CL_CODIGO")}" SIN VENTA -> BORRADO!!"$, Colors.red)
|
LogColor($"Cliente nuevo "${x.GetString("CAT_CL_CODIGO")}" SIN VENTA -> BORRADO!!"$, Colors.red)
|
||||||
Next
|
Next
|
||||||
End If
|
End If
|
||||||
|
|||||||
Binary file not shown.
@@ -917,7 +917,7 @@ Version=12.8
|
|||||||
#Region Project Attributes
|
#Region Project Attributes
|
||||||
#ApplicationLabel: Kelloggs Venta
|
#ApplicationLabel: Kelloggs Venta
|
||||||
#VersionCode: 3000
|
#VersionCode: 3000
|
||||||
#VersionName: 5.10.02
|
#VersionName: 5.10.15
|
||||||
#SupportedOrientations: portrait
|
#SupportedOrientations: portrait
|
||||||
#CanInstallToExternalStorage: False
|
#CanInstallToExternalStorage: False
|
||||||
#BridgeLogger:true
|
#BridgeLogger:true
|
||||||
|
|||||||
@@ -67,7 +67,7 @@ ModuleBreakpoints7=
|
|||||||
ModuleBreakpoints8=
|
ModuleBreakpoints8=
|
||||||
ModuleBreakpoints9=
|
ModuleBreakpoints9=
|
||||||
ModuleClosedNodes0=
|
ModuleClosedNodes0=
|
||||||
ModuleClosedNodes1=6,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,31,32,33,34,35,37,38,39,40,41,42,43,45,46,47
|
ModuleClosedNodes1=6,10,11,12,13,14,15,16,18,19,20,21,22,23,24,25,26,27,28,29,31,32,33,34,35,37,38,39,40,41,42,43,45,46,47
|
||||||
ModuleClosedNodes10=
|
ModuleClosedNodes10=
|
||||||
ModuleClosedNodes11=
|
ModuleClosedNodes11=
|
||||||
ModuleClosedNodes12=1
|
ModuleClosedNodes12=1
|
||||||
@@ -100,6 +100,6 @@ ModuleClosedNodes6=
|
|||||||
ModuleClosedNodes7=
|
ModuleClosedNodes7=
|
||||||
ModuleClosedNodes8=
|
ModuleClosedNodes8=
|
||||||
ModuleClosedNodes9=
|
ModuleClosedNodes9=
|
||||||
NavigationStack=C_Cliente,B4XPage_Appear,774,0,B4XMainPage,B4XPage_Appear,407,0,kms_helperSubs,traeMaxClientesNuevos,1034,0,C_Principal,cargar_Click,881,0,C_Productos,Class_Globals,0,0,C_Promos,revisaInvProdsVariables,472,0,C_Promos,b_terminar1_Click,511,0,C_Promos,b_continuar_Click,551,0,C_TrendSpending,traeMontoBonificacion,360,0,C_Productos,b_terminar1_Click,1080,0,C_Productos,LlenaProdsLL,1507,0
|
NavigationStack=Subs,revisaPromoPorMonto,2022,0,C_Principal,cargar_Click,833,0,Subs,guardaProducto,906,0,Subs,procesaPromocion,1257,0,C_TrendSpending,maxPromosPorProdsVariables,403,0,Subs,traePromo,1099,1,Subs,revisaMaxPromosProdsFijosPorInventario,1369,1,C_Principal,e_ruta_EnterPressed,2412,0,C_Principal,JobDone,1833,6,Subs,comparaVersiones,2102,6,C_TrendSpending,traeMontoBonificacion,383,6,C_TrendSpending,traeBonificacionesMaximas,359,0
|
||||||
SelectedBuild=0
|
SelectedBuild=0
|
||||||
VisibleModules=31,1,12,5,16,3,32,13,14,9,8,26
|
VisibleModules=31,1,12,5,16,3,32,13,14,9,8,26
|
||||||
|
|||||||
38
B4A/Subs.bas
38
B4A/Subs.bas
@@ -915,17 +915,20 @@ End Sub
|
|||||||
'NO ACTUALIZA LA BANDERA DE GESTION EN LA TABLA "kmt_info".
|
'NO ACTUALIZA LA BANDERA DE GESTION EN LA TABLA "kmt_info".
|
||||||
'Si "gestion=2" entonces el sistema considera que el pedido ya se guardó y ya no se debe modificar.
|
'Si "gestion=2" entonces el sistema considera que el pedido ya se guardó y ya no se debe modificar.
|
||||||
Sub guardaProductoSinGestion(cedis As String, costoU As String, cant As String, nombre As String, prodId As String, clienteId As String, fecha As String, usuario As String, rutaV As String, precioSin As String, tipoVenta As String)
|
Sub guardaProductoSinGestion(cedis As String, costoU As String, cant As String, nombre As String, prodId As String, clienteId As String, fecha As String, usuario As String, rutaV As String, precioSin As String, tipoVenta As String)
|
||||||
Log($"Guarda producto ${nombre}, cant: ${cant}"$)
|
Log($"Guarda producto ${nombre}, cant: ${cant}, cedis: ${cedis}"$)
|
||||||
If nombre.Length < 6 Then ToastMessageShow("(guardaProductoSinGestion) El nombre del producto no es valido " & nombre, True)
|
If nombre.Length < 6 Then ToastMessageShow("(guardaProductoSinGestion) El nombre del producto no es valido " & nombre, True)
|
||||||
precioSin = NumberFormat2(precioSin, 1, 2, 2, False)
|
precioSin = NumberFormat2(precioSin, 1, 2, 2, False)
|
||||||
costoU = NumberFormat2(costoU, 1, 2, 2, False)
|
costoU = NumberFormat2(costoU, 1, 2, 2, False)
|
||||||
' LogColor("guardaProductoSinGestion: "&prodId&", cant="&cant&", tipo="&tipoVenta, Colors.Magenta)
|
LogColor("guardaProductoSinGestion: "&prodId&", cant="&cant&", tipo="&tipoVenta, Colors.Magenta)
|
||||||
Private c As Cursor
|
Private c As Cursor
|
||||||
' Private tablaProds As String = "cat_gunaprod2"
|
' Private tablaProds As String = "cat_gunaprod2"
|
||||||
' If tipoVenta = "ABORDO" Then tablaProds = "cat_gunaprod"
|
' If tipoVenta = "ABORDO" Then tablaProds = "cat_gunaprod"
|
||||||
Starter.skmt.ExecNonQuery2("INSERT INTO PEDIDO (PE_CEDIS, PE_COSTO_TOT, PE_COSTOU, PE_CANT, PE_PRONOMBRE, PE_PROID, PE_CLIENTE, PE_FECHA, PE_USUARIO, PE_RUTA, PE_COSTO_SIN, PE_TIPO, PE_ENVIADO) VALUES(?,?,?,?,?,?,?,?,?,?,?,?,0) ", Array As Object (cedis, (cant * costoU), costoU, cant, nombre, prodId, clienteId, fecha, usuario, rutaV, precioSin, tipoVenta))
|
Starter.skmt.ExecNonQuery2("INSERT INTO PEDIDO (PE_CEDIS, PE_COSTO_TOT, PE_COSTOU, PE_CANT, PE_PRONOMBRE, PE_PROID, PE_CLIENTE, PE_FECHA, PE_USUARIO, PE_RUTA, PE_COSTO_SIN, PE_TIPO, PE_ENVIADO) VALUES(?,?,?,?,?,?,?,?,?,?,?,?,0) ", Array As Object (cedis, (cant * costoU), costoU, cant, nombre, prodId, clienteId, fecha, usuario, rutaV, precioSin, tipoVenta))
|
||||||
'Actualizamos el inventario en cat_gunaprod solo si no es RMI
|
'Actualizamos el inventario en cat_gunaprod solo si no es RMI
|
||||||
If cedis <> "DUR" Then Starter.skmt.ExecNonQuery2($"update ${traeTablaProds(tipoVenta)} set cat_gp_almacen = cat_gp_almacen - ? where cat_gp_id = ? "$, Array As Object(cant, prodId))
|
If cedis <> "DUR" Then
|
||||||
|
Starter.skmt.ExecNonQuery2($"update ${traeTablaProds(tipoVenta)} set cat_gp_almacen = cat_gp_almacen - ? where cat_gp_id = ? "$, Array As Object(cant, prodId))
|
||||||
|
Log($"update ${traeTablaProds(tipoVenta)} set cat_gp_almacen = cat_gp_almacen - ? where cat_gp_id = ? -- ${cant}, ${prodId}"$)
|
||||||
|
End If
|
||||||
c=Starter.skmt.ExecQuery("select sum(pe_costo_tot) as TOTAL_CLIE, SUM(PE_CANT) AS CANT_CLIE, SUM(PE_COSTO_SIN) AS TOTAL_CLIE_SIN FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)")
|
c=Starter.skmt.ExecQuery("select sum(pe_costo_tot) as TOTAL_CLIE, SUM(PE_CANT) AS CANT_CLIE, SUM(PE_COSTO_SIN) AS TOTAL_CLIE_SIN FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)")
|
||||||
c.Position=0
|
c.Position=0
|
||||||
' Log("###### delete from pedido_cliente - " & traeCliente & "|" & clienteId)
|
' Log("###### delete from pedido_cliente - " & traeCliente & "|" & clienteId)
|
||||||
@@ -1026,8 +1029,8 @@ Sub traePromo(promo As String, cliente As String) As Map
|
|||||||
'######### PROMOCIONES SEGMENTADAS ##########
|
'######### PROMOCIONES SEGMENTADAS ##########
|
||||||
' Si la promo esta en la lista, SOLO los clientes que la tengan la pueden ver.
|
' 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}'"$) ' and HCCP_CLIENTE = '${cliente}'
|
Private ps As Cursor = Starter.skmt.ExecQuery($"select * from HIST_CLIENTE_CANT_PROMOS where HCCP_PROMO = '${promo}'"$) ' and HCCP_CLIENTE = '${cliente}'
|
||||||
' Log($"select * from HIST_CLIENTE_CANT_PROMOS where HCCP_PROMO = '${promo}'"$)
|
Log($"select * from HIST_CLIENTE_CANT_PROMOS where HCCP_PROMO = '${promo}'"$)
|
||||||
If thisLog Then Log($"PROMOS SEGMENTADAS DISPONIBLES: ${ps.RowCount}"$)
|
If thisLog Then Log($"PROMOS SEGMENTADAS ENCONTRADAS: ${ps.RowCount}"$)
|
||||||
If thisLog Then Log(promoMap)
|
If thisLog Then Log(promoMap)
|
||||||
If ps.RowCount > 0 Then
|
If ps.RowCount > 0 Then
|
||||||
ps.Position = 0
|
ps.Position = 0
|
||||||
@@ -1035,8 +1038,8 @@ Sub traePromo(promo As String, cliente As String) As Map
|
|||||||
If thisLog Then Log($">>> PROMO "${promo}" SEGMENTADA PARA EL CLIENTE ${ps.GetString("HCCP_CLIENTE")}"$)
|
If thisLog Then Log($">>> PROMO "${promo}" SEGMENTADA PARA EL CLIENTE ${ps.GetString("HCCP_CLIENTE")}"$)
|
||||||
' Select hccp_cliente As valido from HIST_CLIENTE_CANT_PROMOS where HCCP_PROMO = '${promo}' and HCCP_CLIENTE = '${traecliente}'
|
' 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"$)
|
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($"Select * from HIST_CLIENTE_CANT_PROMOS where HCCP_PROMO = '${promo}' and HCCP_CLIENTE = '${traeCliente}' and HCCP_CANT > HCCP_CANT_VENDIDA"$)
|
||||||
' Log($"registros:${ps2.RowCount}"$)
|
Log($"registros:${ps2.RowCount}"$)
|
||||||
If ps2.RowCount > 0 Then
|
If ps2.RowCount > 0 Then
|
||||||
ps2.Position = 0
|
ps2.Position = 0
|
||||||
If thisLog Then Log($"registros:${ps2.RowCount}, cliente: ${ps2.GetString("HCCP_CLIENTE")} cant:${ps2.GetString("HCCP_CANT")}"$)
|
If thisLog Then Log($"registros:${ps2.RowCount}, cliente: ${ps2.GetString("HCCP_CLIENTE")} cant:${ps2.GetString("HCCP_CANT")}"$)
|
||||||
@@ -1100,7 +1103,7 @@ Sub traePromo(promo As String, cliente As String) As Map
|
|||||||
If thisLog Then Log($"Inv variables: ${cuantosVariablesDisponiblesDB(promo)}"$)
|
If thisLog Then Log($"Inv variables: ${cuantosVariablesDisponiblesDB(promo)}"$)
|
||||||
If thisLog Then Log($"Inv dispo: ${traemosInventarioDisponibleParaPromo(promo)}"$)
|
If thisLog Then Log($"Inv dispo: ${traemosInventarioDisponibleParaPromo(promo)}"$)
|
||||||
If thisLog Then LogColor($"Promo ${promo}: ${promoMap}"$, Colors.Blue)
|
If thisLog Then LogColor($"Promo ${promo}: ${promoMap}"$, Colors.Blue)
|
||||||
If thisLog Then LogColor("TIEMPO para traePromo -=" & promo & "=- : " & ((DateTime.Now-inicioContador)/1000), Colors.Red)
|
' If thisLog Then LogColor("TIEMPO para traePromo -=" & promo & "=- : " & ((DateTime.Now-inicioContador)/1000), Colors.Red)
|
||||||
Return promoMap
|
Return promoMap
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
@@ -1195,7 +1198,7 @@ End Sub
|
|||||||
|
|
||||||
'Regresa el numero máximo de promociones permitidas, tomando en cuenta recurrentes, clientes y maxPromos.
|
'Regresa el numero máximo de promociones permitidas, tomando en cuenta recurrentes, clientes y maxPromos.
|
||||||
Sub traeMaxPromos(pm As Map) As Int
|
Sub traeMaxPromos(pm As Map) As Int
|
||||||
Private thisLog As Boolean = True 'Si es verdadero, muestra los logs de este sub.
|
Private thisLog As Boolean = true 'Si es verdadero, muestra los logs de este sub.
|
||||||
Private maxPromos As List
|
Private maxPromos As List
|
||||||
Private mp0, mp As String = "0"
|
Private mp0, mp As String = "0"
|
||||||
maxPromos.Initialize
|
maxPromos.Initialize
|
||||||
@@ -2112,12 +2115,14 @@ Sub comparaVersiones(versionMinima As String, versionActual As String) As Int
|
|||||||
Dim partesMin() As String = Regex.Split("\.", versionMinima)
|
Dim partesMin() As String = Regex.Split("\.", versionMinima)
|
||||||
Dim partesAct() As String = Regex.Split("\.", versionActual)
|
Dim partesAct() As String = Regex.Split("\.", versionActual)
|
||||||
If partesMin.Length < 2 Then
|
If partesMin.Length < 2 Then
|
||||||
ToastMessageShow("Version incorrecta", False)
|
' ToastMessageShow("Version incorrecta", False)
|
||||||
|
LogColor("VERSION INCORRECTA", Colors.red)
|
||||||
Return -1 ' ← Actual no cumple el formato mínimo
|
Return -1 ' ← Actual no cumple el formato mínimo
|
||||||
End If
|
End If
|
||||||
' Si la actual tiene MENOS partes que la mínima, es inválida (opcional)
|
' Si la actual tiene MENOS partes que la mínima, es inválida (opcional)
|
||||||
If partesAct.Length < partesMin.Length Then
|
If partesAct.Length < partesMin.Length Then
|
||||||
ToastMessageShow("Version incorrecta", False)
|
' ToastMessageShow("Version incorrecta", False)
|
||||||
|
LogColor("VERSION INCORRECTA", Colors.red)
|
||||||
Return -1 ' ← Actual no cumple el formato mínimo
|
Return -1 ' ← Actual no cumple el formato mínimo
|
||||||
End If
|
End If
|
||||||
' Compara solo las partes que existen en la versión mínima
|
' Compara solo las partes que existen en la versión mínima
|
||||||
@@ -2439,3 +2444,14 @@ Sub EstaEnHorarioPermitido As Boolean
|
|||||||
Return False
|
Return False
|
||||||
End If
|
End If
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
|
'Desahabilita validaciones de Ruta y Version
|
||||||
|
Sub deshabilitaValidaciones
|
||||||
|
Log("Deshabilitamos VERIFY_DEVICE")
|
||||||
|
Starter.skmt.ExecNonQuery2("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = ?", Array As Object ("VERIFY_DEVICE"))
|
||||||
|
Starter.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("VERIFY_DEVICE", 0))
|
||||||
|
Log("Deshabilitamos VALIDA_VERSION")
|
||||||
|
Starter.skmt.ExecNonQuery2("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = ?", Array As Object ("VALIDA_VERSION"))
|
||||||
|
Starter.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("VALIDA_VERSION", 0))
|
||||||
|
ToastMessageShow("REALIZADO", False)
|
||||||
|
End Sub
|
||||||
@@ -13,6 +13,11 @@ Version=12.8
|
|||||||
' el presupuesto de bonificaciones ya se agoto, ya no aparecen promociones, o si el de descuentos se agoto, ya no se pueden agregar
|
' el presupuesto de bonificaciones ya se agoto, ya no aparecen promociones, o si el de descuentos se agoto, ya no se pueden agregar
|
||||||
' mas productos con descuento.
|
' mas productos con descuento.
|
||||||
|
|
||||||
|
' Descuento es TODO lo que tenga un precio diferente al precio de lista y NO esta en promo.
|
||||||
|
' Bonificacion es lo que tiene precio diferente al orginal y esta en promo y NO es regalo o exhibidor.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Sub Class_Globals
|
Sub Class_Globals
|
||||||
Private EventName As String 'ignore
|
Private EventName As String 'ignore
|
||||||
Private CallBack As Object 'ignore
|
Private CallBack As Object 'ignore
|
||||||
@@ -330,7 +335,7 @@ End Sub
|
|||||||
' Trae la cantidad máxima de productos con bonificacion por presupuesto.
|
' Trae la cantidad máxima de productos con bonificacion por presupuesto.
|
||||||
' Si el presupuesto es 10 y la bonificacion del producto es 2, el máximo es 5 productos.
|
' Si el presupuesto es 10 y la bonificacion del producto es 2, el máximo es 5 productos.
|
||||||
Sub traeBonificacionesMaximas(tipo As String, clienteId As String, id As String, laCant As String, elPrecioVenta As String, promoId As String) As Int
|
Sub traeBonificacionesMaximas(tipo As String, clienteId As String, id As String, laCant As String, elPrecioVenta As String, promoId As String) As Int
|
||||||
Private thisLog As Boolean = True
|
Private thisLog As Boolean = False
|
||||||
Private tsMaximas As Int = 100000000
|
Private tsMaximas As Int = 100000000
|
||||||
Private tsRestantes As String = 0
|
Private tsRestantes As String = 0
|
||||||
Private tsMonto As String
|
Private tsMonto As String
|
||||||
@@ -366,6 +371,8 @@ Sub traeMontoBonificacion(id As String, precio As String, promoId As String) As
|
|||||||
Private thisLog As Boolean = True
|
Private thisLog As Boolean = True
|
||||||
LogColor($">>>>>>> ${promoId}, ${precio}, ${id}"$, Colors.Magenta)
|
LogColor($">>>>>>> ${promoId}, ${precio}, ${id}"$, Colors.Magenta)
|
||||||
Private tsMonto As String = 0
|
Private tsMonto As String = 0
|
||||||
|
Private re As Cursor = Starter.skmt.ExecQuery($"select cat_gp_id from cat_gunaprod2 where (cat_gp_tipo like 'REGALO%' or cat_gp_tipo like 'EXHIBIDOR%') and cat_gp_id = '${id}'"$) ' Revisamos si el producto es regalo o exhibidor.
|
||||||
|
If re.RowCount = 0 Then' No es regalo ni exhibidor.
|
||||||
Private c As Cursor = tsdb.ExecQuery($"SELECT CAT_DP_ID, CAT_DP_IDPROD, CAT_DP_PRECIO, CAT_DP_TIPO, CAT_GP_PRECIO, CAT_DP_PRECIOB FROM CAT_DETALLES_PAQ join ${traeTablaProds(Starter.tipov)} on CAT_GP_ID = CAT_DP_IDPROD where CAT_GP_ID = '${id}' and CAT_DP_PRECIO = '${precio}' and CAT_DP_ID = '${promoId}'"$)
|
Private c As Cursor = tsdb.ExecQuery($"SELECT CAT_DP_ID, CAT_DP_IDPROD, CAT_DP_PRECIO, CAT_DP_TIPO, CAT_GP_PRECIO, CAT_DP_PRECIOB FROM CAT_DETALLES_PAQ join ${traeTablaProds(Starter.tipov)} on CAT_GP_ID = CAT_DP_IDPROD where CAT_GP_ID = '${id}' and CAT_DP_PRECIO = '${precio}' and CAT_DP_ID = '${promoId}'"$)
|
||||||
Log($"SELECT CAT_DP_ID, CAT_DP_IDPROD, CAT_DP_PRECIO, CAT_DP_TIPO, CAT_GP_PRECIO, CAT_DP_PRECIOB FROM CAT_DETALLES_PAQ join ${traeTablaProds(Starter.tipov)} on CAT_GP_ID = CAT_DP_IDPROD where CAT_GP_ID = '${id}' and CAT_DP_PRECIO = '${precio}' and CAT_DP_ID = '${promoId}'"$)
|
Log($"SELECT CAT_DP_ID, CAT_DP_IDPROD, CAT_DP_PRECIO, CAT_DP_TIPO, CAT_GP_PRECIO, CAT_DP_PRECIOB FROM CAT_DETALLES_PAQ join ${traeTablaProds(Starter.tipov)} on CAT_GP_ID = CAT_DP_IDPROD where CAT_GP_ID = '${id}' and CAT_DP_PRECIO = '${precio}' and CAT_DP_ID = '${promoId}'"$)
|
||||||
Log($"rowcount: ${c.RowCount}"$)
|
Log($"rowcount: ${c.RowCount}"$)
|
||||||
@@ -380,6 +387,7 @@ Sub traeMontoBonificacion(id As String, precio As String, promoId As String) As
|
|||||||
If thisLog Then Log($"Precio normal: ${c.GetString("CAT_GP_PRECIO")}, Precio desc: ${c.GetString("CAT_DP_PRECIO")}, Monto bonificacion: ${tsMonto}"$)
|
If thisLog Then Log($"Precio normal: ${c.GetString("CAT_GP_PRECIO")}, Precio desc: ${c.GetString("CAT_DP_PRECIO")}, Monto bonificacion: ${tsMonto}"$)
|
||||||
End If
|
End If
|
||||||
' Log("ROWCOUNT: " & c.RowCount)
|
' Log("ROWCOUNT: " & c.RowCount)
|
||||||
|
End If
|
||||||
Return tsMonto
|
Return tsMonto
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user