6.02.20...

This commit is contained in:
cvaldes1201
2026-03-13 15:43:13 -06:00
parent 33c43419f2
commit cf1c725303
6 changed files with 332 additions and 47 deletions

View File

@@ -1375,4 +1375,283 @@ Private Sub B_IMP_Click
ProgressDialogHide
' Guardado
End Sub
Private Sub b_prodMenos_LongClick
If Subs.traeAlmacen = "94" Then
Dim x2 As Cursor =Starter.skmt.ExecQuery("SELECT gestion FROM kmt_info where CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA)")
x2.Position = 0
If x2.GetString("gestion") = 2 Then
MsgboxAsync("Ya se gestiono el cliente, no se pueden hacer modificaciones","Atención")
' Wait For Msgbox_Result (result2 As Int)
' If result= DialogResponse.NEGATIVE Then
' B4XPages.ShowPage("Principal")
' End If
' b_prodMas.Enabled = False
' b_prodMenos.Enabled = False
Else
etCantHasFocus = False
Log("etCantHasFocus=" & etCantHasFocus)
LogColor("b_prodMenos_Click", Colors.Magenta)
Dim index As Int = clv_pedido.GetItemFromView(Sender)
Dim pnl0 As B4XView = clv_pedido.GetPanel(index)
Dim pnl As B4XView = pnl0.GetView(0)
Dim laCant As B4XView = pnl.GetView(2).GetView(3)
' Log(pnl.GetView(2).GetView(0) & "|" & pnl.GetView(2).GetView(1) & "|" & pnl.GetView(2).GetView(2))
Dim esteTag As List = Regex.Split("\|", laCant.Tag)
Log("LC_TEXT:"&laCant.Text&"|PROMO:"&esteTag.Get(3)&"|LC_TAG:"&laCant.Tag&"|ET:"&esteTag)
Private minimoadesc As String
Dim minimos As Cursor = Starter.skmt.ExecQuery2("SELECT * FROM CAT_GUNAPROD3 WHERE CAT_GP_ID = ?", Array As String(esteTag.Get(2)))
If minimos.RowCount > 0 Then
minimos.Position = 0
minimoadesc = minimos.GetString("CAT_DP_CANT_MIN_VENTA")
Else
minimoadesc = "10"
End If
minimos.Close
'*'${minimoadesc}')
minimoadesc = "10"
If esteTag.Get(7) = "1" Then
If laCant.Text = "" Then laCant.Text = 0
laCant.Text = $"$1.0{laCant.Text-10}"$
If laCant.Text < 0 Then laCant.Text = 0
Private c3 As Cursor = Starter.skmt.ExecQuery2("SELECT PE_CANT FROM PEDIDO WHERE PE_PROID = ? AND PE_CLIENTE IN (SELECT CUENTA FROM CUENTAA) AND CONSECUTIVO = ?", Array As String(esteTag.Get(2),esteTag.Get(8)))
If c3.RowCount > 0 Then
c3.Position = 0
If c3.GetString("PE_CANT") > minimoadesc Then
Private c2 As Cursor = Starter.skmt.ExecQuery2("SELECT * FROM CAT_GUNAPROD WHERE CAT_GP_ID = ?", Array As String(esteTag.Get(2)))
If c2.RowCount > 0 Then
c2.Position = 0
' Starter.skmt.ExecNonQuery($"update HIST_VENTAS set HVD_RECHAZO = 1, HVD_RECHAZOCANT = HVD_RECHAZOCANT - 1 WHERE HVD_PROID = '${esteTag.Get(2)}' and HVD_cliente = '${esteTag.Get(5)}'"$)
Starter.skmt.ExecNonQuery($"update PEDIDO set PE_CANT = IFNULL(PE_CANT,0)-(1*'${minimoadesc}'), PE_COSTO_TOT= ((IFNULL(PE_CANT,0) -(1*'${minimoadesc}'))*'${c2.GetString("CAT_GP_PRECIO")}') WHERE PE_PROID = '${esteTag.Get(2)}' and PE_CLIENTE in (Select CUENTA from cuentaa) and CONSECUTIVO = '${esteTag.Get(8)}'"$)
End If
Else If c3.GetString("PE_CANT") = minimoadesc Then
Private c2 As Cursor = Starter.skmt.ExecQuery2("SELECT * FROM CAT_GUNAPROD WHERE CAT_GP_ID = ?", Array As String(esteTag.Get(2)))
If c2.RowCount > 0 Then
c2.Position = 0
' Starter.skmt.ExecNonQuery($"update HIST_VENTAS set HVD_RECHAZO = 1, HVD_RECHAZOCANT = HVD_RECHAZOCANT - 1 WHERE HVD_PROID = '${esteTag.Get(2)}' and HVD_cliente = '${esteTag.Get(5)}'"$)
' Starter.skmt.ExecNonQuery($"update PEDIDO set PE_CANT = IFNULL(PE_CANT,0)-1, PE_COSTO_TOT= ((IFNULL(PE_CANT,0) -1)*'${c2.GetString("CAT_GP_PRECIO")}') WHERE PE_PROID_PROID = '${esteTag.Get(2)}' and PE_CLIENTE in (Select CUENTA from cuentaa)"$)
Starter.skmt.ExecNonQuery($"delete from PEDIDO where PE_PROID = '${esteTag.Get(2)}' and PE_CLIENTE in (Select CUENTA from cuentaa) AND CONSECUTIVO = '${esteTag.Get(8)}'"$)
End If
End If
End If
B4XPage_Appear
Else
If esteTag.Get(5) = esteTag.Get(6) Then
If laCant.Text-10 > 0 Then
If esteTag.Get(3) <> Subs.traeAlmacen Then 'Si es PROMO entonces ...
Private c2 As Cursor =Starter.skmt.ExecQuery($"select HVD_RECHAZO FROM HIST_VENTAS WHERE HVD_PROID = '${esteTag.Get(2)}' AND HVD_CLIENTE IN (Select CUENTA from cuentaa) AND CONSECUTIVO = '${esteTag.Get(8)}'"$)
c2.Position = 0
If c2.GetString("HVD_RECHAZO") = "0" Then
Log("ES PROMO")
Log(esteTag.Get(3))
result = Msgbox2("Si se modifica una promoción, la promoción se rompe y solo quedarán los productos sueltos, ¿seguro que desea continuar?","Modificar Promoción", "Si", "", "No",LoadBitmap(File.DirAssets,"alert2.png")) 'ignore
If result = DialogResponse.POSITIVE Then 'Quitamos esta promo
prodsMap.Remove(esteTag.Get(3))
' c=Starter.skmt.ExecQuery($"select HVD_CODPROMO FROM HIST_VENTAS WHERE HVD_CODPROMO = '${esteTag.Get(2)}' AND HVD_cliente IN (Select CUENTA from cuentaa)"$)
' For i = 0 To c.RowCount -1
' c.Position = i
LogColor(esteTag.Get(3),Colors.Blue)
' Starter.skmt.ExecNonQuery($"update HIST_VENTAS set HVD_RECHAZO = 1, HVD_RECHAZOCANT = HVD_RECHAZOCANT + 1 WHERE HVD_CODPROMO = '${esteTag.Get(3)}' and HVD_CLIENTE in (Select CUENTA from cuentaa)"$)
' Starter.skmt.ExecNonQuery($"update HIST_VENTAS set HVD_RECHAZO = 2, HVD_RECHAZOCANT = HVD_RECHAZOCANT + 1 WHERE HVD_PROID = '${esteTag.Get(3)}' and HVD_CODPROMO = '${esteTag.Get(3)}' and HVD_CLIENTE in (Select CUENTA from cuentaa)"$)
Starter.skmt.ExecNonQuery($"update HIST_VENTAS set HVD_RECHAZO = 1, HVD_RECHAZOCANT = HVD_CANT WHERE HVD_CODPROMO = '${esteTag.Get(3)}' and HVD_CLIENTE in (Select CUENTA from cuentaa)"$)
Starter.skmt.ExecNonQuery($"update HIST_VENTAS set HVD_RECHAZO = 2, HVD_RECHAZOCANT = HVD_CANT WHERE HVD_PROID = '${esteTag.Get(3)}' and HVD_CODPROMO = '${esteTag.Get(3)}' and HVD_CLIENTE in (Select CUENTA from cuentaa)"$)
' Starter.skmt.ExecNonQuery($"update HIST_VENTAS set HVD_CODPROMO = '${Subs.traeAlmacen}' WHERE HVD_cliente in (Select CUENTA from cuentaa) AND HVD_CODPROMO = '${esteTag.Get(3)}'"$)
' Next
c.Close
LogColor(prodsMap, Colors.red)
reconstruirPedido = True
promoABorrar = esteTag.Get(3)
B4XPage_Appear
End If
Else
If laCant.Text = "" Then laCant.Text = 0
laCant.Text = $"$1.0{laCant.Text-1}"$
If laCant.Text < 0 Then laCant.Text = 0
Log("NO ES promo")
Starter.skmt.ExecNonQuery($"update HIST_VENTAS set HVD_RECHAZO = 1, HVD_RECHAZOCANT = IFNULL(HVD_RECHAZOCANT,0) + (1*'${minimoadesc}') WHERE HVD_PROID = '${esteTag.Get(2)}' and HVD_cliente in (Select CUENTA from cuentaa) AND CONSECUTIVO = '${esteTag.Get(8)}'"$)
Starter.skmt.ExecNonQuery2("update cat_gunaprod set cat_gp_almacen = cat_gp_almacen + 1 where cat_gp_id = ?", Array As Object(esteTag.Get(2)))
B4XPage_Appear
End If
Else
' If laCant.Text = "" Then laCant.Text = 0
' laCant.Text = NumberFormat2(($"$1.0{laCant.Text-1}"$),0,0,0,False)
If laCant.Text = "" Then laCant.Text = 0
' Realizamos la resta de forma segura
Dim valorActual As Double = laCant.Text
Dim resultado As Double = valorActual - 1
If resultado < 0 Then resultado = 0
' Asignamos al Label/EditText sin comas de miles
laCant.Text = NumberFormat2(resultado, 1, 0, 0, False)
If laCant.Text < 0 Then laCant.Text = 0
Log("NO ES promo")
Starter.skmt.ExecNonQuery($"update HIST_VENTAS set HVD_RECHAZO = 1, HVD_RECHAZOCANT = IFNULL(HVD_RECHAZOCANT,0) + (1*'${minimoadesc}'), BCAJAS = 0, CANTC = 0 WHERE HVD_PROID = '${esteTag.Get(2)}' and HVD_cliente in (Select CUENTA from cuentaa) AND CONSECUTIVO = '${esteTag.Get(8)}'"$)
Starter.skmt.ExecNonQuery2("update cat_gunaprod set cat_gp_almacen = cat_gp_almacen + 1 where cat_gp_id = ?", Array As Object(esteTag.Get(2)))
B4XPage_Appear
End If
End If
Else
If laCant.Text = "" Then laCant.Text = 0
laCant.Text = $"$1.0{laCant.Text-10}"$
If laCant.Text < 0 Then laCant.Text = 0
Log("NO ES promo")
' Starter.skmt.ExecNonQuery($"update HIST_VENTAS set HVD_RECHAZO = 1, HVD_RECHAZOCANT = IFNULL(HVD_RECHAZOCANT,0) + 1 WHERE HVD_PROID = '${esteTag.Get(2)}' and HVD_cliente = '${esteTag.Get(6)}'"$)
' Starter.skmt.ExecNonQuery2("update cat_gunaprod set cat_gp_almacen = cat_gp_almacen + 1 where cat_gp_id = ?", Array As Object(esteTag.Get(2)))
' Starter.skmt.ExecNonQuery2("update PEDIDO set cat_gp_almacen = cat_gp_almacen + 1 where cat_gp_id = ?", Array As Object(esteTag.Get(2)))
Private c3 As Cursor = Starter.skmt.ExecQuery2("SELECT PE_CANT FROM PEDIDO WHERE PE_PROID = ? AND PE_CLIENTE IN (SELECT CUENTA FROM CUENTAA) AND CONSECUTIVO = ?", Array As String(esteTag.Get(2), esteTag.Get(8)))
If c3.RowCount > 0 Then
c3.Position = 0
If c3.GetString("PE_CANT") > 1 Then
Private c2 As Cursor = Starter.skmt.ExecQuery2("SELECT * FROM CAT_GUNAPROD WHERE CAT_GP_ID = ?", Array As String(esteTag.Get(2)))
If c2.RowCount > 0 Then
c2.Position = 0
Starter.skmt.ExecNonQuery($"update PEDIDO set PE_CANT = IFNULL(PE_CANT,0)-(1*'${minimoadesc}'), PE_COSTO_TOT= ((IFNULL(PE_CANT,0) -(1*'${minimoadesc}'))*'${c2.GetString("CAT_GP_PRECIO")}') WHERE PE_PROID = '${esteTag.Get(2)}' and PE_CLIENTE in (Select CUENTA from cuentaa) AND CONSECUTIVO = '${esteTag.Get(8)}'"$)
End If
Else If c3.GetString("PE_CANT") = 1 Then
Private c2 As Cursor = Starter.skmt.ExecQuery2("SELECT * FROM CAT_GUNAPROD WHERE CAT_GP_ID = ?", Array As String(esteTag.Get(2)))
If c2.RowCount > 0 Then
c2.Position = 0
Starter.skmt.ExecNonQuery($"delete from PEDIDO where PE_PROID = '${esteTag.Get(2)}' and PE_CLIENTE in (Select CUENTA from cuentaa) AND CONSECUTIVO = '${esteTag.Get(8)}'"$)
End If
End If
End If
B4XPage_Appear
End If
End If
Dim preciou As Float = esteTag.Get(0)/esteTag.Get(1)
Log("PU: " & preciou)
' LogColor("estamos aqui mmenos " & laCant.Text& " , " & (preciou * laCant.Text),Colors.Green )
' If L_CANT.Text - 1 >= 0 Then
' L_CANT.Text = L_CANT.Text - 1
' End If
' b_guardar.Visible = True
' Subs.prodRechazo(esteTag.Get(5), esteTag.Get(2))
' Private cym As Map = Subs.traemosCantYMonto(clv_pedido)
' L_CANT.Text = cym.Get("cantidad")
' L_TOTAL.Text = Round2(cym.Get("monto"), 2)
' cuentaProds("-")
End If
End If
End Sub
Private Sub b_prodMas_LongClick
If Subs.traeAlmacen = "94" Then
Dim x2 As Cursor =Starter.skmt.ExecQuery("SELECT gestion FROM kmt_info where CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA)")
x2.Position = 0
If x2.GetString("gestion") = 2 Then
MsgboxAsync("Ya se gestiono el cliente, no se pueden hacer modificaciones","Atención")
' Wait For Msgbox_Result (result2 As Int)
' If result= DialogResponse.NEGATIVE Then
' B4XPages.ShowPage("Principal")
' End If
' b_prodMas.Enabled = False
' b_prodMenos.Enabled = False
Else
etCantHasFocus = False
' Log("etCantHasFocus=" & etCantHasFocus)
LogColor("b_prodMas_Click", Colors.Magenta)
Dim index As Int = clv_pedido.GetItemFromView(Sender)
Dim pnl0 As B4XView = clv_pedido.GetPanel(index)
Dim pnl As B4XView = pnl0.GetView(0)
Dim laCant As B4XView = pnl.GetView(2).GetView(3)
' Log(pnl.GetView(2).GetView(1).text&"|"&pnl.GetView(2).GetView(2)&"|"&pnl.GetView(2).GetView(4).text)
' Log($"precio|stock:${laCant.tag}"$)
' Log($"Indice: ${index}, cant:${laCant.Text+1}, precioU: ${laCant.tag}"$)
Dim esteTag As List = Regex.Split("\|", laCant.Tag)
Log("LC_TEXT:"&laCant.Text&"|LC_TAG:"&laCant.Tag&"|ET:"&esteTag)
If laCant.Text = "" Then laCant.Text = 0
Private maxProds = esteTag.Get(1) + esteTag.Get(4) 'Prods disponibles + prods comprados
LogColor($"++++++++++++++++++++++++++ ${esteTag}"$, Colors.Green)
' Log(esteTag.get(4))
Private minimoadesc As String
Dim minimos As Cursor = Starter.skmt.ExecQuery2("SELECT * FROM CAT_GUNAPROD3 WHERE CAT_GP_ID = ?", Array As String(esteTag.Get(2)))
If minimos.RowCount > 0 Then
minimos.Position = 0
minimoadesc = minimos.GetString("CAT_DP_CANT_MIN_VENTA")
Else
minimoadesc = "10"
End If
minimos.Close
'*'${minimoadesc}')
minimoadesc = "10"
If esteTag.Get(7) <> "1" Then
If esteTag.Get(5) = esteTag.Get(6) Then
If laCant.Text + 10 <= maxProds Then
Log($"NuevaCant = ${laCant.Text + 1}"$)
laCant.Text = $"$1.0{laCant.Text + 1}"$
Starter.skmt.ExecNonQuery2("update cat_gunaprod set cat_gp_almacen = cat_gp_almacen - 1 where cat_gp_id = ?", Array As Object(esteTag.Get(2)))
'checar este por si las dudas
Starter.skmt.ExecNonQuery($"update HIST_VENTAS set HVD_RECHAZO = 1, HVD_RECHAZOCANT = HVD_RECHAZOCANT - (1*'${minimoadesc}') WHERE HVD_PROID = '${esteTag.Get(2)}' and HVD_cliente in (Select CUENTA from cuentaa) AND CONSECUTIVO = '${esteTag.Get(8)}'"$)
Subs.prodVenta(esteTag.Get(5), esteTag.Get(2))
' Private cym As Map = Subs.traemosCantYMonto(clv_pedido)
' L_CANT.Text = cym.Get("cantidad")
' L_TOTAL.Text = Round2(cym.Get("monto"), 2)
' cuentaProds("+")
B4XPage_Appear
End If
Else
If laCant.Text + 1 <= maxProds Then
Log($"NuevaCant = ${laCant.Text + 1}"$)
laCant.Text = $"$1.0{laCant.Text + 1}"$
Starter.skmt.ExecNonQuery2("update cat_gunaprod set cat_gp_almacen = cat_gp_almacen - 1 where cat_gp_id = ?", Array As String(esteTag.Get(2)))
c = Starter.skmt.ExecQuery2("SELECT * FROM PEDIDO WHERE PE_PROID = ? and PE_CLIENTE IN (SELECT CUENTA FROM CUENTAA) AND CONSECUTIVO = ?", Array As String(esteTag.Get(2),esteTag.Get(8)))
If c.RowCount > 0 Then
Private c2 As Cursor = Starter.skmt.ExecQuery2("SELECT * FROM CAT_GUNAPROD WHERE CAT_GP_ID = ?", Array As String(esteTag.Get(2)))
If c2.RowCount > 0 Then
c2.Position = 0
' Starter.skmt.ExecNonQuery($"update HIST_VENTAS set HVD_RECHAZO = 1, HVD_RECHAZOCANT = HVD_RECHAZOCANT - 1 WHERE HVD_PROID = '${esteTag.Get(2)}' and HVD_cliente = '${esteTag.Get(5)}'"$)
Starter.skmt.ExecNonQuery($"update PEDIDO set PE_CANT = IFNULL(PE_CANT,0)+(1*'${minimoadesc}'), PE_COSTO_TOT= ((IFNULL(PE_CANT,0)+(1*'${minimoadesc}'))*'${c2.GetString("CAT_GP_PRECIO")}') WHERE PE_PROID = '${esteTag.Get(2)}' and PE_CLIENTE in (Select CUENTA from cuentaa) AND CONSECUTIVO = '${esteTag.Get(8)}'"$)
End If
Else
Private c2 As Cursor = Starter.skmt.ExecQuery2("SELECT * FROM CAT_GUNAPROD WHERE CAT_GP_ID = ?", Array As String(esteTag.Get(2)))
If c2.RowCount > 0 Then
c2.Position = 0
' Starter.skmt.ExecNonQuery($"update HIST_VENTAS set HVD_RECHAZO = 1, HVD_RECHAZOCANT = HVD_RECHAZOCANT - 1 WHERE HVD_PROID = '${esteTag.Get(2)}' and HVD_cliente = '${esteTag.Get(5)}'"$)
Starter.skmt.ExecNonQuery2("INSERT INTO PEDIDO(PE_PROID,PE_PRONOMBRE,PE_CANT,PE_CLIENTEOR,PE_CLIENTE,PE_COSTOU,PE_COSTO_TOT,PE_CAJAS,PE_BCAJAS,CONSECUTIVO) VALUES (?,?,?,?,?,?,?,0,0,?)", Array As String(esteTag.Get(2),c2.GetString("CAT_GP_NOMBRE"),1*minimoadesc,esteTag.Get(5),Subs.traeCliente,c2.GetString("CAT_GP_PRECIO"),c2.GetString("CAT_GP_PRECIO"),esteTag.Get(8)))
End If
End If
Subs.prodVenta(esteTag.Get(5), esteTag.Get(2))
' Private cym As Map = Subs.traemosCantYMonto(clv_pedido)
' L_CANT.Text = cym.Get("cantidad")
' L_TOTAL.Text = Round2(cym.Get("monto"), 2)
' cuentaProds("+")
B4XPage_Appear
End If
End If
End If
' Dim preciou As Float = esteTag.Get(0)/esteTag.Get(1)
' Log(preciou)
' LogColor("estamos aquii mas " & laCant.Text& " , " & (preciou * laCant.Text) ,Colors.Green )
' b_guardar.Visible = True
' Log($"Total Prods: ${totalProds}, Total Compra: $$1.2{totalCompra}"$)
' c = Starter.skmt.ExecQuery($"SELECT HVD_CANT FROM HIST_VENTAS2 WHERE HVD_CLIENTE IN (SELECT CUENTA FROM CUENTAA) AND HVD_PROID = '${esteTag.Get(2)}' "$)
' c.Position = 0
' Dim cantoriginal As String = 0
' If c.RowCount > 0 Then
' cantoriginal = c.GetString("HVD_CANT")
' End If
' If cantoriginal <= esteTag.Get(1) Then
' L_CANT.Text = L_CANT.Text + 1
' End If
End If
End If
End Sub