mirror of
https://github.com/KeymonSoft/Medicomed_Preventa.git
synced 2026-04-20 14:29:15 +00:00
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:
73
B4A/Subs.bas
73
B4A/Subs.bas
@@ -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
|
||||
Reference in New Issue
Block a user