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

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -165,8 +165,12 @@ Private Sub B4XPage_Created (Root1 As B4XView)
skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS HIST_CODIGO_BARRAS(CODIGOKMTS TEXT, CODIGOB TEXT, LAT TEXT, LON TEXT)")
skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS ABONOS (a_usuario TEXT, a_ruta TEXT, a_cliente TEXT, a_abono TEXT, a_fecha TEXT, a_enviado TEXT)")
skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS BITACORAGPS(fechab TEXT, usuariob TEXT, almacenb TEXT, rutab TEXT, eventob TEXT, clienteb TEXT, iniciob TEXT, finb TEXT, latitudb TEXT, longitudb TEXT, precision TEXT, motivonoventa TEXT, motivonovisita TEXT)")
skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS VENTA_No_VENTA(usuariov TEXT, almacenv TEXT, rutav TEXT, eventov TEXT, clientev TEXT, iniciov TEXT, latitudv TEXT, longitudv TEXT)")
' skmt.ExecNonQuery("drop table kmt_info")
skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS kmt_info (CAT_CL_FOTO BLOB, CAT_CL_NUM_SERIEFISICO TEXT, CAT_CL_MTOCOMPRA TEXT, CAT_CL_CEDIS TEXT, CAT_CL_LAT TEXT, CAT_CL_LONG TEXT, CAT_CL_FBAJA TEXT, CAT_CL_FALTA TEXT, CAT_CL_CP TEXT, CAT_CL_EDO TEXT, CAT_CL_MUNI TEXT, CAT_CL_COLONIA TEXT, CAT_CL_CALLE2 TEXT, CAT_CL_CALLE1 TEXT, CAT_CL_NOINT TEXT, CAT_CL_NOEXT TEXT, CAT_CL_CALLE TEXT, CAT_CL_EMAIL TEXT, CAT_CL_TELEFONO TEXT, CAT_CL_ATIENTE2 TEXT, CAT_CL_ATIENDE1 TEXT, CAT_CL_NOMBRE TEXT, CAT_CL_GIRO TEXT, CAT_CL_DIAS_VISITA TEXT, CAT_CL_TIPO_RUTA TEXT, CAT_CL_RUTA TEXT, CAT_CL_CODIGO TEXT, gestion NUMERIC, CAT_CL_DIASEMANA TEXT, CAT_CL_SECUENCIA INT)")
Subs.agregaColumna("VENTA_No_VENTA", "montoVentav", "TEXT")
Try 'Intentamos usar "pragma_table_info" para revisar si existe la columna "CAT_CL_DIASEMANA" en la tabla
c=skmt.ExecQuery("SELECT COUNT(*) AS fCol FROM pragma_table_info('kmt_info') WHERE name='CAT_CL_DIASEMANA'")
c.Position = 0

View File

