15 Commits

Author SHA1 Message Date
a7c890a612 - VERSION 5.10.03
- Se cambio com ose enviaban las imagenes, antes blob, ahora solo nombre.
- Se agregaron 2 columnas a FOTOINICIAL para poner el nombre de las fotos.
2025-10-09 17:22:41 -06:00
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 4627 additions and 94623 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= ModuleBookmarks3=
ModuleBookmarks30= ModuleBookmarks30=
ModuleBookmarks31= ModuleBookmarks31=
ModuleBookmarks32=
ModuleBookmarks4= ModuleBookmarks4=
ModuleBookmarks5= ModuleBookmarks5=
ModuleBookmarks6= ModuleBookmarks6=
@@ -56,6 +57,7 @@ ModuleBreakpoints29=
ModuleBreakpoints3= ModuleBreakpoints3=
ModuleBreakpoints30= ModuleBreakpoints30=
ModuleBreakpoints31= ModuleBreakpoints31=
ModuleBreakpoints32=
ModuleBreakpoints4= ModuleBreakpoints4=
ModuleBreakpoints5= ModuleBreakpoints5=
ModuleBreakpoints6= ModuleBreakpoints6=
@@ -74,7 +76,7 @@ ModuleClosedNodes16=
ModuleClosedNodes17= ModuleClosedNodes17=
ModuleClosedNodes18= ModuleClosedNodes18=
ModuleClosedNodes19= ModuleClosedNodes19=
ModuleClosedNodes2= ModuleClosedNodes2=33
ModuleClosedNodes20= ModuleClosedNodes20=
ModuleClosedNodes21= ModuleClosedNodes21=
ModuleClosedNodes22= ModuleClosedNodes22=
@@ -86,14 +88,15 @@ ModuleClosedNodes27=
ModuleClosedNodes28= ModuleClosedNodes28=
ModuleClosedNodes29= ModuleClosedNodes29=
ModuleClosedNodes3= ModuleClosedNodes3=
ModuleClosedNodes30= ModuleClosedNodes30=2,4,5,6,7,8
ModuleClosedNodes31= ModuleClosedNodes31=
ModuleClosedNodes32=15,16,17,18,19
ModuleClosedNodes4= ModuleClosedNodes4=
ModuleClosedNodes5= ModuleClosedNodes5=1,3
ModuleClosedNodes6= ModuleClosedNodes6=3,29,30
ModuleClosedNodes7= ModuleClosedNodes7=
ModuleClosedNodes8= ModuleClosedNodes8=
ModuleClosedNodes9= ModuleClosedNodes9=
NavigationStack=C_Cliente,Class_Globals,11,6,C_Cliente,B4XPage_Created,207,0,C_Cliente,imprime_venta,1848,0,C_Cliente,openPDF,1758,0,C_Cliente,Label20_LongClick,1519,0,Diseñador Visual,cliente.bal,-100,1,C_Cliente,PDFGENERAR,1723,6,C_Cliente,MODS,0,0,C_Cliente,b_cancel_tp_Click,3125,0,C_Cliente,b_acept_tp_Click,3184,3 NavigationStack=MAPA_RUTAS,OnInfoWindowClickListener1_click,367,0,MAPA_RUTAS,Camera1_PictureTaken,723,0,Subs,dameUsuarioDeDB,657,0,Subs,traeAlmacen,668,5,C_Clientes,b_inicioVenta_Click,614,0,Subs,bitacora,1631,0,C_Cliente,Camera1_PictureTaken,2855,0,C_Principal,b_subir_Click,832,6,Starter,mandaForma,249,0,B4XMainPage,B4XPage_Created,179,3
SelectedBuild=0 SelectedBuild=0
VisibleModules=1,2,3,4,5,6,7,8,9,10,13,16 VisibleModules=30,2,14,5,6,19,31,27,32,21

View File

@@ -22,6 +22,12 @@ Version=9.85
'Ctrl + click ide://run?file=%WINDIR%\System32\cmd.exe&Args=/c&Args=github&Args=..\..\ 'Ctrl + click ide://run?file=%WINDIR%\System32\cmd.exe&Args=/c&Args=github&Args=..\..\
' ###################################################################
' ################## Pendientes ##################
' ###################################################################
'
' MotivoNoVisita (como kelloggs cuando tienen un accidente y ya no van a terimnar la ruta)
Sub Class_Globals Sub Class_Globals
Dim c2 As Cursor Dim c2 As Cursor
Dim sDate,sTime As String Dim sDate,sTime As String
@@ -108,7 +114,7 @@ Sub Class_Globals
Private P_PICK_CIEGO As Panel Private P_PICK_CIEGO As Panel
Dim ET_PICK_CIEGO As EditText Dim ET_PICK_CIEGO As EditText
Private L_PICK_CIEGO As Label Private L_PICK_CIEGO As Label
Private P_CIEGO As Panel Private p_ciego As Panel
Dim Panel4 As Panel Dim Panel4 As Panel
Dim q_buscar As String Dim q_buscar As String
Private et_buspc As EditText Private et_buspc As EditText
@@ -184,7 +190,7 @@ Private Sub B4XPage_Created (Root1 As B4XView)
Starter.skmt.ExecNonQuery("DROP TABLE IF EXISTS HIST_SUPERVISOR") Starter.skmt.ExecNonQuery("DROP TABLE IF EXISTS HIST_SUPERVISOR")
skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS CLIENTES_NUEVOS(CN_ID TEXT, CN_FECHA TEXT, CN_USER TEXT, CN_LAT TEXT, CN_LON TEXT, CN_NOMBRE TEXT, CN_DIRECCION TEXT, CN_FOTO TEXT, CN_ALMACEN TEXT, CN_RUTA TEXT,CN_GIRO TEXT)") skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS CLIENTES_NUEVOS(CN_ID TEXT, CN_FECHA TEXT, CN_USER TEXT, CN_LAT TEXT, CN_LON TEXT, CN_NOMBRE TEXT, CN_DIRECCION TEXT, CN_FOTO TEXT, CN_ALMACEN TEXT, CN_RUTA TEXT,CN_GIRO TEXT)")
skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS RUTAA (RUTAA TEXT)") skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS RUTAA (RUTAA TEXT)")
skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS FOTOINICIAL (RUTAA TEXT, ALMACEN TEXT, LATITUD TEXT, LONGITUD TEXT, FECHAHORA TEXT, FOTO BLOB, FOTO2 BLOB, USUARIO TEXT)") skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS FOTOINICIAL (RUTAA TEXT, ALMACEN TEXT, LATITUD TEXT, LONGITUD TEXT, FECHAHORA TEXT, FOTO BLOB, FOTO2 BLOB, FOTO_NOM TEXT, FOTO_NOM2 TEXT, USUARIO TEXT)")
skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS HIST_CUOTAS (HC_META6 TEXT, HC_META5 TEXT, HC_META4 TEXT, HC_META3 TEXT, HC_META2 TEXT, HC_META1 TEXT, HC_RUTA TEXT, HC_CUOTA1 TEXT, HC_CUOTA2 TEXT, HC_CUOTA3 TEXT, HC_CUOTA4 TEXT, HC_CUOTA5 TEXT, HC_CUOTA6 TEXT)") skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS HIST_CUOTAS (HC_META6 TEXT, HC_META5 TEXT, HC_META4 TEXT, HC_META3 TEXT, HC_META2 TEXT, HC_META1 TEXT, HC_RUTA TEXT, HC_CUOTA1 TEXT, HC_CUOTA2 TEXT, HC_CUOTA3 TEXT, HC_CUOTA4 TEXT, HC_CUOTA5 TEXT, HC_CUOTA6 TEXT)")
skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS HIST_GPS (HGDATE TEXT, HGLAT TEXT, HGLON TEXT)") skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS HIST_GPS (HGDATE TEXT, HGLAT TEXT, HGLON TEXT)")
skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS CAT_GIRO(GIRO TEXT)") skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS CAT_GIRO(GIRO TEXT)")
@@ -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 NOVENTA (NV_CLIENTE TEXT, NV_FECHA TEXT, NV_USER TEXT, NV_MOTIVO TEXT, NV_COMM TEXT, NV_LAT TEXT, NV_LON TEXT)")
skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS PICK_CIEGO (PC_ID_PROD TEXT, PC_NOM_PROD TEXT, PC_CANT TEXT, PC_ALMACEN TEXT, PC_RUTA TEXT, PC_FECHA TEXT)") skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS PICK_CIEGO (PC_ID_PROD TEXT, PC_NOM_PROD TEXT, PC_CANT TEXT, PC_ALMACEN TEXT, PC_RUTA TEXT, PC_FECHA TEXT)")
skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS ENV_MONTO_LIQ (EML_MONTO TEXT, EML_ALMACEN TEXT, EML_RUTA TEXT, EML_USUARIO TEXT, EML_FECHA_PED TEXT)") skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS ENV_MONTO_LIQ (EML_MONTO TEXT, EML_ALMACEN TEXT, EML_RUTA TEXT, EML_USUARIO TEXT, EML_FECHA_PED TEXT)")
skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS BITACORAGPS(id TEXT, fechab TEXT, usuariob TEXT, almacenb TEXT, rutab TEXT, eventob TEXT, clienteb TEXT, iniciob TEXT, finb TEXT, latitudb TEXT, longitudb TEXT, precision TEXT, motivonoventa TEXT, motivonovisita TEXT, otro TEXT, enviado TEXT DEFAULT 0)")
skmt.ExecNonQuery("CREATE TABLE If Not EXISTS PESOS(PE_TIPO TEXT, PE_IDALMACEN TEXT, PE_RUTA TEXT, PE_USUARIO TEXT, PE_CLIENTE TEXT, PE_PESO TEXT, PE_MOTIVO TEXT, PE_COMENTARIO TEXT, PE_FECHA TEXT, PE_FECHA_SINC TEXT, 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_ENVIO_OK", "INT")
Subs.agregaColumna("PEDIDO", "PE_CANTC", "TEXT") Subs.agregaColumna("PEDIDO", "PE_CANTC", "TEXT")
Subs.agregaColumna("PEDIDO", "PE_BCAJAS", "TEXT") Subs.agregaColumna("PEDIDO", "PE_BCAJAS", "TEXT")
@@ -229,6 +241,8 @@ Private Sub B4XPage_Created (Root1 As B4XView)
skmt.ExecNonQuery("INSERT INTO HIST_STAY_OUT(HSO_INI, HSO_FIN) VALUES (0,0)") skmt.ExecNonQuery("INSERT INTO HIST_STAY_OUT(HSO_INI, HSO_FIN) VALUES (0,0)")
End If End If
C.Close C.Close
p_ciego.Top = 0 : p_ciego.Left = 0
' server = "http://keymon.com.mx:1782" ' server = "http://keymon.com.mx:1782"
'server = "http://201.99.139.28:1783" 'server = "http://201.99.139.28:1783"
' reqManager.Initialize(Me, DBReqServer) ' reqManager.Initialize(Me, DBReqServer)
@@ -300,12 +314,13 @@ Private Sub B4XPage_Created (Root1 As B4XView)
Wait For MES_StorageAvailable Wait For MES_StorageAvailable
End If End If
End If End If
P_CIEGO.Height = Root.Height p_ciego.Height = Root.Height
P_CIEGO.Width = Root.Width p_ciego.Width = Root.Width
p_validacion.Height = Root.Height p_validacion.Height = Root.Height
p_validacion.Width = Root.Width p_validacion.Width = Root.Width
p_add_monto.Height = Root.Height p_add_monto.Height = Root.Height
p_add_monto.Width = Root.Width p_add_monto.Width = Root.Width
CallSubDelayed(Tracker, "StartFLP")
End Sub End Sub
Sub B4XPage_Appear Sub B4XPage_Appear
@@ -381,7 +396,21 @@ Sub B4XPage_Appear
If c12.RowCount > 0 Then If c12.RowCount > 0 Then
End If End If
If Subs.nosQuedamosEnVenta Then
Dim enVentaPagina As String = ""
Private ev As Cursor = Starter.skmt.ExecQuery("select * from cat_variables where cat_va_descripcion = 'EN_VENTA_PAGINA'")
If ev.RowCount > 0 Then
ev.Position = 0
If ev.GetString("CAT_VA_VALOR") = "MAPA" Then
Log("VAMOS A MAPAS")
B4XPages.ShowPage("Mapas")
StartActivity("MAPA_RUTAS")
else if ev.GetString("CAT_VA_VALOR") = "CLIENTES" Then
Log("VAMOS A CLIENTES")
B4XPages.ShowPage("Clientes")
End If
End If
End If
End Sub End Sub
'You can see the list of page related events in the B4XPagesManager object. The event name is B4XPage. 'You can see the list of page related events in the B4XPagesManager object. The event name is B4XPage.
@@ -478,10 +507,10 @@ Sub Entrar_Click
reqManager.ExecuteQuery(cmd , 0, "usuario_10") 'Antes usuario reqManager.ExecuteQuery(cmd , 0, "usuario_10") 'Antes usuario
End If End If
End If End If
Dim cmd As DBCommand ' Dim cmd As DBCommand
cmd.Initialize ' cmd.Initialize
cmd.Name = "select_version_ADM" ' cmd.Name = "select_version_ADM"
reqManager.ExecuteQuery(cmd , 0, "version") ' reqManager.ExecuteQuery(cmd , 0, "version")
Else Else
usuario = user.Text usuario = user.Text
B4XPages.ShowPage("Principal") B4XPages.ShowPage("Principal")
@@ -682,7 +711,7 @@ Sub JobDone(Job As HttpJob)
p_validacion.Visible = False p_validacion.Visible = False
et_codigo.Text = "" et_codigo.Text = ""
If recarga = "0" Then If recarga = "0" Then
Subs.panelVisible(P_CIEGO,0,0) Subs.panelVisible(p_ciego,0,0)
Else If recarga = "1" Then Else If recarga = "1" Then
Starter.skmt.ExecNonQuery("delete from CUENTAA") Starter.skmt.ExecNonQuery("delete from CUENTAA")
Starter.skmt.ExecNonQuery2("INSERT INTO CUENTAA VALUES (?)", Array As Object("1")) 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 Else If p_validacion.IsInitialized And p_validacion.Visible Then
p_validacion.Visible = False p_validacion.Visible = False
Return False Return False
Else If P_CIEGO.IsInitialized And P_CIEGO.Visible Then Else If p_ciego.IsInitialized And p_ciego.Visible Then
MsgboxAsync("Debes de terminar el proceso para regresar a la pantalla principal","Atención") MsgboxAsync("Debes de terminar el proceso para regresar a la pantalla principal","Atención")
Return False Return False
Else If p_appUpdate.IsInitialized And p_appUpdate.Visible Then Else If p_appUpdate.IsInitialized And p_appUpdate.Visible Then
@@ -1132,7 +1161,7 @@ Private Sub b_terpc_Click
Log("Processed item " & i) Log("Processed item " & i)
Next Next
Log("Finished processing all items") Log("Finished processing all items")
P_CIEGO.Visible = False p_ciego.Visible = False
et_buspc.Text = "" et_buspc.Text = ""
CLV_PICK_CIEGO.Clear CLV_PICK_CIEGO.Clear
c = Starter.skmt.ExecQuery("SELECT PC_ID_PROD, PC_ALMACEN, PC_RUTA, PC_FECHA FROM PICK_CIEGO") c = Starter.skmt.ExecQuery("SELECT PC_ID_PROD, PC_ALMACEN, PC_RUTA, PC_FECHA FROM PICK_CIEGO")
@@ -1298,3 +1327,7 @@ End Sub
Private Sub p_add_monto_Click Private Sub p_add_monto_Click
End Sub End Sub
Private Sub ImageView1_LongClick
Starter.mandaForma(1,1,123, "1759862644988_10_cerrado.jpg")
End Sub

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

