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 Dim d As Cursor Dim e As Cursor Dim f As Cursor Dim g As Cursor Private lb_folio As Label Dim folioactual As String Dim user As String Dim almacen As String Dim sDate,sTime As String Dim fechabusqueda As String 'calendario Private p_calendario As Panel Private ASWheelPicker1 As ASWheelPicker Private ASWheelPicker2 As ASWheelPicker Private ASWheelPicker3 As ASWheelPicker Private l_fecha_caducidad As Label Dim day As String = DateTime.GetDayOfMonth(DateTime.Now) Dim month As String = DateTime.GetMonth(DateTime.Now) Dim year2 As String = DateTime.GetYear(DateTime.Now) Dim month2 As String Private bgfecha As Button Dim b_cad As Button 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 p_calendario.Width = Root.Width p_calendario.Height= Root.Height p_calendario.Visible = False 'Creacion de spinners para caducidad Dim dias As List : dias.Initialize Log(month) For i = 1 To 31 Dim Item As ASWheelPicker_Item Item.Initialize Item.Text = i Item.Value = i Item.ItemTextProperties = ASWheelPicker1.ItemTextProperties Item.ItemTextProperties.TextColor = (0x8FF000000) dias.Add(Item) Next ASWheelPicker1.AddItems(dias) Dim mes0 As List : mes0.Initialize mes0 = Array As String("Enero", "Febrero", "Marzo", "Abril", "Mayo", "Junio", "Julio", "Agosto", "Septiembre", "Octubre", "Noviembre", "Diciembre") Dim mes As List mes.Initialize For Each o As Object In mes0 Dim Item As ASWheelPicker_Item Item.Initialize Item.Text = o Item.Value = o Item.ItemTextProperties = ASWheelPicker2.ItemTextProperties Item.ItemTextProperties.TextColor = (0x8FF000000) mes.Add(Item) Next ASWheelPicker2.AddItems(mes) Dim year As List : year.Initialize ' For i = DateTime.GetYear(DateTime.Now) To DateTime.GetYear(DateTime.Now) + 4 Dim Item As ASWheelPicker_Item Item.Initialize Item.Text = DateTime.GetYear(DateTime.Now) Item.Value = DateTime.GetYear(DateTime.Now) Item.ItemTextProperties = ASWheelPicker3.ItemTextProperties Item.ItemTextProperties.TextColor = (0x8FF000000) year.Add(Item) ' Next ASWheelPicker3.AddItems(year) ASWheelPicker1.Refresh ASWheelPicker2.Refresh ASWheelPicker3.Refresh If (DateTime.GetMonth(DateTime.Now)= 1 Or DateTime.GetMonth(DateTime.Now)= 2 Or DateTime.GetMonth(DateTime.Now)= 3 Or DateTime.GetMonth(DateTime.Now)= 4 Or DateTime.GetMonth(DateTime.Now)= 5 Or DateTime.GetMonth(DateTime.Now)= 6 Or DateTime.GetMonth(DateTime.Now)= 7 Or DateTime.GetMonth(DateTime.Now)= 8 Or DateTime.GetMonth(DateTime.Now)= 9 ) Then l_fecha_caducidad.Text = DateTime.GetDayOfMonth(DateTime.Now)&"/"&"0"&DateTime.GetMonth(DateTime.Now)&"/"&DateTime.GetYear(DateTime.Now) End If End Sub Sub B4XPage_Appear cl_folios.AsView.Visible = False user = B4XPages.MainPage.user almacen = B4XPages.MainPage.almacen.almacencarga Log("ESTE ES EL ALMACEN "&almacen) trabajos = 0 trabajo1 = 1 b_cargar_Click c = Starter.skmt.ExecQuery("SELECT FECHACONSULTA FROM FECHA") c.Position = 0 If c.RowCount = 0 Then b_cad.Text = "Fecha consulta" Else If c.RowCount > 0 Then b_cad.Text = c.GetString("FECHACONSULTA") End If End Sub 'You can see the list of page related events in the B4XPagesManager object. The event name is B4XPage. Private Sub b_cad_Click p_calendario.Visible = True End Sub Private Sub b_cadcancel_Click If b_cad.Text <> "Fecha consulta" Then p_calendario.Visible = False Else p_calendario.Visible = False b_cad.Text = "Fecha consulta" End If End Sub Private Sub ASWheelPicker1_ItemChange(Column As Int,ListIndex As Int) l_fecha_caducidad.Text = ASWheelPicker1.GetSelectedItem(Column).Text day = ASWheelPicker1.GetSelectedItem(Column).Text If day = 1 Or day = "2" Or day = "3" Or day = "4" Or day = "5" Or day = "6" Or day = "7" Or day = "8" Or day = "9" Then l_fecha_caducidad.Text = "0"&day&"/"&month2&"/"&year2 Else l_fecha_caducidad.Text = day&"/"&month2&"/"&year2 End If End Sub Private Sub ASWheelPicker2_ItemChange(Column As Int,ListIndex As Int) l_fecha_caducidad.Text = ASWheelPicker2.GetSelectedItem(Column).Text month = ASWheelPicker2.GetSelectedItem(Column).Text If month = "Enero" Then month2 = "01" Else If month = "Febrero" Then month2 = "02" Else If month = "Marzo" Then month2 = "03" Else If month = "Abril" Then month2 = "04" Else If month = "Mayo" Then month2 = "05" Else If month = "Junio" Then month2 = "06" Else If month = "Julio" Then month2 = "07" Else If month = "Agosto" Then month2 = "08" Else If month = "Septiembre" Then month2 = "09" Else If month = "Octubre" Then month2 = "10" Else If month = "Noviembre" Then month2 = "11" Else If month = "Diciembre" Then month2 = "12" End If If day = 1 Or day = "2" Or day = "3" Or day = "4" Or day = "5" Or day = "6" Or day = "7" Or day = "8" Or day = "9" Then l_fecha_caducidad.Text = "0"&day&"/"&month2&"/"&year2 Else l_fecha_caducidad.Text = day&"/"&month2&"/"&year2 End If End Sub Private Sub ASWheelPicker3_ItemChange(Column As Int,ListIndex As Int) l_fecha_caducidad.Text = ASWheelPicker3.GetSelectedItem(Column).Text year2 = ASWheelPicker3.GetSelectedItem(Column).Text If day = 1 Or day = "2" Or day = "3" Or day = "4" Or day = "5" Or day = "6" Or day = "7" Or day = "8" Or day = "9" Then l_fecha_caducidad.Text = "0"&day&"/"&month2&"/"&year2 Else l_fecha_caducidad.Text = day&"/"&month2&"/"&year2 End If End Sub Private Sub bgfecha_Click If l_fecha_caducidad.Text = "" Then b_cad.text = "Fecha consulta" Else If month = "Febrero" And (day = 31 Or day = 30) And (year2 Mod 4) = 0 Then Log(year2 Mod 4) b_cad.Text = "29"&"/"&month2&"/"&year2 Starter.skmt.ExecNonQuery("delete from FECHA") Starter.skmt.ExecNonQuery2("INSERT INTO FECHA(FECHACONSULTA)VALUES (?)",Array As String(b_cad.Text)) Else If month = "Febrero" And (day = 31 Or day = 30 Or day = 29) And (year2 Mod 4) > 1 Then b_cad.Text = "28"&"/"&month2&"/"&year2 Starter.skmt.ExecNonQuery("delete from FECHA") Starter.skmt.ExecNonQuery2("INSERT INTO FECHA(FECHACONSULTA)VALUES (?)",Array As String(b_cad.Text)) Else If month = "Abril" And day = 31 Then b_cad.Text = "30"&"/"&month2&"/"&year2 Starter.skmt.ExecNonQuery("delete from FECHA") Starter.skmt.ExecNonQuery2("INSERT INTO FECHA(FECHACONSULTA)VALUES (?)",Array As String(b_cad.Text)) Else If month = "Junio" And day = 31 Then b_cad.Text = "30"&"/"&month2&"/"&year2 Starter.skmt.ExecNonQuery("delete from FECHA") Starter.skmt.ExecNonQuery2("INSERT INTO FECHA(FECHACONSULTA)VALUES (?)",Array As String(b_cad.Text)) Else If month = "Septiembre" And day = 31 Then b_cad.Text = "30"&"/"&month2&"/"&year2 Starter.skmt.ExecNonQuery("delete from FECHA") Starter.skmt.ExecNonQuery2("INSERT INTO FECHA(FECHACONSULTA)VALUES (?)",Array As String(b_cad.Text)) Else If month = "Noviembre" And day = 31 Then b_cad.Text = "30"&"/"&month2&"/"&year2 Starter.skmt.ExecNonQuery("delete from FECHA") Starter.skmt.ExecNonQuery2("INSERT INTO FECHA(FECHACONSULTA)VALUES (?)",Array As String(b_cad.Text)) Else b_cad.Text = l_fecha_caducidad.Text Starter.skmt.ExecNonQuery("delete from FECHA") Starter.skmt.ExecNonQuery2("INSERT INTO FECHA(FECHACONSULTA)VALUES (?)",Array As String(b_cad.Text)) End If p_calendario.Visible = False End If End Sub Sub b_cargar_Click trabajos = 0 trabajo1 = 1 cl_folios.Clear Dim cmd As DBCommand cmd.Initialize cmd.Name = "select_rutas_guna_PICKING" cmd.Parameters = Array As Object(almacen) reqManager.ExecuteQuery(cmd , 0, "rutas") trabajos = trabajos +1 cmd.Initialize cmd.Name = "select_conversiones_GUNA" cmd.Parameters = Array As Object(almacen) reqManager.ExecuteQuery(cmd , 0, "conversion") 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 If b_cad.Text <> "Fecha consulta" Then fechabusqueda = b_cad.Text Log(fechabusqueda) folioactual = Sender.As(Label).Text Log(folioactual) Log(almacen) DateTime.DateFormat = "dd/MM/yyyy" DateTime.Timeformat = "HH:mm:ss" sDate=DateTime.Date(DateTime.Now) sTime=DateTime.Time(DateTime.Now) d = Starter.skmt.ExecQuery("SELECT CUENTA FROM CUENTAA") d.Position = 0 If d.RowCount > 0 Then Log("1") If d.GetString("CUENTA") <> folioactual Then Log("2") c = Starter.skmt.ExecQuery("SELECT CUENTA FROM CUENTAA WHERE ESTATUS = 1") c.Position = 0 If c.RowCount = 0 Then Log("3") Msgbox2Async("Estas seguro de empezar a pickear la ruta : "& folioactual &" del almacen: "& B4XPages.MainPage.almacen.almacenselec,"Atención","Si","","No",Null, False) Wait For Msgbox_Result (result As Int) If result=DialogResponse.POSITIVE Then Log((almacen& ", "& folioactual& ", "&fechabusqueda& ", "&almacen)) Log(almacen) If almacen = 81 Then Dim cmd As DBCommand cmd.Initialize cmd.Name = "select_productos_guna_picking_BAT" cmd.Parameters = Array As Object(almacen, folioactual,fechabusqueda,almacen) reqManager.ExecuteQuery(cmd , 0, "detallefolio") trabajo1 = trabajo1 + 1 cmd.Initialize cmd.Name = "select_costo_tot_GUNA_BAT" cmd.Parameters = Array As Object(almacen, folioactual,fechabusqueda,almacen) reqManager.ExecuteQuery(cmd , 0, "costo") trabajo1 = trabajo1 +1 Else Dim cmd As DBCommand cmd.Initialize cmd.Name = "select_productos_guna_picking" cmd.Parameters = Array As Object(almacen, folioactual,fechabusqueda,almacen) reqManager.ExecuteQuery(cmd , 0, "detallefolio") trabajo1 = trabajo1 + 1 cmd.Initialize cmd.Name = "select_costo_tot_GUNA" cmd.Parameters = Array As Object(almacen, folioactual,fechabusqueda,almacen) reqManager.ExecuteQuery(cmd , 0, "costo") trabajo1 = trabajo1 +1 End If ProgressDialogShow ("Cargando") Starter.skmt.ExecNonQuery("delete from CUENTAA") Starter.skmt.ExecNonQuery2("UPDATE CAT_FOLIOS SET CAT_FOLIO_INICIO = ? WHERE CAT_FOLIO = ? ", Array As String((sDate&" "&sTime), folioactual)) Starter.skmt.ExecNonQuery2("INSERT INTO CUENTAA (CUENTA, ESTATUS, ALMACEN) VALUES (?,?,?)", Array As Object (folioactual,"0", almacen)) End If Else MsgboxAsync("La ruta "&c.GetString("CUENTA")& " aun no ha sido termianda.","Atención") Log("4") End If Else IF d.GetString("CUENTA") = folioactual Then Log("5") B4XPages.ShowPage("picking") End If Else If d.RowCount = 0 Then Log("6") Msgbox2Async("Estas seguro de empezar a pickear la ruta : "& folioactual &" del almacen: "& B4XPages.MainPage.almacen.almacenselec,"Atención","Si","","No",Null, False) Wait For Msgbox_Result (result As Int) If result=DialogResponse.POSITIVE Then Dim cmd As DBCommand cmd.Initialize cmd.Name = "select_productos_guna_picking" cmd.Parameters = Array As Object(almacen, folioactual,fechabusqueda,almacen) reqManager.ExecuteQuery(cmd , 0, "detallefolio") trabajo1 = trabajo1 + 1 cmd.Initialize cmd.Name = "select_costo_tot_GUNA" cmd.Parameters = Array As Object(almacen, folioactual,fechabusqueda,almacen) reqManager.ExecuteQuery(cmd , 0, "costo") trabajo1 = trabajo1 +1 ProgressDialogShow ("Cargando") Starter.skmt.ExecNonQuery("delete from CUENTAA") Starter.skmt.ExecNonQuery2("UPDATE CAT_FOLIOS SET CAT_FOLIO_INICIO = ? WHERE CAT_FOLIO = ? ", Array As String((sDate&" "&sTime), folioactual)) Starter.skmt.ExecNonQuery2("INSERT INTO CUENTAA (CUENTA, ESTATUS, ALMACEN) VALUES (?,?,?)", Array As Object (folioactual,"0", almacen)) End If End If c.Close d.Close Else MsgboxAsync("Captura la fecha a buscar","Atención") End If 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 = "rutas" Then 'query tag trabajos = trabajos - 1 trabajo1 = 1 Log(trabajos) Starter.skmt.ExecNonQuery("delete from CAT_FOLIOS") For Each records() As Object In result.Rows Dim FOLIO As String = records(result.Columns.Get("RUTA_ENTREGA")) Starter.skmt.ExecNonQuery2("INSERT INTO CAT_FOLIOS (CAT_FOLIO) VALUES (?)", Array As Object (FOLIO)) Next cl_folios.AsView.Visible = True c = Starter.skmt.ExecQuery("SELECT CAT_FOLIO FROM CAT_FOLIOS") cl_folios.Clear For i = 0 To c.RowCount - 1 c.Position = i e = Starter.skmt.ExecQuery2("SELECT ALMACEN, RUTA FROM CAT_PICKING WHERE RUTA = ? AND ALMACEN = ? GROUP BY ALMACEN, RUTA ORDER BY RUTA",Array As String(c.GetString("CAT_FOLIO"),almacen)) e.Position = 0 cl_folios.Add(CreateListItem(c.GetString("CAT_FOLIO")),i) If e.RowCount = 0 Then lb_folio.Color = Colors.White Else lb_folio.Color = Colors.Green End If Next c.Close End If End If If Job.JobName = "DBRequest" Then Dim result As DBResult = reqManager.HandleJob(Job) If result.Tag = "conversion" Then 'query tag trabajos = trabajos - 1 trabajo1 = 1 Log(trabajos) Starter.skmt.ExecNonQuery("delete from CAT_CONVERSION") For Each records() As Object In result.Rows Dim IDCONVER As String = records(result.Columns.Get("CAT_GP_ID")) Dim NOMBRECONVER As String = records(result.Columns.Get("CAT_GP_NOMBRE")) Dim CAJASPIEZAS As String = records(result.Columns.Get("CAT_GP_CONVERSION1")) Dim BLISTERPIEZAS As String = records(result.Columns.Get("CAT_GP_CONVERSION2")) Dim PRECIOPIEZAS As String = records(result.Columns.Get("CAT_GP_PRECIO")) Starter.skmt.ExecNonQuery2("INSERT INTO CAT_CONVERSION (ID, NOMBRE, CAJASPIEZAS, BLISTERPIEZAS, PRECIO) VALUES (?,?,?,?,?)", Array As Object (IDCONVER,NOMBRECONVER, CAJASPIEZAS,BLISTERPIEZAS,PRECIOPIEZAS)) Next 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("CODIGO")) Dim NOMBRE As String = records(result.Columns.Get("NOMBRE")) Dim orden As String = records(result.Columns.Get("CAT_GP_ORDENAMIENTO")) Dim PIEZAS As String = records(result.Columns.Get("PIEZAS")) Dim CAJAS As String = records(result.Columns.Get("CAJAS")) Dim BLISTER As String = records(result.Columns.Get("BLISTER")) Dim RUTA2 As String = records(result.Columns.Get("CAT_GP_RUTA")) Dim CANTIDAD As String = records(result.Columns.Get("CANTIDAD")) Dim RUTA As String = folioactual Dim almacen3 As String = almacen Starter.skmt.ExecNonQuery2("INSERT INTO CAT_DETALLEFOLIO(CAT_DF_ID, CAT_DF_NOMBRE, CAT_DF_RUTA, CAT_DF_PIEZAS, CAT_DF_CAJAS, CAT_DF_BLISTER, CAT_DF_RUTA, CAT_DF_ALMACEN, CAT_DF_ESTATUS, CAT_DF_RUTAO, CANTIDAD) VALUES (?,?,?,?,?,?,?,?,0,?,?)", Array As Object (ID, NOMBRE, orden, PIEZAS, CAJAS, BLISTER, RUTA, almacen3, RUTA2,CANTIDAD))'' aqui nos quedmos Next End If End If If Job.JobName = "DBRequest" Then Dim result As DBResult = reqManager.HandleJob(Job) If result.Tag = "costo" Then 'query tag trabajo1 = trabajo1 -1 ' B4XPages.MainPage.picking.cl_picking.Clear Starter.skmt.ExecNonQuery("delete from COSTO") Log("Borre la tabla") For Each records() As Object In result.Rows Dim COSTO As String = records(result.Columns.Get("SUM(HVD_COSTO_TOT)")) Starter.skmt.ExecNonQuery2("INSERT INTO COSTO(COSTO_TOT) VALUES (?)", Array As Object (COSTO))'' aqui nos quedmos Next End If End If If trabajos = 0 And trabajo1 = 1 Then ProgressDialogHide Log("estoyaqui") Else If trabajo1 = 0 And trabajos = 0 Then Log(trabajo1) ProgressDialogHide B4XPages.ShowPage("picking") End If ' If trabajos = 0 Then ' ProgressDialogHide ' End If End If End Sub 'Private Sub B4XPage_CloseRequest As ResumableSub ' '' If b_cargar.Visible = True Then '' B4XPages.ShowPage("almacen") '' '' End If ' '' Return True ' Return False 'End Sub Private Sub b_selecalm_Click B4XPages.ShowPage("almacen") End Sub