v: 5.10.24

Se hicieron invisibles normales de la venta, se agregaron 2 botones mas, uno indica que tieene venta y el otro que no tiene, tambien al boton que indica que tiene venta se le agrega una pequeña ventana para agregar la venta que se le indique.
This commit is contained in:
IsR0d
2024-10-07 10:14:24 -06:00
parent 7fe1d3059d
commit 65319638b4
1220 changed files with 160744 additions and 132 deletions

View File

@@ -1370,4 +1370,77 @@ Sub iniciaActividad(ia As String)
B4XPages.ShowPage(ia)
' If Starter.logger Then LogColor("Iniciamos --> " & ia, Colors.Blue)
End If
End Sub
Sub ventaNoVenta(usuariov As String, almacenv As String, rutav As String, eventov As String, clientev As String, iniciov As String, latitudv As String, longitudv As String, montoVentav As String)
Log("ventaNoVenta")
Log(eventov)
Private cmd As DBCommand
cmd.Initialize
cmd.Name = "insert_venta_no_venta_MEDICOMED"
' Obtenemos el nombre del cliente
Private nombreClientev As String = traeNombreClientev(clientev)
' Lógica para modificar el nombre del cliente según el evento
If eventov = "Llega a almacen" Then
nombreClientev = "BOLETA"
clientev = ""
Else If eventov = "ConVenta" Then
nombreClientev = "VENTA"
Else If eventov = "SinVenta" Then
nombreClientev = "Sin Venta"
End If
' Verificamos si el usuario ya tiene un registro en la base de datos
Private c As Cursor = B4XPages.MainPage.skmt.ExecQuery($"SELECT * FROM VENTA_No_VENTA WHERE usuariov = '${usuariov}' AND almacenv = '${almacenv}' AND rutav = '${rutav}' AND clientev = '${clientev}' ORDER BY iniciov DESC"$)
If c.RowCount > 0 Then
' Si existe un registro, actualizamos el campo montoVentav y eventov
Log("Actualizando registro existente")
B4XPages.MainPage.skmt.ExecNonQuery($"UPDATE VENTA_No_VENTA SET eventov = '${eventov}', montoVentav = '${montoVentav}' WHERE usuariov = '${usuariov}' AND almacenv = '${almacenv}' AND rutav = '${rutav}' AND clientev = '${clientev}'"$)
Else
' Si no existe, insertamos un nuevo registro con todos los datos
Log("Insertando nuevo registro")
B4XPages.MainPage.skmt.ExecNonQuery($"INSERT INTO VENTA_No_VENTA (usuariov, almacenv, rutav, eventov, clientev, iniciov, latitudv, longitudv, montoVentav) VALUES ('${usuariov}', '${almacenv}', '${rutav}', '${eventov}', '${clientev}', '${iniciov}', '${latitudv}', '${longitudv}', '${montoVentav}')"$)
End If
' Ejecutamos el comando para enviar la información
cmd.Parameters = Array As Object(usuariov, almacenv, rutav, eventov, clientev, iniciov, latitudv, longitudv, montoVentav)
B4XPages.MainPage.reqManager.ExecuteCommand(cmd, "ventaNoVenta")
Log($"Datos procesados: '${usuariov}', '${almacenv}', '${rutav}', '${eventov}', '${clientev}', '${iniciov}', '${latitudv}', '${longitudv}', '${montoVentav}'"$)
Log("Mandamos Venta_No_Venta")
End Sub
'Regresa el nombre del cliente del id dado.
Sub traeNombreClientev(id As String) As String
Private c As ResultSet = B4XPages.MainPage.skmt.ExecQuery($"select CAT_CL_NOMBRE from kmt_info where CAT_CL_CODIGO = '${id}'"$)
Private n As String = "N/A"
Do While c.NextRow
n = c.GetString("CAT_CL_NOMBRE")
Loop
Return n
End Sub
Sub agregaColumna(tabla As String, columna As String, tipo As String) 'ignore
Try 'Intentamos usar "pragma_table_info" para revisar si existe la columna en la tabla
Private c As Cursor = B4XPages.MainPage.skmt.ExecQuery($"SELECT COUNT(*) AS fCol FROM pragma_table_info('${tabla}') WHERE name='${columna}'"$)
c.Position = 0
If c.GetString("fCol") = 0 Then 'Si no esta la columna la agregamos
B4XPages.MainPage.skmt.ExecNonQuery($"ALTER TABLE ${tabla} ADD COLUMN ${columna} ${tipo}"$)
Log($"Columna "${columna} ${tipo}", agregada a "${tabla}"."$)
End If
Log(1)
Catch 'Si no funciona "pragma_table_info" lo hacemos con try/catch
Try
B4XPages.MainPage.skmt.ExecNonQuery($"ALTER TABLE ${tabla} ADD COLUMN ${columna} ${tipo}"$)
Log($"Columna "${columna} ${tipo}", agregada a "${tabla}".."$)
Catch
Log(LastException)
End Try
Log(2)
End Try
End Sub