B4A=true Group=Default Group ModulesStructureVersion=1 Type=Class Version=12.2 @EndOfDesignText@ Sub Class_Globals Private Root As B4XView 'ignore Private xui As XUI 'ignore Dim c As Cursor Dim d As Cursor Dim e As Cursor Dim f As Cursor Dim g As Cursor Dim h As Cursor Private et_comentario As EditText Private et_piezastotal As EditText Private et_montototal As EditText Dim reqManager As DBRequestManager Dim trabajos As Int = 0 Private clv_bo As CustomListView Private l_codigo As Label Private l_nombre As Label Private l_inical As Label Private l_costo As Label Private et_piezas As EditText Private et_preciototal As EditText Private et_cantidadbo As EditText Private et_preciobo As EditText Private p_sinbo As Panel Private Label11 As Label Private Label13 As Label 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("termino") reqManager.Initialize(Me, Starter.DBReqServer) End Sub Sub B4XPage_Appear trabajos = 0 et_comentario.Text = "" c = Starter.skmt.ExecQuery("SELECT * FROM CAT_DETALLEFOLIO") e = Starter.skmt.ExecQuery("SELECT * FROM CUENTAA") e.Position = 0 d = Starter.skmt.ExecQuery("SELECT * FROM CAT_FOLIOS WHERE CAT_FOLIO IN (SELECT CUENTA FROM CUENTAA)") d.Position = 0 Starter.skmt.ExecNonQuery2("delete from CAT_PICKING WHERE ALMACEN = ? AND RUTA = ?",Array As String(e.GetString("ALMACEN"), e.GetString("CUENTA"))) For i = 0 To c.RowCount -1 c.Position = i Starter.skmt.ExecNonQuery2("INSERT INTO CAT_PICKING(ALMACEN, RUTA, CODIGO, NOMBREPROD, CAJASOR, PIEZASOR, BLISTEROR, CAJASES, PIEZASES, BLISTERSES, USUARIO, FECHAINICIO, FECHAFIN, PIEZASTOTAL, PRECIOTOTAL, CANTIDADOR, PRECIOOR, CANTIDADBO, PRECIOBO, ENVIADO) VALUES(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,0)",Array As String(e.GetString("ALMACEN"), e.GetString("CUENTA"), c.GetString("CAT_DF_ID"), c.GetString("CAT_DF_NOMBRE"), c.GetString("CAT_DF_CAJAS"), c.GetString("CAT_DF_PIEZAS"), c.GetString("CAT_DF_BLISTER"), c.GetString("CAT_DF_CAJAS_ESC"), c.GetString("CAT_DF_PIEZAS_ESC"), c.GetString("CAT_DF_BLISTER_ESC"),B4XPages.MainPage.user, d.GetString("CAT_FOLIO_INICIO"),d.GetString("CAT_FOLIO_FINAL"),c.GetString("PIEZASTOTAL"),c.GetString("PRECIOTOTAL"),c.GetString("CANTIDAD"),c.GetString("PRECIOORDEN"),c.GetString("CANTIDADBO"),c.GetString("PRECIOBO"))) Next g = Starter.skmt.ExecQuery2("SELECT CODIGO, NOMBREPROD, CANTIDADBO , PRECIOBO FROM CAT_PICKING WHERE CANTIDADBO > 0 AND ALMACEN = ? AND RUTA = ?", Array As String(e.GetString("ALMACEN"), e.GetString("CUENTA"))) If g.RowCount = 0 Then clv_bo.AsView.Visible = False p_sinbo.Visible = True Label11.Visible = False Label13.Visible = False f = Starter.skmt.ExecQuery("SELECT SUM(PIEZASTOTAL) AS TOTALTPIEZAS, SUM(PRECIOTOTAL) AS TOTALPRECIO, SUM(CANTIDADOR) AS CANTIDADORI, SUM(PRECIOOR) AS PRECIOORI, SUM (CANTIDADBO) AS CANTIDADBACK, SUM (PRECIOBO) AS PRECIOBACK FROM CAT_PICKING WHERE RUTA IN (SELECT CUENTA FROM CUENTAA) AND ALMACEN IN (SELECT ALMACEN FROM CUENTAA) ") f.Position = 0 h = Starter.skmt.ExecQuery("SELECT COSTO_TOT FROM COSTO") h.Position = 0 et_piezastotal.Text = f.GetString("TOTALTPIEZAS") et_montototal.Text = "" et_piezas.Text = f.GetString("CANTIDADORI") et_preciototal.Text = h.GetString("COSTO_TOT") et_cantidadbo.Text = f.GetString("CANTIDADBACK") et_preciobo.Text = "" c.Close d.Close e.Close f.Close h.Close Else p_sinbo.Visible = False Label11.Visible = True Label13.Visible = True clv_bo.AsView.Visible = True clv_bo.Clear For i = 0 To g.RowCount - 1 g.Position = i clv_bo.Add(CreateListItem(g.GetString("CODIGO"), g.GetString("NOMBREPROD"), g.GetString("CANTIDADBO"), g.GetString("PRECIOBO")),i) Next g.Close f = Starter.skmt.ExecQuery("SELECT SUM(PIEZASTOTAL) AS TOTALTPIEZAS, SUM(PRECIOTOTAL) AS TOTALPRECIO, SUM(CANTIDADOR) AS CANTIDADORI, SUM(PRECIOOR) AS PRECIOORI, SUM (CANTIDADBO) AS CANTIDADBACK, SUM (PRECIOBO) AS PRECIOBACK FROM CAT_PICKING WHERE RUTA IN (SELECT CUENTA FROM CUENTAA) AND ALMACEN IN (SELECT ALMACEN FROM CUENTAA) ") f.Position = 0 h = Starter.skmt.ExecQuery("SELECT COSTO_TOT FROM COSTO") h.Position = 0 et_piezastotal.Text = f.GetString("TOTALTPIEZAS") et_montototal.Text = h.GetString("COSTO_TOT") et_piezas.Text = f.GetString("CANTIDADORI") et_preciototal.Text = h.GetString("COSTO_TOT") et_cantidadbo.Text = f.GetString("CANTIDADBACK") et_preciobo.Text = f.GetString("PRECIOBACK") c.Close d.Close e.Close f.Close h.Close End If End Sub Sub CreateListItem(codigo As String, nombre As String, cantidad As String, costo As String) As Panel Dim p As B4XView = xui.CreatePanel("") p.SetLayoutAnimated(0, 0, 0, 1, 115) p.LoadLayout("dpicking") p.Height= 60dip ' p.Width = clv_orden.GetBase.Width ' lb_folio.Height = p.Height *0.8 l_codigo.Text = codigo l_nombre.Text = nombre l_inical.Text = cantidad l_costo.Text = NumberFormat2(costo,1,2,2,True) ' Log(p.Width) Return p End Sub Private Sub b_enviar_Click trabajos = 0 c = Starter.skmt.ExecQuery("SELECT ALMACEN, RUTA, CODIGO, NOMBREPROD, CAJASOR, PIEZASOR, BLISTEROR, CAJASES, PIEZASES, BLISTERSES, USUARIO, FECHAINICIO, FECHAFIN, ENVIADO FROM CAT_PICKING WHERE ENVIADO = 0") If c.RowCount>0 Then ProgressDialogShow("Enviando datos") For i=0 To c.RowCount -1 c.Position=i d = Starter.skmt.ExecQuery("SELECT FECHACONSULTA FROM FECHA") d.Position = 0 Dim fecha As String = d.GetString("FECHACONSULTA") d.Close Dim cmd As DBCommand cmd.Initialize cmd.Name = "insert_picking_GUNA" cmd.Parameters = Array As Object(c.GetString("ALMACEN"),c.GetString("RUTA"),c.GetString("CODIGO"),c.GetString("NOMBREPROD"),c.GetString("CAJASOR"),c.GetString("PIEZASOR"),c.GetString("BLISTEROR"),c.GetString("CAJASES"),c.GetString("PIEZASES"),c.GetString("BLISTERSES"),c.GetString("USUARIO"),c.GetString("FECHAINICIO"),c.GetString("FECHAFIN"),et_comentario.Text,fecha) reqManager.ExecuteCommand(cmd , $"ins_pickingPendientes_head_${c.GetString("CODIGO")}"$) trabajos = trabajos +1 Next ' B4XPages.ShowPage("almacen") Else If c.RowCount = 0 Then e = Starter.skmt.ExecQuery("SELECT * FROM CUENTAA") e.Position = 0 Starter.skmt.ExecNonQuery2("UPDATE CUENTAA SET ESTATUS = ? WHERE CUENTA = ?",Array As String (0,e.GetString("CUENTA"))) B4XPages.MainPage.seleccion.almacen = e.GetString("ALMACEN") B4XPages.ShowPage("almacen") ProgressDialogHide e.Close End If c.Close End Sub Sub JobDone(Job As HttpJob) Log(Job.Success) If Job.Success = False Then ' ToastMessageShow("Error: " & Job.ErrorMessage, True) Else LogColor("JobDone: '" & reqManager.HandleJob(Job).tag & "' - Registros: " & reqManager.HandleJob(Job).Rows.Size, Colors.Green) 'Mod por CHV - 211027 If Job.JobName = "DBRequest" Then Dim resultado As DBResult = reqManager.HandleJob(Job) If resultado.Tag.As(String).IndexOf("ins_pickingPendientes_head_") > -1 Then trabajos = trabajos-1 Private codigo As String= resultado.Tag codigo = codigo.SubString(codigo.IndexOf("_")+24) Log($"Cliente1:${codigo}"$) Starter.skmt.ExecNonQuery2("UPDATE CAT_PICKING SET ENVIADO = ? WHERE CODIGO = ? AND ENVIADO <> 1",Array As String ("1", codigo)) For Each records() As Object In resultado.Rows For Each k As String In resultado.Columns.Keys Log(resultado.Tag & ": " & k & ": " & records(resultado.Columns.Get(k))) Next Next End If End If Job.Release If trabajos = 0 Then ProgressDialogHide Log("estoyaqui") e = Starter.skmt.ExecQuery("SELECT * FROM CUENTAA") e.Position = 0 Starter.skmt.ExecNonQuery2("UPDATE CUENTAA SET ESTATUS = ? WHERE CUENTA = ?",Array As String (0,e.GetString("CUENTA"))) B4XPages.MainPage.seleccion.almacen = e.GetString("ALMACEN") B4XPages.ShowPage("almacen") ProgressDialogHide e.Close ' B4XPages.ShowPage("seleccion") End If End If End Sub