mirror of
https://github.com/KeymonSoft/ADM.git
synced 2026-04-19 12:19:23 +00:00
- VERSION 5.08.22
- Cambios para que desde clienets y mapa aparezcan losbotones de inicio y fin venta
This commit is contained in:
131
B4A/Subs.bas
131
B4A/Subs.bas
@@ -710,12 +710,21 @@ End Sub
|
||||
'Regresa la ruta actual de la base de datos.
|
||||
Sub traeRuta As String 'ignore
|
||||
Private c As Cursor
|
||||
Private r As String
|
||||
c=B4XPages.MainPage.skmt.ExecQuery("select CAT_CL_RUTA from kmt_info where CAT_CL_CODIGO In (Select cuenta from cuentaa)")
|
||||
r = "0"
|
||||
Private r As String = ""
|
||||
c = Starter.skmt.ExecQuery("select rutaa from rutaa")
|
||||
If c.RowCount > 0 Then
|
||||
c.Position=0
|
||||
r = c.GetString("CAT_CL_RUTA")
|
||||
c.Position = 0
|
||||
If c.GetString("RUTAA") <> "" Then
|
||||
r = c.GetString("RUTAA")
|
||||
End If
|
||||
End If
|
||||
If r = "" Then
|
||||
c = B4XPages.MainPage.skmt.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
|
||||
r = c.GetString("CAT_CL_RUTA")
|
||||
End If
|
||||
End If
|
||||
c.Close
|
||||
Return r
|
||||
@@ -769,12 +778,12 @@ End Sub
|
||||
Sub guardaProducto(cedis As String, costoU As String, cant As String, nombre As String, prodId As String, clienteId As String, fecha As String, usuario As String, rutaV As String, precioSin As String, tipoVenta As String)
|
||||
' LogColor("guardaProducto: "&prodId&", cant="&cant, Colors.Magenta)
|
||||
Private c As Cursor
|
||||
B4XPages.MainPage.skmt.ExecNonQuery2("INSERT INTO PEDIDO (PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO,PE_RUTA,PE_COSTO_SIN,PE_FOLIO) VALUES(?,?,?,?,?,?,?,?,?,?,?,?) ", Array As Object (cedis, (cant * costoU), costoU, cant, nombre, prodId, clienteId, fecha, usuario, rutaV, precioSin, tipoVenta))
|
||||
B4XPages.MainPage.skmt.ExecNonQuery2("INSERT INTO PEDIDO (PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO,PE_RUTA,PE_COSTO_SIN,PE_FOLIO) VALUES(?,?,?,?,?,?,?,?,?,?,?,?) ", Array As Object (cedis, (cant * costoU), costoU, cant, nombre, prodId, clienteId, fecha, usuario, rutaV, precioSin, tipoVenta))
|
||||
B4XPages.MainPage.skmt.ExecNonQuery2($"update ${Starter.tabla} set cat_gp_almacen = cat_gp_almacen - ? where cat_gp_id = ? "$, Array As Object(cant, prodId))
|
||||
c=B4XPages.MainPage.skmt.ExecQuery("select sum(pe_costo_tot) as TOTAL_CLIE, SUM(PE_CANT) AS CANT_CLIE, SUM(PE_COSTO_SIN) AS TOTAL_CLIE_SIN FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)")
|
||||
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.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, rutaV, c.GetString("TOTAL_CLIE_SIN")))
|
||||
B4XPages.MainPage.skmt.ExecNonQuery("UPDATE kmt_info set gestion = 2 where CAT_CL_CODIGO In (select cuenta from cuentaa)")
|
||||
End Sub
|
||||
|
||||
@@ -789,7 +798,19 @@ Sub guardaProductoSinGestion(cedis As String, costoU As String, cant As String,
|
||||
c=B4XPages.MainPage.skmt.ExecQuery("select sum(pe_costo_tot) as TOTAL_CLIE, SUM(PE_CANT) AS CANT_CLIE, SUM(PE_COSTO_SIN) AS TOTAL_CLIE_SIN FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)")
|
||||
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")))
|
||||
' Log($"${clienteId}, ${fecha}, ${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.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, rutaV, c.GetString("TOTAL_CLIE_SIN")))
|
||||
End Sub
|
||||
|
||||
'Inserta un peso en la tabla "pesos"
|
||||
Sub guardaPeso(tipo As String, almacen As String, ruta As String, usuario As String, cliente As String, peso As String, motivo As String, comentario As String)
|
||||
' LogColor("guardaPesoSinGestion: "&cliente&", peso="&peso, Colors.Magenta)
|
||||
' CREATE TABLE PESOS(PE_IDALMACEN TEXT, PE_RUTA TEXT, PE_USUARIO TEXT, PE_CLIENTE TEXT, PE_PESO TEXT, PE_FECHA TEXT, PE_FECHA_SINC TEXT)
|
||||
DateTime.DateFormat="yy-MM-dd HH:mm:ss"
|
||||
Dim fecha As String=DateTime.Date(DateTime.Now)
|
||||
B4XPages.MainPage.skmt.ExecNonQuery($"delete from pesos where pe_cliente in (select cuenta from cuentaa) and pe_tipo = '${tipo}'"$)
|
||||
B4XPages.MainPage.skmt.ExecNonQuery($"INSERT INTO PESOS (PE_TIPO, PE_IDALMACEN, PE_RUTA, PE_USUARIO, PE_CLIENTE, PE_PESO, PE_FECHA, PE_MOTIVO, PE_COMENTARIO) VALUES('${tipo.ToUpperCase}', '${almacen}', '${ruta}', '${usuario}', '${cliente}', '${peso}', '${fecha}', '${motivo}', '${comentario}')"$)
|
||||
' Log($"INSERT INTO PESOS (PE_TIPO, PE_IDALMACEN, PE_RUTA, PE_USUARIO, PE_CLIENTE, PE_PESO, PE_FECHA, PE_MOTIVO, PE_COMENTARIO) VALUES('${tipo.ToUpperCase}', '${almacen}', '${ruta}', '${usuario}', '${cliente}', '${peso}', '${fecha}', '${motivo}', '${comentario}')"$)
|
||||
End Sub
|
||||
|
||||
Sub actualizaProducto(cedis As String, costoU As String, cant As Int, nombre As String, prodId As String, clienteId As String, fecha As String, usuario As String, rutaV As String, precioSin As String, tipoVenta As String, cantc As String, bcajas As String)
|
||||
@@ -1535,4 +1556,98 @@ Sub traeinventario(id As String) As String
|
||||
End If
|
||||
c.Close
|
||||
Return inventario
|
||||
End Sub
|
||||
|
||||
'Regresa el nombre del cliente del id dado.
|
||||
Sub traeNombreCliente(id As String) As String
|
||||
Private c As ResultSet = Starter.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
|
||||
|
||||
'Regresa una fecha en string con formato "YYYY/MM/dd HH:mm:ss"
|
||||
Sub fechanormal(fecha As String) As String 'ignore
|
||||
' Log(fecha)
|
||||
Dim OrigFormat As String = DateTime.DateFormat 'save orig date format
|
||||
DateTime.DateFormat = "YYYY/MM/dd HH:mm:ss"
|
||||
Dim nuevaFecha As String=DateTime.Date(fecha)
|
||||
DateTime.DateFormat = OrigFormat 'return to orig date format
|
||||
' Log(nuevaFecha)
|
||||
Return nuevaFecha
|
||||
End Sub
|
||||
|
||||
'Guarda en la tabla BitacoraGPS el evento espcificado en eventob, junto con coordenadas y otros datos.
|
||||
'En precision,si metio contraseña para brincar la geocerca, poner 0 gps, si esta dentro de los 50 mts poner 1 y 2 para eventos que no lo ocupen.
|
||||
'Mandar fecha de sync(sysdate)
|
||||
Sub bitacora(fechab As String, usuariob As String, almacenb As String, rutab As String, eventob As String, clienteb As String, iniciob As String, finb As String, latitudb As String, longitudb As String, precision As String, motivonoventa As String, motivonovisita As String, otro As String)
|
||||
Log($"Bitacora: ${eventob}, mnven: ${motivonoventa}, mnvis: ${motivonovisita}"$)
|
||||
If Starter.Logger Then Log("bitacora")
|
||||
Private cmd As DBCommand
|
||||
Private id As String
|
||||
cmd.Initialize
|
||||
cmd.Name = "mandaBitacora_ADM"
|
||||
If Starter.Logger Then Log("BITACORA3")
|
||||
Private nombreCliente As String = traeNombreCliente(clienteb)
|
||||
If eventob = "Llega a almacen" Then
|
||||
nombreCliente = "BOLETA"
|
||||
clienteb = ""
|
||||
finb = iniciob
|
||||
End If
|
||||
If eventob = "Salida almacen" Then nombreCliente = "CHECKLIST"
|
||||
If eventob = "Fin Día" Then nombreCliente = "FIN DIA"
|
||||
If eventob = "Carga día" Then nombreCliente = "CARGA DIA"
|
||||
DateTime.DateFormat="yyMMddHHmmss"
|
||||
id = DateTime.Date(DateTime.Now) & "-" & Rnd(0, 99)
|
||||
If eventob.ToUpperCase <> "TERMINA VENTA" And eventob.ToUpperCase <> "NO VENTA" Then
|
||||
Starter.skmt.ExecNonQuery($"INSERT INTO BITACORAGPS (id, fechab, usuariob , almacenb , rutab , eventob , clienteb , iniciob , finb , latitudb, longitudb , precision , motivonoventa , motivonovisita, otro) VALUES ('${id}', '${fechab}', '${usuariob}', '${almacenb}', '${rutab}', '${eventob}', '${clienteb}', '${iniciob}', '${finb}' , '${latitudb}', '${longitudb}', '${precision}', '${motivonoventa}', '${motivonovisita}', '${otro}')"$)
|
||||
Log($"'${id}', '${fechab}', '${usuariob}', '${almacenb}', '${rutab}', '${eventob}', '${clienteb}', '${iniciob}', '${finb}' , '${latitudb}', '${longitudb}', '${precision}', '${motivonoventa}', '${motivonovisita}', '${otro}')"$)
|
||||
' TMP_ALMACEN, TMP_USUARIO, TMP_RUTA, TMP_EVENTO, TMP_ID_CLIENTE, TMP_NOMBRE_CLIENTE, TMP_INICIO, TMP_FINAL, TMP_LATITUD, TMP_LONGITUD, TMP_PRESICION, TMP_MOTIVO_NO_VENTA, TMP_MOTIVO_NO_VISITA, TMP_FECHA_SINC, TMP_FECHA_MOVIL
|
||||
' cmd.Parameters = Array As Object(almacenb, usuariob, rutab, eventob, clienteb, nombreCliente, iniciob, finb, latitudb, longitudb, precision, motivonoventa, motivonovisita, fechab)
|
||||
' Starter.reqManager.ExecuteCommand(cmd , "mandaBitacora")
|
||||
Else
|
||||
Private e As Cursor = Starter.skmt.ExecQuery($"select * from BITACORAGPS where usuariob = '${usuariob}' and almacenb = '${almacenb}' and rutab = '${rutab}' and clienteb = '${clienteb}' and eventob = 'Inicia Venta' order by fechab desc"$)
|
||||
' TMP_RUTA = (?) And tmp_almacen = (?) And tmp_usuario = (?) And tmp_id_cliente = (?) And tmp_evento = (?) And tmp_fecha_movil = to_date((?),'YYYY/MM/DD HH24:MI:ss')
|
||||
If e.RowCount > 0 Then
|
||||
e.Position = 0
|
||||
Log("ACTUALIZA BITACORA")
|
||||
If eventob.ToUpperCase = "TERMINA VENTA" Then
|
||||
Starter.skmt.ExecNonQuery($"update BITACORAGPS set finb = '${finb}', otro = '${otro}' where rutab = '${rutab}' and almacenb = '${almacenb}' and usuariob = '${usuariob}' and clienteb = '${clienteb}' and fechab = '${e.GetString("fechab")}' "$)
|
||||
Log($"update BITACORAGPS set finb = '${finb}', otro = '${otro}' where rutab = '${rutab}' and almacenb = '${almacenb}' and usuariob = '${usuariob}' and clienteb = '${clienteb}' and fechab = '${e.GetString("fechab")}' "$)
|
||||
else if eventob.ToUpperCase = "NO VENTA" Then
|
||||
Starter.skmt.ExecNonQuery($"update BITACORAGPS set eventob = 'No Venta', finb = '${finb}', motivonoventa = '${motivonoventa}', motivonovisita = '${motivonovisita}' where rutab = '${rutab}' and almacenb = '${almacenb}' and usuariob = '${usuariob}' and clienteb = '${clienteb}' and fechab = '${e.GetString("fechab")}' "$)
|
||||
Log($"update BITACORAGPS set eventob = 'No Venta', finb = '${finb}', motivonoventa = '${motivonoventa}', motivonovisita = '${motivonovisita}' where rutab = '${rutab}' and almacenb = '${almacenb}' and usuariob = '${usuariob}' and clienteb = '${clienteb}' and fechab = '${e.GetString("fechab")}' "$)
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
If eventob <> "Inicia Venta" Then
|
||||
Private c As Cursor = Starter.skmt.ExecQuery($"select * from BITACORAGPS where usuariob = '${usuariob}' and almacenb = '${almacenb}' and rutab = '${rutab}' and clienteb = '${clienteb}' order by fechab desc"$)
|
||||
If c.RowCount > 0 Then
|
||||
c.Position = 0
|
||||
cmd.Parameters = Array As Object(c.GetString("almacenb"), c.GetString("usuariob"), c.GetString("rutab"), c.GetString("eventob"), c.GetString("clienteb"), nombreCliente, c.GetString("iniciob"), c.GetString("finb"), c.GetString("latitudb"), c.GetString("longitudb"), c.GetString("precision"), c.GetString("motivonoventa"), c.GetString("motivonovisita"), c.GetString("fechab"), c.GetString("otro"), Application.VersionName)
|
||||
Starter.reqManager.ExecuteCommand(cmd , $"mandaBitacora_${c.GetString("id")}"$)
|
||||
End If
|
||||
End If
|
||||
If Starter.Logger Then Log("Mandamos bitacora")
|
||||
End Sub
|
||||
|
||||
Sub enVenta(valor As Int, pagina As String)
|
||||
' Log("En venta: " & valor)
|
||||
Starter.skmt.ExecNonQuery2("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = ?", Array As Object ("EN_VENTA"))
|
||||
Starter.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("EN_VENTA", valor))
|
||||
Starter.skmt.ExecNonQuery2("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = ?", Array As Object ("EN_VENTA_USUARIO"))
|
||||
Starter.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("EN_VENTA_USUARIO", traeCliente))
|
||||
Starter.skmt.ExecNonQuery2("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = ?", Array As Object ("EN_VENTA_PAGINA"))
|
||||
Starter.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("EN_VENTA_PAGINA", pagina))
|
||||
End Sub
|
||||
|
||||
'Revisa si hay registro de que nos quedamos en venta.
|
||||
Sub nosQuedamosEnVenta As Boolean
|
||||
Private c As Cursor = Starter.skmt.ExecQuery("select * from cat_variables where CAT_VA_DESCRIPCION = 'EN_VENTA' and CAT_VA_VALOR = 1")
|
||||
If c.RowCount > 0 Then
|
||||
Return True
|
||||
End If
|
||||
Return False
|
||||
End Sub
|
||||
Reference in New Issue
Block a user