- VERSION 5.08.22

- Cambios para que desde clienets y mapa aparezcan losbotones de inicio y fin venta
This commit is contained in:
2025-08-22 20:21:24 -06:00
parent 08289ecef0
commit 79897e5efd
25 changed files with 2789 additions and 1287 deletions

16
.gitattributes vendored Normal file
View File

@@ -0,0 +1,16 @@
# Auto detect text files and perform LF normalization
* text=auto
# linguist-language
*.b4a linguist-language=B4X
*.b4i linguist-language=B4X
*.b4j linguist-language=B4X
*.b4r linguist-language=B4X
*.bas linguist-language=B4X
# linguist-detectable
*.b4a linguist-detectable=true
*.b4i linguist-detectable=true
*.b4j linguist-detectable=true
*.b4r linguist-detectable=true
*.bas linguist-detectable=true

2
.gitignore vendored Normal file
View File

@@ -0,0 +1,2 @@
**/Objects
**/AutoBackups

File diff suppressed because it is too large Load Diff

View File

@@ -81,19 +81,19 @@ ModuleClosedNodes22=
ModuleClosedNodes23= ModuleClosedNodes23=
ModuleClosedNodes24= ModuleClosedNodes24=
ModuleClosedNodes25= ModuleClosedNodes25=
ModuleClosedNodes26= ModuleClosedNodes26=4
ModuleClosedNodes27= ModuleClosedNodes27=
ModuleClosedNodes28= ModuleClosedNodes28=
ModuleClosedNodes29= ModuleClosedNodes29=
ModuleClosedNodes3= ModuleClosedNodes3=
ModuleClosedNodes30= ModuleClosedNodes30=
ModuleClosedNodes31= ModuleClosedNodes31=15,16,17,18,19
ModuleClosedNodes4= ModuleClosedNodes4=4
ModuleClosedNodes5= ModuleClosedNodes5=3,5,6,7
ModuleClosedNodes6= ModuleClosedNodes6=
ModuleClosedNodes7= ModuleClosedNodes7=
ModuleClosedNodes8= ModuleClosedNodes8=
ModuleClosedNodes9= ModuleClosedNodes9=
NavigationStack=C_Cliente,Class_Globals,11,6,C_Cliente,B4XPage_Created,207,0,C_Cliente,imprime_venta,1848,0,C_Cliente,openPDF,1758,0,C_Cliente,Label20_LongClick,1519,0,Diseñador Visual,cliente.bal,-100,1,C_Cliente,PDFGENERAR,1723,6,C_Cliente,MODS,0,0,C_Cliente,b_cancel_tp_Click,3125,0,C_Cliente,b_acept_tp_Click,3184,3 NavigationStack=MAPA_RUTAS,b_cancelaNoVenta_Click,513,0,MAPA_RUTAS,p_inicioFinVenta_Click,513,0,MAPA_RUTAS,b_guardaNoVenta_Click,506,0,Diseñador Visual,mapa_rutas.bal,-100,6,MAPA_RUTAS,B_ROJO_Click,387,0,MAPA_RUTAS,B_AZUL_Click,396,0,MAPA_RUTAS,b_inicioVenta_Click,411,6,MAPA_RUTAS,b_finVenta_Click,417,0,MAPA_RUTAS,p_transparenciaIniciaInicioFinVenta_Click,426,0,MAPA_RUTAS,Activity_KeyPress,446,0,B4XMainPage,B4XPage_Created,218,0
SelectedBuild=0 SelectedBuild=0
VisibleModules=1,2,3,4,5,6,7,8,9,10,13,16 VisibleModules=29,2,13,4,5,10,30,26,31

View File

@@ -22,6 +22,17 @@ Version=9.85
'Ctrl + click ide://run?file=%WINDIR%\System32\cmd.exe&Args=/c&Args=github&Args=..\..\ 'Ctrl + click ide://run?file=%WINDIR%\System32\cmd.exe&Args=/c&Args=github&Args=..\..\
' ###################################################################
' ################## Pendientes ##################
' ###################################################################
'
' Bitacora de ubicacioes (como FLP2)
' MotivoNoVisita (como kelloggs cuando tienen un accidente y ya no van a terimnar la ruta)
' validar que no se meta el peso en blanco (truena la aplicacion)
' si se queda la venta iniciada y se sale de la app, que al iniciar se vaya DIRECTAMENTE A CLIENTE con la venta ya iniciada.
' Cuando guarden el peso, que se vaya directamente a mostrar el boton de terminar venta.
Sub Class_Globals Sub Class_Globals
Dim c2 As Cursor Dim c2 As Cursor
Dim sDate,sTime As String Dim sDate,sTime As String
@@ -108,7 +119,7 @@ Sub Class_Globals
Private P_PICK_CIEGO As Panel Private P_PICK_CIEGO As Panel
Dim ET_PICK_CIEGO As EditText Dim ET_PICK_CIEGO As EditText
Private L_PICK_CIEGO As Label Private L_PICK_CIEGO As Label
Private P_CIEGO As Panel Private p_ciego As Panel
Dim Panel4 As Panel Dim Panel4 As Panel
Dim q_buscar As String Dim q_buscar As String
Private et_buspc As EditText Private et_buspc As EditText
@@ -209,6 +220,12 @@ Private Sub B4XPage_Created (Root1 As B4XView)
skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS NOVENTA (NV_CLIENTE TEXT, NV_FECHA TEXT, NV_USER TEXT, NV_MOTIVO TEXT, NV_COMM TEXT, NV_LAT TEXT, NV_LON TEXT)") skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS NOVENTA (NV_CLIENTE TEXT, NV_FECHA TEXT, NV_USER TEXT, NV_MOTIVO TEXT, NV_COMM TEXT, NV_LAT TEXT, NV_LON TEXT)")
skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS PICK_CIEGO (PC_ID_PROD TEXT, PC_NOM_PROD TEXT, PC_CANT TEXT, PC_ALMACEN TEXT, PC_RUTA TEXT, PC_FECHA TEXT)") skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS PICK_CIEGO (PC_ID_PROD TEXT, PC_NOM_PROD TEXT, PC_CANT TEXT, PC_ALMACEN TEXT, PC_RUTA TEXT, PC_FECHA TEXT)")
skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS ENV_MONTO_LIQ (EML_MONTO TEXT, EML_ALMACEN TEXT, EML_RUTA TEXT, EML_USUARIO TEXT, EML_FECHA_PED TEXT)") skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS ENV_MONTO_LIQ (EML_MONTO TEXT, EML_ALMACEN TEXT, EML_RUTA TEXT, EML_USUARIO TEXT, EML_FECHA_PED TEXT)")
skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS BITACORAGPS(id TEXT, fechab TEXT, usuariob TEXT, almacenb TEXT, rutab TEXT, eventob TEXT, clienteb TEXT, iniciob TEXT, finb TEXT, latitudb TEXT, longitudb TEXT, precision TEXT, motivonoventa TEXT, motivonovisita TEXT, otro TEXT, enviado TEXT DEFAULT 0)")
skmt.ExecNonQuery("CREATE TABLE If Not EXISTS PESOS(PE_TIPO TEXT, PE_IDALMACEN TEXT, PE_RUTA TEXT, PE_USUARIO TEXT, PE_CLIENTE TEXT, PE_PESO TEXT, PE_MOTIVO TEXT, PE_COMENTARIO TEXT, PE_FECHA TEXT, PE_FECHA_SINC TEXT)")
skmt.ExecNonQuery("CREATE TABLE If Not EXISTS HIST_UBICACIONES (HU_ID EXT, HU_IDALMACEN TEXT, HU_RUTA TEXT, HU_USUARIO TEXT, HU_LATITUD TEXT, HU_LONGITUD TEXT, HU_FECHA TEXT, HU_ENVIADO TEXT DEFAULT 0)")
skmt.ExecNonQuery("CREATE TABLE If Not EXISTS kmt_info (CAT_CL_FOTO BLOB, CAT_CL_NUM_SERIEFISICO TEXT, CAT_CL_MTOCOMPRA TEXT, CAT_CL_CEDIS TEXT, CAT_CL_LAT TEXT, CAT_CL_LONG TEXT, CAT_CL_FBAJA TEXT, CAT_CL_FALTA TEXT, CAT_CL_CP TEXT, CAT_CL_EDO TEXT, CAT_CL_MUNI TEXT, CAT_CL_COLONIA TEXT, CAT_CL_CALLE2 TEXT, CAT_CL_CALLE1 TEXT, CAT_CL_NOINT TEXT, CAT_CL_NOEXT TEXT, CAT_CL_CALLE TEXT, CAT_CL_EMAIL TEXT, CAT_CL_TELEFONO TEXT, CAT_CL_ATIENTE2 TEXT, CAT_CL_ATIENDE1 TEXT, CAT_CL_NOMBRE TEXT, CAT_CL_GIRO TEXT, CAT_CL_DIAS_VISITA TEXT, CAT_CL_TIPO_RUTA TEXT, CAT_CL_RUTA TEXT, CAT_CL_CODIGO TEXT, gestion NUMERIC, CAT_CL_BCREDITO TEXT, CAT_CL_LIMITECREDITO TEXT)")
Subs.agregaColumna("PEDIDO", "PE_ENVIO_OK", "INT") Subs.agregaColumna("PEDIDO", "PE_ENVIO_OK", "INT")
Subs.agregaColumna("PEDIDO", "PE_CANTC", "TEXT") Subs.agregaColumna("PEDIDO", "PE_CANTC", "TEXT")
Subs.agregaColumna("PEDIDO", "PE_BCAJAS", "TEXT") Subs.agregaColumna("PEDIDO", "PE_BCAJAS", "TEXT")
@@ -229,6 +246,8 @@ Private Sub B4XPage_Created (Root1 As B4XView)
skmt.ExecNonQuery("INSERT INTO HIST_STAY_OUT(HSO_INI, HSO_FIN) VALUES (0,0)") skmt.ExecNonQuery("INSERT INTO HIST_STAY_OUT(HSO_INI, HSO_FIN) VALUES (0,0)")
End If End If
C.Close C.Close
p_ciego.Top = 0 : p_ciego.Left = 0
' server = "http://keymon.com.mx:1782" ' server = "http://keymon.com.mx:1782"
'server = "http://201.99.139.28:1783" 'server = "http://201.99.139.28:1783"
' reqManager.Initialize(Me, DBReqServer) ' reqManager.Initialize(Me, DBReqServer)
@@ -300,12 +319,13 @@ Private Sub B4XPage_Created (Root1 As B4XView)
Wait For MES_StorageAvailable Wait For MES_StorageAvailable
End If End If
End If End If
P_CIEGO.Height = Root.Height p_ciego.Height = Root.Height
P_CIEGO.Width = Root.Width p_ciego.Width = Root.Width
p_validacion.Height = Root.Height p_validacion.Height = Root.Height
p_validacion.Width = Root.Width p_validacion.Width = Root.Width
p_add_monto.Height = Root.Height p_add_monto.Height = Root.Height
p_add_monto.Width = Root.Width p_add_monto.Width = Root.Width
CallSubDelayed(Tracker, "StartFLP")
End Sub End Sub
Sub B4XPage_Appear Sub B4XPage_Appear
@@ -381,7 +401,21 @@ Sub B4XPage_Appear
If c12.RowCount > 0 Then If c12.RowCount > 0 Then
End If End If
If Subs.nosQuedamosEnVenta Then
Dim enVentaPagina As String = ""
Private ev As Cursor = Starter.skmt.ExecQuery("select * from cat_variables where cat_va_descripcion = 'EN_VENTA_PAGINA'")
If ev.RowCount > 0 Then
ev.Position = 0
If ev.GetString("CAT_VA_VALOR") = "MAPA" Then
Log("VAMOS A MAPAS")
B4XPages.ShowPage("Mapas")
StartActivity("MAPA_RUTAS")
else if ev.GetString("CAT_VA_VALOR") = "CLIENTES" Then
Log("VAMOS A CLIENTES")
B4XPages.ShowPage("Clientes")
End If
End If
End If
End Sub End Sub
'You can see the list of page related events in the B4XPagesManager object. The event name is B4XPage. 'You can see the list of page related events in the B4XPagesManager object. The event name is B4XPage.
@@ -478,10 +512,10 @@ Sub Entrar_Click
reqManager.ExecuteQuery(cmd , 0, "usuario_10") 'Antes usuario reqManager.ExecuteQuery(cmd , 0, "usuario_10") 'Antes usuario
End If End If
End If End If
Dim cmd As DBCommand ' Dim cmd As DBCommand
cmd.Initialize ' cmd.Initialize
cmd.Name = "select_version_ADM" ' cmd.Name = "select_version_ADM"
reqManager.ExecuteQuery(cmd , 0, "version") ' reqManager.ExecuteQuery(cmd , 0, "version")
Else Else
usuario = user.Text usuario = user.Text
B4XPages.ShowPage("Principal") B4XPages.ShowPage("Principal")
@@ -764,7 +798,7 @@ Private Sub B4XPage_CloseRequest As ResumableSub
Else If p_validacion.IsInitialized And p_validacion.Visible Then Else If p_validacion.IsInitialized And p_validacion.Visible Then
p_validacion.Visible = False p_validacion.Visible = False
Return False Return False
Else If P_CIEGO.IsInitialized And P_CIEGO.Visible Then Else If p_ciego.IsInitialized And p_ciego.Visible Then
MsgboxAsync("Debes de terminar el proceso para regresar a la pantalla principal","Atención") MsgboxAsync("Debes de terminar el proceso para regresar a la pantalla principal","Atención")
Return False Return False
Else If p_appUpdate.IsInitialized And p_appUpdate.Visible Then Else If p_appUpdate.IsInitialized And p_appUpdate.Visible Then
@@ -1132,7 +1166,7 @@ Private Sub b_terpc_Click
Log("Processed item " & i) Log("Processed item " & i)
Next Next
Log("Finished processing all items") Log("Finished processing all items")
P_CIEGO.Visible = False p_ciego.Visible = False
et_buspc.Text = "" et_buspc.Text = ""
CLV_PICK_CIEGO.Clear CLV_PICK_CIEGO.Clear
c = Starter.skmt.ExecQuery("SELECT PC_ID_PROD, PC_ALMACEN, PC_RUTA, PC_FECHA FROM PICK_CIEGO") c = Starter.skmt.ExecQuery("SELECT PC_ID_PROD, PC_ALMACEN, PC_RUTA, PC_FECHA FROM PICK_CIEGO")

View File

