Se añade clientes nuevos, mapa por cliente y modificaciones de ticket para saber si es a credito

This commit is contained in:
cvaldes1201
2024-11-12 15:22:39 -06:00
parent d170b3bf67
commit 80cb490150
9 changed files with 115 additions and 56 deletions

View File

@@ -219,6 +219,9 @@ Private Sub B4XPage_Created (Root1 As B4XView)
Subs.agregaColumna("CAT_GUNAPROD2", "CAT_DP_PRECIO4", "TEXT")
Subs.agregaColumna("CAT_GUNAPROD", "CAT_DP_PRECIO4", "TEXT")
Subs.agregaColumna("CLIENTES_NUEVOS", "CN_SOLICITA", "TEXT")
Subs.agregaColumna("CLIENTES_NUEVOS", "CN_COLONIA", "TEXT")
Subs.agregaColumna("CLIENTES_NUEVOS", "CN_TELEFONO", "TEXT")
c=skmt.ExecQuery("select COUNT(*) AS CUANTOS from HIST_STAY_OUT ")
C.Position = 0
If c.GetString("CUANTOS") = 0 Then

View File

@@ -163,6 +163,7 @@ Sub Class_Globals
Dim banderaimp As Int = 0
Dim k1,k2,k3 As String
Private b_ubicar As Button
End Sub
'You can add more parameters here.
@@ -1092,6 +1093,12 @@ Sub imprime_preventa
' Printer1.WriteString("Entre Calle2: " & l_entre2.Text & CRLF)
Printer1.WriteString(" " & CRLF)
c = skmt.ExecQuery2("SELECT * FROM PEDIDO WHERE PE_FOLIO = ?",Array As String("PREVENTA"))
Dim siesacredi As Cursor = skmt.ExecQuery("SELECT * FROM PAGARES WHERE PA_CLIENTE IN (SELECT CUENTA FROM CUENTAA)")
If siesacredi.RowCount > 0 Then
Printer1.WriteString("------PREVENTA A CREDITO------" & CRLF)
End If
If c.RowCount > 0 Then
Printer1.WriteString("-----------PREVENTA-----------" & CRLF)
@@ -1332,6 +1339,22 @@ Sub imprime_preventa
' Printer1.WriteString(" " & CRLF)
End If
Dim siesacredi As Cursor = skmt.ExecQuery("SELECT * FROM PAGARES WHERE PA_CLIENTE IN (SELECT CUENTA FROM CUENTAA)")
If siesacredi.RowCount > 0 Then
siesacredi.Position = 0
Printer1.WriteString("Total a credito: $" & NumberFormat( siesacredi.GetString("PA_MONTO"),0,2) & CRLF)
s=skmt.ExecQuery2("select SUM(PE_COSTO_TOT) AS TOTAL FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) AND PE_FOLIO = ?", Array As String("PREVENTA"))
s.Position =0
' If s.GetString("TOTAL") - s.GetString("TOTAL2") <> 0 Then
' Printer1.WriteString("Descuento: $" & (s.GetString("TOTAL2") - s.GetString("TOTAL")))
' End If
' Printer1.WriteString("Total preventa: $" & NumberFormat( s.GetString("TOTAL"),0,2) & CRLF)
If s.GetString("TOTAL") > siesacredi.GetString("PA_MONTO") Then
Printer1.WriteString("Total a contado: $" & NumberFormat( (s.GetString("TOTAL")-siesacredi.GetString("PA_MONTO")),0,2) & CRLF)
End If
s.Close
End If
' Printer1.WriteString(" " & CRLF)
' Printer1.WriteString("------------------------------" & CRLF)
@@ -2629,3 +2652,7 @@ End Sub
Private Sub b_cxc_LongClick
' imprime_pagare
End Sub
Private Sub b_ubicar_Click
StartActivity(MAPA_CLIENTE)
End Sub

View File

