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.ExecNonQuery("CREATE TABLE IF NOT EXISTS IMPRESORA (HABILITADA)")
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 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)")

View File

@@ -746,6 +746,10 @@ Sub B4XPage_Appear
Else
End If
End If
If ALMACEN = 87 Or ALMACEN = 6 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)
@@ -782,7 +786,7 @@ Sub B4XPage_Appear
LogColor(recalculo,Colors.Blue)
Private recalculototal As Float = c4.GetString("PE_CANT") * NumberFormat2(recalculo,0,2,2,False)
' 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
End If
c4.Close
@@ -803,7 +807,7 @@ Sub B4XPage_Appear
LogColor(recalculo,Colors.Blue)
Private recalculototal As Float = c4.GetString("PE_CANT") * NumberFormat2(recalculo,0,2,2,False)
' 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
End If
c4.Close
@@ -816,21 +820,99 @@ Sub B4XPage_Appear
c.Close
c2.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
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 c4.RowCount > 0 Then
For i = 0 To c4.RowCount -1
c4.Position = i
If Not(Subs.traemontoprod) Then
If Not(Subs.traemontoprod2) 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 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)
' Private recalculototal As Float = c4.GetString("PE_CANT") * NumberFormat2(recalculo,0,2,2,False)
' 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")))
Next
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
End If
Else
End If
Else
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)

View File

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

View File

@@ -82,6 +82,6 @@ ModuleClosedNodes6=
ModuleClosedNodes7=5,6,8,9,10,11
ModuleClosedNodes8=
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
VisibleModules=25,2,14,26,5,10,15,20,4

View File

@@ -1241,6 +1241,26 @@ Sub TraeMontoProd As Boolean
Return x
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
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)"$)