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

@@ -147,6 +147,9 @@ Private Sub B4XPage_Created (Root1 As B4XView)
End If
skmt.Initialize(File.DirInternal,"kmt.db", True)
skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS IMPRESORA (HABILITADA)")
skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS PLAN_LEALTAD (PL_CLIENTE TEXT, PL_BANDERA TEXT)")
skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS COMENTARIOS (COMENTARTIO TEXT, CLIENTE TEXT, DESCARGADO TEXT)")
Subs.agregaColumna("PLAN_LEALTAD", "DESCARGADO", "TEXT")
skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS GPS (HABILITADO)")
skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS CAT_GUNAPROD2 (CAT_GP_CODPROMO TEXT, CAT_GP_INICIATIVA TEXT, CAT_GP_TIPOPROD TEXT, CAT_GP_DEV TEXT, CAT_GP_ALMACEN NUM, CAT_GP_ID TEXT, CAT_GP_NOMBRE TEXT, CAT_GP_IMP1 TEXT, CAT_GP_IMP2 TEXT, CAT_GP_PRECIO TEXT, CAT_GP_CLASIF TEXT, CAT_GP_STS TEXT, CAT_GP_TIPO TEXT, CAT_GP_SUBTIPO TEXT, CAT_GP_IMG )")
skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS PROMO_ESP (HVD_CLIENTE)")
@@ -184,6 +187,7 @@ Private Sub B4XPage_Created (Root1 As B4XView)
' skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS CAT_VARIABLES (CAT_VA_DESCRIPCION TEXT, CAT_VA_VALOR TEXT)")
Subs.agregaColumna("HIST_ENCUESTA", "HE_LAT", "TEXT")
Subs.agregaColumna("HIST_ENCUESTA", "HE_FOTO", "BLOB")
Subs.agregaColumna("kmt_info3", "foto", "BLOB")
Subs.agregaColumna("PEDIDO", "PE_RECALCULO", "TEXT")
Subs.agregaColumna("PEDIDO", "PE_RECALCULOTOT", "TEXT")
Subs.agregaColumna("HIST_ENCUESTA", "HE_LON", "TEXT")

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

View File