@@ -86,7 +86,7 @@ Sub Class_Globals
Private META2 As String Private META2 As String
Private VERIFICA As String Private VERIFICA As String
Private L_QR As Label Private L_QR As Label
Private BT_QR As Button dim BT_QR As Button
'Private qr As QRCode 'Private qr As QRCode
Dim CODIGO As String Dim CODIGO As String
@@ -179,6 +179,16 @@ Sub Class_Globals
Private b_acept_tp As Button Private b_acept_tp As Button
Private chb_impreso As CheckBox Private chb_impreso As CheckBox
Dim nombrepdf As String Dim nombrepdf As String
Private p_pidePeso As Panel
Private et_pidePeso As EditText
Private b_pidePeso As Button
Private p_transparentePidePeso As Panel
Private b_inicioFinVenta As Button
Dim dentroDeGeocerca As Boolean = False
Dim motivoNoVenta, motivoNoVisita As String
Private motivo As String
Dim precision As Int = 0
Private b_cancelaPeso As Button
End Sub End Sub
'You can add more parameters here. 'You can add more parameters here.
@@ -199,7 +209,7 @@ Private Sub B4XPage_Created (Root1 As B4XView)
End If End If
skmt.Initialize(ruta,"kmt.db", True) skmt.Initialize(ruta,"kmt.db", True)
c = 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 from kmt_info where CAT_CL_CODIGO In (Select cuenta from cuentaa)") c = 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 from kmt_info where CAT_CL_CODIGO In (Select cuenta from cuentaa)")
s = skmt.ExecQuery("select sum(pe_costo_tot) as TOTAL_CLIE, SUM(PE_CANT) AS CANT_CLIE FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)") s = skmt.ExecQuery("select ifnull(sum(pe_costo_tot),0) as TOTAL_CLIE, SUM(PE_CANT) AS CANT_CLIE FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)")
b = skmt.ExecQuery("select COUNT(*) AS CLIENTE FROM ABONOSP WHERE CLIENTE IN (Select CUENTA from cuentaa)") b = skmt.ExecQuery("select COUNT(*) AS CLIENTE FROM ABONOSP WHERE CLIENTE IN (Select CUENTA from cuentaa)")
b.Position = 0 b.Position = 0
Dim cabonos As String = b.GetString("CLIENTE") Dim cabonos As String = b.GetString("CLIENTE")
@@ -234,6 +244,14 @@ Private Sub B4XPage_Created (Root1 As B4XView)
End If End If
c.Close c.Close
s.Close s.Close
p_tipopago.Top = 0 : p_tipopago.Left = 0
p_camara.Top = 0 : p_camara.Left = 0
p_transparentePidePeso.Left = 0 : p_transparentePidePeso.Top = 0
p_transparentePidePeso.Height = Root.Height : p_transparentePidePeso.Width = Root.Width
p_pidePeso.Top = 200dip 'p_transparentePidePeso.Height / 3
Subs.centraPanel(p_pidePeso, p_transparentePidePeso.Width)
btAdmin.Initialize("BlueTeeth") btAdmin.Initialize("BlueTeeth")
cmp20.Initialize("Printer") cmp20.Initialize("Printer")
Starter.rp.CheckAndRequest(Starter.rp.PERMISSION_CAMERA) Starter.rp.CheckAndRequest(Starter.rp.PERMISSION_CAMERA)
@@ -254,7 +272,6 @@ Private Sub B4XPage_Created (Root1 As B4XView)
' End If ' End If
' h.Close ' h.Close
' j.Close ' j.Close
End Sub End Sub
'You can see the list of page related events in the B4XPagesManager object. The event name is B4XPage. 'You can see the list of page related events in the B4XPagesManager object. The event name is B4XPage.
@@ -268,7 +285,29 @@ Sub B4XPage_Appear
p_tipopago.Height = Root.Height p_tipopago.Height = Root.Height
p_tipopago.Width = Root.Width p_tipopago.Width = Root.Width
banderaimp = 0 banderaimp = 0
b_inicioFinVenta.Top = Tar.top
b_inicioFinVenta.Width = Root.Width - 4
b_inicioFinVenta.Left = 2
b_inicioFinVenta.Text = "INICIAR VENTA"
b_inicioFinVenta.BringToFront
Guardar.SendToBack
' LogColor(">>>>>> EN VENTA: " & Starter.enVenta, Colors.red)
If Not(Starter.enVenta) And la_cuenta.Text <> "0" Then
b_inicioFinVenta.Visible = True
' Log("EnVenta Visible")
Else
' Log("EnVenta NO Visible")
b_inicioFinVenta.Visible = False
End If
reqManager.Initialize(Me, Starter.DBReqServer) reqManager.Initialize(Me, Starter.DBReqServer)
If la_cuenta.Text = "0" Then
B4XPages.MainPage.tipo_venta = "ABORDO"
Else If la_cuenta.Text = "1" Then
B4XPages.MainPage.tipo_venta = "RECARGA"
Else
B4XPages.MainPage.tipo_venta = "PREVENTA"
End If
Starter.tabla = Subs.traeTablaProds(tipo_venta)
LA_GPS.TextColor = Colors.Red LA_GPS.TextColor = Colors.Red
LA_GPS.Text = "SIN UBICACION GPS" LA_GPS.Text = "SIN UBICACION GPS"
cercavalor = 0 cercavalor = 0
@@ -276,14 +315,13 @@ Sub B4XPage_Appear
ToastMessageShow("Es necesario tener el GPS encendido", True) ToastMessageShow("Es necesario tener el GPS encendido", True)
StartActivity(Starter.gps.LocationSettingsIntent) StartActivity(Starter.gps.LocationSettingsIntent)
End If End If
' Log("appear")
cb_factura.Checked = False cb_factura.Checked = False
p_abono.Visible = False p_abono.Visible = False
Subs.centraPanel(p_abono, Root.Width) Subs.centraPanel(p_abono, Root.Width)
Subs.centraPanel(p_credito, Root.Width) Subs.centraPanel(p_credito, Root.Width)
skmt.Initialize(ruta,"kmt.db", True) 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)") 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 = B4XPages.MainPage.skmt.ExecQuery("select COUNT(*) AS CLIENTE FROM ABONOSP WHERE CLIENTE IN (Select CUENTA from cuentaa)")
b.Position = 0 b.Position = 0
Dim cabonos As String = b.GetString("CLIENTE") Dim cabonos As String = b.GetString("CLIENTE")
@@ -292,7 +330,6 @@ Sub B4XPage_Appear
Else Else
b_cxc.Visible = True b_cxc.Visible = True
End If End If
If la_cuenta.Text = "0" Or la_cuenta.Text = "1" Then If la_cuenta.Text = "0" Or la_cuenta.Text = "1" Then
p_cbFactura.Visible = False p_cbFactura.Visible = False
l_factura.Visible = False l_factura.Visible = False
@@ -303,7 +340,9 @@ Sub B4XPage_Appear
b_ventaabordo.Visible = False b_ventaabordo.Visible = False
End If End If
chb_impreso.Checked = False chb_impreso.Checked = False
s.Position=0 m_lat = "0"
m_lon = "0"
s.Position = 0
If c.RowCount > 0 Then If c.RowCount > 0 Then
c.Position=0 c.Position=0
la_cuenta.Text = c.GetString("CAT_CL_CODIGO") la_cuenta.Text = c.GetString("CAT_CL_CODIGO")
@@ -321,11 +360,9 @@ Sub B4XPage_Appear
Private factura As String = 0 Private factura As String = 0
If s.GetString("PC_FACTURA") <> Null And IsNumber(s.GetString("PC_FACTURA")) Then factura = s.GetString("PC_FACTURA") If s.GetString("PC_FACTURA") <> Null And IsNumber(s.GetString("PC_FACTURA")) Then factura = s.GetString("PC_FACTURA")
If factura = "1" Then cb_factura.Checked = True If factura = "1" Then cb_factura.Checked = True
m_lat = "0" If c.GetString("CAT_CL_LAT") <> "" Then m_lat = c.GetString("CAT_CL_LAT")
If c.GetString("CAT_CL_LAT") <> "" Then m_lat =c.GetString("CAT_CL_LAT")
If m_lat.Length < 5 Then m_lat = "0" If m_lat.Length < 5 Then m_lat = "0"
m_lon = "0" If c.GetString("CAT_CL_LONG") <> "" Then m_lon = c.GetString("CAT_CL_LONG")
If c.GetString("CAT_CL_LONG") <> "" Then m_lon =c.GetString("CAT_CL_LONG")
If m_lon.Length < 5 Then m_lon = "0" If m_lon.Length < 5 Then m_lon = "0"
LA_RUTA = c.GetString("CAT_CL_RUTA") LA_RUTA = c.GetString("CAT_CL_RUTA")
' ESTO ES PARA FORZAR A PEDIR LA FOTO Y EL GPS ' ESTO ES PARA FORZAR A PEDIR LA FOTO Y EL GPS
@@ -354,7 +391,6 @@ Sub B4XPage_Appear
Else Else
MONTO_COMPRA = "0" MONTO_COMPRA = "0"
End If End If
la_saldotot.Text = MONTO_COMPRA la_saldotot.Text = MONTO_COMPRA
If MONTO_COMPRA <> "0" Then If MONTO_COMPRA <> "0" Then
META2 = 300 - MONTO_COMPRA META2 = 300 - MONTO_COMPRA
@@ -371,35 +407,6 @@ Sub B4XPage_Appear
ALMACEN = C.GetString("ID_ALMACEN") ALMACEN = C.GetString("ID_ALMACEN")
End If End If
c.Close c.Close
' If ALMACEN = "1" Then
' Tels.Visible = False
' gest.Visible = False
'' B_GPS.Visible = False
' End If
If ALMACEN = "4" Then
' b_like.Visible = True
DD=B4XPages.MainPage.skmt.ExecQuery2("SELECT COUNT(*) AS CUANTOS FROM HIST_VENTAS WHERE HVD_CLIENTE IN (Select cuenta from cuentaa) AND HVD_PRONOMBRE =?", Array As String("KNORR RINDE MAS 70 GR"))
DD.Position =0
If DD.GetString("CUANTOS") = 0 Then
c=B4XPages.MainPage.skmt.ExecQuery2("SELECT COUNT(*) AS CUANTOS FROM PEDIDO WHERE PE_CLIENTE IN (Select cuenta from cuentaa) AND PE_PRONOMBRE =?", Array As String("KNORR RINDE MAS 70 GR"))
c.Position =0
' If c.GetString("CUANTOS") = 0 Then
' b_like.Visible = True
' Else
' b_like.Visible = False
' End If
c.Close
Else
' b_like.Visible = False
End If
DD.Close
Else
' b_like.Visible = False
End If
' If ALMACEN = "16" Or ALMACEN = "13" Then
' Tels.Visible = True
' gest.Visible = True
' End If
CallSubDelayed(Tracker, "Track") CallSubDelayed(Tracker, "Track")
CallSubDelayed(Tracker, "StartFLPSmall") CallSubDelayed(Tracker, "StartFLPSmall")
If Tracker.FLP.IsInitialized And Tracker.FLP.GetLastKnownLocation.IsInitialized Then 'Si tenemos "UltimaUbicaccionConocida" la usamos. If Tracker.FLP.IsInitialized And Tracker.FLP.GetLastKnownLocation.IsInitialized Then 'Si tenemos "UltimaUbicaccionConocida" la usamos.
@@ -408,31 +415,6 @@ Sub B4XPage_Appear
' Log($"Tenemos UUC: ${Tracker.FLP.GetLastKnownLocation.Latitude},${Tracker.FLP.GetLastKnownLocation.Longitude}"$) ' Log($"Tenemos UUC: ${Tracker.FLP.GetLastKnownLocation.Latitude},${Tracker.FLP.GetLastKnownLocation.Longitude}"$)
GPS_LocationChanged(Tracker.FLP.GetLastKnownLocation) GPS_LocationChanged(Tracker.FLP.GetLastKnownLocation)
End If End If
' Tels.Visible = True
' gest.Visible = True
' h = B4XPages.MainPage.skmt.ExecQuery("SELECT CUENTA from CUENTAA")
' h.Position = 0
' Log(h.GetString("CUENTA"))
' j = B4XPages.MainPage.skmt.ExecQuery2("SELECT a_abono AS CUANTOS FROM ABONOS WHERE a_cliente = ?", Array As String(h.GetString("CUENTA")))
' j.position = 0
' Log(j.RowCount)
' If j.RowCount = 0 Then
' b_cxc.Enabled = True
' Else If j.RowCount > 0 Then
' b_cxc.Enabled = False
' End If
' h.Close
' j.Close
'
' Tels.Visible = False
' gest.Visible = False
' b_ventaabordo.Visible = False
c = skmt.ExecQuery2("select CAT_VA_VALOR from CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As String ("MACIMP")) c = skmt.ExecQuery2("select CAT_VA_VALOR from CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As String ("MACIMP"))
If c.RowCount > 0 Then If c.RowCount > 0 Then
c.Position = 0 c.Position = 0
@@ -441,7 +423,6 @@ Sub B4XPage_Appear
If Starter.MAC_IMPRESORA = "" Then Starter.MAC_IMPRESORA = "0" If Starter.MAC_IMPRESORA = "" Then Starter.MAC_IMPRESORA = "0"
' Log("|" & Starter.MAC_IMPRESORA & "|") ' Log("|" & Starter.MAC_IMPRESORA & "|")
Printer1.Initialize(Me, "Printer1") Printer1.Initialize(Me, "Printer1")
If Printer1.IsConnected = False Then If Printer1.IsConnected = False Then
' Printer1.Connect ' Printer1.Connect
' Log("1") ' Log("1")
@@ -450,13 +431,7 @@ Sub B4XPage_Appear
Printer1.Connect Printer1.Connect
Log("2") Log("2")
End If End If
pre_act = Subs.traeTotalClientepreventaparacredito pre_act = Subs.traeTotalClientepreventaparacredito
'SELECT CAT_CL_BCREDITO, CAT_CL_CODIGO, Ifnull(SALDO_PENDIENTE,0) FROM KMT_INFO INNER JOIN ABONOSP ON CAT_CL_CODIGO = CLIENTE WHERE CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA)
Private credi2 As Cursor = B4XPages.MainPage.skmt.ExecQuery("SELECT CAT_CL_BCREDITO, CAT_CL_CODIGO, Ifnull(SALDO_PENDIENTE,0) As SALDO_PENDIENTE FROM KMT_INFO INNER JOIN ABONOSP ON CAT_CL_CODIGO = CLIENTE WHERE CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA) UNION SELECT CAT_CL_BCREDITO, CAT_CL_CODIGO, Ifnull(SALDO_PENDIENTE,0) As SALDO_PENDIENTE FROM KMT_INFO2 INNER JOIN ABONOSP ON CAT_CL_CODIGO = CLIENTE WHERE CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA)") Private credi2 As Cursor = B4XPages.MainPage.skmt.ExecQuery("SELECT CAT_CL_BCREDITO, CAT_CL_CODIGO, Ifnull(SALDO_PENDIENTE,0) As SALDO_PENDIENTE FROM KMT_INFO INNER JOIN ABONOSP ON CAT_CL_CODIGO = CLIENTE WHERE CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA) UNION SELECT CAT_CL_BCREDITO, CAT_CL_CODIGO, Ifnull(SALDO_PENDIENTE,0) As SALDO_PENDIENTE FROM KMT_INFO2 INNER JOIN ABONOSP ON CAT_CL_CODIGO = CLIENTE WHERE CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA)")
If credi2.RowCount > 0 Then If credi2.RowCount > 0 Then
credi2.Position = 0 credi2.Position = 0
@@ -496,15 +471,16 @@ Sub B4XPage_Appear
gest.Text = "Recarga" gest.Text = "Recarga"
B4XPages.MainPage.recarga = "1" B4XPages.MainPage.recarga = "1"
Else Else
gest.Text = "Pre-venta" gest.Text = "Venta"
B4XPages.MainPage.recarga = "0" B4XPages.MainPage.recarga = "0"
End If End If
LogColor(B4XPages.MainPage.recarga,Colors.Blue) LogColor(B4XPages.MainPage.recarga,Colors.Blue)
p_transparentePidePeso.Visible = False
If camEx.IsInitialized Then If camEx.IsInitialized Then
camEx.Release camEx.Release
End If End If
InitializeCamera InitializeCamera
if venimosDeTicketsDia then Subs.bitacora(Subs.fechanormal(DateTime.Now), usuario, ALMACEN, Subs.traeRuta, "Cliente desde TicketsDia", "", Subs.fechanormal(DateTime.Now), Subs.fechanormal(DateTime.Now), Starter.lat_gps, Starter.lon_gps, "2", "", "", $"Cliente:${la_cuenta.text}"$)
End Sub End Sub
Sub GPS_LocationChanged (Location1 As Location) Sub GPS_LocationChanged (Location1 As Location)
@@ -514,12 +490,12 @@ Sub GPS_LocationChanged (Location1 As Location)
B4XPages.MainPage.lon_gps = Tracker.FLP.GetLastKnownLocation.Longitude B4XPages.MainPage.lon_gps = Tracker.FLP.GetLastKnownLocation.Longitude
' Log("Coords set to: " & B4XPages.MainPage.lat_gps & " and " & B4XPages.MainPage.lon_gps) ' Log("Coords set to: " & B4XPages.MainPage.lat_gps & " and " & B4XPages.MainPage.lon_gps)
End If End If
' ToastMessageShow(B4XPages.MainPage.lat_gps,False)
Dim l1, l2 As Location Dim l1, l2 As Location
l1.Initialize2(B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps) l1.Initialize2(B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps)
' Log($"Coordenadas de la tienda - lat:${m_lat}, lon:${m_lon}"$)
If Not(IsNumber(m_lat)) Then m_lat = 0
If Not(IsNumber(m_lon)) Then m_lon = 0
Log($"Coordenadas de la tienda - lat:${m_lat}, lon:${m_lon}"$)
l2.Initialize2(m_lat, m_lon) l2.Initialize2(m_lat, m_lon)
BT_QR.Enabled = True BT_QR.Enabled = True
@@ -527,13 +503,13 @@ Sub GPS_LocationChanged (Location1 As Location)
LA_GPS.Text = "CON UBICACION GPS" LA_GPS.Text = "CON UBICACION GPS"
' B_GPS.Enabled = True ' B_GPS.Enabled = True
'now we need the distance between our location and the target location 'now we need the distance between our location and the target location
distance = l1.DistanceTo(l2) 'the result is in meter distance = l1.DistanceTo(l2) 'the result is in meter
' gest.Visible = True ' gest.Visible = True
If distance < 100000000000000000000000000000000 Then If distance < 100000000000000000000000000000000 Then
LA_GEO.TextColor = Colors.Blue LA_GEO.TextColor = Colors.Blue
Tels.Visible = True ' Tels.Visible = True
gest.Visible = True gest.Visible = True
b_ventaabordo.Visible = True ' b_ventaabordo.Visible = True
Else Else
Tels.Visible = False Tels.Visible = False
gest.Visible = False gest.Visible = False
@@ -551,7 +527,6 @@ Sub ListView1_ItemLongClick (Position As Int, Value As Object)
End Sub End Sub
Sub gest_Click Sub gest_Click
c = Starter.skmt.ExecQuery("SELECT * FROM FOTOINICIAL") c = Starter.skmt.ExecQuery("SELECT * FROM FOTOINICIAL")
If c.RowCount = 0 Then If c.RowCount = 0 Then
p_camara.Visible = True p_camara.Visible = True
@@ -559,14 +534,8 @@ Sub gest_Click
Subs.panelVisible(p_camara, 0, 0) Subs.panelVisible(p_camara, 0, 0)
b_foto_inci.Text = "Foto tienda" b_foto_inci.Text = "Foto tienda"
Else Else
Log(1)
If la_cuenta.Text = "0" Then p_transparentePidePeso.Visible = True
B4XPages.MainPage.tipo_venta = "ABORDO"
Else If la_cuenta.Text = "1" Then
B4XPages.MainPage.tipo_venta = "RECARGA"
Else
B4XPages.MainPage.tipo_venta = "PREVENTA"
End If
'Buscamos en el historial de cuestionarios si el cliente ya tiene cuestionario contestado. 'Buscamos en el historial de cuestionarios si el cliente ya tiene cuestionario contestado.
' Private hc As Cursor = Starter.skmt.ExecQuery($"select count(HC_CLIENTE) as cuantos from HIST_CUESTIONARIO where HC_CLIENTE = '${Subs.traeCliente}'"$) ' Private hc As Cursor = Starter.skmt.ExecQuery($"select count(HC_CLIENTE) as cuantos from HIST_CUESTIONARIO where HC_CLIENTE = '${Subs.traeCliente}'"$)
@@ -597,7 +566,7 @@ Sub gest_Click
' End If ' End If
'Si hay mapa de productos es que hay venta en proceso, entonces borramos la actual para meter la nueva. '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 ' If B4XPages.MainPage.productos.prodsMap.IsInitialized And B4XPages.MainPage.productos.prodsMap.Size > 0 Then Subs.borraPedidoClienteActual
B4XPages.ShowPage("productos") ' B4XPages.ShowPage("productos")
End If End If
End Sub End Sub
@@ -608,8 +577,15 @@ End Sub
Private Sub B4XPage_CloseRequest As ResumableSub Private Sub B4XPage_CloseRequest As ResumableSub
' BACK key pressed ' BACK key pressed
' Return True To close, False To cancel ' Return True To close, False To cancel
' Log($"venimosDeTicketsDia=${venimosDeTicketsDia}"$) If l_total.Text = 0 And Starter.enVenta = False Then
If Starter.pre_viejo = pre_act Then Log(4)
Return True
else If p_transparentePidePeso.Visible Then
Log(3)
p_transparentePidePeso.Visible = False
else If Starter.pre_viejo = pre_act And l_total.Text > 0 And Starter.enVenta = False Then
Log(2)
If (la_cuenta.Text <> "0" And la_cuenta.Text <> "1") Then If (la_cuenta.Text <> "0" And la_cuenta.Text <> "1") Then
If banderaimp = 1 Then If banderaimp = 1 Then
Else Else
@@ -622,7 +598,6 @@ Private Sub B4XPage_CloseRequest As ResumableSub
Log("Borrra venta") Log("Borrra venta")
Subs.borraPedidoClienteActual Subs.borraPedidoClienteActual
ToastMessageShow("Venta Borrada", False) ToastMessageShow("Venta Borrada", False)
' venimosDeTicketsDia = False
B4XPages.ShowPage("Principal") B4XPages.ShowPage("Principal")
else if resultado1=DialogResponse.CANCEL Then else if resultado1=DialogResponse.CANCEL Then
Log("Pedido guardado") Log("Pedido guardado")
@@ -630,20 +605,16 @@ Private Sub B4XPage_CloseRequest As ResumableSub
ToastMessageShow("Venta Guardada", False) ToastMessageShow("Venta Guardada", False)
End If End If
End If End If
' venimosDeTicketsDia = False B4XPages.ShowPage("Clientes")
B4XPages.ShowPage("Clientes")
End If End If
' Else If la_cuenta.Text = "1" Then
' If B4XPages.MainPage.recarga = "1" Then
' B4XPages.ShowPage("login")
' End If
Else Else
End If End If
Else Else If B4XPages.MainPage.recarga = "1" Then
If B4XPages.MainPage.recarga = "1" Then Log(1)
B4XPages.ShowPage("login") B4XPages.ShowPage("login")
End If Else
Log(5)
Msgbox("Presione Guardar y Terminar Venta para continuar","Aviso") 'ignore
End If End If
' Return True ' Return True
Return False Return False
@@ -662,7 +633,6 @@ Sub DATOS_Click
End Sub End Sub
Sub Guardar_Click Sub Guardar_Click
c = B4XPages.MainPage.skmt.ExecQuery2("SELECT COUNT(*) AS CUANTOS FROM PEDIDO WHERE PE_CLIENTE IN (SELECT CUENTA FROM CUENTAA) and PE_FOLIO = ?", Array As String("PREVENTA")) c = B4XPages.MainPage.skmt.ExecQuery2("SELECT COUNT(*) AS CUANTOS FROM PEDIDO WHERE PE_CLIENTE IN (SELECT CUENTA FROM CUENTAA) and PE_FOLIO = ?", Array As String("PREVENTA"))
c.Position = 0 c.Position = 0
If c.GetString("CUANTOS") > 0 Then If c.GetString("CUANTOS") > 0 Then
@@ -672,12 +642,7 @@ Sub Guardar_Click
If Credi.RowCount > 0 Then If Credi.RowCount > 0 Then
Credi.Position = 0 Credi.Position = 0
If Credi.GetString("CAT_CL_BCREDITO") = "1" Then If Credi.GetString("CAT_CL_BCREDITO") = "1" Then
If pre_act <> Starter.pre_viejo Then If pre_act <> Starter.pre_viejo Then
Msgbox2Async("La venta es a credito?", "ATENCION","SI","", "NO",LoadBitmap(File.DirAssets,"alert2.png"), False) Msgbox2Async("La venta es a credito?", "ATENCION","SI","", "NO",LoadBitmap(File.DirAssets,"alert2.png"), False)
Wait For Msgbox_Result (resultado As Int) Wait For Msgbox_Result (resultado As Int)
If resultado = DialogResponse.POSITIVE Then If resultado = DialogResponse.POSITIVE Then
@@ -695,12 +660,9 @@ Sub Guardar_Click
Else Else
GuardaVenta GuardaVenta
End If End If
Else If pre_act = Starter.pre_viejo Then Else If pre_act = Starter.pre_viejo Then
GuardaVenta GuardaVenta
End If End If
Else If Credi.GetString("CAT_CL_BCREDITO") = "0" Then Else If Credi.GetString("CAT_CL_BCREDITO") = "0" Then
GuardaVenta GuardaVenta
End If End If
@@ -710,7 +672,6 @@ Sub Guardar_Click
credi2.Position = 0 credi2.Position = 0
If credi2.GetString ("CAT_CL_BCREDITO") = "1" And credi2.GetString ("a_abono")=credi2.GetString ("SALDO_PENDIENTE") Then If credi2.GetString ("CAT_CL_BCREDITO") = "1" And credi2.GetString ("a_abono")=credi2.GetString ("SALDO_PENDIENTE") Then
If pre_act <> Starter.pre_viejo Then If pre_act <> Starter.pre_viejo Then
Msgbox2Async("La venta es a credito?", "ATENCION","SI","", "NO",LoadBitmap(File.DirAssets,"alert2.png"), False) Msgbox2Async("La venta es a credito?", "ATENCION","SI","", "NO",LoadBitmap(File.DirAssets,"alert2.png"), False)
Wait For Msgbox_Result (resultado As Int) Wait For Msgbox_Result (resultado As Int)
If resultado = DialogResponse.POSITIVE Then If resultado = DialogResponse.POSITIVE Then
@@ -728,7 +689,6 @@ Sub Guardar_Click
Else Else
GuardaVenta GuardaVenta
End If End If
Else If pre_act = Starter.pre_viejo Then Else If pre_act = Starter.pre_viejo Then
GuardaVenta GuardaVenta
End If End If
@@ -808,6 +768,10 @@ Private Sub b_cancred_Click
End Sub End Sub
Sub GuardaVenta Sub GuardaVenta
Log("GuardaVenta")
pre_act = Starter.pre_viejo ' ################ NOS BRINCAMOS EL "PRE"
If pre_act <> Starter.pre_viejo Then If pre_act <> Starter.pre_viejo Then
p_tipopago.Visible = True p_tipopago.Visible = True
rb_efectivo.Checked = False rb_efectivo.Checked = False
@@ -825,13 +789,15 @@ Sub GuardaVenta
' HIST.Enabled = False ' HIST.Enabled = False
' banderaimp = 1 ' banderaimp = 1
Else If pre_act = Starter.pre_viejo Then Else If pre_act = Starter.pre_viejo Then
GUADAVENTA2 GuardaVenta2
End If End If
End Sub End Sub
Sub GUADAVENTA2 Sub GuardaVenta2
Log("GuardaVenta2")
Log(B4XPages.MainPage.recarga) Log(B4XPages.MainPage.recarga)
If B4XPages.MainPage.recarga = "0" Then If B4XPages.MainPage.recarga = "0" Then
Log("Recarga 0")
DateTime.DateFormat = "MM/dd/yyyy" DateTime.DateFormat = "MM/dd/yyyy"
sDate=DateTime.Date(DateTime.Now) sDate=DateTime.Date(DateTime.Now)
sTime=DateTime.Time(DateTime.Now) sTime=DateTime.Time(DateTime.Now)
@@ -861,7 +827,7 @@ Sub GUADAVENTA2
B4XPages.MainPage.skmt.ExecNonQuery2("UPDATE HIST_STAY_STORE set HSS_OUT = ? where HSS_OUT = 0 AND HSS_CODIGO In (select cuenta from cuentaa)", Array As Object(sTime)) B4XPages.MainPage.skmt.ExecNonQuery2("UPDATE HIST_STAY_STORE set HSS_OUT = ? where HSS_OUT = 0 AND HSS_CODIGO In (select cuenta from cuentaa)", Array As Object(sTime))
' B4XPages.MainPage.skmt.ExecNonQuery("UPDATE HIST_STAY_STORE set HSS_TOT = HSS_OUT - HSS_IN where HSS_CODIGO In (select cuenta from cuentaa)") ' B4XPages.MainPage.skmt.ExecNonQuery("UPDATE HIST_STAY_STORE set HSS_TOT = HSS_OUT - HSS_IN where HSS_CODIGO In (select cuenta from cuentaa)")
Try Try
c=B4XPages.MainPage.skmt.ExecQuery(" Select (substr(HSS_OUT,1,2) - substr(HSS_IN,1,2)) - Case when (substr(HSS_OUT,3,2) - substr(HSS_IN,3,2)) < 0 Then 1 Else 0 end HORAS_TOTALES, " & _ c=B4XPages.MainPage.skmt.ExecQuery("Select (substr(HSS_OUT,1,2) - substr(HSS_IN,1,2)) - Case when (substr(HSS_OUT,3,2) - substr(HSS_IN,3,2)) < 0 Then 1 Else 0 end HORAS_TOTALES, " & _
"Case when (substr(HSS_OUT,3,2) - substr(HSS_IN,3,2)) < 0 Then (substr(HSS_OUT,3,2) + 60 - substr(HSS_IN,3,2)) " & _ "Case when (substr(HSS_OUT,3,2) - substr(HSS_IN,3,2)) < 0 Then (substr(HSS_OUT,3,2) + 60 - substr(HSS_IN,3,2)) " & _
" Else (substr(HSS_OUT,3,2) - substr(HSS_IN,3,2)) End - Case when (substr(HSS_OUT,5,2) - substr(HSS_IN,5,2)) < 0 Then 1 Else 0 end MINUTOS_TOTALES, " & _ " Else (substr(HSS_OUT,3,2) - substr(HSS_IN,3,2)) End - Case when (substr(HSS_OUT,5,2) - substr(HSS_IN,5,2)) < 0 Then 1 Else 0 end MINUTOS_TOTALES, " & _
"Case when (substr(HSS_OUT,5,2) - substr(HSS_IN,5,2)) < 0 Then (substr(HSS_OUT,5,2) + 60 - substr(HSS_IN,5,2)) " & _ "Case when (substr(HSS_OUT,5,2) - substr(HSS_IN,5,2)) < 0 Then (substr(HSS_OUT,5,2) + 60 - substr(HSS_IN,5,2)) " & _
@@ -877,12 +843,10 @@ Sub GUADAVENTA2
Catch Catch
ToastMessageShow(".",True) ToastMessageShow(".",True)
End Try 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)) 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) ' LogColor($"actualizamos "${la_cuenta.text}, hora_final=${DateTime.now}"$,Colors.Red)
Subs.actualizaTET(la_cuenta.text) Subs.actualizaTET(la_cuenta.text)
DateTime.TimeFormat = "HH:mm:ss" DateTime.TimeFormat = "HH:mm:ss"
mandaPendientes 'LO COMENTAMOS PARA PRUEBAS, ACTIVAR AL FINAL!!! mandaPendientes 'LO COMENTAMOS PARA PRUEBAS, ACTIVAR AL FINAL!!!
mandapiezas mandapiezas
B4XPages.MainPage.productos.reiniciarlistaProds = True B4XPages.MainPage.productos.reiniciarlistaProds = True
@@ -896,8 +860,22 @@ Sub GUADAVENTA2
b_ventaabordo.Enabled = True b_ventaabordo.Enabled = True
HIST.Enabled = True HIST.Enabled = True
banderaimp = 0 banderaimp = 0
B4XPages.ShowPage("Principal") b_inicioFinVenta.Text = "TERMINAR VENTA"
If la_cuenta.Text <> "0" Then 'Si es ABORDO, no mostramos el boton b_inicioFinVenta y regresamos a Principal.
b_inicioFinVenta.Visible = True
b_inicioFinVenta.BringToFront
Guardar.SendToBack
Else
b_inicioFinVenta.Visible = False
Starter.enVenta = False
Subs.enVenta(0, "")
LogColor(">>>>>> ABORDO: " & Starter.enVenta, Colors.red)
Subs.bitacora(Subs.fechanormal(DateTime.Now), usuario, ALMACEN, Subs.traeRuta, "Venta Abordo", "0", Subs.fechanormal(DateTime.Now), Subs.fechanormal(DateTime.Now), Starter.lat_gps, Starter.lon_gps, precision, "", "", "")
B4XPages.ShowPageAndRemovePreviousPages("Principal")
End If
Else If B4XPages.MainPage.recarga = "1" Then Else If B4XPages.MainPage.recarga = "1" Then
Log("Recarga 1")
DateTime.DateFormat = "MM/dd/yyyy" DateTime.DateFormat = "MM/dd/yyyy"
sDate=DateTime.Date(DateTime.Now) sDate=DateTime.Date(DateTime.Now)
sTime=DateTime.Time(DateTime.Now) sTime=DateTime.Time(DateTime.Now)
@@ -924,30 +902,10 @@ Sub GUADAVENTA2
DateTime.TimeFormat = "HHmmss" DateTime.TimeFormat = "HHmmss"
sTime=DateTime.Time(DateTime.Now) sTime=DateTime.Time(DateTime.Now)
B4XPages.MainPage.skmt.ExecNonQuery2("UPDATE HIST_STAY_STORE set HSS_OUT = ? where HSS_OUT = 0 AND HSS_CODIGO In (select cuenta from cuentaa)", Array As Object(sTime)) B4XPages.MainPage.skmt.ExecNonQuery2("UPDATE HIST_STAY_STORE set HSS_OUT = ? where HSS_OUT = 0 AND HSS_CODIGO In (select cuenta from cuentaa)", Array As Object(sTime))
' B4XPages.MainPage.skmt.ExecNonQuery("UPDATE HIST_STAY_STORE set HSS_TOT = HSS_OUT - HSS_IN where HSS_CODIGO In (select cuenta from cuentaa)")
' Try
' c=B4XPages.MainPage.skmt.ExecQuery(" Select (substr(HSS_OUT,1,2) - substr(HSS_IN,1,2)) - Case when (substr(HSS_OUT,3,2) - substr(HSS_IN,3,2)) < 0 Then 1 Else 0 end HORAS_TOTALES, " & _
' "Case when (substr(HSS_OUT,3,2) - substr(HSS_IN,3,2)) < 0 Then (substr(HSS_OUT,3,2) + 60 - substr(HSS_IN,3,2)) " & _
' " Else (substr(HSS_OUT,3,2) - substr(HSS_IN,3,2)) End - Case when (substr(HSS_OUT,5,2) - substr(HSS_IN,5,2)) < 0 Then 1 Else 0 end MINUTOS_TOTALES, " & _
' "Case when (substr(HSS_OUT,5,2) - substr(HSS_IN,5,2)) < 0 Then (substr(HSS_OUT,5,2) + 60 - substr(HSS_IN,5,2)) " & _
' " Else (substr(HSS_OUT,5,2) - substr(HSS_IN,5,2)) end SEGUNDOS_TOTALES " & _
' " from HIST_STAY_STORE where HSS_CODIGO In (Select cuenta from cuentaa) ")
' c.Position = 0
' stay_hh = c.GetString("HORAS_TOTALES") * 60 * 60
' stay_mi = c.GetString("MINUTOS_TOTALES") * 60
' stay_ss = c.GetString("SEGUNDOS_TOTALES")
' B4XPages.MainPage.skmt.ExecNonQuery2("UPDATE HIST_STAY_STORE set HSS_TOT = ? where HSS_CODIGO In (select cuenta from cuentaa)", Array As Object(stay_hh + stay_mi + stay_ss))
' B4XPages.MainPage.skmt.ExecNonQuery2("UPDATE HIST_STAY_OUT set HSO_FIN = ? ", Array As Object(sTime))
' c.Close
' 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)) 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) ' LogColor($"actualizamos "${la_cuenta.text}, hora_final=${DateTime.now}"$,Colors.Red)
Subs.actualizaTET(la_cuenta.text) Subs.actualizaTET(la_cuenta.text)
DateTime.TimeFormat = "HH:mm:ss" DateTime.TimeFormat = "HH:mm:ss"
' mandaPendientes 'LO COMENTAMOS PARA PRUEBAS, ACTIVAR AL FINAL!!! ' mandaPendientes 'LO COMENTAMOS PARA PRUEBAS, ACTIVAR AL FINAL!!!
' mandapiezas ' mandapiezas
mandaPendientesrecarga mandaPendientesrecarga
@@ -1335,14 +1293,14 @@ Sub imprime_preventa
If resultado = DialogResponse.POSITIVE Then If resultado = DialogResponse.POSITIVE Then
B_IMP_Click B_IMP_Click
Else Else
GUADAVENTA2 GuardaVenta2
End If End If
' printer.Flush ' printer.Flush
' printer.Close ' printer.Close
End Sub End Sub
Private Sub Label20_LongClick Private Sub l_ticketCorreo_LongClick
xui.SetDataFolder("B4Xpdf") xui.SetDataFolder("B4Xpdf")
File.Copy(File.DirAssets,"intmex_logo_192x192.jpg",xui.DefaultFolder,"intmex_logo_192x192.jpg") File.Copy(File.DirAssets,"intmex_logo_192x192.jpg",xui.DefaultFolder,"intmex_logo_192x192.jpg")
File.Copy(File.DirAssets,"mariana1.jpg",xui.DefaultFolder,"mariana1.jpg") File.Copy(File.DirAssets,"mariana1.jpg",xui.DefaultFolder,"mariana1.jpg")
@@ -1526,9 +1484,7 @@ Private Sub Label20_LongClick
openPDF(sDate&sTime&".pdf") openPDF(sDate&sTime&".pdf")
End Sub End Sub
Private Sub PDFGENERAR Private Sub PDFGenerar
ESPACIO = 0 ESPACIO = 0
DateTime.DateFormat = "MM/dd/yyyy" DateTime.DateFormat = "MM/dd/yyyy"
DateTime.TimeFormat = "HH:mm:ss" DateTime.TimeFormat = "HH:mm:ss"
@@ -1537,32 +1493,24 @@ Private Sub PDFGENERAR
Dim PDF As cPDF Dim PDF As cPDF
'initialize with mm unit 'initialize with mm unit
PDF.Initialize("mm") PDF.Initialize("mm")
'set properties 'set properties
PDF.sProperty(PDF.PropertyAuthor,"Keymonsoft"). _ PDF.sProperty(PDF.PropertyAuthor,"Keymonsoft"). _
sProperty(PDF.PropertyTitle,"Ticket"). _ sProperty(PDF.PropertyTitle,"Ticket"). _
sProperty(PDF.PropertyKeywords,"B4X,PDF,Cross platform") sProperty(PDF.PropertyKeywords,"B4X,PDF,Cross platform")
'add a page 'add a page
Dim s56 As Cursor=skmt.ExecQuery2("select PE_PRONOMBRE, PE_CANT, length(pe_cant) as L_CANT, PE_COSTOU, length(PE_COSTOU) as L_COSTOU,PE_CANT * PE_COSTOU AS PE_COSTO_TOT, length(PE_CANT * PE_COSTOU) as L_COSTO_TOT,PE_PROID, PE_CEDIS FROM PEDIDO WHERE PE_FOLIO = ? AND LENGTH(PE_CEDIS) < 4 AND PE_CLIENTE IN (Select CUENTA from cuentaa) order by PE_PROID", Array As String("PREVENTA")) Dim s56 As Cursor=skmt.ExecQuery2("select PE_PRONOMBRE, PE_CANT, length(pe_cant) as L_CANT, PE_COSTOU, length(PE_COSTOU) as L_COSTOU,PE_CANT * PE_COSTOU AS PE_COSTO_TOT, length(PE_CANT * PE_COSTOU) as L_COSTO_TOT,PE_PROID, PE_CEDIS FROM PEDIDO WHERE PE_FOLIO = ? AND LENGTH(PE_CEDIS) < 4 AND PE_CLIENTE IN (Select CUENTA from cuentaa) order by PE_PROID", Array As String("PREVENTA"))
Dim s57 As Cursor = skmt.ExecQuery2("select PE_PRONOMBRE, PE_CANT, length(pe_cant) as L_CANT, PE_COSTOU, length(PE_COSTOU) as L_COSTOU,PE_CANT * PE_COSTOU AS PE_COSTO_TOT, length(PE_CANT * PE_COSTOU) as L_COSTO_TOT,PE_PROID, PE_CEDIS FROM PEDIDO WHERE PE_FOLIO = ? AND LENGTH(PE_CEDIS) > 3 AND PE_CLIENTE IN (Select CUENTA from cuentaa) order by PE_CEDIS, PE_COSTOU", Array As String("PREVENTA")) Dim s57 As Cursor = skmt.ExecQuery2("select PE_PRONOMBRE, PE_CANT, length(pe_cant) as L_CANT, PE_COSTOU, length(PE_COSTOU) as L_COSTOU,PE_CANT * PE_COSTOU AS PE_COSTO_TOT, length(PE_CANT * PE_COSTOU) as L_COSTO_TOT,PE_PROID, PE_CEDIS FROM PEDIDO WHERE PE_FOLIO = ? AND LENGTH(PE_CEDIS) > 3 AND PE_CLIENTE IN (Select CUENTA from cuentaa) order by PE_CEDIS, PE_COSTOU", Array As String("PREVENTA"))
Dim pagina As Double = ((18 + (s56.RowCount*2) + (s57.RowCount*2)) * (6)) + 18 Dim pagina As Double = ((18 + (s56.RowCount*2) + (s57.RowCount*2)) * (6)) + 18
' Dim pagina As Double = ((18 + s56.RowCount + s57.RowCount +2) * (6)) + 18 ' Dim pagina As Double = ((18 + s56.RowCount + s57.RowCount +2) * (6)) + 18
Dim multiplicador As Int = 0 Dim multiplicador As Int = 0
PDF.pageAdd(-300,pagina) PDF.pageAdd(-300,pagina)
' pdf.pageAdd(-350,-1900) ' pdf.pageAdd(-350,-1900)
PDF.sFont(PDF.fontHelvetica,0,10,PDF.colorBlack) PDF.sFont(PDF.fontHelvetica,0,10,PDF.colorBlack)
PDF.outImage(xui.DefaultFolder,"mariana1.jpg",1,pagina-55,70,0) PDF.outImage(xui.DefaultFolder,"mariana1.jpg",1,pagina-55,70,0)
multiplicador = multiplicador +1 multiplicador = multiplicador +1
PDF.outtext(1,pagina-multiplicador*6,"ADM Distribuciones") PDF.outtext(1,pagina-multiplicador*6,"ADM Distribuciones")
multiplicador = multiplicador +1 multiplicador = multiplicador +1
PDF.outtext(1,pagina-multiplicador*6,sDate& " " & sTime) PDF.outtext(1,pagina-multiplicador*6,sDate& " " & sTime)
multiplicador = multiplicador +1 multiplicador = multiplicador +1
PDF.outtext(1,pagina-multiplicador*6,"Vendedor:" & Subs.traeUsuarioDeBD) PDF.outtext(1,pagina-multiplicador*6,"Vendedor:" & Subs.traeUsuarioDeBD)
@@ -1583,18 +1531,14 @@ Private Sub PDFGENERAR
multiplicador = multiplicador +1 multiplicador = multiplicador +1
PDF.outtext(1,pagina-multiplicador*6," ") PDF.outtext(1,pagina-multiplicador*6," ")
c = skmt.ExecQuery2("SELECT * FROM PEDIDO WHERE PE_FOLIO = ?",Array As String("PREVENTA")) c = skmt.ExecQuery2("SELECT * FROM PEDIDO WHERE PE_FOLIO = ?",Array As String("PREVENTA"))
If c.RowCount > 0 Then If c.RowCount > 0 Then
multiplicador = multiplicador +1 multiplicador = multiplicador +1
PDF.outtext(1,pagina-multiplicador*6,"------------------------------------PREVENTA-----------------------------------------") PDF.outtext(1,pagina-multiplicador*6,"------------------------------------PREVENTA-----------------------------------------")
multiplicador = multiplicador +1 multiplicador = multiplicador +1
PDF.outtext(1,pagina-multiplicador*6,"Cant. Precio Importe") PDF.outtext(1,pagina-multiplicador*6,"Cant. Precio Importe")
multiplicador = multiplicador +1 multiplicador = multiplicador +1
PDF.outtext(1,pagina-multiplicador*6,"-----------------------------------------------------------------------------------------") PDF.outtext(1,pagina-multiplicador*6,"-----------------------------------------------------------------------------------------")
s=skmt.ExecQuery2("select PE_PRONOMBRE, PE_CANT, length(pe_cant) as L_CANT, PE_COSTOU, length(PE_COSTOU) as L_COSTOU,PE_CANT * PE_COSTOU AS PE_COSTO_TOT, length(PE_CANT * PE_COSTOU) as L_COSTO_TOT,PE_PROID, PE_CEDIS FROM PEDIDO WHERE PE_FOLIO = ? AND LENGTH(PE_CEDIS) < 4 AND PE_CLIENTE IN (Select CUENTA from cuentaa) order by PE_PROID", Array As String("PREVENTA")) s=skmt.ExecQuery2("select PE_PRONOMBRE, PE_CANT, length(pe_cant) as L_CANT, PE_COSTOU, length(PE_COSTOU) as L_COSTOU,PE_CANT * PE_COSTOU AS PE_COSTO_TOT, length(PE_CANT * PE_COSTOU) as L_COSTO_TOT,PE_PROID, PE_CEDIS FROM PEDIDO WHERE PE_FOLIO = ? AND LENGTH(PE_CEDIS) < 4 AND PE_CLIENTE IN (Select CUENTA from cuentaa) order by PE_PROID", Array As String("PREVENTA"))
If S.RowCount>0 Then If S.RowCount>0 Then
For i=0 To S.RowCount -1 For i=0 To S.RowCount -1
@@ -1602,7 +1546,6 @@ Private Sub PDFGENERAR
If s.GetString("PE_CEDIS") = s.GetString("PE_PROID") Then If s.GetString("PE_CEDIS") = s.GetString("PE_PROID") Then
multiplicador = multiplicador +1 multiplicador = multiplicador +1
PDF.outtext(1,pagina-multiplicador*6,s.GetString("PE_PRONOMBRE") ) PDF.outtext(1,pagina-multiplicador*6,s.GetString("PE_PRONOMBRE") )
Else Else
PDF.sFont(PDF.fontHelvetica,0,7,PDF.colorBlack) PDF.sFont(PDF.fontHelvetica,0,7,PDF.colorBlack)
multiplicador = multiplicador +1 multiplicador = multiplicador +1
@@ -1610,7 +1553,6 @@ Private Sub PDFGENERAR
LogColor(s.GetLong("L_CANT"),Colors.Magenta) LogColor(s.GetLong("L_CANT"),Colors.Magenta)
LogColor(s.GetLong("L_COSTOU"),Colors.Magenta) LogColor(s.GetLong("L_COSTOU"),Colors.Magenta)
LogColor(s.GetLong("L_COSTO_TOT"),Colors.Magenta) LogColor(s.GetLong("L_COSTO_TOT"),Colors.Magenta)
TAMANO = s.GetLong("L_CANT") + s.GetLong("L_COSTOU") + s.GetLong("L_COSTO_TOT") TAMANO = s.GetLong("L_CANT") + s.GetLong("L_COSTOU") + s.GetLong("L_COSTO_TOT")
ESPACIO = 92 ESPACIO = 92
BLANCO = " " BLANCO = " "
@@ -1622,16 +1564,11 @@ Private Sub PDFGENERAR
PDF.sFont(PDF.fontHelvetica,0,10,PDF.colorBlack) PDF.sFont(PDF.fontHelvetica,0,10,PDF.colorBlack)
multiplicador = multiplicador +1 multiplicador = multiplicador +1
PDF.outtext(1,pagina-multiplicador*6, s.GETSTRING("PE_CANT") & BLANCO & s.GETSTRING("PE_COSTOU") & BLANCO & s.GETSTRING("PE_COSTO_TOT")) PDF.outtext(1,pagina-multiplicador*6, s.GETSTRING("PE_CANT") & BLANCO & s.GETSTRING("PE_COSTOU") & BLANCO & s.GETSTRING("PE_COSTO_TOT"))
' pdf.outtext(1,108-9*6,s.GETSTRING("PE_COSTOU")
' pdf.outtext(1,108-9*6,s.GETSTRING("PE_COSTOU"))
'
' pdf.outtext(1,108-9*6,s.GETSTRING("PE_COSTO_TOT") ) ' pdf.outtext(1,108-9*6,s.GETSTRING("PE_COSTO_TOT") )
End If End If
Next Next
End If End If
s.Close s.Close
PDF.outtext(1,108-9*6," " ) PDF.outtext(1,108-9*6," " )
s=skmt.ExecQuery2("select PE_PRONOMBRE, PE_CANT, length(pe_cant) as L_CANT, PE_COSTOU, length(PE_COSTOU) as L_COSTOU,PE_CANT * PE_COSTOU AS PE_COSTO_TOT, length(PE_CANT * PE_COSTOU) as L_COSTO_TOT,PE_PROID, PE_CEDIS FROM PEDIDO WHERE PE_FOLIO = ? AND LENGTH(PE_CEDIS) > 3 AND PE_CLIENTE IN (Select CUENTA from cuentaa) order by PE_CEDIS, PE_COSTOU", Array As String("PREVENTA")) s=skmt.ExecQuery2("select PE_PRONOMBRE, PE_CANT, length(pe_cant) as L_CANT, PE_COSTOU, length(PE_COSTOU) as L_COSTOU,PE_CANT * PE_COSTOU AS PE_COSTO_TOT, length(PE_CANT * PE_COSTOU) as L_COSTO_TOT,PE_PROID, PE_CEDIS FROM PEDIDO WHERE PE_FOLIO = ? AND LENGTH(PE_CEDIS) > 3 AND PE_CLIENTE IN (Select CUENTA from cuentaa) order by PE_CEDIS, PE_COSTOU", Array As String("PREVENTA"))
@@ -1647,16 +1584,13 @@ Private Sub PDFGENERAR
If s.GetString("PE_CEDIS") = s.GetString("PE_PROID") Then If s.GetString("PE_CEDIS") = s.GetString("PE_PROID") Then
multiplicador = multiplicador +1 multiplicador = multiplicador +1
PDF.outtext(1,pagina-multiplicador*6,s.GetString("PE_PRONOMBRE") ) PDF.outtext(1,pagina-multiplicador*6,s.GetString("PE_PRONOMBRE") )
Else Else
PDF.sFont(PDF.fontHelvetica,0,7,PDF.colorBlack) PDF.sFont(PDF.fontHelvetica,0,7,PDF.colorBlack)
multiplicador = multiplicador +1 multiplicador = multiplicador +1
PDF.outtext(1,pagina-multiplicador*6,s.GetString("PE_PRONOMBRE")) PDF.outtext(1,pagina-multiplicador*6,s.GetString("PE_PRONOMBRE"))
LogColor(s.GetLong("L_CANT"),Colors.Magenta) LogColor(s.GetLong("L_CANT"),Colors.Magenta)
LogColor(s.GetLong("L_COSTOU"),Colors.Magenta) LogColor(s.GetLong("L_COSTOU"),Colors.Magenta)
LogColor(s.GetLong("L_COSTO_TOT"),Colors.Magenta) LogColor(s.GetLong("L_COSTO_TOT"),Colors.Magenta)
TAMANO = s.GetLong("L_CANT") + s.GetLong("L_COSTOU") + s.GetLong("L_COSTO_TOT") TAMANO = s.GetLong("L_CANT") + s.GetLong("L_COSTOU") + s.GetLong("L_COSTO_TOT")
ESPACIO = 92 ESPACIO = 92
BLANCO = " " BLANCO = " "
@@ -1668,12 +1602,10 @@ Private Sub PDFGENERAR
PDF.sFont(PDF.fontHelvetica,0,10,PDF.colorBlack) PDF.sFont(PDF.fontHelvetica,0,10,PDF.colorBlack)
multiplicador = multiplicador +1 multiplicador = multiplicador +1
PDF.outtext(1,pagina-multiplicador*6, s.GETSTRING("PE_CANT") & BLANCO & s.GETSTRING("PE_COSTOU") & BLANCO & s.GETSTRING("PE_COSTO_TOT")) PDF.outtext(1,pagina-multiplicador*6, s.GETSTRING("PE_CANT") & BLANCO & s.GETSTRING("PE_COSTOU") & BLANCO & s.GETSTRING("PE_COSTO_TOT"))
End If End If
Next Next
End If End If
s.Close s.Close
' multiplicador = multiplicador +1 ' multiplicador = multiplicador +1
' pdf.outtext(1,pagina-multiplicador*6," " ) ' pdf.outtext(1,pagina-multiplicador*6," " )
multiplicador = multiplicador +1 multiplicador = multiplicador +1
@@ -1709,8 +1641,7 @@ Private Sub PDFGENERAR
PDF.outtext(1,pagina-multiplicador*6," " ) PDF.outtext(1,pagina-multiplicador*6," " )
multiplicador = multiplicador +1 multiplicador = multiplicador +1
PDF.outtext(1,pagina-multiplicador*6," " ) PDF.outtext(1,pagina-multiplicador*6," " )
' 'all combinations of font normal, bold,italic,underline and strikethrough ' 'all combinations of font normal, bold,italic,underline and strikethrough
' For i=0 To 15 ' For i=0 To 15
' 'select a font ' 'select a font
@@ -1730,7 +1661,7 @@ Private Sub PDFGENERAR
openPDF(sDate&sTime&".pdf") openPDF(sDate&sTime&".pdf")
End If End If
nombrepdf =sDate&sTime&".pdf" nombrepdf =sDate&sTime&".pdf"
GUADAVENTA2 GuardaVenta2
End Sub End Sub
private Sub savePDF(apdf As cPDF,afile As String,acompress As Int) private Sub savePDF(apdf As cPDF,afile As String,acompress As Int)
@@ -1745,7 +1676,6 @@ private Sub savePDF(apdf As cPDF,afile As String,acompress As Int)
' '...... ' '......
' #End If ' #End If
' apdf.saveToFile(folder,afile,acompress) ' apdf.saveToFile(folder,afile,acompress)
Dim folder As String Dim folder As String
#if B4J #if B4J
folder = xui.DefaultFolder folder = xui.DefaultFolder
@@ -1756,10 +1686,8 @@ private Sub savePDF(apdf As cPDF,afile As String,acompress As Int)
#if B4I #if B4I
folder = File.DirDocuments folder = File.DirDocuments
#End If #End If
' Guardar el PDF ' Guardar el PDF
apdf.saveToFile(folder, afile, acompress) apdf.saveToFile(folder, afile, acompress)
' Mostrar mensaje de éxito ' Mostrar mensaje de éxito
Log($"PDF guardado en: ${File.Combine(folder, afile)}"$) Log($"PDF guardado en: ${File.Combine(folder, afile)}"$)
End Sub End Sub
@@ -1781,7 +1709,6 @@ private Sub openPDF(afile As String)
#End If #End If
End Sub End Sub
Sub imprime_venta Sub imprime_venta
c=skmt.ExecQuery("select USUARIO from usuarioa") c=skmt.ExecQuery("select USUARIO from usuarioa")
c.Position=0 c.Position=0
@@ -2034,7 +1961,7 @@ Sub imprime_venta
If resultado = DialogResponse.POSITIVE Then If resultado = DialogResponse.POSITIVE Then
B_IMP_Click B_IMP_Click
Else Else
GUADAVENTA2 GuardaVenta2
End If End If
End If End If
@@ -2858,9 +2785,7 @@ End Sub
Sub Camera1_PictureTaken (Data() As Byte) Sub Camera1_PictureTaken (Data() As Byte)
If b_foto_inci.Text = "Foto tienda" Then If b_foto_inci.Text = "Foto tienda" Then
DateTime.DateFormat="ddMMyyyyHHmmss" DateTime.DateFormat="ddMMyyyyHHmmss"
fototomada = DateTime.Now & "_cliente.jpg" fototomada = DateTime.Now & "_cliente.jpg"
Dim filename As String = fototomada Dim filename As String = fototomada
@@ -2868,7 +2793,6 @@ Sub Camera1_PictureTaken (Data() As Byte)
camEx.SavePictureToFile(Data, dir, filename) camEx.SavePictureToFile(Data, dir, filename)
camEx.StartPreview 'restart preview camEx.StartPreview 'restart preview
ToastMessageShow("Picture saved." & CRLF & "File size: " & File.Size(dir, filename), True) ToastMessageShow("Picture saved." & CRLF & "File size: " & File.Size(dir, filename), True)
Dim Dirp As String = File.DirInternal Dim Dirp As String = File.DirInternal
Dim dir As String Dim dir As String
Dim Dir2 As String Dim Dir2 As String
@@ -2880,7 +2804,6 @@ Sub Camera1_PictureTaken (Data() As Byte)
dir = "" dir = ""
Log("creado en raiz") Log("creado en raiz")
End Try End Try
Try Try
File.MakeDir(Dirp & dir,"/reduccion") File.MakeDir(Dirp & dir,"/reduccion")
Dir2 = "/reduccion" Dir2 = "/reduccion"
@@ -2889,12 +2812,10 @@ Sub Camera1_PictureTaken (Data() As Byte)
dir = "" dir = ""
Log("creado en raiz") Log("creado en raiz")
End Try End Try
DateTime.DateFormat = "MM/dd/yyyy" DateTime.DateFormat = "MM/dd/yyyy"
DateTime.TimeFormat = "HH:mm:ss" DateTime.TimeFormat = "HH:mm:ss"
sDate = DateTime.Date(DateTime.Now) sDate = DateTime.Date(DateTime.Now)
sTime = DateTime.Time(DateTime.Now) sTime = DateTime.Time(DateTime.Now)
camEx.SavePictureToFile(Data, Dirp&dir, filename) camEx.SavePictureToFile(Data, Dirp&dir, filename)
camEx.StartPreview 'restart preview camEx.StartPreview 'restart preview
ToastMessageShow("Picture saved." & CRLF & "File size: " & File.Size(dir, filename) & dir &"," & filename, True) ToastMessageShow("Picture saved." & CRLF & "File size: " & File.Size(dir, filename) & dir &"," & filename, True)
@@ -2916,7 +2837,6 @@ Sub Camera1_PictureTaken (Data() As Byte)
camEx.SavePictureToFile(Data, dir, filename) camEx.SavePictureToFile(Data, dir, filename)
camEx.StartPreview 'restart preview camEx.StartPreview 'restart preview
ToastMessageShow("Picture saved." & CRLF & "File size: " & File.Size(dir, filename), True) ToastMessageShow("Picture saved." & CRLF & "File size: " & File.Size(dir, filename), True)
Dim Dirp As String = File.DirInternal Dim Dirp As String = File.DirInternal
Dim dir As String Dim dir As String
Dim Dir2 As String Dim Dir2 As String
@@ -2928,7 +2848,6 @@ Sub Camera1_PictureTaken (Data() As Byte)
dir = "" dir = ""
Log("creado en raiz") Log("creado en raiz")
End Try End Try
Try Try
File.MakeDir(Dirp & dir,"/reduccion") File.MakeDir(Dirp & dir,"/reduccion")
Dir2 = "/reduccion" Dir2 = "/reduccion"
@@ -2937,23 +2856,18 @@ Sub Camera1_PictureTaken (Data() As Byte)
dir = "" dir = ""
Log("creado en raiz") Log("creado en raiz")
End Try End Try
DateTime.DateFormat = "MM/dd/yyyy" DateTime.DateFormat = "MM/dd/yyyy"
DateTime.TimeFormat = "HH:mm:ss" DateTime.TimeFormat = "HH:mm:ss"
sDate = DateTime.Date(DateTime.Now) sDate = DateTime.Date(DateTime.Now)
sTime = DateTime.Time(DateTime.Now) sTime = DateTime.Time(DateTime.Now)
camEx.SavePictureToFile(Data, Dirp&dir, filename) camEx.SavePictureToFile(Data, Dirp&dir, filename)
camEx.StartPreview 'restart preview camEx.StartPreview 'restart preview
ToastMessageShow("Picture saved." & CRLF & "File size: " & File.Size(dir, filename) & dir &"," & filename, True) ToastMessageShow("Picture saved." & CRLF & "File size: " & File.Size(dir, filename) & dir &"," & filename, True)
Log("Picture saved." & CRLF & "File size: " & File.Size(dir, filename) & dir &"," & filename) Log("Picture saved." & CRLF & "File size: " & File.Size(dir, filename) & dir &"," & filename)
Dim img As B4XBitmap = xui.LoadBitmapResize(File.DirInternal & dir, filename, 450, 600, True) Dim img As B4XBitmap = xui.LoadBitmapResize(File.DirInternal & dir, filename, 450, 600, True)
Dim out As OutputStream = File.OpenOutput(File.DirInternal & dir & Dir2, filename, False) Dim out As OutputStream = File.OpenOutput(File.DirInternal & dir & Dir2, filename, False)
img.WriteToStream(out, 100, "PNG") img.WriteToStream(out, 100, "PNG")
out.Close out.Close
B4XPages.MainPage.skmt.ExecNonQuery2("UPDATE FOTOINICIAL set FOTO2 = ? where USUARIO = ? and RUTAA = ? and ALMACEN = ? ", Array As Object (File.ReadBytes(File.DirInternal & dir & Dir2, fototomada), Subs.traeUsuarioDeBD,LA_RUTA, ALMACEN )) B4XPages.MainPage.skmt.ExecNonQuery2("UPDATE FOTOINICIAL set FOTO2 = ? where USUARIO = ? and RUTAA = ? and ALMACEN = ? ", Array As Object (File.ReadBytes(File.DirInternal & dir & Dir2, fototomada), Subs.traeUsuarioDeBD,LA_RUTA, ALMACEN ))
b_foto_inci.Text = "Foto tienda" b_foto_inci.Text = "Foto tienda"
ChangeCamera_Click ChangeCamera_Click
@@ -2966,9 +2880,9 @@ Sub Camera1_PictureTaken (Data() As Byte)
Else Else
B4XPages.MainPage.tipo_venta = "PREVENTA" B4XPages.MainPage.tipo_venta = "PREVENTA"
End If End If
B4XPages.ShowPage("productos") ' B4XPages.ShowPage("productos")
p_transparentePidePeso.Visible = True
End If End If
End Sub End Sub
@@ -3137,10 +3051,8 @@ End Sub
' End If ' End If
'End Sub 'End Sub
Private Sub b_acept_tp_Click Private Sub b_acept_tp_Click
If rb_efectivo.Checked Or rb_tranfe.Checked Or rb_tarjetacredito.Checked Or rb_tarjetadebito.Checked Then If rb_efectivo.Checked Or rb_tranfe.Checked Or rb_tarjetacredito.Checked Or rb_tarjetadebito.Checked Then
Dim metopago As String Dim metopago As String
If rb_efectivo.Checked Then If rb_efectivo.Checked Then
metopago = "EFECTIVO" metopago = "EFECTIVO"
@@ -3151,7 +3063,6 @@ Private Sub b_acept_tp_Click
Else If rb_tarjetacredito.Checked Then Else If rb_tarjetacredito.Checked Then
metopago = "TARJETA DE CREDITO" metopago = "TARJETA DE CREDITO"
End If End If
Guardar.Enabled = True Guardar.Enabled = True
gest.Enabled = True gest.Enabled = True
b_cxc.Enabled = True b_cxc.Enabled = True
@@ -3160,18 +3071,14 @@ Private Sub b_acept_tp_Click
b_ventaabordo.Enabled = True b_ventaabordo.Enabled = True
HIST.Enabled = True HIST.Enabled = True
banderaimp = 1 banderaimp = 1
If chb_impreso.Checked Then If chb_impreso.Checked Then
' Guardar en BD que se enviará por correo ' Guardar en BD que se enviará por correo
B4XPages.MainPage.skmt.ExecNonQuery2("update PEDIDO set PE_TIPOPAGO = ?, PE_COMENTARIO = ?, PE_TICKET = ? where PE_CLIENTE IN (SELECT CUENTA FROM CUENTAA) ", _ B4XPages.MainPage.skmt.ExecNonQuery2("update PEDIDO set PE_TIPOPAGO = ?, PE_COMENTARIO = ?, PE_TICKET = ? where PE_CLIENTE IN (SELECT CUENTA FROM CUENTAA) ", _
Array As String(metopago, et_com_tp.Text, "CORREO")) Array As String(metopago, et_com_tp.Text, "CORREO"))
' Generar el PDF primero ' Generar el PDF primero
PDFGENERAR PDFGenerar
' Esperar un momento para que se genere el PDF ' Esperar un momento para que se genere el PDF
Sleep(500) Sleep(500)
' Obtener el nombre del archivo PDF recién generado ' Obtener el nombre del archivo PDF recién generado
Dim pdfFileName As String =nombrepdf Dim pdfFileName As String =nombrepdf
' /data/user/0/adm.keymon.com.mx/files/shared/22142025121454.pdf ' /data/user/0/adm.keymon.com.mx/files/shared/22142025121454.pdf
@@ -3179,7 +3086,6 @@ Private Sub b_acept_tp_Click
Log(xui.DefaultFolder) Log(xui.DefaultFolder)
Log(nombrepdf) Log(nombrepdf)
If File.Exists(Starter.fFileProvider.SharedFolder, pdfFileName) Then If File.Exists(Starter.fFileProvider.SharedFolder, pdfFileName) Then
Dim email As Email Dim email As Email
' email.To.Add("soporte@keymonsoft.com") ' email.To.Add("soporte@keymonsoft.com")
email.Subject = "Adjunto encontrará el ticket de venta" email.Subject = "Adjunto encontrará el ticket de venta"
@@ -3188,7 +3094,6 @@ Private Sub b_acept_tp_Click
Dim in As Intent = email.GetIntent Dim in As Intent = email.GetIntent
in.Flags = 1 'FLAG_GRANT_READ_URI_PERMISSION in.Flags = 1 'FLAG_GRANT_READ_URI_PERMISSION
StartActivity(in) StartActivity(in)
Else Else
ToastMessageShow("No se encontró el archivo PDF para enviar", True) ToastMessageShow("No se encontró el archivo PDF para enviar", True)
End If End If
@@ -3196,9 +3101,8 @@ Private Sub b_acept_tp_Click
' Caso normal (impresión) ' Caso normal (impresión)
B4XPages.MainPage.skmt.ExecNonQuery2("update PEDIDO set PE_TIPOPAGO = ?, PE_COMENTARIO = ?, PE_TICKET = ? where PE_CLIENTE IN (SELECT CUENTA FROM CUENTAA) ", _ B4XPages.MainPage.skmt.ExecNonQuery2("update PEDIDO set PE_TIPOPAGO = ?, PE_COMENTARIO = ?, PE_TICKET = ? where PE_CLIENTE IN (SELECT CUENTA FROM CUENTAA) ", _
Array As String(metopago, et_com_tp.Text, "IMPRESO")) Array As String(metopago, et_com_tp.Text, "IMPRESO"))
PDFGENERAR PDFGenerar
End If End If
' Limpiar controles ' Limpiar controles
rb_efectivo.Checked = False rb_efectivo.Checked = False
rb_tranfe.Checked = False rb_tranfe.Checked = False
@@ -3209,4 +3113,44 @@ Private Sub b_acept_tp_Click
Else Else
MsgboxAsync("Selecciona un metodo de pago.", "Atención") MsgboxAsync("Selecciona un metodo de pago.", "Atención")
End If End If
End Sub End Sub
Private Sub b_pidePeso_Click
p_transparentePidePeso.Visible = False
Starter.skmt.ExecNonQuery($"delete from pedido where PE_CLIENTE = '${Subs.traeCliente}'"$)
Subs.guardaProductoSinGestion(ALMACEN, 1, et_pidePeso.text, "Peso", "123", Subs.traeCliente, Subs.traeFecha, Subs.traeUsuarioDeBD, Subs.traeRuta, 0, B4XPages.MainPage.tipo_venta, 0, 0)
l_total.Text = et_pidePeso.text
End Sub
Private Sub b_cancelaPeso_Click
p_transparentePidePeso.Visible = False
End Sub
Sub p_pidePeso_Click
End Sub
Private Sub p_transparentePidePeso_Click
End Sub
Private Sub b_inicioFinVenta_Click
If dentroDeGeocerca Then precision = 1
motivoNoVenta = ""
motivoNoVisita = ""
If Starter.enVenta Then
Subs.bitacora(Subs.fechanormal(DateTime.Now), usuario, ALMACEN, Subs.traeRuta, "Termina Venta", Subs.traeCliente, "", Subs.fechanormal(DateTime.Now), Starter.lat_gps, Starter.lon_gps, precision, motivoNoVenta, motivoNoVisita, $"Venta:${l_total.text}"$)
Starter.enVenta = False
Subs.enVenta(0, "")
LogColor($">>>>>> TERMINA VENTA: ${Starter.enVenta} - ${Subs.traeCliente}"$, Colors.red)
B4XPages.ShowPageAndRemovePreviousPages("Principal")
Else
Subs.bitacora(Subs.fechanormal(DateTime.Now), usuario, ALMACEN, Subs.traeRuta, "Inicia Venta", Subs.traeCliente, Subs.fechanormal(DateTime.Now), "", Starter.lat_gps, Starter.lon_gps, precision, motivoNoVenta, "", "")
Starter.enVenta = True
Subs.enVenta(1, "CLIENTES")
LogColor($">>>>>> INICIA VENTA: ${Starter.enVenta} - ${Subs.traeCliente}"$, Colors.red)
End If
b_inicioFinVenta.Visible = False
End Sub

View File

@@ -39,6 +39,25 @@ Sub Class_Globals
Private l_baseodia As Label Private l_baseodia As Label
Private CREDITO As Label Private CREDITO As Label
Private p_transparenciaIniciaInicioFinVenta As Panel
Private p_inicioFinVenta As Panel
Private b_inicioVenta As Button
Private b_finVenta As Button
Private p_guardarPeso As Panel
Private et_guardarPeso As EditText
Private p_botonesGuardarPeso As Panel
Private b_noVenta As Button
Private b_guardarPeso As Button
Private p_noVenta As Panel
Private b_cancelaNoVenta As Button
Private b_guardaNoVenta As Button
Private p_botonesNoVenta As Panel
Private et_comentarioNoVenta As EditText
Private r_opcion4 As RadioButton
Private r_opcion3 As RadioButton
Private r_opcion2 As RadioButton
Private r_opcion1 As RadioButton
Dim motivo As String
End Sub End Sub
'You can add more parameters here. 'You can add more parameters here.
@@ -59,6 +78,12 @@ Private Sub B4XPage_Created (Root1 As B4XView)
' Else ' Else
ruta = File.DirInternal ruta = File.DirInternal
' End If ' End If
p_transparenciaIniciaInicioFinVenta.top = 0 : p_transparenciaIniciaInicioFinVenta.Left = 0
p_transparenciaIniciaInicioFinVenta.Height = Root.Height : p_transparenciaIniciaInicioFinVenta.Width = Root.Width
Subs.centraPanel(p_inicioFinVenta, Root.Width)
p_guardarPeso.Top = p_inicioFinVenta.top : p_guardarPeso.left = p_inicioFinVenta.left
Subs.centraPanel(p_noVenta, Root.Width)
' se crea o no el archivo de la base de ddatos de kmt ' se crea o no el archivo de la base de ddatos de kmt
'NOTAS SI SE MODIFICA LA ESTRUCTURA SE QUITA EL IF Y SE VA DIRECTO A LA SENTENCIA FILE.COPY PARA QUE 'NOTAS SI SE MODIFICA LA ESTRUCTURA SE QUITA EL IF Y SE VA DIRECTO A LA SENTENCIA FILE.COPY PARA QUE
@@ -76,7 +101,7 @@ Sub B4XPage_Appear
busca.Text = "" busca.Text = ""
entro ="2" entro ="2"
colonia = 0 colonia = 0
c=B4XPages.MainPage.skmt.ExecQuery($"select CAT_CL_NOMBRE, CAT_CL_CALLE, CAT_CL_CODIGO from kmt_info where gestion = 0 AND CAT_CL_CODIGO <> ${"0"} AND CAT_CL_CODIGO <> ${"1"} ORDER BY CAST(CAT_CL_NUM_SERIEFISICO AS INTEGER) ASC"$) c = B4XPages.MainPage.skmt.ExecQuery($"select CAT_CL_NOMBRE, CAT_CL_CALLE, CAT_CL_CODIGO from kmt_info where gestion = 0 AND CAT_CL_CODIGO <> ${"0"} AND CAT_CL_CODIGO <> ${"1"} ORDER BY CAST(CAT_CL_NUM_SERIEFISICO AS INTEGER) ASC"$)
ListView1.Clear ListView1.Clear
lfila.Text = "NOMBRE" lfila.Text = "NOMBRE"
@@ -90,8 +115,7 @@ Sub B4XPage_Appear
Else Else
cxc.Visible = True cxc.Visible = True
End If End If
d = B4XPages.MainPage.skmt.ExecQuery($"select IFNULL(CAT_CL_BCREDITO,0) AS CAT_CL_BCREDITO FROM kmt_info WHERE CAT_CL_CODIGO = '${c.GetString("CAT_CL_CODIGO")}'"$) d = B4XPages.MainPage.skmt.ExecQuery($"select IFNULL(CAT_CL_BCREDITO,0) AS CAT_CL_BCREDITO FROM kmt_info WHERE CAT_CL_CODIGO = '${c.GetString("CAT_CL_CODIGO")}'"$)
' LogColor(d.RowCount,Colors.Blue) ' LogColor(d.RowCount,Colors.Blue)
If d.RowCount > 0 Then If d.RowCount > 0 Then
@@ -122,19 +146,36 @@ Sub B4XPage_Appear
End If End If
c.Close c.Close
entro = "4" entro = "4"
If Subs.nosQuedamosEnVenta Then
Dim enVentaUsuario As String = ""
Dim enVentaPagina As String = ""
Private ev As Cursor = Starter.skmt.ExecQuery("select * from cat_variables where cat_va_descripcion = 'EN_VENTA_USUARIO' or cat_va_descripcion = 'EN_VENTA_PAGINA'")
If ev.RowCount > 0 Then
For i = 0 To ev.RowCount - 1
ev.Position = i
If ev.GetString("CAT_VA_DESCRIPCION") = "EN_VENTA_USUARIO" Then
enVentaUsuario = ev.GetString("CAT_VA_VALOR")
Else If ev.GetString("CAT_VA_DESCRIPCION") = "EN_VENTA_PAGINA" Then
enVentaPagina = ev.GetString("CAT_VA_VALOR")
End If
Next
ventaIniciada
End If
End If
End Sub End Sub
Sub CreateListItem(mostrar As String, mostrar1 As String, mostrar2 As String) As Panel Sub CreateListItem(nombre As String, direccion0 As String, cliente As String) As Panel
Dim p As B4XView = xui.CreatePanel("") Dim p As B4XView = xui.CreatePanel("")
p.SetLayoutAnimated(0, 0, 0, 1, 220) p.SetLayoutAnimated(0, 0, 0, 1, 220)
p.LoadLayout("datoscliente") ' p.LoadLayout("datoscliente")
p.Height= 60dip p.LoadLayout("datosclienteBotones")
p.Height= 100dip
b_inicioVenta.Tag = cliente
' p.Width = clv_orden.GetBase.Width ' p.Width = clv_orden.GetBase.Width
nombrecliente.Text = mostrar nombrecliente.Text = nombre
direccion.Text = mostrar1 direccion.Text = direccion0
numerocliente.Text = mostrar2 numerocliente.Text = cliente
p_datosclie.Tag = mostrar2 p_datosclie.Tag = cliente
' cxc.Text = mostrar3 ' cxc.Text = mostrar3
' Log(p.Width) ' Log(p.Width)
Return p Return p
@@ -196,6 +237,10 @@ Private Sub B4XPage_CloseRequest As ResumableSub
' StartActivity(seleccion) ' StartActivity(seleccion)
' Return False ' Return False
' End If ' End If
If p_transparenciaIniciaInicioFinVenta.Visible Then
ToastMessageShow($"Es necesario ingresar "Peso" o "No Venta" para poder continuar"$, True)
Return False
End If
Return True Return True
End Sub End Sub
@@ -271,7 +316,7 @@ Sub BUSCA_TextChanged (Old As String, New As String)
' LogColor(d.RowCount,Colors.Blue) ' LogColor(d.RowCount,Colors.Blue)
If d.RowCount > 0 Then If d.RowCount > 0 Then
d.Position = 0 d.Position = 0
LogColor(d.GetString("CAT_CL_BCREDITO"),Colors.Blue) ' LogColor(d.GetString("CAT_CL_BCREDITO"),Colors.Blue)
If d.GetString("CAT_CL_BCREDITO") = "1" Then If d.GetString("CAT_CL_BCREDITO") = "1" Then
CREDITO.Visible = True CREDITO.Visible = True
Else Else
@@ -405,14 +450,14 @@ Private Sub p_datosclie_Click
End Sub End Sub
Private Sub b_buscar_Click Private Sub b_buscar_Click
Log(CHECK) ' Log(CHECK)
If CHECK = 0 Then If CHECK = 0 Then
l_baseodia.Text = "Clientes de base de datos" l_baseodia.Text = "Clientes de base de datos"
CHECK = 1 CHECK = 1
busca.Text = "" busca.Text = ""
entro ="2" entro ="2"
colonia = 0 colonia = 0
c=B4XPages.MainPage.skmt.ExecQuery($"select CAT_CL_NOMBRE, CAT_CL_CALLE, CAT_CL_CODIGO from kmt_info2 where gestion = 0 AND CAT_CL_CODIGO <> ${"0"} AND CAT_CL_CODIGO <> ${"1"} ORDER BY CAT_CL_CODIGO"$) c = B4XPages.MainPage.skmt.ExecQuery($"select CAT_CL_NOMBRE, CAT_CL_CALLE, CAT_CL_CODIGO from kmt_info2 where gestion = 0 AND CAT_CL_CODIGO <> ${"0"} AND CAT_CL_CODIGO <> ${"1"} ORDER BY CAT_CL_CODIGO"$)
ListView1.Clear ListView1.Clear
lfila.Text = "NOMBRE" lfila.Text = "NOMBRE"
ListView1.Clear ListView1.Clear
@@ -511,6 +556,113 @@ Private Sub b_buscar_Click
End If End If
c.Close c.Close
entro = "4" entro = "4"
End If End If
End Sub End Sub
Private Sub b_inicioVenta_Click
' b_inicioVenta.Enabled = False
Private cliente As String = Sender.As(Button).tag
Starter.skmt.ExecNonQuery($"delete from cuentaa"$)
Starter.skmt.ExecNonQuery($"insert into cuentaa (cuenta) values ('${cliente}')"$)
Log($"insert into cuentaa (cuenta) values ('${cliente}')"$)
p_transparenciaIniciaInicioFinVenta.Visible = True
b_finVenta.Enabled = True
Subs.bitacora(Subs.fechanormal(DateTime.Now), Subs.traeUsuarioDeBD, Subs.traeAlmacen, Subs.traeRuta, "Inicia Venta", cliente, Subs.fechanormal(DateTime.Now), "", Starter.lat_gps, Starter.lon_gps, "2", "", "", "")
Starter.enVenta = True
Subs.enVenta(1, "CLIENTES")
LogColor($">>>>>> INICIA VENTA: ${Starter.enVenta} - ${cliente}"$, Colors.red)
Log(Subs.traeRuta2(Subs.traeCliente))
End Sub
Private Sub ventaIniciada
' b_inicioVenta.Enabled = False
' Private cliente As String = Sender.As(Button).tag
' Starter.skmt.ExecNonQuery($"delete from cuentaa"$)
' Starter.skmt.ExecNonQuery($"insert into cuentaa (cuenta) values ('${cliente}')"$)
' Log($"insert into cuentaa (cuenta) values ('${cliente}')"$)
p_transparenciaIniciaInicioFinVenta.Visible = True
b_finVenta.Enabled = True
Subs.bitacora(Subs.fechanormal(DateTime.Now), Subs.traeUsuarioDeBD, Subs.traeAlmacen, Subs.traeRuta, "Inicia Venta", Subs.traeCliente, Subs.fechanormal(DateTime.Now), "", Starter.lat_gps, Starter.lon_gps, "2", "", "", "")
Starter.enVenta = True
Subs.enVenta(1, "CLIENTES")
LogColor($">>>>>> INICIA VENTA: ${Starter.enVenta} - ${Subs.traeCliente}"$, Colors.red)
Log(Subs.traeRuta2(Subs.traeCliente))
End Sub
Private Sub b_finVenta_Click
et_guardarPeso.Text = ""
p_guardarPeso.Visible = True
' b_inicioVenta.Enabled = True
' b_finVenta.Enabled = False
End Sub
Private Sub p_transparenciaIniciaInicioFinVenta_Click
Log("Fondo clicked")
If b_finVenta.Enabled = False Then
p_transparenciaIniciaInicioFinVenta.Visible = False
Else
ToastMessageShow($"Es necesario ingresar "Peso" o "No Venta" para poder continuar"$, True)
End If
End Sub
Private Sub b_guardarPeso_Click
If et_guardarPeso.Text <> "" And et_guardarPeso.Text <> "0" And IsNumber(et_guardarPeso.Text) Then
Private peso As Double = et_guardarPeso.Text
et_guardarPeso.Text = peso
Subs.guardaPeso("VENTA", Subs.traeAlmacen, Subs.traeRuta2(Subs.traeCliente), Subs.traeUsuarioDeBD, Subs.traeCliente, peso, "", "")
Subs.bitacora(Subs.fechanormal(DateTime.Now), Subs.traeUsuarioDeBD, Subs.traeAlmacen, Subs.traeRuta2(Subs.traeCliente), "Termina Venta", Subs.traeCliente, "", Subs.fechanormal(DateTime.Now), Starter.lat_gps, Starter.lon_gps, 2, "", "", $"Venta:${et_guardarPeso.text}"$)
Starter.skmt.ExecNonQuery("UPDATE kmt_info set gestion = 2 where CAT_CL_CODIGO In (select cuenta from cuentaa)")
Starter.enVenta = False
Subs.enVenta(0, "")
p_guardarPeso.Visible = False
p_transparenciaIniciaInicioFinVenta.Visible = False
' b_inicioVenta.Enabled = True
b_finVenta.Enabled = False
B4XPages.MainPage.clientes.B4XPage_Appear
End If
End Sub
Private Sub p_guardarPeso_Click
End Sub
Private Sub et_guardarPeso_TextChanged (Old As String, New As String)
If Old <> New And IsNumber(New.trim) And New.trim <> "0" Then
b_guardarPeso.Enabled = True
Else
b_guardarPeso.Enabled = False
End If
End Sub
Private Sub b_noVenta_Click
p_noVenta.Visible = True
End Sub
Private Sub b_guardaNoVenta_Click
If r_opcion1.Checked Then
motivo = "CERRADO"
Else If r_opcion2.Checked Then
motivo = "NO COMPRA"
Else If r_opcion3.Checked Then
motivo = "CON PRODUCTO"
Else
motivo = "NO ESTA EL ENCARGADO"
End If
DateTime.DateFormat="yy-MM-dd HH:mm:ss"
Dim fecha As String=DateTime.Date(DateTime.Now)
Subs.guardaPeso("NO VENTA", Subs.traeAlmacen, Subs.traeRuta2(Subs.traeCliente), Subs.traeUsuarioDeBD, Subs.traeCliente, "0", motivo, et_comentarioNoVenta.text)
Subs.bitacora(Subs.fechanormal(DateTime.Now), Subs.traeUsuarioDeBD, Subs.traeAlmacen, Subs.traeRuta, "No Venta", Subs.traeCliente, "", Subs.fechanormal(DateTime.Now), Starter.lat_gps, Starter.lon_gps, 2, motivo, et_comentarioNoVenta.text, $"Venta:${et_guardarPeso.text}"$)
Starter.enVenta = False
Subs.enVenta(0, "")
Starter.skmt.ExecNonQuery("UPDATE kmt_info set gestion = 3 where CAT_CL_CODIGO In (select cuenta from cuentaa)")
p_noVenta.Visible = False
p_guardarPeso.Visible = False
p_transparenciaIniciaInicioFinVenta.Visible = False
End Sub
Private Sub b_cancelaNoVenta_Click
p_noVenta.Visible = False
End Sub

View File

@@ -102,7 +102,6 @@ Sub GUARDA_Click
Next Next
End If 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_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("delete from pedido where pe_cliente in (Select CUENTA from cuentaa)")
@@ -131,6 +130,8 @@ Sub GUARDA_Click
B4XPages.MainPage.skmt.ExecNonQuery2("update PEDIDO_INICIO_FINAL set PIF_HORA_FINAL = ? where PIF_CLIENTE = ? and PIF_HORA_FINAL = 0", Array As Object (DateTime.Now, cuenta)) B4XPages.MainPage.skmt.ExecNonQuery2("update PEDIDO_INICIO_FINAL set PIF_HORA_FINAL = ? where PIF_CLIENTE = ? and PIF_HORA_FINAL = 0", Array As Object (DateTime.Now, cuenta))
LogColor($"actualizamos "${cuenta}, hora_final=${DateTime.now}"$,Colors.Red) LogColor($"actualizamos "${cuenta}, hora_final=${DateTime.now}"$,Colors.Red)
Subs.bitacora(Subs.fechanormal(DateTime.Now), usuario, Subs.traeAlmacen, Subs.traeRuta, "No Venta", Subs.traeCliente, "", Subs.fechanormal(DateTime.Now), Starter.lat_gps, Starter.lon_gps, B4XPages.MainPage.cliente.precision, motivo, e_comm.text, "")
mandaPendientesnoventa mandaPendientesnoventa
B4XPages.ShowPage("Principal") B4XPages.ShowPage("Principal")
End Sub End Sub

View File

@@ -218,6 +218,9 @@ Sub GUARDA_Click
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)) 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" ' fototomada = "0"
Subs.bitacora(Subs.fechanormal(DateTime.Now), usuario, ALMACEN, Subs.traeRuta, "Nuevo Cliente", "", Subs.fechanormal(DateTime.Now), Subs.fechanormal(DateTime.Now), Starter.lat_gps, Starter.lon_gps, "2", "", "", no_cliente)
Log("Bitacora guardada")
B4XPages.ShowPage("Cliente") B4XPages.ShowPage("Cliente")
CallSubDelayed(Tracker, "StartFLP") CallSubDelayed(Tracker, "StartFLP")
Else Else

