mirror of
https://github.com/KeymonSoft/Salma_Picking.git
synced 2026-04-17 21:16:08 +00:00
314 lines
8.0 KiB
QBasic
314 lines
8.0 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
|
|
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 |