@@ -177,56 +177,65 @@ Sub GUARDA_Click
If E_NOMBRE.Text = "" Then
MsgboxAsync("Por favor captura el nombre de la Tienda","Atención")
' Verifica si la dirección tiene más de 3 caracteres
Else If et_direccion.Text.Length > 3 Then
Else If et_direccion.Text.Length > 3 Then
' Verifica si la latitud es diferente de 0
If lat <> 0 Then
' Verifica si el giro del cliente está seleccionado
If giros <> "SELECCIONA UNA OPCIÓN" Or cb_giro.SelectedItem <> "SELECCIONA UNA OPCIÓN" Then
' Verifica si el encargado que atiende el negocio está capturado
If ET_Atiende.Text <> "" Then
DateTime.DateFormat = "MM/dd/yyyy"
DateTime.Timeformat = "HHmmss"
sDate = DateTime.Date(DateTime.Now)
sTime = DateTime.Time(DateTime.Now)
Log($" //////////// Date: ${sDate} - Time: ${sTime} ////////////////"$)
' Aquí creamos manualmente la hora con el separador de los 2 puntos porque en algunas versiones de Android no respeta el formato "Timeformat = 'HH:mm:ss'"
Private hora As String = sTime.SubString2(0,2)
Private mins As String = sTime.SubString2(2,4)
Private segs As String = sTime.SubString(4)
sTime = hora & ":" & mins & ":" & segs
Log("////////////// sTime: "&sTime&" ////////////////")
c = Starter.skmt.ExecQuery("select CAT_CL_RUTA FROM kmt_info")
c.Position = 0
no_ruta = c.GetString("CAT_CL_RUTA")
no_cliente = "N" & sTime & no_ruta
Log("++ ++ no_cliente = "&no_cliente)
c.Close
Starter.skmt.ExecNonQuery2("INSERT INTO kmt_info(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, gestion, CAT_CL_GIRO) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,0,0,0,?) ", Array As Object (no_cliente,no_ruta, E_NOMBRE.Text,"null","null","null","null","null","null","null","null","null","null","null","null","null",B4XPages.MainPage.lon_gps,B4XPages.MainPage.lat_gps, cb_giro.SelectedItem))
Starter.skmt.ExecNonQuery2("INSERT INTO HIST_STAY_STORE(HSS_CODIGO, HSS_IN , HSS_OUT , HSS_TOT) VALUES (?,0,0,0)", Array As Object (no_cliente))
Starter.skmt.ExecNonQuery("delete from CUENTAA")
Starter.skmt.ExecNonQuery2("INSERT INTO CUENTAA VALUES (?)", Array As Object(no_cliente))
c = Starter.skmt.ExecQuery("select ID_ALMACEN from CAT_ALMACEN")
If c.RowCount > 0 Then
c.Position = 0
ALMACEN = c.GetString("ID_ALMACEN")
If et_colonia.Text <> "" Then
If et_colonia.Text <> "" Then
DateTime.DateFormat = "MM/dd/yyyy"
DateTime.Timeformat = "HHmmss"
sDate = DateTime.Date(DateTime.Now)
sTime = DateTime.Time(DateTime.Now)
Log($" //////////// Date: ${sDate} - Time: ${sTime} ////////////////"$)
' Aquí creamos manualmente la hora con el separador de los 2 puntos porque en algunas versiones de Android no respeta el formato "Timeformat = 'HH:mm:ss'"
Private hora As String = sTime.SubString2(0,2)
Private mins As String = sTime.SubString2(2,4)
Private segs As String = sTime.SubString(4)
sTime = hora & ":" & mins & ":" & segs
Log("////////////// sTime: "&sTime&" ////////////////")
c = Starter.skmt.ExecQuery("select CAT_CL_RUTA FROM kmt_info")
c.Position = 0
no_ruta = c.GetString("CAT_CL_RUTA")
no_cliente = "N" & sTime & no_ruta
Log("++ ++ no_cliente = "&no_cliente)
c.Close
Starter.skmt.ExecNonQuery2("INSERT INTO kmt_info(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, gestion, CAT_CL_GIRO) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,0,0,0,?) ", Array As Object (no_cliente,no_ruta, E_NOMBRE.Text,"null","null","null","null","null","null","null","null","null","null","null","null","null",B4XPages.MainPage.lon_gps,B4XPages.MainPage.lat_gps, cb_giro.SelectedItem))
Starter.skmt.ExecNonQuery2("INSERT INTO HIST_STAY_STORE(HSS_CODIGO, HSS_IN , HSS_OUT , HSS_TOT) VALUES (?,0,0,0)", Array As Object (no_cliente))
Starter.skmt.ExecNonQuery("delete from CUENTAA")
Starter.skmt.ExecNonQuery2("INSERT INTO CUENTAA VALUES (?)", Array As Object(no_cliente))
c = Starter.skmt.ExecQuery("select ID_ALMACEN from CAT_ALMACEN")
If c.RowCount > 0 Then
c.Position = 0
ALMACEN = c.GetString("ID_ALMACEN")
End If
c.Close
c = Starter.skmt.ExecQuery("select usuario from usuarioa")
c.Position = 0
usuario = c.GetString("USUARIO")
c.Close
' Starter.skmt.ExecNonQuery2("INSERT INTO HIST_FOTO_CLIENTE(CODIGO, ALMACEN, RUTA) VALUES(?,?,?)", Array As Object(no_cliente, ALMACEN, no_ruta))
' Starter.skmt.ExecNonQuery2("INSERT INTO NOVENTA (NV_CLIENTE,NV_FECHA,NV_USER,NV_MOTIVO,NV_LAT,NV_LON,NV_NOMBRE,NV_DIRECCION) VALUES(?,?,?,?,?,?,?,?) ", Array As Object (no_cliente,sDate & sTime, usuario, "NUEVO CLIENTE", lat, lon, E_NOMBRE.Text,et_direccion.Text))
DateTime.DateFormat = "dd/MM/yyyy"
DateTime.Timeformat = "HH:mm:ss"
sDate2 = DateTime.Date(DateTime.Now)
sTime2 = DateTime.Time(DateTime.Now)
Starter.skmt.ExecNonQuery2("INSERT INTO CLIENTES_NUEVOS(CN_ID, CN_FECHA, CN_USER, CN_LAT, CN_LON, CN_NOMBRE, CN_DIRECCION, CN_FOTO, CN_RUTA, CN_GIRO, CN_SOLICITA,CN_COLONIA, CN_TELEFONO) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?)", Array As String(no_cliente, sDate2 &" "&sTime2, usuario, lat, lon, E_NOMBRE.Text, et_direccion.Text, ALMACEN, no_ruta, cb_giro.SelectedItem, ET_Atiende.Text,et_colonia.Text,et_telefono.Text))
' fototomada = "0"
B4XPages.ShowPage("Cliente")
CallSubDelayed(Tracker, "StartFLP")
Else
MsgboxAsync("Por favor, debe capturar la colonia el negocio.","Atención")
End If
Else
MsgboxAsync("Por favor, debe capturar el telfono.","Atención")
End If
c.Close
c = Starter.skmt.ExecQuery("select usuario from usuarioa")
c.Position = 0
usuario = c.GetString("USUARIO")
c.Close
' Starter.skmt.ExecNonQuery2("INSERT INTO HIST_FOTO_CLIENTE(CODIGO, ALMACEN, RUTA) VALUES(?,?,?)", Array As Object(no_cliente, ALMACEN, no_ruta))
' Starter.skmt.ExecNonQuery2("INSERT INTO NOVENTA (NV_CLIENTE,NV_FECHA,NV_USER,NV_MOTIVO,NV_LAT,NV_LON,NV_NOMBRE,NV_DIRECCION) VALUES(?,?,?,?,?,?,?,?) ", Array As Object (no_cliente,sDate & sTime, usuario, "NUEVO CLIENTE", lat, lon, E_NOMBRE.Text,et_direccion.Text))
DateTime.DateFormat = "dd/MM/yyyy"
DateTime.Timeformat = "HH:mm:ss"
sDate2 = DateTime.Date(DateTime.Now)
sTime2 = DateTime.Time(DateTime.Now)
Starter.skmt.ExecNonQuery2("INSERT INTO CLIENTES_NUEVOS(CN_ID, CN_FECHA, CN_USER, CN_LAT, CN_LON, CN_NOMBRE, CN_DIRECCION, CN_FOTO, CN_RUTA, CN_GIRO, CN_SOLICITA) VALUES (?,?,?,?,?,?,?,?,?,?,?)", Array As String(no_cliente, sDate2 &" "&sTime2, usuario, lat, lon, E_NOMBRE.Text, et_direccion.Text, ALMACEN, no_ruta, cb_giro.SelectedItem, ET_Atiende.Text))
' fototomada = "0"
B4XPages.ShowPage("Cliente")
CallSubDelayed(Tracker, "StartFLP")
Else
' Mensaje de advertencia si ET_Atiende.Text está vacío
MsgboxAsync("Por favor, debe capturar al encargado que atiende el negocio.","Atención")

