Files
Salma_Almacen/B4A/C_seleccion.bas
2023-09-24 00:55:14 -06:00

155 lines
4.6 KiB
QBasic

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
Dim reqManager As DBRequestManager
Private b_cargar As Button
Private cl_folios As CustomListView
Private trabajos = 0 As Int
Dim c As Cursor
Private lb_num_folio As Label
Private contenido_folio As Panel
Private Panel1 As Panel
Dim folioactual 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")
reqManager.Initialize(Me, Starter.DBReqServer)
End Sub
'You can see the list of page related events in the B4XPagesManager object. The event name is B4XPage.
Private Sub b_cargar_Click
If trabajos > 1 Then
trabajos = 0
End If
cl_folios.Clear
Dim cmd As DBCommand
cmd.Initialize
cmd.Name = "selec_foliosalmacen_SALMA"
cmd.Parameters = Array As Object(Starter.almacen)
reqManager.ExecuteQuery(cmd , 0, "foliosalmacen")
trabajos = trabajos + 1
cmd.Name = "select_ALMACEN_CAT_CODIGOS_SALMA"
cmd.Parameters = Array As Object(Starter.almacen)
reqManager.ExecuteQuery(cmd , 0, "cat_productos")
trabajos = trabajos + 1
cmd.Name = "select_ALMACEN_CAT_EQUIVALENCIAS_SALMA"
cmd.Parameters = Array As Object(Starter.almacen)
reqManager.ExecuteQuery(cmd , 0, "cat_equivalencias")
trabajos = trabajos + 1
ProgressDialogShow ("Cargando")
End Sub
Sub CreateListItem(mostrar As String) As Panel
Dim p As B4XView = xui.CreatePanel("")
p.SetLayoutAnimated(0, 0, 0, 1, 115)
p.LoadLayout("cont_folio")
p.Height= 65dip
' p.Width = clv_orden.GetBase.Width
contenido_folio.Width = Panel1.Width
lb_num_folio.Height = p.Height *0.8
lb_num_folio.Text = mostrar
' Log(p.Width)
Return p
End Sub
Private Sub lb_num_folio_Click
folioactual = Sender.As(Label).Text
B4XPages.ShowPage ("escaneo")
End Sub
Sub JobDone(Job As HttpJob)
If Not(Job.Success) 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 = "foliosalmacen" Then 'query tag
Starter.skmt.ExecNonQuery("delete from CAT_FOLIOS_ALMACEN")
For Each records() As Object In result.Rows
Dim FOLIO_ID As String = records(result.Columns.Get("HIST_EA_ID"))
Dim FOLIO_ENTREGA As String = records(result.Columns.Get("HIST_EA_FOLIO_ENTREGA"))
Dim FOLIO_REFERENCIA_FACTURA As String = records(result.Columns.Get("HIST_EA_REFERENCIA_FACTURA"))
Starter.skmt.ExecNonQuery2("INSERT INTO CAT_FOLIOS_ALMACEN(FOLIO_ENTREGA, FOLIO_ID, FOLIO_REFERENCIA_FACTURA) VALUES (?,?,?)", Array As Object (FOLIO_ENTREGA,FOLIO_ID,FOLIO_REFERENCIA_FACTURA))
Next
c = Starter.skmt.ExecQuery("SELECT FOLIO_REFERENCIA_FACTURA FROM CAT_FOLIOS_ALMACEN")
cl_folios.Clear
For i = 0 To c.RowCount - 1
c.Position = i
cl_folios.Add(CreateListItem(c.GetString("FOLIO_REFERENCIA_FACTURA")),i)
Next
c.Close
trabajos = trabajos - 1
End If
End If
If Job.JobName = "DBRequest" Then
Dim result As DBResult = reqManager.HandleJob(Job)
If result.Tag = "cat_productos" Then 'query tag
Starter.skmt.ExecNonQuery("delete from CAT_PRODUCTOS_ALMACEN")
For Each records() As Object In result.Rows
Dim id As String = records(result.Columns.Get("CAT_GP_ID"))
Dim nombre As String = records(result.Columns.Get("CAT_GP_NOMBRE"))
Dim cb As String = records(result.Columns.Get("CAT_GP_DUN14"))
Starter.skmt.ExecNonQuery2("INSERT INTO CAT_PRODUCTOS_ALMACEN(CAT_GP_ID, CAT_GP_NOMBRE, CAT_GP_DUN14) VALUES (?,?,?)", Array As Object (id,nombre,cb))
Next
trabajos = trabajos - 1
End If
End If
If Job.JobName = "DBRequest" Then
Dim result As DBResult = reqManager.HandleJob(Job)
If result.Tag = "cat_equivalencias" Then 'query tag
Starter.skmt.ExecNonQuery("delete from CAT_EQUIVALENCIAS_ALMACEN")
For Each records() As Object In result.Rows
Dim codigo As String = records(result.Columns.Get("CAT_EQ_CODIGO"))
Dim equivalencia As String = records(result.Columns.Get("CAT_EQ_EQUIVALENCIA"))
Starter.skmt.ExecNonQuery2("INSERT INTO CAT_EQUIVALENCIAS_ALMACEN(CAT_EQ_CODIGO, CAT_EQ_EQUIVALENCIA) VALUES (?,?)", Array As Object (codigo,equivalencia))
Next
trabajos = trabajos - 1
End If
End If
If trabajos = 0 Then
ProgressDialogHide
End If
End If
End Sub