View File

@@ -23,7 +23,7 @@ Sub Class_Globals
Private qr As QRCode Private qr As QRCode
' Dim sc As Zxing_scanner ' Dim sc As Zxing_scanner
Dim CODIGO As String Dim CODIGO As String
Dim STIME As String Dim sTime As String
Dim ruta As String Dim ruta As String
Dim q_buscar As String Dim q_buscar As String
@@ -39,6 +39,45 @@ Sub Class_Globals
Private l_baseodia As Label Private l_baseodia As Label
Private CREDITO As Label Private CREDITO As Label
Private p_transparenciaIniciaInicioFinVenta As Panel
Private p_inicioFinVenta As Panel
Private b_inicioVenta As Button
Private b_finVenta As Button
Private p_guardarPeso As Panel
Private et_guardarPeso As EditText
Private p_botonesGuardarPeso As Panel
Private b_noVenta As Button
Private b_guardarPeso As Button
Private p_noVenta As Panel
Private b_cancelaNoVenta As Button
Private b_guardaNoVenta As Button
Private p_botonesNoVenta As Panel
Private et_comentarioNoVenta As EditText
Private r_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 End Sub
'You can add more parameters here. 'You can add more parameters here.
@@ -59,7 +98,15 @@ Private Sub B4XPage_Created (Root1 As B4XView)
' Else ' Else
ruta = File.DirInternal ruta = File.DirInternal
' End If ' End If
p_transparenciaIniciaInicioFinVenta.top = 0 : p_transparenciaIniciaInicioFinVenta.Left = 0
p_transparenciaIniciaInicioFinVenta.Height = Root.Height : p_transparenciaIniciaInicioFinVenta.Width = Root.Width
Subs.centraPanel(p_inicioFinVenta, Root.Width)
p_guardarPeso.Top = p_inicioFinVenta.top : p_guardarPeso.left = p_inicioFinVenta.left
Subs.centraPanel(p_noVenta, Root.Width)
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 ' se crea o no el archivo de la base de ddatos de kmt
'NOTAS SI SE MODIFICA LA ESTRUCTURA SE QUITA EL IF Y SE VA DIRECTO A LA SENTENCIA FILE.COPY PARA QUE 'NOTAS SI SE MODIFICA LA ESTRUCTURA SE QUITA EL IF Y SE VA DIRECTO A LA SENTENCIA FILE.COPY PARA QUE
'TOME LA NUEVA ESTRUCTURA ES MUY IMPORTANTE TENER EL IF DE LO CONTRARIO SOLO LO ESCRIBE UNA VEZ Y LO BORRA '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") File.Copy(File.DirAssets, "kmt.db", ruta, "kmt.db")
End If End If
qr.initialize qr.initialize
reqManager.Initialize(Me, Starter.DBReqServer)
laCam.Initialize
End Sub End Sub
Sub B4XPage_Appear 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" 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 CHECK = 0
busca.Text = "" busca.Text = ""
entro ="2" entro ="2"
colonia = 0 colonia = 0
c=B4XPages.MainPage.skmt.ExecQuery($"select CAT_CL_NOMBRE, CAT_CL_CALLE, CAT_CL_CODIGO from kmt_info where gestion = 0 AND CAT_CL_CODIGO <> ${"0"} AND CAT_CL_CODIGO <> ${"1"} ORDER BY CAST(CAT_CL_NUM_SERIEFISICO AS INTEGER) ASC"$) c = B4XPages.MainPage.skmt.ExecQuery($"select CAT_CL_NOMBRE, CAT_CL_CALLE, CAT_CL_CODIGO from kmt_info where gestion = 0 AND CAT_CL_CODIGO <> ${"0"} AND CAT_CL_CODIGO <> ${"1"} ORDER BY CAST(CAT_CL_NUM_SERIEFISICO AS INTEGER) ASC"$)
ListView1.Clear ListView1.Clear
lfila.Text = "NOMBRE" lfila.Text = "NOMBRE"
CustomListView1.Clear CustomListView1.Clear
For i = 0 To c.RowCount - 1 For i = 0 To c.RowCount - 1
c.Position = i c.Position = i
@@ -90,8 +157,7 @@ Sub B4XPage_Appear
Else Else
cxc.Visible = True cxc.Visible = True
End If End If
d = B4XPages.MainPage.skmt.ExecQuery($"select IFNULL(CAT_CL_BCREDITO,0) AS CAT_CL_BCREDITO FROM kmt_info WHERE CAT_CL_CODIGO = '${c.GetString("CAT_CL_CODIGO")}'"$) d = B4XPages.MainPage.skmt.ExecQuery($"select IFNULL(CAT_CL_BCREDITO,0) AS CAT_CL_BCREDITO FROM kmt_info WHERE CAT_CL_CODIGO = '${c.GetString("CAT_CL_CODIGO")}'"$)
' LogColor(d.RowCount,Colors.Blue) ' LogColor(d.RowCount,Colors.Blue)
If d.RowCount > 0 Then If d.RowCount > 0 Then
@@ -122,71 +188,93 @@ Sub B4XPage_Appear
End If End If
c.Close c.Close
entro = "4" entro = "4"
If Subs.nosQuedamosEnVenta Then
Dim enVentaUsuario As String = ""
Dim enVentaPagina As String = ""
Private ev As Cursor = Starter.skmt.ExecQuery("select * from cat_variables where cat_va_descripcion = 'EN_VENTA_USUARIO' or cat_va_descripcion = 'EN_VENTA_PAGINA'")
If ev.RowCount > 0 Then
For i = 0 To ev.RowCount - 1
ev.Position = i
If ev.GetString("CAT_VA_DESCRIPCION") = "EN_VENTA_USUARIO" Then
enVentaUsuario = ev.GetString("CAT_VA_VALOR")
Else If ev.GetString("CAT_VA_DESCRIPCION") = "EN_VENTA_PAGINA" Then
enVentaPagina = ev.GetString("CAT_VA_VALOR")
End If
Next
ventaIniciada
End If
End If
End Sub End Sub
Sub CreateListItem(mostrar As String, mostrar1 As String, mostrar2 As String) As Panel Sub 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("") Dim p As B4XView = xui.CreatePanel("")
p.SetLayoutAnimated(0, 0, 0, 1, 220) p.SetLayoutAnimated(0, 0, 0, 1, 220)
p.LoadLayout("datoscliente") ' p.LoadLayout("datoscliente")
p.Height= 60dip p.LoadLayout("datosclienteBotones")
p.Height = 95dip
b_inicioVenta.Tag = cliente
' p.Width = clv_orden.GetBase.Width ' p.Width = clv_orden.GetBase.Width
nombrecliente.Text = mostrar nombrecliente.Text = nombre
direccion.Text = mostrar1 direccion.Text = direccion0
numerocliente.Text = mostrar2 numerocliente.Text = cliente
p_datosclie.Tag = mostrar2 p_datosclie.Tag = cliente
' cxc.Text = mostrar3 ' cxc.Text = mostrar3
' Log(p.Width) ' Log(p.Width)
Return p Return p
End Sub End Sub
Sub ListView1_ItemClick (Position As Int, value As Object) Sub ListView1_ItemClick (Position As Int, value As Object)
If colonia = 0 Then ' If colonia = 0 Then
colonia = value ' colonia = value
End If ' End If
If entro = "2" Then ' 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)) ' 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 ' ListView1.Clear
lfila.text = "Calle" ' lfila.text = "Calle"
If c2.RowCount>0 Then ' If c2.RowCount>0 Then
For i=0 To c2.RowCount -1 ' For i=0 To c2.RowCount -1
c2.Position=i ' c2.Position=i
ListView1.AddTwoLines(c2.GetString("CAT_CL_CALLE"),c2.GetString("cuantos") ) ' ListView1.AddTwoLines(c2.GetString("CAT_CL_CALLE"),c2.GetString("cuantos") )
Next ' Next
End If ' End If
entro = "3" ' entro = "3"
Else If entro = "3" Then ' 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)) ' 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 ' ListView1.Clear
lfila.text = "Nombre" ' lfila.text = "Nombre"
If c2.RowCount>0 Then ' If c2.RowCount>0 Then
For i=0 To c2.RowCount -1 ' For i=0 To c2.RowCount -1
c2.Position=i ' c2.Position=i
ListView1.AddTwoLines(c2.GetString("CAT_CL_CODIGO"), c2.GetString("CAT_CL_NOMBRE")) ' ListView1.AddTwoLines(c2.GetString("CAT_CL_CODIGO"), c2.GetString("CAT_CL_NOMBRE"))
Next ' Next
End If ' End If
entro = "4" ' entro = "4"
Else If entro = "4" Then ' Else If entro = "4" Then
B4XPages.MainPage.skmt.ExecNonQuery("delete from CUENTAA") ' B4XPages.MainPage.skmt.ExecNonQuery("delete from CUENTAA")
B4XPages.MainPage.skmt.ExecNonQuery2("INSERT INTO CUENTAA VALUES (?)", Array As Object(value)) ' B4XPages.MainPage.skmt.ExecNonQuery2("INSERT INTO CUENTAA VALUES (?)", Array As Object(value))
DateTime.TimeFormat = "HHmmss" ' DateTime.TimeFormat = "HHmmss"
STIME=DateTime.Time(DateTime.Now) ' sTime=DateTime.Time(DateTime.Now)
Starter.pre_viejo = Subs.traeTotalClientepreventaparacredito ' 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=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 ' s.Position = 0
If s.GetString("CUANTOS") = 1 Then ' 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)) ' 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 ' 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("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)) ' 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 ' End If
B4XPages.MainPage.skmt.ExecNonQuery2("UPDATE HIST_STAY_OUT set HSO_INI = ? where HSO_INI = 0 ", Array As Object(STIME)) ' B4XPages.MainPage.skmt.ExecNonQuery2("UPDATE HIST_STAY_OUT set HSO_INI = ? where HSO_INI = 0 ", Array As Object(sTime))
DateTime.TimeFormat = "HH:mm:ss" ' DateTime.TimeFormat = "HH:mm:ss"
'
Subs.guardaClienteHoraInicio(value) ' Subs.guardaClienteHoraInicio(value)
'
B4XPages.ShowPage("Cliente") ' B4XPages.ShowPage("Cliente")
End If ' End If
End Sub End Sub
Private Sub B4XPage_CloseRequest As ResumableSub Private Sub B4XPage_CloseRequest As ResumableSub
@@ -196,6 +284,10 @@ Private Sub B4XPage_CloseRequest As ResumableSub
' StartActivity(seleccion) ' StartActivity(seleccion)
' Return False ' Return False
' End If ' End If
If p_transparenciaIniciaInicioFinVenta.Visible Then
ToastMessageShow($"Es necesario ingresar "Peso" o "No Venta" para poder continuar"$, True)
Return False
End If
Return True Return True
End Sub End Sub
@@ -216,8 +308,7 @@ Sub BUSCA_TextChanged (Old As String, New As String)
Else Else
cxc.Visible = True cxc.Visible = True
End If End If
d = B4XPages.MainPage.skmt.ExecQuery($"select IFNULL(CAT_CL_BCREDITO,0) AS CAT_CL_BCREDITO FROM kmt_info WHERE CAT_CL_CODIGO = '${c2.GetString("CAT_CL_CODIGO")}'"$) d = B4XPages.MainPage.skmt.ExecQuery($"select IFNULL(CAT_CL_BCREDITO,0) AS CAT_CL_BCREDITO FROM kmt_info WHERE CAT_CL_CODIGO = '${c2.GetString("CAT_CL_CODIGO")}'"$)
' LogColor(d.RowCount,Colors.Blue) ' LogColor(d.RowCount,Colors.Blue)
If d.RowCount > 0 Then If d.RowCount > 0 Then
@@ -233,8 +324,7 @@ Sub BUSCA_TextChanged (Old As String, New As String)
CREDITO.Visible = False CREDITO.Visible = False
End If End If
Next Next
If c2.RowCount>0 Then If c2.RowCount>0 Then
For i=0 To c2.RowCount -1 For i=0 To c2.RowCount -1
c2.Position=i c2.Position=i
@@ -271,7 +361,7 @@ Sub BUSCA_TextChanged (Old As String, New As String)
' LogColor(d.RowCount,Colors.Blue) ' LogColor(d.RowCount,Colors.Blue)
If d.RowCount > 0 Then If d.RowCount > 0 Then
d.Position = 0 d.Position = 0
LogColor(d.GetString("CAT_CL_BCREDITO"),Colors.Blue) ' LogColor(d.GetString("CAT_CL_BCREDITO"),Colors.Blue)
If d.GetString("CAT_CL_BCREDITO") = "1" Then If d.GetString("CAT_CL_BCREDITO") = "1" Then
CREDITO.Visible = True CREDITO.Visible = True
Else Else
@@ -282,8 +372,7 @@ Sub BUSCA_TextChanged (Old As String, New As String)
CREDITO.Visible = False CREDITO.Visible = False
End If End If
Next Next
If c2.RowCount>0 Then If c2.RowCount>0 Then
For i=0 To c2.RowCount -1 For i=0 To c2.RowCount -1
c2.Position=i c2.Position=i
@@ -353,66 +442,64 @@ Private Sub p_clientes_Click
End Sub End Sub
Private Sub p_datosclie_Click Private Sub p_datosclie_Click
If colonia = 0 Then ' If colonia = 0 Then
colonia = Sender.As(Panel).tag ' colonia = Sender.As(Panel).tag
End If ' End If
If entro = "2" Then ' 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)) ' 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 ' ListView1.Clear
lfila.text = "Calle" ' lfila.text = "Calle"
If c2.RowCount>0 Then ' If c2.RowCount>0 Then
For i=0 To c2.RowCount -1 ' For i=0 To c2.RowCount -1
c2.Position=i ' c2.Position=i
ListView1.AddTwoLines(c2.GetString("CAT_CL_CALLE"),c2.GetString("cuantos") ) ' ListView1.AddTwoLines(c2.GetString("CAT_CL_CALLE"),c2.GetString("cuantos") )
Next ' Next
End If ' End If
entro = "3" ' entro = "3"
Else If entro = "3" Then ' 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)) ' 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 ' ListView1.Clear
lfila.text = "Nombre" ' lfila.text = "Nombre"
If c2.RowCount>0 Then ' If c2.RowCount>0 Then
For i=0 To c2.RowCount -1 ' For i=0 To c2.RowCount -1
c2.Position=i ' c2.Position=i
ListView1.AddTwoLines(c2.GetString("CAT_CL_CODIGO"), c2.GetString("CAT_CL_NOMBRE")) ' ListView1.AddTwoLines(c2.GetString("CAT_CL_CODIGO"), c2.GetString("CAT_CL_NOMBRE"))
Next ' Next
End If ' End If
entro = "4" ' entro = "4"
Else If entro = "4" Then ' Else If entro = "4" Then
B4XPages.MainPage.skmt.ExecNonQuery("delete from CUENTAA") ' B4XPages.MainPage.skmt.ExecNonQuery("delete from CUENTAA")
B4XPages.MainPage.skmt.ExecNonQuery2("INSERT INTO CUENTAA VALUES (?)", Array As Object(Sender.As(Panel).tag)) ' B4XPages.MainPage.skmt.ExecNonQuery2("INSERT INTO CUENTAA VALUES (?)", Array As Object(Sender.As(Panel).tag))
DateTime.TimeFormat = "HHmmss" ' DateTime.TimeFormat = "HHmmss"
STIME=DateTime.Time(DateTime.Now) ' 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=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 ' s.Position = 0
If s.GetString("CUANTOS") = 1 Then ' 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)) ' 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 ' 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("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)) ' 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 ' End If
B4XPages.MainPage.skmt.ExecNonQuery2("UPDATE HIST_STAY_OUT set HSO_INI = ? where HSO_INI = 0 ", Array As Object(STIME)) ' B4XPages.MainPage.skmt.ExecNonQuery2("UPDATE HIST_STAY_OUT set HSO_INI = ? where HSO_INI = 0 ", Array As Object(sTime))
DateTime.TimeFormat = "HH:mm:ss" ' DateTime.TimeFormat = "HH:mm:ss"
'
Subs.guardaClienteHoraInicio(Sender.As(Panel).tag) ' Subs.guardaClienteHoraInicio(Sender.As(Panel).tag)
'
B4XPages.ShowPage("Cliente") ' B4XPages.ShowPage("Cliente")
End If ' End If
'' Log(Sender.As(Panel).tag)
' Log(Sender.As(Panel).tag)
End Sub End Sub
Private Sub b_buscar_Click Private Sub b_buscar_Click
Log(CHECK) ' Log(CHECK)
If CHECK = 0 Then If CHECK = 0 Then
l_baseodia.Text = "Clientes de base de datos" l_baseodia.Text = "Clientes de base de datos"
CHECK = 1 CHECK = 1
busca.Text = "" busca.Text = ""
entro ="2" entro ="2"
colonia = 0 colonia = 0
c=B4XPages.MainPage.skmt.ExecQuery($"select CAT_CL_NOMBRE, CAT_CL_CALLE, CAT_CL_CODIGO from kmt_info2 where gestion = 0 AND CAT_CL_CODIGO <> ${"0"} AND CAT_CL_CODIGO <> ${"1"} ORDER BY CAT_CL_CODIGO"$) c = B4XPages.MainPage.skmt.ExecQuery($"select CAT_CL_NOMBRE, CAT_CL_CALLE, CAT_CL_CODIGO from kmt_info2 where gestion = 0 AND CAT_CL_CODIGO <> ${"0"} AND CAT_CL_CODIGO <> ${"1"} ORDER BY CAT_CL_CODIGO"$)
ListView1.Clear ListView1.Clear
lfila.Text = "NOMBRE" lfila.Text = "NOMBRE"
ListView1.Clear ListView1.Clear
@@ -428,7 +515,7 @@ Private Sub b_buscar_Click
End If End If
d = B4XPages.MainPage.skmt.ExecQuery($"select IFNULL(CAT_CL_BCREDITO,0) AS CAT_CL_BCREDITO FROM kmt_info WHERE CAT_CL_CODIGO = '${c.GetString("CAT_CL_CODIGO")}'"$) d = B4XPages.MainPage.skmt.ExecQuery($"select IFNULL(CAT_CL_BCREDITO,0) AS CAT_CL_BCREDITO FROM kmt_info WHERE CAT_CL_CODIGO = '${c.GetString("CAT_CL_CODIGO")}'"$)
' LogColor(d.RowCount,Colors.Blue) ' LogColor(d.RowCount,Colors.Blue)
If d.RowCount > 0 Then If d.RowCount > 0 Then
d.Position = 0 d.Position = 0
LogColor(d.GetString("CAT_CL_BCREDITO"),Colors.Blue) LogColor(d.GetString("CAT_CL_BCREDITO"),Colors.Blue)
@@ -511,6 +598,414 @@ Private Sub b_buscar_Click
End If End If
c.Close c.Close
entro = "4" entro = "4"
End If End If
End Sub End Sub
Private Sub b_inicioVenta_Click
' b_inicioVenta.Enabled = False
Private cliente As String = Sender.As(Button).tag
Starter.skmt.ExecNonQuery($"delete from cuentaa"$)
Starter.skmt.ExecNonQuery($"insert into cuentaa (cuenta) values ('${cliente}')"$)
Log($"insert into cuentaa (cuenta) values ('${cliente}')"$)
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_NOM, USUARIO) VALUES (?,?,?,?,?,?,?)",Array As Object(Subs.traeRuta, Subs.traeAlmacen, B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps, sDate & " " & sTime, fototomada, Subs.traeUsuarioDeBD))
b_foto_inci.Text = "Foto usuario"
ChangeCamera_Click
Else
fotoCerrado = fototomada
p_camara.Visible = False
StopCamera
End If
LogColor("Mandamos foto: " & fototomada, Colors.red)
Log($"${Subs.traeAlmacen}, ${Subs.traeRuta}, ${Subs.traeCliente}, ${fototomada}"$)
Starter.mandaForma(Subs.traeAlmacen, Subs.traeRuta, Subs.traeCliente, fototomada)
Else If b_foto_inci.Text = "Foto usuario" Then
DateTime.DateFormat="ddMMyyyyHHmmss"
nombreFoto = "usuario"
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 FOTO_NOM2 = ? where USUARIO = ? and RUTAA = ? and ALMACEN = ? ", Array As Object (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
LogColor("Mandamos foto: " & fototomada, Colors.red)
Log($"${Subs.traeAlmacen}, ${Subs.traeRuta}, ${Subs.traeCliente}, ${fototomada}"$)
Starter.mandaForma(Subs.traeAlmacen, Subs.traeRuta, Subs.traeCliente, fototomada)
' 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 Sub CANCELA_Click
B4XPages.ShowPage("Cliente") B4XPages.ShowPage("Cliente")
End Sub End Sub
Sub GUARDA_Click Sub GUARDA_Click
If r_1.Checked Then If r_1.Checked Then
motivo = "CERRADO" motivo = "CERRADO"
@@ -102,7 +103,6 @@ Sub GUARDA_Click
Next Next
End If End If
' B4XPages.MainPage.skmt.ExecNonQuery("delete from pedido_cliente where pc_cliente in (Select CUENTA from cuentaa)") ' B4XPages.MainPage.skmt.ExecNonQuery("delete from pedido_cliente where pc_cliente in (Select CUENTA from cuentaa)")
' B4XPages.MainPage.skmt.ExecNonQuery("delete from pedido where pe_cliente in (Select CUENTA from cuentaa)") ' B4XPages.MainPage.skmt.ExecNonQuery("delete from pedido where pe_cliente in (Select CUENTA from cuentaa)")
@@ -131,6 +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)) B4XPages.MainPage.skmt.ExecNonQuery2("update PEDIDO_INICIO_FINAL set PIF_HORA_FINAL = ? where PIF_CLIENTE = ? and PIF_HORA_FINAL = 0", Array As Object (DateTime.Now, cuenta))
LogColor($"actualizamos "${cuenta}, hora_final=${DateTime.now}"$,Colors.Red) LogColor($"actualizamos "${cuenta}, hora_final=${DateTime.now}"$,Colors.Red)
Subs.bitacora(Subs.fechanormal(DateTime.Now), usuario, Subs.traeAlmacen, Subs.traeRuta, "No Venta", Subs.traeCliente, "", Subs.fechanormal(DateTime.Now), B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps, B4XPages.MainPage.cliente.precision, motivo, e_comm.text, "")
mandaPendientesnoventa mandaPendientesnoventa
B4XPages.ShowPage("Principal") B4XPages.ShowPage("Principal")
End Sub End Sub

