mirror of
https://github.com/KeymonSoft/DBCheck.git
synced 2026-04-17 19:37:09 +00:00
4286 lines
166 KiB
Plaintext
4286 lines
166 KiB
Plaintext
|
|
'======================================================================================
|
|
$// ARCHIVO_INICIO: B4XMainPage.bas
|
|
'======================================================================================
|
|
|
|
B4A=true
|
|
Group=Default Group
|
|
ModulesStructureVersion=1
|
|
Type=Class
|
|
Version=9.85
|
|
@EndOfDesignText@
|
|
#Region Shared Files
|
|
'#CustomBuildAction: folders ready, %WINDIR%\System32\Robocopy.exe,"..\..\Shared Files" "..\Files"
|
|
'Ctrl + click to sync files: ide://run?file=%WINDIR%\System32\Robocopy.exe&args=..\..\Shared+Files&args=..\Files&FilesSync=True
|
|
'Ctrl + click to export as zip: ide://run?File=%B4X%\Zipper.jar&Args=Project.zip
|
|
'###########################################################################################################
|
|
'###################### PULL #############################################################
|
|
'Ctrl + click ide://run?file=%WINDIR%\System32\cmd.exe&Args=/c&Args=git&Args=pull
|
|
'###########################################################################################################
|
|
'###################### PUSH #############################################################
|
|
'Ctrl + click ide://run?file=%WINDIR%\System32\WindowsPowerShell\v1.0\powershell.exe&Args=github&Args=..\..\
|
|
'###########################################################################################################
|
|
'###################### PUSH TORTOISE GIT #########################################################
|
|
'Ctrl + click ide://run?file=%WINDIR%\System32\WindowsPowerShell\v1.0\powershell.exe&Args=TortoiseGitProc&Args=/command:commit&Args=/path:"./../../"&Args=/closeonend:2
|
|
'###########################################################################################################
|
|
#End Region
|
|
|
|
|
|
'Faltan:
|
|
' - Venta: Izca, Kelloggs, Profina, (Danvit y Salma no tienen forma de enviar la base de datos)
|
|
' - Reparto: Guna, Intmex, Durakelo, Profina, Marquez, Mazapa, Izca
|
|
|
|
Reparto:
|
|
HIST_VENTAS - Son los pedidos a entregar
|
|
kmt_info - Cientes
|
|
NOVENTA - Cuentos enregados y cuantos no entregados
|
|
PAGARES - Pagares Nuevos
|
|
ABONOS_P - Pagares pendientes de cobro
|
|
ABONOS - Pagos realizados de pagares de ABONOS_P
|
|
PEDIDO - Ventas de rechazo (si hubo rechazo y se vendió, ahi aparece)
|
|
PEDIDO_CLIENTE - Igual
|
|
REPARTO -
|
|
|
|
|
|
|
|
'Ctrl + click ide://run?file=%WINDIR%\System32\cmd.exe&Args=/c&Args=github&Args=..\..\
|
|
|
|
Sub Class_Globals
|
|
Dim Root As B4XView
|
|
Dim xui As XUI
|
|
' Dim b_cargar As Button
|
|
Dim b_enviar As Button
|
|
Dim ime As IME
|
|
Dim skmt As SQL
|
|
Dim reqManager As DBRequestManager
|
|
Dim cmd As DBCommand
|
|
Dim l_pedidos2 As Label
|
|
Dim l_diasVenta As Label
|
|
Dim l_totalVenta As Label
|
|
Dim l_cantsEnCero As Label
|
|
Dim l_clienteNoNumerico As Label
|
|
Dim cuantos_pedido As String
|
|
' Dim datos_iguales As String
|
|
Dim cuantos_pedidosc As String
|
|
Dim cuantos_noventa As String
|
|
Dim l_ruta2 As Label
|
|
Dim ruta As String = ""
|
|
Dim l_usuario2 As Label
|
|
Dim usuario As String = ""
|
|
Dim l_almacen2 As Label
|
|
Dim almacen As String = ""
|
|
Dim p_progressDialog As Panel
|
|
Dim l_progressDialog As Label
|
|
Dim p_editaRuta As Panel
|
|
Dim p_editaAlmacen As Panel
|
|
Dim b_cargarBD As Button
|
|
Dim p_datos As Panel
|
|
Dim p_principal As Panel
|
|
Dim l_appInfo As Label
|
|
Dim empresa, appVersion As String
|
|
Dim et_nuevaRuta As EditText
|
|
Dim et_nuevoAlmacen As EditText
|
|
Dim p_clientes As Panel
|
|
' Dim lv_clientes As ListView
|
|
Dim clv_clientes As CustomListView
|
|
Dim p_item As Panel
|
|
Dim l_item As Label
|
|
Dim i_engrane As ImageView
|
|
Dim lv_DBRServer As ListView
|
|
Dim et_server As EditText
|
|
Dim B_SERVER As Button
|
|
Dim p_engrane As Panel
|
|
Private sp_empresa As Spinner
|
|
Private p_empresa As Panel
|
|
Private p_editaUsuario As Panel
|
|
Private et_nuevoUsuario As EditText
|
|
Private b_guardaUsuario As Button
|
|
Dim c, d As Cursor
|
|
Dim foto1() As Byte
|
|
Private b_valida As Button
|
|
Private l_version As Label
|
|
Dim p_validacion As Panel
|
|
Dim l_vProds2 As Label
|
|
Dim l_vPedidos2 As Label
|
|
Dim l_vNoVenta2 As Label
|
|
Dim i_progress As B4XGifView
|
|
Dim in As Intent
|
|
Dim intentUsado As Boolean = False
|
|
Dim Guna_Reparto As C_Guna_Reparto
|
|
Dim Intmex As C_Intmex
|
|
Dim Izca As C_Izca
|
|
Dim Durakelo As C_Durakelo
|
|
Dim Marquez As C_Marquez
|
|
Dim Mazapa As C_Mazapa
|
|
Dim Profina As C_Profina
|
|
Private l_version0 As Label
|
|
Private b_guardaRutaTodos As Button
|
|
Private b_guardaRuta As Button
|
|
End Sub
|
|
|
|
Public Sub Initialize
|
|
' B4XPages.GetManager.LogEvents = True
|
|
End Sub
|
|
|
|
'This event will be called once, before the page becomes visible.
|
|
Sub B4XPage_Created (Root1 As B4XView)
|
|
Root = Root1
|
|
Root.LoadLayout("MainPage")
|
|
i_progress.SetGif(File.DirAssets, "progress.gif")
|
|
l_version.Text = Application.VersionName
|
|
l_version0.Text = Application.VersionName
|
|
p_principal.Width = Root.Width : p_principal.Height = Root.Height
|
|
l_version0.Top = Root.Height - 60dip
|
|
Subs.centraPanel(p_datos, Root.Width)
|
|
Subs.centraPanel(p_validacion, Root.Width)
|
|
p_validacion.Top = l_diasVenta.Top
|
|
reqManager.Initialize(Me, "http://keymon.net:1781")
|
|
B4XPages.SetTitle(Me, "Revisión de BD")
|
|
Subs.centraPanel(p_progressDialog, Root.Width)
|
|
Subs.centraPanel(p_editaRuta, Root.Width)
|
|
Subs.centraPanel(p_editaAlmacen, Root.Width)
|
|
Subs.centraPanel(p_editaUsuario, Root.Width)
|
|
Subs.centraPanel(p_clientes, Root.Width)
|
|
ime.Initialize("ime")
|
|
lv_DBRServer.AddSingleLine("http://keymon.net:1781")
|
|
' lv_DBRServer.AddSingleLine("http://keymon.net:1782")
|
|
lv_DBRServer.AddSingleLine("http://keymon.net:1782")
|
|
et_server.Text = "http://keymon.net:1781"
|
|
B_SERVER.Left = (Root.Width / 2) - (B_SERVER.Width / 2) 'Centramos B_SERVER
|
|
et_server.Left = (Root.Width / 2) - (et_server.Width / 2) 'Centramos et_server
|
|
lv_DBRServer.Left = (Root.Width / 2) - (lv_DBRServer.Width / 2) 'Centramos lv_DBRServer
|
|
sp_empresa.Add("------------")
|
|
sp_empresa.Add("Durakelo")
|
|
sp_empresa.Add("Guna")
|
|
sp_empresa.Add("Guna_Reparto")
|
|
sp_empresa.Add("Intmex")
|
|
sp_empresa.Add("Izca")
|
|
sp_empresa.Add("Mariana")
|
|
sp_empresa.Add("Marquez")
|
|
sp_empresa.Add("Mazapa")
|
|
sp_empresa.Add("Profina")
|
|
i_engrane.Left = Root.Width - i_engrane.Width - 5dip
|
|
Intmex.Initialize
|
|
Guna_Reparto.Initialize
|
|
Izca.Initialize
|
|
Durakelo.Initialize
|
|
Marquez.Initialize
|
|
Mazapa.Initialize
|
|
Profina.Initialize
|
|
End Sub
|
|
|
|
'You can see the list of page related events in the B4XPagesManager object. The event name is B4XPage.
|
|
|
|
Sub B4XPage_Appear
|
|
Log("INICIO")
|
|
If Not(in.IsInitialized) Then in = B4XPages.GetNativeParent(Me).GetStartingIntent
|
|
If Not(intentUsado) And in <> Null Then
|
|
Log(in)
|
|
' Dim action As String = in.Action
|
|
' Log("Action: " & action) ' Ej: "android.intent.action.VIEW"
|
|
' Dim uri As Object = in.GetData ' Obtiene la URI (content://...)
|
|
' Log(in.GetData)
|
|
' If uri <> Null Then
|
|
' Dim uriString As String = uri
|
|
' Log("URI: " & uriString) ' Ej: "content://com.whatsapp.provider.media/..."
|
|
' Else
|
|
' Log("El Intent no tiene URI asociada.")
|
|
' End If
|
|
' Dim mimeType As String = in.GetData
|
|
' Log("MIME Type: " & mimeType) ' Ej: "application/x-sqlite3"
|
|
' If in.HasExtra("android.intent.extra.STREAM") Then
|
|
' Dim extraUri As Object = in.GetExtra("android.intent.extra.STREAM")
|
|
' Log("Extra URI: " & extraUri) ' Ej: "content://..."
|
|
' Else
|
|
' Log("No hay extras con android.intent.extra.STREAM")
|
|
' End If
|
|
intentUsado = True
|
|
' Log(in.GetData)
|
|
If in.GetData <> Null Then
|
|
Dim XmlData As String
|
|
XmlData = in.GetData
|
|
ToastMessageShow(XmlData, False)
|
|
' Send_Make_somthing(in)
|
|
' Activity.Finish
|
|
Try
|
|
Dim OutStr As OutputStream = File.OpenOutput(File.DirInternal,"kmt.db",False)
|
|
Dim InStr As InputStream = File.OpenInput("ContentDir",XmlData)
|
|
File.Copy2(InStr,OutStr)
|
|
LogColor("BD copiada a interna.", Colors.Blue)
|
|
OutStr.Close
|
|
If in.As(String).Contains("whatsapp") Then B4XPages.SetTitle(Me, "BD cargada desde Whatsapp")
|
|
Catch
|
|
Log(LastException)
|
|
End Try
|
|
' ExitApplication
|
|
End If
|
|
End If
|
|
' Log($"Existe BD: ${File.Exists(File.DirInternal, "kmt.db") }"$)
|
|
If File.Exists(File.DirInternal, "kmt.db") Then
|
|
If Not(skmt.IsInitialized) Then skmt.Initialize(File.DirInternal,"kmt.db", True)
|
|
Try
|
|
Dim ai As Cursor = skmt.ExecQuery($"select CAT_VA_DESCRIPCION, CAT_VA_VALOR from cat_variables where CAT_VA_DESCRIPCION = 'APP_NAME' or CAT_VA_DESCRIPCION = 'EMPRESA' or CAT_VA_DESCRIPCION = 'APP_VERSION'"$)
|
|
If ai.RowCount > 1 Then
|
|
For i = 0 To ai.RowCount -1
|
|
ai.Position = i
|
|
If ai.GetString("CAT_VA_DESCRIPCION") = "EMPRESA" Then empresa = ai.GetString("CAT_VA_VALOR")
|
|
If ai.GetString("CAT_VA_DESCRIPCION") = "APP_NAME" Then empresa = ai.GetString("CAT_VA_VALOR")
|
|
If ai.GetString("CAT_VA_DESCRIPCION") = "APP_VERSION" Then appVersion = ai.GetString("CAT_VA_VALOR")
|
|
' Log(ai.GetString("CAT_VA_DESCRIPCION"))
|
|
Next
|
|
l_appInfo.Text = $"${empresa} ${appVersion}"$
|
|
End If
|
|
ai.Close
|
|
Catch
|
|
Log(LastException)
|
|
LogColor("Error en CAT_VARIABLES", Colors.red)
|
|
End Try
|
|
Try
|
|
Dim c As Cursor = skmt.ExecQuery($"select count(distinct pe_cliente) as pedidos, group_concat(distinct substr(pe_fecha, 4,2)) as diasVenta, sum(pe_costo_tot) as total, (select PE_CANT from pedido where PE_CANT = 0) as cantsEnCero, (select count(distinct PE_CLIENTE) from pedido where printf("%d", PE_CLIENTE) <> PE_CLIENTE ) as clienteNoNumerico from pedido"$)
|
|
' Log(c.RowCount)
|
|
If c.RowCount > 0 Then
|
|
c.Position = 0
|
|
l_pedidos2.Text = c.GetString("pedidos")
|
|
l_diasVenta.Text = "N/A"
|
|
If c.GetString("diasVenta") <> Null Then l_diasVenta.Text = c.GetString("diasVenta")
|
|
If c.GetString("diasVenta").Length > 2 Then
|
|
l_diasVenta.TextColor = Colors.Red
|
|
Else
|
|
l_diasVenta.TextColor = Colors.Black
|
|
End If
|
|
If c.GetString("total") <> Null Then l_totalVenta.Text = "$" & NumberFormat2(c.GetString("total"), 1, 2, 2, True) Else l_totalVenta.Text = "0"
|
|
l_cantsEnCero.Text = "0"
|
|
If c.GetString("cantsEnCero") <> Null Then l_cantsEnCero.Text = c.GetString("cantsEnCero")
|
|
l_clienteNoNumerico.Text = c.GetString("clienteNoNumerico")
|
|
End If
|
|
c.Close
|
|
Catch
|
|
Log(LastException)
|
|
LogColor("Error en PEDIDO", Colors.red)
|
|
End Try
|
|
Try
|
|
Dim c As Cursor = skmt.ExecQuery("select pe_ruta from pedido")
|
|
If c.RowCount > 0 Then
|
|
c.Position = 0
|
|
ruta = c.GetString("PE_RUTA")
|
|
l_ruta2.Text = ruta
|
|
End If
|
|
c.Close
|
|
Catch
|
|
Log(LastException)
|
|
LogColor("Error en PEDIDO", Colors.red)
|
|
End Try
|
|
Try
|
|
Dim c As Cursor = skmt.ExecQuery("select USUARIO from usuarioa")
|
|
If c.RowCount > 0 Then
|
|
c.Position = 0
|
|
usuario = c.GetString("USUARIO")
|
|
l_usuario2.Text = usuario
|
|
End If
|
|
c.Close
|
|
Catch
|
|
Log(LastException)
|
|
LogColor("Error en USUARIOA", Colors.red)
|
|
End Try
|
|
Try
|
|
Dim c As Cursor = skmt.ExecQuery("select ID_ALMACEN from cat_almacen")
|
|
If c.RowCount > 0 Then
|
|
c.Position = 0
|
|
almacen = c.GetString("ID_ALMACEN")
|
|
l_almacen2.Text = almacen
|
|
End If
|
|
c.Close
|
|
Catch
|
|
Log(LastException)
|
|
LogColor("Error en CAT_ALMACEN", Colors.red)
|
|
End Try
|
|
End If
|
|
Try
|
|
usuario = Subs.traeUsuarioDeBD
|
|
almacen = Subs.traeAlmacen
|
|
ruta = Subs.traeRuta
|
|
Catch
|
|
Log(LastException)
|
|
End Try
|
|
' b_enviar.Enabled = False
|
|
|
|
Log(empresa)
|
|
p_empresa.Visible = False
|
|
|
|
If empresa.ToUpperCase.Contains("MARIANA") Then
|
|
b_enviar.Text = "Enviar Mariana"
|
|
b_valida.Text = "Validar Mariana"
|
|
Log("Cargamos MARIANA")
|
|
b_enviar.Enabled = True
|
|
else if empresa.ToUpperCase.Contains("GUNA") Then
|
|
b_enviar.Text = "Enviar Guna"
|
|
b_valida.Text = "Validar Guna"
|
|
b_enviar.Enabled = True
|
|
Log("Cargamos GUNA")
|
|
else if empresa.ToUpperCase.Contains("Guna_Reparto") Then
|
|
b_enviar.Text = "Enviar Guna_Reparto"
|
|
b_valida.Text = "Validar Guna_Reparto"
|
|
b_enviar.Enabled = True
|
|
Log("Cargamos Guna_Reparto")
|
|
else if empresa.ToUpperCase.Contains("INTMEX") Then
|
|
b_enviar.Text = "Enviar Intmex"
|
|
b_valida.Text = "Validar Intmex"
|
|
b_enviar.Enabled = True
|
|
Log("Cargamos INTMEX")
|
|
else if empresa.ToUpperCase.Contains("IZCA") Then
|
|
b_enviar.Text = "Enviar Izca"
|
|
b_valida.Text = "Validar Izca"
|
|
b_enviar.Enabled = True
|
|
Log("Cargamos IZCA")
|
|
else if empresa.ToUpperCase.Contains("DURAKELO") Then
|
|
b_enviar.Text = "Enviar Durakelo"
|
|
b_valida.Text = "Validar Durakelo"
|
|
b_enviar.Enabled = True
|
|
Log("Cargamos DURAKELO")
|
|
else if empresa.ToUpperCase.Contains("MARQUEZ") Then
|
|
b_enviar.Text = "Enviar Marquez"
|
|
b_valida.Text = "Validar Marquez"
|
|
b_enviar.Enabled = True
|
|
Log("Cargamos MARQUEZ")
|
|
else if empresa.ToUpperCase.Contains("MAZAPA") Then
|
|
b_enviar.Text = "Enviar Mazapa"
|
|
b_valida.Text = "Validar Mazapa"
|
|
b_enviar.Enabled = True
|
|
Log("Cargamos MAZAPA")
|
|
else if empresa.ToUpperCase.Contains("PROFINA") Then
|
|
b_enviar.Text = "Enviar Profina"
|
|
b_valida.Text = "Validar Profina"
|
|
b_enviar.Enabled = True
|
|
Log("Cargamos PROFINA")
|
|
Else
|
|
p_empresa.Visible = True
|
|
b_enviar.Enabled = False
|
|
End If
|
|
End Sub
|
|
|
|
Sub b_enviar_Click
|
|
Dim resultado = Msgbox2("Se va a enviar la venta de la BD", "AVISO", "Continuar", "Cancelar", "", Null) 'ignore
|
|
If resultado = DialogResponse.POSITIVE Then
|
|
B4XPages.MainPage.l_progressDialog.Text = " Enviando información"
|
|
B4XPages.MainPage.p_progressDialog.Top = l_pedidos2.Top
|
|
B4XPages.MainPage.p_progressDialog.Visible = True
|
|
B4XPages.MainPage.p_progressDialog.BringToFront
|
|
reqManager.reqsList.Initialize 'inicializamos lista de requests.
|
|
If empresa.ToUpperCase.Contains("MARIANA") Then
|
|
envioMariana
|
|
else if empresa.ToUpperCase.Contains("GUNA") Then
|
|
envioGuna
|
|
else if empresa.ToUpperCase.Contains("GUNA_REPARTO") Then
|
|
envioGuna_Reparto
|
|
else if empresa.ToUpperCase.Contains("INTMEX") Then
|
|
envioIntmex
|
|
else if empresa.ToUpperCase.Contains("IZCA") Then
|
|
envioIzca
|
|
else if empresa.ToUpperCase.Contains("DURAKELO") Then
|
|
envioDurakelo
|
|
else if empresa.ToUpperCase.Contains("MARQUEZ") Then
|
|
envioMarquez
|
|
else if empresa.ToUpperCase.Contains("MAZAPA") Then
|
|
envioMazapa
|
|
else if empresa.ToUpperCase.Contains("PROFINA") Then
|
|
envioProfina
|
|
End If
|
|
' Sleep(5000)
|
|
End If
|
|
ToastMessageShow($"Se enviaran los datos, este proceso podria tardar hasta un minuto."$ , True)
|
|
End Sub
|
|
|
|
Sub JobDone(Job As HttpJob)
|
|
If reqManager.reqsList.IsInitialized Then 'Si tenemos lista de requests, la procesamos.
|
|
If reqManager.reqsList.IndexOf(Job.tag) <> -1 Then
|
|
reqManager.reqsList.RemoveAt(reqManager.reqsList.IndexOf(Job.tag))
|
|
LogColor($">>>>>> Quitamos ${Job.tag}"$, Colors.Blue)
|
|
End If
|
|
LogColor(">>>>>> " & reqManager.reqsList.Size & " - " & reqManager.reqsList, Colors.Blue)
|
|
End If
|
|
If Not(Job.Success) Then
|
|
LogColor("Error: " & Job.tag & " : " & Job.ErrorMessage, Colors.red)
|
|
Else 'If Job Success then ...
|
|
LogColor("JobDone: '" & reqManager.HandleJob(Job).tag & "' - Registros: " & reqManager.HandleJob(Job).Rows.Size, Colors.Green)
|
|
Dim resultado As DBResult = reqManager.HandleJob(Job)
|
|
|
|
If Job.JobName = "DBRequest" Then
|
|
Dim resultado As DBResult = reqManager.HandleJob(Job)
|
|
|
|
If resultado.Tag.As(String).IndexOf("ins_pedido_") > -1 Then
|
|
Dim cliente As String= resultado.Tag
|
|
Log($"Cliente1:${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
|
|
|
|
If resultado.Tag.As(String).IndexOf("hist_encuesta") > -1 Then
|
|
Dim cliente As String= resultado.Tag
|
|
Log($"Cliente1:${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
|
|
|
|
If resultado.Tag = "valida_pedido" Then 'query tag
|
|
For Each records() As Object In resultado.Rows
|
|
Dim CUANTOSP As Int = records(resultado.Columns.Get("CUANTOSP"))
|
|
l_vProds2.Text = $"${CUANTOSP}/${cuantos_pedido}"$
|
|
If cuantos_pedido <= CUANTOSP Then
|
|
ToastMessageShow("INFO OK", True)
|
|
Else
|
|
ToastMessageShow($"No se cargo bien la info de pedido.${CRLF}Envíe nuevamente: "$ & CUANTOSP & "/" & cuantos_pedido, True)
|
|
ToastMessageShow("ENVIAR DATOS (K-2)", True)
|
|
Log("No se cargo bien la info de pedido. Envíe nuevamente: " & CUANTOSP & "/" & cuantos_pedido)
|
|
End If
|
|
Next
|
|
End If
|
|
|
|
If resultado.Tag = "valida_pedidoc" Then 'query tag
|
|
For Each records() As Object In resultado.Rows
|
|
Dim CUANTOSC As Int = records(resultado.Columns.Get("CUANTOSC"))
|
|
l_vPedidos2.Text = $"${CUANTOSC}/${cuantos_pedidosc}"$
|
|
If cuantos_pedidosc <= CUANTOSC Then
|
|
Else
|
|
ToastMessageShow($"No se cargo bien la info de pedido_cliente.${CRLF}Envíe nuevamente: "$ & CUANTOSC & "/" & cuantos_pedidosc, True)
|
|
Log("No se cargo bien la info de pedido_cliente. Envíe nuevamente: " & CUANTOSC & "/" & cuantos_pedidosc)
|
|
End If
|
|
Next
|
|
End If
|
|
|
|
If resultado.Tag = "valida_noventa" Then 'query tag
|
|
For Each records() As Object In resultado.Rows
|
|
Dim CUANTOSN As Int = records(resultado.Columns.Get("CUANTOSN"))
|
|
l_vNoVenta2.Text = $"${CUANTOSN}/${cuantos_noventa}"$
|
|
If cuantos_noventa <= CUANTOSN Then
|
|
Else
|
|
ToastMessageShow($"No se cargo bien la info de NoVenta.${CRLF}Envíe nuevamente: "$ & CUANTOSN & "/" & cuantos_noventa, True)
|
|
Log("No se cargo bien la info de NoVenta. Envíe nuevamente:" & CUANTOSN & "/" & cuantos_noventa)
|
|
End If
|
|
Next
|
|
End If
|
|
|
|
If resultado.Tag = "ins_pedido" Then 'query tag
|
|
For Each records() As Object In resultado.Rows
|
|
Next
|
|
Log("5")
|
|
End If
|
|
|
|
If resultado.Tag = "ins_pedido" Then 'query tag
|
|
For Each records() As Object In resultado.Rows
|
|
' PB2.Progress = PB2.Progress + 5
|
|
' S_CP.Text = "SUBIENDO"
|
|
Next
|
|
End If
|
|
End If
|
|
End If
|
|
Log(reqManager.reqsList)
|
|
If reqManager.reqsList.size = 0 Then p_progressDialog.Visible = False
|
|
Job.Release
|
|
End Sub
|
|
|
|
Sub B4XPage_CloseRequest As ResumableSub
|
|
If p_engrane.Visible = True Then
|
|
p_engrane.Visible = False
|
|
Else
|
|
ExitApplication
|
|
End If
|
|
Return False
|
|
End Sub
|
|
|
|
Sub b_cargarBD_Click
|
|
Dim FH As FileHandler
|
|
FH.Initialize
|
|
l_appInfo.Text = ""
|
|
Wait For (FH.Load) Complete (Result As LoadResult) 'Abre un fileManager para seleccionar la base de datos a importar.
|
|
Log("|" & Result.FileName & "|")
|
|
If Result.FileName <> "" And Result.FileName <> Null Then
|
|
p_clientes.Visible = False
|
|
p_editaAlmacen.Visible = False
|
|
p_editaRuta.Visible = False
|
|
File.Copy(Result.Dir, Result.FileName, File.DirInternal, "kmt.db") 'Copia la base de datos seleccionada al directorio interno.
|
|
skmt.Initialize(File.DirInternal,"kmt.db", True) 'Reiniciliza la base de datos con la recien importada.
|
|
|
|
B4XPage_Appear
|
|
|
|
ToastMessageShow("¡BD importada!", False)
|
|
End If
|
|
End Sub
|
|
|
|
Sub l_ruta2_LongClick
|
|
p_editaRuta.Top = l_ruta2.top
|
|
b_guardaRuta.text = $"Cambiar en "${l_ruta2.text}""$
|
|
p_editaRuta.Visible = True
|
|
End Sub
|
|
|
|
Sub l_almacen2_LongClick
|
|
p_editaAlmacen.Top = l_almacen2.top
|
|
p_editaAlmacen.Visible = True
|
|
End Sub
|
|
|
|
Sub l_usuario2_LongClick
|
|
p_editaUsuario.Top = l_usuario2.top
|
|
p_editaUsuario.Visible = True
|
|
Log("xxx")
|
|
End Sub
|
|
|
|
Sub l_clienteNoNumerico_LongClick
|
|
Dim c As Cursor = skmt.ExecQuery($"select distinct pe_cliente as cliente from pedido"$)
|
|
If c.RowCount > 0 Then
|
|
clv_clientes.Clear
|
|
For i = 0 To c.RowCount - 1
|
|
c.Position = i
|
|
clv_clientes.Add(CreateListItem(c.GetString("cliente")),i)
|
|
Next
|
|
End If
|
|
p_clientes.Top = l_totalVenta.top
|
|
p_clientes.BringToFront
|
|
p_clientes.Visible = True
|
|
End Sub
|
|
|
|
'Cambiamos la ruta actual por la especificado.
|
|
Sub b_guardaRuta_Click
|
|
Log("Guardamos nueva ruta.")
|
|
If et_nuevaRuta.Text <> "" Then
|
|
skmt.ExecNonQuery($"update PEDIDO set PE_RUTA = '${et_nuevaRuta.Text}' where PE_RUTA = '${ruta}'"$)
|
|
skmt.ExecNonQuery($"update PEDIDO_CLIENTE set PC_RUTA = '${et_nuevaRuta.Text}' where PC_RUTA = '${ruta}'"$)
|
|
skmt.ExecNonQuery($"update kmt_info set CAT_CL_RUTA = '${et_nuevaRuta.Text}' where CAT_CL_RUTA = '${ruta}'"$)
|
|
Try 'Si es Guna, se pone en kmt_info2
|
|
skmt.ExecNonQuery($"update kmt_info2 set CAT_CL_RUTA = '${et_nuevaRuta.Text}' where CAT_CL_RUTA = '${ruta}'"$)
|
|
Catch
|
|
Log(LastException)
|
|
End Try
|
|
l_ruta2.Text = et_nuevaRuta.text
|
|
End If
|
|
p_editaRuta.Visible = False
|
|
End Sub
|
|
|
|
Private Sub b_guardaRutaTodos_Click
|
|
Log("Guardamos nueva ruta.")
|
|
If et_nuevaRuta.Text <> "" Then
|
|
skmt.ExecNonQuery($"update PEDIDO set PE_RUTA = '${et_nuevaRuta.Text}'"$)
|
|
skmt.ExecNonQuery($"update PEDIDO_CLIENTE set PC_RUTA = '${et_nuevaRuta.Text}' where PC_RUTA = '${ruta}'"$)
|
|
skmt.ExecNonQuery($"update kmt_info set CAT_CL_RUTA = '${et_nuevaRuta.Text}' where CAT_CL_RUTA = '${ruta}'"$)
|
|
Try 'Si es Guna, se pone en kmt_info2
|
|
skmt.ExecNonQuery($"update kmt_info2 set CAT_CL_RUTA = '${et_nuevaRuta.Text}' where CAT_CL_RUTA = '${ruta}'"$)
|
|
Catch
|
|
Log(LastException)
|
|
End Try
|
|
l_ruta2.Text = et_nuevaRuta.text
|
|
End If
|
|
p_editaRuta.Visible = False
|
|
End Sub
|
|
|
|
'Cambiamos el almacen actual por el especificado.
|
|
Sub b_guardaAlmacen_Click
|
|
If et_nuevoAlmacen.Text <> "" Then
|
|
skmt.ExecNonQuery($"delete from cat_almacen"$)
|
|
skmt.ExecNonQuery($"insert into cat_almacen (id_almacen) values ('${et_nuevoAlmacen.Text}')"$)
|
|
skmt.ExecNonQuery($"update PEDIDO set PE_CEDIS = '${et_nuevoAlmacen.Text}' where PE_CEDIS = '${l_almacen2.text}'"$)
|
|
skmt.ExecNonQuery($"update PEDIDO_CLIENTE set PC_ALMACEN = '${et_nuevoAlmacen.Text}' where PC_ALMACEN = '${l_almacen2.text}'"$)
|
|
l_almacen2.Text = et_nuevoAlmacen.text
|
|
End If
|
|
p_editaAlmacen.Visible = False
|
|
End Sub
|
|
|
|
'Cambiamos el usuario actual por el especificado.
|
|
Private Sub b_guardaUsuario_Click
|
|
' skmt.ExecNonQuery($"delete from usuarioa"$)
|
|
If et_nuevoUsuario.Text <> "" Then
|
|
skmt.ExecNonQuery($"update usuarioa set usuario = '${et_nuevoUsuario.Text}'"$)
|
|
skmt.ExecNonQuery($"update NOVENTA set NV_USER = '${et_nuevoUsuario.Text}' where NV_USER = '${l_usuario2.text}'"$)
|
|
skmt.ExecNonQuery($"update PEDIDO set PE_USUARIO = '${et_nuevoUsuario.Text}' where PE_USUARIO = '${l_usuario2.text}'"$)
|
|
skmt.ExecNonQuery($"update PEDIDO_CLIENTE set PC_USER = '${et_nuevoUsuario.Text}' where PC_USER = '${l_usuario2.text}'"$)
|
|
l_usuario2.Text = et_nuevoUsuario.text
|
|
End If
|
|
p_editaUsuario.Visible = False
|
|
End Sub
|
|
|
|
Sub p_principal_Click
|
|
p_editaAlmacen.Visible = False
|
|
p_editaRuta.Visible = False
|
|
p_clientes.Visible = False
|
|
p_validacion.Visible = False
|
|
ime.HideKeyboard
|
|
End Sub
|
|
|
|
Sub CreateListItem(mostrar As String) As Panel
|
|
Dim p As B4XView = xui.CreatePanel("")
|
|
p.SetLayoutAnimated(0, 0, 0, 1, 10) 'ignore
|
|
p.LoadLayout("listItem")
|
|
p.Height= 36dip
|
|
p.Width = clv_clientes.GetBase.Width
|
|
p_item.Height = p.Height
|
|
p_item.Width = p.Width
|
|
l_item.Height = p.Height
|
|
l_item.Width = p.Width
|
|
l_item.Text = mostrar
|
|
' cxc.Text = mostrar3
|
|
' Log(p.Width)
|
|
Return p
|
|
End Sub
|
|
|
|
Sub i_engrane_Click
|
|
Subs.panelVisible(p_engrane, 0, 0)
|
|
p_engrane.Width = Root.Width : p_engrane.Height = Root.Height
|
|
End Sub
|
|
|
|
Sub B_SERVER_Click
|
|
p_engrane.Visible = False
|
|
reqManager.Initialize(Me, et_server.text)
|
|
End Sub
|
|
|
|
Sub lv_DBRServer_ItemClick (Position As Int, Value As Object)
|
|
et_server.Text = Value
|
|
reqManager.Initialize(Me, Value)
|
|
End Sub
|
|
|
|
Private Sub lv_empresa_ItemClick (Position As Int, Value As Object)
|
|
empresa = Value
|
|
l_appInfo.Text = $"${empresa}"$
|
|
End Sub
|
|
|
|
Private Sub sp_empresa_ItemClick (Position As Int, Value As Object)
|
|
empresa = Value
|
|
If empresa <> "------------" And empresa <> "" Then
|
|
b_enviar.Enabled = True
|
|
b_valida.Enabled = True
|
|
b_enviar.Text = $"Enviar ${empresa} "$
|
|
b_valida.Text = $"Validar ${empresa} "$
|
|
Else
|
|
b_enviar.Enabled = False
|
|
b_valida.Enabled = False
|
|
End If
|
|
Log(Value)
|
|
End Sub
|
|
|
|
Sub envioMariana 'ignore
|
|
reqManager.reqsList.Initialize 'inicializamos lista de requests.
|
|
B4XPages.MainPage.skmt.ExecNonQuery2("delete from PEDIDO WHERE PE_PRONOMBRE = ? ", Array As Object("N/A") )
|
|
B4XPages.MainPage.skmt.ExecNonQuery("delete from pedido_cliente where PC_CLIENTE not In (select PE_CLIENTE from pedido)")
|
|
' PEDIO_CLIENTE
|
|
Dim c As Cursor = 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 ")
|
|
Dim d As Cursor = B4XPages.MainPage.skmt.ExecQuery("SELECT COUNT(*) as CUANTOS_PEDIDOSC FROM PEDIDO_CLIENTE ")
|
|
If c.RowCount>0 Then
|
|
For i=0 To c.RowCount - 1
|
|
c.Position=i
|
|
Dim cmd As DBCommand
|
|
cmd.Initialize
|
|
cmd.Name = "insert_pedidos_MARDS"
|
|
cmd.Parameters = Array As Object(c.GetString("PC_CLIENTE"), c.GetString("PC_FECHA"), c.GetString("PC_USER"), c.GetString("PC_NOART"), c.GetString("PC_MONTO"), c.GetString("PC_LON"), c.GetString("PC_LAT"), almacen, ruta, c.GetString("PC_COSTO_SIN"), c.GetString("PC_FACTURA"))
|
|
B4XPages.MainPage.reqManager.ExecuteCommand(cmd , $"ins_pedidos_${i}"$)
|
|
Next
|
|
End If
|
|
c.Close
|
|
d.Position=0
|
|
' Dim cuantos_pedidosc As String = D.GetString("CUANTOS_PEDIDOSC")
|
|
d.Close
|
|
|
|
' ENVIO DE LOS CODIGOS QR
|
|
c = B4XPages.MainPage.skmt.ExecQuery("SELECT CODIGOKMTS, CODIGOB, LAT, LON FROM HIST_CODIGO_BARRAS" )
|
|
If c.RowCount>0 Then
|
|
For i=0 To c.RowCount - 1
|
|
c.Position=i
|
|
Dim cmd As DBCommand
|
|
cmd.Initialize
|
|
cmd.Name = "insert_QR_2_MARDS"
|
|
cmd.Parameters = Array As Object(C.GetString("CODIGOKMTS"),C.GetString("CODIGOB"),C.GetString("LON"),C.GetString("LAT"),almacen, ruta)
|
|
B4XPages.MainPage.reqManager.ExecuteCommand(cmd , $"ins_QR_${i}"$)
|
|
Next
|
|
End If
|
|
c.Close
|
|
|
|
c = B4XPages.MainPage.skmt.ExecQuery("SELECT HE_CLIE, HE_RES, HE_FECHA, HE_TIPO FROM HIST_ENCUESTA")
|
|
If c.RowCount>0 Then
|
|
For i=0 To c.RowCount - 1
|
|
c.Position=i
|
|
Dim cmd As DBCommand
|
|
cmd.Initialize
|
|
cmd.Name = "insert_encuesta_MARDS"
|
|
cmd.Parameters = Array As Object(C.GetString("HE_CLIE"),C.GetString("HE_RES"),C.GetString("HE_FECHA"), c.GetString("HE_TIPO"))
|
|
B4XPages.MainPage.reqManager.ExecuteCommand(cmd , $"ins_encuesta_${i}"$)
|
|
Next
|
|
End If
|
|
c.Close
|
|
|
|
c = B4XPages.MainPage.skmt.ExecQuery("SELECT PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO, PE_COSTO_SIN, PE_RUTA, PE_DESC, PE_FOLIO FROM PEDIDO")
|
|
d = B4XPages.MainPage.skmt.ExecQuery("SELECT COUNT(*) as CUANTOS_PEDIDO FROM PEDIDO")
|
|
If c.RowCount>0 Then
|
|
For i=0 To c.RowCount - 1
|
|
c.Position=i
|
|
Dim cmd As DBCommand
|
|
cmd.Initialize
|
|
cmd.Name = "insert_pedido_MARDS"
|
|
cmd.Parameters = Array As Object(C.GetString("PE_CEDIS"),almacen,C.GetString("PE_COSTO_TOT"),C.GetString("PE_COSTOU"),C.GetString("PE_CANT"),C.GetString("PE_PRONOMBRE"),C.GetString("PE_PROID"),C.GetString("PE_CLIENTE"),C.GetString("PE_FECHA"),C.GetString("PE_USUARIO"),C.GetString("PE_RUTA"), C.GetString("PE_COSTO_SIN"),C.GetString("PE_DESC"),c.GetString("PE_FOLIO"))
|
|
B4XPages.MainPage.reqManager.ExecuteCommand(cmd , $"ins_pedido_${i}"$)
|
|
Next
|
|
End If
|
|
c.Close
|
|
d.Position=0
|
|
B4XPages.MainPage.cuantos_pedido = D.GetString("CUANTOS_PEDIDO")
|
|
d.Close
|
|
|
|
' NOVENTA
|
|
c = B4XPages.MainPage.skmt.ExecQuery("SELECT NV_CLIENTE,NV_FECHA,NV_USER,NV_MOTIVO,NV_COMM,NV_LAT,NV_LON, NV_NOMBRE, NV_DIRECCION FROM NOVENTA")
|
|
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_MARDS"
|
|
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"), almacen, ruta,C.GetString("NV_NOMBRE"),C.GetString("NV_DIRECCION"))
|
|
B4XPages.MainPage.reqManager.ExecuteCommand(cmd , $"ins_noventa_${i}"$)
|
|
Next
|
|
End If
|
|
c.Close
|
|
|
|
d = skmt.ExecQuery("SELECT COUNT(*) AS CUANTOS_NOVENTA FROM NOVENTA")
|
|
d.Position = 0
|
|
Dim cuantos_noventa As String = d.GetString("CUANTOS_NOVENTA")
|
|
d.Close
|
|
|
|
' GEO CERCA
|
|
c = B4XPages.MainPage.skmt.ExecQuery("Select HGCLIENTE, HGDATE, HGLAT, HGLON from HIST_GEOCERCA")
|
|
If c.RowCount > 0 Then
|
|
For i = 0 To c.RowCount - 1
|
|
c.Position = i
|
|
Dim cmd As DBCommand
|
|
cmd.Initialize
|
|
cmd.Name = "insert_geocerca_MARDS"
|
|
cmd.Parameters = Array As Object(C.GetString("HGCLIENTE"),C.GetString("HGDATE"),C.GetString("HGLAT"),C.GetString("HGLON"))
|
|
B4XPages.MainPage.reqManager.ExecuteCommand(cmd , "ins_geocerca")
|
|
Next
|
|
End If
|
|
c.Close
|
|
|
|
' LO DEL LIKE
|
|
c = B4XPages.MainPage.skmt.ExecQuery("Select HFCLIENTE, HFALIAS,HFRUTA,HFALMACEN from HIST_FACE")
|
|
If c.RowCount > 0 Then
|
|
For i = 0 To c.RowCount - 1
|
|
c.Position = i
|
|
Dim cmd As DBCommand
|
|
cmd.Initialize
|
|
cmd.Name = "insert_face_like_MARDS"
|
|
cmd.Parameters = Array As Object(C.GetString("HFCLIENTE"),C.GetString("HFALIAS"),C.GetString("HFRUTA"),C.GetString("HFALMACEN"))
|
|
B4XPages.MainPage.reqManager.ExecuteCommand(cmd , "inst_facelike")
|
|
Next
|
|
End If
|
|
c.Close
|
|
|
|
' DROP
|
|
' Dim sDate,sTime As String
|
|
' DateTime.DateFormat = "MM/dd/yyyy"
|
|
' sDate=DateTime.Date(DateTime.Now)
|
|
' sTime=DateTime.Time(DateTime.Now)
|
|
' Dim cmd As DBCommand
|
|
' cmd.Initialize
|
|
' cmd.Name ="insert_drop_MARDS_2"
|
|
' cmd.Parameters = Array As Object(usuario,ruta,sDate & sTime, l_porvisitar.Text,l_drop.Text,l_efectiva.Text,l_cuantosc.Text,l_cuantosn.Text, L_MONTOD.Text,"ENVIO",almacen)
|
|
' reqManager.ExecuteCommand(cmd , "inst_noventa")
|
|
End Sub
|
|
|
|
Sub envioGuna_Reparto 'ignore
|
|
Guna_Reparto.envia
|
|
End Sub
|
|
|
|
Sub envioIntmex 'ignore
|
|
Intmex.envia
|
|
End Sub
|
|
|
|
Sub envioIzca 'ignore
|
|
Izca.envia
|
|
End Sub
|
|
|
|
Sub envioDurakelo 'ignore
|
|
Durakelo.envia
|
|
End Sub
|
|
|
|
Sub envioMarquez 'ignore
|
|
Marquez.envia
|
|
End Sub
|
|
|
|
Sub envioMazapa 'ignore
|
|
Mazapa.envia
|
|
End Sub
|
|
|
|
Sub envioProfina 'ignore
|
|
Profina.envia
|
|
End Sub
|
|
|
|
Sub envioGuna 'ignore
|
|
Private PASO As Int = 1
|
|
reqManager.Initialize(Me, "http://keymon.net:1782")
|
|
reqManager.reqsList.Initialize 'inicializamos lista de requests.
|
|
If PASO = 1 Then
|
|
B4XPages.MainPage.skmt.ExecNonQuery("delete from pedido_cliente where PC_CLIENTE not In (select PE_CLIENTE from pedido)")
|
|
' PEDIO_CLIENTE
|
|
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 FROM PEDIDO_CLIENTE ")
|
|
If c.RowCount > 0 Then
|
|
For i = 0 To c.RowCount - 1
|
|
c.Position=i
|
|
Dim cmd As DBCommand
|
|
cmd.Initialize
|
|
cmd.Name = "insert_pedidos_GV2"
|
|
cmd.Parameters = Array As Object(C.GetString("PC_CLIENTE"),C.GetString("PC_FECHA"),C.GetString("PC_USER"),C.GetString("PC_NOART"),C.GetString("PC_MONTO"),C.GetString("PC_LON"),C.GetString("PC_LAT"), almacen, ruta, C.GetString("PC_COSTO_SIN") )
|
|
B4XPages.MainPage.reqManager.ExecuteCommand(cmd , "ins_pedidos")
|
|
Next
|
|
End If
|
|
c.Close
|
|
|
|
d = B4XPages.MainPage.skmt.ExecQuery("SELECT COUNT(*) as CUANTOS_PEDIDOSC FROM PEDIDO_CLIENTE ")
|
|
d.Position=0
|
|
Private cuantos_pedidosc As String = D.GetString("CUANTOS_PEDIDOSC")
|
|
d.Close
|
|
|
|
' ENVIO DE LOS CODIGOS QR
|
|
'c=skmt.ExecQuery2("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 = ?", Array As String("OK"))
|
|
c=B4XPages.MainPage.skmt.ExecQuery("SELECT CODIGOKMTS, CODIGOB, LAT, LON FROM HIST_CODIGO_BARRAS" )
|
|
If c.RowCount>0 Then
|
|
For i=0 To c.RowCount -1
|
|
c.Position=i
|
|
Dim cmd As DBCommand
|
|
cmd.Initialize
|
|
cmd.Name = "insert_QR_2_GV2"
|
|
cmd.Parameters = Array As Object(C.GetString("CODIGOKMTS"), C.GetString("CODIGOB"), C.GetString("LON"), C.GetString("LAT"), almacen, ruta)
|
|
B4XPages.MainPage.reqManager.ExecuteCommand(cmd , "ins_QR")
|
|
Next
|
|
End If
|
|
c.Close
|
|
|
|
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
|
|
c.Position = i
|
|
's=skmt.ExecQuery2("SELECT HIST_VI_IMAGEN FROM HIST_VISITAS WHERE HIST_VI_CREDITO =?", Array As String (c.GetString("HIST_VI_CREDITO")))
|
|
's.Position =0
|
|
Private foto1() As Byte = c.GetBlob("CAT_CL_FOTO")
|
|
Dim cmd As DBCommand
|
|
cmd.Initialize
|
|
cmd.Name = "insert_QR_GV2"
|
|
cmd.Parameters = Array As Object(C.GetString("CAT_CL_NUM_SERIEFISICO"), C.GetString("CAT_CL_CODIGO"), C.GetString("CAT_CL_LONG"), C.GetString("CAT_CL_LAT"), almacen, ruta, foto1)
|
|
B4XPages.MainPage.reqManager.ExecuteCommand(cmd , "ins_QR")
|
|
Next
|
|
End If
|
|
c.Close
|
|
|
|
c = B4XPages.MainPage.skmt.ExecQuery("SELECT HE_CLIE, HE_RES, HE_FECHA, HE_TIPO FROM HIST_ENCUESTA")
|
|
If c.RowCount > 0 Then
|
|
For i = 0 To c.RowCount - 1
|
|
c.Position = i
|
|
Dim cmd As DBCommand
|
|
cmd.Initialize
|
|
cmd.Name = "insert_encuesta"
|
|
cmd.Parameters = Array As Object(C.GetString("HE_CLIE"),C.GetString("HE_RES"),C.GetString("HE_FECHA"), c.GetString("HE_TIPO"))
|
|
B4XPages.MainPage.reqManager.ExecuteCommand(cmd , "inst_noventa")
|
|
Next
|
|
End If
|
|
c.Close
|
|
|
|
|
|
c=B4XPages.MainPage.skmt.ExecQuery2("SELECT PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO, PE_COSTO_SIN, PE_RUTA, PE_DESC, PE_FOLIO FROM PEDIDO WHERE (PE_RECALCULO = ? or PE_RECALCULO = ? or PE_RECALCULO IS NULL)",Array As String("","null"))
|
|
d=B4XPages.MainPage.skmt.ExecQuery("SELECT COUNT(*) as CUANTOS_PEDIDO FROM PEDIDO")
|
|
If c.RowCount>0 Then
|
|
For i=0 To c.RowCount -1
|
|
c.Position=i
|
|
Dim cmd As DBCommand
|
|
cmd.Initialize
|
|
cmd.Name = "insert_pedido_GV2_06"
|
|
cmd.Parameters = Array As Object(C.GetString("PE_CEDIS"), almacen, C.GetString("PE_COSTO_TOT"), C.GetString("PE_COSTOU"), C.GetString("PE_CANT"), C.GetString("PE_PRONOMBRE"), C.GetString("PE_PROID"), C.GetString("PE_CLIENTE"),C.GetString("PE_FECHA"),C.GetString("PE_USUARIO"),C.GetString("PE_RUTA"), C.GetString("PE_COSTO_SIN"),C.GetString("PE_DESC"),c.GetString("PE_FOLIO"))
|
|
B4XPages.MainPage.reqManager.ExecuteCommand(cmd , "ins_pedido")
|
|
Next
|
|
End If
|
|
c.Close
|
|
d.Position=0
|
|
cuantos_pedido = D.GetString("CUANTOS_PEDIDO")
|
|
d.Close
|
|
|
|
If almacen = "88" Or almacen = "6" Then
|
|
c=B4XPages.MainPage.skmt.ExecQuery2("SELECT PE_RECALCULO,PE_RECALCULOTOT,PE_RECCEDIS,PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO, PE_COSTO_SIN, PE_RUTA, PE_DESC, PE_FOLIO FROM PEDIDO WHERE PE_RECALCULO <> ? or PE_RECALCULO <> ? or PE_RECALCULO IS NOT NULL",Array As String("","null"))
|
|
d=B4XPages.MainPage.skmt.ExecQuery($"SELECT COUNT(*) as CUANTOS_PEDIDO FROM PEDIDO where PE_RUTA = '${Subs.traeRuta}'"$)
|
|
If c.RowCount>0 Then
|
|
For i=0 To c.RowCount -1
|
|
c.Position=i
|
|
Dim cmd As DBCommand
|
|
cmd.Initialize
|
|
cmd.Name = "insert_pedido_GV2_06"
|
|
cmd.Parameters = Array As Object(C.GetString("PE_RECCEDIS"), almacen, C.GetString("PE_RECALCULOTOT"), C.GetString("PE_RECALCULO"), C.GetString("PE_CANT"), C.GetString("PE_PRONOMBRE"), C.GetString("PE_PROID"), C.GetString("PE_CLIENTE"),C.GetString("PE_FECHA"),C.GetString("PE_USUARIO"),C.GetString("PE_RUTA"), C.GetString("PE_COSTO_SIN"),C.GetString("PE_DESC"),c.GetString("PE_FOLIO"))
|
|
B4XPages.MainPage.reqManager.ExecuteCommand(cmd , "ins_pedido")
|
|
Next
|
|
End If
|
|
c.Close
|
|
d.Position=0
|
|
cuantos_pedido = D.GetString("CUANTOS_PEDIDO")
|
|
d.Close
|
|
Else
|
|
c=B4XPages.MainPage.skmt.ExecQuery2("SELECT PE_RECALCULO,PE_RECALCULOTOT,PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO, PE_COSTO_SIN, PE_RUTA, PE_DESC, PE_FOLIO FROM PEDIDO WHERE PE_RECALCULO <> ? or PE_RECALCULO <> ? or PE_RECALCULO IS NOT NULL",Array As String("","null"))
|
|
d=B4XPages.MainPage.skmt.ExecQuery($"SELECT COUNT(*) as CUANTOS_PEDIDO FROM PEDIDO where PE_RUTA = '${Subs.traeRuta}'"$)
|
|
If c.RowCount>0 Then
|
|
For i=0 To c.RowCount -1
|
|
c.Position=i
|
|
Dim cmd As DBCommand
|
|
cmd.Initialize
|
|
cmd.Name = "insert_pedido_GV2_06"
|
|
cmd.Parameters = Array As Object(C.GetString("PE_CEDIS"), almacen, C.GetString("PE_RECALCULOTOT"), C.GetString("PE_RECALCULO"), C.GetString("PE_CANT"), C.GetString("PE_PRONOMBRE"), C.GetString("PE_PROID"), C.GetString("PE_CLIENTE"),C.GetString("PE_FECHA"),C.GetString("PE_USUARIO"),C.GetString("PE_RUTA"), C.GetString("PE_COSTO_SIN"),C.GetString("PE_DESC"),c.GetString("PE_FOLIO"))
|
|
B4XPages.MainPage.reqManager.ExecuteCommand(cmd , "ins_pedido")
|
|
Next
|
|
End If
|
|
c.Close
|
|
d.Position=0
|
|
cuantos_pedido = D.GetString("CUANTOS_PEDIDO")
|
|
d.Close
|
|
End If
|
|
|
|
' NOVENTA
|
|
c = B4XPages.MainPage.skmt.ExecQuery("SELECT NV_CLIENTE,NV_FECHA,NV_USER,NV_MOTIVO,NV_COMM,NV_LAT,NV_LON FROM NOVENTA")
|
|
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_GV2"
|
|
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"), almacen, ruta)
|
|
B4XPages.MainPage.reqManager.ExecuteCommand(cmd , "inst_noventa")
|
|
Next
|
|
End If
|
|
c.Close
|
|
|
|
d = B4XPages.MainPage.skmt.ExecQuery("SELECT COUNT(*) AS CUANTOS_NOVENTA FROM NOVENTA")
|
|
d.Position = 0
|
|
cuantos_noventa = D.GetString("CUANTOS_NOVENTA")
|
|
d.Close
|
|
|
|
' DATOS DE KMTS PARA EL TIPO DE ABARROTE.
|
|
'''CAT_CL_GIRO = ? WHERE CAT_CL_CODIGO = ? And CAT_CL_NOMBRE = ? kmt_info
|
|
c = B4XPages.MainPage.skmt.ExecQuery("Select CAT_CL_GIRO, CAT_CL_CODIGO from kmt_info")
|
|
If c.RowCount > 0 Then
|
|
For i = 0 To c.RowCount - 1
|
|
c.Position = i
|
|
Dim cmd As DBCommand
|
|
cmd.Initialize
|
|
cmd.Name = "insert_GIROS_ENC"
|
|
cmd.Parameters = Array As Object(C.GetString("CAT_CL_CODIGO"),C.GetString("CAT_CL_GIRO"))
|
|
B4XPages.MainPage.reqManager.ExecuteCommand(cmd , "inst_noventa")
|
|
Next
|
|
End If
|
|
c.Close
|
|
|
|
' GEO CERCA
|
|
c = B4XPages.MainPage.skmt.ExecQuery("Select HGCLIENTE, HGDATE, HGLAT, HGLON from HIST_GEOCERCA")
|
|
If c.RowCount > 0 Then
|
|
For i = 0 To c.RowCount - 1
|
|
c.Position = i
|
|
Dim cmd As DBCommand
|
|
cmd.Initialize
|
|
cmd.Name = "insert_geocerca_GV2"
|
|
cmd.Parameters = Array As Object(C.GetString("HGCLIENTE"),C.GetString("HGDATE"),C.GetString("HGLAT"),C.GetString("HGLON"))
|
|
B4XPages.MainPage.reqManager.ExecuteCommand(cmd , "inst_noventa")
|
|
Next
|
|
End If
|
|
c.Close
|
|
|
|
' LO DEL LIKE
|
|
c = B4XPages.MainPage.skmt.ExecQuery("Select HFCLIENTE, HFALIAS,HFRUTA,HFALMACEN from HIST_FACE")
|
|
If c.RowCount > 0 Then
|
|
For i = 0 To c.RowCount - 1
|
|
c.Position = i
|
|
Dim cmd As DBCommand
|
|
cmd.Initialize
|
|
cmd.Name = "insert_face_like_GV2"
|
|
cmd.Parameters = Array As Object(C.GetString("HFCLIENTE"),C.GetString("HFALIAS"),C.GetString("HFRUTA"),C.GetString("HFALMACEN"))
|
|
B4XPages.MainPage.reqManager.ExecuteCommand(cmd , "inst_noventa")
|
|
Next
|
|
End If
|
|
c.Close
|
|
|
|
' DROP
|
|
' t1.Initialize("T1", 30000) ' 1000 = 1 second
|
|
' t1.Enabled = True
|
|
' Dim sDate,sTime As String
|
|
' DateTime.DateFormat = "MM/dd/yyyy"
|
|
' sDate=DateTime.Date(DateTime.Now)
|
|
' sTime=DateTime.Time(DateTime.Now)
|
|
' Dim cmd As DBCommand
|
|
' cmd.Initialize
|
|
' cmd.Name ="insert_drop_GV2_2"
|
|
' cmd.Parameters = Array As Object(usuario,l_ruta.Text,sDate & sTime, l_porvisitar.Text,l_drop.Text,l_efectiva.Text,l_cuantosc.Text,l_cuantosn.Text, L_MONTOD.Text,"ENVIO",almacen)
|
|
' B4XPages.MainPage.reqManager.ExecuteCommand(cmd , "inst_noventa")
|
|
' img2.Visible =True
|
|
' PORCENTAJE = Round(100/ (cuantos_noventa + cuantos_pedido + cuantos_pedidosc + 1))
|
|
' If Starter.marcaCel <> "Sony" Then ToastMessageShow("Se Actualizaran los datos, Este proceso podria tardar hasta un minuto, gracias "& l_ruta.text , True)
|
|
End If
|
|
|
|
Private x As Cursor = B4XPages.MainPage.skmt.ExecQuery("Select CLIENTE, ALMACEN, P1, P2, P3, P4, P5, P6, P7, P8, P9 from ENCUESTA_MODULO1")
|
|
If x.RowCount>0 Then
|
|
For i=0 To x.RowCount -1
|
|
x.Position=i
|
|
Dim cmd As DBCommand
|
|
cmd.Initialize
|
|
cmd.Name = "insert_ENCUESTA_MODULO1"
|
|
cmd.Parameters = Array As Object(x.GetString("CLIENTE"), x.GetString("ALMACEN"),x.GetString("P1"), x.GetString("P2"), x.GetString("P3"), x.GetString("P4"), x.GetString("P5"), x.GetString("P6"), x.GetString("P7"), x.GetString("P8"), x.GetString("P9"))
|
|
B4XPages.MainPage.reqManager.ExecuteCommand(cmd , "insert_ENCUESTA_MODULO1")
|
|
Next
|
|
End If
|
|
x.Close
|
|
Private x As Cursor = B4XPages.MainPage.skmt.ExecQuery("Select CLIENTE, ALMACEN, P1, P2, P3, P4, P5, P6 from ENCUESTA_MODULO2")
|
|
If x.RowCount>0 Then
|
|
For i=0 To x.RowCount -1
|
|
x.Position=i
|
|
Dim cmd As DBCommand
|
|
cmd.Initialize
|
|
cmd.Name = "insert_ENCUESTA_MODULO2"
|
|
cmd.Parameters = Array As Object(x.GetString("CLIENTE"), x.GetString("ALMACEN"),x.GetString("P1"), x.GetString("P2"), x.GetString("P3"), x.GetString("P4"), x.GetString("P5"), x.GetString("P6"))
|
|
B4XPages.MainPage.reqManager.ExecuteCommand(cmd , "insert_ENCUESTA_MODULO2")
|
|
Next
|
|
End If
|
|
x.Close
|
|
Private x As Cursor = B4XPages.MainPage.skmt.ExecQuery("Select CLIENTE, ALMACEN, P1, P2, P3, P4, P5, P6, P7, P8, P9 from ENCUESTA_MODULO3")
|
|
If x.RowCount>0 Then
|
|
For i=0 To x.RowCount -1
|
|
x.Position=i
|
|
Dim cmd As DBCommand
|
|
cmd.Initialize
|
|
cmd.Name = "insert_ENCUESTA_MODULO3"
|
|
cmd.Parameters = Array As Object(x.GetString("CLIENTE"), x.GetString("ALMACEN"),x.GetString("P1"), x.GetString("P2"), x.GetString("P3"), x.GetString("P4"), x.GetString("P5"), x.GetString("P6"), x.GetString("P7"), x.GetString("P8"), x.GetString("P9"))
|
|
B4XPages.MainPage.reqManager.ExecuteCommand(cmd , "insert_ENCUESTA_MODULO3")
|
|
Next
|
|
End If
|
|
x.Close
|
|
Private x As Cursor = B4XPages.MainPage.skmt.ExecQuery("Select CLIENTE, ALMACEN, P1, P2, P3, P4, P5, P6, P7, P8 from ENCUESTA_MODULO4")
|
|
If x.RowCount>0 Then
|
|
For i=0 To x.RowCount -1
|
|
x.Position=i
|
|
Dim cmd As DBCommand
|
|
cmd.Initialize
|
|
cmd.Name = "insert_ENCUESTA_MODULO4"
|
|
cmd.Parameters = Array As Object(x.GetString("CLIENTE"), x.GetString("ALMACEN"),x.GetString("P1"), x.GetString("P2"), x.GetString("P3"), x.GetString("P4"), x.GetString("P5"), x.GetString("P6"), x.GetString("P7"), x.GetString("P8"))
|
|
B4XPages.MainPage.reqManager.ExecuteCommand(cmd , "insert_ENCUESTA_MODULO4")
|
|
Next
|
|
End If
|
|
x.Close
|
|
Private x As Cursor = B4XPages.MainPage.skmt.ExecQuery("Select CLIENTE, ALMACEN, P1, P2, P3, P4, P5, P6, P7, P8, P9 from ENCUESTA_MODULO5")
|
|
If x.RowCount>0 Then
|
|
For i=0 To x.RowCount -1
|
|
x.Position=i
|
|
Dim cmd As DBCommand
|
|
cmd.Initialize
|
|
cmd.Name = "insert_ENCUESTA_MODULO5"
|
|
cmd.Parameters = Array As Object(x.GetString("CLIENTE"), x.GetString("ALMACEN"),x.GetString("P1"), x.GetString("P2"), x.GetString("P3"), x.GetString("P4"), x.GetString("P5"), x.GetString("P6"), x.GetString("P7"), x.GetString("P8"), x.GetString("P9"))
|
|
B4XPages.MainPage.reqManager.ExecuteCommand(cmd , "insert_ENCUESTA_MODULO5")
|
|
Next
|
|
End If
|
|
x.Close
|
|
End Sub
|
|
|
|
'Valida la venta contra web.
|
|
'Revisa que la NOVENTA, la cantidad de pedidos y los productos de PEDIDO sean los mismos en web y locales.
|
|
Sub valida(identificador As String)
|
|
Log("Validamos " & identificador)
|
|
If empresa.ToUpperCase.Contains("GUNA") Then
|
|
' reqManager.Initialize(Me, "http://keymon.lat:1782")
|
|
reqManager.Initialize(Me, "http://keymon.net:1782")
|
|
Else
|
|
' reqManager.Initialize(Me, "http://keymon.lat:1781")
|
|
reqManager.Initialize(Me, "http://keymon.net:1781")
|
|
End If
|
|
d = skmt.ExecQuery("SELECT COUNT(*) AS CUANTOS_NOVENTA FROM NOVENTA")
|
|
d.Position = 0
|
|
Dim cuantos_noventa As String = d.GetString("CUANTOS_NOVENTA")
|
|
d.Close
|
|
|
|
cmd.Initialize
|
|
cmd.Name = $"select_cuantos_noventa_${identificador}"$
|
|
cmd.Parameters = Array As Object(almacen, ruta)
|
|
reqManager.ExecuteQuery(cmd , 0, "valida_noventa")
|
|
|
|
d = B4XPages.MainPage.skmt.ExecQuery("SELECT COUNT(*) as CUANTOS_PEDIDO FROM PEDIDO")
|
|
d.Position = 0
|
|
cuantos_pedido = D.GetString("CUANTOS_PEDIDO")
|
|
d.Close
|
|
|
|
cmd.Initialize
|
|
cmd.Name = $"select_cuantos_pedido_${identificador}"$
|
|
cmd.Parameters = Array As Object(almacen, ruta)
|
|
reqManager.ExecuteQuery(cmd , 0, "valida_pedido")
|
|
|
|
d = B4XPages.MainPage.skmt.ExecQuery("SELECT COUNT(*) as CUANTOS_PEDIDOSC FROM PEDIDO_CLIENTE ")
|
|
d.Position = 0
|
|
Private cuantos_pedidosc As String = D.GetString("CUANTOS_PEDIDOSC")
|
|
d.Close
|
|
|
|
cmd.Initialize
|
|
cmd.Name = $"select_cuantos_pedidoc_${identificador}"$
|
|
cmd.Parameters = Array As Object(almacen, ruta)
|
|
reqManager.ExecuteQuery(cmd , 0, "valida_pedidoc")
|
|
End Sub
|
|
|
|
Private Sub p_empresa_Click
|
|
End Sub
|
|
|
|
Private Sub b_valida_Click
|
|
l_vPedidos2.Text = ""
|
|
l_vProds2.Text = ""
|
|
l_vNoVenta2.Text = ""
|
|
p_validacion.Visible = True
|
|
If empresa.ToUpperCase.Contains("MARIANA") Then
|
|
valida("MARDS")
|
|
else if empresa.ToUpperCase.Contains("GUNA") Then
|
|
valida("GV2")
|
|
else if empresa.ToUpperCase.Contains("INTMEX") Then
|
|
' valida("INTMEX")
|
|
Intmex.valida
|
|
else if empresa.ToUpperCase.Contains("DURAKELO") Then
|
|
Durakelo.valida
|
|
else if empresa.ToUpperCase.Contains("MARQUEZ") Then
|
|
Marquez.valida
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub p_engrane_Click
|
|
End Sub
|
|
|
|
Private Sub p_validacion_Click
|
|
p_validacion.Visible = False
|
|
End Sub
|
|
|
|
|
|
'======================================================================================
|
|
$// ARCHIVO_FIN: B4XMainPage.bas
|
|
'======================================================================================
|
|
|
|
|
|
'======================================================================================
|
|
$// ARCHIVO_INICIO: C_Durakelo.bas
|
|
'======================================================================================
|
|
|
|
B4A=true
|
|
Group=Default Group
|
|
ModulesStructureVersion=1
|
|
Type=Class
|
|
Version=12.8
|
|
@EndOfDesignText@
|
|
Sub Class_Globals
|
|
Private Root As B4XView 'ignore
|
|
Private xui As XUI 'ignore
|
|
Dim reqManager As DBRequestManager
|
|
Dim cmd As DBCommand
|
|
Dim datos_iguales, almacen, carga, paso, conteo, porcentaje, perfil, cuantos, NUMERO_PEDIDO, usuario, cuantos_exib, cuantos_pedidosc, cuantos_noventa, cuantos_ped, cuantos_pedido As String
|
|
Dim e1, c, d, d3, d9 As Cursor
|
|
Dim tiempo As Int
|
|
Dim l_ruta, L_ABORDO, l_porvisitar As Label
|
|
Dim T3, T4 As Timer
|
|
Dim enviando As Boolean = False
|
|
Dim validando As Boolean = False
|
|
End Sub
|
|
|
|
'You can add more parameters here.
|
|
Public Sub Initialize As Object
|
|
' reqManager.Initialize(Me, "http://keymon.lat:1781")
|
|
reqManager.Initialize(Me, "http://keymon.net:1781")
|
|
l_ruta.Initialize("")
|
|
L_ABORDO.Initialize("")
|
|
l_porvisitar.Initialize("")
|
|
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
|
|
|
|
End Sub
|
|
|
|
'You can see the list of page related events in the B4XPagesManager object. The event name is B4XPage.
|
|
|
|
Sub envia
|
|
carga = "SUBIR"
|
|
enviando = True
|
|
almacen = Subs.traeAlmacen
|
|
l_ruta.TEXT = Subs.traeRuta
|
|
Dim fecha As String = DateTime.Date(DateTime.Now)
|
|
' P1.Visible = True
|
|
' trabajar.Visible = False
|
|
' B_PROXIMA.Visible =False
|
|
' Btn_UbicarR.Visible=False
|
|
' NUEVO.Visible =False
|
|
' BUSCA.Visible=False
|
|
' connecta.Visible=False
|
|
' Subir.Visible=False
|
|
' SUBIR_P.Visible = False
|
|
' cargar.Visible=False
|
|
' L_P_1.Visible = False
|
|
' S_CC.Visible = False
|
|
' L_P_3.Visible = False
|
|
' S_CH.Visible = False
|
|
' PB1.Visible = False
|
|
' Resumen.Visible= False
|
|
porcentaje = 0
|
|
' L_P_2.Text = "Envio de Pedidos"
|
|
' L_P_3.Text = "Envio de Pedidos"
|
|
' S_CH.Text = "EN PROCESO"
|
|
' S_CP.Text = "EN PROCESO"
|
|
' PB1.Progress = 0
|
|
' PB2.Progress = 0
|
|
' PB2.Visible = True
|
|
conteo = 0
|
|
paso = 1
|
|
'End If
|
|
|
|
' If paso = 1 Then
|
|
e1=B4XPages.MainPage.skmt.ExecQuery2("Select count(*) As CUANTOS from pedido where PE_TIPO = ?", Array As String("ABORDO"))
|
|
e1.Position = 0
|
|
If e1.GetString("CUANTOS") > 0 Then
|
|
c=B4XPages.MainPage.skmt.ExecQuery2("Select sum(PE_COSTO_TOT) As MONTO_DIA from pedido where PE_TIPO = ?", Array As String("ABORDO"))
|
|
c.Position = 0
|
|
L_ABORDO.Text = c.GetString("MONTO_DIA")
|
|
c.Close
|
|
Else
|
|
L_ABORDO.Text = 0
|
|
End If
|
|
e1.Close
|
|
c=B4XPages.MainPage.skmt.ExecQuery2("select count(*) AS CUANTOS from CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As String ("PERFIL"))
|
|
c.Position =0
|
|
perfil = c.GetString("CUANTOS")
|
|
c.Close
|
|
If perfil > 0 Then
|
|
c=B4XPages.MainPage.skmt.ExecQuery2("select CAT_VA_VALOR from CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As String ("PERFIL"))
|
|
c.Position =0
|
|
perfil = c.GetString("CAT_VA_VALOR")
|
|
c.Close
|
|
End If
|
|
c=B4XPages.MainPage.skmt.ExecQuery2("select count(*) AS CUANTOS from CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As String ("NUMERO_PEDIDO"))
|
|
c.Position =0
|
|
cuantos = c.GetString("CUANTOS")
|
|
c.Close
|
|
If cuantos > 0 Then
|
|
c=B4XPages.MainPage.skmt.ExecQuery2("select CAT_VA_VALOR from CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As String ("NUMERO_PEDIDO"))
|
|
c.Position =0
|
|
NUMERO_PEDIDO = c.GetString("CAT_VA_VALOR")
|
|
c.Close
|
|
Else
|
|
NUMERO_PEDIDO = 0
|
|
End If
|
|
B4XPages.MainPage.skmt.ExecNonQuery("delete from pedido_cliente where PC_CLIENTE not In (select PE_CLIENTE from pedido)")
|
|
c=B4XPages.MainPage.skmt.ExecQuery("select usuario from usuarioa")
|
|
c.Position = 0
|
|
usuario = c.GetString("USUARIO")
|
|
c.Close
|
|
d3=B4XPages.MainPage.skmt.ExecQuery("SELECT SUM(PE_COSTO_TOT) as MONTO FROM PEDIDO")
|
|
d3.Position = 0
|
|
|
|
' Dim cmd As DBCommand
|
|
' cmd.Initialize
|
|
' cmd.Name ="UPDATE_INFO_E_DURK"
|
|
' cmd.Parameters = Array As Object(d3.GetDouble("MONTO")- L_ABORDO.text, L_ABORDO.Text, d3.GetDouble("MONTO"),l_ruta.TEXT, almacen)
|
|
' reqManager.ExecuteQuery(cmd , 0, "inst_noventa")
|
|
|
|
' Dim cmd As DBCommand
|
|
' cmd.Initialize
|
|
' cmd.Name ="insert_drop2_DUR"
|
|
' cmd.Parameters = Array As Object(usuario,l_ruta.Text,fecha, l_porvisitar.Text,l_drop.Text,l_efectiva.Text,l_cuantosc.Text,l_cuantosn.Text, L_MONTOD.Text,"ENVIO", almacen, L_VENTA.Text, L_PREVENTA.Text, L_ABORDO.Text, l_cambios.TEXT)
|
|
' reqManager.ExecuteQuery(cmd , 0, "inst_noventa")
|
|
' d3.Close
|
|
|
|
' PEDIDO_CLIENTE
|
|
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 FROM PEDIDO_CLIENTE ")
|
|
d=B4XPages.MainPage.skmt.ExecQuery("SELECT COUNT(*) as CUANTOS_PEDIDOSC FROM PEDIDO_CLIENTE ")
|
|
If c.RowCount>0 Then
|
|
For i=0 To c.RowCount -1
|
|
c.Position=i
|
|
Dim cmd As DBCommand
|
|
cmd.Initialize
|
|
cmd.Name = "insert_pedidos_DUR"
|
|
cmd.Parameters = Array As Object(C.GetString("PC_CLIENTE"),C.GetString("PC_FECHA"),C.GetString("PC_USER"),C.GetString("PC_NOART"),C.GetString("PC_MONTO"),C.GetString("PC_LON"),C.GetString("PC_LAT"),almacen,Subs.traeRutaPedidoCliente(C.GetString("PC_CLIENTE")),C.GetString("PC_COSTO_SIN") )
|
|
reqManager.ExecuteCommand(cmd, "ins_pedidos")
|
|
' LogColor(Subs.traeRutaPedidoCliente(C.GetString("PC_CLIENTE")) & "|" & C.GetString("PC_CLIENTE"), Colors.red )
|
|
Next
|
|
c.Close
|
|
End If
|
|
d.Position=0
|
|
cuantos_pedidosc = D.GetString("CUANTOS_PEDIDOSC")
|
|
d.Close
|
|
|
|
' c=B4XPages.MainPage.skmt.ExecQuery("SELECT CAT_CL_NUM_SERIEFISICO,CAT_CL_CODIGO ,CAT_CL_LONG,CAT_CL_LAT FROM kmt_info")
|
|
' If c.RowCount>0 Then
|
|
' For i=0 To c.RowCount -1
|
|
' c.Position=i
|
|
' Dim cmd As DBCommand
|
|
' cmd.Initialize
|
|
' cmd.Name = "insert_QR_DUR"
|
|
' cmd.Parameters = Array As Object(C.GetString("CAT_CL_NUM_SERIEFISICO"),C.GetString("CAT_CL_CODIGO"),C.GetString("CAT_CL_LONG"),C.GetString("CAT_CL_LAT"),almacen,l_ruta.text )
|
|
' reqManager.ExecuteQuery(cmd , 0,"ins_QR")
|
|
' Next
|
|
' c.Close
|
|
' End If
|
|
|
|
Try
|
|
c=B4XPages.MainPage.skmt.ExecQuery("SELECT HE_CLIE, HE_RES, HE_FECHA, HE_TIPO, HE_ORDEN FROM HIST_ENCUESTA4")
|
|
' S_CP.Text = "Envio Encuesta"
|
|
' PB2.Progress = 1
|
|
If c.RowCount>0 Then
|
|
For i=0 To c.RowCount -1
|
|
c.Position=i
|
|
Dim cmd As DBCommand
|
|
cmd.Initialize
|
|
cmd.Name = "INSERT_ENCUESTA_K001DUR"
|
|
cmd.Parameters = Array As Object(C.GetString("HE_CLIE"),C.GetString("HE_RES"),C.GetString("HE_FECHA"),C.GetString("HE_ORDEN"),almacen,l_ruta.text,"1", C.GetString("HE_TIPO"))
|
|
reqManager.ExecuteCommand(cmd , "INS_K001")
|
|
Next
|
|
c.Close
|
|
End If
|
|
Catch
|
|
Log(LastException)
|
|
End Try
|
|
|
|
'ENCUESTAS
|
|
Try
|
|
c=B4XPages.MainPage.skmt.ExecQuery("SELECT CAT_EP_IDGRUPO, CAT_EP_IDTIPOPREGUNTA, HIST_ENCUESTA.* FROM HIST_ENCUESTA join CAT_ENCUESTA_PREGUNTA on CAT_EP_ID = HE_TIPO")
|
|
' S_CP.Text = "Envio Encuesta"
|
|
' PB2.Progress = 1
|
|
If c.RowCount>0 Then
|
|
For i=0 To c.RowCount -1
|
|
c.Position = i
|
|
Dim cmd As DBCommand
|
|
cmd.Initialize
|
|
cmd.Name = "insert_encuesta2_DUR"
|
|
cmd.Parameters = Array As Object(C.GetString("HE_CLIE"), C.GetString("HE_RES"), C.GetString("HE_FECHA"), c.GetString("HE_TIPO"), l_ruta.Text, c.GetString("CAT_EP_IDGRUPO"), Subs.traeAlmacen, c.GetString("CAT_EP_IDTIPOPREGUNTA"))
|
|
Log($"${C.GetString("HE_RES")}, ${C.GetString("HE_FECHA")}, ${c.GetString("HE_TIPO")}, ${l_ruta.Text}, ${c.GetString("CAT_EP_IDGRUPO")}, ${Subs.traeAlmacen}, ${c.GetString("CAT_EP_IDTIPOPREGUNTA")}"$)
|
|
reqManager.ExecuteCommand(cmd , "ins_encuesta")
|
|
Next
|
|
End If
|
|
c.Close
|
|
Catch
|
|
Log(LastException)
|
|
End Try
|
|
|
|
' ' PEDIDO
|
|
B4XPages.MainPage.skmt.ExecNonQuery("update PEDIDO set PE_FOLIO = rowid ")
|
|
If perfil = "V-ESPECIAL" Then
|
|
c=B4XPages.MainPage.skmt.ExecQuery("SELECT PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO, PE_COSTO_SIN, PE_RUTA, PE_DESC, PE_FOLIO,PE_TIPO FROM PEDIDO ORDER BY PE_CLIENTE")
|
|
d=B4XPages.MainPage.skmt.ExecQuery("SELECT COUNT(*) as CUANTOS_PEDIDO FROM PEDIDO")
|
|
d.Position=0
|
|
If c.RowCount>0 Then
|
|
For i=0 To c.RowCount -1
|
|
c.Position=i
|
|
Dim cmd As DBCommand
|
|
cmd.Initialize
|
|
cmd.Name = "insert_pedido_esp_DUR"
|
|
cmd.Parameters = Array As Object(C.GetString("PE_CEDIS"),almacen,C.GetString("PE_COSTO_TOT"),C.GetString("PE_COSTOU"),C.GetString("PE_CANT"),C.GetString("PE_PRONOMBRE"),C.GetString("PE_PROID"),C.GetString("PE_CLIENTE"),C.GetString("PE_FECHA"),C.GetString("PE_USUARIO"),C.GetString("PE_RUTA"), C.GetString("PE_COSTO_SIN"),C.GetString("PE_DESC"),c.GetString("PE_FOLIO"), c.GetString("PE_TIPO"),NUMERO_PEDIDO )
|
|
reqManager.ExecuteCommand(cmd, "ins_pedido")
|
|
Next
|
|
c.Close
|
|
End If
|
|
Else
|
|
c=B4XPages.MainPage.skmt.ExecQuery("SELECT PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO, PE_COSTO_SIN, PE_RUTA, PE_DESC, PE_FOLIO,PE_TIPO FROM PEDIDO")
|
|
d9=B4XPages.MainPage.skmt.ExecQuery("SELECT COUNT(*) as CUANTOS_PEDIDO FROM PEDIDO")
|
|
d9.Position=0
|
|
' tiempo = 0
|
|
If c.RowCount>0 Then
|
|
For i=0 To c.RowCount -1
|
|
c.Position = i
|
|
' tiempo = tiempo + 1
|
|
' If tiempo > 20 Then
|
|
' T3.Initialize("T3", 2000) ' 1000 = 1 second
|
|
' T3.Enabled = True
|
|
' Wait For t3_tick
|
|
' tiempo = 0
|
|
' End If
|
|
conteo = conteo + 1
|
|
cuantos_ped = d9.GetString("CUANTOS_PEDIDO")
|
|
porcentaje = 2 'Round(100/ (D.GetString("CUANTOS_PEDIDO") + 1))
|
|
Dim cmd As DBCommand
|
|
cmd.Initialize
|
|
cmd.Name = "insert_pedido_DUR"
|
|
cmd.Parameters = Array As Object(C.GetString("PE_CEDIS"),almacen,C.GetString("PE_COSTO_TOT"),C.GetString("PE_COSTOU"),C.GetString("PE_CANT"),C.GetString("PE_PRONOMBRE"),C.GetString("PE_PROID"),C.GetString("PE_CLIENTE"),C.GetString("PE_FECHA"),C.GetString("PE_USUARIO"),C.GetString("PE_RUTA"), C.GetString("PE_COSTO_SIN"),C.GetString("PE_DESC"),c.GetString("PE_FOLIO"), c.GetString("PE_TIPO"))
|
|
reqManager.ExecuteCommand(cmd, "ins_pedido")
|
|
Next
|
|
c.Close
|
|
End If
|
|
End If
|
|
cuantos_pedido = d9.GetString("CUANTOS_PEDIDO")
|
|
d9.Close
|
|
' NOVENTA
|
|
c=B4XPages.MainPage.skmt.ExecQuery("SELECT NV_CLIENTE,NV_FECHA,NV_USER,NV_MOTIVO,NV_COMM,NV_LAT,NV_LON FROM NOVENTA")
|
|
D=B4XPages.MainPage.skmt.ExecQuery("SELECT COUNT(*) AS CUANTOS_NOVENTA FROM NOVENTA")
|
|
|
|
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_DUR"
|
|
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"), almacen, l_ruta.Text)
|
|
reqManager.ExecuteCommand(cmd, "inst_noventa")
|
|
Next
|
|
c.Close
|
|
End If
|
|
d.Position=0
|
|
cuantos_noventa = D.GetString("CUANTOS_NOVENTA")
|
|
d.Close
|
|
|
|
' NOVENTA HIST_EXIBIDORES(CAT_CL_CLIENTE,CAT_CL_EXHIBIDOR,CAT_CL_BEXHIBIDOR)
|
|
c=B4XPages.MainPage.skmt.ExecQuery("SELECT CAT_CL_CLIENTE,CAT_CL_EXHIBIDOR,CAT_CL_BEXHIBIDOR from HIST_EXIBIDORES")
|
|
D=B4XPages.MainPage.skmt.ExecQuery("SELECT COUNT(*) AS CUANTOS_NOVENTA FROM HIST_EXIBIDORES")
|
|
|
|
If c.RowCount>0 Then
|
|
For i=0 To c.RowCount -1
|
|
c.Position=i
|
|
Dim cmd As DBCommand
|
|
cmd.Initialize
|
|
cmd.Name = "insert_HIST_EXIBIDORES_DUR"
|
|
cmd.Parameters = Array As Object(C.GetString("CAT_CL_CLIENTE"),C.GetString("CAT_CL_EXHIBIDOR"),C.GetString("CAT_CL_BEXHIBIDOR"),l_ruta.TEXT)
|
|
reqManager.ExecuteCommand(cmd, "inst_noventa")
|
|
Next
|
|
c.Close
|
|
End If
|
|
d.Position=0
|
|
cuantos_exib = D.GetString("CUANTOS_NOVENTA")
|
|
d.Close
|
|
|
|
'CUESTIONARIOS
|
|
c = B4XPages.MainPage.skmt.ExecQuery($"select * from cuestionario"$)
|
|
Private rutaActual As String = Subs.traeRuta
|
|
If c.RowCount > 0 Then
|
|
For x = 0 To c.RowCount - 1
|
|
c.Position = x
|
|
Dim cmd As DBCommand
|
|
cmd.Initialize
|
|
cmd.Name = "insert_CUESTIONARIO_DUR"
|
|
cmd.Parameters = Array As Object(c.GetString("Q_IDCLIENTE"), rutaActual, almacen, c.GetString("Q_FECHA"), c.GetString("Q_IDPREGUNTA"), c.GetString("Q_PREGUNTA"), c.GetString("Q_IDRESPUESTA"), C.GetString("Q_RESPUESTA"))
|
|
reqManager.ExecuteCommand(cmd , "ins_cuestionario")
|
|
Next
|
|
End If
|
|
c.Close
|
|
|
|
' DROP
|
|
' t1.Initialize("T1", 20000) ' 1000 = 1 second
|
|
' t1.Enabled = True
|
|
' img2.Visible =True
|
|
' ToastMessageShow("Se Actualizaran los datos, Este proceso podria tardar hasta un minuto, gracias "& l_ruta.text , True)
|
|
' If S_CP.Text = "SUBIENDO" Then
|
|
' S_CP.Text = "VALIDANDO"
|
|
' End If
|
|
' End If
|
|
T4.Initialize("T4", 3000)
|
|
T4.Enabled = True
|
|
End Sub
|
|
|
|
Sub JobDone(Job As HttpJob)
|
|
If reqManager.reqsList.IsInitialized Then 'Si tenemos lista de requests, la procesamos.
|
|
LogColor($">>>>>>>>>> Llega ${Job.tag} <<<<<<<<<<"$, Colors.Blue)
|
|
If reqManager.reqsList.IndexOf(Job.tag) <> -1 Then
|
|
reqManager.reqsList.RemoveAt(reqManager.reqsList.IndexOf(Job.tag))
|
|
' LogColor($">>>>>> Quitamos ${Job.tag}"$, Colors.Blue)
|
|
End If
|
|
LogColor(">>>>>> " & reqManager.reqsList.Size & " - " & reqManager.reqsList, Colors.Blue)
|
|
End If
|
|
If Job.Success = False Then
|
|
LogColor("############################################", Colors.red)
|
|
LogColor("#### Error: " & Job.tag & " : " & Job.ErrorMessage, Colors.red)
|
|
LogColor("############################################", Colors.red)
|
|
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 RESULT As DBResult = reqManager.HandleJob(Job)
|
|
If reqManager.reqsList.IsInitialized Then 'Si tenemos lista de requests, la procesamos.
|
|
If reqManager.reqsList.IndexOf(RESULT.tag) <> -1 Then
|
|
reqManager.reqsList.RemoveAt(reqManager.reqsList.IndexOf(RESULT.tag))
|
|
LogColor($"*** Quitamos ${RESULT.tag}"$, Colors.Magenta)
|
|
T4.Initialize("T4", 2000)
|
|
End If
|
|
LogColor(">>>>>> " & reqManager.reqsList.Size & " - " & reqManager.reqsList, Colors.red)
|
|
End If
|
|
End If
|
|
|
|
If Job.JobName = "DBRequest" Then
|
|
Dim RESULT As DBResult = reqManager.HandleJob(Job)
|
|
If RESULT.Tag = "ins_pedido" Then 'query tag
|
|
' For Each records() As Object In RESULT.Rows
|
|
' PB2.Progress = PB2.Progress + 5
|
|
' Next
|
|
' PB2.Progress = 100
|
|
' S_CP.Text = "LISTO"
|
|
End If
|
|
End If
|
|
|
|
If Job.JobName = "DBRequest" Then
|
|
Dim RESULT As DBResult = reqManager.HandleJob(Job)
|
|
If RESULT.Tag = "valida_pedido" Then 'query tag
|
|
Subs.logJobDoneResultados(RESULT)
|
|
For Each records() As Object In RESULT.Rows
|
|
Dim CUANTOSP As Int = records(RESULT.Columns.Get("CUANTOSP"))
|
|
Log(CUANTOSP)
|
|
B4XPages.MainPage.l_vProds2.Text = $"${CUANTOSP}/${cuantos_pedido}"$
|
|
If cuantos_pedido <= CUANTOSP Then
|
|
' ToastMessageShow("rojo val ok 1 cuantosp." , True)
|
|
datos_iguales = "ok"
|
|
' S_CP.Text = "INFO OK"
|
|
ToastMessageShow("INFO OK", False)
|
|
Else
|
|
' S_CP.Text = "ENVIAR DATOS (K-2)"
|
|
ToastMessageShow($"No se cargo bien la info de pedido.${CRLF}Envíe nuevamente: "$ & CUANTOSP & "/" & cuantos_pedido, True)
|
|
ToastMessageShow("ENVIAR DATOS (K-2)", True)
|
|
Log("No se cargo bien la info de pedido. Envíe nuevamente: " & CUANTOSP & "/" & cuantos_pedido)
|
|
End If
|
|
Next
|
|
End If
|
|
End If
|
|
|
|
If Job.JobName = "DBRequest" Then
|
|
Dim RESULT As DBResult = reqManager.HandleJob(Job)
|
|
If RESULT.Tag = "valida_pedidoc" Then 'query tag
|
|
Subs.logJobDoneResultados(RESULT)
|
|
For Each records() As Object In RESULT.Rows
|
|
Dim CUANTOSC As Int = records(RESULT.Columns.Get("CUANTOSC"))
|
|
B4XPages.MainPage.l_vPedidos2.Text = $"${CUANTOSC}/${cuantos_pedidosc}"$
|
|
If cuantos_pedidosc = CUANTOSC Then
|
|
' ToastMessageShow("rojo val ok 1 cuantosp." , True)
|
|
datos_iguales = "ok"
|
|
Else
|
|
ToastMessageShow($"No se cargo bien la info de pedido_cliente.${CRLF}Envíe nuevamente: "$ & CUANTOSC & "/" & cuantos_pedidosc, True)
|
|
Log("No se cargo bien la info de pedido_cliente. Envíe nuevamente: " & CUANTOSC & "/" & cuantos_pedidosc)
|
|
End If
|
|
Next
|
|
End If
|
|
End If
|
|
|
|
If Job.JobName = "DBRequest" Then
|
|
Dim RESULT As DBResult = reqManager.HandleJob(Job)
|
|
If RESULT.Tag = "valida_noventa" Then 'query tag
|
|
Subs.logJobDoneResultados(RESULT)
|
|
For Each records() As Object In RESULT.Rows
|
|
Dim CUANTOSN As Int = records(RESULT.Columns.Get("CUANTOSN"))
|
|
B4XPages.MainPage.l_vNoVenta2.Text = $"${CUANTOSN}/${cuantos_noventa}"$
|
|
If cuantos_noventa = CUANTOSN Then
|
|
' ToastMessageShow("rojo val ok 1 cuantosp." , True)
|
|
datos_iguales = "ok"
|
|
Else
|
|
ToastMessageShow($"No se cargo bien la info de NoVenta.${CRLF}Envíe nuevamente: "$ & CUANTOSN & "/" & cuantos_noventa, True)
|
|
Log("No se cargo bien la info de NoVenta. Envíe nuevamente:" & CUANTOSN & "/" & cuantos_noventa)
|
|
End If
|
|
Next
|
|
End If
|
|
End If
|
|
If reqManager.reqsList.size = 0 Then T4.Enabled = True Else T4.Enabled = False
|
|
Job.Release
|
|
End If
|
|
End Sub
|
|
|
|
Sub valida
|
|
validando = True
|
|
almacen = Subs.traeAlmacen
|
|
d = B4XPages.MainPage.skmt.ExecQuery("SELECT COUNT(*) as CUANTOS_PEDIDO FROM PEDIDO")
|
|
d.Position = 0
|
|
cuantos_pedido = d.GetString("CUANTOS_PEDIDO")
|
|
|
|
d = B4XPages.MainPage.skmt.ExecQuery("SELECT COUNT(*) as CUANTOS_PEDIDOSC FROM PEDIDO_CLIENTE ")
|
|
d.Position = 0
|
|
cuantos_pedidosc = d.GetString("CUANTOS_PEDIDOSC")
|
|
|
|
d = B4XPages.MainPage.skmt.ExecQuery("SELECT COUNT(*) AS CUANTOS_NOVENTA FROM NOVENTA")
|
|
d.Position = 0
|
|
cuantos_noventa = d.GetString("CUANTOS_NOVENTA")
|
|
d.Close
|
|
|
|
cmd.Initialize
|
|
cmd.Name = "select_cuantos_pedido_DUR"
|
|
cmd.Parameters = Array As Object(almacen, Subs.traeRuta)
|
|
Log($"${almacen}, ${Subs.traeRuta}"$)
|
|
reqManager.ExecuteQuery(cmd , 0, "valida_pedido")
|
|
|
|
cmd.Initialize
|
|
cmd.Name = "select_cuantos_noventa_DUR"
|
|
cmd.Parameters = Array As Object(almacen, Subs.traeRuta)
|
|
reqManager.ExecuteQuery(cmd , 0, "valida_noventa")
|
|
|
|
cmd.Initialize
|
|
cmd.Name = "select_cuantos_pedidoc_DUR"
|
|
cmd.Parameters = Array As Object(almacen, Subs.traeRuta)
|
|
reqManager.ExecuteQuery(cmd , 0, "valida_pedidoc")
|
|
Log("http://keymon.net:1781")
|
|
|
|
B4XPages.MainPage.l_vPedidos2.Text = ""
|
|
B4XPages.MainPage.l_vProds2.Text = ""
|
|
B4XPages.MainPage.l_vNoVenta2.Text = ""
|
|
End Sub
|
|
|
|
Sub T4_Tick
|
|
If reqManager.reqsList.size = 0 Then ' Si ya no hay consultas pendientes ...
|
|
B4XPages.MainPage.p_progressDialog.Visible = False
|
|
If enviando Then ' Si terminamos de enviar pedido ...
|
|
Sleep(200)
|
|
B4XPages.MainPage.l_progressDialog.Text = "Validando " ' Mostramos el panel de progreso.
|
|
B4XPages.MainPage.p_progressDialog.Visible = False
|
|
valida ' Iniciamos la validación
|
|
enviando = False
|
|
End If
|
|
If validando Then
|
|
validando = False
|
|
Sleep(300)
|
|
'Mostramos el panel de Validación.
|
|
B4XPages.MainPage.p_validacion.Visible = True
|
|
End If
|
|
End If
|
|
End Sub
|
|
|
|
'======================================================================================
|
|
$// ARCHIVO_FIN: C_Durakelo.bas
|
|
'======================================================================================
|
|
|
|
|
|
'======================================================================================
|
|
$// ARCHIVO_INICIO: C_Envios.bas
|
|
'======================================================================================
|
|
|
|
B4A=true
|
|
Group=Default Group
|
|
ModulesStructureVersion=1
|
|
Type=Class
|
|
Version=12.5
|
|
@EndOfDesignText@
|
|
Sub Class_Globals
|
|
Private Root As B4XView 'ignore
|
|
Private xui As XUI 'ignore
|
|
Private c, d As Cursor
|
|
Private usuario As String 'ignore
|
|
Private almacen As String
|
|
Private ruta As String
|
|
End Sub
|
|
|
|
'You can add more parameters here.
|
|
Public Sub Initialize As Object
|
|
usuario = Subs.traeUsuarioDeBD
|
|
almacen = Subs.traeAlmacen
|
|
ruta = Subs.traeRuta
|
|
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
|
|
|
|
End Sub
|
|
|
|
'You can see the list of page related events in the B4XPagesManager object. The event name is B4XPage.
|
|
|
|
Sub envioMariana 'ignore
|
|
Dim resultado = Msgbox2("Se va a enviar la venta de la BD", "AVISO", "Continuar", "Cancelar", "", Null) 'ignore
|
|
If resultado = DialogResponse.POSITIVE Then
|
|
B4XPages.MainPage.l_progressDialog.Text = " Enviando información ..."
|
|
B4XPages.MainPage.p_progressDialog.Visible = True
|
|
B4XPages.MainPage.p_progressDialog.BringToFront
|
|
B4XPages.MainPage.skmt.ExecNonQuery2("delete from PEDIDO WHERE PE_PRONOMBRE = ? ", Array As Object("N/A") )
|
|
B4XPages.MainPage.skmt.ExecNonQuery("delete from pedido_cliente where PC_CLIENTE not In (select PE_CLIENTE from pedido)")
|
|
' PEDIO_CLIENTE
|
|
Dim c As Cursor = 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 ")
|
|
Dim d As Cursor = B4XPages.MainPage.skmt.ExecQuery("SELECT COUNT(*) as CUANTOS_PEDIDOSC FROM PEDIDO_CLIENTE ")
|
|
If c.RowCount>0 Then
|
|
For i=0 To c.RowCount -1
|
|
c.Position=i
|
|
Dim cmd As DBCommand
|
|
cmd.Initialize
|
|
cmd.Name = "insert_pedidos_MARDS"
|
|
cmd.Parameters = Array As Object(c.GetString("PC_CLIENTE"), c.GetString("PC_FECHA"), c.GetString("PC_USER"), c.GetString("PC_NOART"), c.GetString("PC_MONTO"), c.GetString("PC_LON"), c.GetString("PC_LAT"), almacen, ruta, c.GetString("PC_COSTO_SIN"), c.GetString("PC_FACTURA"))
|
|
B4XPages.MainPage.reqManager.ExecuteCommand(cmd , "ins_pedidos_1")
|
|
Next
|
|
End If
|
|
c.Close
|
|
d.Position=0
|
|
' Dim cuantos_pedidosc As String = D.GetString("CUANTOS_PEDIDOSC")
|
|
d.Close
|
|
|
|
' ENVIO DE LOS CODIGOS QR
|
|
c = B4XPages.MainPage.skmt.ExecQuery("SELECT CODIGOKMTS, CODIGOB, LAT, LON FROM HIST_CODIGO_BARRAS" )
|
|
If c.RowCount>0 Then
|
|
For i=0 To c.RowCount -1
|
|
c.Position=i
|
|
Dim cmd As DBCommand
|
|
cmd.Initialize
|
|
cmd.Name = "insert_QR_2_MARDS"
|
|
cmd.Parameters = Array As Object(C.GetString("CODIGOKMTS"),C.GetString("CODIGOB"),C.GetString("LON"),C.GetString("LAT"),almacen, ruta)
|
|
B4XPages.MainPage.reqManager.ExecuteCommand(cmd , "ins_QR")
|
|
Next
|
|
End If
|
|
c.Close
|
|
|
|
c = B4XPages.MainPage.skmt.ExecQuery("SELECT HE_CLIE, HE_RES, HE_FECHA, HE_TIPO FROM HIST_ENCUESTA")
|
|
If c.RowCount>0 Then
|
|
For i=0 To c.RowCount -1
|
|
c.Position=i
|
|
Dim cmd As DBCommand
|
|
cmd.Initialize
|
|
cmd.Name = "insert_encuesta_MARDS"
|
|
cmd.Parameters = Array As Object(C.GetString("HE_CLIE"),C.GetString("HE_RES"),C.GetString("HE_FECHA"), c.GetString("HE_TIPO"))
|
|
B4XPages.MainPage.reqManager.ExecuteCommand(cmd , "hist_encuesta")
|
|
Next
|
|
End If
|
|
c.Close
|
|
|
|
c = B4XPages.MainPage.skmt.ExecQuery("SELECT PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO, PE_COSTO_SIN, PE_RUTA, PE_DESC, PE_FOLIO FROM PEDIDO")
|
|
d = B4XPages.MainPage.skmt.ExecQuery("SELECT COUNT(*) as CUANTOS_PEDIDO FROM PEDIDO")
|
|
If c.RowCount>0 Then
|
|
For i=0 To c.RowCount -1
|
|
c.Position=i
|
|
Dim cmd As DBCommand
|
|
cmd.Initialize
|
|
cmd.Name = "insert_pedido_MARDS"
|
|
cmd.Parameters = Array As Object(C.GetString("PE_CEDIS"),almacen,C.GetString("PE_COSTO_TOT"),C.GetString("PE_COSTOU"),C.GetString("PE_CANT"),C.GetString("PE_PRONOMBRE"),C.GetString("PE_PROID"),C.GetString("PE_CLIENTE"),C.GetString("PE_FECHA"),C.GetString("PE_USUARIO"),C.GetString("PE_RUTA"), C.GetString("PE_COSTO_SIN"),C.GetString("PE_DESC"),c.GetString("PE_FOLIO"))
|
|
B4XPages.MainPage.reqManager.ExecuteCommand(cmd , "ins_pedido_1")
|
|
Next
|
|
End If
|
|
c.Close
|
|
d.Position=0
|
|
B4XPages.MainPage.cuantos_pedido = D.GetString("CUANTOS_PEDIDO")
|
|
d.Close
|
|
|
|
' NOVENTA
|
|
c = B4XPages.MainPage.skmt.ExecQuery("SELECT NV_CLIENTE,NV_FECHA,NV_USER,NV_MOTIVO,NV_COMM,NV_LAT,NV_LON, NV_NOMBRE, NV_DIRECCION FROM NOVENTA")
|
|
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_MARDS"
|
|
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"), almacen, ruta,C.GetString("NV_NOMBRE"),C.GetString("NV_DIRECCION"))
|
|
B4XPages.MainPage.reqManager.ExecuteCommand(cmd , "inst_noventa")
|
|
Next
|
|
End If
|
|
c.Close
|
|
|
|
' D = skmt.ExecQuery("SELECT COUNT(*) AS CUANTOS_NOVENTA FROM NOVENTA")
|
|
' d.Position=0
|
|
' Dim cuantos_noventa As String = D.GetString("CUANTOS_NOVENTA")
|
|
' d.Close
|
|
|
|
' GEO CERCA
|
|
c=B4XPages.MainPage.skmt.ExecQuery("Select HGCLIENTE, HGDATE, HGLAT, HGLON from HIST_GEOCERCA")
|
|
If c.RowCount>0 Then
|
|
For i=0 To c.RowCount -1
|
|
c.Position=i
|
|
Dim cmd As DBCommand
|
|
cmd.Initialize
|
|
cmd.Name = "insert_geocerca_MARDS"
|
|
cmd.Parameters = Array As Object(C.GetString("HGCLIENTE"),C.GetString("HGDATE"),C.GetString("HGLAT"),C.GetString("HGLON"))
|
|
B4XPages.MainPage.reqManager.ExecuteCommand(cmd , "inst_noventa")
|
|
Next
|
|
End If
|
|
c.Close
|
|
|
|
' LO DEL LIKE
|
|
c=B4XPages.MainPage.skmt.ExecQuery("Select HFCLIENTE, HFALIAS,HFRUTA,HFALMACEN from HIST_FACE")
|
|
If c.RowCount>0 Then
|
|
For i=0 To c.RowCount -1
|
|
c.Position=i
|
|
Dim cmd As DBCommand
|
|
cmd.Initialize
|
|
cmd.Name = "insert_face_like_MARDS"
|
|
cmd.Parameters = Array As Object(C.GetString("HFCLIENTE"),C.GetString("HFALIAS"),C.GetString("HFRUTA"),C.GetString("HFALMACEN"))
|
|
B4XPages.MainPage.reqManager.ExecuteCommand(cmd , "inst_noventa")
|
|
Next
|
|
End If
|
|
c.Close
|
|
|
|
' DROP
|
|
' Dim sDate,sTime As String
|
|
' DateTime.DateFormat = "MM/dd/yyyy"
|
|
' sDate=DateTime.Date(DateTime.Now)
|
|
' sTime=DateTime.Time(DateTime.Now)
|
|
' Dim cmd As DBCommand
|
|
' cmd.Initialize
|
|
' cmd.Name ="insert_drop_MARDS_2"
|
|
' cmd.Parameters = Array As Object(usuario,ruta,sDate & sTime, l_porvisitar.Text,l_drop.Text,l_efectiva.Text,l_cuantosc.Text,l_cuantosn.Text, L_MONTOD.Text,"ENVIO",almacen)
|
|
' reqManager.ExecuteCommand(cmd , "inst_noventa")
|
|
ToastMessageShow("Se actualizaran los datos, este proceso podria tardar hasta un minuto, gracias "& ruta , True)
|
|
End If
|
|
End Sub
|
|
|
|
Sub envioGuna 'ignore
|
|
Private PASO As Int = 1
|
|
'End If
|
|
If PASO = 1 Then
|
|
B4XPages.MainPage.skmt.ExecNonQuery("delete from pedido_cliente where PC_CLIENTE not In (select PE_CLIENTE from pedido)")
|
|
' PEDIO_CLIENTE
|
|
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 FROM PEDIDO_CLIENTE ")
|
|
d = B4XPages.MainPage.skmt.ExecQuery("SELECT COUNT(*) as CUANTOS_PEDIDOSC FROM PEDIDO_CLIENTE ")
|
|
If c.RowCount > 0 Then
|
|
For i = 0 To c.RowCount - 1
|
|
c.Position=i
|
|
Dim cmd As DBCommand
|
|
cmd.Initialize
|
|
cmd.Name = "insert_pedidos_GV2"
|
|
cmd.Parameters = Array As Object(C.GetString("PC_CLIENTE"),C.GetString("PC_FECHA"),C.GetString("PC_USER"),C.GetString("PC_NOART"),C.GetString("PC_MONTO"),C.GetString("PC_LON"),C.GetString("PC_LAT"), almacen, ruta, C.GetString("PC_COSTO_SIN") )
|
|
B4XPages.MainPage.reqManager.ExecuteCommand(cmd , "ins_pedidos")
|
|
Next
|
|
End If
|
|
c.Close
|
|
d.Position=0
|
|
Private cuantos_pedidosc As String = D.GetString("CUANTOS_PEDIDOSC") 'ignore
|
|
d.Close
|
|
|
|
' ENVIO DE LOS CODIGOS QR
|
|
'c=skmt.ExecQuery2("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 = ?", Array As String("OK"))
|
|
c=B4XPages.MainPage.skmt.ExecQuery("SELECT CODIGOKMTS, CODIGOB, LAT, LON FROM HIST_CODIGO_BARRAS" )
|
|
If c.RowCount>0 Then
|
|
For i=0 To c.RowCount -1
|
|
c.Position=i
|
|
Dim cmd As DBCommand
|
|
cmd.Initialize
|
|
cmd.Name = "insert_QR_2_GV2"
|
|
cmd.Parameters = Array As Object(C.GetString("CODIGOKMTS"), C.GetString("CODIGOB"), C.GetString("LON"), C.GetString("LAT"), almacen, ruta)
|
|
B4XPages.MainPage.reqManager.ExecuteCommand(cmd , "ins_QR")
|
|
Next
|
|
End If
|
|
c.Close
|
|
|
|
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
|
|
c.Position = i
|
|
's=skmt.ExecQuery2("SELECT HIST_VI_IMAGEN FROM HIST_VISITAS WHERE HIST_VI_CREDITO =?", Array As String (c.GetString("HIST_VI_CREDITO")))
|
|
's.Position =0
|
|
Private foto1() As Byte = c.GetBlob("CAT_CL_FOTO")
|
|
Dim cmd As DBCommand
|
|
cmd.Initialize
|
|
cmd.Name = "insert_QR_GV2"
|
|
cmd.Parameters = Array As Object(C.GetString("CAT_CL_NUM_SERIEFISICO"), C.GetString("CAT_CL_CODIGO"), C.GetString("CAT_CL_LONG"), C.GetString("CAT_CL_LAT"), almacen, ruta, foto1)
|
|
B4XPages.MainPage.reqManager.ExecuteCommand(cmd , "ins_QR")
|
|
Next
|
|
End If
|
|
c.Close
|
|
|
|
c = B4XPages.MainPage.skmt.ExecQuery("SELECT HE_CLIE, HE_RES, HE_FECHA, HE_TIPO FROM HIST_ENCUESTA")
|
|
If c.RowCount > 0 Then
|
|
For i = 0 To c.RowCount - 1
|
|
c.Position = i
|
|
Dim cmd As DBCommand
|
|
cmd.Initialize
|
|
cmd.Name = "insert_encuesta"
|
|
cmd.Parameters = Array As Object(C.GetString("HE_CLIE"),C.GetString("HE_RES"),C.GetString("HE_FECHA"), c.GetString("HE_TIPO"))
|
|
B4XPages.MainPage.reqManager.ExecuteCommand(cmd , "inst_noventa")
|
|
Next
|
|
End If
|
|
c.Close
|
|
c = B4XPages.MainPage.skmt.ExecQuery("SELECT PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO, PE_COSTO_SIN, PE_RUTA, PE_DESC, PE_FOLIO FROM PEDIDO")
|
|
d = B4XPages.MainPage.skmt.ExecQuery("SELECT COUNT(*) as CUANTOS_PEDIDO FROM PEDIDO")
|
|
If c.RowCount > 0 Then
|
|
For i = 0 To c.RowCount - 1
|
|
c.Position = i
|
|
Dim cmd As DBCommand
|
|
cmd.Initialize
|
|
cmd.Name = "insert_pedido_GV2_06"
|
|
cmd.Parameters = Array As Object(C.GetString("PE_CEDIS"), almacen, C.GetString("PE_COSTO_TOT"), C.GetString("PE_COSTOU"), C.GetString("PE_CANT"), C.GetString("PE_PRONOMBRE"), C.GetString("PE_PROID"), C.GetString("PE_CLIENTE"),C.GetString("PE_FECHA"),C.GetString("PE_USUARIO"),C.GetString("PE_RUTA"), C.GetString("PE_COSTO_SIN"),C.GetString("PE_DESC"),c.GetString("PE_FOLIO"))
|
|
B4XPages.MainPage.reqManager.ExecuteCommand(cmd , "ins_pedido")
|
|
Next
|
|
End If
|
|
c.Close
|
|
d.Position=0
|
|
Private cuantos_pedido As String = D.GetString("CUANTOS_PEDIDO") 'ignore
|
|
d.Close
|
|
|
|
' NOVENTA
|
|
c = B4XPages.MainPage.skmt.ExecQuery("SELECT NV_CLIENTE,NV_FECHA,NV_USER,NV_MOTIVO,NV_COMM,NV_LAT,NV_LON FROM NOVENTA")
|
|
D = B4XPages.MainPage.skmt.ExecQuery("SELECT COUNT(*) AS CUANTOS_NOVENTA FROM NOVENTA")
|
|
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_GV2"
|
|
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"), almacen, ruta)
|
|
B4XPages.MainPage.reqManager.ExecuteCommand(cmd , "inst_noventa")
|
|
Next
|
|
End If
|
|
c.Close
|
|
d.Position = 0
|
|
Private cuantos_noventa As String = D.GetString("CUANTOS_NOVENTA") 'ignore
|
|
d.Close
|
|
|
|
' DATOS DE KMTS PARA EL TIPO DE ABARROTE.
|
|
'''CAT_CL_GIRO = ? WHERE CAT_CL_CODIGO = ? And CAT_CL_NOMBRE = ? kmt_info
|
|
c = B4XPages.MainPage.skmt.ExecQuery("Select CAT_CL_GIRO, CAT_CL_CODIGO from kmt_info")
|
|
If c.RowCount > 0 Then
|
|
For i = 0 To c.RowCount - 1
|
|
c.Position = i
|
|
Dim cmd As DBCommand
|
|
cmd.Initialize
|
|
cmd.Name = "insert_GIROS_ENC"
|
|
cmd.Parameters = Array As Object(C.GetString("CAT_CL_CODIGO"),C.GetString("CAT_CL_GIRO"))
|
|
B4XPages.MainPage.reqManager.ExecuteCommand(cmd , "inst_noventa")
|
|
Next
|
|
End If
|
|
c.Close
|
|
|
|
' GEO CERCA
|
|
c = B4XPages.MainPage.skmt.ExecQuery("Select HGCLIENTE, HGDATE, HGLAT, HGLON from HIST_GEOCERCA")
|
|
If c.RowCount > 0 Then
|
|
For i = 0 To c.RowCount - 1
|
|
c.Position = i
|
|
Dim cmd As DBCommand
|
|
cmd.Initialize
|
|
cmd.Name = "insert_geocerca_GV2"
|
|
cmd.Parameters = Array As Object(C.GetString("HGCLIENTE"),C.GetString("HGDATE"),C.GetString("HGLAT"),C.GetString("HGLON"))
|
|
B4XPages.MainPage.reqManager.ExecuteCommand(cmd , "inst_noventa")
|
|
Next
|
|
End If
|
|
c.Close
|
|
|
|
' LO DEL LIKE
|
|
c = B4XPages.MainPage.skmt.ExecQuery("Select HFCLIENTE, HFALIAS,HFRUTA,HFALMACEN from HIST_FACE")
|
|
If c.RowCount > 0 Then
|
|
For i = 0 To c.RowCount - 1
|
|
c.Position = i
|
|
Dim cmd As DBCommand
|
|
cmd.Initialize
|
|
cmd.Name = "insert_face_like_GV2"
|
|
cmd.Parameters = Array As Object(C.GetString("HFCLIENTE"),C.GetString("HFALIAS"),C.GetString("HFRUTA"),C.GetString("HFALMACEN"))
|
|
B4XPages.MainPage.reqManager.ExecuteCommand(cmd , "inst_noventa")
|
|
Next
|
|
End If
|
|
c.Close
|
|
|
|
' DROP
|
|
' t1.Initialize("T1", 30000) ' 1000 = 1 second
|
|
' t1.Enabled = True
|
|
' Dim sDate,sTime As String
|
|
' DateTime.DateFormat = "MM/dd/yyyy"
|
|
' sDate=DateTime.Date(DateTime.Now)
|
|
' sTime=DateTime.Time(DateTime.Now)
|
|
' Dim cmd As DBCommand
|
|
' cmd.Initialize
|
|
' cmd.Name ="insert_drop_GV2_2"
|
|
' cmd.Parameters = Array As Object(usuario,l_ruta.Text,sDate & sTime, l_porvisitar.Text,l_drop.Text,l_efectiva.Text,l_cuantosc.Text,l_cuantosn.Text, L_MONTOD.Text,"ENVIO",almacen)
|
|
' B4XPages.MainPage.reqManager.ExecuteCommand(cmd , "inst_noventa")
|
|
' img2.Visible =True
|
|
' PORCENTAJE = Round(100/ (cuantos_noventa + cuantos_pedido + cuantos_pedidosc + 1))
|
|
' If Starter.marcaCel <> "Sony" Then ToastMessageShow("Se Actualizaran los datos, Este proceso podria tardar hasta un minuto, gracias "& l_ruta.text , True)
|
|
End If
|
|
|
|
Private x As Cursor = B4XPages.MainPage.skmt.ExecQuery("Select CLIENTE, ALMACEN, P1, P2, P3, P4, P5, P6, P7, P8, P9 from ENCUESTA_MODULO1")
|
|
If x.RowCount>0 Then
|
|
For i=0 To x.RowCount -1
|
|
x.Position=i
|
|
Dim cmd As DBCommand
|
|
cmd.Initialize
|
|
cmd.Name = "insert_ENCUESTA_MODULO1"
|
|
cmd.Parameters = Array As Object(x.GetString("CLIENTE"), x.GetString("ALMACEN"),x.GetString("P1"), x.GetString("P2"), x.GetString("P3"), x.GetString("P4"), x.GetString("P5"), x.GetString("P6"), x.GetString("P7"), x.GetString("P8"), x.GetString("P9"))
|
|
B4XPages.MainPage.reqManager.ExecuteCommand(cmd , "insert_ENCUESTA_MODULO1")
|
|
Next
|
|
End If
|
|
x.Close
|
|
Private x As Cursor = B4XPages.MainPage.skmt.ExecQuery("Select CLIENTE, ALMACEN, P1, P2, P3, P4, P5, P6 from ENCUESTA_MODULO2")
|
|
If x.RowCount>0 Then
|
|
For i=0 To x.RowCount -1
|
|
x.Position=i
|
|
Dim cmd As DBCommand
|
|
cmd.Initialize
|
|
cmd.Name = "insert_ENCUESTA_MODULO2"
|
|
cmd.Parameters = Array As Object(x.GetString("CLIENTE"), x.GetString("ALMACEN"),x.GetString("P1"), x.GetString("P2"), x.GetString("P3"), x.GetString("P4"), x.GetString("P5"), x.GetString("P6"))
|
|
B4XPages.MainPage.reqManager.ExecuteCommand(cmd , "insert_ENCUESTA_MODULO2")
|
|
Next
|
|
End If
|
|
x.Close
|
|
Private x As Cursor = B4XPages.MainPage.skmt.ExecQuery("Select CLIENTE, ALMACEN, P1, P2, P3, P4, P5, P6, P7, P8, P9 from ENCUESTA_MODULO3")
|
|
If x.RowCount>0 Then
|
|
For i=0 To x.RowCount -1
|
|
x.Position=i
|
|
Dim cmd As DBCommand
|
|
cmd.Initialize
|
|
cmd.Name = "insert_ENCUESTA_MODULO3"
|
|
cmd.Parameters = Array As Object(x.GetString("CLIENTE"), x.GetString("ALMACEN"),x.GetString("P1"), x.GetString("P2"), x.GetString("P3"), x.GetString("P4"), x.GetString("P5"), x.GetString("P6"), x.GetString("P7"), x.GetString("P8"), x.GetString("P9"))
|
|
B4XPages.MainPage.reqManager.ExecuteCommand(cmd , "insert_ENCUESTA_MODULO3")
|
|
Next
|
|
End If
|
|
x.Close
|
|
Private x As Cursor = B4XPages.MainPage.skmt.ExecQuery("Select CLIENTE, ALMACEN, P1, P2, P3, P4, P5, P6, P7, P8 from ENCUESTA_MODULO4")
|
|
If x.RowCount>0 Then
|
|
For i=0 To x.RowCount -1
|
|
x.Position=i
|
|
Dim cmd As DBCommand
|
|
cmd.Initialize
|
|
cmd.Name = "insert_ENCUESTA_MODULO4"
|
|
cmd.Parameters = Array As Object(x.GetString("CLIENTE"), x.GetString("ALMACEN"),x.GetString("P1"), x.GetString("P2"), x.GetString("P3"), x.GetString("P4"), x.GetString("P5"), x.GetString("P6"), x.GetString("P7"), x.GetString("P8"))
|
|
B4XPages.MainPage.reqManager.ExecuteCommand(cmd , "insert_ENCUESTA_MODULO4")
|
|
Next
|
|
End If
|
|
x.Close
|
|
Private x As Cursor = B4XPages.MainPage.skmt.ExecQuery("Select CLIENTE, ALMACEN, P1, P2, P3, P4, P5, P6, P7, P8, P9 from ENCUESTA_MODULO5")
|
|
If x.RowCount>0 Then
|
|
For i=0 To x.RowCount -1
|
|
x.Position=i
|
|
Dim cmd As DBCommand
|
|
cmd.Initialize
|
|
cmd.Name = "insert_ENCUESTA_MODULO5"
|
|
cmd.Parameters = Array As Object(x.GetString("CLIENTE"), x.GetString("ALMACEN"),x.GetString("P1"), x.GetString("P2"), x.GetString("P3"), x.GetString("P4"), x.GetString("P5"), x.GetString("P6"), x.GetString("P7"), x.GetString("P8"), x.GetString("P9"))
|
|
B4XPages.MainPage.reqManager.ExecuteCommand(cmd , "insert_ENCUESTA_MODULO5")
|
|
Next
|
|
End If
|
|
x.Close
|
|
End Sub
|
|
|
|
'======================================================================================
|
|
$// ARCHIVO_FIN: C_Envios.bas
|
|
'======================================================================================
|
|
|
|
|
|
'======================================================================================
|
|
$// ARCHIVO_INICIO: C_Intmex.bas
|
|
'======================================================================================
|
|
|
|
B4A=true
|
|
Group=Default Group
|
|
ModulesStructureVersion=1
|
|
Type=Class
|
|
Version=12.8
|
|
@EndOfDesignText@
|
|
Sub Class_Globals
|
|
' Dim skmt As SQL
|
|
Dim reqManager As DBRequestManager
|
|
Dim cmd As DBCommand
|
|
Dim c, d As Cursor
|
|
Dim usuario, almacen, PORCENTAJE, datos_iguales As String
|
|
Dim cuantos_pedido As String = 0
|
|
Dim cuantos_noventa As String = 0
|
|
Dim cuantos_pedidosc As String = 0
|
|
Dim foto1() As Byte
|
|
Dim t1 As Timer
|
|
' Dim COUNT_CLIE As Int
|
|
Dim enviando As Boolean = False
|
|
Dim validando As Boolean = False
|
|
End Sub
|
|
|
|
'Initializes the object. You can add parameters to this method if needed.
|
|
Public Sub Initialize
|
|
' reqManager.Initialize(Me, "http://keymon.lat:1781")
|
|
reqManager.Initialize(Me, "http://keymon.net:1781")
|
|
End Sub
|
|
|
|
Sub envia
|
|
enviando = True
|
|
almacen = Subs.traeAlmacen
|
|
B4XPages.MainPage.skmt.ExecNonQuery2("delete from PEDIDO WHERE PE_PRONOMBRE = ? ", Array As Object("N/A") )
|
|
B4XPages.MainPage.skmt.ExecNonQuery("delete from pedido_cliente where PC_CLIENTE not In (select PE_CLIENTE from pedido)")
|
|
c=B4XPages.MainPage.skmt.ExecQuery("select usuario from usuarioa")
|
|
c.Position = 0
|
|
usuario = c.GetString("USUARIO")
|
|
c.Close
|
|
|
|
' ENVIO DE LOS CODIGOS QR
|
|
c=B4XPages.MainPage.skmt.ExecQuery("SELECT CODIGOKMTS, CODIGOB, LAT, LON FROM HIST_CODIGO_BARRAS" )
|
|
If c.RowCount>0 Then
|
|
For i=0 To c.RowCount -1
|
|
c.Position=i
|
|
Dim cmd As DBCommand
|
|
cmd.Initialize
|
|
cmd.Name = "insert_QR_2_INTMEX"
|
|
cmd.Parameters = Array As Object(C.GetString("CODIGOKMTS"),C.GetString("CODIGOB"),C.GetString("LON"),C.GetString("LAT"),almacen,Subs.traeruta )
|
|
reqManager.ExecuteCommand(cmd , "ins_QR")
|
|
Next
|
|
End If
|
|
c.Close
|
|
|
|
' 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
|
|
' c.Position=i
|
|
' 's=skmt.ExecQuery2("SELECT HIST_VI_IMAGEN FROM HIST_VISITAS WHERE HIST_VI_CREDITO =?", Array As String (c.GetString("HIST_VI_CREDITO")))
|
|
' 's.Position =0
|
|
' foto1 = c.GetBlob("CAT_CL_FOTO")
|
|
' Dim cmd As DBCommand
|
|
' cmd.Initialize
|
|
' cmd.Name = "insert_QR_INTMEX"
|
|
' cmd.Parameters = Array As Object(C.GetString("CAT_CL_NUM_SERIEFISICO"),C.GetString("CAT_CL_CODIGO"),C.GetString("CAT_CL_LONG"),C.GetString("CAT_CL_LAT"),almacen,Subs.traeruta, foto1 )
|
|
' reqManager.ExecuteCommand(cmd , "ins_QR")
|
|
' Next
|
|
' End If
|
|
' c.Close
|
|
|
|
'ENCUESTA
|
|
c=B4XPages.MainPage.skmt.ExecQuery("SELECT HE_CLIE, HE_RES, HE_FECHA, HE_TIPO FROM HIST_ENCUESTA")
|
|
If c.RowCount>0 Then
|
|
For i=0 To c.RowCount -1
|
|
c.Position=i
|
|
Dim cmd As DBCommand
|
|
cmd.Initialize
|
|
cmd.Name = "insert_encuesta_INTMEX"
|
|
cmd.Parameters = Array As Object(C.GetString("HE_CLIE"),C.GetString("HE_RES"),C.GetString("HE_FECHA"), c.GetString("HE_TIPO"))
|
|
reqManager.ExecuteCommand(cmd , "inst_noventa")
|
|
Next
|
|
End If
|
|
c.Close
|
|
|
|
' PEDIDO_CLIENTE
|
|
Dim PCNoArts As String
|
|
Dim PCMonto As String
|
|
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 ")
|
|
d = B4XPages.MainPage.skmt.ExecQuery("SELECT COUNT(*) as CUANTOS_PEDIDOSC FROM PEDIDO_CLIENTE ")
|
|
If c.RowCount > 0 Then
|
|
For i = 0 To c.RowCount - 1
|
|
c.Position = i
|
|
Dim cmd As DBCommand
|
|
cmd.Initialize
|
|
cmd.Name = "insert_pedidos_INTMEX"
|
|
cmd.Parameters = Array As Object(c.GetString("PC_CLIENTE"), c.GetString("PC_FECHA"), c.GetString("PC_USER"), c.GetString("PC_NOART"), c.GetString("PC_MONTO"), c.GetString("PC_LON"), c.GetString("PC_LAT"), almacen, Subs.traeruta, c.GetString("PC_COSTO_SIN"), c.GetString("PC_FACTURA"))
|
|
PCNoArts = c.GetString("PC_NOART")
|
|
PCMonto = c.GetString("PC_MONTO")
|
|
reqManager.ExecuteCommand(cmd , "ins_pedidos")
|
|
Log(">>>>>> INSERT PEDIDO_CLIENTE")
|
|
Next
|
|
End If
|
|
c.Close
|
|
d.Position = 0
|
|
cuantos_pedidosc = d.GetString("CUANTOS_PEDIDOSC")
|
|
d.Close
|
|
|
|
' PEDIDO
|
|
c = B4XPages.MainPage.skmt.ExecQuery("SELECT PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO, PE_COSTO_SIN, PE_RUTA, PE_DESC, PE_FOLIO FROM PEDIDO")
|
|
d = B4XPages.MainPage.skmt.ExecQuery("SELECT COUNT(*) as CUANTOS_PEDIDO FROM PEDIDO")
|
|
If c.RowCount > 0 Then
|
|
For i = 0 To c.RowCount - 1
|
|
c.Position = i
|
|
Dim cmd As DBCommand
|
|
cmd.Initialize
|
|
cmd.Name = "insert_pedido2_INTMEX" 'CON TOTALES INCLUIDOS
|
|
cmd.Parameters = Array As Object(C.GetString("PE_CEDIS"),almacen,C.GetString("PE_COSTO_TOT"),C.GetString("PE_COSTOU"),C.GetString("PE_CANT"),C.GetString("PE_PRONOMBRE"),C.GetString("PE_PROID"),C.GetString("PE_CLIENTE"),C.GetString("PE_FECHA"),C.GetString("PE_USUARIO"),C.GetString("PE_RUTA"), C.GetString("PE_COSTO_SIN"),C.GetString("PE_DESC"),c.GetString("PE_FOLIO"), PCNoArts, PCMonto)
|
|
reqManager.ExecuteCommand(cmd , $"ins_pedidosPendientes_prods_${c.GetString("PE_CLIENTE")}_${c.GetString("PE_PROID")}"$)
|
|
' Log($">>>> INS_PEDIDO= ${C.GetString("PE_CEDIS")},${ALMACEN},${C.GetString("PE_COSTO_TOT")},${C.GetString("PE_COSTOU")},${C.GetString("PE_CANT")}, ${C.GetString("PE_PRONOMBRE")}, ${C.GetString("PE_PROID")}, ${C.GetString("PE_CLIENTE")}, ${C.GetString("PE_FECHA")}, ${C.GetString("PE_USUARIO")}, ${C.GetString("PE_RUTA")}, ${C.GetString("PE_COSTO_SIN")}, ${C.GetString("PE_DESC")}, ${c.GetString("PE_FOLIO")}, ${PCNoArts}, ${PCMonto}"$)
|
|
' cmd.Name = "insert_pedido_INTMEX" ' SIN TOTALES INCLUIDOS
|
|
' cmd.Parameters = Array As Object(C.GetString("PE_CEDIS"),ALMACEN,C.GetString("PE_COSTO_TOT"),C.GetString("PE_COSTOU"),C.GetString("PE_CANT"),C.GetString("PE_PRONOMBRE"),C.GetString("PE_PROID"),C.GetString("PE_CLIENTE"),C.GetString("PE_FECHA"),C.GetString("PE_USUARIO"),C.GetString("PE_RUTA"), C.GetString("PE_COSTO_SIN"),C.GetString("PE_DESC"),c.GetString("PE_FOLIO"))
|
|
' reqManager.ExecuteCommand(cmd , "ins_pedido")
|
|
Next
|
|
End If
|
|
c.Close
|
|
d.Position=0
|
|
cuantos_pedido = D.GetString("CUANTOS_PEDIDO")
|
|
d.Close
|
|
|
|
' NOVENTA
|
|
c=B4XPages.MainPage.skmt.ExecQuery("SELECT NV_CLIENTE,NV_FECHA,NV_USER,NV_MOTIVO,NV_COMM,NV_LAT,NV_LON FROM NOVENTA")
|
|
D=B4XPages.MainPage.skmt.ExecQuery("SELECT COUNT(*) AS CUANTOS_NOVENTA FROM NOVENTA")
|
|
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"), almacen, Subs.traeruta)
|
|
reqManager.ExecuteCommand(cmd , "inst_noventa")
|
|
Next
|
|
End If
|
|
c.Close
|
|
d.Position=0
|
|
cuantos_noventa = D.GetString("CUANTOS_NOVENTA")
|
|
d.Close
|
|
|
|
' GEO CERCA
|
|
c=B4XPages.MainPage.skmt.ExecQuery("Select HGCLIENTE, HGDATE, HGLAT, HGLON from HIST_GEOCERCA")
|
|
If c.RowCount>0 Then
|
|
For i=0 To c.RowCount -1
|
|
c.Position=i
|
|
Dim cmd As DBCommand
|
|
cmd.Initialize
|
|
cmd.Name = "insert_geocerca_INTMEX"
|
|
cmd.Parameters = Array As Object(C.GetString("HGCLIENTE"),C.GetString("HGDATE"),C.GetString("HGLAT"),C.GetString("HGLON"))
|
|
reqManager.ExecuteCommand(cmd , "inst_noventa")
|
|
Next
|
|
End If
|
|
c.Close
|
|
|
|
' LO DEL LIKE
|
|
c=B4XPages.MainPage.skmt.ExecQuery("Select HFCLIENTE, HFALIAS, HFRUTA, HFALMACEN from HIST_FACE")
|
|
If c.RowCount>0 Then
|
|
For i=0 To c.RowCount -1
|
|
c.Position=i
|
|
Dim cmd As DBCommand
|
|
cmd.Initialize
|
|
cmd.Name = "insert_face_like_INTMEX"
|
|
cmd.Parameters = Array As Object(C.GetString("HFCLIENTE"),C.GetString("HFALIAS"),C.GetString("HFRUTA"),C.GetString("HFALMACEN"))
|
|
reqManager.ExecuteCommand(cmd , "inst_noventa")
|
|
Next
|
|
End If
|
|
c.Close
|
|
|
|
' DROP
|
|
' t1.Initialize("T1", 30000) ' 1000 = 1 second
|
|
' t1.Enabled = True
|
|
' Dim sDate,sTime As String
|
|
' DateTime.DateFormat = "MM/dd/yyyy"
|
|
' sDate=DateTime.Date(DateTime.Now)
|
|
' sTime=DateTime.Time(DateTime.Now)
|
|
' Dim cmd As DBCommand
|
|
' cmd.Initialize
|
|
' cmd.Name ="insert_drop_INTMEX_2"
|
|
' cmd.Parameters = Array As Object(usuario,Subs.traeruta,sDate & sTime, l_porvisitar.Text,l_drop.Text,l_efectiva.Text,l_cuantosc.Text,l_cuantosn.Text, L_MONTOD.Text,"ENVIO",almacen)
|
|
' reqManager.ExecuteCommand(cmd , "inst_noventa")
|
|
'' img2.Visible =True
|
|
' PORCENTAJE = Round(100/ (cuantos_noventa + cuantos_pedido + cuantos_pedidosc + 1))
|
|
' If Starter.marcaCel <> "Sony" Then ToastMessageShow("Se Actualizaran los datos, Este proceso podria tardar hasta un minuto, gracias "& Subs.traeruta , True)
|
|
|
|
'CUESTIONARIOS
|
|
c = B4XPages.MainPage.skmt.ExecQuery($"select * from cuestionario where ifnull(Q_ENVIO_OK, 0) = 0"$)
|
|
Private rutaActual As String = Subs.traeRuta
|
|
If c.RowCount > 0 Then
|
|
For x = 0 To c.RowCount - 1
|
|
c.Position = x
|
|
Dim cmd As DBCommand
|
|
cmd.Initialize
|
|
cmd.Name = "insert_CUESTIONARIO_INTMEX"
|
|
cmd.Parameters = Array As Object(c.GetString("Q_IDCLIENTE"), rutaActual, almacen, c.GetString("Q_FECHA"), c.GetString("Q_IDPREGUNTA"), c.GetString("Q_PREGUNTA"), c.GetString("Q_IDRESPUESTA"), C.GetString("Q_RESPUESTA"))
|
|
reqManager.ExecuteCommand(cmd , "ins_cuestionario")
|
|
Next
|
|
End If
|
|
c.Close
|
|
End Sub
|
|
|
|
Sub JobDone(Job As HttpJob)
|
|
Log("JOBDONE INTMEX")
|
|
Log(reqManager.link)
|
|
If reqManager.reqsList.IsInitialized Then 'Si tenemos lista de requests, la procesamos.
|
|
If reqManager.reqsList.IndexOf(Job.tag) <> -1 Then
|
|
reqManager.reqsList.RemoveAt(reqManager.reqsList.IndexOf(Job.tag))
|
|
LogColor($">>>>>> Quitamos ${Job.tag}"$, Colors.Blue)
|
|
End If
|
|
LogColor(">>>>>> " & reqManager.reqsList.Size & " - " & reqManager.reqsList, Colors.Blue)
|
|
End If
|
|
If Job.Success = False Then
|
|
Log("ERROR")
|
|
LogColor("Error: " & reqManager.HandleJob(Job).tag & " : " & Job.ErrorMessage, Colors.red)
|
|
' Job.Release
|
|
Else 'If Job Success then ...
|
|
LogColor("JobDone: '" & reqManager.HandleJob(Job).tag & "' - Registros: " & reqManager.HandleJob(Job).Rows.Size, Colors.RGB(0,160,0)) 'Mod por CHV - 211027
|
|
'Verificamos que el usuario guardado en BD sea VALIDO.
|
|
If Job.JobName = "DBRequest" Then
|
|
Dim RESULT As DBResult = reqManager.HandleJob(Job)
|
|
If RESULT.Tag = "update_gps" Then
|
|
For Each records() As Object In RESULT.Rows
|
|
Log("==========================REGISTROS="&RESULT.Rows)
|
|
For Each k As String In RESULT.Columns.Keys
|
|
Log(RESULT.Tag & ": " & k & ": " & records(RESULT.Columns.Get(k)))
|
|
Next
|
|
Next
|
|
End If
|
|
If RESULT.Tag = "ins_pedidos" Then
|
|
For Each records() As Object In RESULT.Rows
|
|
Log("==========================REGISTROS="&RESULT.Rows)
|
|
For Each k As String In RESULT.Columns.Keys
|
|
Log(RESULT.Tag & ": " & k & ": " & records(RESULT.Columns.Get(k)))
|
|
Next
|
|
Next
|
|
End If
|
|
End If
|
|
|
|
If Job.JobName = "DBRequest" Then
|
|
Dim RESULT As DBResult = reqManager.HandleJob(Job)
|
|
If RESULT.Tag = "valida_pedido" Then 'query tag
|
|
Subs.logJobDoneResultados(RESULT)
|
|
For Each records() As Object In RESULT.Rows
|
|
Dim CUANTOSP As Int = records(RESULT.Columns.Get("CUANTOSP"))
|
|
Log(CUANTOSP)
|
|
B4XPages.MainPage.l_vProds2.Text = $"${CUANTOSP}/${cuantos_pedido}"$
|
|
If cuantos_pedido <= CUANTOSP Then
|
|
' ToastMessageShow("rojo val ok 1 cuantosp." , True)
|
|
datos_iguales = "ok"
|
|
' S_CP.Text = "INFO OK"
|
|
ToastMessageShow("INFO OK", False)
|
|
Else
|
|
' S_CP.Text = "ENVIAR DATOS (K-2)"
|
|
ToastMessageShow($"No se cargo bien la info de pedido.${CRLF}Envíe nuevamente: "$ & CUANTOSP & "/" & cuantos_pedido, True)
|
|
ToastMessageShow("ENVIAR DATOS (K-2)", True)
|
|
Log("No se cargo bien la info de pedido. Envíe nuevamente: " & CUANTOSP & "/" & cuantos_pedido)
|
|
End If
|
|
Next
|
|
End If
|
|
End If
|
|
|
|
If Job.JobName = "DBRequest" Then
|
|
Dim RESULT As DBResult = reqManager.HandleJob(Job)
|
|
If RESULT.Tag = "valida_pedidoc" Then 'query tag
|
|
Subs.logJobDoneResultados(RESULT)
|
|
For Each records() As Object In RESULT.Rows
|
|
Dim CUANTOSC As Int = records(RESULT.Columns.Get("CUANTOSC"))
|
|
B4XPages.MainPage.l_vPedidos2.Text = $"${CUANTOSC}/${cuantos_pedidosc}"$
|
|
If cuantos_pedidosc = CUANTOSC Then
|
|
' ToastMessageShow("rojo val ok 1 cuantosp." , True)
|
|
datos_iguales = "ok"
|
|
Else
|
|
ToastMessageShow($"No se cargo bien la info de pedido_cliente.${CRLF}Envíe nuevamente: "$ & CUANTOSC & "/" & cuantos_pedidosc, True)
|
|
Log("No se cargo bien la info de pedido_cliente. Envíe nuevamente: " & CUANTOSC & "/" & cuantos_pedidosc)
|
|
End If
|
|
Next
|
|
End If
|
|
End If
|
|
|
|
If Job.JobName = "DBRequest" Then
|
|
Dim RESULT As DBResult = reqManager.HandleJob(Job)
|
|
If RESULT.Tag = "valida_noventa" Then 'query tag
|
|
Subs.logJobDoneResultados(RESULT)
|
|
For Each records() As Object In RESULT.Rows
|
|
Dim CUANTOSN As Int = records(RESULT.Columns.Get("CUANTOSN"))
|
|
B4XPages.MainPage.l_vNoVenta2.Text = $"${CUANTOSN}/${cuantos_noventa}"$
|
|
If cuantos_noventa = CUANTOSN Then
|
|
' ToastMessageShow("rojo val ok 1 cuantosp." , True)
|
|
datos_iguales = "ok"
|
|
Else
|
|
ToastMessageShow($"No se cargo bien la info de NoVenta.${CRLF}Envíe nuevamente: "$ & CUANTOSN & "/" & cuantos_noventa, True)
|
|
Log("No se cargo bien la info de NoVenta. Envíe nuevamente:" & CUANTOSN & "/" & cuantos_noventa)
|
|
End If
|
|
Next
|
|
End If
|
|
End If
|
|
|
|
If Job.JobName = "DBRequest" Then
|
|
Dim RESULT As DBResult = reqManager.HandleJob(Job)
|
|
If RESULT.Tag = "ins_pedido" Then 'query tag
|
|
For Each records() As Object In RESULT.Rows
|
|
' PB2.Progress = PB2.Progress + 5
|
|
' S_CP.Text = "SUBIENDO"
|
|
Next
|
|
' PB2.Progress = 100
|
|
Log("PROGRESO 100")
|
|
' S_CP.Text = "REVISANDO ..."
|
|
ToastMessageShow("REVISANDO", False)
|
|
Log("REVISANDO")
|
|
End If
|
|
End If
|
|
|
|
Dim RESULT As DBResult = reqManager.HandleJob(Job)
|
|
If RESULT.Tag = "ins_cuestionario" Then 'query tag
|
|
Subs.logJobDoneResultados(RESULT)
|
|
End If
|
|
End If
|
|
If reqManager.reqsList.size = 0 Then ' Si ya no hay consultas pendientes ...
|
|
B4XPages.MainPage.p_progressDialog.Visible = False
|
|
If enviando Then ' Si terminamos de enviar pedido ...
|
|
Sleep(200)
|
|
B4XPages.MainPage.l_progressDialog.Text = "Validando " ' Mostramos el panel de progreso.
|
|
B4XPages.MainPage.p_progressDialog.Visible = True
|
|
valida ' Iniciamos la validación
|
|
enviando = False
|
|
End If
|
|
If validando Then
|
|
validando = False
|
|
Sleep(300)
|
|
'Mostramos el panel de Validación.
|
|
B4XPages.MainPage.p_validacion.Visible = True
|
|
End If
|
|
End If
|
|
Job.Release
|
|
End Sub
|
|
|
|
Sub valida
|
|
validando = True
|
|
almacen = Subs.traeAlmacen
|
|
d = B4XPages.MainPage.skmt.ExecQuery("SELECT COUNT(*) as CUANTOS_PEDIDO FROM PEDIDO")
|
|
d.Position = 0
|
|
cuantos_pedido = d.GetString("CUANTOS_PEDIDO")
|
|
|
|
d = B4XPages.MainPage.skmt.ExecQuery("SELECT COUNT(*) as CUANTOS_PEDIDOSC FROM PEDIDO_CLIENTE ")
|
|
d.Position = 0
|
|
cuantos_pedidosc = d.GetString("CUANTOS_PEDIDOSC")
|
|
|
|
d = B4XPages.MainPage.skmt.ExecQuery("SELECT COUNT(*) AS CUANTOS_NOVENTA FROM NOVENTA")
|
|
d.Position = 0
|
|
cuantos_noventa = d.GetString("CUANTOS_NOVENTA")
|
|
d.Close
|
|
|
|
cmd.Initialize
|
|
cmd.Name = "select_cuantos_pedido_INTMEX"
|
|
cmd.Parameters = Array As Object(almacen, Subs.traeRuta)
|
|
Log($"${almacen}, ${Subs.traeRuta}"$)
|
|
reqManager.ExecuteQuery(cmd , 0, "valida_pedido")
|
|
|
|
cmd.Initialize
|
|
cmd.Name = "select_cuantos_noventa_INTMEX"
|
|
cmd.Parameters = Array As Object(almacen, Subs.traeRuta)
|
|
reqManager.ExecuteQuery(cmd , 0, "valida_noventa")
|
|
|
|
cmd.Initialize
|
|
cmd.Name = "select_cuantos_pedidoc_INTMEX"
|
|
cmd.Parameters = Array As Object(almacen, Subs.traeRuta)
|
|
reqManager.ExecuteQuery(cmd , 0, "valida_pedidoc")
|
|
Log("http://keymon.net:1781")
|
|
|
|
B4XPages.MainPage.l_vPedidos2.Text = ""
|
|
B4XPages.MainPage.l_vProds2.Text = ""
|
|
B4XPages.MainPage.l_vNoVenta2.Text = ""
|
|
End Sub
|
|
|
|
'======================================================================================
|
|
$// ARCHIVO_FIN: C_Intmex.bas
|
|
'======================================================================================
|
|
|
|
|
|
'======================================================================================
|
|
$// ARCHIVO_INICIO: C_Izca.bas
|
|
'======================================================================================
|
|
|
|
B4A=true
|
|
Group=Default Group
|
|
ModulesStructureVersion=1
|
|
Type=Class
|
|
Version=12.8
|
|
@EndOfDesignText@
|
|
Sub Class_Globals
|
|
Private Root As B4XView 'ignore
|
|
Private xui As XUI 'ignore
|
|
Dim reqManager As DBRequestManager
|
|
Dim b, c, d As Cursor
|
|
Dim usuario, almacen As String
|
|
Dim datos_iguales, almacen, carga, paso, conteo, porcentaje, perfil, cuantos, NUMERO_PEDIDO, usuario, cuantos_exib, cuantos_pedidosc, cuantos_noventa, cuantos_ped, cuantos_pedido As String
|
|
End Sub
|
|
|
|
'Initializes the object. You can add parameters to this method if needed.
|
|
Public Sub Initialize
|
|
reqManager.Initialize(Me, "http://keymon.net:1781")
|
|
Return Me
|
|
End Sub
|
|
|
|
Sub envia
|
|
' carga = "SUBIR"
|
|
' p_mandaInfo.Width = Root.Width
|
|
' p_mandaInfo.Height = Root.Height
|
|
' P1.Visible = True
|
|
' P1.Left = (p_mandaInfo.Width/2) - (P1.Width/2)
|
|
' P1.top = (p_mandaInfo.Height/2) - (P1.Height/2)
|
|
' p_mandaInfo.Visible = True
|
|
' P1.BringToFront
|
|
' p_mandaInfo.BringToFront
|
|
' 'trabajar.Visible = False
|
|
' NUEVO.Visible =False
|
|
' BUSCA.Visible=False
|
|
' connecta.Visible=False
|
|
' Subir.Visible=False
|
|
' cargar.Visible=False
|
|
' L_P_1.Visible = False
|
|
' S_CC.Visible = False
|
|
' L_P_3.Visible = False
|
|
' S_CH.Visible = False
|
|
' PB1.Visible = False
|
|
' Resumen.Visible= False
|
|
' L_P_2.Text = "Envio de Pedidos"
|
|
' L_P_3.Text = "Envio de Pedidos"
|
|
' S_CH.Text = "EN PROCESO"
|
|
' S_CP.Text = "EN PROCESO"
|
|
' PB1.Progress = 0
|
|
' PB2.Progress = 0
|
|
'c=skmt.ExecQuery("SELECT sum(IFNULL(PE_DESC,0)) as DESCUENTO FROM PEDIDO")
|
|
'c.Position =0
|
|
'If c.GetString("DESCUENTO") > 0 And PASO = 0 Then
|
|
'P1.Visible = True
|
|
'ELSE IF c.GetString("DESCUENTO") = 0 Then
|
|
paso = 1
|
|
'End If
|
|
If paso = 1 Then
|
|
B4XPages.MainPage.skmt.ExecNonQuery2("delete from PEDIDO WHERE PE_PRONOMBRE = ? ", Array As Object("N/A") )
|
|
B4XPages.MainPage.skmt.ExecNonQuery("delete from pedido_cliente where PC_CLIENTE not In (select PE_CLIENTE from pedido)")
|
|
c=B4XPages.MainPage.skmt.ExecQuery("select usuario from usuarioa")
|
|
c.Position = 0
|
|
usuario = c.GetString("USUARIO")
|
|
c.Close
|
|
' c=B4XPages.MainPage.skmt.ExecQuery("select HGDATE, HGLAT, HGLON from HIST_GPS")
|
|
' If c.RowCount>0 Then
|
|
' For i=0 To c.RowCount -1
|
|
' c.Position=i
|
|
' Dim cmd As DBCommand
|
|
' cmd.Initialize
|
|
' cmd.Name = "UPDATE_IZCA_ACTUAL2_GPS"
|
|
' cmd.Parameters = Array As String(B4XPages.MainPage.montoActual, B4XPages.MainPage.clientestotal, B4XPages.MainPage.clientesventa,B4XPages.MainPage.clientesvisitados,B4XPages.MainPage.lat_gps,B4XPages.MainPage.lon_gps,B4XPages.MainPage.batt,0, 0, 0,B4XPages.MainPage.ALMACEN,B4XPages.MainPage.rutapreventa )
|
|
' reqManager.ExecuteCommand(cmd , "update_gps")
|
|
' Next
|
|
' End If
|
|
' c.Close
|
|
|
|
' ENVIO DE LOS CODIGOS QR
|
|
' 'c=skmt.ExecQuery2("SELECT CAT_CL_NUM_SERIEFISICO,CAT_CL_CODIGO ,CAT_CL_LONG,CAT_CL_LAT, CAT_CL_FOTO FROM kmt_info3 where CAT_CL_NUM_SERIEFISICO = ?", Array As String("OK"))
|
|
' c=B4XPages.MainPage.skmt.ExecQuery("SELECT CODIGOKMTS, CODIGOB, LAT, LON FROM HIST_CODIGO_BARRAS" )
|
|
' If c.RowCount>0 Then
|
|
' For i=0 To c.RowCount -1
|
|
' c.Position=i
|
|
' Dim cmd As DBCommand
|
|
' cmd.Initialize
|
|
' cmd.Name = "insert_QR_2_IZCA"
|
|
' cmd.Parameters = Array As Object(C.GetString("CODIGOKMTS"),C.GetString("CODIGOB"),C.GetString("LON"),C.GetString("LAT"),ALMACEN,l_ruta.text )
|
|
' reqManager.ExecuteCommand(cmd , "ins_QR")
|
|
' Next
|
|
' End If
|
|
' c.Close
|
|
|
|
' c=B4XPages.MainPage.skmt.ExecQuery("SELECT CAT_CL_NUM_SERIEFISICO, CAT_CL_CODIGO, CAT_CL_LONG, CAT_CL_LAT, CAT_CL_FOTO FROM kmt_info3 where CAT_CL_NUM_SERIEFISICO IS NOT NULL")
|
|
' If c.RowCount>0 Then
|
|
' For i=0 To c.RowCount -1
|
|
' c.Position=i
|
|
' 's=skmt.ExecQuery2("SELECT HIST_VI_IMAGEN FROM HIST_VISITAS WHERE HIST_VI_CREDITO =?", Array As String (c.GetString("HIST_VI_CREDITO")))
|
|
' 's.Position =0
|
|
' foto1 = c.GetBlob("CAT_CL_FOTO")
|
|
' Dim cmd As DBCommand
|
|
' cmd.Initialize
|
|
' cmd.Name = "insert_QR_IZCA"
|
|
' cmd.Parameters = Array As Object(C.GetString("CAT_CL_NUM_SERIEFISICO"),C.GetString("CAT_CL_CODIGO"),C.GetString("CAT_CL_LONG"),C.GetString("CAT_CL_LAT"),ALMACEN,l_ruta.text )
|
|
' reqManager.ExecuteCommand(cmd , "ins_QR")
|
|
' Next
|
|
' End If
|
|
' c.Close
|
|
|
|
' 'Envio de Pagares
|
|
' c=B4XPages.MainPage.skmt.ExecQuery("SELECT * FROM PAGARES")
|
|
' If c.RowCount>0 Then
|
|
' For i=0 To c.RowCount -1
|
|
' c.Position=i
|
|
' Dim cmd As DBCommand
|
|
' cmd.Initialize
|
|
' cmd.Name = "insert_pagares_IZCA"
|
|
' cmd.Parameters = Array As Object(C.GetString("PA_ALMACEN"),Subs.traeRuta2(c.GetString("PA_CLIENTE")),C.GetString("PA_FECHA"),C.GetString("PA_CAPTURA"),C.GetString("PA_MONTO"),C.GetString("PA_USUARIO"),C.GetString("PA_CLIENTE") )
|
|
' reqManager.ExecuteCommand(cmd , "ins_pagares")
|
|
' Next
|
|
' End If
|
|
' c.Close
|
|
'
|
|
' 'ABONOS
|
|
' Dim ab As Cursor = B4XPages.MainPage.skmt.ExecQuery($"SELECT * from ABONOS where a_enviado is null"$)
|
|
' Log(ab.RowCount)
|
|
' If ab.RowCount > 0 Then
|
|
' For i=0 To ab.RowCount -1
|
|
' ab.Position = i
|
|
' Dim cmd As DBCommand
|
|
' cmd.Initialize
|
|
' cmd.Name = "insert_abono_IZCA"
|
|
' cmd.Parameters = Array As Object( ab.GetString("a_usuario"), ab.GetString("a_ruta"), ab.GetString("a_cliente"), ab.GetString("a_abono"), ab.GetString("a_fecha"),ALMACEN )
|
|
' reqManager.ExecuteCommand(cmd , $"ins_abonosPendientes_${ab.GetString("a_cliente")}"$)
|
|
' Log($"ins_abonosPendientes_${ab.GetString("a_cliente")}"$)
|
|
' Next
|
|
' End If
|
|
' ab.Close
|
|
|
|
' CLIENTES NUEVOS
|
|
' Dim fotocn() As Byte
|
|
' Dim Dirp As String = File.DirInternal
|
|
' Dim Dir As String
|
|
' Dim Dir2 As String
|
|
' Dir = "/promotoriakmts"
|
|
|
|
c=B4XPages.MainPage.skmt.ExecQuery("SELECT CN_ID, CN_FECHA , CN_USER, CN_LAT, CN_LON, CN_NOMBRE, CN_DIRECCION, CN_FOTO, CN_ALMACEN, CN_RUTA, CN_GIRO, CN_SOLICITA, CN_COLONIA, CN_TELEFONO, CN_CP FROM CLIENTES_NUEVOS")
|
|
If c.RowCount>0 Then
|
|
For i = 0 To c.RowCount - 1
|
|
c.Position = i
|
|
Dim dia As Int = DateTime.GetDayOfWeek(DateTime.Now)
|
|
If dia = 2 Then
|
|
Dim dialetra As String = "LUNES"
|
|
Else If dia = 3 Then
|
|
Dim dialetra As String = "MARTES"
|
|
Else If dia = 4 Then
|
|
Dim dialetra As String = "MIERCOLES"
|
|
Else If dia = 5 Then
|
|
Dim dialetra As String = "JUEVES"
|
|
Else If dia = 6 Then
|
|
Dim dialetra As String = "VIERNES"
|
|
Else If dia = 7 Then
|
|
Dim dialetra As String = "SABADO"
|
|
End If
|
|
Dim cmd As DBCommand
|
|
cmd.Initialize
|
|
cmd.Name = "insert_clientesnuevos_IZCA4"
|
|
Log(c.GetString("CN_ID")&" ,"& c.GetString("CN_FECHA")&" ,"& c.GetString("CN_USER")&" ,"& c.GetString("CN_LAT")&" ,"& c.GetString("CN_LON")&" ,"& c.GetString("CN_NOMBRE")&" ,"& c.GetString("CN_DIRECCION")&" ,"&almacen& c.GetString("CN_RUTA")&" ,"& "En espera"&c.GetString("CN_GIRO")&" ,"&dialetra& c.GetString("CN_SOLICITA")&" ,"& c.GetString("CN_COLONIA")&" ,"& c.GetString("CN_TELEFONO"))
|
|
cmd.Parameters = Array As Object(c.GetString("CN_ID"), c.GetString("CN_FECHA"), c.GetString("CN_USER"), c.GetString("CN_LAT"), c.GetString("CN_LON"), c.GetString("CN_NOMBRE"), c.GetString("CN_DIRECCION"),almacen, c.GetString("CN_RUTA"), "En espera",c.GetString("CN_GIRO"),dialetra, c.GetString("CN_SOLICITA"), c.GetString("CN_COLONIA"), c.GetString("CN_TELEFONO"), c.GetString("CN_CP"))
|
|
reqManager.ExecuteCommand(cmd , "inst_clientesn")
|
|
Next
|
|
End If
|
|
c.Close
|
|
|
|
' c=B4XPages.MainPage.skmt.ExecQuery("SELECT HE_CLIE, HE_RES, HE_FECHA, HE_TIPO FROM HIST_ENCUESTA")
|
|
' If c.RowCount>0 Then
|
|
' For i=0 To c.RowCount -1
|
|
' c.Position=i
|
|
' Dim cmd As DBCommand
|
|
' cmd.Initialize
|
|
' cmd.Name = "insert_encuesta_INTMEX"
|
|
' cmd.Parameters = Array As Object(C.GetString("HE_CLIE"),C.GetString("HE_RES"),C.GetString("HE_FECHA"), c.GetString("HE_TIPO"))
|
|
' reqManager.ExecuteCommand(cmd , "inst_noventa")
|
|
' Next
|
|
' End If
|
|
' c.Close
|
|
|
|
' PEDIDO_CLIENTE
|
|
Dim PCNoArts As String
|
|
Dim PCMonto As String
|
|
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_CLIENTE <> '1' ")
|
|
d = B4XPages.MainPage.skmt.ExecQuery("SELECT COUNT(*) as CUANTOS_PEDIDOSC FROM PEDIDO_CLIENTE WHERE PC_CLIENTE <> 1 ")
|
|
If c.RowCount > 0 Then
|
|
For i = 0 To c.RowCount - 1
|
|
c.Position = i
|
|
Dim cmd As DBCommand
|
|
cmd.Initialize
|
|
cmd.Name = "insert_pedidos_IZCA"
|
|
PCNoArts = c.GetString("PC_NOART")
|
|
PCMonto = c.GetString("PC_MONTO")
|
|
cmd.Parameters = Array As Object(c.GetString("PC_CLIENTE"), c.GetString("PC_FECHA"), c.GetString("PC_USER"), c.GetString("PC_NOART"), c.GetString("PC_MONTO"), c.GetString("PC_LON"), c.GetString("PC_LAT"), almacen, Subs.traeRuta2(c.GetString("PC_CLIENTE")), c.GetString("PC_COSTO_SIN"), c.GetString("PC_FACTURA"))
|
|
reqManager.ExecuteCommand(cmd , "ins_pedidos")
|
|
Log(">>>>>> INSERT PEDIDO_CLIENTE")
|
|
Next
|
|
End If
|
|
c.Close
|
|
d.Position = 0
|
|
cuantos_pedidosc = d.GetString("CUANTOS_PEDIDOSC")
|
|
d.Close
|
|
|
|
' PEDIDO
|
|
c = B4XPages.MainPage.skmt.ExecQuery("SELECT PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO, PE_COSTO_SIN, PE_RUTA, PE_DESC, PE_FOLIO, PE_CANTC, PE_BCAJAS FROM PEDIDO WHERE PE_FOLIO <> 'RECARGA'")
|
|
d = B4XPages.MainPage.skmt.ExecQuery("SELECT COUNT(*) as CUANTOS_PEDIDO FROM PEDIDO")
|
|
If c.RowCount > 0 Then
|
|
For i = 0 To c.RowCount - 1
|
|
c.Position = i
|
|
Dim cmd As DBCommand
|
|
cmd.Initialize
|
|
cmd.Name = "insert_pedido5_IZCA" 'CON TOTALES INCLUIDOS
|
|
' Log(c.GetString("PE_CEDIS")&", "&ALMACEN&", "&c.GetString("PE_COSTO_TOT")&", "&c.GetString("PE_COSTOU")&", "&c.GetString("PE_CANT")&", "&c.GetString("PE_PRONOMBRE")&", "&c.GetString("PE_PROID")&", "&c.GetString("PE_CLIENTE")&", "&c.GetString("PE_FECHA")&", "&c.GetString("PE_USUARIO")&", "&Subs.traeRuta2(c.GetString("PE_CLIENTE"))&", "& c.GetString("PE_COSTO_SIN")&", "&c.GetString("PE_DESC")&", "&c.GetString("PE_FOLIO")&", "& ALMACEN)
|
|
If c.GetString("PE_FOLIO") = "PREVENTA_CONTADO" Then
|
|
cmd.Parameters = Array As Object(c.GetString("PE_CEDIS"),almacen,c.GetString("PE_COSTO_TOT"),c.GetString("PE_COSTOU"),c.GetString("PE_CANT"),c.GetString("PE_PRONOMBRE"),c.GetString("PE_PROID"),c.GetString("PE_CLIENTE"),c.GetString("PE_FECHA"),c.GetString("PE_USUARIO"),Subs.traeRuta2(c.GetString("PE_CLIENTE")), c.GetString("PE_COSTO_SIN"),c.GetString("PE_DESC"),"PREVENTA",0)
|
|
Else If c.GetString("PE_FOLIO") = "PREVENTA_CREDITO" Then
|
|
cmd.Parameters = Array As Object(c.GetString("PE_CEDIS"),almacen,c.GetString("PE_COSTO_TOT"),c.GetString("PE_COSTOU"),c.GetString("PE_CANT"),c.GetString("PE_PRONOMBRE"),c.GetString("PE_PROID"),c.GetString("PE_CLIENTE"),c.GetString("PE_FECHA"),c.GetString("PE_USUARIO"),Subs.traeRuta2(c.GetString("PE_CLIENTE")), c.GetString("PE_COSTO_SIN"),c.GetString("PE_DESC"),"PREVENTA",1)
|
|
Else If c.GetString("PE_FOLIO") = "ABORDO" Then
|
|
cmd.Parameters = Array As Object(c.GetString("PE_CEDIS"),almacen,c.GetString("PE_COSTO_TOT"),c.GetString("PE_COSTOU"),c.GetString("PE_CANT"),c.GetString("PE_PRONOMBRE"),c.GetString("PE_PROID"),c.GetString("PE_CLIENTE"),c.GetString("PE_FECHA"),c.GetString("PE_USUARIO"),Subs.traeRuta2(c.GetString("PE_CLIENTE")), c.GetString("PE_COSTO_SIN"),c.GetString("PE_DESC"),"ABORDO",0)
|
|
Else If c.GetString("PE_FOLIO") = "RECARGA" Then
|
|
cmd.Parameters = Array As Object(c.GetString("PE_CEDIS"),almacen,c.GetString("PE_COSTO_TOT"),c.GetString("PE_COSTOU"),c.GetString("PE_CANT"),c.GetString("PE_PRONOMBRE"),c.GetString("PE_PROID"),c.GetString("PE_CLIENTE"),c.GetString("PE_FECHA"),c.GetString("PE_USUARIO"),Subs.traeRuta2(c.GetString("PE_CLIENTE")), c.GetString("PE_COSTO_SIN"),c.GetString("PE_DESC"),"RECARAGA",0)
|
|
Else
|
|
cmd.Parameters = Array As Object(c.GetString("PE_CEDIS"),almacen,c.GetString("PE_COSTO_TOT"),c.GetString("PE_COSTOU"),c.GetString("PE_CANT"),c.GetString("PE_PRONOMBRE"),c.GetString("PE_PROID"),c.GetString("PE_CLIENTE"),c.GetString("PE_FECHA"),c.GetString("PE_USUARIO"),Subs.traeRuta2(c.GetString("PE_CLIENTE")), c.GetString("PE_COSTO_SIN"),c.GetString("PE_DESC"),"VENTA",0)
|
|
End If
|
|
reqManager.ExecuteCommand(cmd , $"ins_pedidosPendientes_prods_${c.GetString("PE_CLIENTE")}_${c.GetString("PE_PROID")}"$)
|
|
Next
|
|
End If
|
|
c.Close
|
|
d.Position=0
|
|
cuantos_pedido = D.GetString("CUANTOS_PEDIDO")
|
|
d.Close
|
|
|
|
' NOVENTA
|
|
c=B4XPages.MainPage.skmt.ExecQuery("SELECT NV_CLIENTE,NV_FECHA,NV_USER,NV_MOTIVO,NV_COMM,NV_LAT,NV_LON FROM NOVENTA")
|
|
D=B4XPages.MainPage.skmt.ExecQuery("SELECT COUNT(*) AS CUANTOS_NOVENTA FROM NOVENTA")
|
|
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_IZCA"
|
|
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"), almacen, Subs.traeRuta2(c.GetString("NV_CLIENTE")))
|
|
reqManager.ExecuteCommand(cmd , "inst_noventa")
|
|
Next
|
|
End If
|
|
c.Close
|
|
d.Position=0
|
|
cuantos_noventa = D.GetString("CUANTOS_NOVENTA")
|
|
d.Close
|
|
|
|
' GEO CERCA
|
|
c=B4XPages.MainPage.skmt.ExecQuery("Select HGCLIENTE, HGDATE, HGLAT, HGLON from HIST_GEOCERCA")
|
|
If c.RowCount>0 Then
|
|
For i=0 To c.RowCount -1
|
|
c.Position=i
|
|
Dim cmd As DBCommand
|
|
cmd.Initialize
|
|
cmd.Name = "insert_geocerca_IZCA"
|
|
cmd.Parameters = Array As Object(C.GetString("HGCLIENTE"),C.GetString("HGDATE"),C.GetString("HGLAT"),C.GetString("HGLON"))
|
|
reqManager.ExecuteCommand(cmd , "inst_noventa")
|
|
Next
|
|
End If
|
|
c.Close
|
|
|
|
' Cambio ubicaciones
|
|
c=B4XPages.MainPage.skmt.ExecQuery("Select CAT_CL_LAT, CAT_CL_LONG, CAT_CL_CODIGO, CAT_CL_BCOORDENADAS from kmt_info3 where CAT_CL_BCOORDENADAS <> 0")
|
|
If c.RowCount>0 Then
|
|
For i=0 To c.RowCount -1
|
|
c.Position=i
|
|
Dim cmd As DBCommand
|
|
cmd.Initialize
|
|
cmd.Name = "update_coordenadas_IZCA"
|
|
cmd.Parameters = Array As Object(C.GetString("CAT_CL_LAT"),C.GetString("CAT_CL_LONG"),C.GetString("CAT_CL_BCOORDENADAS"),C.GetString("CAT_CL_CODIGO"),almacen,Subs.traeRuta2(C.GetString("CAT_CL_CODIGO")))
|
|
reqManager.ExecuteCommand(cmd , "up_coordenadas")
|
|
Next
|
|
End If
|
|
c.Close
|
|
|
|
'TABULADOR
|
|
c = B4XPages.MainPage.skmt.ExecQuery("SELECT VEINTE, DIEZ, CINCO, DOS, PESO, CENTAVO, TOTAL FROM TABULADOR_MONEDAS")
|
|
d = B4XPages.MainPage.skmt.ExecQuery("SELECT RUTAA FROM RUTAA")
|
|
b = B4XPages.MainPage.skmt.ExecQuery("SELECT ID_ALMACEN FROM CAT_ALMACEN")
|
|
' f = Starter.skmt.ExecQuery("SELECT HVD_FECHA FROM HIST_VENTAS")
|
|
d.Position = 0
|
|
b.Position = 0
|
|
' f.Position = 0
|
|
If c.RowCount > 0 Then
|
|
For i = 0 To c.RowCount - 1
|
|
c.Position=i
|
|
Dim cmd As DBCommand
|
|
|
|
Dim sDate,sTime As String
|
|
DateTime.DateFormat = "MM/dd/yyyy"
|
|
sDate=DateTime.Date(DateTime.Now)
|
|
sTime=DateTime.Time(DateTime.Now)
|
|
|
|
' Dim fechatabulador() As String = Regex.Split(" ", f.GetString("HVD_FECHA"))
|
|
' Dim fechatabulador2() As String = Regex.Split("-", fechatabulador(0))
|
|
' Dim fechatabulador3 As String = fechatabulador2(1)&"/"&fechatabulador2(2)&"/"&fechatabulador2(0)
|
|
cmd.Initialize
|
|
cmd.Name = "insert_tabulador_monedas_IZCA2"
|
|
cmd.Parameters = Array As Object(d.GetString("RUTAA"), b.GetString("ID_ALMACEN"),c.GetString("VEINTE"),c.GetString("DIEZ"),c.GetString("CINCO"),c.GetString("DOS"),c.GetString("PESO"),c.GetString("CENTAVO"),sDate, "PREVENTA")
|
|
reqManager.ExecuteCommand(cmd , "ins_tabulador_mon")
|
|
Next
|
|
c.Close
|
|
d.Close
|
|
b.Close
|
|
' f.Close
|
|
End If
|
|
|
|
c = B4XPages.MainPage.skmt.ExecQuery("SELECT MIL, QUINIENTOS, DOCIENTOS, CIEN, CINCUENTA, VEINTE FROM TABULADOR_BILLETES")
|
|
d = B4XPages.MainPage.skmt.ExecQuery("SELECT RUTAA FROM RUTAA")
|
|
b = B4XPages.MainPage.skmt.ExecQuery("SELECT ID_ALMACEN FROM CAT_ALMACEN")
|
|
' f = Starter.skmt.ExecQuery("SELECT HVD_FECHA FROM HIST_VENTAS")
|
|
d.Position = 0
|
|
b.Position = 0
|
|
' f.Position = 0
|
|
If c.RowCount > 0 Then
|
|
For i = 0 To c.RowCount - 1
|
|
c.Position=i
|
|
Dim cmd As DBCommand
|
|
|
|
DateTime.DateFormat = "MM/dd/yyyy"
|
|
sDate=DateTime.Date(DateTime.Now)
|
|
sTime=DateTime.Time(DateTime.Now)
|
|
|
|
' Dim fechatabulador() As String = Regex.Split(" ", f.GetString("HVD_FECHA"))
|
|
' Dim fechatabulador2() As String = Regex.Split("-", fechatabulador(0))
|
|
' Dim fechatabulador3 As String = fechatabulador2(1)&"/"&fechatabulador2(2)&"/"&fechatabulador2(0)
|
|
cmd.Initialize
|
|
cmd.Name = "insert_tabulador_billetes_IZCA2"
|
|
cmd.Parameters = Array As Object(b.GetString("ID_ALMACEN"), d.GetString("RUTAA"),c.GetString("MIL"),c.GetString("QUINIENTOS"),c.GetString("DOCIENTOS"),c.GetString("CIEN"),c.GetString("CINCUENTA"),c.GetString("VEINTE"),sDate, "PREVENTA")
|
|
reqManager.ExecuteCommand(cmd , "ins_tabulador_bill")
|
|
Next
|
|
c.Close
|
|
d.Close
|
|
b.Close
|
|
' f.Close
|
|
End If
|
|
'FIN TABULADOR
|
|
|
|
' DROP
|
|
' t1.Initialize("T1", 30000) ' 1000 = 1 second
|
|
' t1.Enabled = True
|
|
' Dim sDate,sTime As String
|
|
' DateTime.DateFormat = "MM/dd/yyyy"
|
|
' sDate=DateTime.Date(DateTime.Now)
|
|
' sTime=DateTime.Time(DateTime.Now)
|
|
' Dim cmd As DBCommand
|
|
' cmd.Initialize
|
|
' cmd.Name ="insert_drop_IZCA"
|
|
' cmd.Parameters = Array As Object(usuario,l_ruta.Text,sDate & sTime, l_porvisitar.Text,l_drop.Text,l_efectiva.Text,l_cuantosc.Text,l_cuantosn.Text, L_MONTOD.Text,"ENVIO",almacen,Application.VersionName)
|
|
' reqManager.ExecuteCommand(cmd , "inst_noventa")
|
|
' img2.Visible =True
|
|
' porcentaje = Round(100/ (cuantos_noventa + cuantos_pedido + cuantos_pedidosc + 1))
|
|
'' If Starter.marcaCel <> "Sony" Then ToastMessageShow("Se Actualizaran los datos, Este proceso podria tardar hasta un minuto, gracias "& l_ruta.text , True)
|
|
|
|
' 'CUESTIONARIOS
|
|
' c = B4XPages.MainPage.skmt.ExecQuery($"select * from cuestionario"$)
|
|
' Private rutaActual As String = Subs.traeRuta
|
|
' If c.RowCount > 0 Then
|
|
' For x = 0 To c.RowCount - 1
|
|
' c.Position = x
|
|
' Dim cmd As DBCommand
|
|
' cmd.Initialize
|
|
' cmd.Name = "insert_CUESTIONARIO_INTMEX"
|
|
' cmd.Parameters = Array As Object(c.GetString("Q_IDCLIENTE"), rutaActual, ALMACEN, c.GetString("Q_FECHA"), c.GetString("Q_IDPREGUNTA"), c.GetString("Q_PREGUNTA"), c.GetString("Q_IDRESPUESTA"), C.GetString("Q_RESPUESTA"))
|
|
' reqManager.ExecuteCommand(cmd , "ins_cuestionario")
|
|
' Next
|
|
' End If
|
|
' c.Close
|
|
|
|
|
|
' c = B4XPages.MainPage.skmt.ExecQuery("SELECT * FROM PEDIDO_CLIENTE WHERE PC_CLIENTE <> 01")
|
|
' If c.RowCount > 0 Then
|
|
' For i = 0 To c.RowCount - 1
|
|
' c.Position = i
|
|
' Dim cmd As DBCommand
|
|
' cmd.Initialize
|
|
' cmd.Name = "select_piezas_IZCA"
|
|
' cmd.Parameters = Array As Object(c.GetString("PC_CLIENTE"), ALMACEN,l_ruta.Text)
|
|
' userpiezas = c.GetString("PC_CLIENTE")
|
|
' reqManager.ExecuteQuery(cmd , 0, "piezas")
|
|
' Next
|
|
'
|
|
' End If
|
|
|
|
End If
|
|
End Sub
|
|
|
|
'======================================================================================
|
|
$// ARCHIVO_FIN: C_Izca.bas
|
|
'======================================================================================
|
|
|
|
|
|
'======================================================================================
|
|
$// ARCHIVO_INICIO: C_Mazapa.bas
|
|
'======================================================================================
|
|
|
|
B4A=true
|
|
Group=Default Group
|
|
ModulesStructureVersion=1
|
|
Type=Class
|
|
Version=12.8
|
|
@EndOfDesignText@
|
|
Sub Class_Globals
|
|
Private Root As B4XView 'ignore
|
|
Private xui As XUI 'ignore
|
|
Dim reqManager As DBRequestManager
|
|
Dim c, d As Cursor
|
|
Dim usuario, almacen As String
|
|
Dim datos_iguales, almacen, carga, paso, conteo, porcentaje, perfil, cuantos, NUMERO_PEDIDO, usuario, cuantos_exib, cuantos_pedidosc, cuantos_noventa, cuantos_ped, cuantos_pedido As String
|
|
End Sub
|
|
|
|
'You can add more parameters here.
|
|
Public Sub Initialize As Object
|
|
reqManager.Initialize(Me, "http://keymon.net:1781")
|
|
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
|
|
|
|
End Sub
|
|
|
|
'You can see the list of page related events in the B4XPagesManager object. The event name is B4XPage.
|
|
|
|
Sub envia
|
|
checaPedido
|
|
almacen = Subs.traeAlmacen
|
|
' CARGA = "SUBIR"
|
|
' p_mandaInfo.Width = Root.Width
|
|
' p_mandaInfo.Height = Root.Height
|
|
' P1.Visible = True
|
|
' P1.Left = (p_mandaInfo.Width/2) - (P1.Width/2)
|
|
' P1.top = (p_mandaInfo.Height/2) - (P1.Height/2)
|
|
' p_mandaInfo.Visible = True
|
|
' P1.BringToFront
|
|
' p_mandaInfo.BringToFront
|
|
'trabajar.Visible = False
|
|
' NUEVO.Visible =False
|
|
' BUSCA.Visible=False
|
|
' connecta.Visible=False
|
|
' Subir.Visible=False
|
|
' cargar.Visible=False
|
|
' L_P_1.Visible = False
|
|
' S_CC.Visible = False
|
|
' L_P_3.Visible = False
|
|
' S_CH.Visible = False
|
|
' PB1.Visible = False
|
|
' Resumen.Visible= False
|
|
' L_P_2.Text = "Envio de Pedidos"
|
|
' L_P_3.Text = "Envio de Pedidos"
|
|
' S_CH.Text = "EN PROCESO"
|
|
' S_CP.Text = "EN PROCESO"
|
|
' PB1.Progress = 0
|
|
' PB2.Progress = 0
|
|
'c=skmt.ExecQuery("SELECT sum(IFNULL(PE_DESC,0)) as DESCUENTO FROM PEDIDO")
|
|
'c.Position =0
|
|
'If c.GetString("DESCUENTO") > 0 And PASO = 0 Then
|
|
'P1.Visible = True
|
|
'ELSE IF c.GetString("DESCUENTO") = 0 Then
|
|
' PASO = 1
|
|
'End If
|
|
' If PASO = 1 Then
|
|
B4XPages.MainPage.skmt.ExecNonQuery2("delete from PEDIDO WHERE PE_PRONOMBRE = ? ", Array As Object("N/A") )
|
|
B4XPages.MainPage.skmt.ExecNonQuery("delete from pedido_cliente where PC_CLIENTE not In (select PE_CLIENTE from pedido)")
|
|
c=B4XPages.MainPage.skmt.ExecQuery("select usuario from usuarioa")
|
|
c.Position = 0
|
|
usuario = c.GetString("USUARIO")
|
|
c.Close
|
|
' c=B4XPages.MainPage.skmt.ExecQuery("select HGDATE, HGLAT, HGLON from HIST_GPS")
|
|
' If c.RowCount>0 Then
|
|
' For i=0 To c.RowCount -1
|
|
' c.Position=i
|
|
' Dim cmd As DBCommand
|
|
' cmd.Initialize
|
|
' cmd.Name = "UPDATE_mazapa_ACTUAL2_GPS"
|
|
' cmd.Parameters = Array As String(L_MONTOD.Text, L_CUANTOST.Text, l_cuantosc.Text,l_porvisitar.TEXT,c.GetString("hglat"),c.GetString("hglon"),batterystatus(0),LPT, STEYIN, STEYOUT,ALMACEN,l_ruta.Text )
|
|
' reqManager.ExecuteCommand(cmd , "update_gps")
|
|
' Next
|
|
' End If
|
|
' c.Close
|
|
|
|
'Envio de Pagares
|
|
c = B4XPages.MainPage.skmt.ExecQuery("SELECT * FROM PAGARES")
|
|
If c.RowCount>0 Then
|
|
For i=0 To c.RowCount -1
|
|
c.Position=i
|
|
Dim cmd As DBCommand
|
|
cmd.Initialize
|
|
cmd.Name = "insert_pagares_mazapa"
|
|
cmd.Parameters = Array As String(C.GetString("PA_ALMACEN"),Subs.traeRuta,C.GetString("PA_FECHA"),C.GetString("PA_CAPTURA"),C.GetString("PA_MONTO"),C.GetString("PA_USUARIO"),C.GetString("PA_CLIENTE") )
|
|
reqManager.ExecuteCommand(cmd , "ins_pagares")
|
|
Next
|
|
End If
|
|
c.Close
|
|
|
|
' CLIENTES NUEVOS
|
|
' Dim fotocn() As Byte
|
|
' Dim Dirp As String = File.DirInternal
|
|
' Dim Dir As String
|
|
' Dim Dir2 As String
|
|
' Dir = "/promotoriakmts"
|
|
|
|
c = B4XPages.MainPage.skmt.ExecQuery("SELECT CN_ID, CN_FECHA , CN_USER, CN_LAT, CN_LON, CN_NOMBRE, CN_DIRECCION, CN_FOTO, CN_ALMACEN, CN_RUTA, CN_GIRO, CN_SOLICITA, CN_COLONIA, CN_TELEFONO, CN_REFERENCIA, CN_HR_INICIO, CN_HR_FIN FROM CLIENTES_NUEVOS")
|
|
If c.RowCount>0 Then
|
|
For i = 0 To c.RowCount - 1
|
|
c.Position = i
|
|
Dim dia As Int = DateTime.GetDayOfWeek(DateTime.Now)
|
|
If dia = 2 Then
|
|
Dim dialetra As String = "LUNES"
|
|
Else If dia = 3 Then
|
|
Dim dialetra As String = "MARTES"
|
|
Else If dia = 4 Then
|
|
Dim dialetra As String = "MIERCOLES"
|
|
Else If dia = 5 Then
|
|
Dim dialetra As String = "JUEVES"
|
|
Else If dia = 6 Then
|
|
Dim dialetra As String = "VIERNES"
|
|
Else If dia = 7 Then
|
|
Dim dialetra As String = "SABADO"
|
|
End If
|
|
Dim cmd As DBCommand
|
|
cmd.Initialize
|
|
cmd.Name = "insert_clientesnuevos_mazapa3"
|
|
cmd.Parameters = Array As String(c.GetString("CN_ID"), c.GetString("CN_FECHA"), c.GetString("CN_USER"), c.GetString("CN_LAT"), c.GetString("CN_LON"), c.GetString("CN_NOMBRE"), c.GetString("CN_DIRECCION"),almacen, c.GetString("CN_RUTA"), "En espera",c.GetString("CN_GIRO"),dialetra, c.GetString("CN_SOLICITA"), c.GetString("CN_COLONIA"), c.GetString("CN_TELEFONO"), c.GetString("CN_REFERENCIA"), c.GetString("CN_HR_INICIO"), c.GetString("CN_HR_FIN"))
|
|
reqManager.ExecuteCommand(cmd , "inst_clientesn")
|
|
Next
|
|
End If
|
|
c.Close
|
|
|
|
c = B4XPages.MainPage.skmt.ExecQuery("SELECT * FROM TICKET_TEL_CEDIS")
|
|
If c.RowCount > 0 Then
|
|
For i = 0 To c.RowCount - 1
|
|
c.Position = i
|
|
Dim cmd As DBCommand
|
|
cmd.Initialize
|
|
cmd.Name = "insert_TICKET_TEL_CEDIS_MAZAPA"
|
|
Log(c.GetString("TTC_FOLIO"))
|
|
cmd.Parameters = Array As String( _
|
|
c.GetString("TTC_TELEFONO"), _
|
|
c.GetString("TTC_ID_ALMACEN"), _
|
|
c.GetString("TTC_NUM_TICKET"), _
|
|
c.GetString("TTC_ID_CLIENTE"), _
|
|
c.GetString("TTC_RUTA"), _
|
|
c.GetString("TTC_FECHA"), _
|
|
c.GetString("TTC_MONTO"), _
|
|
c.GetString("TTC_FOLIO"), _
|
|
c.GetString("TTC_USUARIO"), _
|
|
c.GetString("TTC_FOLIO_UNICO") _
|
|
)
|
|
reqManager.ExecuteCommand(cmd , "insert_TICKET_TEL_CEDIS")
|
|
Next
|
|
End If
|
|
c.Close
|
|
|
|
' PEDIDO_CLIENTE
|
|
Dim PCNoArts As String
|
|
Dim PCMonto As String
|
|
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,IFNULL(PC_IMPRESO,0) AS PC_IMPRESO FROM PEDIDO_CLIENTE WHERE PC_CLIENTE <> '1' ")
|
|
d = B4XPages.MainPage.skmt.ExecQuery("SELECT COUNT(*) as CUANTOS_PEDIDOSC FROM PEDIDO_CLIENTE WHERE PC_CLIENTE <> 1 ")
|
|
If c.RowCount > 0 Then
|
|
For i = 0 To c.RowCount - 1
|
|
c.Position = i
|
|
Dim cmd As DBCommand
|
|
cmd.Initialize
|
|
cmd.Name = "insert_pedido_CLIENTE_mazapa"
|
|
PCNoArts = c.GetString("PC_NOART")
|
|
PCMonto = c.GetString("PC_MONTO")
|
|
cmd.Parameters = Array As String(c.GetString("PC_CLIENTE"), c.GetString("PC_FECHA"), c.GetString("PC_USER"), c.GetString("PC_NOART"), c.GetString("PC_MONTO"), c.GetString("PC_LON"), c.GetString("PC_LAT"), almacen, Subs.traeRuta, c.GetString("PC_COSTO_SIN"), c.GetString("PC_FACTURA"), c.GetString("PC_IMPRESO"))
|
|
reqManager.ExecuteCommand(cmd , "ins_pedidos")
|
|
Log(">>>>>> INSERT PEDIDO_CLIENTE")
|
|
Next
|
|
End If
|
|
c.Close
|
|
d.Position = 0
|
|
cuantos_pedidosc = d.GetString("CUANTOS_PEDIDOSC")
|
|
d.Close
|
|
|
|
' PEDIDO
|
|
c = B4XPages.MainPage.skmt.ExecQuery("SELECT PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO, PE_COSTO_SIN, PE_RUTA, PE_DESC, PE_FOLIO, PE_CANTC, PE_BCAJAS,IFNULL(PE_IMPRESO,0) AS PE_IMPRESO FROM PEDIDO WHERE PE_FOLIO <> 'RECARGA'")
|
|
d = B4XPages.MainPage.skmt.ExecQuery("SELECT COUNT(*) as CUANTOS_PEDIDO FROM PEDIDO")
|
|
If c.RowCount > 0 Then
|
|
For i = 0 To c.RowCount - 1
|
|
c.Position = i
|
|
Dim cmd As DBCommand
|
|
cmd.Initialize
|
|
cmd.Name = "insert_pedido_PE_mazapa" 'CON TOTALES INCLUIDOS
|
|
' Log(c.GetString("PE_CEDIS")&", "&almacen&", "&c.GetString("PE_COSTO_TOT")&", "&c.GetString("PE_COSTOU")&", "&c.GetString("PE_CANT")&", "&c.GetString("PE_PRONOMBRE")&", "&c.GetString("PE_PROID")&", "&c.GetString("PE_CLIENTE")&", "&c.GetString("PE_FECHA")&", "&c.GetString("PE_USUARIO")&", "&Subs.traeRuta&", "& c.GetString("PE_COSTO_SIN")&", "&c.GetString("PE_DESC")&", "&c.GetString("PE_FOLIO")&", "& almacen)
|
|
cmd.Parameters = Array As String(c.GetString("PE_CEDIS"),almacen,c.GetString("PE_COSTO_TOT"),c.GetString("PE_COSTOU"),c.GetString("PE_CANT"),c.GetString("PE_PRONOMBRE"),c.GetString("PE_PROID"),c.GetString("PE_CLIENTE"),c.GetString("PE_FECHA"),c.GetString("PE_USUARIO"),Subs.traeRuta, c.GetString("PE_COSTO_SIN"),c.GetString("PE_DESC"),c.GetString("PE_FOLIO"),c.GetString("PE_CANTC"),c.GetString("PE_BCAJAS"), c.GetString("PE_IMPRESO"))
|
|
reqManager.ExecuteCommand(cmd , $"ins_pedidosPendientes_prods_${c.GetString("PE_CLIENTE")}_${c.GetString("PE_PROID")}"$)
|
|
' Log($">>>> INS_PEDIDO= ${C.GetString("PE_CEDIS")},${ALMACEN},${C.GetString("PE_COSTO_TOT")},${C.GetString("PE_COSTOU")},${C.GetString("PE_CANT")}, ${C.GetString("PE_PRONOMBRE")}, ${C.GetString("PE_PROID")}, ${C.GetString("PE_CLIENTE")}, ${C.GetString("PE_FECHA")}, ${C.GetString("PE_USUARIO")}, ${C.GetString("PE_RUTA")}, ${C.GetString("PE_COSTO_SIN")}, ${C.GetString("PE_DESC")}, ${c.GetString("PE_FOLIO")}, ${PCNoArts}, ${PCMonto}"$)
|
|
' cmd.Name = "insert_pedido_INTMEX" ' SIN TOTALES INCLUIDOS
|
|
' cmd.Parameters = Array As Object(C.GetString("PE_CEDIS"),ALMACEN,C.GetString("PE_COSTO_TOT"),C.GetString("PE_COSTOU"),C.GetString("PE_CANT"),C.GetString("PE_PRONOMBRE"),C.GetString("PE_PROID"),C.GetString("PE_CLIENTE"),C.GetString("PE_FECHA"),C.GetString("PE_USUARIO"),C.GetString("PE_RUTA"), C.GetString("PE_COSTO_SIN"),C.GetString("PE_DESC"),c.GetString("PE_FOLIO"))
|
|
' reqManager.ExecuteCommand(cmd , "ins_pedido")
|
|
Next
|
|
End If
|
|
c.Close
|
|
d.Position=0
|
|
cuantos_pedido = D.GetString("CUANTOS_PEDIDO")
|
|
d.Close
|
|
|
|
' NOVENTA
|
|
c=B4XPages.MainPage.skmt.ExecQuery("SELECT NV_CLIENTE,NV_FECHA,NV_USER,NV_MOTIVO,NV_COMM,NV_LAT,NV_LON FROM NOVENTA")
|
|
D=B4XPages.MainPage.skmt.ExecQuery("SELECT COUNT(*) AS CUANTOS_NOVENTA FROM NOVENTA")
|
|
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_mazapa"
|
|
cmd.Parameters = Array As String(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"), almacen, Subs.traeRuta)
|
|
reqManager.ExecuteCommand(cmd , "inst_noventa")
|
|
Next
|
|
End If
|
|
c.Close
|
|
d.Position=0
|
|
cuantos_noventa = D.GetString("CUANTOS_NOVENTA")
|
|
d.Close
|
|
|
|
' GEO CERCA
|
|
c=B4XPages.MainPage.skmt.ExecQuery("Select HGCLIENTE, HGDATE, HGLAT, HGLON from HIST_GEOCERCA")
|
|
If c.RowCount>0 Then
|
|
For i=0 To c.RowCount -1
|
|
c.Position=i
|
|
Dim cmd As DBCommand
|
|
cmd.Initialize
|
|
cmd.Name = "insert_geocerca_mazapa"
|
|
cmd.Parameters = Array As String(C.GetString("HGCLIENTE"),C.GetString("HGDATE"),C.GetString("HGLAT"),C.GetString("HGLON"))
|
|
reqManager.ExecuteCommand(cmd , "inst_noventa")
|
|
Next
|
|
End If
|
|
c.Close
|
|
|
|
' LO DEL LIKE
|
|
c=B4XPages.MainPage.skmt.ExecQuery("Select HFCLIENTE, HFALIAS,HFRUTA,HFALMACEN from HIST_FACE")
|
|
If c.RowCount>0 Then
|
|
For i=0 To c.RowCount -1
|
|
c.Position=i
|
|
Dim cmd As DBCommand
|
|
cmd.Initialize
|
|
cmd.Name = "insert_face_like_mazapa"
|
|
cmd.Parameters = Array As String(C.GetString("HFCLIENTE"),C.GetString("HFALIAS"),C.GetString("HFRUTA"),C.GetString("HFALMACEN"))
|
|
reqManager.ExecuteCommand(cmd , "inst_noventa")
|
|
Next
|
|
End If
|
|
c.Close
|
|
|
|
' DROP
|
|
' t1.Initialize("T1", 30000) ' 1000 = 1 second
|
|
' t1.Enabled = True
|
|
' Dim sDate,sTime As String
|
|
' DateTime.DateFormat = "MM/dd/yyyy"
|
|
' sDate=DateTime.Date(DateTime.Now)
|
|
' sTime=DateTime.Time(DateTime.Now)
|
|
' Dim cmd As DBCommand
|
|
' cmd.Initialize
|
|
' cmd.Name ="insert_drop_mazapa"
|
|
' cmd.Parameters = Array As String(usuario, Subs.traeRuta, sDate & sTime, l_porvisitar.Text,l_drop.Text,l_efectiva.Text,l_cuantosc.Text,l_cuantosn.Text, L_MONTOD.Text,"ENVIO",almacen,Application.VersionName)
|
|
' reqManager.ExecuteCommand(cmd , "inst_noventa")
|
|
' img2.Visible =True
|
|
' porcentaje = Round(100/ (cuantos_noventa + cuantos_pedido + cuantos_pedidosc + 1))
|
|
' If Starter.marcaCel <> "Sony" Then ToastMessageShow("Se Actualizaran los datos, Este proceso podria tardar hasta un minuto, gracias "& l_ruta.text , True)
|
|
|
|
c = B4XPages.MainPage.skmt.ExecQuery("SELECT * FROM PEDIDO_CLIENTE WHERE PC_CLIENTE <> 01")
|
|
If c.RowCount > 0 Then
|
|
For i = 0 To c.RowCount - 1
|
|
c.Position = i
|
|
Dim cmd As DBCommand
|
|
cmd.Initialize
|
|
cmd.Name = "select_piezas_mazapa"
|
|
cmd.Parameters = Array As String(c.GetString("PC_CLIENTE"), almacen, Subs.traeRuta)
|
|
' userpiezas = c.GetString("PC_CLIENTE")
|
|
reqManager.ExecuteQuery(cmd , 0, "piezas")
|
|
Next
|
|
End If
|
|
' End If
|
|
End Sub
|
|
|
|
Sub checaPedido
|
|
Private c As Cursor = B4XPages.MainPage.skmt.ExecQuery("SELECT PC_CLIENTE FROM PEDIDO_CLIENTE")
|
|
If c.RowCount > 0 Then
|
|
B4XPages.MainPage.skmt.ExecNonQuery("Update kmt_info set gestion = 2 WHERE CAT_CL_CODIGO IN (SELECT PC_CLIENTE FROM PEDIDO_CLIENTE)")
|
|
End If
|
|
Private c As Cursor = B4XPages.MainPage.skmt.ExecQuery("SELECT NV_CLIENTE FROM NOVENTA")
|
|
If c.RowCount > 0 Then
|
|
B4XPages.MainPage.skmt.ExecNonQuery("Update kmt_info set gestion = 3 WHERE CAT_CL_CODIGO IN (SELECT NV_CLIENTE FROM NOVENTA)")
|
|
End If
|
|
End Sub
|
|
|
|
'======================================================================================
|
|
$// ARCHIVO_FIN: C_Mazapa.bas
|
|
'======================================================================================
|
|
|
|
|
|
'======================================================================================
|
|
$// ARCHIVO_INICIO: C_Profina.bas
|
|
'======================================================================================
|
|
|
|
B4A=true
|
|
Group=Default Group
|
|
ModulesStructureVersion=1
|
|
Type=Class
|
|
Version=12.8
|
|
@EndOfDesignText@
|
|
Sub Class_Globals
|
|
Private Root As B4XView 'ignore
|
|
Private xui As XUI 'ignore
|
|
Dim reqManager As DBRequestManager
|
|
Dim c, d As Cursor
|
|
Dim usuario, almacen As String
|
|
Dim datos_iguales, almacen, carga, paso, conteo, porcentaje, perfil, cuantos, NUMERO_PEDIDO, usuario, cuantos_exib, cuantos_pedidosc, cuantos_noventa, cuantos_ped, cuantos_pedido As String
|
|
Dim l_ruta As Label
|
|
End Sub
|
|
|
|
'Initializes the object. You can add parameters to this method if needed.
|
|
Public Sub Initialize
|
|
reqManager.Initialize(Me, "http://keymon.net:1781")
|
|
l_ruta.Initialize("l")
|
|
Return Me
|
|
End Sub
|
|
|
|
Sub envia
|
|
l_ruta.text = Subs.traeRuta
|
|
' carga = "SUBIR"
|
|
' P1.Visible = True
|
|
' p_mandaInfo.Visible = True
|
|
' P1.BringToFront
|
|
' p_mandaInfo.BringToFront
|
|
' 'trabajar.Visible = False
|
|
' NUEVO.Visible =False
|
|
' BUSCA.Visible=False
|
|
' connecta.Visible=False
|
|
' Subir.Visible=False
|
|
' cargar.Visible=False
|
|
' L_P_1.Visible = False
|
|
' S_CC.Visible = False
|
|
' L_P_3.Visible = False
|
|
' S_CH.Visible = False
|
|
' PB1.Visible = False
|
|
' Resumen.Visible= False
|
|
'
|
|
' L_P_2.Text = "Envio de Pedidos"
|
|
' L_P_3.Text = "Envio de Pedidos"
|
|
' S_CH.Text = "EN PROCESO"
|
|
' S_CP.Text = "EN PROCESO"
|
|
' PB1.Progress = 0
|
|
' PB2.Progress = 0
|
|
'c=skmt.ExecQuery("SELECT sum(IFNULL(PE_DESC,0)) as DESCUENTO FROM PEDIDO")
|
|
'c.Position =0
|
|
'If c.GetString("DESCUENTO") > 0 And PASO = 0 Then
|
|
'P1.Visible = True
|
|
'ELSE IF c.GetString("DESCUENTO") = 0 Then
|
|
paso = 1
|
|
'End If
|
|
If paso =1 Then
|
|
B4XPages.MainPage.skmt.ExecNonQuery2("delete from PEDIDO WHERE PE_PRONOMBRE = ? ", Array As Object("N/A") )
|
|
B4XPages.MainPage.skmt.ExecNonQuery("delete from pedido_cliente where PC_CLIENTE not In (select PE_CLIENTE from pedido)")
|
|
c=B4XPages.MainPage.skmt.ExecQuery("select usuario from usuarioa")
|
|
c.Position = 0
|
|
usuario = c.GetString("USUARIO")
|
|
c.Close
|
|
' c=B4XPages.MainPage.skmt.ExecQuery("select HGDATE, HGLAT, HGLON from HIST_GPS")
|
|
' If c.RowCount>0 Then
|
|
' For i=0 To c.RowCount -1
|
|
' c.Position=i
|
|
' Dim cmd As DBCommand
|
|
' cmd.Initialize
|
|
' cmd.Name = "UPDATE_PRO_ACTUAL2_GPS"
|
|
' cmd.Parameters = Array As Object(L_MONTOD.Text, L_CUANTOST.Text, l_cuantosc.Text,l_porvisitar.TEXT,c.GetString("hglat"),c.GetString("hglon"),batterystatus(0),LPT, STEYIN, STEYOUT,almacen,l_ruta.Text )
|
|
' reqManager.ExecuteCommand(cmd , "update_gps")
|
|
' Next
|
|
' End If
|
|
' c.Close
|
|
' PEDIO_CLIENTE
|
|
|
|
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, PC_SOLICITA FROM PEDIDO_CLIENTE ")
|
|
d=B4XPages.MainPage.skmt.ExecQuery("SELECT COUNT(*) as CUANTOS_PEDIDOSC FROM PEDIDO_CLIENTE ")
|
|
If c.RowCount>0 Then
|
|
For i=0 To c.RowCount -1
|
|
c.Position=i
|
|
Dim cmd As DBCommand
|
|
cmd.Initialize
|
|
cmd.Name = "insert_pedidos_pro2"
|
|
LogColor(c.GetString("PC_CLIENTE")&","& c.GetString("PC_FECHA")&","& c.GetString("PC_USER")&","& c.GetString("PC_NOART")&","& c.GetString("PC_MONTO")&","& c.GetString("PC_LON")&","& c.GetString("PC_LAT")&","& almacen&","& Subs.traeRuta&","& c.GetString("PC_COSTO_SIN")&","& c.GetString("PC_FACTURA")&","& c.GetString("PC_SOLICITA"),Colors.Magenta)
|
|
cmd.Parameters = Array As Object(c.GetString("PC_CLIENTE"), c.GetString("PC_FECHA"), c.GetString("PC_USER"), c.GetString("PC_NOART"), c.GetString("PC_MONTO"), c.GetString("PC_LON"), c.GetString("PC_LAT"), almacen, Subs.traeRuta, c.GetString("PC_COSTO_SIN"), c.GetString("PC_SOLICITA"))
|
|
|
|
reqManager.ExecuteCommand(cmd , "ins_pedidos")
|
|
Next
|
|
End If
|
|
c.Close
|
|
d.Position=0
|
|
cuantos_pedidosc = D.GetString("CUANTOS_PEDIDOSC")
|
|
d.Close
|
|
|
|
' ENVIO DE LOS CODIGOS QR
|
|
'c=skmt.ExecQuery2("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 = ?", Array As String("OK"))
|
|
|
|
|
|
c=B4XPages.MainPage.skmt.ExecQuery("SELECT CODIGOKMTS, CODIGOB, LAT, LON FROM HIST_CODIGO_BARRAS" )
|
|
If c.RowCount>0 Then
|
|
For i=0 To c.RowCount -1
|
|
c.Position=i
|
|
Dim cmd As DBCommand
|
|
cmd.Initialize
|
|
cmd.Name = "insert_QR_PRO"
|
|
cmd.Parameters = Array As Object(C.GetString("CODIGOKMTS"),C.GetString("CODIGOB"),C.GetString("LON"),C.GetString("LAT"),almacen,l_ruta.text )
|
|
reqManager.ExecuteCommand(cmd , "ins_QR")
|
|
Next
|
|
End If
|
|
c.Close
|
|
|
|
|
|
' 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
|
|
' c.Position=i
|
|
' 's=skmt.ExecQuery2("SELECT HIST_VI_IMAGEN FROM HIST_VISITAS WHERE HIST_VI_CREDITO =?", Array As String (c.GetString("HIST_VI_CREDITO")))
|
|
' 's.Position =0
|
|
' foto1 = c.GetBlob("CAT_CL_FOTO")
|
|
' Dim cmd As DBCommand
|
|
' cmd.Initialize
|
|
' cmd.Name = "insert_QR_MARDS"
|
|
' cmd.Parameters = Array As Object(C.GetString("CAT_CL_NUM_SERIEFISICO"),C.GetString("CAT_CL_CODIGO"),C.GetString("CAT_CL_LONG"),C.GetString("CAT_CL_LAT"),ALMACEN,l_ruta.text, foto1 )
|
|
' reqManager.ExecuteCommand(cmd , "ins_QR")
|
|
' Next
|
|
' End If
|
|
' c.Close
|
|
|
|
' c=B4XPages.MainPage.skmt.ExecQuery("SELECT HE_CLIE, HE_RES, HE_FECHA, HE_TIPO FROM HIST_ENCUESTA")
|
|
' If c.RowCount>0 Then
|
|
' For i=0 To c.RowCount -1
|
|
' c.Position=i
|
|
' Dim cmd As DBCommand
|
|
' cmd.Initialize
|
|
' cmd.Name = "insert_encuesta_MARDS"
|
|
' cmd.Parameters = Array As Object(C.GetString("HE_CLIE"),C.GetString("HE_RES"),C.GetString("HE_FECHA"), c.GetString("HE_TIPO"))
|
|
' reqManager.ExecuteCommand(cmd , "inst_noventa")
|
|
' Next
|
|
' End If
|
|
' c.Close
|
|
|
|
c=B4XPages.MainPage.skmt.ExecQuery("SELECT PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO, PE_COSTO_SIN, PE_RUTA, PE_DESC, PE_FOLIO FROM PEDIDO")
|
|
d=B4XPages.MainPage.skmt.ExecQuery("SELECT COUNT(*) as CUANTOS_PEDIDO FROM PEDIDO")
|
|
If c.RowCount>0 Then
|
|
For i=0 To c.RowCount -1
|
|
c.Position=i
|
|
Dim cmd As DBCommand
|
|
cmd.Initialize
|
|
cmd.Name = "insert_pedido_PRO"
|
|
cmd.Parameters = Array As Object(C.GetString("PE_CEDIS"),almacen,C.GetString("PE_COSTO_TOT"),C.GetString("PE_COSTOU"),C.GetString("PE_CANT"),C.GetString("PE_PRONOMBRE"),C.GetString("PE_PROID"),C.GetString("PE_CLIENTE"),C.GetString("PE_FECHA"),C.GetString("PE_USUARIO"),C.GetString("PE_RUTA"), C.GetString("PE_COSTO_SIN"),C.GetString("PE_DESC"),c.GetString("PE_FOLIO"),"PREVENTA")
|
|
reqManager.ExecuteCommand(cmd , "ins_pedido")
|
|
Next
|
|
End If
|
|
c.Close
|
|
d.Position=0
|
|
cuantos_pedido = D.GetString("CUANTOS_PEDIDO")
|
|
d.Close
|
|
|
|
' NOVENTA
|
|
c=B4XPages.MainPage.skmt.ExecQuery("SELECT NV_CLIENTE,NV_FECHA,NV_USER,NV_MOTIVO,NV_COMM,NV_LAT,NV_LON, NV_NOMBRE, NV_DIRECCION FROM NOVENTA")
|
|
D=B4XPages.MainPage.skmt.ExecQuery("SELECT COUNT(*) AS CUANTOS_NOVENTA FROM NOVENTA")
|
|
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_PRO"
|
|
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"), almacen, l_ruta.Text)
|
|
reqManager.ExecuteCommand(cmd , "inst_noventa")
|
|
Next
|
|
End If
|
|
c.Close
|
|
d.Position=0
|
|
cuantos_noventa = D.GetString("CUANTOS_NOVENTA")
|
|
d.Close
|
|
|
|
' CLIENTES NUEVOS
|
|
Dim fotocn() As Byte
|
|
Dim Dirp As String = File.DirInternal
|
|
Dim Dir As String
|
|
Dim Dir2 As String
|
|
Dir = "/promotoriakmts"
|
|
|
|
c=B4XPages.MainPage.skmt.ExecQuery("SELECT CN_ID, CN_FECHA , CN_USER, CN_LAT, CN_LON, CN_NOMBRE, CN_DIRECCION, CN_FOTO, CN_ALMACEN, CN_RUTA, CN_GIRO FROM CLIENTES_NUEVOS")
|
|
If c.RowCount>0 Then
|
|
For i = 0 To c.RowCount - 1
|
|
c.Position = i
|
|
Log(File.Exists(Dirp&Dir&Dir2,c.GetString("CN_FOTO")))
|
|
If File.Exists(Dirp&Dir&Dir2,c.GetString("CN_FOTO")) Then fotocn = Bit.InputStreamToBytes(File.OpenInput(Dirp&Dir,c.GetString("CN_FOTO")))
|
|
Dim cmd As DBCommand
|
|
cmd.Initialize
|
|
cmd.Name = "insert_clientesnuevos_PRO"
|
|
cmd.Parameters = Array As Object(c.GetString("CN_ID"), c.GetString("CN_FECHA"), c.GetString("CN_USER"), c.GetString("CN_LAT"), c.GetString("CN_LON"), c.GetString("CN_NOMBRE"), c.GetString("CN_DIRECCION"),c.GetString("CN_ALMACEN"), c.GetString("CN_RUTA"), fotocn, "EN ESPERA",c.GetString("CN_GIRO"))
|
|
reqManager.ExecuteCommand(cmd , "inst_clientesn")
|
|
Next
|
|
End If
|
|
c.Close
|
|
' GEO CERCA
|
|
|
|
' c=B4XPages.MainPage.skmt.ExecQuery("Select HGCLIENTE, HGDATE, HGLAT, HGLON from HIST_GEOCERCA")
|
|
' If c.RowCount>0 Then
|
|
' For i=0 To c.RowCount -1
|
|
' c.Position=i
|
|
' Dim cmd As DBCommand
|
|
' cmd.Initialize
|
|
' cmd.Name = "insert_geocerca_PRO"
|
|
' cmd.Parameters = Array As Object(C.GetString("HGCLIENTE"),C.GetString("HGDATE"),C.GetString("HGLAT"),C.GetString("HGLON"))
|
|
' reqManager.ExecuteCommand(cmd , "inst_noventa")
|
|
' Next
|
|
' End If
|
|
' c.Close
|
|
|
|
' LO DEL LIKE
|
|
|
|
' c=B4XPages.MainPage.skmt.ExecQuery("Select HFCLIENTE, HFALIAS,HFRUTA,HFALMACEN from HIST_FACE")
|
|
' If c.RowCount>0 Then
|
|
' For i=0 To c.RowCount -1
|
|
' c.Position=i
|
|
' Dim cmd As DBCommand
|
|
' cmd.Initialize
|
|
' cmd.Name = "insert_face_like_MARDS"
|
|
' cmd.Parameters = Array As Object(C.GetString("HFCLIENTE"),C.GetString("HFALIAS"),C.GetString("HFRUTA"),C.GetString("HFALMACEN"))
|
|
' reqManager.ExecuteCommand(cmd , "inst_noventa")
|
|
' Next
|
|
' End If
|
|
|
|
'fotos
|
|
' Dim fotox() As Byte
|
|
' Dim cmd As DBCommand
|
|
' c = B4XPages.MainPage.skmt.ExecQuery("Select CODIGO, ALMACEN, RUTA, NOM_FOTO from HIST_FOTO_CLIENTE")
|
|
'
|
|
' c.Position = 0
|
|
'
|
|
' Dim Dirp As String = File.DirInternal
|
|
' Dim Dir As String
|
|
' Dim Dir2 As String
|
|
' Dir = "/promotoriakmts"
|
|
' If c.RowCount>0 Then
|
|
' For i = 0 To c.RowCount - 1
|
|
' c.Position = i
|
|
' Log(File.Exists(Dirp&Dir&Dir2,c.GetString("NOM_FOTO")))
|
|
' fotox = Bit.InputStreamToBytes(File.OpenInput(Dirp&Dir,c.GetString("NOM_FOTO")))
|
|
' cmd.Initialize
|
|
' cmd.Name = "insert_fotos_cliente_nuevo_MARIANA"
|
|
' cmd.Parameters = Array As Object(c.GetString("CODIGO"),c.GetString("ALMACEN"),c.GetString("RUTA"),fotox)
|
|
' reqManager.ExecuteCommand(cmd, $"insert_clientes_${c.GetString("CODIGO")}"$)
|
|
' Next
|
|
' End If
|
|
'
|
|
' c.Close
|
|
|
|
' DROP
|
|
' t1.Initialize("T1", 30000) ' 1000 = 1 second
|
|
' t1.Enabled = True
|
|
' Dim sDate,sTime As String
|
|
' DateTime.DateFormat = "MM/dd/yyyy"
|
|
' sDate=DateTime.Date(DateTime.Now)
|
|
' sTime=DateTime.Time(DateTime.Now)
|
|
' Dim cmd As DBCommand
|
|
' cmd.Initialize
|
|
' cmd.Name ="insert_drop_PRO_2"
|
|
' cmd.Parameters = Array As Object(usuario,l_ruta.Text,sDate & sTime, l_porvisitar.Text,l_drop.Text,l_efectiva.Text,l_cuantosc.Text,l_cuantosn.Text, L_MONTOD.Text,"ENVIO",almacen)
|
|
' reqManager.ExecuteCommand(cmd , "inst_noventa")
|
|
' img2.Visible =True
|
|
' porcentaje = Round(100/ (cuantos_noventa + cuantos_pedido + cuantos_pedidosc + 1))
|
|
' If Starter.marcaCel <> "Sony" Then ToastMessageShow("Se Actualizaran los datos, Este proceso podria tardar hasta un minuto, gracias "& l_ruta.text , True)
|
|
End If
|
|
End Sub
|
|
|
|
'======================================================================================
|
|
$// ARCHIVO_FIN: C_Profina.bas
|
|
'======================================================================================
|
|
|
|
|
|
'======================================================================================
|
|
$// ARCHIVO_INICIO: DBCheck.b4a
|
|
'======================================================================================
|
|
|
|
Build1=Default,dbcheck.keymon.lat,HU2_PUBLIC
|
|
File1=engrane_gris.png
|
|
File2=listItem.bal
|
|
File3=logo_192x192.jpg
|
|
File4=logo_keymon.png
|
|
File5=MainPage.bal
|
|
File6=progress.gif
|
|
FileGroup1=Default Group
|
|
FileGroup2=Default Group
|
|
FileGroup3=Default Group
|
|
FileGroup4=Default Group
|
|
FileGroup5=Default Group
|
|
FileGroup6=Default Group
|
|
Group=Default Group
|
|
Library1=b4xpages
|
|
Library10=xcustomlistview
|
|
Library11=b4xgifview
|
|
Library2=byteconverter
|
|
Library3=contentresolver
|
|
Library4=core
|
|
Library5=fileprovider
|
|
Library6=ime
|
|
Library7=okhttputils2
|
|
Library8=randomaccessfile
|
|
Library9=sql
|
|
ManifestCode='This code will be applied to the manifest file during compilation.~\n~'You do not need to modify it in most cases.~\n~'See this link for for more information: https://www.b4x.com/forum/showthread.php?p=78136~\n~AddManifestText(~\n~<uses-sdk android:minSdkVersion="5" android:targetSdkVersion="31"/>~\n~<supports-screens android:largeScreens="true" ~\n~ android:normalScreens="true" ~\n~ android:smallScreens="true" ~\n~ android:anyDensity="true"/>)~\n~SetApplicationAttribute(android:icon, "@drawable/icon")~\n~SetApplicationAttribute(android:label, "$LABEL$")~\n~CreateResourceFromFile(Macro, Themes.LightTheme)~\n~'End of default text.~\n~~\n~SetApplicationAttribute(android:usesCleartextTraffic, "true")~\n~AddPermission(android.permission.INTERNET)~\n~AddPermission(android.permission.READ_EXTERNAL_STORAGE)~\n~AddPermission(android.permission.WRITE_EXTERNAL_STORAGE)~\n~SetApplicationAttribute(android:allowBackup, "false")~\n~~\n~'AddActivityText(main,~\n~'<intent-filter>~\n~'<action android:name="android.intent.action.VIEW" />~\n~'<category android:name="android.intent.category.DEFAULT" />~\n~'<data android:mimeType="application/octet-stream" />~\n~'</intent-filter>)~\n~~\n~AddActivityText(main,~\n~<intent-filter>~\n~<action android:name="android.intent.action.VIEW" />~\n~<category android:name="android.intent.category.DEFAULT" />~\n~ <data android:mimeType="application/x-sqlite3" /> <!-- Para bases de datos -->~\n~ <data android:mimeType="application/octet-stream" /> <!-- Para otros archivos binarios -->~\n~ <data android:scheme="content" /> <!-- Filtra URIs tipo content:// -->~\n~</intent-filter>)
|
|
Module1=B4XMainPage
|
|
Module10=DBRequestManager
|
|
Module11=FileHandler
|
|
Module12=Starter
|
|
Module13=Subs
|
|
Module2=C_Durakelo
|
|
Module3=C_Envios
|
|
Module4=|relative|..\C_Guna_Reparto
|
|
Module5=C_Intmex
|
|
Module6=C_Izca
|
|
Module7=|relative|..\C_Marquez
|
|
Module8=C_Mazapa
|
|
Module9=C_Profina
|
|
NumberOfFiles=6
|
|
NumberOfLibraries=11
|
|
NumberOfModules=13
|
|
Version=12.8
|
|
@EndOfDesignText@
|
|
#Region Project Attributes
|
|
#ApplicationLabel: DBCheck
|
|
#VersionCode: 1
|
|
#VersionName: 5.07.05
|
|
'SupportedOrientations possible values: unspecified, landscape or portrait.
|
|
#SupportedOrientations: portrait
|
|
#CanInstallToExternalStorage: False
|
|
#End Region
|
|
|
|
#Region Activity Attributes
|
|
#FullScreen: False
|
|
#IncludeTitle: True
|
|
#End Region
|
|
|
|
'#BridgeLogger: True
|
|
|
|
Sub Process_Globals
|
|
Public ActionBarHomeClicked As Boolean
|
|
End Sub
|
|
|
|
Sub Globals
|
|
|
|
End Sub
|
|
|
|
Sub Activity_Create(FirstTime As Boolean)
|
|
Dim pm As B4XPagesManager
|
|
pm.Initialize(Activity)
|
|
End Sub
|
|
|
|
'Template version: B4A-1.01
|
|
#Region Delegates
|
|
|
|
Sub Activity_ActionBarHomeClick
|
|
ActionBarHomeClicked = True
|
|
B4XPages.Delegate.Activity_ActionBarHomeClick
|
|
ActionBarHomeClicked = False
|
|
End Sub
|
|
|
|
Sub Activity_KeyPress (KeyCode As Int) As Boolean
|
|
Return B4XPages.Delegate.Activity_KeyPress(KeyCode)
|
|
End Sub
|
|
|
|
Sub Activity_Resume
|
|
B4XPages.Delegate.Activity_Resume
|
|
End Sub
|
|
|
|
Sub Activity_Pause (UserClosed As Boolean)
|
|
B4XPages.Delegate.Activity_Pause
|
|
End Sub
|
|
|
|
Sub Activity_PermissionResult (Permission As String, Result As Boolean)
|
|
B4XPages.Delegate.Activity_PermissionResult(Permission, Result)
|
|
End Sub
|
|
|
|
Sub Create_Menu (Menu As Object)
|
|
B4XPages.Delegate.Create_Menu(Menu)
|
|
End Sub
|
|
|
|
#if Java
|
|
public boolean _onCreateOptionsMenu(android.view.Menu menu) {
|
|
processBA.raiseEvent(null, "create_menu", menu);
|
|
return true;
|
|
|
|
}
|
|
#End If
|
|
#End Region
|
|
|
|
'Program code should go into B4XMainPage and other pages.
|
|
|
|
|
|
|
|
'======================================================================================
|
|
$// ARCHIVO_FIN: DBCheck.b4a
|
|
'======================================================================================
|
|
|
|
|
|
'======================================================================================
|
|
$// ARCHIVO_INICIO: DBRequestManager.bas
|
|
'======================================================================================
|
|
|
|
B4A=true
|
|
Group=Default Group
|
|
ModulesStructureVersion=1
|
|
Type=Class
|
|
Version=6.8
|
|
@EndOfDesignText@
|
|
''Class module
|
|
Sub Class_Globals
|
|
Private mTarget As Object
|
|
Type DBResult (Tag As Object, Columns As Map, Rows As List)
|
|
Type DBCommand (Name As String, Parameters() As Object)
|
|
Dim link As String
|
|
Private bc As ByteConverter
|
|
Private T_NULL = 0, T_STRING = 1, T_SHORT = 2, T_INT = 3, T_LONG = 4, T_FLOAT = 5 _
|
|
,T_DOUBLE = 6, T_BOOLEAN = 7, T_BLOB = 8 As Byte
|
|
Private VERSION As Float = 0.9
|
|
Private tempArray(1) As Object
|
|
Dim jobTagAnterior As String = "" 'Mod por CHV - 211109
|
|
Dim reqsList As List
|
|
End Sub
|
|
|
|
'Target - The module that handles JobDone (usually Me).
|
|
'ConnectorLink - URL of the Java server.
|
|
Public Sub Initialize (Target As Object, ConnectorLink As String)
|
|
mTarget = Target
|
|
link = ConnectorLink
|
|
reqsList.Initialize
|
|
End Sub
|
|
|
|
'Sends a query request.
|
|
'Command - Query name and parameters.
|
|
'Limit - Maximum rows to return or 0 for no limit.
|
|
'Tag - An object that will be returned in the result.
|
|
Public Sub ExecuteQuery(Command As DBCommand, Limit As Int, Tag As Object)
|
|
Dim j As HttpJob
|
|
Dim ms As OutputStream
|
|
Dim out2 As OutputStream = StartJob(j,ms, Tag)
|
|
If reqsList.IsInitialized Then reqsList.Add(Tag)
|
|
|
|
WriteObject(Command.Name, out2)
|
|
WriteInt(Limit, out2)
|
|
WriteList(Command.Parameters, out2)
|
|
out2.Close
|
|
j.PostBytes(link & "?method=query", ms.ToBytesArray)
|
|
End Sub
|
|
|
|
'Executes a batch of (non-select) commands.
|
|
'ListOfCommands - List of the commands that will be executes.
|
|
'Tag - An object that will be returned in the result.
|
|
Public Sub ExecuteBatch(ListOfCommands As List, Tag As Object)
|
|
Dim j As HttpJob
|
|
Dim ms As OutputStream
|
|
Dim out2 As OutputStream = StartJob(j,ms, Tag)
|
|
WriteInt(ListOfCommands.Size, out2)
|
|
For Each Command As DBCommand In ListOfCommands
|
|
WriteObject(Command.Name, out2)
|
|
WriteList(Command.Parameters, out2)
|
|
Next
|
|
out2.Close
|
|
j.PostBytes(link & "?method=batch", ms.ToBytesArray)
|
|
End Sub
|
|
|
|
'Similar to ExecuteBatch. Sends a single command.
|
|
Public Sub ExecuteCommand(Command As DBCommand, Tag As Object)
|
|
If reqsList.IsInitialized Then reqsList.Add(Tag)
|
|
ExecuteBatch(Array As DBCommand(Command), Tag)
|
|
End Sub
|
|
|
|
Private Sub StartJob(j As HttpJob, MemoryStream As OutputStream, Tag As Object) As OutputStream
|
|
j.Initialize("DBRequest", mTarget)
|
|
j.Tag = Tag
|
|
MemoryStream.InitializeToBytesArray(0)
|
|
Dim compress As CompressedStreams
|
|
Dim out As OutputStream = compress.WrapOutputStream(MemoryStream, "gzip")
|
|
WriteObject(VERSION, out)
|
|
Return out
|
|
End Sub
|
|
|
|
Private Sub WriteList(Parameters As List, out As OutputStream)
|
|
Dim data() As Byte
|
|
If Parameters = Null Or Parameters.IsInitialized = False Then
|
|
Dim Parameters As List
|
|
Parameters.Initialize
|
|
End If
|
|
data = bc.IntsToBytes(Array As Int(Parameters.Size))
|
|
out.WriteBytes(data, 0, data.Length)
|
|
For Each o As Object In Parameters
|
|
WriteObject(o, out)
|
|
Next
|
|
End Sub
|
|
|
|
Private Sub WriteObject(o As Object, out As OutputStream)
|
|
Dim data() As Byte
|
|
tempArray(0) = o
|
|
If tempArray(0) = Null Then
|
|
out.WriteBytes(Array As Byte(T_NULL), 0, 1)
|
|
Else If tempArray(0) Is Short Then
|
|
out.WriteBytes(Array As Byte(T_SHORT), 0, 1)
|
|
data = bc.ShortsToBytes(Array As Short(o))
|
|
Else If tempArray(0) Is Int Then
|
|
out.WriteBytes(Array As Byte(T_INT), 0, 1)
|
|
data = bc.IntsToBytes(Array As Int(o))
|
|
Else If tempArray(0) Is Float Then
|
|
out.WriteBytes(Array As Byte(T_FLOAT), 0, 1)
|
|
data = bc.FloatsToBytes(Array As Float(o))
|
|
Else If tempArray(0) Is Double Then
|
|
out.WriteBytes(Array As Byte(T_DOUBLE), 0, 1)
|
|
data = bc.DoublesToBytes(Array As Double(o))
|
|
Else If tempArray(0) Is Long Then
|
|
out.WriteBytes(Array As Byte(T_LONG), 0, 1)
|
|
data = bc.LongsToBytes(Array As Long(o))
|
|
Else If tempArray(0) Is Boolean Then
|
|
out.WriteBytes(Array As Byte(T_BOOLEAN), 0, 1)
|
|
Dim b As Boolean = 0
|
|
Dim data(1) As Byte
|
|
If b Then data(0) = 1 Else data(0) = 0
|
|
Else If GetType(tempArray(0)) = "[B" Then
|
|
data = o
|
|
out.WriteBytes(Array As Byte(T_BLOB), 0, 1)
|
|
WriteInt(data.Length, out)
|
|
Else 'If o Is String Then (treat all other values as string)
|
|
out.WriteBytes(Array As Byte(T_STRING), 0, 1)
|
|
data = bc.StringToBytes(o, "UTF8")
|
|
WriteInt(data.Length, out)
|
|
End If
|
|
If data.Length > 0 Then out.WriteBytes(data, 0, data.Length)
|
|
End Sub
|
|
|
|
Private Sub ReadObject(In As InputStream) As Object
|
|
Dim data(1) As Byte
|
|
In.ReadBytes(data, 0, 1)
|
|
Select data(0)
|
|
Case T_NULL
|
|
Return Null
|
|
Case T_SHORT
|
|
Dim data(2) As Byte
|
|
Return bc.ShortsFromBytes(ReadBytesFully(In, data, data.Length))(0)
|
|
Case T_INT
|
|
Dim data(4) As Byte
|
|
Return bc.IntsFromBytes(ReadBytesFully(In, data, data.Length))(0)
|
|
Case T_LONG
|
|
Dim data(8) As Byte
|
|
Return bc.LongsFromBytes(ReadBytesFully(In, data, data.Length))(0)
|
|
Case T_FLOAT
|
|
Dim data(4) As Byte
|
|
Return bc.FloatsFromBytes(ReadBytesFully(In, data, data.Length))(0)
|
|
Case T_DOUBLE
|
|
Dim data(8) As Byte
|
|
Return bc.DoublesFromBytes(ReadBytesFully(In, data, data.Length))(0)
|
|
Case T_BOOLEAN
|
|
Dim b As Byte = ReadByte(In)
|
|
Return b = 1
|
|
Case T_BLOB
|
|
Dim len As Int = ReadInt(In)
|
|
Dim data(len) As Byte
|
|
Return ReadBytesFully(In, data, data.Length)
|
|
Case Else
|
|
Dim len As Int = ReadInt(In)
|
|
Dim data(len) As Byte
|
|
ReadBytesFully(In, data, data.Length)
|
|
Return BytesToString(data, 0, data.Length, "UTF8")
|
|
End Select
|
|
End Sub
|
|
|
|
Private Sub ReadBytesFully(In As InputStream, Data() As Byte, Len As Int) As Byte()
|
|
Dim count = 0, read As Int
|
|
Do While count < Len And read > -1
|
|
read = In.ReadBytes(Data, count, Len - count)
|
|
count = count + read
|
|
Loop
|
|
Return Data
|
|
End Sub
|
|
|
|
Private Sub WriteInt(i As Int, out As OutputStream)
|
|
Dim data() As Byte
|
|
data = bc.IntsToBytes(Array As Int(i))
|
|
out.WriteBytes(data, 0, data.Length)
|
|
End Sub
|
|
|
|
Private Sub ReadInt(In As InputStream) As Int
|
|
Dim data(4) As Byte
|
|
Return bc.IntsFromBytes(ReadBytesFully(In, data, data.Length))(0)
|
|
End Sub
|
|
|
|
Private Sub ReadByte(In As InputStream) As Byte
|
|
Dim data(1) As Byte
|
|
In.ReadBytes(data, 0, 1)
|
|
Return data(0)
|
|
End Sub
|
|
|
|
'Handles the Job result and returns a DBResult.
|
|
Public Sub HandleJob(Job As HttpJob) As DBResult
|
|
Dim start As Long = DateTime.Now 'ignore
|
|
Dim In As InputStream = Job.GetInputStream
|
|
Dim cs As CompressedStreams
|
|
In = cs.WrapInputStream(In, "gzip")
|
|
Dim serverVersion As Float = ReadObject(In) 'ignore
|
|
Dim method As String = ReadObject(In)
|
|
Dim table As DBResult
|
|
table.Initialize
|
|
table.Columns.Initialize
|
|
table.rows.Initialize
|
|
table.Tag = Job.Tag
|
|
If jobTagAnterior <> Job.Tag Then LogColor("HandleJob: '"&Job.Tag&"'", Colors.Blue) 'Mod por CHV - 211109
|
|
jobTagAnterior = Job.Tag 'Mod por CHV - 211109
|
|
If method = "query" Then
|
|
Dim numberOfColumns As Int = ReadInt(In)
|
|
For i = 0 To numberOfColumns - 1
|
|
table.Columns.Put(ReadObject(In), i)
|
|
Next
|
|
Do While ReadByte(In) = 1
|
|
Dim rowObjects(numberOfColumns) As Object
|
|
table.rows.Add(rowObjects)
|
|
For col = 0 To numberOfColumns - 1
|
|
Dim o As Object = ReadObject(In)
|
|
rowObjects(col) = o
|
|
Next
|
|
Loop
|
|
Else If method = "batch" Then
|
|
table.Columns.Put("AffectedRows", 0)
|
|
Dim rows As Int = ReadInt(In)
|
|
For i = 0 To rows - 1
|
|
table.rows.Add(Array As Object(ReadInt(In)))
|
|
Next
|
|
End If
|
|
In.Close
|
|
' Log("HandleJob: " & (DateTime.Now - start))'Comentado por CHV - 211112
|
|
Return table
|
|
End Sub
|
|
'Reads a file and returns the file as a bytes array.
|
|
Public Sub FileToBytes(Dir As String, FileName As String) As Byte()
|
|
Dim out As OutputStream
|
|
out.InitializeToBytesArray(0)
|
|
Dim In As InputStream = File.OpenInput(Dir, FileName)
|
|
File.Copy2(In, out)
|
|
out.Close
|
|
Return out.ToBytesArray
|
|
End Sub
|
|
'Converts an image to a bytes array (for BLOB fields).
|
|
Public Sub ImageToBytes(Image As Bitmap) As Byte()
|
|
Dim out As OutputStream
|
|
out.InitializeToBytesArray(0)
|
|
Image.WriteToStream(out, 100, "JPEG")
|
|
out.Close
|
|
Return out.ToBytesArray
|
|
End Sub
|
|
'Converts a bytes array to an image (for BLOB fields).
|
|
Public Sub BytesToImage(bytes() As Byte) As Bitmap
|
|
Dim In As InputStream
|
|
In.InitializeFromBytesArray(bytes, 0, bytes.Length)
|
|
Dim bmp As Bitmap
|
|
bmp.Initialize2(In)
|
|
Return bmp
|
|
End Sub
|
|
'Prints the table to the logs.
|
|
Public Sub PrintTable(Table As DBResult)
|
|
Log("Tag: " & Table.Tag & ", Columns: " & Table.Columns.Size & ", Rows: " & Table.Rows.Size)
|
|
Dim sb As StringBuilder
|
|
sb.Initialize
|
|
For Each col In Table.Columns.Keys
|
|
sb.Append(col).Append(TAB)
|
|
Next
|
|
Log(sb.ToString)
|
|
For Each row() As Object In Table.Rows
|
|
Dim sb As StringBuilder
|
|
sb.Initialize
|
|
For Each record As Object In row
|
|
sb.Append(record).Append(TAB)
|
|
Next
|
|
ToastMessageShow(sb.ToString, True)
|
|
Next
|
|
End Sub
|
|
|
|
|
|
|
|
'======================================================================================
|
|
$// ARCHIVO_FIN: DBRequestManager.bas
|
|
'======================================================================================
|
|
|
|
|
|
'======================================================================================
|
|
$// ARCHIVO_INICIO: FileHandler.bas
|
|
'======================================================================================
|
|
|
|
B4A=true
|
|
Group=Default Group
|
|
ModulesStructureVersion=1
|
|
Type=Class
|
|
Version=11
|
|
@EndOfDesignText@
|
|
'Requiere la librería "ContentResolver" y "FileProvider" o "AppUpdating"
|
|
'
|
|
'Copiar este codigo al boton_Click que se quiere que importe la base de datos.
|
|
'
|
|
' Private Sub b_importarBD_Click
|
|
' Private FH As FileHandler
|
|
' FH.Initialize
|
|
' Wait For (FH.Load) Complete (Result As LoadResult) 'Abre un fileManager para seleccionar la base de datos a importar.
|
|
' File.Copy(Result.Dir, Result.FileName, File.DirInternal, "kmt.db") 'Copia la base de datos seleccionada al directorio interno.
|
|
' Starter.skmt.Initialize(Starter.ruta,"kmt.db", True) 'Reiniciliza la base de datos con la recien importada.
|
|
' ToastMessageShow("¡BD importada!", False)
|
|
' End Sub
|
|
|
|
Sub Class_Globals
|
|
#if B4A
|
|
Private ion As Object
|
|
Private OldIntent As Intent
|
|
#end if
|
|
Type LoadResult (Success As Boolean, Dir As String, FileName As String, RealName As String, Size As Long, Modified As Long, MimeType As String)
|
|
End Sub
|
|
|
|
Public Sub Initialize
|
|
|
|
End Sub
|
|
|
|
#if B4A
|
|
Public Sub SaveAs (Source As InputStream, MimeType As String, Title As String) As ResumableSub
|
|
Dim intent As Intent
|
|
intent.Initialize("android.intent.action.CREATE_DOCUMENT", "")
|
|
intent.AddCategory("android.intent.category.OPENABLE")
|
|
intent.PutExtra("android.intent.extra.TITLE", Title)
|
|
intent.SetType(MimeType)
|
|
StartActivityForResult(intent)
|
|
Wait For ion_Event (MethodName As String, Args() As Object)
|
|
If -1 = Args(0) Then 'resultCode = RESULT_OK
|
|
Dim result As Intent = Args(1)
|
|
Dim jo As JavaObject = result
|
|
Dim ctxt As JavaObject
|
|
Dim out As OutputStream = ctxt.InitializeContext.RunMethodJO("getContentResolver", Null).RunMethod("openOutputStream", Array(jo.RunMethod("getData", Null)))
|
|
File.Copy2(Source, out)
|
|
out.Close
|
|
Return True
|
|
End If
|
|
Return False
|
|
End Sub
|
|
|
|
Public Sub Load As ResumableSub
|
|
Dim cc As ContentChooser
|
|
cc.Initialize("cc")
|
|
cc.Show("application/octet-stream", "Choose text file")
|
|
Wait For CC_Result (Success As Boolean, Dir As String, FileName As String)
|
|
Log($"***************************${CRLF}${Dir}${CRLF} ${FileName}"$)
|
|
Dim res As LoadResult = CreateLoadResult(Success, Dir, FileName)
|
|
Log($"***************************${CRLF}${res.FileName}${CRLF} ${res}"$)
|
|
If res.Success Then ExtractInformationFromURI(res.FileName, res)
|
|
Return res
|
|
End Sub
|
|
|
|
Private Sub StartActivityForResult(i As Intent)
|
|
Dim jo As JavaObject = GetBA
|
|
ion = jo.CreateEvent("anywheresoftware.b4a.IOnActivityResult", "ion", Null)
|
|
jo.RunMethod("startActivityForResult", Array(ion, i))
|
|
End Sub
|
|
|
|
Private Sub GetBA As Object
|
|
Return Me.As(JavaObject).RunMethod("getBA", Null)
|
|
End Sub
|
|
|
|
Private Sub ExtractInformationFromURI (Uri As String, res As LoadResult)
|
|
Try
|
|
|
|
Dim resolver As ContentResolver
|
|
resolver.Initialize("")
|
|
Dim u As Uri
|
|
u.Parse(Uri)
|
|
Dim rs As ResultSet = resolver.Query(u, Null, "", Null, "")
|
|
If rs.NextRow Then
|
|
Dim columns As B4XSet = B4XCollections.CreateSet
|
|
For i = 0 To rs.ColumnCount - 1
|
|
columns.Add(rs.GetColumnName(i))
|
|
Next
|
|
If columns.Contains("_display_name") Then res.RealName = rs.GetString("_display_name")
|
|
If columns.Contains("_size") Then res.Size = rs.GetLong("_size")
|
|
If columns.Contains("last_modified") Then res.Modified = rs.GetLong("last_modified")
|
|
If columns.Contains("mime_type") Then res.MimeType = rs.GetString("mime_type")
|
|
End If
|
|
rs.Close
|
|
|
|
Catch
|
|
Log("error extracting information from file provider")
|
|
Log(LastException)
|
|
End Try
|
|
End Sub
|
|
|
|
Public Sub CheckForReceivedFiles As LoadResult
|
|
Dim Activity As Activity = B4XPages.GetNativeParent(B4XPages.MainPage)
|
|
If IsRelevantIntent(Activity.GetStartingIntent) Then
|
|
Dim in As Intent = Activity.GetStartingIntent
|
|
Dim uri As String
|
|
If in.HasExtra("android.intent.extra.STREAM") Then
|
|
uri = in.As(JavaObject).RunMethod("getParcelableExtra", Array("android.intent.extra.STREAM"))
|
|
Else
|
|
uri = in.GetData
|
|
End If
|
|
Dim res As LoadResult = CreateLoadResult(True, "ContentDir", uri)
|
|
ExtractInformationFromURI(res.FileName, res)
|
|
Return res
|
|
End If
|
|
Return CreateLoadResult(False, "", "")
|
|
End Sub
|
|
|
|
Private Sub IsRelevantIntent(in As Intent) As Boolean
|
|
If in.IsInitialized And in <> OldIntent And in.Action = in.ACTION_VIEW Then
|
|
OldIntent = in
|
|
Return True
|
|
End If
|
|
Return False
|
|
End Sub
|
|
|
|
#else if B4i
|
|
Public Sub SaveAs(ParentPage As Object, AnchorView As Object, Text As String) As ResumableSub
|
|
Dim avc As ActivityViewController
|
|
avc.Initialize("avc", Array(Text))
|
|
avc.Show(B4XPages.GetNativeParent(ParentPage), AnchorView)
|
|
Wait For avc_Complete (Success As Boolean, ActivityType As String)
|
|
Return Success
|
|
End Sub
|
|
|
|
Public Sub Load (ParentPage As Object, AnchorView As Object) As ResumableSub
|
|
Dim DocumentPicker As DocumentPickerViewController
|
|
DocumentPicker.InitializeImport("picker", Array("public.text"))
|
|
DocumentPicker.Show(B4XPages.GetNativeParent(ParentPage), AnchorView)
|
|
Wait For Picker_Complete (Success As Boolean, URLs As List)
|
|
If Success And URLs.Size > 0 Then
|
|
Return UrlToLoadResult(URLs.Get(0))
|
|
End If
|
|
Return CreateLoadResult(False, "", "")
|
|
End Sub
|
|
|
|
Public Sub UrlToLoadResult(url As String) As LoadResult
|
|
Dim res As LoadResult = CreateLoadResult(IIf(File.Exists(url, ""), True, False), url, "")
|
|
res.RealName = res.Dir.SubString(res.Dir.LastIndexOf("/") + 1)
|
|
res.Size = File.Size(res.Dir, "")
|
|
Return res
|
|
End Sub
|
|
#end if
|
|
|
|
Private Sub CreateLoadResult (Success As Boolean, Dir As String, FileName As String) As LoadResult
|
|
Dim t1 As LoadResult
|
|
t1.Initialize
|
|
t1.Success = Success
|
|
t1.Dir = Dir
|
|
t1.FileName = FileName
|
|
Return t1
|
|
End Sub
|
|
|
|
|
|
|
|
'======================================================================================
|
|
$// ARCHIVO_FIN: FileHandler.bas
|
|
'======================================================================================
|
|
|
|
|
|
'======================================================================================
|
|
$// ARCHIVO_INICIO: Starter.bas
|
|
'======================================================================================
|
|
|
|
B4A=true
|
|
Group=Default Group
|
|
ModulesStructureVersion=1
|
|
Type=Service
|
|
Version=9.85
|
|
@EndOfDesignText@
|
|
#Region Service Attributes
|
|
#StartAtBoot: False
|
|
#ExcludeFromLibrary: True
|
|
#End Region
|
|
|
|
Sub Process_Globals
|
|
'These global variables will be declared once when the application starts.
|
|
'These variables can be accessed from all modules.
|
|
|
|
End Sub
|
|
|
|
Sub Service_Create
|
|
'This is the program entry point.
|
|
'This is a good place to load resources that are not specific to a single activity.
|
|
|
|
End Sub
|
|
|
|
Sub Service_Start (StartingIntent As Intent)
|
|
Service.StopAutomaticForeground 'Starter service can start in the foreground state in some edge cases.
|
|
End Sub
|
|
|
|
Sub Service_TaskRemoved
|
|
'This event will be raised when the user removes the app from the recent apps list.
|
|
End Sub
|
|
|
|
'Return true to allow the OS default exceptions handler to handle the uncaught exception.
|
|
Sub Application_Error (Error As Exception, StackTrace As String) As Boolean
|
|
Return True
|
|
End Sub
|
|
|
|
Sub Service_Destroy
|
|
|
|
End Sub
|
|
|
|
|
|
'======================================================================================
|
|
$// ARCHIVO_FIN: Starter.bas
|
|
'======================================================================================
|
|
|
|
|
|
'======================================================================================
|
|
$// ARCHIVO_INICIO: Subs.bas
|
|
'======================================================================================
|
|
|
|
B4A=true
|
|
Group=Default Group
|
|
ModulesStructureVersion=1
|
|
Type=StaticCode
|
|
Version=11
|
|
@EndOfDesignText@
|
|
'Code module
|
|
'Subs in this code module will be accessible from all modules.
|
|
Sub Process_Globals
|
|
'These global variables will be declared once when the application starts.
|
|
'These variables can be accessed from all modules.
|
|
Private su As StringUtils 'Usa la libreria StringUtils 'ignore
|
|
End Sub
|
|
|
|
'Linea de prueba X10
|
|
|
|
'Convierte una fecha al formato yyMMddHHmmss
|
|
Sub fechaKMT(fecha As String) As String 'ignore
|
|
' if starter.logger then Log(fecha)
|
|
Dim OrigFormat As String = DateTime.DateFormat 'save orig date format
|
|
DateTime.DateFormat="yyMMddHHmmss"
|
|
Dim nuevaFecha As String=DateTime.Date(fecha)
|
|
DateTime.DateFormat=OrigFormat 'return to orig date format
|
|
' if starter.logger then Log(nuevaFecha)
|
|
Return nuevaFecha
|
|
End Sub
|
|
|
|
'Regresa la fecha y hora de hoy a las 00:00 en el formato "yyMMddHHMMSS"
|
|
Sub fechaInicioHoy As String 'ignore
|
|
Dim OrigFormat As String = DateTime.DateFormat 'save orig date format
|
|
DateTime.DateFormat="yyMMdd"
|
|
Private h As String = DateTime.Date(DateTime.Now)&"000000"
|
|
DateTime.DateFormat=OrigFormat 'return to orig date format
|
|
' If Starter.logger Then Log("Hoy="&h)
|
|
Return h
|
|
End Sub
|
|
|
|
'Regresa verdadero si ya pasaron XX minutos de la fecha dada
|
|
Sub masDeXXMins(hora As Int, mins As Int) As Boolean 'ignore
|
|
If (hora + mins * DateTime.TicksPerMinute) < DateTime.Now Then
|
|
Return True
|
|
Else
|
|
Return False
|
|
End If
|
|
End Sub
|
|
|
|
'Regresa verdadero si ya pasaron XX minutos de la fechaKMT dada
|
|
Sub masDeXXMinsKMT(hora As String, mins As Int) As Boolean 'ignore
|
|
Try
|
|
' if starter.logger then LogColor($"Hora=${fechaKMT(fechaKMT2Ticks(hora) + mins * DateTime.TicksPerMinute)}, Mins=${mins}, Actual=${fechaKMT(DateTime.Now)}"$,Colors.red)
|
|
If fechaKMT2Ticks(hora) + mins * DateTime.TicksPerMinute < DateTime.Now Then
|
|
' if starter.logger then Log("+++ +++ "&fechaKMT(fechaKMT2Ticks(hora) + mins * DateTime.TicksPerMinute) & " < " & fechaKMT(DateTime.Now))
|
|
Return True
|
|
Else
|
|
' if starter.logger then Log("+++ +++ "&fechaKMT(fechaKMT2Ticks(hora) + mins * DateTime.TicksPerMinute) & " > " & fechaKMT(DateTime.Now))
|
|
Return False
|
|
End If
|
|
Catch
|
|
Log(LastException)
|
|
End Try
|
|
End Sub
|
|
|
|
'Convierte una fecha en formato YYMMDDHHMMSS a Ticks
|
|
Sub fechaKMT2Ticks(fKMT As String) As Long 'ignore
|
|
Try
|
|
If fKMT.Length = 12 Then
|
|
Private parteFecha As String = fKMT.SubString2(0,6)
|
|
Private parteHora As String = fKMT.SubString(6)
|
|
Private OrigFormat As String = DateTime.DateFormat 'save original date format
|
|
DateTime.DateFormat="yyMMdd"
|
|
DateTime.TimeFormat="HHmmss"
|
|
Private ticks As Long = DateTime.DateTimeParse(parteFecha,parteHora)
|
|
' Log(" +++ +++ pFecha:"&parteFecha&" | pHora:"&parteHora)
|
|
DateTime.DateFormat=OrigFormat 'return to original date format
|
|
Return ticks
|
|
Else
|
|
Log("Formato de fecha incorrecto, debe de ser 'yyMMddHHmmss', no '"&fKMT&"' largo="&fKMT.Length)
|
|
Return 0
|
|
End If
|
|
Catch
|
|
Log(LastException)
|
|
' If Starter.logger Then LogColor($"Fecha dada: ${fKMT}, Parte Fecha: ${parteFecha}, Parte Hora: ${parteHora}"$, Colors.Red)
|
|
Return 0
|
|
End Try
|
|
End Sub
|
|
|
|
'Hace visible el panel con los parametros "Top" y "Left" dados
|
|
Sub panelVisible(panel As Panel, top As Int, left As Int) 'ignore
|
|
panel.BringToFront
|
|
panel.Visible = True
|
|
panel.Top = top
|
|
panel.Left = left
|
|
End Sub
|
|
|
|
'Oculta el panel especificado y lo manda al fondo
|
|
Sub panelOculto(panel As Panel) 'ignore
|
|
panel.SendToBack
|
|
panel.Visible = False
|
|
End Sub
|
|
|
|
'Centra una etiqueta dentro de un elemento superior
|
|
Sub centraEtiqueta(elemento As Label, anchoElementoSuperior As Int) 'ignore
|
|
elemento.Left = Round(anchoElementoSuperior/2)-(elemento.Width/2)
|
|
End Sub
|
|
|
|
'Centra un panel dentro de un elemento superior
|
|
Sub centraPanel(elemento As Panel, anchoElementoSuperior As Int) 'ignore
|
|
elemento.Left = Round(anchoElementoSuperior/2)-(elemento.Width/2)
|
|
End Sub
|
|
|
|
Sub centraEditText(elemento As EditText, anchoElementoSuperior As Int) 'ignore
|
|
elemento.Left = Round(anchoElementoSuperior/2)-(elemento.Width/2)
|
|
End Sub
|
|
|
|
'Centra una barra de progreso dentro de un elemento superior
|
|
Sub centraProgressBar(elemento As ProgressBar, anchoElementoSuperior As Int) 'ignore
|
|
elemento.Left = Round(anchoElementoSuperior/2)-(elemento.Width/2)
|
|
End Sub
|
|
|
|
'Modifica el ancho y alto de un panel dado con el ancho y alto proporcionados.
|
|
Sub panelAnchoAlto(p As Panel, w As Int, h As Int) 'ignore
|
|
' If Starter.logger Then Log($"panel:${p}, alncho=${w}, alto=${h}"$)
|
|
p.Top = 0
|
|
p.Left = 0
|
|
p.Width = w
|
|
p.Height = h
|
|
End Sub
|
|
|
|
'Regresa el dia de HOY como string, en español y mayusculas.
|
|
Sub dameDiaSemana As String 'ignore
|
|
Private ds As String = DateTime.GetDayOfWeek(DateTime.Now)
|
|
If ds = "1" Then
|
|
ds = "DOMINGO"
|
|
else if ds = "2" Then
|
|
ds = "LUNES"
|
|
else if ds = "3" Then
|
|
ds = "MARTES"
|
|
else if ds = "4" Then
|
|
ds = "MIERCOLES"
|
|
else if ds = "5" Then
|
|
ds = "JUEVES"
|
|
else if ds = "6" Then
|
|
ds = "VIERNES"
|
|
Else
|
|
ds = "SABADO"
|
|
End If
|
|
Return ds
|
|
End Sub
|
|
|
|
'Regresa el usuario de la tabla USUARIOA
|
|
Sub traeUsuarioDeBD As String 'ignore
|
|
Private c As Cursor
|
|
Private u As String = "SinUsuario"
|
|
c = B4XPages.MainPage.skmt.ExecQuery("select USUARIO from usuarioa")
|
|
c.Position = 0
|
|
If c.RowCount > 0 Then u = c.GetString("USUARIO")
|
|
c.Close
|
|
Return u
|
|
End Sub
|
|
|
|
'Regresa el usuario de la tabla USUARIOA
|
|
Sub traeUsuario As String 'ignore
|
|
Private c As Cursor
|
|
Private u As String = "SinUsuario"
|
|
c = B4XPages.MainPage.skmt.ExecQuery("select USUARIO from usuarioa")
|
|
c.Position = 0
|
|
If c.RowCount > 0 Then u = c.GetString("USUARIO")
|
|
c.Close
|
|
Return u
|
|
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"
|
|
If c.RowCount > 0 Then
|
|
c.Position=0
|
|
r = c.GetString("CAT_CL_RUTA")
|
|
End If
|
|
c.Close
|
|
Return r
|
|
End Sub
|
|
|
|
'Regresa la ruta actual de la base de datos.
|
|
Sub traeRuta2 (cliente As String) 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 = '${cliente}' UNION ALL select CAT_CL_RUTA from kmt_info2 where CAT_CL_CODIGO = '${cliente}'"$)
|
|
r = "0"
|
|
If c.RowCount > 0 Then
|
|
c.Position=0
|
|
r = c.GetString("CAT_CL_RUTA")
|
|
End If
|
|
c.Close
|
|
Return r
|
|
End Sub
|
|
|
|
'Regresa la ruta del cliente dado de la tabla pedido.
|
|
Sub traeRutaPedidoCliente(idcliente As String) As String 'ignore
|
|
Private r As String
|
|
Private c As Cursor = B4XPages.MainPage.skmt.ExecQuery($"select PE_RUTA from pedido where PE_CLIENTE = '${idcliente}'"$)
|
|
r = "0"
|
|
If c.RowCount > 0 Then
|
|
c.Position = 0
|
|
r = c.GetString("PE_RUTA")
|
|
End If
|
|
c.Close
|
|
Return r
|
|
End Sub
|
|
|
|
'Regresa el cliente actual desde CUENTAA.
|
|
Sub traeCliente As String 'ignore
|
|
Private c As Cursor
|
|
Private cl As String
|
|
c = B4XPages.MainPage.skmt.ExecQuery("Select CUENTA from cuentaa")
|
|
c.Position = 0
|
|
cl = c.GetString("CUENTA")
|
|
c.Close
|
|
Return cl
|
|
End Sub
|
|
|
|
'Regresa el almacen actual de la base de datos.
|
|
Sub traeAlmacen As String 'ignore
|
|
Private c As Cursor
|
|
Private a As String
|
|
c = B4XPages.MainPage.skmt.ExecQuery("select ID_ALMACEN from CAT_ALMACEN")
|
|
c.Position = 0
|
|
a = C.GetString("ID_ALMACEN")
|
|
c.Close
|
|
Return a
|
|
End Sub
|
|
|
|
'Muestra en el Log los campos y valores que regresan en el JobDone.
|
|
Sub logJobDoneResultados(resultado As DBResult)
|
|
For Each records() As Object In resultado.Rows
|
|
LogColor($"====== ${resultado.Tag} - REGISTROS = ${resultado.Rows.Size}"$, Colors.RGB(215,37,0))
|
|
For Each k As String In resultado.Columns.Keys
|
|
LogColor(k & " = " & records(resultado.Columns.Get(k)), Colors.RGB(215,37,0))
|
|
Next
|
|
Next
|
|
End Sub
|
|
|
|
'======================================================================================
|
|
$// ARCHIVO_FIN: Subs.bas
|
|
'======================================================================================
|
|
|