Version: 4.12.15

Se agrego la geocerca a 50 mts
Se agregaron validaciones para tomar promociones aprovadas.
This commit is contained in:
Isaac
2024-12-17 11:51:44 -06:00
parent 52a14506b9
commit e5342c0236
12 changed files with 271 additions and 280 deletions

View File

@@ -266,6 +266,11 @@ Sub B4XPage_Appear
LA_GPS.TextColor = Colors.Red
LA_GPS.Text = "SIN UBICACION GPS"
cercavalor = 0
Tels.Visible = False
gest.Visible = False
bitacora.p_transparenteInicioFin2.Visible = False
bitacora.b_Inicio_Fin_venta2.Visible = False
b_ventaabordo.Enabled = False
If Subs.hayPedido Then 'Si hay pedido, deshabilitamos el boton de "No Venta"
Log(">>>>> HAY PEDIDO")
@@ -392,14 +397,7 @@ Sub B4XPage_Appear
Tels.Visible = True
gest.Visible = True
End If
CallSubDelayed(Tracker, "Track")
CallSubDelayed(Tracker, "StartFLPSmall")
If Tracker.FLP.IsInitialized And Tracker.FLP.GetLastKnownLocation.IsInitialized Then 'Si tenemos "UltimaUbicaccionConocida" la usamos.
B4XPages.MainPage.lat_gps = Tracker.FLP.GetLastKnownLocation.Latitude
B4XPages.MainPage.lon_gps = Tracker.FLP.GetLastKnownLocation.Longitude
' Log($"Tenemos UUC: ${Tracker.FLP.GetLastKnownLocation.Latitude},${Tracker.FLP.GetLastKnownLocation.Longitude}"$)
GPS_LocationChanged(Tracker.FLP.GetLastKnownLocation)
End If
Tels.Visible = True
gest.Visible = True
@@ -489,13 +487,29 @@ Sub B4XPage_Appear
gest.Text = "Recarga"
B4XPages.MainPage.recarga = "1"
Else
gest.Text = "Pre-venta"
gest.Text = "PREVENTA 24HRS"
B4XPages.MainPage.recarga = "0"
End If
' LogColor(B4XPages.MainPage.recarga,Colors.Blue)
' If banderaimp = 1 Then
' Guardar_Click
' End If
Tels.Visible = False
gest.Visible = False
bitacora.p_transparenteInicioFin2.Visible = False
bitacora.b_Inicio_Fin_venta2.Visible = False
b_ventaabordo.Visible = False
CallSubDelayed(Tracker, "Track")
CallSubDelayed(Tracker, "StartFLPSmall")
If Tracker.FLP.IsInitialized And Tracker.FLP.GetLastKnownLocation.IsInitialized Then 'Si tenemos "UltimaUbicaccionConocida" la usamos.
B4XPages.MainPage.lat_gps = Tracker.FLP.GetLastKnownLocation.Latitude
B4XPages.MainPage.lon_gps = Tracker.FLP.GetLastKnownLocation.Longitude
' Log($"Tenemos UUC: ${Tracker.FLP.GetLastKnownLocation.Latitude},${Tracker.FLP.GetLastKnownLocation.Longitude}"$)
GPS_LocationChanged(Tracker.FLP.GetLastKnownLocation)
End If
End Sub
Sub GPS_LocationChanged (Location1 As Location)
@@ -503,7 +517,7 @@ Sub GPS_LocationChanged (Location1 As Location)
If Tracker.FLP.GetLastKnownLocation.IsInitialized And Tracker.FLP.GetLastKnownLocation.Latitude <> 0 Then
B4XPages.MainPage.lat_gps = Tracker.FLP.GetLastKnownLocation.Latitude
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
Dim l1, l2 As Location
@@ -518,13 +532,21 @@ Sub GPS_LocationChanged (Location1 As Location)
'now we need the distance between our location and the target location
distance = l1.DistanceTo(l2) 'the result is in meter
gest.Visible = True
' If distance < 100 Then
If distance < 50 Then
LA_GEO.TextColor = Colors.Blue
Tels.Visible = True
gest.Visible = True
' Else
' LA_GEO.TextColor = Colors.Red
' End If
bitacora.p_transparenteInicioFin2.Visible = True
bitacora.b_Inicio_Fin_venta2.Visible = True
b_ventaabordo.Visible = True
Else
Tels.Visible = False
gest.Visible = False
bitacora.p_transparenteInicioFin2.Visible = False
bitacora.b_Inicio_Fin_venta2.Visible = False
b_ventaabordo.Visible = False
LA_GEO.TextColor = Colors.Red
End If
LA_GEO.Text= $"$1.2{distance/1000} kms"$
B4XPages.MainPage.skmt.ExecNonQuery("DELETE FROM HIST_GPS")
B4XPages.MainPage.skmt.ExecNonQuery2("INSERT INTO HIST_GPS (HGDATE, HGLAT, HGLON) VALUES(?,?,?) ", Array As Object (sDate & sTime, B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps))
@@ -536,6 +558,8 @@ Sub ListView1_ItemLongClick (Position As Int, Value As Object)
End Sub
Sub gest_Click
Starter.BanderaActualizar = "1"
Log("---------> Estoy en boton 24HRS:"&Starter.BanderaActualizar)
If la_cuenta.Text = "0" Then
B4XPages.MainPage.tipo_venta = "ABORDO"
Else If la_cuenta.Text = "1" Then
@@ -543,7 +567,7 @@ Sub gest_Click
Else
B4XPages.MainPage.tipo_venta = "PREVENTA_24"
End If
' c = B4XPages.MainPage.skmt.ExecQuery($"SELECT * FROM "$)
'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}'"$)
' hc.Position = 0
@@ -1052,6 +1076,18 @@ Sub imprime_preventa
sDate=DateTime.Date(DateTime.Now)
sTime=DateTime.Time(DateTime.Now)
c.Close
Dim tel As String = ""
Dim t As Cursor = B4XPages.MainPage.skmt.ExecQuery("SELECT CAT_VA_VALOR FROM CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = 'TELEFONO'")
If t.RowCount > 0 Then
t.Position = 0
tel = t.GetString("CAT_VA_VALOR")
End If
t.Close
Dim IMEI_BASE As String = Starter.IMEI_BASE
Log("IMEI_BASE desde otra clase: " & IMEI_BASE)
ProgressDialogShow("Imprimiendo, un momento ...")
Printer1.DisConnect
If Not(Printer1.IsConnected) Then
@@ -1083,10 +1119,11 @@ Sub imprime_preventa
TAMANO = 0
ESPACIO = 22
BLANCO = " "
Printer1.WriteString("mazapa Distribuciones" & CRLF)
Printer1.WriteString("Compania Logistica Mazapa." & CRLF)
Printer1.WriteString(sDate & CRLF)
Printer1.WriteString(sTime & CRLF)
Printer1.WriteString("Vendedor:" & usuario & CRLF)
Printer1.WriteString("Tel vendedor:" & tel & CRLF)
Printer1.WriteString("Tienda: " & La_nombre.Text & CRLF)
Printer1.WriteString("ID.Cliente: " & la_cuenta.Text & CRLF)
Printer1.WriteString("Calle: " & la_Calle.Text & CRLF)
@@ -1098,7 +1135,7 @@ Sub imprime_preventa
Printer1.WriteString("------PREVENTA A CREDITO------" & CRLF)
End If
If c.RowCount > 0 Then
Printer1.WriteString("-----------PREVENTA-----------" & CRLF)
Printer1.WriteString("--------PREVENTA_24--------" & CRLF)
Printer1.WriteString("Cant. Precio Importe" & CRLF)
Printer1.WriteString("------------------------------" & CRLF)
s=skmt.ExecQuery2("select PE_BCAJAS,PE_PRONOMBRE, PE_CANT, length(pe_cant) as L_CANT, PE_COSTOU, length(PE_COSTOU) as L_COSTOU, 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_24"))
@@ -1228,6 +1265,9 @@ Sub imprime_preventa
Printer1.WriteString("----ESTE TICKET NO ES UN -----" & CRLF)
Printer1.WriteString("--COMPROBANTE FISCAL, SOLO ES-" & CRLF)
Printer1.WriteString("--------INFORMATIVO-----------" & CRLF)
Printer1.WriteString("-POR FAVOR REVISE SU PEDIDO,--" & CRLF)
Printer1.WriteString("-UNA VEZ REALIZADA LA ENTREGA-" & CRLF)
Printer1.WriteString("NO HAY CAMBIOS NI DEVOLUCIONES" & CRLF)
Printer1.WriteString("------------------------------" & CRLF)
Printer1.WriteString(" " & CRLF)
Printer1.WriteString(" " & CRLF)
@@ -1252,6 +1292,15 @@ Sub imprime_venta
sDate=DateTime.Date(DateTime.Now)
sTime=DateTime.Time(DateTime.Now)
c.Close
Dim tel As String = ""
Dim t As Cursor = B4XPages.MainPage.skmt.ExecQuery("SELECT CAT_VA_VALOR FROM CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = 'TELEFONO'")
If t.RowCount > 0 Then
t.Position = 0
tel = t.GetString("CAT_VA_VALOR")
End If
t.Close
' c=Starter.skmt.ExecQuery2("SELECT CAT_VA_VALOR FROM CAT_VARIABLES WHERE CAT_VA_DESCRIPCION =?", Array As String ("SUCURSAL"))
' c.Position = 0
' sucursal = c.GetString("CAT_VA_VALOR")
@@ -1306,11 +1355,12 @@ Sub imprime_venta
' Printer1.Justify = 1
'printer.Initialize(cmp20.OutputStream)
' Printer1.WriteString("DISTRIBUIDORA ROCHA TULA PACHUCA" & CRLF)
Printer1.WriteString("mazapa Distribuciones" & CRLF)
Printer1.WriteString("Compania Logistica Mazapa." & CRLF)
' Printer1.WriteString(sucursal & CRLF)
Printer1.WriteString(sDate & CRLF)
Printer1.WriteString(sTime & CRLF)
Printer1.WriteString("Vendedor:" & usuario & CRLF)
Printer1.WriteString("Tel vendedor:" & tel & CRLF)
Printer1.WriteString("Tienda: " & La_nombre.Text & CRLF)
Printer1.WriteString("ID.Cliente: " & la_cuenta.Text & CRLF)
Printer1.WriteString("Calle: " & la_Calle.Text & CRLF)
@@ -1321,7 +1371,7 @@ Sub imprime_venta
Printer1.WriteString(" " & CRLF)
c = skmt.ExecQuery2("SELECT * FROM PEDIDO WHERE PE_FOLIO = ?",Array As String("PREVENTA_48"))
If c.RowCount > 0 Then
Printer1.WriteString("-----------VENTA-----------" & CRLF)
Printer1.WriteString("--------PREVENTA_48--------" & CRLF)
' Printer1.WriteString("--------------------------------" & CRLF)
Printer1.WriteString("Cant. Precio Importe" & CRLF)
@@ -1543,18 +1593,38 @@ Sub imprime_venta
Printer1.WriteString(" " & CRLF)
End If
s.Close
' Printer1.Justify = 0
s=skmt.ExecQuery2("select SUM(PE_COSTO_TOT) AS TOTAL FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) AND PE_FOLIO = ?", Array As String("PREVENTA_48"))
s.Position =0
' If s.GetString("TOTAL") - s.GetString("TOTAL2") <> 0 Then
' Printer1.WriteString("Descuento: $" & (s.GetString("TOTAL2") - s.GetString("TOTAL")))
' End If
Printer1.WriteString("Total venta: $" & NumberFormat( s.GetString("TOTAL"),0,2) & CRLF)
s = skmt.ExecQuery($"SELECT SUM(CAT_GP_PRECIO * PE_CANT) As SUBTOTAL FROM PEDIDO P INNER JOIN CAT_GUNAPROD C ON P.PE_PROID = C.CAT_GP_ID And P.PE_CEDIS = P.PE_PROID WHERE PE_CLIENTE IN (Select cuenta FROM CUENTAA) And PE_FOLIO = 'PREVENTA_48'"$)
Dim subtotal As Double
s.Position = 0
subtotal = s.GetDouble("SUBTOTAL")
s.Close
c= skmt.ExecQuery2("select sum(PE_CANT) as PC_NOART from PEDIDO where PE_CLIENTE in (Select CUENTA from cuentaa) AND PE_PROID NOT IN (SELECT CAT_PA_ID FROM PROMOS_COMP ) AND PE_FOLIO = ?", Array As String("PREVENTA_48"))
C.Position=0
Printer1.WriteString("Total art. venta: " &NumberFormat( c.GetString("PC_NOART"),0,0) & CRLF)
Dim subtot As Cursor = skmt.ExecQuery("SELECT SUM(P.PE_COSTO_TOT) As TOTAL_SIN_PROMO FROM PEDIDO P INNER JOIN CAT_GUNAPROD C ON P.PE_PROID = C.CAT_GP_ID WHERE P.PE_CLIENTE IN (Select cuenta FROM CUENTAA) And P.PE_FOLIO = 'PREVENTA_48' And PE_CEDIS Not IN (Select DISTINCT PE_PROID FROM PEDIDO)")
subtot.Position = 0
subtotal = subtotal + subtot.GetDouble("TOTAL_SIN_PROMO")
subtot.Close
subtotal = Round2(subtotal, 2)
Printer1.WriteString("Subtotal: $" & NumberFormat(subtotal, 0, 2) & CRLF)
' Calcular el descuento
Dim descuento As Double
s = skmt.ExecQuery2("SELECT SUM(PE_COSTO_TOT) AS TOTAL FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) AND PE_FOLIO = ?", Array As String("PREVENTA_48"))
s.Position = 0
Dim total As Double = s.GetDouble("TOTAL")
descuento = subtotal - total
descuento = Round2(descuento, 2) ' Redondear descuento con precisión de 2 decimales
s.Close
Printer1.WriteString("Descuento: $" & NumberFormat(descuento, 0, 2) & CRLF)
' Mostrar el total de la preventa
Printer1.WriteString("Total preventa: $" & NumberFormat(total, 0, 2) & CRLF)
' Contar los artículos en preventa
Dim c As Cursor = skmt.ExecQuery2("SELECT SUM(PE_CANT) AS PC_NOART FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) AND PE_PROID NOT IN (SELECT CAT_PA_ID FROM PROMOS_COMP) AND PE_FOLIO = ?", Array As String("PREVENTA_48"))
c.Position = 0
Printer1.WriteString("Total art. preventa: " & NumberFormat(c.GetDouble("PC_NOART"), 0, 0) & CRLF)
c.Close
' Printer1.WriteString(" " & CRLF)
@@ -1583,6 +1653,9 @@ Sub imprime_venta
Printer1.WriteString("----ESTE TICKET NO ES UN -----" & CRLF)
Printer1.WriteString("--COMPROBANTE FISCAL, SOLO ES-" & CRLF)
Printer1.WriteString("--------INFORMATIVO-----------" & CRLF)
Printer1.WriteString("-POR FAVOR REVISE SU PEDIDO,--" & CRLF)
Printer1.WriteString("-UNA VEZ REALIZADA LA ENTREGA-" & CRLF)
Printer1.WriteString("NO HAY CAMBIOS NI DEVOLUCIONES" & CRLF)
Printer1.WriteString("------------------------------" & CRLF)
Printer1.WriteString(" " & CRLF)
Printer1.WriteString(" " & CRLF)
@@ -1985,7 +2058,7 @@ Sub mandapiezas
End If
End Sub
Sub JobDone(Job As HttpJob)
Sub JobDone(Job As HttpJob)
' Log(Job.Success)
If Job.Success = False Then
' ToastMessageShow("Error: " & Job.ErrorMessage, True)
@@ -2346,8 +2419,6 @@ Private Sub b_ventaabordo_Click
c=B4XPages.MainPage.skmt.ExecQuery2("Select * From CAT_GUNAPROD2 where cat_gp_tipo <> ? " , Array As String ("PROMOS"))
If c.RowCount > 0 Then
B4XPages.MainPage.tipo_venta = "PREVENTA_48"
' If B4XPages.MainPage.productos.clv_prods_ll.Size = 0 Then
' B4XPages.MainPage.productos.LlenaProdsLL(Null)