This commit is contained in:
cvaldes1201
2025-02-17 16:39:25 -06:00
parent 98bb3d5eb7
commit b6cb802c2c
5 changed files with 114 additions and 11 deletions

View File

@@ -148,6 +148,7 @@ Private Sub B4XPage_Created (Root1 As B4XView)
skmt.Initialize(File.DirInternal,"kmt.db", True) skmt.Initialize(File.DirInternal,"kmt.db", True)
skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS IMPRESORA (HABILITADA)") skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS IMPRESORA (HABILITADA)")
skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS GPS (HABILITADO)") 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)") skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS PROMO_ESP (HVD_CLIENTE)")
skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS CAT_PROMO_ESP(CAT_PE_ID TEXT,CAT_PE_IDPROMO TEXT,CAT_PE_MONTO TEXT)") skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS CAT_PROMO_ESP(CAT_PE_ID TEXT,CAT_PE_IDPROMO TEXT,CAT_PE_MONTO TEXT)")
skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS HIST_CUOTAS (HC_META6 TEXT, HC_META5 TEXT, HC_META4 TEXT, HC_META3 TEXT, HC_META2 TEXT, HC_META1 TEXT, HC_RUTA TEXT, HC_CUOTA1 TEXT, HC_CUOTA2 TEXT, HC_CUOTA3 TEXT, HC_CUOTA4 TEXT, HC_CUOTA5 TEXT, HC_CUOTA6 TEXT)") skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS HIST_CUOTAS (HC_META6 TEXT, HC_META5 TEXT, HC_META4 TEXT, HC_META3 TEXT, HC_META2 TEXT, HC_META1 TEXT, HC_RUTA TEXT, HC_CUOTA1 TEXT, HC_CUOTA2 TEXT, HC_CUOTA3 TEXT, HC_CUOTA4 TEXT, HC_CUOTA5 TEXT, HC_CUOTA6 TEXT)")

View File

