mirror of
https://github.com/KeymonSoft/Kelloggs_v4.git
synced 2026-04-17 18:26:11 +00:00
- Se agrego auditoria en los "principales" eventos, se guardan en la tabla "auditoria"
560 lines
29 KiB
QBasic
560 lines
29 KiB
QBasic
B4A=true
|
|
Group=Default Group
|
|
ModulesStructureVersion=1
|
|
Type=Class
|
|
Version=11.5
|
|
@EndOfDesignText@
|
|
Sub Class_Globals
|
|
Private Root As B4XView 'ignore
|
|
Private xui As XUI 'ignore
|
|
Dim kh As kms_helperSubs
|
|
'//Process Globals
|
|
Dim clie_id As String
|
|
Dim sDate,sTime As String
|
|
Dim usuario As String
|
|
'//Globals
|
|
Dim c, C_DOE As Cursor
|
|
Dim C1 As Cursor
|
|
Dim ruta As String
|
|
Dim Regresar As Button
|
|
Dim ListView1 As ListView
|
|
Dim L_CANT As Label
|
|
Dim L_TOTAL As Label
|
|
Dim borra As Button
|
|
Dim Existe As String
|
|
Dim result As String
|
|
Dim lat_gps, lon_gps As String
|
|
Private Titulo As Label
|
|
Private b_desc As Button
|
|
Dim DESCUENTO As String
|
|
Dim folio As String
|
|
Dim TIPO As String
|
|
Private CAMBIOS As String
|
|
Dim logger As Boolean = True
|
|
Private B_PEDIDO_DOE As Button
|
|
Dim list_prodsPedido As List
|
|
Private clv_pedidos As CustomListView
|
|
Private p_pedido As Panel
|
|
Private l_pedido As Label
|
|
Private lv_prodsDOE As ListView
|
|
Private L_CANT_D As Label
|
|
Private L_TOTAL_D As Label
|
|
Private l_tipoPedido As Label
|
|
Dim pedidoMostrado As String = "NORMAL"
|
|
Dim ts As C_TrendSpending
|
|
End Sub
|
|
|
|
'You can add more parameters here.
|
|
Public Sub Initialize As Object
|
|
kh.Initialize(Me, "kh", Starter.skmt)
|
|
ts.Initialize(Me, "ts", Starter.skmt)
|
|
Return Me
|
|
End Sub
|
|
|
|
'This event will be called once, before the page becomes visible.
|
|
Private Sub B4XPage_Created (Root1 As B4XView)
|
|
If Not(Starter.Logger) Then logger = False
|
|
Root = Root1
|
|
'load the layout to Root
|
|
ruta = File.DirInternal
|
|
Root.LoadLayout("nota")
|
|
borra.Visible = True
|
|
Titulo.Text = "Pedido Actual"
|
|
Starter.skmt.ExecNonQuery("update pedido set pe_folio = 0 where pe_folio is null")
|
|
c = Starter.skmt.ExecQuery("select count(*) as EXISTE from pedido_cliente WHERE pc_cliente IN (Select CUENTA from cuentaa)")
|
|
C.Position = 0
|
|
Existe = C.GetString("EXISTE")
|
|
C.Close
|
|
' c=Starter.skmt.ExecQuery("select PE_PRONOMBRE,PE_COSTO_TOT, PE_CANT, PE_FOLIO FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) order by PE_PRONOMBRE asc")
|
|
' ListView1.Clear
|
|
' ListView1.TwoLinesLayout.ItemHeight = 90dip
|
|
' If c.RowCount>0 Then
|
|
' For i = 0 To c.RowCount -1
|
|
' c.Position=i
|
|
' Dim label1 As Label
|
|
' label1 = ListView1.TwoLinesLayout.Label
|
|
'' label1.Color = Colors.Cyan
|
|
' label1.TextSize = 15
|
|
' label1.TextColor = Colors.Black
|
|
'' label1.Height = 50dip
|
|
' Dim label2 As Label
|
|
' label2 = ListView1.TwoLinesLayout.SecondLabel
|
|
' label2.TextSize = 12
|
|
' label2.TextColor = Colors.Black
|
|
'' label2.Color = Colors.green
|
|
' ListView1.AddTwoLines(c.GetString("PE_PRONOMBRE"),"Cantidad #"& c.GetString("PE_CANT")& " SubTotal $"& c.GetString("PE_COSTO_TOT")& " Folio "& c.GetString("PE_FOLIO"))
|
|
' folio = c.GetString("PE_FOLIO")
|
|
' Next
|
|
' End If
|
|
list_prodsPedido.Initialize
|
|
' Log("list_prodsPedido.Initialize")
|
|
If Existe <> 0 Then
|
|
c = Starter.skmt.ExecQuery("select pc_noart, pc_monto from pedido_cliente where pc_cliente in (Select CUENTA from cuentaa)")
|
|
C.Position = 0
|
|
L_CANT.Text = c.GetString("PC_NOART")
|
|
L_TOTAL.Text = c.GetString("PC_MONTO")
|
|
End If
|
|
End Sub
|
|
|
|
'You can see the list of page related events in the B4XPagesManager object. The event name is B4XPage.
|
|
|
|
Sub B4XPage_Appear
|
|
B4XPages.MainPage.aud.guarda("Entrada a Nota")
|
|
If kh.clienteConDOE And l_tipoPedido.IsInitialized Then
|
|
l_tipoPedido.Visible = True
|
|
Else
|
|
If l_tipoPedido.IsInitialized Then l_tipoPedido.Visible = False
|
|
End If
|
|
pedidoMostrado = "NORMAL"
|
|
Dim sumatotal As Double = 0
|
|
c=Starter.skmt.ExecQuery2("select count(*) as CUANTOS FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) AND PE_CEDIS = ?", Array As String("DOE"))
|
|
c.Position = 0
|
|
ListView1.Visible = True
|
|
L_CANT.Visible = True
|
|
L_TOTAL.Visible = True
|
|
lv_prodsDOE.Visible = False
|
|
L_CANT_D.Visible = False
|
|
L_TOTAL_D.Visible = False
|
|
l_tipoPedido.Text = "PEDIDO NORMAL"
|
|
If c.GetString("CUANTOS") > 0 Then
|
|
B_PEDIDO_DOE.Text = "IR A PEDIDO DON TOÑO"
|
|
B_PEDIDO_DOE.VISIBLE = True
|
|
C_DOE=Starter.skmt.ExecQuery2("select PE_PRONOMBRE, PE_COSTO_TOT, PE_CANT, PE_FOLIO FROM PEDIDO WHERE PE_CEDIS = ? AND PE_CLIENTE IN (Select CUENTA from cuentaa) order by PE_PRONOMBRE asc", Array As String("DOE"))
|
|
lv_prodsDOE.Clear
|
|
If C_DOE.RowCount>0 Then
|
|
For i=0 To C_DOE.RowCount -1
|
|
C_DOE.Position = i
|
|
Dim cs As CSBuilder
|
|
cs.Initialize
|
|
Private txtPromo As String = ""
|
|
If C_DOE.GetString("PE_COSTO_TOT") < 0.02 And C_DOE.GetString("PE_COSTO_TOT") >= 0 Then txtPromo = "P - "
|
|
If C_DOE.GetString("PE_COSTO_TOT") < 0 Then txtPromo = "RMI - "
|
|
Dim label1 As Label
|
|
label1 = lv_prodsDOE.TwoLinesLayout.Label
|
|
label1.TextSize = 15
|
|
label1.TextColor = Colors.Black
|
|
Dim label2 As Label
|
|
label2 = lv_prodsDOE.TwoLinesLayout.SecondLabel
|
|
label2.TextSize = 12
|
|
label2.TextColor = Colors.Black
|
|
lv_prodsDOE.AddTwoLines(cs.Color(Colors.RGB(10,153,10)).append(C_DOE.GetString("PE_PRONOMBRE")).PopAll,txtPromo & "Cantidad #"& C_DOE.GetString("PE_CANT")& " SubTotal $"& C_DOE.GetString("PE_COSTO_TOT")& " Folio "& C_DOE.GetString("PE_FOLIO"))
|
|
folio = C_DOE.GetString("PE_FOLIO")
|
|
Next
|
|
End If
|
|
C_DOE.Close
|
|
C_DOE=Starter.skmt.ExecQuery2("select sum(pe_cant) AS CANTIDAD, sum(pe_costo_tot) AS MONTO from pedido where PE_CEDIS <> PE_PROID and pe_cliente in (Select CUENTA from cuentaa) AND PE_CEDIS = ?", Array As String("DOE"))
|
|
C_DOE.Position=0
|
|
L_CANT_D.Text = C_DOE.GetString("CANTIDAD")
|
|
L_TOTAL_D.Text = NumberFormat2(kh.traeTotalCliente, 1, 2, 2, True)
|
|
c.Close
|
|
Else
|
|
B_PEDIDO_DOE.VISIBLE = False
|
|
End If
|
|
c=Starter.skmt.ExecQuery("select count(*) as CUANTOS from kmt_info where (impresion = 1 or cat_cl_codigo in (select ci_cuenta from cliente_impreso)) and CAT_CL_CODIGO in (Select CUENTA from cuentaa)")
|
|
c.Position = 0
|
|
' If logger Then Log($"Impreso: ${c.GetString("CUANTOS")}"$)
|
|
If c.GetString("CUANTOS") > 0 Then
|
|
borra.Visible = False
|
|
Else
|
|
borra.Visible = True
|
|
End If
|
|
' If Subs.clienteActual = "0" Then borra.Visible = True 'Si el cliente actual es "abordo" entonces SIEMPRE lo dejamos modificar la venta.
|
|
c.Close
|
|
L_CANT.Text =""
|
|
L_TOTAL.Text=""
|
|
Starter.skmt.ExecNonQuery("update pedido set pe_folio = 0 where pe_folio is null")
|
|
c = Starter.skmt.ExecQuery("select count(*) as EXISTE from pedido_cliente WHERE pc_cliente IN (Select CUENTA from cuentaa)")
|
|
C.Position = 0
|
|
Existe = C.GetString("EXISTE")
|
|
C.Close
|
|
c=Starter.skmt.ExecQuery("select PE_PRONOMBRE, PE_COSTO_TOT, PE_CANT, PE_FOLIO, PE_CEDIS, PE_PROID FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) and PE_CEDIS <> 'DOE' order by PE_PRONOMBRE asc")
|
|
Private cs As CSBuilder
|
|
ListView1.Clear
|
|
clv_pedidos.Clear
|
|
ListView1.TwoLinesLayout.ItemHeight = 90dip
|
|
list_prodsPedido.Clear
|
|
If c.RowCount >0 Then
|
|
For i = 0 To c.RowCount - 1
|
|
cs.Initialize
|
|
c.Position=i
|
|
Private txtPromo As String = ""
|
|
If Not(IsNumber(c.GetString("PE_CEDIS"))) Then txtPromo = "P - "
|
|
If c.GetString("PE_CEDIS") = "DUR" Then txtPromo = "C - "
|
|
Dim label1 As Label
|
|
label1 = ListView1.TwoLinesLayout.Label
|
|
label1.TextSize = 15
|
|
label1.Height = 30dip
|
|
label1.TextColor = Colors.Black
|
|
' label1.Height = 50dip
|
|
Dim label2 As Label
|
|
label2 = ListView1.TwoLinesLayout.SecondLabel
|
|
label2.TextSize = 12
|
|
label2.TextColor = Colors.Black
|
|
Private textColor As Int = Colors.black
|
|
If Not(IsNumber(c.GetString("PE_CEDIS"))) Then textColor = Colors.RGB(210,105,30) 'Si es promo, cambiamos el color del texto.
|
|
If c.GetString("PE_CEDIS") = "DUR" Then textColor = Colors.Red 'Si es promo, cambiamos el color del texto.
|
|
' ListView1.AddTwoLines(c.GetString("PE_PRONOMBRE"), cs.Color(textColor).append(txtPromo).Append("Cantidad #" & c.GetString("PE_CANT") & " SubTotal $" & c.GetString("PE_COSTO_TOT") & " Folio " & c.GetString("PE_FOLIO")).PopAll)
|
|
clv_pedidos.Add(CreateListItemPedidos(c.GetString("PE_PRONOMBRE"), textColor, txtPromo, c.GetString("PE_CANT"), c.GetString("PE_COSTO_TOT"), c.GetString("PE_FOLIO")), c.GetString("PE_PRONOMBRE"))
|
|
list_prodsPedido.Add(CreateMap("prodNom":c.GetString("PE_PRONOMBRE"), "cedis":c.GetString("PE_CEDIS"), "prodId": c.GetString("PE_PROID"), "cant": c.GetString("PE_CANT")))
|
|
folio = c.GetString("PE_FOLIO")
|
|
Next
|
|
End If
|
|
If Existe <> 0 Then
|
|
c = Starter.skmt.ExecQuery("select sum(pe_cant) AS CANTIDAD, sum(pe_costo_tot) AS MONTO from pedido where PE_CEDIS <> PE_PROID and pe_cliente in (Select CUENTA from cuentaa)")
|
|
C.Position = 0
|
|
L_CANT.Text = c.GetString("CANTIDAD")
|
|
L_TOTAL.Text = kh.traeTotalCliente
|
|
c.Close
|
|
c = Starter.skmt.ExecQuery("select SUM(IFNULL(PE_DESC,0)) AS DESCUENTO FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)")
|
|
c.Position = 0
|
|
b_desc.Visible = False
|
|
End If
|
|
c=Starter.skmt.ExecQuery("select count(*) As CUANTOS FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)")
|
|
c.Position = 0
|
|
If c.GetString("CUANTOS") = 0 Then
|
|
folio = 0
|
|
Else
|
|
C1=Starter.skmt.ExecQuery("SELECT SUM(ifnull(PE_FOLIO,0)) AS FOLIO FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)")
|
|
C1.Position = 0
|
|
folio = C1.GetString("FOLIO")
|
|
If C1.GetString("FOLIO") > 0 Then
|
|
folio = 100
|
|
End If
|
|
End If
|
|
c.Close
|
|
End Sub
|
|
|
|
Sub CreateListItemPedidos(Texto1 As String, txtColor As Int, txtPromo As String, cantp As String, costoTotP As String, folioP As String) As Panel 'ignore
|
|
Dim p As B4XView = xui.CreatePanel("")
|
|
Dim su As StringUtils
|
|
Dim cs As CSBuilder
|
|
cs.Initialize
|
|
p.LoadLayout("pedidoItem")
|
|
l_pedido.Text = cs.append(Texto1).Append(CRLF).Color(txtColor).append(txtPromo).Append("Cantidad #" & cantp & " SubTotal $" & NumberFormat2(costoTotP, 1, 2, 2, True) & " Folio " & folioP).PopAll
|
|
Dim alto As Int = su.MeasureMultilineTextHeight(l_pedido, l_pedido.Text)
|
|
p.SetLayoutAnimated(0, 0, 0, clv_pedidos.AsView.Width, alto + 20)
|
|
' i_prod.Bitmap = img
|
|
Return p
|
|
End Sub
|
|
|
|
Sub Activity_Pause (UserClosed As Boolean)
|
|
|
|
End Sub
|
|
|
|
Sub GPS_LocationChanged (Location1 As Location)
|
|
' lat_gps=Location1.ConvertToSeconds(Location1.Latitude)
|
|
' lon_gps=Location1.ConvertToSeconds(Location1.Longitude)
|
|
End Sub
|
|
|
|
Sub Regresar_Click
|
|
Subs.iniciaActividad("Cliente")
|
|
End Sub
|
|
|
|
Private Sub B4XPage_CloseRequest As ResumableSub
|
|
' BACK key pressed
|
|
Subs.iniciaActividad("Cliente")
|
|
' B4XPages.ShowPage("Principal")
|
|
Return True
|
|
End Sub
|
|
|
|
Sub borra_Click
|
|
Log(pedidoMostrado)
|
|
Log("CON DOE: " & kh.clienteConDOE)
|
|
Private textoExtra As String = ""
|
|
If pedidoMostrado = "DOE" Then textoExtra = " DOE"
|
|
If kh.clienteConDOE And pedidoMostrado = "NORMAL" Then textoExtra = " (Sin DOE)"
|
|
If folio = "0" Or 1 = 1 Then 'Si el folio es 0 o el cliente actual es "abordo", los deja borrar. - Mod por CHV 220512 'Para que el abordo borre siempre agregar -> " Or Subs.clienteActual = "0""
|
|
result = Msgbox2($"¿Seguro que desea borrar el pedido${textoExtra}?"$,"Cancelar pedido", "Si", "", "No", LoadBitmap(File.DirAssets,"alert2.png")) 'ignore
|
|
If result = DialogResponse.POSITIVE Then
|
|
B4XPages.MainPage.aud.guarda($"Borrar Nota Ok"$)
|
|
' c = Starter.skmt.ExecQuery("select PE_PROID, PE_CANT, PE_TIPO, PE_CEDIS FROM PEDIDO where pe_cliente in (Select CUENTA from cuentaa) ")
|
|
' If c.RowCount>0 Then
|
|
' For i=0 To c.RowCount -1
|
|
' c.Position=i
|
|
' TIPO = c.GetString("PE_TIPO")
|
|
' If c.GetString("PE_CEDIS") <> "DUR" Then Starter.skmt.ExecNonQuery2($"update ${Subs.traeTablaProds(TIPO)} set cat_gp_almacen = cat_gp_almacen + ? where cat_gp_id = ?"$, Array As Object(c.GetString("PE_CANT"),c.GetString("PE_PROID")))
|
|
' Next
|
|
' End If
|
|
' Starter.skmt.ExecNonQuery("delete from pedido_cliente where pc_cliente in (Select CUENTA from cuentaa)")
|
|
' Starter.skmt.ExecNonQuery("delete from pedido where pe_cliente in (Select CUENTA from cuentaa)")
|
|
' Starter.skmt.ExecNonQuery("UPDATE kmt_info set gestion = 0 where CAT_CL_CODIGO In (select cuenta from cuentaa)")
|
|
If pedidoMostrado = "DOE" Then
|
|
Subs.borraPedidoDOEClienteActual
|
|
Else
|
|
Subs.borraPedidoClienteActual
|
|
End If
|
|
' B4XPages.MainPage.productos.prodsMap.Initialize 'inicializamos mapa de productos para que no aparezcan como vendidos en la lista
|
|
B4XPages.MainPage.promos.promosMap.Initialize
|
|
' Log("Llamamos LlenaProdsLL")
|
|
If B4XPages.MainPage.productos.PCLV.IsInitialized Then B4XPages.MainPage.productos.LlenaProdsLL(Null, Null)
|
|
B4XPage_Appear
|
|
End If
|
|
Else
|
|
Msgbox("CLIENTE YA SE TRANSMITIO, FAVOR DE LLAMAR A SOPORTE PARA ASISTENCIA","AVISO") 'ignore
|
|
End If
|
|
End Sub
|
|
|
|
Sub ListView1_ItemLongClick (Position As Int, Value As Object)
|
|
' Private thisLog As Boolean = False
|
|
' c=Starter.skmt.ExecQuery("select count(*) as CUANTOS from CLIENTE_IMPRESO where CI_CUENTA in (Select CUENTA from cuentaa)")
|
|
' c.Position = 0
|
|
' If thisLog Then Log("lista prods="&list_prodsPedido.Get(Position))
|
|
' Private m As Map = list_prodsPedido.Get(Position)
|
|
' If c.GetString("CUANTOS") = 0 Or Subs.clienteActual = "0" Then 'Si la venta no está impresa o es abordo entonces continuamos ...
|
|
' c=Starter.skmt.ExecQuery2("select count(*) as CUANTOS FROM PEDIDO WHERE PE_CEDIS = ? AND PE_CLIENTE IN (Select CUENTA from cuentaa)", Array As String("DUR"))
|
|
' c.Position = 0
|
|
' CAMBIOS = c.GetString("CUANTOS")
|
|
' c.Close
|
|
' c=Starter.skmt.ExecQuery2("select PE_PRONOMBRE,PE_COSTO_TOT, PE_CANT, PE_FOLIO FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) AND PE_PRONOMBRE = ? order by PE_PRONOMBRE asc", Array As String(Value) )
|
|
' c.Position = 0
|
|
' If c.GetString("PE_FOLIO") = "0" Or Subs.clienteActual = "0" Then
|
|
' 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
|
|
' If thisLog Then Log("m2= " & m)
|
|
' c.Close
|
|
' If thisLog Then 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
|
|
' If c.GetString("CUANTOS") > 0 Then
|
|
' If thisLog 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
|
|
' If thisLog Then 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")}'"$)
|
|
' 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
|
|
' If thisLog Then 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")))
|
|
' If thisLog Then 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
|
|
' clie_id = c.GetString("CUENTA")
|
|
' c=Starter.skmt.ExecQuery("select USUARIO from usuarioa")
|
|
' 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
|
|
' If c.GetString("CUANTOS") > 0 Then
|
|
'
|
|
' Log($"============== TOTAL = ${c.GetString("TOTAL_CLIE")}"$)
|
|
' If c.GetString("TOTAL_CLIE") < 1 Then
|
|
' Starter.skmt.ExecNonQuery("delete from pedido where PE_PRONOMBRE like 'CAMBIO%' and PE_CLIENTE In (select cuenta from cuentaa)"$)
|
|
' End If
|
|
'
|
|
' Starter.skmt.ExecNonQuery("delete from pedido_cliente where PC_CLIENTE In (select cuenta from cuentaa)")
|
|
' If thisLog Then LogColor($"Insertamos coordenadas en pedido: ${Starter.lon_gps}, ${Starter.lat_gps}"$, Colors.Magenta)
|
|
' Starter.skmt.ExecNonQuery2("insert into pedido_cliente(PC_CLIENTE, PC_FECHA, PC_USER, PC_NOART, PC_MONTO,PC_LON, PC_LAT) VALUES (?,?,?,?,?,?,?)", Array As Object(clie_id, sDate & sTime, usuario, c.GetString("CANT_CLIE"),c.GetString("TOTAL_CLIE"), Starter.lon_gps, Starter.lat_gps))
|
|
' Starter.skmt.ExecNonQuery("UPDATE kmt_info set gestion = 2 where CAT_CL_CODIGO In (select cuenta from cuentaa)")
|
|
' Else
|
|
' Starter.skmt.ExecNonQuery("delete from pedido_cliente where PC_CLIENTE In (select cuenta from cuentaa)")
|
|
' Starter.skmt.ExecNonQuery("UPDATE kmt_info set gestion = 0 where CAT_CL_CODIGO In (select cuenta from cuentaa)")
|
|
' End If
|
|
' If thisLog Then Log("Llamamos LlenaProdsLL")
|
|
' If B4XPages.MainPage.productos.PCLV.IsInitialized Then B4XPages.MainPage.productos.LlenaProdsLL(Null, Null)
|
|
' B4XPage_Appear
|
|
' End If
|
|
' Else
|
|
' Msgbox("CLIENTE YA SE TRANSMITIO, FAVOR DE LLAMAR A SOPORTE PARA ASISTENCIA","AVISO") 'ignore
|
|
' End If
|
|
' Else
|
|
' ToastMessageShow("Esta venta ya esta impresa, no se puede editar ni borrar.", False)
|
|
' End If
|
|
End Sub
|
|
|
|
Sub b_desc_Click
|
|
If DESCUENTO = "MENOS" Then
|
|
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
|
|
clie_id = c.GetString("CUENTA")
|
|
c.Close
|
|
c = Starter.skmt.ExecQuery("select USUARIO from usuarioa")
|
|
c.Position = 0
|
|
usuario = c.GetString("USUARIO")
|
|
c.Close
|
|
result = Msgbox2("Seguro que desea dar descuento del 5%?","Dar descuento", "Si", "", "No",LoadBitmap(File.DirAssets,"alert2.png")) 'ignore
|
|
If result = DialogResponse.POSITIVE Then
|
|
Starter.skmt.ExecNonQuery("UPDATE pedido SET PE_COSTO_TOT = PE_COSTO_TOT * .95, PE_DESC = 5 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, count(*) as CUANTOS FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)")
|
|
c.Position = 0
|
|
Starter.skmt.ExecNonQuery("delete from pedido_cliente where PC_CLIENTE In (select cuenta from cuentaa)")
|
|
If logger Then LogColor($"Insertamos coordenadas en pedido: ${Starter.lon_gps}, ${Starter.lat_gps}"$, Colors.Magenta)
|
|
Starter.skmt.ExecNonQuery2("insert into pedido_cliente(PC_CLIENTE, PC_FECHA, PC_USER, PC_NOART, PC_MONTO,PC_LON, PC_LAT) VALUES (?,?,?,?,?,?,?)", Array As Object(clie_id, sDate & sTime, usuario, c.GetString("CANT_CLIE"),c.GetString("TOTAL_CLIE"), Starter.lon_gps, Starter.lat_gps))
|
|
c.Close
|
|
B4XPage_Appear
|
|
End If
|
|
ELSE IF DESCUENTO = "MAS" Then
|
|
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
|
|
clie_id = c.GetString("CUENTA")
|
|
c.Close
|
|
c = Starter.skmt.ExecQuery("select USUARIO from usuarioa")
|
|
c.Position = 0
|
|
usuario = c.GetString("USUARIO")
|
|
c.Close
|
|
result = Msgbox2("Seguro que desea CANCELAR el descuento?","Cancelar descuento", "Si", "", "No",LoadBitmap(File.DirAssets,"alert2.png")) 'ignore
|
|
If result = DialogResponse.POSITIVE Then
|
|
Starter.skmt.ExecNonQuery("UPDATE pedido SET PE_COSTO_TOT = PE_COSTO_TOT / .95, PE_DESC = 0 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, count(*) as CUANTOS FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)")
|
|
c.Position = 0
|
|
Starter.skmt.ExecNonQuery("delete from pedido_cliente where PC_CLIENTE In (select cuenta from cuentaa)")
|
|
If logger Then LogColor($"Insertamos coordenadas en pedido: ${Starter.lon_gps}, ${Starter.lat_gps}"$, Colors.Magenta)
|
|
Starter.skmt.ExecNonQuery2("insert into pedido_cliente(PC_CLIENTE, PC_FECHA, PC_USER, PC_NOART, PC_MONTO,PC_LON, PC_LAT) VALUES (?,?,?,?,?,?,?)", Array As Object(clie_id, sDate & sTime, usuario, c.GetString("CANT_CLIE"),c.GetString("TOTAL_CLIE"), Starter.lon_gps, Starter.lat_gps))
|
|
c.Close
|
|
B4XPage_Appear
|
|
End If
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub B_PEDIDO_DOE_Click
|
|
If B_PEDIDO_DOE.Text = "IR A PEDIDO DON TOÑO" Then
|
|
pedidoMostrado = "DOE"
|
|
l_tipoPedido.Text = "PEDIDO DON TOÑO"
|
|
ListView1.Visible = False
|
|
L_CANT.Visible = False
|
|
L_TOTAL.Visible = False
|
|
B_PEDIDO_DOE.Text = "IR A PEDIDO NORMAL"
|
|
lv_prodsDOE.Visible = True
|
|
L_CANT_D.Visible = True
|
|
L_TOTAL_D.Visible = True
|
|
Else
|
|
pedidoMostrado = "NORMAL"
|
|
l_tipoPedido.Text = "PEDIDO NORMAL"
|
|
ListView1.Visible = True
|
|
B_PEDIDO_DOE.Text = "IR A PEDIDO DON TOÑO"
|
|
lv_prodsDOE.Visible = False
|
|
L_CANT_D.Visible = False
|
|
L_TOTAL_D.Visible = False
|
|
L_CANT.Visible = True
|
|
L_TOTAL.Visible = True
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub clv_pedidos_ItemLongClick (position As Int, Value As Object)
|
|
Private thisLog As Boolean = False
|
|
' c = Starter.skmt.ExecQuery("select count(*) as hayImpresos from CLIENTE_IMPRESO where CI_CUENTA in (Select CUENTA from cuentaa)")
|
|
' c.Position = 0
|
|
If thisLog Then Log("lista prods="&list_prodsPedido.Get(position))
|
|
Private m As Map = list_prodsPedido.Get(position)
|
|
If kh.revisaImpresa = False Then 'Si la venta no está impresa o es abordo entonces continuamos ... 'Para que el abordo borre siempre " Or Subs.clienteActual = "0""
|
|
c=Starter.skmt.ExecQuery2("select count(*) as CUANTOS FROM PEDIDO WHERE PE_CEDIS = ? AND PE_CLIENTE IN (Select CUENTA from cuentaa)", Array As String("DUR"))
|
|
c.Position = 0
|
|
CAMBIOS = c.GetString("CUANTOS")
|
|
c.Close
|
|
c = Starter.skmt.ExecQuery2("select PE_PRONOMBRE, PE_COSTO_TOT, PE_CANT, PE_FOLIO FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) AND PE_PRONOMBRE = ? order by PE_PRONOMBRE asc", Array As String(Value) )
|
|
c.Position = 0
|
|
If c.GetString("PE_FOLIO") = "0" Or 1 = 1 Then 'Para que el abordo borre siempre agregar -> " Or Subs.clienteActual = "0" "
|
|
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
|
|
If thisLog Then Log("m2= " & m)
|
|
c.Close
|
|
If thisLog Then 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
|
|
If c.GetString("CUANTOS") > 0 Then 'Si es promo, borramos la promo completa del pedido.
|
|
If thisLog 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
|
|
If thisLog Then 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")}'"$)
|
|
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))
|
|
Private precio0 As String = Subs.traePrecio(prod.GetString("PE_PROID"))
|
|
Private precioConDesc As String = (B4XPages.MainPage.cliente.kh.traeDescXSku(Subs.traeCliente, prod.GetString("PE_PROID"))/100)*precio0
|
|
ts.modTrendSpending("suma", "descuentos", (precioConDesc * prod.GetString("PE_CANT")))
|
|
Else
|
|
If thisLog Then Log($"SUMAMOS ${m.get("cant")} a ${m.get("prodId")} "$)
|
|
'Si no es RMI, actualizamos el inventario.
|
|
If prod.GetString("PE_CEDIS") <> "DUR" Then 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")))
|
|
If thisLog Then 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")))
|
|
Private precio0 As String = Subs.traePrecio(prod.GetString("PE_PROID"))
|
|
Private precioConDesc As String = (B4XPages.MainPage.cliente.kh.traeDescXSku(Subs.traeCliente, prod.GetString("PE_PROID"))/100)*precio0
|
|
ts.modTrendSpending("suma", "descuentos", (precioConDesc * prod.GetString("PE_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
|
|
clie_id = c.GetString("CUENTA")
|
|
c = Starter.skmt.ExecQuery("select USUARIO from usuarioa")
|
|
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
|
|
If c.GetString("CUANTOS") > 0 Then
|
|
' Log($"============== TOTAL = ${c.GetString("TOTAL_CLIE")}"$)
|
|
If c.GetString("TOTAL_CLIE") < 1 Then
|
|
Starter.skmt.ExecNonQuery("delete from pedido where PE_PRONOMBRE like 'CAMBIO%' and PE_CLIENTE In (select cuenta from cuentaa)"$)
|
|
End If
|
|
Starter.skmt.ExecNonQuery("delete from pedido_cliente where PC_CLIENTE In (select cuenta from cuentaa)")
|
|
If thisLog Then LogColor($"Insertamos coordenadas en pedido: ${Starter.lon_gps}, ${Starter.lat_gps}"$, Colors.Magenta)
|
|
Starter.skmt.ExecNonQuery2("insert into pedido_cliente(PC_CLIENTE, PC_FECHA, PC_USER, PC_NOART, PC_MONTO,PC_LON, PC_LAT) VALUES (?,?,?,?,?,?,?)", Array As Object(clie_id, sDate & sTime, usuario, c.GetString("CANT_CLIE"),c.GetString("TOTAL_CLIE"), Starter.lon_gps, Starter.lat_gps))
|
|
Starter.skmt.ExecNonQuery("UPDATE kmt_info set gestion = 2 where CAT_CL_CODIGO In (select cuenta from cuentaa)")
|
|
Else
|
|
Starter.skmt.ExecNonQuery("delete from pedido_cliente where PC_CLIENTE In (select cuenta from cuentaa)")
|
|
Starter.skmt.ExecNonQuery("UPDATE kmt_info set gestion = 0 where CAT_CL_CODIGO In (select cuenta from cuentaa)")
|
|
End If
|
|
If thisLog Then Log("Llamamos LlenaProdsLL")
|
|
If B4XPages.MainPage.productos.PCLV.IsInitialized Then B4XPages.MainPage.productos.LlenaProdsLL(Null, Null)
|
|
B4XPage_Appear
|
|
End If
|
|
Else
|
|
Msgbox("CLIENTE YA SE TRANSMITIO, FAVOR DE LLAMAR A SOPORTE PARA ASISTENCIA","AVISO") 'ignore
|
|
End If
|
|
Else
|
|
ToastMessageShow("Esta venta ya esta impresa, no se puede editar ni borrar.", False)
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub lv_prodsDOE_ItemLongClick (Position As Int, Value As Object)
|
|
If kh.revisaImpresa Then
|
|
ToastMessageShow("Esta venta ya esta impresa, no se puede editar ni borrar.", False)
|
|
Else
|
|
If folio = "0" Or 1 = 1 Then 'Si el folio es 0 o el cliente actual es "abordo", los deja borrar. - Mod por CHV 220512 poner esto para borrar abordo "Or Subs.clienteActual = "0""
|
|
result = Msgbox2("Seguro que desea borrar el pedido?","Cancelar pedido", "Si", "", "No",LoadBitmap(File.DirAssets,"alert2.png")) 'ignore
|
|
If result = DialogResponse.POSITIVE Then
|
|
c=Starter.skmt.ExecQuery2("select PE_PROID,PE_CANT, PE_TIPO FROM PEDIDO where pe_cliente in (Select CUENTA from cuentaa) AND PE_CEDIS = ?", Array As String("DOE"))
|
|
If c.RowCount > 0 Then
|
|
For i = 0 To c.RowCount - 1
|
|
c.Position = i
|
|
TIPO = c.GetString("PE_TIPO")
|
|
If c.GetString("PE_TIPO") = "VENTA" Or c.GetString("PE_TIPO") = "DOE" Then
|
|
Log($"update cat_gunaprod2 set cat_gp_almacen = cat_gp_almacen + ${c.GetString("PE_CANT")} where cat_gp_id = 4{c.GetString("PE_PROID")}"$)
|
|
Starter.skmt.ExecNonQuery2("update cat_gunaprod2 set cat_gp_almacen = cat_gp_almacen + ? where cat_gp_id = ?", Array As Object(c.GetString("PE_CANT"),c.GetString("PE_PROID")))
|
|
Else
|
|
Log("rrrr")
|
|
Starter.skmt.ExecNonQuery2("update cat_gunaprod set cat_gp_almacen = cat_gp_almacen + ? where cat_gp_id = ?", Array As Object(c.GetString("PE_CANT"),c.GetString("PE_PROID")))
|
|
End If
|
|
Next
|
|
End If
|
|
Starter.skmt.ExecNonQuery2("delete from pedido where pe_cliente in (Select CUENTA from cuentaa) AND PE_CEDIS = ?", Array As Object("DOE"))
|
|
Starter.skmt.ExecNonQuery("delete from pedido_cliente where pc_cliente in (Select CUENTA from cuentaa)")
|
|
Starter.skmt.ExecNonQuery("UPDATE kmt_info set gestion = 0 where CAT_CL_CODIGO In (select cuenta from cuentaa)")
|
|
B4XPage_Appear
|
|
End If
|
|
Else
|
|
Msgbox("CLIENTE YA SE TRANSMITIO, FAVOR DE LLAMAR A SOPORTE PARA ASISTENCIA","AVISO") 'ignore
|
|
End If
|
|
End If
|
|
End Sub |