@@ -616,6 +616,34 @@ Sub Subir_Click
Next
End If
c.Close
' Plan Lealtad
c=B4XPages.MainPage.skmt.ExecQuery("SELECT * FROM PLAN_LEALTAD WHERE DESCARGADO IS NULL")
If c.RowCount>0 Then
For i=0 To c.RowCount -1
c.Position=i
Dim cmd As DBCommand
cmd.Initialize
cmd.Name = "insert_plan_lealtad_GUNA"
cmd.Parameters = Array As Object(C.GetString("PL_BANDERA"),C.GetString("PL_CLIENTE"),Subs.traeAlmacen,Subs.traeRuta)
B4XPages.MainPage.reqManager.ExecuteCommand(cmd , "insPlanLealtad")
Next
End If
c.Close
' Plan Lealtad
c=B4XPages.MainPage.skmt.ExecQuery("SELECT * FROM COMENTARIOS WHERE DESCARGADO IS NULL")
If c.RowCount>0 Then
For i=0 To c.RowCount -1
c.Position=i
Dim cmd As DBCommand
cmd.Initialize
cmd.Name = "insert_coments_GUNA"
cmd.Parameters = Array As Object(C.GetString("COMENTARTIO"),C.GetString("CLIENTE"),Subs.traeAlmacen,Subs.traeRuta)
B4XPages.MainPage.reqManager.ExecuteCommand(cmd , "INS_coment")
Next
End If
c.Close
c=B4XPages.MainPage.skmt.ExecQuery("SELECT CAT_CL_NUM_SERIEFISICO,CAT_CL_CODIGO ,CAT_CL_LONG,CAT_CL_LAT, CAT_CL_FOTO FROM kmt_info3 where CAT_CL_NUM_SERIEFISICO IS NOT NULL and gestion <> '0'")
If c.RowCount>0 Then
@@ -965,6 +993,10 @@ Sub cargar_Click
DateTime.DateFormat = "MM/dd/yyyy"
sDate=DateTime.Date(DateTime.Now)
sTime=DateTime.Time(DateTime.Now)
cmd.Initialize
cmd.Name = "select_planLealtad_GUNA"
cmd.Parameters = Array As Object(ALMACEN, e_ruta.text)
B4XPages.MainPage.reqManager.ExecuteQuery(cmd , 0, "planLealtad")
Subs.guardaVariable("RUTA", e_ruta.text)
@@ -980,6 +1012,11 @@ Sub cargar_Click
cmd.Parameters = Array As Object(ALMACEN, e_ruta.text)
B4XPages.MainPage.reqManager.ExecuteQuery(cmd , 0, "tipoVenta")
cmd.Initialize
cmd.Name = "select_coments_GUNA"
cmd.Parameters = Array As Object(ALMACEN, e_ruta.text)
B4XPages.MainPage.reqManager.ExecuteQuery(cmd , 0, "coments")
cmd.Initialize
cmd.Name = "select_cat_gunaprod_GV2"
cmd.Parameters = Array As Object(ALMACEN)
@@ -2100,6 +2137,24 @@ Sub JobDone(Job As HttpJob)
Starter.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("TIPO_VENTA", tipoVenta))
Log($">>>> GUARDAMOS TIPO_VENTA: ${tipoVenta}"$)
End If
If RESULT.Tag = "planLealtad" Then 'query tag
B4XPages.MainPage.skmt.ExecNonQuery("DELETE FROM PLAN_LEALTAD WHERE DESCARGADO = 1")
For Each records() As Object In RESULT.Rows
Dim PL_CLIENTE As String = records(RESULT.Columns.Get("TMP_PL_CLIENTE"))
Dim PL_BANDERA As String = records(RESULT.Columns.Get("TMP_PL_BANDERA"))
B4XPages.MainPage.skmt.ExecNonQuery2("INSERT INTO PLAN_LEALTAD(PL_CLIENTE, PL_BANDERA, DESCARGADO) VALUES (?,?,?)", Array As Object (PL_CLIENTE, PL_BANDERA,1))
Next
End If
If RESULT.Tag = "coments" Then 'query tag
B4XPages.MainPage.skmt.ExecNonQuery("DELETE FROM COMENTARIOS WHERE DESCARGADO = 1")
For Each records() As Object In RESULT.Rows
Dim COMENTARIO As String = records(RESULT.Columns.Get("TMP_COM_COMENTARIO"))
Dim CLIENTECOM As String = records(RESULT.Columns.Get("TMP_COM_CLIENTE"))
B4XPages.MainPage.skmt.ExecNonQuery2("INSERT INTO COMENTARIOS(COMENTARTIO, CLIENTE, DESCARGADO) VALUES (?,?,?)", Array As Object (COMENTARIO, CLIENTECOM,1))
Next
End If
End If
End If
If B4XPages.MainPage.reqManager.reqsList.IsInitialized Then
@@ -2240,6 +2295,7 @@ Log("--------> BORRAMOS")
B4XPages.MainPage.skmt.ExecNonQuery("delete from pedido_cliente")
B4XPages.MainPage.skmt.ExecNonQuery("delete from pedido")
B4XPages.MainPage.skmt.ExecNonQuery("delete from noventa")
B4XPages.MainPage.skmt.ExecNonQuery("delete from PLAN_LEALTAD")
B4XPages.MainPage.skmt.ExecNonQuery("delete from clie_act")
B4XPages.MainPage.skmt.ExecNonQuery("delete from kmt_info3")
B4XPages.MainPage.skmt.ExecNonQuery("delete from cat_gunaprod")

View File

