B4A=true Group=Default Group ModulesStructureVersion=1 Type=Class Version=11.8 @EndOfDesignText@ Sub Class_Globals Private Root As B4XView 'ignore Private xui As XUI 'ignore Private b_cargar As Button Dim reqManager As DBRequestManager Dim trabajos = 0 As Int Dim trabajo1 = 0 As Int Private cl_folios As CustomListView Dim c As Cursor Private lb_folio As Label Dim folioactual As String Dim user As String Dim almacen As String Dim cuenta As String Dim cuenta2 As String Dim cuenta3 As String End Sub 'You can add more parameters here. Public Sub Initialize As Object Return Me End Sub 'This event will be called once, before the page becomes visible. Private Sub B4XPage_Created (Root1 As B4XView) Root = Root1 Root.LoadLayout("seleccion") 'load the layout to Root reqManager.Initialize(Me, Starter.DBReqServer) trabajos = 0 trabajo1 = 0 user = B4XPages.MainPage.user almacen = B4XPages.MainPage.ID_ALMACEN End Sub Sub B4XPage_Appear trabajos = 0 trabajo1 = 1 b_cargar_Click End Sub 'You can see the list of page related events in the B4XPagesManager object. The event name is B4XPage. Sub b_cargar_Click cl_folios.Clear Dim cmd As DBCommand cmd.Initialize cmd.Name = "select_folios_SALMA" cmd.Parameters = Array As Object(B4XPages.MainPage.ID_ALMACEN) reqManager.ExecuteQuery(cmd , 0, "folios") trabajos = trabajos +1 ProgressDialogShow ("Cargando") Log(trabajos) Log(trabajo1) ' If trabajos = 0 And trabajo1 = 1 Then ' ProgressDialogHide ' End If End Sub Sub CreateListItem(mostrar As String) As Panel Dim p As B4XView = xui.CreatePanel("") p.SetLayoutAnimated(0, 0, 0, 1, 115) p.LoadLayout("folio") p.Height= 60dip ' p.Width = clv_orden.GetBase.Width lb_folio.Height = p.Height *0.8 lb_folio.Text = mostrar ' Log(p.Width) Return p End Sub Private Sub lb_folio_Click folioactual = Sender.As(Label).Text Dim cmd As DBCommand cmd.Initialize cmd.Name = "select_pickingtrabajo_SALMA" cmd.Parameters = Array As Object(folioactual,almacen) reqManager.ExecuteQuery(cmd , 0, "pickingt") Dim cmd As DBCommand cmd.Initialize cmd.Name = "select_pickingtrabajo2_SALMA" cmd.Parameters = Array As Object(folioactual,almacen,user) reqManager.ExecuteQuery(cmd , 0, "pickingt2") Dim cmd As DBCommand cmd.Initialize cmd.Name = "select_pickingtrabajo3_SALMA" cmd.Parameters = Array As Object(folioactual,almacen) reqManager.ExecuteQuery(cmd , 0, "pickingt3") ' ' Dim cmd As DBCommand ' cmd.Initialize ' cmd.Name = "select_detalle_folio_SALMA" ' cmd.Parameters = Array As Object(folioactual,B4XPages.MainPage.ID_ALMACEN) ' reqManager.ExecuteQuery(cmd , 0, "detallefolio") ' trabajo1 = trabajo1 + 1 ' ProgressDialogShow ("Cargando") End Sub Sub JobDone(Job As HttpJob) If Job.Success = False Then ToastMessageShow("Error: " & Job.ErrorMessage, True) Else LogColor("JobDone: '" & reqManager.HandleJob(Job).tag & "' - Registros: " & reqManager.HandleJob(Job).Rows.Size, Colors.Green) If Job.JobName = "DBRequest" Then Dim result As DBResult = reqManager.HandleJob(Job) If result.Tag = "folios" Then 'query tag trabajos = trabajos - 1 trabajo1 = 1 Starter.skmt.ExecNonQuery("delete from CAT_FOLIOS") For Each records() As Object In result.Rows Dim FOLIO As String = records(result.Columns.Get("FOLIO")) Starter.skmt.ExecNonQuery2("INSERT INTO CAT_FOLIOS (CAT_FOLIO) VALUES (?)", Array As Object (FOLIO)) Next c = Starter.skmt.ExecQuery("SELECT CAT_FOLIO FROM CAT_FOLIOS") cl_folios.Clear For i = 0 To c.RowCount - 1 c.Position = i cl_folios.Add(CreateListItem(c.GetString("CAT_FOLIO")),i) Next c.Close End If End If If Job.JobName = "DBRequest" Then Dim result As DBResult = reqManager.HandleJob(Job) If result.Tag = "pickingt" Then 'query tag ' B4XPages.MainPage.picking.cl_picking.Clear For Each records() As Object In result.Rows cuenta = records(result.Columns.Get("COUNT(*)")) Log(cuenta) Next End If End If If Job.JobName = "DBRequest" Then Dim result As DBResult = reqManager.HandleJob(Job) If result.Tag = "pickingt2" Then 'query tag ' B4XPages.MainPage.picking.cl_picking.Clear For Each records() As Object In result.Rows cuenta2 = records(result.Columns.Get("COUNT(*)")) Log(cuenta2) Next End If End If If Job.JobName = "DBRequest" Then Dim result As DBResult = reqManager.HandleJob(Job) If result.Tag = "pickingt3" Then 'query tag ' B4XPages.MainPage.picking.cl_picking.Clear For Each records() As Object In result.Rows cuenta3 = records(result.Columns.Get("COUNT(*)")) Log(cuenta3) Next If cuenta = "1" Then Log("entre") If cuenta2 = "0" Then MsgboxAsync("Ruta trabajada por otro ususario","Atención") else if cuenta2 = "1" Then Dim cmd As DBCommand cmd.Initialize cmd.Name = "select_detalle_folio_SALMA" cmd.Parameters = Array As Object(folioactual,B4XPages.MainPage.ID_ALMACEN) reqManager.ExecuteQuery(cmd , 0, "detallefolio") trabajo1 = trabajo1 + 1 ProgressDialogShow ("Cargando") Else if cuenta3 = "1" Then cmd.Initialize cmd.Name = "update_picking5_SALMA" cmd.Parameters = Array As Object(user,folioactual,almacen) reqManager.ExecuteCommand(cmd, "update_picking5") cmd.Initialize cmd.Name = "update_picking6_SALMA" cmd.Parameters = Array As Object(user,folioactual,almacen) reqManager.ExecuteCommand(cmd, "update_picking6") Dim cmd As DBCommand cmd.Initialize cmd.Name = "select_detalle_folio_SALMA" cmd.Parameters = Array As Object(folioactual,B4XPages.MainPage.ID_ALMACEN) reqManager.ExecuteQuery(cmd , 0, "detallefolio") trabajo1 = trabajo1 + 1 ProgressDialogShow ("Cargando") End If Else if cuenta = "0" Then Dim cmd As DBCommand cmd.Initialize cmd.Name = "insert_PICKING_TRABAJO_SALMA" cmd.Parameters = Array As Object(folioactual,almacen,user,user) reqManager.ExecuteCommand(cmd , "insert_PICKING_TRABAJO_SALMA") Dim cmd As DBCommand cmd.Initialize cmd.Name = "insert_PICKING_TRABAJO_REP_SALMA" cmd.Parameters = Array As Object(folioactual,almacen,user,user) reqManager.ExecuteCommand(cmd , "insert_PICKING_TRABAJO_REP_SALMA") Dim cmd As DBCommand cmd.Initialize cmd.Name = "insert_picking2_SALMA" cmd.Parameters = Array As Object(user,folioactual,almacen,folioactual,almacen) reqManager.ExecuteCommand(cmd , "insert_picking2_SALMA") Dim cmd As DBCommand cmd.Initialize cmd.Name = "select_detalle_folio_SALMA" cmd.Parameters = Array As Object(folioactual,B4XPages.MainPage.ID_ALMACEN) reqManager.ExecuteQuery(cmd , 0, "detallefolio") trabajo1 = trabajo1 + 1 ProgressDialogShow ("Cargando") End If End If End If If Job.JobName = "DBRequest" Then Dim result As DBResult = reqManager.HandleJob(Job) If result.Tag = "detallefolio" Then 'query tag trabajo1 = trabajo1 - 2 ' B4XPages.MainPage.picking.cl_picking.Clear Starter.skmt.ExecNonQuery("delete from CAT_DETALLEFOLIO") Log("Borre la tabla") For Each records() As Object In result.Rows Dim ID As String = records(result.Columns.Get("ID")) Dim NOMBRE As String = records(result.Columns.Get("NOMBRE")) Dim CANTIDAD As String = records(result.Columns.Get("CANTIDAD")) Dim ruta As String = folioactual Starter.skmt.ExecNonQuery2("INSERT INTO CAT_DETALLEFOLIO (CAT_DF_ID, CAT_DF_NOMBRE, CAT_DF_CANTINICIAL, CAT_DF_RUTA) VALUES (?,?,?,?)", Array As Object (ID,NOMBRE,CANTIDAD,ruta)) Next End If End If If trabajos = 0 And trabajo1 = 1 Then ProgressDialogHide Else If trabajo1 = 0 And trabajos = 0 Then ProgressDialogHide B4XPages.ShowPage("picking") End If ' If trabajos = 0 Then ' ProgressDialogHide ' End If End If End Sub