14 Commits

Author SHA1 Message Date
b4010f2d7b - VERSION 5.10.02
- Se agregó el dia 2 para la frecuencia, si un hoy es p. ej. viernes, y un cliente tiene dia de visita 1 lunes y dia de visita 2 viernes, tambien va a aparecer en los clientes.
2025-10-03 19:19:38 -06:00
2c252b2373 - VERSION 5.09.04
- Se agregaron varios motivos de NoVenta.
2025-09-17 21:35:51 -06:00
003e50a6b1 - VERSION 5.09.03
- Se corrigieron textos.
- Se corrigio que a veces mandaba coordenadas en blanco a la bitacora, ahora nos aseguramos de siempre tener las coordenadas disponibles
2025-09-17 13:11:23 -06:00
a73c9d4290 - VERSION 5.09.02
- Se cambio que cuando a una No Venta se le hace venta, en PESOS se sobreescriba y viceversa.
2025-09-11 18:45:04 -06:00
966ed2357b - VERSION 5.09.01
- Cambios en starter para el mandaPendientes
2025-09-11 13:22:56 -06:00
8f0cf7c227 - VERSION 5.08.31
- Habilitar el mandaPendientes.
- Cuando se hace la venta a través del mapa, no la pone como "venta" o algo así.
- En clientes, quitar el mensaje de "Crédito" y "CxC".
- En resumen Día, cambiar el texto de "Total peso" por "Total kilos".
- En TicketsDia, quitar Cantidad, solo dejar el subtotal y quitarle el signo de pesos.
- En TicketsDia, hacer mas altos los renglones.
- En clientes, quitar el ID de la tienda, dejar solo el nombre.
- En el mapa, también quitar el ID del cliente, dejar solo el nombre. (No se puede!! 🤷🏽‍♂️)
- En TicketsDia, alargar la lista para que ocupe TODA la pantalla.
- En TicketsDia, también quitar el ID, solo dejar Nombre y Subtotal y el subtotal SIN signo de pesos.
2025-09-11 12:51:10 -06:00
jaguerrau
8dcc87eb67 Add files via upload 2025-09-01 14:17:41 -06:00
670a875efa - VERSION 5.08.31
- Se modificó el codigo de MAPA_RUTAS para que muestre bien los marcadores
2025-09-01 13:56:47 -06:00
2a64f8cb6e - VERSION 5.08.29
- Se limpió la pantalla de "Resumen Dia".
- Se revisó que se envien bien los datos de la ubicacion en tiempo real a CAT_RUTAS
2025-08-29 17:24:04 -06:00
36012f89ec - VERSION 5.08.28
- Se hicieron correccciones en el enviod e la bitácora.
- Se eliminó el acceso a la pantalla "Cliente" desde "Tickets Dia"
- Se agregó el botón de "Ingresar Peso o No venta" en el clic largo de "Tickets Día"
2025-08-28 18:47:35 -06:00
14b6e9f067 - VERSION 5.08.26
- [x] Cambiar el texto de la No Venta a : "Causas de no venta"
- [x] En lugar de "peso", poner "kilos".
- [x] Si la tienda está cerrada, solicitar foto de la tienda.
- [x] Hay que pedir foto al iniciar el día.
- [x] Cuando se carga día, mandar en la bitácora la ruta.
- [x] Quitar botón de clientes nuevos.
- [x] Cuando ya guardamos una foto de tienda cerrada, no pedía la foto en los demás clientes de tienda cerrada.
- [x] El botón del mapa en principal, al principio se veia bien, y luego se movia a la izquierda
2025-08-27 12:29:18 -06:00
jaguerrau
7c53a089fb Delete B4A/AutoBackups directory 2025-08-22 20:23:42 -06:00
jaguerrau
6f1888ab26 Delete B4A/Objects directory 2025-08-22 20:23:31 -06:00
79897e5efd - VERSION 5.08.22
- Cambios para que desde clienets y mapa aparezcan losbotones de inicio y fin venta
2025-08-22 20:22:30 -06:00
1227 changed files with 4523 additions and 94614 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 one or more lines are too long

View File

@@ -24,6 +24,7 @@ ModuleBookmarks29=
ModuleBookmarks3=
ModuleBookmarks30=
ModuleBookmarks31=
ModuleBookmarks32=
ModuleBookmarks4=
ModuleBookmarks5=
ModuleBookmarks6=
@@ -56,6 +57,7 @@ ModuleBreakpoints29=
ModuleBreakpoints3=
ModuleBreakpoints30=
ModuleBreakpoints31=
ModuleBreakpoints32=
ModuleBreakpoints4=
ModuleBreakpoints5=
ModuleBreakpoints6=
@@ -82,18 +84,19 @@ ModuleClosedNodes23=
ModuleClosedNodes24=
ModuleClosedNodes25=
ModuleClosedNodes26=
ModuleClosedNodes27=
ModuleClosedNodes27=29
ModuleClosedNodes28=
ModuleClosedNodes29=
ModuleClosedNodes3=
ModuleClosedNodes30=
ModuleClosedNodes30=2,4,5,6,7,8
ModuleClosedNodes31=
ModuleClosedNodes32=15,16,17,18,19
ModuleClosedNodes4=
ModuleClosedNodes5=
ModuleClosedNodes6=
ModuleClosedNodes5=1,3
ModuleClosedNodes6=3
ModuleClosedNodes7=
ModuleClosedNodes8=
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=Tracker,guardaYEnviaUbicacion,307,0,MAPA_RUTAS,b_inicioVenta_Click,470,1,MAPA_RUTAS,B_VERDE_Click,440,0,MAPA_RUTAS,B_ROJO_Click,445,0,MAPA_RUTAS,B_AZUL_Click,450,0,C_Cliente,Class_Globals,0,0,C_Cliente,B4XPage_Appear,324,0,B4XMainPage,B4XPage_Created,215,0,C_Principal,b_cargar_Click,1297,0,C_Principal,JobDone,1311,2
SelectedBuild=0
VisibleModules=1,2,3,4,5,6,7,8,9,10,13,16
VisibleModules=30,2,14,5,6,19,31,27,18,32

View File

@@ -22,6 +22,12 @@ Version=9.85
'Ctrl + click ide://run?file=%WINDIR%\System32\cmd.exe&Args=/c&Args=github&Args=..\..\
' ###################################################################
' ################## Pendientes ##################
' ###################################################################
'
' MotivoNoVisita (como kelloggs cuando tienen un accidente y ya no van a terimnar la ruta)
Sub Class_Globals
Dim c2 As Cursor
Dim sDate,sTime As String
@@ -108,7 +114,7 @@ Sub Class_Globals
Private P_PICK_CIEGO As Panel
Dim ET_PICK_CIEGO As EditText
Private L_PICK_CIEGO As Label
Private P_CIEGO As Panel
Private p_ciego As Panel
Dim Panel4 As Panel
Dim q_buscar As String
Private et_buspc As EditText
@@ -209,6 +215,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 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 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, PE_FOTO_CERRADO TEXT, PE_ENVIO_OK TEXT DEFAULT 0)")
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_CANTC", "TEXT")
Subs.agregaColumna("PEDIDO", "PE_BCAJAS", "TEXT")
@@ -229,6 +241,8 @@ Private Sub B4XPage_Created (Root1 As B4XView)
skmt.ExecNonQuery("INSERT INTO HIST_STAY_OUT(HSO_INI, HSO_FIN) VALUES (0,0)")
End If
C.Close
p_ciego.Top = 0 : p_ciego.Left = 0
' server = "http://keymon.com.mx:1782"
'server = "http://201.99.139.28:1783"
' reqManager.Initialize(Me, DBReqServer)
@@ -300,12 +314,13 @@ Private Sub B4XPage_Created (Root1 As B4XView)
Wait For MES_StorageAvailable
End If
End If
P_CIEGO.Height = Root.Height
P_CIEGO.Width = Root.Width
p_ciego.Height = Root.Height
p_ciego.Width = Root.Width
p_validacion.Height = Root.Height
p_validacion.Width = Root.Width
p_add_monto.Height = Root.Height
p_add_monto.Width = Root.Width
CallSubDelayed(Tracker, "StartFLP")
End Sub
Sub B4XPage_Appear
@@ -381,7 +396,21 @@ Sub B4XPage_Appear
If c12.RowCount > 0 Then
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
'You can see the list of page related events in the B4XPagesManager object. The event name is B4XPage.
@@ -478,10 +507,10 @@ Sub Entrar_Click
reqManager.ExecuteQuery(cmd , 0, "usuario_10") 'Antes usuario
End If
End If
Dim cmd As DBCommand
cmd.Initialize
cmd.Name = "select_version_ADM"
reqManager.ExecuteQuery(cmd , 0, "version")
' Dim cmd As DBCommand
' cmd.Initialize
' cmd.Name = "select_version_ADM"
' reqManager.ExecuteQuery(cmd , 0, "version")
Else
usuario = user.Text
B4XPages.ShowPage("Principal")
@@ -682,7 +711,7 @@ Sub JobDone(Job As HttpJob)
p_validacion.Visible = False
et_codigo.Text = ""
If recarga = "0" Then
Subs.panelVisible(P_CIEGO,0,0)
Subs.panelVisible(p_ciego,0,0)
Else If recarga = "1" Then
Starter.skmt.ExecNonQuery("delete from CUENTAA")
Starter.skmt.ExecNonQuery2("INSERT INTO CUENTAA VALUES (?)", Array As Object("1"))
@@ -764,7 +793,7 @@ Private Sub B4XPage_CloseRequest As ResumableSub
Else If p_validacion.IsInitialized And p_validacion.Visible Then
p_validacion.Visible = 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")
Return False
Else If p_appUpdate.IsInitialized And p_appUpdate.Visible Then
@@ -1132,7 +1161,7 @@ Private Sub b_terpc_Click
Log("Processed item " & i)
Next
Log("Finished processing all items")
P_CIEGO.Visible = False
p_ciego.Visible = False
et_buspc.Text = ""
CLV_PICK_CIEGO.Clear
c = Starter.skmt.ExecQuery("SELECT PC_ID_PROD, PC_ALMACEN, PC_RUTA, PC_FECHA FROM PICK_CIEGO")

189
B4A/C_Camara.bas Normal file
View File

@@ -0,0 +1,189 @@
B4A=true
Group=Default Group
ModulesStructureVersion=1
Type=Class
Version=12.8
@EndOfDesignText@
Sub Class_Globals
Private Root As B4XView 'ignore
Private xui As XUI 'ignore
Private camEx As CameraExClass
Private frontCamera As Boolean = False
Dim p_camara0 As Panel
Dim p_camara As Panel
Private p_cam As Panel
Private b_foto_inci As Button
Private b_cam As Button
Dim fototomada As String = "0"
Dim sDate As String
Dim sTime As String
End Sub
'You can add more parameters here.
Public Sub Initialize As Object
Return Me
End Sub
'This event will be called once, before the page becomes visible.
Private Sub B4XPage_Created (Root1 As B4XView)
Root = Root1
'load the layout to Root
Root.LoadLayout("camara")
End Sub
'You can see the list of page related events in the B4XPagesManager object. The event name is B4XPage.
Sub InitializeCamera
Starter.rp.CheckAndRequest(Starter.rp.PERMISSION_CAMERA)
Wait For B4XPage_PermissionResult (Permission As String, resulta As Boolean)
If resulta Then
camEx.Initialize(p_cam, frontCamera, Me, "Camera1")
frontCamera = camEx.Front
' p_camara0.Initialize("p_camara0")
' p_camara0.LoadLayout("camara")
Else
ToastMessageShow("!!!Sin permisos de camara!!!", True)
End If
End Sub
Sub camaraVisible
Log("CAMARA")
p_camara.Top = 0
p_camara.Left = 0
p_camara.Visible = True
p_camara.BringToFront
End Sub
Sub Camera1_Ready (Success As Boolean)
If Success Then
camEx.SetJpegQuality(90)
camEx.SetContinuousAutoFocus
camEx.CommitParameters
camEx.StartPreview
Log(camEx.GetPreviewSize)
Else
ToastMessageShow("Cannot open camera.", True)
End If
End Sub
Sub Camera1_PictureTaken (Data() As Byte)
If b_foto_inci.Text = "Foto tienda" Then
DateTime.DateFormat="ddMMyyyyHHmmss"
fototomada = DateTime.Now & "_cliente.jpg"
Dim filename As String = fototomada
Dim dir As String = File.DirInternal
camEx.SavePictureToFile(Data, dir, filename)
camEx.StartPreview 'restart preview
ToastMessageShow("Picture saved." & CRLF & "File size: " & File.Size(dir, filename), True)
Dim Dirp As String = File.DirInternal
Dim dir As String
Dim Dir2 As String
Try
File.MakeDir(Dirp,"/adm")
dir = "/adm"
Log("creado en promotoria " & Dirp & dir)
Catch
dir = ""
Log("creado en raiz")
End Try
Try
File.MakeDir(Dirp & dir,"/reduccion")
Dir2 = "/reduccion"
Log("creado en promotoria " & Dirp & dir & Dir2)
Catch
dir = ""
Log("creado en raiz")
End Try
DateTime.DateFormat = "MM/dd/yyyy"
DateTime.TimeFormat = "HH:mm:ss"
sDate = DateTime.Date(DateTime.Now)
sTime = DateTime.Time(DateTime.Now)
camEx.SavePictureToFile(Data, Dirp&dir, filename)
camEx.StartPreview 'restart preview
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)
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)
img.WriteToStream(out, 100, "PNG")
out.Close
Starter.skmt.ExecNonQuery2("INSERT INTO FOTOINICIAL (RUTAA, ALMACEN, LATITUD, LONGITUD, FECHAHORA, FOTO, USUARIO) VALUES (?,?,?,?,?,?,?)",Array As Object(Subs.traeRuta, Subs.traeAlmacen, B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps, sDate & " " & sTime, File.ReadBytes(File.DirInternal & dir & Dir2, fototomada), Subs.traeUsuarioDeBD))
b_foto_inci.Text = "Foto usuario"
ChangeCamera_Click
Else If b_foto_inci.Text = "Foto usuario" Then
DateTime.DateFormat="ddMMyyyyHHmmss"
fototomada = DateTime.Now & "_cliente.jpg"
Dim filename As String = fototomada
Dim dir As String = File.DirInternal
camEx.SavePictureToFile(Data, dir, filename)
camEx.StartPreview 'restart preview
ToastMessageShow("Picture saved." & CRLF & "File size: " & File.Size(dir, filename), True)
Dim Dirp As String = File.DirInternal
Dim dir As String
Dim Dir2 As String
Try
File.MakeDir(Dirp,"/adm")
dir = "/adm"
Log("creado en promotoria " & Dirp & dir)
Catch
dir = ""
Log("creado en raiz")
End Try
Try
File.MakeDir(Dirp & dir,"/reduccion")
Dir2 = "/reduccion"
Log("creado en promotoria " & Dirp & dir & Dir2)
Catch
dir = ""
Log("creado en raiz")
End Try
DateTime.DateFormat = "MM/dd/yyyy"
DateTime.TimeFormat = "HH:mm:ss"
sDate = DateTime.Date(DateTime.Now)
sTime = DateTime.Time(DateTime.Now)
camEx.SavePictureToFile(Data, Dirp&dir, filename)
camEx.StartPreview 'restart preview
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)
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)
img.WriteToStream(out, 100, "PNG")
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,Subs.traeruta, Subs.traeAlmacen ))
b_foto_inci.Text = "Foto tienda"
ChangeCamera_Click
p_camara.Visible = False
StopCamera
If Subs.traeCliente = "0" Then
B4XPages.MainPage.tipo_venta = "ABORDO"
Else If Subs.traeCliente = "1" Then
B4XPages.MainPage.tipo_venta = "RECARGA"
Else
B4XPages.MainPage.tipo_venta = "PREVENTA"
End If
' B4XPages.ShowPage("productos")
' p_transparentePidePeso.Visible = True
End If
End Sub
Sub ChangeCamera_Click
camEx.Release
frontCamera = Not(frontCamera)
InitializeCamera
End Sub
Private Sub StopCamera
' Capturing = False
If camEx.IsInitialized Then
camEx.Release
End If
End Sub
Private Sub b_foto_inci_Click
End Sub
Private Sub p_camara_Click
End Sub

View File