File diff suppressed because it is too large Load Diff

View File

@@ -209,45 +209,42 @@ Sub B4XPage_Appear
End If End If
c2.Close c2.Close
End If End If
'
Sleep(100) ' Sleep(100)
l_total.Visible = False ' l_total.Visible = False
l_totProds.Visible = False ' l_totProds.Visible = False
l_total.Left = 5dip ' l_total.Left = 5dip
l_totProds.Width = Root.Width * 0.19 ' l_totProds.Width = Root.Width * 0.19
l_total.Left = l_totProds.Width + 20 ' l_total.Left = l_totProds.Width + 20
l_total.Width = Root.Width * 0.25 ' l_total.Width = Root.Width * 0.25
' Log(Subs.traeTotalesClienteActual) '' Log(Subs.traeTotalesClienteActual)
Dim m As Map = Subs.traeTotalesClienteActual ' Dim m As Map = Subs.traeTotalesClienteActual
prodsPedidoActual = m.Get("productos") ' prodsPedidoActual = m.Get("productos")
montoPedidoActual = m.Get("monto") ' montoPedidoActual = m.Get("monto")
hayPedido = Subs.hayPedido ' hayPedido = Subs.hayPedido
' LogColor("Pedido ant? - "&hayPedido, Colors.Magenta) '' LogColor("Pedido ant? - "&hayPedido, Colors.Magenta)
B4XPages.MainPage.productos.clv_prods_ll.Clear ' B4XPages.MainPage.productos.clv_prods_ll.Clear
If reiniciarlistaProds Then ' If reiniciarlistaProds Then
' Log("Llamamos LlenaProdsLL") '' Log("Llamamos LlenaProdsLL")
' LlenaProdsLL(Null) '' LlenaProdsLL(Null)
clv_prods_ll.Clear ' clv_prods_ll.Clear
else If hayPedido Then ' else If hayPedido Then
' LogColor("HAY PEDIDO ANTERIOR", Colors.red) '' LogColor("HAY PEDIDO ANTERIOR", Colors.red)
' Log("Llamamos LlenaProdsLL") '' Log("Llamamos LlenaProdsLL")
' LlenaProdsLL(Null) '' LlenaProdsLL(Null)
clv_prods_ll.Clear ' clv_prods_ll.Clear
End If ' End If
If clv_prods_ll.Size = 0 Then LlenaProdsLL(Null) ' If clv_prods_ll.Size = 0 Then LlenaProdsLL(Null)
clv_prods_ll.JumpToItem(0) 'Vamos al primer artículo de la lista. ' clv_prods_ll.JumpToItem(0) 'Vamos al primer artículo de la lista.
PCLV.lblHint.SetTextSizeAnimated(0,13) ' PCLV.lblHint.SetTextSizeAnimated(0,13)
PCLV.B4XSeekBar1.Color1=Colors.DarkGray ' PCLV.B4XSeekBar1.Color1=Colors.DarkGray
PCLV.B4XSeekBar1.Color2=Colors.DarkGray ' PCLV.B4XSeekBar1.Color2=Colors.DarkGray
PCLV.B4XSeekBar1.ThumbColor=Colors.red ' PCLV.B4XSeekBar1.ThumbColor=Colors.red
PCLV.B4XSeekBar1.mBase.Left=Root.Width *0.91 ' PCLV.B4XSeekBar1.mBase.Left=Root.Width *0.91
' PCLV.B4XSeekBar1.mBase.Top=-50 '' PCLV.B4XSeekBar1.mBase.Top=-50
PCLV.B4XSeekBar1.mBase.Height=clv_prods_ll.AsView.Height ' PCLV.B4XSeekBar1.mBase.Height=clv_prods_ll.AsView.Height
PCLV.pnlOverlay.Height = clv_prods_ll.AsView.Height ' PCLV.pnlOverlay.Height = clv_prods_ll.AsView.Height
PCLV.B4XSeekBar1.Update ' PCLV.B4XSeekBar1.Update
End Sub End Sub
Sub PCLV_AddProds Sub PCLV_AddProds