@@ -141,6 +141,7 @@ Sub B4XPage_Appear
l_totProds.Width = Root.Width * 0.19
l_total.Left = l_totProds.Width + 20
l_total.Width = Root.Width * 0.25
' llenaCatalogo(False)
End Sub
@@ -163,12 +164,11 @@ Sub lv_catalogos_ItemClick (Position As Int, Value As Object)
' Else
Private cd As Cursor = B4XPages.MainPage.skmt.ExecQuery("SELECT HVD_CLIENTE FROM PROMO_ESP WHERE HVD_CLIENTE IN (SELECT CUENTA FROM CUENTAA)")
If cd.RowCount = 0 Then
LogColor("Promos" & " | " & marca & " | " & tipo, Colors.red)
c2 = B4XPages.MainPage.skmt.ExecQuery2($"Select CAT_GP_ID, CAT_GP_NOMBRE, CAT_GP_PRECIO, CAT_GP_ALMACEN, CAT_GP_IMG from ${Subs.traeTablaProds(tipo_venta)} where CAT_GP_PRECIO > 0 And CAT_GP_ALMACEN > 0 And CAT_GP_TIPOPROD = ? AND CAT_GP_ID NOT IN (SELECT DISTINCT CAT_PE_IDPROMO FROM CAT_PROMO_ESP) AND CAT_GP_TIPO = ? AND CAT_GP_SUBTIPO = ? AND CAT_GP_ID NOT IN (SELECT PE_PROID FROM PEDIDO WHERE PE_CLIENTE IN (Select cuenta from cuentaa))"$, Array As String(Value, marca, tipo))
LogColor("1- Promos" & " | " & marca & " | " & tipo, Colors.red)
c2 = B4XPages.MainPage.skmt.ExecQuery2($"Select CAT_GP_ID, CAT_GP_NOMBRE, CAT_GP_PRECIO, CAT_GP_ALMACEN, CAT_GP_IMG, cat_pa_bsegmenta, cat_pa_segmentav from ${Subs.traeTablaProds(tipo_venta)} where CAT_GP_PRECIO > 0 And CAT_GP_ALMACEN > 0 And CAT_GP_TIPOPROD = ? AND CAT_GP_ID NOT IN (SELECT DISTINCT CAT_PE_IDPROMO FROM CAT_PROMO_ESP) AND CAT_GP_TIPO = ? AND CAT_GP_SUBTIPO = ? AND CAT_GP_ID NOT IN (SELECT PE_PROID FROM PEDIDO WHERE PE_CLIENTE IN (Select cuenta from cuentaa))"$, Array As String(Value, marca, tipo))
Else If cd.RowCount > 0 Then
LogColor("Promos" & " | " & marca & " | " & tipo, Colors.red)
c2 = B4XPages.MainPage.skmt.ExecQuery2($"Select CAT_GP_ID, CAT_GP_NOMBRE, CAT_GP_PRECIO, CAT_GP_ALMACEN, CAT_GP_IMG from ${Subs.traeTablaProds(tipo_venta)} where CAT_GP_PRECIO > 0 And CAT_GP_ALMACEN > 0 And CAT_GP_TIPOPROD = ? and CAT_GP_ID <> 'PRO2265' AND CAT_GP_ID NOT IN (SELECT DISTINCT CAT_PE_IDPROMO FROM CAT_PROMO_ESP) AND CAT_GP_TIPO = ? AND CAT_GP_SUBTIPO = ? AND CAT_GP_ID NOT IN (SELECT PE_PROID FROM PEDIDO WHERE PE_CLIENTE IN (Select cuenta from cuentaa))"$, Array As String(Value, marca, tipo))
LogColor("2- Promos" & " | " & marca & " | " & tipo, Colors.red)
c2 = B4XPages.MainPage.skmt.ExecQuery2($"Select CAT_GP_ID, CAT_GP_NOMBRE, CAT_GP_PRECIO, CAT_GP_ALMACEN, CAT_GP_IMG, cat_pa_bsegmenta, cat_pa_segmentav from ${Subs.traeTablaProds(tipo_venta)} where CAT_GP_PRECIO > 0 And CAT_GP_ALMACEN > 0 And CAT_GP_TIPOPROD = ? and CAT_GP_ID <> 'PRO2265' AND CAT_GP_ID NOT IN (SELECT DISTINCT CAT_PE_IDPROMO FROM CAT_PROMO_ESP) AND CAT_GP_TIPO = ? AND CAT_GP_SUBTIPO = ? AND CAT_GP_ID NOT IN (SELECT PE_PROID FROM PEDIDO WHERE PE_CLIENTE IN (Select cuenta from cuentaa))"$, Array As String(Value, marca, tipo))
End If
' End If
Else
@@ -194,6 +194,7 @@ Sub lv_catalogos_ItemClick (Position As Int, Value As Object)
ProgressDialogHide
c2.Close
Else
Log("--PROMOS--")
clv_productos.AsView.Visible = False
lv_promos.Visible = True
lv_catalogos.Visible = False
@@ -221,9 +222,19 @@ Sub lv_catalogos_ItemClick (Position As Int, Value As Object)
Private yaComproPRO2265 As Boolean = Subs.revisaPRO2265(Subs.traeCliente)
Private yaComproPRO3054 As Boolean = Subs.revisaPRO3054(Subs.traeCliente)
Private yaComproPRO3055 As Boolean = Subs.revisaPRO3055(Subs.traeCliente)
Private tipoCliente = Subs.traeTipoCliente
If c2.RowCount > 0 Then
For i=0 To c2.RowCount - 1
c2.Position = i
Private muestraPromo As Boolean = True
Log($"SEGMENTADA: ${c2.GetString("CAT_PA_BSEGMENTA")}"$)
If c2.GetInt("CAT_PA_BSEGMENTA") = 1 Then
LogColor("####### PROMO SEGMENTADA ####", Colors.Blue)
LogColor($"####### SEGV: ${c2.GetString("CAT_PA_SEGMENTAV")} ####"$, Colors.Blue)
LogColor($"####### TIPOCLIE: ${tipoCliente} ####"$, Colors.Blue)
LogColor($"####### ¿ENTRA?: ${c2.GetString("CAT_PA_SEGMENTAV").Contains(tipoCliente)} ####"$, Colors.Blue)
If Not(c2.GetString("CAT_PA_SEGMENTAV").Contains(tipoCliente)) Then muestraPromo = False
End If
' jpeg = c2.GetBlob("CAT_GP_IMG")
' ins.InitializeFromBytesArray(jpeg, 0, jpeg.Length)
' bmp.Initialize2(ins)
@@ -238,7 +249,8 @@ Sub lv_catalogos_ItemClick (Position As Int, Value As Object)
(yaComproPRO3055 And c2.GetString("CAT_GP_ID") = "PRO3055") Then ' Si la promo es la PRO3054 o PRO3055 y ya compro, NO la mostramos.
LogColor("Ya compro prods de la PRO3054 o PRO3055 o es cliente nuevo, ya no se muestra.", Colors.Red)
Else
lv_promos.AddTwoLines(c2.GetString("CAT_GP_NOMBRE"),"# " & c2.GetString("CAT_GP_ALMACEN") & " $ " & c2.GetString("CAT_GP_PRECIO") & " F:" & tm.Get("mp").As(Map).Get("prodsFijosCant") & " V:" & tm.Get("mp").As(Map).Get("prodsVariablesCant"))
Log($"################################${CRLF} ${muestraPromo}${CRLF}################################"$)
If muestraPromo Then lv_promos.AddTwoLines(c2.GetString("CAT_GP_NOMBRE"),"# " & c2.GetString("CAT_GP_ALMACEN") & " $ " & c2.GetString("CAT_GP_PRECIO") & " F:" & tm.Get("mp").As(Map).Get("prodsFijosCant") & " V:" & tm.Get("mp").As(Map).Get("prodsVariablesCant"))
End If
End If
End If
@@ -272,7 +284,7 @@ Sub lv_promos_ItemClick (Position As Int, Value As Object)
B4XPages.ShowPage("Cliente")
End If
If entro = "3" Then
LogColor("Promos YYY", Colors.red)
LogColor("Promos YYY", Colors.red)
c2=B4XPages.MainPage.skmt.ExecQuery2($"select CAT_GP_ID, CAT_GP_NOMBRE, CAT_GP_PRECIO, CAT_GP_ALMACEN, CAT_GP_IMG from ${Subs.traeTablaProds(tipo_venta)} where CAT_GP_PRECIO > 0 AND CAT_GP_ALMACEN > 0 and CAT_GP_TIPOPROD = ? AND CAT_GP_TIPO = ? AND CAT_GP_SUBTIPO = ? AND CAT_GP_ID NOT IN (SELECT PE_PROID FROM PEDIDO WHERE PE_CLIENTE IN (Select cuenta from cuentaa) )"$, Array As String(Value, marca, tipo))
clv_productos.AsView.Visible = False
lv_promos.Visible = True
@@ -377,7 +389,7 @@ Private Sub B4XPage_CloseRequest As ResumableSub
' ya_entro ="0" : Log("ya_entro=0")
If lv_catalogos.visible = True Then
B4XPages.ShowPage("Cliente")
Return False
Return False
ELSE If l_info.Visible Then
l_info.Visible = False
Return False
@@ -549,22 +561,22 @@ End Sub
Private Sub et_pCant_TextChanged (Old As String, New As String)
' LogColor($"txt changed: ${Old}|${New}, hasfocus=${etCantHasFocus}"$,Colors.Magenta)
' Try
Dim index As Int = clv_productos.GetItemFromView(Sender)
Dim pnl0 As B4XView = clv_productos.GetPanel(index)
Dim pnl As B4XView = pnl0.GetView(0)
Dim laCant As B4XView = pnl.GetView(2).GetView(3)
Dim esteTag As List = Regex.Split("\|", laCant.Tag)
Dim index As Int = clv_productos.GetItemFromView(Sender)
Dim pnl0 As B4XView = clv_productos.GetPanel(index)
Dim pnl As B4XView = pnl0.GetView(0)
Dim laCant As B4XView = pnl.GetView(2).GetView(3)
Dim esteTag As List = Regex.Split("\|", laCant.Tag)
' Log($"${esteTag}, ${laCant.text}"$)
If New = "" Then
laCant.Text = "0"
New = "0"
End If
If esteTag.Get(1) < New Then laCant.Text = esteTag.Get(1)
If Not(Old = "0" And New = "") And etCantHasFocus Then
If New = "" Then
laCant.Text = "0"
New = "0"
End If
If esteTag.Get(1) < New Then laCant.Text = esteTag.Get(1)
If Not(Old = "0" And New = "") And etCantHasFocus Then
' Log(esteTag)
Subs.actualizaProducto(Subs.traeAlmacen, esteTag.Get(0), laCant.Text, Subs.traeProdNombre(esteTag.Get(2)), esteTag.Get(2), Subs.traeCliente, Subs.traeFecha, Subs.traeUsuarioDeBD, rutaActual, 0, B4XPages.MainPage.tipo_venta)
cuentaProds
End If
cuentaProds
End If
' Catch
' Log(LastException)
' End Try
@@ -597,17 +609,17 @@ Sub cuentaProds
Log("-= CUENTAPRODS =-")
' totalProds = 0
' totalCompra = 0
'' Private inicioContador As String = DateTime.Now
'' Private inicioContador As String = DateTime.Now
' For i = 0 To clv_productos.GetSize - 1
' Private p0 As B4XView = clv_productos.GetPanel(i)
' Private p As B4XView = p0.GetView(0)
' Private cant1 As B4XView = p.GetView(2).GetView(3)
' If cant1.Text = "" Then cant1.Text = 0
'' Private cant2 As Int = 0
'' If cant1.Text <> "" Then cant2 = cant1.Text
'' Private laCant As Int = cant1.text.Replace (",", "")
'' cant1.Text = cant1.text
'' cant1.Text = laCant
'' Private cant2 As Int = 0
'' If cant1.Text <> "" Then cant2 = cant1.Text
'' Private laCant As Int = cant1.text.Replace (",", "")
'' cant1.Text = cant1.text
'' cant1.Text = laCant
' Log($"${totalProds}, ${cant1.text}, ${cant1.text}"$)
' totalProds = totalProds + cant1.text
' Private esteTag As List = Regex.Split("\|", cant1.Tag)
@@ -772,4 +784,3 @@ End Sub
' Sabores GUN003, GUN005, GUN004, GUN050
' Basicas PRO3054, GUN141
' Sabores PRO3055, GUN142