@@ -4,10 +4,6 @@ ModulesStructureVersion=1
Type=Class
Version=11.5
@EndOfDesignText@
Sub MODS 'ignore
'V3.04.10 - Se agregó código para el registro de abonos, en B4XMainPage se genera la tabla y aquí se agregó el panel p_abonos para ralizar el abono, y el codigo en el sub "mandaPendientes" para cambiar la bandera de enviado en el abono.
End Sub
Sub Class_Globals
Private Root As B4XView 'ignore
Private xui As XUI 'ignore
@@ -86,7 +82,7 @@ Sub Class_Globals
Private META2 As String
Private VERIFICA As String
Private L_QR As Label
Private BT_QR As Button
Dim BT_QR As Button
'Private qr As QRCode
Dim CODIGO As String
@@ -179,6 +175,16 @@ Sub Class_Globals
Private b_acept_tp As Button
Private chb_impreso As CheckBox
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
'You can add more parameters here.
@@ -199,7 +205,7 @@ Private Sub B4XPage_Created (Root1 As B4XView)
End If
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)")
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.Position = 0
Dim cabonos As String = b.GetString("CLIENTE")
@@ -234,6 +240,14 @@ Private Sub B4XPage_Created (Root1 As B4XView)
End If
c.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")
cmp20.Initialize("Printer")
Starter.rp.CheckAndRequest(Starter.rp.PERMISSION_CAMERA)
@@ -254,7 +268,6 @@ Private Sub B4XPage_Created (Root1 As B4XView)
' End If
' h.Close
' j.Close
End Sub
'You can see the list of page related events in the B4XPagesManager object. The event name is B4XPage.
@@ -263,12 +276,32 @@ Sub B4XPage_Appear
Tels.Visible = False
gest.Visible = False
b_ventaabordo.Visible = False
p_camara.Height = Root.Height
p_camara.Width = Root.Width
p_tipopago.Height = Root.Height
p_tipopago.Width = Root.Width
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)
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.Text = "SIN UBICACION GPS"
cercavalor = 0
@@ -276,14 +309,13 @@ Sub B4XPage_Appear
ToastMessageShow("Es necesario tener el GPS encendido", True)
StartActivity(Starter.gps.LocationSettingsIntent)
End If
' Log("appear")
cb_factura.Checked = False
p_abono.Visible = False
Subs.centraPanel(p_abono, Root.Width)
Subs.centraPanel(p_credito, Root.Width)
skmt.Initialize(ruta,"kmt.db", True)
c=B4XPages.MainPage.skmt.ExecQuery("select CAT_CL_CODIGO,CAT_CL_RUTA,CAT_CL_NOMBRE,CAT_CL_ATIENDE1,CAT_CL_ATIENTE2,CAT_CL_TELEFONO,CAT_CL_EMAIL,CAT_CL_CALLE,CAT_CL_NOEXT,CAT_CL_NOINT,CAT_CL_CALLE1,CAT_CL_CALLE2,CAT_CL_COLONIA,CAT_CL_MUNI,CAT_CL_EDO,CAT_CL_CP,CAT_CL_LONG,CAT_CL_LAT,CAT_CL_MTOCOMPRA,CAT_CL_NUM_SERIEFISICO from kmt_info where CAT_CL_CODIGO In (Select cuenta from cuentaa) UNION ALL select CAT_CL_CODIGO,CAT_CL_RUTA,CAT_CL_NOMBRE,CAT_CL_ATIENDE1,CAT_CL_ATIENTE2,CAT_CL_TELEFONO,CAT_CL_EMAIL,CAT_CL_CALLE,CAT_CL_NOEXT,CAT_CL_NOINT,CAT_CL_CALLE1,CAT_CL_CALLE2,CAT_CL_COLONIA,CAT_CL_MUNI,CAT_CL_EDO,CAT_CL_CP,CAT_CL_LONG,CAT_CL_LAT,CAT_CL_MTOCOMPRA,CAT_CL_NUM_SERIEFISICO from kmt_info2 where CAT_CL_CODIGO In (Select cuenta from cuentaa)")
s=B4XPages.MainPage.skmt.ExecQuery("Select SUM(PE_COSTO_TOT) As TOTAL_CLIE, SUM(PE_CANT) As CANT_CLIE, PC_FACTURA FROM PEDIDO_CLIENTE INNER JOIN PEDIDO ON PEDIDO_CLIENTE.PC_CLIENTE = PEDIDO.PE_CLIENTE WHERE (PE_CLIENTE IN (Select cuenta from cuentaa))")
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 ifnull(SUM(PE_COSTO_TOT),0) As TOTAL_CLIE, SUM(PE_CANT) As CANT_CLIE, PC_FACTURA FROM PEDIDO_CLIENTE INNER JOIN PEDIDO ON PEDIDO_CLIENTE.PC_CLIENTE = PEDIDO.PE_CLIENTE WHERE (PE_CLIENTE IN (Select cuenta from cuentaa))")
b = B4XPages.MainPage.skmt.ExecQuery("select COUNT(*) AS CLIENTE FROM ABONOSP WHERE CLIENTE IN (Select CUENTA from cuentaa)")
b.Position = 0
Dim cabonos As String = b.GetString("CLIENTE")
@@ -292,7 +324,6 @@ Sub B4XPage_Appear
Else
b_cxc.Visible = True
End If
If la_cuenta.Text = "0" Or la_cuenta.Text = "1" Then
p_cbFactura.Visible = False
l_factura.Visible = False
@@ -303,7 +334,9 @@ Sub B4XPage_Appear
b_ventaabordo.Visible = False
End If
chb_impreso.Checked = False
s.Position=0
m_lat = "0"
m_lon = "0"
s.Position = 0
If c.RowCount > 0 Then
c.Position=0
la_cuenta.Text = c.GetString("CAT_CL_CODIGO")
@@ -321,11 +354,9 @@ Sub B4XPage_Appear
Private factura As String = 0
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
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"
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"
LA_RUTA = c.GetString("CAT_CL_RUTA")
' ESTO ES PARA FORZAR A PEDIR LA FOTO Y EL GPS
@@ -354,7 +385,6 @@ Sub B4XPage_Appear
Else
MONTO_COMPRA = "0"
End If
la_saldotot.Text = MONTO_COMPRA
If MONTO_COMPRA <> "0" Then
META2 = 300 - MONTO_COMPRA
@@ -371,35 +401,6 @@ Sub B4XPage_Appear
ALMACEN = C.GetString("ID_ALMACEN")
End If
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, "StartFLPSmall")
If Tracker.FLP.IsInitialized And Tracker.FLP.GetLastKnownLocation.IsInitialized Then 'Si tenemos "UltimaUbicaccionConocida" la usamos.
@@ -408,31 +409,6 @@ Sub B4XPage_Appear
' Log($"Tenemos UUC: ${Tracker.FLP.GetLastKnownLocation.Latitude},${Tracker.FLP.GetLastKnownLocation.Longitude}"$)
GPS_LocationChanged(Tracker.FLP.GetLastKnownLocation)
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"))
If c.RowCount > 0 Then
c.Position = 0
@@ -441,7 +417,6 @@ Sub B4XPage_Appear
If Starter.MAC_IMPRESORA = "" Then Starter.MAC_IMPRESORA = "0"
' Log("|" & Starter.MAC_IMPRESORA & "|")
Printer1.Initialize(Me, "Printer1")
If Printer1.IsConnected = False Then
' Printer1.Connect
' Log("1")
@@ -450,13 +425,7 @@ Sub B4XPage_Appear
Printer1.Connect
Log("2")
End If
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)")
If credi2.RowCount > 0 Then
credi2.Position = 0
@@ -496,15 +465,16 @@ Sub B4XPage_Appear
gest.Text = "Recarga"
B4XPages.MainPage.recarga = "1"
Else
gest.Text = "Pre-venta"
gest.Text = "Venta"
B4XPages.MainPage.recarga = "0"
End If
LogColor(B4XPages.MainPage.recarga,Colors.Blue)
p_transparentePidePeso.Visible = False
If camEx.IsInitialized Then
camEx.Release
End If
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
Sub GPS_LocationChanged (Location1 As Location)
@@ -514,12 +484,12 @@ Sub GPS_LocationChanged (Location1 As Location)
B4XPages.MainPage.lon_gps = Tracker.FLP.GetLastKnownLocation.Longitude
' Log("Coords set to: " & B4XPages.MainPage.lat_gps & " and " & B4XPages.MainPage.lon_gps)
End If
' ToastMessageShow(B4XPages.MainPage.lat_gps,False)
Dim l1, l2 As Location
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)
BT_QR.Enabled = True
@@ -527,13 +497,13 @@ Sub GPS_LocationChanged (Location1 As Location)
LA_GPS.Text = "CON UBICACION GPS"
' B_GPS.Enabled = True
'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
If distance < 100000000000000000000000000000000 Then
LA_GEO.TextColor = Colors.Blue
Tels.Visible = True
' Tels.Visible = True
gest.Visible = True
b_ventaabordo.Visible = True
' b_ventaabordo.Visible = True
Else
Tels.Visible = False
gest.Visible = False
@@ -551,7 +521,6 @@ Sub ListView1_ItemLongClick (Position As Int, Value As Object)
End Sub
Sub gest_Click
c = Starter.skmt.ExecQuery("SELECT * FROM FOTOINICIAL")
If c.RowCount = 0 Then
p_camara.Visible = True
@@ -559,14 +528,8 @@ Sub gest_Click
Subs.panelVisible(p_camara, 0, 0)
b_foto_inci.Text = "Foto tienda"
Else
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
Log(1)
p_transparentePidePeso.Visible = True
'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}'"$)
@@ -597,7 +560,7 @@ Sub gest_Click
' End If
'Si hay mapa de productos es que hay venta en proceso, entonces borramos la actual para meter la nueva.
' If B4XPages.MainPage.productos.prodsMap.IsInitialized And B4XPages.MainPage.productos.prodsMap.Size > 0 Then Subs.borraPedidoClienteActual
B4XPages.ShowPage("productos")
' B4XPages.ShowPage("productos")
End If
End Sub
@@ -608,8 +571,15 @@ End Sub
Private Sub B4XPage_CloseRequest As ResumableSub
' BACK key pressed
' Return True To close, False To cancel
' Log($"venimosDeTicketsDia=${venimosDeTicketsDia}"$)
If Starter.pre_viejo = pre_act Then
If l_total.Text = 0 And Starter.enVenta = False 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 banderaimp = 1 Then
Else
@@ -622,7 +592,6 @@ Private Sub B4XPage_CloseRequest As ResumableSub
Log("Borrra venta")
Subs.borraPedidoClienteActual
ToastMessageShow("Venta Borrada", False)
' venimosDeTicketsDia = False
B4XPages.ShowPage("Principal")
else if resultado1=DialogResponse.CANCEL Then
Log("Pedido guardado")
@@ -630,20 +599,16 @@ Private Sub B4XPage_CloseRequest As ResumableSub
ToastMessageShow("Venta Guardada", False)
End If
End If
' venimosDeTicketsDia = False
B4XPages.ShowPage("Clientes")
B4XPages.ShowPage("Clientes")
End If
' Else If la_cuenta.Text = "1" Then
' If B4XPages.MainPage.recarga = "1" Then
' B4XPages.ShowPage("login")
' End If
Else
End If
Else
If B4XPages.MainPage.recarga = "1" Then
B4XPages.ShowPage("login")
End If
Else If B4XPages.MainPage.recarga = "1" Then
Log(1)
B4XPages.ShowPage("login")
Else
Log(5)
Msgbox("Presione Guardar y Terminar Venta para continuar","Aviso") 'ignore
End If
' Return True
Return False
@@ -662,7 +627,6 @@ Sub DATOS_Click
End Sub
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.Position = 0
If c.GetString("CUANTOS") > 0 Then
@@ -672,12 +636,7 @@ Sub Guardar_Click
If Credi.RowCount > 0 Then
Credi.Position = 0
If Credi.GetString("CAT_CL_BCREDITO") = "1" Then
If pre_act <> Starter.pre_viejo Then
Msgbox2Async("La venta es a credito?", "ATENCION","SI","", "NO",LoadBitmap(File.DirAssets,"alert2.png"), False)
Wait For Msgbox_Result (resultado As Int)
If resultado = DialogResponse.POSITIVE Then
@@ -695,12 +654,9 @@ Sub Guardar_Click
Else
GuardaVenta
End If
Else If pre_act = Starter.pre_viejo Then
GuardaVenta
End If
Else If Credi.GetString("CAT_CL_BCREDITO") = "0" Then
GuardaVenta
End If
@@ -710,7 +666,6 @@ Sub Guardar_Click
credi2.Position = 0
If credi2.GetString ("CAT_CL_BCREDITO") = "1" And credi2.GetString ("a_abono")=credi2.GetString ("SALDO_PENDIENTE") Then
If pre_act <> Starter.pre_viejo Then
Msgbox2Async("La venta es a credito?", "ATENCION","SI","", "NO",LoadBitmap(File.DirAssets,"alert2.png"), False)
Wait For Msgbox_Result (resultado As Int)
If resultado = DialogResponse.POSITIVE Then
@@ -728,7 +683,6 @@ Sub Guardar_Click
Else
GuardaVenta
End If
Else If pre_act = Starter.pre_viejo Then
GuardaVenta
End If
@@ -808,6 +762,10 @@ Private Sub b_cancred_Click
End Sub
Sub GuardaVenta
Log("GuardaVenta")
pre_act = Starter.pre_viejo ' ################ NOS BRINCAMOS EL "PRE"
If pre_act <> Starter.pre_viejo Then
p_tipopago.Visible = True
rb_efectivo.Checked = False
@@ -825,13 +783,15 @@ Sub GuardaVenta
' HIST.Enabled = False
' banderaimp = 1
Else If pre_act = Starter.pre_viejo Then
GUADAVENTA2
GuardaVenta2
End If
End Sub
Sub GUADAVENTA2
Sub GuardaVenta2
Log("GuardaVenta2")
Log(B4XPages.MainPage.recarga)
If B4XPages.MainPage.recarga = "0" Then
Log("Recarga 0")
DateTime.DateFormat = "MM/dd/yyyy"
sDate=DateTime.Date(DateTime.Now)
sTime=DateTime.Time(DateTime.Now)
@@ -861,7 +821,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.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, " & _
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)) " & _
@@ -877,13 +837,11 @@ Sub GUADAVENTA2
Catch
ToastMessageShow(".",True)
End Try
skmt.ExecNonQuery2("update PEDIDO_INICIO_FINAL set PIF_HORA_FINAL = ? where PIF_CLIENTE = ? and PIF_HORA_FINAL = 0", Array As Object (DateTime.Now, la_cuenta.Text))
' LogColor($"actualizamos "${la_cuenta.text}, hora_final=${DateTime.now}"$,Colors.Red)
Subs.actualizaTET(la_cuenta.text)
DateTime.TimeFormat = "HH:mm:ss"
mandaPendientes 'LO COMENTAMOS PARA PRUEBAS, ACTIVAR AL FINAL!!!
Subs.mandaPendientes 'LO COMENTAMOS PARA PRUEBAS, ACTIVAR AL FINAL!!!
mandapiezas
B4XPages.MainPage.productos.reiniciarlistaProds = True
B4XPages.MainPage.productos.prodsMap.Initialize
@@ -896,8 +854,22 @@ Sub GUADAVENTA2
b_ventaabordo.Enabled = True
HIST.Enabled = True
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
Log("Recarga 1")
DateTime.DateFormat = "MM/dd/yyyy"
sDate=DateTime.Date(DateTime.Now)
sTime=DateTime.Time(DateTime.Now)
@@ -924,38 +896,18 @@ Sub GUADAVENTA2
DateTime.TimeFormat = "HHmmss"
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.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))
' LogColor($"actualizamos "${la_cuenta.text}, hora_final=${DateTime.now}"$,Colors.Red)
Subs.actualizaTET(la_cuenta.text)
DateTime.TimeFormat = "HH:mm:ss"
' mandaPendientes 'LO COMENTAMOS PARA PRUEBAS, ACTIVAR AL FINAL!!!
' mandapiezas
mandaPendientesrecarga
mandapiezasrecarga
' mandaPendientesrecarga
' mandapiezasrecarga
B4XPages.MainPage.productos.reiniciarlistaProds = True
B4XPages.MainPage.productos.prodsMap.Initialize
B4XPages.MainPage.promos.promosMap.Initialize
B4XPages.ShowPage("login")
B4XPages.ShowPage("principal")
B4XPages.MainPage.recarga = "0"
End If
End Sub
@@ -1335,14 +1287,14 @@ Sub imprime_preventa
If resultado = DialogResponse.POSITIVE Then
B_IMP_Click
Else
GUADAVENTA2
GuardaVenta2
End If
' printer.Flush
' printer.Close
End Sub
Private Sub Label20_LongClick
Private Sub l_ticketCorreo_LongClick
xui.SetDataFolder("B4Xpdf")
File.Copy(File.DirAssets,"intmex_logo_192x192.jpg",xui.DefaultFolder,"intmex_logo_192x192.jpg")
File.Copy(File.DirAssets,"mariana1.jpg",xui.DefaultFolder,"mariana1.jpg")
@@ -1526,9 +1478,7 @@ Private Sub Label20_LongClick
openPDF(sDate&sTime&".pdf")
End Sub
Private Sub PDFGENERAR
Private Sub PDFGenerar
ESPACIO = 0
DateTime.DateFormat = "MM/dd/yyyy"
DateTime.TimeFormat = "HH:mm:ss"
@@ -1537,32 +1487,24 @@ Private Sub PDFGENERAR
Dim PDF As cPDF
'initialize with mm unit
PDF.Initialize("mm")
'set properties
PDF.sProperty(PDF.PropertyAuthor,"Keymonsoft"). _
sProperty(PDF.PropertyTitle,"Ticket"). _
sProperty(PDF.PropertyKeywords,"B4X,PDF,Cross platform")
'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 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 + s57.RowCount +2) * (6)) + 18
Dim multiplicador As Int = 0
PDF.pageAdd(-300,pagina)
' pdf.pageAdd(-350,-1900)
PDF.sFont(PDF.fontHelvetica,0,10,PDF.colorBlack)
PDF.outImage(xui.DefaultFolder,"mariana1.jpg",1,pagina-55,70,0)
multiplicador = multiplicador +1
PDF.outtext(1,pagina-multiplicador*6,"ADM Distribuciones")
multiplicador = multiplicador +1
PDF.outtext(1,pagina-multiplicador*6,sDate& " " & sTime)
multiplicador = multiplicador +1
PDF.outtext(1,pagina-multiplicador*6,"Vendedor:" & Subs.traeUsuarioDeBD)
@@ -1583,18 +1525,14 @@ Private Sub PDFGENERAR
multiplicador = multiplicador +1
PDF.outtext(1,pagina-multiplicador*6," ")
c = skmt.ExecQuery2("SELECT * FROM PEDIDO WHERE PE_FOLIO = ?",Array As String("PREVENTA"))
If c.RowCount > 0 Then
multiplicador = multiplicador +1
PDF.outtext(1,pagina-multiplicador*6,"------------------------------------PREVENTA-----------------------------------------")
multiplicador = multiplicador +1
PDF.outtext(1,pagina-multiplicador*6,"Cant. Precio Importe")
multiplicador = multiplicador +1
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"))
If S.RowCount>0 Then
For i=0 To S.RowCount -1
@@ -1602,7 +1540,6 @@ Private Sub PDFGENERAR
If s.GetString("PE_CEDIS") = s.GetString("PE_PROID") Then
multiplicador = multiplicador +1
PDF.outtext(1,pagina-multiplicador*6,s.GetString("PE_PRONOMBRE") )
Else
PDF.sFont(PDF.fontHelvetica,0,7,PDF.colorBlack)
multiplicador = multiplicador +1
@@ -1610,7 +1547,6 @@ Private Sub PDFGENERAR
LogColor(s.GetLong("L_CANT"),Colors.Magenta)
LogColor(s.GetLong("L_COSTOU"),Colors.Magenta)
LogColor(s.GetLong("L_COSTO_TOT"),Colors.Magenta)
TAMANO = s.GetLong("L_CANT") + s.GetLong("L_COSTOU") + s.GetLong("L_COSTO_TOT")
ESPACIO = 92
BLANCO = " "
@@ -1622,16 +1558,11 @@ Private Sub PDFGENERAR
PDF.sFont(PDF.fontHelvetica,0,10,PDF.colorBlack)
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,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") )
End If
Next
End If
s.Close
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"))
@@ -1647,16 +1578,13 @@ Private Sub PDFGENERAR
If s.GetString("PE_CEDIS") = s.GetString("PE_PROID") Then
multiplicador = multiplicador +1
PDF.outtext(1,pagina-multiplicador*6,s.GetString("PE_PRONOMBRE") )
Else
PDF.sFont(PDF.fontHelvetica,0,7,PDF.colorBlack)
multiplicador = multiplicador +1
PDF.outtext(1,pagina-multiplicador*6,s.GetString("PE_PRONOMBRE"))
LogColor(s.GetLong("L_CANT"),Colors.Magenta)
LogColor(s.GetLong("L_COSTOU"),Colors.Magenta)
LogColor(s.GetLong("L_COSTO_TOT"),Colors.Magenta)
TAMANO = s.GetLong("L_CANT") + s.GetLong("L_COSTOU") + s.GetLong("L_COSTO_TOT")
ESPACIO = 92
BLANCO = " "
@@ -1668,12 +1596,10 @@ Private Sub PDFGENERAR
PDF.sFont(PDF.fontHelvetica,0,10,PDF.colorBlack)
multiplicador = multiplicador +1
PDF.outtext(1,pagina-multiplicador*6, s.GETSTRING("PE_CANT") & BLANCO & s.GETSTRING("PE_COSTOU") & BLANCO & s.GETSTRING("PE_COSTO_TOT"))
End If
Next
End If
s.Close
' multiplicador = multiplicador +1
' pdf.outtext(1,pagina-multiplicador*6," " )
multiplicador = multiplicador +1
@@ -1709,8 +1635,7 @@ Private Sub PDFGENERAR
PDF.outtext(1,pagina-multiplicador*6," " )
multiplicador = multiplicador +1
PDF.outtext(1,pagina-multiplicador*6," " )
' 'all combinations of font normal, bold,italic,underline and strikethrough
' For i=0 To 15
' 'select a font
@@ -1730,7 +1655,7 @@ Private Sub PDFGENERAR
openPDF(sDate&sTime&".pdf")
End If
nombrepdf =sDate&sTime&".pdf"
GUADAVENTA2
GuardaVenta2
End Sub
private Sub savePDF(apdf As cPDF,afile As String,acompress As Int)
@@ -1745,7 +1670,6 @@ private Sub savePDF(apdf As cPDF,afile As String,acompress As Int)
' '......
' #End If
' apdf.saveToFile(folder,afile,acompress)
Dim folder As String
#if B4J
folder = xui.DefaultFolder
@@ -1756,10 +1680,8 @@ private Sub savePDF(apdf As cPDF,afile As String,acompress As Int)
#if B4I
folder = File.DirDocuments
#End If
' Guardar el PDF
apdf.saveToFile(folder, afile, acompress)
' Mostrar mensaje de éxito
Log($"PDF guardado en: ${File.Combine(folder, afile)}"$)
End Sub
@@ -1781,7 +1703,6 @@ private Sub openPDF(afile As String)
#End If
End Sub
Sub imprime_venta
c=skmt.ExecQuery("select USUARIO from usuarioa")
c.Position=0
@@ -2034,7 +1955,7 @@ Sub imprime_venta
If resultado = DialogResponse.POSITIVE Then
B_IMP_Click
Else
GUADAVENTA2
GuardaVenta2
End If
End If
@@ -2856,11 +2777,8 @@ Sub Camera1_Ready (Success As Boolean)
End If
End Sub
Sub Camera1_PictureTaken (Data() As Byte)
If b_foto_inci.Text = "Foto tienda" Then
DateTime.DateFormat="ddMMyyyyHHmmss"
fototomada = DateTime.Now & "_cliente.jpg"
Dim filename As String = fototomada
@@ -2868,19 +2786,17 @@ Sub Camera1_PictureTaken (Data() As Byte)
camEx.SavePictureToFile(Data, dir, filename)
camEx.StartPreview 'restart preview
ToastMessageShow("Picture saved." & CRLF & "File size: " & File.Size(dir, filename), True)
Dim Dirp As String = File.DirInternal
Dim dir As String
Dim Dir2 As String
Try
File.MakeDir(Dirp,"/adm")
dir = "/amd"
dir = "/adm"
Log("creado en promotoria " & Dirp & dir)
Catch
dir = ""
Log("creado en raiz")
End Try
Try
File.MakeDir(Dirp & dir,"/reduccion")
Dir2 = "/reduccion"
@@ -2889,12 +2805,10 @@ Sub Camera1_PictureTaken (Data() As Byte)
dir = ""
Log("creado en raiz")
End Try
DateTime.DateFormat = "MM/dd/yyyy"
DateTime.TimeFormat = "HH:mm:ss"
sDate = DateTime.Date(DateTime.Now)
sTime = DateTime.Time(DateTime.Now)
camEx.SavePictureToFile(Data, Dirp&dir, filename)
camEx.StartPreview 'restart preview
ToastMessageShow("Picture saved." & CRLF & "File size: " & File.Size(dir, filename) & dir &"," & filename, True)
@@ -2916,19 +2830,17 @@ Sub Camera1_PictureTaken (Data() As Byte)
camEx.SavePictureToFile(Data, dir, filename)
camEx.StartPreview 'restart preview
ToastMessageShow("Picture saved." & CRLF & "File size: " & File.Size(dir, filename), True)
Dim Dirp As String = File.DirInternal
Dim dir As String
Dim Dir2 As String
Try
File.MakeDir(Dirp,"/adm")
dir = "/amd"
dir = "/adm"
Log("creado en promotoria " & Dirp & dir)
Catch
dir = ""
Log("creado en raiz")
End Try
Try
File.MakeDir(Dirp & dir,"/reduccion")
Dir2 = "/reduccion"
@@ -2937,23 +2849,18 @@ Sub Camera1_PictureTaken (Data() As Byte)
dir = ""
Log("creado en raiz")
End Try
DateTime.DateFormat = "MM/dd/yyyy"
DateTime.TimeFormat = "HH:mm:ss"
sDate = DateTime.Date(DateTime.Now)
sTime = DateTime.Time(DateTime.Now)
camEx.SavePictureToFile(Data, Dirp&dir, filename)
camEx.StartPreview 'restart preview
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)
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)
img.WriteToStream(out, 100, "PNG")
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 ))
b_foto_inci.Text = "Foto tienda"
ChangeCamera_Click
@@ -2966,12 +2873,11 @@ Sub Camera1_PictureTaken (Data() As Byte)
Else
B4XPages.MainPage.tipo_venta = "PREVENTA"
End If
B4XPages.ShowPage("productos")
' B4XPages.ShowPage("productos")
p_transparentePidePeso.Visible = True
End If
End Sub
Sub ChangeCamera_Click
camEx.Release
frontCamera = Not(frontCamera)
@@ -2985,7 +2891,6 @@ Private Sub StopCamera
End If
End Sub
Private Sub p_camara_Click
End Sub
@@ -3137,10 +3042,8 @@ End Sub
' End If
'End Sub
Private Sub b_acept_tp_Click
If rb_efectivo.Checked Or rb_tranfe.Checked Or rb_tarjetacredito.Checked Or rb_tarjetadebito.Checked Then
Dim metopago As String
If rb_efectivo.Checked Then
metopago = "EFECTIVO"
@@ -3151,7 +3054,6 @@ Private Sub b_acept_tp_Click
Else If rb_tarjetacredito.Checked Then
metopago = "TARJETA DE CREDITO"
End If
Guardar.Enabled = True
gest.Enabled = True
b_cxc.Enabled = True
@@ -3160,18 +3062,14 @@ Private Sub b_acept_tp_Click
b_ventaabordo.Enabled = True
HIST.Enabled = True
banderaimp = 1
If chb_impreso.Checked Then
' 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) ", _
Array As String(metopago, et_com_tp.Text, "CORREO"))
' Generar el PDF primero
PDFGENERAR
PDFGenerar
' Esperar un momento para que se genere el PDF
Sleep(500)
' Obtener el nombre del archivo PDF recién generado
Dim pdfFileName As String =nombrepdf
' /data/user/0/adm.keymon.com.mx/files/shared/22142025121454.pdf
@@ -3179,7 +3077,6 @@ Private Sub b_acept_tp_Click
Log(xui.DefaultFolder)
Log(nombrepdf)
If File.Exists(Starter.fFileProvider.SharedFolder, pdfFileName) Then
Dim email As Email
' email.To.Add("soporte@keymonsoft.com")
email.Subject = "Adjunto encontrará el ticket de venta"
@@ -3188,7 +3085,6 @@ Private Sub b_acept_tp_Click
Dim in As Intent = email.GetIntent
in.Flags = 1 'FLAG_GRANT_READ_URI_PERMISSION
StartActivity(in)
Else
ToastMessageShow("No se encontró el archivo PDF para enviar", True)
End If
@@ -3196,9 +3092,8 @@ Private Sub b_acept_tp_Click
' 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) ", _
Array As String(metopago, et_com_tp.Text, "IMPRESO"))
PDFGENERAR
PDFGenerar
End If
' Limpiar controles
rb_efectivo.Checked = False
rb_tranfe.Checked = False
@@ -3209,4 +3104,44 @@ Private Sub b_acept_tp_Click
Else
MsgboxAsync("Selecciona un metodo de pago.", "Atención")
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

