- VERSION 5.02.18

- Se cambió kmt_info2 a kmt_info3.
- Se cambió el query de ruta a "select_ruta_GV2_70_10".
- Se centró la imagen de "Ubicar Rutas" en Principal.
- Se cambió el funcionamiento de bloquear la modificación de una venta, si se presiona el botón de "Guardar", SI se puede modificar la venta, si se presiona "Imprimir" o "Enviar Ticket", NO se puede modificar la venta, el switch de "Impresora" en el engrane, no afecta esta funcionalidad.
- Si no hay venta, en cliente se deshablitan los botones de "Imprimir" y "Enviar Ticket", si hay venta, se habilitan.
- Se cambió el código que cambia el color de los productos de una promoción en Nota, solo funcionaba si el código de promoción empezaba con "PRO".
- Se agregó la versión en "Cliente".
- Si hay ruta de suplencia, y se vuelve a cargar día, automáticamente se carga la ruta de suplencia.
This commit is contained in:
2025-02-20 16:03:03 -06:00
parent df50b535da
commit 6b53ca3d88
19 changed files with 277 additions and 233 deletions

View File

@@ -627,7 +627,7 @@ Sub guardaProductoSin(cedis As String, costoTot As String, costoU As String, can
' c.Position=0
' B4XPages.MainPage.skmt.ExecNonQuery("delete from pedido_cliente where PC_CLIENTE In (select cuenta from cuentaa)")
' B4XPages.MainPage.skmt.ExecNonQuery2("insert into pedido_cliente(PC_CLIENTE, PC_FECHA, PC_USER, PC_NOART, PC_MONTO,PC_LON, PC_LAT,PC_ALMACEN,PC_RUTA,PC_COSTO_SIN) VALUES (?,?,?,?,?,?,?,?,?,?)", Array As Object(clienteId, sDate & sTime, usuario, c.GetString("CANT_CLIE"),c.GetString("TOTAL_CLIE"), B4XPages.MainPage.lon_gps, B4XPages.MainPage.lat_gps, cedis, rutaV, c.GetString("TOTAL_CLIE_SIN")))
' B4XPages.MainPage.skmt.ExecNonQuery("UPDATE kmt_info2 set gestion = 2 where CAT_CL_CODIGO In (select cuenta from cuentaa)")
' B4XPages.MainPage.skmt.ExecNonQuery("UPDATE kmt_info3 set gestion = 2 where CAT_CL_CODIGO In (select cuenta from cuentaa)")
' c.Close
ToastMessageShow("guardaProdSin", False)
End Sub
@@ -662,7 +662,7 @@ Sub traeProdNombre(id As String) As String
End Sub
''Regresa la ruta actual de la base de datos, de acuerdo al cliente actual en CUENTAA.
'Si hay cliente definido (en CUENTAA), trae la ruta de ese cliente, si no, trae la primera ruta de kmt_info2. (esto es por las suplencias)
'Si hay cliente definido (en CUENTAA), trae la ruta de ese cliente, si no, trae la primera ruta de kmt_info3. (esto es por las suplencias)
Sub traeRuta As String 'ignore
Private c As Cursor
Private r As String = "0"
@@ -677,12 +677,12 @@ Sub traeRuta As String 'ignore
' Log($"#########################${CRLF}HAY USUARIO EN CUENTAA: ${elCc.RowCount}${CRLF}#########################"$)
If idCliente <> "" Then
' Log(1)
c = B4XPages.MainPage.skmt.ExecQuery($"select distinct CAT_CL_RUTA from kmt_info2 where CAT_CL_CODIGO = '${idCliente}'"$)
c = B4XPages.MainPage.skmt.ExecQuery($"select distinct CAT_CL_RUTA from kmt_info3 where CAT_CL_CODIGO = '${idCliente}'"$)
Else
' Log(2)
c = B4XPages.MainPage.skmt.ExecQuery("select distinct CAT_CL_RUTA from kmt_info2 where CAT_CL_RUTA not in (select * from ruta_suplencia)")
c = B4XPages.MainPage.skmt.ExecQuery("select distinct CAT_CL_RUTA from kmt_info3 where CAT_CL_RUTA not in (select * from ruta_suplencia)")
End If
' Log($"#########################${CRLF}ENCONTRAMOS RUTA EN KMT_INFO2: ${c.RowCount}${CRLF}#########################"$)
' Log($"#########################${CRLF}ENCONTRAMOS RUTA EN kmt_info3: ${c.RowCount}${CRLF}#########################"$)
If c.RowCount > 0 Then
' Log(3)
c.Position=0
@@ -699,7 +699,7 @@ End Sub
Sub traeRutaBitacora As String 'ignore
Private c As Cursor
Private r As String
c=B4XPages.MainPage.skmt.ExecQuery("select CAT_CL_RUTA from kmt_info2 WHERE CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA)")
c=B4XPages.MainPage.skmt.ExecQuery("select CAT_CL_RUTA from kmt_info3 WHERE CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA)")
r = "0"
If c.RowCount > 0 Then
c.Position=0
@@ -715,7 +715,7 @@ Sub traeRutasSup As String
Dim rutas As String
rutas = ""
c = B4XPages.MainPage.skmt.ExecQuery("SELECT CAT_CL_RUTA FROM kmt_info2")
c = B4XPages.MainPage.skmt.ExecQuery("SELECT CAT_CL_RUTA FROM kmt_info3")
If c.RowCount > 0 Then
For i = 0 To c.RowCount - 1
@@ -777,7 +777,7 @@ Sub guardaProducto(cedis As String, costoU As String, cant As String, nombre As
c.Position=0
B4XPages.MainPage.skmt.ExecNonQuery("delete from pedido_cliente where PC_CLIENTE In (select cuenta from cuentaa)")
B4XPages.MainPage.skmt.ExecNonQuery2("insert into pedido_cliente(PC_CLIENTE, PC_FECHA, PC_USER, PC_NOART, PC_MONTO,PC_LON, PC_LAT,PC_ALMACEN,PC_RUTA,PC_COSTO_SIN) VALUES (?,?,?,?,?,?,?,?,?,?)", Array As Object(clienteId, fecha, usuario, c.GetString("CANT_CLIE"), c.GetString("TOTAL_CLIE"), B4XPages.MainPage.lon_gps, B4XPages.MainPage.lat_gps, cedis, c.GetString("TOTAL_CLIE_SIN")))
B4XPages.MainPage.skmt.ExecNonQuery("UPDATE kmt_info2 set gestion = 2 where CAT_CL_CODIGO In (select cuenta from cuentaa)")
B4XPages.MainPage.skmt.ExecNonQuery("UPDATE kmt_info3 set gestion = 2 where CAT_CL_CODIGO In (select cuenta from cuentaa)")
End Sub
@@ -1242,23 +1242,34 @@ Sub TraeMontoProd As Boolean
End Sub
Sub TraeMontoProd2 As Boolean
'This subrutine checks if the total cost of a product is between 350 and 499.99
Private x As Boolean = False
'Declares a boolean variable
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)")
'Executes a query to get the sum of PE_COSTO_TOT from the PEDIDO table, joined with CAT_PROMO_ESP table on CAT_PE_ID = PE_PROID where PE_CLIENTE is in the CUENTA column from CUENTAA table
If c.RowCount > 0 Then
'Checks if the query returned any rows
c.Position = 0
'Sets the cursor position to the first row
Private c2 As Cursor = B4XPages.MainPage.skmt.ExecQuery("SELECT DISTINCT CAT_PE_MONTO FROM CAT_PROMO_ESP")
'Executes a query to get distinct values of CAT_PE_MONTO from CAT_PROMO_ESP table
If c2.RowCount > 0 Then
'Checks if the query returned any rows
c2.Position = 0
If c.GetString("suma") >= 300 and c.GetString("suma") <= 499.99 Then
'Sets the cursor position to the first row
If c.GetString("suma") >= 350 And c.GetString("suma") <= 499.99 Then
'Checks if the sum is between 350 and 499.99
x = True
'Sets x to true if the condition is met
Else
x = False
'Sets x to false if the condition is not met
' Log("Falso")
End If
End If
End If
Return x
'Returns the value of x
End Sub
Sub InvSuficientePromoEsp As Boolean
@@ -1394,7 +1405,7 @@ End Sub
'Regresa el nombre del cliente del id dado.
Sub traeNombreCliente(id As String) As String
Private c As ResultSet = B4XPages.MainPage.skmt.ExecQuery($"select CAT_CL_NOMBRE from kmt_info2 where CAT_CL_CODIGO = '${id}'"$)
Private c As ResultSet = B4XPages.MainPage.skmt.ExecQuery($"select CAT_CL_NOMBRE from kmt_info3 where CAT_CL_CODIGO = '${id}'"$)
Private n As String = "N/A"
Do While c.NextRow
n = c.GetString("CAT_CL_NOMBRE")
@@ -1512,7 +1523,7 @@ Sub validaPromoProcterPRO3009
' Log(">>>> CUANTOS: " & r2.GetString("cuantos"))
If r2.GetString("cuantos") = 0 Then
Starter.skmt.ExecNonQuery($"delete from pedido_cliente where pc_cliente = '${r.GetString("PE_CLIENTE")}'"$)
Starter.skmt.ExecNonQuery($"update kmt_info2 set gestion = 0 where cat_cl_codigo = '${r.GetString("PE_CLIENTE")}'"$)
Starter.skmt.ExecNonQuery($"update kmt_info3 set gestion = 0 where cat_cl_codigo = '${r.GetString("PE_CLIENTE")}'"$)
End If
Loop
Loop