Binary file not shown.

BIN
B4A/Files/images.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.8 KiB

File diff suppressed because one or more lines are too long

View File

@@ -61,7 +61,7 @@ ModuleClosedNodes11=
ModuleClosedNodes12=
ModuleClosedNodes13=
ModuleClosedNodes14=
ModuleClosedNodes15=3,17
ModuleClosedNodes15=
ModuleClosedNodes16=
ModuleClosedNodes17=
ModuleClosedNodes18=4
@@ -82,6 +82,6 @@ ModuleClosedNodes6=
ModuleClosedNodes7=5,6,8,9,10,11
ModuleClosedNodes8=
ModuleClosedNodes9=
NavigationStack=C_Principal,cargar_Click,1030,0,C_Principal,b_mapa_Click,2225,0,C_Principal,t2_tick,2235,4,C_Principal,inv_Click,2315,0,Diseñador Visual,cliente.bal,-100,1,C_Nota,ListView1_ItemLongClick,270,0,Diseñador Visual,principal.bal,-100,2,C_Principal,B_OK_PAS_Click,2438,0,C_Principal,JobDone,1316,0,B4XMainPage,B4XPage_Created,183,2
NavigationStack=C_Productos,cuentaProds,615,0,C_Principal,Subir_Click,648,0,C_Principal,JobDone,1378,0,C_Cliente,B4XPage_Created,516,0,C_Cliente,Cuestionario,4675,0,C_Cliente,ImageView4_Click,5743,6,C_Cliente,Label19_LongClick,5734,0,C_Cliente,b_comentarios_Click,5658,0,Diseñador Visual,cliente.bal,-100,4,C_Cliente,B4XPage_Appear,1104,6
SelectedBuild=0
VisibleModules=25,2,14,26,5,10,15,11,20
VisibleModules=25,2,14,26,5,10,15,11,20,19

View File

@@ -45,6 +45,10 @@ Sub getPhnId As String 'ignore
Return devModel
End Sub
'Centra un listview dentro de un elemento superior
Sub centraListView(elemento As ListView, anchoElementoSuperior As Int) 'ignore
elemento.Left = Round(anchoElementoSuperior/2)-(elemento.Width/2)
End Sub
'Comprime y regresa un texto (str) en base64
@@ -1826,4 +1830,20 @@ Sub enviaWhatsappMsg()
' Wait For (job) JobDone(job As HttpJob)
'
' Log("Whatsapp enviado con exito: " & job.Success)
End Sub
'Regresa el tipo de cliente:
' - 1 = platinum
' - 2 = oro
' - 3 = bronze
Sub traeTipoCliente As Int
Private x As Cursor
Private tc As Int = 0
x = Starter.skmt.ExecQuery($"select cat_cl_tipocliente from kmt_info3 where cat_cl_codigo in (select cuenta from cuentaa)"$)
If x.RowCount > 0 Then
x.Position = 0
tc = x.GetInt("CAT_CL_TIPOCLIENTE")
End If
Return tc
End Sub