View File

@@ -32,9 +32,8 @@ Private Sub B4XPage_Created (Root1 As B4XView)
If File.Exists(ruta, "kmt.db") = False Then If File.Exists(ruta, "kmt.db") = False Then
File.Copy(File.DirAssets, "kmt.db", ruta, "kmt.db") File.Copy(File.DirAssets, "kmt.db", ruta, "kmt.db")
End If End If
c = B4XPages.MainPage.skmt.ExecQuery("select PC_CLIENTE,PC_MONTO,PC_NOART FROM PEDIDO_CLIENTE ORDER BY PC_FECHA asc") c = B4XPages.MainPage.skmt.ExecQuery("select PC_CLIENTE, PC_MONTO, PC_NOART FROM PEDIDO_CLIENTE ORDER BY PC_FECHA asc")
ListView1.Clear ListView1.Clear
If c.RowCount>0 Then If c.RowCount>0 Then
For i=0 To c.RowCount -1 For i=0 To c.RowCount -1
@@ -56,14 +55,16 @@ End Sub
Sub B4XPage_Appear Sub B4XPage_Appear
nombre_boton = "NOVENTA" nombre_boton = "NOVENTA"
c=B4XPages.MainPage.skmt.ExecQuery("select PC_CLIENTE,PC_MONTO,PC_NOART,(select CAT_CL_NOMBRE from kmt_info where cat_cl_codigo = pc_cliente UNION select CAT_CL_NOMBRE from kmt_info2 where cat_cl_codigo = pc_cliente ) as NOMBRE FROM PEDIDO_CLIENTE ORDER BY PC_FECHA asc") ' c = B4XPages.MainPage.skmt.ExecQuery("select PC_CLIENTE, PC_MONTO, PC_NOART,(select CAT_CL_NOMBRE from kmt_info where cat_cl_codigo = pc_cliente UNION select CAT_CL_NOMBRE from kmt_info2 where cat_cl_codigo = pc_cliente ) as NOMBRE FROM PEDIDO_CLIENTE ORDER BY PC_FECHA asc")
c = B4XPages.MainPage.skmt.ExecQuery("select PE_CLIENTE as PC_CLIENTE, PE_PESO AS PC_MONTO, 1 as PC_NOART,(select CAT_CL_NOMBRE from kmt_info where cat_cl_codigo = pe_cliente UNION select CAT_CL_NOMBRE from kmt_info2 where cat_cl_codigo = pe_cliente ) as NOMBRE FROM PESOS where PE_TIPO = 'VENTA' ORDER BY PE_FECHA asc")
Dim noArticulos As Int = 0 Dim noArticulos As Int = 0
ListView1.Clear ListView1.Clear
If c.RowCount>0 Then If c.RowCount>0 Then
For i=0 To c.RowCount -1 For i=0 To c.RowCount -1
c.Position=i c.Position=i
Dim x As Cursor = B4XPages.MainPage.skmt.ExecQuery($"select sum(PE_CANT) as PC_NOART from PEDIDO where PE_CLIENTE = '${c.GetString("PC_CLIENTE")}' AND PE_PROID NOT IN (SELECT CAT_PA_ID FROM PROMOS_COMP)"$) ' Dim x As Cursor = B4XPages.MainPage.skmt.ExecQuery($"select sum(PE_CANT) as PC_NOART from PEDIDO where PE_CLIENTE = '${c.GetString("PC_CLIENTE")}' AND PE_PROID NOT IN (SELECT CAT_PA_ID FROM PROMOS_COMP)"$)
Dim x As Cursor = B4XPages.MainPage.skmt.ExecQuery($"select 1 as PC_NOART from PESOS where PE_CLIENTE = '${c.GetString("PC_CLIENTE")}'"$)
If x.RowCount > 0 Then If x.RowCount > 0 Then
x.Position = 0 x.Position = 0
' Log(x.GetString("PC_NOART")) ' Log(x.GetString("PC_NOART"))
@@ -96,6 +97,7 @@ Sub Activity_KeyPress (key As Int) As Boolean
' Returning False signals the system to handle the key ' Returning False signals the system to handle the key
Return False Return False
End Sub End Sub
Sub ListView1_ItemLongClick (Position As Int, Value As Object) Sub ListView1_ItemLongClick (Position As Int, Value As Object)
B4XPages.MainPage.skmt.ExecNonQuery("delete from CUENTAA") B4XPages.MainPage.skmt.ExecNonQuery("delete from CUENTAA")
B4XPages.MainPage.skmt.ExecNonQuery2("INSERT INTO CUENTAA VALUES (?)", Array As Object(Value)) B4XPages.MainPage.skmt.ExecNonQuery2("INSERT INTO CUENTAA VALUES (?)", Array As Object(Value))
@@ -120,7 +122,8 @@ Sub b_noventa_Click
If nombre_boton = "NOVENTA" Then If nombre_boton = "NOVENTA" Then
nombre_boton = "VENTA" nombre_boton = "VENTA"
b_noventa.Text ="VENTA" b_noventa.Text ="VENTA"
c=B4XPages.MainPage.skmt.ExecQuery("select NV_CLIENTE,NV_MOTIVO,NV_COMM, (select CAT_CL_NOMBRE from kmt_info where cat_cl_codigo = NV_CLIENTE ) as NOMBRE FROM NOVENTA ORDER BY NV_CLIENTE asc") ' c = B4XPages.MainPage.skmt.ExecQuery("select NV_CLIENTE,NV_MOTIVO,NV_COMM, (select CAT_CL_NOMBRE from kmt_info where cat_cl_codigo = NV_CLIENTE ) as NOMBRE FROM NOVENTA ORDER BY NV_CLIENTE asc")
c = B4XPages.MainPage.skmt.ExecQuery("select PE_CLIENTE as NV_CLIENTE, PE_MOTIVO as NV_MOTIVO, PE_COMENTARIO as NV_COMM, (select CAT_CL_NOMBRE from kmt_info where cat_cl_codigo = pe_cliente UNION select CAT_CL_NOMBRE from kmt_info2 where cat_cl_codigo = pe_cliente ) as NOMBRE FROM PESOS where PE_TIPO = 'NO VENTA' ORDER BY PE_FECHA asc")
ListView1.Clear ListView1.Clear
If c.RowCount>0 Then If c.RowCount>0 Then
For i=0 To c.RowCount -1 For i=0 To c.RowCount -1
@@ -133,13 +136,14 @@ Sub b_noventa_Click
label2 = ListView1.TwoLinesLayout.SecondLabel label2 = ListView1.TwoLinesLayout.SecondLabel
label2.TextSize = 10 label2.TextSize = 10
label2.TextColor = Colors.Blue label2.TextColor = Colors.Blue
ListView1.AddTwoLines(c.GetString("NV_CLIENTE"),c.GetString("NOMBRE") &" Motivo #"& c.GetString("NV_MOTIVO")& " Comentario $"& c.GetString("NV_COMM")) ListView1.AddTwoLines(c.GetString("NV_CLIENTE"),c.GetString("NOMBRE") &" Motivo #"& c.GetString("NV_MOTIVO")& " Comentario: "& c.GetString("NV_COMM"))
Next Next
End If End If
Else Else
nombre_boton = "NOVENTA" nombre_boton = "NOVENTA"
b_noventa.Text ="NO VENTA" b_noventa.Text ="NO VENTA"
c=B4XPages.MainPage.skmt.ExecQuery("select PC_CLIENTE,PC_MONTO,PC_NOART,(select CAT_CL_NOMBRE from kmt_info where cat_cl_codigo = pc_cliente ) as NOMBRE FROM PEDIDO_CLIENTE ORDER BY PC_FECHA asc") ' c = B4XPages.MainPage.skmt.ExecQuery("select PC_CLIENTE,PC_MONTO,PC_NOART,(select CAT_CL_NOMBRE from kmt_info where cat_cl_codigo = pc_cliente ) as NOMBRE FROM PEDIDO_CLIENTE ORDER BY PC_FECHA asc")
c = B4XPages.MainPage.skmt.ExecQuery("select PE_CLIENTE as PC_CLIENTE, PE_PESO AS PC_MONTO, 1 as PC_NOART,(select CAT_CL_NOMBRE from kmt_info where cat_cl_codigo = pe_cliente UNION select CAT_CL_NOMBRE from kmt_info2 where cat_cl_codigo = pe_cliente ) as NOMBRE FROM PESOS where PE_TIPO = 'VENTA' ORDER BY PE_FECHA asc")
ListView1.Clear ListView1.Clear
If c.RowCount>0 Then If c.RowCount>0 Then