View File

@@ -364,7 +364,7 @@ Sub getTableColumnList(db As SQL, table As String) As String 'ignore
End Sub
Sub B4XPage_Appear
nvo_cliente.Enabled = False
' nvo_cliente.Enabled = False
rd.respaldaPedido
rd.respaldaInventarios
rd.respaldaPaquetes
@@ -677,7 +677,7 @@ Sub Subir_Click
Dim Dir2 As String
Dir = "/promotoriakmts"
c=Starter.skmt.ExecQuery("SELECT CN_ID, CN_FECHA , CN_USER, CN_LAT, CN_LON, CN_NOMBRE, CN_DIRECCION, CN_FOTO, CN_ALMACEN, CN_RUTA, CN_GIRO, CN_SOLICITA FROM CLIENTES_NUEVOS")
c=Starter.skmt.ExecQuery("SELECT CN_ID, CN_FECHA , CN_USER, CN_LAT, CN_LON, CN_NOMBRE, CN_DIRECCION, CN_FOTO, CN_ALMACEN, CN_RUTA, CN_GIRO, CN_SOLICITA, CN_COLONIA, CN_TELEFONO FROM CLIENTES_NUEVOS")
If c.RowCount>0 Then
For i = 0 To c.RowCount - 1
c.Position = i
@@ -697,8 +697,8 @@ Sub Subir_Click
End If
Dim cmd As DBCommand
cmd.Initialize
cmd.Name = "insert_clientesnuevos_MARQUEZ2"
cmd.Parameters = Array As Object(c.GetString("CN_ID"), c.GetString("CN_FECHA"), c.GetString("CN_USER"), c.GetString("CN_LAT"), c.GetString("CN_LON"), c.GetString("CN_NOMBRE"), c.GetString("CN_DIRECCION"),ALMACEN, c.GetString("CN_RUTA"), "En espera",c.GetString("CN_GIRO"),dialetra, c.GetString("CN_SOLICITA"))
cmd.Name = "insert_clientesnuevos_MARQUEZ3"
cmd.Parameters = Array As Object(c.GetString("CN_ID"), c.GetString("CN_FECHA"), c.GetString("CN_USER"), c.GetString("CN_LAT"), c.GetString("CN_LON"), c.GetString("CN_NOMBRE"), c.GetString("CN_DIRECCION"),ALMACEN, c.GetString("CN_RUTA"), "En espera",c.GetString("CN_GIRO"),dialetra, c.GetString("CN_SOLICITA"), c.GetString("CN_COLONIA"), c.GetString("CN_TELEFONO"))
reqManager.ExecuteCommand(cmd , "inst_clientesn")
Next
End If