@@ -149,6 +149,13 @@ Sub Class_Globals
Dim usuario As String = ""
Dim Id_Almacen As String
Dim ruta_tienda As String
Private b_clinteSinVenta As Button
Private b_clienteVenta As Button
Private p_monto_venta As Panel
Private et_monto_venta As EditText
Private b_can_monto_venta As Button
Private b_gu_monto_venta As Button
End Sub
'You can add more parameters here.
@@ -200,6 +207,10 @@ End Sub
'You can see the list of page related events in the B4XPagesManager object. The event name is B4XPage.
Sub B4XPage_Appear
b_clinteSinVenta.Enabled = False
b_clienteVenta.Enabled = False
' Starter.rp.CheckAndRequest(Starter.rp.PERMISSION_CAMERA)
' Wait For B4XPage_PermissionResult (Permission As String, resultC As Boolean)
' Starter.rp.CheckAndRequest(Starter.rp.PERMISSION_WRITE_EXTERNAL_STORAGE)
@@ -314,8 +325,8 @@ Sub B4XPage_Appear
' b_like.Visible = False
End If
If ALMACEN = "16" Or ALMACEN = "13" Then
Tels.Visible = True
gest.Visible = True
Tels.Visible = False
gest.Visible = False
End If
CallSubDelayed(Tracker, "Track")
@@ -333,8 +344,8 @@ Sub B4XPage_Appear
' Log($"Tenemos UUC: ${Tracker.FLP.GetLastKnownLocation.Latitude},${Tracker.FLP.GetLastKnownLocation.Longitude}"$)
GPS_LocationChanged(Tracker.FLP.GetLastKnownLocation)
End If
Tels.Visible = True
gest.Visible = True
Tels.Visible = False
gest.Visible = False
'Si el cliente es nuevo, no aparece el boton de venta
If la_cuenta.text.SubString2(0,1) = "N" Then gest.Visible = False
@@ -368,15 +379,17 @@ Sub GPS_LocationChanged (Location1 As Location)
BT_QR.Enabled = True
LA_GPS.TextColor = Colors.Blue
LA_GPS.Text = "CON UBICACION GPS"
b_clinteSinVenta.Enabled = True
b_clienteVenta.Enabled = True
' B_GPS.Enabled = True
'now we need the distance between our location and the target location
Dim distance As Long
distance = l1.DistanceTo(l2) 'the result is in meter
gest.Visible = True
gest.Visible = False
' If distance < 100 Then
LA_GEO.TextColor = Colors.Blue
Tels.Visible = True
gest.Visible = True
Tels.Visible = False
gest.Visible = False
' Else
' LA_GEO.TextColor = Colors.Red
' End If
@@ -401,14 +414,14 @@ End Sub
Sub gest_Click
B4XPages.MainPage.tipo_venta = "PREVENTA"
'Si hay mapa de productos es que hay venta en proceso, entonces borramos la actual para meter la nueva.
' If B4XPages.MainPage.productos.prodsMap.IsInitialized And B4XPages.MainPage.productos.prodsMap.Size > 0 Then Subs.borraPedidoClienteActual
B4XPages.ShowPage("productos")
End Sub
Sub Tels_Click
Sub Tels_Click
B4XPages.ShowPage("NoVenta")
End Sub
@@ -457,75 +470,75 @@ End Sub
Sub Guardar2_Click
' Log("GuardarVentaOriginal")
DateTime.DateFormat = "MM/dd/yyyy"
sDate=DateTime.Date(DateTime.Now)
sTime=DateTime.Time(DateTime.Now)
c=B4XPages.MainPage.skmt.ExecQuery("Select CUENTA from cuentaa")
c.Position=0
clie_id = c.GetString("CUENTA")
c.Close
c=B4XPages.MainPage.skmt.ExecQuery("select USUARIO from usuarioa")
c.Position=0
usuario = c.GetString("USUARIO")
c.Close
c=B4XPages.MainPage.skmt.ExecQuery("select sum(pe_costo_tot) as TOTAL_CLIE, SUM(PE_CANT) AS CANT_CLIE, COUNT(*) AS CUANTOS FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)")
c.Position=0
If c.GetString("CUANTOS") > 0 Then
Private cbFactura As Int = 0
If cb_factura.Checked Then cbFactura = 1
B4XPages.MainPage.skmt.ExecNonQuery("delete from NOVENTA where NV_CLIENTE In (select cuenta from cuentaa)")
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_ENVIO_OK, PC_FACTURA) VALUES (?,?,?,?,?,?,?,?,?)", Array As Object(clie_id, sDate & sTime, usuario, c.GetString("CANT_CLIE"),c.GetString("TOTAL_CLIE"), B4XPages.MainPage.lon_gps, B4XPages.MainPage.lat_gps,0, cbFactura))
B4XPages.MainPage.skmt.ExecNonQuery("UPDATE kmt_info set gestion = 2 where CAT_CL_CODIGO In (select cuenta from cuentaa)")
End If
c.Close
DateTime.TimeFormat = "HHmmss"
sTime=DateTime.Time(DateTime.Now)
B4XPages.MainPage.skmt.ExecNonQuery2("UPDATE HIST_STAY_STORE set HSS_OUT = ? where HSS_OUT = 0 AND HSS_CODIGO In (select cuenta from cuentaa)", Array As Object(sTime))
' B4XPages.MainPage.skmt.ExecNonQuery("UPDATE HIST_STAY_STORE set HSS_TOT = HSS_OUT - HSS_IN where HSS_CODIGO In (select cuenta from cuentaa)")
Try
c=B4XPages.MainPage.skmt.ExecQuery(" Select (substr(HSS_OUT,1,2) - substr(HSS_IN,1,2)) - Case when (substr(HSS_OUT,3,2) - substr(HSS_IN,3,2)) < 0 Then 1 Else 0 end HORAS_TOTALES, " & _
"Case when (substr(HSS_OUT,3,2) - substr(HSS_IN,3,2)) < 0 Then (substr(HSS_OUT,3,2) + 60 - substr(HSS_IN,3,2)) " & _
" Else (substr(HSS_OUT,3,2) - substr(HSS_IN,3,2)) End - Case when (substr(HSS_OUT,5,2) - substr(HSS_IN,5,2)) < 0 Then 1 Else 0 end MINUTOS_TOTALES, " & _
"Case when (substr(HSS_OUT,5,2) - substr(HSS_IN,5,2)) < 0 Then (substr(HSS_OUT,5,2) + 60 - substr(HSS_IN,5,2)) " & _
" Else (substr(HSS_OUT,5,2) - substr(HSS_IN,5,2)) end SEGUNDOS_TOTALES " & _
" from HIST_STAY_STORE where HSS_CODIGO In (Select cuenta from cuentaa) ")
c.Position = 0
stay_hh = c.GetString("HORAS_TOTALES") * 60 * 60
stay_mi = c.GetString("MINUTOS_TOTALES") * 60
stay_ss = c.GetString("SEGUNDOS_TOTALES")
B4XPages.MainPage.skmt.ExecNonQuery2("UPDATE HIST_STAY_STORE set HSS_TOT = ? where HSS_CODIGO In (select cuenta from cuentaa)", Array As Object(stay_hh + stay_mi + stay_ss))
B4XPages.MainPage.skmt.ExecNonQuery2("UPDATE HIST_STAY_OUT set HSO_FIN = ? ", Array As Object(sTime))
c.Close
Catch
ToastMessageShow(".",True)
End Try
skmt.ExecNonQuery2("update PEDIDO_INICIO_FINAL set PIF_HORA_FINAL = ? where PIF_CLIENTE = ? and PIF_HORA_FINAL = 0", Array As Object (DateTime.Now, la_cuenta.Text))
' LogColor($"actualizamos "${la_cuenta.text}, hora_final=${DateTime.now}"$,Colors.Red)
Subs.actualizaTET(la_cuenta.text)
DateTime.TimeFormat = "HH:mm:ss"
mandaPendientes 'LO COMENTAMOS PARA PRUEBAS, ACTIVAR AL FINAL!!!
B4XPages.MainPage.productos.reiniciarlistaProds = True
B4XPages.MainPage.productos.prodsMap.Initialize
B4XPages.MainPage.promos.promosMap.Initialize
B4XPages.ShowPage("Principal")
' DateTime.DateFormat = "MM/dd/yyyy"
' sDate=DateTime.Date(DateTime.Now)
' sTime=DateTime.Time(DateTime.Now)
' c=B4XPages.MainPage.skmt.ExecQuery("Select CUENTA from cuentaa")
' c.Position=0
' clie_id = c.GetString("CUENTA")
' c.Close
' c=B4XPages.MainPage.skmt.ExecQuery("select USUARIO from usuarioa")
' c.Position=0
' usuario = c.GetString("USUARIO")
' c.Close
' c=B4XPages.MainPage.skmt.ExecQuery("select sum(pe_costo_tot) as TOTAL_CLIE, SUM(PE_CANT) AS CANT_CLIE, COUNT(*) AS CUANTOS FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)")
' c.Position=0
' If c.GetString("CUANTOS") > 0 Then
' Private cbFactura As Int = 0
' If cb_factura.Checked Then cbFactura = 1
' B4XPages.MainPage.skmt.ExecNonQuery("delete from NOVENTA where NV_CLIENTE In (select cuenta from cuentaa)")
' 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_ENVIO_OK, PC_FACTURA) VALUES (?,?,?,?,?,?,?,?,?)", Array As Object(clie_id, sDate & sTime, usuario, c.GetString("CANT_CLIE"),c.GetString("TOTAL_CLIE"), B4XPages.MainPage.lon_gps, B4XPages.MainPage.lat_gps,0, cbFactura))
' B4XPages.MainPage.skmt.ExecNonQuery("UPDATE kmt_info set gestion = 2 where CAT_CL_CODIGO In (select cuenta from cuentaa)")
' End If
' c.Close
' DateTime.TimeFormat = "HHmmss"
' sTime=DateTime.Time(DateTime.Now)
' B4XPages.MainPage.skmt.ExecNonQuery2("UPDATE HIST_STAY_STORE set HSS_OUT = ? where HSS_OUT = 0 AND HSS_CODIGO In (select cuenta from cuentaa)", Array As Object(sTime))
' ' B4XPages.MainPage.skmt.ExecNonQuery("UPDATE HIST_STAY_STORE set HSS_TOT = HSS_OUT - HSS_IN where HSS_CODIGO In (select cuenta from cuentaa)")
' Try
' c=B4XPages.MainPage.skmt.ExecQuery(" Select (substr(HSS_OUT,1,2) - substr(HSS_IN,1,2)) - Case when (substr(HSS_OUT,3,2) - substr(HSS_IN,3,2)) < 0 Then 1 Else 0 end HORAS_TOTALES, " & _
' "Case when (substr(HSS_OUT,3,2) - substr(HSS_IN,3,2)) < 0 Then (substr(HSS_OUT,3,2) + 60 - substr(HSS_IN,3,2)) " & _
' " Else (substr(HSS_OUT,3,2) - substr(HSS_IN,3,2)) End - Case when (substr(HSS_OUT,5,2) - substr(HSS_IN,5,2)) < 0 Then 1 Else 0 end MINUTOS_TOTALES, " & _
' "Case when (substr(HSS_OUT,5,2) - substr(HSS_IN,5,2)) < 0 Then (substr(HSS_OUT,5,2) + 60 - substr(HSS_IN,5,2)) " & _
' " Else (substr(HSS_OUT,5,2) - substr(HSS_IN,5,2)) end SEGUNDOS_TOTALES " & _
' " from HIST_STAY_STORE where HSS_CODIGO In (Select cuenta from cuentaa) ")
' c.Position = 0
' stay_hh = c.GetString("HORAS_TOTALES") * 60 * 60
' stay_mi = c.GetString("MINUTOS_TOTALES") * 60
' stay_ss = c.GetString("SEGUNDOS_TOTALES")
' B4XPages.MainPage.skmt.ExecNonQuery2("UPDATE HIST_STAY_STORE set HSS_TOT = ? where HSS_CODIGO In (select cuenta from cuentaa)", Array As Object(stay_hh + stay_mi + stay_ss))
' B4XPages.MainPage.skmt.ExecNonQuery2("UPDATE HIST_STAY_OUT set HSO_FIN = ? ", Array As Object(sTime))
' c.Close
' Catch
' ToastMessageShow(".",True)
' End Try
'
' skmt.ExecNonQuery2("update PEDIDO_INICIO_FINAL set PIF_HORA_FINAL = ? where PIF_CLIENTE = ? and PIF_HORA_FINAL = 0", Array As Object (DateTime.Now, la_cuenta.Text))
'' LogColor($"actualizamos "${la_cuenta.text}, hora_final=${DateTime.now}"$,Colors.Red)
' Subs.actualizaTET(la_cuenta.text)
' DateTime.TimeFormat = "HH:mm:ss"
'
' mandaPendientes 'LO COMENTAMOS PARA PRUEBAS, ACTIVAR AL FINAL!!!
'
' B4XPages.MainPage.productos.reiniciarlistaProds = True
' B4XPages.MainPage.productos.prodsMap.Initialize
' B4XPages.MainPage.promos.promosMap.Initialize
' B4XPages.ShowPage("Principal")
Guardar.SendToBack
b_inicioFinVenta.Text = "TERMINAR VENTA"
' Log("RESPALDO")
If la_cuenta.Text <> "0" Then 'Si es ABORDO, no mostramos el boton b_inicioFinVenta y regresamos a Principal.
b_inicioFinVenta.Visible = True
Else
' b_inicioFinVenta.Visible = False
Starter.enVenta = False
LogColor(">>>>>> ABORDO: " & Starter.enVenta, Colors.red)
Subs.bitacora(Subs.fechanormal(DateTime.Now), usuario, Id_Almacen, ruta_tienda, "Venta Abordo", "0", Subs.fechanormal(DateTime.Now), Subs.fechanormal(DateTime.Now), B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps, precision, "", "")
Subs.iniciaActividad("principal")
B4XPages.ShowPageAndRemovePreviousPages("Principal")
End If
' Guardar.SendToBack
' b_inicioFinVenta.Text = "TERMINAR VENTA"
'' Log("RESPALDO")
' If la_cuenta.Text <> "0" Then 'Si es ABORDO, no mostramos el boton b_inicioFinVenta y regresamos a Principal.
' b_inicioFinVenta.Visible = True
' Else
'' b_inicioFinVenta.Visible = False
' Starter.enVenta = False
' LogColor(">>>>>> ABORDO: " & Starter.enVenta, Colors.red)
' Subs.bitacora(Subs.fechanormal(DateTime.Now), usuario, Id_Almacen, ruta_tienda, "Venta Abordo", "0", Subs.fechanormal(DateTime.Now), Subs.fechanormal(DateTime.Now), B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps, precision, "", "")
' Subs.iniciaActividad("principal")
' B4XPages.ShowPageAndRemovePreviousPages("Principal")
' End If
End Sub
@@ -707,9 +720,9 @@ Sub B_GUARDA_C_Click
B4XPages.MainPage.skmt.ExecNonQuery2("INSERT INTO HIST_FACE(HFCLIENTE, HFALIAS,HFRUTA,HFALMACEN) VALUES (?,?,?,?) ", Array As Object(la_cuenta.Text, I_COMPRA.Text,LA_RUTA,ALMACEN))
Panel1.Visible = False
' b_like.Visible = True
Tar.Visible = True
Tels.Visible = True
gest.Visible = True
Tar.Visible = False
Tels.Visible = False
gest.Visible = False
' b_like.Visible = False
Guardar.Visible = True
End Sub
@@ -938,6 +951,12 @@ Sub JobDone(Job As HttpJob)
Log("mandaBitacora")
End If
End If
If Job.JobName = "DBRequest" Then
Dim resultado As DBResult = reqManager.HandleJob(Job)
If resultado.Tag= "ventaNoVenta" Then
Log("ventaNoVenta")
End If
End If
Job.Release
End If
@@ -1004,4 +1023,77 @@ Private Sub b_inicioFinVenta_Click
c.Close
End Sub
Private Sub b_clienteVenta_Click
et_monto_venta.Text = ""
p_monto_venta.Visible = True
End Sub
Private Sub b_clinteSinVenta_Click
Guardar_Click
et_monto_venta.Text = "0"
Subs.ventaNoVenta(usuario, Id_Almacen, ruta_tienda, "SinVenta", Subs.traeCliente, Subs.fechanormal(DateTime.Now), B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps, et_monto_venta.Text)
Try
c = B4XPages.MainPage.skmt.ExecQuery("Select CUENTA from cuentaa")
c.Position = 0
clie_id = c.GetString("CUENTA")
c.Close
B4XPages.MainPage.skmt.ExecNonQuery("delete from NOVENTA where NV_CLIENTE In (select cuenta from cuentaa)")
B4XPages.MainPage.skmt.ExecNonQuery("delete from pedido_cliente where PC_CLIENTE In (select cuenta from cuentaa)")
B4XPages.MainPage.skmt.ExecNonQuery("UPDATE kmt_info set gestion = 2 where CAT_CL_CODIGO In (select cuenta from cuentaa)")
B4XPages.MainPage.skmt.ExecNonQuery2("UPDATE HIST_STAY_STORE set HSS_OUT = ? where HSS_OUT = 0 AND HSS_CODIGO In (select cuenta from cuentaa)", Array As Object(DateTime.Time(DateTime.Now)))
B4XPages.MainPage.skmt.ExecNonQuery2("UPDATE HIST_STAY_OUT set HSO_FIN = ? ", Array As Object(DateTime.Time(DateTime.Now)))
ToastMessageShow("Cliente con venta eliminado correctamente.", False)
Catch
ToastMessageShow("Error eliminando cliente con venta.", True)
End Try
End Sub
Private Sub b_gu_monto_venta_Click
If et_monto_venta.Text = "" Or et_monto_venta.Text = "0" Then
ToastMessageShow("El monto de venta no puede ser vacío o 0.", True)
Else
Guardar_Click
Subs.ventaNoVenta(usuario, Id_Almacen, ruta_tienda, "ConVenta", Subs.traeCliente, Subs.fechanormal(DateTime.Now), B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps, et_monto_venta.Text)
Try
c = B4XPages.MainPage.skmt.ExecQuery("Select CUENTA from cuentaa")
c.Position = 0
clie_id = c.GetString("CUENTA")
c.Close
B4XPages.MainPage.skmt.ExecNonQuery("delete from NOVENTA where NV_CLIENTE In (select cuenta from cuentaa)")
B4XPages.MainPage.skmt.ExecNonQuery("delete from pedido_cliente where PC_CLIENTE In (select cuenta from cuentaa)")
B4XPages.MainPage.skmt.ExecNonQuery("UPDATE kmt_info set gestion = 2 where CAT_CL_CODIGO In (select cuenta from cuentaa)")
B4XPages.MainPage.skmt.ExecNonQuery2("UPDATE HIST_STAY_STORE set HSS_OUT = ? where HSS_OUT = 0 AND HSS_CODIGO In (select cuenta from cuentaa)", Array As Object(DateTime.Time(DateTime.Now)))
B4XPages.MainPage.skmt.ExecNonQuery2("UPDATE HIST_STAY_OUT set HSO_FIN = ? ", Array As Object(DateTime.Time(DateTime.Now)))
ToastMessageShow("Cliente con venta eliminado correctamente.", False)
Catch
ToastMessageShow("Error eliminando cliente con venta.", True)
End Try
p_monto_venta.Visible = False
End If
End Sub
Private Sub b_can_monto_venta_Click
p_monto_venta.Visible = False
End Sub

View File

@@ -84,12 +84,6 @@ Sub GUARDA_Click
motivo = "Cerrado permanente."
End If
If B4XPages.MainPage.cliente.IsInitialized Then
B4XPages.MainPage.cliente.motivoNoVenta = motivo
Subs.bitacora(Subs.fechanormal(DateTime.Now), usuario, Subs.traeAlmacen, Subs.traeRuta, "No Venta", Subs.traeCliente, "", Subs.fechanormal(DateTime.Now), B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps, B4XPages.MainPage.cliente.precision, motivo, e_comm.text)
Starter.enVenta = False
End If
DateTime.DateFormat = "MM/dd/yyyy"
sDate=DateTime.Date(DateTime.Now)
sTime=DateTime.Time(DateTime.Now)
@@ -107,6 +101,11 @@ Sub GUARDA_Click
Next
End If
If B4XPages.MainPage.cliente.IsInitialized Then
B4XPages.MainPage.cliente.motivoNoVenta = motivo
Subs.bitacora(Subs.fechanormal(DateTime.Now), usuario, Subs.traeAlmacen, Subs.traeRuta, "No Venta", Subs.traeCliente, "", Subs.fechanormal(DateTime.Now), B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps, B4XPages.MainPage.cliente.precision, motivo, e_comm.text)
Starter.enVenta = False
End If
B4XPages.MainPage.skmt.ExecNonQuery("delete from pedido_cliente where pc_cliente in (Select CUENTA from cuentaa)")
B4XPages.MainPage.skmt.ExecNonQuery("delete from pedido where pe_cliente in (Select CUENTA from cuentaa)")
@@ -136,6 +135,8 @@ Sub GUARDA_Click
B4XPages.MainPage.skmt.ExecNonQuery2("update PEDIDO_INICIO_FINAL set PIF_HORA_FINAL = ? where PIF_CLIENTE = ? and PIF_HORA_FINAL = 0", Array As Object (DateTime.Now, cuenta))
LogColor($"actualizamos "${cuenta}, hora_final=${DateTime.now}"$,Colors.Red)
Subs.bitacora(Subs.fechanormal(DateTime.Now), usuario, Subs.traeAlmacen, Subs.traeRuta, "NO VENTA", Subs.traeCliente, Subs.fechanormal(DateTime.Now), Subs.fechanormal(DateTime.Now), B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps, 2, "", r_1.Checked)
mandaPendientesnoventa
B4XPages.ShowPage("Principal")
End Sub

View File

@@ -605,6 +605,28 @@ Sub Subir_Click
Log("MANDAMOS BITACORA")
'BITACORA (PROYECTO GPS)
Private h As ResultSet = B4XPages.MainPage.skmt.ExecQuery($"select * from VENTA_No_VENTA"$)
Do While h.nextrow
cmd.Initialize
Private eventov As String = h.GetString("eventov")
cmd.Name = "insert_venta_no_venta_MEDICOMED"
Private clientev As String = h.GetString("clientev")
Private nombreClientev As String =Subs. traeNombreCliente(h.GetString("clientev"))
If eventov = "Llega a almacen" Then
nombreClientev = "BOLETA"
clientev = ""
End If
If eventov = "Salida almacen" Then nombreClientev = "CHECKLIST"
If eventov = "Fin Día" Then nombreClientev = "FIN DIA"
If eventov = "Carga día" Then nombreClientev = "CARGA DIA"
cmd.Parameters = Array As Object(h.GetString("usuariov"), h.GetString("almacenv"), h.GetString("rutav"), eventov, clientev, h.GetString("iniciov"), finb, h.GetString("latitudv"), h.GetString("longitudv"), nombreClientev)
reqManager.ExecuteCommand(cmd , "ventaNoVenta")
Loop
' c=B4XPages.MainPage.skmt.ExecQuery("SELECT CAT_CL_NUM_SERIEFISICO,CAT_CL_CODIGO ,CAT_CL_LONG,CAT_CL_LAT, CAT_CL_FOTO FROM kmt_info where CAT_CL_NUM_SERIEFISICO IS NOT NULL")
' If c.RowCount>0 Then
' For i=0 To c.RowCount -1
@@ -1776,6 +1798,7 @@ Sub e_ruta_EnterPressed
B4XPages.MainPage.skmt.ExecNonQuery("DELETE FROM HIST_FOTO_CLIENTE")
B4XPages.MainPage.skmt.ExecNonQuery("DELETE FROM CLIENTES_NUEVOS")
B4XPages.MainPage.skmt.ExecNonQuery("DELETE FROM BITACORAGPS")
B4XPages.MainPage.skmt.ExecNonQuery("DELETE FROM VENTA_No_VENTA")
Subs.bitacora(Subs.fechanormal(DateTime.Now),usuario,ALMACEN,l_ruta.Text,"Fin Día", "",Subs.fechanormal(DateTime.Now),Subs.fechanormal(DateTime.Now),B4XPages.MainPage.lat_gps,B4XPages.MainPage.lon_gps,"2","","")
B4XPage_Appear
End If

View File

@@ -23,6 +23,36 @@ Public Sub Initialize As Object
Return Me
End Sub
''This event will be called once, before the page becomes visible.
'Private Sub B4XPage_Created (Root1 As B4XView)
' Root = Root1
' 'load the layout to Root
' ruta = File.DirInternal
' Root.LoadLayout("ticketsdia")
' If File.Exists(ruta, "kmt.db") = False Then
' File.Copy(File.DirAssets, "kmt.db", ruta, "kmt.db")
' End If
' c=B4XPages.MainPage.skmt.ExecQuery("select PC_CLIENTE,PC_MONTO,PC_NOART FROM PEDIDO_CLIENTE ORDER BY PC_FECHA asc")
' ListView1.Clear
' If c.RowCount>0 Then
' For i=0 To c.RowCount -1
' c.Position=i
' Dim label1 As Label
' label1 = ListView1.TwoLinesLayout.Label
' label1.TextSize = 10
' label1.TextColor = Colors.Black
' Dim label2 As Label
' label2 = ListView1.TwoLinesLayout.SecondLabel
' label2.TextSize = 15
' label2.TextColor = Colors.Blue
' label2.Height = 60dip
' label2.Width = ListView1.Width * 0.99
' ListView1.TwoLinesLayout.ItemHeight = 80dip
' ListView1.AddTwoLines(c.GetString("PC_CLIENTE"),"Cantidad #"& c.GetString("PC_NOART")& " SubTotal $"& c.GetString("PC_MONTO"))
' Next
' End If
'End Sub
'This event will be called once, before the page becomes visible.
Private Sub B4XPage_Created (Root1 As B4XView)
Root = Root1
@@ -32,11 +62,36 @@ Private Sub B4XPage_Created (Root1 As B4XView)
If File.Exists(ruta, "kmt.db") = False Then
File.Copy(File.DirAssets, "kmt.db", ruta, "kmt.db")
End If
c=B4XPages.MainPage.skmt.ExecQuery("select PC_CLIENTE,PC_MONTO,PC_NOART FROM PEDIDO_CLIENTE ORDER BY PC_FECHA asc")
End Sub
'You can see the list of page related events in the B4XPagesManager object. The event name is B4XPage.
Sub B4XPage_Appear
nombre_boton = "NOVENTA"
' c=B4XPages.MainPage.skmt.ExecQuery("select PC_CLIENTE,PC_MONTO,PC_NOART,(select CAT_CL_NOMBRE from kmt_info where cat_cl_codigo = pc_cliente ) as NOMBRE FROM PEDIDO_CLIENTE ORDER BY PC_FECHA asc")
' ListView1.Clear
' If c.RowCount>0 Then
' For i=0 To c.RowCount -1
' c.Position=i
' Dim label1 As Label
' label1 = ListView1.TwoLinesLayout.Label
' label1.TextSize = 15
' label1.TextColor = Colors.Black
' Dim label2 As Label
' label2 = ListView1.TwoLinesLayout.SecondLabel
' label2.TextSize = 10
' label2.TextColor = Colors.Blue
' ListView1.AddTwoLines(c.GetString("PC_CLIENTE"),c.GetString("NOMBRE") &" Cantidad #"& c.GetString("PC_NOART")& " SubTotal $"& c.GetString("PC_MONTO"))
' Next
' End If
' c.Close
c = B4XPages.MainPage.skmt.ExecQuery("select * from venta_no_venta where eventov <> 'SinVenta'")
ListView1.Clear
If c.RowCount>0 Then
For i=0 To c.RowCount -1
c.Position=i
If c.RowCount > 0 Then
For i = 0 To c.RowCount - 1
c.Position = i
Dim label1 As Label
label1 = ListView1.TwoLinesLayout.Label
label1.TextSize = 10
@@ -48,29 +103,8 @@ Private Sub B4XPage_Created (Root1 As B4XView)
label2.Height = 60dip
label2.Width = ListView1.Width * 0.99
ListView1.TwoLinesLayout.ItemHeight = 80dip
ListView1.AddTwoLines(c.GetString("PC_CLIENTE"),"Cantidad #"& c.GetString("PC_NOART")& " SubTotal $"& c.GetString("PC_MONTO"))
Next
End If
End Sub
'You can see the list of page related events in the B4XPagesManager object. The event name is B4XPage.
Sub B4XPage_Appear
nombre_boton = "NOVENTA"
c=B4XPages.MainPage.skmt.ExecQuery("select PC_CLIENTE,PC_MONTO,PC_NOART,(select CAT_CL_NOMBRE from kmt_info where cat_cl_codigo = pc_cliente ) as NOMBRE FROM PEDIDO_CLIENTE ORDER BY PC_FECHA asc")
ListView1.Clear
If c.RowCount>0 Then
For i=0 To c.RowCount -1
c.Position=i
Dim label1 As Label
label1 = ListView1.TwoLinesLayout.Label
label1.TextSize = 15
label1.TextColor = Colors.Black
Dim label2 As Label
label2 = ListView1.TwoLinesLayout.SecondLabel
label2.TextSize = 10
label2.TextColor = Colors.Blue
ListView1.AddTwoLines(c.GetString("PC_CLIENTE"),c.GetString("NOMBRE") &" Cantidad #"& c.GetString("PC_NOART")& " SubTotal $"& c.GetString("PC_MONTO"))
ListView1.AddTwoLines(c.GetString("clientev"), "SubTotal $" & c.GetString("montoVentav"))
Log(c.GetString("clientev") & "SubTotal $" & c.GetString("montoVentav"))
Next
End If
c.Close
@@ -112,40 +146,47 @@ Sub b_noventa_Click
If nombre_boton = "NOVENTA" Then
nombre_boton = "VENTA"
b_noventa.Text ="VENTA"
c=B4XPages.MainPage.skmt.ExecQuery("select NV_CLIENTE,NV_MOTIVO,NV_COMM, (select CAT_CL_NOMBRE from kmt_info where cat_cl_codigo = NV_CLIENTE ) as NOMBRE FROM NOVENTA ORDER BY NV_CLIENTE asc")
c = B4XPages.MainPage.skmt.ExecQuery("select * from venta_no_venta where eventov = 'SinVenta'")
ListView1.Clear
If c.RowCount>0 Then
For i=0 To c.RowCount -1
c.Position=i
If c.RowCount > 0 Then
For i = 0 To c.RowCount - 1
c.Position = i
Dim label1 As Label
label1 = ListView1.TwoLinesLayout.Label
label1.TextSize = 15
label1.TextSize = 10
label1.TextColor = Colors.Black
Dim label2 As Label
label2 = ListView1.TwoLinesLayout.SecondLabel
label2.TextSize = 10
label2.TextSize = 15
label2.TextColor = Colors.Blue
ListView1.AddTwoLines(c.GetString("NV_CLIENTE"),c.GetString("NOMBRE") &" Motivo #"& c.GetString("NV_MOTIVO")& " Comentario $"& c.GetString("NV_COMM"))
label2.Height = 60dip
label2.Width = ListView1.Width * 0.99
ListView1.TwoLinesLayout.ItemHeight = 80dip
ListView1.AddTwoLines(c.GetString("clientev"), "SubTotal $" & c.GetString("montoVentav"))
Log(c.GetString("clientev") & "SubTotal $" & c.GetString("montoVentav"))
Next
End If
Else
nombre_boton = "NOVENTA"
b_noventa.Text ="NO VENTA"
c=B4XPages.MainPage.skmt.ExecQuery("select PC_CLIENTE,PC_MONTO,PC_NOART,(select CAT_CL_NOMBRE from kmt_info where cat_cl_codigo = pc_cliente ) as NOMBRE FROM PEDIDO_CLIENTE ORDER BY PC_FECHA asc")
c = B4XPages.MainPage.skmt.ExecQuery("select * from venta_no_venta where eventov <> 'SinVenta'")
ListView1.Clear
If c.RowCount>0 Then
For i=0 To c.RowCount -1
c.Position=i
If c.RowCount > 0 Then
For i = 0 To c.RowCount - 1
c.Position = i
Dim label1 As Label
label1 = ListView1.TwoLinesLayout.Label
label1.TextSize = 15
label1.TextSize = 10
label1.TextColor = Colors.Black
Dim label2 As Label
label2 = ListView1.TwoLinesLayout.SecondLabel
label2.TextSize = 10
label2.TextSize = 15
label2.TextColor = Colors.Blue
ListView1.AddTwoLines(c.GetString("PC_CLIENTE"),c.GetString("NOMBRE") &" Cantidad #"& c.GetString("PC_NOART")& " SubTotal $"& c.GetString("PC_MONTO"))
label2.Height = 60dip
label2.Width = ListView1.Width * 0.99
ListView1.TwoLinesLayout.ItemHeight = 80dip
ListView1.AddTwoLines(c.GetString("clientev"), "SubTotal $" & c.GetString("montoVentav"))
Log(c.GetString("clientev") & "SubTotal $" & c.GetString("montoVentav"))
Next
End If
c.Close

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,168 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest
xmlns:android="http://schemas.android.com/apk/res/android"
package="keymon.lat.medicomed"
android:versionCode="1"
android:versionName="4.09.22"
android:installLocation="internalOnly">
<uses-sdk android:minSdkVersion="5" android:targetSdkVersion="33"/>
<supports-screens android:largeScreens="true"
android:normalScreens="true"
android:smallScreens="true"
android:anyDensity="true"/>
<uses-permission
android:name="android.permission.WRITE_EXTERNAL_STORAGE"
android:maxSdkVersion="33" />
<uses-permission
android:name="android.permission.ACCESS_FINE_LOCATION"
android:maxSdkVersion="33" />
<uses-permission
android:name="android.permission.READ_PHONE_STATE"
android:maxSdkVersion="33" />
<uses-permission
android:name="android.permission.READ_PRIVILEGED_PHONE_STATE"
android:maxSdkVersion="33" />
<uses-permission
android:name="android.permission.WRITE_EXTERNAL_STORAGE"
android:maxSdkVersion="33" />
<uses-feature android:name="android.hardware.telephony" android:required="false" />
<uses-feature android:name="android.hardware.camera" android:required="false" />
<uses-feature android:name="android.hardware.camera.autofocus" android:required="false" />
<uses-feature android:name="android.hardware.camera.flash" android:required="false" />
<uses-permission android:name="android.permission.WRITE_SECURE_SETTINGS"/>
<uses-permission android:name="android.permission.REBOOT"/>
<uses-permission android:name="android.permission.WRITE_SETTINGS"/>
<uses-permission android:name="android.permission.BLUETOOTH"/>
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN"/>
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
<uses-permission android:name="android.permission.UPDATE_DEVICE_STATS"/>
<uses-permission android:name="android.permission.MODIFY_PHONE_STATE"/>
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
<uses-permission android:name="android.permission.CAMERA"/>
<uses-permission android:name="android.hardware.camera"/>
<uses-permission android:name="android.hardware.camera.autofocus"/>
<uses-permission android:name="android.permission.VIBRATE"/>
<uses-permission android:name="android.permission.FLASHLIGHT"/>
<uses-permission android:name="android.permission.POST_NOTIFICATIONS"/>
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES"/>
<uses-permission android:name="keymon.lat.medicomed.permission.MAPS_RECEIVE"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.WAKE_LOCK"/>
<uses-permission android:name="android.permission.FOREGROUND_SERVICE"/>
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
<uses-permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION"/>
<uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES"/>
<uses-permission android:name="android.permission.INSTALL_PACKAGES"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE"/>
<application
android:name="androidx.multidex.MultiDexApplication"
android:icon="@drawable/icon"
android:label="Medicomed"
android:theme="@style/LightTheme"
android:usesCleartextTraffic="true"
android:largeHeap="true">
<activity android:name="com.google.zxing.client.android.CaptureActivity"
android:screenOrientation="landscape"
android:configChanges="orientation|keyboardHidden"
android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
android:windowSoftInputMode="stateAlwaysHidden">
</activity>
<activity android:name="com.google.android.gms.common.api.GoogleApiActivity"
android:theme="@android:style/Theme.Translucent.NoTitleBar"
android:exported="false"/>
<meta-data
android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version" />
<meta-data
android:name="com.google.android.geo.API_KEY"
android:value="AIzaSyBlBnx3O-DncOSv3oFIp-12wgujOYYcl-U"/>
<meta-data android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version" />
<uses-library
android:name="org.apache.http.legacy"
android:required="false" />
<provider
android:name="androidx.core.content.FileProvider"
android:authorities="keymon.lat.medicomed.provider"
android:exported="false"
android:grantUriPermissions="true">
<meta-data
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/provider_paths"/>
</provider>
<activity android:name="ice.zxing.CaptureActivity"
android:screenOrientation="portrait" android:configChanges="orientation|keyboardHidden"
android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
android:windowSoftInputMode="stateAlwaysHidden">
</activity>
<activity
android:windowSoftInputMode="stateHidden"
android:launchMode="singleTop"
android:name=".main"
android:label="Medicomed"
android:screenOrientation="portrait"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<service
android:name=".starter"
android:exported="true">
</service>
<receiver
android:name=".starter$starter_BR"
android:exported="true">
</receiver>
<service
android:name=".appupdater"
android:exported="true">
</service>
<receiver
android:name=".appupdater$appupdater_BR"
android:exported="true">
</receiver>
<activity
android:windowSoftInputMode="stateHidden"
android:launchMode="singleTop"
android:name=".mapa_rutas"
android:label="Medicomed"
android:screenOrientation="portrait"
android:exported="true">
</activity>
<service
android:name=".tracker"
android:exported="true"
android:foregroundServiceType="location">
</service>
<receiver
android:name=".tracker$tracker_BR"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED"/>
</intent-filter>
</receiver>
<service
android:name=".newinst2"
android:exported="true">
</service>
<receiver
android:name=".newinst2$newinst2_BR"
android:exported="true">
</receiver>
<receiver
android:name=".httputils2service"
android:exported="true">
</receiver>
</application>
</manifest>

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,37 @@
.b4xdialog .scroll-bar:horizontal, .b4xdialog .scroll-bar:vertical{
-fx-background-color:transparent;
}
.b4xdialog .increment-button, .b4xdialog .decrement-button {
-fx-background-color: transparent;
-fx-border-color: transparent;
}
.b4xdialog .scroll-bar:horizontal .track,
.b4xdialog .scroll-bar:vertical .track{
-fx-background-color: transparent;
-fx-border-color: transparent;
-fx-background-radius: 0em;
}
.b4xdialog .scroll-bar:horizontal .thumb,
.b4xdialog .scroll-bar:vertical .thumb {
-fx-background-color: #4B4B4B;
-fx-background-radius: 5em;
}
.b4xdialoglight .scroll-bar:horizontal .thumb,
.b4xdialoglight .scroll-bar:vertical .thumb {
-fx-background-color: #B8B8B8;
}
.scroll-pane{
-fx-background-color:transparent;
}
.scroll-pane .viewport {
-fx-background-color: transparent;
}
.text-area .content {
-fx-padding: 15 5 5 5;
}

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Some files were not shown because too many files have changed in this diff Show More