View File

@@ -218,6 +218,9 @@ Sub GUARDA_Click
Starter.skmt.ExecNonQuery2("INSERT INTO CLIENTES_NUEVOS(CN_ID, CN_FECHA, CN_USER, CN_LAT, CN_LON, CN_NOMBRE, CN_DIRECCION, CN_FOTO, CN_RUTA, CN_GIRO, CN_SOLICITA) VALUES (?,?,?,?,?,?,?,?,?,?,?)", Array As String(no_cliente, sDate2 &" "&sTime2, usuario, lat, lon, E_NOMBRE.Text, et_direccion.Text, ALMACEN, no_ruta, cb_giro.SelectedItem, ET_Atiende.Text)) Starter.skmt.ExecNonQuery2("INSERT INTO CLIENTES_NUEVOS(CN_ID, CN_FECHA, CN_USER, CN_LAT, CN_LON, CN_NOMBRE, CN_DIRECCION, CN_FOTO, CN_RUTA, CN_GIRO, CN_SOLICITA) VALUES (?,?,?,?,?,?,?,?,?,?,?)", Array As String(no_cliente, sDate2 &" "&sTime2, usuario, lat, lon, E_NOMBRE.Text, et_direccion.Text, ALMACEN, no_ruta, cb_giro.SelectedItem, ET_Atiende.Text))
' fototomada = "0" ' fototomada = "0"
Subs.bitacora(Subs.fechanormal(DateTime.Now), usuario, ALMACEN, Subs.traeRuta, "Nuevo Cliente", "", Subs.fechanormal(DateTime.Now), Subs.fechanormal(DateTime.Now), Starter.lat_gps, Starter.lon_gps, "2", "", "", no_cliente)
Log("Bitacora guardada")
B4XPages.ShowPage("Cliente") B4XPages.ShowPage("Cliente")
CallSubDelayed(Tracker, "StartFLP") CallSubDelayed(Tracker, "StartFLP")
Else Else

