mirror of
https://github.com/KeymonSoft/Guna_Preventa.git
synced 2026-04-18 21:29:16 +00:00
- VERSION 5.03.23
- Se puso codigo para envio de WhatsApp del ticket PDF - Se puso codigo para el envio de mensaje de WhatsApp cuando la venta es a credito - Se puso codigo para descragar los datos de las promos segmentadas paltinum, oro y bronze - Se puso codigo para que se guarde en web el telefono al que se manda el ticketPdf - Se puso codigo para que cuando se carga dia, si ya hay venta, se reste de cat_gunaprod y cat_gunaprod2 lo que haya en pedido.
This commit is contained in:
@@ -104,7 +104,7 @@ Sub Class_Globals
|
||||
Private HR_RES2 As String
|
||||
Private HR_RES3 As String
|
||||
Private EXISTE As String
|
||||
Private TELEFONO As String
|
||||
Private telefono As String
|
||||
|
||||
|
||||
Private RB1 As RadioButton
|
||||
@@ -449,6 +449,7 @@ Sub Class_Globals
|
||||
Private imgPlanLealtad As ImageView
|
||||
Private btnAceptaPlanLealtad As Button
|
||||
Private btnCancelarPlanLealtad As Button
|
||||
Private BCREDITO As String
|
||||
End Sub
|
||||
|
||||
'You can add more parameters here.
|
||||
@@ -621,7 +622,7 @@ Sub B4XPage_Appear
|
||||
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=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 = False
|
||||
@@ -921,14 +922,13 @@ Sub B4XPage_Appear
|
||||
|
||||
End If
|
||||
End If
|
||||
|
||||
|
||||
|
||||
|
||||
'AQUI CAMBIAR
|
||||
Private s3 As Cursor=B4XPages.MainPage.skmt.ExecQuery2("select * FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) and PE_RECALCULO <> ? OR PE_RECALCULO <> ? OR PE_RECALCULO IS NOT NULL",Array As String("","null"))
|
||||
' LogColor(s3.RowCount,Colors.Yellow)
|
||||
If s3.RowCount > 0 Then
|
||||
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_info3 where CAT_CL_CODIGO In (Select cuenta from cuentaa)")
|
||||
'########################## CODIGO PARA CREDITOS ####################
|
||||
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,CAT_CL_BCREDITO from kmt_info3 where CAT_CL_CODIGO In (Select cuenta from cuentaa)")
|
||||
s=B4XPages.MainPage.skmt.ExecQuery2("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) and (PE_RECALCULO = ? or PE_RECALCULO = ? or PE_RECALCULO IS NULL)",Array As String("","null"))
|
||||
s.Position=0
|
||||
Private s5 As Cursor = B4XPages.MainPage.skmt.ExecQuery2("select iFNULL(sum(PE_RECALCULOTOT),0) as TOTAL_CLIE FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) and (PE_RECALCULO <> ? or PE_RECALCULO <> ? OR PE_RECALCULO IS NOT NULL)",Array As String("","null"))
|
||||
@@ -946,7 +946,9 @@ Sub B4XPage_Appear
|
||||
l_entre2.Text = c.GetString("CAT_CL_CALLE2")
|
||||
l_atiende.Text = c.GetString("CAT_CL_ATIENDE1")
|
||||
l_atiende2.Text = c.GetString("CAT_CL_ATIENTE2")
|
||||
TELEFONO = c.GetString("CAT_CL_TELEFONO")
|
||||
telefono = c.GetString("CAT_CL_TELEFONO")
|
||||
BCREDITO = c.GetString("CAT_CL_BCREDITO") '########################## CODIGO PARA CREDITOS ####################
|
||||
|
||||
If s.GetString("TOTAL_CLIE") = Null Then
|
||||
l_total.Text = 0
|
||||
Else
|
||||
@@ -975,7 +977,8 @@ Sub B4XPage_Appear
|
||||
c.Close
|
||||
s.Close
|
||||
Else If s3.RowCount = 0 Then
|
||||
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_info3 where CAT_CL_CODIGO In (Select cuenta from cuentaa)")
|
||||
'########################## CODIGO PARA CREDITOS ####################
|
||||
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,CAT_CL_BCREDITO from kmt_info3 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 FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)")
|
||||
s.Position=0
|
||||
If c.RowCount > 0 Then
|
||||
@@ -990,7 +993,9 @@ Sub B4XPage_Appear
|
||||
l_entre2.Text = c.GetString("CAT_CL_CALLE2")
|
||||
l_atiende.Text = c.GetString("CAT_CL_ATIENDE1")
|
||||
l_atiende2.Text = c.GetString("CAT_CL_ATIENTE2")
|
||||
TELEFONO = c.GetString("CAT_CL_TELEFONO")
|
||||
telefono = c.GetString("CAT_CL_TELEFONO")
|
||||
BCREDITO = c.GetString("CAT_CL_BCREDITO") '########################## CODIGO PARA CREDITOS ####################
|
||||
|
||||
' Log(s.GetString("TOTAL_CLIE"))
|
||||
If s.GetString("TOTAL_CLIE") = Null Then
|
||||
l_total.Text = 0
|
||||
@@ -1020,6 +1025,7 @@ Sub B4XPage_Appear
|
||||
c.Close
|
||||
s.Close
|
||||
End If
|
||||
' ToastMessageShow(BCREDITO, False)
|
||||
'AQUI TERMINA
|
||||
Starter.idCliente = la_cuenta.text
|
||||
c = skmt.ExecQuery("SELECT CAT_VA_VALOR FROM CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = 'GEOCERCA'")
|
||||
@@ -2265,7 +2271,7 @@ Sub Guardar_Click
|
||||
c.Close
|
||||
c=B4XPages.MainPage.skmt.ExecQuery("select sum(pe_costo_tot) as TOTAL_CLIE, SUM(PE_CANT) AS CANT_CLIE, COUNT(*) AS CUANTOS FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)")
|
||||
c.Position=0
|
||||
|
||||
|
||||
'AQUI CAMBIAR
|
||||
Private s3 As Cursor=B4XPages.MainPage.skmt.ExecQuery2("select * FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) and PE_RECALCULO <> ? AND PE_RECALCULO <> ? AND PE_RECALCULO <> ?",Array As String("","null",Null))
|
||||
' LogColor(s3.RowCount,Colors.Yellow)
|
||||
@@ -2314,6 +2320,19 @@ Sub Guardar_Click
|
||||
ToastMessageShow(".",True)
|
||||
End Try
|
||||
DateTime.TimeFormat = "HH:mm:ss"
|
||||
'########################## INICIA CODIGO PARA CREDITOS ####################
|
||||
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)
|
||||
If resultado = DialogResponse.POSITIVE Then
|
||||
' ToastMessageShow("Positivo", False)
|
||||
mandaWAMsgCredito(telefono.Trim, suma)
|
||||
Else
|
||||
' ToastMessageShow("Efectivo", False)
|
||||
End If
|
||||
' ToastMessageShow("ENVIAR MSG WA POR MONTO $XXX", False)
|
||||
End If
|
||||
'########################## TERMINA CODIGO PARA CREDITOS ####################
|
||||
' B4XPages.ShowPage("Principal")
|
||||
End Sub
|
||||
|
||||
@@ -5316,7 +5335,7 @@ private Sub openPDF(afile As String)
|
||||
End Sub
|
||||
|
||||
Private Sub b_enviarTicket_Click
|
||||
et_numeroPDF.Text = TELEFONO.trim
|
||||
et_numeroPDF.Text = telefono.trim
|
||||
p_transparentePDF.Visible = True
|
||||
' ProgressDialogShow("Enviando ticket, un momento por favor.")
|
||||
' Log("Progress 1")
|
||||
@@ -5353,34 +5372,53 @@ Sub EnviarPDFWhatsAppNumero(NumeroTelefono As String)
|
||||
' Ruta del archivo PDF
|
||||
' Dim RutaArchivo As String = Starter.fFileProvider.SharedFolder & "/" & archivoTicketPDF
|
||||
' Log(RutaArchivo)
|
||||
|
||||
|
||||
' Verificar si el archivo existe
|
||||
If File.Exists(Starter.fFileProvider.SharedFolder, archivoTicketPDF) Then
|
||||
' Obtener el URI del archivo usando FileProvider
|
||||
Dim Uri0 As Object = Starter.fFileProvider.GetFileUri(archivoTicketPDF)
|
||||
|
||||
' Crear un Intent para compartir el archivo
|
||||
Dim Intent1 As Intent
|
||||
Intent1.Initialize(Intent1.ACTION_SEND, "")
|
||||
|
||||
' Establecer el tipo MIME del archivo (PDF)
|
||||
Intent1.SetType("application/pdf")
|
||||
|
||||
' Agregar el URI del archivo al Intent
|
||||
Intent1.PutExtra("android.intent.extra.STREAM", Uri0)
|
||||
|
||||
' Establecer permisos de lectura para la aplicación que recibe el archivo
|
||||
Intent1.Flags = 1 ' FLAG_GRANT_READ_URI_PERMISSION
|
||||
|
||||
' Especificar el número de teléfono en el Intent
|
||||
Intent1.PutExtra("jid", NumeroTelefono & "@s.whatsapp.net") ' Formato de WhatsApp
|
||||
|
||||
' Especificar que se abra directamente en WhatsApp
|
||||
Intent1.SetPackage("com.whatsapp")
|
||||
|
||||
' Iniciar el Intent para compartir el archivo
|
||||
Log("Intent para compartir archivo")
|
||||
StartActivity(Intent1)
|
||||
|
||||
Dim fd As MultipartFileData
|
||||
fd.Initialize
|
||||
fd.KeyName = "file"
|
||||
fd.Dir = Starter.fFileProvider.SharedFolder
|
||||
fd.FileName = archivoTicketPDF
|
||||
fd.ContentType = "application/pdf"
|
||||
Private link As String = "http://keymon.lat:9000/v1/ticketpdf"
|
||||
Private campos As Map = CreateMap( "message":"Tu compra de Guna va ser a *crédito* por el monto de $${NumberFormat2(monto, 1, 2, 2, True)}\n\nManda *1* para confirmar\nManda *0* para rechazar\n\n*Nota:* Si este mensaje no se contesta, se considerará que el pago es en *EFECTIVO*.\n\n(Solo el *número* por favor)")
|
||||
campos.Put("number", NumeroTelefono)
|
||||
campos.Put("message","Tu recibo")
|
||||
Log(campos)
|
||||
Private job As HttpJob
|
||||
job.Initialize("", Me)
|
||||
job.PostMultipart(link, campos, Array(fd))
|
||||
' job.GetRequest.SetContentType("application/json")
|
||||
Log(5555)
|
||||
Wait For (job) JobDone(job As HttpJob)
|
||||
|
||||
' ' Obtener el URI del archivo usando FileProvider
|
||||
' Dim Uri0 As Object = Starter.fFileProvider.GetFileUri(archivoTicketPDF)
|
||||
'
|
||||
' ' Crear un Intent para compartir el archivo
|
||||
' Dim Intent1 As Intent
|
||||
' Intent1.Initialize(Intent1.ACTION_SEND, "")
|
||||
'
|
||||
' ' Establecer el tipo MIME del archivo (PDF)
|
||||
' Intent1.SetType("application/pdf")
|
||||
'
|
||||
' ' Agregar el URI del archivo al Intent
|
||||
' Intent1.PutExtra("android.intent.extra.STREAM", Uri0)
|
||||
'
|
||||
' ' Establecer permisos de lectura para la aplicación que recibe el archivo
|
||||
' Intent1.Flags = 1 ' FLAG_GRANT_READ_URI_PERMISSION
|
||||
'
|
||||
' ' Especificar el número de teléfono en el Intent
|
||||
' Intent1.PutExtra("jid", NumeroTelefono & "@s.whatsapp.net") ' Formato de WhatsApp
|
||||
'
|
||||
' ' Especificar que se abra directamente en WhatsApp
|
||||
' Intent1.SetPackage("com.whatsapp")
|
||||
'
|
||||
' ' Iniciar el Intent para compartir el archivo
|
||||
' Log("Intent para compartir archivo")
|
||||
' StartActivity(Intent1)
|
||||
Else
|
||||
ToastMessageShow("El archivo PDF no existe.", True)
|
||||
End If
|
||||
@@ -5440,9 +5478,10 @@ End Sub
|
||||
Private Sub b_envioPDF_Click
|
||||
PDFGENERAR
|
||||
EnviarPDFWhatsAppNumero(et_numeroPDF.Text)
|
||||
|
||||
B4XPages.MainPage.skmt.ExecNonQuery("delete from TICKET_IMPRESO where idCliente In (select cuenta from cuentaa)")
|
||||
B4XPages.MainPage.skmt.ExecNonQuery($"insert into TICKET_IMPRESO (idCliente) values ('${Subs.traeCliente}')"$)
|
||||
|
||||
|
||||
DateTime.DateFormat = "YYYY/MM/dd HH:mm:ss"
|
||||
Dim cmd As DBCommand
|
||||
cmd.Initialize
|
||||
@@ -5450,6 +5489,13 @@ Private Sub b_envioPDF_Click
|
||||
Log(DateTime.Date(DateTime.Now))
|
||||
cmd.Parameters = Array As Object(Subs.traeCliente, Subs.traeUsuarioDeBD, et_numeroPDF.text, DateTime.Date(DateTime.Now))
|
||||
reqManager.ExecuteCommand(cmd , "insertEnvioTicketPDF")
|
||||
|
||||
cmd.Initialize
|
||||
cmd.Name = "insertaTelefonoTicketPDF"
|
||||
Log(DateTime.Date(DateTime.Now))
|
||||
cmd.Parameters = Array As Object(Subs.traeAlmacen, Subs.traeRuta, Subs.traeCliente, et_numeroPDF.text)
|
||||
reqManager.ExecuteCommand(cmd , "insertTelefonoTicketPDF")
|
||||
|
||||
Guardar_Click
|
||||
p_transparentePDF.Visible = False
|
||||
End Sub
|
||||
@@ -5491,4 +5537,46 @@ Private Sub btnAceptaPlanLealtad_Click
|
||||
Log("AQUI2")
|
||||
B4XPage_Appear
|
||||
End If
|
||||
End Sub
|
||||
End Sub
|
||||
|
||||
'########################## INICIA CODIGO PARA CREDITOS ####################
|
||||
Sub mandaWAMsgCredito(numTel As String, monto As String)
|
||||
DateTime.DateFormat="MM/dd/yyyy HH:mm:ss"
|
||||
Private Fecha As String=DateTime.Date(DateTime.now)
|
||||
numTel = "521" & numTel
|
||||
Private numTel As String = "5215554192439"
|
||||
' Private monto As String = "1500"
|
||||
Private idCliente As String = Subs.traeCliente '"10748"
|
||||
Private ruta As String = Subs.traeRuta '"333"
|
||||
Private ALMACEN As String = Subs.traeAlmacen '"1"
|
||||
|
||||
' CON POST
|
||||
Private link As String = "http://keymon.lat:9000/v1/messages"
|
||||
Private elJSON As String = $"{
|
||||
"number":"${numTel}",
|
||||
"message":"Tu compra de Guna va ser a *crédito* por el monto de $${NumberFormat2(monto, 1, 2, 2, True)}\n\nManda *1* para confirmar\nManda *0* para rechazar\n\n*Nota:* Si este mensaje no se contesta, se considerará que el pago es en *EFECTIVO*.\n\n(Solo el *número* por favor)",
|
||||
"monto":"${monto}",
|
||||
"idcliente":"${idCliente}",
|
||||
"almacen":"${ALMACEN}",
|
||||
"ruta": "${ruta}",
|
||||
"fecha":"${Fecha}"
|
||||
}"$
|
||||
Private job As HttpJob
|
||||
job.Initialize("", Me)
|
||||
job.PostString(link, elJSON)
|
||||
job.GetRequest.SetContentType("application/json")
|
||||
Wait For (job) JobDone(job As HttpJob)
|
||||
|
||||
' CON GET
|
||||
' Private retorno As String = "%0D%0A"
|
||||
' Private link As String = $"http://keymon.lat:9000/v1/messages?number=${numTel}&message=Tu compra de Guna va ser a crédito por el monto de $${NumberFormat2(monto, 1, 2, 2, True)}${retorno}${retorno}Manda *1* para confirmar${retorno}Manda *0* para rechazar${retorno}${retorno}*Nota: Si este mensaje no se contesta, se considerará que el pago es en EFECTIVO*${retorno}${retorno}(Solo el *número* por favor)&monto=${monto}&idcliente=${idCliente}&almacen=1&ruta=333&fecha=${Fecha}"$
|
||||
' Private job As HttpJob
|
||||
' job.Initialize("", Me)
|
||||
'' job.PostString(link, elJSON)
|
||||
' job.Download(link)
|
||||
'' job.GetRequest.SetContentType("application/json")
|
||||
' Wait For (job) JobDone(job As HttpJob)
|
||||
|
||||
Log("Whatsapp enviado con exito: " & job.Success)
|
||||
End Sub
|
||||
'########################## TERMINA CODIGO PARA CREDITOS ####################
|
||||
|
||||
Reference in New Issue
Block a user