mirror of
https://github.com/KeymonSoft/Intmex_Multiventa.git
synced 2026-04-17 12:56:08 +00:00
- Se amplio el tamaño del listview en el historico y se agrego el numbre del vendedor.
318 lines
14 KiB
QBasic
318 lines
14 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 skmt As SQL
|
|
Dim g As GPS
|
|
Dim clie_id As String
|
|
Dim sDate,sTime As String
|
|
Dim usuario As String
|
|
|
|
Dim c 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
|
|
Dim DESC As String
|
|
|
|
Private Titulo As Label
|
|
Private b_desc As Button
|
|
Dim DESCUENTO As String
|
|
Dim folio As String
|
|
Dim tgl As Toggle
|
|
Private almacen As String
|
|
Private p_nota As Panel
|
|
Dim vamoaver As List
|
|
Dim c2 As Cursor
|
|
Dim j3 As Cursor
|
|
End Sub
|
|
|
|
'You can add more parameters here.
|
|
Public Sub Initialize As Object
|
|
Return Me
|
|
End Sub
|
|
|
|
'This event will be called once, before the page becomes visible.
|
|
Private Sub B4XPage_Created (Root1 As B4XView)
|
|
Root = Root1
|
|
ruta = File.DirInternal
|
|
Root.LoadLayout("nota")
|
|
borra.Visible = True
|
|
Titulo.Text = "Pedido Actual"
|
|
' If Existe <> 0 Then
|
|
' c=B4XPages.MainPage.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
|
|
p_nota.Height = Root.Height : p_nota.Width = Root.Width
|
|
End Sub
|
|
|
|
'You can see the list of page related events in the B4XPagesManager object. The event name is B4XPage.
|
|
|
|
Sub B4XPage_Appear
|
|
If Not(Starter.gps.GPSEnabled) Then
|
|
ToastMessageShow("Es necesario tener el GPS encendido", True)
|
|
StartActivity(Starter.gps.LocationSettingsIntent)
|
|
End If
|
|
c=B4XPages.MainPage.skmt.ExecQuery("select ID_ALMACEN from CAT_ALMACEN")
|
|
C.Position =0
|
|
almacen = C.GetString("ID_ALMACEN")
|
|
C.Close
|
|
L_CANT.Text =""
|
|
L_TOTAL.Text=""
|
|
c=B4XPages.MainPage.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=B4XPages.MainPage.skmt.ExecQuery("select PE_PRONOMBRE,PE_COSTO_TOT, PE_CANT, PE_FOLIO, PE_CEDIS FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) order by PE_CEDIS, PE_PRONOMBRE")
|
|
ListView1.Clear
|
|
vamoaver.Initialize
|
|
Private cs As CSBuilder
|
|
If c.RowCount>0 Then
|
|
For i=0 To c.RowCount -1
|
|
cs.Initialize
|
|
c.Position=i
|
|
Dim label1 As Label
|
|
label1 = ListView1.TwoLinesLayout.Label
|
|
label1.TextSize = 15
|
|
label1.TextColor = Colors.Black
|
|
label1.color = Colors.White
|
|
Private textColor As Int = Colors.black
|
|
If c.GetString("PE_FOLIO") = "VENTA" Then
|
|
textColor = Colors.RGB(48,3,195)
|
|
Else If c.GetString("PE_FOLIO") = "PREVENTA" Or c.GetString("PE_FOLIO") = "ABORDO" Then
|
|
textColor = Colors.RGB(166,0,0)
|
|
End If
|
|
If Not(IsNumber(c.GetString("PE_CEDIS"))) And c.GetString("PE_FOLIO") = "VENTA" Then
|
|
textColor = Colors.RGB(154,131,231) 'Si es promo, cambiamos el color del texto.
|
|
Else If Not(IsNumber(c.GetString("PE_CEDIS"))) And c.GetString("PE_FOLIO") = "PREVENTA" Then
|
|
textColor = Colors.RGB(255,111,111) 'Si es promo, cambiamos el color del texto.
|
|
End If
|
|
Dim label2 As Label
|
|
label2 = ListView1.TwoLinesLayout.SecondLabel
|
|
label2.TextSize = 10
|
|
label2.TextColor = Colors.Blue
|
|
ListView1.AddSingleLine(cs.Color(textColor).Size(12).append(c.GetString("PE_PRONOMBRE") & " ").pop.Append(CRLF).Size(8).Color(Colors.Blue).Append("Cantidad #"& c.GetString("PE_CANT")).Append(" SubTotal $"& c.GetString("PE_COSTO_TOT")).Append(" " & c.GetString("PE_FOLIO")& " " &c.GetString("PE_CEDIS")).PopAll)
|
|
folio = c.GetString("PE_FOLIO")
|
|
vamoaver.Add(c.GetString("PE_FOLIO"))
|
|
Next
|
|
End If
|
|
Log($"EXISTE: ${Existe}"$)
|
|
' If Existe <> 0 Then
|
|
' c=B4XPages.MainPage.skmt.ExecQuery("select pc_noart, pc_monto from pedido_cliente where pc_cliente in (Select CUENTA from cuentaa)")
|
|
c = B4XPages.MainPage.skmt.ExecQuery("select sum(PE_CANT) as PC_NOART, sum (PE_COSTO_TOT) as PC_MONTO from PEDIDO where PE_CLIENTE in (Select CUENTA from cuentaa) AND PE_PROID NOT IN (SELECT CAT_PA_ID FROM PROMOS_COMP ) ")
|
|
If c.RowCount > 0 Then
|
|
C.Position = 0
|
|
Log($"registros: ${c.RowCount}, arts: ${c.GetString("PC_NOART")}, monto:${c.GetString("PC_MONTO")}"$)
|
|
L_CANT.Text = c.GetString("PC_NOART")
|
|
L_TOTAL.Text = c.GetString("PC_MONTO")
|
|
If L_CANT.Text = Null Or L_CANT.Text = "null" Or L_CANT.Text = "" Then L_CANT.Text = "0"
|
|
If L_TOTAL.Text = Null Or L_TOTAL.Text = "null" Or L_TOTAL.Text = "" Then L_TOTAL.Text = "0"
|
|
c.Close
|
|
c=B4XPages.MainPage.skmt.ExecQuery("select SUM(IFNULL(PE_DESC,0)) AS DESCUENTO FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)")
|
|
c.Position=0
|
|
DESC = c.GetString("DESCUENTO")
|
|
b_desc.Visible = False
|
|
End If
|
|
|
|
' End If
|
|
If Subs.pedidoGuardado Then borra.Enabled = False Else borra.Enabled = True
|
|
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
|
|
B4XPages.ShowPage("Cliente")
|
|
End Sub
|
|
|
|
Private Sub B4XPage_CloseRequest As ResumableSub
|
|
' BACK key pressed
|
|
' Return True To close, False To cancel
|
|
B4XPages.ShowPage("Cliente")
|
|
Return False
|
|
End Sub
|
|
|
|
Sub borra_Click
|
|
Log("Entre al btn borrar")
|
|
result = Msgbox2("Seguro que desa borrar el pedido?","Cancelar pedido", "Si", "", "No",LoadBitmap(File.DirAssets,"alert2.png")) 'ignore
|
|
If result = DialogResponse.POSITIVE Then
|
|
c=B4XPages.MainPage.skmt.ExecQuery("select PE_PROID,PE_CANT FROM PEDIDO where pe_cliente in (Select CUENTA from cuentaa) ")
|
|
Log($"select PE_PROID,PE_CANT 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
|
|
B4XPages.MainPage.skmt.ExecNonQuery2($"update ${Starter.tabla} set cat_gp_almacen = cat_gp_almacen + ? where cat_gp_id = ?"$, Array As Object(c.GetString("PE_CANT"),c.GetString("PE_PROID")))
|
|
B4XPages.MainPage.skmt.ExecNonQuery2("INSERT INTO INVENT_X_ENVIAR (ALMACEN , PROID , CANTIDAD ) VALUES(?,?,?) ", Array As Object (almacen,c.GetString("PE_PROID"),c.GetString("PE_CANT")* -1))
|
|
Next
|
|
End If
|
|
B4XPages.MainPage.skmt.ExecNonQuery("delete from pedido_cliente where pc_cliente in (Select CUENTA from cuentaa)")
|
|
B4XPages.MainPage.skmt.ExecNonQuery("delete from pedido where pe_cliente in (Select CUENTA from cuentaa)")
|
|
B4XPages.MainPage.skmt.ExecNonQuery("UPDATE kmt_info set gestion = 0 where CAT_CL_CODIGO In (select cuenta from cuentaa)")
|
|
B4XPage_Appear
|
|
End If
|
|
End Sub
|
|
|
|
Sub ListView1_ItemLongClick (Position As Int, Value As Object)
|
|
Private sDate,sTime, clie_id, usuario As String
|
|
Log(Value)
|
|
Private X() As String = Regex.Split(" ", Value)
|
|
' Log(X.Length)
|
|
Private nom As String = ""
|
|
For i = 0 To X.Length -1
|
|
If X(i).Contains(CRLF) Then
|
|
End If
|
|
If Not(X(i).Contains(CRLF)) Then
|
|
nom = nom & " " & X(i)
|
|
Else
|
|
Exit
|
|
End If
|
|
Next
|
|
nom = nom.Trim
|
|
Log(nom)
|
|
Private cedis As String = X(X.Length-1)
|
|
Log(cedis)
|
|
If Not(Subs.pedidoGuardado) Then
|
|
result = Msgbox2("Seguro que desea borrar este articulo?","Borrar Articulo", "Si", "", "No",LoadBitmap(File.DirAssets,"alert2.png")) 'ignore
|
|
If result = DialogResponse.POSITIVE Then
|
|
c =B4XPages.MainPage.skmt.ExecQuery2("select PE_PROID,PE_CANT, PE_FOLIO FROM PEDIDO where pe_pronombre = ? and pe_cliente in (Select CUENTA from cuentaa) AND PE_CEDIS = ? ", Array As String(nom, cedis))
|
|
c.Position = 0
|
|
Log(vamoaver.Get(Position))
|
|
If vamoaver.Get(Position) = "VENTA" Then
|
|
Log("CAT_GUNAPROD2")
|
|
Log(Position)
|
|
Log(Value)
|
|
Starter.tabla = "CAT_GUNAPROD2"
|
|
Else
|
|
Log("CAT_GUNAPROD")
|
|
Log(Position)
|
|
Log(Value)
|
|
Starter.tabla = "CAT_GUNAPROD"
|
|
End If
|
|
Log(Subs.traeAlmacen)
|
|
' B4XPages.MainPage.skmt.ExecNonQuery2($"update ${Starter.tabla} set cat_gp_almacen = cat_gp_almacen + ? where cat_gp_id = ?"$, Array As Object(c.GetString("PE_CANT"),c.GetString("PE_PROID")))
|
|
' Log(c.GetString("PE_CANT"))
|
|
B4XPages.MainPage.skmt.ExecNonQuery2("INSERT INTO INVENT_X_ENVIAR (ALMACEN , PROID , CANTIDAD ) VALUES(?,?,?) ", Array As Object (Subs.traeAlmacen,c.GetString("PE_PROID"),c.GetString("PE_CANT")* -1))
|
|
' c2=B4XPages.MainPage.skmt.ExecQuery2($"select count(*) AS CUANTOS from ${Starter.tabla} where CAT_GP_ID in (select pe_cedis from pedido where pe_pronombre = ? 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))
|
|
' c2.Position=0
|
|
If cedis <> Subs.traeAlmacen Then
|
|
j3 = B4XPages.MainPage.skmt.ExecQuery2("SELECT PE_CEDIS, PE_CANT,PE_PROID, PE_PRONOMBRE, PE_FOLIO FROM PEDIDO WHERE PE_CEDIS IN (SELECT PE_CEDIS FROM PEDIDO WHERE PE_PRONOMBRE = ? and PE_CEDIS = ?)",Array As String(nom,cedis))
|
|
Log(j3.RowCount)
|
|
If j3.RowCount > 0 Then
|
|
Log("Soy promo")
|
|
For j = 0 To j3.RowCount -1
|
|
Log("aqui tronare?")
|
|
|
|
j3.Position = j
|
|
Log(j3.GetString("PE_CANT"))
|
|
Log($"update ${Starter.tabla} set CAT_GP_ALMACEN = CAT_GP_ALMACEN + '${j3.GetString("PE_CANT")}' where CAT_GP_ID = '${j3.GetString("PE_PROID")}'"$)
|
|
Starter.skmt.ExecNonQuery($"update ${Starter.tabla} set CAT_GP_ALMACEN = CAT_GP_ALMACEN + ${j3.GetString("PE_CANT")} where CAT_GP_ID = '${j3.GetString("PE_PROID")}'"$)
|
|
|
|
B4XPages.MainPage.skmt.ExecNonQuery($"delete from pedido where pe_cedis= '${cedis}' and pe_cliente in (Select CUENTA from cuentaa) AND PE_FOLIO = '${j3.GetString("PE_FOLIO")}' AND PE_PROID = '${j3.GetString("PE_PROID")}'"$)', Array As Object(cedis, c.GetString("PE_FOLIO")))
|
|
Next
|
|
End If
|
|
j3.Close
|
|
Else
|
|
Log(c.GetString("PE_CANT"))
|
|
Log(c.Getstring("PE_PROID"))
|
|
B4XPages.MainPage.skmt.ExecNonQuery($"update ${Starter.tabla} set cat_gp_almacen = cat_gp_almacen + ${c.GetString("PE_CANT")} where cat_gp_id = '${c.Getstring("PE_PROID")}'"$)
|
|
B4XPages.MainPage.skmt.ExecNonQuery2("delete from pedido where pe_pronombre = ? and pe_cedis = ? and pe_cliente in (Select CUENTA from cuentaa) AND PE_FOLIO = ?", Array As Object(nom, cedis, vamoaver.Get(Position)))
|
|
End If
|
|
c.Close
|
|
' c2.Close
|
|
DateTime.DateFormat = "MM/dd/yyyy"
|
|
sDate=DateTime.Date(DateTime.Now)
|
|
sTime=DateTime.Time(DateTime.Now)
|
|
c=B4XPages.MainPage.skmt.ExecQuery("Select CUENTA from cuentaa")
|
|
c.Position=0
|
|
clie_id = c.GetString("CUENTA")
|
|
c=B4XPages.MainPage.skmt.ExecQuery("select USUARIO from usuarioa")
|
|
c.Position=0
|
|
usuario = c.GetString("USUARIO")
|
|
c=B4XPages.MainPage.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
|
|
B4XPages.MainPage.skmt.ExecNonQuery("delete from pedido_cliente where PC_CLIENTE In (select cuenta from cuentaa)")
|
|
B4XPages.MainPage.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"), B4XPages.MainPage.lon_gps, B4XPages.MainPage.lat_gps))
|
|
B4XPages.MainPage.skmt.ExecNonQuery("UPDATE kmt_info set gestion = 0 where CAT_CL_CODIGO In (select cuenta from cuentaa)")
|
|
Else
|
|
B4XPages.MainPage.skmt.ExecNonQuery("delete from pedido_cliente where PC_CLIENTE In (select cuenta from cuentaa)")
|
|
B4XPages.MainPage.skmt.ExecNonQuery("UPDATE kmt_info set gestion = 0 where CAT_CL_CODIGO In (select cuenta from cuentaa)")
|
|
End If
|
|
B4XPage_Appear
|
|
End If
|
|
Else
|
|
ToastMessageShow("Pedido guardado, NO se puede editar.",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=B4XPages.MainPage.skmt.ExecQuery("Select CUENTA from cuentaa")
|
|
c.Position=0
|
|
clie_id = c.GetString("CUENTA")
|
|
c.Close
|
|
c=B4XPages.MainPage.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
|
|
B4XPages.MainPage.skmt.ExecNonQuery("UPDATE pedido SET PE_COSTO_TOT = PE_COSTO_TOT * .95, PE_DESC = 5 WHERE PE_CLIENTE In (select cuenta from cuentaa)")
|
|
c=B4XPages.MainPage.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
|
|
B4XPages.MainPage.skmt.ExecNonQuery("delete from pedido_cliente where PC_CLIENTE In (select cuenta from cuentaa)")
|
|
B4XPages.MainPage.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"), B4XPages.MainPage.lon_gps, B4XPages.MainPage.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=B4XPages.MainPage.skmt.ExecQuery("Select CUENTA from cuentaa")
|
|
c.Position=0
|
|
clie_id = c.GetString("CUENTA")
|
|
c.Close
|
|
c=B4XPages.MainPage.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
|
|
B4XPages.MainPage.skmt.ExecNonQuery("UPDATE pedido SET PE_COSTO_TOT = PE_COSTO_TOT / .95, PE_DESC = 0 WHERE PE_CLIENTE In (select cuenta from cuentaa)")
|
|
c=B4XPages.MainPage.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
|
|
B4XPages.MainPage.skmt.ExecNonQuery("delete from pedido_cliente where PC_CLIENTE In (select cuenta from cuentaa)")
|
|
B4XPages.MainPage.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"), B4XPages.MainPage.lon_gps, B4XPages.MainPage.lat_gps))
|
|
c.Close
|
|
B4XPage_Appear
|
|
End If
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub p_nota_Click
|
|
|
|
End Sub |