12/1/24 - Cambios para la lista de precios de SuperQ

This commit is contained in:
2024-01-12 03:26:50 -06:00
parent b1251f0fd6
commit a49828711d
10 changed files with 152 additions and 75 deletions

View File

@@ -21,12 +21,14 @@ Sub Class_Globals
' Private mesEventName As String
Dim RD_Init_IsInitialized As Boolean = False
Dim btAdmin As BluetoothAdmin
Private khdb As SQL
End Sub
'Inicializa la clase "kms_helperSubs".
Public Sub Initialize (vCallback As Object, vEventName As String) As Object
Public Sub Initialize (vCallback As Object, vEventName As String, db As SQL) As Object
EventName = vEventName
CallBack = vCallback
khdb = db
Return Me
End Sub
@@ -278,10 +280,10 @@ Sub centraProgressBar(elemento As ProgressBar, anchoElementoSuperior As Int) 'ig
End Sub
'Regresa el usuario de la tabla USUARIOA, si no lo encuentra regresa "SinUsuario"
Sub traeUsuarioDeDB(db As SQL) As String 'ignore
Sub traeUsuarioDeDB As String 'ignore
Private c As Cursor
Private u As String = "SinUsuario"
c = db.ExecQuery("select USUARIO from usuarioa")
c = khdb.ExecQuery("select USUARIO from usuarioa")
c.Position=0
If c.RowCount > 0 Then u = c.GetString("USUARIO")
c.Close
@@ -289,10 +291,10 @@ Sub traeUsuarioDeDB(db As SQL) As String 'ignore
End Sub
'Regresa el almacen actual de la base de datos.
Sub traeAlmacen(db As SQL) As String 'ignore
Sub traeAlmacen As String 'ignore
Private c As Cursor
Private a As String
c = db.ExecQuery("select ID_ALMACEN from CAT_ALMACEN")
c = khdb.ExecQuery("select ID_ALMACEN from CAT_ALMACEN")
c.Position = 0
a = c.GetString("ID_ALMACEN")
c.Close
@@ -300,10 +302,10 @@ Sub traeAlmacen(db As SQL) As String 'ignore
End Sub
'Regresa el nombre del producto desde CAT_GUNAPROD.
Sub traeProdNombre(db As SQL, id As String) As String 'ignore
Sub traeProdNombre(id As String) As String 'ignore
Private h As Cursor
Private n As String
h = db.ExecQuery2("select CAT_GP_NOMBRE from CAT_GUNAPROD where CAT_GP_ID = ? ", Array As String(id.Trim))
h = khdb.ExecQuery2("select CAT_GP_NOMBRE from CAT_GUNAPROD where CAT_GP_ID = ? ", Array As String(id.Trim))
If h.RowCount > 0 Then
h.Position = 0
n = h.GetString("CAT_GP_NOMBRE")
@@ -316,10 +318,10 @@ Sub traeProdNombre(db As SQL, id As String) As String 'ignore
End Sub
'Regresa la ruta actual de la base de datos.
Sub traeRuta(db As SQL) As String 'ignore
Sub traeRuta As String 'ignore
Private c As Cursor
Private r As String
c = db.ExecQuery("select CAT_CL_RUTA from kmt_info where CAT_CL_CODIGO In (Select cuenta from cuentaa)")
c = khdb.ExecQuery("select CAT_CL_RUTA from kmt_info where CAT_CL_CODIGO In (Select cuenta from cuentaa)")
r = "0"
If c.RowCount > 0 Then
c.Position=0
@@ -330,10 +332,10 @@ Sub traeRuta(db As SQL) As String 'ignore
End Sub
'Regresa el cliente actual de la base de dtos (CUENTAA).
Sub traeCliente(db As SQL) As String 'ignore
Sub traeCliente As String 'ignore
Private c As Cursor
Private cl As String
c = db.ExecQuery("Select CUENTA from cuentaa")
c = khdb.ExecQuery("Select CUENTA from cuentaa")
c.Position=0
cl = c.GetString("CUENTA")
c.Close
@@ -342,10 +344,10 @@ End Sub
'Regresa en un mapa el total de productos y monto del pedido del cliente actual
'resultado = {"productos":"antidad_de_productos", "monto":"costo_total"}
Sub traeTotalesClienteActual(db As SQL) As Map 'ignore
Sub traeTotalesClienteActual As Map 'ignore
Private m As Map
m.Initialize
Private c_prodsX As Cursor = db.ExecQuery("select ifnull(sum(PE_CANT), 0) as cantProds, ifnull(sum(PE_COSTO_TOT), 0) as costoTotal FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) order by PE_PRONOMBRE asc")
Private c_prodsX As Cursor = khdb.ExecQuery("select ifnull(sum(PE_CANT), 0) as cantProds, ifnull(sum(PE_COSTO_TOT), 0) as costoTotal FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) order by PE_PRONOMBRE asc")
c_prodsX.Position = 0
' LogColor($"Productos de la orden: ${c_prodsX.GetString("cantProds")}, Total: ${c_prodsX.GetString("costoTotal")}"$, Colors.red)
m = CreateMap("productos": c_prodsX.GetString("cantProds"), "monto" : c_prodsX.GetString("costoTotal"))
@@ -355,27 +357,27 @@ End Sub
'Borra el pedido del cliente actual.
'Borra los registros de la tabla "PEDIDO" y "PEDIDO_CLIENTE"
'Actualiza las tablas "cat_gunaprod" y "kmt_info".
Sub borraPedidoClienteActual(db As SQL) As String 'ignore
Sub borraPedidoClienteActual As String 'ignore
Private thisC As Cursor
thisC = db.ExecQuery("select PE_PROID,PE_CANT FROM PEDIDO where pe_cliente in (Select CUENTA from cuentaa) ")
thisC = khdb.ExecQuery("select PE_PROID,PE_CANT FROM PEDIDO where pe_cliente in (Select CUENTA from cuentaa) ")
If thisC.RowCount>0 Then
For i=0 To thisC.RowCount -1
thisC.Position=i
db.ExecNonQuery2("update cat_gunaprod set cat_gp_almacen = cat_gp_almacen + ? where cat_gp_id = ?", Array As Object(thisC.GetString("PE_CANT"),thisC.GetString("PE_PROID")))
db.ExecNonQuery2("INSERT INTO INVENT_X_ENVIAR (ALMACEN , PROID , CANTIDAD ) VALUES(?,?,?) ", Array As Object (traeAlmacen(db), thisC.GetString("PE_PROID"),thisC.GetString("PE_CANT")* -1))
khdb.ExecNonQuery2("update cat_gunaprod set cat_gp_almacen = cat_gp_almacen + ? where cat_gp_id = ?", Array As Object(thisC.GetString("PE_CANT"),thisC.GetString("PE_PROID")))
khdb.ExecNonQuery2("INSERT INTO INVENT_X_ENVIAR (ALMACEN , PROID , CANTIDAD ) VALUES(?,?,?) ", Array As Object (traeAlmacen, thisC.GetString("PE_PROID"),thisC.GetString("PE_CANT")* -1))
Next
End If
db.ExecNonQuery("delete from pedido_cliente where pc_cliente in (Select CUENTA from cuentaa)")
db.ExecNonQuery("delete from pedido where pe_cliente in (Select CUENTA from cuentaa)")
db.ExecNonQuery("UPDATE kmt_info set gestion = 0 where CAT_CL_CODIGO In (select cuenta from cuentaa)")
khdb.ExecNonQuery("delete from pedido_cliente where pc_cliente in (Select CUENTA from cuentaa)")
khdb.ExecNonQuery("delete from pedido where pe_cliente in (Select CUENTA from cuentaa)")
khdb.ExecNonQuery("UPDATE kmt_info set gestion = 0 where CAT_CL_CODIGO In (select cuenta from cuentaa)")
Return 1
End Sub
'Regresa verdadero si la columna gestion en la tabla "kmt_info" tene valor 2.
'si no, entonces regresa falso.
Sub pedidoGuardado(db As SQL) As Boolean 'ignore
Sub pedidoGuardado As Boolean 'ignore
Private guardado As Boolean = False
Private g As Cursor = db.ExecQuery("select gestion from kmt_info where CAT_CL_CODIGO in (Select CUENTA from cuentaa)")
Private g As Cursor = khdb.ExecQuery("select gestion from kmt_info where CAT_CL_CODIGO in (Select CUENTA from cuentaa)")
If g.RowCount > 0 Then
g.Position=0
If g.GetString("gestion") = "2" Then guardado = True
@@ -385,8 +387,8 @@ Sub pedidoGuardado(db As SQL) As Boolean 'ignore
End Sub
'Regresa verdadero si hay pedido en la tabla "PEDIDO" del cliente actual.
Sub hayPedido(db As SQL) As Boolean 'ignore
Private thisC As Cursor = db.ExecQuery($"select count(PE_CLIENTE) as hayPedido from PEDIDO where PE_CLIENTE = '${traeCliente(db)}'"$)
Sub hayPedido As Boolean 'ignore
Private thisC As Cursor = khdb.ExecQuery($"select count(PE_CLIENTE) as hayPedido from PEDIDO where PE_CLIENTE = '${traeCliente}'"$)
thisC.Position = 0
Private hay As Boolean = False
If thisC.GetInt("hayPedido") > 0 Then hay = True
@@ -395,19 +397,38 @@ Sub hayPedido(db As SQL) As Boolean 'ignore
End Sub
'Regresa verdadero si el usuario actual ya imprimio su venta
Sub revisaImpresa (db As SQL) As Boolean
Sub revisaImpresa As Boolean
Dim imp As Boolean = False
Dim i As Cursor = db.ExecQuery("select count(*) as CUANTOS from kmt_info where (impresion = 1 or cat_cl_codigo in (select ci_cuenta from cliente_impreso)) and CAT_CL_CODIGO in (Select CUENTA from cuentaa)")
Dim i As Cursor = khdb.ExecQuery("select count(*) as CUANTOS from kmt_info where (impresion = 1 or cat_cl_codigo in (select ci_cuenta from cliente_impreso)) and CAT_CL_CODIGO in (Select CUENTA from cuentaa)")
i.Position = 0
If i.GetString("CUANTOS") > 0 Then imp = True Else imp = False
Return imp
End Sub
'Guarda el nombre y version de la app en CAT_VARIABLES.
Sub guardaAppInfo(db As SQL) 'ignore
db.ExecNonQuery("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = 'EMPRESA' or CAT_VA_DESCRIPCION = 'APP_NAME' or CAT_VA_DESCRIPCION = 'APP_VERSION'")
db.ExecNonQuery($"insert into CAT_VARIABLES (CAT_VA_DESCRIPCION, CAT_VA_VALOR) values ('APP_NAME', '${Application.LabelName}')"$)
db.ExecNonQuery($"insert into CAT_VARIABLES (CAT_VA_DESCRIPCION, CAT_VA_VALOR) values ('APP_VERSION', '${Application.VersionName}')"$)
Sub guardaAppInfo 'ignore
khdb.ExecNonQuery("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = 'EMPRESA' or CAT_VA_DESCRIPCION = 'APP_NAME' or CAT_VA_DESCRIPCION = 'APP_VERSION'")
khdb.ExecNonQuery($"insert into CAT_VARIABLES (CAT_VA_DESCRIPCION, CAT_VA_VALOR) values ('APP_NAME', '${Application.LabelName}')"$)
khdb.ExecNonQuery($"insert into CAT_VARIABLES (CAT_VA_DESCRIPCION, CAT_VA_VALOR) values ('APP_VERSION', '${Application.VersionName}')"$)
End Sub
'Regresa el Id del producto con el nombre dado y el tipo de venta dado.
Sub traeProdIdConNombre(n As String, tipoVenta As String) As String
Private elId As String = "N/A"
Private n0 As Cursor = khdb.ExecQuery($"select CAT_GP_ID from ${traeTablaProds(tipoVenta)} where CAT_GP_NOMBRE = '${n}'"$)
If n0.RowCount > 0 Then
n0.Position = 0
elId = n0.GetString("CAT_GP_ID")
End If
Return elId
End Sub
'Regresa la tabla de productos (cat_gunaprod o cat_gunaprod2) dependiendo del tipo de venta.
Sub traeTablaProds(tipoventa As String) As String 'ignore
Private tablaProds As String = "cat_gunaprod2"
If tipoventa = "ABORDO" Or tipoventa = "PREVENTA" Then tablaProds = "cat_gunaprod"
' LogColor($"Tipo= ${tipoventa}, tabla=${tablaProds}"$, Colors.RGB(200,136,0))
Return tablaProds
End Sub
'Muestra en el Log los campos y valores que regresan en el JobDone.