File diff suppressed because it is too large Load Diff

View File

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

View File

@@ -13,9 +13,51 @@ Sub Class_Globals
Dim S As Cursor Dim S As Cursor
Dim ruta As String Dim ruta As String
Dim ListView1 As ListView Dim ListView1 As ListView
Dim b_noventa As Button Dim b_noventa0 As Button
Dim nombre_boton As String Dim nombre_boton As String
Dim STIME 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 End Sub
'You can add more parameters here. '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 If File.Exists(ruta, "kmt.db") = False Then
File.Copy(File.DirAssets, "kmt.db", ruta, "kmt.db") File.Copy(File.DirAssets, "kmt.db", ruta, "kmt.db")
End If End If
c = B4XPages.MainPage.skmt.ExecQuery("select PC_CLIENTE,PC_MONTO,PC_NOART FROM PEDIDO_CLIENTE ORDER BY PC_FECHA asc") ' c = B4XPages.MainPage.skmt.ExecQuery("select PC_CLIENTE, PC_MONTO, PC_NOART FROM PEDIDO_CLIENTE ORDER BY PC_FECHA asc")
' ListView1.Clear
' If c.RowCount>0 Then
ListView1.Clear ' For i=0 To c.RowCount -1
If c.RowCount>0 Then ' c.Position=i
For i=0 To c.RowCount -1 ' Dim label1 As Label
c.Position=i ' label1 = ListView1.TwoLinesLayout.Label
Dim label1 As Label ' label1.TextSize = 10
label1 = ListView1.TwoLinesLayout.Label ' label1.TextColor = Colors.Black
label1.TextSize = 10 ' Dim label2 As Label
label1.TextColor = Colors.Black ' label2 = ListView1.TwoLinesLayout.SecondLabel
Dim label2 As Label ' label2.TextSize = 13
label2 = ListView1.TwoLinesLayout.SecondLabel ' label2.TextColor = Colors.Blue
label2.TextSize = 13 ' ListView1.AddTwoLines(c.GetString("PC_CLIENTE"),"SubTotal "& c.GetString("PC_MONTO") & " kgs.")
label2.TextColor = Colors.Blue ' Next
ListView1.AddTwoLines(c.GetString("PC_CLIENTE"),"Cantidad #"& c.GetString("PC_NOART")& " SubTotal $"& c.GetString("PC_MONTO")) ' End If
Next p_transparenciaIniciaInicioFinVenta.top = 0 : p_transparenciaIniciaInicioFinVenta.Left = 0
End If 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 End Sub
'You can see the list of page related events in the B4XPagesManager object. The event name is B4XPage. 'You can see the list of page related events in the B4XPagesManager object. The event name is B4XPage.
Sub B4XPage_Appear Sub B4XPage_Appear
nombre_boton = "NOVENTA" nombre_boton = "NOVENTA"
c=B4XPages.MainPage.skmt.ExecQuery("select PC_CLIENTE,PC_MONTO,PC_NOART,(select CAT_CL_NOMBRE from kmt_info where cat_cl_codigo = pc_cliente UNION select CAT_CL_NOMBRE from kmt_info2 where cat_cl_codigo = pc_cliente ) as NOMBRE FROM PEDIDO_CLIENTE ORDER BY PC_FECHA asc") 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 Dim noArticulos As Int = 0
fotoCerrado = ""
ListView1.Clear ListView1.Clear
ListView1.Height = Root.Height * 0.8
b_noventa0.Top = ListView1.Top + ListView1.Height
ListView1.TwoLinesLayout.ItemHeight = 90dip
If c.RowCount>0 Then If c.RowCount>0 Then
For i=0 To c.RowCount -1 For i=0 To c.RowCount -1
c.Position=i c.Position=i
Dim x As Cursor = B4XPages.MainPage.skmt.ExecQuery($"select sum(PE_CANT) as PC_NOART from PEDIDO where PE_CLIENTE = '${c.GetString("PC_CLIENTE")}' AND PE_PROID NOT IN (SELECT CAT_PA_ID FROM PROMOS_COMP)"$) ' Dim x As Cursor = B4XPages.MainPage.skmt.ExecQuery($"select sum(PE_CANT) as PC_NOART from PEDIDO where PE_CLIENTE = '${c.GetString("PC_CLIENTE")}' AND PE_PROID NOT IN (SELECT CAT_PA_ID FROM PROMOS_COMP)"$)
Dim x As Cursor = B4XPages.MainPage.skmt.ExecQuery($"select 1 as PC_NOART from PESOS where PE_CLIENTE = '${c.GetString("PC_CLIENTE")}'"$)
If x.RowCount > 0 Then If x.RowCount > 0 Then
x.Position = 0 x.Position = 0
' Log(x.GetString("PC_NOART")) ' Log(x.GetString("PC_NOART"))
@@ -72,20 +128,27 @@ Sub B4XPage_Appear
Dim label1 As Label Dim label1 As Label
label1 = ListView1.TwoLinesLayout.Label label1 = ListView1.TwoLinesLayout.Label
label1.TextSize = 10 label1.TextSize = 10
label1.Visible = False
label1.TextColor = Colors.Black label1.TextColor = Colors.Black
Dim label2 As Label Dim label2 As Label
label2 = ListView1.TwoLinesLayout.SecondLabel label2 = ListView1.TwoLinesLayout.SecondLabel
label2.TextSize = 13 label2.TextSize = 13
label2.TextColor = Colors.Blue 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 Next
End If End If
c.Close 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 End Sub
Sub Regresar_Click Sub Regresar_Click
B4XPages.ShowPage("cliente") B4XPages.ShowPage("cliente")
End Sub End Sub
Sub Activity_KeyPress (key As Int) As Boolean Sub Activity_KeyPress (key As Int) As Boolean
' BACK key pressed ' BACK key pressed
If key=KeyCodes.KEYCODE_BACK Then 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 ' Returning False signals the system to handle the key
Return False Return False
End Sub End Sub
Sub ListView1_ItemLongClick (Position As Int, Value As Object) Sub ListView1_ItemLongClick (Position As Int, Value As Object)
B4XPages.MainPage.skmt.ExecNonQuery("delete from CUENTAA") Log("################ Iniciando revision de ubicación #############")
B4XPages.MainPage.skmt.ExecNonQuery2("INSERT INTO CUENTAA VALUES (?)", Array As Object(Value)) Log($"${B4XPages.MainPage.lat_gps},${B4XPages.MainPage.lon_gps}"$)
DateTime.TimeFormat = "HHmmss" If B4XPages.MainPage.lat_gps.Length < 4 Or B4XPages.MainPage.lon_gps.Length < 4 Then
STIME=DateTime.Time(DateTime.Now) ProgressDialogShow2("Buscando ubicación ...", False)
Starter.pre_viejo = Subs.traeTotalClientepreventaparacredito CallSubDelayed(Tracker, "Track")
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)") CallSubDelayed(Tracker, "StartFLPSmall")
s.Position = 0 wait for GPS_LocationChanged (location1 As Location)
If s.GetString("CUANTOS") = 1 Then ProgressDialogHide
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 End If
DateTime.TimeFormat = "HH:mm:ss" Log("############### Terminando revision de ubicación #############")
Subs.guardaClienteHoraInicio(Value) Private cliente As String = Value
B4XPages.MainPage.cliente.venimosDeTicketsDia = True Log(Value)
B4XPages.ShowPage("cliente") 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 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 If nombre_boton = "NOVENTA" Then
nombre_boton = "VENTA" nombre_boton = "VENTA"
b_noventa.Text ="VENTA" 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 NV_CLIENTE,NV_MOTIVO,NV_COMM, (select CAT_CL_NOMBRE from kmt_info where cat_cl_codigo = NV_CLIENTE ) as NOMBRE FROM NOVENTA ORDER BY NV_CLIENTE asc")
c = B4XPages.MainPage.skmt.ExecQuery("select PE_CLIENTE as NV_CLIENTE, PE_MOTIVO as NV_MOTIVO, PE_COMENTARIO as NV_COMM, (select CAT_CL_NOMBRE from kmt_info where cat_cl_codigo = pe_cliente UNION select CAT_CL_NOMBRE from kmt_info2 where cat_cl_codigo = pe_cliente ) as NOMBRE FROM PESOS where PE_TIPO = 'NO VENTA' ORDER BY PE_FECHA asc")
ListView1.Clear ListView1.Clear
If c.RowCount>0 Then If c.RowCount>0 Then
For i=0 To c.RowCount -1 For i=0 To c.RowCount -1
@@ -133,13 +244,14 @@ Sub b_noventa_Click
label2 = ListView1.TwoLinesLayout.SecondLabel label2 = ListView1.TwoLinesLayout.SecondLabel
label2.TextSize = 10 label2.TextSize = 10
label2.TextColor = Colors.Blue label2.TextColor = Colors.Blue
ListView1.AddTwoLines(c.GetString("NV_CLIENTE"),c.GetString("NOMBRE") &" Motivo #"& c.GetString("NV_MOTIVO")& " Comentario $"& c.GetString("NV_COMM")) ListView1.AddTwoLines(c.GetString("NV_CLIENTE"),c.GetString("NOMBRE") &" Motivo: "& c.GetString("NV_MOTIVO")& " Comentario: "& c.GetString("NV_COMM"))
Next Next
End If End If
Else Else
nombre_boton = "NOVENTA" nombre_boton = "NOVENTA"
b_noventa.Text ="NO VENTA" b_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 PC_CLIENTE,PC_MONTO,PC_NOART,(select CAT_CL_NOMBRE from kmt_info where cat_cl_codigo = pc_cliente ) as NOMBRE FROM PEDIDO_CLIENTE ORDER BY PC_FECHA asc")
c = B4XPages.MainPage.skmt.ExecQuery("select PE_CLIENTE as PC_CLIENTE, PE_PESO AS PC_MONTO, 1 as PC_NOART,(select CAT_CL_NOMBRE from kmt_info where cat_cl_codigo = pe_cliente UNION select CAT_CL_NOMBRE from kmt_info2 where cat_cl_codigo = pe_cliente ) as NOMBRE FROM PESOS where PE_TIPO = 'VENTA' ORDER BY PE_FECHA asc")
ListView1.Clear ListView1.Clear
If c.RowCount>0 Then If c.RowCount>0 Then
@@ -147,13 +259,13 @@ Sub b_noventa_Click
c.Position=i c.Position=i
Dim label1 As Label Dim label1 As Label
label1 = ListView1.TwoLinesLayout.Label label1 = ListView1.TwoLinesLayout.Label
label1.TextSize = 15 label1.TextSize = 10
label1.TextColor = Colors.Black label1.TextColor = Colors.Black
Dim label2 As Label Dim label2 As Label
label2 = ListView1.TwoLinesLayout.SecondLabel label2 = ListView1.TwoLinesLayout.SecondLabel
label2.TextSize = 10 label2.TextSize = 13
label2.TextColor = Colors.Blue 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 Next
End If End If
c.Close c.Close
@@ -162,4 +274,285 @@ End Sub
Private Sub p_ticketsdia_Click 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_NOM, USUARIO) VALUES (?,?,?,?,?,?,?)",Array As Object(Subs.traeRuta, Subs.traeAlmacen, B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps, sDate & " " & STIME, fototomada, Subs.traeUsuarioDeBD))
b_foto_inci.Text = "Foto usuario"
ChangeCamera_Click
Else
fotoCerrado = fototomada
p_camara.Visible = False
StopCamera
End If
Starter.mandaForma(Subs.traeAlmacen, Subs.traeRuta, Subs.traeCliente, fototomada)
Else If b_foto_inci.Text = "Foto usuario" Then
DateTime.DateFormat="ddMMyyyyHHmmss"
nombreFoto = "usuario"
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 FOTO_NOM2 = ? where USUARIO = ? and RUTAA = ? and ALMACEN = ? ", Array As Object (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
LogColor("Mandamos foto: " & fototomada, Colors.red)
Log($"${Subs.traeAlmacen}, ${Subs.traeRuta}, ${Subs.traeCliente}, ${fototomada}"$)
Starter.mandaForma(Subs.traeAlmacen, Subs.traeRuta, Subs.traeCliente, fototomada)
' 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 End Sub