@@ -23,7 +23,7 @@ Sub Class_Globals
Private qr As QRCode
' Dim sc As Zxing_scanner
Dim CODIGO As String
Dim STIME As String
Dim sTime As String
Dim ruta As String
Dim q_buscar As String
@@ -39,6 +39,45 @@ Sub Class_Globals
Private l_baseodia 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_opcion7 As RadioButton
Private r_opcion6 As RadioButton
Private r_opcion5 As RadioButton
Private r_opcion4 As RadioButton
Private r_opcion3 As RadioButton
Private r_opcion2 As RadioButton
Private r_opcion1 As RadioButton
Dim motivo As String
Private p_camara As Panel
Private b_foto_inci As Button
Private b_cam As Button
Private p_cam As Panel
Private camEx As CameraExClass
Private frontCamera As Boolean = False
Dim laCam As C_Camara
Dim fototomada As String = "0"
Dim sDate As String
Dim sTime As String
Private nombreFoto As String
Dim fotoCerrado As String = ""
Private p_botonesCam As Panel
Dim reqManager As DBRequestManager
Private p_clientesLista As Panel
Private p_transparenciaEsperaGPS As Panel
Private p_esperaGPS As Panel
End Sub
'You can add more parameters here.
@@ -59,7 +98,15 @@ Private Sub B4XPage_Created (Root1 As B4XView)
' Else
ruta = File.DirInternal
' 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)
p_transparenciaEsperaGPS.Width = Root.Width : p_transparenciaEsperaGPS.Height = Root.Height
p_transparenciaEsperaGPS.Top = 0 : p_transparenciaEsperaGPS.Left = 0
Subs.centraPanel(p_esperaGPS, p_transparenciaEsperaGPS.Width)
' 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
'TOME LA NUEVA ESTRUCTURA ES MUY IMPORTANTE TENER EL IF DE LO CONTRARIO SOLO LO ESCRIBE UNA VEZ Y LO BORRA
@@ -68,18 +115,38 @@ Private Sub B4XPage_Created (Root1 As B4XView)
File.Copy(File.DirAssets, "kmt.db", ruta, "kmt.db")
End If
qr.initialize
reqManager.Initialize(Me, Starter.DBReqServer)
laCam.Initialize
End Sub
Sub B4XPage_Appear
' p_transparenciaEsperaGPS.Visible = True
Log("################ Iniciando revision de ubicación #############")
Log($"${B4XPages.MainPage.lat_gps},${B4XPages.MainPage.lon_gps}"$)
If B4XPages.MainPage.lat_gps.Length < 4 Or B4XPages.MainPage.lon_gps.Length < 4 Then
ProgressDialogShow2("Buscando ubicación ...", False)
CallSubDelayed(Tracker, "Track")
CallSubDelayed(Tracker, "StartFLPSmall")
wait for GPS_LocationChanged (location1 As Location)
ProgressDialogHide
End If
Log("############### Terminando revision de ubicación #############")
l_baseodia.Text = "Clientes del día de visita"
p_clientes.Width = Root.Width : p_clientes.Height = Root.Height
p_clientes.Top = 0 : p_clientes.Left = 0
Subs.centraPanel(p_clientesLista, p_clientes.Width)
p_clientesLista.Height = Root.Height * 0.65
CustomListView1.AsView.Height = Root.Height * 0.6
CustomListView1.Base_Resize(Root.Width, Root.Height * 0.6)
CHECK = 0
busca.Text = ""
entro ="2"
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
lfila.Text = "NOMBRE"
CustomListView1.Clear
For i = 0 To c.RowCount - 1
c.Position = i
@@ -90,8 +157,7 @@ Sub B4XPage_Appear
Else
cxc.Visible = True
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")}'"$)
' LogColor(d.RowCount,Colors.Blue)
If d.RowCount > 0 Then
@@ -122,71 +188,93 @@ Sub B4XPage_Appear
End If
c.Close
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
Sub CreateListItem(mostrar As String, mostrar1 As String, mostrar2 As String) As Panel
Sub GPS_LocationChanged (Location1 As Location)
' If p_transparenciaEsperaGPS.IsInitialized Then p_transparenciaEsperaGPS.Visible = False
ProgressDialogHide
End Sub
Sub CreateListItem(nombre As String, direccion0 As String, cliente As String) As Panel
Dim p As B4XView = xui.CreatePanel("")
p.SetLayoutAnimated(0, 0, 0, 1, 220)
p.LoadLayout("datoscliente")
p.Height= 60dip
' p.LoadLayout("datoscliente")
p.LoadLayout("datosclienteBotones")
p.Height = 95dip
b_inicioVenta.Tag = cliente
' p.Width = clv_orden.GetBase.Width
nombrecliente.Text = mostrar
direccion.Text = mostrar1
numerocliente.Text = mostrar2
p_datosclie.Tag = mostrar2
nombrecliente.Text = nombre
direccion.Text = direccion0
numerocliente.Text = cliente
p_datosclie.Tag = cliente
' cxc.Text = mostrar3
' Log(p.Width)
Return p
End Sub
Sub ListView1_ItemClick (Position As Int, value As Object)
If colonia = 0 Then
colonia = value
End If
If entro = "2" Then
c2=B4XPages.MainPage.skmt.ExecQuery2("select CAT_CL_CALLE, CAT_CL_COLONIA, count(*) as cuantos from kmt_info where gestion = 0 and CAT_CL_COLONIA = ? GROUP BY CAT_CL_CALLE, CAT_CL_COLONIA order by CAT_CL_CALLE ", Array As String(value))
ListView1.Clear
lfila.text = "Calle"
If c2.RowCount>0 Then
For i=0 To c2.RowCount -1
c2.Position=i
ListView1.AddTwoLines(c2.GetString("CAT_CL_CALLE"),c2.GetString("cuantos") )
Next
End If
entro = "3"
Else If entro = "3" Then
c2=B4XPages.MainPage.skmt.ExecQuery2("select CAT_CL_NOMBRE, CAT_CL_CALLE, CAT_CL_CODIGO from kmt_info where gestion = 0 and CAT_CL_CALLE = ? AND CAT_CL_COLONIA = ? order by CAT_CL_NOMBRE ", Array As String(value, colonia))
ListView1.Clear
lfila.text = "Nombre"
If c2.RowCount>0 Then
For i=0 To c2.RowCount -1
c2.Position=i
ListView1.AddTwoLines(c2.GetString("CAT_CL_CODIGO"), c2.GetString("CAT_CL_NOMBRE"))
Next
End If
entro = "4"
Else If entro = "4" Then
B4XPages.MainPage.skmt.ExecNonQuery("delete from CUENTAA")
B4XPages.MainPage.skmt.ExecNonQuery2("INSERT INTO CUENTAA VALUES (?)", Array As Object(value))
DateTime.TimeFormat = "HHmmss"
STIME=DateTime.Time(DateTime.Now)
Starter.pre_viejo = Subs.traeTotalClientepreventaparacredito
s=B4XPages.MainPage.skmt.ExecQuery2("SELECT COUNT(*) AS CUANTOS FROM HIST_STAY_STORE WHERE HSS_IN = ? AND HSS_CODIGO In (select cuenta from cuentaa)", Array As String("0"))
s.Position = 0
If s.GetString("CUANTOS") = 1 Then
B4XPages.MainPage.skmt.ExecNonQuery2("UPDATE HIST_STAY_STORE set HSS_IN = ? where HSS_IN = 0 AND HSS_CODIGO In (select cuenta from cuentaa)", Array As Object(STIME))
Else
B4XPages.MainPage.skmt.ExecNonQuery2("INSERT INTO HIST_STAY_STORE(HSS_CODIGO, HSS_IN , HSS_OUT , HSS_TOT) VALUES (?,0,0,0)", Array As Object (value))
B4XPages.MainPage.skmt.ExecNonQuery2("UPDATE HIST_STAY_STORE set HSS_IN = ? where HSS_IN = 0 AND HSS_CODIGO In (select cuenta from cuentaa)", Array As Object(STIME))
End If
B4XPages.MainPage.skmt.ExecNonQuery2("UPDATE HIST_STAY_OUT set HSO_INI = ? where HSO_INI = 0 ", Array As Object(STIME))
DateTime.TimeFormat = "HH:mm:ss"
Subs.guardaClienteHoraInicio(value)
B4XPages.ShowPage("Cliente")
End If
' If colonia = 0 Then
' colonia = value
' End If
' If entro = "2" Then
' c2=B4XPages.MainPage.skmt.ExecQuery2("select CAT_CL_CALLE, CAT_CL_COLONIA, count(*) as cuantos from kmt_info where gestion = 0 and CAT_CL_COLONIA = ? GROUP BY CAT_CL_CALLE, CAT_CL_COLONIA order by CAT_CL_CALLE ", Array As String(value))
' ListView1.Clear
' lfila.text = "Calle"
' If c2.RowCount>0 Then
' For i=0 To c2.RowCount -1
' c2.Position=i
' ListView1.AddTwoLines(c2.GetString("CAT_CL_CALLE"),c2.GetString("cuantos") )
' Next
' End If
' entro = "3"
' Else If entro = "3" Then
' c2=B4XPages.MainPage.skmt.ExecQuery2("select CAT_CL_NOMBRE, CAT_CL_CALLE, CAT_CL_CODIGO from kmt_info where gestion = 0 and CAT_CL_CALLE = ? AND CAT_CL_COLONIA = ? order by CAT_CL_NOMBRE ", Array As String(value, colonia))
' ListView1.Clear
' lfila.text = "Nombre"
' If c2.RowCount>0 Then
' For i=0 To c2.RowCount -1
' c2.Position=i
' ListView1.AddTwoLines(c2.GetString("CAT_CL_CODIGO"), c2.GetString("CAT_CL_NOMBRE"))
' Next
' End If
' entro = "4"
' Else If entro = "4" Then
' B4XPages.MainPage.skmt.ExecNonQuery("delete from CUENTAA")
' B4XPages.MainPage.skmt.ExecNonQuery2("INSERT INTO CUENTAA VALUES (?)", Array As Object(value))
' DateTime.TimeFormat = "HHmmss"
' sTime=DateTime.Time(DateTime.Now)
' Starter.pre_viejo = Subs.traeTotalClientepreventaparacredito
' s=B4XPages.MainPage.skmt.ExecQuery2("SELECT COUNT(*) AS CUANTOS FROM HIST_STAY_STORE WHERE HSS_IN = ? AND HSS_CODIGO In (select cuenta from cuentaa)", Array As String("0"))
' s.Position = 0
' If s.GetString("CUANTOS") = 1 Then
' B4XPages.MainPage.skmt.ExecNonQuery2("UPDATE HIST_STAY_STORE set HSS_IN = ? where HSS_IN = 0 AND HSS_CODIGO In (select cuenta from cuentaa)", Array As Object(sTime))
' Else
' B4XPages.MainPage.skmt.ExecNonQuery2("INSERT INTO HIST_STAY_STORE(HSS_CODIGO, HSS_IN , HSS_OUT , HSS_TOT) VALUES (?,0,0,0)", Array As Object (value))
' B4XPages.MainPage.skmt.ExecNonQuery2("UPDATE HIST_STAY_STORE set HSS_IN = ? where HSS_IN = 0 AND HSS_CODIGO In (select cuenta from cuentaa)", Array As Object(sTime))
' End If
' B4XPages.MainPage.skmt.ExecNonQuery2("UPDATE HIST_STAY_OUT set HSO_INI = ? where HSO_INI = 0 ", Array As Object(sTime))
' DateTime.TimeFormat = "HH:mm:ss"
'
' Subs.guardaClienteHoraInicio(value)
'
' B4XPages.ShowPage("Cliente")
' End If
End Sub
Private Sub B4XPage_CloseRequest As ResumableSub
@@ -196,6 +284,10 @@ Private Sub B4XPage_CloseRequest As ResumableSub
' StartActivity(seleccion)
' Return False
' 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
End Sub
@@ -216,8 +308,7 @@ Sub BUSCA_TextChanged (Old As String, New As String)
Else
cxc.Visible = True
End If
d = B4XPages.MainPage.skmt.ExecQuery($"select IFNULL(CAT_CL_BCREDITO,0) AS CAT_CL_BCREDITO FROM kmt_info WHERE CAT_CL_CODIGO = '${c2.GetString("CAT_CL_CODIGO")}'"$)
' LogColor(d.RowCount,Colors.Blue)
If d.RowCount > 0 Then
@@ -233,8 +324,7 @@ Sub BUSCA_TextChanged (Old As String, New As String)
CREDITO.Visible = False
End If
Next
If c2.RowCount>0 Then
For i=0 To c2.RowCount -1
c2.Position=i
@@ -271,7 +361,7 @@ Sub BUSCA_TextChanged (Old As String, New As String)
' LogColor(d.RowCount,Colors.Blue)
If d.RowCount > 0 Then
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
CREDITO.Visible = True
Else
@@ -282,8 +372,7 @@ Sub BUSCA_TextChanged (Old As String, New As String)
CREDITO.Visible = False
End If
Next
If c2.RowCount>0 Then
For i=0 To c2.RowCount -1
c2.Position=i
@@ -353,66 +442,64 @@ Private Sub p_clientes_Click
End Sub
Private Sub p_datosclie_Click
If colonia = 0 Then
colonia = Sender.As(Panel).tag
End If
If entro = "2" Then
c2=B4XPages.MainPage.skmt.ExecQuery2("select CAT_CL_CALLE, CAT_CL_COLONIA, count(*) as cuantos from kmt_info where gestion = 0 and CAT_CL_COLONIA = ? GROUP BY CAT_CL_CALLE, CAT_CL_COLONIA order by CAT_CL_CALLE ", Array As String(Sender.As(Panel).tag))
ListView1.Clear
lfila.text = "Calle"
If c2.RowCount>0 Then
For i=0 To c2.RowCount -1
c2.Position=i
ListView1.AddTwoLines(c2.GetString("CAT_CL_CALLE"),c2.GetString("cuantos") )
Next
End If
entro = "3"
Else If entro = "3" Then
c2=B4XPages.MainPage.skmt.ExecQuery2("select CAT_CL_NOMBRE, CAT_CL_CALLE, CAT_CL_CODIGO from kmt_info where gestion = 0 and CAT_CL_CALLE = ? AND CAT_CL_COLONIA = ? order by CAT_CL_NOMBRE ", Array As String(Sender.As(Panel).tag, colonia))
ListView1.Clear
lfila.text = "Nombre"
If c2.RowCount>0 Then
For i=0 To c2.RowCount -1
c2.Position=i
ListView1.AddTwoLines(c2.GetString("CAT_CL_CODIGO"), c2.GetString("CAT_CL_NOMBRE"))
Next
End If
entro = "4"
Else If entro = "4" Then
B4XPages.MainPage.skmt.ExecNonQuery("delete from CUENTAA")
B4XPages.MainPage.skmt.ExecNonQuery2("INSERT INTO CUENTAA VALUES (?)", Array As Object(Sender.As(Panel).tag))
DateTime.TimeFormat = "HHmmss"
STIME=DateTime.Time(DateTime.Now)
s=B4XPages.MainPage.skmt.ExecQuery2("SELECT COUNT(*) AS CUANTOS FROM HIST_STAY_STORE WHERE HSS_IN = ? AND HSS_CODIGO In (select cuenta from cuentaa)", Array As String("0"))
s.Position = 0
If s.GetString("CUANTOS") = 1 Then
B4XPages.MainPage.skmt.ExecNonQuery2("UPDATE HIST_STAY_STORE set HSS_IN = ? where HSS_IN = 0 AND HSS_CODIGO In (select cuenta from cuentaa)", Array As Object(STIME))
Else
B4XPages.MainPage.skmt.ExecNonQuery2("INSERT INTO HIST_STAY_STORE(HSS_CODIGO, HSS_IN , HSS_OUT , HSS_TOT) VALUES (?,0,0,0)", Array As Object (Sender.As(Panel).tag))
B4XPages.MainPage.skmt.ExecNonQuery2("UPDATE HIST_STAY_STORE set HSS_IN = ? where HSS_IN = 0 AND HSS_CODIGO In (select cuenta from cuentaa)", Array As Object(STIME))
End If
B4XPages.MainPage.skmt.ExecNonQuery2("UPDATE HIST_STAY_OUT set HSO_INI = ? where HSO_INI = 0 ", Array As Object(STIME))
DateTime.TimeFormat = "HH:mm:ss"
Subs.guardaClienteHoraInicio(Sender.As(Panel).tag)
B4XPages.ShowPage("Cliente")
End If
' Log(Sender.As(Panel).tag)
' If colonia = 0 Then
' colonia = Sender.As(Panel).tag
' End If
' If entro = "2" Then
' c2=B4XPages.MainPage.skmt.ExecQuery2("select CAT_CL_CALLE, CAT_CL_COLONIA, count(*) as cuantos from kmt_info where gestion = 0 and CAT_CL_COLONIA = ? GROUP BY CAT_CL_CALLE, CAT_CL_COLONIA order by CAT_CL_CALLE ", Array As String(Sender.As(Panel).tag))
' ListView1.Clear
' lfila.text = "Calle"
' If c2.RowCount>0 Then
' For i=0 To c2.RowCount -1
' c2.Position=i
' ListView1.AddTwoLines(c2.GetString("CAT_CL_CALLE"),c2.GetString("cuantos") )
' Next
' End If
' entro = "3"
' Else If entro = "3" Then
' c2=B4XPages.MainPage.skmt.ExecQuery2("select CAT_CL_NOMBRE, CAT_CL_CALLE, CAT_CL_CODIGO from kmt_info where gestion = 0 and CAT_CL_CALLE = ? AND CAT_CL_COLONIA = ? order by CAT_CL_NOMBRE ", Array As String(Sender.As(Panel).tag, colonia))
' ListView1.Clear
' lfila.text = "Nombre"
' If c2.RowCount>0 Then
' For i=0 To c2.RowCount -1
' c2.Position=i
' ListView1.AddTwoLines(c2.GetString("CAT_CL_CODIGO"), c2.GetString("CAT_CL_NOMBRE"))
' Next
' End If
' entro = "4"
' Else If entro = "4" Then
' B4XPages.MainPage.skmt.ExecNonQuery("delete from CUENTAA")
' B4XPages.MainPage.skmt.ExecNonQuery2("INSERT INTO CUENTAA VALUES (?)", Array As Object(Sender.As(Panel).tag))
' DateTime.TimeFormat = "HHmmss"
' sTime=DateTime.Time(DateTime.Now)
'
' s=B4XPages.MainPage.skmt.ExecQuery2("SELECT COUNT(*) AS CUANTOS FROM HIST_STAY_STORE WHERE HSS_IN = ? AND HSS_CODIGO In (select cuenta from cuentaa)", Array As String("0"))
' s.Position = 0
' If s.GetString("CUANTOS") = 1 Then
' B4XPages.MainPage.skmt.ExecNonQuery2("UPDATE HIST_STAY_STORE set HSS_IN = ? where HSS_IN = 0 AND HSS_CODIGO In (select cuenta from cuentaa)", Array As Object(sTime))
' Else
' B4XPages.MainPage.skmt.ExecNonQuery2("INSERT INTO HIST_STAY_STORE(HSS_CODIGO, HSS_IN , HSS_OUT , HSS_TOT) VALUES (?,0,0,0)", Array As Object (Sender.As(Panel).tag))
' B4XPages.MainPage.skmt.ExecNonQuery2("UPDATE HIST_STAY_STORE set HSS_IN = ? where HSS_IN = 0 AND HSS_CODIGO In (select cuenta from cuentaa)", Array As Object(sTime))
' End If
' B4XPages.MainPage.skmt.ExecNonQuery2("UPDATE HIST_STAY_OUT set HSO_INI = ? where HSO_INI = 0 ", Array As Object(sTime))
' DateTime.TimeFormat = "HH:mm:ss"
'
' Subs.guardaClienteHoraInicio(Sender.As(Panel).tag)
'
' B4XPages.ShowPage("Cliente")
' End If
'' Log(Sender.As(Panel).tag)
End Sub
Private Sub b_buscar_Click
Log(CHECK)
' Log(CHECK)
If CHECK = 0 Then
l_baseodia.Text = "Clientes de base de datos"
CHECK = 1
busca.Text = ""
entro ="2"
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
lfila.Text = "NOMBRE"
ListView1.Clear
@@ -428,7 +515,7 @@ Private Sub b_buscar_Click
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")}'"$)
' LogColor(d.RowCount,Colors.Blue)
' LogColor(d.RowCount,Colors.Blue)
If d.RowCount > 0 Then
d.Position = 0
LogColor(d.GetString("CAT_CL_BCREDITO"),Colors.Blue)
@@ -511,6 +598,405 @@ Private Sub b_buscar_Click
End If
c.Close
entro = "4"
End If
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}')"$)
c = Starter.skmt.ExecQuery("SELECT * FROM FOTOINICIAL")
If c.RowCount = 0 Then
p_camara.Visible = True
InitializeCamera
p_camara.Left = 0
p_camara.Visible = True
nombreFoto = "inicio"
b_foto_inci.Text = "Foto tienda"
Else
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), "", B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps, "2", "", "", "")
Starter.enVenta = True
Subs.enVenta(1, "CLIENTES")
LogColor($">>>>>> INICIA VENTA: ${Starter.enVenta} - ${cliente}"$, Colors.red)
Log(Subs.traeRuta2(Subs.traeCliente))
End If
c = Starter.skmt.ExecQuery($"select PE_FOTO_CERRADO from PESOS where PE_CLIENTE = '${cliente}' and PE_FOTO_CERRADO = '1'"$)
If c.RowCount > 0 Then
fotoCerrado = "1"
Else
fotoCerrado = ""
End If
c.Close
Log("CLIENTE: " & cliente)
Log("FOTOCERRADO: " & fotoCerrado)
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), "", B4XPages.MainPage.lat_gps, B4XPages.MainPage.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), B4XPages.MainPage.lat_gps, B4XPages.MainPage.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
Subs.mandaPendientes
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
Log("No Venta")
p_noVenta.Visible = True
r_opcion1.Checked = True
r_opcion2.Checked = False
r_opcion3.Checked = False
r_opcion4.Checked = False
et_comentarioNoVenta.Text = ""
End Sub
Private Sub b_guardaNoVenta_Click
If r_opcion1.Checked Then
motivo = "CERRADO"
Else If r_opcion2.Checked Then
motivo = "NO TIENE DINERO"
Else If r_opcion3.Checked Then
motivo = "NO ABRE MAÑANA"
Else If r_opcion4.Checked Then
motivo = "FALTA DE PRODUCTO"
Else If r_opcion5.Checked Then
motivo = "PROMOCION CON OTRO DISTRIBUIDOR"
Else If r_opcion6.Checked Then
motivo = "RECIBEN MUCHOS PROVEEDORES"
Else
motivo = "NO LE QUEDA EL DIA"
End If
Log("FOTOCERRADO: " & fotoCerrado)
If motivo = "CERRADO" And fotoCerrado = "" Then
nombreFoto = Subs.traeCliente & "_cerrado"
p_camara.Height = Root.Height : p_camara.Width = Root.Width
p_camara.Left = 0 : p_camara.top = 0
Subs.centraPanel(p_cam, Root.Width)
Subs.centraPanel(p_botonesCam, Root.Width)
p_camara.Visible = True
InitializeCamera
p_camara.Visible = True
p_camara.BringToFront
b_foto_inci.Text = "Foto tienda"
Else
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, fotoCerrado)
Subs.bitacora(Subs.fechanormal(DateTime.Now), Subs.traeUsuarioDeBD, Subs.traeAlmacen, Subs.traeRuta, "No Venta", Subs.traeCliente, "", Subs.fechanormal(DateTime.Now), B4XPages.MainPage.lat_gps, B4XPages.MainPage.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 If
Subs.mandaPendientes
B4XPage_Appear
' 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
Private Sub p_camara_Click
End Sub
Private Sub b_foto_inci_Click
camEx.TakePicture
End Sub
Private Sub InitializeCamera
Starter.rp.CheckAndRequest(Starter.rp.PERMISSION_CAMERA)
Wait For B4XPage_PermissionResult (Permission As String, resulta As Boolean)
If resulta Then
camEx.Initialize(p_cam, frontCamera, Me, "Camera1")
frontCamera = camEx.Front
Else
ToastMessageShow("No permission!!!", True)
End If
End Sub
Sub Camera1_Ready (Success As Boolean)
If Success Then
camEx.SetJpegQuality(90)
camEx.SetContinuousAutoFocus
camEx.CommitParameters
camEx.StartPreview
Log(camEx.GetPreviewSize)
Else
ToastMessageShow("Cannot open camera.", True)
End If
End Sub
Sub Camera1_PictureTaken (Data() As Byte)
If b_foto_inci.Text = "Foto tienda" Then
DateTime.DateFormat="ddMMyyyyHHmmss"
fototomada = DateTime.Now & $"_${nombreFoto}.jpg"$
Dim filename As String = fototomada
Dim dir As String = File.DirInternal
camEx.SavePictureToFile(Data, dir, filename)
camEx.StartPreview 'restart preview
ToastMessageShow("Picture saved." & CRLF & "File size: " & File.Size(dir, filename), True)
Dim Dirp As String = File.DirInternal
Dim dir As String
Dim Dir2 As String
Try
File.MakeDir(Dirp,"/adm")
dir = "/adm"
Log("creado en promotoria " & Dirp & dir)
Catch
dir = ""
Log("creado en raiz")
End Try
Try
File.MakeDir(Dirp & dir,"/reduccion")
Dir2 = "/reduccion"
Log("creado en promotoria " & Dirp & dir & Dir2)
Catch
Dir2 = ""
Log("creado en raiz")
End Try
DateTime.DateFormat = "MM/dd/yyyy"
DateTime.TimeFormat = "HH:mm:ss"
sDate = DateTime.Date(DateTime.Now)
sTime = DateTime.Time(DateTime.Now)
camEx.SavePictureToFile(Data, Dirp&dir, filename)
camEx.StartPreview 'restart preview
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)
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)
img.WriteToStream(out, 100, "PNG")
out.Close
If nombreFoto = "inicio" Then
Starter.skmt.ExecNonQuery2("INSERT INTO FOTOINICIAL (RUTAA, ALMACEN, LATITUD, LONGITUD, FECHAHORA, FOTO, USUARIO) VALUES (?,?,?,?,?,?,?)",Array As Object(Subs.traeRuta, Subs.traeAlmacen, B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps, sDate & " " & sTime, File.ReadBytes(File.DirInternal & dir & Dir2, fototomada), Subs.traeUsuarioDeBD))
b_foto_inci.Text = "Foto usuario"
ChangeCamera_Click
Else
fotoCerrado = fototomada
p_camara.Visible = False
StopCamera
End If
Else If b_foto_inci.Text = "Foto usuario" Then
DateTime.DateFormat="ddMMyyyyHHmmss"
fototomada = fototomada = DateTime.Now & $"_${nombreFoto}.jpg"$
Dim filename As String = fototomada
Dim dir As String = File.DirInternal
camEx.SavePictureToFile(Data, dir, filename)
camEx.StartPreview 'restart preview
ToastMessageShow("Picture saved." & CRLF & "File size: " & File.Size(dir, filename), True)
Dim Dirp As String = File.DirInternal
Dim dir As String
Dim Dir2 As String
Try
File.MakeDir(Dirp,"/adm")
dir = "/adm"
Log("creado en promotoria " & Dirp & dir)
Catch
dir = ""
Log("creado en raiz")
End Try
Try
File.MakeDir(Dirp & dir,"/reduccion")
Dir2 = "/reduccion"
Log("creado en promotoria " & Dirp & dir & Dir2)
Catch
dir = ""
Log("creado en raiz")
End Try
DateTime.DateFormat = "MM/dd/yyyy"
DateTime.TimeFormat = "HH:mm:ss"
sDate = DateTime.Date(DateTime.Now)
sTime = DateTime.Time(DateTime.Now)
camEx.SavePictureToFile(Data, Dirp&dir, filename)
camEx.StartPreview 'restart preview
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)
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)
img.WriteToStream(out, 100, "PNG")
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,Subs.traeRuta, Subs.traeAlmacen ))
b_foto_inci.Text = "Foto tienda"
ChangeCamera_Click
p_camara.Visible = False
StopCamera
If Subs.traeCliente = "0" Then
B4XPages.MainPage.tipo_venta = "ABORDO"
Else If Subs.traeCliente = "1" Then
B4XPages.MainPage.tipo_venta = "RECARGA"
Else
B4XPages.MainPage.tipo_venta = "PREVENTA"
End If
' B4XPages.ShowPage("productos")
' p_transparentePidePeso.Visible = True
End If
End Sub
Sub ChangeCamera_Click
camEx.Release
frontCamera = Not(frontCamera)
InitializeCamera
End Sub
Private Sub StopCamera
' Capturing = False
If camEx.IsInitialized Then
camEx.Release
End If
End Sub
Sub mandaPendientes
'' PEDIDO_CLIENTE (Pendientes)
' Log(">>>>>>> MANDA PENDIENTES")
' Dim PCNoArts As String
' Dim PCMonto As String
' If Subs.traeUsuarioDeBD <> "KMTS1" Then
' 'PESOS (Pendientes)
' c = Starter.skmt.ExecQuery($"SELECT * FROM PESOS where PE_ENVIO_OK <> 1"$)
' Log($"PESOS PENDIENTE: ${c.RowCount}"$)
' If c.RowCount>0 Then
' For i = 0 To c.RowCount -1
' c.Position = i
' Dim cmd As DBCommand
' cmd.Initialize
'' cmd.Name = "insert_pedido2_ADM"
'' cmd.Parameters = Array As Object(c.GetString("PE_CEDIS"),c.GetString("PE_CEDIS"),c.GetString("PE_IDALMACEN"),c.GetString("PE_COSTO_TOT"),c.GetString("PE_COSTOU"),c.GetString("PE_CANT"),c.GetString("PE_PRONOMBRE"),c.GetString("PE_PROID"),c.GetString("PE_CLIENTE"),c.GetString("PE_FECHA"),c.GetString("PE_USUARIO"),Subs.traeRuta2(c.GetString("PE_CLIENTE")), c.GetString("PE_COSTO_SIN"),c.GetString("PE_DESC"),c.GetString("PE_FOLIO"),c.GetString("PE_CANTC"),c.GetString("PE_BCAJAS"),c.GetString("PE_TIPOPAGO"),c.GetString("PE_COMENTARIO"))
'' reqManager.ExecuteCommand(cmd , $"ins_pedidosPendientes_prods_${c.GetString("PE_CLIENTE")}_${c.GetString("PE_PROID")}"$)
'' Log($">>>> INS_PEDIDO= ${C.GetString("PE_CEDIS")},${ALMACEN},${C.GetString("PE_COSTO_TOT")},${C.GetString("PE_COSTOU")},${C.GetString("PE_CANT")}, ${C.GetString("PE_PRONOMBRE")}, ${C.GetString("PE_PROID")}, ${C.GetString("PE_CLIENTE")}, ${C.GetString("PE_FECHA")}, ${C.GetString("PE_USUARIO")}, ${C.GetString("PE_RUTA")}, ${C.GetString("PE_COSTO_SIN")}, ${C.GetString("PE_DESC")}, ${c.GetString("PE_FOLIO")}, ${PCNoArts}, ${PCMonto}"$)
'' sql.insert_pedido_INTMEX=INSERT INTO INTMEX.PEDIDO (PE_CODPROMO,PE_FECHA_SINC,PE_IDALMACEN,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO,PE_RUTA,PE_COSTO_SIN, PE_DESCUENTO, PE_TIPO) VALUES ((?),SYSDATE,(?),(?),(?),(?),(?),(?),(?),(?),(?),(?),(?),nvl((?),0),(?))
'' sql.insert_pedido2_INTMEX=INSERT INTO INTMEX.PEDIDO (PE_CODPROMO,PE_FECHA_SINC,PE_IDALMACEN,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO,PE_RUTA,PE_COSTO_SIN, PE_DESCUENTO, PE_TIPO, PE_CANT_TOTAL, PE_VENTA_TOTAL) VALUES ((?),SYSDATE,(?),(?),(?),(?),(?),(?),(?),(?),(?),(?),(?),nvl((?),0),(?),(?),(?))
'
' Dim cmd As DBCommand
' cmd.Initialize
' cmd.Name = "insertPesos"
'' Log(c.GetString("PE_IDALMACEN")&", "&ALMACEN&", "&c.GetString("PE_COSTO_TOT")&", "&c.GetString("PE_COSTOU")&", "&c.GetString("PE_CANT")&", "&c.GetString("PE_PRONOMBRE")&", "&c.GetString("PE_PROID")&", "&c.GetString("PE_CLIENTE")&", "&c.GetString("PE_FECHA")&", "&c.GetString("PE_USUARIO")&", "&Subs.traeRuta2(c.GetString("PE_CLIENTE"))&", "& c.GetString("PE_COSTO_SIN")&", "&c.GetString("PE_DESC")&", "&c.GetString("PE_FOLIO")&", "& ALMACEN)
' cmd.Parameters = Array As Object(c.GetString("PE_IDALMACEN"),c.GetString("PE_RUTA"),c.GetString("PE_USUARIO"),c.GetString("PE_CLIENTE"),c.GetString("PE_PESO"),c.GetString("PE_FECHA"),c.GetString("PE_TIPO"),c.GetString("PE_COMENTARIO"),c.GetString("PE_FOTO_CERRADO"))
'' Log($">>>> insertPesos= ${C.GetString("PE_IDALMACEN")},${c.GetString("PE_RUTA")},${C.GetString("PE_USUARIO")},${C.GetString("PE_CLIENTE")},${C.GetString("PE_PESO")}, ${C.GetString("PE_FECHA")}"$)
' reqManager.ExecuteCommand(cmd , $"insertPesos_${c.GetString("PE_CLIENTE")}"$)
' Next
' End If
' c.Close
' End If
End Sub
Sub JobDone(Job As HttpJob)
Log("INICA JOBDONE CLIENTES - " & Job.Tag)
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($">>>>>> Recibimos y quitamos ${Job.tag.As(String).ToUpperCase}"$, Colors.Blue)
End If
LogColor(">>>>>> " & reqManager.reqsList.Size & " - " & reqManager.reqsList, Colors.Blue)
End If
If Job.Success = False Then
LogColor("############################################", Colors.red)
LogColor("###### JobError: " & Job.Tag & CRLF & Job.ErrorMessage, Colors.red)
LogColor("############################################", Colors.red)
' LogColor("Error2: " & Job.ErrorMessage, Colors.red)
' LogColor("Error1: " & reqManager.HandleJob(Job).tag, Colors.red)
' LogColor("Error: " & reqManager.HandleJob(Job).tag & " : " & Job.ErrorMessage, Colors.red)
' Job.Release
Else 'If Job Success then ...
Try
LogColor(" >> JobSuccess: '" & reqManager.HandleJob(Job).tag & CRLF & " >> Registros: " & reqManager.HandleJob(Job).Rows.Size, Colors.RGB(0,160,0)) 'Mod por CHV - 211027
If Job.JobName = "DBRequest" Then
Dim RESULT As DBResult = reqManager.HandleJob(Job)
If RESULT.Tag.As(String).StartsWith("insertPesos_") 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)))
Starter.skmt.ExecNonQuery($"update pesos set PE_ENVIO_OK = 1 where PE_CLIENTE = '${id(1)}'"$)
' Log($"update bitacoragps set enviado = 1 where id = '${id(1)}'"$)
Next
End If
Next
End If
End If
Catch
Log(LastException)
End Try
End If
LogColor(">>>>> Job.Release Clientes - " & Job.Tag, Colors.RGB(179, 146, 0))
Job.Release
End Sub
Private Sub p_transparenciaEsperaGPS_Click
End Sub