@@ -746,6 +746,10 @@ Sub B4XPage_Appear
Else Else
End If End If
End If End If
If ALMACEN = 87 Or ALMACEN = 6 Then If ALMACEN = 87 Or ALMACEN = 6 Then
If Subs.traemontoprod And Subs.traeCliente <> "0" Then If Subs.traemontoprod And Subs.traeCliente <> "0" Then
Msgbox2Async("El cliente tiene derecho a un descuento de 150 pesos por la compra de mas de $500 en productos participantes" , "Descuento disponible", "Aceptar", "", "", LoadBitmap(File.DirAssets,"alert2.png"), False) Msgbox2Async("El cliente tiene derecho a un descuento de 150 pesos por la compra de mas de $500 en productos participantes" , "Descuento disponible", "Aceptar", "", "", LoadBitmap(File.DirAssets,"alert2.png"), False)
@@ -782,7 +786,7 @@ Sub B4XPage_Appear
LogColor(recalculo,Colors.Blue) LogColor(recalculo,Colors.Blue)
Private recalculototal As Float = c4.GetString("PE_CANT") * NumberFormat2(recalculo,0,2,2,False) Private recalculototal As Float = c4.GetString("PE_CANT") * NumberFormat2(recalculo,0,2,2,False)
' Log(recalculo&"|||||"&recalculototal) ' Log(recalculo&"|||||"&recalculototal)
B4XPages.MainPage.skmt.ExecNonQuery2("UPDATE PEDIDO set PE_RECALCULO = ?, PE_RECALCULOTOT = ? WHERE PE_CLIENTE IN (SELECT CUENTA FROM CUENTAA) AND PE_PROID = ? ",Array As String(NumberFormat2(recalculo,0,2,2,False) ,NumberFormat2(recalculototal,0,2,2,False), c4.GetString("PE_PROID"))) skmt.ExecNonQuery2("UPDATE PEDIDO set PE_RECALCULO = ?, PE_RECALCULOTOT = ? 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), c4.GetString("PE_PROID")))
Next Next
End If End If
c4.Close c4.Close
@@ -803,7 +807,7 @@ Sub B4XPage_Appear
LogColor(recalculo,Colors.Blue) LogColor(recalculo,Colors.Blue)
Private recalculototal As Float = c4.GetString("PE_CANT") * NumberFormat2(recalculo,0,2,2,False) Private recalculototal As Float = c4.GetString("PE_CANT") * NumberFormat2(recalculo,0,2,2,False)
' Log(recalculo&"|||||"&recalculototal) ' Log(recalculo&"|||||"&recalculototal)
B4XPages.MainPage.skmt.ExecNonQuery2("UPDATE PEDIDO set PE_RECALCULO = ?, PE_RECALCULOTOT = ? WHERE PE_CLIENTE IN (SELECT CUENTA FROM CUENTAA) AND PE_PROID = ? ",Array As String(NumberFormat2(recalculo,0,2,2,False) ,NumberFormat2(recalculototal,0,2,2,False), c4.GetString("PE_PROID"))) skmt.ExecNonQuery2("UPDATE PEDIDO set PE_RECALCULO = ?, PE_RECALCULOTOT = ? 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), c4.GetString("PE_PROID")))
Next Next
End If End If
c4.Close c4.Close
@@ -816,21 +820,99 @@ Sub B4XPage_Appear
c.Close c.Close
c2.Close c2.Close
c3.Close c3.Close
Else If Subs.traemontoprod2 And Subs.traeCliente <> "0" Then
Msgbox2Async("El cliente tiene derecho a un descuento de 70 pesos por la compra de mas de $300 en productos participantes" , "Descuento disponible", "Aceptar", "", "", LoadBitmap(File.DirAssets,"alert2.png"), False)
Wait For Msgbox_Result (resultado As Int)
If resultado = DialogResponse.POSITIVE Then
Private c As Cursor = B4XPages.MainPage.skmt.ExecQuery("SELECT SUM(PE_CANT) AS PIEZAS FROM PEDIDO JOIN CAT_PROMO_ESP ON CAT_PE_ID = PE_PROID WHERE PE_CLIENTE IN (Select CUENTA FROM CUENTAA)")
If c.RowCount > 0 Then
c.Position = 0
Private des As Float = NumberFormat2(70/c.GetString("PIEZAS"),0,2,2,False)
Log( NumberFormat2(des,0,2,2,False))
Private c2 As Cursor = B4XPages.MainPage.skmt.ExecQuery2("SELECT Ifnull(SUM(PE_CANT),0) AS PE_CANT FROM PEDIDO JOIN CAT_PROMO_ESP ON CAT_PE_ID = PE_PROID WHERE PE_CLIENTE IN (Select CUENTA FROM CUENTAA) AND PE_COSTOU < ?",Array As String(des))
If c2.RowCount > 0 Then
c2.Position = 0
Log(c2.GetString("PE_CANT"))
End If
Private c3 As Cursor = B4XPages.MainPage.skmt.ExecQuery2("SELECT SUM(PE_CANT) AS PE_CANT FROM PEDIDO JOIN CAT_PROMO_ESP ON CAT_PE_ID = PE_PROID WHERE PE_CLIENTE IN (Select CUENTA FROM CUENTAA) AND PE_COSTOU >= ?",Array As String(des))
If c3.RowCount > 0 Then
c3.Position = 0
Log(c3.GetString("PE_CANT"))
Private rec As Float = (des * c2.GetString("PE_CANT"))/c3.GetString("PE_CANT")
Log( NumberFormat2(rec,0,2,2,False))
Private cantres As Float = des + rec
Log( NumberFormat2(cantres,0,2,2,False))
Private c5 As Cursor = B4XPages.MainPage.skmt.ExecQuery2("SELECT Ifnull(SUM(PE_CANT),0) AS PE_CANT FROM PEDIDO JOIN CAT_PROMO_ESP ON CAT_PE_ID = PE_PROID WHERE PE_CLIENTE IN (Select CUENTA FROM CUENTAA) AND PE_COSTOU > ? and PE_COSTOU < ?",Array As String(des, cantres))
If c5.RowCount > 0 Then
c5.Position = 0
Log(c5.GetString("PE_CANT"))
If c5.GetString("PE_CANT") = "0" Then
Private c4 As Cursor = B4XPages.MainPage.skmt.ExecQuery2("SELECT * FROM PEDIDO JOIN CAT_PROMO_ESP ON CAT_PE_ID = PE_PROID WHERE PE_CLIENTE IN (Select CUENTA FROM CUENTAA) AND PE_COSTOU >= ?",Array As String(NumberFormat2(cantres,0,2,2,False)))
If c4.RowCount > 0 Then
For i = 0 To c4.RowCount -1
c4.Position = i
Private recalculo As Float = c4.GetString("PE_COSTOU") - NumberFormat2(cantres,0,2,2,False)
LogColor(recalculo,Colors.Blue)
Private recalculototal As Float = c4.GetString("PE_CANT") * NumberFormat2(recalculo,0,2,2,False)
Log(recalculo&"|||||"&recalculototal&"|||||||||||||||||||"&c4.GetString("PE_PROID"))
skmt.ExecNonQuery2("UPDATE PEDIDO set PE_RECALCULO = ?, PE_RECALCULOTOT = ? 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), c4.GetString("PE_PROID")))
Next
End If
c4.Close
Else
Private c6 As Cursor = B4XPages.MainPage.skmt.ExecQuery2("SELECT SUM(PE_CANT) AS PE_CANT FROM PEDIDO JOIN CAT_PROMO_ESP ON CAT_PE_ID = PE_PROID WHERE PE_CLIENTE IN (Select CUENTA FROM CUENTAA) AND PE_COSTOU >= ?",Array As String(cantres))
If c6.RowCount > 0 Then
c6.Position = 0
Log(c6.GetString("PE_CANT"))
Private rec1 As Float = (cantres * c5.GetString("PE_CANT"))/c6.GetString("PE_CANT")
Log( NumberFormat2(rec1,0,2,2,False))
Private cantres1 As Float = cantres + rec1
Log( NumberFormat2(cantres1,0,2,2,False))
Private c4 As Cursor = B4XPages.MainPage.skmt.ExecQuery2("SELECT * FROM PEDIDO JOIN CAT_PROMO_ESP ON CAT_PE_ID = PE_PROID WHERE PE_CLIENTE IN (Select CUENTA FROM CUENTAA) AND PE_COSTOU >= ?",Array As String(NumberFormat2(cantres1,0,2,2,False)))
If c4.RowCount > 0 Then
For i = 0 To c4.RowCount -1
c4.Position = i
Private recalculo As Float = c4.GetString("PE_COSTOU") - NumberFormat2(cantres1,0,2,2,False)
LogColor(recalculo,Colors.Blue)
Private recalculototal As Float = c4.GetString("PE_CANT") * NumberFormat2(recalculo,0,2,2,False)
' Log(recalculo&"|||||"&recalculototal)
skmt.ExecNonQuery2("UPDATE PEDIDO set PE_RECALCULO = ?, PE_RECALCULOTOT = ? 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), c4.GetString("PE_PROID")))
Next
End If
c4.Close
End If
End If
End If
End If
End If
End If
c.Close
c2.Close
c3.Close
End If End If
If Not(Subs.traemontoprod) Then If Not(Subs.traemontoprod) Then
Private c4 As Cursor = B4XPages.MainPage.skmt.ExecQuery2("SELECT * FROM PEDIDO JOIN CAT_PROMO_ESP ON CAT_PE_ID = PE_PROID WHERE PE_CLIENTE IN (Select CUENTA FROM CUENTAA) AND (PE_RECALCULO <> ? OR PE_RECALCULO IS NOT NULL)",Array As String("null")) If Not(Subs.traemontoprod2) Then
If c4.RowCount > 0 Then Private c4 As Cursor = B4XPages.MainPage.skmt.ExecQuery2("SELECT * FROM PEDIDO JOIN CAT_PROMO_ESP ON CAT_PE_ID = PE_PROID WHERE PE_CLIENTE IN (Select CUENTA FROM CUENTAA) AND (PE_RECALCULO <> ? OR PE_RECALCULO IS NOT NULL)",Array As String("null"))
For i = 0 To c4.RowCount -1 If c4.RowCount > 0 Then
c4.Position = i For i = 0 To c4.RowCount -1
c4.Position = i
' Private recalculo As Float = c4.GetString("PE_COSTOU") - NumberFormat2(cantres,0,2,2,False) ' Private recalculo As Float = c4.GetString("PE_COSTOU") - NumberFormat2(cantres,0,2,2,False)
' Private recalculototal As Float = c4.GetString("PE_CANT") * NumberFormat2(recalculo,0,2,2,False) ' Private recalculototal As Float = c4.GetString("PE_CANT") * NumberFormat2(recalculo,0,2,2,False)
' Log(recalculo&"|||||"&recalculototal) ' Log(recalculo&"|||||"&recalculototal)
B4XPages.MainPage.skmt.ExecNonQuery2("UPDATE PEDIDO set PE_RECALCULO = ?, PE_RECALCULOTOT = ? WHERE PE_CLIENTE IN (SELECT CUENTA FROM CUENTAA) AND PE_PROID = ? ",Array As String("","",c4.GetString("PE_PROID"))) B4XPages.MainPage.skmt.ExecNonQuery2("UPDATE PEDIDO set PE_RECALCULO = ?, PE_RECALCULOTOT = ? WHERE PE_CLIENTE IN (SELECT CUENTA FROM CUENTAA) AND PE_PROID = ? ",Array As String("","",c4.GetString("PE_PROID")))
Next Next
End If
Else
End If End If
Else Else
End If End If
End If End If
'AQUI CAMBIAR '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")) 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)

View File

@@ -257,7 +257,7 @@ Version=12.8
#Region Project Attributes #Region Project Attributes
#ApplicationLabel: Guna Preventa #ApplicationLabel: Guna Preventa
#VersionCode: 1 #VersionCode: 1
#VersionName: 5.02.07 #VersionName: 5.02.10
'SupportedOrientations possible values: unspecified, landscape or portrait. 'SupportedOrientations possible values: unspecified, landscape or portrait.
#SupportedOrientations: portrait #SupportedOrientations: portrait
#CanInstallToExternalStorage: False #CanInstallToExternalStorage: False

View File

@@ -82,6 +82,6 @@ ModuleClosedNodes6=
ModuleClosedNodes7=5,6,8,9,10,11 ModuleClosedNodes7=5,6,8,9,10,11
ModuleClosedNodes8= ModuleClosedNodes8=
ModuleClosedNodes9= ModuleClosedNodes9=
NavigationStack=C_Principal,Class_Globals,0,0,C_Cliente,gest_Click,1346,6,Diseñador Visual,cliente.bal,-100,2,Diseñador Visual,nota (conflict 2022-07-08-00-16-40).bal,-100,1,Diseñador Visual,nota.bal,-100,2,C_Nota,Class_Globals,0,0,C_Cliente,Printer_Connected,2770,0,C_Cliente,B4XPage_Appear,700,0,C_Nota,borra_Click,155,0,C_Nota,ListView1_ItemLongClick,231,0 NavigationStack=C_Cliente,Printer_Connected,2770,0,C_Nota,borra_Click,155,0,C_Nota,ListView1_ItemLongClick,231,0,Subs,guardaAppInfo,1214,0,Subs,TraeMontoProd,1237,0,C_Principal,Class_Globals,0,0,Subs,TraeMontoProd2,1245,6,B4XMainPage,B4XPage_Created,144,0,C_Cliente,B4XPage_Appear,876,6,C_Cliente,GPS_LocationChanged,1081,0
SelectedBuild=0 SelectedBuild=0
VisibleModules=25,2,14,26,5,10,15,20,4 VisibleModules=25,2,14,26,5,10,15,20,4

View File

@@ -1241,6 +1241,26 @@ Sub TraeMontoProd As Boolean
Return x Return x
End Sub End Sub
Sub TraeMontoProd2 As Boolean
Private x As Boolean = False
Private c As Cursor = B4XPages.MainPage.skmt.ExecQuery("SELECT ifnull( SUM (PE_COSTO_TOT),0) As suma FROM PEDIDO JOIN CAT_PROMO_ESP ON CAT_PE_ID = PE_PROID WHERE PE_CLIENTE IN (Select CUENTA FROM CUENTAA)")
If c.RowCount > 0 Then
c.Position = 0
Private c2 As Cursor = B4XPages.MainPage.skmt.ExecQuery("SELECT DISTINCT CAT_PE_MONTO FROM CAT_PROMO_ESP")
If c2.RowCount > 0 Then
c2.Position = 0
If c.GetString("suma") >= 300 and c.GetString("suma") <= 499.99 Then
x = True
Else
x = False
' Log("Falso")
End If
End If
End If
Return x
End Sub
Sub InvSuficientePromoEsp As Boolean Sub InvSuficientePromoEsp As Boolean
Private y As Boolean = False Private y As Boolean = False
Private c As Cursor = B4XPages.MainPage.skmt.ExecQuery($"select CAT_DP_IDPROD, CAT_DP_PZAS, ifnull(CAT_GP_ALMACEN, 0) As CAT_GP_ALMACEN from CAT_DETALLES_PAQ left JOIN ${traeTablaProds(traeTipoVentaDeBD)} ON CAT_DP_IDPROD = CAT_GP_ID WHERE CAT_DP_ID IN (SELECT DISTINCT CAT_PE_IDPROMO FROM CAT_PROMO_ESP)"$) Private c As Cursor = B4XPages.MainPage.skmt.ExecQuery($"select CAT_DP_IDPROD, CAT_DP_PZAS, ifnull(CAT_GP_ALMACEN, 0) As CAT_GP_ALMACEN from CAT_DETALLES_PAQ left JOIN ${traeTablaProds(traeTipoVentaDeBD)} ON CAT_DP_IDPROD = CAT_GP_ID WHERE CAT_DP_ID IN (SELECT DISTINCT CAT_PE_IDPROMO FROM CAT_PROMO_ESP)"$)