mirror of
https://github.com/KeymonSoft/Intmex_Multiventa.git
synced 2026-04-17 21:06:08 +00:00
- VERSION 4.08.14.V-P
- Se agregó codigo en "Productos" para que si se cierra la venta del cliente, y luego se regresa a ponerle mas producto, el nuevo producto entre en un segundo "ticket", o un tercer o cuarto ticket, se guarda a info en la columna PE_TICEK y se manda a web.
This commit is contained in:
@@ -158,6 +158,11 @@ Sub Class_Globals
|
||||
Dim MAC_IMPRESORA As String
|
||||
Dim errorImpresora As Int = 0
|
||||
Dim btAdmin As BluetoothAdmin
|
||||
Private b_pedidoExistente As Button
|
||||
Private p_pedidoExistente As Panel
|
||||
Private lv_pedidoExistente As ListView
|
||||
Private b_cerrar As Button
|
||||
Private l_pedidoExistente As Label
|
||||
End Sub
|
||||
|
||||
'You can add more parameters here.
|
||||
@@ -216,7 +221,6 @@ Private Sub B4XPage_Created (Root1 As B4XView)
|
||||
Wait For B4XPage_PermissionResult (Permission As String, resultC As Boolean)
|
||||
Starter.rp.CheckAndRequest(Starter.rp.PERMISSION_WRITE_EXTERNAL_STORAGE)
|
||||
Wait For B4XPage_PermissionResult (Permission As String, resultC As Boolean)
|
||||
|
||||
' h = B4XPages.MainPage.skmt.ExecQuery("SELECT CUENTA from CUENTAA")
|
||||
' h.Position = 0
|
||||
' Log(h.GetString("CUENTA"))
|
||||
@@ -230,15 +234,21 @@ Private Sub B4XPage_Created (Root1 As B4XView)
|
||||
' End If
|
||||
' h.Close
|
||||
' j.Close
|
||||
|
||||
p_pedidoExistente.Visible = False
|
||||
btAdmin.Initialize("BlueTeeth")
|
||||
|
||||
p_pedidoExistente.Width = Root.Width * 0.9
|
||||
lv_pedidoExistente.Width = p_pedidoExistente.Width * 0.95
|
||||
lv_pedidoExistente.Left = (p_pedidoExistente.Width / 2) - (lv_pedidoExistente.Width / 2)
|
||||
b_cerrar.Left = (p_pedidoExistente.Width / 2) - (b_cerrar.Width / 2)
|
||||
Subs.centraPanel(p_pedidoExistente, Root.Width)
|
||||
Subs.centraEtiqueta(l_pedidoExistente, 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
|
||||
reqManager.Initialize(Me, Starter.DBReqServer)
|
||||
b_pedidoExistente.Visible = False
|
||||
LA_GPS.TextColor = Colors.Red
|
||||
LA_GPS.Text = "SIN UBICACION GPS"
|
||||
cercavalor = 0
|
||||
@@ -252,7 +262,7 @@ Sub B4XPage_Appear
|
||||
Subs.centraPanel(p_abono, Root.Width)
|
||||
skmt.Initialize(ruta,"kmt.db", True)
|
||||
c=B4XPages.MainPage.skmt.ExecQuery("select CAT_CL_CODIGO,CAT_CL_RUTA,CAT_CL_NOMBRE,CAT_CL_ATIENDE1,CAT_CL_ATIENTE2,CAT_CL_TELEFONO,CAT_CL_EMAIL,CAT_CL_CALLE,CAT_CL_NOEXT,CAT_CL_NOINT,CAT_CL_CALLE1,CAT_CL_CALLE2,CAT_CL_COLONIA,CAT_CL_MUNI,CAT_CL_EDO,CAT_CL_CP,CAT_CL_LONG,CAT_CL_LAT,CAT_CL_MTOCOMPRA,CAT_CL_NUM_SERIEFISICO from kmt_info where CAT_CL_CODIGO In (Select cuenta from cuentaa) UNION ALL select CAT_CL_CODIGO,CAT_CL_RUTA,CAT_CL_NOMBRE,CAT_CL_ATIENDE1,CAT_CL_ATIENTE2,CAT_CL_TELEFONO,CAT_CL_EMAIL,CAT_CL_CALLE,CAT_CL_NOEXT,CAT_CL_NOINT,CAT_CL_CALLE1,CAT_CL_CALLE2,CAT_CL_COLONIA,CAT_CL_MUNI,CAT_CL_EDO,CAT_CL_CP,CAT_CL_LONG,CAT_CL_LAT,CAT_CL_MTOCOMPRA,CAT_CL_NUM_SERIEFISICO from kmt_info2 where CAT_CL_CODIGO In (Select cuenta from cuentaa)")
|
||||
s=B4XPages.MainPage.skmt.ExecQuery("Select SUM(PE_COSTO_TOT) As TOTAL_CLIE, SUM(PE_CANT) As CANT_CLIE, PC_FACTURA FROM PEDIDO_CLIENTE INNER JOIN PEDIDO ON PEDIDO_CLIENTE.PC_CLIENTE = PEDIDO.PE_CLIENTE WHERE (PE_CLIENTE IN (Select cuenta from cuentaa))")
|
||||
s=B4XPages.MainPage.skmt.ExecQuery("Select ifnull(SUM(PE_COSTO_TOT), 0) As TOTAL_CLIE, SUM(PE_CANT) As CANT_CLIE, PC_FACTURA FROM PEDIDO_CLIENTE INNER JOIN PEDIDO ON PEDIDO_CLIENTE.PC_CLIENTE = PEDIDO.PE_CLIENTE WHERE (PE_CLIENTE IN (Select cuenta from cuentaa))")
|
||||
b = B4XPages.MainPage.skmt.ExecQuery("select COUNT(*) AS CLIENTE FROM ABONOSP WHERE CLIENTE IN (Select CUENTA from cuentaa)")
|
||||
b.Position = 0
|
||||
Dim cabonos As String = b.GetString("CLIENTE")
|
||||
@@ -261,7 +271,6 @@ Sub B4XPage_Appear
|
||||
Else
|
||||
b_cxc.Visible = True
|
||||
End If
|
||||
|
||||
s.Position=0
|
||||
If c.RowCount > 0 Then
|
||||
c.Position=0
|
||||
@@ -275,7 +284,7 @@ Sub B4XPage_Appear
|
||||
l_atiende.Text = c.GetString("CAT_CL_ATIENDE1")
|
||||
l_atiende2.Text = c.GetString("CAT_CL_ATIENTE2")
|
||||
TELEFONO = c.GetString("CAT_CL_TELEFONO")
|
||||
l_total.Text = s.GetString("TOTAL_CLIE")
|
||||
l_total.Text = "$" & NumberFormat2(s.GetString("TOTAL_CLIE"), 1, 2, 2, True)
|
||||
total_cliente = s.GetString("TOTAL_CLIE")
|
||||
Private factura As String = 0
|
||||
If s.GetString("PC_FACTURA") <> Null And IsNumber(s.GetString("PC_FACTURA")) Then factura = s.GetString("PC_FACTURA")
|
||||
@@ -313,7 +322,6 @@ Sub B4XPage_Appear
|
||||
Else
|
||||
MONTO_COMPRA = "0"
|
||||
End If
|
||||
|
||||
la_saldotot.Text = MONTO_COMPRA
|
||||
If MONTO_COMPRA <> "0" Then
|
||||
META2 = 300 - MONTO_COMPRA
|
||||
@@ -393,7 +401,6 @@ Sub B4XPage_Appear
|
||||
l_factura.Visible = True
|
||||
b_ventaabordo.Visible = True
|
||||
End If
|
||||
|
||||
c = skmt.ExecQuery2("select CAT_VA_VALOR from CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As String ("MACIMP"))
|
||||
If c.RowCount > 0 Then
|
||||
c.Position = 0
|
||||
@@ -402,7 +409,6 @@ Sub B4XPage_Appear
|
||||
If Starter.MAC_IMPRESORA = "" Then Starter.MAC_IMPRESORA = "0"
|
||||
' Log("|" & Starter.MAC_IMPRESORA & "|")
|
||||
Printer1.Initialize(Me, "Printer1")
|
||||
|
||||
If Printer1.IsConnected = False Then
|
||||
' Printer1.Connect
|
||||
' Log("1")
|
||||
@@ -411,8 +417,35 @@ Sub B4XPage_Appear
|
||||
Printer1.Connect
|
||||
Log("2")
|
||||
End If
|
||||
|
||||
|
||||
If Subs.hayPedido And Starter.utimaPagina <> "Productos" And Starter.utimaPagina <> "Cliente" Then
|
||||
' Log()
|
||||
Private p As ResultSet = Starter.skmt.ExecQuery($"select * from pedido where pe_cliente = '${Subs.traeCliente}'"$)
|
||||
lv_pedidoExistente.Clear
|
||||
Private label1 As Label = lv_pedidoExistente.TwoLinesLayout.Label
|
||||
label1.TextColor = Colors.Black
|
||||
label1.TextSize = 13
|
||||
Private label2 As Label = lv_pedidoExistente.TwoLinesLayout.SecondLabel
|
||||
label2.TextSize = 13
|
||||
|
||||
Private cs As CSBuilder
|
||||
Do While p.NextRow
|
||||
cs.Initialize
|
||||
Private textColor As Float = Colors.RGB(48,3,195)
|
||||
If p.GetString("PE_FOLIO") = "PREVENTA" Or p.GetString("PE_FOLIO") = "ABORDO" Then
|
||||
textColor = Colors.RGB(166,0,0)
|
||||
End If
|
||||
lv_pedidoExistente.AddTwoLines(cs.Color(textColor).append(p.GetString("PE_PRONOMBRE")).pop, $"Cant: ${p.GetString("PE_CANT")} - $${NumberFormat2(p.GetString("PE_COSTO_TOT"),1,2,2,True)}, ${p.GetString("PE_FOLIO")}"$)
|
||||
Loop
|
||||
|
||||
p_pedidoExistente.Visible = True
|
||||
p_pedidoExistente.BringToFront
|
||||
b_pedidoExistente.Visible = True
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Sub B4XPage_disappear
|
||||
Log($"Salimos de ${B4XPages.GetManager.GetTopPage.Title}"$)
|
||||
Starter.utimaPagina = B4XPages.GetManager.GetTopPage.Title
|
||||
End Sub
|
||||
|
||||
Sub GPS_LocationChanged (Location1 As Location)
|
||||
@@ -553,13 +586,16 @@ Sub Guardar_Click
|
||||
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
|
||||
' Log("xxxxxxxxxxxxxxx " & c.GetString("CUANTOS"))
|
||||
If c.GetString("CUANTOS") > 0 Then
|
||||
If c.GetString("CUANTOS") > 0 Then ' Si hay pedido, entonces ...
|
||||
Private cbFactura As Int = 0
|
||||
If cb_factura.Checked Then cbFactura = 1
|
||||
B4XPages.MainPage.skmt.ExecNonQuery("delete from NOVENTA where NV_CLIENTE In (select cuenta from cuentaa)")
|
||||
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, PC_ENVIO_OK, PC_FACTURA) 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, 0, cbFactura))
|
||||
B4XPages.MainPage.skmt.ExecNonQuery("UPDATE kmt_info set gestion = 2 where CAT_CL_CODIGO In (select cuenta from cuentaa)")
|
||||
Log(">>>>> PONEMOS SIG TICKET")
|
||||
B4XPages.MainPage.skmt.ExecNonQuery($"update pedido set PE_TICKET = ${Subs.traeTicketConsecutivo(Subs.traeCliente)} where PE_CLIENTE = '${Subs.traeCliente}' and PE_TICKET is Null"$)
|
||||
|
||||
End If
|
||||
c.Close
|
||||
DateTime.TimeFormat = "HHmmss"
|
||||
@@ -583,12 +619,10 @@ Sub Guardar_Click
|
||||
Catch
|
||||
ToastMessageShow(".",True)
|
||||
End Try
|
||||
|
||||
skmt.ExecNonQuery2("update PEDIDO_INICIO_FINAL set PIF_HORA_FINAL = ? where PIF_CLIENTE = ? and PIF_HORA_FINAL = 0", Array As Object (DateTime.Now, la_cuenta.Text))
|
||||
' LogColor($"actualizamos "${la_cuenta.text}, hora_final=${DateTime.now}"$,Colors.Red)
|
||||
Subs.actualizaTET(la_cuenta.text)
|
||||
DateTime.TimeFormat = "HH:mm:ss"
|
||||
|
||||
mandaPendientes 'LO COMENTAMOS PARA PRUEBAS, ACTIVAR AL FINAL!!!
|
||||
mandapiezas
|
||||
B4XPages.MainPage.productos.reiniciarlistaProds = True
|
||||
@@ -1139,17 +1173,17 @@ Sub mandaPendientes
|
||||
End If
|
||||
|
||||
'PEDIDO (Pendientes)
|
||||
c = skmt.ExecQuery($"SELECT PE_ENVIO_OK, PE_CEDIS, PE_COSTO_TOT, PE_COSTOU, PE_CANT, PE_PRONOMBRE, PE_PROID, PE_CLIENTE, PE_FECHA, PE_USUARIO, PE_COSTO_SIN, PE_RUTA, PE_DESC, PE_FOLIO FROM PEDIDO where PE_ENVIO_OK <> 1"$)
|
||||
c = skmt.ExecQuery($"SELECT PE_ENVIO_OK, PE_CEDIS, PE_COSTO_TOT, PE_COSTOU, PE_CANT, PE_PRONOMBRE, PE_PROID, PE_CLIENTE, PE_FECHA, PE_USUARIO, PE_COSTO_SIN, PE_RUTA, PE_DESC, PE_FOLIO, PE_TICKET FROM PEDIDO where PE_ENVIO_OK <> 1"$)
|
||||
Log($"Pedido PENDIENTE: ${c.RowCount}"$)
|
||||
If c.RowCount>0 Then
|
||||
For i=0 To c.RowCount -1
|
||||
c.Position=i
|
||||
Dim cmd As DBCommand
|
||||
cmd.Initialize
|
||||
cmd.Name = "insert_pedido2_INTMEX"
|
||||
cmd.Parameters = Array As Object(C.GetString("PE_CEDIS"),ALMACEN,C.GetString("PE_COSTO_TOT"),C.GetString("PE_COSTOU"),C.GetString("PE_CANT"),C.GetString("PE_PRONOMBRE"),C.GetString("PE_PROID"),C.GetString("PE_CLIENTE"),C.GetString("PE_FECHA"),C.GetString("PE_USUARIO"),C.GetString("PE_RUTA"), C.GetString("PE_COSTO_SIN"),C.GetString("PE_DESC"),c.GetString("PE_FOLIO"), PCNoArts, PCMonto)
|
||||
cmd.Name = "insert_pedido4_INTMEX"
|
||||
cmd.Parameters = Array As Object(C.GetString("PE_CEDIS"),ALMACEN,C.GetString("PE_COSTO_TOT"),C.GetString("PE_COSTOU"),C.GetString("PE_CANT"),C.GetString("PE_PRONOMBRE"),C.GetString("PE_PROID"),C.GetString("PE_CLIENTE"),C.GetString("PE_FECHA"),C.GetString("PE_USUARIO"),C.GetString("PE_RUTA"), C.GetString("PE_COSTO_SIN"),C.GetString("PE_DESC"),c.GetString("PE_FOLIO"), PCNoArts, PCMonto,c.GetString("PE_TICKET"))
|
||||
reqManager.ExecuteCommand(cmd , $"ins_pedidosPendientes_prods_${c.GetString("PE_CLIENTE")}_${c.GetString("PE_PROID")}"$)
|
||||
Log($">>>> INS_PEDIDO= ${C.GetString("PE_CEDIS")},${ALMACEN},${C.GetString("PE_COSTO_TOT")},${C.GetString("PE_COSTOU")},${C.GetString("PE_CANT")}, ${C.GetString("PE_PRONOMBRE")}, ${C.GetString("PE_PROID")}, ${C.GetString("PE_CLIENTE")}, ${C.GetString("PE_FECHA")}, ${C.GetString("PE_USUARIO")}, ${C.GetString("PE_RUTA")}, ${C.GetString("PE_COSTO_SIN")}, ${C.GetString("PE_DESC")}, ${c.GetString("PE_FOLIO")}, ${PCNoArts}, ${PCMonto}"$)
|
||||
Log($">>>> INS_PEDIDO= ${C.GetString("PE_CEDIS")},${ALMACEN},${C.GetString("PE_COSTO_TOT")},${C.GetString("PE_COSTOU")},${C.GetString("PE_CANT")}, ${C.GetString("PE_PRONOMBRE")}, ${C.GetString("PE_PROID")}, ${C.GetString("PE_CLIENTE")}, ${C.GetString("PE_FECHA")}, ${C.GetString("PE_USUARIO")}, ${C.GetString("PE_RUTA")}, ${C.GetString("PE_COSTO_SIN")}, ${C.GetString("PE_DESC")}, ${c.GetString("PE_FOLIO")}, ${PCNoArts}, ${PCMonto}, ${PCMonto}, ${c.GetString("PE_TICKET")}"$)
|
||||
' sql.insert_pedido_INTMEX=INSERT INTO INTMEX.PEDIDO (PE_CODPROMO,PE_FECHA_SINC,PE_IDALMACEN,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO,PE_RUTA,PE_COSTO_SIN, PE_DESCUENTO, PE_TIPO) VALUES ((?),SYSDATE,(?),(?),(?),(?),(?),(?),(?),(?),(?),(?),(?),nvl((?),0),(?))
|
||||
' sql.insert_pedido2_INTMEX=INSERT INTO INTMEX.PEDIDO (PE_CODPROMO,PE_FECHA_SINC,PE_IDALMACEN,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO,PE_RUTA,PE_COSTO_SIN, PE_DESCUENTO, PE_TIPO, PE_CANT_TOTAL, PE_VENTA_TOTAL) VALUES ((?),SYSDATE,(?),(?),(?),(?),(?),(?),(?),(?),(?),(?),(?),nvl((?),0),(?),(?),(?))
|
||||
Next
|
||||
@@ -1554,14 +1588,11 @@ Sub cuest_preguntaContestada(m As Map)
|
||||
End Select
|
||||
End Sub
|
||||
|
||||
|
||||
Private Sub b_ventaabordo_Click
|
||||
' c=B4XPages.MainPage.skmt.ExecQuery("Select * From CAT_GUNAPROD2")
|
||||
c=B4XPages.MainPage.skmt.ExecQuery2("Select * From CAT_GUNAPROD2 where cat_gp_tipo <> ? " , Array As String ("PROMOS"))
|
||||
If c.RowCount > 0 Then
|
||||
|
||||
|
||||
|
||||
B4XPages.MainPage.tipo_venta = "VENTA"
|
||||
' If B4XPages.MainPage.productos.clv_prods_ll.Size = 0 Then
|
||||
' B4XPages.MainPage.productos.LlenaProdsLL(Null)
|
||||
@@ -1598,12 +1629,19 @@ Private Sub b_ventaabordo_Click
|
||||
'Si hay mapa de productos es que hay venta en proceso, entonces borramos la actual para meter la nueva.
|
||||
' If B4XPages.MainPage.productos.prodsMap.IsInitialized And B4XPages.MainPage.productos.prodsMap.Size > 0 Then Subs.borraPedidoClienteActual
|
||||
B4XPages.ShowPage("productos")
|
||||
|
||||
|
||||
Else If c.RowCount = 0 Then
|
||||
|
||||
MsgboxAsync("No puedes hacer venta porque no tienes inventario abordo","Atención")
|
||||
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Private Sub b_cerrar_Click
|
||||
p_pedidoExistente.Visible = False
|
||||
End Sub
|
||||
|
||||
Private Sub p_pedidoExistente_Click
|
||||
|
||||
End Sub
|
||||
|
||||
Private Sub b_pedidoExistente_Click
|
||||
p_pedidoExistente.Visible = True
|
||||
End Sub
|
||||
Reference in New Issue
Block a user