View File

@@ -108,7 +108,11 @@ End Sub
'End Sub 'End Sub
Public Sub TakePicture Public Sub TakePicture
cam.TakePicture Try
cam.TakePicture
Catch
Log(LastException)
End Try
End Sub End Sub
Private Sub Camera_PictureTaken (Data() As Byte) Private Sub Camera_PictureTaken (Data() As Byte)

View File

@@ -201,7 +201,7 @@ Public Sub HandleJob(Job As HttpJob) As DBResult
table.Columns.Initialize table.Columns.Initialize
table.rows.Initialize table.rows.Initialize
table.Tag = Job.Tag table.Tag = Job.Tag
If jobTagAnterior <> Job.Tag Then LogColor("HandleJob: '"&Job.Tag&"'", Colors.RGB(171,70,0)) 'Mod por CHV - 211109 If jobTagAnterior <> Job.Tag Then LogColor("HandleJob: '" & Job.Tag.As(String).ToUpperCase & "'", Colors.RGB(171,70,0))
jobTagAnterior = Job.Tag 'Mod por CHV - 211109 jobTagAnterior = Job.Tag 'Mod por CHV - 211109
If method = "query" Then If method = "query" Then
Dim numberOfColumns As Int = ReadInt(In) Dim numberOfColumns As Int = ReadInt(In)

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -57,6 +57,28 @@ Sub Globals
Dim GoogleMapEXTRA As GoogleMapsExtras Dim GoogleMapEXTRA As GoogleMapsExtras
Dim CODIGO As String Dim CODIGO As String
Private SEMANA As String Private SEMANA As String
Private p_transparenciaIniciaInicioFinVenta As Panel
Private b_inicioVenta As Button
Private b_finVenta As Button
Private p_inicioFinVenta As Panel
Private p_guardarPeso As Panel
Private et_guardarPeso As EditText
Private b_guardarPeso As Button
Private p_botonesGuardarPeso As Panel
Private b_noVenta As Button
Private p_noVenta As Panel
Private b_cancelaNoVenta As Button
Private b_guardaNoVenta As Button
Private p_botonesNoVenta As Panel
Private Panel5 As Panel
Private et_comentarioNoVenta As EditText
Private r_opcion4 As RadioButton
Private r_opcion3 As RadioButton
Private r_opcion2 As RadioButton
Private r_opcion1 As RadioButton
Private l_NoVenta As Label
Dim motivo As String
Private l_venta As Label
End Sub End Sub
Sub Activity_Create(FirstTime As Boolean) Sub Activity_Create(FirstTime As Boolean)
@@ -64,6 +86,12 @@ Sub Activity_Create(FirstTime As Boolean)
' If File.ExternalWritable Then ' If File.ExternalWritable Then
' ruta = File.DirDefaultExternal ' ruta = File.DirDefaultExternal
' Else ' Else
p_transparenciaIniciaInicioFinVenta.top = 0 : p_transparenciaIniciaInicioFinVenta.Left = 0
p_transparenciaIniciaInicioFinVenta.Height = Activity.Height : p_transparenciaIniciaInicioFinVenta.Width = Activity.Width
Subs.centraPanel(p_inicioFinVenta, Activity.Width)
p_guardarPeso.Top = p_inicioFinVenta.top : p_guardarPeso.left = p_inicioFinVenta.left
Subs.centraPanel(p_noVenta, Activity.Width)
ruta = File.DirInternal ruta = File.DirInternal
' End If ' End If
If File.Exists(ruta, "kmt.db") = False Then If File.Exists(ruta, "kmt.db") = False Then
@@ -120,6 +148,7 @@ Sub Activity_Create(FirstTime As Boolean)
End Sub End Sub
Sub Activity_Resume Sub Activity_Resume
Log("MAPA_RUTAS RESUME")
Starter.rp.Check(Starter.rp.PERMISSION_ACCESS_FINE_LOCATION) Starter.rp.Check(Starter.rp.PERMISSION_ACCESS_FINE_LOCATION)
Wait For Activity_PermissionResult (Permission As String, Result As Boolean) Wait For Activity_PermissionResult (Permission As String, Result As Boolean)
If Result Then If Result Then
@@ -137,13 +166,29 @@ Sub Activity_Resume
azul = 1 azul = 1
rojo = 0 rojo = 0
todos = 0 todos = 0
If Subs.nosQuedamosEnVenta Then
Dim enVentaUsuario As String = ""
Dim enVentaPagina As String = ""
Private ev As Cursor = Starter.skmt.ExecQuery("select * from cat_variables where cat_va_descripcion = 'EN_VENTA_USUARIO' or cat_va_descripcion = 'EN_VENTA_PAGINA'")
If ev.RowCount > 0 Then
For i = 0 To ev.RowCount - 1
ev.Position = i
If ev.GetString("CAT_VA_DESCRIPCION") = "EN_VENTA_USUARIO" Then
enVentaUsuario = ev.GetString("CAT_VA_VALOR")
Else If ev.GetString("CAT_VA_DESCRIPCION") = "EN_VENTA_PAGINA" Then
enVentaPagina = ev.GetString("CAT_VA_VALOR")
End If
Next
ventaIniciada
End If
End If
End Sub End Sub
Sub MapFragment1_Ready Sub MapFragment1_Ready
Log("ENTRANDO MapFragment1_Ready") ' Log("ENTRANDO MapFragment1_Ready")
gmap = MapFragment1.GetMap gmap = MapFragment1.GetMap
gmap.IsInitialized gmap.IsInitialized
'todos= 1 ' todos = 1
'permisos 'permisos
rp.CheckAndRequest(rp.PERMISSION_ACCESS_FINE_LOCATION) rp.CheckAndRequest(rp.PERMISSION_ACCESS_FINE_LOCATION)
@@ -154,7 +199,7 @@ Sub MapFragment1_Ready
JavaMapsObject = gmap.GetUiSettings JavaMapsObject = gmap.GetUiSettings
JavaMapsObject.RunMethod("setMapToolbarEnabled", Array As Object(True)) JavaMapsObject.RunMethod("setMapToolbarEnabled", Array As Object(True))
'''''''----------------------------MARKER AZUL - POR VISITAR '''''''----------------------------MARKER AZUL - POR VISITAR
If azul = 1 Or todos = 1 Then If azul = 1 Or todos = 1 Then
c.IsInitialized c.IsInitialized
c=skmt.ExecQuery("select CAT_CL_CODIGO,CAT_CL_NOMBRE,CAT_CL_LAT,CAT_CL_LONG from kmt_info where gestion = 0 and CAT_CL_LAT is not null and CAT_CL_LONG is not null and CAT_CL_LAT <> 0 and CAT_CL_LONG <> 0 and CAT_CL_LAT <> ' ' and CAT_CL_LONG <> ' ' and CAT_CL_CODIGO <> 0 and CAT_CL_CODIGO <> 1") c=skmt.ExecQuery("select CAT_CL_CODIGO,CAT_CL_NOMBRE,CAT_CL_LAT,CAT_CL_LONG from kmt_info where gestion = 0 and CAT_CL_LAT is not null and CAT_CL_LONG is not null and CAT_CL_LAT <> 0 and CAT_CL_LONG <> 0 and CAT_CL_LAT <> ' ' and CAT_CL_LONG <> ' ' and CAT_CL_CODIGO <> 0 and CAT_CL_CODIGO <> 1")
' skmt.Initialize(ruta,"kmt.db", True) ' skmt.Initialize(ruta,"kmt.db", True)
@@ -181,7 +226,7 @@ Sub MapFragment1_Ready
If MARK_AZUL.IsInitialized Then LIST_AZUL.Add(MARK_AZUL) If MARK_AZUL.IsInitialized Then LIST_AZUL.Add(MARK_AZUL)
End If End If
'''''''----------------------------MARKER VERDE - VENTA '''''''----------------------------MARKER VERDE - VENTA
If verde = 1 Or todos = 1 Then If verde = 1 Or todos = 1 Then
c2.IsInitialized c2.IsInitialized
c2=skmt.ExecQuery("select CAT_CL_CODIGO, CAT_CL_NOMBRE,CAT_CL_LONG,CAT_CL_LAT from kmt_info where gestion = 2 and CAT_CL_LAT is not null and CAT_CL_LONG is not null and CAT_CL_LAT <> 0 and CAT_CL_LONG <> 0 and CAT_CL_CODIGO <> 0 and CAT_CL_CODIGO <> 1 UNION select CAT_CL_CODIGO, CAT_CL_NOMBRE,CAT_CL_LONG,CAT_CL_LAT from kmt_info2 where gestion = 2 and CAT_CL_LAT is not null and CAT_CL_LONG is not null and CAT_CL_LAT <> 0 and CAT_CL_LONG <> 0 and CAT_CL_CODIGO <> 0 and CAT_CL_CODIGO <> 1") c2=skmt.ExecQuery("select CAT_CL_CODIGO, CAT_CL_NOMBRE,CAT_CL_LONG,CAT_CL_LAT from kmt_info where gestion = 2 and CAT_CL_LAT is not null and CAT_CL_LONG is not null and CAT_CL_LAT <> 0 and CAT_CL_LONG <> 0 and CAT_CL_CODIGO <> 0 and CAT_CL_CODIGO <> 1 UNION select CAT_CL_CODIGO, CAT_CL_NOMBRE,CAT_CL_LONG,CAT_CL_LAT from kmt_info2 where gestion = 2 and CAT_CL_LAT is not null and CAT_CL_LONG is not null and CAT_CL_LAT <> 0 and CAT_CL_LONG <> 0 and CAT_CL_CODIGO <> 0 and CAT_CL_CODIGO <> 1")
Log($"============== Resultados = ${c2.RowCount}"$) Log($"============== Resultados = ${c2.RowCount}"$)
@@ -198,7 +243,7 @@ Sub MapFragment1_Ready
End If End If
Next Next
Else Else
If verde = 1 Or todos = 1 Then If verde = 1 Or todos = 1 Then
c2.IsInitialized c2.IsInitialized
c2=skmt.ExecQuery("select CAT_CL_CODIGO, CAT_CL_NOMBRE,CAT_CL_LONG,CAT_CL_LAT from kmt_info where gestion = 2 and CAT_CL_LAT is not null and CAT_CL_LONG is not null and CAT_CL_LAT <> 0 and CAT_CL_LONG <> 0 and CAT_CL_CODIGO <> 0 and CAT_CL_CODIGO <> 1") c2=skmt.ExecQuery("select CAT_CL_CODIGO, CAT_CL_NOMBRE,CAT_CL_LONG,CAT_CL_LAT from kmt_info where gestion = 2 and CAT_CL_LAT is not null and CAT_CL_LONG is not null and CAT_CL_LAT <> 0 and CAT_CL_LONG <> 0 and CAT_CL_CODIGO <> 0 and CAT_CL_CODIGO <> 1")
Log($"============== Resultados = ${c2.RowCount}"$) Log($"============== Resultados = ${c2.RowCount}"$)
@@ -257,8 +302,9 @@ Sub MapFragment1_Ready
' If MARK_VERDE.Visible Or MARK_ROJO.Visible Then ' If MARK_VERDE.Visible Or MARK_ROJO.Visible Then
' MARK_CEDIS.Remove ' MARK_CEDIS.Remove
' End If ' End If
' Log("Centramos camara " & LatitudRu & ", " & LongitudRU)
Dim aa As CameraPosition Dim aa As CameraPosition
aa.Initialize(LatitudRu,LongitudRU,15)''' RECOMENDABLE CAMBIAR A 10 PARA QUE SE VEAN MAS MARCADORES aa.Initialize(LatitudRu, LongitudRU, 15) ''' RECOMENDABLE CAMBIAR A 10 PARA QUE SE VEAN MAS MARCADORES
gmap.AnimateCamera(aa) gmap.AnimateCamera(aa)
'''''---------------------- ESTO ES PARA LOS CLICK EN LAS VENTANAS D INFORMACION----------- '''''---------------------- ESTO ES PARA LOS CLICK EN LAS VENTANAS D INFORMACION-----------
@@ -267,18 +313,32 @@ Sub MapFragment1_Ready
GoogleMapEXTRA.SetOnInfoWindowClickListener(gmap, OnInfoWindowClickListener1) GoogleMapEXTRA.SetOnInfoWindowClickListener(gmap, OnInfoWindowClickListener1)
End Sub End Sub
'
''''-------------------------- PRUEBA CON MARKER _CLICK ''''-------------------------- PRUEBA CON MARKER _CLICK
Sub OnInfoWindowClickListener1_click(Marker1 As Marker) Sub OnInfoWindowClickListener1_click(Marker1 As Marker)
Log("Tooltip clicked")
skmt.ExecNonQuery("delete from CUENTAA") skmt.ExecNonQuery("delete from CUENTAA")
skmt.ExecNonQuery2("INSERT INTO CUENTAA VALUES (?) ", Array As Object(Marker1.Title)) skmt.ExecNonQuery2("INSERT INTO CUENTAA VALUES (?) ", Array As Object(Marker1.Title))
Activity.Finish ' Activity.Finish
Starter.pre_viejo = Subs.traeTotalClientepreventaparacredito Starter.pre_viejo = Subs.traeTotalClientepreventaparacredito
B4XPages.ShowPage("Cliente") l_venta.Text = "Presiona el boton de ""Iniciar"" para inicar la venta"
b_inicioVenta.Enabled = True
b_finVenta.Enabled = False
p_transparenciaIniciaInicioFinVenta.Visible = True
' B4XPages.ShowPage("Cliente")
End Sub End Sub
Sub ventaIniciada
Log("Tooltip clicked")
' skmt.ExecNonQuery("delete from CUENTAA")
' skmt.ExecNonQuery2("INSERT INTO CUENTAA VALUES (?) ", Array As Object(Marker1.Title))
' Activity.Finish
Starter.pre_viejo = Subs.traeTotalClientepreventaparacredito
b_inicioVenta.Enabled = False
b_finVenta.Enabled = True
p_transparenciaIniciaInicioFinVenta.Visible = True
End Sub
Sub GPS_LocationChanged (Parametro As Location) Sub GPS_LocationChanged (Parametro As Location)
MARK_CEDIS.IsInitialized MARK_CEDIS.IsInitialized
@@ -305,15 +365,13 @@ Sub Activity_Pause (UserClosed As Boolean)
GPS.Stop GPS.Stop
End Sub End Sub
Sub B_TODOS_Click Sub B_TODOS_Click
todos =1 todos =1
verde = 0 verde = 0
azul = 0 azul = 0
rojo = 0 rojo = 0
gmap.Clear
MapFragment1_Ready MapFragment1_Ready
End Sub End Sub
Sub B_VERDE_Click Sub B_VERDE_Click
@@ -323,7 +381,6 @@ Sub B_VERDE_Click
todos = 0 todos = 0
gmap.Clear gmap.Clear
MapFragment1_Ready MapFragment1_Ready
End Sub End Sub
Sub B_ROJO_Click Sub B_ROJO_Click
@@ -332,9 +389,7 @@ Sub B_ROJO_Click
azul = 0 azul = 0
todos = 0 todos = 0
gmap.Clear gmap.Clear
MapFragment1_Ready MapFragment1_Ready
End Sub End Sub
Sub B_AZUL_Click Sub B_AZUL_Click
@@ -343,7 +398,127 @@ Sub B_AZUL_Click
rojo = 0 rojo = 0
todos = 0 todos = 0
gmap.Clear gmap.Clear
MapFragment1_Ready MapFragment1_Ready
End Sub End Sub
Private Sub b_inicioVenta_Click
b_inicioVenta.Enabled = False
et_guardarPeso.Text = ""
r_opcion1.Checked = True
r_opcion2.Checked = False
r_opcion3.Checked = False
r_opcion4.Checked = False
b_finVenta.Enabled = True
Subs.bitacora(Subs.fechanormal(DateTime.Now), Subs.traeUsuarioDeBD, Subs.traeAlmacen, Subs.traeRuta, "Inicia Venta", Subs.traeCliente, Subs.fechanormal(DateTime.Now), "", Starter.lat_gps, Starter.lon_gps, "2", "", "", "")
Starter.enVenta = True
Subs.enVenta(1, "MAPA")
l_venta.Text = "Ve a tu app de venta y cuando termines regresa aqui y presiona el botón para ingresar ""Peso"" o ""No Venta"""
LogColor($">>>>>> INICIA VENTA: ${Starter.enVenta} - ${Subs.traeCliente}"$, Colors.red)
End Sub
Private Sub b_finVenta_Click
p_guardarPeso.Visible = True
' b_inicioVenta.Enabled = True
' b_finVenta.Enabled = False
End Sub
Private Sub p_transparenciaIniciaInicioFinVenta_Click
Log("Fondo clicked")
If b_finVenta.Enabled = False Then
p_transparenciaIniciaInicioFinVenta.Visible = False
Else
ToastMessageShow($"Es necesario presionar "Terminar" para poder continuar"$, True)
End If
End Sub
Sub Activity_KeyPress (key As Int) As Boolean
' BACK key pressed
If key=KeyCodes.KEYCODE_BACK Then
' I want to capture the key here so I return True
'StartActivity(Main)
If p_transparenciaIniciaInicioFinVenta.Visible = True Then
If b_finVenta.Enabled = False Then
p_transparenciaIniciaInicioFinVenta.Visible = False
Else
ToastMessageShow($"Es necesario presionar "Terminar" para poder continuar"$, True)
End If
Return True ' Ya no hace nada aparte de ocultar el panel.
End If
Else
Return False
End If
' Returning False signals the system to handle the key
' Return True
End Sub
Private Sub b_guardarPeso_Click
If et_guardarPeso.Text <> "" And et_guardarPeso.Text <> "0" And IsNumber(et_guardarPeso.Text) Then
Private peso As Double = et_guardarPeso.Text
et_guardarPeso.Text = peso
Subs.guardaPeso("VENTA", Subs.traeAlmacen, Subs.traeRuta2(Subs.traeCliente), Subs.traeUsuarioDeBD, Subs.traeCliente, peso, "", "")
Subs.bitacora(Subs.fechanormal(DateTime.Now), Subs.traeUsuarioDeBD, Subs.traeAlmacen, Subs.traeRuta, "Termina Venta", Subs.traeCliente, "", Subs.fechanormal(DateTime.Now), Starter.lat_gps, Starter.lon_gps, 2, "", "", $"Venta:${et_guardarPeso.text}"$)
Starter.skmt.ExecNonQuery("UPDATE kmt_info set gestion = 2 where CAT_CL_CODIGO In (select cuenta from cuentaa)")
Starter.enVenta = False
Subs.enVenta(0, "")
p_guardarPeso.Visible = False
p_transparenciaIniciaInicioFinVenta.Visible = False
b_inicioVenta.Enabled = True
b_finVenta.Enabled = False
End If
gmap.Clear
todos = 1
MapFragment1_Ready
End Sub
Private Sub p_guardarPeso_Click
End Sub
Private Sub et_guardarPeso_TextChanged (Old As String, New As String)
If Old <> New And IsNumber(New.trim) And New.trim <> "0" Then
b_guardarPeso.Enabled = True
Else
b_guardarPeso.Enabled = False
End If
End Sub
Private Sub b_noVenta_Click
p_noVenta.Visible = True
End Sub
Private Sub b_guardaNoVenta_Click
If r_opcion1.Checked Then
motivo = "CERRADO"
Else If r_opcion2.Checked Then
motivo = "NO COMPRA"
Else If r_opcion3.Checked Then
motivo = "CON PRODUCTO"
Else
motivo = "NO ESTA EL ENCARGADO"
End If
DateTime.DateFormat="yy-MM-dd HH:mm:ss"
Dim fecha As String=DateTime.Date(DateTime.Now)
Subs.guardaPeso("NO VENTA", Subs.traeAlmacen, Subs.traeRuta2(Subs.traeCliente), Subs.traeUsuarioDeBD, Subs.traeCliente, "0", motivo, et_comentarioNoVenta.text)
Subs.bitacora(Subs.fechanormal(DateTime.Now), Subs.traeUsuarioDeBD, Subs.traeAlmacen, Subs.traeRuta, "No Venta", Subs.traeCliente, "", Subs.fechanormal(DateTime.Now), Starter.lat_gps, Starter.lon_gps, 2, motivo, et_comentarioNoVenta.text, $"Venta:${et_guardarPeso.text}"$)
Starter.enVenta = False
Subs.enVenta(0, "")
Starter.skmt.ExecNonQuery("UPDATE kmt_info set gestion = 3 where CAT_CL_CODIGO In (select cuenta from cuentaa)")
p_noVenta.Visible = False
p_guardarPeso.Visible = False
p_transparenciaIniciaInicioFinVenta.Visible = False
gmap.Clear
todos = 1
MapFragment1_Ready
End Sub
Private Sub b_cancelaNoVenta_Click
p_noVenta.Visible = False
End Sub
Private Sub p_inicioFinVenta_Click
End Sub