View File

@@ -108,7 +108,11 @@ End Sub
'End Sub 'End Sub
Public Sub TakePicture Public Sub TakePicture
cam.TakePicture Try
cam.TakePicture
Catch
Log(LastException)
End Try
End Sub End Sub
Private Sub Camera_PictureTaken (Data() As Byte) Private Sub Camera_PictureTaken (Data() As Byte)
@@ -178,6 +182,7 @@ Public Sub SetPreviewSize(Width As Int, Height As Int)
r.target = parameters r.target = parameters
r.RunMethod3("setPreviewSize", Width, "java.lang.int", Height, "java.lang.int") r.RunMethod3("setPreviewSize", Width, "java.lang.int", Height, "java.lang.int")
End Sub End Sub
Public Sub GetSupportedPicturesSizes As CameraSize() Public Sub GetSupportedPicturesSizes As CameraSize()
r.target = parameters r.target = parameters
Dim list1 As List = r.RunMethod("getSupportedPictureSizes") 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.Columns.Initialize
table.rows.Initialize table.rows.Initialize
table.Tag = Job.Tag table.Tag = Job.Tag
If jobTagAnterior <> Job.Tag Then LogColor("HandleJob: '"&Job.Tag&"'", Colors.RGB(171,70,0)) 'Mod por CHV - 211109 If jobTagAnterior <> Job.Tag Then LogColor("HandleJob: '" & Job.Tag.As(String).ToUpperCase & "'", Colors.RGB(171,70,0))
jobTagAnterior = Job.Tag 'Mod por CHV - 211109 jobTagAnterior = Job.Tag 'Mod por CHV - 211109
If method = "query" Then If method = "query" Then
Dim numberOfColumns As Int = ReadInt(In) Dim numberOfColumns As Int = ReadInt(In)

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 c2 As Cursor
Dim c22 As Cursor Dim c22 As Cursor
Dim c3 As Cursor Dim c3 As Cursor
Private xui As XUI 'ignore
End Sub End Sub
Sub Globals Sub Globals
@@ -57,6 +58,43 @@ Sub Globals
Dim GoogleMapEXTRA As GoogleMapsExtras Dim GoogleMapEXTRA As GoogleMapsExtras
Dim CODIGO As String Dim CODIGO As String
Private SEMANA As String Private SEMANA As String
Private p_transparenciaIniciaInicioFinVenta As Panel
Private b_inicioVenta As Button
Private b_finVenta As Button
Private p_inicioFinVenta As Panel
Private p_guardarPeso As Panel
Private et_guardarPeso As EditText
Private b_guardarPeso As Button
Private p_botonesGuardarPeso As Panel
Private b_noVenta As Button
Private p_noVenta As Panel
Private b_cancelaNoVenta As Button
Private b_guardaNoVenta As Button
Private p_botonesNoVenta As Panel
Private Panel5 As Panel
Private et_comentarioNoVenta As EditText
Private r_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 End Sub
Sub Activity_Create(FirstTime As Boolean) Sub Activity_Create(FirstTime As Boolean)
@@ -64,6 +102,12 @@ Sub Activity_Create(FirstTime As Boolean)
' If File.ExternalWritable Then ' If File.ExternalWritable Then
' ruta = File.DirDefaultExternal ' ruta = File.DirDefaultExternal
' Else ' Else
p_transparenciaIniciaInicioFinVenta.top = 0 : p_transparenciaIniciaInicioFinVenta.Left = 0
p_transparenciaIniciaInicioFinVenta.Height = Activity.Height : p_transparenciaIniciaInicioFinVenta.Width = Activity.Width
Subs.centraPanel(p_inicioFinVenta, Activity.Width)
p_guardarPeso.Top = p_inicioFinVenta.top : p_guardarPeso.left = p_inicioFinVenta.left
Subs.centraPanel(p_noVenta, Activity.Width)
ruta = File.DirInternal ruta = File.DirInternal
' End If ' End If
If File.Exists(ruta, "kmt.db") = False Then If File.Exists(ruta, "kmt.db") = False Then
@@ -110,7 +154,6 @@ Sub Activity_Create(FirstTime As Boolean)
c.Position =0 c.Position =0
SEMANA = c.GetString("CUANTOS") SEMANA = c.GetString("CUANTOS")
c.Close c.Close
If SEMANA > 0 Then If SEMANA > 0 Then
c=skmt.ExecQuery2("select CAT_VA_VALOR from CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As String ("SEMANA")) c=skmt.ExecQuery2("select CAT_VA_VALOR from CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As String ("SEMANA"))
c.Position =0 c.Position =0
@@ -120,6 +163,9 @@ Sub Activity_Create(FirstTime As Boolean)
End Sub End Sub
Sub Activity_Resume Sub Activity_Resume
Log("MAPA_RUTAS RESUME")
InitializeCamera
fotoCerrado = ""
Starter.rp.Check(Starter.rp.PERMISSION_ACCESS_FINE_LOCATION) Starter.rp.Check(Starter.rp.PERMISSION_ACCESS_FINE_LOCATION)
Wait For Activity_PermissionResult (Permission As String, Result As Boolean) Wait For Activity_PermissionResult (Permission As String, Result As Boolean)
If Result Then If Result Then
@@ -137,15 +183,34 @@ Sub Activity_Resume
azul = 1 azul = 1
rojo = 0 rojo = 0
todos = 0 todos = 0
If Subs.nosQuedamosEnVenta Then
Dim enVentaUsuario As String = ""
Dim enVentaPagina As String = ""
Private ev As Cursor = Starter.skmt.ExecQuery("select * from cat_variables where cat_va_descripcion = 'EN_VENTA_USUARIO' or cat_va_descripcion = 'EN_VENTA_PAGINA'")
If ev.RowCount > 0 Then
For i = 0 To ev.RowCount - 1
ev.Position = i
If ev.GetString("CAT_VA_DESCRIPCION") = "EN_VENTA_USUARIO" Then
enVentaUsuario = ev.GetString("CAT_VA_VALOR")
Else If ev.GetString("CAT_VA_DESCRIPCION") = "EN_VENTA_PAGINA" Then
enVentaPagina = ev.GetString("CAT_VA_VALOR")
End If
Next
ventaIniciada
End If
End If
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 End Sub
Sub MapFragment1_Ready Sub MapFragment1_Ready
Log("ENTRANDO MapFragment1_Ready") ' Log("ENTRANDO MapFragment1_Ready")
gmap = MapFragment1.GetMap gmap = MapFragment1.GetMap
gmap.IsInitialized gmap.IsInitialized
'todos= 1 ' todos = 1
'permisos 'permisos
rp.CheckAndRequest(rp.PERMISSION_ACCESS_FINE_LOCATION) rp.CheckAndRequest(rp.PERMISSION_ACCESS_FINE_LOCATION)
Wait For Activity_PermissionResult (Permission As String, Result As Boolean) Wait For Activity_PermissionResult (Permission As String, Result As Boolean)
gmap.MyLocationEnabled = Result gmap.MyLocationEnabled = Result
@@ -154,9 +219,9 @@ Sub MapFragment1_Ready
JavaMapsObject = gmap.GetUiSettings JavaMapsObject = gmap.GetUiSettings
JavaMapsObject.RunMethod("setMapToolbarEnabled", Array As Object(True)) JavaMapsObject.RunMethod("setMapToolbarEnabled", Array As Object(True))
'''''''----------------------------MARKER AZUL - POR VISITAR '''''''----------------------------MARKER AZUL - POR VISITAR
If azul = 1 Or todos = 1 Then If azul = 1 Or todos = 1 Then
c.IsInitialized c.IsInitialized
c=skmt.ExecQuery("select CAT_CL_CODIGO,CAT_CL_NOMBRE,CAT_CL_LAT,CAT_CL_LONG from kmt_info where gestion = 0 and CAT_CL_LAT is not null and CAT_CL_LONG is not null and CAT_CL_LAT <> 0 and CAT_CL_LONG <> 0 and CAT_CL_LAT <> ' ' and CAT_CL_LONG <> ' ' and CAT_CL_CODIGO <> 0 and CAT_CL_CODIGO <> 1") c=skmt.ExecQuery("select CAT_CL_CODIGO, CAT_CL_NOMBRE, CAT_CL_LAT, CAT_CL_LONG from kmt_info where gestion = 0 and CAT_CL_LAT is not null and CAT_CL_LONG is not null and CAT_CL_LAT <> 0 and CAT_CL_LONG <> 0 and CAT_CL_LAT <> ' ' and CAT_CL_LONG <> ' ' and CAT_CL_CODIGO <> 0 and CAT_CL_CODIGO <> 1")
' skmt.Initialize(ruta,"kmt.db", True) ' skmt.Initialize(ruta,"kmt.db", True)
Log($"============== Resultados = ${c.RowCount}"$) Log($"============== Resultados = ${c.RowCount}"$)
If c.RowCount > 0 Then If c.RowCount > 0 Then
@@ -164,88 +229,119 @@ Sub MapFragment1_Ready
c.Position = i c.Position = i
' Log($"|${c.GetString("CAT_CL_LONG")}|${c.GetString("CAT_CL_LAT")}|"$) ' Log($"|${c.GetString("CAT_CL_LONG")}|${c.GetString("CAT_CL_LAT")}|"$)
' Log(i&"|"&c.GetString("CAT_CL_LAT")&"|") ' Log(i&"|"&c.GetString("CAT_CL_LAT")&"|")
LatitudRu = 0 ' LatitudRu = 0
Log(c.GetString("CAT_CL_CODIGO")&" "& c.GetString("CAT_CL_LAT")) If c.GetString("CAT_CL_LAT") = Null Or c.GetString("CAT_CL_LAT") = "null" Or c.GetString("CAT_CL_LAT") = "NULL" _
If c.GetString("CAT_CL_LAT") <> "" Then LatitudRu = c.GetString("CAT_CL_LAT") Or c.GetString("CAT_CL_LONG") = Null Or c.GetString("CAT_CL_LONG") = "null" Or c.GetString("CAT_CL_LONG") = "NULL" _
LongitudRU = 0 Then
If c.GetString("CAT_CL_LONG") <> "" Then LongitudRU = c.GetString("CAT_CL_LONG") ToastMessageShow($"Tienda con coordenadas incorrectas (${c.GetString("CAT_CL_CODIGO")})"$, False)
CODIGO=c.GetString("CAT_CL_CODIGO") Else
Tienda= c.GetString("CAT_CL_NOMBRE") Log(c.GetString("CAT_CL_CODIGO")&" "& c.GetString("CAT_CL_LAT")&", "&c.GetString("CAT_CL_LAT"))
MARK_AZUL = gmap.AddMarker2(LatitudRu, LongitudRU, CODIGO, gmap.HUE_BLUE) If c.GetString("CAT_CL_LAT") <> "" Then LatitudRu = c.GetString("CAT_CL_LAT")
MARK_AZUL.Snippet = Tienda 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 Next
End If End If
c .Close c .Close
' Log("4")
If MARK_AZUL.IsInitialized Then LIST_AZUL.Add(MARK_AZUL) If MARK_AZUL.IsInitialized Then LIST_AZUL.Add(MARK_AZUL)
End If End If
'''''''----------------------------MARKER VERDE - VENTA '''''''----------------------------MARKER VERDE - VENTA
If verde = 1 Or todos = 1 Then If verde = 1 Or todos = 1 Then
c2.IsInitialized c2.IsInitialized
c2=skmt.ExecQuery("select CAT_CL_CODIGO, CAT_CL_NOMBRE,CAT_CL_LONG,CAT_CL_LAT from kmt_info where gestion = 2 and CAT_CL_LAT is not null and CAT_CL_LONG is not null and CAT_CL_LAT <> 0 and CAT_CL_LONG <> 0 and CAT_CL_CODIGO <> 0 and CAT_CL_CODIGO <> 1 UNION select CAT_CL_CODIGO, CAT_CL_NOMBRE,CAT_CL_LONG,CAT_CL_LAT from kmt_info2 where gestion = 2 and CAT_CL_LAT is not null and CAT_CL_LONG is not null and CAT_CL_LAT <> 0 and CAT_CL_LONG <> 0 and CAT_CL_CODIGO <> 0 and CAT_CL_CODIGO <> 1") c2=skmt.ExecQuery("select CAT_CL_CODIGO, CAT_CL_NOMBRE, CAT_CL_LONG, CAT_CL_LAT from kmt_info where gestion = 2 and CAT_CL_LAT is not null and CAT_CL_LONG is not null and CAT_CL_LAT <> 0 and CAT_CL_LONG <> 0 and CAT_CL_CODIGO <> 0 and CAT_CL_CODIGO <> 1 UNION select CAT_CL_CODIGO, CAT_CL_NOMBRE, CAT_CL_LONG, CAT_CL_LAT from kmt_info2 where gestion = 2 and CAT_CL_LAT is not null and CAT_CL_LONG is not null and CAT_CL_LAT <> 0 and CAT_CL_LONG <> 0 and CAT_CL_CODIGO <> 0 and CAT_CL_CODIGO <> 1")
Log($"============== Resultados = ${c2.RowCount}"$) Log($"============== Resultados = ${c2.RowCount}"$)
For i = 0 To c2.RowCount -1 For i = 0 To c2.RowCount -1
c2.Position = i c2.Position = i
' Log($"|${c2.GetString("CAT_CL_LONG")}|${c2.GetString("CAT_CL_LAT")}|"$) ' 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") LongitudRU = c2.GetString("CAT_CL_LONG")
LatitudRu = c2.GetString("CAT_CL_LAT") LatitudRu = c2.GetString("CAT_CL_LAT")
CODIGO=c2.GetString("CAT_CL_CODIGO") CODIGO=c2.GetString("CAT_CL_CODIGO")
Tienda= c2.GetString("CAT_CL_NOMBRE") Tienda= c2.GetString("CAT_CL_NOMBRE")
MARK_VERDE = gmap.AddMarker2(LatitudRu, LongitudRU, CODIGO,gmap.HUE_GREEN) MARK_VERDE = gmap.AddMarker2(LatitudRu, LongitudRU, CODIGO,gmap.HUE_GREEN)
MARK_VERDE.Snippet = Tienda MARK_VERDE.Snippet = Tienda
Log(LatitudRu & "," & LongitudRU)
End If End If
Next Next
Else Else
If verde = 1 Or todos = 1 Then If verde = 1 Or todos = 1 Then
c2.IsInitialized c2.IsInitialized
c2=skmt.ExecQuery("select CAT_CL_CODIGO, CAT_CL_NOMBRE,CAT_CL_LONG,CAT_CL_LAT from kmt_info where gestion = 2 and CAT_CL_LAT is not null and CAT_CL_LONG is not null and CAT_CL_LAT <> 0 and CAT_CL_LONG <> 0 and CAT_CL_CODIGO <> 0 and CAT_CL_CODIGO <> 1") c2=skmt.ExecQuery("select CAT_CL_CODIGO, CAT_CL_NOMBRE, CAT_CL_LONG,CAT_CL_LAT from kmt_info where gestion = 2 and CAT_CL_LAT is not null and CAT_CL_LONG is not null and CAT_CL_LAT <> 0 and CAT_CL_LONG <> 0 and CAT_CL_CODIGO <> 0 and CAT_CL_CODIGO <> 1")
Log($"============== Resultados = ${c2.RowCount}"$) Log($"============== Resultados = ${c2.RowCount}"$)
For i = 0 To c2.RowCount -1 For i = 0 To c2.RowCount -1
c2.Position = i c2.Position = i
' Log($"|${c2.GetString("CAT_CL_LONG")}|${c2.GetString("CAT_CL_LAT")}|"$) ' Log($"|${c2.GetString("CAT_CL_LONG")}|${c2.GetString("CAT_CL_LAT")}|"$)
LongitudRU = c2.GetString("CAT_CL_LONG") If c2.GetString("CAT_CL_LAT") = Null Or c2.GetString("CAT_CL_LAT") = "null" Or c2.GetString("CAT_CL_LAT") = "NULL" _
LatitudRu = c2.GetString("CAT_CL_LAT") Or c2.GetString("CAT_CL_LONG") = Null Or c2.GetString("CAT_CL_LONG") = "null" Or c2.GetString("CAT_CL_LONG") = "NULL" _
CODIGO=c2.GetString("CAT_CL_CODIGO") Then
Tienda= c2.GetString("CAT_CL_NOMBRE") ToastMessageShow($"Tienda con coordenadas incorrectas (${c.GetString("CAT_CL_CODIGO")})"$, False)
MARK_VERDE = gmap.AddMarker2(LatitudRu, LongitudRU, CODIGO,gmap.HUE_GREEN) Else
MARK_VERDE.Snippet = Tienda 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 Next
c2 .Close c2 .Close
If MARK_VERDE.IsInitialized Then LIST_VERDE.Add(MARK_VERDE) If MARK_VERDE.IsInitialized Then LIST_VERDE.Add(MARK_VERDE)
End If End If
End If End If
' '''''''----------------------------MARKER ROJO - NO VENTA ' '''''''----------------------------MARKER ROJO - NO VENTA
If rojo = 1 Or todos = 1 Then If rojo = 1 Or todos = 1 Then
c3.IsInitialized 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}"$) Log($"============== Resultados = ${c3.RowCount}"$)
For i = 0 To c3.RowCount -1 For i = 0 To c3.RowCount -1
c3.Position = i c3.Position = i
' Log($"|${c3.GetString("CAT_CL_LONG")}|${c3.GetString("CAT_CL_LAT")}|"$) ' Log($"|${c3.GetString("CAT_CL_LONG")}|${c3.GetString("CAT_CL_LAT")}|"$)
LongitudRU = c3.GetDouble("CAT_CL_LONG") If c3.GetString("CAT_CL_LAT") = Null Or c3.GetString("CAT_CL_LAT") = "null" Or c3.GetString("CAT_CL_LAT") = "NULL" _
LatitudRu = c3.GetDouble("CAT_CL_LAT") Or c3.GetString("CAT_CL_LONG") = Null Or c3.GetString("CAT_CL_LONG") = "null" Or c3.GetString("CAT_CL_LONG") = "NULL" _
CODIGO = c3.GetString("CAT_CL_CODIGO") Then
Tienda= c3.GetString("CAT_CL_NOMBRE") ToastMessageShow($"Tienda con coordenadas incorrectas (${c.GetString("CAT_CL_CODIGO")})"$, False)
MARK_ROJO = gmap.AddMarker2(LatitudRu, LongitudRU, CODIGO, gmap.HUE_RED) Else
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")}|"$)
LongitudRU = c3.GetDouble("CAT_CL_LONG") LongitudRU = c3.GetDouble("CAT_CL_LONG")
LatitudRu = c3.GetDouble("CAT_CL_LAT") LatitudRu = c3.GetDouble("CAT_CL_LAT")
CODIGO = c3.GetString("CAT_CL_CODIGO") CODIGO = c3.GetString("CAT_CL_CODIGO")
Tienda= c3.GetString("CAT_CL_NOMBRE") Tienda= c3.GetString("CAT_CL_NOMBRE")
MARK_ROJO = gmap.AddMarker2(LatitudRu, LongitudRU, CODIGO, gmap.HUE_RED) MARK_ROJO = gmap.AddMarker2(LatitudRu, LongitudRU, CODIGO, gmap.HUE_RED)
MARK_ROJO.Snippet = Tienda 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 Next
If MARK_ROJO.IsInitialized Then LIST_ROJO.Add(MARK_ROJO) If MARK_ROJO.IsInitialized Then LIST_ROJO.Add(MARK_ROJO)
c3.Close c3.Close
@@ -257,8 +353,9 @@ Sub MapFragment1_Ready
' If MARK_VERDE.Visible Or MARK_ROJO.Visible Then ' If MARK_VERDE.Visible Or MARK_ROJO.Visible Then
' MARK_CEDIS.Remove ' MARK_CEDIS.Remove
' End If ' End If
Log("Centramos camara " & LatitudRu & ", " & LongitudRU)
Dim aa As CameraPosition Dim aa As CameraPosition
aa.Initialize(LatitudRu,LongitudRU,15)''' RECOMENDABLE CAMBIAR A 10 PARA QUE SE VEAN MAS MARCADORES aa.Initialize(LatitudRu, LongitudRU, 15) ''' RECOMENDABLE CAMBIAR A 10 PARA QUE SE VEAN MAS MARCADORES
gmap.AnimateCamera(aa) gmap.AnimateCamera(aa)
'''''---------------------- ESTO ES PARA LOS CLICK EN LAS VENTANAS D INFORMACION----------- '''''---------------------- ESTO ES PARA LOS CLICK EN LAS VENTANAS D INFORMACION-----------
@@ -267,18 +364,42 @@ Sub MapFragment1_Ready
GoogleMapEXTRA.SetOnInfoWindowClickListener(gmap, OnInfoWindowClickListener1) GoogleMapEXTRA.SetOnInfoWindowClickListener(gmap, OnInfoWindowClickListener1)
End Sub End Sub
'
''''-------------------------- PRUEBA CON MARKER _CLICK ''''-------------------------- PRUEBA CON MARKER _CLICK
Sub OnInfoWindowClickListener1_click(Marker1 As Marker) Sub OnInfoWindowClickListener1_click(Marker1 As Marker)
Log("Tooltip clicked")
skmt.ExecNonQuery("delete from CUENTAA") skmt.ExecNonQuery("delete from CUENTAA")
skmt.ExecNonQuery2("INSERT INTO CUENTAA VALUES (?) ", Array As Object(Marker1.Title)) skmt.ExecNonQuery2("INSERT INTO CUENTAA VALUES (?) ", Array As Object(Marker1.Title))
Activity.Finish c = Starter.skmt.ExecQuery("SELECT * FROM FOTOINICIAL")
Starter.pre_viejo = Subs.traeTotalClientepreventaparacredito If c.RowCount = 0 Then
B4XPages.ShowPage("Cliente") 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 End Sub
Sub ventaIniciada
Log("Tooltip clicked")
' skmt.ExecNonQuery("delete from CUENTAA")
' skmt.ExecNonQuery2("INSERT INTO CUENTAA VALUES (?) ", Array As Object(Marker1.Title))
' Activity.Finish
Starter.pre_viejo = Subs.traeTotalClientepreventaparacredito
b_inicioVenta.Enabled = False
b_finVenta.Enabled = True
p_transparenciaIniciaInicioFinVenta.Visible = True
End Sub
Sub GPS_LocationChanged (Parametro As Location) Sub GPS_LocationChanged (Parametro As Location)
MARK_CEDIS.IsInitialized MARK_CEDIS.IsInitialized
@@ -299,21 +420,20 @@ Sub GPS_LocationChanged (Parametro As Location)
' gmap.AnimateCamera(cp) ' gmap.AnimateCamera(cp)
' End If ' End If
' End If ' End If
ProgressDialogHide
End Sub End Sub
Sub Activity_Pause (UserClosed As Boolean) Sub Activity_Pause (UserClosed As Boolean)
GPS.Stop GPS.Stop
End Sub End Sub
Sub B_TODOS_Click Sub B_TODOS_Click
todos =1 todos =1
verde = 0 verde = 0
azul = 0 azul = 0
rojo = 0 rojo = 0
gmap.Clear
MapFragment1_Ready MapFragment1_Ready
End Sub End Sub
Sub B_VERDE_Click Sub B_VERDE_Click
@@ -323,7 +443,6 @@ Sub B_VERDE_Click
todos = 0 todos = 0
gmap.Clear gmap.Clear
MapFragment1_Ready MapFragment1_Ready
End Sub End Sub
Sub B_ROJO_Click Sub B_ROJO_Click
@@ -332,9 +451,7 @@ Sub B_ROJO_Click
azul = 0 azul = 0
todos = 0 todos = 0
gmap.Clear gmap.Clear
MapFragment1_Ready MapFragment1_Ready
End Sub End Sub
Sub B_AZUL_Click Sub B_AZUL_Click
@@ -343,7 +460,307 @@ Sub B_AZUL_Click
rojo = 0 rojo = 0
todos = 0 todos = 0
gmap.Clear gmap.Clear
MapFragment1_Ready MapFragment1_Ready
End Sub End Sub
Private Sub b_inicioVenta_Click
b_inicioVenta.Enabled = False
et_guardarPeso.Text = ""
r_opcion1.Checked = True
r_opcion2.Checked = False
r_opcion3.Checked = False
r_opcion4.Checked = False
b_finVenta.Enabled = True
Subs.bitacora(Subs.fechanormal(DateTime.Now), Subs.traeUsuarioDeBD, Subs.traeAlmacen, Subs.traeRuta, "Inicia Venta", Subs.traeCliente, Subs.fechanormal(DateTime.Now), "", 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_NOM, USUARIO) VALUES (?,?,?,?,?,?,?)",Array As Object(Subs.traeRuta, Subs.traeAlmacen, B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps, sDate & " " & sTime, fototomada, Subs.traeUsuarioDeBD))
b_foto_inci.Text = "Foto usuario"
ChangeCamera_Click
Else
fotoCerrado = fototomada
p_camara.Visible = False
StopCamera
End If
Starter.mandaForma(Subs.traeAlmacen, Subs.traeRuta, Subs.traeCliente, fototomada)
Else If b_foto_inci.Text = "Foto usuario" Then
DateTime.DateFormat="ddMMyyyyHHmmss"
nombreFoto = "usuario"
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 FOTO_NOM2 = ? where USUARIO = ? and RUTAA = ? and ALMACEN = ? ", Array As Object (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
LogColor("Mandamos foto: " & fototomada, Colors.red)
Log($"${Subs.traeAlmacen}, ${Subs.traeRuta}, ${Subs.traeCliente}, ${fototomada}"$)
Starter.mandaForma(Subs.traeAlmacen, Subs.traeRuta, Subs.traeCliente, fototomada)
' 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