Version 5.03.24

Se agrega el apartado de comentarios para ubicar la tienda
Se agrega poder tomar foto de la tienda y que si ya se descargo o se tomo la foto aparece en miniatura
Se agrego las promociones por segmentacion (Guerra)
y ya
This commit is contained in:
cvaldes1201
2025-03-26 23:37:18 -06:00
parent 0596d33b74
commit 8e5d084e2d
9 changed files with 599 additions and 216 deletions

View File

@@ -450,6 +450,16 @@ Sub Class_Globals
Private btnAceptaPlanLealtad As Button
Private btnCancelarPlanLealtad As Button
Private BCREDITO As String
Private p_comentarios As Panel
Private p_comentario As Panel
Private b_agregarcom As Button
Private b_cerarcom As Button
Private Label19 As Label
Private et_comentario As EditText
Private lv_comentarios As ListView
Private ImageView4 As ImageView
End Sub
'You can add more parameters here.
@@ -506,6 +516,9 @@ Private Sub B4XPage_Created (Root1 As B4XView)
p_transparentePDF.Width = Root.Width : p_transparentePDF.Height = Root.Height
Subs.centraPanel(p_ticketImpreso, p_transparenteTicketImpreso.Width)
Subs.centraPanel(p_envioPDF, p_transparentePDF.Width)
p_comentario.Left = 0 : p_comentario.top = 0
p_comentario.Width = Root.Width : p_comentario.Height = Root.Height
Subs.centraPanel(p_comentarios, p_comentario.Width)
Tels.Visible = False
gest.Visible = False
l_version.Left = Root.Width - (l_version.Width + 10)
@@ -947,6 +960,7 @@ Sub B4XPage_Appear
l_atiende.Text = c.GetString("CAT_CL_ATIENDE1")
l_atiende2.Text = c.GetString("CAT_CL_ATIENTE2")
telefono = c.GetString("CAT_CL_TELEFONO")
Label19.Text = c.GetString("CAT_CL_TELEFONO")
BCREDITO = c.GetString("CAT_CL_BCREDITO") '########################## CODIGO PARA CREDITOS ####################
If s.GetString("TOTAL_CLIE") = Null Then
@@ -994,6 +1008,7 @@ Sub B4XPage_Appear
l_atiende.Text = c.GetString("CAT_CL_ATIENDE1")
l_atiende2.Text = c.GetString("CAT_CL_ATIENTE2")
telefono = c.GetString("CAT_CL_TELEFONO")
Label19.Text = c.GetString("CAT_CL_TELEFONO")
BCREDITO = c.GetString("CAT_CL_BCREDITO") '########################## CODIGO PARA CREDITOS ####################
' Log(s.GetString("TOTAL_CLIE"))
@@ -1076,6 +1091,39 @@ Sub B4XPage_Appear
Else
btnPlanLealtad.Visible = False
End If
' fotomostrar.Position = 0
' Private imagencompara() As Byte
' imagencompara = fotomostrar.GetBlob("foto")
'' Log(imagencompara.Length)
' If imagencompara.Length = Null Then
'' ImageView4 = fotomostrar.GetBlob("foto")
' Log("LO LOGRAMOS")
' End If
Dim fotomostrar As Cursor = Starter.skmt.ExecQuery("SELECT foto FROM kmt_info3 where CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA)")
If fotomostrar.RowCount > 0 Then
Dim fotomostrar1 As Cursor = Starter.skmt.ExecQuery("SELECT foto FROM kmt_info3 where CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA) AND foto IS NULL")
If fotomostrar1.RowCount > 0 Then
ImageView4.Bitmap = LoadBitmap(File.DirAssets,"images.png")
Log("aqui no hay foto")
Else
fotomostrar.Position = 0
Private fotomostrarfinal() As Byte = fotomostrar.GetBlob("foto")
Dim InputStream1 As InputStream
InputStream1.InitializeFromBytesArray(fotomostrarfinal, 0, fotomostrarfinal.Length)
Dim Bitmap1 As Bitmap
Bitmap1.Initialize2(InputStream1)
InputStream1.Close
ImageView4.Bitmap = Bitmap1
Log("aqui si hay foto")
End If
End If
End Sub
Sub GPS_LocationChanged (Location1 As Location)
@@ -2321,6 +2369,7 @@ Sub Guardar_Click
End Try
DateTime.TimeFormat = "HH:mm:ss"
'########################## INICIA CODIGO PARA CREDITOS ####################
Log(BCREDITO)
If BCREDITO = 1 And suma > 0 Then
Msgbox2Async("¿La venta va a ser a crédito o contado?" , "AVISO", "Crédito", "", "Efectivo", LoadBitmap(File.DirAssets,"alert2.png"), False)
Wait For Msgbox_Result (resultado As Int)
@@ -4937,110 +4986,110 @@ End Sub
'tomar foto
Private Sub InitializeCamera2
Starter.rp.CheckAndRequest(Starter.rp.PERMISSION_CAMERA)
Wait For B4XPage_PermissionResult (Permission As String, resultC As Boolean)
If resultC Then
camEx.Initialize(p_cam, frontCamera, Me, "Camera1")
frontCamera = camEx.Front
Log("inicializamos Camara")
Else
ToastMessageShow("No permission!!!", True)
End If
' Starter.rp.CheckAndRequest(Starter.rp.PERMISSION_WRITE_EXTERNAL_STORAGE)
' Wait For B4XPage_PermissionResult (Permission As String, Result As Boolean)
' If Result Then
' Log("conpermisos para escritura")
'Private Sub InitializeCamera2
' Starter.rp.CheckAndRequest(Starter.rp.PERMISSION_CAMERA)
' Wait For B4XPage_PermissionResult (Permission As String, resultC As Boolean)
' If resultC Then
' camEx.Initialize(p_cam, frontCamera, Me, "Camera1")
' frontCamera = camEx.Front
' Log("inicializamos Camara")
' Else
' ToastMessageShow("No permission!!!", True)
' End If
'' Starter.rp.CheckAndRequest(Starter.rp.PERMISSION_WRITE_EXTERNAL_STORAGE)
'' Wait For B4XPage_PermissionResult (Permission As String, Result As Boolean)
'' If Result Then
'' Log("conpermisos para escritura")
'' Else
'' ToastMessageShow("No permission!!!", True)
'' End If
''
'' Starter.rp.CheckAndRequest(Starter.rp.PERMISSION_READ_EXTERNAL_STORAGE)
'' Wait For B4XPage_PermissionResult (Permission As String, Result As Boolean)
'' If Result Then
'' Log("conpermisos para escritura")
'' Else
'' ToastMessageShow("No permission!!!", True)
'' End If
'End Sub
'Sub Camera1_Ready (Success As Boolean)
' Log("Camara ready")
' If Success Then
' camEx.SetJpegQuality(90)
' camEx.SetContinuousAutoFocus
' camEx.CommitParameters
' camEx.StartPreview
' Log(camEx.GetPreviewSize)
' Else
' ToastMessageShow("Cannot open camera.", True)
' Log("Cannot open camera")
' End If
'End Sub
'
'Sub Camera1_PictureTaken (Data()As Byte)
' Log("tome foto")
' Dim filename As String = DateTime.Now & "GUNA.jpg"
' Dim Dirp As String = File.DirInternal
' Dim Dir As String
' Dim Dir2 As String
' Try
' File.MakeDir(Dirp,"/guna")
' Dir = "/guna"
' Log("creado en promotoria " & Dirp & Dir)
' Catch
' Dir = ""
' Log("creado en raiz")
' End Try
'
' Starter.rp.CheckAndRequest(Starter.rp.PERMISSION_READ_EXTERNAL_STORAGE)
' Wait For B4XPage_PermissionResult (Permission As String, Result As Boolean)
' If Result Then
' Log("conpermisos para escritura")
' Else
' ToastMessageShow("No permission!!!", True)
' Try
' File.MakeDir(Dirp & Dir,"/reduccion")
' Dir2 = "/reduccion"
' Log("creado en promotoria " & Dirp & Dir & Dir2)
' Catch
' Dir = ""
' Log("creado en raiz")
' End Try
'
' camEx.SavePictureToFile(Data, Dirp&Dir, filename)
' Log(Dirp&Dir &" ALGO BONITO COMO UN COLOR PARA GUERRA "& 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)
' p_camara.Visible = False
'
' Log(filename)
'
'
' If filename <> "0" Then
' Dim img As B4XBitmap = xui.LoadBitmapResize(File.DirInternal & Dir, filename, 300, 450, True)
' Dim out As OutputStream = File.OpenOutput(File.DirInternal & Dir & Dir2, filename, True)
' img.WriteToStream(out, 100, "PNG")
' out.Close
' Private fecha As String = $"${DateTime.Date(DateTime.Now)} ${DateTime.Time(DateTime.Now)}"$
' B4XPages.MainPage.skmt.ExecNonQuery2("insert into HIST_ENCUESTA(HE_CLIE, HE_FOTO, HE_FECHA, HE_TIPO, HE_LAT, HE_LON,HE_RES) VALUES (?,?,?,?,?,?,?)", Array As Object(la_cuenta.Text, File.ReadBytes(File.DirInternal & Dir & Dir2, filename), fecha, idencuestaaguardar, B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps,"FOTO"))
' End If
End Sub
Sub Camera1_Ready (Success As Boolean)
Log("Camara ready")
If Success Then
camEx.SetJpegQuality(90)
camEx.SetContinuousAutoFocus
camEx.CommitParameters
camEx.StartPreview
Log(camEx.GetPreviewSize)
Else
ToastMessageShow("Cannot open camera.", True)
Log("Cannot open camera")
End If
End Sub
Sub Camera1_PictureTaken (Data()As Byte)
Log("tome foto")
Dim filename As String = DateTime.Now & "GUNA.jpg"
Dim Dirp As String = File.DirInternal
Dim Dir As String
Dim Dir2 As String
Try
File.MakeDir(Dirp,"/guna")
Dir = "/guna"
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
camEx.SavePictureToFile(Data, Dirp&Dir, filename)
Log(Dirp&Dir &" ALGO BONITO COMO UN COLOR PARA GUERRA "& 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)
p_camara.Visible = False
Log(filename)
If filename <> "0" Then
Dim img As B4XBitmap = xui.LoadBitmapResize(File.DirInternal & Dir, filename, 300, 450, True)
Dim out As OutputStream = File.OpenOutput(File.DirInternal & Dir & Dir2, filename, True)
img.WriteToStream(out, 100, "PNG")
out.Close
Private fecha As String = $"${DateTime.Date(DateTime.Now)} ${DateTime.Time(DateTime.Now)}"$
B4XPages.MainPage.skmt.ExecNonQuery2("insert into HIST_ENCUESTA(HE_CLIE, HE_FOTO, HE_FECHA, HE_TIPO, HE_LAT, HE_LON,HE_RES) VALUES (?,?,?,?,?,?,?)", Array As Object(la_cuenta.Text, File.ReadBytes(File.DirInternal & Dir & Dir2, filename), fecha, idencuestaaguardar, B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps,"FOTO"))
End If
StopCamera2
' nombrefoto = "0"
ocultaPanelEncuesta
End Sub
Private Sub p_camara_Click
End Sub
Private Sub b_foto_Click
camEx.TakePicture
p_camara.Visible = False
' StopCamera2
End Sub
Private Sub StopCamera2
' Capturing = False
If camEx.IsInitialized Then
camEx.Release
End If
End Sub
'' nombrefoto = "0"
' ocultaPanelEncuesta
'End Sub
'
'Private Sub p_camara_Click
'
'End Sub
'
'Private Sub b_foto_Click
' camEx.TakePicture
' p_camara.Visible = False
'' StopCamera2
'End Sub
'
'Private Sub StopCamera2
'' Capturing = False
' If camEx.IsInitialized Then
' camEx.Release
' End If
'End Sub
Private Sub b_Inicio_Fin_venta_Click
'' b_Inicio_Fin_venta.Visible = False
@@ -5580,3 +5629,243 @@ Sub mandaWAMsgCredito(numTel As String, monto As String)
Log("Whatsapp enviado con exito: " & job.Success)
End Sub
'########################## TERMINA CODIGO PARA CREDITOS ####################
Private Sub p_comentario_Click
End Sub
Private Sub p_comentarios_Click
End Sub
Private Sub b_comentarios_Click
p_comentario.Visible = True
et_comentario.Text = ""
Dim label1 As Label
label1 = lv_comentarios.SingleLineLayout.Label
label1.TextSize = 16
label1.TextColor = Colors.White
label1.Typeface = Typeface.CreateNew(Typeface.DEFAULT_BOLD, Typeface.STYLE_BOLD)
' Subs.centraListView(lv_comentarios,Root.Width)
Private c As Cursor = Starter.skmt.ExecQuery("select COMENTARTIO FROM COMENTARIOS WHERE CLIENTE IN (SELECT CUENTA FROM CUENTAA)")
lv_comentarios.SingleLineLayout.Label.TextColor = Colors.BlacK
lv_comentarios.Clear
If c.RowCount > 0 Then
For i = 0 To c.RowCount - 1
c.Position = i
Dim itemText As String
itemText = $"${c.GetString("COMENTARTIO")}"$
lv_comentarios.AddSingleLine(itemText)
Next
Else
lv_comentarios.AddSingleLine("No hay datos disponibles.")
End If
' skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS COMENTARIOS (COMENTARTIO TEXT, CLIENTE TEXT, DESCARGADO TEXT)")
End Sub
Private Sub b_cerarcom_Click
p_comentario.Visible = False
et_comentario.Text = ""
End Sub
Private Sub b_agregarcom_Click
If et_comentario.Text <> "" Then
B4XPages.MainPage.skmt.ExecNonQuery($"insert into COMENTARIOS (COMENTARTIO, CLIENTE) values ('${et_comentario.Text}','${Subs.traeCliente}')"$)
Dim label1 As Label
label1 = lv_comentarios.SingleLineLayout.Label
label1.TextSize = 16
label1.TextColor = Colors.White
label1.Typeface = Typeface.CreateNew(Typeface.DEFAULT_BOLD, Typeface.STYLE_BOLD)
' Subs.centraListView(lv_comentarios,Root.Width)
Private c As Cursor = Starter.skmt.ExecQuery("select COMENTARTIO FROM COMENTARIOS WHERE CLIENTE IN (SELECT CUENTA FROM CUENTAA)")
lv_comentarios.SingleLineLayout.Label.TextColor = Colors.BlacK
lv_comentarios.Clear
If c.RowCount > 0 Then
For i = 0 To c.RowCount - 1
c.Position = i
Dim itemText As String
itemText = $"${c.GetString("COMENTARTIO")}"$
lv_comentarios.AddSingleLine(itemText)
Next
Else
lv_comentarios.AddSingleLine("No hay datos disponibles.")
End If
c.Close
et_comentario.Text = ""
End If
End Sub
Private Sub Label19_Click
End Sub
Private Sub Label19_LongClick
Dim numeroTel As String = Label19.Text
numeroTel = numeroTel.Replace(" ", "").Replace("-", "").Replace("(", "").Replace(")", "")
If numeroTel.Length > 0 Then
Dim Intent1 As Intent
Intent1.Initialize("android.intent.action.DIAL", "tel:" & numeroTel)
StartActivity(Intent1)
Else
ToastMessageShow("Número no válido", False)
End If
Return True
End Sub
Private Sub ImageView4_Click
InitializeCamera2
p_camara.Visible = True
Subs.centraPanel(p_cam,p_camara.Width)
p_camara.BringToFront
End Sub
Private Sub InitializeCamera2
Starter.rp.CheckAndRequest(Starter.rp.PERMISSION_CAMERA)
Wait For B4XPage_PermissionResult (Permission As String, resultC As Boolean)
If resultC Then
camEx.Initialize(p_cam, frontCamera, Me, "Camera1")
frontCamera = camEx.Front
Log("inicializamos Camara")
Else
ToastMessageShow("No permission Camara!!!", True)
End If
End Sub
Sub Camera1_Ready (Success As Boolean)
Log("Camara ready")
If Success Then
camEx.SetJpegQuality(90)
camEx.SetContinuousAutoFocus
camEx.CommitParameters
camEx.StartPreview
Log(camEx.GetPreviewSize)
Else
ToastMessageShow("Cannot open camera.", True)
Log("Cannot open camera")
End If
End Sub
Sub Camera1_PictureTaken (Data()As Byte)
DateTime.DateFormat="ddMMyyyyHHmmss"
nombrefoto = DateTime.Now & "_FOTO1.jpg"
teclado.HideKeyboard
fototomada = nombrefoto
Log("tome foto")
Dim filename As String = fototomada
Dim Dirp As String = File.DirInternal
Dim Dir As String
Dim Dir2 As String
Try
File.MakeDir(Dirp,"/md")
Dir = "/md"
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
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)
p_camara.Visible = False
Log(nombrefoto)
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")
' foto4 = File.ReadBytes(File.DirInternal & Dir & Dir2, nombrefoto3)
out.Close
ImageView4.Bitmap = LoadBitmap(File.DirInternal & Dir & Dir2,nombrefoto)
skmt.ExecNonQuery2("UPDATE kmt_info3 SET foto = (?) WHERE CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA)",Array As Object(File.ReadBytes(File.DirInternal & Dir & Dir2, nombrefoto)))
StopCamera2
End Sub
Private Sub p_camara_Click
End Sub
Private Sub b_foto_Click
' Log(nombrefoto)
' Dim Dirp As String = File.DirInternal
' Dim Dir As String
' Dim Dir2 As String
' Try
' File.MakeDir(Dirp,"/md")
' Dir = "/md"
' 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
camEx.TakePicture
p_camara.Visible = False
' skmt.ExecNonQuery2("UPDATE kmt_info3 SET foto = (?) WHERE CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA)",Array As Object(File.ReadBytes(File.DirInternal & Dir & Dir2, nombrefoto)))
' StopCamera2
End Sub
Private Sub StopCamera2
' Capturing = False
If camEx.IsInitialized Then
camEx.Release
End If
End Sub