View File

@@ -75,6 +75,7 @@ End Sub
Sub CANCELA_Click
B4XPages.ShowPage("Cliente")
End Sub
Sub GUARDA_Click
If r_1.Checked Then
motivo = "CERRADO"
@@ -102,7 +103,6 @@ Sub GUARDA_Click
Next
End If
' B4XPages.MainPage.skmt.ExecNonQuery("delete from pedido_cliente where pc_cliente in (Select CUENTA from cuentaa)")
' B4XPages.MainPage.skmt.ExecNonQuery("delete from pedido where pe_cliente in (Select CUENTA from cuentaa)")
@@ -131,6 +131,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))
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), B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps, B4XPages.MainPage.cliente.precision, motivo, e_comm.text, "")
mandaPendientesnoventa
B4XPages.ShowPage("Principal")
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))
' 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")
CallSubDelayed(Tracker, "StartFLP")
Else

File diff suppressed because it is too large Load Diff

View File

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

View File

@@ -13,9 +13,51 @@ Sub Class_Globals
Dim S As Cursor
Dim ruta As String
Dim ListView1 As ListView
Dim b_noventa As Button
Dim b_noventa0 As Button
Dim nombre_boton As String
Dim STIME As String
Private p_transparenciaIniciaInicioFinVenta As Panel
Private p_inicioFinVenta As Panel
Private b_finVenta As Button
Private l_finVenta As Label
Private p_guardarPeso As Panel
Private l_guardarPeso As Label
Private et_guardarPeso As EditText
Private b_noVenta As Button
Private b_guardarPeso As Button
Private p_botonesGuardarPeso As Panel
Private p_noVenta As Panel
Private p_botonesNoVenta As Panel
Private b_cancelaNoVenta As Button
Private b_guardaNoVenta As Button
Private Panel5 As Panel
Private et_comentarioNoVenta As EditText
Private Label3 As Label
Private r_opcion7 As RadioButton
Private r_opcion6 As RadioButton
Private r_opcion5 As RadioButton
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
Private p_camara As Panel
Private p_botonesCam As Panel
Private b_cam As Button
Private b_foto_inci As Button
Private p_cam As Panel
Private camEx As CameraExClass
Private frontCamera As Boolean = False
Dim laCam As C_Camara
Dim fototomada As String = "0"
Dim sDate As String
Dim STIME As String
Private nombreFoto As String
Dim fotoCerrado As String = ""
Private p_botonesCam As Panel
Dim motivo As String
Dim reqManager As DBRequestManager
Private p_camara2 As Panel
End Sub
'You can add more parameters here.
@@ -32,38 +74,52 @@ Private Sub B4XPage_Created (Root1 As B4XView)
If File.Exists(ruta, "kmt.db") = False Then
File.Copy(File.DirAssets, "kmt.db", ruta, "kmt.db")
End If
c = B4XPages.MainPage.skmt.ExecQuery("select PC_CLIENTE,PC_MONTO,PC_NOART FROM PEDIDO_CLIENTE ORDER BY PC_FECHA asc")
ListView1.Clear
If c.RowCount>0 Then
For i=0 To c.RowCount -1
c.Position=i
Dim label1 As Label
label1 = ListView1.TwoLinesLayout.Label
label1.TextSize = 10
label1.TextColor = Colors.Black
Dim label2 As Label
label2 = ListView1.TwoLinesLayout.SecondLabel
label2.TextSize = 13
label2.TextColor = Colors.Blue
ListView1.AddTwoLines(c.GetString("PC_CLIENTE"),"Cantidad #"& c.GetString("PC_NOART")& " SubTotal $"& c.GetString("PC_MONTO"))
Next
End If
' c = B4XPages.MainPage.skmt.ExecQuery("select PC_CLIENTE, PC_MONTO, PC_NOART FROM PEDIDO_CLIENTE ORDER BY PC_FECHA asc")
' ListView1.Clear
' If c.RowCount>0 Then
' For i=0 To c.RowCount -1
' c.Position=i
' Dim label1 As Label
' label1 = ListView1.TwoLinesLayout.Label
' label1.TextSize = 10
' label1.TextColor = Colors.Black
' Dim label2 As Label
' label2 = ListView1.TwoLinesLayout.SecondLabel
' label2.TextSize = 13
' label2.TextColor = Colors.Blue
' ListView1.AddTwoLines(c.GetString("PC_CLIENTE"),"SubTotal "& c.GetString("PC_MONTO") & " kgs.")
' Next
' 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)
reqManager.Initialize(Me, Starter.DBReqServer)
End Sub
'You can see the list of page related events in the B4XPagesManager object. The event name is B4XPage.
Sub B4XPage_Appear
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")
p_transparenciaIniciaInicioFinVenta.Visible = False
p_ticketsdia.Height = Root.Height : p_ticketsdia.Width = Root.Width
p_ticketsdia.Top = 0 : p_ticketsdia.Left = 0
ListView1.Left = (Root.Width / 2) - (ListView1.Width / 2)
ListView1.Width = Root.Width * 0.8
' 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
fotoCerrado = ""
ListView1.Clear
ListView1.Height = Root.Height * 0.8
b_noventa0.Top = ListView1.Top + ListView1.Height
ListView1.TwoLinesLayout.ItemHeight = 90dip
If c.RowCount>0 Then
For i=0 To c.RowCount -1
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
x.Position = 0
' Log(x.GetString("PC_NOART"))
@@ -72,20 +128,27 @@ Sub B4XPage_Appear
Dim label1 As Label
label1 = ListView1.TwoLinesLayout.Label
label1.TextSize = 10
label1.Visible = False
label1.TextColor = Colors.Black
Dim label2 As Label
label2 = ListView1.TwoLinesLayout.SecondLabel
label2.TextSize = 13
label2.TextColor = Colors.Blue
ListView1.AddTwoLines(c.GetString("PC_CLIENTE"),c.GetString("NOMBRE") &" Cantidad #"& noArticulos & " SubTotal $"& c.GetString("PC_MONTO"))
label2.Height = 88dip
label2.Width = ListView1.Width - 10dip
ListView1.AddTwoLines(c.GetString("PC_CLIENTE"),c.GetString("NOMBRE") &" Total "& c.GetString("PC_MONTO") & " kgs.")
Next
End If
c.Close
p_camara.Top = 0 : p_camara.Left = 0
p_camara.Width = Root.Width : p_camara.Height = Root.Height
Subs.centraPanel(p_camara2, Root.Width)
End Sub
Sub Regresar_Click
B4XPages.ShowPage("cliente")
End Sub
Sub Activity_KeyPress (key As Int) As Boolean
' BACK key pressed
If key=KeyCodes.KEYCODE_BACK Then
@@ -96,31 +159,79 @@ Sub Activity_KeyPress (key As Int) As Boolean
' Returning False signals the system to handle the key
Return False
End Sub
Sub ListView1_ItemLongClick (Position As Int, Value As Object)
B4XPages.MainPage.skmt.ExecNonQuery("delete from CUENTAA")
B4XPages.MainPage.skmt.ExecNonQuery2("INSERT INTO CUENTAA VALUES (?)", Array As Object(Value))
DateTime.TimeFormat = "HHmmss"
STIME=DateTime.Time(DateTime.Now)
Starter.pre_viejo = Subs.traeTotalClientepreventaparacredito
s=B4XPages.MainPage.skmt.ExecQuery("SELECT COUNT(*) AS CUANTOS FROM HIST_STAY_STORE WHERE HSS_IN = 0 AND HSS_CODIGO In (select cuenta from cuentaa)")
s.Position = 0
If s.GetString("CUANTOS") = 1 Then
B4XPages.MainPage.skmt.ExecNonQuery2("UPDATE HIST_STAY_STORE set HSS_IN = ? where HSS_IN = 0 AND HSS_CODIGO In (select cuenta from cuentaa)", Array As Object(STIME))
Else
B4XPages.MainPage.skmt.ExecNonQuery2("INSERT INTO HIST_STAY_STORE(HSS_CODIGO, HSS_IN , HSS_OUT , HSS_TOT) VALUES (?,0,0,0)", Array As Object (Value))
B4XPages.MainPage.skmt.ExecNonQuery2("UPDATE HIST_STAY_STORE set HSS_IN = ? where HSS_IN = 0 AND HSS_CODIGO In (select cuenta from cuentaa)", Array As Object(STIME))
Log("################ Iniciando revision de ubicación #############")
Log($"${B4XPages.MainPage.lat_gps},${B4XPages.MainPage.lon_gps}"$)
If B4XPages.MainPage.lat_gps.Length < 4 Or B4XPages.MainPage.lon_gps.Length < 4 Then
ProgressDialogShow2("Buscando ubicación ...", False)
CallSubDelayed(Tracker, "Track")
CallSubDelayed(Tracker, "StartFLPSmall")
wait for GPS_LocationChanged (location1 As Location)
ProgressDialogHide
End If
DateTime.TimeFormat = "HH:mm:ss"
Subs.guardaClienteHoraInicio(Value)
B4XPages.MainPage.cliente.venimosDeTicketsDia = True
B4XPages.ShowPage("cliente")
Log("############### Terminando revision de ubicación #############")
Private cliente As String = Value
Log(Value)
Starter.skmt.ExecNonQuery($"delete from cuentaa"$)
Starter.skmt.ExecNonQuery($"insert into cuentaa (cuenta) values ('${cliente}')"$)
Log($"insert into cuentaa (cuenta) values ('${cliente}')"$)
c = Starter.skmt.ExecQuery("SELECT * FROM FOTOINICIAL")
If c.RowCount = 0 Then
p_camara.Visible = True
InitializeCamera
p_camara.Left = 0
p_camara.Visible = True
nombreFoto = "inicio"
b_foto_inci.Text = "Foto tienda"
Else
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), "", B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps, "2", "", "", "Tickets Día")
Starter.enVenta = True
Subs.enVenta(1, "CLIENTES")
LogColor($">>>>>> INICIA VENTA: ${Starter.enVenta} - ${cliente}"$, Colors.red)
Log(Subs.traeRuta2(Subs.traeCliente))
End If
c = Starter.skmt.ExecQuery($"select PE_FOTO_CERRADO from PESOS where PE_CLIENTE = '${cliente}' and PE_FOTO_CERRADO = '1'"$)
If c.RowCount > 0 Then
fotoCerrado = "1"
Else
fotoCerrado = ""
End If
c.Close
Log("CLIENTE: " & cliente)
' B4XPages.MainPage.skmt.ExecNonQuery("delete from CUENTAA")
' B4XPages.MainPage.skmt.ExecNonQuery2("INSERT INTO CUENTAA VALUES (?)", Array As Object(Value))
' DateTime.TimeFormat = "HHmmss"
' STIME=DateTime.Time(DateTime.Now)
' Starter.pre_viejo = Subs.traeTotalClientepreventaparacredito
' s=B4XPages.MainPage.skmt.ExecQuery("SELECT COUNT(*) AS CUANTOS FROM HIST_STAY_STORE WHERE HSS_IN = 0 AND HSS_CODIGO In (select cuenta from cuentaa)")
' s.Position = 0
' If s.GetString("CUANTOS") = 1 Then
' B4XPages.MainPage.skmt.ExecNonQuery2("UPDATE HIST_STAY_STORE set HSS_IN = ? where HSS_IN = 0 AND HSS_CODIGO In (select cuenta from cuentaa)", Array As Object(STIME))
' Else
' B4XPages.MainPage.skmt.ExecNonQuery2("INSERT INTO HIST_STAY_STORE(HSS_CODIGO, HSS_IN , HSS_OUT , HSS_TOT) VALUES (?,0,0,0)", Array As Object (Value))
' B4XPages.MainPage.skmt.ExecNonQuery2("UPDATE HIST_STAY_STORE set HSS_IN = ? where HSS_IN = 0 AND HSS_CODIGO In (select cuenta from cuentaa)", Array As Object(STIME))
' End If
' DateTime.TimeFormat = "HH:mm:ss"
' Subs.guardaClienteHoraInicio(Value)
' B4XPages.MainPage.cliente.venimosDeTicketsDia = True
' B4XPages.ShowPage("cliente")
End Sub
Sub b_noventa_Click
Sub GPS_LocationChanged (Location1 As Location)
' If p_transparenciaEsperaGPS.IsInitialized Then p_transparenciaEsperaGPS.Visible = False
ProgressDialogHide
End Sub
Sub b_noventa0_Click
If nombre_boton = "NOVENTA" Then
nombre_boton = "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")
b_noventa0.Text ="Ir a 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 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
If c.RowCount>0 Then
For i=0 To c.RowCount -1
@@ -133,13 +244,14 @@ Sub b_noventa_Click
label2 = ListView1.TwoLinesLayout.SecondLabel
label2.TextSize = 10
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
End If
Else
nombre_boton = "NOVENTA"
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")
b_noventa0.Text ="Ir a 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 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
If c.RowCount>0 Then
@@ -147,13 +259,13 @@ Sub b_noventa_Click
c.Position=i
Dim label1 As Label
label1 = ListView1.TwoLinesLayout.Label
label1.TextSize = 15
label1.TextSize = 10
label1.TextColor = Colors.Black
Dim label2 As Label
label2 = ListView1.TwoLinesLayout.SecondLabel
label2.TextSize = 10
label2.TextSize = 13
label2.TextColor = Colors.Blue
ListView1.AddTwoLines(c.GetString("PC_CLIENTE"),c.GetString("NOMBRE") &" Cantidad #"& c.GetString("PC_NOART")& " SubTotal $"& c.GetString("PC_MONTO"))
ListView1.AddTwoLines(c.GetString("PC_CLIENTE"),c.GetString("NOMBRE") &" Total "& c.GetString("PC_MONTO") & " kgs.")
Next
End If
c.Close
@@ -162,4 +274,277 @@ End Sub
Private Sub p_ticketsdia_Click
End Sub
Private Sub b_guardaNoVenta_Click
If r_opcion1.Checked Then
motivo = "CERRADO"
Else If r_opcion2.Checked Then
motivo = "NO TIENE DINERO"
Else If r_opcion3.Checked Then
motivo = "NO ABRE MAÑANA"
Else If r_opcion4.Checked Then
motivo = "FALTA DE PRODUCTO"
Else If r_opcion5.Checked Then
motivo = "PROMOCION CON OTRO DISTRIBUIDOR"
Else If r_opcion6.Checked Then
motivo = "RECIBEN MUCHOS PROVEEDORES"
Else
motivo = "NO LE QUEDA EL DIA"
End If
If motivo = "CERRADO" And fotoCerrado = "" Then
nombreFoto = Subs.traeCliente & "_cerrado"
p_camara.Visible = True
InitializeCamera
p_camara.Left = 0
p_camara.Visible = True
p_camara.BringToFront
b_foto_inci.Text = "Foto tienda"
Else
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, fotoCerrado)
Subs.bitacora(Subs.fechanormal(DateTime.Now), Subs.traeUsuarioDeBD, Subs.traeAlmacen, Subs.traeRuta, "No Venta", Subs.traeCliente, "", Subs.fechanormal(DateTime.Now), B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps, 2, motivo, et_comentarioNoVenta.text, $"Tickets Día 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 If
Subs.mandaPendientes
B4XPage_Appear
End Sub
Private Sub b_cancelaNoVenta_Click
p_noVenta.Visible = False
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), B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps, 2, "", "", $"Tickets Día 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.ticketsDia.B4XPage_Appear
Subs.mandaPendientes
B4XPage_Appear
End If
End Sub
Private Sub b_noVenta_Click
Log("No Venta")
p_noVenta.Visible = True
r_opcion1.Checked = True
r_opcion2.Checked = False
r_opcion3.Checked = False
r_opcion4.Checked = False
et_comentarioNoVenta.Text = ""
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
Sub mandaPendientes
'' PEDIDO_CLIENTE (Pendientes)
' Log(">>>>>>> MANDA PENDIENTES")
' Dim PCNoArts As String
' Dim PCMonto As String
' If Subs.traeUsuarioDeBD <> "KMTS1" Then
' 'PESOS (Pendientes)
' c = Starter.skmt.ExecQuery($"SELECT * FROM PESOS where PE_ENVIO_OK <> 1"$)
' Log($"PESOS PENDIENTE: ${c.RowCount}"$)
' If c.RowCount>0 Then
' For i = 0 To c.RowCount -1
' c.Position = i
' Dim cmd As DBCommand
' cmd.Initialize
'' cmd.Name = "insert_pedido2_ADM"
'' cmd.Parameters = Array As Object(c.GetString("PE_CEDIS"),c.GetString("PE_CEDIS"),c.GetString("PE_IDALMACEN"),c.GetString("PE_COSTO_TOT"),c.GetString("PE_COSTOU"),c.GetString("PE_CANT"),c.GetString("PE_PRONOMBRE"),c.GetString("PE_PROID"),c.GetString("PE_CLIENTE"),c.GetString("PE_FECHA"),c.GetString("PE_USUARIO"),Subs.traeRuta2(c.GetString("PE_CLIENTE")), c.GetString("PE_COSTO_SIN"),c.GetString("PE_DESC"),c.GetString("PE_FOLIO"),c.GetString("PE_CANTC"),c.GetString("PE_BCAJAS"),c.GetString("PE_TIPOPAGO"),c.GetString("PE_COMENTARIO"))
'' reqManager.ExecuteCommand(cmd , $"ins_pedidosPendientes_prods_${c.GetString("PE_CLIENTE")}_${c.GetString("PE_PROID")}"$)
'' Log($">>>> INS_PEDIDO= ${C.GetString("PE_CEDIS")},${ALMACEN},${C.GetString("PE_COSTO_TOT")},${C.GetString("PE_COSTOU")},${C.GetString("PE_CANT")}, ${C.GetString("PE_PRONOMBRE")}, ${C.GetString("PE_PROID")}, ${C.GetString("PE_CLIENTE")}, ${C.GetString("PE_FECHA")}, ${C.GetString("PE_USUARIO")}, ${C.GetString("PE_RUTA")}, ${C.GetString("PE_COSTO_SIN")}, ${C.GetString("PE_DESC")}, ${c.GetString("PE_FOLIO")}, ${PCNoArts}, ${PCMonto}"$)
'' sql.insert_pedido_INTMEX=INSERT INTO INTMEX.PEDIDO (PE_CODPROMO,PE_FECHA_SINC,PE_IDALMACEN,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO,PE_RUTA,PE_COSTO_SIN, PE_DESCUENTO, PE_TIPO) VALUES ((?),SYSDATE,(?),(?),(?),(?),(?),(?),(?),(?),(?),(?),(?),nvl((?),0),(?))
'' sql.insert_pedido2_INTMEX=INSERT INTO INTMEX.PEDIDO (PE_CODPROMO,PE_FECHA_SINC,PE_IDALMACEN,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO,PE_RUTA,PE_COSTO_SIN, PE_DESCUENTO, PE_TIPO, PE_CANT_TOTAL, PE_VENTA_TOTAL) VALUES ((?),SYSDATE,(?),(?),(?),(?),(?),(?),(?),(?),(?),(?),(?),nvl((?),0),(?),(?),(?))
'
' Dim cmd As DBCommand
' cmd.Initialize
' cmd.Name = "insertPesos"
'' Log(c.GetString("PE_IDALMACEN")&", "&ALMACEN&", "&c.GetString("PE_COSTO_TOT")&", "&c.GetString("PE_COSTOU")&", "&c.GetString("PE_CANT")&", "&c.GetString("PE_PRONOMBRE")&", "&c.GetString("PE_PROID")&", "&c.GetString("PE_CLIENTE")&", "&c.GetString("PE_FECHA")&", "&c.GetString("PE_USUARIO")&", "&Subs.traeRuta2(c.GetString("PE_CLIENTE"))&", "& c.GetString("PE_COSTO_SIN")&", "&c.GetString("PE_DESC")&", "&c.GetString("PE_FOLIO")&", "& ALMACEN)
' cmd.Parameters = Array As Object(c.GetString("PE_IDALMACEN"),c.GetString("PE_RUTA"),c.GetString("PE_USUARIO"),c.GetString("PE_CLIENTE"),c.GetString("PE_PESO"),c.GetString("PE_FECHA"),c.GetString("PE_TIPO"),c.GetString("PE_COMENTARIO"),c.GetString("PE_FOTO_CERRADO"))
'' Log($">>>> insertPesos= ${C.GetString("PE_IDALMACEN")},${c.GetString("PE_RUTA")},${C.GetString("PE_USUARIO")},${C.GetString("PE_CLIENTE")},${C.GetString("PE_PESO")}, ${C.GetString("PE_FECHA")}"$)
' reqManager.ExecuteCommand(cmd , $"insertPesos_${c.GetString("PE_CLIENTE")}"$)
' Next
' End If
' c.Close
' End If
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 b_foto_inci_Click
camEx.TakePicture
End Sub
Private Sub InitializeCamera
Starter.rp.CheckAndRequest(Starter.rp.PERMISSION_CAMERA)
Wait For B4XPage_PermissionResult (Permission As String, resulta As Boolean)
If resulta Then
camEx.Initialize(p_cam, frontCamera, Me, "Camera1")
frontCamera = camEx.Front
Else
ToastMessageShow("No permission!!!", True)
End If
End Sub
Sub Camera1_Ready (Success As Boolean)
If Success Then
camEx.SetJpegQuality(90)
camEx.SetContinuousAutoFocus
camEx.CommitParameters
camEx.StartPreview
Log(camEx.GetPreviewSize)
Else
ToastMessageShow("Cannot open camera.", True)
End If
End Sub
Sub Camera1_PictureTaken (Data() As Byte)
If b_foto_inci.Text = "Foto tienda" Then
DateTime.DateFormat="ddMMyyyyHHmmss"
fototomada = DateTime.Now & $"_${nombreFoto}.jpg"$
Dim filename As String = fototomada
Dim dir As String = File.DirInternal
camEx.SavePictureToFile(Data, dir, filename)
camEx.StartPreview 'restart preview
ToastMessageShow("Picture saved." & CRLF & "File size: " & File.Size(dir, filename), True)
Dim Dirp As String = File.DirInternal
Dim dir As String
Dim Dir2 As String
Try
File.MakeDir(Dirp,"/adm")
dir = "/adm"
Log("creado en promotoria " & Dirp & dir)
Catch
dir = ""
Log("creado en raiz")
End Try
Try
File.MakeDir(Dirp & dir,"/reduccion")
Dir2 = "/reduccion"
Log("creado en promotoria " & Dirp & dir & Dir2)
Catch
Dir2 = ""
Log("creado en raiz")
End Try
DateTime.DateFormat = "MM/dd/yyyy"
DateTime.TimeFormat = "HH:mm:ss"
sDate = DateTime.Date(DateTime.Now)
STIME = DateTime.Time(DateTime.Now)
camEx.SavePictureToFile(Data, Dirp&dir, filename)
camEx.StartPreview 'restart preview
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)
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)
img.WriteToStream(out, 100, "PNG")
out.Close
If nombreFoto = "inicio" Then
Starter.skmt.ExecNonQuery2("INSERT INTO FOTOINICIAL (RUTAA, ALMACEN, LATITUD, LONGITUD, FECHAHORA, FOTO, USUARIO) VALUES (?,?,?,?,?,?,?)",Array As Object(Subs.traeRuta, Subs.traeAlmacen, B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps, sDate & " " & STIME, File.ReadBytes(File.DirInternal & dir & Dir2, fototomada), Subs.traeUsuarioDeBD))
b_foto_inci.Text = "Foto usuario"
ChangeCamera_Click
Else
fotoCerrado = fototomada
p_camara.Visible = False
StopCamera
End If
Else If b_foto_inci.Text = "Foto usuario" Then
DateTime.DateFormat="ddMMyyyyHHmmss"
fototomada = fototomada = DateTime.Now & $"_${nombreFoto}.jpg"$
Dim filename As String = fototomada
Dim dir As String = File.DirInternal
camEx.SavePictureToFile(Data, dir, filename)
camEx.StartPreview 'restart preview
ToastMessageShow("Picture saved." & CRLF & "File size: " & File.Size(dir, filename), True)
Dim Dirp As String = File.DirInternal
Dim dir As String
Dim Dir2 As String
Try
File.MakeDir(Dirp,"/adm")
dir = "/adm"
Log("creado en promotoria " & Dirp & dir)
Catch
dir = ""
Log("creado en raiz")
End Try
Try
File.MakeDir(Dirp & dir,"/reduccion")
Dir2 = "/reduccion"
Log("creado en promotoria " & Dirp & dir & Dir2)
Catch
dir = ""
Log("creado en raiz")
End Try
DateTime.DateFormat = "MM/dd/yyyy"
DateTime.TimeFormat = "HH:mm:ss"
sDate = DateTime.Date(DateTime.Now)
STIME = DateTime.Time(DateTime.Now)
camEx.SavePictureToFile(Data, Dirp&dir, filename)
camEx.StartPreview 'restart preview
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)
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)
img.WriteToStream(out, 100, "PNG")
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,Subs.traeRuta, Subs.traeAlmacen ))
b_foto_inci.Text = "Foto tienda"
ChangeCamera_Click
p_camara.Visible = False
StopCamera
If Subs.traeCliente = "0" Then
B4XPages.MainPage.tipo_venta = "ABORDO"
Else If Subs.traeCliente = "1" Then
B4XPages.MainPage.tipo_venta = "RECARGA"
Else
B4XPages.MainPage.tipo_venta = "PREVENTA"
End If
' B4XPages.ShowPage("productos")
' p_transparentePidePeso.Visible = True
End If
End Sub
Sub ChangeCamera_Click
camEx.Release
frontCamera = Not(frontCamera)
InitializeCamera
End Sub
Private Sub StopCamera
' Capturing = False
If camEx.IsInitialized Then
camEx.Release
End If
End Sub
Private Sub p_camara_Click
End Sub

