mirror of
https://github.com/KeymonSoft/Guna_Preventa.git
synced 2026-04-17 21:06:32 +00:00
- VERSION 5.12.10
- Se agrego codigo para las promos por rango. - FALTA PONERLO EN TICKETS y PDFS
This commit is contained in:
@@ -222,6 +222,7 @@ Private Sub B4XPage_Created (Root1 As B4XView)
|
|||||||
Subs.agregaColumna("CAT_GUNAPROD", "CAT_PA_SEGMENTAV", "TEXT")
|
Subs.agregaColumna("CAT_GUNAPROD", "CAT_PA_SEGMENTAV", "TEXT")
|
||||||
Subs.agregaColumna("CAT_GUNAPROD2", "CAT_PA_BSEGMENTA", "TEXT")
|
Subs.agregaColumna("CAT_GUNAPROD2", "CAT_PA_BSEGMENTA", "TEXT")
|
||||||
Subs.agregaColumna("CAT_GUNAPROD2", "CAT_PA_SEGMENTAV", "TEXT")
|
Subs.agregaColumna("CAT_GUNAPROD2", "CAT_PA_SEGMENTAV", "TEXT")
|
||||||
|
Subs.agregaColumna("PEDIDO", "PE_RECCANT", "TEXT")
|
||||||
Try 'Intentamos usar "pragma_table_info" para revisar si existe la columna "P10" en la tabla
|
Try 'Intentamos usar "pragma_table_info" para revisar si existe la columna "P10" en la tabla
|
||||||
c=skmt.ExecQuery("SELECT COUNT(*) AS fCol FROM pragma_table_info('ENCUESTA_MODULO3') WHERE name='P10'")
|
c=skmt.ExecQuery("SELECT COUNT(*) AS fCol FROM pragma_table_info('ENCUESTA_MODULO3') WHERE name='P10'")
|
||||||
c.Position = 0
|
c.Position = 0
|
||||||
|
|||||||
@@ -549,8 +549,9 @@ Sub B4XPage_Appear
|
|||||||
'
|
'
|
||||||
' ' Al aparecer la página del cliente
|
' ' Al aparecer la página del cliente
|
||||||
' InicializarLocalizacionMejorada
|
' InicializarLocalizacionMejorada
|
||||||
|
|
||||||
TraeCantProd
|
recalculoXcant
|
||||||
|
|
||||||
ImageView4.Bitmap = LoadBitmap(File.DirAssets,"images.png")
|
ImageView4.Bitmap = LoadBitmap(File.DirAssets,"images.png")
|
||||||
btnPlanLealtad.Visible = False
|
btnPlanLealtad.Visible = False
|
||||||
bitacora.inicioFin
|
bitacora.inicioFin
|
||||||
@@ -1194,7 +1195,13 @@ Sub B4XPage_Appear
|
|||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
|
|
||||||
|
Log("============================================================")
|
||||||
|
Log("============================================================")
|
||||||
|
Log("============================================================")
|
||||||
|
' *********************************************************
|
||||||
|
l_total.Text = Subs.calculaTotalConPromoXRango
|
||||||
|
' *********************************************************
|
||||||
|
|
||||||
SV_ENCUESTA.Visible = False
|
SV_ENCUESTA.Visible = False
|
||||||
P_gallina.Visible = False
|
P_gallina.Visible = False
|
||||||
@@ -1316,21 +1323,22 @@ Sub MejorarPrecisionGPS As ResumableSub
|
|||||||
Return False ' No se logró buena precisión
|
Return False ' No se logró buena precisión
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
|
' Recalcula y pone en PEDIDO si el producto cumple lascondiciones para tener descuento
|
||||||
Sub TraeCantProd As Boolean
|
Sub recalculoXcant
|
||||||
|
|
||||||
' Private c As Cursor = B4XPages.MainPage.skmt.ExecQuery2("SELECT* FROM PEDIDO JOIN CAT_PROMOS_DESCUENTOS ON CAT_PD_PRODUCTO = PE_PROID WHERE PE_CLIENTE IN (Select CUENTA FROM CUENTAA) AND PE_CEDIS = ? AND PE_CANT >= CAT_PD_RANGO AND CAT_PD_RANGO2 <= PE_CANT", Array As String(Subs.traeAlmacen))
|
' Private c As Cursor = B4XPages.MainPage.skmt.ExecQuery2("SELECT* FROM PEDIDO JOIN CAT_PROMOS_DESCUENTOS ON CAT_PD_PRODUCTO = PE_PROID WHERE PE_CLIENTE IN (Select CUENTA FROM CUENTAA) AND PE_CEDIS = ? AND PE_CANT >= CAT_PD_RANGO AND CAT_PD_RANGO2 <= PE_CANT", Array As String(Subs.traeAlmacen))
|
||||||
Private c As Cursor = B4XPages.MainPage.skmt.ExecQuery2("SELECT * FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA FROM CUENTAA) AND PE_CEDIS = ? ", Array As String(Subs.traeAlmacen))
|
Private c As Cursor = B4XPages.MainPage.skmt.ExecQuery2("SELECT * FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA FROM CUENTAA) AND PE_CEDIS = ? ", Array As String(Subs.traeAlmacen))
|
||||||
|
|
||||||
|
|
||||||
If c.RowCount > 0 Then
|
If c.RowCount > 0 Then
|
||||||
For promespdes = 0 To c.RowCount -1
|
For promespdes = 0 To c.RowCount -1
|
||||||
c.Position = promespdes
|
c.Position = promespdes
|
||||||
|
|
||||||
Dim rangosel As Cursor= B4XPages.MainPage.skmt.ExecQuery2("SELECT * FROM CAT_PROMOS_DESCUENTOS WHERE CAT_PD_PRODUCTO = ? AND CAT_PD_RANGO <= ? AND CAT_PD_RANGO2 >= ?",Array As String(c.GetString("PE_PROID"),c.GetInt("PE_CANT"),c.GetInt("PE_CANT")))
|
Dim rangosel As Cursor= B4XPages.MainPage.skmt.ExecQuery2("SELECT * FROM CAT_PROMOS_DESCUENTOS WHERE CAT_PD_PRODUCTO = ? AND CAT_PD_RANGO <= ? AND CAT_PD_RANGO2 >= ?",Array As String(c.GetString("PE_PROID"),c.GetInt("PE_CANT"),c.GetInt("PE_CANT")))
|
||||||
If rangosel.RowCount > 0 Then
|
If rangosel.RowCount > 0 Then
|
||||||
|
|
||||||
|
' delete fromo pedido where cliete = estecliente!!! y prodId = esteID
|
||||||
|
|
||||||
For hjh = 0 To rangosel.RowCount-1
|
For hjh = 0 To rangosel.RowCount-1
|
||||||
|
|
||||||
rangosel.Position = hjh
|
rangosel.Position = hjh
|
||||||
|
|
||||||
If rangosel.GetString("CAT_PD_TIER").Contains(Subs.traeTipoCliente) Then
|
If rangosel.GetString("CAT_PD_TIER").Contains(Subs.traeTipoCliente) Then
|
||||||
Log(c.GetString("PE_COSTOU"))
|
Log(c.GetString("PE_COSTOU"))
|
||||||
Log(rangosel.GetString("CAT_PD_DESCUENTO"))
|
Log(rangosel.GetString("CAT_PD_DESCUENTO"))
|
||||||
@@ -1340,18 +1348,44 @@ Sub TraeCantProd As Boolean
|
|||||||
Log(NumberFormat2(((c.GetString("PE_COSTOU") * rangosel.GetString("CAT_PD_DESCUENTO"))/100),0,2,2,False))
|
Log(NumberFormat2(((c.GetString("PE_COSTOU") * rangosel.GetString("CAT_PD_DESCUENTO"))/100),0,2,2,False))
|
||||||
Log(rangosel.GetString("CAT_PD_DESCUENTO"))
|
Log(rangosel.GetString("CAT_PD_DESCUENTO"))
|
||||||
Private recalculototal As Float =c.GetString("PE_CANT") * recalculo
|
Private recalculototal As Float =c.GetString("PE_CANT") * recalculo
|
||||||
skmt.ExecNonQuery2("UPDATE PEDIDO set PE_RECALCULO = ?, PE_RECALCULOTOT = ?, PE_RECCEDIS = ? WHERE PE_PROID = ? AND PE_CLIENTE IN (SELECT CUENTA FROM CUENTAA) ",Array As String(NumberFormat2(recalculo,0,2,2,False) ,NumberFormat2(recalculototal,0,2,2,False), rangosel.GetString("CAT_PD_COD_PROMO"),c.GetString("PE_PROID")))
|
skmt.ExecNonQuery2("UPDATE PEDIDO set PE_RECALCULO = ?, PE_RECALCULOTOT = ?, PE_RECCEDIS = ?, PE_RECCANT = PE_CANT WHERE PE_PROID = ? AND PE_CLIENTE IN (SELECT CUENTA FROM CUENTAA) ",Array As String(NumberFormat2(recalculo,0,2,2,False) ,NumberFormat2(recalculototal,0,2,2,False), rangosel.GetString("CAT_PD_COD_PROMO"),c.GetString("PE_PROID")))
|
||||||
End If
|
End If
|
||||||
|
|
||||||
Next
|
Next
|
||||||
|
Else ' No cumple el rango ...
|
||||||
|
Dim rangosel2 As Cursor= B4XPages.MainPage.skmt.ExecQuery2("SELECT * FROM CAT_PROMOS_DESCUENTOS WHERE CAT_PD_PRODUCTO = ? and ? > cat_pd_rango2",Array As String(c.GetString("PE_PROID"),c.GetInt("PE_CANT")))
|
||||||
|
|
||||||
|
' definir rango sup y cantidad
|
||||||
|
|
||||||
|
If rangosel2.RowCount > 0 Then
|
||||||
|
' rangosel2.Position = 0
|
||||||
|
|
||||||
Else
|
For hjh = 0 To rangosel2.RowCount-1
|
||||||
skmt.ExecNonQuery2("UPDATE PEDIDO set PE_RECALCULO = NULL, PE_RECALCULOTOT = NULL, PE_RECCEDIS = NULL WHERE PE_PROID = ? AND PE_CLIENTE IN (SELECT CUENTA FROM CUENTAA) ",Array As String(c.GetString("PE_PROID")))
|
rangosel2.Position = hjh
|
||||||
|
If rangosel2.GetString("CAT_PD_TIER").Contains(Subs.traeTipoCliente) Then
|
||||||
|
Log(c.GetString("PE_COSTOU"))
|
||||||
|
Log(rangosel2.GetString("CAT_PD_DESCUENTO"))
|
||||||
|
Private recalculo As Float = c.GetString("PE_COSTOU") - NumberFormat2(((c.GetString("PE_COSTOU") * rangosel2.GetString("CAT_PD_DESCUENTO"))/100),0,2,2,False)
|
||||||
|
LogColor(recalculo,Colors.Blue)
|
||||||
|
Log(c.GetString("PE_COSTOU"))
|
||||||
|
Log(NumberFormat2(((c.GetString("PE_COSTOU") * rangosel2.GetString("CAT_PD_DESCUENTO"))/100),0,2,2,False))
|
||||||
|
Log(rangosel2.GetString("CAT_PD_DESCUENTO"))
|
||||||
|
Private recalculototal As Float = rangosel2.GetString("CAT_PD_RANGO2") * recalculo
|
||||||
|
|
||||||
|
' Restar total cantidad menos rango mayor para obtener la diferencia y saber cuanto hay de mas
|
||||||
|
|
||||||
|
' INSERT de producto (diferencia entre el rango sup y cantidad de pedido
|
||||||
|
|
||||||
|
skmt.ExecNonQuery2("UPDATE PEDIDO set PE_RECALCULO = ?, PE_RECALCULOTOT = ?, PE_RECCEDIS = ?, PE_RECCANT = ? WHERE PE_PROID = ? AND PE_CLIENTE IN (SELECT CUENTA FROM CUENTAA) ",Array As String(NumberFormat2(recalculo,0,2,2,False),NumberFormat2(recalculototal,0,2,2,False),rangosel2.GetString("CAT_PD_COD_PROMO"), rangosel2.GetString("CAT_PD_RANGO2"),c.GetString("PE_PROID")))
|
||||||
|
End If
|
||||||
|
Next
|
||||||
|
|
||||||
|
|
||||||
|
Else
|
||||||
|
skmt.ExecNonQuery2("UPDATE PEDIDO set PE_RECALCULO = NULL, PE_RECALCULOTOT = NULL, PE_RECCEDIS = NULL, PE_RECCANT = NULL WHERE PE_PROID = ? AND PE_CLIENTE IN (SELECT CUENTA FROM CUENTAA) ",Array As String(c.GetString("PE_PROID")))
|
||||||
|
End If
|
||||||
End If
|
End If
|
||||||
|
|
||||||
Next
|
Next
|
||||||
End If
|
End If
|
||||||
|
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Private Sub LA_GPS_Click
|
Private Sub LA_GPS_Click
|
||||||
@@ -1487,18 +1521,10 @@ Sub GPS_LocationChanged (Location1 As Location)
|
|||||||
|
|
||||||
distancealm = ubi1.DistanceTo(ubi2)
|
distancealm = ubi1.DistanceTo(ubi2)
|
||||||
End If
|
End If
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
' Mostrar la precisión actual
|
' Mostrar la precisión actual
|
||||||
If LA_GPS.IsInitialized Then
|
If LA_GPS.IsInitialized Then
|
||||||
LA_GPS.Text = $"UBICACIÓN - Precisión: ${NumberFormat2(Location1.Accuracy, 0, 1, 1, False)}m"$
|
LA_GPS.Text = $"UBICACIÓN - Precisión: ${NumberFormat2(Location1.Accuracy, 0, 1, 1, False)}m"$
|
||||||
|
|
||||||
End If
|
End If
|
||||||
|
|
||||||
|
|
||||||
' Solo usar ubicaciones con buena precisión
|
' Solo usar ubicaciones con buena precisión
|
||||||
If Location1.Accuracy < 30 Then ' Menos de 30 metros de error
|
If Location1.Accuracy < 30 Then ' Menos de 30 metros de error
|
||||||
' Tu lógica actual aquí
|
' Tu lógica actual aquí
|
||||||
@@ -1555,9 +1581,6 @@ Sub GPS_LocationChanged (Location1 As Location)
|
|||||||
bitacora.banderaGeoCerca = "0"
|
bitacora.banderaGeoCerca = "0"
|
||||||
' ToastMessageShow("DENTRO de rango GPS", False)
|
' ToastMessageShow("DENTRO de rango GPS", False)
|
||||||
Else If habi = "1" Then
|
Else If habi = "1" Then
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
If distancealm < 50 Then
|
If distancealm < 50 Then
|
||||||
precision = "0"
|
precision = "0"
|
||||||
LA_GEO.TextColor = Colors.Blue
|
LA_GEO.TextColor = Colors.Blue
|
||||||
@@ -1582,14 +1605,14 @@ Sub GPS_LocationChanged (Location1 As Location)
|
|||||||
bitacora.banderaGeoCerca = "0"
|
bitacora.banderaGeoCerca = "0"
|
||||||
iniciofin
|
iniciofin
|
||||||
Else If c.RowCount = 0 Then
|
Else If c.RowCount = 0 Then
|
||||||
c = skmt.ExecQuery("SELECT NV_CLIENTE FROM NOVENTA CLIENTE WHERE NV_CLIENTE IN (Select CUENTA from cuentaa)")
|
Private c5 As Cursor = skmt.ExecQuery("SELECT NV_CLIENTE FROM NOVENTA CLIENTE WHERE NV_CLIENTE IN (Select CUENTA from cuentaa)")
|
||||||
If c.RowCount > 0 Then
|
If c5.RowCount > 0 Then
|
||||||
Tels.Visible = True
|
Tels.Visible = True
|
||||||
gest.Visible = True
|
gest.Visible = True
|
||||||
precision = "0"
|
precision = "0"
|
||||||
' b_geo = "0"
|
' b_geo = "0"
|
||||||
iniciofin
|
iniciofin
|
||||||
Else If c.RowCount = 0 Then
|
Else If c5.RowCount = 0 Then
|
||||||
Tels.Visible = False
|
Tels.Visible = False
|
||||||
gest.Visible = False
|
gest.Visible = False
|
||||||
' p_transparenteInicioFin.Visible = False
|
' p_transparenteInicioFin.Visible = False
|
||||||
@@ -1604,7 +1627,9 @@ Sub GPS_LocationChanged (Location1 As Location)
|
|||||||
iniciofin
|
iniciofin
|
||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
|
c5.Close
|
||||||
End If
|
End If
|
||||||
|
c.Close
|
||||||
LA_GEO.TextColor = Colors.Red
|
LA_GEO.TextColor = Colors.Red
|
||||||
If ALMACEN = "1" Then
|
If ALMACEN = "1" Then
|
||||||
Tels.Visible = False
|
Tels.Visible = False
|
||||||
@@ -1650,6 +1675,7 @@ Sub GPS_LocationChanged (Location1 As Location)
|
|||||||
iniciofin
|
iniciofin
|
||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
|
c.Close
|
||||||
LA_GEO.TextColor = Colors.Red
|
LA_GEO.TextColor = Colors.Red
|
||||||
If ALMACEN = "1" Then
|
If ALMACEN = "1" Then
|
||||||
Tels.Visible = False
|
Tels.Visible = False
|
||||||
@@ -1659,6 +1685,7 @@ Sub GPS_LocationChanged (Location1 As Location)
|
|||||||
iniciofin
|
iniciofin
|
||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
|
c.Close
|
||||||
Else
|
Else
|
||||||
Tels.Visible = False
|
Tels.Visible = False
|
||||||
gest.Visible = False
|
gest.Visible = False
|
||||||
@@ -1676,7 +1703,7 @@ Sub GPS_LocationChanged (Location1 As Location)
|
|||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
|
|
||||||
' RevisarGeocerca
|
' RevisarGeocerca
|
||||||
Else
|
Else
|
||||||
If LA_GPS.IsInitialized Then
|
If LA_GPS.IsInitialized Then
|
||||||
@@ -1702,12 +1729,9 @@ Sub GPS_LocationChanged (Location1 As Location)
|
|||||||
If LA_GEO.IsInitialized Then LA_GEO.Text= $"$1.2{distance/1000} kms"$
|
If LA_GEO.IsInitialized Then LA_GEO.Text= $"$1.2{distance/1000} kms"$
|
||||||
|
|
||||||
' If distance > 100 Then ToastMessageShow("Fuera de rango GPS", False)
|
' If distance > 100 Then ToastMessageShow("Fuera de rango GPS", False)
|
||||||
|
|
||||||
|
|
||||||
B4XPages.MainPage.skmt.ExecNonQuery("DELETE FROM HIST_GPS")
|
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))
|
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))
|
||||||
CallSubDelayed(Tracker, "CreateLocationRequestSmallD")
|
' CallSubDelayed(Tracker, "CreateLocationRequestSmallD")
|
||||||
|
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Private Sub p_pideGeoPass_Click
|
Private Sub p_pideGeoPass_Click
|
||||||
|
|||||||
@@ -129,26 +129,21 @@ Sub B4XPage_Appear
|
|||||||
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"))
|
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)
|
LogColor(s3.RowCount,Colors.Yellow)
|
||||||
If s3.RowCount > 0 Then
|
If s3.RowCount > 0 Then
|
||||||
|
|
||||||
Private s As Cursor=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"))
|
Private s As Cursor=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
|
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"))
|
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"))
|
||||||
s5.Position = 0
|
s5.Position = 0
|
||||||
|
|
||||||
|
|
||||||
L_TOTAL.Text =NumberFormat2(s.GetString("TOTAL_CLIE") + s5.GetString("TOTAL_CLIE"),0,2,2,True)
|
L_TOTAL.Text =NumberFormat2(s.GetString("TOTAL_CLIE") + s5.GetString("TOTAL_CLIE"),0,2,2,True)
|
||||||
|
|
||||||
s.Close
|
s.Close
|
||||||
|
|
||||||
|
|
||||||
Else If s3.RowCount = 0 Then
|
Else If s3.RowCount = 0 Then
|
||||||
Private s As Cursor=B4XPages.MainPage.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)")
|
Private s As Cursor=B4XPages.MainPage.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)")
|
||||||
s.Position=0
|
s.Position=0
|
||||||
|
|
||||||
L_TOTAL.Text =NumberFormat2(s.GetString("TOTAL_CLIE"),0,2,2,True)
|
L_TOTAL.Text =NumberFormat2(s.GetString("TOTAL_CLIE"),0,2,2,True)
|
||||||
|
|
||||||
s.Close
|
s.Close
|
||||||
End If
|
End If
|
||||||
|
' *************************************************
|
||||||
|
L_TOTAL.text = Subs.calculaTotalConPromoXRango
|
||||||
|
' *************************************************
|
||||||
'AQUI TERMINA
|
'AQUI TERMINA
|
||||||
|
|
||||||
End If
|
End If
|
||||||
|
|||||||
@@ -89,7 +89,6 @@ Sub GPS_LocationChanged (Location1 As Location)
|
|||||||
If GUARDA.IsInitialized Then
|
If GUARDA.IsInitialized Then
|
||||||
GUARDA.Visible = True 'Si hay ubicaccion, mostramos el boton de guardar.
|
GUARDA.Visible = True 'Si hay ubicaccion, mostramos el boton de guardar.
|
||||||
l_sinUbicacion.Visible = True
|
l_sinUbicacion.Visible = True
|
||||||
|
|
||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
Log("CAMBIE")
|
Log("CAMBIE")
|
||||||
@@ -100,10 +99,8 @@ Sub GPS_LocationChanged (Location1 As Location)
|
|||||||
lat = Location1.Latitude
|
lat = Location1.Latitude
|
||||||
lon = Location1.Longitude
|
lon = Location1.Longitude
|
||||||
l_sinUbicacion.Text = ("Latitud: " & lat & ", Longotud: "& lon)
|
l_sinUbicacion.Text = ("Latitud: " & lat & ", Longotud: "& lon)
|
||||||
|
|
||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
|
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Sub CANCELA_Click
|
Sub CANCELA_Click
|
||||||
|
|||||||
@@ -2811,7 +2811,8 @@ Sub resdia_Click
|
|||||||
|
|
||||||
' l_ru_pri.Text = NumberFormat2(s.GetString("TOTAL_CLIE") + s5.GetString("TOTAL_CLIE"),0,2,2,False)
|
' l_ru_pri.Text = NumberFormat2(s.GetString("TOTAL_CLIE") + s5.GetString("TOTAL_CLIE"),0,2,2,False)
|
||||||
|
|
||||||
L_REAL.Text =NumberFormat2(s.GetString("TOTAL_CLIE") + s5.GetString("TOTAL_CLIE"),0,2,2,False)
|
' L_REAL.Text =NumberFormat2(s.GetString("TOTAL_CLIE") + s5.GetString("TOTAL_CLIE"),0,2,2,False)
|
||||||
|
L_REAL.Text = Subs.calculaTotalConPromoXRango
|
||||||
s.Close
|
s.Close
|
||||||
|
|
||||||
Else If s3.RowCount = 0 Then
|
Else If s3.RowCount = 0 Then
|
||||||
@@ -2820,11 +2821,12 @@ Sub resdia_Click
|
|||||||
|
|
||||||
' l_ru_pri.Text =NumberFormat2(s.GetString("TOTAL_CLIE"),0,2,2,False)
|
' l_ru_pri.Text =NumberFormat2(s.GetString("TOTAL_CLIE"),0,2,2,False)
|
||||||
|
|
||||||
L_REAL.Text =NumberFormat2(s.GetString("TOTAL_CLIE"),0,2,2,False)
|
' L_REAL.Text = NumberFormat2(s.GetString("TOTAL_CLIE"),0,2,2,False)
|
||||||
|
L_REAL.Text = Subs.calculaTotalConPromoXRango
|
||||||
|
|
||||||
s.Close
|
s.Close
|
||||||
End If
|
End If
|
||||||
|
|
||||||
'Prueba0
|
'Prueba0
|
||||||
Private ru_o As Cursor = B4XPages.MainPage.skmt.ExecQuery2("SELECT IFNULL(PE_RUTA, 0) AS PE_RUTA, IFNULL(SUM(PE_COSTO_TOT), 0) AS TOTAL_CLIE FROM PEDIDO LEFT JOIN RUTA_SUPLENCIA ON PE_RUTA = RS_RUTA WHERE RS_RUTA IS NULL", Null)
|
Private ru_o As Cursor = B4XPages.MainPage.skmt.ExecQuery2("SELECT IFNULL(PE_RUTA, 0) AS PE_RUTA, IFNULL(SUM(PE_COSTO_TOT), 0) AS TOTAL_CLIE FROM PEDIDO LEFT JOIN RUTA_SUPLENCIA ON PE_RUTA = RS_RUTA WHERE RS_RUTA IS NULL", Null)
|
||||||
ru_o.Position=0
|
ru_o.Position=0
|
||||||
@@ -2834,7 +2836,8 @@ Sub resdia_Click
|
|||||||
Else if ru_o.RowCount >=1 Then
|
Else if ru_o.RowCount >=1 Then
|
||||||
Private rutOr As String = ru_o.GetString("PE_RUTA")
|
Private rutOr As String = ru_o.GetString("PE_RUTA")
|
||||||
Label2.Text = "Ruta " & rutOr
|
Label2.Text = "Ruta " & rutOr
|
||||||
l_ru_pri.Text = NumberFormat2(ru_o.GetDouble("TOTAL_CLIE"), 0, 2, 2, False)
|
' l_ru_pri.Text = NumberFormat2(ru_o.GetDouble("TOTAL_CLIE"), 0, 2, 2, False)
|
||||||
|
l_ru_pri.Text = Subs.calculaTotalConPromoXRango
|
||||||
End If
|
End If
|
||||||
ru_o.Close
|
ru_o.Close
|
||||||
|
|
||||||
|
|||||||
@@ -1211,6 +1211,9 @@ Sub b_terminar1_Click
|
|||||||
' r.Close
|
' r.Close
|
||||||
End If
|
End If
|
||||||
c_prods.Close
|
c_prods.Close
|
||||||
|
|
||||||
|
l_total2.Text = Subs.calculaTotalConPromoXRango
|
||||||
|
|
||||||
' BUSCA.Text = ""
|
' BUSCA.Text = ""
|
||||||
p_vistaPreviaTrans.Width = Root.Width
|
p_vistaPreviaTrans.Width = Root.Width
|
||||||
p_vistaPreviaTrans.Height = Root.Height
|
p_vistaPreviaTrans.Height = Root.Height
|
||||||
|
|||||||
@@ -54,7 +54,7 @@ Private Sub B4XPage_Created (Root1 As B4XView)
|
|||||||
ListView1.TwoLinesLayout.ItemHeight = 95dip
|
ListView1.TwoLinesLayout.ItemHeight = 95dip
|
||||||
Label1.Typeface = Typeface.CreateNew(Typeface.DEFAULT_BOLD, Typeface.STYLE_BOLD)
|
Label1.Typeface = Typeface.CreateNew(Typeface.DEFAULT_BOLD, Typeface.STYLE_BOLD)
|
||||||
label2.Typeface = Typeface.CreateNew(Typeface.DEFAULT_BOLD, Typeface.STYLE_BOLD)
|
label2.Typeface = Typeface.CreateNew(Typeface.DEFAULT_BOLD, Typeface.STYLE_BOLD)
|
||||||
ListView1.AddTwoLines(c.GetString("PC_CLIENTE"),"Cantidad #"& c.GetString("PC_NOART")& " SubTotal $"& c.GetString("PC_MONTO"))
|
ListView1.AddTwoLines(c.GetString("PC_CLIENTE"),"Cantidad #"& c.GetString("PC_NOART")& " SubTotal $"& Subs.calculaTotalConPromoXRango)
|
||||||
Next
|
Next
|
||||||
End If
|
End If
|
||||||
End Sub
|
End Sub
|
||||||
@@ -104,13 +104,9 @@ Sub B4XPage_Appear
|
|||||||
ListView1.TwoLinesLayout.ItemHeight = 95dip
|
ListView1.TwoLinesLayout.ItemHeight = 95dip
|
||||||
label1.Typeface = Typeface.CreateNew(Typeface.DEFAULT_BOLD, Typeface.STYLE_BOLD)
|
label1.Typeface = Typeface.CreateNew(Typeface.DEFAULT_BOLD, Typeface.STYLE_BOLD)
|
||||||
label2.Typeface = Typeface.CreateNew(Typeface.DEFAULT_BOLD, Typeface.STYLE_BOLD)
|
label2.Typeface = Typeface.CreateNew(Typeface.DEFAULT_BOLD, Typeface.STYLE_BOLD)
|
||||||
ListView1.AddTwoLines(c.GetString("PC_CLIENTE"),c.GetString("NOMBRE") &" Cantidad #"& (s.GetString("CANT_CLIE") + s5.GetString("CANT_CLIE")) & " SubTotal $"& NumberFormat2(s.GetString("TOTAL_CLIE") + s5.GetString("TOTAL_CLIE"),0,2,2,True))
|
' ListView1.AddTwoLines(c.GetString("PC_CLIENTE"),c.GetString("NOMBRE") &" Cantidad #"& (s.GetString("CANT_CLIE") + s5.GetString("CANT_CLIE")) & " SubTotal $"& NumberFormat2(s.GetString("TOTAL_CLIE") + s5.GetString("TOTAL_CLIE"),0,2,2,True))
|
||||||
|
ListView1.AddTwoLines(c.GetString("PC_CLIENTE"),c.GetString("NOMBRE") &" Cantidad #"& (s.GetString("CANT_CLIE") + s5.GetString("CANT_CLIE")) & " SubTotal $"& Subs.calculaTotalConPromoXRango)
|
||||||
|
|
||||||
|
|
||||||
s.Close
|
s.Close
|
||||||
|
|
||||||
|
|
||||||
Else If s3.RowCount = 0 Then
|
Else If s3.RowCount = 0 Then
|
||||||
Private s As Cursor=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 = ?", Array As String(C.GetString("PC_CLIENTE")))
|
Private s As Cursor=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 = ?", Array As String(C.GetString("PC_CLIENTE")))
|
||||||
s.Position=0
|
s.Position=0
|
||||||
@@ -129,16 +125,9 @@ Sub B4XPage_Appear
|
|||||||
ListView1.TwoLinesLayout.ItemHeight = 95dip
|
ListView1.TwoLinesLayout.ItemHeight = 95dip
|
||||||
label1.Typeface = Typeface.CreateNew(Typeface.DEFAULT_BOLD, Typeface.STYLE_BOLD)
|
label1.Typeface = Typeface.CreateNew(Typeface.DEFAULT_BOLD, Typeface.STYLE_BOLD)
|
||||||
label2.Typeface = Typeface.CreateNew(Typeface.DEFAULT_BOLD, Typeface.STYLE_BOLD)
|
label2.Typeface = Typeface.CreateNew(Typeface.DEFAULT_BOLD, Typeface.STYLE_BOLD)
|
||||||
ListView1.AddTwoLines(c.GetString("PC_CLIENTE"),c.GetString("NOMBRE") &" Cantidad #"& s.GetString("CANT_CLIE") & " SubTotal $"& NumberFormat2(s.GetString("TOTAL_CLIE"),0,2,2,True))
|
ListView1.AddTwoLines(c.GetString("PC_CLIENTE"),c.GetString("NOMBRE") &" Cantidad #"& s.GetString("CANT_CLIE") & " SubTotal $"& Subs.calculaTotalConPromoXRango)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
s.Close
|
s.Close
|
||||||
End If
|
End If
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Next
|
Next
|
||||||
End If
|
End If
|
||||||
c.Close
|
c.Close
|
||||||
@@ -215,10 +204,6 @@ Sub b_noventa_Click
|
|||||||
s.Position=0
|
s.Position=0
|
||||||
Private s5 As Cursor = B4XPages.MainPage.skmt.ExecQuery2("select iFNULL(sum(PE_RECALCULOTOT),0) as TOTAL_CLIE, IFNULL(SUM(PE_CANT),0) AS CANT_CLIE FROM PEDIDO WHERE PE_CLIENTE = ? and (PE_RECALCULO <> ? or PE_RECALCULO <> ? OR PE_RECALCULO IS NOT NULL) AND PE_PROID NOT IN (SELECT CAT_PA_ID FROM PROMOS_COMP)",Array As String(C.GetString("PC_CLIENTE"),"","null"))
|
Private s5 As Cursor = B4XPages.MainPage.skmt.ExecQuery2("select iFNULL(sum(PE_RECALCULOTOT),0) as TOTAL_CLIE, IFNULL(SUM(PE_CANT),0) AS CANT_CLIE FROM PEDIDO WHERE PE_CLIENTE = ? and (PE_RECALCULO <> ? or PE_RECALCULO <> ? OR PE_RECALCULO IS NOT NULL) AND PE_PROID NOT IN (SELECT CAT_PA_ID FROM PROMOS_COMP)",Array As String(C.GetString("PC_CLIENTE"),"","null"))
|
||||||
s5.Position = 0
|
s5.Position = 0
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Dim label1 As Label
|
Dim label1 As Label
|
||||||
label1 = ListView1.TwoLinesLayout.Label
|
label1 = ListView1.TwoLinesLayout.Label
|
||||||
label1.TextSize = 20
|
label1.TextSize = 20
|
||||||
@@ -233,13 +218,9 @@ Sub b_noventa_Click
|
|||||||
ListView1.TwoLinesLayout.ItemHeight = 95dip
|
ListView1.TwoLinesLayout.ItemHeight = 95dip
|
||||||
label1.Typeface = Typeface.CreateNew(Typeface.DEFAULT_BOLD, Typeface.STYLE_BOLD)
|
label1.Typeface = Typeface.CreateNew(Typeface.DEFAULT_BOLD, Typeface.STYLE_BOLD)
|
||||||
label2.Typeface = Typeface.CreateNew(Typeface.DEFAULT_BOLD, Typeface.STYLE_BOLD)
|
label2.Typeface = Typeface.CreateNew(Typeface.DEFAULT_BOLD, Typeface.STYLE_BOLD)
|
||||||
ListView1.AddTwoLines(c.GetString("PC_CLIENTE"),c.GetString("NOMBRE") &" Cantidad #"& (s.GetString("CANT_CLIE") + s5.GetString("CANT_CLIE")) & " SubTotal $"& NumberFormat2(s.GetString("TOTAL_CLIE") + s5.GetString("TOTAL_CLIE"),0,2,2,True))
|
' ListView1.AddTwoLines(c.GetString("PC_CLIENTE"),c.GetString("NOMBRE") &" Cantidad #"& (s.GetString("CANT_CLIE") + s5.GetString("CANT_CLIE")) & " SubTotal $"& NumberFormat2(s.GetString("TOTAL_CLIE") + s5.GetString("TOTAL_CLIE"),0,2,2,True))
|
||||||
|
ListView1.AddTwoLines(c.GetString("PC_CLIENTE"),c.GetString("NOMBRE") &" Cantidad #"& (s.GetString("CANT_CLIE") + s5.GetString("CANT_CLIE")) & " SubTotal $"& Subs.calculaTotalConPromoXRango)
|
||||||
|
|
||||||
|
|
||||||
s.Close
|
s.Close
|
||||||
|
|
||||||
|
|
||||||
Else If s3.RowCount = 0 Then
|
Else If s3.RowCount = 0 Then
|
||||||
Private s As Cursor=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 = ?", Array As String(C.GetString("PC_CLIENTE")))
|
Private s As Cursor=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 = ?", Array As String(C.GetString("PC_CLIENTE")))
|
||||||
s.Position=0
|
s.Position=0
|
||||||
@@ -258,7 +239,7 @@ Sub b_noventa_Click
|
|||||||
ListView1.TwoLinesLayout.ItemHeight = 95dip
|
ListView1.TwoLinesLayout.ItemHeight = 95dip
|
||||||
label1.Typeface = Typeface.CreateNew(Typeface.DEFAULT_BOLD, Typeface.STYLE_BOLD)
|
label1.Typeface = Typeface.CreateNew(Typeface.DEFAULT_BOLD, Typeface.STYLE_BOLD)
|
||||||
label2.Typeface = Typeface.CreateNew(Typeface.DEFAULT_BOLD, Typeface.STYLE_BOLD)
|
label2.Typeface = Typeface.CreateNew(Typeface.DEFAULT_BOLD, Typeface.STYLE_BOLD)
|
||||||
ListView1.AddTwoLines(c.GetString("PC_CLIENTE"),c.GetString("NOMBRE") &" Cantidad #"& s.GetString("CANT_CLIE") & " SubTotal $"& NumberFormat2(s.GetString("TOTAL_CLIE"),0,2,2,True))
|
ListView1.AddTwoLines(c.GetString("PC_CLIENTE"),c.GetString("NOMBRE") &" Cantidad #"& s.GetString("CANT_CLIE") & " SubTotal $"& Subs.calculaTotalConPromoXRango)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -66,7 +66,7 @@ ModuleClosedNodes12=
|
|||||||
ModuleClosedNodes13=
|
ModuleClosedNodes13=
|
||||||
ModuleClosedNodes14=
|
ModuleClosedNodes14=
|
||||||
ModuleClosedNodes15=
|
ModuleClosedNodes15=
|
||||||
ModuleClosedNodes16=
|
ModuleClosedNodes16=1
|
||||||
ModuleClosedNodes17=
|
ModuleClosedNodes17=
|
||||||
ModuleClosedNodes18=
|
ModuleClosedNodes18=
|
||||||
ModuleClosedNodes19=
|
ModuleClosedNodes19=
|
||||||
@@ -88,6 +88,6 @@ ModuleClosedNodes6=
|
|||||||
ModuleClosedNodes7=6,8,9,10,11
|
ModuleClosedNodes7=6,8,9,10,11
|
||||||
ModuleClosedNodes8=
|
ModuleClosedNodes8=
|
||||||
ModuleClosedNodes9=
|
ModuleClosedNodes9=
|
||||||
NavigationStack=C_Principal,JobDone,1463,0,B4XMainPage,B4XPage_Created,206,0,C_Cliente,Class_Globals,464,0,C_Cliente,B4XPage_Created,483,0,C_Principal,cargar_Click,1142,0,C_Cliente,B4XPage_Appear,1263,6,C_Cliente,gest_Click,1899,0,C_Cliente,compra,2036,0,Diseñador Visual,cliente.bal,-100,6,C_Cliente,Cuestionario,5242,0
|
NavigationStack=C_Productos,b_aceptar_Click,1329,0,C_TicketsDia,Class_Globals,10,0,C_TicketsDia,B4XPage_Created,50,0,C_TicketsDia,B4XPage_Appear,101,0,C_TicketsDia,b_noventa_Click,215,0,Diseñador Visual,ticketsdia.bal,-100,2,C_Principal,Class_Globals,0,0,C_Principal,B4XPage_Created,251,0,Diseñador Visual,resdia.bal,-100,2,C_Principal,resdia_Click,2819,0
|
||||||
SelectedBuild=0
|
SelectedBuild=0
|
||||||
VisibleModules=27,2,16,28,5,12,13,22,21,18
|
VisibleModules=27,2,16,28,5,12,13,22,18,17,14,29,19
|
||||||
|
|||||||
35
B4A/Subs.bas
35
B4A/Subs.bas
@@ -2222,4 +2222,39 @@ Sub alcanzanLosVariablesParaPromo(promoMap As Map, inventarioSinFijos As Map) As
|
|||||||
End If
|
End If
|
||||||
' Log(res)
|
' Log(res)
|
||||||
Return res
|
Return res
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
'Calcula el total de pedido tomando en cuenta si hay productos con promos por rango.
|
||||||
|
Sub calculaTotalConPromoXRango As String
|
||||||
|
' caso 1 pe_recant = Null
|
||||||
|
' monto del pedido = pe_costo_tot
|
||||||
|
' caso 2 pe_recant = pe_cant (solo prods dentro de rango)
|
||||||
|
' monto del pedido = pe_recalculotot
|
||||||
|
' caso 3 pe_recant <> pe_cant (hay prod dentro de rango y producto extra
|
||||||
|
' monto del pedido = ((pe_cant - pe_reccant) * pe_costou) + pe_recalculotot
|
||||||
|
Log("888888888888")
|
||||||
|
Private totalParcial As String = 0
|
||||||
|
Private total As String = 0
|
||||||
|
Private cx As Cursor = Starter.skmt.ExecQuery($"select *, ifnull(pe_reccant, 'N') as RECANT from pedido where pe_cliente = '${traeCliente}'"$)
|
||||||
|
If cx.RowCount > 0 Then
|
||||||
|
For i = 0 To cx.RowCount - 1
|
||||||
|
Log("999999999999999999999999999999999999")
|
||||||
|
cx.Position = i
|
||||||
|
Log("***************************************")
|
||||||
|
If cx.getstring("RECANT") = "N" Then ' Sin productos dentro de rango.
|
||||||
|
totalParcial = cx.getstring("PE_COSTO_TOT")
|
||||||
|
else if cx.getstring("RECANT") = cx.getstring("PE_CANT") Then ' Solo productos dentro de rango.
|
||||||
|
totalParcial = cx.getstring("PE_RECALCULOTOT")
|
||||||
|
Else ' hay productos dentro de rango y productos arriba del rango.
|
||||||
|
totalParcial = ((cx.getstring("PE_CANT") - cx.getstring("PE_RECCANT")) * cx.getstring("PE_COSTOU")) + (cx.getstring("PE_RECALCULO") * cx.getstring("PE_RECCANT"))
|
||||||
|
Log($"${((cx.getstring("PE_CANT") - cx.getstring("PE_RECCANT")) * cx.getstring("PE_COSTOU"))} + ${(cx.getstring("PE_RECALCULO") * cx.getstring("PE_RECCANT"))} "$)
|
||||||
|
End If
|
||||||
|
Log($"Total:${total} + Total Parcial: ${totalParcial}"$)
|
||||||
|
total = total + totalParcial
|
||||||
|
Next
|
||||||
|
End If
|
||||||
|
cx.Close
|
||||||
|
total = NumberFormat2(total, 1, 2, 2, False)
|
||||||
|
Log($"Total con promocXrango = ${total}"$)
|
||||||
|
Return total
|
||||||
End Sub
|
End Sub
|
||||||
@@ -491,7 +491,7 @@ End Sub
|
|||||||
|
|
||||||
Sub flp_LocationChanged (Location1 As Location)
|
Sub flp_LocationChanged (Location1 As Location)
|
||||||
' ToastMessageShow("Loc changed", False)
|
' ToastMessageShow("Loc changed", False)
|
||||||
' Log($"Loc changed:${Location1.Longitude},${Location1.Latitude}"$)
|
Log($"Loc changed:${Location1.Longitude},${Location1.Latitude}"$)
|
||||||
B4XPages.MainPage.lat_gps = Location1.Latitude
|
B4XPages.MainPage.lat_gps = Location1.Latitude
|
||||||
B4XPages.MainPage.lon_gps = Location1.Longitude
|
B4XPages.MainPage.lon_gps = Location1.Longitude
|
||||||
UUGCoords = Location1
|
UUGCoords = Location1
|
||||||
|
|||||||
Reference in New Issue
Block a user