Binary file not shown.

View File

@@ -55,7 +55,17 @@ Sub MapFragment1_Ready
JavaMapsObject = gmap.GetUiSettings
JavaMapsObject.RunMethod("setMapToolbarEnabled", Array As Object(True))
Dim marcador1 As Marker = gmap.AddMarker (latmarker,longmarker, "TIENDA")
marcador1.Snippet = B4XPages.MainPage.cliente.NOMBRE
c = Starter.skmt.ExecQuery("SELECT CAT_CL_LAT, CAT_CL_LONG, CAT_CL_NOMBRE FROM kmt_info WHERE CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA) UNION ALL SELECT CAT_CL_LAT, CAT_CL_LONG, CAT_CL_NOMBRE FROM kmt_info2 WHERE CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA)")
If c.RowCount > 0 Then
c.Position = 0
' Subs.centraPanel(p_principal, Activity.Width)
' p_principal.Height = Activity.Height * 0.95
'' latmarker = c.GetString("CAT_CL_LAT")
' longmarker = c.GetString("CAT_CL_LONG")
'' NOMBRE_TIENDA = c.GetString("CAT_CL_NOMBRE")
marcador1.Snippet = c.GetString("CAT_CL_NOMBRE")
End If
'posicion inicial
Dim aa As CameraPosition
aa.Initialize(latmarker,longmarker,15)''' RECOMENDABLE CAMBIAR A 10 SI ES MAS DE 1 MARCADOR
@@ -92,11 +102,16 @@ Sub Activity_Resume
Else
GPS.Start(0, 0)
End If
Subs.centraPanel(p_principal, Activity.Width)
p_principal.Height = Activity.Height * 0.95
' latmarker = B4XPages.MainPage.cliente.LATITUD
' longmarker = B4XPages.MainPage.cliente.LONGITUD
' NOMBRE_TIENDA = B4XPages.MainPage.cliente.NOMBRE
c = Starter.skmt.ExecQuery("SELECT CAT_CL_LAT, CAT_CL_LONG, CAT_CL_NOMBRE FROM kmt_info WHERE CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA) UNION ALL SELECT CAT_CL_LAT, CAT_CL_LONG, CAT_CL_NOMBRE FROM kmt_info2 WHERE CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA)")
If c.RowCount > 0 Then
c.Position = 0
Subs.centraPanel(p_principal, Activity.Width)
p_principal.Height = Activity.Height * 0.95
latmarker = c.GetString("CAT_CL_LAT")
longmarker = c.GetString("CAT_CL_LONG")
NOMBRE_TIENDA = c.GetString("CAT_CL_NOMBRE")
End If
End Sub
Sub Activity_Pause (UserClosed As Boolean)

View File

@@ -205,7 +205,7 @@ Version=12.8
#Region Project Attributes
#ApplicationLabel: Marquez
#VersionCode: 1
#VersionName: 4.10.19
#VersionName: 4.11.01
'SupportedOrientations possible values: unspecified, landscape or portrait.
#SupportedOrientations: portrait
#CanInstallToExternalStorage: False

View File

@@ -91,6 +91,6 @@ ModuleClosedNodes6=
ModuleClosedNodes7=
ModuleClosedNodes8=
ModuleClosedNodes9=
NavigationStack=Diseñador Visual,productos.bal,-100,2,C_Productos,b_terminar1_Click,872,0,C_Productos,B4XPage_Appear,197,6,C_Cliente,NUEVO_Click,919,0,C_Cliente,GUADAVENTA2,838,0,MAPA_CLIENTE,Globals,18,0,Diseñador Visual,cliente.bal,-100,6,Diseñador Visual,mapa_cliente.bal,-100,3,MAPA_CLIENTE,GPS_LocationChanged,60,0,MAPA_CLIENTE,Activity_Resume,89,0
NavigationStack=C_Cliente,b_ubicar_Click,2628,0,Diseñador Visual,cliente.bal,-100,6,C_Cliente,imprime_preventa,1349,6,C_Principal,B4XPage_Appear,360,0,C_Principal,nvo_cliente_Click,2538,0,Diseñador Visual,principal.bal,-100,3,C_NuevoCliente,Class_Globals,0,0,C_NuevoCliente,GUARDA_Click,222,6,C_Principal,Subir_Click,694,2,Diseñador Visual,nuevocliente.bal,-100,6
SelectedBuild=0
VisibleModules=1,2,13,4,7,8,9,10,14,29,24
VisibleModules=1,2,13,4,7,8,9,10,14,29,24,11

View File

@@ -42,6 +42,11 @@ Sub getPhnId As String 'ignore
Return devModel
End Sub
'Centra un boton dentro de un elemento superior
Sub centraBoton(elemento As Button, anchoElementoSuperior As Int) 'ignore
elemento.Left = Round(anchoElementoSuperior/2)-(elemento.Width/2)
End Sub
'Comprime y regresa un texto (str) en base64
Sub compress(str As String) As String 'ignore
'Requiere la libreria "CompressStrings"