View File

@@ -108,7 +108,11 @@ End Sub
'End Sub
Public Sub TakePicture
cam.TakePicture
Try
cam.TakePicture
Catch
Log(LastException)
End Try
End Sub
Private Sub Camera_PictureTaken (Data() As Byte)
@@ -178,6 +182,7 @@ Public Sub SetPreviewSize(Width As Int, Height As Int)
r.target = parameters
r.RunMethod3("setPreviewSize", Width, "java.lang.int", Height, "java.lang.int")
End Sub
Public Sub GetSupportedPicturesSizes As CameraSize()
r.target = parameters
Dim list1 As List = r.RunMethod("getSupportedPictureSizes")

View File

@@ -201,7 +201,7 @@ Public Sub HandleJob(Job As HttpJob) As DBResult
table.Columns.Initialize
table.rows.Initialize
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
If method = "query" Then
Dim numberOfColumns As Int = ReadInt(In)

BIN
B4A/Files/camara.bal Normal file

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.

Binary file not shown.

Binary file not shown.

View File

@@ -19,6 +19,7 @@ Sub Process_Globals
Dim c2 As Cursor
Dim c22 As Cursor
Dim c3 As Cursor
Private xui As XUI 'ignore
End Sub
Sub Globals
@@ -57,6 +58,43 @@ Sub Globals
Dim GoogleMapEXTRA As GoogleMapsExtras
Dim CODIGO 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_opcion7 As RadioButton
Private r_opcion6 As RadioButton
Private r_opcion5 As RadioButton
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
Private camEx As CameraExClass
Dim fototomada As String = "0"
Private frontCamera As Boolean = False
Private p_camara As Panel
Private b_cam As Button
Private b_foto_inci As Button
Private p_cam As Panel
Dim sDate As String
Dim sTime As String
Private p_camara2 As Panel
Private nombreFoto As String
Dim fotoCerrado As String = ""
End Sub
Sub Activity_Create(FirstTime As Boolean)
@@ -64,6 +102,12 @@ Sub Activity_Create(FirstTime As Boolean)
' If File.ExternalWritable Then
' ruta = File.DirDefaultExternal
' 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
' End If
If File.Exists(ruta, "kmt.db") = False Then
@@ -110,7 +154,6 @@ Sub Activity_Create(FirstTime As Boolean)
c.Position =0
SEMANA = c.GetString("CUANTOS")
c.Close
If SEMANA > 0 Then
c=skmt.ExecQuery2("select CAT_VA_VALOR from CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As String ("SEMANA"))
c.Position =0
@@ -120,6 +163,9 @@ Sub Activity_Create(FirstTime As Boolean)
End Sub
Sub Activity_Resume
Log("MAPA_RUTAS RESUME")
InitializeCamera
fotoCerrado = ""
Starter.rp.Check(Starter.rp.PERMISSION_ACCESS_FINE_LOCATION)
Wait For Activity_PermissionResult (Permission As String, Result As Boolean)
If Result Then
@@ -137,15 +183,34 @@ Sub Activity_Resume
azul = 1
rojo = 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
p_camara.Top = 0 : p_camara.Left = 0
p_camara.Width = Activity.Width : p_camara.Height = Activity.Height
Subs.centraPanel(p_camara2, Activity.Width)
End Sub
Sub MapFragment1_Ready
Log("ENTRANDO MapFragment1_Ready")
' Log("ENTRANDO MapFragment1_Ready")
gmap = MapFragment1.GetMap
gmap.IsInitialized
'todos= 1
' todos = 1
'permisos
rp.CheckAndRequest(rp.PERMISSION_ACCESS_FINE_LOCATION)
Wait For Activity_PermissionResult (Permission As String, Result As Boolean)
gmap.MyLocationEnabled = Result
@@ -154,9 +219,9 @@ Sub MapFragment1_Ready
JavaMapsObject = gmap.GetUiSettings
JavaMapsObject.RunMethod("setMapToolbarEnabled", Array As Object(True))
'''''''----------------------------MARKER AZUL - POR VISITAR
If azul = 1 Or todos = 1 Then
If azul = 1 Or todos = 1 Then
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)
Log($"============== Resultados = ${c.RowCount}"$)
If c.RowCount > 0 Then
@@ -164,88 +229,119 @@ Sub MapFragment1_Ready
c.Position = i
' Log($"|${c.GetString("CAT_CL_LONG")}|${c.GetString("CAT_CL_LAT")}|"$)
' Log(i&"|"&c.GetString("CAT_CL_LAT")&"|")
LatitudRu = 0
Log(c.GetString("CAT_CL_CODIGO")&" "& c.GetString("CAT_CL_LAT"))
If c.GetString("CAT_CL_LAT") <> "" Then LatitudRu = c.GetString("CAT_CL_LAT")
LongitudRU = 0
If c.GetString("CAT_CL_LONG") <> "" Then LongitudRU = c.GetString("CAT_CL_LONG")
CODIGO=c.GetString("CAT_CL_CODIGO")
Tienda= c.GetString("CAT_CL_NOMBRE")
MARK_AZUL = gmap.AddMarker2(LatitudRu, LongitudRU, CODIGO, gmap.HUE_BLUE)
MARK_AZUL.Snippet = Tienda
' LatitudRu = 0
If c.GetString("CAT_CL_LAT") = Null Or c.GetString("CAT_CL_LAT") = "null" Or c.GetString("CAT_CL_LAT") = "NULL" _
Or c.GetString("CAT_CL_LONG") = Null Or c.GetString("CAT_CL_LONG") = "null" Or c.GetString("CAT_CL_LONG") = "NULL" _
Then
ToastMessageShow($"Tienda con coordenadas incorrectas (${c.GetString("CAT_CL_CODIGO")})"$, False)
Else
Log(c.GetString("CAT_CL_CODIGO")&" "& c.GetString("CAT_CL_LAT")&", "&c.GetString("CAT_CL_LAT"))
If c.GetString("CAT_CL_LAT") <> "" Then LatitudRu = c.GetString("CAT_CL_LAT")
LongitudRU = 0
If c.GetString("CAT_CL_LONG") <> "" Then LongitudRU = c.GetString("CAT_CL_LONG")
CODIGO=c.GetString("CAT_CL_CODIGO")
Tienda= c.GetString("CAT_CL_NOMBRE")
MARK_AZUL = gmap.AddMarker2(LatitudRu, LongitudRU, CODIGO, gmap.HUE_BLUE)
MARK_AZUL.Snippet = Tienda
Log(LatitudRu & "," & LongitudRU)
End If
Next
End If
c .Close
' Log("4")
If MARK_AZUL.IsInitialized Then LIST_AZUL.Add(MARK_AZUL)
End If
'''''''----------------------------MARKER VERDE - VENTA
If verde = 1 Or todos = 1 Then
If verde = 1 Or todos = 1 Then
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}"$)
For i = 0 To c2.RowCount -1
c2.Position = i
' Log($"|${c2.GetString("CAT_CL_LONG")}|${c2.GetString("CAT_CL_LAT")}|"$)
If IsNumber(c2.GetString("CAT_CL_LONG")) Then
If c2.GetString("CAT_CL_LAT") = Null Or c2.GetString("CAT_CL_LAT") = "null" Or c2.GetString("CAT_CL_LAT") = "NULL" _
Or c2.GetString("CAT_CL_LONG") = Null Or c2.GetString("CAT_CL_LONG") = "null" Or c2.GetString("CAT_CL_LONG") = "NULL" _
Then
ToastMessageShow($"Tienda con coordenadas incorrectas (${c.GetString("CAT_CL_CODIGO")})"$, False)
Else
LongitudRU = c2.GetString("CAT_CL_LONG")
LatitudRu = c2.GetString("CAT_CL_LAT")
CODIGO=c2.GetString("CAT_CL_CODIGO")
Tienda= c2.GetString("CAT_CL_NOMBRE")
MARK_VERDE = gmap.AddMarker2(LatitudRu, LongitudRU, CODIGO,gmap.HUE_GREEN)
MARK_VERDE.Snippet = Tienda
Log(LatitudRu & "," & LongitudRU)
End If
Next
Else
If verde = 1 Or todos = 1 Then
If verde = 1 Or todos = 1 Then
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}"$)
For i = 0 To c2.RowCount -1
c2.Position = i
' Log($"|${c2.GetString("CAT_CL_LONG")}|${c2.GetString("CAT_CL_LAT")}|"$)
LongitudRU = c2.GetString("CAT_CL_LONG")
LatitudRu = c2.GetString("CAT_CL_LAT")
CODIGO=c2.GetString("CAT_CL_CODIGO")
Tienda= c2.GetString("CAT_CL_NOMBRE")
MARK_VERDE = gmap.AddMarker2(LatitudRu, LongitudRU, CODIGO,gmap.HUE_GREEN)
MARK_VERDE.Snippet = Tienda
If c2.GetString("CAT_CL_LAT") = Null Or c2.GetString("CAT_CL_LAT") = "null" Or c2.GetString("CAT_CL_LAT") = "NULL" _
Or c2.GetString("CAT_CL_LONG") = Null Or c2.GetString("CAT_CL_LONG") = "null" Or c2.GetString("CAT_CL_LONG") = "NULL" _
Then
ToastMessageShow($"Tienda con coordenadas incorrectas (${c.GetString("CAT_CL_CODIGO")})"$, False)
Else
LongitudRU = c2.GetString("CAT_CL_LONG")
LatitudRu = c2.GetString("CAT_CL_LAT")
CODIGO=c2.GetString("CAT_CL_CODIGO")
Tienda= c2.GetString("CAT_CL_NOMBRE")
MARK_VERDE = gmap.AddMarker2(LatitudRu, LongitudRU, CODIGO,gmap.HUE_GREEN)
MARK_VERDE.Snippet = Tienda
Log(LatitudRu & "," & LongitudRU)
End If
Next
c2 .Close
If MARK_VERDE.IsInitialized Then LIST_VERDE.Add(MARK_VERDE)
End If
End If
' '''''''----------------------------MARKER ROJO - NO VENTA
If rojo = 1 Or todos = 1 Then
c3.IsInitialized
c3=skmt.ExecQuery("select CAT_CL_CODIGO, CAT_CL_NOMBRE,CAT_CL_LONG,CAT_CL_LAT from kmt_info where gestion = 3 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")
c3=skmt.ExecQuery("select CAT_CL_CODIGO, CAT_CL_NOMBRE,CAT_CL_LONG,CAT_CL_LAT from kmt_info where gestion = 3 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 = ${c3.RowCount}"$)
For i = 0 To c3.RowCount -1
c3.Position = i
' Log($"|${c3.GetString("CAT_CL_LONG")}|${c3.GetString("CAT_CL_LAT")}|"$)
LongitudRU = c3.GetDouble("CAT_CL_LONG")
LatitudRu = c3.GetDouble("CAT_CL_LAT")
CODIGO = c3.GetString("CAT_CL_CODIGO")
Tienda= c3.GetString("CAT_CL_NOMBRE")
MARK_ROJO = gmap.AddMarker2(LatitudRu, LongitudRU, CODIGO, gmap.HUE_RED)
MARK_ROJO.Snippet = Tienda
Next
Else
If rojo = 1 Or todos = 1 Then
c3.IsInitialized
c3=skmt.ExecQuery("select CAT_CL_CODIGO, CAT_CL_NOMBRE,CAT_CL_LONG,CAT_CL_LAT from kmt_info where gestion = 3 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 = ${c3.RowCount}"$)
For i = 0 To c3.RowCount -1
c3.Position = i
' Log($"|${c3.GetString("CAT_CL_LONG")}|${c3.GetString("CAT_CL_LAT")}|"$)
If c3.GetString("CAT_CL_LAT") = Null Or c3.GetString("CAT_CL_LAT") = "null" Or c3.GetString("CAT_CL_LAT") = "NULL" _
Or c3.GetString("CAT_CL_LONG") = Null Or c3.GetString("CAT_CL_LONG") = "null" Or c3.GetString("CAT_CL_LONG") = "NULL" _
Then
ToastMessageShow($"Tienda con coordenadas incorrectas (${c.GetString("CAT_CL_CODIGO")})"$, False)
Else
LongitudRU = c3.GetDouble("CAT_CL_LONG")
LatitudRu = c3.GetDouble("CAT_CL_LAT")
CODIGO = c3.GetString("CAT_CL_CODIGO")
Tienda= c3.GetString("CAT_CL_NOMBRE")
MARK_ROJO = gmap.AddMarker2(LatitudRu, LongitudRU, CODIGO, gmap.HUE_RED)
MARK_ROJO.Snippet = Tienda
Log(LatitudRu & "," & LongitudRU)
End If
Next
Else
If rojo = 1 Or todos = 1 Then
c3.IsInitialized
c3=skmt.ExecQuery("select CAT_CL_CODIGO, CAT_CL_NOMBRE,CAT_CL_LONG,CAT_CL_LAT from kmt_info where gestion = 3 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 = ${c3.RowCount}"$)
For i = 0 To c3.RowCount -1
c3.Position = i
' Log($"|${c3.GetString("CAT_CL_LONG")}|${c3.GetString("CAT_CL_LAT")}|"$)
If c3.GetString("CAT_CL_LAT") = Null Or c3.GetString("CAT_CL_LAT") = "null" Or c3.GetString("CAT_CL_LAT") = "NULL" _
Or c3.GetString("CAT_CL_LONG") = Null Or c3.GetString("CAT_CL_LONG") = "null" Or c3.GetString("CAT_CL_LONG") = "NULL" _
Then
ToastMessageShow($"Tienda con coordenadas incorrectas (${c.GetString("CAT_CL_CODIGO")})"$, False)
Else
LongitudRU = c3.GetDouble("CAT_CL_LONG")
LatitudRu = c3.GetDouble("CAT_CL_LAT")
CODIGO = c3.GetString("CAT_CL_CODIGO")
Tienda= c3.GetString("CAT_CL_NOMBRE")
MARK_ROJO = gmap.AddMarker2(LatitudRu, LongitudRU, CODIGO, gmap.HUE_RED)
Log(LatitudRu & "," & LongitudRU)
MARK_ROJO.Snippet = Tienda
End If
Next
If MARK_ROJO.IsInitialized Then LIST_ROJO.Add(MARK_ROJO)
c3.Close
@@ -257,8 +353,9 @@ Sub MapFragment1_Ready
' If MARK_VERDE.Visible Or MARK_ROJO.Visible Then
' MARK_CEDIS.Remove
' End If
Log("Centramos camara " & LatitudRu & ", " & LongitudRU)
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)
'''''---------------------- ESTO ES PARA LOS CLICK EN LAS VENTANAS D INFORMACION-----------
@@ -267,18 +364,42 @@ Sub MapFragment1_Ready
GoogleMapEXTRA.SetOnInfoWindowClickListener(gmap, OnInfoWindowClickListener1)
End Sub
'
''''-------------------------- PRUEBA CON MARKER _CLICK
Sub OnInfoWindowClickListener1_click(Marker1 As Marker)
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
B4XPages.ShowPage("Cliente")
c = Starter.skmt.ExecQuery("SELECT * FROM FOTOINICIAL")
If c.RowCount = 0 Then
p_camara.Visible = True
InitializeCamera
p_camara.Left = 0
p_camara.Visible = True
nombreFoto = "inicio"
b_foto_inci.Text = "Foto tienda"
Else
' Activity.Finish
Starter.pre_viejo = Subs.traeTotalClientepreventaparacredito
l_venta.Text = "Presiona el boton de ""Iniciar"" para inicar la venta"
b_inicioVenta.Enabled = True
b_finVenta.Enabled = False
p_transparenciaIniciaInicioFinVenta.Visible = True
End If
' B4XPages.ShowPage("Cliente")
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)
MARK_CEDIS.IsInitialized
@@ -299,21 +420,20 @@ Sub GPS_LocationChanged (Parametro As Location)
' gmap.AnimateCamera(cp)
' End If
' End If
ProgressDialogHide
End Sub
Sub Activity_Pause (UserClosed As Boolean)
GPS.Stop
End Sub
Sub B_TODOS_Click
todos =1
verde = 0
azul = 0
rojo = 0
gmap.Clear
MapFragment1_Ready
End Sub
Sub B_VERDE_Click
@@ -323,7 +443,6 @@ Sub B_VERDE_Click
todos = 0
gmap.Clear
MapFragment1_Ready
End Sub
Sub B_ROJO_Click
@@ -332,9 +451,7 @@ Sub B_ROJO_Click
azul = 0
todos = 0
gmap.Clear
MapFragment1_Ready
End Sub
Sub B_AZUL_Click
@@ -343,7 +460,299 @@ Sub B_AZUL_Click
rojo = 0
todos = 0
gmap.Clear
MapFragment1_Ready
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), "", B4XPages.MainPage.lat_gps, B4XPages.MainPage.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 ""Kilos"" 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), B4XPages.MainPage.lat_gps, B4XPages.MainPage.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
Subs.mandaPendientes
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
Log("No Venta")
p_noVenta.Visible = True
r_opcion1.Checked = True
r_opcion2.Checked = False
r_opcion3.Checked = False
r_opcion4.Checked = False
et_comentarioNoVenta.Text = ""
End Sub
Private Sub b_guardaNoVenta_Click
If r_opcion1.Checked Then
motivo = "CERRADO"
Else If r_opcion2.Checked Then
motivo = "NO TIENE DINERO"
Else If r_opcion3.Checked Then
motivo = "NO ABRE MAÑANA"
Else If r_opcion4.Checked Then
motivo = "FALTA DE PRODUCTO"
Else If r_opcion5.Checked Then
motivo = "PROMOCION CON OTRO DISTRIBUIDOR"
Else If r_opcion6.Checked Then
motivo = "RECIBEN MUCHOS PROVEEDORES"
Else
motivo = "NO LE QUEDA EL DIA"
End If
If motivo = "CERRADO" And fotoCerrado = "" Then
nombreFoto = Subs.traeCliente & "_cerrado"
p_camara.Visible = True
InitializeCamera
p_camara.Left = 0
p_camara.Visible = True
p_camara.BringToFront
b_foto_inci.Text = "Foto tienda"
Else
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, fotoCerrado)
Subs.bitacora(Subs.fechanormal(DateTime.Now), Subs.traeUsuarioDeBD, Subs.traeAlmacen, Subs.traeRuta, "No Venta", Subs.traeCliente, "", Subs.fechanormal(DateTime.Now), B4XPages.MainPage.lat_gps, B4XPages.MainPage.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 If
Subs.mandaPendientes
End Sub
Private Sub b_cancelaNoVenta_Click
p_noVenta.Visible = False
End Sub
Private Sub p_inicioFinVenta_Click
End Sub
Private Sub b_foto_inci_Click
camEx.TakePicture
End Sub
Private Sub InitializeCamera
' Starter.rp.CheckAndRequest(Starter.rp.PERMISSION_CAMERA)
' Wait For B4XPage_PermissionResult (Permission As String, resulta As Boolean)
' If resulta Then
camEx.Initialize(p_cam, frontCamera, Me, "Camera1")
frontCamera = camEx.Front
' Else
' ToastMessageShow("Sin permisos de camara!!!", True)
' End If
End Sub
Sub Camera1_Ready (Success As Boolean)
If Success Then
camEx.SetJpegQuality(90)
camEx.SetContinuousAutoFocus
camEx.CommitParameters
camEx.StartPreview
Log(camEx.GetPreviewSize)
Else
ToastMessageShow("Cannot open camera.", True)
End If
End Sub
Sub Camera1_PictureTaken (Data() As Byte)
If b_foto_inci.Text = "Foto tienda" Then
DateTime.DateFormat="ddMMyyyyHHmmss"
fototomada = DateTime.Now & $"_${nombreFoto}.jpg"$
Dim filename As String = fototomada
Dim dir As String = File.DirInternal
camEx.SavePictureToFile(Data, dir, filename)
camEx.StartPreview 'restart preview
ToastMessageShow("Picture saved." & CRLF & "File size: " & File.Size(dir, filename), True)
Dim Dirp As String = File.DirInternal
Dim dir As String
Dim Dir2 As String
Try
File.MakeDir(Dirp,"/adm")
dir = "/adm"
Log("creado en promotoria " & Dirp & dir)
Catch
dir = ""
Log("creado en raiz")
End Try
Try
File.MakeDir(Dirp & dir,"/reduccion")
Dir2 = "/reduccion"
Log("creado en promotoria " & Dirp & dir & Dir2)
Catch
Dir2 = ""
Log("creado en raiz")
End Try
DateTime.DateFormat = "MM/dd/yyyy"
DateTime.TimeFormat = "HH:mm:ss"
sDate = DateTime.Date(DateTime.Now)
sTime = DateTime.Time(DateTime.Now)
camEx.SavePictureToFile(Data, Dirp&dir, filename)
camEx.StartPreview 'restart preview
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)
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)
img.WriteToStream(out, 100, "PNG")
out.Close
If nombreFoto = "inicio" Then
Starter.skmt.ExecNonQuery2("INSERT INTO FOTOINICIAL (RUTAA, ALMACEN, LATITUD, LONGITUD, FECHAHORA, FOTO, USUARIO) VALUES (?,?,?,?,?,?,?)",Array As Object(Subs.traeRuta, Subs.traeAlmacen, B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps, sDate & " " & sTime, File.ReadBytes(File.DirInternal & dir & Dir2, fototomada), Subs.traeUsuarioDeBD))
b_foto_inci.Text = "Foto usuario"
ChangeCamera_Click
Else
fotoCerrado = fototomada
p_camara.Visible = False
StopCamera
End If
Else If b_foto_inci.Text = "Foto usuario" Then
DateTime.DateFormat="ddMMyyyyHHmmss"
fototomada = fototomada = DateTime.Now & $"_${nombreFoto}.jpg"$
Dim filename As String = fototomada
Dim dir As String = File.DirInternal
camEx.SavePictureToFile(Data, dir, filename)
camEx.StartPreview 'restart preview
ToastMessageShow("Picture saved." & CRLF & "File size: " & File.Size(dir, filename), True)
Dim Dirp As String = File.DirInternal
Dim dir As String
Dim Dir2 As String
Try
File.MakeDir(Dirp,"/adm")
dir = "/adm"
Log("creado en promotoria " & Dirp & dir)
Catch
dir = ""
Log("creado en raiz")
End Try
Try
File.MakeDir(Dirp & dir,"/reduccion")
Dir2 = "/reduccion"
Log("creado en promotoria " & Dirp & dir & Dir2)
Catch
dir = ""
Log("creado en raiz")
End Try
DateTime.DateFormat = "MM/dd/yyyy"
DateTime.TimeFormat = "HH:mm:ss"
sDate = DateTime.Date(DateTime.Now)
sTime = DateTime.Time(DateTime.Now)
camEx.SavePictureToFile(Data, Dirp&dir, filename)
camEx.StartPreview 'restart preview
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)
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)
img.WriteToStream(out, 100, "PNG")
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,Subs.traeRuta, Subs.traeAlmacen ))
b_foto_inci.Text = "Foto tienda"
ChangeCamera_Click
p_camara.Visible = False
StopCamera
If Subs.traeCliente = "0" Then
B4XPages.MainPage.tipo_venta = "ABORDO"
Else If Subs.traeCliente = "1" Then
B4XPages.MainPage.tipo_venta = "RECARGA"
Else
B4XPages.MainPage.tipo_venta = "PREVENTA"
End If
' B4XPages.ShowPage("productos")
' p_transparentePidePeso.Visible = True
End If
End Sub
Sub ChangeCamera_Click
camEx.Release
frontCamera = Not(frontCamera)
InitializeCamera
End Sub
Private Sub StopCamera
' Capturing = False
If camEx.IsInitialized Then
camEx.Release
End If
End Sub
Private Sub p_camara_Click
End Sub

