B4A=true Group=Default Group ModulesStructureVersion=1 Type=Class Version=12.8 @EndOfDesignText@ Sub Class_Globals Dim reqManager As DBRequestManager Dim cmd As DBCommand Dim b, c, d, f As Cursor Dim almacen, perfil, cuantos, NUMERO_PEDIDO, usuario, cuantos_exib, cuantos_pedidosc, cuantos_noventa, cuantos_ped, cuantos_pedido As String Dim l_ruta As Label End Sub 'Initializes the object. You can add parameters to this method if needed. Public Sub Initialize reqManager.Initialize(Me, "http://keymon.net:1781") l_ruta.Initialize("l") End Sub Sub envia almacen = Subs.traeAlmacen Dim foto1() As Byte ' NOVENTA c = B4XPages.MainPage.skmt.ExecQuery("SELECT NV_CLIENTE,NV_FECHA,NV_USER,NV_MOTIVO,NV_COMM,NV_LAT,NV_LON, NV_FOTO, NV_REPROGRAMAR FROM NOVENTA") D=B4XPages.MainPage.skmt.ExecQuery("SELECT COUNT(*) AS CUANTOS_NOVENTA FROM NOVENTA") If c.RowCount>0 Then For i=0 To c.RowCount -1 c.Position=i foto1 = c.GetBlob("NV_FOTO") Dim cmd As DBCommand cmd.Initialize cmd.Name = "insert_reparto_REPG_INTMEX" cmd.Parameters = Array As Object(C.GetString("NV_CLIENTE"),C.GetString("NV_FECHA"),C.GetString("NV_USER"),C.GetString("NV_MOTIVO"),C.GetString("NV_COMM"),C.GetString("NV_LAT"),C.GetString("NV_LON"), almacen, l_ruta.Text, C.GetString("NV_REPROGRAMAR")) reqManager.ExecuteCommand(cmd , "inst_noventa_") Next c.Close End If d.Position=0 cuantos_noventa = D.GetString("CUANTOS_NOVENTA") d.Close 'Buscamos ordenes a reprogramar. Dim r As Cursor =B4XPages.MainPage.skmt.ExecQuery("select * from noventa where nv_reprogramar = 1") If r.RowCount > 0 Then For rx = 0 To r.RowCount - 1 r.Position = rx Dim o As Cursor = B4XPages.MainPage.skmt.ExecQuery2("select HVD_FECHA, CAT_CL_RUTA FROM HIST_VENTAS INNER JOIN kmt_info on HVD_CLIENTE = cat_cl_codigo WHERE HVD_CLIENTE = ?",Array As String(r.GetString("NV_CLIENTE"))) If o.RowCount > 0 Then o.Position = 0 Log("Enviamos reprogramados: " & r.RowCount) Dim cmd As DBCommand cmd.Initialize cmd.Name = "insert_reparto_reprogramar3_INTMEX" cmd.Parameters = Array As Object(r.GetString("NV_CLIENTE"),r.GetString("NV_REPROGRAMAR"),o.GetString("HVD_FECHA"),o.GetString("CAT_CL_RUTA"),almacen) reqManager.ExecuteCommand(cmd , "ins_reprogramar") End If Next End If r.Close 'PAGARES. Dim pa As Cursor =B4XPages.MainPage.skmt.ExecQuery("select * from PAGARES") If pa.RowCount > 0 Then For pag = 0 To pa.RowCount - 1 pa.Position = pag Dim cmd As DBCommand cmd.Initialize cmd.Name = "insert_reparto_PAGARES_INTMEX2" Dim fechaenvio() As String fechaenvio = Regex.Split(" ",pa.GetString("PA_FECHA_PREV")) ' Log(fechaenvio(0)) Dim fechaenvio1() As String fechaenvio1 = Regex.Split("/",fechaenvio(0)) Dim fechaano As String = fechaenvio1(2).SubString(2) Dim fechareal As String = fechaenvio1(0)&"/"&fechaenvio1(1)&"/"&fechaano ' Log(fechareal) Dim fechacap() As String fechacap = Regex.Split("/",pa.GetString("PA_CAPTURA")) Dim fechacapano As String = fechacap(2).SubString(2) Dim fechacapreal As String = fechacap(0)&"/"&fechacap(1)&"/"&fechacapano cmd.Parameters = Array As Object(pa.GetString("PA_CLIENTE"),pa.GetString("PA_MONTO"),fechacapreal,pa.GetString("PA_ALMACEN"),pa.GetString("PA_RUTAPREV"),pa.GetString("PA_RUTA_REP"),fechareal,pa.GetString("PA_USUARIO")) reqManager.ExecuteCommand(cmd , "ins_pagares") Next End If pa.Close 'ABONOS Dim ab As Cursor = B4XPages.MainPage.skmt.ExecQuery($"SELECT * from ABONOS where a_enviado is null"$) Log(ab.RowCount) If ab.RowCount > 0 Then For i=0 To ab.RowCount -1 ab.Position = i Dim c58 As Cursor = B4XPages.MainPage.skmt.ExecQuery($"SELECT * from HIST_VENTAS"$) If c58.RowCount > 0 Then c58.Position = 0 Private fechapre As String = c58.GetString("HVD_FECHA") End If Dim cmd As DBCommand cmd.Initialize cmd.Name = "insert_abono_INTMEXREP2" cmd.Parameters = Array As Object( ab.GetString("a_usuario"), ab.GetString("a_ruta"), ab.GetString("a_cliente"), ab.GetString("a_abono"), ab.GetString("a_fecha"),almacen,"REPARTO", ab.GetString("TIPO_PAGO"), ab.GetString("CONSECUTIVO"), ab.GetString("NUM_TICKET"), ab.GetString("RUTA_REP"), fechapre) reqManager.ExecuteCommand(cmd , $"ins_abonosPendientes_${ab.GetString("a_cliente")}"$) Log($"ins_abonosPendientes_${ab.GetString("a_cliente")}"$) Next End If ab.Close c=B4XPages.MainPage.skmt.ExecQuery("SELECT * FROM hist_ventas WHERE HVD_RECHAZO = 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_rep_hist_ventas_REPG2_INTMEX" Dim restarechazos As Int = c.GetString("HVD_CANT")-c.GetString("HVD_RECHAZOCANT") Dim costorechazos As Double= C.GetString("HVD_COSTO_TOT") / c.GetString("HVD_CANT") If restarechazos = 0 Then cmd.Parameters = Array As Object(C.GetString("HVD_CLIENTE"),C.GetString("HVD_PRONOMBRE"),C.GetString("HVD_RECHAZOCANT"),(costorechazos*c.GetString("HVD_RECHAZOCANT")),C.GetString("HVD_CODPROMO"),C.GetString("HVD_PROID"),C.GetString("HVD_NUM_TICKET"),C.GetString("HVD_NUM_REGISTRO"),1,"", almacen, costorechazos) Else cmd.Parameters = Array As Object(C.GetString("HVD_CLIENTE"),C.GetString("HVD_PRONOMBRE"),C.GetString("HVD_RECHAZOCANT"),(costorechazos*c.GetString("HVD_RECHAZOCANT")),C.GetString("HVD_CODPROMO"),C.GetString("HVD_PROID"),C.GetString("HVD_NUM_TICKET"),C.GetString("HVD_NUM_REGISTRO"),"",1, almacen,costorechazos) End If reqManager.ExecuteCommand(cmd , "inst_noventa") Next c.Close End If ' pedido c=B4XPages.MainPage.skmt.ExecQuery("SELECT PE_TIPO, PE_RUTA, PE_CEDIS, PE_COSTO_TOT, PE_COSTOU, PE_CANT, PE_PRONOMBRE, PE_PROID, PE_CLIENTE, PE_FECHA, PE_USUARIO, PE_CLIENTEOR, PE_CAJAS, PE_BCAJAS, CONSECUTIVO, FECHA_PREV, RUTA_REP, PE_REGALO FROM PEDIDO") If c.RowCount>0 Then For i=0 To c.RowCount -1 c.Position=i Dim cmd As DBCommand cmd.Initialize cmd.Name = "insert_pedido_REP_INTMEX" cmd.Parameters = Array As Object(c.GetString("PE_TIPO"), c.GetString("PE_RUTA"), c.GetString("PE_CEDIS"), 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_CLIENTEOR"), c.GetString("PE_CAJAS"), c.GetString("PE_BCAJAS"), c.GetString("CONSECUTIVO"), c.GetString("FECHA_PREV"), c.GetString("RUTA_REP"), c.GetString("PE_REGALO")) reqManager.ExecuteCommand(cmd , "ins_pedido_Inmtex") Next c.Close End If ' c=B4XPages.MainPage.skmt.ExecQuery("SELECT CLIENTE, USUARIO, FECHA_PUNTEO, LATITUD, LONGITUD, ALMACEN, RUTA_REPARTO, RUTA_PREV, FECHA_PREVENTA, MOTIVO, COMENTARIO,TIPO FROM REPARTO_GEO") ' Log($"REPARTO_Cliente PENDIENTE: ${c.RowCount}"$) ' If c.RowCount>0 Then ' For i=0 To c.RowCount -1 ' c.Position=i ' ' Dim cmd As DBCommand ' cmd.Initialize ' cmd.Name = "insert_REPARTO_INTMEX" ' cmd.Parameters = Array As Object(c.GetString("CLIENTE"), c.GetString("USUARIO"), c.GetString("FECHA_PUNTEO"), c.GetString("LATITUD"), c.GetString("LONGITUD"), c.GetString("ALMACEN"), c.GetString("RUTA_REPARTO"), c.GetString("RUTA_PREV"), c.GetString("FECHA_PREVENTA"), c.GetString("MOTIVO"), c.GetString("COMENTARIO"),c.GetString("TIPO")) ' reqManager.ExecuteCommand(cmd , $"ins_REPARTOPendientes_head_${c.GetString("CLIENTE")}"$) ' ' Next ' End If ' c.Close 'TABULADOR c = B4XPages.MainPage.skmt.ExecQuery("SELECT VEINTE, DIEZ, CINCO, DOS, PESO, CENTAVO, TOTAL FROM TABULADOR_MONEDAS") d = B4XPages.MainPage.skmt.ExecQuery("SELECT RUTAA FROM RUTAA") b = B4XPages.MainPage.skmt.ExecQuery("SELECT ID_ALMACEN FROM CAT_ALMACEN") f = B4XPages.MainPage.skmt.ExecQuery("SELECT HVD_FECHA FROM HIST_VENTAS") d.Position = 0 b.Position = 0 f.Position = 0 If c.RowCount > 0 Then For i = 0 To c.RowCount - 1 c.Position=i Dim cmd As DBCommand Dim fechatabulador() As String = Regex.Split(" ", f.GetString("HVD_FECHA")) Dim fechatabulador3 As String = fechatabulador(0) cmd.Initialize cmd.Name = "insert_tabulador_monedas_INTMEX" cmd.Parameters = Array As Object(d.GetString("RUTAA"), b.GetString("ID_ALMACEN"),c.GetString("VEINTE"),c.GetString("DIEZ"),c.GetString("CINCO"),c.GetString("DOS"),c.GetString("PESO"),c.GetString("CENTAVO"),fechatabulador3) reqManager.ExecuteCommand(cmd , "ins_tabulador_mon") Next c.Close d.Close b.Close f.Close End If c = B4XPages.MainPage.skmt.ExecQuery("SELECT MIL, QUINIENTOS, DOCIENTOS, CIEN, CINCUENTA, VEINTE FROM TABULADOR_BILLETES") d = B4XPages.MainPage.skmt.ExecQuery("SELECT RUTAA FROM RUTAA") b = B4XPages.MainPage.skmt.ExecQuery("SELECT ID_ALMACEN FROM CAT_ALMACEN") f = B4XPages.MainPage.skmt.ExecQuery("SELECT HVD_FECHA FROM HIST_VENTAS") d.Position = 0 b.Position = 0 f.Position = 0 If c.RowCount > 0 Then For i = 0 To c.RowCount - 1 c.Position=i Dim cmd As DBCommand Dim fechatabulador() As String = Regex.Split(" ", f.GetString("HVD_FECHA")) Dim fechatabulador3 As String = fechatabulador(0) cmd.Initialize cmd.Name = "insert_tabulador_billetes_INTMEX" cmd.Parameters = Array As Object(b.GetString("ID_ALMACEN"), d.GetString("RUTAA"),c.GetString("MIL"),c.GetString("QUINIENTOS"),c.GetString("DOCIENTOS"),c.GetString("CIEN"),c.GetString("CINCUENTA"),c.GetString("VEINTE"),fechatabulador3) reqManager.ExecuteCommand(cmd , "ins_tabulador_bill") Next c.Close d.Close b.Close f.Close End If 'FIN TABULADOR ' Dim cmd As DBCommand ' cmd.Initialize ' cmd.Name = "insert_drop_rep_INTMEX2" ' cmd.Parameters = Array As Object(Subs.dameUsuarioDeDB, l_ruta.Text, almacen, l_ctast.text, Subs.traeEntregados, Subs.traeRechazados, "ENVIO",Application.VersionName) ' reqManager.ExecuteCommand(cmd , "inst_drop") ' ToastMessageShow("Se Actualizaran los datos, Este proceso podria tardar hasta un minuto, gracias "& l_ruta.text , True) End Sub ' Nuevo método para inicializar el manager con el Target correcto Public Sub ConfigurarYEnviar(ServidorURL As String) ' 'Me' aquí es C_Intmex, asegurando que C_Intmex.JobDone sea llamado. reqManager.Initialize(Me, ServidorURL) envia ' Llama a la función de envío original de C_Intmex End Sub Sub JobDone(Job As HttpJob) Log("JOBDONE INTMEX REPARTO") Log(reqManager.link) If reqManager.reqsList.IsInitialized Then 'Si tenemos lista de requests, la procesamos. If reqManager.reqsList.IndexOf(Job.tag) <> -1 Then reqManager.reqsList.RemoveAt(reqManager.reqsList.IndexOf(Job.tag)) LogColor($">>>>>> Quitamos ${Job.tag}"$, Colors.Blue) End If LogColor(">>>>>> " & reqManager.reqsList.Size & " - " & reqManager.reqsList, Colors.Blue) End If If Job.Success = False Then LogColor("Error: " & reqManager.HandleJob(Job).tag & " : " & Job.ErrorMessage, Colors.red) Else 'If Job Success then ... LogColor("JobDone: '" & reqManager.HandleJob(Job).tag & "' - Registros: " & reqManager.HandleJob(Job).Rows.Size, Colors.RGB(0,160,0)) 'Mod por CHV - 211027 Log(reqManager.reqsList.size) If reqManager.reqsList.size = 0 Then B4XPages.MainPage.p_progressDialog.Visible = False End If Job.Release End Sub