mirror of
https://github.com/KeymonSoft/Kelloggs_v4.git
synced 2026-04-17 18:26:11 +00:00
- Cambios en DBRequestManagerW para evitar un error cuando no hay internet
4695 lines
216 KiB
QBasic
4695 lines
216 KiB
QBasic
B4A=true
|
|
Group=Default Group
|
|
ModulesStructureVersion=1
|
|
Type=Class
|
|
Version=11.5
|
|
@EndOfDesignText@
|
|
Sub Class_Globals
|
|
'//Process_Globas
|
|
Private Root As B4XView 'ignore
|
|
Private xui As XUI 'ignore
|
|
Dim reqManager As DBRequestManager
|
|
Dim reqManagerW As DBRequestManagerW
|
|
Dim device As Phone
|
|
Dim kh As kms_helperSubs
|
|
Dim rp As RuntimePermissions
|
|
Dim t1 As Timer
|
|
Dim t2 As Timer
|
|
Private t3 As Timer
|
|
Dim inicioContador As Double
|
|
|
|
'//Globals
|
|
Dim trabajar As Button
|
|
Dim Cursor_check As Cursor
|
|
Dim c As Cursor
|
|
Dim d As Cursor
|
|
Dim b As Cursor
|
|
Dim e As Cursor
|
|
Dim f As Cursor
|
|
Dim C_DOE As Cursor
|
|
Dim D_DOE As Cursor
|
|
Dim F_DOE As Cursor
|
|
Dim TOTAL_DOE_BB As String
|
|
Dim TOTAL_EFE_DOE As String
|
|
Dim TOTAL_ENTREGA_DOE As String
|
|
Private L_DOE As Label
|
|
Dim DDD As Cursor
|
|
Dim cargar As Button
|
|
Dim foto1() As Byte
|
|
Dim foto2() As Byte
|
|
Dim foto3() As Byte
|
|
Dim foto4() As Byte
|
|
Dim usuario As String
|
|
Dim connecta As Button
|
|
Dim conn As String
|
|
Dim Subir As Button
|
|
Dim cmd As DBCommand
|
|
Dim COUNT_CLIE As Int
|
|
Dim fecha As String
|
|
Dim drop As Double
|
|
Dim efectiva As Double
|
|
Dim L_MONTOD As Label
|
|
Dim l_cuantosc As Label
|
|
Dim l_drop As Label
|
|
Dim l_efectiva As Label
|
|
Dim l_ctast As Label
|
|
Dim BUSCA As Button
|
|
Dim Cuantos As String
|
|
Dim l_cuantosn As Label
|
|
Dim e_ruta As EditText
|
|
Dim l_porvisitar As Label
|
|
Dim b_mapa As Button
|
|
Dim l_ruta As Label
|
|
Dim ALMACEN As String
|
|
Private img2 As ImageView
|
|
Dim Listo1 As String
|
|
Dim Listo2 As String
|
|
Dim Listo3 As String
|
|
Dim Listo4 As String
|
|
Dim Listo5 As String
|
|
Dim EJECUTANDO As String
|
|
' Dim res As String
|
|
Dim inve As String
|
|
Dim cuantos_pedidosc As String
|
|
Dim cuantos_pedido As String
|
|
Dim cuantos_noventa As String
|
|
Dim datos_iguales As String
|
|
Dim p As PhoneId
|
|
Dim imei As String
|
|
Dim Today As String
|
|
Private inv As Button
|
|
Private P1 As Panel
|
|
Private CLAVE As EditText
|
|
Private B_OK_PAS As Button
|
|
Dim PASO As String
|
|
Private USUARIO1 As EditText
|
|
Dim connecta1 As Double
|
|
Dim armafolio As String
|
|
Private NUEVO As Button
|
|
Private S_CC As Label
|
|
Private S_CP As Label
|
|
Private S_CH As Label
|
|
Private PB2 As ProgressBar
|
|
Private PB1 As ProgressBar
|
|
Private L_P_1 As Label
|
|
Private L_P_2 As Label
|
|
Private L_P_3 As Label
|
|
Private CARGA As String
|
|
Private PORCENTAJE As Int
|
|
Private P_RESUMEN As Panel
|
|
Private B_OK_RES As Button
|
|
Dim Resumen As Button
|
|
Private L_CUANTOST As Label
|
|
Private img3 As ImageView
|
|
Private ImageView3 As ImageView
|
|
Private ImageView5 As ImageView
|
|
Private L_TICKPROM As Label
|
|
Private MARCASQ As String
|
|
Private B_PROXIMA As Button
|
|
Private l_monto_a As Label
|
|
Private ImageView9 As ImageView
|
|
Private L_MONTO_R As Label
|
|
Dim PERFIL As String
|
|
Dim NUMERO_PEDIDO As String
|
|
Private l_cambios As Label
|
|
Dim l_monto_ks As Label
|
|
Dim l_monto_kp As Label
|
|
Dim l_monto_k As Label
|
|
Private Cuantos As String
|
|
Dim cmp20 As Serial
|
|
Dim printer As TextWriter
|
|
Dim PairedDevices As Map
|
|
Dim TAMANO As Int
|
|
Dim ESPACIO As Int
|
|
Dim BLANCO As String
|
|
Dim sDate,sTime As String
|
|
Dim PASA_IMP As String
|
|
Dim s As Cursor
|
|
Private B_IMP As Button
|
|
Private l_monto_c1 As Label
|
|
Private l_monto_c2 As Label
|
|
Private l_monto_c3 As Label
|
|
Private B_BOLETA As Button
|
|
Private B_MAPA_RUTA As Button
|
|
Private p_resumenAcumulado As Panel
|
|
Private L_CUOTA1 As Label
|
|
Private L_CUOTA2 As Label
|
|
Private L_CUOTA3 As Label
|
|
Private L_CUOTA4 As Label
|
|
Private L_CUOTA5 As Label
|
|
Private L_CUOTA6 As Label
|
|
Private L_META1 As Label
|
|
Private L_META2 As Label
|
|
Private L_META3 As Label
|
|
Private L_META4 As Label
|
|
Private L_META5 As Label
|
|
Private L_META6 As Label
|
|
Private B_CUOATA_C As Button
|
|
Private b_cuotas As Button
|
|
Private Panel1 As Panel
|
|
Private Panel2 As Panel
|
|
Dim ENVIADA As String
|
|
Dim PORENVIAR As String
|
|
Dim Btn_CheckList As Button
|
|
Dim Cedis_Check As String = "0"
|
|
Private TIEMPO As String
|
|
Private RUTA1 As Label
|
|
Private L_ABORDO As Label
|
|
Private bcarga1 As String
|
|
Private bcarga2 As String
|
|
Private bcarga3 As String
|
|
Private contador_env As String
|
|
Private contador_strem As String
|
|
Private ruta_valida As String
|
|
Private PNL_ACCESO As Panel
|
|
Private Panel7 As Panel
|
|
Private L_SUPLENCIA As Label
|
|
Private E_RUTA2 As EditText
|
|
Private Label4 As Label
|
|
Private SEMANA As String
|
|
Private ImageView1 As ImageView
|
|
Dim DIA_VISITA As String
|
|
|
|
' Para el PDFViewer
|
|
Dim pdf As PdfiumCore
|
|
Private PDFView1 As PDFView
|
|
Private btnFirst As Button
|
|
Private btnPrev As Button
|
|
Private lblPages As Label
|
|
Private btnNext As Button
|
|
Private btnLast As Button
|
|
Private glPages As Int
|
|
Private p_pdfViewer As Panel
|
|
Private pdfViewerActivo As Boolean
|
|
Private p_controles_pdf As Panel
|
|
Private pdfURL As String
|
|
Private l_2 As Label
|
|
Dim cartaPorteLista As Boolean
|
|
Private l_downloadPDF As Label
|
|
Private ProgressBarPDF As ProgressBar
|
|
Private p_downloadPDF As Panel
|
|
Private p_progress1 As Panel
|
|
Private l_porcentaje As Label
|
|
Private detenerLoop As Boolean = False
|
|
Dim logger As Boolean = False
|
|
Private admin As BluetoothAdmin
|
|
Public BluetoothState, ConnectionState As Boolean
|
|
Private ion As Object
|
|
Private p_centrado As Panel
|
|
Private l_version As Label
|
|
Private p_botonesResumen As Panel
|
|
Private b_motivoNoVisita As Button
|
|
Private p_transparente As Panel
|
|
Private b_noVisita As Button
|
|
Private p_noVisita As Panel
|
|
Private p_transparente2 As Panel
|
|
Private b_reactivaRuta As Button
|
|
Private et_reactivaRuta As EditText
|
|
Private p_noVisita2 As Panel
|
|
Private r_1 As RadioButton
|
|
Private r_2 As RadioButton
|
|
Private r_3 As RadioButton
|
|
Private r_4 As RadioButton
|
|
Private r_5 As RadioButton
|
|
Private r_6 As RadioButton
|
|
Private r_7 As RadioButton
|
|
Private r_razonNoVisita As String
|
|
Private l_descripcion As Label
|
|
Type TCuantos (query As String, esperados As Int, guardados As Int)
|
|
Dim validaCuantos As TCuantos
|
|
Dim ts As C_TrendSpending
|
|
Dim linker As C_deviceLinker
|
|
Dim kb As IME
|
|
Dim reqTotales As Int
|
|
End Sub
|
|
|
|
'You can add more parameters here.
|
|
Public Sub Initialize As Object
|
|
admin.Initialize("admin")
|
|
Return Me
|
|
End Sub
|
|
|
|
'This event will be called once, before the page becomes visible.
|
|
Private Sub B4XPage_Created (Root1 As B4XView)
|
|
If Not(Starter.Logger) Then logger = False
|
|
validaCuantos.Initialize
|
|
Root = Root1
|
|
'load the layout to Root
|
|
Root.LoadLayout("principal")
|
|
EJECUTANDO=1
|
|
l_version.Text = Application.VersionName
|
|
' Dim ruta As String
|
|
img2.Visible =False
|
|
' ruta = File.DirInternal
|
|
DateTime.DateFormat = "MM/dd/yyyy"
|
|
fecha=DateTime.Date(DateTime.Now)
|
|
b = Starter.skmt.ExecQuery("Select count(*) as CUANTOS from pedido_cliente")
|
|
b.Position = 0
|
|
Cuantos = b.GetString("CUANTOS")
|
|
d = Starter.skmt.ExecQuery("select count(*) as TOTAL_VISITAR from kmt_info where gestion = 0")
|
|
D.Position = 0
|
|
b.Close
|
|
e = Starter.skmt.ExecQuery("select count(*) as POR_VISITAR from kmt_info")
|
|
e.Position = 0
|
|
f = Starter.skmt.ExecQuery("select CAT_CL_RUTA from kmt_info limit 1")
|
|
l_ruta.Text = "-"
|
|
If f.RowCount > 0 Then
|
|
' Log(1)
|
|
f.Position = 0
|
|
' Log($"Ruta desde BD: ${f.GetString("CAT_CL_RUTA")}"$)
|
|
l_ruta.Text = f.GetString("CAT_CL_RUTA")
|
|
End If
|
|
f.Close
|
|
If l_ruta.Text = "-" Then
|
|
' Log(2)
|
|
l_ruta.Text = "-"
|
|
Else
|
|
' Log(3)
|
|
f = Starter.skmt.ExecQuery("select CAT_CL_RUTA from kmt_info")
|
|
f.Position = 0
|
|
l_ruta.Text = f.GetString("CAT_CL_RUTA")
|
|
RUTA1.Text = l_ruta.TEXT
|
|
f.Close
|
|
End If
|
|
If Cuantos = 0 Then
|
|
L_MONTOD.Text = 0
|
|
l_cuantosc.Text = 0
|
|
l_cuantosn.Text = 0
|
|
Log(">>>> Ponemos en CERO!!")
|
|
drop = 0
|
|
l_drop.Text = 0
|
|
efectiva = 0
|
|
l_efectiva.text = 0
|
|
l_ctast.Text = d.GetString("TOTAL_VISITAR")
|
|
' l_porvisitar.Text = e.GetString("POR_VISITAR")
|
|
Else
|
|
c = Starter.skmt.ExecQuery("select sum(pc_monto) as MONTO_DIA, count(pc_cliente) AS CLIENTES_DIA from pedido_cliente")
|
|
b = Starter.skmt.ExecQuery("select count(*) as CUANTOS from noventa")
|
|
'where pc_fecha = ?", Array As String(fecha)
|
|
C.Position = 0
|
|
b.Position = 0
|
|
L_MONTOD.Text = c.GetString("MONTO_DIA")
|
|
l_cuantosc.Text = c.GetString("CLIENTES_DIA")
|
|
l_cuantosn.Text = b.GetString("CUANTOS")
|
|
Try
|
|
drop = c.GetString("MONTO_DIA") / c.GetString("CLIENTES_DIA")
|
|
Catch
|
|
Log(LastException)
|
|
End Try
|
|
l_drop.Text = Round2(drop,2)
|
|
' Log($"PRODUCTIVIDAD: ${c.GetString("CLIENTES_DIA")} / ${L_CUANTOST.text} = ${(c.GetString("CLIENTES_DIA") / L_CUANTOST.text)}"$)
|
|
' l_drop.Text = Round2((c.GetString("CLIENTES_DIA") / L_CUANTOST.text),2)
|
|
efectiva = c.GetString("CLIENTES_DIA") / e.GetString("POR_VISITAR")
|
|
l_efectiva.text = Round2(efectiva*100,2)
|
|
l_ctast.Text = d.GetString("TOTAL_VISITAR")
|
|
'l_porvisitar.Text = e.GetString("POR_VISITAR")
|
|
End If
|
|
kh.Initialize(Me, "kh", Starter.skmt)
|
|
kh.RD_Init
|
|
kh.centraPanel(Panel2, Root.Width)
|
|
kh.centraPanel(Panel1, Root.Width)
|
|
kh.centraPanel(p_botonesResumen, Root.Width)
|
|
p_transparente.Top = 0 : p_transparente.left = 0
|
|
p_transparente.Height = Root.Height : p_transparente.Width = Root.Width
|
|
' PNL_ACCESO.Top = 0 : PNL_ACCESO.left = 0
|
|
' PNL_ACCESO.Height = Root.Height : PNL_ACCESO.Width = Root.Width
|
|
' kh.centraPanel(Panel7, Root.Width)
|
|
' kh.centraPanel(PNL_ACCESO, Root.Width)
|
|
|
|
P_RESUMEN.Top = 0 : P_RESUMEN.Left = 0 'Panel Resumen
|
|
' p_resumenAcumulado.Top = 0 : p_resumenAcumulado.Left = 0 ' Panel Resumen Acumualado
|
|
p_downloadPDF.Top = 0 : p_downloadPDF.left = 0
|
|
P1.Width = GetDeviceLayoutValues.Width
|
|
P1.Height = GetDeviceLayoutValues.Height
|
|
P1.Top = 0 : P1.left = 0 'Panel de cargar dia
|
|
Subs.centraPanel(p_centrado, Root.Width) 'Panel de cargar dia 2
|
|
End Sub
|
|
|
|
'You can see the list of page related events in the B4XPagesManager object. The event name is B4XPage.
|
|
|
|
Sub B4XPage_Appear
|
|
B4XPages.MainPage.aud.guarda("Entrada a Principal")
|
|
' Log(Subs.traeDiaSemana)
|
|
linker.Initialize(Me, "Linker", True)
|
|
Starter.errorConnDBReq = False
|
|
connecta.TextColor = Colors.White
|
|
StartBluetooth
|
|
' If Not(kh.CheckNotificationAccess) Then
|
|
' Msgbox2Async($"Se necesita acceso a las notificaciones, haga clic en "Aceptar" y en la siguiente pantalla permita el acceso a la aplicación "${Application.LabelName}"."$, "Permisos necesarios", "Aceptar", "", "", Null, True)
|
|
' Wait For Msgbox_Result (resultado As Int)
|
|
' If resultado = DialogResponse.POSITIVE Then
|
|
' Dim In As Intent
|
|
' In.Initialize("android.settings.ACTION_NOTIFICATION_LISTENER_SETTINGS", "")
|
|
' StartActivity(In)
|
|
' End If
|
|
' End If
|
|
|
|
If Subs.traeUltimaActividadBD <> "principal" Then Subs.iniciaActividad(Subs.traeUltimaActividadBD)
|
|
borraClientesNuevosSinVenta
|
|
reqManager.Initialize(Me, Starter.DBReqServer)
|
|
reqManagerW.Initialize
|
|
Log($"DBREQSERVER = ${Starter.DBReqServer}"$)
|
|
|
|
' c = Starter.skmt.ExecQuery($"select * from CAT_ALMACEN"$)
|
|
' If c.RowCount > 0 Then
|
|
' c.Position = 0
|
|
' Dim cmd As DBCommand
|
|
' cmd.Initialize
|
|
' cmd.Name = "select_version_KELL"
|
|
' cmd.Parameters = Array As Object(c.GetString("ID_ALMACEN"), Subs.traeRuta)
|
|
' reqManager.ExecuteQuery(cmd , 0, "version")
|
|
' End If
|
|
|
|
Dim cmd As DBCommand
|
|
cmd.Initialize
|
|
cmd.Name = "select_conexion"
|
|
reqManager.ExecuteQuery(cmd , 0, "conexion")
|
|
|
|
' If Not(btAdmin.IsEnabled) Then btAdmin.Enable 'Si no esta prendido el BT, lo prendemos.
|
|
|
|
e_ruta.Enabled = True
|
|
Starter.rutaV = l_ruta.Text
|
|
c = Starter.skmt.ExecQuery2("select count(*) as CUANTOS from CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As String ("SERVER"))
|
|
c.Position = 0
|
|
If c.GetString("CUANTOS") = 0 Then
|
|
Starter.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("SERVER", Starter.DBReqServer))
|
|
Else
|
|
c = Starter.skmt.ExecQuery2("select CAT_VA_VALOR from CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As String ("SERVER"))
|
|
c.Position = 0
|
|
Starter.DBReqServer = c.GetString("CAT_VA_VALOR")
|
|
End If
|
|
c = Starter.skmt.ExecQuery2("select CAT_VA_VALOR from CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As String ("FECHA"))
|
|
If c.RowCount > 0 Then
|
|
c.Position = 0
|
|
Starter.FECHA_HOY = c.GetString("CAT_VA_VALOR")
|
|
End If
|
|
c = Starter.skmt.ExecQuery2("select count(*) AS CUANTOS from CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As String ("SEMANA"))
|
|
c.Position = 0
|
|
SEMANA = c.GetString("CUANTOS")
|
|
c.Close
|
|
If SEMANA > 0 Then
|
|
c = Starter.skmt.ExecQuery2("select CAT_VA_VALOR from CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As String ("SEMANA"))
|
|
c.Position = 0
|
|
SEMANA = c.GetString("CAT_VA_VALOR")
|
|
c.Close
|
|
End If
|
|
c.Close
|
|
c=Starter.skmt.ExecQuery2("select count(*) as CUANTOS from kmt_info where CAT_CL_DIAS_VISITA = (SELECT CAT_VA_VALOR FROM CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?) and gestion = 0 and cat_cl_codigo <> 0 AND CAT_CL_TIPO_RUTA IN (?,?) ORDER BY CAT_CL_NUM_SERIEFISICO", Array As String("DIA_VISITA", SEMANA, "SEMANAL"))
|
|
c.Position = 0
|
|
Starter.clientesTotal = c.GetString("CUANTOS")
|
|
' l_porvisitar.Text = Starter.clientesTotal
|
|
Private x As Cursor = Starter.skmt.ExecQuery2("select count(*) as CUANTOS from kmt_info where CAT_CL_DIAS_VISITA = (SELECT CAT_VA_VALOR FROM CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?) and cat_cl_codigo <> 0 AND CAT_CL_TIPO_RUTA IN (?,?) ORDER BY CAT_CL_NUM_SERIEFISICO", Array As String("DIA_VISITA", SEMANA, "SEMANAL"))
|
|
L_CUANTOST.Text = "0"
|
|
If x.RowCount > 0 Then
|
|
x.Position = 0
|
|
L_CUANTOST.Text = x.GetString("CUANTOS")
|
|
End If
|
|
PASO = 0
|
|
If EJECUTANDO = 0 Then
|
|
Listo1 = 0
|
|
Listo2 = 0
|
|
Listo3 = 0
|
|
Listo4 = 0
|
|
Listo5 = 0
|
|
inve = 0
|
|
img2.Visible =False
|
|
End If
|
|
DateTime.DateFormat = "MM/dd/yyyy"
|
|
fecha=DateTime.Date(DateTime.Now)
|
|
b = Starter.skmt.ExecQuery("Select count(*) as CUANTOS from pedido_cliente where pc_cliente <> 0")
|
|
b.Position = 0
|
|
Cuantos = b.GetString("CUANTOS")
|
|
' If Starter.marcaCel <> "LGE" Then ToastMessageShow(Cuantos , True)
|
|
d = Starter.skmt.ExecQuery2("select count(*) as TOTAL_VISITAR from kmt_info where gestion = 0 and cat_cl_codigo <> 0 AND CAT_CL_DIAS_VISITA = (SELECT CAT_VA_VALOR FROM CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?)", Array As String("DIA_VISITA"))
|
|
D.Position = 0
|
|
b.Close
|
|
e = Starter.skmt.ExecQuery2("select count(*) as POR_VISITAR from kmt_info where cat_cl_codigo <> 0 and CAT_CL_DIAS_VISITA = (SELECT CAT_VA_VALOR FROM CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?) ", Array As String("DIA_VISITA"))
|
|
e.Position = 0
|
|
l_ruta.Text = "-"
|
|
f = Starter.skmt.ExecQuery("select CAT_CL_RUTA from kmt_info where cat_cl_codigo <> 0 limit 1")
|
|
If f.RowCount > 0 Then
|
|
f.Position = 0
|
|
l_ruta.Text = f.GetString("CAT_CL_RUTA")
|
|
End If
|
|
f.Close
|
|
If l_ruta.Text = 0 Then
|
|
l_ruta.Text = 0
|
|
Else
|
|
f = Starter.skmt.ExecQuery("select CAT_CL_RUTA from kmt_info")
|
|
If f.RowCount > 0 Then
|
|
f.Position = 0
|
|
l_ruta.Text = f.GetString("CAT_CL_RUTA")
|
|
End If
|
|
f.Close
|
|
End If
|
|
c=Starter.skmt.ExecQuery("select usuario from usuarioa")
|
|
c.Position = 0
|
|
usuario = c.GetString("USUARIO")
|
|
Starter.usuario = usuario
|
|
c.Close
|
|
c = Starter.skmt.ExecQuery("select ID_ALMACEN from CAT_ALMACEN")
|
|
C.Position = 0
|
|
ALMACEN = C.GetString("ID_ALMACEN")
|
|
C.Close
|
|
Cursor_check = Starter.skmt.ExecQuery("select count(*) as CUANTOS from TMP_INSPECCION_AUTO_DIARIA where tmp_auto_kilometraje <> '' ")
|
|
Cursor_check.Position = 0
|
|
Cedis_Check = Cursor_check.GetString("CUANTOS")
|
|
|
|
If Not(File.Exists(File.DirInternal,"FOTO1.jpg")) Or _
|
|
Not(File.Exists(File.DirInternal,"FOTO2.jpg")) Or _
|
|
Not(File.Exists(File.DirInternal,"FOTO3.jpg")) Or _
|
|
Not(File.Exists(File.DirInternal,"FOTO4.jpg")) Then
|
|
' If Not(File.Exists(File.DirInternal,"FOTO1.jpg")) Then Log("Falta foto1")
|
|
' If Not(File.Exists(File.DirInternal,"FOTO2.jpg")) Then Log("Falta foto2")
|
|
' If Not(File.Exists(File.DirInternal,"FOTO3.jpg")) Then Log("Falta foto3")
|
|
' If Not(File.Exists(File.DirInternal,"FOTO4.jpg")) Then Log("Falta foto4")
|
|
Cedis_Check = 0
|
|
End If
|
|
' Log(">>>> CHECKLIST: |" & Cedis_Check & "|")
|
|
Btn_CheckList.Visible = False
|
|
If Cedis_Check = 0 Then ' And l_ruta.Text <> 0
|
|
If l_ruta.Text <> 0 And l_ruta.Text <> "-" Then
|
|
Btn_CheckList.BringToFront
|
|
Btn_CheckList.Visible = True
|
|
End If
|
|
B_MAPA_RUTA.Visible = False
|
|
NUEVO.Visible = False
|
|
B_PROXIMA.Visible = False
|
|
b_motivoNoVisita.Visible = False
|
|
Else
|
|
' PONER EN FALSE
|
|
Btn_CheckList.Visible = False
|
|
B_MAPA_RUTA.Visible = True
|
|
NUEVO.Visible = True
|
|
B_PROXIMA.Visible = True
|
|
b_motivoNoVisita.Visible = True
|
|
If usuario = "JOSELUIS" Then Btn_CheckList.Visible = True 'Mod por CHV - 211125
|
|
End If
|
|
contador_strem = 0
|
|
contador_env = 0
|
|
E_RUTA2.Visible = False
|
|
L_SUPLENCIA.Visible = False
|
|
Label4.Visible = False
|
|
Starter.montoActual = L_MONTOD.Text
|
|
Starter.clientesventa = l_cuantosc.Text
|
|
Starter.clientesvisitados = l_porvisitar.TEXT
|
|
Starter.ALMACEN = ALMACEN
|
|
Starter.rutapreventa = l_ruta.text
|
|
CallSub(Starter, "ENVIA_ULTIMA_GPS")
|
|
c.Close
|
|
' Subs.guardaUltimaActividadBD("principal")
|
|
|
|
' Revisamos si hay abordo y si SI hay y no esta impreso, lo borramos.
|
|
Private impr As Cursor = Starter.skmt.ExecQuery("select count(*) as CUANTOS from kmt_info where (impresion = 1 or cat_cl_codigo in (select ci_cuenta from cliente_impreso)) and CAT_CL_CODIGO = '0'")
|
|
Private abordoImpreso As Boolean = False
|
|
' Log($"REGISTROS: ${impr.RowCount}"$)
|
|
If impr.RowCount > 0 Then
|
|
impr.Position = 0
|
|
If impr.GetInt("CUANTOS") > 0 Then
|
|
' Log("IMPRESION = 1")
|
|
abordoImpreso = True
|
|
End If
|
|
End If
|
|
' Log($"##### ABORDO IMPRESO = ${abordoImpreso}"$)
|
|
Private ab As ResultSet = Starter.skmt.ExecQuery("select * from PEDIDO where PE_CLIENTE = '0'")
|
|
' Log($"### HAY ABORDO: ${ab.RowCount}"$)
|
|
Do While ab.NextRow
|
|
If Not(abordoImpreso) Then
|
|
LogColor("BORRAMOS PEDIDO DE ABORDO PORQUE NO ESTA IMPRESO", Colors.red)
|
|
' Starter.skmt.ExecNonQuery("delete from PEDIDO where PE_CLIENTE = '0'") ''Borramos el abordo si no esta impreso.
|
|
' Subs.actualizaProducto(ALMACEN, 0, 0, ab.GetString("PE_PRONOMBRE"), ab.GetString("PE_PROID"), ab.GetString("PE_CLIENTE"), Subs.traeFecha, Subs.traeUsuarioDeBD, ab.GetString("PE_RUTA"), 0, ab.GetString("PE_TIPO"))
|
|
End If
|
|
Loop
|
|
|
|
' ' Buscamos los clientes que tienen pedido y NO estan impresos.
|
|
' Private t As Cursor = Starter.skmt.ExecQuery("Select cat_cl_codigo from kmt_info where impresion = 0 and cat_cl_codigo not in (select ci_cuenta from cliente_impreso) and cat_cl_codigo in (select distinct pe_cliente from pedido)")
|
|
' If t.RowCount > 0 Then
|
|
' For i = 0 To t.RowCount - 1
|
|
' t.Position = i ' Y los BORRAMOS.
|
|
' Log(t.GetString("CAT_CL_CODIGO"))
|
|
' Starter.skmt.ExecNonQuery($"update CUENTAA set CUENTA = '${t.GetString("CAT_CL_CODIGO")}'"$)
|
|
' Subs.borraPedidoClienteActual
|
|
' Msgbox2Async($"El pedido del cliente ${t.GetString("CAT_CL_CODIGO")} no está impreso, se va a borrar"$, "PEDIDO NO IMPRESO", "Aceptar", "", "", Null, True)
|
|
' Next
|
|
' End If
|
|
|
|
' Log("Check phone state: " & rp.Check(rp.PERMISSION_READ_PHONE_STATE))
|
|
' Log("Pedimos permisos de estado del cel")
|
|
rp.CheckAndRequest(rp.PERMISSION_READ_PHONE_STATE)
|
|
Wait For B4XPage_PermissionResult (Permission As String, Result As Boolean)
|
|
If Result Then
|
|
Dim Phn As PhoneId
|
|
' IMEN.Text = "" 'Phn.GetDeviceId
|
|
imei ="" ' Phn.GetDeviceId
|
|
' If logger Then LogColor($"////////////////// IMEI: ${imei} ////////////////// "$, Colors.Blue)
|
|
End If
|
|
' Log("Permisos cel terminados")
|
|
|
|
' Log("Permisos BT: " & rp.Check("android.permission.BLUETOOTH_CONNECT"))
|
|
' Log("REVISAMOS PERMISOS DE BT")
|
|
' rp.CheckAndRequest("android.permission.BLUETOOTH_CONNECT")
|
|
' Wait For Activity_PermissionResult (Permission As String, Result As Boolean)
|
|
' If Result Then Log("Tenemos permisos de bluetooth.")
|
|
' Log("XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX")
|
|
If kh.motivoNoVisitaActivo Then
|
|
Private cd1 As ColorDrawable
|
|
cd1.Initialize(Colors.RGB(247, 94, 0), 5dip)
|
|
b_motivoNoVisita.Background = cd1
|
|
B_MAPA_RUTA.Enabled = False
|
|
trabajar.Enabled = False
|
|
NUEVO.Enabled = False
|
|
B_PROXIMA.Enabled = False
|
|
' LogColor("deshabilitamos", Colors.magenta)
|
|
Else
|
|
Private cd1 As ColorDrawable
|
|
cd1.Initialize(Colors.RGB(213, 0, 0), 5dip)
|
|
b_motivoNoVisita.Background = cd1
|
|
B_MAPA_RUTA.Enabled = True
|
|
trabajar.Enabled = True
|
|
NUEVO.Enabled = True
|
|
B_PROXIMA.Enabled = True
|
|
End If
|
|
|
|
'############# Deshabilitamos botones para validacion de ruta y vinculo #########
|
|
c = Starter.skmt.ExecQuery("select count(*) as cuantos from CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = 'LIGADO' and CAT_VA_VALOR = 1")
|
|
c.Position = 0
|
|
If c.GetInt("cuantos") = 0 Then
|
|
trabajar.Enabled = False
|
|
Resumen.Enabled = False
|
|
BUSCA.Enabled = False
|
|
Btn_CheckList.Enabled = False
|
|
NUEVO.Enabled = False
|
|
B_PROXIMA.Enabled = False
|
|
' LogColor("deshabilitamos", Colors.magenta)
|
|
Else
|
|
trabajar.Enabled = True
|
|
Resumen.Enabled = True
|
|
BUSCA.Enabled = True
|
|
Btn_CheckList.Enabled = True
|
|
NUEVO.Enabled = True
|
|
B_PROXIMA.Enabled = True
|
|
' LogColor("deshabilitamos", Colors.magenta)
|
|
End If
|
|
|
|
'################################################################################
|
|
|
|
kh.traeMaxClientesNuevos
|
|
Private n As Cursor = Starter.skmt.ExecQuery("select count(*) as cuantos from kmt_info where cat_cl_codigo like 'N%'")
|
|
n.Position = 0
|
|
Log(n.GetString("cuantos"))
|
|
If n.GetString("cuantos") >= kh.traeMaxClientesNuevos Then NUEVO.Enabled = False
|
|
' LogColor(">>>>>>>> REVISAMOS GUID <<<<<<<<<", Colors.red)
|
|
' Subs.generaGUID_EnExterno
|
|
|
|
|
|
Subs.RecalcularInventario
|
|
End Sub
|
|
|
|
Sub trabajar_Click
|
|
'CallSubDelayed(gestion,"gestion")
|
|
'Mod por CHV para que si no se ha hecho el checklist no permita la venta - 211125
|
|
c=Starter.skmt.ExecQuery("select 'TMP_AUTO_FECHA ' from TMP_INSPECCION_AUTO_DIARIA where tmp_auto_kilometraje <> ''")
|
|
If c.RowCount > 0 Then
|
|
' If logger Then Log("Si hay checklist")
|
|
Else
|
|
' If logger Then Log("NO hay checklist")
|
|
Msgbox("No se ha realizado aún el 'Checklist' del vehículo, por favor completelo antes de realizar una venta.", "FALTA EL CHECKLIST") 'ignore
|
|
Return
|
|
End If
|
|
c = Starter.skmt.ExecQuery2("select CAT_VA_VALOR from CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As String ("MARCAS"))
|
|
c.Position = 0
|
|
If c.RowCount > 0 Then
|
|
MARCASQ = c.GetString("CAT_VA_VALOR")
|
|
c.Close
|
|
Starter.skmt.ExecNonQuery("delete from CAT_GUNAPROD WHERE CAT_GP_CLASIF NOT IN (" & MARCASQ &")" )
|
|
Starter.skmt.ExecNonQuery("delete from CAT_GUNAPROD WHERE CAT_GP_ID IN (SELECT CAT_DP_ID FROM CAT_DETALLES_PAQ WHERE CAT_DP_IDPROD NOT IN (SELECT CAT_GP_ID FROM CAT_GUNAPROD))")
|
|
Subs.iniciaActividad("Clientes")
|
|
' B4XPages.ShowPage("Clientes")
|
|
Else
|
|
If Starter.marcaCel <> "LGE" Then ToastMessageShow("No hay marcas en la base de datos ... ya se cargo ruta??", True)
|
|
End If
|
|
End Sub
|
|
|
|
Sub Subir_Click
|
|
' Buscamos los clientes que tienen pedido y NO estan impresos.
|
|
Private t As Cursor = Starter.skmt.ExecQuery("Select cat_cl_codigo from kmt_info where impresion = 0 and cat_cl_codigo not in (select ci_cuenta from cliente_impreso) and cat_cl_codigo in (select distinct pe_cliente from pedido)")
|
|
If t.RowCount > 0 Then
|
|
For i = 0 To t.RowCount - 1
|
|
t.Position = i ' Y los BORRAMOS.
|
|
Log(t.GetString("CAT_CL_CODIGO"))
|
|
Starter.skmt.ExecNonQuery($"update CUENTAA set CUENTA = '${t.GetString("CAT_CL_CODIGO")}'"$)
|
|
Subs.borraPedidoClienteActual
|
|
' Msgbox2Async($"El pedido del cliente ${t.GetString("CAT_CL_CODIGO")} no está impreso, se va a borrar"$, "PEDIDO NO IMPRESO", "Aceptar", "", "", Null, True)
|
|
Next
|
|
End If
|
|
Sleep(1000)
|
|
Starter.revisandoNotifiaciones = False
|
|
|
|
CARGA = "SUBIR"
|
|
' P1.Visible = True
|
|
trabajar.Visible = False
|
|
B_PROXIMA.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 información"
|
|
'L_P_3.Text = "Envio de Pedidos"
|
|
'S_CH.Text = "EN PROCESO"
|
|
S_CP.Text = "EN PROCESO"
|
|
PB1.Progress = 0
|
|
PB2.Progress = 0
|
|
PB2.Color = Colors.RGB(180,203,36)
|
|
PB2.Height = 15dip
|
|
PB2.Padding = Array As Int (10dip, 10dip, 10dip, 10dip)
|
|
contador_env = 0
|
|
contador_strem = 0
|
|
e_ruta.Text = ruta_valida
|
|
PASO = 1
|
|
'End If
|
|
If PASO = 1 Then
|
|
c = Starter.skmt.ExecQuery("select CAT_CL_CODIGO, CAT_CL_RUTA from kmt_info")
|
|
If c.RowCount > 0 Then
|
|
For i = 0 To c.RowCount - 1
|
|
c.Position=i
|
|
Starter.skmt.ExecNonQuery2("update PEDIDO set PE_RUTA = ? where PE_CLIENTE = ? ", Array As Object(c.GetString("CAT_CL_RUTA"),c.GetString("CAT_CL_CODIGO")))
|
|
Next
|
|
End If
|
|
c=Starter.skmt.ExecQuery2("SELECT HE_CUANTOS, HE_FECHA FROM HIST_ENVIOS WHERE HE_TIPO = ?", Array As String("PEDIDO"))
|
|
c.Position = 0
|
|
''' FALTA PONER EL IF DE CUANTAS VECES MANDO Y SI MANDO PREGUNTAR ENVIAR BOLETA O PEDIDO
|
|
If c.GetString("HE_CUANTOS") = 0 Then
|
|
SUBIR_INFO_PEDIDO
|
|
Else
|
|
Dim result As Int
|
|
result = Msgbox2("QUE VA A ENVIAR?", "ENVIO DE INFO.", "BOLETA", "VALIDAR", "VENTA/PEDIDO", LoadBitmap(File.DirAssets, "alert2.png")) 'ignore
|
|
If result = DialogResponse.Positive Then
|
|
SUBIR_INFO_BOLETA
|
|
ELSE IF result = DialogResponse.NEGATIVE Then
|
|
SUBIR_INFO_PEDIDO
|
|
ELSE IF result = DialogResponse.CANCEL Then
|
|
VALIDAR_INFO
|
|
End If
|
|
End If
|
|
End If
|
|
|
|
Private hn As Cursor = Starter.skmt.ExecQuery($"select distinct HN_CODIGO, HN_ID from hist_notificaciones"$)
|
|
If hn.RowCount > 0 Then
|
|
For i = 0 To hn.RowCount - 1
|
|
hn.Position = i
|
|
cmd.Initialize
|
|
cmd.Name = "borraHistNotificaciones"
|
|
cmd.Parameters = Array As Object( hn.GetString("HN_CODIGO"), hn.GetString("HN_ID"))
|
|
reqManager.ExecuteCommand(cmd , "borraHistNotificaciones_"&hn.GetString("HN_CODIGO")&"_"&hn.GetString("HN_ID"))
|
|
Next
|
|
End If
|
|
hn.Close
|
|
End Sub
|
|
|
|
Sub cargar_Click
|
|
'Para descargar el PDF de la carta porte /////////////////////////////////////////////////////////////////////////
|
|
cargar.Enabled = False
|
|
DateTime.DateFormat = "yyyyMMdd"
|
|
Dim hoy As String = DateTime.Date(DateTime.Now)
|
|
' If Logger Then Log(DateTime.Date(File.LastModified(File.DirInternal,"cartaPorte.pdf")) & " - " & hoy )
|
|
B_OK_PAS.TextSize = 24
|
|
B_OK_PAS.Text = "CANCELAR"
|
|
If kh.traeUsarCartaPorte Then 'Si se requiere la carta porte para cagar dia ...
|
|
If Not(File.Exists(File.DirInternal,"cartaPorte.pdf")) Then 'Si no existe la descargamos ...
|
|
If logger Then LogColor("No hay carta porte.", Colors.Red)
|
|
descargaCartaPorte ' la descargamos.
|
|
Do While Not(cartaPorteLista) 'Mientras no se termine de descargar la carta porte, esperamos ...
|
|
Sleep(1000)
|
|
If logger Then Log("Descargando Carta Porte (Loop cargar_Click)")
|
|
Loop
|
|
Else If (DateTime.Date(File.LastModified(File.DirInternal,"cartaPorte.pdf")) < hoy And Starter.rutaTipo <> "FORANEA") Then ' si la fecha del pdf NO es de hoy y la ruta NO es foranea entonces ...
|
|
LogColor("La carta porte es vieja.", Colors.Red)
|
|
If logger Then Log(Starter.rutaTipo)
|
|
descargaCartaPorte ' la descargamos.
|
|
Do While Not(cartaPorteLista) 'Mientras no se termine de descargar la carta porte, esperamos ...
|
|
Sleep(1000)
|
|
If logger Then Log("Descargando Carta Porte (Loop cargar_Click)")
|
|
If detenerLoop Then Exit
|
|
detenerLoop = False
|
|
Loop
|
|
Else
|
|
cartaPorteLista = True
|
|
If logger Then LogColor("Ya hay carta porte con fecha de hoy", Colors.Green)
|
|
Private MB As Int
|
|
|
|
Msgbox2Async("¿Quiere descargarla nuevamente?" , "YA SE DESCARGO LA CARTA PORTE", "Si", "", "No", LoadBitmap(File.DirAssets,"alert2.png"), False)
|
|
Wait For Msgbox_Result (resultado As Int)
|
|
If resultado = DialogResponse.POSITIVE Then
|
|
' MB = Msgbox2("¿Quiere descargarla nuevamente?", "YA SE DESCARGO LA CARTA PORTE", "Si", "", "No", Null) 'ignore
|
|
' If MB = DialogResponse.Positive Then
|
|
descargaCartaPorte
|
|
Do While Not(cartaPorteLista) 'Mientras no se termine de descargar la carta porte esperamos ...
|
|
Sleep(1000)
|
|
If logger Then Log("Descargando Carta Porte (Loop cargar_Click)")
|
|
If detenerLoop Then Exit
|
|
detenerLoop = False
|
|
Loop
|
|
ELSE IF resultado = DialogResponse.POSITIVE Then
|
|
' descargaCartaPorte
|
|
ELSE IF resultado = DialogResponse.CANCEL Then
|
|
' VALIDAR_INFO
|
|
End If
|
|
End If
|
|
Else
|
|
cartaPorteLista = True
|
|
End If
|
|
|
|
'Termina descargar el PDF de la carta porte ///////////////////////////////////////////////////////////////////////////////
|
|
If cartaPorteLista Then
|
|
CARGA = "CARGAR"
|
|
img2.Visible =True
|
|
L_P_1.Visible = True
|
|
S_CC.Visible = True
|
|
Btn_CheckList.Visible=False
|
|
' P1.Visible = True
|
|
' P1.BringToFront
|
|
Subs.panelVisible(P1, 0, 0)
|
|
trabajar.Visible = False
|
|
B_PROXIMA.Visible =False
|
|
NUEVO.Visible =False
|
|
BUSCA.Visible=False
|
|
connecta.Visible=False
|
|
L_P_3.Visible = True
|
|
S_CH.Visible = True
|
|
PB1.Visible = True
|
|
Resumen.Visible= False
|
|
E_RUTA2.Visible = False
|
|
L_SUPLENCIA.Visible = False
|
|
Label4.Visible = False
|
|
L_P_1.Text = "Catalogo de Clientes"
|
|
L_P_2.Text = "Catalogos de Productos"
|
|
L_P_3.Text = "Catalogos Historicos"
|
|
S_CC.Text = "EN PROCESO"
|
|
S_CH.Text = "EN PROCESO"
|
|
S_CP.Text = "EN PROCESO"
|
|
PB1.Progress = 0
|
|
PB2.Progress = 0
|
|
EJECUTANDO = 1
|
|
bcarga1 = 0
|
|
bcarga2 = 0
|
|
bcarga3 = 0
|
|
e_ruta.Text = ruta_valida
|
|
' NUEVOS CLIENTE
|
|
|
|
Starter.skmt.ExecNonQuery2("delete from kmt_info where substr(CAT_CL_CODIGO,1,1) <> ?", Array As Object ("N"))
|
|
Starter.skmt.ExecNonQuery("delete from cod_result")
|
|
Starter.skmt.ExecNonQuery("delete from hist_gest")
|
|
Starter.skmt.ExecNonQuery("delete from pedido_sugerido")
|
|
Starter.skmt.ExecNonQuery("delete from cat_gunaprod")
|
|
Starter.skmt.ExecNonQuery("delete from cat_gunaprod2")
|
|
Starter.skmt.ExecNonQuery("DELETE FROM CAT_GUNAPROD5")
|
|
Starter.skmt.ExecNonQuery("DELETE FROM CAT_INVENTARIO")
|
|
Starter.skmt.ExecNonQuery("DELETE FROM HIST_ENCUESTA2")
|
|
Starter.skmt.ExecNonQuery("delete from CAT_DETALLES_PAQ")
|
|
Starter.skmt.ExecNonQuery("delete from telefonos")
|
|
Starter.skmt.ExecNonQuery("delete from HIST_VENTAS")
|
|
Starter.skmt.ExecNonQuery("delete from HIST_PROMOS")
|
|
Starter.skmt.ExecNonQuery("delete from HIST_CLIENTE_CANT_PROMOS")
|
|
Starter.skmt.ExecNonQuery("delete from PROMOS_COMP")
|
|
Starter.skmt.ExecNonQuery("delete from CAT_VERIFICACION")
|
|
Starter.skmt.ExecNonQuery("delete from LISTA_PRECIOS")
|
|
Starter.skmt.ExecNonQuery("delete from CAT_PRECIOS")
|
|
Starter.skmt.ExecNonQuery("delete from HIST_RMI")
|
|
Starter.skmt.ExecNonQuery("delete from HIST_CUOTAS")
|
|
Starter.skmt.ExecNonQuery("delete from HIST_EXHIBIDORES2")
|
|
Starter.skmt.ExecNonQuery("delete from CAT_DESCUENTOS_SKU")
|
|
Starter.skmt.ExecNonQuery("delete from HIST_ABORDO")
|
|
Starter.skmt.ExecNonQuery("delete from DESC_CLIENTES")
|
|
Starter.skmt.ExecNonQuery("delete from CAT_ENCUESTA_PREGUNTA")
|
|
Starter.skmt.ExecNonQuery("delete from CAT_PROMO_MONTO")
|
|
Starter.skmt.ExecNonQuery("delete from CAT_NOTIFICACIONES")
|
|
''' PEDIDO DOE
|
|
Starter.skmt.ExecNonQuery("delete from CAT_GUNAPROD_DOE")
|
|
Starter.skmt.ExecNonQuery("delete from PEDIDO_DOE")
|
|
''' FIN DOE
|
|
Starter.skmt.ExecNonQuery2("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = ?", Array As Object ("NUMERO_PEDIDO"))
|
|
Starter.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("NUMERO_PEDIDO",0))
|
|
|
|
c=Starter.skmt.ExecQuery("select usuario from usuarioa")
|
|
c.Position = 0
|
|
usuario = c.GetString("USUARIO")
|
|
|
|
DateTime.TimeFormat = "HHmmss"
|
|
inicioContador = DateTime.Now
|
|
reqManager.trackInit
|
|
|
|
cmd.Initialize
|
|
cmd.Name = "SELECT_HIST_ENCUESTA_KELL"
|
|
cmd.Parameters = Array As Object( e_ruta.text, ALMACEN,e_ruta.text, ALMACEN,e_ruta.text, ALMACEN,e_ruta.text, ALMACEN )
|
|
' cmd.Parameters = Array As Object( e_ruta.text, ALMACEN )
|
|
reqManager.ExecuteQuery(cmd , 0, "HIST_ENCUESTA2")
|
|
' Log($"${e_ruta.text}, ${ALMACEN},${e_ruta.text}, ${ALMACEN},${e_ruta.text}, ${ALMACEN},${e_ruta.text}, ${ALMACEN}"$)
|
|
|
|
cmd.Initialize
|
|
cmd.Name = "SELECT_EXHIBIDOR_RUTA_KELL"
|
|
cmd.Parameters = Array As Object( e_ruta.text )
|
|
reqManager.ExecuteQuery(cmd , 0, "exhibidores")
|
|
|
|
cmd.Initialize 'Para traer la contraseña del candado de "FIN DIA"
|
|
cmd.Name = "SELECT_PASS_FIN_DIA"
|
|
reqManager.ExecuteQuery(cmd , 0, "pass_fin_dia")
|
|
|
|
cmd.Initialize
|
|
cmd.Name = "select_cat_gunaprod_KELL"
|
|
cmd.Parameters = Array As Object(ALMACEN)
|
|
reqManager.ExecuteQuery(cmd , 0, "gunaprod")
|
|
|
|
cmd.Initialize
|
|
cmd.Name = "select_cat_gunaprod2_KELL"
|
|
cmd.Parameters = Array As Object(ALMACEN, e_ruta.Text)
|
|
reqManager.ExecuteQuery(cmd , 0, "gunaprod2")
|
|
|
|
cmd.Initialize
|
|
cmd.Name = "select_cat_encuesta_p_KELL"
|
|
cmd.Parameters = Array As Object(ALMACEN, e_ruta.Text)
|
|
reqManager.ExecuteQuery(cmd , 0, "encuesta_p")
|
|
|
|
cmd.Initialize
|
|
cmd.Name = "select_cat_paquetes_KELL"
|
|
cmd.Parameters = Array As Object(ALMACEN)
|
|
reqManager.ExecuteQuery(cmd , 0, "gunaprodp")
|
|
|
|
cmd.Initialize
|
|
cmd.Name = "pedidosugerido_KELLOGGS"
|
|
cmd.Parameters = Array As Object(ALMACEN, e_ruta.Text)
|
|
reqManager.ExecuteQuery(cmd , 0, "PEDIDOsugerido")
|
|
|
|
cmd.Initialize
|
|
cmd.Name = "select_cat_paquetess_KELL"
|
|
cmd.Parameters = Array As Object(ALMACEN)
|
|
reqManager.ExecuteQuery(cmd , 0, "gunaprodps")
|
|
|
|
cmd.Initialize
|
|
cmd.Name = "select_cat_detallepa_KELL"
|
|
cmd.Parameters = Array As Object(ALMACEN)
|
|
reqManager.ExecuteQuery(cmd , 0, "detallepaq")
|
|
|
|
cmd.Name = "selectCuantosClientes_Kell"
|
|
cmd.Parameters = Array As Object(e_ruta.text, ALMACEN)
|
|
reqManagerW.ExecuteQuery(Starter.DBReqServer, cmd, Me, "kmt_cuantos")
|
|
Wait For kmt_cuantos_Completed (r As TResultado)
|
|
If r.Success Then
|
|
validaCuantos.query = "kmt_datos"
|
|
For Each records() As Object In r.resultado.Rows
|
|
Dim CUANTOS_CLIENTES As Int = records(r.resultado.Columns.Get("CUANTOS_CLIENTES"))
|
|
Next
|
|
validaCuantos.esperados = CUANTOS_CLIENTES
|
|
Subs.logJobDoneResultados(r.resultado)
|
|
Else
|
|
Log(r.ErrorMessage)
|
|
End If
|
|
|
|
'Autorizacion para crear clientes nuevos
|
|
cmd.Initialize
|
|
cmd.Name = "autorizacionClientesNuevos"
|
|
cmd.Parameters = Array As Object(ALMACEN, e_ruta.text)
|
|
reqManagerW.ExecuteQuery(Starter.DBReqServer, cmd, Me, "autorizacionClientesNuevos")
|
|
Wait For autorizacionClientesNuevos_Completed (r0 As TResultado)
|
|
Log("tag: " & r0.tag & " Success: " & r0.Success)
|
|
If r0.Success Then
|
|
Subs.logJobDoneResultados(r0.resultado)
|
|
Private result As DBResult = r0.resultado
|
|
cargar.Enabled = True
|
|
' Log("TIEMPO kmt_datos : " & ((DateTime.Now-inicioContador)/1000))
|
|
' S_CC.TEXT = "CARGANDO"
|
|
Starter.skmt.BeginTransaction
|
|
For Each records() As Object In result.Rows
|
|
Dim CNR_AUTORIZADO As String = records(result.Columns.Get("CNR_AUTORIZADO"))
|
|
Dim CNR_CUANTOS_CN As String = records(result.Columns.Get("CNR_CUANTOS_CN"))
|
|
Next
|
|
Starter.skmt.ExecNonQuery2("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = ?", Array As Object ("CN_AUTORIZADO"))
|
|
Starter.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("CN_AUTORIZADO", CNR_AUTORIZADO))
|
|
Starter.skmt.ExecNonQuery2("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = ?", Array As Object ("CN_CUANTOS"))
|
|
Starter.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("CN_CUANTOS", CNR_CUANTOS_CN))
|
|
Starter.skmt.TransactionSuccessful 'Si no se pone TransactionSuccessful no se escribe NADA!!
|
|
Starter.skmt.EndTransaction
|
|
Else
|
|
Log(r0.ErrorMessage)
|
|
End If
|
|
|
|
cmd.Initialize
|
|
cmd.Name = "select_cat_clientes_guna_KELL2"
|
|
cmd.Parameters = Array As Object(e_ruta.text, ALMACEN)
|
|
' reqManager.ExecuteQuery(cmd , 0, "kmt_datos")
|
|
|
|
reqManagerW.ExecuteQuery(Starter.DBReqServer, cmd, Me, "kmt_datos")
|
|
Wait For kmt_datos_Completed (r As TResultado)
|
|
Log("tag: " & r.tag & " Success: " & r.Success)
|
|
If r.Success Then
|
|
' Subs.logJobDoneResultados(res2.resultado)
|
|
Private result As DBResult = r.resultado
|
|
cargar.Enabled = True
|
|
Log("TIEMPO kmt_datos : " & ((DateTime.Now-inicioContador)/1000))
|
|
S_CC.TEXT = "CARGANDO"
|
|
Starter.skmt.BeginTransaction
|
|
For Each records() As Object In result.Rows
|
|
Dim CAT_CL_CODIGO As String = records(result.Columns.Get("CAT_CL_CODIGO"))
|
|
Dim CAT_CL_RUTA As String = records(result.Columns.Get("CAT_CL_RUTA"))
|
|
Dim CAT_CL_NOMBRE As String = records(result.Columns.Get("CAT_CL_NOMBRE"))
|
|
Dim CAT_CL_ATIENDE1 As String = records(result.Columns.Get("CAT_CL_ATIENDE1"))
|
|
Dim CAT_CL_ATIENTE2 As String = records(result.Columns.Get("CAT_CL_ATIENTE2"))
|
|
Dim CAT_CL_TELEFONO As String = records(result.Columns.Get("CAT_CL_TELEFONO"))
|
|
Dim CAT_CL_EMAIL As String = records(result.Columns.Get("CAT_CL_EMAIL"))
|
|
Dim CAT_CL_CALLE As String = records(result.Columns.Get("CAT_CL_CALLE"))
|
|
Dim CAT_CL_NOEXT As String = records(result.Columns.Get("CAT_CL_NOEXT"))
|
|
Dim CAT_CL_NOINT As String = records(result.Columns.Get("CAT_CL_NOINT"))
|
|
Dim CAT_CL_CALLE1 As String = records(result.Columns.Get("CAT_CL_CALLE1"))
|
|
Dim CAT_CL_CALLE2 As String = records(result.Columns.Get("CAT_CL_CALLE2"))
|
|
Dim CAT_CL_COLONIA As String = records(result.Columns.Get("CAT_CL_COLONIA"))
|
|
Dim CAT_CL_MUNI As String = records(result.Columns.Get("CAT_CL_MUNI"))
|
|
Dim CAT_CL_EDO As String = records(result.Columns.Get("CAT_CL_EDO"))
|
|
Dim CAT_CL_CP As String = records(result.Columns.Get("CAT_CL_CP"))
|
|
Dim CAT_CL_LONG As String = records(result.Columns.Get("CAT_CL_LONG"))
|
|
Dim CAT_CL_LAT As String = records(result.Columns.Get("CAT_CL_LAT"))
|
|
Dim CAT_CL_MTOCOMPRA As String = records(result.Columns.Get("CAT_CL_MTOCOMPRA"))
|
|
Dim CAT_CL_NUM_SERIEFISICO As String = records(result.Columns.Get("CAT_CL_NUM_SERIEFISICO"))
|
|
Dim CAT_CL_BFACTURA As String = records(result.Columns.Get("CAT_CL_BFACTURA"))
|
|
Dim CAT_CL_BCREDITO As String = records(result.Columns.Get("CAT_CL_BBLOQUEOCRED"))
|
|
Dim CAT_CL_DIAS_VISITA As String = records(result.Columns.Get("CAT_CL_DIAS_VISITA"))
|
|
Dim CAT_CL_TIPO_RUTA As String = records(result.Columns.Get("CAT_CL_TIPO_RUTA"))
|
|
Dim CAT_CL_CATEGORIA As String = records(result.Columns.Get("CAT_CL_CATEGORIA"))
|
|
Dim CAT_CL_SEGMENTO As String = records(result.Columns.Get("CAT_CL_SEGMENTO"))
|
|
Dim CAT_CL_LIMITECREDITO As String = records(result.Columns.Get("CAT_CL_LIMITECREDITO"))
|
|
Dim CREDITO As String = records(result.Columns.Get("CAT_CL_BCREDITO"))
|
|
' LogColor("CAT_CL_LIMITECREDITO:" & CAT_CL_LIMITECREDITO & " -- ID: " & CAT_CL_CODIGO, Colors.red)
|
|
Starter.skmt.ExecNonQuery2("INSERT INTO kmt_info(CAT_CL_CODIGO,CAT_CL_RUTA,CAT_CL_NOMBRE,CAT_CL_ATIENDE1,CAT_CL_ATIENTE2,CAT_CL_TELEFONO,CAT_CL_EMAIL,CAT_CL_CALLE,CAT_CL_NOEXT,CAT_CL_NOINT,CAT_CL_CALLE1,CAT_CL_CALLE2,CAT_CL_COLONIA,CAT_CL_MUNI,CAT_CL_EDO,CAT_CL_CP,CAT_CL_LONG,CAT_CL_LAT,CAT_CL_MTOCOMPRA,CAT_CL_NUM_SERIEFISICO,CAT_CL_BFACTURA,CAT_CL_BCREDITO,CAT_CL_DIAS_VISITA,CAT_CL_TIPO_RUTA, gestion, IMPRESION, CAT_CL_CATEGORIA, CAT_CL_SEGMENTO,CAT_CL_LIMITECREDITO, CREDITO) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,0,0,?,?,?,?)", Array As Object (CAT_CL_CODIGO,CAT_CL_RUTA,CAT_CL_NOMBRE,CAT_CL_ATIENDE1,CAT_CL_ATIENTE2,CAT_CL_TELEFONO,CAT_CL_EMAIL,CAT_CL_CALLE,CAT_CL_NOEXT,CAT_CL_NOINT,CAT_CL_CALLE1,CAT_CL_CALLE2,CAT_CL_COLONIA,CAT_CL_MUNI,CAT_CL_EDO,CAT_CL_CP,CAT_CL_LAT,CAT_CL_LONG,CAT_CL_MTOCOMPRA,CAT_CL_NUM_SERIEFISICO,CAT_CL_BFACTURA,CAT_CL_BCREDITO,CAT_CL_DIAS_VISITA,CAT_CL_TIPO_RUTA,CAT_CL_CATEGORIA, CAT_CL_SEGMENTO,CAT_CL_LIMITECREDITO,CREDITO))
|
|
Next
|
|
Starter.skmt.ExecNonQuery2("INSERT INTO kmt_info(CAT_CL_CODIGO,CAT_CL_RUTA,CAT_CL_NOMBRE,CAT_CL_ATIENDE1,CAT_CL_ATIENTE2,CAT_CL_TELEFONO,CAT_CL_EMAIL,CAT_CL_CALLE,CAT_CL_NOEXT,CAT_CL_NOINT,CAT_CL_CALLE1,CAT_CL_CALLE2,CAT_CL_COLONIA,CAT_CL_MUNI,CAT_CL_EDO,CAT_CL_CP,CAT_CL_LONG,CAT_CL_LAT,CAT_CL_BFACTURA,CAT_CL_BCREDITO,CAT_CL_MTOCOMPRA,CAT_CL_NUM_SERIEFISICO,CAT_CL_DIAS_VISITA, gestion, IMPRESION) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,0,0,0,?,0,0) ",Array As Object ("0",e_ruta.TEXT, "VENTA ABORDO","null","null","null","null","null","null","null","null","null","null","null","0","null","null","null","10000000","null"))
|
|
Starter.skmt.TransactionSuccessful 'Si no se pone TransactionSuccessful no se escribe NADA!!
|
|
Starter.skmt.EndTransaction
|
|
' LogColor("##################################################################3", Colors.red)
|
|
Listo1 = 1
|
|
S_CC.Text = "LISTO"
|
|
' ToastMessageShow("Catalogo Clientes Actualizados." , True)
|
|
If Listo1 = 1 And Listo2 = 1 And Listo3 = 1 And Listo4 = 1 Then
|
|
B4XPage_Appear
|
|
img2.Visible=False
|
|
EJECUTANDO = 0
|
|
End If
|
|
Else
|
|
Log(r.ErrorMessage)
|
|
End If
|
|
|
|
cmd.Initialize
|
|
cmd.Name = "select_hist_datos_KELL"
|
|
cmd.Parameters = Array As Object(e_ruta.text, ALMACEN)
|
|
reqManager.ExecuteQuery(cmd , 0, "hist_datos")
|
|
|
|
cmd.Initialize
|
|
cmd.Name = "select_hist_datos_KELL2"
|
|
cmd.Parameters = Array As Object(e_ruta.text, ALMACEN)
|
|
reqManager.ExecuteQuery(cmd , 0, "hist_datos")
|
|
|
|
cmd.Initialize
|
|
cmd.Name = "select_hist_promos_KELL"
|
|
cmd.Parameters = Array As Object(e_ruta.text, ALMACEN)
|
|
reqManager.ExecuteQuery(cmd , 0, "hist_promos")
|
|
|
|
cmd.Initialize
|
|
cmd.Name = "select_hist_cliente_promos_KELL"
|
|
cmd.Parameters = Array As Object(e_ruta.text, ALMACEN)
|
|
reqManager.ExecuteQuery(cmd , 0, "hist_cliente_promos")
|
|
|
|
cmd.Initialize
|
|
cmd.Name = "select_promo_comp_KELL"
|
|
cmd.Parameters = Array As Object(e_ruta.text, ALMACEN)
|
|
reqManager.ExecuteQuery(cmd , 0, "hist_comp_promos")
|
|
|
|
cmd.Initialize
|
|
cmd.Name = "select_promo_monto_KELL"
|
|
cmd.Parameters = Array As Object(e_ruta.text, ALMACEN)
|
|
reqManager.ExecuteQuery(cmd , 0, "promo_monto")
|
|
|
|
cmd.Initialize
|
|
cmd.Name = "traeNumSemanaActualCalendarioLaboral"
|
|
cmd.Parameters = Array As Object( e_ruta.text, ALMACEN,e_ruta.text, ALMACEN,e_ruta.text, ALMACEN,e_ruta.text, ALMACEN )
|
|
reqManager.ExecuteQuery(cmd , 0, "semanaCalLaboral")
|
|
|
|
cmd.Initialize
|
|
cmd.Name = "traeInfoTrendSpending"
|
|
' cmd.Parameters = Array As Object(e_ruta.text, ALMACEN)
|
|
cmd.Parameters = Array As Object(e_ruta.text, ALMACEN)
|
|
reqManager.ExecuteQuery(cmd , 0, "trendSpending")
|
|
LogColor($"Trade Spending: Ruta: ${e_ruta.text}, almacen: ${ALMACEN}"$, Colors.red)
|
|
|
|
If E_RUTA2.Text <> "" Then
|
|
cmd.Initialize
|
|
cmd.Name = "select_cat_clientes_guna_KELL2"
|
|
cmd.Parameters = Array As Object(E_RUTA2.text, ALMACEN)
|
|
' reqManager.ExecuteQuery(cmd , 0, "kmt_datos")
|
|
|
|
cmd.Initialize
|
|
cmd.Name = "select_hist_datos_KELL"
|
|
cmd.Parameters = Array As Object(E_RUTA2.text, ALMACEN,e_ruta.text, ALMACEN)
|
|
reqManager.ExecuteQuery(cmd , 0, "hist_datos")
|
|
|
|
cmd.Initialize
|
|
cmd.Name = "select_hist_promos_KELL"
|
|
cmd.Parameters = Array As Object(E_RUTA2.text, ALMACEN)
|
|
reqManager.ExecuteQuery(cmd , 0, "hist_promos")
|
|
|
|
cmd.Initialize
|
|
cmd.Name = "select_hist_cliente_promos_KELL"
|
|
cmd.Parameters = Array As Object(E_RUTA2.text, ALMACEN)
|
|
reqManager.ExecuteQuery(cmd , 0, "hist_cliente_promos")
|
|
|
|
cmd.Initialize
|
|
cmd.Name = "select_promo_comp_KELL"
|
|
cmd.Parameters = Array As Object(E_RUTA2.text, ALMACEN)
|
|
reqManager.ExecuteQuery(cmd , 0, "hist_comp_promos")
|
|
|
|
cmd.Initialize
|
|
cmd.Name = "select_DESC_CLIENTE_KELL"
|
|
cmd.Parameters = Array As Object( ALMACEN,E_RUTA2.text)
|
|
reqManager.ExecuteQuery(cmd , 0, "DESCUENTOS_CLIENTE")
|
|
|
|
cmd.Initialize
|
|
cmd.Name = "select_DESC_CLIE_SKU_KELL"
|
|
cmd.Parameters = Array As Object( ALMACEN,E_RUTA2.text)
|
|
reqManager.ExecuteQuery(cmd , 0, "DESCUENTOS_CLIENTE_SKU")
|
|
End If
|
|
|
|
cmd.Initialize
|
|
cmd.Name = "select_DESC_CLIENTE_KELL"
|
|
cmd.Parameters = Array As Object( ALMACEN,e_ruta.text)
|
|
reqManager.ExecuteQuery(cmd , 0, "DESCUENTOS_CLIENTE")
|
|
|
|
cmd.Initialize
|
|
cmd.Name = "select_DESC_CLIE_SKU_KELL"
|
|
cmd.Parameters = Array As Object( ALMACEN,e_ruta.text)
|
|
reqManager.ExecuteQuery(cmd , 0, "DESCUENTOS_CLIENTE_SKU")
|
|
|
|
cmd.Initialize
|
|
cmd.Name = "select_fecha"
|
|
' cmd.Parameters = Array As Object(e_ruta.text, ALMACEN)
|
|
reqManager.ExecuteQuery(cmd , 0, "fecha")
|
|
|
|
cmd.Initialize
|
|
cmd.Name = "select_hora"
|
|
' cmd.Parameters = Array As Object(e_ruta.text, ALMACEN)
|
|
reqManager.ExecuteQuery(cmd , 0, "hora")
|
|
|
|
cmd.Initialize
|
|
cmd.Name = "select_folio_KELL"
|
|
cmd.Parameters = Array As Object(e_ruta.text, ALMACEN)
|
|
reqManager.ExecuteQuery(cmd , 0, "folio")
|
|
|
|
' esto es para sacar el perfil y marcas del usuario
|
|
cmd.Initialize
|
|
cmd.Name = "select_perfil_KELL"
|
|
cmd.Parameters = Array As Object(usuario)
|
|
reqManager.ExecuteQuery(cmd , 0, "perfil")
|
|
|
|
cmd.Initialize
|
|
cmd.Name = "select_marcas_KELL"
|
|
cmd.Parameters = Array As Object(usuario)
|
|
reqManager.ExecuteQuery(cmd , 0, "marcas")
|
|
|
|
cmd.Initialize
|
|
cmd.Name = "select_CAMBIOS_KELL"
|
|
'cmd.Parameters = Array As Object( ALMACEN)
|
|
reqManager.ExecuteQuery(cmd , 0, "cat_cambios")
|
|
|
|
cmd.Initialize
|
|
cmd.Name = "select_SUCURSAL_KELL"
|
|
cmd.Parameters = Array As Object( ALMACEN)
|
|
reqManager.ExecuteQuery(cmd , 0, "sucursal")
|
|
|
|
cmd.Initialize
|
|
cmd.Name = "select_dia_visita_KELL"
|
|
' cmd.Parameters = Array As Object(Null)
|
|
reqManager.ExecuteQuery(cmd , 0, "dia_visita")
|
|
|
|
cmd.Initialize
|
|
cmd.Name = "select_HIST_CUOTAS"
|
|
cmd.Parameters = Array As Object( ALMACEN,e_ruta.text )
|
|
reqManager.ExecuteQuery(cmd , 0, "CUOTAS")
|
|
|
|
cmd.Initialize
|
|
cmd.Name = "select_hist_ventas_abordo_KELL"
|
|
cmd.Parameters = Array As Object( ALMACEN,e_ruta.text )
|
|
reqManager.ExecuteQuery(cmd , 0, "hist_abordo")
|
|
|
|
cmd.Initialize
|
|
cmd.Name = "select_cat_encuesta_p_KELL"
|
|
cmd.Parameters = Array As Object( ALMACEN,e_ruta.text )
|
|
reqManager.ExecuteQuery(cmd , 0, "carga_encuesta")
|
|
|
|
cmd.Initialize
|
|
cmd.Name = "select_placas_kell"
|
|
cmd.Parameters = Array As Object( ALMACEN,e_ruta.text )
|
|
reqManager.ExecuteQuery(cmd , 0, "placas")
|
|
|
|
cmd.Initialize
|
|
cmd.Name = "select_cat_variables_semana_tipo_KELL"
|
|
reqManager.ExecuteQuery(cmd , 0, "SEMANA")
|
|
|
|
cmd.Initialize
|
|
cmd.Name ="insert_drop_KELL"
|
|
cmd.Parameters = Array As Object(usuario,e_ruta.Text,fecha, l_porvisitar.Text,l_drop.Text,l_efectiva.Text,l_cuantosc.Text,l_cuantosn.Text, L_MONTOD.Text,"CARGA", ALMACEN)
|
|
reqManager.ExecuteCommand(cmd , "inst_noventa_ins_drop_kell")
|
|
|
|
cmd.Initialize
|
|
cmd.Name = "select_precios_KELL"
|
|
cmd.Parameters = Array As Object(ALMACEN)
|
|
reqManager.ExecuteQuery(cmd , 0, "precios")
|
|
|
|
cmd.Initialize
|
|
cmd.Name = "select_limite_abordo"
|
|
cmd.Parameters = Array As Object( ALMACEN,e_ruta.text )
|
|
reqManager.ExecuteQuery(cmd , 0, "limite_abordo")
|
|
|
|
''' PARA LO DE DOE
|
|
cmd.Initialize
|
|
cmd.Name = "select_pedido_doe"
|
|
cmd.Parameters = Array As Object( ALMACEN,e_ruta.text )
|
|
reqManager.ExecuteQuery(cmd , 0, "pedido_doe")
|
|
|
|
cmd.Initialize
|
|
cmd.Name = "select_cat_gunaprod_doe"
|
|
cmd.Parameters = Array As Object( ALMACEN,e_ruta.text )
|
|
reqManager.ExecuteQuery(cmd , 0, "cat_gunaprod_doe")
|
|
''' FIN DOE
|
|
|
|
cmd.Initialize
|
|
cmd.Name = "select_cat_devoluciones_KELL"
|
|
cmd.Parameters = Array As Object(ALMACEN)
|
|
reqManager.ExecuteQuery(cmd , 0, "prods_rmi")
|
|
|
|
cmd.Initialize
|
|
cmd.Name = "selectNotificaciones"
|
|
cmd.Parameters = Array As Object(ALMACEN, e_ruta.Text)
|
|
reqManager.ExecuteQuery(cmd , 0, "selectNotificaciones")
|
|
|
|
cargar.Visible = False
|
|
Subir.Visible = False
|
|
trabajar.Visible=False
|
|
inv.Visible = False
|
|
If Starter.marcaCel <> "LGE" Then ToastMessageShow("Se Actualizarán los datos. Este proceso podria tardar hasta un minuto, gracias" , True)
|
|
End If
|
|
End Sub
|
|
|
|
Sub JobDone(Job As HttpJob)
|
|
Log("JOBDONE PRINCIPAL")
|
|
reqManager.trackNext(Job)
|
|
If Not(Job.Success) Then
|
|
LogColor("Error: " & Job.tag & " : " & Subs.parseHTTPError(Job.ErrorMessage), Colors.red)
|
|
If Job.Tag = "conexion" Then
|
|
Starter.errorConnDBReq = True
|
|
connecta.TextColor = Colors.red
|
|
ToastMessageShow("Error al conectarse con Keymon, revise su conexión y reintente!", True)
|
|
End If
|
|
If Job.ErrorMessage = "STREAM" Then
|
|
contador_strem = contador_strem + 1
|
|
If CARGA = "SUBIR" Then
|
|
PB1.Progress = PB1.Progress + 1
|
|
If PB1.Progress > 100 Then
|
|
PB1.Progress = 1
|
|
End If
|
|
If contador_env = contador_strem And S_CP.Text <> "INFO OK" Then
|
|
PB1.Progress = 100
|
|
S_CP.Text = "VALIDANDO"
|
|
End If
|
|
End If
|
|
End If
|
|
Else
|
|
If logger Then LogColor("JobDone: '" & reqManager.HandleJob(Job).tag & "' - Registros: " & reqManager.HandleJob(Job).Rows.Size, Colors.Green) 'Mod por CHV - 211110
|
|
If Job.JobName = "DBRequest" Then
|
|
Dim RESULT As DBResult = reqManager.HandleJob(Job)
|
|
If RESULT.Tag = "kmt_datos_xxx" Then 'query tag
|
|
cargar.Enabled = True
|
|
If logger Then Log("TIEMPO kmt_datos : " & ((DateTime.Now-inicioContador)/1000))
|
|
S_CC.TEXT = "CARGANDO"
|
|
Starter.skmt.BeginTransaction
|
|
For Each records() As Object In RESULT.Rows
|
|
Dim CAT_CL_CODIGO As String = records(RESULT.Columns.Get("CAT_CL_CODIGO"))
|
|
Dim CAT_CL_RUTA As String = records(RESULT.Columns.Get("CAT_CL_RUTA"))
|
|
Dim CAT_CL_NOMBRE As String = records(RESULT.Columns.Get("CAT_CL_NOMBRE"))
|
|
Dim CAT_CL_ATIENDE1 As String = records(RESULT.Columns.Get("CAT_CL_ATIENDE1"))
|
|
Dim CAT_CL_ATIENTE2 As String = records(RESULT.Columns.Get("CAT_CL_ATIENTE2"))
|
|
Dim CAT_CL_TELEFONO As String = records(RESULT.Columns.Get("CAT_CL_TELEFONO"))
|
|
Dim CAT_CL_EMAIL As String = records(RESULT.Columns.Get("CAT_CL_EMAIL"))
|
|
Dim CAT_CL_CALLE As String = records(RESULT.Columns.Get("CAT_CL_CALLE"))
|
|
Dim CAT_CL_NOEXT As String = records(RESULT.Columns.Get("CAT_CL_NOEXT"))
|
|
Dim CAT_CL_NOINT As String = records(RESULT.Columns.Get("CAT_CL_NOINT"))
|
|
Dim CAT_CL_CALLE1 As String = records(RESULT.Columns.Get("CAT_CL_CALLE1"))
|
|
Dim CAT_CL_CALLE2 As String = records(RESULT.Columns.Get("CAT_CL_CALLE2"))
|
|
Dim CAT_CL_COLONIA As String = records(RESULT.Columns.Get("CAT_CL_COLONIA"))
|
|
Dim CAT_CL_MUNI As String = records(RESULT.Columns.Get("CAT_CL_MUNI"))
|
|
Dim CAT_CL_EDO As String = records(RESULT.Columns.Get("CAT_CL_EDO"))
|
|
Dim CAT_CL_CP As String = records(RESULT.Columns.Get("CAT_CL_CP"))
|
|
Dim CAT_CL_LONG As String = records(RESULT.Columns.Get("CAT_CL_LONG"))
|
|
Dim CAT_CL_LAT As String = records(RESULT.Columns.Get("CAT_CL_LAT"))
|
|
Dim CAT_CL_MTOCOMPRA As String = records(RESULT.Columns.Get("CAT_CL_MTOCOMPRA"))
|
|
Dim CAT_CL_NUM_SERIEFISICO As String = records(RESULT.Columns.Get("CAT_CL_NUM_SERIEFISICO"))
|
|
Dim CAT_CL_BFACTURA As String = records(RESULT.Columns.Get("CAT_CL_BFACTURA"))
|
|
Dim CAT_CL_BCREDITO As String = records(RESULT.Columns.Get("CAT_CL_BBLOQUEOCRED"))
|
|
Dim CAT_CL_DIAS_VISITA As String = records(RESULT.Columns.Get("CAT_CL_DIAS_VISITA"))
|
|
Dim CAT_CL_TIPO_RUTA As String = records(RESULT.Columns.Get("CAT_CL_TIPO_RUTA"))
|
|
Dim CAT_CL_CATEGORIA As String = records(RESULT.Columns.Get("CAT_CL_CATEGORIA"))
|
|
Dim CAT_CL_SEGMENTO As String = records(RESULT.Columns.Get("CAT_CL_SEGMENTO"))
|
|
Dim CAT_CL_LIMITECREDITO As String = records(RESULT.Columns.Get("CAT_CL_LIMITECREDITO"))
|
|
Dim CREDITO As String = records(RESULT.Columns.Get("CAT_CL_BCREDITO"))
|
|
' LogColor("CAT_CL_LIMITECREDITO:" & CAT_CL_LIMITECREDITO & " -- ID: " & CAT_CL_CODIGO, Colors.red)
|
|
Starter.skmt.ExecNonQuery2("INSERT INTO kmt_info(CAT_CL_CODIGO,CAT_CL_RUTA,CAT_CL_NOMBRE,CAT_CL_ATIENDE1,CAT_CL_ATIENTE2,CAT_CL_TELEFONO,CAT_CL_EMAIL,CAT_CL_CALLE,CAT_CL_NOEXT,CAT_CL_NOINT,CAT_CL_CALLE1,CAT_CL_CALLE2,CAT_CL_COLONIA,CAT_CL_MUNI,CAT_CL_EDO,CAT_CL_CP,CAT_CL_LONG,CAT_CL_LAT,CAT_CL_MTOCOMPRA,CAT_CL_NUM_SERIEFISICO,CAT_CL_BFACTURA,CAT_CL_BCREDITO,CAT_CL_DIAS_VISITA,CAT_CL_TIPO_RUTA, gestion, IMPRESION, CAT_CL_CATEGORIA, CAT_CL_SEGMENTO,CAT_CL_LIMITECREDITO, CREDITO) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,0,0,?,?,?,?)", Array As Object (CAT_CL_CODIGO,CAT_CL_RUTA,CAT_CL_NOMBRE,CAT_CL_ATIENDE1,CAT_CL_ATIENTE2,CAT_CL_TELEFONO,CAT_CL_EMAIL,CAT_CL_CALLE,CAT_CL_NOEXT,CAT_CL_NOINT,CAT_CL_CALLE1,CAT_CL_CALLE2,CAT_CL_COLONIA,CAT_CL_MUNI,CAT_CL_EDO,CAT_CL_CP,CAT_CL_LAT,CAT_CL_LONG,CAT_CL_MTOCOMPRA,CAT_CL_NUM_SERIEFISICO,CAT_CL_BFACTURA,CAT_CL_BCREDITO,CAT_CL_DIAS_VISITA,CAT_CL_TIPO_RUTA,CAT_CL_CATEGORIA, CAT_CL_SEGMENTO,CAT_CL_LIMITECREDITO,CREDITO))
|
|
Next
|
|
Starter.skmt.ExecNonQuery2("INSERT INTO kmt_info(CAT_CL_CODIGO,CAT_CL_RUTA,CAT_CL_NOMBRE,CAT_CL_ATIENDE1,CAT_CL_ATIENTE2,CAT_CL_TELEFONO,CAT_CL_EMAIL,CAT_CL_CALLE,CAT_CL_NOEXT,CAT_CL_NOINT,CAT_CL_CALLE1,CAT_CL_CALLE2,CAT_CL_COLONIA,CAT_CL_MUNI,CAT_CL_EDO,CAT_CL_CP,CAT_CL_LONG,CAT_CL_LAT,CAT_CL_BFACTURA,CAT_CL_BCREDITO,CAT_CL_MTOCOMPRA,CAT_CL_NUM_SERIEFISICO,CAT_CL_DIAS_VISITA, gestion, IMPRESION) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,0,0,0,?,0,0) ",Array As Object ("0",e_ruta.TEXT, "VENTA ABORDO","null","null","null","null","null","null","null","null","null","null","null","0","null","null","null","10000000","null"))
|
|
Starter.skmt.TransactionSuccessful 'Si no se pone TransactionSuccessful no se escribe NADA!!
|
|
Starter.skmt.EndTransaction
|
|
Listo1 = 1
|
|
S_CC.Text = "LISTO"
|
|
' ToastMessageShow("Catalogo Clientes Actualizados." , True)
|
|
If Listo1 = 1 And Listo2 = 1 And Listo3 = 1 And Listo4 = 1 Then
|
|
B4XPage_Appear
|
|
img2.Visible=False
|
|
EJECUTANDO = 0
|
|
End If
|
|
End If
|
|
' S_CC.Text = "LISTO"
|
|
' Listo1 = 1
|
|
|
|
|
|
bcarga1 = 20
|
|
|
|
If RESULT.Tag = "hist_promos" Then 'query tag
|
|
If logger Then Log("TIEMPO hist_promos : " & ((DateTime.Now-inicioContador)/1000))
|
|
Starter.skmt.BeginTransaction
|
|
For Each records() As Object In RESULT.Rows
|
|
Dim HP_CLIENTE As String = records(RESULT.Columns.Get("HP_CLIENTE"))
|
|
Dim HP_CODIGO_PROMOCION As String = records(RESULT.Columns.Get("HP_CODIGO_PROMOCION"))
|
|
Starter.skmt.ExecNonQuery2("INSERT INTO HIST_PROMOS(HP_CLIENTE, HP_CODIGO_PROMOCION) VALUES (?,?)", Array As Object (HP_CLIENTE, HP_CODIGO_PROMOCION))
|
|
Next
|
|
Starter.skmt.TransactionSuccessful
|
|
Starter.skmt.EndTransaction
|
|
'ToastMessageShow("Historico Promociones Actualizado." , True)
|
|
If PB1.Progress = 0 Then
|
|
PB1.Progress = 30
|
|
S_CH.Text = "CARGANDO"
|
|
ELSE If PB1.Progress = 30 Then
|
|
PB1.Progress = 70
|
|
ELSE IF PB1.Progress = 70 Then
|
|
PB1.Progress = 100
|
|
S_CH.Text = "LISTO"
|
|
End If
|
|
End If
|
|
|
|
If RESULT.Tag = "hist_cliente_promos" Then 'query tag
|
|
If logger Then Log("TIEMPO hist_cliente_promos : " & ((DateTime.Now-inicioContador)/1000))
|
|
Starter.skmt.BeginTransaction
|
|
For Each records() As Object In RESULT.Rows
|
|
Dim HCCP_CLIENTE As String = records(RESULT.Columns.Get("HCCP_CLIENTE"))
|
|
Dim HCCP_PROMO As String = records(RESULT.Columns.Get("HCCP_PROMO"))
|
|
Dim HCCP_CANT As String = records(RESULT.Columns.Get("HCCP_CANT"))
|
|
Dim HCCP_CANT_VENDIDA As String = records(RESULT.Columns.Get("HCCP_CANT_VENDIDA"))
|
|
If HCCP_CANT_VENDIDA = Null Or HCCP_CANT_VENDIDA = "null" Then HCCP_CANT_VENDIDA = 0
|
|
Starter.skmt.ExecNonQuery2("INSERT INTO HIST_CLIENTE_CANT_PROMOS(HCCP_CLIENTE, HCCP_PROMO, HCCP_CANT, HCCP_CANT_VENDIDA) VALUES (?,?,?,?)", Array As Object (HCCP_CLIENTE, HCCP_PROMO, HCCP_CANT, HCCP_CANT_VENDIDA))
|
|
Next
|
|
Starter.skmt.TransactionSuccessful
|
|
Starter.skmt.EndTransaction
|
|
' ToastMessageShow(" Historico Clientes Promociones Actualizado." , True)
|
|
End If
|
|
|
|
If RESULT.Tag = "hist_comp_promos" Then 'query tag
|
|
If logger Then Log("TIEMPO hist_comp_promos : " & ((DateTime.Now-inicioContador)/1000))
|
|
Starter.skmt.BeginTransaction
|
|
For Each records() As Object In RESULT.Rows
|
|
Dim CAT_PA_ID As String = records(RESULT.Columns.Get("CAT_PA_ID"))
|
|
Dim CAT_PA_MAXPROM As String = records(RESULT.Columns.Get("CAT_PA_MAXPROM"))
|
|
Dim CAT_PA_MAXPROMREC As String = records(RESULT.Columns.Get("CAT_PA_MAXPROMREC"))
|
|
Dim CAT_PA_MAXPROMCLIE As String = records(RESULT.Columns.Get("CAT_PA_MAXPROMCLIE"))
|
|
Dim CAT_PA_PORCENTAJE_PAQUETE As String = records(RESULT.Columns.Get("CAT_PA_PORCENTAJE_PAQUETE"))
|
|
Dim CAT_PA_PRECIO1 As String = records(RESULT.Columns.Get("CAT_PA_PRECIO1"))
|
|
Dim CAT_PA_PRECIO2 As String = records(RESULT.Columns.Get("CAT_PA_PRECIO2"))
|
|
Dim CAT_PA_TIPO_PROMONTO As String = records(RESULT.Columns.Get("CAT_PA_TIPO_PROMONTO"))
|
|
Starter.skmt.ExecNonQuery2("INSERT INTO PROMOS_COMP(CAT_PA_ID, CAT_PA_MAXPROM, CAT_PA_MAXPROMREC, CAT_PA_MAXPROMCLIE, CAT_PA_PORCENTAJE_PAQUETE, CAT_PA_PRECIO1, CAT_PA_PRECIO2, CAT_PA_TIPO_PROMONTO) VALUES (?,?,?,?,?,?,?,?)", Array As Object (CAT_PA_ID, CAT_PA_MAXPROM,CAT_PA_MAXPROMREC,CAT_PA_MAXPROMCLIE,CAT_PA_PORCENTAJE_PAQUETE,CAT_PA_PRECIO1, CAT_PA_PRECIO2,CAT_PA_TIPO_PROMONTO))
|
|
Next
|
|
Starter.skmt.TransactionSuccessful
|
|
Starter.skmt.EndTransaction
|
|
If PB1.Progress = 0 Then
|
|
PB1.Progress = 30
|
|
S_CH.Text = "CARGANDO"
|
|
ELSE If PB1.Progress = 30 Then
|
|
PB1.Progress = 70
|
|
ELSE IF PB1.Progress = 70 Then
|
|
PB1.Progress = 100
|
|
S_CH.Text = "LISTO"
|
|
End If
|
|
End If
|
|
|
|
If RESULT.Tag = "promo_monto" Then 'query tag
|
|
For Each records() As Object In RESULT.Rows
|
|
Dim CPM_CLIENTE As String = records(RESULT.Columns.Get("CPM_CLIENTE"))
|
|
Dim CPM_IDPROMO As String = records(RESULT.Columns.Get("CPM_IDPROMO"))
|
|
Dim CPM_MONTO As String = records(RESULT.Columns.Get("CPM_MONTO"))
|
|
Dim CPM_PROID As String = records(RESULT.Columns.Get("CPM_PROID"))
|
|
Dim CPM_CANT As String = records(RESULT.Columns.Get("CPM_CANT"))
|
|
Dim CPM_RANGO As String = records(RESULT.Columns.Get("CPM_RANGO"))
|
|
Dim CPM_DESC As String = records(RESULT.Columns.Get("CPM_DESC"))
|
|
Starter.skmt.ExecNonQuery2("INSERT INTO CAT_PROMO_MONTO(CPM_CLIENTE, CPM_IDPROMO, CPM_MONTO, CPM_PROID, CPM_CANT, CPM_RANGO, CPM_DESC) VALUES (?,?,?,?,?,?,?)", Array As Object (CPM_CLIENTE, CPM_IDPROMO, CPM_MONTO, CPM_PROID, CPM_CANT, CPM_RANGO, CPM_DESC))
|
|
Next
|
|
End If
|
|
|
|
If RESULT.Tag = "PEDIDOsugerido" Then 'query tag
|
|
For Each records() As Object In RESULT.Rows
|
|
Dim ID_PRODUCTO As String = records(RESULT.Columns.Get("ID_PRODUCTO"))
|
|
Dim CANTIDAD As String = records(RESULT.Columns.Get("PROMEDIO"))
|
|
' c = Starter.skmt.ExecQuery2("SELECT * FROM CAT_GUNAPROD WHERE CAT_GP_ID = ?",Array As String(ID_PRODUCTO))
|
|
' If c.RowCount > 0 Then
|
|
' c.Position = 0
|
|
' Subs.actualizaProducto(ALMACEN, c.GetString("CAT_GP_PRECIO"),CANTIDAD, c.GetString("CAT_GP_NOMBRE"), ID_PRODUCTO,"0",Subs.traeFecha,usuario,e_ruta.Text,c.GetString("CAT_GP_PRECIO"),"ABORDO")
|
|
' End If
|
|
Starter.skmt.ExecNonQuery2("INSERT INTO PEDIDO_SUGERIDO(ID_PRODUCTO, PROMEDIO,RUTA, ALMACEN) VALUES (?,?,?,?)", Array As Object (ID_PRODUCTO, CANTIDAD, e_ruta.Text, ALMACEN))
|
|
Next
|
|
End If
|
|
|
|
If RESULT.Tag = "cat_verificacion" Then 'query tag
|
|
For Each records() As Object In RESULT.Rows
|
|
Dim CAT_VE_IDPROD As String = records(RESULT.Columns.Get("CAT_VE_IDPROD"))
|
|
Dim CAT_VE_NOMBRE As String = records(RESULT.Columns.Get("CAT_VE_NOMBRE"))
|
|
Dim CAT_VE_ORDEN As String = records(RESULT.Columns.Get("CAT_VE_ORDEN"))
|
|
Starter.skmt.ExecNonQuery2("INSERT INTO CAT_VERIFICACION(CAT_VE_IDPROD, CAT_VE_NOMBRE,CAT_VE_ORDEN) VALUES (?,?,?)", Array As Object (CAT_VE_IDPROD, CAT_VE_NOMBRE,CAT_VE_ORDEN))
|
|
Next
|
|
End If
|
|
|
|
If RESULT.Tag = "DESCUENTOS_CLIENTE" Then 'query tag
|
|
If logger Then Log("TIEMPO DESCUENTOS_CIENTE : " & ((DateTime.Now-inicioContador)/1000))
|
|
Starter.skmt.BeginTransaction
|
|
For Each records() As Object In RESULT.Rows
|
|
Dim DC_CL_CLIENTE As String = records(RESULT.Columns.Get("CAT_CL_CLIENTE"))
|
|
Dim CAT_CL_DESCUENTO_SS As String = records(RESULT.Columns.Get("CAT_CL_DESCUENTO_SS"))
|
|
Dim CAT_CL_DESCUENTO_RTEC As String = records(RESULT.Columns.Get("CAT_CL_DESCUENTO_RTEC"))
|
|
Dim CAT_CL_DESCUENTO_PING As String = records(RESULT.Columns.Get("CAT_CL_DESCUENTO_PING"))
|
|
Dim CAT_CL_TIPOCLIENTE As String = records(RESULT.Columns.Get("CAT_CL_TIPOCLIENTE"))
|
|
Starter.skmt.ExecNonQuery2("INSERT INTO DESC_CLIENTES(DC_CL_CLIENTE , CAT_CL_DESCUENTO_SS , CAT_CL_DESCUENTO_RTEC , CAT_CL_DESCUENTO_PING, CAT_CL_TIPOCLIENTE ) VALUES (?,?,?,?,?)", Array As Object (DC_CL_CLIENTE , CAT_CL_DESCUENTO_SS , CAT_CL_DESCUENTO_RTEC , CAT_CL_DESCUENTO_PING,CAT_CL_TIPOCLIENTE))
|
|
Next
|
|
Starter.skmt.TransactionSuccessful
|
|
Starter.skmt.EndTransaction
|
|
End If
|
|
|
|
' DESCUENTOS SKU
|
|
If RESULT.Tag = "DESCUENTOS_CLIENTE_SKU" Then 'query tag
|
|
If logger Then Log("TIEMPO DESCUENTOS_CLIENTE_SKU : " & ((DateTime.Now-inicioContador)/1000))
|
|
Starter.skmt.BeginTransaction
|
|
For Each records() As Object In RESULT.Rows
|
|
Dim CAT_DS_CLIENTE As String = records(RESULT.Columns.Get("CAT_DS_CLIENTE"))
|
|
Dim CAT_DS_PRODID As String = records(RESULT.Columns.Get("CAT_DS_PRODID"))
|
|
Dim CAT_DS_PORCENTAJE As String = records(RESULT.Columns.Get("CAT_DS_PORCENTAJE"))
|
|
Starter.skmt.ExecNonQuery2("INSERT INTO CAT_DESCUENTOS_SKU (CAT_DS_CLIENTE, CAT_DS_PRODID, CAT_DS_PORCENTAJE ) VALUES (?,?,?)", Array As Object (CAT_DS_CLIENTE, CAT_DS_PRODID, CAT_DS_PORCENTAJE))
|
|
Next
|
|
Starter.skmt.TransactionSuccessful
|
|
Starter.skmt.EndTransaction
|
|
End If
|
|
|
|
If RESULT.Tag = "hist_abordo" Then 'query tag
|
|
If logger Then Log("TIEMPO hist_abordo : " & ((DateTime.Now-inicioContador)/1000))
|
|
Starter.skmt.BeginTransaction
|
|
For Each records() As Object In RESULT.Rows
|
|
Dim HVD_PROID As String = records(RESULT.Columns.Get("HVD_PROID"))
|
|
Dim HVD_CANT As String = records(RESULT.Columns.Get("HVD_CANT"))
|
|
Starter.skmt.ExecNonQuery2("INSERT INTO HIST_ABORDO(HIST_PROID, HIST_CANT) VALUES (?,?)", Array As Object (HVD_PROID, HVD_CANT))
|
|
Next
|
|
Starter.skmt.TransactionSuccessful
|
|
Starter.skmt.EndTransaction
|
|
End If
|
|
|
|
If RESULT.Tag = "gunaprod" Then 'query tag
|
|
' Subs.logJobDoneResultados(RESULT)
|
|
cargar.Enabled = True
|
|
If logger Then Log("TIEMPO gunaprod : " & ((DateTime.Now-inicioContador)/1000))
|
|
S_CP.Text = "CARGANDO"
|
|
Starter.skmt.BeginTransaction
|
|
For Each records() As Object In RESULT.Rows
|
|
Dim CAT_GP_ID As String = records(RESULT.Columns.Get("CAT_GP_ID"))
|
|
Dim CAT_GP_NOMBRE As String = records(RESULT.Columns.Get("CAT_GP_NOMBRE"))
|
|
Dim CAT_GP_IMP1 As String = records(RESULT.Columns.Get("CAT_GP_IMP1"))
|
|
Dim CAT_GP_IMP2 As String = records(RESULT.Columns.Get("CAT_GP_IMP2"))
|
|
Dim CAT_GP_PRECIO As String = records(RESULT.Columns.Get("CAT_GP_PRECIO"))
|
|
Dim CAT_GP_CLASIF As String = records(RESULT.Columns.Get("CAT_GP_CLASIF"))
|
|
Dim CAT_GP_STS As String = records(RESULT.Columns.Get("CAT_GP_STS"))
|
|
Dim CAT_GP_TIPO As String = records(RESULT.Columns.Get("CAT_GP_TIPO"))
|
|
Dim CAT_GP_SUBTIPO As String = records(RESULT.Columns.Get("CAT_GP_SUBTIPO"))
|
|
Dim CAT_GP_IMG() As Byte = records(RESULT.Columns.Get("CAT_GP_IMG"))
|
|
Dim CAT_GP_ALMACEN As Int = records(RESULT.Columns.Get("CAT_GP_ALMACEN"))
|
|
Dim CAT_GP_DEV As String = records(RESULT.Columns.Get("CAT_GP_DEV"))
|
|
Dim CAT_GP_TIPOPROD As Int = records(RESULT.Columns.Get("CAT_GP_TIPOPROD"))
|
|
Dim CAT_GP_INICIATIVA As Int = records(RESULT.Columns.Get("CAT_GP_INICIATIVA"))
|
|
Dim CAT_GP_TIPOPROD2 As String = records(RESULT.Columns.Get("CAT_GP_TIPOPROD2"))
|
|
Dim CAT_GP_PROMOCION As String = records(RESULT.Columns.Get("CAT_GP_PROMOCION"))
|
|
'CAT_GP_INICIATIVA = 5
|
|
' skmt.ExecNonQuery2("INSERT INTO CAT_GUNAPROD(CAT_GP_ID,CAT_GP_NOMBRE,CAT_GP_IMP1,CAT_GP_IMP2,CAT_GP_PRECIO,CAT_GP_CLASIF,CAT_GP_STS,CAT_GP_TIPO,CAT_GP_SUBTIPO,CAT_GP_IMG,CAT_GP_ALMACEN,CAT_GP_DEV) VALUES (?,?,?,?,?,?,?,?,?,?,?,?)", Array As Object (CAT_GP_ID,CAT_GP_NOMBRE,CAT_GP_IMP1,CAT_GP_IMP2,CAT_GP_PRECIO,CAT_GP_CLASIF,CAT_GP_STS,CAT_GP_TIPO,CAT_GP_SUBTIPO,CAT_GP_IMG, CAT_GP_ALMACEN,CAT_GP_DEV))
|
|
Starter.skmt.ExecNonQuery2("INSERT INTO CAT_GUNAPROD(CAT_GP_ID,CAT_GP_NOMBRE,CAT_GP_IMP1,CAT_GP_IMP2,CAT_GP_PRECIO,CAT_GP_CLASIF,CAT_GP_STS,CAT_GP_TIPO,CAT_GP_SUBTIPO,CAT_GP_IMG,CAT_GP_ALMACEN,CAT_GP_TIPOPROD,CAT_GP_INICIATIVA,CAT_GP_DEV,CAT_GP_CODPROMO,CAT_GP_TIPOPROD2,CAT_GP_PROMOCION) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,0,?,?)", Array As Object (CAT_GP_ID,CAT_GP_NOMBRE,CAT_GP_IMP1,CAT_GP_IMP2,CAT_GP_PRECIO,CAT_GP_CLASIF,CAT_GP_STS,CAT_GP_TIPO,CAT_GP_SUBTIPO,CAT_GP_IMG, CAT_GP_ALMACEN,CAT_GP_TIPOPROD, CAT_GP_INICIATIVA,CAT_GP_DEV, CAT_GP_TIPOPROD2,CAT_GP_PROMOCION))
|
|
Next
|
|
Starter.skmt.TransactionSuccessful
|
|
Starter.skmt.EndTransaction
|
|
' c=skmt.ExecQuery("select CAT_GP_CLASIF, COUNT(*) AS CUANTOS from CAT_GUNAPROD GROUP BY CAT_GP_CLASIF order by CAT_GP_CLASIF asc")
|
|
' c.Position=0
|
|
' skmt.ExecNonQuery("DELETE FROM COUNT_GUNAPROD")
|
|
' skmt.ExecNonQuery2("INSERT INTO COUNT_GUNAPROD(CAT_GP_CLASIF, CUANTOS) VALUES (?,?)", Array As Object (c.GetString("CAT_GP_CLASIF"), c.GetString("CUANTOS")))
|
|
' c.Close
|
|
Listo2=1
|
|
If PB2.Progress = 0 Then
|
|
PB2.Progress = 30
|
|
S_CP.Text = "CARGANDO"
|
|
ELSE If PB2.Progress = 30 Then
|
|
PB2.Progress = 60
|
|
ELSE IF PB2.Progress = 60 Then
|
|
PB2.Progress = 80
|
|
ELSE IF PB2.Progress = 80 Then
|
|
PB2.Progress = 100
|
|
S_CP.Text = "LISTO"
|
|
End If
|
|
' ToastMessageShow("Productos Actualizados." , True)
|
|
If Listo1 =1 And Listo2 =1 And Listo3 = 1 And Listo4 = 1 Then
|
|
B4XPage_Appear
|
|
img2.Visible=False
|
|
EJECUTANDO = 0
|
|
End If
|
|
End If
|
|
|
|
' CARGA DEL CATALOGO ABORDO
|
|
If RESULT.Tag = "gunaprod2" Then 'query tag
|
|
cargar.Enabled = True
|
|
If logger Then Log("TIEMPO gunaprod2 : " & ((DateTime.Now-inicioContador)/1000))
|
|
Starter.skmt.BeginTransaction
|
|
For Each records() As Object In RESULT.Rows
|
|
Dim CAT_GP_ID As String = records(RESULT.Columns.Get("CAT_GP_ID"))
|
|
Dim CAT_GP_NOMBRE As String = records(RESULT.Columns.Get("CAT_GP_NOMBRE"))
|
|
Dim CAT_GP_IMP1 As String = records(RESULT.Columns.Get("CAT_GP_IMP1"))
|
|
Dim CAT_GP_IMP2 As String = records(RESULT.Columns.Get("CAT_GP_IMP2"))
|
|
Dim CAT_GP_PRECIO As String = records(RESULT.Columns.Get("CAT_GP_PRECIO"))
|
|
Dim CAT_GP_CLASIF As String = records(RESULT.Columns.Get("CAT_GP_CLASIF"))
|
|
Dim CAT_GP_STS As String = records(RESULT.Columns.Get("CAT_GP_STS"))
|
|
Dim CAT_GP_TIPO As String = records(RESULT.Columns.Get("CAT_GP_TIPO"))
|
|
Dim CAT_GP_SUBTIPO As String = records(RESULT.Columns.Get("CAT_GP_SUBTIPO"))
|
|
Dim CAT_GP_IMG() As Byte = records(RESULT.Columns.Get("CAT_GP_IMG"))
|
|
Dim CAT_GP_ALMACEN As Int = records(RESULT.Columns.Get("CAT_GP_ALMACEN"))
|
|
Dim CAT_GP_DEV As String = records(RESULT.Columns.Get("CAT_GP_DEV"))
|
|
Dim CAT_GP_TIPOPROD As Int = records(RESULT.Columns.Get("CAT_GP_TIPOPROD"))
|
|
Dim CAT_GP_INICIATIVA As Int = records(RESULT.Columns.Get("CAT_GP_INICIATIVA"))
|
|
Dim CAT_GP_CODPROMO As String = records(RESULT.Columns.Get("CAT_GP_CODPROMO"))
|
|
'CAT_GP_INICIATIVA = 5
|
|
' skmt.ExecNonQuery2("INSERT INTO CAT_GUNAPROD(CAT_GP_ID,CAT_GP_NOMBRE,CAT_GP_IMP1,CAT_GP_IMP2,CAT_GP_PRECIO,CAT_GP_CLASIF,CAT_GP_STS,CAT_GP_TIPO,CAT_GP_SUBTIPO,CAT_GP_IMG,CAT_GP_ALMACEN,CAT_GP_DEV) VALUES (?,?,?,?,?,?,?,?,?,?,?,?)", Array As Object (CAT_GP_ID,CAT_GP_NOMBRE,CAT_GP_IMP1,CAT_GP_IMP2,CAT_GP_PRECIO,CAT_GP_CLASIF,CAT_GP_STS,CAT_GP_TIPO,CAT_GP_SUBTIPO,CAT_GP_IMG, CAT_GP_ALMACEN,CAT_GP_DEV))
|
|
Starter.skmt.ExecNonQuery2("INSERT INTO CAT_GUNAPROD2(CAT_GP_ID,CAT_GP_NOMBRE,CAT_GP_IMP1,CAT_GP_IMP2,CAT_GP_PRECIO,CAT_GP_CLASIF,CAT_GP_STS,CAT_GP_TIPO,CAT_GP_SUBTIPO,CAT_GP_IMG,CAT_GP_ALMACEN,CAT_GP_TIPOPROD,CAT_GP_INICIATIVA,CAT_GP_DEV,CAT_GP_CODPROMO,CAT_GP_TIPOPROD2) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)", Array As Object (CAT_GP_ID,CAT_GP_NOMBRE,CAT_GP_IMP1,CAT_GP_IMP2,CAT_GP_PRECIO,CAT_GP_CLASIF,CAT_GP_STS,CAT_GP_TIPO,CAT_GP_SUBTIPO,CAT_GP_IMG, CAT_GP_ALMACEN,CAT_GP_TIPOPROD, CAT_GP_INICIATIVA,CAT_GP_DEV,CAT_GP_CODPROMO,CAT_GP_TIPOPROD))
|
|
Starter.skmt.ExecNonQuery2("INSERT INTO CAT_GUNAPROD5(CAT_GP_ID,CAT_GP_ALMACEN) VALUES (?,?)", Array As Object (CAT_GP_ID,CAT_GP_ALMACEN))
|
|
Starter.skmt.ExecNonQuery2("INSERT INTO CAT_INVENTARIO(CI_IDPROD,CI_INVENTARIO) VALUES (?,?)", Array As Object (CAT_GP_ID,CAT_GP_ALMACEN))
|
|
Next
|
|
Starter.skmt.TransactionSuccessful
|
|
Starter.skmt.EndTransaction
|
|
c=Starter.skmt.ExecQUERY("SELECT COUNT(*) AS CUANTOS FROM PEDIDO WHERE PE_CLIENTE <> 0")
|
|
c.Position = 0
|
|
cuantos_pedidosc = c.GetString("CUANTOS")
|
|
c.Close
|
|
If cuantos_pedidosc > 0 Then
|
|
' c=Starter.skmt.ExecQUERY("SELECT PE_PROID, SUM(PE_CANT) AS PE_CANT FROM PEDIDO WHERE PE_CLIENTE <> 0 GROUP BY PE_PROID")
|
|
c = Starter.skmt.ExecQUERY("SELECT PE_PROID, SUM(PE_CANT) AS PE_CANT, PE_PRONOMBRE FROM PEDIDO WHERE PE_CLIENTE <> '0' AND PE_PRONOMBRE NOT LIKE '%CAMBIO%' GROUP BY PE_PROID, PE_PRONOMBRE")
|
|
If c.RowCount > 0 Then
|
|
For i = 0 To c.RowCount -1
|
|
c.Position=i
|
|
Starter.skmt.ExecNonQuery2("update CAT_GUNAPROD2 set CAT_GP_ALMACEN = CAT_GP_ALMACEN - ? where CAT_GP_ID = ? ", Array As Object(c.GetString("PE_CANT"),c.GetString("PE_PROID")))
|
|
Next
|
|
End If
|
|
End If
|
|
' skmt.ExecNonQuery("DELETE FROM CAT_GUNAPROD5")
|
|
' skmt.ExecNonQuery("INSERT INTO CAT_GUNAPROD5(CAT_GP_ID, CAT_GP_ALMACEN) SELECT CAT_GP_ID, CAT_GP_ALMACEN FROM CAT_GUNAPROD2")
|
|
|
|
'
|
|
' c=skmt.ExecQuery("select CAT_GP_CLASIF, COUNT(*) AS CUANTOS from CAT_GUNAPROD2 GROUP BY CAT_GP_CLASIF order by CAT_GP_CLASIF asc")
|
|
' c.Position=0
|
|
' skmt.ExecNonQuery("DELETE FROM COUNT_GUNAPROD2")
|
|
' skmt.ExecNonQuery2("INSERT INTO COUNT_GUNAPROD2(CAT_GP_CLASIF, CUANTOS) VALUES (?,?)", Array As Object (c.GetString("CAT_GP_CLASIF"), c.GetString("CUANTOS")))
|
|
' c.Close
|
|
End If
|
|
|
|
If RESULT.Tag = "gunaprodp" Then 'query tag
|
|
If logger Then Log("TIEMPO gunaprodp : " & ((DateTime.Now-inicioContador)/1000))
|
|
Starter.skmt.BeginTransaction
|
|
For Each records() As Object In RESULT.Rows
|
|
Dim CAT_GP_ID As String = records(RESULT.Columns.Get("CAT_GP_ID"))
|
|
Dim CAT_GP_NOMBRE As String = records(RESULT.Columns.Get("CAT_GP_NOMBRE"))
|
|
Dim CAT_GP_IMP1 As String = records(RESULT.Columns.Get("CAT_GP_IMP1"))
|
|
Dim CAT_GP_IMP2 As String = records(RESULT.Columns.Get("CAT_GP_IMP2"))
|
|
Dim CAT_GP_PRECIO As String = records(RESULT.Columns.Get("CAT_GP_PRECIO"))
|
|
Dim CAT_GP_CLASIF As String = records(RESULT.Columns.Get("CAT_GP_CLASIF"))
|
|
Dim CAT_GP_STS As String = records(RESULT.Columns.Get("CAT_GP_STS"))
|
|
Dim CAT_GP_TIPO As String = records(RESULT.Columns.Get("CAT_GP_TIPO"))
|
|
Dim CAT_GP_SUBTIPO As String = records(RESULT.Columns.Get("CAT_GP_SUBTIPO"))
|
|
Dim CAT_GP_IMG() As Byte = records(RESULT.Columns.Get("CAT_GP_IMG"))
|
|
Dim CAT_GP_ALMACEN As Int = records(RESULT.Columns.Get("CAT_GP_ALMACEN"))
|
|
Dim CAT_GP_TIPOPROD As Int = records(RESULT.Columns.Get("CAT_GP_TIPOPROD"))
|
|
' Dim CAT_GP_DEV As String = records(RESULT.Columns.Get("CAT_GP_DEV"))
|
|
Starter.skmt.ExecNonQuery2("INSERT INTO CAT_GUNAPROD2(CAT_GP_ID,CAT_GP_NOMBRE,CAT_GP_IMP1,CAT_GP_IMP2,CAT_GP_PRECIO,CAT_GP_CLASIF,CAT_GP_STS,CAT_GP_TIPO,CAT_GP_SUBTIPO,CAT_GP_IMG,CAT_GP_ALMACEN,CAT_GP_TIPOPROD,CAT_GP_DEV,CAT_GP_CODPROMO) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,0)", Array As Object (CAT_GP_ID,CAT_GP_NOMBRE,CAT_GP_IMP1,CAT_GP_IMP2,CAT_GP_PRECIO,CAT_GP_CLASIF,CAT_GP_STS,CAT_GP_TIPO,CAT_GP_SUBTIPO,CAT_GP_IMG, CAT_GP_ALMACEN,CAT_GP_TIPOPROD,"0"))
|
|
' Starter.skmt.ExecNonQuery2("INSERT INTO CAT_GUNAPROD5(CAT_GP_ID,CAT_GP_ALMACEN) VALUES (?,?)", Array As Object (CAT_GP_ID,CAT_GP_ALMACEN))
|
|
' skmt.ExecNonQuery2("INSERT INTO CAT_GUNAPROD2(CAT_GP_ID,CAT_GP_NOMBRE,CAT_GP_IMP1,CAT_GP_IMP2,CAT_GP_PRECIO,CAT_GP_CLASIF,CAT_GP_STS,CAT_GP_TIPO,CAT_GP_SUBTIPO,CAT_GP_IMG,CAT_GP_ALMACEN,CAT_GP_TIPOPROD,CAT_GP_DEV,CAT_GP_CODPROMO) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,0)", Array As Object (CAT_GP_ID,CAT_GP_NOMBRE,CAT_GP_IMP1,CAT_GP_IMP2,CAT_GP_PRECIO,CAT_GP_CLASIF,CAT_GP_STS,CAT_GP_TIPO,CAT_GP_SUBTIPO,CAT_GP_IMG, CAT_GP_ALMACEN,CAT_GP_TIPOPROD,"0"))
|
|
Next
|
|
Starter.skmt.TransactionSuccessful
|
|
Starter.skmt.EndTransaction
|
|
If PB2.Progress = 0 Then
|
|
PB2.Progress = 30
|
|
S_CP.Text = "CARGANDO"
|
|
ELSE If PB2.Progress = 30 Then
|
|
PB2.Progress = 60
|
|
ELSE IF PB2.Progress = 60 Then
|
|
PB2.Progress = 80
|
|
ELSE IF PB2.Progress = 80 Then
|
|
PB2.Progress = 100
|
|
S_CP.Text = "LISTO"
|
|
End If
|
|
' ToastMessageShow("Promociones Actualizados." , True)
|
|
Listo4=1
|
|
If Listo1 =1 And Listo2 =1 And Listo3 = 1 And Listo4 = 1 Then
|
|
B4XPage_Appear
|
|
img2.Visible=False
|
|
EJECUTANDO = 0
|
|
Else If Listo4 = 1 And Listo3 = 1 And inve = 1 Then
|
|
B4XPage_Appear
|
|
img2.Visible=False
|
|
EJECUTANDO = 0
|
|
End If
|
|
End If
|
|
|
|
If RESULT.Tag = "gunaprodps" Then 'query tag
|
|
Starter.skmt.BeginTransaction
|
|
For Each records() As Object In RESULT.Rows
|
|
Dim CAT_GP_ID As String = records(RESULT.Columns.Get("CAT_GP_ID"))
|
|
Dim CAT_GP_NOMBRE As String = records(RESULT.Columns.Get("CAT_GP_NOMBRE"))
|
|
Dim CAT_GP_IMP1 As String = records(RESULT.Columns.Get("CAT_GP_IMP1"))
|
|
Dim CAT_GP_IMP2 As String = records(RESULT.Columns.Get("CAT_GP_IMP2"))
|
|
Dim CAT_GP_PRECIO As String = records(RESULT.Columns.Get("CAT_GP_PRECIO"))
|
|
Dim CAT_GP_CLASIF As String = records(RESULT.Columns.Get("CAT_GP_CLASIF"))
|
|
Dim CAT_GP_STS As String = records(RESULT.Columns.Get("CAT_GP_STS"))
|
|
Dim CAT_GP_TIPO As String = records(RESULT.Columns.Get("CAT_GP_TIPO"))
|
|
Dim CAT_GP_SUBTIPO As String = records(RESULT.Columns.Get("CAT_GP_SUBTIPO"))
|
|
Dim CAT_GP_IMG() As Byte = records(RESULT.Columns.Get("CAT_GP_IMG"))
|
|
Dim CAT_GP_ALMACEN As Int = records(RESULT.Columns.Get("CAT_GP_ALMACEN"))
|
|
Dim CAT_GP_TIPOPROD As Int = records(RESULT.Columns.Get("CAT_GP_TIPOPROD"))
|
|
Starter.skmt.ExecNonQuery2("INSERT INTO CAT_GUNAPROD2(CAT_GP_ID,CAT_GP_NOMBRE,CAT_GP_IMP1,CAT_GP_IMP2,CAT_GP_PRECIO,CAT_GP_CLASIF,CAT_GP_STS,CAT_GP_TIPO,CAT_GP_SUBTIPO,CAT_GP_IMG,CAT_GP_ALMACEN,CAT_GP_TIPOPROD) VALUES (?,?,?,?,?,?,?,?,?,?,?,?)", Array As Object (CAT_GP_ID,CAT_GP_NOMBRE,CAT_GP_IMP1,CAT_GP_IMP2,CAT_GP_PRECIO,CAT_GP_CLASIF,CAT_GP_STS,CAT_GP_TIPO,CAT_GP_SUBTIPO,CAT_GP_IMG, CAT_GP_ALMACEN,CAT_GP_TIPOPROD))
|
|
' Starter.skmt.ExecNonQuery2("INSERT INTO CAT_GUNAPROD5(CAT_GP_ID,CAT_GP_ALMACEN) VALUES (?,?)", Array As Object (CAT_GP_ID,CAT_GP_ALMACEN))
|
|
' skmt.ExecNonQuery2("INSERT INTO CAT_GUNAPROD2(CAT_GP_ID,CAT_GP_NOMBRE,CAT_GP_IMP1,CAT_GP_IMP2,CAT_GP_PRECIO,CAT_GP_CLASIF,CAT_GP_STS,CAT_GP_TIPO,CAT_GP_SUBTIPO,CAT_GP_IMG,CAT_GP_ALMACEN,CAT_GP_TIPOPROD) VALUES (?,?,?,?,?,?,?,?,?,?,?,?)", Array As Object (CAT_GP_ID,CAT_GP_NOMBRE,CAT_GP_IMP1,CAT_GP_IMP2,CAT_GP_PRECIO,CAT_GP_CLASIF,CAT_GP_STS,CAT_GP_TIPO,CAT_GP_SUBTIPO,CAT_GP_IMG, CAT_GP_ALMACEN,CAT_GP_TIPOPROD))
|
|
Next
|
|
Starter.skmt.TransactionSuccessful
|
|
Starter.skmt.EndTransaction
|
|
If PB2.Progress = 0 Then
|
|
PB2.Progress = 30
|
|
S_CP.Text = "CARGANDO"
|
|
ELSE If PB2.Progress = 30 Then
|
|
PB2.Progress = 60
|
|
ELSE IF PB2.Progress = 60 Then
|
|
PB2.Progress = 80
|
|
ELSE IF PB2.Progress = 80 Then
|
|
PB2.Progress = 100
|
|
S_CP.Text = "LISTO"
|
|
End If
|
|
'ToastMessageShow("Promociones especiales Actualizados." , True)
|
|
Listo4=1
|
|
If Listo1 =1 And Listo2 =1 And Listo3 = 1 And Listo4 = 1 Then
|
|
B4XPage_Appear
|
|
img2.Visible=False
|
|
EJECUTANDO = 0
|
|
Else If Listo4 = 1 And Listo3 = 1 And inve = 1 Then
|
|
B4XPage_Appear
|
|
img2.Visible=False
|
|
EJECUTANDO = 0
|
|
End If
|
|
End If
|
|
|
|
If RESULT.Tag = "detallepaq" Then 'query tag
|
|
If logger Then Log("TIEMPO detallepaq : " & ((DateTime.Now-inicioContador)/1000))
|
|
Starter.skmt.BeginTransaction
|
|
For Each records() As Object In RESULT.Rows
|
|
Dim CAT_DP_ALMACEN As String = records(RESULT.Columns.Get("CAT_DP_ALMACEN"))
|
|
Dim CAT_DP_ID As String = records(RESULT.Columns.Get("CAT_DP_ID"))
|
|
Dim CAT_DP_IDPROD As String = records(RESULT.Columns.Get("CAT_DP_IDPROD"))
|
|
Dim CAT_DP_TIPO As String = records(RESULT.Columns.Get("CAT_DP_TIPO"))
|
|
Dim CAT_DP_PZAS As String = records(RESULT.Columns.Get("CAT_DP_PZAS"))
|
|
Dim CAT_DP_USUARIO As String = records(RESULT.Columns.Get("CAT_DP_USUARIO"))
|
|
Dim CAT_DP_FECHA As String = records(RESULT.Columns.Get("CAT_DP_FECHA"))
|
|
Dim CAT_DP_REGALO As String = records(RESULT.Columns.Get("CAT_DP_REGALO"))
|
|
Dim CAT_DP_CLASIF As String = records(RESULT.Columns.Get("CAT_DP_CLASIF"))
|
|
Dim CAT_DP_PRECIO As String = records(RESULT.Columns.Get("CAT_DP_PRECIO"))
|
|
Dim CAT_DP_PRECIO_SIMPTOS As String = records(RESULT.Columns.Get("CAT_DP_PRECIO_SIMPTOS"))
|
|
Dim CAT_DP_PRECIOB As String = records(RESULT.Columns.Get("CAT_DP_PRECIOB"))
|
|
Starter.skmt.ExecNonQuery2("INSERT INTO CAT_DETALLES_PAQ(CAT_DP_ALMACEN,CAT_DP_ID,CAT_DP_IDPROD,CAT_DP_TIPO,CAT_DP_PZAS,CAT_DP_USUARIO,CAT_DP_FECHA,CAT_DP_REGALO,CAT_DP_CLASIF,CAT_DP_PRECIO,CAT_DP_PRECIO_SIMPTOS,CAT_DP_PRECIOB) VALUES (?,?,?,?,?,?,?,?,?,?,?,?)", Array As Object (CAT_DP_ALMACEN,CAT_DP_ID,CAT_DP_IDPROD,CAT_DP_TIPO,CAT_DP_PZAS,CAT_DP_USUARIO,CAT_DP_FECHA,CAT_DP_REGALO,CAT_DP_CLASIF,CAT_DP_PRECIO,CAT_DP_PRECIO_SIMPTOS,CAT_DP_PRECIOB))
|
|
Next
|
|
Starter.skmt.TransactionSuccessful
|
|
Starter.skmt.EndTransaction
|
|
If PB2.Progress = 0 Then
|
|
PB2.Progress = 30
|
|
S_CP.Text = "CARGANDO"
|
|
ELSE If PB2.Progress = 30 Then
|
|
PB2.Progress = 60
|
|
ELSE IF PB2.Progress = 60 Then
|
|
PB2.Progress = 80
|
|
ELSE IF PB2.Progress = 80 Then
|
|
PB2.Progress = 100
|
|
S_CP.Text = "LISTO"
|
|
End If
|
|
Listo3 = 1
|
|
If Listo1 =1 And Listo2 =1 And Listo3 = 1 And Listo4 = 1 Then
|
|
B4XPage_Appear
|
|
img2.Visible=False
|
|
EJECUTANDO = 0
|
|
Else If Listo4 = 1 And Listo3 = 1 And inve = 1 Then
|
|
B4XPage_Appear
|
|
img2.Visible=False
|
|
EJECUTANDO = 0
|
|
End If
|
|
End If
|
|
|
|
If RESULT.Tag = "hist_datos" Then 'query tag
|
|
If logger Then Log("TIEMPO hist_datos : " & ((DateTime.Now-inicioContador)/1000))
|
|
Starter.skmt.BeginTransaction
|
|
For Each records() As Object In RESULT.Rows
|
|
Dim HVD_CLIENTE As String = records(RESULT.Columns.Get("HVD_CLIENTE"))
|
|
Dim HVD_PRONOMBRE As String = records(RESULT.Columns.Get("HVD_PRONOMBRE"))
|
|
Dim HVD_CANT As String = records(RESULT.Columns.Get("HVD_CANT"))
|
|
Dim HVD_COSTO_TOT As String = records(RESULT.Columns.Get("HVD_COSTO_TOT"))
|
|
Dim HVD_FECHA As String = records(RESULT.Columns.Get("HVD_FECHA"))
|
|
Starter.skmt.ExecNonQuery2("INSERT INTO HIST_VENTAS(HVD_CLIENTE,HVD_PRONOMBRE,HVD_CANT,HVD_COSTO_TOT, HVD_FECHA) VALUES (?,?,?,?,?)", Array As Object (HVD_CLIENTE,HVD_PRONOMBRE,HVD_CANT,HVD_COSTO_TOT,HVD_FECHA))
|
|
Next
|
|
Starter.skmt.TransactionSuccessful
|
|
Starter.skmt.EndTransaction
|
|
Listo3 = 1
|
|
If PB1.Progress = 0 Then
|
|
PB1.Progress = 30
|
|
S_CH.Text = "CARGANDO"
|
|
ELSE If PB1.Progress = 30 Then
|
|
PB1.Progress = 70
|
|
ELSE IF PB1.Progress = 70 Then
|
|
PB1.Progress = 100
|
|
S_CH.Text = "LISTO"
|
|
End If
|
|
' ToastMessageShow("Venta historico Actualizado." , True)
|
|
If Listo1 = 1 And Listo2 = 1 And Listo3 = 1 And Listo4 = 1 Then
|
|
B4XPage_Appear
|
|
img2.Visible=False
|
|
EJECUTANDO = 0
|
|
End If
|
|
End If
|
|
|
|
If RESULT.Tag = "hist_rmi" Then 'query tag
|
|
If logger Then Log("TIEMPO hist_rmi : " & ((DateTime.Now-inicioContador)/1000))
|
|
For Each records() As Object In RESULT.Rows
|
|
Dim HVD_CLIENTE As String = records(RESULT.Columns.Get("HVD_CLIENTE"))
|
|
Dim HVD_PRONOMBRE As String = records(RESULT.Columns.Get("HVD_PRONOMBRE"))
|
|
Dim HVD_CANT As String = records(RESULT.Columns.Get("HVD_CANT"))
|
|
Dim HVD_PROID As String = records(RESULT.Columns.Get("HVD_PROID"))
|
|
Starter.skmt.ExecNonQuery2("INSERT INTO HIST_RMI(HR_CLIENTE,HR_PRONOMBRE,HR_PROID, HR_CANT) VALUES (?,?,?,?)", Array As Object (HVD_CLIENTE,HVD_PRONOMBRE,HVD_PROID, HVD_CANT))
|
|
Next
|
|
Listo3 =1
|
|
If PB1.Progress = 0 Then
|
|
PB1.Progress = 30
|
|
S_CH.Text = "CARGANDO"
|
|
ELSE If PB1.Progress = 30 Then
|
|
PB1.Progress = 50
|
|
ELSE IF PB1.Progress = 50 Then
|
|
PB1.Progress = 80
|
|
ELSE If PB1.Progress = 80 Then
|
|
PB1.Progress = 100
|
|
S_CH.Text = "LISTO"
|
|
End If
|
|
' ToastMessageShow("Venta historico Actualizado." , True)
|
|
If Listo1 = 1 And Listo2 =1 And Listo3 = 1 And Listo4 = 1 Then
|
|
B4XPage_Appear
|
|
img2.Visible=False
|
|
EJECUTANDO = 0
|
|
End If
|
|
End If
|
|
|
|
If RESULT.Tag = "variables" Then 'query tag
|
|
For Each records() As Object In RESULT.Rows
|
|
Dim Cat_Va_Descripcion As String = records(RESULT.Columns.Get("CAT_VA_DESCRIPCION"))
|
|
Dim Cat_Va_Valor As String = records(RESULT.Columns.Get("CAT_VA_VALOR"))
|
|
Starter.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object (Cat_Va_Descripcion, Cat_Va_Valor))
|
|
Next
|
|
End If
|
|
|
|
If RESULT.Tag = "limite_abordo" Then 'query tag
|
|
If logger Then Log("TIEMPO limite_abordo : " & ((DateTime.Now-inicioContador)/1000))
|
|
For Each records() As Object In RESULT.Rows
|
|
Dim Cat_Va_Valor As String = records(RESULT.Columns.Get("CAT_LA_LIMITE_ABORDO"))
|
|
Dim CAT_LA_ESTATUS_AUTORIZA As String = records(RESULT.Columns.Get("CAT_LA_ESTATUS_AUTORIZA"))
|
|
Starter.skmt.ExecNonQuery2("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = ?", Array As Object ("LIMITE"))
|
|
If CAT_LA_ESTATUS_AUTORIZA = 1 Then
|
|
Starter.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("LIMITE", "100000"))
|
|
Else
|
|
Starter.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("LIMITE", Cat_Va_Valor))
|
|
End If
|
|
Next
|
|
End If
|
|
|
|
If RESULT.Tag = "carga_encuesta" Then 'query tag
|
|
If logger Then Log("TIEMPO carga_encuesta : " & ((DateTime.Now-inicioContador)/1000))
|
|
For Each records() As Object In RESULT.Rows
|
|
Dim CAT_EP_ID As String = records(RESULT.COLUMNS.GET("CAT_EP_ID"))
|
|
Dim CAT_EP_IDTIPOPREGUNTA As String = records(RESULT.COLUMNS.GET("CAT_EP_IDTIPOPREGUNTA"))
|
|
Dim CAT_CE_DESCRIPCION As String = records(RESULT.COLUMNS.GET("CAT_CE_DESCRIPCION"))
|
|
Dim CAT_EP_PREGUNTA As String = records(RESULT.COLUMNS.GET("CAT_EP_PREGUNTA"))
|
|
Dim CAT_EP_RES1_PRED As String = records(RESULT.COLUMNS.GET("CAT_EP_RES1_PRED"))
|
|
Dim CAT_EP_RES2_PRED As String = records(RESULT.COLUMNS.GET("CAT_EP_RES2_PRED"))
|
|
Dim CAT_EP_RES3_PRED As String = records(RESULT.COLUMNS.GET("CAT_EP_RES3_PRED"))
|
|
Dim CAT_EP_ORDEN_PREGUNTA As String = records(RESULT.COLUMNS.GET("CAT_EP_ORDEN_PREGUNTA"))
|
|
Starter.skmt.ExecNonQuery2("INSERT INTO CAT_ENCUESTA_PREGUNTA (CAT_EP_ID ,CAT_EP_IDTIPOPREGUNTA ,CAT_CE_DESCRIPCION ,CAT_EP_PREGUNTA ,CAT_EP_RES1_PRED ,CAT_EP_RES2_PRED ,CAT_EP_RES3_PRED ,CAT_EP_ORDEN_PREGUNTA ) VALUES (?,?,?,?,?,?,?,?)", Array As Object (CAT_EP_ID ,CAT_EP_IDTIPOPREGUNTA ,CAT_CE_DESCRIPCION ,CAT_EP_PREGUNTA ,CAT_EP_RES1_PRED ,CAT_EP_RES2_PRED ,CAT_EP_RES3_PRED ,CAT_EP_ORDEN_PREGUNTA))
|
|
Next
|
|
End If
|
|
|
|
If RESULT.Tag = "carga_encuesta_cliente" Then 'query tag
|
|
If logger Then Log("TIEMPO carga_encuesta_cliente : " & ((DateTime.Now-inicioContador)/1000))
|
|
For Each records() As Object In RESULT.Rows
|
|
Dim HIST_ECD_IDGRUPO As String = records(RESULT.COLUMNS.GET("HIST_ECD_IDGRUPO"))
|
|
Dim HIST_ECD_CLIENTE As String = records(RESULT.COLUMNS.GET("HIST_ECD_CLIENTE"))
|
|
Starter.skmt.ExecNonQuery2("INSERT INTO CAT_ENCUESTA_CLIENTE(HIST_ECD_IDGRUPO ,HIST_ECD_CLIENTE) VALUES (?,?)", Array As Object (HIST_ECD_IDGRUPO ,HIST_ECD_CLIENTE))
|
|
Next
|
|
End If
|
|
|
|
If RESULT.Tag = "valida_pedido" Then 'query tag
|
|
If logger Then Log("TIEMPO valida_pedido : " & ((DateTime.Now-inicioContador)/1000))
|
|
For Each records() As Object In RESULT.Rows
|
|
Dim CUANTOSP As Int = records(RESULT.Columns.Get("CUANTOSP"))
|
|
If cuantos_pedido < = CUANTOSP Then
|
|
datos_iguales = "ok"
|
|
S_CP.Text = "INFO OK"
|
|
Else
|
|
If Starter.marcaCel <> "LGE" Then ToastMessageShow("No se cargo bien la info P. Sync Nuevamente" & CUANTOSP & " " & cuantos_pedido, True)
|
|
S_CP.Text = "ENVIAR DATOS (K-2)"
|
|
End If
|
|
Next
|
|
End If
|
|
|
|
If RESULT.Tag = "valida_pedido1" Then 'query tag
|
|
For Each records() As Object In RESULT.Rows
|
|
Dim CUANTOSP As Int = records(RESULT.Columns.Get("CUANTOSP"))
|
|
If cuantos_pedido = CUANTOSP Then
|
|
Msgbox("ENVIO EXITOSO","AVISO") 'ignore
|
|
cargar.Visible = True
|
|
Subir.Visible = True
|
|
trabajar.Visible = True
|
|
Else
|
|
Msgbox("NO ESTA COMPLETA LA INFO", "AVISO") 'ignore
|
|
connecta.Visible = True
|
|
Resumen.Visible = True
|
|
BUSCA.Visible = True
|
|
NUEVO.Visible = True
|
|
trabajar.Visible = True
|
|
B_PROXIMA.Visible = True
|
|
End If
|
|
Next
|
|
End If
|
|
|
|
If RESULT.Tag = "valida_pedidoc" Then 'query tag
|
|
For Each records() As Object In RESULT.Rows
|
|
Dim CUANTOSC As Int = records(RESULT.Columns.Get("CUANTOSC"))
|
|
If cuantos_pedidosc = CUANTOSC Then
|
|
datos_iguales = "ok"
|
|
S_CP.Text = "INFO OK"
|
|
Else
|
|
If Starter.marcaCel <> "LGE" Then ToastMessageShow("No se cargo bien la info C. Sync Nuevamente" & CUANTOSC & " " & cuantos_pedidosc, True)
|
|
End If
|
|
Next
|
|
End If
|
|
|
|
If RESULT.Tag = "valida_noventa" Then 'query tag
|
|
For Each records() As Object In RESULT.Rows
|
|
Dim CUANTOSN As Int = records(RESULT.Columns.Get("CUANTOSN"))
|
|
If cuantos_noventa = CUANTOSN Then
|
|
datos_iguales = "ok"
|
|
S_CP.Text = "INFO OK"
|
|
Else
|
|
If Starter.marcaCel <> "LGE" Then ToastMessageShow("No se cargo bien la info N. Sync Nuevamente" & CUANTOSN & " " & cuantos_noventa, True)
|
|
End If
|
|
Next
|
|
End If
|
|
|
|
If RESULT.Tag.As(String).StartsWith("ins_pedido_") Then 'query tag
|
|
|
|
' If L_P_2.Text = "Envio de Pedidos" Then
|
|
' L_P_2.Text = "Envio de Pedidos --"
|
|
' Log(1)
|
|
' else if L_P_2.Text = "Envio de Pedidos --" Then
|
|
' Log(2)
|
|
' L_P_2.Text = "Envio de Pedidos \"
|
|
' else if L_P_2.Text = "Envio de Pedidos \" Then
|
|
' Log(3)
|
|
' L_P_2.Text = "Envio de Pedidos |"
|
|
' else if L_P_2.Text = "Envio de Pedidos |" Then
|
|
' Log(4)
|
|
' L_P_2.Text = "Envio de Pedidos /"
|
|
' else if L_P_2.Text = "Envio de Pedidos /" Then
|
|
' Log(5)
|
|
' L_P_2.Text = "Envio de Pedidos --"
|
|
' End If
|
|
|
|
For Each records() As Object In RESULT.Rows
|
|
Private temp() As String = Regex.Split("_", RESULT.Tag)
|
|
' Log(temp(2))
|
|
If temp.Length > 1 Then
|
|
Starter.skmt.ExecNonQuery($"update pedido set pe_enviado = 1 where pe_cliente = '${temp(2)}'"$)
|
|
Log($"update pedido set pe_enviado = 1 where pe_cliente = '${temp(2)}'"$)
|
|
End If
|
|
PB2.Progress = PB2.Progress + 5
|
|
S_CP.Text = "SUBIENDO"
|
|
Next
|
|
' PB2.Progress = 100
|
|
S_CP.Text = "VALIDANDO"
|
|
End If
|
|
|
|
If RESULT.Tag.As(String).StartsWith("ins_pedidos_") Then 'query tag
|
|
For Each records() As Object In RESULT.Rows
|
|
Private temp() As String = Regex.Split("_", RESULT.Tag)
|
|
' Log(temp(2))
|
|
If temp.Length > 1 Then
|
|
Starter.skmt.ExecNonQuery($"update pedido_cliente set pc_enviado = 1 where pc_cliente = '${temp(2)}'"$)
|
|
Log($"update pedido_cliente set pc_enviado = 1 where pc_cliente = '${temp(2)}'"$)
|
|
End If
|
|
Next
|
|
PB2.Progress = 100
|
|
S_CP.Text = "VALIDANDO"
|
|
End If
|
|
|
|
If RESULT.Tag.As(String).StartsWith("pedido_completo_") Then 'query tag
|
|
For Each records() As Object In RESULT.Rows
|
|
Private temp() As String = Regex.Split("_", RESULT.Tag)
|
|
' Log(temp(2))
|
|
If temp.Length > 1 Then
|
|
Starter.skmt.ExecNonQuery($"update pedido_cliente set pc_enviado = 1 where pc_cliente = '${temp(2)}'"$)
|
|
Log($"update pedido_cliente set pc_enviado = 1 where pc_cliente = '${temp(2)}'"$)
|
|
Starter.skmt.ExecNonQuery($"update pedido set pe_enviado = 1 where pe_cliente = '${temp(2)}'"$)
|
|
Log($"update pedido set pe_enviado = 1 where pe_cliente = '${temp(2)}'"$)
|
|
End If
|
|
Next
|
|
End If
|
|
|
|
If RESULT.Tag = "version" Then 'query tag
|
|
connecta.TextColor = Colors.White
|
|
' Subs.logJobDoneResultados(RESULT)
|
|
Subs.logJobDoneResultados(RESULT)
|
|
For Each records() As Object In RESULT.Rows
|
|
Starter.skmt.ExecNonQuery("delete from VERSION")
|
|
Dim CAT_RU_VERSION_REQUERIDA As String = records(RESULT.Columns.Get("CAT_RU_VERSION_REQUERIDA"))
|
|
Log(">>>>>>> Version requerida: " & CAT_RU_VERSION_REQUERIDA & " - Actual: " & Application.VersionName & " --> " & Subs.comparaVersiones(CAT_RU_VERSION_REQUERIDA, Application.VersionName))
|
|
Starter.skmt.ExecNonQuery("delete from VERSION")
|
|
Starter.skmt.ExecNonQuery2("INSERT INTO VERSION(NOVERSION) VALUES (?)", Array As Object (CAT_RU_VERSION_REQUERIDA))
|
|
Next
|
|
If CAT_RU_VERSION_REQUERIDA = 0 Or Subs.comparaVersiones(CAT_RU_VERSION_REQUERIDA, Application.VersionName) = 0 Then
|
|
connecta3
|
|
trabajar.Enabled = True
|
|
Resumen.Enabled = True
|
|
BUSCA.Enabled = True
|
|
Btn_CheckList.Enabled = True
|
|
Else
|
|
Msgbox2("Es necesario actualizar la versión de la aplicación.", "VERSION INCORRECTA","Aceptar", "", "",Null) 'ignore
|
|
trabajar.Enabled = False
|
|
Resumen.Enabled = False
|
|
BUSCA.Enabled = False
|
|
Btn_CheckList.Enabled = False
|
|
' ExitApplication
|
|
' LogColor("deshabilitamos", Colors.magenta)
|
|
End If
|
|
End If
|
|
|
|
If RESULT.Tag = "count_cli" Then 'query tag
|
|
For Each records() As Object In RESULT.Rows
|
|
COUNT_CLIE = records(RESULT.Columns.Get("COUNT_CLIE"))
|
|
Next
|
|
End If
|
|
|
|
If RESULT.Tag = "ruta" Then 'query tag
|
|
Log(654)
|
|
Subs.logJobDoneResultados(RESULT)
|
|
e_ruta.Enabled = True
|
|
Log(RESULT)
|
|
Log(RESULT.Columns.Get("VALIDO"))
|
|
' Log(RESULT.Rows.Size)
|
|
If RESULT.Columns.Get("VALIDO") = "0" Then ToastMessageShow("Ruta incorrecta", True)
|
|
If RESULT.Rows.Size = 0 Then ToastMessageShow("No hay ruta para ese usuario", True)
|
|
For Each records() As Object In RESULT.Rows
|
|
Dim VALIDO As String = records(RESULT.Columns.Get("VALIDO"))
|
|
' If Starter.Logger Then Log("|"&VALIDO&"|")
|
|
' If Logger Then Log(records(RESULT.Columns.Get("CAT_RU_CATEGORIA")))
|
|
Starter.rutaTipo = records(RESULT.Columns.Get("CAT_RU_CATEGORIA")) 'Traemos el tipo de ruta para que cuando sean foraneas no carguen la carta porte todos los dias.
|
|
If Starter.Logger Then Log($"========= TIPO RUTA = ${Starter.rutaTipo}"$)
|
|
If VALIDO = "OK" Then
|
|
cargar.Visible = True
|
|
Subir.Visible = True
|
|
inv.Visible = True
|
|
connecta.Visible = False
|
|
Starter.rutapreventa = e_ruta.text
|
|
If conn = "1" Then
|
|
ToastMessageShow("Existe Conexión con el Servidor." , True)
|
|
End If
|
|
Else
|
|
cargar.Visible = False
|
|
Subir.Visible = False
|
|
inv.Visible = False
|
|
connecta.Visible = False
|
|
End If
|
|
Next
|
|
End If
|
|
|
|
If RESULT.Tag = "usuario" Then 'query tag
|
|
For Each records() As Object In RESULT.Rows
|
|
Dim name2 As String = records(RESULT.Columns.Get("VALIDO"))
|
|
Next
|
|
If name2 = "OK" Then
|
|
PASO = 1
|
|
End If
|
|
P1.Visible = False
|
|
End If
|
|
|
|
If RESULT.Tag = "fecha" Then 'query tag
|
|
For Each records() As Object In RESULT.Rows
|
|
Starter.FECHA_HOY = records(RESULT.Columns.Get("FECHA"))
|
|
Starter.skmt.ExecNonQuery2("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = ?", Array As Object ("FECHA"))
|
|
Starter.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("FECHA",Starter.FECHA_HOY))
|
|
Next
|
|
End If
|
|
|
|
If RESULT.Tag = "hora" Then 'query tag
|
|
For Each records() As Object In RESULT.Rows
|
|
Starter.HORA = records(RESULT.Columns.Get("HORA"))
|
|
' Starter.skmt.ExecNonQuery2("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = ?", Array As Object ("HORA"))
|
|
' Starter.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("HORA", Starter.HORA))
|
|
Next
|
|
If Not(Subs.revisaHora) Then
|
|
LogColor("***************** HORA INCORRECTA",Colors.red)
|
|
MsgboxAsync("La hora del equipo NO coincide con la hora del servidor, es necesario corregirla", "AVISO IMPORTANTE")
|
|
End If
|
|
End If
|
|
|
|
If RESULT.Tag = "folio" Then 'query tag
|
|
If logger Then Log("TIEMPO folio : " & ((DateTime.Now-inicioContador)/1000))
|
|
For Each records() As Object In RESULT.Rows
|
|
Dim FOLIO As String = records(RESULT.Columns.Get("FOLIO"))
|
|
Starter.skmt.ExecNonQuery2("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = ?", Array As Object ("FOLIO"))
|
|
Starter.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("FOLIO",FOLIO))
|
|
Next
|
|
End If
|
|
|
|
' Perfil
|
|
If RESULT.Tag = "perfil" Then 'query tag
|
|
For Each records() As Object In RESULT.Rows
|
|
Dim PERFIL As String = records(RESULT.Columns.Get("PERFIL"))
|
|
Starter.skmt.ExecNonQuery2("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = ?", Array As Object ("PERFIL"))
|
|
Starter.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("PERFIL",PERFIL))
|
|
Next
|
|
End If
|
|
|
|
' Marcas
|
|
If RESULT.Tag = "marcas" Then 'query tag
|
|
If logger Then Log("TIEMPO marcas : " & ((DateTime.Now-inicioContador)/1000))
|
|
For Each records() As Object In RESULT.Rows
|
|
Dim MARCAS As String = records(RESULT.Columns.Get("MARCAS"))
|
|
Starter.skmt.ExecNonQuery2("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = ?", Array As Object ("MARCAS"))
|
|
Starter.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("MARCAS",MARCAS))
|
|
Next
|
|
End If
|
|
|
|
' SUCURSAL
|
|
If RESULT.Tag = "sucursal" Then 'query tag
|
|
For Each records() As Object In RESULT.Rows
|
|
Dim SUCURSAL As String = records(RESULT.Columns.Get("SUCURSAL"))
|
|
Starter.skmt.ExecNonQuery2("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = ?", Array As Object ("SUCURSAL"))
|
|
Starter.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("SUCURSAL",SUCURSAL))
|
|
Next
|
|
End If
|
|
|
|
If RESULT.Tag = "placas" Then 'query tag
|
|
For Each records() As Object In RESULT.Rows
|
|
Dim PLACAS As String = records(RESULT.Columns.Get("PLACAS"))
|
|
Starter.skmt.ExecNonQuery2("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = ?", Array As Object ("PLACAS"))
|
|
Starter.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("PLACAS",PLACAS))
|
|
Next
|
|
End If
|
|
|
|
If RESULT.Tag = "SEMANA" Then 'query tag
|
|
If logger Then Log("TIEMPO SEMANA : " & ((DateTime.Now-inicioContador)/1000))
|
|
For Each records() As Object In RESULT.Rows
|
|
Dim Cat_Va_Valor As String = records(RESULT.Columns.Get("CAT_VA_VALOR"))
|
|
Starter.skmt.ExecNonQuery2("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = ?", Array As Object ("SEMANA"))
|
|
Starter.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("SEMANA",Cat_Va_Valor))
|
|
Next
|
|
End If
|
|
|
|
If RESULT.Tag = "dia_visita" Then 'query tag
|
|
For Each records() As Object In RESULT.Rows
|
|
Dim DIA_VISITA As String = records(RESULT.Columns.Get("DIA_VISITA"))
|
|
Starter.skmt.ExecNonQuery2("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = ?", Array As Object ("DIA_VISITA"))
|
|
Starter.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("DIA_VISITA",DIA_VISITA))
|
|
'Msgbox(DIA_VISITA, "") 'ignore
|
|
Next
|
|
End If
|
|
|
|
' CUOTAS
|
|
If RESULT.Tag = "CUOTAS" Then 'query tag
|
|
For Each records() As Object In RESULT.Rows
|
|
Dim HC_RUTA As String = records(RESULT.Columns.Get("HC_RUTA"))
|
|
Dim HC_CUOTA1 As String = records(RESULT.Columns.Get("HC_CUOTA1"))
|
|
Dim HC_CUOTA2 As String = records(RESULT.Columns.Get("HC_CUOTA2"))
|
|
Dim HC_CUOTA3 As String = records(RESULT.Columns.Get("HC_CUOTA3"))
|
|
Dim HC_CUOTA4 As String = records(RESULT.Columns.Get("HC_CUOTA4"))
|
|
Dim HC_CUOTA5 As String = records(RESULT.Columns.Get("HC_CUOTA5"))
|
|
Dim HC_CUOTA6 As String = records(RESULT.Columns.Get("HC_CUOTA6"))
|
|
Dim HC_META1 As String = records(RESULT.Columns.Get("HC_META1"))
|
|
Dim HC_META2 As String = records(RESULT.Columns.Get("HC_META2"))
|
|
Dim HC_META3 As String = records(RESULT.Columns.Get("HC_META3"))
|
|
Dim HC_META4 As String = records(RESULT.Columns.Get("HC_META4"))
|
|
Dim HC_META5 As String = records(RESULT.Columns.Get("HC_META5"))
|
|
Dim HC_META6 As String = records(RESULT.Columns.Get("HC_META6"))
|
|
Starter.skmt.ExecNonQuery2("INSERT INTO HIST_CUOTAS(HC_RUTA, HC_CUOTA1,HC_CUOTA2,HC_CUOTA3,HC_CUOTA4,HC_CUOTA5,HC_CUOTA6,HC_META1,HC_META2,HC_META3,HC_META4,HC_META5,HC_META6) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?)", Array As Object (HC_RUTA, HC_CUOTA1,HC_CUOTA2,HC_CUOTA3,HC_CUOTA4,HC_CUOTA5,HC_CUOTA6,HC_META1,HC_META2,HC_META3,HC_META4,HC_META5,HC_META6))
|
|
Next
|
|
End If
|
|
|
|
' Cambios
|
|
If RESULT.Tag = "cat_cambios" Then 'query tag
|
|
For Each records() As Object In RESULT.Rows
|
|
Dim CAMBIOS As String = records(RESULT.Columns.Get("CAT_VA_VALOR"))
|
|
Starter.skmt.ExecNonQuery2("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = ?", Array As Object ("CAMBIOS"))
|
|
Starter.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("CAMBIOS",CAMBIOS))
|
|
Next
|
|
End If
|
|
|
|
' Precios
|
|
If RESULT.Tag = "precios" Then 'query tag
|
|
If logger Then Log("TIEMPO precios : " & ((DateTime.Now-inicioContador)/1000))
|
|
' Subs.cronoX("Precios", 1)
|
|
Starter.skmt.BeginTransaction
|
|
For Each records() As Object In RESULT.Rows
|
|
Dim CAT_GP_ID As String = records(RESULT.Columns.Get("CAT_GP_ID"))
|
|
Dim CAT_GP_PRECIO As String = records(RESULT.Columns.Get("CAT_GP_PRECIO"))
|
|
Dim CAT_GP_PRECIO1 As String = records(RESULT.Columns.Get("CAT_GP_PRECIO1"))
|
|
Dim CAT_GP_PRECIO2 As String = records(RESULT.Columns.Get("CAT_GP_PRECIO2"))
|
|
Dim CAT_GP_PRECIO3 As String = records(RESULT.Columns.Get("CAT_GP_PRECIO3"))
|
|
Dim CAT_GP_PRECIO4 As String = records(RESULT.Columns.Get("CAT_GP_PRECIO4"))
|
|
Dim CAT_GP_PRECIO5 As String = records(RESULT.Columns.Get("CAT_GP_PRECIO5"))
|
|
Dim CAT_GP_PRECIO6 As String = records(RESULT.Columns.Get("CAT_GP_PRECIO6"))
|
|
Dim CAT_GP_PRECIO7 As String = records(RESULT.Columns.Get("CAT_GP_PRECIO7"))
|
|
Dim CAT_GP_PRECIO8 As String = records(RESULT.Columns.Get("CAT_GP_PRECIO8"))
|
|
Dim CAT_GP_PRECIO9 As String = records(RESULT.Columns.Get("CAT_GP_PRECIO10"))
|
|
Dim CAT_GP_PRECIO10 As String = records(RESULT.Columns.Get("CAT_GP_PRECIO10")) 'ignore
|
|
Starter.skmt.ExecNonQuery2("INSERT INTO CAT_PRECIOS(CAT_GP_ID,CAT_GP_PRECIO, CAT_GP_PRECIO1,CAT_GP_PRECIO2,CAT_GP_PRECIO3,CAT_GP_PRECIO4,CAT_GP_PRECIO5,CAT_GP_PRECIO6,CAT_GP_PRECIO7,CAT_GP_PRECIO8,CAT_GP_PRECIO9) VALUES (?,?,?,?,?,?,?,?,?,?,?)", Array As Object (CAT_GP_ID,CAT_GP_PRECIO, CAT_GP_PRECIO1,CAT_GP_PRECIO2,CAT_GP_PRECIO3,CAT_GP_PRECIO4,CAT_GP_PRECIO5,CAT_GP_PRECIO6,CAT_GP_PRECIO7,CAT_GP_PRECIO8,CAT_GP_PRECIO9))
|
|
Next
|
|
Starter.skmt.ExecNonQuery("delete from LISTA_PRECIOS")
|
|
Starter.skmt.ExecNonQuery(" insert into LISTA_PRECIOS(PRECIO, CAT_GP_ID, NLISTA) select cat_gp_precio as precio, cat_gp_id, '1' as NLISTA from CAT_PRECIOS union Select CAT_GP_PRECIO1 As precio, CAT_GP_ID, '2' as NLISTA from CAT_PRECIOS union Select CAT_GP_PRECIO2 As precio, CAT_GP_ID, '3' as NLISTA from CAT_PRECIOS union Select CAT_GP_PRECIO3 As precio, CAT_GP_ID, '4' as NLISTA from CAT_PRECIOS union Select CAT_GP_PRECIO4 As precio, CAT_GP_ID, '5' as NLISTA from CAT_PRECIOS union Select CAT_GP_PRECIO5 As precio, CAT_GP_ID, '6' as NLISTA from CAT_PRECIOS union Select CAT_GP_PRECIO6 As precio, CAT_GP_ID, '7' as NLISTA from CAT_PRECIOS union Select CAT_GP_PRECIO7 As precio, CAT_GP_ID, '8' as NLISTA from CAT_PRECIOS union Select CAT_GP_PRECIO8 As precio, CAT_GP_ID, '9' as NLISTA from CAT_PRECIOS union Select CAT_GP_PRECIO9 As precio, CAT_GP_ID, '10' as NLISTA from CAT_PRECIOS union Select CAT_GP_PRECIO10 As precio, CAT_GP_ID, '11' as NLISTA from CAT_PRECIOS")
|
|
Starter.skmt.TransactionSuccessful
|
|
Starter.skmt.EndTransaction
|
|
' If Logger Then LogColor($"///////////////// ${Subs.cronoX("Precios", 2)} ///////////////////////////"$, Colors.red)
|
|
' ToastMessageShow("LISTA DE PRECIOS OK LISTA DE PRECIOS OK", True)
|
|
End If
|
|
|
|
' Candado Fin Dia
|
|
If RESULT.Tag = "pass_fin_dia" Then 'query tag
|
|
For Each records() As Object In RESULT.Rows
|
|
Dim nuevaContrasena As String = records(RESULT.Columns.Get("CAR_VA_VALOR3"))
|
|
Starter.skmt.ExecNonQuery2("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = ?", Array As Object ("FINDIA_PASS"))
|
|
Starter.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("FINDIA_PASS", nuevaContrasena))
|
|
Next
|
|
End If
|
|
|
|
' Exhibidores
|
|
If RESULT.Tag = "exhibidores" Then 'query tag
|
|
If logger Then Log("TIEMPO exhibidores : " & ((DateTime.Now-inicioContador)/1000))
|
|
Starter.skmt.BeginTransaction
|
|
For Each records() As Object In RESULT.Rows
|
|
Dim HIST_EX_ID_CLIENTE As String = records(RESULT.Columns.Get("HIST_EX_ID_CLIENTE"))
|
|
Dim HIST_EX_TIPO As String = records(RESULT.Columns.Get("HIST_EX_TIPO"))
|
|
Dim HIST_EX_CANT As String = records(RESULT.Columns.Get("HIST_EX_CANT")) 'ignore
|
|
Starter.skmt.ExecNonQuery2("INSERT INTO HIST_EXHIBIDORES2(HIST_EX_ID_CLIENTE,HIST_EX_TIPO, HIST_EX_CANT) VALUES (?,?,?)", Array As Object (HIST_EX_ID_CLIENTE,HIST_EX_TIPO, HIST_EX_CANT))
|
|
Next
|
|
Starter.skmt.TransactionSuccessful
|
|
Starter.skmt.EndTransaction
|
|
End If
|
|
|
|
' HIST_ENCUESTA2
|
|
If RESULT.Tag = "HIST_ENCUESTA2" Then 'query tag
|
|
If logger Then Log("TIEMPO HIST_ENCUESTA2 : " & ((DateTime.Now-inicioContador)/1000))
|
|
Starter.skmt.BeginTransaction
|
|
For Each records() As Object In RESULT.Rows
|
|
Dim HE_CLIENTE As String = records(RESULT.Columns.Get("HE_CLIENTE"))
|
|
Starter.skmt.ExecNonQuery2("INSERT INTO HIST_ENCUESTA2(HE_CLIENTE) VALUES (?)", Array As Object (HE_CLIENTE))
|
|
Next
|
|
Starter.skmt.TransactionSuccessful
|
|
Starter.skmt.EndTransaction
|
|
End If
|
|
End If
|
|
|
|
''' CARGAS DOE CATALOGO
|
|
Dim RESULT As DBResult = reqManager.HandleJob(Job)
|
|
If RESULT.Tag = "cat_gunaprod_doe" Then 'query tag
|
|
If logger Then Log("TIEMPO gunaprod_DOE : " & ((DateTime.Now-inicioContador)/1000))
|
|
S_CP.Text = "CARGANDO"
|
|
Starter.skmt.BeginTransaction
|
|
For Each records() As Object In RESULT.Rows
|
|
Dim CAT_GP_ID As String = records(RESULT.Columns.Get("CAT_GP_ID"))
|
|
Dim CAT_GP_NOMBRE As String = records(RESULT.Columns.Get("CAT_GP_NOMBRE"))
|
|
Dim CAT_GP_IMP1 As String = records(RESULT.Columns.Get("CAT_GP_IMP1"))
|
|
Dim CAT_GP_IMP2 As String = records(RESULT.Columns.Get("CAT_GP_IMP2"))
|
|
Dim CAT_GP_PRECIO As String = records(RESULT.Columns.Get("CAT_GP_PRECIO"))
|
|
Dim CAT_GP_CLASIF As String = records(RESULT.Columns.Get("CAT_GP_CLASIF"))
|
|
Dim CAT_GP_STS As String = records(RESULT.Columns.Get("CAT_GP_STS"))
|
|
Dim CAT_GP_TIPO As String = records(RESULT.Columns.Get("CAT_GP_TIPO"))
|
|
Dim CAT_GP_SUBTIPO As String = records(RESULT.Columns.Get("CAT_GP_SUBTIPO"))
|
|
Dim CAT_GP_IMG() As Byte = records(RESULT.Columns.Get("CAT_GP_IMG"))
|
|
Dim CAT_GP_ALMACEN As Int = records(RESULT.Columns.Get("CAT_GP_ALMACEN"))
|
|
Dim CAT_GP_DEV As String = records(RESULT.Columns.Get("CAT_GP_DEV"))
|
|
Dim CAT_GP_TIPOPROD As Int = records(RESULT.Columns.Get("CAT_GP_TIPOPROD"))
|
|
Dim CAT_GP_INICIATIVA As Int = records(RESULT.Columns.Get("CAT_GP_INICIATIVA"))
|
|
'CAT_GP_INICIATIVA = 5
|
|
' skmt.ExecNonQuery2("INSERT INTO CAT_GUNAPROD(CAT_GP_ID,CAT_GP_NOMBRE,CAT_GP_IMP1,CAT_GP_IMP2,CAT_GP_PRECIO,CAT_GP_CLASIF,CAT_GP_STS,CAT_GP_TIPO,CAT_GP_SUBTIPO,CAT_GP_IMG,CAT_GP_ALMACEN,CAT_GP_DEV) VALUES (?,?,?,?,?,?,?,?,?,?,?,?)", Array As Object (CAT_GP_ID,CAT_GP_NOMBRE,CAT_GP_IMP1,CAT_GP_IMP2,CAT_GP_PRECIO,CAT_GP_CLASIF,CAT_GP_STS,CAT_GP_TIPO,CAT_GP_SUBTIPO,CAT_GP_IMG, CAT_GP_ALMACEN,CAT_GP_DEV))
|
|
Starter.skmt.ExecNonQuery2("INSERT INTO CAT_GUNAPROD_DOE(CAT_GP_ID,CAT_GP_NOMBRE,CAT_GP_IMP1,CAT_GP_IMP2,CAT_GP_PRECIO,CAT_GP_CLASIF,CAT_GP_STS,CAT_GP_TIPO,CAT_GP_SUBTIPO,CAT_GP_IMG,CAT_GP_ALMACEN,CAT_GP_TIPOPROD,CAT_GP_INICIATIVA,CAT_GP_DEV,CAT_GP_CODPROMO) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,0)", Array As Object (CAT_GP_ID,CAT_GP_NOMBRE,CAT_GP_IMP1,CAT_GP_IMP2,CAT_GP_PRECIO,CAT_GP_CLASIF,CAT_GP_STS,CAT_GP_TIPO,CAT_GP_SUBTIPO,CAT_GP_IMG, CAT_GP_ALMACEN,CAT_GP_TIPOPROD, CAT_GP_INICIATIVA,CAT_GP_DEV))
|
|
Next
|
|
Starter.skmt.TransactionSuccessful
|
|
Starter.skmt.EndTransaction
|
|
' c=skmt.ExecQuery("select CAT_GP_CLASIF, COUNT(*) AS CUANTOS from CAT_GUNAPROD GROUP BY CAT_GP_CLASIF order by CAT_GP_CLASIF asc")
|
|
' c.Position=0
|
|
' skmt.ExecNonQuery("DELETE FROM COUNT_GUNAPROD")
|
|
' skmt.ExecNonQuery2("INSERT INTO COUNT_GUNAPROD(CAT_GP_CLASIF, CUANTOS) VALUES (?,?)", Array As Object (c.GetString("CAT_GP_CLASIF"), c.GetString("CUANTOS")))
|
|
' c.Close
|
|
'Listo2=1
|
|
' ToastMessageShow("Productos Actualizados." , True)
|
|
End If
|
|
''' FIN CARGA CATALOGO DOE
|
|
|
|
''' INICIO CARGA PEDIDO DOE
|
|
Dim RESULT As DBResult = reqManager.HandleJob(Job)
|
|
If RESULT.Tag = "pedido_doe" Then 'query tag
|
|
If logger Then Log("TIEMPO PEDIDO_DOE : " & ((DateTime.Now-inicioContador)/1000))
|
|
S_CP.Text = "CARGANDO"
|
|
Starter.skmt.BeginTransaction
|
|
For Each records() As Object In RESULT.Rows
|
|
Dim HVD_ALMACEN As String = records(RESULT.Columns.Get("HVD_ALMACEN"))
|
|
Dim HVD_COSTO_TOT As String = records(RESULT.Columns.Get("HVD_COSTO_TOT"))
|
|
Dim HVD_COSTOU As String = records(RESULT.Columns.Get("HVD_COSTOU"))
|
|
Dim HVD_CANT As String = records(RESULT.Columns.Get("HVD_CANT"))
|
|
Dim HVD_PRONOMBRE As String = records(RESULT.Columns.Get("HVD_PRONOMBRE"))
|
|
Dim HVD_PROID As String = records(RESULT.Columns.Get("HVD_PROID"))
|
|
Dim HVD_CLIENTE As String = records(RESULT.Columns.Get("HVD_CLIENTE"))
|
|
Dim HVD_FECHA As String = records(RESULT.Columns.Get("HVD_FECHA"))
|
|
Dim HVD_USUARIO As String = records(RESULT.Columns.Get("HVD_USUARIO"))
|
|
Dim HVD_RUTA As String = records(RESULT.Columns.Get("HVD_RUTA"))
|
|
|
|
'CAT_GP_INICIATIVA = 5
|
|
' skmt.ExecNonQuery2("INSERT INTO CAT_GUNAPROD(CAT_GP_ID,CAT_GP_NOMBRE,CAT_GP_IMP1,CAT_GP_IMP2,CAT_GP_PRECIO,CAT_GP_CLASIF,CAT_GP_STS,CAT_GP_TIPO,CAT_GP_SUBTIPO,CAT_GP_IMG,CAT_GP_ALMACEN,CAT_GP_DEV) VALUES (?,?,?,?,?,?,?,?,?,?,?,?)", Array As Object (CAT_GP_ID,CAT_GP_NOMBRE,CAT_GP_IMP1,CAT_GP_IMP2,CAT_GP_PRECIO,CAT_GP_CLASIF,CAT_GP_STS,CAT_GP_TIPO,CAT_GP_SUBTIPO,CAT_GP_IMG, CAT_GP_ALMACEN,CAT_GP_DEV))
|
|
Starter.skmt.ExecNonQuery2("INSERT INTO PEDIDO_DOE(PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO,PE_RUTA,PE_TIPO,PE_PRECIO2) VALUES (?,?,?,?,?,?,?,?,?,?,?,0)", Array As Object (HVD_ALMACEN, HVD_COSTO_TOT, HVD_COSTOU,HVD_CANT, HVD_PRONOMBRE, HVD_PROID, HVD_CLIENTE, HVD_FECHA, HVD_USUARIO,HVD_RUTA, "DOE"))
|
|
Next
|
|
Starter.skmt.TransactionSuccessful
|
|
Starter.skmt.EndTransaction
|
|
' c=skmt.ExecQuery("select CAT_GP_CLASIF, COUNT(*) AS CUANTOS from CAT_GUNAPROD GROUP BY CAT_GP_CLASIF order by CAT_GP_CLASIF asc")
|
|
' c.Position=0
|
|
' skmt.ExecNonQuery("DELETE FROM COUNT_GUNAPROD")
|
|
' skmt.ExecNonQuery2("INSERT INTO COUNT_GUNAPROD(CAT_GP_CLASIF, CUANTOS) VALUES (?,?)", Array As Object (c.GetString("CAT_GP_CLASIF"), c.GetString("CUANTOS")))
|
|
' c.Close
|
|
'Listo2=1
|
|
|
|
' ToastMessageShow("Productos Actualizados." , True)
|
|
End If
|
|
''' FIN CARGA PEDIDO DOE
|
|
|
|
If Job.JobName = "DBRequest" Then
|
|
Dim RESULT As DBResult = reqManager.HandleJob(Job)
|
|
If RESULT.Tag = "prods_rmi" Then 'query tag
|
|
If logger Then Log("TIEMPO prods RMI : " & ((DateTime.Now-inicioContador)/1000))
|
|
Starter.skmt.ExecNonQuery("delete from cat_rmi")
|
|
For Each records() As Object In RESULT.Rows
|
|
Dim CAT_ID As String = records(RESULT.COLUMNS.GET("CAT_GP_ID"))
|
|
Dim CAT_DESCRIPCION As String = records(RESULT.COLUMNS.GET("CAT_GP_NOMBRE"))
|
|
Dim CAT_MONTO As String = records(RESULT.COLUMNS.GET("CAT_GP_PRECIO"))
|
|
Starter.skmt.ExecNonQuery2("INSERT INTO CAT_RMI (CAT_ID, CAT_DESCRIPCION, CAT_MONTO) VALUES (?,?,?)", Array As Object (CAT_ID, CAT_DESCRIPCION, CAT_MONTO))
|
|
Next
|
|
End If
|
|
|
|
If RESULT.Tag = "semanaCalLaboral" Then 'query tag
|
|
' Subs.logJobDoneResultados(RESULT)
|
|
For Each records() As Object In RESULT.Rows
|
|
Dim SEMANA As String = records(RESULT.COLUMNS.GET("SEMANA_RELATIVA"))
|
|
Starter.skmt.ExecNonQuery2("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = ?", Array As Object ("SEM_CAL_LABORAL"))
|
|
Starter.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("SEM_CAL_LABORAL", SEMANA))
|
|
Next
|
|
End If
|
|
|
|
If RESULT.Tag = "selectNotificaciones" Then 'query tag
|
|
Subs.logJobDoneResultados(RESULT)
|
|
For Each records() As Object In RESULT.Rows
|
|
Dim CN_CLIENTE As String = records(RESULT.COLUMNS.GET("HIST_NTC_IDCLIENTE"))
|
|
Dim CN_NOTIFICACION As String = records(RESULT.COLUMNS.GET("HIST_NTC_NOTIFICACION"))
|
|
Dim CN_CODIGO As String = records(RESULT.COLUMNS.GET("HIST_NTC_CODIGO"))
|
|
Dim CN_ID As String = records(RESULT.COLUMNS.GET("HIST_NTC_ID"))
|
|
Starter.skmt.ExecNonQuery2("INSERT INTO CAT_NOTIFICACIONES (CN_CODIGO, CN_ID, CN_CLIENTE, CN_NOTIFICACION) VALUES (?,?,?,?)", Array As Object (CN_CODIGO, CN_ID, CN_CLIENTE, CN_NOTIFICACION))
|
|
Next
|
|
End If
|
|
|
|
If RESULT.Tag = "trendSpending" Then 'query tag
|
|
' Subs.logJobDoneResultados(RESULT)
|
|
Starter.skmt.ExecNonQuery("delete from HIST_TREND_SPENDING_SEMANAL")
|
|
For Each records() As Object In RESULT.Rows
|
|
Dim HIST_TSS_RUTA As String = records(RESULT.COLUMNS.GET("HIST_TSS_RUTA"))
|
|
Dim HIST_TSS_IDALMACEN As String = records(RESULT.COLUMNS.GET("HIST_TSS_IDALMACEN"))
|
|
Dim HIST_TSS_TIPO As String = records(RESULT.COLUMNS.GET("HIST_TSS_TIPO"))
|
|
Dim HIST_TSS_SEMANA1 As String = records(RESULT.COLUMNS.GET("HIST_TSS_SEMANA1"))
|
|
Dim HIST_TSS_SEMANA1_ACUM As String = records(RESULT.COLUMNS.GET("HIST_TSS_SEMANA1_ACUM"))
|
|
Dim HIST_TSS_SEMANA2 As String = records(RESULT.COLUMNS.GET("HIST_TSS_SEMANA2"))
|
|
Dim HIST_TSS_SEMANA2_ACUM As String = records(RESULT.COLUMNS.GET("HIST_TSS_SEMANA2_ACUM"))
|
|
Dim HIST_TSS_SEMANA3 As String = records(RESULT.COLUMNS.GET("HIST_TSS_SEMANA3"))
|
|
Dim HIST_TSS_SEMANA3_ACUM As String = records(RESULT.COLUMNS.GET("HIST_TSS_SEMANA3_ACUM"))
|
|
Dim HIST_TSS_SEMANA4 As String = records(RESULT.COLUMNS.GET("HIST_TSS_SEMANA4"))
|
|
Dim HIST_TSS_SEMANA4_ACUM As String = records(RESULT.COLUMNS.GET("HIST_TSS_SEMANA4_ACUM"))
|
|
Dim HIST_TSS_SEMANA5 As String = records(RESULT.COLUMNS.GET("HIST_TSS_SEMANA5"))
|
|
Dim HIST_TSS_SEMANA5_ACUM As String = records(RESULT.COLUMNS.GET("HIST_TSS_SEMANA5_ACUM"))
|
|
Dim HIST_TSS_SEMANA6 As String = records(RESULT.COLUMNS.GET("HIST_TSS_SEMANA6"))
|
|
Dim HIST_TSS_SEMANA6_ACUM As String = records(RESULT.COLUMNS.GET("HIST_TSS_SEMANA6_ACUM"))
|
|
Dim HIST_TSS_GRUPO As String = records(RESULT.COLUMNS.GET("HIST_TSS_GRUPO"))
|
|
Starter.skmt.ExecNonQuery2("INSERT INTO HIST_TREND_SPENDING_SEMANAL (HIST_TSS_RUTA, HIST_TSS_IDALMACEN, HIST_TSS_TIPO, HIST_TSS_SEMANA1, HIST_TSS_SEMANA1_ACUM, HIST_TSS_SEMANA2, HIST_TSS_SEMANA2_ACUM, HIST_TSS_SEMANA3, HIST_TSS_SEMANA3_ACUM, HIST_TSS_SEMANA4, HIST_TSS_SEMANA4_ACUM, HIST_TSS_SEMANA5, HIST_TSS_SEMANA5_ACUM, HIST_TSS_SEMANA6, HIST_TSS_SEMANA6_ACUM, HIST_TSS_GRUPO) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)", Array As Object (HIST_TSS_RUTA, HIST_TSS_IDALMACEN, HIST_TSS_TIPO, HIST_TSS_SEMANA1, HIST_TSS_SEMANA1_ACUM, HIST_TSS_SEMANA2, HIST_TSS_SEMANA2_ACUM, HIST_TSS_SEMANA3, HIST_TSS_SEMANA3_ACUM, HIST_TSS_SEMANA4, HIST_TSS_SEMANA4_ACUM, HIST_TSS_SEMANA5, HIST_TSS_SEMANA5_ACUM, HIST_TSS_SEMANA6, HIST_TSS_SEMANA6_ACUM, HIST_TSS_GRUPO))
|
|
Next
|
|
LogColor("GUARDAMOS INFO DE TRADE SPENDING", Colors.Blue)
|
|
' Subs.logJobDoneResultados(RESULT)
|
|
ts.Initialize(Me, "ts", Starter.skmt)
|
|
End If
|
|
|
|
' If RESULT.Tag = "borraHistNotificaciones" Then enviaHistNotificaciones
|
|
' If RESULT.Tag = "insertHistNotificaciones" Then revisaHistNotificaciones
|
|
|
|
End If
|
|
End If
|
|
|
|
If PB2.Progress = 100 And CARGA <> "SUBIR" Then
|
|
S_CP.Text = "LISTO"
|
|
End If
|
|
Job.Release
|
|
|
|
If reqManager.reqsList.IsInitialized Then
|
|
LogColor(reqManager.reqsList, Colors.blue)
|
|
LogColor(reqManager.reqsList.Size, Colors.blue)
|
|
If CARGA = "SUBIR" Then actualizaProgressBar
|
|
|
|
'Si ya se procesaron TODAS las peticiones, entonces realizamos validaciones.
|
|
If reqManager.reqsList.Size = 0 And Not(Starter.revisandoNotifiaciones) Then
|
|
If CARGA = "SUBIR" Then revisaHistNotificaciones
|
|
End If
|
|
End If
|
|
' LogColor(reqTotales, Colors.blue)
|
|
|
|
|
|
' If Starter.Logger Then Log($"tiempo Request "${Job.Tag}": ${((reqManager.inicioJobDone - reqManager.inicioRequest)/1000)}"$)
|
|
' If Starter.Logger Then Log($"tiempo JobDone "${Job.Tag}": ${((DateTime.Now - reqManager.inicioJobDone)/1000)}"$)
|
|
' If Starter.Logger Then Log($"tiempo Total "${Job.Tag}": ${((DateTime.Now - inicioContador)/1000)}"$)
|
|
|
|
If CARGA = "CARGAR" And S_CP.Text = "LISTO" And S_CC.Text = "LISTO" And S_CH.Text = "LISTO" Then
|
|
' LogColor("TERMINAMOS", Colors.red)
|
|
B_OK_PAS.Text = "OK"
|
|
copiaCatGPPromocion
|
|
End If
|
|
|
|
' Log(reqManager.requestTimes(Job.Tag))
|
|
' Log($"tiempo Total "${Job.Tag}": ${((DateTime.Now - inicioContador)/1000)}"$)
|
|
' reqManager.PrintTable(RESULT)2
|
|
End Sub
|
|
|
|
'Envia el historial de notificaciones despues de haberlas borrado para que no se dupliquen.
|
|
Sub enviaHistNotificaciones(id As String, codigo As String)
|
|
Private hn As Cursor = Starter.skmt.ExecQuery($"select * from hist_notificaciones where HN_CODIGO = '${codigo}' and HN_ID = '${id}'"$)
|
|
If hn.RowCount > 0 Then
|
|
For i = 0 To hn.RowCount - 1
|
|
hn.Position = i
|
|
cmd.Initialize
|
|
cmd.Name = "insertHistNotificaciones"
|
|
cmd.Parameters = Array As Object(hn.GetString("HN_ID"), hn.GetString("HN_CODIGO"), hn.GetString("HN_FECHA"))
|
|
Log($"Enviamos notificacion: id: ${hn.GetString("HN_ID")}, codigo: ${hn.GetString("HN_CODIGO")}, fecha: ${hn.GetString("HN_FECHA")}"$)
|
|
reqManager.ExecuteCommand(cmd , "insertHistNotificaciones")
|
|
Next
|
|
hn.Close
|
|
End If
|
|
End Sub
|
|
|
|
' Revisa que en web haya el numero correcto de notificaciones en el historial
|
|
Sub revisaHistNotificaciones
|
|
LogColor("####################### REVISA NOTIS ########", Colors.red)
|
|
Starter.revisandoNotifiaciones = True
|
|
' Private cn As Cursor = Starter.skmt.ExecQuery("select count(HN_CODIGO) as cuantos, HN_CODIGO, HN_ID from HIST_NOTIFICACIONES")
|
|
Private cn As Cursor = Starter.skmt.ExecQuery($"SELECT HN_ID, HN_CODIGO, HN_FECHA, COUNT(*) As cuantos FROM HIST_NOTIFICACIONES GROUP BY HN_ID"$)
|
|
If cn.RowCount > 0 Then
|
|
cn.Position = 0
|
|
Private CuantasN As Int = cn.GetInt("cuantos")
|
|
cmd.Name = "selectCuantasNotificaciones"
|
|
cmd.Parameters = Array As Object(cn.GetString("HN_ID"), cn.GetString("HN_CODIGO"))
|
|
reqManagerW.ExecuteQuery(Starter.DBReqServer, cmd, Me, "selectCuantasNotificaciones")
|
|
Wait For selectCuantasNotificaciones_Completed (r As TResultado)
|
|
If r.Success Then
|
|
LogColor("####################### selectCuantasNotificaciones ########", Colors.red)
|
|
Subs.logJobDoneResultados(r.resultado)
|
|
For Each records() As Object In r.resultado.Rows
|
|
Dim CuantasN As Int = records(r.resultado.Columns.Get("CUANTOS"))
|
|
LogColor($"####################### id: ${cn.GetString("HN_ID")}, codigo: ${cn.GetString("HN_CODIGO")}, Cuantas: ${CuantasN} ########"$, Colors.red)
|
|
If cn.GetInt("cuantos") > CuantasN Then
|
|
enviaHistNotificaciones(cn.GetString("HN_ID"), cn.GetString("HN_CODIGO"))
|
|
Log($"enviaHistNotificaciones(${cn.GetString("HN_ID")}, ${cn.GetString("HN_CODIGO")})"$)
|
|
End If
|
|
Next
|
|
Else
|
|
Log(r.ErrorMessage)
|
|
End If
|
|
End If
|
|
End Sub
|
|
|
|
Sub actualizaProgressBar
|
|
Log($"Porcentaje = ${(((reqTotales-reqManager.reqsList.Size)/reqTotales)*100).As(Int)}"$)
|
|
Private porcentajePB2 As Int = (((reqTotales-reqManager.reqsList.Size)/reqTotales)*100).As(Int)
|
|
If PB2.IsInitialized And PB2.Visible Then
|
|
Sleep(0)
|
|
PB2.Progress = porcentajePB2
|
|
End If
|
|
End Sub
|
|
|
|
Sub copiaCatGPPromocion
|
|
Log(">>>>>>>>> COPIAMOS CAT_GP_PROMOCION a CAT_GUNAPROD2")
|
|
Starter.skmt.ExecNonQuery("UPDATE CAT_GUNAPROD2 SET CAT_GP_PROMOCION = '0'")
|
|
Dim c3 As Cursor = Starter.skmt.ExecQuery("select CAT_GP_ID, CAT_GP_PROMOCION from CAT_GUNAPROD")
|
|
If c3.RowCount > 0 Then
|
|
For h = 0 To c3.RowCount - 1
|
|
c3.Position = h
|
|
Starter.skmt.ExecNonQuery($"update cat_gunaprod2 set cat_gp_promocion = '${c3.GetString("CAT_GP_PROMOCION")}' where cat_gp_id = '${c3.GetString("CAT_GP_ID")}'"$)
|
|
Next
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub B4XPage_CloseRequest As ResumableSub
|
|
' BACK key pressed
|
|
'Return True to close, False to cancel
|
|
If p_transparente2.Visible Then
|
|
p_transparente2.Visible = False
|
|
else If p_transparente.Visible Then
|
|
p_transparente.Visible = False
|
|
Else If pdfViewerActivo Then
|
|
pdfViewerActivo = False
|
|
PNL_ACCESO.Visible = True
|
|
Panel7.Visible = True
|
|
PNL_ACCESO.BringToFront
|
|
p_pdfViewer.Visible = False
|
|
Else if P_RESUMEN.Visible Then
|
|
B_OK_RES_Click
|
|
Else
|
|
Subs.iniciaActividad("Login")
|
|
End If
|
|
Return False
|
|
End Sub
|
|
|
|
Sub Activity_KeyPress (key As Int) As Boolean
|
|
' ' BACK key pressed
|
|
' If key=KeyCodes.KEYCODE_BACK Then
|
|
' If pdfViewerActivo Then
|
|
' pdfViewerActivo = False
|
|
' PNL_ACCESO.Visible = True
|
|
' Panel7.Visible = True
|
|
' PNL_ACCESO.BringToFront
|
|
' p_pdfViewer.Visible = False
|
|
' Else if P_RESUMEN.Visible Then
|
|
' B_OK_RES_Click
|
|
' Else
|
|
' Subs.iniciaActividad("Main")
|
|
' End If
|
|
' ' I want to capture the key here so I return True
|
|
' Return True
|
|
' End If
|
|
' ' Returning False signals the system to handle the key
|
|
' Return False
|
|
End Sub
|
|
|
|
Sub connecta_Click
|
|
' wait for (kh.ping) Complete (Success As Boolean, ExitValue As Int, StdOut As String, StdErr As String)
|
|
cargar.Enabled = True
|
|
If Not(IsConnectedToInternet) Then
|
|
connecta.TextColor = Colors.Red
|
|
ToastMessageShow("No hay conexión a internet, por favor establecer una conexión y reintentar!!", True)
|
|
Else
|
|
connecta.TextColor = Colors.White
|
|
End If
|
|
|
|
kb.HideKeyboard
|
|
' Log("################# PERMISOS BT: " & Starter.rp.Check("android.permission.BLUETOOTH_CONNECT"))
|
|
' Log("Permisos BT: " & Starter.rp.Check("android.permission.BLUETOOTH_CONNECT"))
|
|
' Log("REVISAMOS PERMISOS DE BT")
|
|
Starter.rp.CheckAndRequest("android.permission.BLUETOOTH_CONNECT")
|
|
Wait For B4XPage_PermissionResult (Permission As String, Result As Boolean)
|
|
' If Result Then Log("Tenemos permisos de bluetooth.")
|
|
' Log($"Resultado del CheckAndRequest: ${Result}"$)
|
|
' Log("XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX")
|
|
|
|
' c=skmt.ExecQuery2("select CAT_VA_VALOR from CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As String ("RUTA"))
|
|
' c.Position =0
|
|
' If c.GetString("CAT_VA_VALOR") = l_ruta.Text Then
|
|
If e_ruta.Text = "KMTSKLL1" Then
|
|
cargar.Visible = True
|
|
Subir.Visible = True
|
|
e_ruta.Text = ""
|
|
End If
|
|
' Aqui el codigo para que solo acepte numeros en la ruta, sin caracteres especiales ' Mod por CHV - 211130
|
|
Dim m As Matcher = Regex.Matcher("\d+", e_ruta.Text) 'Buscamos numeros en el campo de la ruta
|
|
If m.Find Then e_ruta.Text = m.Match ' Si tiene numeros, solo nos quedamos con ellos.
|
|
If e_ruta.Text.Length > 6 Then e_ruta.Text = e_ruta.Text.SubString2(0,6) ' Si tiene mas de 6 numeros solo tomamos los primeros 6
|
|
' If logger Then Log(e_ruta.Text)
|
|
c=Starter.skmt.ExecQuery("select usuario from usuarioa")
|
|
c.Position = 0
|
|
usuario = c.GetString("USUARIO")
|
|
c.Close
|
|
connecta1 = connecta1 + 1
|
|
|
|
' Log("Pedimos permisos de Phone State")
|
|
' Starter.rp.CheckAndRequest(Starter.rp.PERMISSION_READ_PHONE_STATE)
|
|
' Wait For B4XPage_PermissionResult (Permission As String, Result As Boolean)
|
|
' If Result Then
|
|
' imei = "" 'p.GetDeviceId
|
|
' End If
|
|
' Log("Terminamos permisos")
|
|
conn = "1"
|
|
|
|
reqManager.trackInit
|
|
|
|
' EL EVENTO DE CONECTAR AHORA SE DISPARA DESPUES DE REVISAR SI LA RUTA ESTA LIGADA O NO AL DISPOSITIVO (verifyDevice).
|
|
' REVISAR EL SUB "Linker_Response"
|
|
linker.verifyDevice(Subs.traeAlmacen, e_ruta.text)
|
|
|
|
' Else
|
|
' Msgbox("LA RUTA NO ES CORRECTA","") 'ignore
|
|
' End If
|
|
End Sub
|
|
|
|
'Revisamos que la version actual sea la correcta.
|
|
Sub connecta2
|
|
Private revisaVersion As Boolean = True ' La verificacion se realiza por default
|
|
Private vv As Cursor = Starter.skmt.ExecQuery("select * from cat_variables where CAT_VA_DESCRIPCION = 'VALIDA_VERSION'")
|
|
If vv.RowCount > 0 Then
|
|
vv.Position = 0
|
|
If vv.GetString("CAT_VA_VALOR") = 0 Then revisaVersion = False
|
|
End If
|
|
If revisaVersion Then ' Si VALIDA_VERSION no está en CERO ... revisamos.
|
|
Log(123)
|
|
Dim cmd As DBCommand
|
|
cmd.Initialize
|
|
cmd.Name = "select_version_KELL"
|
|
cmd.Parameters = Array As Object(ALMACEN, e_ruta.text)
|
|
reqManager.ExecuteQuery(cmd , 0, "version")
|
|
Else ' Si está en CERO (Validacion deshabilitada), continuamos a connecta3.
|
|
' Log(456)
|
|
connecta3
|
|
End If
|
|
End Sub
|
|
|
|
Sub connecta3
|
|
' Log(789)
|
|
Dim cmd As DBCommand
|
|
cmd.Initialize
|
|
cmd.Name = "select_ruta5_KELL"
|
|
cmd.Parameters = Array As Object(ALMACEN, e_ruta.text, usuario)
|
|
Log($"******* Almacen: ${ALMACEN}, ${e_ruta.text}, ${usuario}"$)
|
|
reqManager.ExecuteQuery(cmd , 0, "ruta")
|
|
e_ruta.Enabled = False
|
|
If e_ruta.Text = "KMTSKLL1" Then e_ruta.Enabled = True
|
|
ToastMessageShow("Validando Conexión." , False)
|
|
ruta_valida = e_ruta.Text
|
|
End Sub
|
|
|
|
Private Sub connecta_LongClick
|
|
' Private h As ResultSet = Starter.skmt.ExecQuery($"select * from bitacoraGPS"$)
|
|
' Do While h.nextrow
|
|
' cmd.Initialize
|
|
' cmd.Name = "mandaBitacora"
|
|
'' TMP_ALMACEN, TMP_USUARIO, TMP_RUTA, TMP_EVENTO, TMP_ID_CLIENTE, TMP_NOMBRE_CLIENTE, TMP_INICIO, TMP_FINAL, TMP_LATITUD, TMP_LONGITUD, TMP_PRESICION, TMP_MOTIVO_NO_VENTA, TMP_MOTIVO_NO_VISITA, TMP_FECHA_SINC
|
|
' cmd.Parameters = Array As Object(h.GetString("almacenb"), h.GetString("usuariob"), h.GetString("rutab"), h.GetString("eventob"), h.GetString("clienteb"), h.GetString("clienteb"), h.GetString("iniciob"), h.GetString("finb"), h.GetString("latitudb"), h.GetString("longitudb"), h.GetString("precision"), h.GetString("motivonoventa"), h.GetString("motivonovisita"))
|
|
' reqManager.ExecuteCommand(cmd , "mandaBitacora")
|
|
'' cmd.Name = "borraBitacora"
|
|
'' cmd.Parameters = Array As Object(c.GetString("almacenb"), c.GetString("rutab"), c.GetString("usuariob"), c.GetString("almacenb"))
|
|
' Loop
|
|
'' End If
|
|
' Log("MANDAMOS BITACORA")
|
|
If e_ruta.Text = "KMTKLL1" Then Subs.deshabilitaValidaciones
|
|
' B4XPages.MainPage.recordatorio.agregaPanelRecordatorio(Root)
|
|
End Sub
|
|
|
|
Sub BUSCA_Click
|
|
Subs.iniciaActividad("TicketsDia")
|
|
End Sub
|
|
|
|
Sub b_mapa_Click
|
|
Subs.iniciaActividad("mapas")
|
|
End Sub
|
|
|
|
Sub e_ruta_EnterPressed
|
|
Private adelanteFinDia As Boolean = True
|
|
c=Starter.skmt.ExecQuery("select CAT_VA_VALOR from CAT_VARIABLES where CAT_VA_DESCRIPCION = 'FINDIA_FECHA'") 'Buscamos "FIN DIA" anterior
|
|
If c.RowCount > 0 Then
|
|
c.Position = 0
|
|
If Not(c.GetString("CAT_VA_VALOR") < Starter.FECHA_HOY) Then 'Si el "FIN DIA" guardado NO es de ayer o anterior ...
|
|
adelanteFinDia = False
|
|
End If
|
|
c.Close
|
|
End If
|
|
kh.RD_respaldoBatch
|
|
If e_ruta.Text = "FIN DIA" And adelanteFinDia Then
|
|
res = Msgbox2("Seguro que desea hacer el cierre? ... todos los datos se borraran","Cierre", "Si", "", "No",LoadBitmap(File.DirAssets,"alert2.png")) 'ignore
|
|
If res = DialogResponse.POSITIVE Then
|
|
e_ruta.Text = ""
|
|
Starter.skmt.ExecNonQuery("delete from pedido")
|
|
Starter.skmt.ExecNonQuery("delete from pedido_cliente")
|
|
Starter.skmt.ExecNonQuery("delete from pedido_sugerido")
|
|
Starter.skmt.ExecNonQuery("delete from BITACORAGPS")
|
|
Starter.skmt.ExecNonQuery("delete from noventa")
|
|
Starter.skmt.ExecNonQuery("delete from clie_act")
|
|
Starter.skmt.ExecNonQuery("delete from kmt_info")
|
|
Starter.skmt.ExecNonQuery("delete from cat_gunaprod")
|
|
Starter.skmt.ExecNonQuery("delete from cat_gunaprod2")
|
|
Starter.skmt.ExecNonQuery("delete from cat_inventario")
|
|
Starter.skmt.ExecNonQuery("delete from cat_rmi")
|
|
Starter.skmt.ExecNonQuery("delete from CAT_DETALLES_PAQ")
|
|
Starter.skmt.ExecNonQuery("delete from HIST_VENTAS")
|
|
Starter.skmt.ExecNonQuery("delete from HIST_VERIFICACION")
|
|
Starter.skmt.ExecNonQuery("delete from TMP_INSPECCION_AUTO_DIARIA")
|
|
Starter.skmt.ExecNonQuery("delete from CAT_FOTOS")
|
|
Starter.skmt.ExecNonQuery("delete from HIST_GPS")
|
|
Starter.skmt.ExecNonQuery("DELETE FROM HIST_ENCUESTA")
|
|
Starter.skmt.ExecNonQuery("DELETE FROM HIST_ENVIOS")
|
|
Starter.skmt.ExecNonQuery("DELETE FROM CLIENTE_IMPRESO")
|
|
Starter.skmt.ExecNonQuery("delete from CAT_PROMO_MONTO")
|
|
Starter.skmt.ExecNonQuery("delete from TMP_CAT_BILLETE")
|
|
Starter.skmt.ExecNonQuery("delete from TMP_CAT_MONEDAS")
|
|
Starter.skmt.ExecNonQuery("delete from TREND_SPENDING")
|
|
Starter.skmt.ExecNonQuery("delete from HIST_TREND_SPENDING_SEMANAL")
|
|
Starter.skmt.ExecNonQuery("delete from VERSIONES")
|
|
Starter.skmt.ExecNonQuery("delete from auditoria")
|
|
Starter.skmt.ExecNonQuery("delete from HIST_NOTIFICACIONES")
|
|
|
|
Starter.skmt.ExecNonQuery2("INSERT INTO HIST_ENVIOS VALUES (?,0,?)", Array As Object(sTime, "PEDIDO"))
|
|
Starter.skmt.ExecNonQuery2("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = ?", Array As Object ("NUMERO_PEDIDO"))
|
|
Starter.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("NUMERO_PEDIDO",0))
|
|
Starter.skmt.ExecNonQuery2("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = ?", Array As Object ("FINDIA_FECHA"))
|
|
Starter.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES (CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object("FINDIA_FECHA", Starter.FECHA_HOY))
|
|
Starter.skmt.ExecNonQuery2("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = ?", Array As Object ("NOVISITA_ACTIVA"))
|
|
Starter.skmt.ExecNonQuery2("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = ?", Array As Object ("NOVISITA_RAZON"))
|
|
Starter.skmt.ExecNonQuery2("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = ?", Array As Object ("VERIFY_DEVICE"))
|
|
Starter.skmt.ExecNonQuery2("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = ?", Array As Object ("VALIDA_VERSION"))
|
|
If File.Exists(File.DirInternal,"FOTO1.jpg") Then File.Delete(File.DirInternal,"FOTO1.jpg")
|
|
If File.Exists(File.DirInternal,"FOTO2.jpg") Then File.Delete(File.DirInternal,"FOTO2.jpg")
|
|
If File.Exists(File.DirInternal,"FOTO3.jpg") Then File.Delete(File.DirInternal,"FOTO3.jpg")
|
|
If File.Exists(File.DirInternal,"FOTO4.jpg") Then File.Delete(File.DirInternal,"FOTO4.jpg")
|
|
Subs.bitacora(Subs.fechanormal(DateTime.Now),usuario,ALMACEN,l_ruta.Text,"Fin Día", "",Subs.fechanormal(DateTime.Now),Subs.fechanormal(DateTime.Now),Starter.lat_gps,Starter.lon_gps,"2","","")
|
|
B4XPage_Appear
|
|
End If
|
|
Else if e_ruta.Text = "FIN DIA" Then
|
|
Msgbox("Ya se hizo FIN DIA hoy, solo se puede hacer un FIN DIA cada día, por favor comuniquese con un supervisor.", "LIMITE DIARIO SUPERADO") 'ignore
|
|
End If
|
|
If e_ruta.Text = "SUPLENCIA" Then
|
|
E_RUTA2.Visible = True
|
|
E_RUTA2.Text = ""
|
|
L_SUPLENCIA.Visible = True
|
|
Label4.Visible = True
|
|
' ImageView9.Visible = True
|
|
End If
|
|
End Sub
|
|
|
|
Sub kh_corriBatch
|
|
Log("respaldo corrido!!")
|
|
End Sub
|
|
|
|
Sub inv_Click
|
|
img2.Visible =True
|
|
EJECUTANDO = 1
|
|
inve = 1
|
|
Starter.skmt.ExecNonQuery("delete from cat_gunaprod")
|
|
Starter.skmt.ExecNonQuery("delete from CAT_DETALLES_PAQ")
|
|
c=Starter.skmt.ExecQuery("select usuario from usuarioa")
|
|
c.Position = 0
|
|
usuario = c.GetString("USUARIO")
|
|
|
|
cmd.Initialize
|
|
cmd.Name = "select_cat_gunaprod_KELL"
|
|
cmd.Parameters = Array As Object(ALMACEN)
|
|
reqManager.ExecuteQuery(cmd , 0, "gunaprod")
|
|
|
|
cmd.Initialize
|
|
cmd.Name = "select_cat_paquetes_KELL"
|
|
cmd.Parameters = Array As Object(ALMACEN)
|
|
reqManager.ExecuteQuery(cmd , 0, "gunaprodp")
|
|
|
|
cmd.Initialize
|
|
cmd.Name = "select_cat_detallepa_KELL"
|
|
cmd.Parameters = Array As Object(ALMACEN)
|
|
reqManager.ExecuteQuery(cmd , 0, "detallepaq")
|
|
|
|
cargar.Visible = False
|
|
Subir.Visible = False
|
|
connecta.Visible = True
|
|
inv.Visible = False
|
|
' ToastMessageShow("Se Actualizaran los datos. Este proceso podria tardar hasta un minuto, gracias" , True)
|
|
End Sub
|
|
|
|
Sub t1_tick
|
|
reqManager.trackInit
|
|
cmd.Initialize
|
|
cmd.Name = "select_cuantos_pedido_KELL"
|
|
cmd.Parameters = Array As Object(ALMACEN,l_ruta.text)
|
|
reqManager.ExecuteQuery(cmd , 0, "valida_pedido")
|
|
|
|
t3.Initialize("T3", 5000) ' 1000 = 1 second
|
|
t3.Enabled = True
|
|
Wait For t3_tick
|
|
'
|
|
cmd.Initialize
|
|
cmd.Name = "select_cuantos_noventa_KELL"
|
|
cmd.Parameters = Array As Object(ALMACEN,l_ruta.text)
|
|
reqManager.ExecuteQuery(cmd , 0, "valida_noventa")
|
|
|
|
cmd.Initialize
|
|
cmd.Name = "select_cuantos_pedidoc_KELL"
|
|
cmd.Parameters = Array As Object(ALMACEN,l_ruta.text)
|
|
reqManager.ExecuteQuery(cmd , 0, "valida_pedidoc")
|
|
|
|
If PB2.Progress = 0 Then
|
|
S_CP.Text = "ENVIAR DATOS (K-1)"
|
|
End If
|
|
img2.Visible=False
|
|
t1.Enabled = False
|
|
End Sub
|
|
|
|
Sub B_OK_PAS_Click
|
|
Log($"${CARGA}|${S_CP.text}"$)
|
|
If CARGA = "SUBIR" And S_CP.Text = "INFO OK" Then
|
|
c = Starter.skmt.ExecQuery2("select CAT_VA_VALOR from CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As String ("PERFIL"))
|
|
PERFIL = "0"
|
|
If c.RowCount > 0 Then
|
|
c.Position = 0
|
|
PERFIL = c.GetString("CAT_VA_VALOR")
|
|
End If
|
|
c.Close
|
|
c = Starter.skmt.ExecQuery2("select CAT_VA_VALOR from CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As String ("NUMERO_PEDIDO"))
|
|
NUMERO_PEDIDO = "0"
|
|
If c.RowCount > 0 Then
|
|
c.Position = 0
|
|
NUMERO_PEDIDO = c.GetString("CAT_VA_VALOR")
|
|
End If
|
|
c.Close
|
|
If PERFIL = "V-ESPECIAL" Then
|
|
Starter.skmt.ExecNonQuery2("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = ?", Array As Object ("NUMERO_PEDIDO"))
|
|
Starter.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("NUMERO_PEDIDO",NUMERO_PEDIDO + 1))
|
|
End If
|
|
P1.Visible = False
|
|
trabajar.Visible = True
|
|
B_PROXIMA.Visible =True
|
|
NUEVO.Visible = True
|
|
BUSCA.Visible = True
|
|
connecta.Visible = True
|
|
Resumen.Visible = True
|
|
img2.Visible = False
|
|
|
|
|
|
' B_PROXIMA.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
|
|
|
|
|
|
P1.SendToBack
|
|
Else If CARGA = "SUBIR" And S_CP.Text = "ERROR" Then
|
|
Msgbox("Tiene que subir de nuevo la información","Atención") 'ignore
|
|
P1.Visible = False
|
|
trabajar.Visible = True
|
|
' NUEVO.Visible =True
|
|
BUSCA.Visible=True
|
|
connecta.Visible=True
|
|
Resumen.Visible= True
|
|
img2.Visible=False
|
|
P1.SendToBack
|
|
Else if CARGA = "SUBIR" And S_CP.Text <> "INFO OK" Then
|
|
res = Msgbox2("Seguro que desea abortar el proceso","Cierre", "Si", "", "No",LoadBitmap(File.DirAssets,"alert2.png")) 'ignore
|
|
If res = DialogResponse.POSITIVE Then
|
|
P1.Visible = False
|
|
trabajar.Visible = True
|
|
' B_PROXIMA.Visible =True
|
|
' NUEVO.Visible =True
|
|
BUSCA.Visible=True
|
|
connecta.Visible=True
|
|
Resumen.Visible= True
|
|
img2.Visible=False
|
|
' ExitApplication
|
|
P1.SendToBack
|
|
End If
|
|
End If
|
|
If CARGA = "CARGAR" And S_CP.Text = "LISTO" And S_CC.Text = "LISTO" And S_CH.Text = "LISTO" Then
|
|
c=Starter.skmt.ExecQUERY("SELECT COUNT(*) AS CUANTOS FROM PEDIDO_DOE WHERE PE_CLIENTE <> 0")
|
|
c.Position = 0
|
|
cuantos_pedidosc = c.GetString("CUANTOS")
|
|
c.Close
|
|
If cuantos_pedidosc > 0 Then
|
|
c=Starter.skmt.ExecQUERY("SELECT PE_PROID, SUM(PE_CANT) AS PE_CANT FROM PEDIDO_DOE WHERE PE_CLIENTE <> 0 GROUP BY PE_PROID")
|
|
If c.RowCount>0 Then
|
|
For i=0 To c.RowCount -1
|
|
c.Position=i
|
|
Starter.skmt.ExecNonQuery2("update CAT_GUNAPROD2 set CAT_GP_ALMACEN = CAT_GP_ALMACEN - ? where CAT_GP_ID = ? ", Array As Object(c.GetString("PE_CANT"),c.GetString("PE_PROID")))
|
|
Next
|
|
End If
|
|
End If
|
|
c=Starter.skmt.ExecQuery("select COUNT(DISTINCT(PE_CLIENTE)) AS CLIENTES from PEDIDO_DOE ")
|
|
c.Position = 0
|
|
If c.GetString("CLIENTES") > 0 Then Msgbox("AVISO TIENES "& c.GetString("CLIENTES") & " PEDIDOS DON TOÑO PARA ENTREGAR"," PEDIDOS DON TOÑO")
|
|
c.Close
|
|
P1.Visible = False
|
|
trabajar.Visible = True
|
|
' B_PROXIMA.Visible =True
|
|
' NUEVO.Visible =True
|
|
BUSCA.Visible=True
|
|
connecta.Visible=True
|
|
Resumen.Visible= True
|
|
img2.Visible=False
|
|
P1.SendToBack
|
|
|
|
'Proyecto gps
|
|
Subs.bitacora(Subs.fechanormal(DateTime.Now),usuario,ALMACEN,l_ruta.Text,"Carga día", "",Subs.fechanormal(DateTime.Now),Subs.fechanormal(DateTime.Now),Starter.lat_gps,Starter.lon_gps,"2","","")
|
|
Else if CARGA = "CARGAR" And (S_CP.Text <> "LISTO" Or S_CC.Text <> "LISTO" Or S_CH.Text <> "LISTO") Then
|
|
res = Msgbox2("Seguro que desea abortar el proceso","Cierre", "Si", "", "No",LoadBitmap(File.DirAssets,"alert2.png")) 'ignore
|
|
If res = DialogResponse.POSITIVE Then
|
|
P1.Visible = False
|
|
trabajar.Visible = True
|
|
' B_PROXIMA.Visible =True
|
|
' NUEVO.Visible =True
|
|
BUSCA.Visible=True
|
|
connecta.Visible=True
|
|
Resumen.Visible= True
|
|
img2.Visible=False
|
|
Starter.skmt.ExecNonQuery("delete from kmt_info")
|
|
If logger Then Log("Borramos KMT_INFO")
|
|
Starter.skmt.ExecNonQuery("delete from cod_result")
|
|
Starter.skmt.ExecNonQuery("delete from hist_gest")
|
|
Starter.skmt.ExecNonQuery("delete from cat_gunaprod")
|
|
Starter.skmt.ExecNonQuery("delete from CAT_DETALLES_PAQ")
|
|
Starter.skmt.ExecNonQuery("delete from telefonos")
|
|
Starter.skmt.ExecNonQuery("delete from HIST_VENTAS")
|
|
Starter.skmt.ExecNonQuery("delete from HIST_PROMOS")
|
|
Starter.skmt.ExecNonQuery("delete from HIST_CLIENTE_CANT_PROMOS")
|
|
Starter.skmt.ExecNonQuery("delete from PROMOS_COMP")
|
|
Starter.skmt.ExecNonQuery("delete from CAT_VERIFICACION")
|
|
Starter.skmt.ExecNonQuery("delete from HIST_CUOTAS")
|
|
P1.SendToBack
|
|
ExitApplication
|
|
End If
|
|
End If
|
|
' P1.SendToBack 'Mod por CHV - 211213 - Se movio el sendToBack a los diferentes if/then porque no en todos los casos hay que ocultar el panel (Por ejemplo cuando se selecciona "No Abortar")
|
|
End Sub
|
|
|
|
Sub NUEVO_Click
|
|
If l_ruta.Text = 0 Then
|
|
Msgbox("No se ha cargado ruta","Alerta") 'ignore
|
|
Else
|
|
Subs.iniciaActividad("nuevocliente")
|
|
End If
|
|
End Sub
|
|
|
|
Sub B_OK_RES_Click
|
|
trabajar.Visible = True
|
|
l_descripcion.Visible = False
|
|
' B_PROXIMA.Visible =True
|
|
' NUEVO.Visible =True
|
|
BUSCA.Visible=True
|
|
connecta.Visible=True
|
|
Resumen.Visible= True
|
|
P_RESUMEN.Visible=False
|
|
If l_ruta.Text = "0" Then
|
|
NUEVO.Visible = False
|
|
B_PROXIMA.Visible = False
|
|
' Else
|
|
' NUEVO.Visible = True
|
|
' B_PROXIMA.Visible = True
|
|
End If
|
|
End Sub
|
|
|
|
Sub Resumen_Click
|
|
B4XPages.MainPage.aud.guarda("Entrada a resumenDia")
|
|
Log("###############")
|
|
L_ABORDO.Text = "0"
|
|
P_RESUMEN.Visible = True
|
|
P_RESUMEN.BringToFront
|
|
' trabajar.Visible = False
|
|
' B_PROXIMA.Visible =False
|
|
' NUEVO.Visible =False
|
|
' BUSCA.Visible=False
|
|
' connecta.Visible=False
|
|
' Subir.Visible=False
|
|
' cargar.Visible=False
|
|
' Resumen.Visible= False
|
|
DateTime.DateFormat = "MM/dd/yyyy"
|
|
fecha=DateTime.Date(DateTime.Now)
|
|
Starter.skmt.ExecNonQuery2("update PEDIDO set PE_TIPO = ? where PE_CLIENTE =?", Array As Object("ABORDO", "0"))
|
|
b = Starter.skmt.ExecQuery("Select count(*) as CUANTOS from pedido_cliente where pc_cliente <> 0")
|
|
b.Position = 0
|
|
Cuantos = b.GetString("CUANTOS")
|
|
' ToastMessageShow(Cuantos , True)
|
|
d = Starter.skmt.ExecQuery2("select count(*) as TOTAL_VISITAR from kmt_info where gestion = 0 and cat_cl_codigo <> 0 AND CAT_CL_DIAS_VISITA = (SELECT CAT_VA_VALOR FROM CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?)", Array As String("DIA_VISITA"))
|
|
D.Position = 0
|
|
b.Close
|
|
e = Starter.skmt.ExecQuery2("select count(*) as POR_VISITAR from kmt_info where cat_cl_codigo <> 0 and CAT_CL_DIAS_VISITA = (SELECT CAT_VA_VALOR FROM CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?) ", Array As String("DIA_VISITA"))
|
|
e.Position = 0
|
|
f = Starter.skmt.ExecQuery("select count(*) as CAT_CL_RUTA from kmt_info where cat_cl_codigo <> 0")
|
|
f.Position = 0
|
|
l_ruta.Text = f.GetString("CAT_CL_RUTA")
|
|
f.Close
|
|
If l_ruta.Text = 0 Then
|
|
l_ruta.Text = 0
|
|
Else
|
|
f = Starter.skmt.ExecQuery("select CAT_CL_RUTA from kmt_info")
|
|
f.Position = 0
|
|
l_ruta.Text = f.GetString("CAT_CL_RUTA")
|
|
f.Close
|
|
End If
|
|
b = Starter.skmt.ExecQuery("select count(*) as CUANTOS from noventa")
|
|
b.Position = 0
|
|
l_cuantosn.Text = b.GetString("CUANTOS")
|
|
If Cuantos = 0 Then
|
|
L_MONTOD.Text = 0
|
|
l_cuantosc.Text = 0
|
|
' l_cuantosn.Text = 0
|
|
' Log(">>>> Ponemos en CERO!!")
|
|
drop = 0
|
|
l_drop.Text = 0
|
|
efectiva = 0
|
|
l_efectiva.text = 0
|
|
l_ctast.Text = d.GetString("TOTAL_VISITAR")
|
|
'l_porvisitar.Text = e.GetString("POR_VISITAR")
|
|
d.Close
|
|
e.Close
|
|
l_monto_kp.Text = "0"
|
|
l_monto_k.Text = "0"
|
|
l_monto_ks.Text = "0"
|
|
Else
|
|
' aqui poner lo de efectividad de doe y la cantidad de doe para enviar a tiempo real
|
|
Dim TOTAL_DOE_BB As String
|
|
Dim TOTAL_EFE_DOE As String
|
|
Dim TOTAL_ENTREGA_DOE As String
|
|
C_DOE = Starter.skmt.ExecQuery("SELECT COUNT(*) AS CUANTOS FROM PEDIDO_DOE")
|
|
C_DOE.Position = 0
|
|
If C_DOE.GetString("CUANTOS") > 0 Then
|
|
F_DOE = Starter.skmt.ExecQuery("SELECT SUM(PE_COSTO_TOT) AS TOTAL FROM PEDIDO_DOE")
|
|
F_DOE.Position = 0
|
|
TOTAL_DOE_BB = F_DOE.GetString("TOTAL")
|
|
F_DOE.Close
|
|
D_DOE=Starter.skmt.ExecQuery2("select sum(PE_COSTO_TOT) as DOE from pedido where PE_CEDIS = ? ", Array As String("PROMODOE"))
|
|
D_DOE.Position = 0
|
|
TOTAL_ENTREGA_DOE = D_DOE.GetString("DOE")
|
|
D_DOE.Close
|
|
End If
|
|
'' fin de esto modificar lo anterior
|
|
c=Starter.skmt.ExecQuery2("select sum(pe_cant) as CAMBIOS from pedido where substr(pe_pronombre,1,6) = ?", Array As String("CAMBIO"))
|
|
c.Position = 0
|
|
l_cambios.Text = c.GetString("CAMBIOS")
|
|
c.Close
|
|
c=Starter.skmt.ExecQuery2("Select sum(PE_COSTO_TOT) As MONTO_DIA from pedido where PE_CLIENTE <> 0 and (pe_proid in (Select CAT_GP_ID from cat_gunaprod2 where CAT_GP_TIPO = ? ) or pe_proid in (Select CAT_GP_ID from cat_gunaprod where CAT_GP_TIPO = ?))", Array As String("RTEC","RTEC"))
|
|
c.Position = 0
|
|
l_monto_k.Text = c.GetString("MONTO_DIA")
|
|
If l_monto_k.Text = "null" Then
|
|
l_monto_k.Text = "0"
|
|
End If
|
|
c.Close
|
|
c=Starter.skmt.ExecQuery2("Select sum(PE_COSTO_TOT) As MONTO_DIA from pedido where PE_CLIENTE <> 0 and (pe_proid in (Select CAT_GP_ID from cat_gunaprod2 where CAT_GP_TIPO = ? ) or pe_proid in (Select CAT_GP_ID from cat_gunaprod where CAT_GP_TIPO = ?))", Array As String("PING","PING"))
|
|
c.Position = 0
|
|
l_monto_kp.Text = c.GetString("MONTO_DIA")
|
|
If l_monto_kp.Text = "null" Then
|
|
l_monto_kp.Text = "0"
|
|
End If
|
|
c.Close
|
|
c=Starter.skmt.ExecQuery2("Select sum(PE_COSTO_TOT) As MONTO_DIA from pedido where PE_CLIENTE <> 0 and (pe_proid in (Select CAT_GP_ID from cat_gunaprod2 where CAT_GP_TIPO = ? ) or pe_proid in (Select CAT_GP_ID from cat_gunaprod where CAT_GP_TIPO = ?))", Array As String("SALTY SNACKS","SALTY SNACKS"))
|
|
c.Position = 0
|
|
l_monto_ks.Text = c.GetString("MONTO_DIA")
|
|
If l_monto_ks.Text = "null" Then
|
|
l_monto_ks.Text = "0"
|
|
End If
|
|
c.Close
|
|
DDD=Starter.skmt.ExecQuery("Select COUNT(*) AS CUANTOS from HIST_CUOTAS ")
|
|
DDD.Position = 0
|
|
If DDD.GetString("CUANTOS") > 0 Then
|
|
c=Starter.skmt.ExecQuery("Select HC_CUOTA1,HC_CUOTA2,HC_CUOTA3 from HIST_CUOTAS ")
|
|
c.Position = 0
|
|
l_monto_c1.Text = Round( c.GetString("HC_CUOTA1") / 6)
|
|
l_monto_c2.Text = Round(c.GetString("HC_CUOTA2") / 6)
|
|
l_monto_c3.Text = Round(c.GetString("HC_CUOTA3") / 6)
|
|
c.Close
|
|
Else
|
|
l_monto_c1.Text = 2000
|
|
l_monto_c2.Text = 2000
|
|
l_monto_c3.Text = 2000
|
|
End If
|
|
DDD.Close
|
|
c = Starter.skmt.ExecQuery("select sum(pc_monto) as MONTO_DIA, count(pc_cliente) AS CLIENTES_DIA from pedido_cliente where pc_cliente <> 0")
|
|
'where pc_fecha = ?", Array As String(fecha)
|
|
c.Position = 0
|
|
' L_MONTOD.Text = c.GetString("MONTO_DIA")
|
|
L_MONTOD.Text = Subs.sumaPedido(Subs.traeCliente) 'Trae el monto sin el redondeo que a veces hace el SUM().
|
|
|
|
' Dim x As Cursor = Starter.skmt.ExecQuery($"select PE_COSTO_TOT from pedido where PE_CEDIS <> PE_PROID and PE_CEDIS <> "DOE" and PE_CLIENTE <> 0"$)
|
|
' If x.RowCount > 0 Then
|
|
' x.Position = 0
|
|
' Log($">>>> ${}"$)
|
|
' End If
|
|
|
|
' Log(Subs.sumaPedido(Subs.traeCliente) & " - " & L_MONTOD.Text)
|
|
' Subs.sumaPedido(Subs.traeCliente)
|
|
l_cuantosc.Text = c.GetString("CLIENTES_DIA")
|
|
|
|
Log(">>>> Ponemos en " & b.GetString("CUANTOS"))
|
|
l_porvisitar.Text = NumberFormat2((l_cuantosc.Text + l_cuantosn.Text), 1, 0, 0, False)
|
|
' efectiva = L_CUANTOST.Text / e.GetString("POR_VISITAR")
|
|
efectiva = l_porvisitar.Text / L_CUANTOST.text ' Efectividad = Visitados de hoy / Totales de hoy
|
|
LogColor($"${L_CUANTOST.Text} / ${e.GetString("POR_VISITAR")} = ${(L_CUANTOST.Text / e.GetString("POR_VISITAR") * 100)}"$, Colors.BLUE)
|
|
l_efectiva.text = Round2(efectiva*100,2)
|
|
l_ctast.Text = d.GetString("TOTAL_VISITAR")
|
|
'l_porvisitar.Text = e.GetString("POR_VISITAR")
|
|
' l_drop.Text = Round((L_CUANTOST.Text / l_porvisitar.text) * 100)
|
|
l_drop.Text = Round2(((c.GetString("CLIENTES_DIA") / L_CUANTOST.text)*100),2) ' Productividad = Con venta de hoy / Totales de hoy
|
|
Log($"PRODUCTIVIDAD: ${c.GetString("CLIENTES_DIA")} / ${L_CUANTOST.text} = ${(c.GetString("CLIENTES_DIA") / L_CUANTOST.text)}"$)
|
|
|
|
If l_drop.Text + l_efectiva.Text < 100 Then
|
|
ImageView3.Bitmap = LoadBitmap(File.DirAssets, "tache_rojo.png")
|
|
Else If l_drop.Text + l_efectiva.Text > = 100 And l_drop.Text + l_efectiva.Text < 130 Then
|
|
ImageView3.bitmap = LoadBitmap(File.DirAssets, "alerta_amarilla.png")
|
|
Else
|
|
ImageView3.Bitmap = LoadBitmap(File.DirAssets, "palomita_verde.png")
|
|
End If
|
|
L_TICKPROM.Text = Round2((c.GetString("MONTO_DIA") / c.GetString("CLIENTES_DIA")),2)
|
|
If c.GetString("MONTO_DIA") < 2500 Then
|
|
ImageView5.Bitmap = LoadBitmap(File.DirAssets, "tache_rojo.png")
|
|
Else if c.GetString("MONTO_DIA") > = 2500 And c.GetString("MONTO_DIA") < 4000 Then
|
|
ImageView5.bitmap = LoadBitmap(File.DirAssets, "alerta_amarilla.png")
|
|
Else
|
|
ImageView5.Bitmap = LoadBitmap(File.DirAssets, "palomita_verde.png")
|
|
End If
|
|
c.Close
|
|
b.Close
|
|
End If
|
|
b = Starter.skmt.ExecQuery("Select count(*) as CUANTOS from pedido where pe_cliente = 0")
|
|
b.Position = 0
|
|
Cuantos = b.GetString("CUANTOS")
|
|
If Cuantos > 0 Then
|
|
c=Starter.skmt.ExecQuery("Select sum(PE_COSTO_TOT) AS TOTAL from pedido where pe_cliente = 0")
|
|
c.Position = 0
|
|
L_ABORDO.Text = c.GetString("TOTAL")
|
|
c.Close
|
|
End If
|
|
b.Close
|
|
End Sub
|
|
|
|
Sub B_PROXIMA_Click
|
|
b = Starter.skmt.ExecQuery("Select count(*) as CUANTOS from pedido where pe_cliente = 0 and pe_tipo = 'ABORDO' " )
|
|
b.Position = 0
|
|
If horaentrada Or 1 = 1 Then ' El 1 = 1 es para DESAHABILITAR la resticcion del horario para entrar al abordo del PEDIDO SUGERIDO.
|
|
' Log(b.GetString("CUANTOS"))
|
|
If b.GetString("CUANTOS") > 0 Then
|
|
' If horaentrada Then
|
|
Starter.skmt.ExecNonQuery("delete from CUENTAA")
|
|
Starter.skmt.ExecNonQuery2("INSERT INTO CUENTAA VALUES (?)", Array As Object("0"))
|
|
Starter.tipov = "ABORDO"
|
|
B4XPages.ShowPage("Productos")
|
|
' End If
|
|
Else If b.GetString("CUANTOS") = 0 Then
|
|
' Log(777)
|
|
e = Starter.skmt.ExecQuery("SELECT * FROM PEDIDO_SUGERIDO")
|
|
Log("Registros en Pedido Sugerido: " & e.RowCount)
|
|
If 1 = 2 And e.RowCount > 0 Then ' El 1 = 2 es para DESACTIVAR el PEDIDO SUGERIDO.
|
|
Msgbox2Async("Tienes un pedido sugerido, ¿Deseas aceptarlo?","Atención", "Si", "", "No",LoadBitmap(File.DirAssets,"alert2.png"),False)
|
|
Wait For Msgbox_Result (result As Int)
|
|
If result = DialogResponse.POSITIVE Then
|
|
' If horaentrada Then
|
|
Starter.skmt.ExecNonQuery("delete from CUENTAA")
|
|
Starter.skmt.ExecNonQuery2("INSERT INTO CUENTAA VALUES (?)", Array As Object("0")) ' Ponemos el cliente actual en 0
|
|
For i = 0 To e.RowCount - 1
|
|
e.Position = i
|
|
c = Starter.skmt.ExecQuery2("SELECT * FROM CAT_GUNAPROD WHERE CAT_GP_ID = ?",Array As String(e.GetString("ID_PRODUCTO")))
|
|
If c.RowCount > 0 Then
|
|
c.Position = 0
|
|
Subs.actualizaProducto(e.GetString("ALMACEN"), c.GetString("CAT_GP_PRECIO"),e.GetString("PROMEDIO"), c.GetString("CAT_GP_NOMBRE"), e.GetString("ID_PRODUCTO"),"0",Subs.traeFecha,usuario,e.GetString("RUTA"),c.GetString("CAT_GP_PRECIO"),"ABORDO")
|
|
End If
|
|
Next
|
|
Starter.skmt.ExecNonQuery("delete from CUENTAA")
|
|
Starter.skmt.ExecNonQuery2("INSERT INTO CUENTAA VALUES (?)", Array As Object("0"))
|
|
Starter.tipov = "ABORDO"
|
|
B4XPages.ShowPage("Productos")
|
|
' End If
|
|
Else If result = DialogResponse.NEGATIVE Then
|
|
' If horaentrada Then
|
|
Starter.skmt.ExecNonQuery("delete from CUENTAA")
|
|
Starter.skmt.ExecNonQuery2("INSERT INTO CUENTAA VALUES (?)", Array As Object("0"))
|
|
Starter.tipov = "ABORDO"
|
|
B4XPages.ShowPage("Productos")
|
|
' End If
|
|
End If
|
|
Else
|
|
' If horaentrada Then
|
|
Starter.skmt.ExecNonQuery("delete from CUENTAA")
|
|
Starter.skmt.ExecNonQuery2("INSERT INTO CUENTAA VALUES (?)", Array As Object("0"))
|
|
Starter.tipov = "ABORDO"
|
|
B4XPages.ShowPage("Productos")
|
|
' End If
|
|
End If
|
|
e.Close
|
|
End If
|
|
End If
|
|
b.Close
|
|
End Sub
|
|
|
|
Sub horaentrada As Boolean
|
|
' Dim periodo As Period
|
|
' periodo.Hours = 0
|
|
' periodo.Minutes = 0
|
|
' Dim newDate As Long = DateUtils.AddPeriod(DateTime.Now, periodo)
|
|
'' Log(newDate)
|
|
' Log(DateUtils.TicksToString(newDate))
|
|
' Dim p2 As Period
|
|
' p2.Hours = 0
|
|
' p2.Minutes = 0
|
|
' DateTime.DateFormat = "MM/dd/yyyy HH:mm"
|
|
' Dim fecha2 As String = DateTime.Date(DateTime.Now)
|
|
' Log("FECHA2: " & DateUtils.TicksToString(DateTime.Now))
|
|
' Dim pr2() As String = Regex.Split(" ",fecha2)
|
|
' LogColor(pr2(0),Colors.red)
|
|
' Dim pr3 As String = pr2(0) &" "&"12:00"
|
|
' LogColor(pr3,Colors.Red)
|
|
' Dim ticks2 As Long = DateTime.DateParse(pr3)
|
|
' LogColor(ticks2,Colors.red)
|
|
' LogColor(DateTime.Date(ticks2),Colors.red)
|
|
' Dim timeToCheck2 As Long = DateUtils.AddPeriod(ticks2, p2)
|
|
' LogColor(DateUtils.TicksToString(timeToCheck2),Colors.red)
|
|
' If timeToCheck2 <= newDate Then
|
|
' Return True
|
|
' Else
|
|
' Return False
|
|
' End If
|
|
DateTime.TimeFormat = "HH:mm:ss"
|
|
Private lasDoce As Long = DateTime.TimeParse("12:00:00")
|
|
' Private lasDoce As Long = DateTime.TimeParse("9:55:00")
|
|
Log("lasDoce: " & DateUtils.TicksToString(lasDoce))
|
|
If DateTime.Now < lasDoce Then
|
|
ToastMessageShow($"No puedes entrar al ABORDO antes de las ${Subs.horaNormal(lasDoce)}"$, True)
|
|
Log("False")
|
|
Return False
|
|
Else
|
|
Log("true")
|
|
Return True
|
|
End If
|
|
End Sub
|
|
|
|
Sub Printer_Connected (Success As Boolean)
|
|
If Success Then
|
|
B_IMP.Enabled = True
|
|
PASA_IMP = "1"
|
|
Else
|
|
B_IMP.Enabled = False
|
|
If Msgbox2("", "Printer Error","Reprint","Cancel","",Null) = DialogResponse.POSITIVE Then 'ignore
|
|
StartPrinter
|
|
End If
|
|
End If
|
|
End Sub
|
|
|
|
Sub StartPrinter
|
|
Dim PairedDevices As Map
|
|
Dim L As List
|
|
Dim resimp As Int
|
|
ToastMessageShow("Printing.....",True)
|
|
PairedDevices.Initialize
|
|
Try
|
|
PairedDevices = cmp20.GetPairedDevices
|
|
Catch
|
|
Msgbox("Getting Paired Devices","Printer Error") 'ignore
|
|
printer.Close
|
|
cmp20.Disconnect
|
|
End Try
|
|
If PairedDevices.Size = 0 Then
|
|
Msgbox("Error Connecting to Printer - Printer Not Found","") 'ignore
|
|
Return
|
|
End If
|
|
If PairedDevices.Size = 1 Then
|
|
Try
|
|
cmp20.ConnectInsecure(Starter.btAdmin,PairedDevices.Get(PairedDevices.GetKeyAt(0)),1)
|
|
Catch
|
|
Msgbox("Connecting","Printer Error") 'ignore
|
|
printer.Close
|
|
cmp20.Disconnect
|
|
End Try
|
|
Else
|
|
L.Initialize
|
|
For i = 0 To PairedDevices.Size - 1
|
|
L.Add(PairedDevices.GetKeyAt(i))
|
|
Next
|
|
resimp = InputList(L, "Choose device", -1) 'ignore
|
|
If resimp <> DialogResponse.CANCEL Then
|
|
cmp20.Connect(PairedDevices.Get(L.Get(resimp)))
|
|
End If
|
|
End If
|
|
End Sub
|
|
|
|
' BOLETA
|
|
Sub B_BOLETA_Click
|
|
l_descripcion.Visible = False
|
|
GetResult
|
|
End Sub
|
|
|
|
Sub GetResult
|
|
Starter.boleta = 1
|
|
B4XPages.MainPage.cliente.muestraBoleta = True
|
|
B4XPages.MainPage.cliente.LLAMA_BOLETA
|
|
Subs.iniciaActividad("cliente")
|
|
' CallSubDelayed(B4XPages.GetPage("Cliente"), "LLAMA_BOLETA")
|
|
End Sub
|
|
|
|
Sub B_MAPA_RUTA_Click
|
|
Subs.iniciaActividad2("MAPA_RUTAS")
|
|
End Sub
|
|
|
|
Sub b_cuotas_Click
|
|
l_descripcion.Visible = False
|
|
DDD=Starter.skmt.ExecQuery("Select COUNT(*) AS CUANTOS from HIST_CUOTAS ")
|
|
DDD.Position = 0
|
|
If DDD.GetString("CUANTOS") > 0 Then
|
|
c=Starter.skmt.ExecQuery("Select HC_CUOTA1,HC_CUOTA2,HC_CUOTA3,HC_CUOTA4,HC_CUOTA5,HC_CUOTA6,HC_META1,HC_META2,HC_META3,HC_META4,HC_META5,HC_META6 from HIST_CUOTAS ")
|
|
c.Position= 0
|
|
L_CUOTA1.TEXT = c.GetString("HC_CUOTA1")
|
|
L_CUOTA2.TEXT = c.GetString("HC_CUOTA2")
|
|
L_CUOTA3.TEXT = c.GetString("HC_CUOTA3")
|
|
L_CUOTA4.TEXT = c.GetString("HC_CUOTA4")
|
|
L_CUOTA5.TEXT = c.GetString("HC_CUOTA5")
|
|
L_CUOTA6.TEXT = c.GetString("HC_CUOTA6")
|
|
L_META1.Text = c.GetString("HC_META1")
|
|
L_META2.Text = c.GetString("HC_META2")
|
|
L_META3.Text = c.GetString("HC_META3")
|
|
L_META4.Text = c.GetString("HC_META4")
|
|
L_META5.Text = c.GetString("HC_META5")
|
|
L_META6.Text = c.GetString("HC_META6")
|
|
If L_MONTOD.Text > 0 Then
|
|
L_META1.Text= $"$1.2{(l_monto_k.Text + L_META1.Text)}"$ 'l_monto_k.Text + L_META1.Text
|
|
L_META2.Text= $"$1.2{(l_monto_kp.Text + L_META2.Text)}"$
|
|
L_META3.Text= $"$1.2{(l_monto_ks.Text + L_META3.Text)}"$ 'l_monto_ks.Text + L_META3.Text
|
|
L_META4.Text= $"$1.2{(l_monto_k.Text + L_META4.Text)}"$ ' l_monto_k.Text + L_META4.Text
|
|
L_META5.Text= $"$1.2{(l_monto_kp.Text + L_META5.Text)}"$ 'l_monto_kp.Text + L_META5.Text
|
|
L_META6.Text= $"$1.2{(l_monto_ks.Text + L_META6.Text)}"$ 'l_monto_ks.Text + L_META6.Text
|
|
End If
|
|
Else
|
|
L_CUOTA1.TEXT = 0
|
|
L_CUOTA2.TEXT = 0
|
|
L_CUOTA3.TEXT = 0
|
|
L_CUOTA4.TEXT = 0
|
|
L_CUOTA5.TEXT = 0
|
|
L_CUOTA6.TEXT = 0
|
|
L_META1.Text = 0
|
|
L_META2.Text = 0
|
|
L_META3.Text = 0
|
|
L_META4.Text = 0
|
|
L_META5.Text = 0
|
|
L_META6.Text = 0
|
|
End If
|
|
DDD.Close
|
|
p_resumenAcumulado.Top = 5dip : p_resumenAcumulado.left = 5dip
|
|
p_resumenAcumulado.Width = Root.Width - 10dip : p_resumenAcumulado.height = Root.height - 10dip
|
|
p_resumenAcumulado.BringToFront
|
|
p_resumenAcumulado.Visible = True
|
|
Panel2.Visible = False
|
|
Panel1.Visible = False
|
|
End Sub
|
|
|
|
Sub B_CUOATA_C_Click
|
|
p_resumenAcumulado.Visible = False
|
|
Panel2.Visible = True
|
|
Panel1.Visible = True
|
|
End Sub
|
|
|
|
Sub Btn_CheckList_Click
|
|
If logger Then Log("Cambiamos a CHECKLIST_AUTO")
|
|
B4XPages.ShowPage("CheckList")
|
|
' Activity.Finish
|
|
End Sub
|
|
|
|
Sub Btn_CheckList_LongClick
|
|
' Dim x As Int = "a"
|
|
' StartActivity(errorManager)
|
|
End Sub
|
|
|
|
Sub SUBIR_INFO_PEDIDO
|
|
P1.Width = GetDeviceLayoutValues.Width
|
|
P1.Height = GetDeviceLayoutValues.Height
|
|
Subs.panelVisible(P1, 0, 0)
|
|
c=Starter.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=Starter.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=Starter.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 = Starter.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
|
|
End If
|
|
Starter.skmt.ExecNonQuery("delete from pedido_cliente where PC_CLIENTE not In (select PE_CLIENTE from pedido)")
|
|
c = Starter.skmt.ExecQuery("select usuario from usuarioa")
|
|
c.Position = 0
|
|
usuario = c.GetString("USUARIO")
|
|
c.Close
|
|
' DROP
|
|
b = Starter.skmt.ExecQuery("Select count(*) as CUANTOS from pedido where pe_cliente = 0")
|
|
b.Position = 0
|
|
Cuantos = b.GetString("CUANTOS")
|
|
If Cuantos > 0 Then
|
|
c = Starter.skmt.ExecQuery("Select sum(PE_COSTO_TOT) AS TOTAL from pedido where pe_cliente = 0")
|
|
c.Position = 0
|
|
L_ABORDO.Text = c.GetDouble("TOTAL")
|
|
c.Close
|
|
End If
|
|
Dim PEDIDO_TOT As String
|
|
b = Starter.skmt.ExecQuery("Select count(*) as CUANTOS from pedido where pe_cliente <> 0")
|
|
b.Position = 0
|
|
Cuantos = b.GetString("CUANTOS")
|
|
If Cuantos > 0 Then
|
|
c = Starter.skmt.ExecQuery("Select sum(PE_COSTO_TOT) AS TOTAL from pedido where pe_cliente <> 0")
|
|
c.Position = 0
|
|
PEDIDO_TOT = c.GetDouble("TOTAL")
|
|
c.Close
|
|
End If
|
|
d = Starter.skmt.ExecQuery("SELECT SUM(PE_COSTO_TOT) as MONTO FROM PEDIDO")
|
|
d.Position = 0
|
|
Private monto1 As String = "0"
|
|
If d.GetString("MONTO") <> Null And d.GetString("MONTO") <> "" Then monto1 = d.GetString("MONTO")
|
|
Private abordo1 As String = L_ABORDO.Text
|
|
If abordo1 = "" Then abordo1 = "0"
|
|
' Log($"${monto1}, ${abordo1}"$)
|
|
monto1 = monto1 - abordo1
|
|
|
|
reqManager.trackInit
|
|
|
|
Dim cmd As DBCommand
|
|
cmd.Initialize
|
|
cmd.Name ="insert_drop2_KELL"
|
|
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, monto1, "ENVIO", ALMACEN, abordo1)
|
|
reqManager.ExecuteCommand(cmd , "inst_noventa_ins_drop_kell")
|
|
' Log($"${usuario}, ${l_ruta.Text}, ${fecha}, ${l_porvisitar.Text}, ${l_drop.Text}, ${l_efectiva.Text}, ${l_cuantosc.Text}, ${l_cuantosn.Text}, ${monto1}, "ENVIO", ${ALMACEN}, ${abordo1}"$)
|
|
Log("################## inst_noventa_ins_drop_kell")
|
|
img2.Visible =True
|
|
contador_env = contador_env + 1
|
|
S_CP.Text = "Envio Cabecera"
|
|
PB2.Progress = 100
|
|
t3.Initialize("T3", 500) ' 1000 = 1 second
|
|
t3.Enabled = True
|
|
Wait For t3_tick
|
|
Dim cmd As DBCommand
|
|
cmd.Initialize
|
|
cmd.Name ="UPDATE_INFO_E_KELL"
|
|
cmd.Parameters = Array As Object(PEDIDO_TOT, L_ABORDO.Text, d.GetDouble("MONTO"),l_ruta.TEXT, ALMACEN)
|
|
reqManager.ExecuteCommand(cmd , "inst_noventa_Upd_Info_e_Kell")
|
|
contador_env = contador_env + 1
|
|
|
|
'BITACORA (PROYECTO GPS)
|
|
Private h As ResultSet = Starter.skmt.ExecQuery($"select * from bitacoraGPS"$)
|
|
Do While h.nextrow
|
|
cmd.Initialize
|
|
Private eventob As String = h.GetString("eventob")
|
|
cmd.Name = "mandaBitacora3"
|
|
' Log("BITACORA3")
|
|
Private clienteb As String = h.GetString("clienteb")
|
|
Private finb As String = h.GetString("finb")
|
|
Private nombreCliente As String =Subs. traeNombreCliente(h.GetString("clienteb"))
|
|
If eventob = "Llega a almacen" Then
|
|
nombreCliente = "BOLETA"
|
|
clienteb = ""
|
|
finb = h.GetString("iniciob")
|
|
End If
|
|
If eventob = "Salida almacen" Then nombreCliente = "CHECKLIST"
|
|
If eventob = "Fin Día" Then nombreCliente = "FIN DIA"
|
|
If eventob = "Carga día" Then nombreCliente = "CARGA DIA"
|
|
' Log($"'${almacenb}', '${usuariob}', '${rutab}', '${eventob}', '${clienteb}', '${nombreCliente}','${ iniciob}', '${finb}','${ latitudb}','${ longitudb}', '${precision}', '${motivonoventa}', '${motivonovisita}', '${fechab}'"$)
|
|
' TMP_ALMACEN, TMP_USUARIO, TMP_RUTA, TMP_EVENTO, TMP_ID_CLIENTE, TMP_NOMBRE_CLIENTE, TMP_INICIO, TMP_FINAL, TMP_LATITUD, TMP_LONGITUD, TMP_PRESICION, TMP_MOTIVO_NO_VENTA, TMP_MOTIVO_NO_VISITA, TMP_FECHA_SINC, TMP_FECHA_MOVIL
|
|
cmd.Parameters = Array As Object(h.GetString("almacenb"), h.GetString("usuariob"), h.GetString("rutab"), eventob, clienteb, nombreCliente, h.GetString("iniciob"), finb, h.GetString("latitudb"), h.GetString("longitudb"), h.GetString("precision"), h.GetString("motivonoventa"), h.GetString("motivonovisita"), h.GetString("fechab"))
|
|
reqManager.ExecuteCommand(cmd , "mandaBitacora")
|
|
Loop
|
|
Log("MANDAMOS BITACORA")
|
|
|
|
' ENCUESTA
|
|
c = Starter.skmt.ExecQuery("SELECT HE_CLIE, HE_RES, HE_FECHA, HE_TIPO FROM HIST_ENCUESTA")
|
|
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_KELL"
|
|
cmd.Parameters = Array As Object(C.GetString("HE_CLIE"),C.GetString("HE_RES"),C.GetString("HE_FECHA"), c.GetString("HE_TIPO"),l_ruta.Text )
|
|
If logger Then Log($"${C.GetString("HE_CLIE")},${C.GetString("HE_RES")},${C.GetString("HE_FECHA")}, ${c.GetString("HE_TIPO")},${l_ruta.Text}"$)
|
|
reqManager.ExecuteCommand(cmd , "inst_noventa_ins_enc_kell_"&i)
|
|
PB2.Progress = PB2.Progress + 1
|
|
contador_env = contador_env + 1
|
|
Next
|
|
PB2.Progress = 100
|
|
End If
|
|
c.Close
|
|
c = Starter.skmt.ExecQuery("Select HF_FOTO, HF_CUENTA, HF_IDENCUESTA from HIST_FOTOS")
|
|
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_foto_KELLS"
|
|
cmd.Parameters = Array As Object(C.GetBLOB("HF_FOTO"),C.GetString("HF_CUENTA"),C.GetString("HF_IDENCUESTA"),l_ruta.Text, ALMACEN, usuario )
|
|
reqManager.ExecuteCommand(cmd , "inst_noventa_ins_enc_foto_kell")
|
|
PB2.Progress = PB2.Progress + 1
|
|
contador_env = contador_env + 1
|
|
Next
|
|
End If
|
|
c.Close
|
|
|
|
t3.Initialize("T3", 500) ' 1000 = 1 second
|
|
t3.Enabled = True
|
|
Wait For t3_tick
|
|
|
|
'clientes nuevos
|
|
c = Starter.skmt.ExecQuery2("SELECT CAT_CL_CODIGO, CAT_CL_NOMBRE FROM kmt_info where CAT_CL_ATIENDE1 = ?", Array As String("new"))
|
|
S_CP.Text = "Envio C/Nuevos"
|
|
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_clie_new_KELL"
|
|
cmd.Parameters = Array As Object(C.GetString("CAT_CL_CODIGO"),C.GetString("CAT_CL_NOMBRE"),l_ruta.Text,ALMACEN )
|
|
reqManager.ExecuteCommand(cmd , "inst_noventa_ins_clie_new_kell")
|
|
PB2.Progress = PB2.Progress + 1
|
|
contador_env = contador_env + 1
|
|
Next
|
|
End If
|
|
c.Close
|
|
t3.Initialize("T3", 500) ' 1000 = 1 second
|
|
t3.Enabled = True
|
|
Wait For t3_tick
|
|
S_CP.Text = "Envio C/Pedidos"
|
|
PB2.Progress = 1
|
|
|
|
' PEDIO_CLIENTE
|
|
' enviaPedidoCliente("Todos")
|
|
|
|
d = Starter.skmt.ExecQuery("SELECT COUNT(*) as CUANTOS_PEDIDOSC FROM PEDIDO_CLIENTE ")
|
|
d.Position=0
|
|
cuantos_pedidosc = D.GetString("CUANTOS_PEDIDOSC")
|
|
PB2.Progress = 100
|
|
d.Close
|
|
|
|
ENVIADA = 0
|
|
PORENVIAR = 0
|
|
|
|
' PEDIDO
|
|
' t3.Initialize("T3", 500) ' 1000 = 1 second
|
|
' t3.Enabled = True
|
|
' Wait For t3_tick
|
|
' enviaPedido("Todos")
|
|
|
|
enviaPedidoBatch("Todos") ' ****** AQUI VA PEDIDO_CLIENTE Y PEDIDO JUNTOS *****
|
|
|
|
d = Starter.skmt.ExecQuery("SELECT COUNT(*) as CUANTOS_PEDIDO FROM PEDIDO")
|
|
d.Position=0
|
|
cuantos_pedido = D.GetString("CUANTOS_PEDIDO")
|
|
PB2.Progress = 100
|
|
d.Close
|
|
|
|
' NOVENTA
|
|
c = Starter.skmt.ExecQuery("SELECT NV_CLIENTE,NV_FECHA,NV_USER,NV_MOTIVO,NV_COMM,NV_LAT,NV_LON FROM NOVENTA")
|
|
D = Starter.skmt.ExecQuery("SELECT COUNT(*) AS CUANTOS_NOVENTA FROM NOVENTA")
|
|
t3.Initialize("T3", 500) ' 1000 = 1 second
|
|
t3.Enabled = True
|
|
Wait For t3_tick
|
|
S_CP.Text = "Envio No Venta"
|
|
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_noventa_KELL"
|
|
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_ins_noventa_kell")
|
|
PB2.Progress = PB2.Progress + 1
|
|
contador_env = contador_env + 1
|
|
Next
|
|
End If
|
|
c.Close
|
|
d.Position=0
|
|
cuantos_noventa = D.GetString("CUANTOS_NOVENTA")
|
|
PB2.Progress = 100
|
|
d.Close
|
|
|
|
' ENTREGA DOE PEDIDOS_DOE_ENTREGA (PC_CLIENTE, PC_ENTREGA)
|
|
c=Starter.skmt.ExecQuery("SELECT PC_CLIENTE, PC_ENTREGA FROM PEDIDOS_DOE_ENTREGA")
|
|
If c.RowCount>0 Then
|
|
For i=0 To c.RowCount -1
|
|
c.Position=i
|
|
Dim cmd As DBCommand
|
|
cmd.Initialize
|
|
cmd.Name = "UPDATE_PEDIDOS_DOE_ENTREGA"
|
|
cmd.Parameters = Array As Object(C.GetString("PC_CLIENTE"),C.GetString("PC_ENTREGA"), ALMACEN, l_ruta.Text)
|
|
reqManager.ExecuteCommand(cmd , "UPDATE_PEDIDOS_DOE_ENTREGA")
|
|
PB2.Progress = PB2.Progress + 1
|
|
contador_env = contador_env + 1
|
|
Next
|
|
c.Close
|
|
End If
|
|
|
|
' CHECK LIST VALIDAR
|
|
'Msgbox("antesde de mandar","") 'ignore
|
|
c = Starter.skmt.ExecQuery("SELECT " & Chr(34) & "TMP_AUTO_RUTA " & Chr(34) & " as TMP_AUTO_RUTA," & Chr(34) & "TMP_AUTO_PLACA" & Chr(34) & " as TMP_AUTO_PLACA," & Chr(34) & "TMP_AUTO_CEDIS " & Chr(34) & " as TMP_AUTO_CEDIS," & Chr(34) & "TMP_AUTO_IDALMACEN" & Chr(34) & " as TMP_AUTO_IDALMACEN," & Chr(34) & "TMP_AUTO_FECHA " & Chr(34) & " as TMP_AUTO_FECHA," & Chr(34) & "TMP_AUTO_KILOMETRAJE" & Chr(34) & " as TMP_AUTO_KILOMETRAJE," & Chr(34) & "TMP_AUTO_COMBUSTIBLE" & Chr(34) & " as TMP_AUTO_COMBUSTIBLE," & Chr(34) & "TMP_AUTO_TABLERO " & Chr(34) & " as TMP_AUTO_TABLERO," & Chr(34) & "TMP_AUTO_CLAXON " & Chr(34) & " as TMP_AUTO_CLAXON," & Chr(34) & "TMP_AUTO_PARABRISAS " & Chr(34) & " as TMP_AUTO_PARABRISAS," & Chr(34) & "TMP_AUTO_CINTURON " & Chr(34) & " as TMP_AUTO_CINTURON," & Chr(34) & "TMP_AUTO_ESPEJOS " & Chr(34) & " as TMP_AUTO_ESPEJOS," & Chr(34) & "TMP_AUTO_LICENCIA " & Chr(34) & " as TMP_AUTO_LICENCIA," & Chr(34) & "TMP_AUTO_LIB_OBJETOSINE " & Chr(34) & " as TMP_AUTO_LIB_OBJETOSINE," & Chr(34) & "TMP_AUTO_LIB_OBJETOTMPERVI " & Chr(34) & " as TMP_AUTO_LIB_OBJETOTMPERVI," & Chr(34) & "TMP_AUTO_ORDEN_HERRA " & Chr(34) & " as TMP_AUTO_ORDEN_HERRA," & Chr(34) & "TMP_AUTO_UNILIMPIA " & Chr(34) & " as TMP_AUTO_UNILIMPIA," & Chr(34) & "TMP_AUTO_LIMPIO " & Chr(34) & " as TMP_AUTO_LIMPIO," & Chr(34) & "TMP_AUTO_BASURA " & Chr(34) & " as TMP_AUTO_BASURA," & Chr(34) & "TMP_AUTO_RESPONSABILIDAD " & Chr(34) & " as TMP_AUTO_RESPONSABILIDAD," & Chr(34) & "TMP_AUTO_AUDITORIA " & Chr(34) & " as TMP_AUTO_AUDITORIA," & Chr(34) & "TMP_AUTO_HABITUAL " & Chr(34) & " as TMP_AUTO_HABITUAL," & Chr(34) & "TMP_AUTO_HERRAMIENTAS " & Chr(34) & " as TMP_AUTO_HERRAMIENTAS," & Chr(34) & "TMP_AUTO_CONOS " & Chr(34) & " as TMP_AUTO_CONOS," & Chr(34) & "TMP_AUTO_EDO_CARROCERIA " & Chr(34) & " as TMP_AUTO_EDO_CARROCERIA," & Chr(34) & "TMP_AUTO_FUN_LUCES " & Chr(34) & " as TMP_AUTO_FUN_LUCES," & Chr(34) & "TMP_AUTO_PLACAS_CIRCU " & Chr(34) & " as TMP_AUTO_PLACAS_CIRCU," & Chr(34) & "TMP_AUTO_COND_LLANTAS " & Chr(34) & " as TMP_AUTO_COND_LLANTAS," & Chr(34) & "TMP_AUTO_ACEITEMOTOR " & Chr(34) & " as TMP_AUTO_ACEITEMOTOR," & Chr(34) & "TMP_AUTO_ACEITEDIREC " & Chr(34) & " as TMP_AUTO_ACEITEDIREC," & Chr(34) & "TMP_AUTO_NVL_REFRIGERANTE " & Chr(34) & " as TMP_AUTO_NVL_REFRIGERANTE," & Chr(34) & "TMP_AUTO_NVL_LIQUIDBRISAS " & Chr(34) & " as TMP_AUTO_NVL_LIQUIDBRISAS," & Chr(34) & "TMP_AUTO_COND_BANMOTOR " & Chr(34) & " as TMP_AUTO_COND_BANMOTOR," & Chr(34) & "TMP_AUTO_FUGASGRAL " & Chr(34) & " as TMP_AUTO_FUGASGRAL," & Chr(34) & "TMP_AUTO_FRENOS " & Chr(34) & " as TMP_AUTO_FRENOS," & Chr(34) & "TMP_AUTO_COMENTARIOS " & Chr(34) & " as TMP_AUTO_COMENTARIOS FROM TMP_INSPECCION_AUTO_DIARIA")
|
|
If c.RowCount > 0 Then
|
|
For i = 0 To c.RowCount - 1
|
|
c.Position = i
|
|
If File.Exists(File.DirInternal,"FOTO1.jpg") And File.Exists(File.DirInternal,"FOTO2.jpg") And _
|
|
File.Exists(File.DirInternal,"FOTO3.jpg") And File.Exists(File.DirInternal,"FOTO4.jpg") Then
|
|
foto1 = Bit.InputStreamToBytes(File.OpenInput(File.DirInternal,"FOTO1.jpg"))
|
|
foto2 = Bit.InputStreamToBytes(File.OpenInput(File.DirInternal,"FOTO2.jpg"))
|
|
foto3 = Bit.InputStreamToBytes(File.OpenInput(File.DirInternal,"FOTO3.jpg"))
|
|
foto4 = Bit.InputStreamToBytes(File.OpenInput(File.DirInternal,"FOTO4.jpg"))
|
|
Else
|
|
' Msgbox("No estan completas las fotos.", "FOTOS INCOMPLETAS") 'ignore
|
|
ToastMessageShow("FOTOS INCOMPLETAS!!", True)
|
|
End If
|
|
Dim cmd As DBCommand
|
|
cmd.Initialize
|
|
cmd.Name = "INSERT_TMP_INSPECCION_AUTO_DIARIA"
|
|
cmd.Parameters = Array As Object(C.GetString("TMP_AUTO_RUTA"),C.GetString("TMP_AUTO_PLACA"),C.GetString("TMP_AUTO_CEDIS"),C.GetString("TMP_AUTO_IDALMACEN"),C.GetString("TMP_AUTO_FECHA"),C.GetString("TMP_AUTO_KILOMETRAJE"),C.GetString("TMP_AUTO_COMBUSTIBLE"),C.GetString("TMP_AUTO_TABLERO"),C.GetString("TMP_AUTO_CLAXON"),C.GetString("TMP_AUTO_PARABRISAS"),C.GetString("TMP_AUTO_CINTURON"),C.GetString("TMP_AUTO_ESPEJOS"),C.GetString("TMP_AUTO_LICENCIA"),C.GetString("TMP_AUTO_LIB_OBJETOSINE"),C.GetString("TMP_AUTO_LIB_OBJETOTMPERVI"),C.GetString("TMP_AUTO_ORDEN_HERRA"),C.GetString("TMP_AUTO_UNILIMPIA"),C.GetString("TMP_AUTO_LIMPIO"),C.GetString("TMP_AUTO_BASURA"),C.GetString("TMP_AUTO_RESPONSABILIDAD"),C.GetString("TMP_AUTO_AUDITORIA"),C.GetString("TMP_AUTO_HABITUAL"),C.GetString("TMP_AUTO_HERRAMIENTAS"),C.GetString("TMP_AUTO_CONOS"),C.GetString("TMP_AUTO_EDO_CARROCERIA"),C.GetString("TMP_AUTO_FUN_LUCES"),C.GetString("TMP_AUTO_PLACAS_CIRCU"),C.GetString("TMP_AUTO_COND_LLANTAS"),C.GetString("TMP_AUTO_ACEITEMOTOR"),C.GetString("TMP_AUTO_ACEITEDIREC"),C.GetString("TMP_AUTO_NVL_REFRIGERANTE"),C.GetString("TMP_AUTO_NVL_LIQUIDBRISAS"),C.GetString("TMP_AUTO_COND_BANMOTOR"),C.GetString("TMP_AUTO_FUGASGRAL"),C.GetString("TMP_AUTO_FRENOS"),C.GetString("TMP_AUTO_COMENTARIOS"), foto1, foto2, foto3, foto4)
|
|
reqManager.ExecuteCommand(cmd , "inst_noventa_ins_tmp_insp_auto")
|
|
contador_env = contador_env + 1
|
|
Next
|
|
c.Close
|
|
End If
|
|
t1.Initialize("T1", 20000) ' 1000 = 1 second
|
|
t1.Enabled = True
|
|
PORCENTAJE = Round(100/ (cuantos_noventa + cuantos_pedido + cuantos_pedidosc + 1))
|
|
PORCENTAJE = 1
|
|
|
|
DateTime.TimeFormat = "HHmm"
|
|
sTime = DateTime.Time(DateTime.Now)
|
|
c = Starter.skmt.ExecQuery2("SELECT HE_CUANTOS, HE_FECHA FROM HIST_ENVIOS WHERE HE_TIPO = ?", Array As String("PEDIDO"))
|
|
c.Position = 0
|
|
Starter.skmt.ExecNonQuery2("UPDATE HIST_ENVIOS SET HE_FECHA = ?, HE_CUANTOS = ? WHERE HE_TIPO = ?", Array As Object(sTime,c.GetString("HE_CUANTOS") + 1, "PEDIDO"))
|
|
c.Close
|
|
c = Starter.skmt.ExecQuery("SELECT COUNT(*) as CANTIDAD FROM PEDIDO WHERE PE_CLIENTE = 0 ")
|
|
c.Position = 0
|
|
PORENVIAR = c.GetString("CANTIDAD")
|
|
If PORENVIAR > 0 Then
|
|
Starter.skmt.ExecNonQuery2("delete from HIST_ENVIOS where HE_TIPO = ?", Array As Object ("ABORDO"))
|
|
Starter.skmt.ExecNonQuery2("INSERT INTO HIST_ENVIOS VALUES (?,1,?)", Array As Object(sTime, "ABORDO"))
|
|
End If
|
|
' ToastMessageShow("Se Actualizaran los datos. Este proceso podria tardar hasta un minuto, gracias "& l_ruta.text , True)
|
|
S_CP.Text = "SUBIENDO"
|
|
Log(reqManager.reqsList.Size)
|
|
reqTotales = reqManager.reqsList.Size
|
|
DateTime.TimeFormat = "HH:mm:ss"
|
|
End Sub
|
|
|
|
' 1. Recopila encabezados y detalles de pedidos locales (todos o solo los pendientes).
|
|
' 2. Genera un ID único (Arch) para vincular exactamente cada venta con sus productos.
|
|
' 3. Valida contra el servidor si el pedido es modificable (no liquidado/arqueado).
|
|
' 4. Empaqueta todo en una lista de comandos (Batch) para enviarlo al servidor en una sola transacción.
|
|
Sub enviaPedidoBatch(filtro As String)
|
|
' Preparamos una variable para filtrar la consulta a la base de datos local.
|
|
' Si el filtro no dice "Todos", armamos la condición para traer solo los pedidos que no se han enviado (PC_ENVIADO = 0).
|
|
Private condicion As String = ""
|
|
' If filtro <> "Todos" Then condicion = "where PC_ENVIADO = 0"
|
|
If filtro <> "Todos" Then
|
|
condicion = "WHERE PC_ENVIADO = 0 OR PC_CLIENTE IN (SELECT PE_CLIENTE FROM PEDIDO WHERE PE_ENVIADO = 0)" ' Si se actualizo un producto, hay que volver a enviar todo el pedido.
|
|
End If
|
|
|
|
' Reiniciamos la variable de condición para usarla ahora en el DETALLE de los pedidos.
|
|
' Private condicion As String = ""
|
|
' If filtro <> "Todos" Then condicion = "where PE_ENVIADO = 0"
|
|
|
|
' Verificamos si en la tabla de envíos históricos (HIST_ENVIOS) hay registros del tipo "ABORDO" (Ventas en ruta directa).
|
|
c = Starter.skmt.ExecQuery2("SELECT COUNT(*) as CANTIDAD FROM HIST_ENVIOS WHERE HE_TIPO = ?",Array As String("ABORDO") )
|
|
c.Position = 0
|
|
|
|
' Si encontramos que sí hay ventas a bordo...
|
|
If c.GetString("CANTIDAD") > 0 Then
|
|
Log($"pe_cedis_0"$)
|
|
' Actualizamos la tabla PEDIDO local para que los artículos del cliente "0" (que suele ser el inventario a bordo)
|
|
' y que no tengan un número de folio, se marquen con el almacén/cedis "RECARGA".
|
|
Starter.skmt.ExecNonQuery2("update PEDIDO set PE_CEDIS = ? where PE_CLIENTE =? AND PE_FOLIO IS NULL ", Array As Object("RECARGA", "0"))
|
|
End If
|
|
|
|
' Hacemos una actualización rápida a los registros de PEDIDO locales que no tengan folio (folio 0 o 1).
|
|
' Les asignamos temporalmente el 'rowid' (el número de fila interno de SQLite) como folio para identificarlos.
|
|
Starter.skmt.ExecNonQuery("UPDATE PEDIDO SET PE_FOLIO = rowid where PE_FOLIO = 0 or PE_FOLIO = 1")
|
|
|
|
' Buscamos los ENCABEZADOS de los pedidos en la tabla PEDIDO_CLIENTE usando la condición que armamos arriba.
|
|
' El resultado se guarda en un Cursor llamado 'cx', que es como una tabla en memoria por la que podemos navegar.
|
|
Private cx As Cursor = Starter.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_ENVIADO FROM PEDIDO_CLIENTE ${condicion}"$)
|
|
Log($"SELECT PC_CLIENTE, PC_FECHA, PC_USER, PC_NOART, PC_MONTO,PC_LON, PC_LAT, PC_COSTO_SIN, PC_RUTA, PC_ALMACEN, PC_ENVIADO FROM PEDIDO_CLIENTE ${condicion}"$)
|
|
Log("pedido_cliente: " & cx.RowCount)
|
|
|
|
' Revisamos si nuestro cursor 'cx' (los encabezados de pedido) trajo algún resultado.
|
|
If cx.RowCount > 0 Then ' Si hay pedido entonces comenzamos el proceso de envío.
|
|
' Iniciamos un bucle (For) para recorrer cada uno de los encabezados de pedido encontrados localmente.
|
|
For j = 0 To cx.RowCount - 1
|
|
|
|
' =========================================================================================
|
|
' BLOQUE DE VALIDACIÓN REMOTA: Revisar si el pedido ya está liquidado o el arqueo cerrado
|
|
' =========================================================================================
|
|
' sql.revisaArqueoYLiquidacion_Kelloggs = select NVL(HVD_ESTATUS, 'NO') as liquidado, HVD_DTECIERRE, (select hist_ca_fecha from KELLOGGS.hist_cierre_arqueo where hist_ca_idalmacen = (?) and hist_ca_ruta = (?) and trunc(sysdate) = trunc(hist_ca_fecha)) as arqueo from KELLOGGS.HIST_VENTAS_DETALLE where HVD_ALMACEN = (?) and HVD_RUTA = (?) and trunc(sysdate) = trunc(HVD_FECHA) and HVD_TIPOVENTA = 'VENTA' and rownum <= 1
|
|
|
|
' 1. Preparamos el comando para consultar el estatus directamente en la base de datos del servidor.
|
|
cmd.Initialize
|
|
cmd.Name = "revisaArqueoYLiquidacion_Kelloggs"
|
|
Private ruta_ As String = Subs.traeRuta
|
|
cmd.Parameters = Array As Object(ALMACEN, ruta_, ALMACEN, ruta_)
|
|
|
|
' 2. Disparamos la consulta al servidor de forma asíncrona usando reqManagerW.
|
|
reqManagerW.ExecuteQuery(Starter.DBReqServer, cmd, Me, "revisaPedidoLiquidado")
|
|
|
|
' 3. Pausamos la ejecución de este bloque local hasta que el servidor nos responda.
|
|
Wait For revisaPedidoLiquidado_Completed (rpd As TResultado)
|
|
|
|
' 4. Evaluamos la respuesta del servidor.
|
|
If rpd.Success Then
|
|
Log("SUCCESS - revisaPedidoLiquidado")
|
|
|
|
' Inicializamos variables asumiendo que el pedido NO está liquidado y NO hay arqueo.
|
|
Dim liquidado As String = "NO"
|
|
Dim arqueo As String = "null"
|
|
|
|
' Leemos los registros devueltos por el servidor para actualizar nuestras variables.
|
|
For Each records() As Object In rpd.resultado.Rows
|
|
liquidado = records(rpd.resultado.Columns.Get("LIQUIDADO"))
|
|
arqueo = records(rpd.resultado.Columns.Get("ARQUEO"))
|
|
Next
|
|
|
|
Subs.logJobDoneResultados(rpd.resultado)
|
|
|
|
' 5. Regla de negocio: Si el estatus es "NO" liquidado y el arqueo es "null" (abierto),
|
|
' entonces es seguro proceder a modificar/enviar la información.
|
|
If liquidado = "NO" And arqueo = "null" Then
|
|
Log("==== BORRAMOS Y ENVIAMOS PEDIDO ===")
|
|
|
|
' =========================================================================================
|
|
' INICIA PREPARACIÓN DEL BATCH (EMPAQUETADO DE DELETES E INSERTS)
|
|
' =========================================================================================
|
|
' Creamos una lista llamada BatchCommands. Aquí vamos a guardar todas las instrucciones
|
|
' de base de datos que queremos mandar al servidor de un solo golpe (en lote o "batch").
|
|
Dim BatchCommands As List
|
|
BatchCommands.Initialize
|
|
Log($"enviaPedidoBatch(${filtro})"$)
|
|
|
|
Log("===== AGREGAMOS HEADER DE PEDIDO =====")
|
|
' Movemos el cursor 'cx' a la posición 'j' actual del bucle de encabezados.
|
|
cx.Position = j
|
|
|
|
' ===== EJECUTAR DELETES PRIMERO =====
|
|
' Preparamos la eliminación de los registros viejos en el servidor para evitar duplicados.
|
|
Log("===== LIMPIANDO PEDIDOS PREVIOS EN SERVER =====")
|
|
|
|
' Borrar Pedido (Detalle) en el servidor
|
|
Dim cmdDelPed As DBCommand
|
|
cmdDelPed.Initialize
|
|
cmdDelPed.Name = "borraPedido_Kelloggs"
|
|
cmdDelPed.Parameters = Array As Object(ALMACEN, l_ruta.text, cx.GetString("PC_USER"), cx.GetString("PC_CLIENTE"))
|
|
BatchCommands.Add(cmdDelPed)
|
|
|
|
' Borrar Pedido Cliente (Header) en el servidor
|
|
Dim cmdDelHeader As DBCommand
|
|
cmdDelHeader.Initialize
|
|
cmdDelHeader.Name = "borraPedidoCliente_Kelloggs"
|
|
cmdDelHeader.Parameters = Array As Object(ALMACEN, l_ruta.text, cx.GetString("PC_USER"), cx.GetString("PC_CLIENTE"))
|
|
BatchCommands.Add(cmdDelHeader)
|
|
|
|
' Borrar Hist_Ventas (Header) en el servidor
|
|
Dim cmdDelHV As DBCommand
|
|
cmdDelHV.Initialize
|
|
cmdDelHV.Name = "borraHV_Kelloggs"
|
|
cmdDelHV.Parameters = Array As Object(ALMACEN, l_ruta.text, cx.GetString("PC_USER"), cx.GetString("PC_CLIENTE"))
|
|
BatchCommands.Add(cmdDelHV)
|
|
|
|
' Borrar Hist_Ventas_Detalle (Detalle) en el servidor
|
|
Dim cmdDelHVD As DBCommand
|
|
cmdDelHVD.Initialize
|
|
cmdDelHVD.Name = "borraHVD_Kelloggs"
|
|
cmdDelHVD.Parameters = Array As Object(ALMACEN, l_ruta.text, cx.GetString("PC_USER"), cx.GetString("PC_CLIENTE"))
|
|
BatchCommands.Add(cmdDelHVD)
|
|
|
|
' ===== GENERACIÓN DE ID ÚNICO (ARCH) =====
|
|
' Generamos un identificador único (Arch) concatenando el almacén, la ruta, el cliente y la fecha/hora actual.
|
|
' Esto sirve para agrupar y amarrar lógicamente en el servidor el encabezado con sus respectivos detalles.
|
|
Dim Arch As String = Subs.traeAlmacen & "_" & Subs.traeRuta & "_" & cx.GetString("PC_CLIENTE") & "_" & DateTime.Now
|
|
|
|
' Actualizamos las tablas locales asignándoles este nuevo ID 'Arch'.
|
|
Starter.skmt.ExecNonQuery2($"UPDATE PEDIDO SET PE_ARCH = ? WHERE PE_CLIENTE = ?"$, Array As Object(Arch, cx.GetString("PC_CLIENTE")))
|
|
Starter.skmt.ExecNonQuery2($"UPDATE PEDIDO_CLIENTE SET PC_ARCH = ? WHERE PC_CLIENTE = ?"$, Array As Object(Arch, cx.GetString("PC_CLIENTE")))
|
|
|
|
' ===== INSERCIÓN DEL NUEVO ENCABEZADO =====
|
|
' Preparamos el comando de inserción del encabezado para mandar al servidor.
|
|
Dim cmdHeader As DBCommand
|
|
cmdHeader.Initialize
|
|
' Asignamos el nombre del procedimiento almacenado o query de inserción.
|
|
cmdHeader.Name = "insert_pedidos_KELL_arch"
|
|
' Pasamos los parámetros leyendo los datos del cursor local 'cx' y le añadimos el ID único 'Arch'.
|
|
cmdHeader.Parameters = Array As Object(cx.GetString("PC_CLIENTE"),cx.GetString("PC_FECHA"),cx.GetString("PC_USER"),cx.GetString("PC_NOART"),cx.GetString("PC_MONTO"),cx.GetString("PC_LON"),cx.GetString("PC_LAT"),ALMACEN,l_ruta.text,cx.GetString("PC_COSTO_SIN"), Arch)
|
|
|
|
' Añadimos este comando de inserción a nuestra lista del lote (Batch).
|
|
BatchCommands.Add(cmdHeader)
|
|
|
|
' ===== INSERCIÓN DE LOS DETALLES (PRODUCTOS) =====
|
|
' Hacemos una consulta local para buscar los productos individuales de este pedido en específico.
|
|
Private cPed As Cursor = Starter.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, PE_ARCH FROM PEDIDO where pe_cliente = '${cx.GetString("PC_CLIENTE")}' "$)
|
|
|
|
' Si la consulta arrojó productos para este cliente...
|
|
If cPed.RowCount > 0 Then
|
|
' Iniciamos un bucle interno para recorrer cada uno de esos productos.
|
|
For i = 0 To cPed.RowCount - 1
|
|
Log("==== AGREGAMOS PRODS DE PEDIDO ====")
|
|
' Movemos el cursor de detalles a la posición actual 'i'.
|
|
cPed.Position = i
|
|
|
|
' Preparamos el comando de inserción para este producto en el servidor.
|
|
Dim cmdDetail As DBCommand
|
|
cmdDetail.Initialize
|
|
|
|
' Verificamos si el vendedor tiene un perfil especial.
|
|
If PERFIL = "V-ESPECIAL" Then
|
|
Log("===== V-ESPECIAL =====")
|
|
' Utilizamos el query específico para ventas especiales y pasamos sus parámetros.
|
|
cmdDetail.Name = "insert_pedido_esp_KELL"
|
|
cmdDetail.Parameters = Array As Object(cPed.GetString("PE_CEDIS"),ALMACEN,cPed.GetString("PE_COSTO_TOT"),cPed.GetString("PE_COSTOU"),cPed.GetString("PE_CANT"),cPed.GetString("PE_PRONOMBRE"),cPed.GetString("PE_PROID"),cPed.GetString("PE_CLIENTE"),cPed.GetString("PE_FECHA"),cPed.GetString("PE_USUARIO"),cPed.GetString("PE_RUTA"),cPed.GetString("PE_COSTO_SIN"),cPed.GetString("PE_DESC"),cPed.GetString("PE_FOLIO"),cPed.GetString("PE_TIPO"),NUMERO_PEDIDO)
|
|
Else
|
|
' Si es un vendedor normal, usamos el query estándar y lo vinculamos usando la variable 'Arch'.
|
|
cmdDetail.Name = "insert_pedido_KELL_arch"
|
|
cmdDetail.Parameters = Array As Object (cPed.GetString("PE_CEDIS"),ALMACEN,cPed.GetString("PE_COSTO_TOT"),cPed.GetString("PE_COSTOU"),cPed.GetString("PE_CANT"),cPed.GetString("PE_PRONOMBRE"),cPed.GetString("PE_PROID"),cPed.GetString("PE_CLIENTE"),cPed.GetString("PE_FECHA"),cPed.GetString("PE_USUARIO"),cPed.GetString("PE_RUTA"), cPed.GetString("PE_COSTO_SIN"),cPed.GetString("PE_DESC"),cPed.GetString("PE_FOLIO"), cPed.GetString("PE_TIPO"), Arch)
|
|
End If
|
|
|
|
' Añadimos la instrucción de inserción de este producto al lote (Batch).
|
|
BatchCommands.Add(cmdDetail)
|
|
Next
|
|
End If
|
|
' Cerramos el cursor de detalles locales para liberar memoria.
|
|
cPed.Close
|
|
|
|
' ===== ENVÍO DEL LOTE AL SERVIDOR =====
|
|
' Mandamos a ejecutar toda la lista de instrucciones (Deletes + Inserts) al servidor en una sola petición HTTP.
|
|
' Le ponemos una etiqueta (Tag) con el ID del cliente para poder identificar la respuesta en el evento JobDone.
|
|
reqManager.ExecuteBatch(BatchCommands, "pedido_completo_" & cx.GetString("PC_CLIENTE"))
|
|
Log("==== ENVIAMOS PEDIDO COMPLETO ====")
|
|
|
|
Else
|
|
' Si la validación falló (el pedido ESTÁ liquidado o el arqueo ESTÁ cerrado),
|
|
' bloqueamos la operación y le mostramos advertencias al usuario en pantalla.
|
|
ToastMessageShow("Pedido liquidado o cerrado", True)
|
|
MsgboxAsync("¡El pedido esta liquidado o el arqueo cerrado, la información NO fue enviada a web!", "AVISO")
|
|
End If
|
|
Else
|
|
' Si la consulta de validación (revisaArqueoYLiquidacion) falló por problemas de red o servidor,
|
|
' registramos el error en el log local. No procedemos con el envío por seguridad.
|
|
Log("===== ERROR =====")
|
|
Log(rpd.ErrorMessage)
|
|
End If
|
|
Next
|
|
End If
|
|
|
|
' Cerramos los cursores principales abiertos al inicio de la función para evitar memory leaks.
|
|
c.Close
|
|
cx.Close
|
|
End Sub
|
|
|
|
|
|
' 1. Recopila encabezados y detalles de pedidos locales (todos o solo los pendientes).
|
|
' 2. Genera un ID único (Arch) para vincular exactamente cada venta con sus productos.
|
|
' 3. Empaqueta todo en una lista de comandos (Batch) para enviarlo al servidor en una sola transacción.
|
|
Sub enviaPedidoBatch1(filtro As String)
|
|
' Preparamos una variable para filtrar la consulta a la base de datos.
|
|
' Si el filtro no dice "Todos", armamos la condición para traer solo los pedidos que no se han enviado (PC_ENVIADO = 0).
|
|
Private condicion As String = ""
|
|
' If filtro <> "Todos" Then condicion = "where PC_ENVIADO = 0"
|
|
If filtro <> "Todos" Then
|
|
condicion = "WHERE PC_ENVIADO = 0 OR PC_CLIENTE IN (SELECT PE_CLIENTE FROM PEDIDO WHERE PE_ENVIADO = 0)" ' Si se actualizo un producto, hay que volver a enviar todo el pedido.
|
|
End If
|
|
|
|
' Ejecutamos una consulta (Query) a la base de datos local de SQLite (skmt).
|
|
' Buscamos los ENCABEZADOS de los pedidos en la tabla PEDIDO_CLIENTE usando la condición que armamos arriba.
|
|
' El resultado se guarda en un Cursor llamado 'cx', que es como una tabla en memoria por la que podemos navegar.
|
|
Private cx As Cursor = Starter.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_ENVIADO FROM PEDIDO_CLIENTE ${condicion}"$)
|
|
Log($"SELECT PC_CLIENTE, PC_FECHA, PC_USER, PC_NOART, PC_MONTO,PC_LON, PC_LAT, PC_COSTO_SIN, PC_RUTA, PC_ALMACEN, PC_ENVIADO FROM PEDIDO_CLIENTE ${condicion}"$)
|
|
Log("pedido_cliente: " & cx.RowCount)
|
|
|
|
' Reiniciamos la variable de condición para usarla ahora en el DETALLE de los pedidos.
|
|
' Private condicion As String = ""
|
|
' If filtro <> "Todos" Then condicion = "where PE_ENVIADO = 0"
|
|
|
|
' Verificamos si en la tabla de envíos históricos (HIST_ENVIOS) hay registros del tipo "ABORDO" (Ventas en ruta directa).
|
|
c = Starter.skmt.ExecQuery2("SELECT COUNT(*) as CANTIDAD FROM HIST_ENVIOS WHERE HE_TIPO = ?",Array As String("ABORDO") )
|
|
c.Position = 0
|
|
|
|
' Si encontramos que sí hay ventas a bordo...
|
|
If c.GetString("CANTIDAD") > 0 Then
|
|
Log($"pe_cedis_0"$)
|
|
' Actualizamos la tabla PEDIDO para que los artículos del cliente "0" (que suele ser el inventario a bordo)
|
|
' y que no tengan un número de folio, se marquen con el almacén/cedis "RECARGA".
|
|
Starter.skmt.ExecNonQuery2("update PEDIDO set PE_CEDIS = ? where PE_CLIENTE =? AND PE_FOLIO IS NULL ", Array As Object("RECARGA", "0"))
|
|
End If
|
|
|
|
' Hacemos una actualización rápida a los registros de PEDIDO que no tengan folio (folio 0 o 1).
|
|
' Les asignamos temporalmente el 'rowid' (el número de fila interno de SQLite) como folio para identificarlos.
|
|
Starter.skmt.ExecNonQuery("UPDATE PEDIDO SET PE_FOLIO = rowid where PE_FOLIO = 0 or PE_FOLIO = 1")
|
|
|
|
' Revisamos si nuestro cursor 'cx' (los encabezados de pedido) trajo algún resultado.
|
|
If cx.RowCount > 0 Then ' Si hay pedido entonces lo enviamos.
|
|
' Iniciamos un bucle (For) para recorrer cada uno de los encabezados de pedido encontrados.
|
|
For j = 0 To cx.RowCount - 1
|
|
|
|
' sql.revisaArqueoYLiquidacion_Kelloggs = select NVL(HVD_ESTATUS, 'NO') as liquidado, HVD_DTECIERRE, (select hist_ca_fecha from KELLOGGS.hist_cierre_arqueo where hist_ca_idalmacen = (?) and hist_ca_ruta = (?) and trunc(sysdate) = trunc(hist_ca_fecha)) as arqueo from KELLOGGS.HIST_VENTAS_DETALLE where HVD_ALMACEN = (?) and HVD_RUTA = (?) and trunc(sysdate) = trunc(HVD_FECHA) and HVD_TIPOVENTA = 'VENTA' and rownum <= 1
|
|
cmd.Initialize
|
|
cmd.Name = "revisaArqueoYLiquidacion_Kelloggs"
|
|
Private ruta_ As String = Subs.traeRuta
|
|
cmd.Parameters = Array As Object(ALMACEN, ruta_, ALMACEN, ruta_)
|
|
reqManagerW.ExecuteQuery(Starter.DBReqServer, cmd, Me, "revisaPedidoLiquidado")
|
|
Wait For revisaPedidoLiquidado_Completed (rpd As TResultado)
|
|
If rpd.Success Then
|
|
Log("SUCCESS - revisaPedidoLiquidado")
|
|
Dim liquidado As String = "NO"
|
|
Dim arqueo As String = "null"
|
|
For Each records() As Object In rpd.resultado.Rows
|
|
liquidado = records(rpd.resultado.Columns.Get("LIQUIDADO"))
|
|
arqueo = records(rpd.resultado.Columns.Get("ARQUEO"))
|
|
Next
|
|
Subs.logJobDoneResultados(rpd.resultado)
|
|
If liquidado = "NO" And arqueo = "null" Then
|
|
Log("==== BORRAMOS Y ENVIAMOS PEDIDO ===")
|
|
|
|
' Creamos una lista llamada BatchCommands. Aquí vamos a guardar todas las instrucciones
|
|
' de base de datos que queremos mandar al servidor de un solo golpe (en lote o "batch").
|
|
Dim BatchCommands As List
|
|
BatchCommands.Initialize
|
|
Log($"enviaPedidoBatch(${filtro})"$)
|
|
|
|
Log("===== AGREGAMOS HEADER DE PEDIDO =====")
|
|
' Movemos el cursor 'cx' a la posición 'j' actual del bucle.
|
|
cx.Position = j
|
|
|
|
' ===== 1. EJECUTAR DELETES PRIMERO =====
|
|
Log("===== LIMPIANDO PEDIDOS PREVIOS EN SERVER =====")
|
|
|
|
' Borrar Pedido (Detalle)
|
|
Dim cmdDelPed As DBCommand
|
|
cmdDelPed.Initialize
|
|
cmdDelPed.Name = "borraPedido_Kelloggs"
|
|
cmdDelPed.Parameters = Array As Object(ALMACEN, l_ruta.text, cx.GetString("PC_USER"), cx.GetString("PC_CLIENTE"))
|
|
BatchCommands.Add(cmdDelPed)
|
|
|
|
' Borrar Pedido Cliente (Header)
|
|
Dim cmdDelHeader As DBCommand
|
|
cmdDelHeader.Initialize
|
|
cmdDelHeader.Name = "borraPedidoCliente_Kelloggs"
|
|
cmdDelHeader.Parameters = Array As Object(ALMACEN, l_ruta.text, cx.GetString("PC_USER"), cx.GetString("PC_CLIENTE"))
|
|
BatchCommands.Add(cmdDelHeader)
|
|
|
|
' Borrar Hist_Ventas (Header)
|
|
Dim cmdDelHV As DBCommand
|
|
cmdDelHV.Initialize
|
|
cmdDelHV.Name = "borraHV_Kelloggs"
|
|
cmdDelHV.Parameters = Array As Object(ALMACEN, l_ruta.text, cx.GetString("PC_USER"), cx.GetString("PC_CLIENTE"))
|
|
BatchCommands.Add(cmdDelHV)
|
|
|
|
' Borrar Hist_Ventas_Detalle (Detalle)
|
|
Dim cmdDelHVD As DBCommand
|
|
cmdDelHVD.Initialize
|
|
cmdDelHVD.Name = "borraHVD_Kelloggs"
|
|
cmdDelHVD.Parameters = Array As Object(ALMACEN, l_ruta.text, cx.GetString("PC_USER"), cx.GetString("PC_CLIENTE"))
|
|
BatchCommands.Add(cmdDelHVD)
|
|
|
|
' Generamos un identificador único (Arch) concatenando el almacén, la ruta, el cliente y la fecha/hora actual.
|
|
' Esto sirve para agrupar en el servidor el encabezado con sus respectivos detalles.
|
|
Dim Arch As String = Subs.traeAlmacen & "_" & Subs.traeRuta & "_" & cx.GetString("PC_CLIENTE") & "_" & DateTime.Now
|
|
|
|
Starter.skmt.ExecNonQuery2($"UPDATE PEDIDO SET PE_ARCH = ? WHERE PE_CLIENTE = ?"$, Array As Object(Arch, cx.GetString("PC_CLIENTE")))
|
|
Starter.skmt.ExecNonQuery2($"UPDATE PEDIDO_CLIENTE SET PC_ARCH = ? WHERE PC_CLIENTE = ?"$, Array As Object(Arch, cx.GetString("PC_CLIENTE")))
|
|
|
|
' Preparamos un comando de base de datos (DBCommand) para mandar al servidor.
|
|
Dim cmdHeader As DBCommand
|
|
cmdHeader.Initialize
|
|
' Asignamos el nombre del procedimiento almacenado o query que está en el servidor (jRDC2).
|
|
cmdHeader.Name = "insert_pedidos_KELL_arch"
|
|
' Pasamos los parámetros leyendo los datos del cursor 'cx' (encabezado) y le pasamos el ID único 'Arch'.
|
|
cmdHeader.Parameters = Array As Object(cx.GetString("PC_CLIENTE"),cx.GetString("PC_FECHA"),cx.GetString("PC_USER"),cx.GetString("PC_NOART"),cx.GetString("PC_MONTO"),cx.GetString("PC_LON"),cx.GetString("PC_LAT"),ALMACEN,l_ruta.text,cx.GetString("PC_COSTO_SIN"), Arch)
|
|
|
|
' Añadimos este comando a nuestra lista del lote (Batch).
|
|
BatchCommands.Add(cmdHeader)
|
|
|
|
' Ahora hacemos una consulta para buscar el DETALLE de este pedido (los productos individuales).
|
|
' Filtramos por la condición (si se envió o no) y lo amarramos al cliente actual del bucle (PC_CLIENTE).
|
|
Private cPed As Cursor = Starter.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, PE_ARCH FROM PEDIDO where pe_cliente = '${cx.GetString("PC_CLIENTE")}' "$)
|
|
|
|
' Si hay detalles para este encabezado...
|
|
If cPed.RowCount > 0 Then
|
|
' Iniciamos un bucle interno para recorrer cada producto de este pedido.
|
|
For i = 0 To cPed.RowCount - 1
|
|
Log("==== AGREGAMOS PRODS DE PEDIDO ====")
|
|
' Movemos el cursor de detalles a la posición actual.
|
|
cPed.Position = i
|
|
|
|
' Preparamos el comando para enviar este producto al servidor.
|
|
Dim cmdDetail As DBCommand
|
|
cmdDetail.Initialize
|
|
|
|
' Si el perfil del vendedor es especial ("V-ESPECIAL")...
|
|
If PERFIL = "V-ESPECIAL" Then
|
|
Log("===== V-ESPECIAL =====")
|
|
' Nota: Aquí el código original tiene un detalle, usa la variable global 'cmd' en lugar de 'cmdDetail'
|
|
' que acaba de inicializar, pero la copiamos tal cual. Utiliza un query distinto para ventas especiales.
|
|
cmdDetail.Name = "insert_pedido_esp_KELL"
|
|
cmdDetail.Parameters = Array As Object(cPed.GetString("PE_CEDIS"),ALMACEN,cPed.GetString("PE_COSTO_TOT"),cPed.GetString("PE_COSTOU"),cPed.GetString("PE_CANT"),cPed.GetString("PE_PRONOMBRE"),cPed.GetString("PE_PROID"),cPed.GetString("PE_CLIENTE"),cPed.GetString("PE_FECHA"),cPed.GetString("PE_USUARIO"),cPed.GetString("PE_RUTA"),cPed.GetString("PE_COSTO_SIN"),cPed.GetString("PE_DESC"),cPed.GetString("PE_FOLIO"),cPed.GetString("PE_TIPO"),NUMERO_PEDIDO)
|
|
Else
|
|
' Si es un vendedor normal, usa el comando estándar para insertar el detalle
|
|
' y le pasa la misma variable 'Arch' para que en el servidor sepa de qué encabezado es.
|
|
cmdDetail.Name = "insert_pedido_KELL_arch"
|
|
cmdDetail.Parameters = Array As Object (cPed.GetString("PE_CEDIS"),ALMACEN,cPed.GetString("PE_COSTO_TOT"),cPed.GetString("PE_COSTOU"),cPed.GetString("PE_CANT"),cPed.GetString("PE_PRONOMBRE"),cPed.GetString("PE_PROID"),cPed.GetString("PE_CLIENTE"),cPed.GetString("PE_FECHA"),cPed.GetString("PE_USUARIO"),cPed.GetString("PE_RUTA"), cPed.GetString("PE_COSTO_SIN"),cPed.GetString("PE_DESC"),cPed.GetString("PE_FOLIO"), cPed.GetString("PE_TIPO"), Arch)
|
|
End If
|
|
|
|
' Añadimos la instrucción del producto al lote de envío.
|
|
BatchCommands.Add(cmdDetail)
|
|
Next
|
|
End If
|
|
cPed.Close
|
|
' Al terminar de empaquetar, enviamos toda la lista de instrucciones (BatchCommands) al servidor de un solo golpe.
|
|
' Se le asigna un nombre de etiqueta (Tag) para saber qué responderá el JobDone ("pedido_completo_" + id de cliente).
|
|
' (Ojo visual para el programador: Esta línea está dentro del 'If' general, pero también después de armar los batches en el bucle 'For'. Al procesar el último item del bucle cx, tomará el ID del último cliente para el Tag).
|
|
reqManager.ExecuteBatch(BatchCommands, "pedido_completo_" & cx.GetString("PC_CLIENTE"))
|
|
Log("==== ENVIAMOS PEDIDO COMPLETO ====")
|
|
Else
|
|
ToastMessageShow("Pedido liquidado o cerrado", True)
|
|
MsgboxAsync("¡El pedido esta liquidado o el arqueo cerrado, la información NO fue enviada a web!", "AVISO")
|
|
End If
|
|
Else
|
|
Log("===== ERROR =====")
|
|
Log(rpd.ErrorMessage)
|
|
End If
|
|
Next
|
|
End If
|
|
c.Close
|
|
cx.Close
|
|
End Sub
|
|
|
|
Sub enviaPedidoBatch0(filtro As String)
|
|
' Crear una lista para almacenar TODAS las operaciones de UN pedido
|
|
Dim BatchCommands As List
|
|
BatchCommands.Initialize
|
|
|
|
' DE PEDIDO_CLIENTE
|
|
Log($"enviaPedidoBatch(${filtro})"$)
|
|
Private condicion As String = ""
|
|
If filtro <> "Todos" Then condicion = "where PC_ENVIADO = 0"
|
|
Private cx As Cursor = Starter.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_ENVIADO FROM PEDIDO_CLIENTE ${condicion}"$)
|
|
Log($"SELECT PC_CLIENTE, PC_FECHA, PC_USER, PC_NOART, PC_MONTO,PC_LON, PC_LAT, PC_COSTO_SIN, PC_RUTA, PC_ALMACEN, PC_ENVIADO FROM PEDIDO_CLIENTE ${condicion}"$)
|
|
Log("pedido_cliente: " & cx.RowCount)
|
|
|
|
' DE PEDIDO
|
|
Private condicion As String = ""
|
|
If filtro <> "Todos" Then condicion = "where PE_ENVIADO = 0"
|
|
c = Starter.skmt.ExecQuery2("SELECT COUNT(*) as CANTIDAD FROM HIST_ENVIOS WHERE HE_TIPO = ?",Array As String("ABORDO") )
|
|
c.Position = 0
|
|
If c.GetString("CANTIDAD") > 0 Then
|
|
Log($"pe_cedis_0"$)
|
|
Starter.skmt.ExecNonQuery2("update PEDIDO set PE_CEDIS = ? where PE_CLIENTE =? AND PE_FOLIO IS NULL ", Array As Object("RECARGA", "0"))
|
|
End If
|
|
Starter.skmt.ExecNonQuery("UPDATE PEDIDO SET PE_FOLIO = rowid where PE_FOLIO = 0 or PE_FOLIO = 1")
|
|
|
|
If cx.RowCount > 0 Then ' Si hay pedido entonces lo enviamos.
|
|
For j = 0 To cx.RowCount - 1
|
|
Log("===== ENVIAMOS PRODUCTOS DE PEDIDO =====")
|
|
cx.Position = j
|
|
Dim Arch As String = Subs.traeAlmacen & "_" & Subs.traeRuta & "_" & cx.GetString("PC_CLIENTE") & "_" & DateTime.Now
|
|
' 1. Agregar comando del Encabezado (PEDIDO_CLIENTE)
|
|
Dim cmdHeader As DBCommand
|
|
cmdHeader.Initialize
|
|
cmdHeader.Name = "insert_pedidos_KELL_arch"
|
|
cmdHeader.Parameters = Array As Object(cx.GetString("PC_CLIENTE"),cx.GetString("PC_FECHA"),cx.GetString("PC_USER"),cx.GetString("PC_NOART"),cx.GetString("PC_MONTO"),cx.GetString("PC_LON"),cx.GetString("PC_LAT"),ALMACEN,l_ruta.text,cx.GetString("PC_COSTO_SIN"), Arch)
|
|
BatchCommands.Add(cmdHeader)
|
|
|
|
' 2. Agregar comandos del Detalle (PEDIDO) dentro del bucle
|
|
Private cPed As Cursor = Starter.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, PE_ARCH FROM PEDIDO ${condicion} ${(IIf(condicion = "","where", "and"))} pe_cliente = '${cx.GetString("PC_CLIENTE")}' "$)
|
|
' Log($"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, PE_ARCH FROM PEDIDO ${condicion} ${(IIf(condicion = "","where ", "and"))} pe_cliente = '${cx.GetString("PC_CLIENTE")}' "$)
|
|
If cPed.RowCount > 0 Then
|
|
For i = 0 To cPed.RowCount - 1
|
|
Log("==== ENVIAMOS PRODS ====")
|
|
cPed.Position = i
|
|
Dim cmdDetail As DBCommand
|
|
cmdDetail.Initialize
|
|
If PERFIL = "V-ESPECIAL" Then
|
|
Log("===== V-ESPECIAL =====")
|
|
cmd.Name = "insert_pedido_esp_KELL"
|
|
cmd.Parameters = Array As Object(cPed.GetString("PE_CEDIS"),ALMACEN,cPed.GetString("PE_COSTO_TOT"),cPed.GetString("PE_COSTOU"),cPed.GetString("PE_CANT"),cPed.GetString("PE_PRONOMBRE"),cPed.GetString("PE_PROID"),cPed.GetString("PE_CLIENTE"),cPed.GetString("PE_FECHA"),cPed.GetString("PE_USUARIO"),cPed.GetString("PE_RUTA"),cPed.GetString("PE_COSTO_SIN"),cPed.GetString("PE_DESC"),cPed.GetString("PE_FOLIO"),cPed.GetString("PE_TIPO"),NUMERO_PEDIDO)
|
|
Else
|
|
cmdDetail.Name = "insert_pedido_KELL_arch"
|
|
cmdDetail.Parameters = Array As Object (cPed.GetString("PE_CEDIS"),ALMACEN,cPed.GetString("PE_COSTO_TOT"),cPed.GetString("PE_COSTOU"),cPed.GetString("PE_CANT"),cPed.GetString("PE_PRONOMBRE"),cPed.GetString("PE_PROID"),cPed.GetString("PE_CLIENTE"),cPed.GetString("PE_FECHA"),cPed.GetString("PE_USUARIO"),cPed.GetString("PE_RUTA"), cPed.GetString("PE_COSTO_SIN"),cPed.GetString("PE_DESC"),cPed.GetString("PE_FOLIO"), cPed.GetString("PE_TIPO"), Arch)
|
|
End If
|
|
BatchCommands.Add(cmdDetail)
|
|
Next
|
|
End If
|
|
Next
|
|
|
|
' 3. Enviar TODO junto en una sola petición HTTP
|
|
' Si esto falla, no se guarda nada en Oracle y el pedido sigue pendiente en local.
|
|
reqManager.ExecuteBatch(BatchCommands, "pedido_completo_" & cx.GetString("PC_CLIENTE"))
|
|
End If
|
|
c.Close
|
|
cx.Close
|
|
End Sub
|
|
|
|
'Envio de la tabla pedido
|
|
Sub enviaPedido(filtro As String)
|
|
Log($"enviaPedido(${filtro})"$)
|
|
Private condicion As String = ""
|
|
If filtro <> "Todos" Then condicion = "where PE_ENVIADO = 0"
|
|
c = Starter.skmt.ExecQuery2("SELECT COUNT(*) as CANTIDAD FROM HIST_ENVIOS WHERE HE_TIPO = ?",Array As String("ABORDO") )
|
|
c.Position = 0
|
|
If c.GetString("CANTIDAD") > 0 Then
|
|
Log($"pe_cedis_0"$)
|
|
Starter.skmt.ExecNonQuery2("update PEDIDO set PE_CEDIS = ? where PE_CLIENTE =? AND PE_FOLIO IS NULL ", Array As Object("RECARGA", "0"))
|
|
End If
|
|
Starter.skmt.ExecNonQuery("UPDATE PEDIDO SET PE_FOLIO = rowid where PE_FOLIO = 0 or PE_FOLIO = 1")
|
|
|
|
Log("####################################################")
|
|
Log(PERFIL)
|
|
Log("####################################################")
|
|
|
|
If PERFIL = "V-ESPECIAL" Then
|
|
Log($"pe_cedis_1"$)
|
|
c = Starter.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 ${condicion} ORDER BY PE_CLIENTE"$)
|
|
Log($"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 ${condicion} ORDER BY PE_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_pedido_esp_KELL"
|
|
Log($"pe_cedis_2"$)
|
|
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_${C.GetString("PE_CLIENTE")}"$)
|
|
contador_env = contador_env + 1
|
|
Next
|
|
c.Close
|
|
End If
|
|
Else
|
|
' Log($"pe_cedis_3"$)
|
|
Private cPed As Cursor = Starter.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 ${condicion}"$)
|
|
' Log($"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 ${condicion}"$)
|
|
' TIEMPO = 0
|
|
S_CP.Text = "Envio de Pedidos"
|
|
PB2.Progress = 1
|
|
Log("pedido:" & cPed.RowCount)
|
|
If cPed.RowCount > 0 Then
|
|
For i = 0 To cPed.RowCount - 1
|
|
cPed.Position = i
|
|
' LogColor($"##### ${i} #### "$, Colors.magenta)
|
|
Dim cmd As DBCommand
|
|
cmd.Initialize
|
|
cmd.Name = "insert_pedido_KELL"
|
|
If logger Then Log($"pe_cedis_4"$)
|
|
cmd.Parameters = Array As Object(cPed.GetString("PE_CEDIS"),ALMACEN,cPed.GetString("PE_COSTO_TOT"),cPed.GetString("PE_COSTOU"),cPed.GetString("PE_CANT"),cPed.GetString("PE_PRONOMBRE"),cPed.GetString("PE_PROID"),cPed.GetString("PE_CLIENTE"),cPed.GetString("PE_FECHA"),cPed.GetString("PE_USUARIO"),cPed.GetString("PE_RUTA"), cPed.GetString("PE_COSTO_SIN"),cPed.GetString("PE_DESC"),cPed.GetString("PE_FOLIO"), cPed.GetString("PE_TIPO"))
|
|
reqManager.ExecuteCommand(cmd , $"ins_pedido_${cPed.GetString("PE_CLIENTE")}"$)
|
|
contador_env = contador_env + 1
|
|
' TIEMPO = TIEMPO + 1
|
|
' PB2.Progress = PB2.Progress + 1
|
|
' If i Mod 10 = 1 Then
|
|
' ' Msgbox("M","A") 'ignore
|
|
' If L_P_2.Text = "Envio de Pedidos" Then
|
|
' L_P_2.Text = "Envio de Pedidos --"
|
|
' Log(1)
|
|
' else if L_P_2.Text = "Envio de Pedidos --" Then
|
|
' Log(2)
|
|
' L_P_2.Text = "Envio de Pedidos \"
|
|
' else if L_P_2.Text = "Envio de Pedidos \" Then
|
|
' Log(3)
|
|
' L_P_2.Text = "Envio de Pedidos |"
|
|
' else if L_P_2.Text = "Envio de Pedidos |" Then
|
|
' Log(4)
|
|
' L_P_2.Text = "Envio de Pedidos /"
|
|
' else if L_P_2.Text = "Envio de Pedidos /" Then
|
|
' Log(5)
|
|
' L_P_2.Text = "Envio de Pedidos --"
|
|
' End If
|
|
'' t3.Initialize("T3", 2000) ' 1000 = 1 second
|
|
'' t3.Enabled = True
|
|
'' Wait For t3_tick
|
|
' TIEMPO = 0
|
|
' End If
|
|
Next
|
|
cPed.Close
|
|
End If
|
|
End If
|
|
End Sub
|
|
|
|
'Envio de la tabla pedido_cliente
|
|
Sub enviaPedidoCliente(filtro As String)
|
|
' PEDIO_CLIENTE
|
|
Log($"enviaPedidoCliente(${filtro})"$)
|
|
Private condicion As String = ""
|
|
If filtro <> "Todos" Then condicion = "where PC_ENVIADO = 0"
|
|
Private cx As Cursor = Starter.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_ENVIADO FROM PEDIDO_CLIENTE ${condicion}"$)
|
|
Log($"SELECT PC_CLIENTE, PC_FECHA, PC_USER, PC_NOART, PC_MONTO,PC_LON, PC_LAT, PC_COSTO_SIN, PC_RUTA, PC_ALMACEN, PC_ENVIADO FROM PEDIDO_CLIENTE ${condicion}"$)
|
|
Log("pedido_cliente: " & cx.RowCount)
|
|
If cx.RowCount > 0 Then
|
|
For i = 0 To cx.RowCount - 1
|
|
cx.Position = i
|
|
' Log(cx.GetInt("PC_ENVIADO"))
|
|
' Log(cx.GetString("PC_ENVIADO"))
|
|
Dim cmd As DBCommand
|
|
cmd.Initialize
|
|
cmd.Name = "insert_pedidos_KELL"
|
|
cmd.Parameters = Array As Object(cx.GetString("PC_CLIENTE"),cx.GetString("PC_FECHA"),cx.GetString("PC_USER"),cx.GetString("PC_NOART"),cx.GetString("PC_MONTO"),cx.GetString("PC_LON"),cx.GetString("PC_LAT"),ALMACEN,l_ruta.text,cx.GetString("PC_COSTO_SIN") )
|
|
reqManager.ExecuteCommand(cmd , $"ins_pedidos_${cx.GetString("PC_CLIENTE")}"$)
|
|
PB2.Progress = PB2.Progress + 1
|
|
contador_env = contador_env + 1
|
|
Next
|
|
cx.Close
|
|
End If
|
|
End Sub
|
|
|
|
Sub SUBIR_INFO_BOLETA
|
|
P1.Width = GetDeviceLayoutValues.Width
|
|
P1.Height = GetDeviceLayoutValues.Height
|
|
Subs.panelVisible(P1, 0, 0)
|
|
Try
|
|
c=Starter.skmt.ExecQuery("SELECT TMP_BILLE_IDALMACEN,TMP_BILLE_RUTA, TMP_BILLE_FECHA,TMP_BILLE_MIL,TMP_BILLE_QUINIENTOS,TMP_BILLE_DOSCIENTOS,TMP_BILLE_CIEN,TMP_BILLE_CINCUENTA,TMP_BILLE_VEINTE FROM TMP_CAT_BILLETE")
|
|
If c.RowCount>0 Then
|
|
For i=0 To c.RowCount -1
|
|
c.Position=i
|
|
Dim cmd As DBCommand
|
|
cmd.Initialize
|
|
cmd.Name = "insert_boletab_KELL"
|
|
cmd.Parameters = Array As Object(C.GetString("TMP_BILLE_IDALMACEN"),l_ruta.Text,C.GetString("TMP_BILLE_FECHA"),C.GetString("TMP_BILLE_MIL"),C.GetString("TMP_BILLE_QUINIENTOS"),C.GetString("TMP_BILLE_DOSCIENTOS"),C.GetString("TMP_BILLE_CIEN"),C.GetString("TMP_BILLE_CINCUENTA"),C.GetString("TMP_BILLE_VEINTE"))
|
|
reqManager.ExecuteCommand(cmd , "ins_boletab")
|
|
Next
|
|
c.Close
|
|
End If
|
|
|
|
c=Starter.skmt.ExecQuery("SELECT TMP_MON_RUTA,TMP_MON_IDALMACEN,TMP_MON_FECHA,TMP_MON_VEINTE,TMP_MON_DIEZ,TMP_MON_CINCO,TMP_MON_DOS,TMP_MON_UN,TMP_MON_CENTAVOS FROM TMP_CAT_MONEDAS")
|
|
If c.RowCount>0 Then
|
|
For i=0 To c.RowCount -1
|
|
c.Position=i
|
|
Dim cmd As DBCommand
|
|
cmd.Initialize
|
|
cmd.Name = "insert_boletam_KELL"
|
|
cmd.Parameters = Array As Object(l_ruta.Text,C.GetString("TMP_MON_IDALMACEN"),C.GetString("TMP_MON_FECHA"),C.GetString("TMP_MON_VEINTE"),C.GetString("TMP_MON_DIEZ"),C.GetString("TMP_MON_CINCO"),C.GetString("TMP_MON_DOS"),C.GetString("TMP_MON_UN"),C.GetString("TMP_MON_CENTAVOS"))
|
|
reqManager.ExecuteCommand(cmd , "ins_boletam")
|
|
Next
|
|
c.Close
|
|
End If
|
|
|
|
S_CP.Text = "Envio Boleta"
|
|
PB2.Progress = 1
|
|
contador_env = 2
|
|
PB2.Progress = 100
|
|
t3.Initialize("T3", 5000) ' 1000 = 1 second
|
|
Wait For t3_tick
|
|
t3.Enabled = True
|
|
S_CP.Text = "INFO OK"
|
|
Catch
|
|
' ToastMessageShow("ACTUALIZAR APK BOLETA",0)
|
|
Log(LastException)
|
|
End Try
|
|
End Sub
|
|
|
|
Sub VALIDAR_INFO
|
|
d=Starter.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_KELL"
|
|
cmd.Parameters = Array As Object(ALMACEN,l_ruta.text)
|
|
reqManager.ExecuteQuery(cmd , 0, "valida_pedido1")
|
|
t3.Initialize("T3", 8000) ' 1000 = 1 second
|
|
t3.Enabled = True
|
|
Wait For t3_tick
|
|
End Sub
|
|
|
|
' ///////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
' /////////////////////////////////////////////// PDF CARTA PORTE ///////////////////////////////////////
|
|
' ///////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
Private Sub ImageView1_LongClick 'Mostramos la carta porte al hacer clic largo en el logo de Kelloggs
|
|
Log("Logo clicked")
|
|
pdf.Initialize("PDFium")
|
|
PNL_ACCESO.Visible = False
|
|
Panel7.Visible = False
|
|
p_pdfViewer.Width = GetDeviceLayoutValues.Width
|
|
p_pdfViewer.Height = GetDeviceLayoutValues.Height
|
|
PDFView1.Width = GetDeviceLayoutValues.Width-20
|
|
p_controles_pdf.Width = GetDeviceLayoutValues.Width-20
|
|
' If Logger Then Log($"pantalla: ${GetDeviceLayoutValues.Width}x${GetDeviceLayoutValues.Height} - panel: ${p_pdfViewer.Width}x${p_pdfViewer.Height}"$)
|
|
Subs.panelVisible(p_pdfViewer, 0, 0)
|
|
pdfViewerActivo = True
|
|
' Starter.rp.CheckAndRequest(Starter.rp.PERMISSION_WRITE_EXTERNAL_STORAGE)
|
|
Dim cfg As Configurator = PDFView1.fromUri(File.DirInternal,"/cartaPorte.pdf")
|
|
cfg.SetEventname("PDFium")
|
|
cfg.pageFitPolicy("BOTH").autoSpacing(True).enableSwipe(True).pageSnap(True).swipeHorizontal(False).addOnErrorListener.addOnLoadCompleteListener.addOnPageChangeListener.addOnPageErrorListener.load
|
|
End Sub
|
|
|
|
'Descarga del servidor el PDF de la carta porte del dia de hoy y la
|
|
'guarda en el almacenamiento externo con el nombre "cartaPorte.pdf"
|
|
Sub descargaCartaPorte
|
|
If Starter.Logger Then Log("Inicia descargaCartaPorte")
|
|
cartaPorteLista = False
|
|
'Generamos el nombre del PDF de la carta porte
|
|
DateTime.DateFormat = "ddMMyyyy"
|
|
Private almacenX As String = Starter.almacen
|
|
Private rutaX As String = Starter.rutapreventa
|
|
Private cartaPortePDF As String = $"CPORTE${almacenX}_${rutaX}.pdf"$
|
|
' cartaPortePDF = "CPORTE2_100_Prueba.pdf" 'Para pruebas
|
|
' Log(cartaPortePDF)
|
|
'Para el servidor
|
|
Private pdfServer As String = "keymon.net"
|
|
If Starter.DBReqServer.IndexOf("10.0.0.205") > -1 Then pdfServer = "10.0.0.205"
|
|
' Log(pdfServer)
|
|
pdfURL = $"https://${pdfServer}/CartaPorteKelloggs/CartaPorteMovil${DateTime.Date(DateTime.now)}/${cartaPortePDF}"$
|
|
LogColor(pdfURL,Colors.Red)
|
|
' Log("Iniciamos wait for descargaCartaPorteyProgreso")
|
|
Wait For (descargaCartaPorteyProgreso(pdfURL)) Complete (Success As Boolean)
|
|
' Log("Terminamos wait for descargaCartaPorteyProgreso")
|
|
l_porcentaje.Text = "0%"
|
|
ProgressBarPDF.Progress = 0
|
|
' Log("Ocultamos panel descarga")
|
|
Subs.panelOculto(p_downloadPDF)
|
|
If Starter.Logger Then Log(p_progress1.Visible)
|
|
End Sub
|
|
|
|
'Muestra el panel de descarga de la carta porte con barra de progreso
|
|
Sub descargaCartaPorteyProgreso (urlx As String) As ResumableSub
|
|
If Starter.Logger Then Log("Iniciamos descargaCartaPorteyProgreso")
|
|
If logger Then Log("Mostramos panel descarga")
|
|
Subs.panelVisible(p_downloadPDF, 0, 0)
|
|
Subs.centraPanel(p_progress1, Root.Width)
|
|
Subs.centraEtiqueta(l_downloadPDF, p_progress1.Width)
|
|
Subs.centraEtiqueta(l_porcentaje, p_progress1.Width)
|
|
Subs.centraProgressBar(ProgressBarPDF, p_progress1.Width)
|
|
Dim job_PDF As HttpJob
|
|
job_PDF.Initialize("job_PDF",Me)
|
|
' job_PDF.GetRequest.Timeout = 120000 ' Timeout a 2 minutos
|
|
job_PDF.Download(urlx)
|
|
|
|
'Para la barra de progreso
|
|
' == TaskIdToJob == necesita que se agregue "HU2_PUBLIC" a "Conditional Symbols" (Project/Build Configurations) (Ctrl+B)
|
|
Dim TaskToJob As Map = HttpUtils2Service.TaskIdToJob
|
|
Do While HttpUtils2Service.TaskIdToJob.IsInitialized = False
|
|
Log("Waiting for HttpUtils2Service to be ready.")
|
|
Sleep(20)
|
|
Loop
|
|
Dim TaskId As Int
|
|
Do While TaskId = 0
|
|
For Each id As Int In TaskToJob.Keys
|
|
If TaskToJob.Get(id) = job_PDF Then
|
|
TaskId = id
|
|
Exit
|
|
End If
|
|
Next
|
|
Sleep(10)
|
|
Loop
|
|
Dim bx() As Boolean = Array As Boolean(False)
|
|
If Starter.Logger Then Log("Llamamos TrackProgress")
|
|
TrackProgress(job_PDF, bx, TaskId)
|
|
'**** Termina barra de progreso
|
|
|
|
If Starter.Logger Then Log("Iniciamos Wait for JobDone Descarga")
|
|
If Starter.Logger Then Log("Mostramos panel descarga")
|
|
Subs.panelVisible(p_downloadPDF, 0, 0)
|
|
Wait for (job_PDF) JobDone (job_PDF As HttpJob)
|
|
' Log("Terminamos Wait for JobDone Descarga ")
|
|
If job_PDF.Success = False Then Log("Error PDF")
|
|
If job_PDF.Success = True Then
|
|
Log("Carta descargada con exito")
|
|
If Starter.Logger Then Log("Ocultamos downloader")
|
|
cartaPorteLista = True
|
|
' // Delete existing file
|
|
' Starter.rp.CheckAndRequest(Starter.rp.PERMISSION_WRITE_EXTERNAL_STORAGE)
|
|
' Wait For B4XPAges_PermissionResult (Permission As String, Result As Boolean)
|
|
If Starter.Logger Then Log("Ocultamos downloader 2")
|
|
If File.Exists(File.DirInternal,"cartaPorte.pdf") Then
|
|
' Log("Borramos carta anterior")
|
|
File.Delete(File.DirInternal,"cartaPorte.pdf")
|
|
End If
|
|
' // Save new file
|
|
Dim outNewAPK As OutputStream = File.OpenOutput(File.DirInternal,"cartaPorte.pdf", False)
|
|
File.Copy2(job_PDF.GetInputStream, outNewAPK)
|
|
' Log("Guardamos nueva carta")
|
|
outNewAPK.Close
|
|
Log("APK dir: "&File.DirInternal)
|
|
Log("Carta porte lista")
|
|
ToastMessageShow("Carta Porte descargada exitosamente!!", False)
|
|
Subs.panelOculto(p_downloadPDF)
|
|
p_progress1.Visible = False
|
|
Else
|
|
Log("Hubo un error, intente de nuevo")
|
|
job_PDF.Release
|
|
Subs.panelOculto(p_downloadPDF)
|
|
p_progress1.Visible = False
|
|
Log("Ruta tipo " & Starter.rutaTipo)
|
|
If usuario <> "KMTSKLL1" Then
|
|
If File.Exists(File.DirInternal,"cartaPorte.pdf") And Starter.rutaTipo <> "FORANEA" Then 'Existe, NO es de hoy y NO ES es FORANEA
|
|
Private mb1 As Int
|
|
mb1 = Msgbox2("No se pudo descargar la carta porte, por favor intente de nuevo o comuniquese con un supervisor", "Error Carta Porte", "Aceptar", "", "Reintentar", Null) 'ignore
|
|
If mb1 = DialogResponse.Positive Then
|
|
' Activity.Finish
|
|
' ExitApplication
|
|
detenerLoop = True
|
|
B4XPages.ShowPage("Login")
|
|
ELSE IF mb1 = DialogResponse.NEGATIVE Then
|
|
descargaCartaPorte
|
|
ELSE IF mb1 = DialogResponse.CANCEL Then
|
|
' VALIDAR_INFO
|
|
End If
|
|
Else
|
|
LogColor("Hay carta porte vieja PERO la ruta es Foranea", Colors.RGB(255,131,0))
|
|
ToastMessageShow("Hay carta porte de dias anteriores y la ruta es foranea.", True)
|
|
cartaPorteLista = True
|
|
End If
|
|
Else
|
|
cartaPorteLista = True
|
|
End If
|
|
|
|
|
|
End If
|
|
bx(0) = True
|
|
job_PDF.Release
|
|
' Log("Termina descargaCartaPorteyProgreso")
|
|
Return job_PDF.Success
|
|
End Sub
|
|
|
|
'Para visualizar el progreso de la descarga
|
|
Private Sub TrackProgress (j As HttpJob, Stop() As Boolean, TaskId As Int)
|
|
Do While Stop(0) = False
|
|
If j.Out.IsInitialized Then
|
|
Dim TotalLength As Long = j.Response.ContentLength
|
|
Dim size As Long = File.Size(HttpUtils2Service.TempFolder, TaskId)
|
|
' Log(size & ", " & TotalLength & " | " & ((size/TotalLength)*100))
|
|
ProgressBarPDF.Progress = (size/TotalLength)*100
|
|
l_porcentaje.Text = $"$1.0{((size/TotalLength)*100)} %"$
|
|
End If
|
|
Sleep(100)
|
|
Loop
|
|
If (size/TotalLength) = 1 Then Subs.panelOculto(p_downloadPDF)
|
|
' Log("TrackProgress - "&size & ", " & TotalLength)
|
|
End Sub
|
|
|
|
Sub PDFium_loadComplete(pages As Int)
|
|
' Log($"PDFium_loadComplete(${pages})"$)
|
|
glPages = pages
|
|
lblPages.Text = $"${glPages}"$
|
|
End Sub
|
|
|
|
Sub PDFium_onInitiallyRendered(page As Int)
|
|
Log($"PDFium_onInitiallyRendered(${page})"$)
|
|
End Sub
|
|
|
|
Sub PDFium_onPageChanged(page As Int, TotalPages As Int)
|
|
' Log($"PDFium_onPageChanged(${page},${TotalPages})"$)
|
|
lblPages.Text = $"${page+1}/${glPages}"$
|
|
End Sub
|
|
|
|
Sub PDFium_PageNum(page As Int)
|
|
Log($"PDFium_PageNum(${page})"$)
|
|
End Sub
|
|
|
|
Sub PDFium_Show()
|
|
Log($"PDFium_Show()"$)
|
|
End Sub
|
|
|
|
Sub btnFirst_Click
|
|
PDFView1.jumpTo2(0,False)
|
|
End Sub
|
|
|
|
Sub btnPrev_Click
|
|
PDFView1.jumpTo2(PDFView1.CurrentPage-1,False)
|
|
End Sub
|
|
|
|
Sub btnNext_Click
|
|
PDFView1.jumpTo2(PDFView1.CurrentPage+1,False)
|
|
End Sub
|
|
|
|
Sub btnLast_Click
|
|
PDFView1.jumpTo2(glPages-1,False)
|
|
End Sub
|
|
|
|
Private Sub B_PROXIMA_LongClick
|
|
'' StartActivity(Starter.ultimaActividad)
|
|
' If Starter.sesion.Get("actividad") <> "" Then
|
|
'' StartActivity(Starter.sesion.Get("actividad"))
|
|
' Log(Starter.sesion)
|
|
' If Starter.sesion.Size = 1 Then
|
|
' CallSubDelayed(Starter.sesion.Get("actividad"), "activity_resume")
|
|
' else if Starter.sesion.ContainsKey("sub") Then
|
|
' Private esteSub As Map = Starter.sesion.Get("sub")
|
|
'' If Logger Then Log(esteSub)
|
|
' If esteSub.Size = 1 Then CallSubDelayed(Starter.sesion.Get("actividad"), esteSub.Get("nombre"))
|
|
' If esteSub.Size = 2 Then CallSubDelayed2(Starter.sesion.Get("actividad"), esteSub.Get("nombre"), esteSub.get("param1"))
|
|
' If esteSub.Size = 3 Then CallSubDelayed3(Starter.sesion.Get("actividad"), esteSub.Get("nombre"), esteSub.get("param1"), esteSub.get("param2"))
|
|
' End If
|
|
' End If
|
|
End Sub
|
|
|
|
Private Sub P1_Click
|
|
'Vacio, solo está aquib para capturar el evento de clic y que no se pase hacia el fondo.
|
|
End Sub
|
|
|
|
Private Sub Resumen_LongClick
|
|
ToastMessageShow("Enviamos UTR", True)
|
|
CallSubDelayed(Starter, "ENVIA_ULTIMA_GPS")
|
|
End Sub
|
|
|
|
|
|
Private Sub StartBluetooth
|
|
If admin.IsEnabled = False Then
|
|
Wait For (EnableBluetooth) Complete (Success As Boolean)
|
|
If Success = False Then
|
|
ToastMessageShow("Failed to enable bluetooth", True)
|
|
End If
|
|
End If
|
|
BluetoothState = admin.IsEnabled
|
|
StateChanged
|
|
End Sub
|
|
|
|
Private Sub StateChanged
|
|
' btnSearchForDevices.Enabled = BluetoothState
|
|
' btnAllowConnection.Enabled = BluetoothState
|
|
' ChatPage1.btnSend.Enabled = ConnectionState
|
|
End Sub
|
|
|
|
Private Sub EnableBluetooth As ResumableSub
|
|
ToastMessageShow("Enabling Bluetooth adapter...", False)
|
|
Dim ph As Phone
|
|
If ph.SdkVersion >= 31 Then
|
|
Log(31)
|
|
rp.CheckAndRequest("android.permission.BLUETOOTH_CONNECT")
|
|
Wait For B4XPage_PermissionResult (Permission As String, Result As Boolean)
|
|
Log(Result)
|
|
If Result = False Then Return False
|
|
If ph.SdkVersion >= 33 Then
|
|
Log(33)
|
|
Dim in As Intent
|
|
in.Initialize("android.bluetooth.adapter.action.REQUEST_ENABLE", "")
|
|
StartActivityForResult(in)
|
|
Wait For ion_Event (MethodName As String, Args() As Object)
|
|
Return admin.IsEnabled
|
|
End If
|
|
End If
|
|
Return admin.Enable
|
|
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 As Object(ion, i))
|
|
End Sub
|
|
|
|
Sub GetBA As Object
|
|
Dim jo As JavaObject = Me
|
|
Return jo.RunMethod("getBA", Null)
|
|
End Sub
|
|
|
|
'Borramos los clientes nuevosd que no tengan venta.
|
|
Sub borraClientesNuevosSinVenta 'ignore
|
|
Private x As Cursor = Starter.skmt.ExecQuery("Select CAT_CL_CODIGO from kmt_info where CAT_CL_CODIGO like 'N%' and CAT_CL_CODIGO not in (Select pe_cliente from pedido)")
|
|
If x.RowCount > 0 Then
|
|
' x.Position = 0
|
|
For i = 0 To x.RowCount - 1
|
|
x.Position = i
|
|
Starter.skmt.ExecNonQuery($"delete from kmt_info where CAT_CL_CODIGO = '${x.GetString("CAT_CL_CODIGO")}'"$)
|
|
' Log($"delete from kmt_info where CAT_CL_CODIGO = '${x.GetString("CAT_CL_CODIGO")}'"$)
|
|
LogColor($"Cliente nuevo "${x.GetString("CAT_CL_CODIGO")}" SIN VENTA -> BORRADO!!"$, Colors.red)
|
|
Next
|
|
End If
|
|
End Sub
|
|
|
|
'Private Sub Panel1_Click
|
|
'
|
|
'End Sub
|
|
'
|
|
'Private Sub Panel2_Click
|
|
'
|
|
'End Sub
|
|
|
|
Private Sub P_RESUMEN_Click
|
|
l_descripcion.Visible = False
|
|
End Sub
|
|
|
|
Private Sub p_resumenAcumulado_Click
|
|
|
|
End Sub
|
|
|
|
Sub IsConnectedToInternet As Boolean 'ignore
|
|
Dim r As Reflector
|
|
r.Target = r.GetContext
|
|
r.Target = r.RunMethod2("getSystemService", "connectivity", "java.lang.String")
|
|
r.Target = r.RunMethod("getActiveNetworkInfo")
|
|
If r.Target <> Null Then
|
|
Return r.RunMethod("isConnectedOrConnecting")
|
|
End If
|
|
Return False
|
|
End Sub
|
|
|
|
Private Sub b_motivoNoVisita_Click
|
|
B4XPages.MainPage.aud.guarda("Entrada a motivoNoVisita")
|
|
r_1.Checked = True
|
|
r_razonNoVisita = "FALLA MECANICA"
|
|
If Not(kh.motivoNoVisitaActivo) Then
|
|
p_transparente.Top = 0 : p_transparente.left = 0
|
|
p_transparente.Height = Root.Height : p_transparente.Width = Root.Width
|
|
kh.centraPanel(p_noVisita, Root.Width)
|
|
kh.centraPanelV(p_noVisita, Root.Height)
|
|
p_transparente.Visible = True
|
|
Else
|
|
p_transparente2.Top = 0 : p_transparente2.left = 0
|
|
p_transparente2.Height = Root.Height : p_transparente2.Width = Root.Width
|
|
kh.centraPanel(p_noVisita2, Root.Width)
|
|
kh.centraPanelV(p_noVisita2, Root.Height)
|
|
p_transparente2.Visible = True
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub p_transparente_Click
|
|
|
|
End Sub
|
|
|
|
Private Sub b_noVisita_Click
|
|
Msgbox2Async("Si se envia la información, ya NO se va a poder continuar con la ruta, los clientes por visitar se van a bloquear.", "AVISO", "Continuar", "Cancelar", "", LoadBitmap(File.DirAssets,"alert2.png"), False)
|
|
Wait For Msgbox_Result (result As Int)
|
|
If result = DialogResponse.POSITIVE Then
|
|
B4XPages.MainPage.aud.guarda($"Se envió MotivoNoVisita: "${r_razonNoVisita}""$)
|
|
ToastMessageShow("CONTINUAR", False)
|
|
Starter.skmt.ExecNonQuery($"delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = 'NOVISITA_ACTIVA'"$)
|
|
Starter.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("NOVISITA_ACTIVA", 1))
|
|
Starter.skmt.ExecNonQuery($"delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = 'NOVISITA_RAZON'"$)
|
|
Starter.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("NOVISITA_RAZON", r_razonNoVisita))
|
|
Starter.skmt.ExecNonQuery($"delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = 'NOVISITA_FECHA'"$)
|
|
Starter.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("NOVISITA_FECHA", Subs.traeFecha))
|
|
Starter.skmt.ExecNonQuery($"update kmt_info set gestion = '4' where gestion = '0' and CAT_CL_DIAS_VISITA = (SELECT CAT_VA_VALOR FROM CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = 'DIA_VISITA')"$)
|
|
Log(Subs.traeRuta)
|
|
Subs.bitacora(Subs.fechanormal(DateTime.Now), usuario, Subs.traeAlmacen, Subs.traeRuta, "MOTIVO NO VENTA ACTIVO", "", Subs.fechanormal(DateTime.Now), Subs.fechanormal(DateTime.Now), Starter.lat_gps, Starter.lon_gps, 2, "", r_razonNoVisita)
|
|
' Private mn0v As Cursor = Starter.skmt.ExecQuery("select * from kmt_info where gestion = '4'")
|
|
' If mnv.RowCount > 0 Then
|
|
' mnv.Position = 0
|
|
' End If
|
|
Private mnv As ResultSet = Starter.skmt.ExecQuery("select * from kmt_info where gestion = '4'")
|
|
Private alm As String = Subs.traeAlmacen
|
|
Private rut As String = Subs.traeRuta
|
|
Private fech As String = Subs.fechanormal(DateTime.Now)
|
|
Do While mnv.NextRow
|
|
Subs.bitacora(Subs.fechanormal(DateTime.Now), usuario, alm, rut, "NO VISITADO", mnv.GetString("CAT_CL_CODIGO"), fech, fech, Starter.lat_gps, Starter.lon_gps, 2, "", r_razonNoVisita)
|
|
Log($"NO VISITADO - ${mnv.GetString("CAT_CL_CODIGO")}"$)
|
|
DateTime.DateFormat = "yyyy-MM-dd HH:mm:ss"
|
|
' Actualizamos HIST_NOTIFICACIONES con la hora y el motivo.
|
|
cmd.Initialize
|
|
cmd.Name = "updateHistNotificacionesMotivo"
|
|
|
|
|
|
' ("", DateTime.Date(DateTime.Now), Subs.traeRuta, usuario, Subs.traeAlmacen, clienteId)
|
|
cmd.Parameters = Array As Object(r_razonNoVisita, DateTime.Date(DateTime.Now), Subs.traeRuta, usuario, ALMACEN, mnv.GetString("CAT_CL_CODIGO"))
|
|
reqManager.ExecuteCommand(cmd , "insertHistNotificaciones")
|
|
Loop
|
|
|
|
' b_motivoNoVisita.Color = Colors.RGB(247, 94, 0)
|
|
Private cd1 As ColorDrawable
|
|
cd1.Initialize(Colors.RGB(247, 94, 0), 5dip)
|
|
b_motivoNoVisita.Background = cd1
|
|
B_MAPA_RUTA.Enabled = False
|
|
trabajar.Enabled = False
|
|
' LogColor("deshabilitamos", Colors.magenta)
|
|
NUEVO.Enabled = False
|
|
B_PROXIMA.Enabled = False
|
|
Else If result = DialogResponse.CANCEL Then
|
|
ToastMessageShow("CANCELAR", False)
|
|
End If
|
|
p_transparente.Visible = False
|
|
End Sub
|
|
|
|
Private Sub p_transparente2_Click
|
|
|
|
End Sub
|
|
|
|
Private Sub b_reactivaRuta_Click
|
|
Private cfd As Cursor = Starter.skmt.ExecQuery("select ifnull(CAT_VA_VALOR, '') as valor from CAT_VARIABLES where CAT_VA_DESCRIPCION = 'FINDIA_PASS'")
|
|
If cfd.RowCount > 0 Then
|
|
cfd.Position = 0
|
|
Private finDiaPass As String = cfd.GetString("valor")
|
|
If et_reactivaRuta.Text = finDiaPass Then
|
|
Starter.skmt.ExecNonQuery($"delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = 'NOVISITA_ACTIVA'"$)
|
|
Starter.skmt.ExecNonQuery($"delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = 'NOVISITA_RAZON'"$)
|
|
Starter.skmt.ExecNonQuery("update kmt_info set gestion = '0' where gestion = '4'")
|
|
Subs.bitacora(Subs.fechanormal(DateTime.Now), usuario, Subs.traeAlmacen, Subs.traeRuta, "REACTIVA RUTA", "", Subs.fechanormal(DateTime.Now), Subs.fechanormal(DateTime.Now), Starter.lat_gps, Starter.lon_gps, 2, "", "")
|
|
Private cd1 As ColorDrawable
|
|
cd1.Initialize(Colors.RGB(213, 0, 0), 5dip)
|
|
b_motivoNoVisita.Background = cd1
|
|
B_MAPA_RUTA.Enabled = True
|
|
trabajar.Enabled = True
|
|
NUEVO.Enabled = True
|
|
B_PROXIMA.Enabled = True
|
|
p_transparente2.Visible = False
|
|
ToastMessageShow("Ruta activa", False)
|
|
Else
|
|
ToastMessageShow("Contraseña equivocada", True)
|
|
End If
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub r_7_CheckedChange(Checked As Boolean)
|
|
r_razonNoVisita = r_7.Text
|
|
End Sub
|
|
|
|
Private Sub r_6_CheckedChange(Checked As Boolean)
|
|
r_razonNoVisita = r_6.Text
|
|
End Sub
|
|
|
|
Private Sub r_5_CheckedChange(Checked As Boolean)
|
|
r_razonNoVisita = r_5.Text
|
|
End Sub
|
|
|
|
Private Sub r_4_CheckedChange(Checked As Boolean)
|
|
r_razonNoVisita = r_4.Text
|
|
End Sub
|
|
|
|
Private Sub r_3_CheckedChange(Checked As Boolean)
|
|
r_razonNoVisita = r_3.Text
|
|
End Sub
|
|
|
|
Private Sub r_2_CheckedChange(Checked As Boolean)
|
|
r_razonNoVisita = r_2.Text
|
|
End Sub
|
|
|
|
Private Sub r_1_CheckedChange(Checked As Boolean)
|
|
r_razonNoVisita = r_1.Text
|
|
End Sub
|
|
|
|
Private Sub BUSCA_LongClick
|
|
Private impr As Cursor = Starter.skmt.ExecQuery("select IMPRESION from kmt_info where CAT_CL_CODIGO = '0'") 'Revisamos si el cliente 0 esta impreso.
|
|
Private abordoImpreso As Boolean = False
|
|
Log("select IMPRESION from kmt_info where CAT_CL_CODIGO = '0'")
|
|
Log($"REGISTROS: ${impr.RowCount}"$)
|
|
If impr.RowCount > 0 Then
|
|
impr.Position = 0
|
|
Log($">>>>>>> IMPRESION: |${impr.GetInt("IMPRESION")}|"$)
|
|
ToastMessageShow($"IMPRESION: |${impr.GetInt("IMPRESION")}|"$, False)
|
|
If impr.GetInt("IMPRESION") = 1 Then
|
|
Log("IMPRESION = 1")
|
|
abordoImpreso = True
|
|
End If
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub l_descripcion_Click
|
|
l_descripcion.Visible = False
|
|
End Sub
|
|
|
|
Private Sub l_productividad_Click
|
|
l_descripcion.text = "Clientes con venta / Clientes totales"
|
|
l_descripcion.Visible = True
|
|
End Sub
|
|
|
|
Private Sub l_efectividad_Click
|
|
l_descripcion.Text = "Clientes visitados / Clientes totales"
|
|
l_descripcion.Visible = True
|
|
End Sub
|
|
|
|
Private Sub Panel1_Click
|
|
l_descripcion.Visible = False
|
|
End Sub
|
|
|
|
Private Sub Panel2_Click
|
|
l_descripcion.Visible = False
|
|
End Sub
|
|
|
|
Private Sub l_drop_Click
|
|
l_descripcion.text = "Clientes con venta / Clientes totales"
|
|
l_descripcion.Visible = True
|
|
End Sub
|
|
|
|
Private Sub l_efectiva_Click
|
|
l_descripcion.Text = "Clientes visitados / Clientes totales"
|
|
l_descripcion.Visible = True
|
|
End Sub
|
|
|
|
Sub Linker_Response(Status As String) ' << AÑADE ESTE SUB [New Query]
|
|
If Starter.Logger Then LogColor($"Respuesta de DeviceLinker para la verificación del dispositivo: ${Status}"$, Colors.Magenta) '
|
|
Select Status
|
|
Case "UUID_ERROR"
|
|
Log("Error interno al obtener el identificador único del dispositivo.")
|
|
ToastMessageShow("Error interno al obtener el identificador único del dispositivo.", True)
|
|
Case "HTTP_ERROR"
|
|
LogColor("Error HTTP al verificar el dispositivo: " & linker.lastJobDoneError, Colors.Red)
|
|
ToastMessageShow("Error de conexión al servidor durante la verificación del dispositivo.", True)
|
|
Case "SERVER_LOGIC_ERROR"
|
|
Log("El servidor no proporcionó un estado de verificación válido. Contacte a soporte.")
|
|
ToastMessageShow("El servidor no proporcionó un estado de verificación válido. Contacte a soporte.", True)
|
|
Case "OK"
|
|
Log("########################################################")
|
|
Log("Dispositivo vinculado y verificado exitosamente.")
|
|
ToastMessageShow("Dispositivo verificado y vinculado correctamente.", False)
|
|
' Aquí puedes añadir lógica adicional si la verificación es exitosa, por ejemplo, habilitar ciertos botones o continuar con el flujo normal.
|
|
connecta2
|
|
Case "REGISTRO_COMPLETO"
|
|
Log("########################################################")
|
|
Log("¡Registro completo!")
|
|
ToastMessageShow("¡Registro completo!", False)
|
|
connecta2
|
|
Case "SIN_REGISTRO"
|
|
Log("########################################################")
|
|
Log("Sin registro")
|
|
ToastMessageShow("¡Dispositivo sin registro!", False)
|
|
linker.linkDevice(Subs.traeAlmacen, e_ruta.text)
|
|
Case "REGISTRANDO"
|
|
Log("¡Registro en proceso!")
|
|
ToastMessageShow("¡Registro en proceso!", True)
|
|
Case "YA_REGISTRADO"
|
|
Log("########################################################")
|
|
Log("¡El dispositivo ya esta registrado con otra ruta!")
|
|
ToastMessageShow("¡¡El dispositivo ya esta registrado con otra ruta!!", True)
|
|
Msgbox2("Esa ruta ya esta registrada en otro dispositivo", "RUTA INCORRECTA","Aceptar", "", "",Null) 'ignore
|
|
Case Else ' Otros estados que tu servidor pueda devolver (ej. "UNAUTHORIZED", "PENDING_APPROVAL")
|
|
Log("########################################################")
|
|
Log($"Estado de verificación del dispositivo: ${Status}"$)
|
|
ToastMessageShow($"Verificación del dispositivo: ${Status}"$, True)
|
|
' Puedes decidir si bloquear la funcionalidad o mostrar un mensaje específico según el estado.
|
|
End Select
|
|
End Sub |