mirror of
https://github.com/KeymonSoft/Durakelo.git
synced 2026-04-20 12:49:25 +00:00
20/10/23 - RMIs
- Se agregó código para meter RMIs con el clic largo sobre un producto.
This commit is contained in:
@@ -7,7 +7,7 @@ Version=11.5
|
||||
Sub Class_Globals
|
||||
Private Root As B4XView 'ignore
|
||||
Private xui As XUI 'ignore
|
||||
dim kh as kms_helperSubs
|
||||
Dim kh As kms_helperSubs
|
||||
Dim ruta As String
|
||||
Dim q_buscar As String
|
||||
Dim forzarBusqueda As Boolean = False
|
||||
@@ -93,8 +93,9 @@ Sub Class_Globals
|
||||
Dim rmiMap As Map
|
||||
Private l_rmi_usado As Label
|
||||
Dim list_prodsPedido As List
|
||||
Private b_rmi As Button
|
||||
' Private b_rmi As Button
|
||||
Private l_mDisponible As Label
|
||||
dim nuevaCantRMI as int
|
||||
End Sub
|
||||
|
||||
'You can add more parameters here.
|
||||
@@ -141,6 +142,8 @@ Private Sub B4XPage_Created (Root1 As B4XView)
|
||||
list_prodsPedido.Initialize
|
||||
Log("list_prodsPedido.Initialize")
|
||||
prodsMap.Initialize
|
||||
p_vistaPreviaTrans.Top = 0 : p_vistaPreviaTrans.left = 0
|
||||
p_productos.Top = 0 : p_productos.left = 0
|
||||
End Sub
|
||||
|
||||
'You can see the list of page related events in the B4XPagesManager object. The event name is B4XPage.
|
||||
@@ -217,7 +220,7 @@ Sub B4XPage_Appear
|
||||
' l_total.Width = Root.Width * 0.25
|
||||
|
||||
' Log(Subs.traeTotalesClienteActual)
|
||||
Dim m As Map = subs.traeTotalesClienteActual
|
||||
Dim m As Map = Subs.traeTotalesClienteActual
|
||||
prodsPedidoActual = m.Get("productos")
|
||||
montoPedidoActual = m.Get("monto")
|
||||
hayPedido = kh.hayPedido(Starter.skmt)
|
||||
@@ -228,7 +231,7 @@ Sub B4XPage_Appear
|
||||
else If hayPedido Then
|
||||
' LogColor("HAY PEDIDO ANTERIOR", Colors.red)
|
||||
' Log("Llamamos LlenaProdsLL")
|
||||
LlenaProdsLL(Null, Null)
|
||||
' LlenaProdsLL(Null, Null)
|
||||
End If
|
||||
|
||||
If clv_prods_ll.Size > 0 Then
|
||||
@@ -245,10 +248,10 @@ Sub B4XPage_Appear
|
||||
Else
|
||||
PCLV.B4XSeekBar1.mBase.Left=Root.Width *1.5 'Si no hay productos, que NO se vea la barra de busqueda.
|
||||
End If
|
||||
If lfila.Text = "RMI" Then
|
||||
b_rmi.Visible = False
|
||||
l_mDisponible.Visible = True
|
||||
End If
|
||||
' If lfila.Text = "RMI" Then
|
||||
' b_rmi.Visible = False
|
||||
' l_mDisponible.Visible = True
|
||||
' End If
|
||||
' Log(Starter.tipov)
|
||||
End Sub
|
||||
|
||||
@@ -261,7 +264,7 @@ Sub lv_catalogos_ItemClick (Position As Int, Value As Object)
|
||||
' lfila.text = "TIPO"
|
||||
lfila.text = "PRODUCTOS"
|
||||
lv_catalogos.Visible = False
|
||||
If Starter.tipov <> "ABORDO" Then b_rmi.Visible = True
|
||||
' If Starter.tipov <> "ABORDO" Then b_rmi.Visible = True
|
||||
' lv_tipo.Visible = True
|
||||
LlenaProdsLL(Null, Null)
|
||||
clv_prods_ll.AsView.BringToFront
|
||||
@@ -408,7 +411,7 @@ Sub lv_promos_ItemClick (Position As Int, Value As Object)
|
||||
End Sub
|
||||
|
||||
'Generamos la lista de productos.
|
||||
Sub llenaCatalogo(subtipo1 As String)
|
||||
Sub llenaCatalogo(subtipo1 As String) 'ignore
|
||||
' Log("LlenaCatalogo")
|
||||
' Private c2 As Cursor
|
||||
' c2=Starter.skmt.ExecQuery2("select CAT_GP_ID, CAT_GP_NOMBRE, CAT_GP_PRECIO, CAT_GP_ALMACEN, CAT_GP_IMG, CAT_GP_TIPOPROD, CAT_GP_INICIATIVA from cat_gunaprod where CAT_GP_PRECIO > 0 AND CAT_GP_ALMACEN > 0 and CAT_GP_TIPOPROD <> 'PROMOS' and CAT_GP_SUBTIPO = ? ", Array As String(subtipo1))
|
||||
@@ -501,7 +504,7 @@ End Sub
|
||||
'****************************************************************************
|
||||
'***************** PARA EL MAS/MENOS *************************************
|
||||
'****************************************************************************
|
||||
Sub CreateListItem(Text As String, precioU As String, inv As Int, Width As Int, Height As Int, img As Bitmap, prodId As String, bc As Int, tc As Int) As Panel
|
||||
Sub CreateListItem(Text As String, precioU As String, inv As Int, Width As Int, Height As Int, img As Bitmap, prodId As String, bc As Int, tc As Int) As Panel 'ignore
|
||||
' Dim p As B4XView = xui.CreatePanel("")
|
||||
' p.SetLayoutAnimated(0, 0, 0, Width, Height)
|
||||
' p.LoadLayout("prodItem")
|
||||
@@ -571,7 +574,7 @@ Sub b_prodMas_Click
|
||||
Dim pnl As B4XView = pnl0.GetView(0)
|
||||
Dim laCant As B4XView = pnl.GetView(2).GetView(2)
|
||||
If laCant.Text = "" Then laCant.Text = 0
|
||||
Private tmpMap As Map = clv_prods_ll.GetValue(index).As(Map)
|
||||
' Private tmpMap As Map = clv_prods_ll.GetValue(index).As(Map)
|
||||
Private precio As String=clv_prods_ll.GetValue(index).As(Map).Get("precio")
|
||||
Private inv As Int = clv_prods_ll.GetValue(index).As(Map).Get("almacen")
|
||||
If buttonTag = "vendido" Then
|
||||
@@ -691,7 +694,7 @@ Sub cuentaProds
|
||||
p_botonesVenta.Visible = True
|
||||
p_botonesVenta.BringToFront
|
||||
c.Position=0
|
||||
If Subs.totalPedido > 1 And lfila.Text <> "RMI" And Starter.tipov <> "ABORDO" Then b_rmi.Visible = True Else b_rmi.Visible = False
|
||||
' If Subs.totalPedido > 1 And lfila.Text <> "RMI" And Starter.tipov <> "ABORDO" Then b_rmi.Visible = True Else b_rmi.Visible = False
|
||||
Log(Subs.totalPedido)
|
||||
If lfila.Text = "RMI" Then l_mDisponible.Visible = True Else l_mDisponible.Visible = False
|
||||
l_mDisponible.Text = $"Disponible: $${Subs.totalPedido}"$
|
||||
@@ -710,7 +713,7 @@ Sub b_terminar1_Click
|
||||
Subs.agrupador
|
||||
lv_prodsPedido.Clear
|
||||
list_prodsPedido.Initialize
|
||||
Private c_prods As Cursor=Starter.skmt.ExecQuery("select PE_PRONOMBRE,PE_COSTO_TOT, PE_COSTOU, PE_CANT, PE_FOLIO, PE_CEDIS, PE_PROID FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) order by PE_CEDIS, PE_PRONOMBRE")
|
||||
Private c_prods As Cursor=Starter.skmt.ExecQuery("select PE_PRONOMBRE,PE_COSTO_TOT, ifnull(PE_COSTOU, 0) as PE_COSTOU, PE_CANT, PE_FOLIO, PE_CEDIS, PE_PROID, PE_TIPO FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) order by PE_CEDIS, PE_PRONOMBRE")
|
||||
' Log(c_prods.RowCount)
|
||||
If c_prods.RowCount > 0 Then
|
||||
c_prods.Position = 0
|
||||
@@ -735,11 +738,13 @@ Sub b_terminar1_Click
|
||||
label2 = lv_prodsPedido.TwoLinesLayout.SecondLabel
|
||||
label2.TextSize = 10
|
||||
label2.TextColor = Colors.Blue
|
||||
' label2.Color = Colors.Gray
|
||||
label2.Tag = i
|
||||
' Log(c_prods.GetString("PE_PRONOMBRE"))
|
||||
lv_prodsPedido.AddTwoLines(cs.Color(textColor).append(c_prods.GetString("PE_PRONOMBRE")).pop,"Cantidad #"& c_prods.GetString("PE_CANT")& " SubTotal $"& c_prods.GetString("PE_COSTO_TOT")& " Folio "& c_prods.GetString("PE_FOLIO"))
|
||||
list_prodsPedido.Add(CreateMap("prodNom":c_prods.GetString("PE_PRONOMBRE"), "cedis":c_prods.GetString("PE_CEDIS"), "prodId": c_prods.GetString("PE_PROID"), "cant": c_prods.GetString("PE_CANT")))
|
||||
list_prodsPedido.Add(CreateMap("prodNom":c_prods.GetString("PE_PRONOMBRE"), "cedis":c_prods.GetString("PE_CEDIS"), "prodId": c_prods.GetString("PE_PROID"), "cant": c_prods.GetString("PE_CANT"), "tipo": c_prods.GetString("PE_TIPO")))
|
||||
folio = 0
|
||||
Log($"${totalPedido} + (${c_prods.GetString("PE_COSTOU")} * ${c_prods.GetString("PE_CANT")}"$)
|
||||
totalPedido = totalPedido + (c_prods.GetString("PE_COSTOU") * c_prods.GetString("PE_CANT"))
|
||||
' Log("|" & Subs.esPromo(c_prods.GetString("PE_PROID")) & "|")
|
||||
If Not(Subs.esPromo(c_prods.GetString("PE_PROID"))) Then cantPedido = cantPedido + c_prods.GetString("PE_CANT")
|
||||
@@ -887,50 +892,59 @@ Private Sub b_aceptar_Click
|
||||
End Sub
|
||||
|
||||
Private Sub lv_prodsPedido_ItemLongClick (Position As Int, Value As Object)
|
||||
c=Starter.skmt.ExecQuery("select count(*) as CUANTOS from CLIENTE_IMPRESO where CI_CUENTA in (Select CUENTA from cuentaa)")
|
||||
c = Starter.skmt.ExecQuery("select count(*) as CUANTOS from CLIENTE_IMPRESO where CI_CUENTA in (Select CUENTA from cuentaa)")
|
||||
c.Position = 0
|
||||
Log(list_prodsPedido)
|
||||
Log("lista prods="&list_prodsPedido.Get(Position))
|
||||
|
||||
'#################################################################################
|
||||
'#### Probablemente se pueda quitar el mapa (m) y cambiaro por el cursor (prod)
|
||||
'#### Sustituir por ejemplo: m.get("prodId") por prods.getString("PE_PROID")
|
||||
'#################################################################################
|
||||
Private m As Map = list_prodsPedido.Get(Position)
|
||||
Log("m1= "&m)
|
||||
If c.GetString("CUANTOS") = 0 Then 'Si la venta no está impresa o es abordo entonces continuamos ... 'Para que baordo pueda borra poner "Or Subs.clienteActual = "0""
|
||||
' Log("m1= "&m)
|
||||
If c.GetString("CUANTOS") = 0 Then 'Si la venta no está impresa o es abordo entonces continuamos ... 'Para que abordo pueda borra poner "Or Subs.clienteActual = "0""
|
||||
Private sDate,sTime, clie_id, usuario As String
|
||||
result = Msgbox2("Seguro que desea borrar este articulo?","Borrar Articulo", "Si", "", "No",LoadBitmap(File.DirAssets,"alert2.png")) 'ignore
|
||||
If result = DialogResponse.POSITIVE Then
|
||||
Private prod As Cursor=Starter.skmt.ExecQuery2("select PE_PROID, PE_CANT, PE_CEDIS FROM PEDIDO where pe_pronombre = ? and pe_cliente in (Select CUENTA from cuentaa) ", Array As String(Value))
|
||||
prod.Position=0
|
||||
Log("m2= " & m)
|
||||
Private prod As Cursor = Starter.skmt.ExecQuery($"select PE_PROID, PE_CANT, PE_CEDIS, PE_TIPO FROM PEDIDO where pe_pronombre = '${Value}' and pe_cliente in (Select CUENTA from cuentaa)"$)
|
||||
prod.Position = 0
|
||||
' Log("m2= " & m)
|
||||
c.Close
|
||||
Log($"Buscamos: ${Value}, ${m.Get("cedis")}"$)
|
||||
c=Starter.skmt.ExecQuery2("select count(*) AS CUANTOS from cat_gunaprod2 where CAT_GP_ID in (select pe_cedis from pedido where pe_pronombre = ? and pe_cedis = ? and pe_cliente in (Select CUENTA from cuentaa)) and CAT_GP_CLASIF = 'PROMOS' AND CAT_GP_TIPO = 'PROMOS' AND CAT_GP_SUBTIPO = 'PROMOS'", Array As String(Value, m.Get("cedis")))
|
||||
c.Position=0
|
||||
' Log($"Buscamos: ${Value}, ${m.Get("cedis")}"$)
|
||||
' Log($"mapaTipo: ${m.get("tipo")}, queryTipo: ${prod.GetString("PE_TIPO")}"$)
|
||||
' Log($"mapaCedis: ${m.get("cedis")}, queryCedis: ${prod.GetString("PE_CEDIS")}"$)
|
||||
' Log($"mapaCant: ${m.get("cant")}, queryCant: ${prod.GetString("PE_CANT")}"$)
|
||||
' Log($"mapaProd: ${m.get("prodId")}, queryProd: ${prod.GetString("PE_PROID")}"$)
|
||||
c = Starter.skmt.ExecQuery2($"select count(*) AS CUANTOS from ${Subs.traeTablaProds(prod.GetString("PE_TIPO"))} where CAT_GP_ID in (select pe_cedis from pedido where pe_pronombre = ? and pe_cedis = ? and pe_cliente in (Select CUENTA from cuentaa)) and CAT_GP_CLASIF = 'PROMOS' AND CAT_GP_TIPO = 'PROMOS' AND CAT_GP_SUBTIPO = 'PROMOS'"$, Array As String(Value, m.Get("cedis")))
|
||||
c.Position = 0
|
||||
If c.GetString("CUANTOS") > 0 Then
|
||||
Log($"Borramos de PROMO ${Value}"$)
|
||||
Private pPromos As Cursor = Starter.skmt.ExecQuery($"select pe_proid, pe_cant from pedido where pe_cedis = '${m.Get("cedis")}'"$)
|
||||
For tp = 0 To pPromos.RowCount - 1
|
||||
pPromos.Position = tp
|
||||
Log($"SUMAMOS ${pPromos.GetString("PE_CANT")} a ${pPromos.GetString("PE_PROID")} "$)
|
||||
Starter.skmt.ExecNonQuery($"update ${Subs.traeTablaProds(Starter.tipov)} set cat_gp_almacen = cat_gp_almacen + ${pPromos.GetString("PE_CANT")} where cat_gp_id = '${pPromos.Getstring("PE_PROID")}'"$)
|
||||
Starter.skmt.ExecNonQuery($"update ${Subs.traeTablaProds(prod.GetString("PE_TIPO"))} set cat_gp_almacen = cat_gp_almacen + ${pPromos.GetString("PE_CANT")} where cat_gp_id = '${pPromos.Getstring("PE_PROID")}'"$)
|
||||
Next
|
||||
Starter.skmt.ExecNonQuery2("delete from pedido where pe_cedis in (select pe_cedis from pedido where PE_CEDIS = ? and pe_pronombre = ?) and pe_cliente in (Select CUENTA from cuentaa)", Array As Object(m.Get("cedis"), Value))
|
||||
Else
|
||||
Log($"SUMAMOS ${m.get("cant")} a ${m.get("prodId")} "$)
|
||||
Starter.skmt.ExecNonQuery2($"update ${Subs.traeTablaProds(Starter.tipov)} set cat_gp_almacen = cat_gp_almacen + ? where cat_gp_id = ?"$, Array As Object(m.get("cant"), m.get("prodId")))
|
||||
Starter.skmt.ExecNonQuery2($"update ${Subs.traeTablaProds(prod.GetString("PE_TIPO"))} set cat_gp_almacen = cat_gp_almacen + ? where cat_gp_id = ?"$, Array As Object(m.get("cant"), m.get("prodId")))
|
||||
Log($"BORRAMOS ${Value}, ${m.Get("cedis")}"$)
|
||||
Starter.skmt.ExecNonQuery2("delete from pedido where pe_pronombre = ? and pe_cedis = ? and pe_cant = ? and pe_cliente in (Select CUENTA from cuentaa)", Array As Object(Value, m.Get("cedis"), m.Get("cant")))
|
||||
End If
|
||||
prod.Close
|
||||
DateTime.DateFormat = "MM/dd/yyyy"
|
||||
sDate=DateTime.Date(DateTime.Now)
|
||||
sTime=DateTime.Time(DateTime.Now)
|
||||
c=Starter.skmt.ExecQuery("Select CUENTA from cuentaa")
|
||||
c.Position=0
|
||||
sDate = DateTime.Date(DateTime.Now)
|
||||
sTime = DateTime.Time(DateTime.Now)
|
||||
c = Starter.skmt.ExecQuery("Select CUENTA from cuentaa")
|
||||
c.Position = 0
|
||||
clie_id = c.GetString("CUENTA")
|
||||
c=Starter.skmt.ExecQuery("select USUARIO from usuarioa")
|
||||
c.Position=0
|
||||
c.Position = 0
|
||||
usuario = c.GetString("USUARIO")
|
||||
c=Starter.skmt.ExecQuery("select sum(pe_costo_tot) as TOTAL_CLIE, SUM(PE_CANT) AS CANT_CLIE, count(*) as CUANTOS FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)")
|
||||
c.Position=0
|
||||
c.Position = 0
|
||||
If c.GetString("CUANTOS") > 0 Then
|
||||
Log($"============== TOTAL = ${c.GetString("TOTAL_CLIE")}"$)
|
||||
If c.GetString("TOTAL_CLIE") < 1 Then
|
||||
@@ -951,8 +965,11 @@ Private Sub lv_prodsPedido_ItemLongClick (Position As Int, Value As Object)
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Private Sub clv_prods_ll_ItemClick (Index As Int, Value As Object)
|
||||
|
||||
Private Sub clv_prods_ll_ItemLongClick (Index As Int, Value As Object)
|
||||
Log("LONGCLIC")
|
||||
kh.centraPanel(p_rmi, Root.Width)
|
||||
p_rmi.BringToFront
|
||||
p_rmi.Visible = True
|
||||
End Sub
|
||||
|
||||
Sub l_prodX_Click
|
||||
@@ -971,41 +988,52 @@ Sub l_prodX_Click
|
||||
End Sub
|
||||
|
||||
Private Sub l_prodX_LongClick
|
||||
'' Log("longClic = "&Sender.as(Label).Text)
|
||||
' If Subs.traeCliente <> 0 Then
|
||||
' Dim index As Int = clv_prods_ll.GetItemFromView(Sender)
|
||||
' Private pId As String = clv_prods_ll.GetValue(index).As(Map).Get("id")
|
||||
' Private pNombre As String = clv_prods_ll.GetValue(index).As(Map).Get("prod")
|
||||
' Private t As Cursor = Starter.skmt.ExecQuery("select sum(PE_COSTO_TOT) as ventaTotal from pedido where PE_CLIENTE in (Select CUENTA from cuentaa)")
|
||||
' t.Position = 0
|
||||
' Private ventaT As String = t.GetString("ventaTotal")
|
||||
' If ventaT = Null Then ventaT = 0
|
||||
' If ventaT > 0 Then
|
||||
' t = Starter.skmt.ExecQuery("select sum(PE_PRECIO2) as totalRMI from pedido where PE_PRONOMBRE like 'CAMBIO%' and PE_CLIENTE in (Select CUENTA from cuentaa)")
|
||||
' t.Position = 0
|
||||
' Private totalRMI As String = t.GetString("totalRMI")
|
||||
' If totalRMI = Null Then totalRMI = 0
|
||||
' l_rmi_nombre.Text = Sender.as(Label).Text
|
||||
' Private pu0() As String = Regex.Split("\$", Sender.as(Label).Text)
|
||||
' Private pu As String
|
||||
' If pu0.Length > 1 Then pu = pu0(pu0.Length-1) Else pu = 0
|
||||
'' Log(ventaT & ", " & totalRMI & ", " & Sender.as(Label).tag & ", " & pu)
|
||||
' l_rmi_usado.Text = $"RMI usado: $$1.2{(totalRMI)}"$
|
||||
' l_montoDisponible.Text = $"Disponible para RMI: $$1.2{(ventaT-totalRMI)}"$
|
||||
' Private m As Map = CreateMap("disponible":(ventaT-totalRMI), "inv":Sender.as(Label).tag, "totalRMI":totalRMI, "pu":pu, "id":pId, "nombre":pNombre)
|
||||
' rmiMap = m
|
||||
' ' b_rmi_mas.Tag = m
|
||||
' ' b_rmi_menos.Tag = m
|
||||
' ' b_rmi_aceptar.Tag = m
|
||||
' Subs.centraPanel(p_rmi, Root.Width)
|
||||
' l_rmi_cant.Text = 0
|
||||
' Log("longClic = "&Sender.as(Label).Text)
|
||||
If Subs.traeCliente <> 0 Then
|
||||
Dim index As Int = clv_prods_ll.GetItemFromView(Sender)
|
||||
nuevaCantRMI = 0
|
||||
Private pId As String = clv_prods_ll.GetValue(index).As(Map).Get("id")
|
||||
Log(clv_prods_ll.GetValue(index))
|
||||
Private pNombre As String = clv_prods_ll.GetValue(index).As(Map).Get("prod")
|
||||
Private t As Cursor = Starter.skmt.ExecQuery($"select sum(PE_CANT) as cuantosProds from pedido where PE_PROID = '${pId}' and PE_CEDIS <> 'DUR' and PE_CLIENTE in (Select CUENTA from cuentaa)"$)
|
||||
t.Position = 0
|
||||
Private ventaT As String = t.GetString("cuantosProds")
|
||||
If ventaT = Null Then ventaT = 0
|
||||
If Starter.tipov = "PREVENTA" Then
|
||||
ToastMessageShow("¡¡En preventa NO hay cambios!!", True)
|
||||
Return
|
||||
End If
|
||||
If ventaT > 0 Then
|
||||
t = Starter.skmt.ExecQuery($"select sum(PE_CANT) as totalRMI from pedido where PE_PROID = '${pId}' and PE_CEDIS = 'DUR' and PE_CLIENTE in (Select CUENTA from cuentaa)"$)
|
||||
t.Position = 0
|
||||
Private totalRMI As String = t.GetString("totalRMI")
|
||||
Log($"Prods: ${ventaT}, RMIs: ${totalRMI}"$)
|
||||
If totalRMI = Null Then totalRMI = 0
|
||||
Log($"Prods: ${ventaT}, RMIs: ${totalRMI}"$)
|
||||
l_rmi_nombre.Text = Sender.as(Label).Text
|
||||
Private pu0() As String = Regex.Split("\$", Sender.as(Label).Text)
|
||||
Private pu As String
|
||||
If pu0.Length > 1 Then pu = pu0(pu0.Length-1) Else pu = 0
|
||||
' Log(ventaT & ", " & totalRMI & ", " & Sender.as(Label).tag & ", " & pu)
|
||||
' l_rmi_usado.Text = $"RMI usado: $1.0{(ventaT - totalRMI)}"$
|
||||
l_montoDisponible.Text = $"Disponible para RMI: $1.0{(ventaT)}"$
|
||||
Private esteInv As Int = Subs.traeInventario(pId, Starter.tipov)
|
||||
If esteInv < ventaT Then ventaT = esteInv 'Si el inventario disponble es menor a los productos del pedido, entoncs tomamos ese valor.
|
||||
Private m As Map = CreateMap("disponible":(ventaT - totalRMI), "inv":ventaT, "totalRMI":totalRMI, "pu":pu, "id":pId, "nombre":pNombre)
|
||||
rmiMap = m
|
||||
Log(rmiMap)
|
||||
' b_rmi_mas.Tag = m
|
||||
' b_rmi_menos.Tag = m
|
||||
' b_rmi_aceptar.Tag = m
|
||||
Subs.centraPanel(p_rmi, Root.Width)
|
||||
l_rmi_cant.Text = totalRMI
|
||||
' l_rmi_total.text = ""
|
||||
' p_rmi.BringToFront
|
||||
' p_rmi.Visible = True
|
||||
' Else
|
||||
' ToastMessageShow("No hay venta suficiente para RMIs", True)
|
||||
' End If
|
||||
' End If
|
||||
p_rmi.BringToFront
|
||||
p_rmi.Visible = True
|
||||
Else
|
||||
ToastMessageShow("No hay venta suficiente para RMIs", True)
|
||||
End If
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Private Sub clv_prods_ll_VisibleRangeChanged (FirstIndex As Int, LastIndex As Int)
|
||||
@@ -1026,9 +1054,10 @@ Private Sub clv_prods_ll_VisibleRangeChanged (FirstIndex As Int, LastIndex As In
|
||||
l_prodX.Width = p_prods.Width - p_botMasMen.Width
|
||||
l_prodX.SetTextSizeAnimated(0, 13)
|
||||
If clv_prods_ll.GetValue(i).As(Map).Get("cant") <> Null And clv_prods_ll.GetValue(i).As(Map).Get("cant") > 0 Then
|
||||
p_prods.Color=0xFFE2EEFF
|
||||
p_prods.Color = 0xFFE2EEFF
|
||||
et_pCant.TextColor=Colors.Red
|
||||
' Log("VENDIDO ")
|
||||
Log(clv_prods_ll.GetValue(i).As(Map))
|
||||
Log("VENDIDO ")
|
||||
b_prodMenos.Tag = "vendido"
|
||||
b_prodMas.Tag = "vendido"
|
||||
If Subs.revisaImpresa Then
|
||||
@@ -1080,7 +1109,7 @@ Sub Busca_TextChanged (Old As String, New As String)
|
||||
Dim p As ResultSet = Starter.skmt.ExecQuery($"select CAT_GP_ID, CAT_GP_NOMBRE, CAT_GP_PRECIO, '1000' as CAT_GP_ALMACEN from CAT_RMI where CAT_GP_NOMBRE like '%${New}%' order by CAT_GP_NOMBRE"$)
|
||||
Log($"Llamamos LlenaProdsLL con ${p.RowCount} prods."$)
|
||||
lfila.Text = "RMI"
|
||||
b_rmi.Visible = False
|
||||
' b_rmi.Visible = False
|
||||
lv_catalogos.Visible = False
|
||||
LlenaProdsLL(p, "rmi")
|
||||
clv_prods_ll.AsView.BringToFront
|
||||
@@ -1100,24 +1129,28 @@ Sub Busca_TextChanged (Old As String, New As String)
|
||||
End Sub
|
||||
|
||||
Sub LlenaProdsLL(p As ResultSet, extra As String)
|
||||
' Log("LlenaProdsLL")
|
||||
Log("LlenaProdsLL")
|
||||
listaProds.Initialize
|
||||
hayPedido = Subs.hayPedido
|
||||
' Log($"HAYPEDIDO: ${hayPedido}"$)
|
||||
Log($"HAYPEDIDO: ${hayPedido}"$)
|
||||
If hayPedido Then 'Si hay pedido obtenemos las cantidades de los productos para agregarlos al CLV.
|
||||
Dim cantsMap As Map
|
||||
Dim cantsMap, tiposMap As Map
|
||||
cantsMap.Initialize
|
||||
Dim pe As ResultSet = Starter.skmt.ExecQuery($"select PE_PROID, PE_CANT from PEDIDO where PE_CLIENTE = '${clienteId}' and PE_CEDIS = '${Subs.traeAlmacen}'"$)
|
||||
tiposMap.Initialize
|
||||
Dim pe As ResultSet = Starter.skmt.ExecQuery($"select PE_PROID, PE_CANT, PE_TIPO from PEDIDO where PE_CLIENTE = '${clienteId}' and PE_CEDIS = '${Subs.traeAlmacen}'"$)
|
||||
'Si EXTRA es igual a rmi, entonces regresamos los RMIs existentes.
|
||||
If extra = "rmi" Then pe = Starter.skmt.ExecQuery($"select PE_PROID, PE_CANT from PEDIDO where PE_CLIENTE = '${clienteId}' and PE_CEDIS = 'DUR'"$)
|
||||
|
||||
' LogColor("Ponemos productos de pedido anterior: "&pe.RowCount, Colors.red)
|
||||
LogColor("Ponemos productos de pedido anterior: "&pe.RowCount, Colors.red)
|
||||
Do While pe.NextRow
|
||||
Private cant As Int = 0
|
||||
Private tipo As String = ""
|
||||
cantsMap.put(pe.GetString("PE_PROID"), pe.GetString("PE_CANT"))
|
||||
tiposMap.put(pe.GetString("PE_PROID"), pe.GetString("PE_TIPO"))
|
||||
Loop
|
||||
' Log($"Con pedido: ${pe.RowCount}"$)
|
||||
' Log("CANTSMAP: " & cantsMap)
|
||||
Log($"Con pedido: ${pe.RowCount}"$)
|
||||
Log("CANTSMAP: " & cantsMap)
|
||||
Log("TIPOSMAP: " & tiposMap)
|
||||
pe.Close
|
||||
End If
|
||||
' Log(p.IsInitialized)
|
||||
@@ -1131,9 +1164,12 @@ Sub LlenaProdsLL(p As ResultSet, extra As String)
|
||||
|
||||
Do While p.NextRow
|
||||
Private cant As Int = 0
|
||||
Private tipoV As String = ""
|
||||
If hayPedido And cantsMap.ContainsKey(p.GetString("CAT_GP_ID")) Then cant = cantsMap.Get(p.GetString("CAT_GP_ID"))
|
||||
Dim tempMap As Map = CreateMap("prod":p.GetString("CAT_GP_NOMBRE"), "precio":p.GetString("CAT_GP_PRECIO"), "almacen":p.GetString("CAT_GP_ALMACEN"), "id":p.GetString("CAT_GP_ID"), "cant":cant)
|
||||
listaProds.Add(tempMap)
|
||||
If hayPedido And tiposMap.ContainsKey(p.GetString("CAT_GP_ID")) Then tipoV = tiposMap.Get(p.GetString("CAT_GP_ID"))
|
||||
Dim tempMap As Map = CreateMap("prod":p.GetString("CAT_GP_NOMBRE"), "precio":p.GetString("CAT_GP_PRECIO"), "almacen":p.GetString("CAT_GP_ALMACEN"), "id":p.GetString("CAT_GP_ID"), "cant":cant, "tipo":tipoV)
|
||||
' Log($"tipo: |${tempMap.Get("tipo")}|${Starter.tipov}| - tempMap: ${tempMap}"$)
|
||||
If tempMap.Get("tipo") = "" Or tempMap.Get("tipo") = Starter.tipov Then listaProds.Add(tempMap) 'Si el tipo de venta del producto es igual al actual, mostramos el producto en la lista.
|
||||
' Log($"${p.GetString("CAT_GP_ID")}, ${p.GetString("CAT_GP_NOMBRE")}, ${cant}"$)
|
||||
Loop
|
||||
p.Close
|
||||
@@ -1160,7 +1196,7 @@ Sub LlenaProdsLL(p As ResultSet, extra As String)
|
||||
Private Pnl As B4XView = xui.CreatePanel("")
|
||||
Pnl.SetLayoutAnimated(0, 0, 0, clv_prods_ll.AsView.Width, 50dip)
|
||||
Private tempMap As Map = listaProdsConCant.Get(pr0)
|
||||
Private inv = tempMap.Get("almacen") + tempMap.Get("cant")
|
||||
Private inv As String = tempMap.Get("almacen") + tempMap.Get("cant")
|
||||
tempMap.Put("almacen", inv)
|
||||
' Log(tempMap)
|
||||
clv_prods_ll.Add(Pnl, tempMap)
|
||||
@@ -1212,8 +1248,8 @@ Private Sub p_rmi_Click
|
||||
End Sub
|
||||
|
||||
Private Sub b_rmi_aceptar_Click
|
||||
If l_rmi_cant.Text > 0 Then Subs.guardaCambiosDeProducto(l_rmi_cant.Text, rmiMap.Get("nombre"), rmiMap.Get("id"), rmiMap.Get("pu")*l_rmi_cant.Text, query)
|
||||
' Log($"${l_rmi_cant.Text}, ${rmiMap.Get("nombre")}, ${rmiMap.Get("id")}, ${rmiMap.Get("pu")}, ${query}"$)
|
||||
Subs.guardaCambiosDeProducto(l_rmi_cant.Text, nuevaCantRMI, rmiMap.Get("nombre"), rmiMap.Get("id"), 0, query)
|
||||
Log($"${nuevaCantRMI}, ${rmiMap.Get("nombre")}, ${rmiMap.Get("id")}, ${rmiMap.Get("pu")}, ${query}"$)
|
||||
p_rmi.Visible = False
|
||||
End Sub
|
||||
|
||||
@@ -1223,25 +1259,30 @@ Private Sub b_rmi_menos_Click
|
||||
Private cant As String = l_rmi_cant.Text
|
||||
If (cant - 1) >= 0 Then
|
||||
l_rmi_cant.Text = $"$1.0{(l_rmi_cant.Text - 1)}"$
|
||||
l_rmi_total.Text = $"Total RMI $$1.2{(cant - 1) * rmiMap.Get("pu")}"$
|
||||
' l_rmi_total.Text = $"Total RMI $$1.2{(cant - 1) * rmiMap.Get("pu")}"$
|
||||
End If
|
||||
nuevaCantRMI = (rmiMap.Get("totalRMI") - l_rmi_cant.Text) * -1
|
||||
Log(nuevaCantRMI)
|
||||
End Sub
|
||||
|
||||
Private Sub b_rmi_mas_Click
|
||||
Log(rmiMap)
|
||||
Log(Sender.As(Button).tag)
|
||||
' Private d As Map = Sender.As(Button).tag
|
||||
Private cant As String = l_rmi_cant.Text
|
||||
If (cant + 1) <= rmiMap.Get("inv") And ((cant + 1) * rmiMap.Get("pu")) <= rmiMap.Get("disponible") Then
|
||||
If (cant + 1) <= rmiMap.Get("inv") Then
|
||||
l_rmi_cant.Text = $"$1.0{(l_rmi_cant.Text + 1)}"$
|
||||
l_rmi_total.Text = $"Total RMI $$1.2{(cant + 1) * rmiMap.Get("pu")}"$
|
||||
' l_rmi_total.Text = $"Total RMI $$1.2{(cant + 1) * rmiMap.Get("pu")}"$
|
||||
End If
|
||||
nuevaCantRMI = (rmiMap.Get("totalRMI") - l_rmi_cant.Text) * -1
|
||||
Log(nuevaCantRMI)
|
||||
End Sub
|
||||
|
||||
Private Sub b_rmi_Click
|
||||
Dim p As ResultSet = Starter.skmt.ExecQuery($"select CAT_GP_ID, CAT_GP_NOMBRE, CAT_GP_PRECIO, '1000' as CAT_GP_ALMACEN from CAT_RMI order by CAT_GP_NOMBRE"$)
|
||||
Log($"Llamamos LlenaProdsLL con ${p.RowCount} prods."$)
|
||||
lfila.Text = "RMI"
|
||||
b_rmi.Visible = False
|
||||
' b_rmi.Visible = False
|
||||
lv_catalogos.Visible = False
|
||||
LlenaProdsLL(p, "rmi")
|
||||
clv_prods_ll.AsView.BringToFront
|
||||
|
||||
Reference in New Issue
Block a user