mirror of
https://github.com/KeymonSoft/Intmex_Multiventa.git
synced 2026-04-17 12:56:08 +00:00
178 lines
7.2 KiB
QBasic
178 lines
7.2 KiB
QBasic
B4A=true
|
|
Group=Default Group
|
|
ModulesStructureVersion=1
|
|
Type=Class
|
|
Version=11.5
|
|
@EndOfDesignText@
|
|
Sub Class_Globals
|
|
Private Root As B4XView 'ignore
|
|
Private xui As XUI 'ignore
|
|
|
|
Dim g As GPS
|
|
Dim ruta As String
|
|
Dim skmt As SQL
|
|
Dim c As Cursor
|
|
|
|
Dim CANCELA As Button
|
|
Dim GUARDA As Button
|
|
Dim r_1 As RadioButton
|
|
Dim r_2 As RadioButton
|
|
Dim r_3 As RadioButton
|
|
Dim e_comm As EditText
|
|
Dim motivo As String
|
|
Dim cuenta As String
|
|
Dim usuario As String
|
|
Dim sDate,sTime As String
|
|
' Dim lat_gps, lon_gps As String
|
|
Dim tgl As Toggle
|
|
Dim r_4 As RadioButton
|
|
Dim reqManager As DBRequestManager
|
|
Private stay_hh As String
|
|
Private stay_mi As String
|
|
Private stay_ss As String
|
|
End Sub
|
|
|
|
'You can add more parameters here.
|
|
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
|
|
Root.LoadLayout("noventa")
|
|
ruta = File.DirInternal
|
|
' End If
|
|
If File.Exists(ruta, "kmt.db") = False Then
|
|
File.Copy(File.DirAssets, "kmt.db", ruta, "kmt.db")
|
|
End If
|
|
reqManager.Initialize(Me, Starter.DBReqServer)
|
|
' skmt.Initialize(ruta,"kmt.db", True)
|
|
End Sub
|
|
|
|
'You can see the list of page related events in the B4XPagesManager object. The event name is B4XPage.
|
|
|
|
Sub B4XPage_Appear
|
|
e_comm.Text=""
|
|
tgl.Initialize
|
|
If Not(Starter.gps.GPSEnabled) Then
|
|
ToastMessageShow("Es necesario tener el GPS encendido", True)
|
|
StartActivity(Starter.gps.LocationSettingsIntent)
|
|
End If
|
|
r_1.Checked = False
|
|
r_2.Checked = False
|
|
r_3.Checked = False
|
|
r_4.Checked = False
|
|
e_comm.Text = ""
|
|
End Sub
|
|
|
|
Sub GPS_LocationChanged (Location1 As Location)
|
|
'lat_gps=Location1.ConvertToSeconds(Location1.Latitude)
|
|
'lon_gps=Location1.ConvertToSeconds(Location1.Longitude)
|
|
End Sub
|
|
|
|
Sub CANCELA_Click
|
|
B4XPages.ShowPage("Cliente")
|
|
End Sub
|
|
Sub GUARDA_Click
|
|
If r_1.Checked Then
|
|
motivo = "CERRADO"
|
|
Else If r_2.Checked Then
|
|
motivo = "NO COMPRA"
|
|
Else If r_3.Checked Then
|
|
motivo = "CON PRODUCTO"
|
|
Else
|
|
motivo = "NO ESTA EL ENCARGADO"
|
|
End If
|
|
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
|
|
cuenta = c.GetString("CUENTA")
|
|
c=B4XPages.MainPage.skmt.ExecQuery("select usuario from usuarioa")
|
|
c.Position = 0
|
|
usuario = c.GetString("USUARIO")
|
|
c=B4XPages.MainPage.skmt.ExecQuery("select PE_PROID,PE_CANT FROM PEDIDO where pe_cliente in (Select CUENTA from cuentaa) ")
|
|
If c.RowCount>0 Then
|
|
For i=0 To c.RowCount -1
|
|
c.Position=i
|
|
B4XPages.MainPage.skmt.ExecNonQuery2("update cat_gunaprod set cat_gp_almacen = cat_gp_almacen + ? where cat_gp_id = ?", Array As Object(c.GetString("PE_CANT"),c.GetString("PE_PROID")))
|
|
Next
|
|
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)")
|
|
|
|
B4XPages.MainPage.skmt.ExecNonQuery2("INSERT INTO NOVENTA (NV_CLIENTE,NV_FECHA,NV_USER,NV_MOTIVO,NV_COMM,NV_LAT,NV_LON) VALUES(?,?,?,?,?,?,?) ", Array As Object (cuenta,sDate & sTime, usuario, motivo,e_comm.text, B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps))
|
|
B4XPages.MainPage.skmt.ExecNonQuery("UPDATE kmt_info set gestion = 3 where CAT_CL_CODIGO In (select cuenta from cuentaa)")
|
|
DateTime.TimeFormat = "HHmmss"
|
|
sTime=DateTime.Time(DateTime.Now)
|
|
B4XPages.MainPage.skmt.ExecNonQuery2("UPDATE HIST_STAY_STORE set HSS_OUT = ? where 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)")
|
|
|
|
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))
|
|
DateTime.TimeFormat = "HH:mm:ss"
|
|
|
|
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)
|
|
|
|
mandaPendientesnoventa
|
|
B4XPages.ShowPage("Principal")
|
|
End Sub
|
|
|
|
Sub mandaPendientesnoventa
|
|
'PEDIDO_CLIENTE (Pendientes)
|
|
' c = B4XPages.MainPage.skmt.ExecQuery("SELECT PC_CLIENTE, PC_FECHA, PC_USER, PC_NOART, PC_MONTO,PC_LON, PC_LAT, PC_COSTO_SIN, PC_RUTA, PC_ALMACEN, PC_FACTURA FROM PEDIDO_CLIENTE where pc_envio_ok <> 1")
|
|
c = B4XPages.MainPage.skmt.ExecQuery("SELECT * FROM NOVENTA where ifnull(NV_ENVIO_OK, 0) <> 1")
|
|
Log($"NO VENTA PENDIENTE: ${c.RowCount}"$)
|
|
If c.RowCount>0 Then
|
|
For i=0 To c.RowCount -1
|
|
c.Position=i
|
|
Dim cmd As DBCommand
|
|
cmd.Initialize
|
|
cmd.Name = "insert_noventa_INTMEX"
|
|
cmd.Parameters = Array As Object(C.GetString("NV_CLIENTE"), C.GetString("NV_FECHA"), C.GetString("NV_USER"), C.GetString("NV_MOTIVO"), C.GetString("NV_COMM"), C.GetString("NV_LAT"), C.GetString("NV_LON"), Subs.traeAlmacen, Subs.traeRuta)
|
|
reqManager.ExecuteCommand(cmd , $"insert_noventa_${c.GetString("NV_CLIENTE")}"$)
|
|
' insert_noventa_INTMEX=INSERT INTO INTMEX.NOVENTA (NV_FECHA_SINC,NV_CLIENTE,NV_FECHA,NV_USER,NV_MOTIVO,NV_COMM,NV_LAT,NV_LON,NV_IDALMACEN,NV_RUTA) VALUES (SYSDATE,(?),(?),(?),(?),(?),(?),(?),(?),(?))
|
|
Next
|
|
End If
|
|
End Sub
|
|
|
|
Sub JobDone(Job As HttpJob)
|
|
Log(Job.Success)
|
|
If Job.Success = False Then
|
|
ToastMessageShow("Error: " & Job.ErrorMessage, True)
|
|
Else
|
|
LogColor("JobDone: '" & reqManager.HandleJob(Job).tag & "' - Registros: " & reqManager.HandleJob(Job).Rows.Size, Colors.Green) 'Mod por CHV - 211027
|
|
If Job.JobName = "DBRequest" Then
|
|
Dim resultado As DBResult = reqManager.HandleJob(Job)
|
|
If resultado.Tag.As(String).IndexOf("insert_noventa_") > -1 Then
|
|
Private cliente As String= resultado.Tag
|
|
cliente = cliente.SubString(cliente.IndexOf("_") + 9)
|
|
Log($"Cliente1:${cliente}"$)
|
|
Starter.skmt.ExecNonQuery($"update NOVENTA set NV_ENVIO_OK = '1' where NV_CLIENTE = '${cliente}'"$)
|
|
For Each records() As Object In resultado.Rows
|
|
For Each k As String In resultado.Columns.Keys
|
|
Log(resultado.Tag & ": " & k & ": " & records(resultado.Columns.Get(k)))
|
|
Next
|
|
Next
|
|
End If
|
|
End If
|
|
Job.Release
|
|
End If
|
|
End Sub |