Binary file not shown.

View File

@@ -1,198 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest
xmlns:android="http://schemas.android.com/apk/res/android"
package="adm.keymon.com.mx"
android:versionCode="1"
android:versionName="4.10.02"
android:installLocation="internalOnly">
<uses-sdk android:minSdkVersion="5" android:targetSdkVersion="33"/>
<supports-screens android:largeScreens="true"
android:normalScreens="true"
android:smallScreens="true"
android:anyDensity="true"/>
<uses-permission
android:name="android.permission.WRITE_EXTERNAL_STORAGE"
android:maxSdkVersion="33" />
<uses-permission
android:name="android.permission.ACCESS_FINE_LOCATION"
android:maxSdkVersion="33" />
<uses-permission
android:name="android.permission.ACCESS_COARSE_LOCATION"
android:maxSdkVersion="33" />
<uses-permission
android:name="android.permission.READ_PHONE_STATE"
android:maxSdkVersion="33" />
<uses-permission
android:name="android.permission.READ_PRIVILEGED_PHONE_STATE"
android:maxSdkVersion="33" />
<uses-permission
android:name="android.permission.WRITE_EXTERNAL_STORAGE"
android:maxSdkVersion="33" />
<uses-feature android:name="android.hardware.telephony" android:required="false" />
<uses-feature android:name="android.hardware.camera" android:required="false" />
<uses-feature android:name="android.hardware.camera.autofocus" android:required="false" />
<uses-feature android:name="android.hardware.camera.flash" android:required="false" />
<uses-permission
android:name="android.permission.WRITE_EXTERNAL_STORAGE"
android:maxSdkVersion="33" />
<queries><package android:name="com.google.android.apps.maps" /></queries>
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
<uses-permission android:name="android.permission.VIBRATE"/>
<uses-permission android:name="android.permission.POST_NOTIFICATIONS"/>
<uses-permission android:name="android.permission.WRITE_SECURE_SETTINGS"/>
<uses-permission android:name="android.permission.REBOOT"/>
<uses-permission android:name="android.permission.WRITE_SETTINGS"/>
<uses-permission android:name="android.permission.BLUETOOTH"/>
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN"/>
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
<uses-permission android:name="android.permission.UPDATE_DEVICE_STATS"/>
<uses-permission android:name="android.permission.MODIFY_PHONE_STATE"/>
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
<uses-permission android:name="android.permission.CAMERA"/>
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES"/>
<uses-permission android:name="adm.keymon.com.mx.permission.MAPS_RECEIVE"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.WAKE_LOCK"/>
<uses-permission android:name="android.permission.FOREGROUND_SERVICE"/>
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
<uses-permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION"/>
<uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES"/>
<uses-permission android:name="android.permission.INSTALL_PACKAGES"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.BLUETOOTH_ADVERTISE"/>
<uses-permission android:name="android.permission.BLUETOOTH_CONNECT"/>
<uses-permission android:name="android.permission.BLUETOOTH_SCAN"/>
<application
android:name="androidx.multidex.MultiDexApplication"
android:icon="@drawable/icon"
android:label="ADM"
android:theme="@style/LightTheme"
android:usesCleartextTraffic="true"
android:largeHeap="true"
android:allowBackup="false">
<activity android:name="com.google.zxing.client.android.CaptureActivity"
android:screenOrientation="landscape"
android:configChanges="orientation|keyboardHidden"
android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
android:windowSoftInputMode="stateAlwaysHidden">
</activity>
<activity android:name="com.google.android.gms.common.api.GoogleApiActivity"
android:theme="@android:style/Theme.Translucent.NoTitleBar"
android:exported="false"/>
<meta-data
android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version" />
<meta-data
android:name="com.google.android.geo.API_KEY"
android:value="AIzaSyBlBnx3O-DncOSv3oFIp-12wgujOYYcl-U"/>
<meta-data android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version" />
<uses-library
android:name="org.apache.http.legacy"
android:required="false" />
<provider
android:name="androidx.core.content.FileProvider"
android:authorities="adm.keymon.com.mx.provider"
android:exported="false"
android:grantUriPermissions="true">
<meta-data
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/provider_paths"/>
</provider>
<activity android:name="ice.zxing.CaptureActivity"
android:screenOrientation="portrait" android:configChanges="orientation|keyboardHidden"
android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
android:windowSoftInputMode="stateAlwaysHidden">
</activity>
<provider
android:name="androidx.core.content.FileProvider"
android:authorities="adm.keymon.com.mx.provider"
android:exported="false"
android:grantUriPermissions="true">
<meta-data
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/provider_paths"/>
</provider>
<service android:name="b4a.jsaplication.com.br.ReplyAuto"
android:label="Marquez" android:permission="android.permission.BIND_NOTIFICATION_LISTENER_SERVICE" android:exported="true">
<intent-filter><action android:name="android.service.notification.NotificationListenerService" /></intent-filter>
</service>
<activity
android:windowSoftInputMode="stateHidden"
android:launchMode="singleTop"
android:name=".main"
android:label="ADM"
android:screenOrientation="portrait"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<service
android:name=".appupdater"
android:exported="true">
</service>
<receiver
android:name=".appupdater$appupdater_BR"
android:exported="true">
</receiver>
<activity
android:windowSoftInputMode="stateHidden"
android:launchMode="singleTop"
android:name=".mapa_rutas"
android:label="ADM"
android:screenOrientation="portrait"
android:exported="true">
</activity>
<service
android:name=".notificationservice"
android:exported="true">
</service>
<receiver
android:name=".notificationservice$notificationservice_BR"
android:exported="true">
</receiver>
<service
android:name=".starter"
android:exported="true">
</service>
<receiver
android:name=".starter$starter_BR"
android:exported="true">
</receiver>
<service
android:name=".tracker"
android:exported="true"
android:foregroundServiceType="location">
</service>
<receiver
android:name=".tracker$tracker_BR"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED"/>
</intent-filter>
</receiver>
<service
android:name=".newinst2"
android:exported="true">
</service>
<receiver
android:name=".newinst2$newinst2_BR"
android:exported="true">
</receiver>
<receiver
android:name=".httputils2service"
android:exported="true">
</receiver>
</application>
</manifest>

View File

@@ -1,37 +0,0 @@
.b4xdialog .scroll-bar:horizontal, .b4xdialog .scroll-bar:vertical{
-fx-background-color:transparent;
}
.b4xdialog .increment-button, .b4xdialog .decrement-button {
-fx-background-color: transparent;
-fx-border-color: transparent;
}
.b4xdialog .scroll-bar:horizontal .track,
.b4xdialog .scroll-bar:vertical .track{
-fx-background-color: transparent;
-fx-border-color: transparent;
-fx-background-radius: 0em;
}
.b4xdialog .scroll-bar:horizontal .thumb,
.b4xdialog .scroll-bar:vertical .thumb {
-fx-background-color: #4B4B4B;
-fx-background-radius: 5em;
}
.b4xdialoglight .scroll-bar:horizontal .thumb,
.b4xdialoglight .scroll-bar:vertical .thumb {
-fx-background-color: #B8B8B8;
}
.scroll-pane{
-fx-background-color:transparent;
}
.scroll-pane .viewport {
-fx-background-color: transparent;
}
.text-area .content {
-fx-padding: 15 5 5 5;
}

Some files were not shown because too many files have changed in this diff Show More