View File

@@ -21,11 +21,9 @@ Sub Process_Globals
' Private flpStarted As Boolean ' Private flpStarted As Boolean
Dim reqManager As DBRequestManager Dim reqManager As DBRequestManager
Dim DBReqServer As String = "http://keymon.net:1781" Dim DBReqServer As String = "http://keymon.net:1781"
' Dim DBReqServer As String = "http://11.0.0.107:1781"
' Dim DBReqServer As String = "http://10.0.0.205:1783"
' Dim DBReqServer As String = "http://192.168.100.10:1781" ' Dim DBReqServer As String = "http://192.168.100.10:1781"
Dim Timer1 As Timer Dim Timer1 As Timer
Dim Interval As Int = 10 Dim Interval As Int = 300
Dim ruta As String = File.DirInternal Dim ruta As String = File.DirInternal
'Para los Logs 'Para los Logs
Private logs As StringBuilder Private logs As StringBuilder
@@ -39,6 +37,8 @@ Sub Process_Globals
Private BTAdmin As BluetoothAdmin Private BTAdmin As BluetoothAdmin
Public BluetoothState As Boolean Public BluetoothState As Boolean
Public fFileProvider As FileProvider Public fFileProvider As FileProvider
Dim lat_gps, lon_gps As String
Dim enVenta As Boolean = False
End Sub End Sub
Sub Service_Create Sub Service_Create
@@ -105,7 +105,7 @@ Sub ENVIA_ULTIMA_GPS
If B4XPages.MainPage.lat_gps.Length < 15 Then B4XPages.MainPage.lat_gps = B4XPages.MainPage.lat_gps&"0" If B4XPages.MainPage.lat_gps.Length < 15 Then B4XPages.MainPage.lat_gps = B4XPages.MainPage.lat_gps&"0"
cmd.Parameters = Array As Object(B4XPages.MainPage.montoActual, B4XPages.MainPage.clientestotal, B4XPages.MainPage.clientesventa,B4XPages.MainPage.clientesvisitados,B4XPages.MainPage.lat_gps,B4XPages.MainPage.lon_gps,B4XPages.MainPage.batt,0, 0, 0,B4XPages.MainPage.ALMACEN,B4XPages.MainPage.rutapreventa) cmd.Parameters = Array As Object(B4XPages.MainPage.montoActual, B4XPages.MainPage.clientestotal, B4XPages.MainPage.clientesventa,B4XPages.MainPage.clientesvisitados,B4XPages.MainPage.lat_gps,B4XPages.MainPage.lon_gps,B4XPages.MainPage.batt,0, 0, 0,B4XPages.MainPage.ALMACEN,B4XPages.MainPage.rutapreventa)
If logger Then Log($"montoActual: ${B4XPages.MainPage.montoActual}, cTotal: ${B4XPages.MainPage.clientestotal}, cVenta: ${B4XPages.MainPage.clientesventa}, cVisitados: ${B4XPages.MainPage.clientesvisitados}, ${B4XPages.MainPage.lat_gps}, ${B4XPages.MainPage.lon_gps}, Batt: ${B4XPages.MainPage.batt}, 0, 0, 0, Almacen: ${B4XPages.MainPage.ALMACEN}, Ruta: ${B4XPages.MainPage.rutapreventa}"$) If logger Then Log($"montoActual: ${B4XPages.MainPage.montoActual}, cTotal: ${B4XPages.MainPage.clientestotal}, cVenta: ${B4XPages.MainPage.clientesventa}, cVisitados: ${B4XPages.MainPage.clientesvisitados}, ${B4XPages.MainPage.lat_gps}, ${B4XPages.MainPage.lon_gps}, Batt: ${B4XPages.MainPage.batt}, 0, 0, 0, Almacen: ${B4XPages.MainPage.ALMACEN}, Ruta: ${B4XPages.MainPage.rutapreventa}"$)
reqManager.ExecuteCommand(cmd, "inst_visitas") reqManager.ExecuteCommand(cmd, "ubicacionTiempoReal")
skmt.ExecNonQuery2("Update cat_variables set CAT_VA_VALOR = ? WHERE CAT_VA_DESCRIPCION = ?" , Array As String(DateTime.Time(DateTime.Now),"HoraIngreso")) skmt.ExecNonQuery2("Update cat_variables set CAT_VA_VALOR = ? WHERE CAT_VA_DESCRIPCION = ?" , Array As String(DateTime.Time(DateTime.Now),"HoraIngreso"))
'Reiniciamos el timer para cuando llamamos el Sub desde "seleccion" 'Reiniciamos el timer para cuando llamamos el Sub desde "seleccion"
Timer1.Enabled = False Timer1.Enabled = False
@@ -140,4 +140,64 @@ Sub reinicializaReqManager(srv As String)
DBReqServer = srv DBReqServer = srv
reqManager.Initialize(Me, srv) reqManager.Initialize(Me, srv)
LogColor(srv, Colors.red) LogColor(srv, Colors.red)
End Sub
Sub JobDone(Job As HttpJob)
Log("JOBDONE STARTER")
Try
If reqManager.reqsList.IsInitialized Then 'Si tenemos lista de requests, la procesamos.
If reqManager.reqsList.IndexOf(Job.tag) <> -1 Then
reqManager.reqsList.RemoveAt(reqManager.reqsList.IndexOf(Job.tag))
LogColor($">>>>>> Quitamos ${Job.tag}"$, Colors.Blue)
End If
LogColor(">>>>>> " & reqManager.reqsList.Size & " - " & reqManager.reqsList, Colors.Blue)
End If
If Job.Success = False Then
Log("ERROR")
LogColor("Error: " & Job.tag & " : " & Job.ErrorMessage, Colors.red)
Else 'If Job Success then ...
' Log(3)
LogColor("JobDone: '" & reqManager.HandleJob(Job).tag & "' - Registros: " & reqManager.HandleJob(Job).Rows.Size, Colors.RGB(0,160,0)) 'Mod por CHV - 211027
'Verificamos que el usuario guardado en BD sea VALIDO.
If Job.JobName = "DBRequest" Then
Dim result As DBResult = reqManager.HandleJob(Job)
' For Each records() As Object In result.Rows
' Log("==========================REGISTROS="&result.Rows)
' For Each k As String In result.Columns.Keys
' Log(result.Tag & ": " & k & ": " & records(result.Columns.Get(k)))
' Next
' Next
If result.Tag.As(String).StartsWith("mandaBitacora_") Then
For Each records() As Object In result.Rows
Private id() = Regex.Split("_", result.tag)
If id.Length > 1 Then
For Each k As String In result.Columns.Keys
' Log(result.Tag & ": " & k & ": " & records(result.Columns.Get(k)))
skmt.ExecNonQuery($"update bitacoragps set enviado = 1 where id = '${id(1)}'"$)
' Log($"update bitacoragps set enviado = 1 where id = '${id(1)}'"$)
Next
End If
Next
End If
'HISTORIAL DE UBICACIONES (Tracker)
If result.Tag.As(String).StartsWith("guardaHistorialUbicaciones_") Then
For Each records() As Object In result.Rows
Private id() As String = Regex.Split("_", result.tag)
If id.Length > 1 Then
For Each k As String In result.Columns.Keys
' Log(result.Tag & ": " & k & ": " & records(result.Columns.Get(k)))
skmt.ExecNonQuery($"update HIST_UBICACIONES set HU_ENVIADO = 1 where HU_ID = '${id(1)}'"$)
' Log($"update bitacoragps set enviado = 1 where id = '${id(1)}'"$)
Next
End If
Next
End If
End If
End If
Log(">>>>> Job.Release Starter")
Job.Release
Catch
Log(LastException)
End Try
End Sub End Sub

View File

@@ -710,12 +710,21 @@ End Sub
'Regresa la ruta actual de la base de datos. 'Regresa la ruta actual de la base de datos.
Sub traeRuta As String 'ignore Sub traeRuta As String 'ignore
Private c As Cursor Private c As Cursor
Private r As String Private r As String = ""
c=B4XPages.MainPage.skmt.ExecQuery("select CAT_CL_RUTA from kmt_info where CAT_CL_CODIGO In (Select cuenta from cuentaa)") c = Starter.skmt.ExecQuery("select rutaa from rutaa")
r = "0"
If c.RowCount > 0 Then If c.RowCount > 0 Then
c.Position=0 c.Position = 0
r = c.GetString("CAT_CL_RUTA") If c.GetString("RUTAA") <> "" Then
r = c.GetString("RUTAA")
End If
End If
If r = "" Then
c = B4XPages.MainPage.skmt.ExecQuery("select CAT_CL_RUTA from kmt_info where CAT_CL_CODIGO In (Select cuenta from cuentaa)")
r = "0"
If c.RowCount > 0 Then
c.Position=0
r = c.GetString("CAT_CL_RUTA")
End If
End If End If
c.Close c.Close
Return r Return r
@@ -769,12 +778,12 @@ End Sub
Sub guardaProducto(cedis As String, costoU As String, cant As String, nombre As String, prodId As String, clienteId As String, fecha As String, usuario As String, rutaV As String, precioSin As String, tipoVenta As String) Sub guardaProducto(cedis As String, costoU As String, cant As String, nombre As String, prodId As String, clienteId As String, fecha As String, usuario As String, rutaV As String, precioSin As String, tipoVenta As String)
' LogColor("guardaProducto: "&prodId&", cant="&cant, Colors.Magenta) ' LogColor("guardaProducto: "&prodId&", cant="&cant, Colors.Magenta)
Private c As Cursor Private c As Cursor
B4XPages.MainPage.skmt.ExecNonQuery2("INSERT INTO PEDIDO (PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO,PE_RUTA,PE_COSTO_SIN,PE_FOLIO) VALUES(?,?,?,?,?,?,?,?,?,?,?,?) ", Array As Object (cedis, (cant * costoU), costoU, cant, nombre, prodId, clienteId, fecha, usuario, rutaV, precioSin, tipoVenta)) B4XPages.MainPage.skmt.ExecNonQuery2("INSERT INTO PEDIDO (PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO,PE_RUTA,PE_COSTO_SIN,PE_FOLIO) VALUES(?,?,?,?,?,?,?,?,?,?,?,?) ", Array As Object (cedis, (cant * costoU), costoU, cant, nombre, prodId, clienteId, fecha, usuario, rutaV, precioSin, tipoVenta))
B4XPages.MainPage.skmt.ExecNonQuery2($"update ${Starter.tabla} set cat_gp_almacen = cat_gp_almacen - ? where cat_gp_id = ? "$, Array As Object(cant, prodId)) B4XPages.MainPage.skmt.ExecNonQuery2($"update ${Starter.tabla} set cat_gp_almacen = cat_gp_almacen - ? where cat_gp_id = ? "$, Array As Object(cant, prodId))
c=B4XPages.MainPage.skmt.ExecQuery("select sum(pe_costo_tot) as TOTAL_CLIE, SUM(PE_CANT) AS CANT_CLIE, SUM(PE_COSTO_SIN) AS TOTAL_CLIE_SIN FROM PEDIDO 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, SUM(PE_COSTO_SIN) AS TOTAL_CLIE_SIN FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)")
c.Position=0 c.Position=0
B4XPages.MainPage.skmt.ExecNonQuery("delete from pedido_cliente where PC_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_ALMACEN,PC_RUTA,PC_COSTO_SIN) VALUES (?,?,?,?,?,?,?,?,?,?)", Array As Object(clienteId, fecha, usuario, c.GetString("CANT_CLIE"), c.GetString("TOTAL_CLIE"), B4XPages.MainPage.lon_gps, B4XPages.MainPage.lat_gps, cedis, c.GetString("TOTAL_CLIE_SIN"))) B4XPages.MainPage.skmt.ExecNonQuery2("insert into pedido_cliente(PC_CLIENTE, PC_FECHA, PC_USER, PC_NOART, PC_MONTO, PC_LON, PC_LAT, PC_ALMACEN, PC_RUTA, PC_COSTO_SIN) VALUES (?,?,?,?,?,?,?,?,?,?)", Array As Object(clienteId, fecha, usuario, c.GetString("CANT_CLIE"), c.GetString("TOTAL_CLIE"), B4XPages.MainPage.lon_gps, B4XPages.MainPage.lat_gps, rutaV, c.GetString("TOTAL_CLIE_SIN")))
B4XPages.MainPage.skmt.ExecNonQuery("UPDATE kmt_info set gestion = 2 where CAT_CL_CODIGO In (select cuenta from cuentaa)") B4XPages.MainPage.skmt.ExecNonQuery("UPDATE kmt_info set gestion = 2 where CAT_CL_CODIGO In (select cuenta from cuentaa)")
End Sub End Sub
@@ -789,7 +798,19 @@ Sub guardaProductoSinGestion(cedis As String, costoU As String, cant As String,
c=B4XPages.MainPage.skmt.ExecQuery("select sum(pe_costo_tot) as TOTAL_CLIE, SUM(PE_CANT) AS CANT_CLIE, SUM(PE_COSTO_SIN) AS TOTAL_CLIE_SIN FROM PEDIDO 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, SUM(PE_COSTO_SIN) AS TOTAL_CLIE_SIN FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)")
c.Position=0 c.Position=0
B4XPages.MainPage.skmt.ExecNonQuery("delete from pedido_cliente where PC_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_ALMACEN,PC_RUTA,PC_COSTO_SIN) VALUES (?,?,?,?,?,?,?,?,?,?)", Array As Object(clienteId, fecha, usuario, c.GetString("CANT_CLIE"), c.GetString("TOTAL_CLIE"), B4XPages.MainPage.lon_gps, B4XPages.MainPage.lat_gps, cedis, c.GetString("TOTAL_CLIE_SIN"))) ' Log($"${clienteId}, ${fecha}, ${usuario}, ${c.GetString("CANT_CLIE")}, ${c.GetString("TOTAL_CLIE")}, ${B4XPages.MainPage.lon_gps}, ${B4XPages.MainPage.lat_gps}, ${cedis}, ${rutaV}, ${c.GetString("TOTAL_CLIE_SIN")}"$)
B4XPages.MainPage.skmt.ExecNonQuery2("insert into pedido_cliente(PC_CLIENTE, PC_FECHA, PC_USER, PC_NOART, PC_MONTO, PC_LON, PC_LAT, PC_ALMACEN, PC_RUTA, PC_COSTO_SIN) VALUES (?,?,?,?,?,?,?,?,?,?)", Array As Object(clienteId, fecha, usuario, c.GetString("CANT_CLIE"), c.GetString("TOTAL_CLIE"), B4XPages.MainPage.lon_gps, B4XPages.MainPage.lat_gps, cedis, rutaV, c.GetString("TOTAL_CLIE_SIN")))
End Sub
'Inserta un peso en la tabla "pesos"
Sub guardaPeso(tipo As String, almacen As String, ruta As String, usuario As String, cliente As String, peso As String, motivo As String, comentario As String)
' LogColor("guardaPesoSinGestion: "&cliente&", peso="&peso, Colors.Magenta)
' CREATE TABLE PESOS(PE_IDALMACEN TEXT, PE_RUTA TEXT, PE_USUARIO TEXT, PE_CLIENTE TEXT, PE_PESO TEXT, PE_FECHA TEXT, PE_FECHA_SINC TEXT)
DateTime.DateFormat="yy-MM-dd HH:mm:ss"
Dim fecha As String=DateTime.Date(DateTime.Now)
B4XPages.MainPage.skmt.ExecNonQuery($"delete from pesos where pe_cliente in (select cuenta from cuentaa) and pe_tipo = '${tipo}'"$)
B4XPages.MainPage.skmt.ExecNonQuery($"INSERT INTO PESOS (PE_TIPO, PE_IDALMACEN, PE_RUTA, PE_USUARIO, PE_CLIENTE, PE_PESO, PE_FECHA, PE_MOTIVO, PE_COMENTARIO) VALUES('${tipo.ToUpperCase}', '${almacen}', '${ruta}', '${usuario}', '${cliente}', '${peso}', '${fecha}', '${motivo}', '${comentario}')"$)
' Log($"INSERT INTO PESOS (PE_TIPO, PE_IDALMACEN, PE_RUTA, PE_USUARIO, PE_CLIENTE, PE_PESO, PE_FECHA, PE_MOTIVO, PE_COMENTARIO) VALUES('${tipo.ToUpperCase}', '${almacen}', '${ruta}', '${usuario}', '${cliente}', '${peso}', '${fecha}', '${motivo}', '${comentario}')"$)
End Sub End Sub
Sub actualizaProducto(cedis As String, costoU As String, cant As Int, nombre As String, prodId As String, clienteId As String, fecha As String, usuario As String, rutaV As String, precioSin As String, tipoVenta As String, cantc As String, bcajas As String) Sub actualizaProducto(cedis As String, costoU As String, cant As Int, nombre As String, prodId As String, clienteId As String, fecha As String, usuario As String, rutaV As String, precioSin As String, tipoVenta As String, cantc As String, bcajas As String)
@@ -1535,4 +1556,98 @@ Sub traeinventario(id As String) As String
End If End If
c.Close c.Close
Return inventario Return inventario
End Sub
'Regresa el nombre del cliente del id dado.
Sub traeNombreCliente(id As String) As String
Private c As ResultSet = Starter.skmt.ExecQuery($"select CAT_CL_NOMBRE from kmt_info where CAT_CL_CODIGO = '${id}'"$)
Private n As String = "N/A"
Do While c.NextRow
n = c.GetString("CAT_CL_NOMBRE")
Loop
Return n
End Sub
'Regresa una fecha en string con formato "YYYY/MM/dd HH:mm:ss"
Sub fechanormal(fecha As String) As String 'ignore
' Log(fecha)
Dim OrigFormat As String = DateTime.DateFormat 'save orig date format
DateTime.DateFormat = "YYYY/MM/dd HH:mm:ss"
Dim nuevaFecha As String=DateTime.Date(fecha)
DateTime.DateFormat = OrigFormat 'return to orig date format
' Log(nuevaFecha)
Return nuevaFecha
End Sub
'Guarda en la tabla BitacoraGPS el evento espcificado en eventob, junto con coordenadas y otros datos.
'En precision,si metio contraseña para brincar la geocerca, poner 0 gps, si esta dentro de los 50 mts poner 1 y 2 para eventos que no lo ocupen.
'Mandar fecha de sync(sysdate)
Sub bitacora(fechab As String, usuariob As String, almacenb As String, rutab As String, eventob As String, clienteb As String, iniciob As String, finb As String, latitudb As String, longitudb As String, precision As String, motivonoventa As String, motivonovisita As String, otro As String)
Log($"Bitacora: ${eventob}, mnven: ${motivonoventa}, mnvis: ${motivonovisita}"$)
If Starter.Logger Then Log("bitacora")
Private cmd As DBCommand
Private id As String
cmd.Initialize
cmd.Name = "mandaBitacora_ADM"
If Starter.Logger Then Log("BITACORA3")
Private nombreCliente As String = traeNombreCliente(clienteb)
If eventob = "Llega a almacen" Then
nombreCliente = "BOLETA"
clienteb = ""
finb = iniciob
End If
If eventob = "Salida almacen" Then nombreCliente = "CHECKLIST"
If eventob = "Fin Día" Then nombreCliente = "FIN DIA"
If eventob = "Carga día" Then nombreCliente = "CARGA DIA"
DateTime.DateFormat="yyMMddHHmmss"
id = DateTime.Date(DateTime.Now) & "-" & Rnd(0, 99)
If eventob.ToUpperCase <> "TERMINA VENTA" And eventob.ToUpperCase <> "NO VENTA" Then
Starter.skmt.ExecNonQuery($"INSERT INTO BITACORAGPS (id, fechab, usuariob , almacenb , rutab , eventob , clienteb , iniciob , finb , latitudb, longitudb , precision , motivonoventa , motivonovisita, otro) VALUES ('${id}', '${fechab}', '${usuariob}', '${almacenb}', '${rutab}', '${eventob}', '${clienteb}', '${iniciob}', '${finb}' , '${latitudb}', '${longitudb}', '${precision}', '${motivonoventa}', '${motivonovisita}', '${otro}')"$)
Log($"'${id}', '${fechab}', '${usuariob}', '${almacenb}', '${rutab}', '${eventob}', '${clienteb}', '${iniciob}', '${finb}' , '${latitudb}', '${longitudb}', '${precision}', '${motivonoventa}', '${motivonovisita}', '${otro}')"$)
' TMP_ALMACEN, TMP_USUARIO, TMP_RUTA, TMP_EVENTO, TMP_ID_CLIENTE, TMP_NOMBRE_CLIENTE, TMP_INICIO, TMP_FINAL, TMP_LATITUD, TMP_LONGITUD, TMP_PRESICION, TMP_MOTIVO_NO_VENTA, TMP_MOTIVO_NO_VISITA, TMP_FECHA_SINC, TMP_FECHA_MOVIL
' cmd.Parameters = Array As Object(almacenb, usuariob, rutab, eventob, clienteb, nombreCliente, iniciob, finb, latitudb, longitudb, precision, motivonoventa, motivonovisita, fechab)
' Starter.reqManager.ExecuteCommand(cmd , "mandaBitacora")
Else
Private e As Cursor = Starter.skmt.ExecQuery($"select * from BITACORAGPS where usuariob = '${usuariob}' and almacenb = '${almacenb}' and rutab = '${rutab}' and clienteb = '${clienteb}' and eventob = 'Inicia Venta' order by fechab desc"$)
' TMP_RUTA = (?) And tmp_almacen = (?) And tmp_usuario = (?) And tmp_id_cliente = (?) And tmp_evento = (?) And tmp_fecha_movil = to_date((?),'YYYY/MM/DD HH24:MI:ss')
If e.RowCount > 0 Then
e.Position = 0
Log("ACTUALIZA BITACORA")
If eventob.ToUpperCase = "TERMINA VENTA" Then
Starter.skmt.ExecNonQuery($"update BITACORAGPS set finb = '${finb}', otro = '${otro}' where rutab = '${rutab}' and almacenb = '${almacenb}' and usuariob = '${usuariob}' and clienteb = '${clienteb}' and fechab = '${e.GetString("fechab")}' "$)
Log($"update BITACORAGPS set finb = '${finb}', otro = '${otro}' where rutab = '${rutab}' and almacenb = '${almacenb}' and usuariob = '${usuariob}' and clienteb = '${clienteb}' and fechab = '${e.GetString("fechab")}' "$)
else if eventob.ToUpperCase = "NO VENTA" Then
Starter.skmt.ExecNonQuery($"update BITACORAGPS set eventob = 'No Venta', finb = '${finb}', motivonoventa = '${motivonoventa}', motivonovisita = '${motivonovisita}' where rutab = '${rutab}' and almacenb = '${almacenb}' and usuariob = '${usuariob}' and clienteb = '${clienteb}' and fechab = '${e.GetString("fechab")}' "$)
Log($"update BITACORAGPS set eventob = 'No Venta', finb = '${finb}', motivonoventa = '${motivonoventa}', motivonovisita = '${motivonovisita}' where rutab = '${rutab}' and almacenb = '${almacenb}' and usuariob = '${usuariob}' and clienteb = '${clienteb}' and fechab = '${e.GetString("fechab")}' "$)
End If
End If
End If
If eventob <> "Inicia Venta" Then
Private c As Cursor = Starter.skmt.ExecQuery($"select * from BITACORAGPS where usuariob = '${usuariob}' and almacenb = '${almacenb}' and rutab = '${rutab}' and clienteb = '${clienteb}' order by fechab desc"$)
If c.RowCount > 0 Then
c.Position = 0
cmd.Parameters = Array As Object(c.GetString("almacenb"), c.GetString("usuariob"), c.GetString("rutab"), c.GetString("eventob"), c.GetString("clienteb"), nombreCliente, c.GetString("iniciob"), c.GetString("finb"), c.GetString("latitudb"), c.GetString("longitudb"), c.GetString("precision"), c.GetString("motivonoventa"), c.GetString("motivonovisita"), c.GetString("fechab"), c.GetString("otro"), Application.VersionName)
Starter.reqManager.ExecuteCommand(cmd , $"mandaBitacora_${c.GetString("id")}"$)
End If
End If
If Starter.Logger Then Log("Mandamos bitacora")
End Sub
Sub enVenta(valor As Int, pagina As String)
' Log("En venta: " & valor)
Starter.skmt.ExecNonQuery2("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = ?", Array As Object ("EN_VENTA"))
Starter.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("EN_VENTA", valor))
Starter.skmt.ExecNonQuery2("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = ?", Array As Object ("EN_VENTA_USUARIO"))
Starter.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("EN_VENTA_USUARIO", traeCliente))
Starter.skmt.ExecNonQuery2("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = ?", Array As Object ("EN_VENTA_PAGINA"))
Starter.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("EN_VENTA_PAGINA", pagina))
End Sub
'Revisa si hay registro de que nos quedamos en venta.
Sub nosQuedamosEnVenta As Boolean
Private c As Cursor = Starter.skmt.ExecQuery("select * from cat_variables where CAT_VA_DESCRIPCION = 'EN_VENTA' and CAT_VA_VALOR = 1")
If c.RowCount > 0 Then
Return True
End If
Return False
End Sub End Sub

View File

@@ -119,9 +119,9 @@ Private Sub CreateLocationRequest As LocationRequest
' Log("CreateLocationRequest") ' Log("CreateLocationRequest")
Dim lr As LocationRequest Dim lr As LocationRequest
lr.Initialize lr.Initialize
lr.SetInterval(1) 'Intervalo deseado para actualizaciones de ubicacion lr.SetInterval(5000) 'Intervalo deseado para actualizaciones de ubicacion
lr.SetFastestInterval(lr.GetInterval / 2) 'Intervalo minimo para actualizaciones de ubicacion lr.SetFastestInterval(lr.GetInterval / 2) 'Intervalo minimo para actualizaciones de ubicacion
lr.SetSmallestDisplacement(0) 'Solo registra cambio de ubicacion si es mayor a XX mts lr.SetSmallestDisplacement(20) 'Solo registra cambio de ubicacion si es mayor a XX mts
lr.SetPriority(lr.Priority.PRIORITY_HIGH_ACCURACY) lr.SetPriority(lr.Priority.PRIORITY_HIGH_ACCURACY)
actualLR=lr actualLR=lr
Return lr Return lr
@@ -160,9 +160,11 @@ End Sub
Sub flp_LocationChanged (Location1 As Location) Sub flp_LocationChanged (Location1 As Location)
' ToastMessageShow("Loc changed", False) ' ToastMessageShow("Loc changed", False)
' Log($"Loc changed:${Location1.Longitude},${Location1.Latitude}"$) Log($"Loc changed:${Location1.Longitude},${Location1.Latitude}"$)
B4XPages.MainPage.lat_gps = Location1.Latitude B4XPages.MainPage.lat_gps = Location1.Latitude
B4XPages.MainPage.lon_gps = Location1.Longitude B4XPages.MainPage.lon_gps = Location1.Longitude
Starter.lat_gps = Location1.Latitude
Starter.lon_gps = Location1.Longitude
UUGCoords = Location1 UUGCoords = Location1
' Log("SmallestDisplacement="&actualLR.GetSmallestDisplacement) ' Log("SmallestDisplacement="&actualLR.GetSmallestDisplacement)
' If DateTime.Now > LastUpdateTime + 10 * DateTime.TicksPerSecond Then ' If DateTime.Now > LastUpdateTime + 10 * DateTime.TicksPerSecond Then
@@ -176,12 +178,13 @@ Sub flp_LocationChanged (Location1 As Location)
sDate=DateTime.Date(DateTime.Now) sDate=DateTime.Date(DateTime.Now)
sTime=DateTime.Time(DateTime.Now) sTime=DateTime.Time(DateTime.Now)
If Not(B4XPages.MainPage.skmt.IsInitialized) Then B4XPages.MainPage.skmt.Initialize(Starter.ruta,"kmt.db", True) If Not(B4XPages.MainPage.skmt.IsInitialized) Then B4XPages.MainPage.skmt.Initialize(Starter.ruta,"kmt.db", True)
Try ' Try
B4XPages.MainPage.skmt.ExecNonQuery2("INSERT INTO HIST_GPS (HGDATE, HGLAT, HGLON) VALUES(?,?,?) ", Array As Object (sDate & sTime, B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps)) ' B4XPages.MainPage.skmt.ExecNonQuery2("INSERT INTO HIST_GPS (HGDATE, HGLAT, HGLON) VALUES(?,?,?) ", Array As Object (sDate & sTime, B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps))
B4XPages.MainPage.skmt.ExecNonQuery("DELETE FROM HIST_GPS") ' B4XPages.MainPage.skmt.ExecNonQuery("DELETE FROM HIST_GPS")
Catch ' Catch
LogColor(LastException, Colors.Red) ' LogColor(LastException, Colors.Red)
End Try ' End Try
guardaYEnviaUbicacion(Location1.Latitude, Location1.Longitude)
'/////// '///////
Dim coords As String = Location1.Latitude&","&Location1.Longitude&","&formatoFecha(Location1.Time) Dim coords As String = Location1.Latitude&","&Location1.Longitude&","&formatoFecha(Location1.Time)
' Log("Loc changed : "&Location1.Latitude&","&Location1.Longitude&"|"&B4XPages.MainPage.usuario&"|") ' Log("Loc changed : "&Location1.Latitude&","&Location1.Longitude&"|"&B4XPages.MainPage.usuario&"|")
@@ -195,7 +198,7 @@ Sub flp_LocationChanged (Location1 As Location)
CallSub2(Starter, "GPS_LocationChanged", Location1) CallSub2(Starter, "GPS_LocationChanged", Location1)
' CallSub2(B4XPages.MainPage.cliente, "GPS_LocationChanged", Location1) ' CallSub2(B4XPages.MainPage.cliente, "GPS_LocationChanged", Location1)
' CallSub2(gestion, "GPS_LocationChanged", Location1) ' CallSub2(gestion, "GPS_LocationChanged", Location1)
If B4XPages.MainPage.cliente.IsInitialized Then If B4XPages.MainPage.cliente.BT_QR.IsInitialized Then
CallSub2(B4XPages.GetPage("Cliente"), "GPS_LocationChanged", Location1) CallSub2(B4XPages.GetPage("Cliente"), "GPS_LocationChanged", Location1)
End If End If
' CallSub2(nuevocliente, "GPS_LocationChanged", Location1) ' CallSub2(nuevocliente, "GPS_LocationChanged", Location1)
@@ -298,4 +301,19 @@ Sub revisaUUG 'ignore
Catch Catch
LogColor("If FLP.IsInitialized --> "&LastException, Colors.Red) LogColor("If FLP.IsInitialized --> "&LastException, Colors.Red)
End Try End Try
End Sub
Sub guardaYEnviaUbicacion(lat As String, lon As String)
DateTime.DateFormat="yy-MM-dd HH:mm:ss"
Private fecha As String = DateTime.Date(DateTime.Now)
DateTime.DateFormat="yyMMddHHmmss"
Private id As String = DateTime.Date(DateTime.Now) & "-" & Rnd(0, 99)
Private usuario As String = Subs.traeUsuarioDeBD
Starter.skmt.ExecNonQuery($"insert into hist_ubicaciones (HU_ID, HU_IDALMACEN, HU_RUTA, HU_USUARIO, HU_LATITUD, HU_LONGITUD, HU_FECHA) values ('${id}', '${Subs.traeAlmacen}', '${Subs.traeRuta}', '${usuario}', '${lat}', '${lon}', '${fecha}')"$)
Dim cmd As DBCommand
cmd.Initialize
cmd.Name = "guardaHistorialUbicaciones"
If B4XPages.MainPage.lat_gps.Length < 15 Then B4XPages.MainPage.lat_gps = B4XPages.MainPage.lat_gps&"0"
cmd.Parameters = Array As Object(Subs.traeAlmacen, Subs.traeRuta, usuario, lat, lon, fecha)
Starter.reqManager.ExecuteCommand(cmd, $"guardaHistorialUbicaciones_${id}"$)
End Sub End Sub