diff --git a/B4A/B4XMainPage.bas b/B4A/B4XMainPage.bas
index 5d369d6..9892803 100644
--- a/B4A/B4XMainPage.bas
+++ b/B4A/B4XMainPage.bas
@@ -43,6 +43,7 @@ Sub Class_Globals
' Public historico As C_Historico
Public detalleVenta As C_DetalleVenta
Public detalle_promo As C_Detalle_Promo
+ Public picking As C_picking
Dim reqManager As DBRequestManager
' Dim ruta As String
Dim usuario As String
@@ -83,6 +84,7 @@ Sub Class_Globals
Private lv_server As ListView
Public Provider As FileProvider
Public rutaBDBackup As String = ""
+ Dim rutarep As String
End Sub
Public Sub Initialize
@@ -102,6 +104,8 @@ Private Sub B4XPage_Created (Root1 As B4XView)
clientes.Initialize
B4XPages.AddPage("Clientes", clientes)
cliente.Initialize
+ B4XPages.AddPage("picking", picking)
+ picking.Initialize
B4XPages.AddPage("Cliente", cliente)
' foto.Initialize
' B4XPages.AddPage("Foto", foto)
@@ -136,6 +140,7 @@ Private Sub B4XPage_Created (Root1 As B4XView)
Starter.skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS RECHAZOS (R_FECHA TEXT, R_CLIENTE TEXT, R_CLI_ORIG TEXT, R_PRODID TEXT, R_CANT TEXT, R_RECHAZO INT)")
Starter.skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS VENTAS (V_FECHA TEXT, V_CLIENTE TEXT, V_CLI_ORIG TEXT, V_PRODID TEXT, V_CANT TEXT, V_RECHAZO INT)")
Subs.agregaColumna("REPARTO", "REP_PRODREGISTRO", "TEXT")
+ Subs.agregaColumna("PICKING_REPARTO", "FECHA", "TEXT")
Subs.agregaColumna("kmt_info", "SECUENCIA", "INT")
Subs.agregaColumna("REPARTO", "REP_PRODID", "TEXT")
Subs.agregaColumna("REPARTO", "REP_CLI_ORIG", "TEXT")
@@ -147,7 +152,7 @@ Private Sub B4XPage_Created (Root1 As B4XView)
Starter.skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS wayPoints (codigo TEXT, indice INT)")
' Dim server As String = "http://11.0.0.151:1782"
Dim server As String = "http://187.189.244.154:1782"
-' Dim server As String = "http://11.0.0.222:1782"
+' Dim server As String = "http://11.0.0.12:1782"
' server = "http://10.0.0.205:1782"
' server = "http://11.0.0.44:1782"
reqManager.Initialize(Me, B4XPages.MainPage.server)
@@ -163,6 +168,7 @@ Private Sub B4XPage_Created (Root1 As B4XView)
' IMEN.Text = "" 'P.GetDeviceId
' IMEI = "" 'P.GetDeviceId
' End If
+ Subs.agregaColumna("PICKING_REPARTO","ESTATUS","INT")
End Sub
Sub B4XPage_Appear
diff --git a/B4A/C_Principal.bas b/B4A/C_Principal.bas
index 08cf1f4..b9c6863 100644
--- a/B4A/C_Principal.bas
+++ b/B4A/C_Principal.bas
@@ -89,6 +89,8 @@ Sub Class_Globals
Private l_rechazo As Label
Private Label9 As Label
Dim cp As Cursor
+
+ Private b_picking As Button
End Sub
'You can add more parameters here.
@@ -161,6 +163,7 @@ Private Sub B4XPage_Created (Root1 As B4XView)
End Sub
Sub B4XPage_Appear
+ b_picking.visible = False
Subs.centraPanel(p_principal, Root.Width)
' c=Starter.skmt.ExecQuery("select noversion from version")
' c.Position=0
@@ -188,6 +191,7 @@ Sub B4XPage_Appear
If f.RowCount > 0 Then
f.Position = 0
l_ruta.Text = f.GetString("RUTAA")
+
End If
f.Close
If l_ruta.Text = 0 Then
@@ -392,7 +396,26 @@ Sub B4XPage_Appear
Label9.Visible = False
L_MONTOE.Visible = False
End If
+ checachek
+End Sub
+Sub checachek
+ c = Starter.skmt.ExecQuery("SELECT * FROM PICKING_REPARTO")
+ If c.RowCount > 0 Then
+ b = Starter.skmt.ExecQuery("SELECT MOSTRAR FROM CHECAR")
+ If b.RowCount > 0 Then
+ b.Position = 0
+ If b.GetString("MOSTRAR") = 0 Then
+ b_picking.Visible = True
+ Else If b.GetString("MOSTRAR") = 1 Then
+ b_picking.Visible =False
+ End If
+ b.Close
+ End If
+ Else
+ b_picking.Visible =False
+ End If
+ c.Close
End Sub
Sub IsConnectedToInternet As Boolean 'ignore
@@ -419,7 +442,12 @@ Sub to_number_vb (valor As Object) As String
End Sub
Sub trabajar_Click
- B4XPages.ShowPage("Clientes")
+ If b_picking.Visible = True Then
+ MsgboxAsync("Favor de hacer el picking.","Atención")
+ Else
+
+ B4XPages.ShowPage("Clientes")
+ End If
End Sub
Sub Subir_Click
@@ -620,6 +648,7 @@ Sub cargar_Click
Starter.skmt.ExecNonQuery("delete from HIST_VENTAS")
Starter.skmt.ExecNonQuery("delete from HIST_VENTAS2")
Starter.skmt.ExecNonQuery("delete from NOVENTA")
+ Starter.skmt.ExecNonQuery("delete from PICKING_REPARTO")
Else
Log("********************* Hay ruta, NO BORRAMOS TODO")
End If
@@ -645,6 +674,11 @@ Sub cargar_Click
reqs.Add("gunaprod")
End If
+ cmd.Initialize
+ cmd.Name = "select_conversiones_GUNA"
+ cmd.Parameters = Array As Object(ALMACEN)
+ reqManager.ExecuteQuery(cmd , 0, "conversion")
+ reqs.Add("conversion")
cmd.Initialize
cmd.Name = "select_cliente_guna_re_REPG2"
@@ -653,6 +687,15 @@ Sub cargar_Click
Log($"Pedimos kmt_datos"$)
reqs.Add("kmt_datos")
+
+ cmd.Initialize
+ cmd.Name = "select_picking_reparto"
+ cmd.Parameters = Array As Object(ALMACEN,e_ruta.text,ALMACEN)
+ reqManager.ExecuteQuery(cmd , 0, "p_reparto")
+ Log($"Pedimos p_reparto"$)
+' reqs.Add("p_reparto")
+
+
cmd.Initialize
cmd.Name = "select_ventad_guna_re_REPG2"
cmd.Parameters = Array As Object(e_ruta.text, ALMACEN, ALMACEN)
@@ -717,6 +760,35 @@ Sub cargar_Click
reqs.Add("hist_datos")
'reparto rechazo REP_CLIENTE, REP_PRONOMBRE, REP_CANT, REP_COSTO_TOT
End If
+
+ If ALMACEN = "66" Then
+ ALMACEN = "67"
+ cargo = 2
+ cmd.Initialize
+ cmd.Name = "select_punteo_guna_re_REPG2"
+ cmd.Parameters = Array As Object(e_ruta.text, ALMACEN,ALMACEN, ALMACEN,ALMACEN)
+ reqManager.ExecuteQuery(cmd , 0, "punteo")
+ reqs.Add("punteo")
+
+ cmd.Initialize
+ cmd.Name = "select_almacen_guna_re_REPG2"
+ cmd.Parameters = Array As Object(ALMACEN, e_ruta.text, ALMACEN, ALMACEN)
+ reqManager.ExecuteQuery(cmd , 0, "gunaprod")
+ reqs.Add("gunaprod")
+
+ cmd.Initialize
+ cmd.Name = "select_cliente_guna_re_REPG2"
+ cmd.Parameters = Array As Object(e_ruta.text, ALMACEN, ALMACEN,ALMACEN,e_ruta.text, ALMACEN, ALMACEN)
+ reqManager.ExecuteQuery(cmd , 0, "kmt_datos")
+ reqs.Add("kmt_datos")
+
+ cmd.Initialize
+ cmd.Name = "select_ventad_guna_re_REPG2"
+ cmd.Parameters = Array As Object(e_ruta.text, ALMACEN, ALMACEN)
+ reqManager.ExecuteQuery(cmd , 0, "hist_datos")
+ reqs.Add("hist_datos")
+ 'reparto rechazo REP_CLIENTE, REP_PRONOMBRE, REP_CANT, REP_COSTO_TOT
+ End If
' c=Starter.skmt.ExecQuery("SELECT REP_CLIENTE, REP_PRONOMBRE, REP_CANT, REP_COSTO_TOT, REP_FECHA FROM REPARTO")
' If c.RowCount > 0 Then
@@ -952,6 +1024,37 @@ Sub JobDone(Job As HttpJob)
Starter.skmt.EndTransaction
End If
End If
+
+
+
+ If Job.JobName = "DBRequest" Then
+ Dim result As DBResult = reqManager.HandleJob(Job)
+ If result.Tag = "conversion" Then 'query tag
+ If reqs.IndexOf("conversion") > -1 Then
+ reqs.RemoveAt(reqs.IndexOf("conversion"))
+' Log(reqs.Size)
+ End If
+ If reqs.IndexOf("conversion") > 0 Then
+ reqs.RemoveAt(reqs.IndexOf("conversion"))
+ Log(reqs.Size)
+ End If
+ Starter.skmt.BeginTransaction
+ 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
+ Starter.skmt.TransactionSuccessful
+ Starter.skmt.EndTransaction
+ End If
+ End If
+
If Job.JobName = "DBRequest" Then
Dim result As DBResult = reqManager.HandleJob(Job)
@@ -1027,6 +1130,54 @@ Sub JobDone(Job As HttpJob)
Next
End If
End If
+
+' If Job.JobName = "DBRequest" Then
+' Dim result As DBResult = reqManager.HandleJob(Job)
+' If result.Tag = "p_reparto" Then 'query tag
+' If reqs.IndexOf("p_reparto") > -1 Then
+' reqs.RemoveAt(reqs.IndexOf("p_reparto"))
+'' Log(reqs.Size)
+' End If
+' If reqs.IndexOf("p_reparto") > 0 Then
+' reqs.RemoveAt(reqs.IndexOf("p_reparto"))
+' Log(reqs.Size)
+' End If
+' Starter.skmt.BeginTransaction
+' For Each records() As Object In result.Rows
+'
+' Dim HIST_PN_CODIGO_PRODUCTO As String = records(result.Columns.Get("HIST_PN_CODIGO_PRODUCTO"))
+' Dim HIST_PN_NOMBRE_PRODUCTO As String = records(result.Columns.Get("HIST_PN_NOMBRE_PRODUCTO"))
+' Dim HIST_PN_CANT_PIEZAS_OR As String = records(result.Columns.Get("HIST_PN_CANT_PIEZAS_OR"))
+' Dim HIST_PN_CANT_CAJAS_OR As String = records(result.Columns.Get("HIST_PN_CANT_CAJAS_OR"))
+' Dim HIST_PN_CANT_BLISTER_OR As String = records(result.Columns.Get("HIST_PN_CANT_BLISTER_OR"))
+' Dim HIST_PN_CANT_CAJAS As String = records(result.Columns.Get("HIST_PN_CANT_CAJAS"))
+' Dim HIST_PN_CANT_PIEZAS As String = records(result.Columns.Get("HIST_PN_CANT_PIEZAS"))
+' Dim HIST_PN_CANT_BLISTER As String = records(result.Columns.Get("HIST_PN_CANT_BLISTER"))
+' Starter.skmt.ExecNonQuery2("INSERT INTO PICKING_REPARTO(HIST_PN_CODIGO_PRODUCTO, HIST_PN_NOMBRE_PRODUCTO, HIST_PN_CANT_PIEZAS_OR, HIST_PN_CANT_CAJAS_OR, HIST_PN_CANT_BLISTER_OR, HIST_PN_CANT_CAJAS, HIST_PN_CANT_PIEZAS, HIST_PN_CANT_BLISTER, ESTATUS) VALUES (?,?,?,?,?,?,?,?,0)", Array As Object (HIST_PN_CODIGO_PRODUCTO, HIST_PN_NOMBRE_PRODUCTO, HIST_PN_CANT_PIEZAS_OR, HIST_PN_CANT_CAJAS_OR, HIST_PN_CANT_BLISTER_OR, HIST_PN_CANT_CAJAS, HIST_PN_CANT_PIEZAS, HIST_PN_CANT_BLISTER))
+'
+' Next
+' Starter.skmt.TransactionSuccessful
+' Starter.skmt.EndTransaction
+' End If
+' End If
+
+ If Job.JobName = "DBRequest" Then
+ Dim result As DBResult = reqManager.HandleJob(Job)
+ If result.Tag = "p_reparto" Then 'query tag
+ For Each records() As Object In result.Rows
+ Dim HIST_PN_CODIGO_PRODUCTO As String = records(result.Columns.Get("HIST_PN_CODIGO_PRODUCTO"))
+ Dim HIST_PN_NOMBRE_PRODUCTO As String = records(result.Columns.Get("HIST_PN_NOMBRE_PRODUCTO"))
+ Dim HIST_PN_CANT_PIEZAS_OR As String = records(result.Columns.Get("HIST_PN_CANT_PIEZAS_OR"))
+ Dim HIST_PN_CANT_CAJAS_OR As String = records(result.Columns.Get("HIST_PN_CANT_CAJAS_OR"))
+ Dim HIST_PN_CANT_BLISTER_OR As String = records(result.Columns.Get("HIST_PN_CANT_BLISTER_OR"))
+ Dim HIST_PN_CANT_CAJAS As String = records(result.Columns.Get("HIST_PN_CANT_CAJAS"))
+ Dim HIST_PN_CANT_PIEZAS As String = records(result.Columns.Get("HIST_PN_CANT_PIEZAS"))
+ Dim HIST_PN_CANT_BLISTER As String = records(result.Columns.Get("HIST_PN_CANT_BLISTER"))
+ Dim FECHA_PICKING As String = records(result.Columns.Get("HIST_PN_FECHA"))
+ Starter.skmt.ExecNonQuery2("INSERT INTO PICKING_REPARTO(HIST_PN_CODIGO_PRODUCTO, HIST_PN_NOMBRE_PRODUCTO, HIST_PN_CANT_PIEZAS_OR, HIST_PN_CANT_CAJAS_OR, HIST_PN_CANT_BLISTER_OR, HIST_PN_CANT_CAJAS, HIST_PN_CANT_PIEZAS, HIST_PN_CANT_BLISTER, ESTATUS, FECHA) VALUES (?,?,?,?,?,?,?,?,0,?)", Array As Object (HIST_PN_CODIGO_PRODUCTO, HIST_PN_NOMBRE_PRODUCTO, HIST_PN_CANT_PIEZAS_OR, HIST_PN_CANT_CAJAS_OR, HIST_PN_CANT_BLISTER_OR, HIST_PN_CANT_CAJAS, HIST_PN_CANT_PIEZAS, HIST_PN_CANT_BLISTER,FECHA_PICKING))
+ Next
+ End If
+ End If
If Job.JobName = "DBRequest" Then
Dim result As DBResult = reqManager.HandleJob(Job)
@@ -1181,6 +1332,11 @@ Sub JobDone(Job As HttpJob)
ProgressDialogHide
' Log(reqs.size)
' Log("Terminamos lo descarga de ruta!")
+
+ c = Starter.skmt.ExecQuery("SELECT * FROM CHECAR")
+ If c.RowCount = 0 Then
+ Starter.skmt.ExecNonQuery2("insert into CHECAR (MOSTRAR) VALUES(?)", Array As String("0"))
+ End If
End If
End Sub
@@ -1222,7 +1378,12 @@ End Sub
Sub BUSCA_Click
' StartActivity(BUSCAR)
- B4XPages.ShowPage("Buscar")
+ If b_picking.Visible = True Then
+ MsgboxAsync("Favor de hacer el picking.","Atención")
+ Else
+' StartActivity(BUSCAR)
+ B4XPages.ShowPage("Buscar")
+ End If
End Sub
Sub b_mapa_Click
@@ -1236,6 +1397,8 @@ Sub e_ruta_EnterPressed
If RES = DialogResponse.POSITIVE Then
e_ruta.Text = ""
Starter.skmt.ExecNonQuery("delete from pedido_cliente")
+ Starter.skmt.ExecNonQuery("delete from PICKING_REPARTO")
+ Starter.skmt.ExecNonQuery("delete from CHECAR")
Starter.skmt.ExecNonQuery("delete from pedido")
Starter.skmt.ExecNonQuery("delete from noventa")
Starter.skmt.ExecNonQuery("delete from clie_act")
@@ -1278,6 +1441,9 @@ Sub t1_tick
End Sub
Sub B_CLIEPROD_Click
+ If b_picking.Visible = True Then
+ MsgboxAsync("Favor de hacer el picking.","Atención")
+ Else
BUSCA.Visible = False
connecta.Visible = False
trabajar.Visible = False
@@ -1339,7 +1505,7 @@ Sub B_CLIEPROD_Click
' End If
' ListView1.AddTwoLines(c.GetString("HVD_PRONOMBRE") & " " & c.GetString("HVD_CLIENTE") , c.GetString("HVD_CANT") & " " & ESTATUS )
' Next
-' End If
+ End If
End Sub
Sub B_REGRESA_Click
@@ -1354,10 +1520,25 @@ End Sub
''''''''''''''''''''''''''''MAPA RUTAS
Sub Btn_Ubicar_Ru_Click
- StartActivity(MAPA_RUTAS)
+ If b_picking.Visible = True Then
+ MsgboxAsync("Favor de hacer el picking.","Atención")
+ Else
+
+ StartActivity(MAPA_RUTAS)
+ 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_tabulador_Click
- B4XPages.ShowPage("tabulador")
+ If b_picking.Visible = True Then
+ MsgboxAsync("Favor de hacer el picking.","Atención")
+ Else
+ B4XPages.ShowPage("tabulador")
+ End If
+End Sub
+
+
+
+Private Sub b_picking_Click
+ B4XPages.ShowPage("picking")
End Sub
\ No newline at end of file
diff --git a/B4A/C_picking.bas b/B4A/C_picking.bas
new file mode 100644
index 0000000..347d75b
--- /dev/null
+++ b/B4A/C_picking.bas
@@ -0,0 +1,554 @@
+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 lb_folioselec As Label
+ Dim c As Cursor
+ Dim d As Cursor
+ Dim cl_picking As CustomListView
+ Private b_guardapicking As Button
+ Dim cmd As DBCommand
+ Dim reqManager As DBRequestManager
+
+ Private toast As BCToast
+ Private Capturing As Boolean
+ Private rp As RuntimePermissions
+ Private detector As JavaObject
+ Private camEx As CameraExClass
+ Private LastPreview As Long
+ Private IntervalBetweenPreviewsMs As Int = 100
+ Dim codigoencontrado As String
+
+ Private p_producto As Panel
+ Private l_nombreproducto As Label
+ Private et_catori_piezas As EditText
+ Private et_cantesc_piezas As EditText
+ Private et_catori_cajas As EditText
+ Private et_cantesc_cajas As EditText
+ Private et_cantesc_blister As EditText
+ Private et_catori_blister As EditText
+ Private btnStartStop As ImageView
+ Private et_codigo As EditText
+ Private l_ordenamiento As Label
+ Dim posision As Int = 0
+ Private Panel6 As Panel
+ Private pnlPreview As Panel
+ Private B_cerrar As Button
+ Private b_entradamanual As Button
+ Private p_entradamaual As Panel
+ Private et_entradamanual As EditText
+ Private b_cancelar As Button
+ Private b_terminar As Button
+ Dim sDate,sTime As String
+ Private l_totales As Label
+ Private l_faltantes As Label
+ Private l_porcentaje As Label
+ Private l_fecha As Label
+ Private btnStartStop2 As ImageView
+ Dim delanteatras As Int
+ Dim f As Cursor
+ Dim regreso As Int
+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("picking")
+ 'load the layout to Root
+
+' reqManager.Initialize(Me, Starter.DBReqServer)
+
+ 'camara
+ Panel6.Width = Root.Width
+ Panel6.Height= Root.Height
+ Panel6.Visible = False
+ toast.Initialize(Root)
+' StopCamera
+' B4XPages.SetTitle(Me, "Barcode Example")
+' CreateDetector (Array("AZTEC", "CODE_128", "CODE_39", "CODE_93", "CODABAR", "DATA_MATRIX", "EAN_13", "EAN_8", "ITF", "PDF417", "QR_CODE", "UPC_A", "UPC_E"))
+
+End Sub
+
+Sub B4XPage_Appear
+ btnStartStop2.Visible = False
+' c = Starter.skmt.ExecQuery("SELECT CUENTA FROM CUENTAA WHERE ESTATUS = 1")
+' c.Position = 0
+' Log(c.RowCount)
+' If c.RowCount >= 1 Then
+' b_cancelar.Visible = False
+' lb_folioselec.Text = c.GetString("CUENTA")
+' btnStartStop2.Visible = True
+' d = Starter.skmt.ExecQuery("SELECT FECHACONSULTA FROM FECHA")
+' d.Position = 0
+' l_fecha.Text = d.GetString("FECHACONSULTA")
+' d.Close
+' Else
+ b_cancelar.Visible = False
+ btnStartStop2.Visible = False
+' lb_folioselec.Text = B4XPages.MainPage.seleccion.folioactual
+' l_fecha.Text = B4XPages.MainPage.seleccion.fechabusqueda
+' End If
+
+' c.Close
+
+ p_producto.Visible = True
+ c = Starter.skmt.ExecQuery("SELECT * FROM PICKING_REPARTO WHERE ESTATUS = 0 ORDER BY HIST_PN_NOMBRE_PRODUCTO")
+ d = Starter.skmt.ExecQuery("SELECT * FROM PICKING_REPARTO")
+ Log(c.RowCount)
+ l_faltantes.Text = d.RowCount - c.RowCount + 1
+ l_totales.text = d.RowCount
+ l_porcentaje.Text = NumberFormat2((l_faltantes.Text * 100)/l_totales.Text,1,2,2,True)
+ If c.RowCount = 1 Then
+ c.Position = 0
+' l_ordenamiento.Text = c.GetString("CAT_DF_RUTAO")
+ et_codigo.Text = c.GetString("HIST_PN_CODIGO_PRODUCTO")
+ l_nombreproducto.Text = c.GetString("HIST_PN_NOMBRE_PRODUCTO")
+ et_catori_piezas.Text = c.GetString("HIST_PN_CANT_PIEZAS_OR")
+ et_catori_cajas.Text = c.GetString("HIST_PN_CANT_CAJAS_OR")
+ et_catori_blister.Text = c.GetString("HIST_PN_CANT_BLISTER_OR")
+ et_cantesc_piezas.Text = c.GetString("HIST_PN_CANT_PIEZAS")
+ et_cantesc_cajas.Text = c.GetString("HIST_PN_CANT_CAJAS")
+ et_cantesc_blister.Text = c.GetString("HIST_PN_CANT_BLISTER")
+ b_guardapicking.Text = "Terminar picking"
+ Else If c.RowCount > 1 Then
+ Log(c.RowCount)
+ c.Position = 0
+' l_ordenamiento.Text = c.GetString("CAT_DF_RUTAO")
+ et_codigo.Text = c.GetString("HIST_PN_CODIGO_PRODUCTO")
+ l_nombreproducto.Text = c.GetString("HIST_PN_NOMBRE_PRODUCTO")
+ et_catori_piezas.Text = c.GetString("HIST_PN_CANT_PIEZAS_OR")
+ et_catori_cajas.Text = c.GetString("HIST_PN_CANT_CAJAS_OR")
+ et_catori_blister.Text = c.GetString("HIST_PN_CANT_BLISTER_OR")
+ et_cantesc_piezas.Text = c.GetString("HIST_PN_CANT_PIEZAS")
+ et_cantesc_cajas.Text = c.GetString("HIST_PN_CANT_CAJAS")
+ et_cantesc_blister.Text = c.GetString("HIST_PN_CANT_BLISTER")
+ b_guardapicking.Text = "Guardar"
+ Else
+' Msgbox2Async("No existen datos de la ruta: "& B4XPages.MainPage.seleccion.folioactual &" del almacen: "& B4XPages.MainPage.almacen.almacenselec,"Atención","Aceptar","","",Null, False)
+ Wait For Msgbox_Result (result As Int)
+ If result=DialogResponse.POSITIVE Then
+ B4XPages.ShowPage("seleccion")
+ End If
+ End If
+ c.Close
+
+' p_producto.Visible = True 'PARA PRUEBAS
+ reqManager.Initialize(Me, B4XPages.MainPage.server)
+End Sub
+
+''camara
+'
+'Private Sub B4XPage_Disappear
+' If Panel6.Visible = True Then
+' Panel6.Visible = False
+' StopCamera
+' End If
+'End Sub
+'
+'
+'Sub btnStartStop_Click
+' delanteatras = 1
+' If Capturing = False Then
+' Panel6.Visible = True
+' StartCamera
+' Else
+' Panel6.Visible = False
+' StopCamera
+' End If
+'End Sub
+'
+'Sub btnStartStop2_Click
+' delanteatras = 2
+' If Capturing = False Then
+' Panel6.Visible = True
+' StartCamera
+' Else
+' Panel6.Visible = False
+' StopCamera
+' End If
+'End Sub
+'
+'Private Sub B_cerrar_Click
+' If et_codigo.Text.Length = 0 Then
+' Panel6.Visible = False
+' StopCamera
+' btnFlash2_Click
+' Else
+' Panel6.Visible = False
+' StopCamera
+' et_codigo_EnterPressed
+' btnFlash2_Click
+' End If
+'End Sub
+'
+'Private Sub StopCamera
+'' et_codigo.Text = ""
+' Capturing = False
+' pnlPreview.Visible = False
+' If camEx.IsInitialized Then
+' camEx.Release
+' End If
+'End Sub
+'
+'Private Sub StartCameraShared
+' pnlPreview.Visible = True
+' Capturing = True
+'End Sub
+'
+'Private Sub FoundBarcode (msg As String)
+'' et_codigo.Text = msg
+' toast.Show($"Found [Color=Red][b][plain]${msg}[/plain][/b][/Color]"$)
+' Log(msg)
+' codigoencontrado = msg
+'' If et_codigo.Text.Length > 1 Then
+' B_cerrar_Click
+'' End If
+'End Sub
+'
+'Private Sub StartCamera
+' rp.CheckAndRequest(rp.PERMISSION_CAMERA)
+' Wait For B4XPage_PermissionResult (Permission As String, Result As Boolean)
+' If Result = False Then
+' toast.Show("No permission!")
+' Return
+' End If
+' StartCameraShared
+' camEx.Initialize(pnlPreview, False, Me, "Camera1")
+' Wait For Camera1_Ready (Success As Boolean)
+' If Success Then
+' camEx.SetContinuousAutoFocus
+' camEx.CommitParameters
+' camEx.StartPreview
+' btnFlash_Click
+' Else
+' toast.Show("Error opening camera")
+' StopCamera
+' End If
+'End Sub
+'
+'Sub btnFlash_Click
+' Dim f() As Float = camEx.GetFocusDistances
+' Log(f(0) & ", " & f(1) & ", " & f(2))
+' Dim flashModes As List = camEx.GetSupportedFlashModes
+' If flashModes.IsInitialized = False Then
+' ToastMessageShow("Flash not supported.", False)
+' Return
+' End If
+' Dim flash As String = "torch"
+'' LogColor(flash,Colors.Red)
+' camEx.SetFlashMode(flash)
+' ToastMessageShow(flash, False)
+' camEx.CommitParameters
+'End Sub
+'
+'Sub btnFlash2_Click
+' Dim f() As Float = camEx.GetFocusDistances
+' Log(f(0) & ", " & f(1) & ", " & f(2))
+' Dim flashModes As List = camEx.GetSupportedFlashModes
+' If flashModes.IsInitialized = False Then
+' ToastMessageShow("Flash not supported.", False)
+' Return
+' End If
+' Dim flash As String = "off"
+'' LogColor(flash,Colors.Red)
+' camEx.SetFlashMode("off")
+' ToastMessageShow(flash, False)
+' camEx.CommitParameters
+'End Sub
+'
+'Private Sub CreateDetector (Codes As List)
+' Dim ctxt As JavaObject
+' ctxt.InitializeContext
+' Dim builder As JavaObject
+' builder.InitializeNewInstance("com/google/android/gms/vision/barcode/BarcodeDetector.Builder".Replace("/", "."), Array(ctxt))
+' Dim barcodeClass As String = "com/google/android/gms/vision/barcode/Barcode".Replace("/", ".")
+' Dim barcodeStatic As JavaObject
+' barcodeStatic.InitializeStatic(barcodeClass)
+' Dim format As Int
+' For Each formatName As String In Codes
+' format = Bit.Or(format, barcodeStatic.GetField(formatName))
+' Next
+' builder.RunMethod("setBarcodeFormats", Array(format))
+' detector = builder.RunMethod("build", Null)
+' Dim operational As Boolean = detector.RunMethod("isOperational", Null)
+' If operational = False Then
+' toast.Show("Failed to create detector")
+' End If
+' btnStartStop.Enabled = operational
+'End Sub
+'
+'Private Sub Camera1_Preview (data() As Byte)
+' If DateTime.Now > LastPreview + IntervalBetweenPreviewsMs Then
+' 'Dim n As Long = DateTime.Now
+' Dim frameBuilder As JavaObject
+' Dim bb As JavaObject
+' bb = bb.InitializeStatic("java.nio.ByteBuffer").RunMethod("wrap", Array(data))
+' frameBuilder.InitializeNewInstance("com/google/android/gms/vision/Frame.Builder".Replace("/", "."), Null)
+'
+' 'New Code
+' Dim In As InputStream
+' In.InitializeFromBytesArray(camEx.PreviewImageToJpeg(data, 100), 0, data.Length)
+' Dim bmp As Bitmap
+' 'Log(TestPnl.Top)
+'' TestPnl.Top = 40dip
+'' TestPnl.Width = pnlPreview.Width
+' bmp.Initialize2(In)
+' bmp = bmp.Rotate(90)
+' bmp = bmp.Crop(0, bmp.Height * .3, bmp.Width, bmp.Height * .3)
+' 'bmp = bmp.Resize(bmp.Width, bmp.Height * .8, True)
+' 'QrTestPnl.SetBitmap(bmp)
+' 'Dim B As Bitmap = camEx.PreviewImageToJpeg(data, 100)
+' 'bmp.Rotate(270)
+'
+' frameBuilder.RunMethod("setBitmap", Array(bmp)) 'instead of the setImageData line
+' 'frameBuilder.RunMethod("setBitmap", Array(TestPnl.GetBitmap)) 'instead of the setImageData line
+' 'End of new code
+'
+'
+'
+'
+' 'Old Code
+'' Dim cs As CameraSize = camEx.GetPreviewSize
+'' frameBuilder.RunMethod("setImageData", Array(bb, cs.Width, cs.Height, 842094169))
+'
+'
+' Dim frame As JavaObject = frameBuilder.RunMethod("build", Null)
+' Dim SparseArray As JavaObject = detector.RunMethod("detect", Array(frame))
+' LastPreview = DateTime.Now
+' Dim Matches As Int = SparseArray.RunMethod("size", Null)
+' If Matches > 0 Then
+' Dim barcode As JavaObject = SparseArray.RunMethod("valueAt", Array(0))
+' Dim raw As String = barcode.GetField("rawValue")
+' FoundBarcode(raw)
+' End If
+' End If
+'End Sub
+'
+''fin camara
+
+Private Sub et_codigo_EnterPressed
+ If delanteatras = 1 Then
+
+' If et_codigo.Text = codigoencontrado Then
+ p_producto.Visible = True
+' btnFlash2_Click
+' Else If et_codigo.Text = codigoencontrado Then
+' MsgboxAsync("Escanea el codigo nuevamente.","Atención")
+'' btnFlash2_Click
+' End If
+
+ Else If delanteatras = 2 Then
+
+ d = Starter.skmt.ExecQuery2("SELECT * FROM CAT_DETALLEFOLIO WHERE CAT_DF_ID = ? AND CAT_DF_ESTATUS = ?",Array As String (codigoencontrado,1))
+ Log(d.RowCount)
+ If d.RowCount > 0 Then
+ d.Position = 0
+ et_codigo.Text = codigoencontrado
+ p_producto.Visible = True
+ l_ordenamiento.Text = d.GetString("CAT_DF_RUTAO")
+ et_codigo.Text = d.GetString("CAT_DF_ID")
+ l_nombreproducto.Text = d.GetString("CAT_DF_NOMBRE")
+ et_catori_piezas.Text = d.GetString("CAT_DF_PIEZAS")
+ et_catori_cajas.Text = d.GetString("CAT_DF_CAJAS")
+ et_catori_blister.Text = d.GetString("CAT_DF_BLISTER")
+ et_cantesc_piezas.Text = d.GetString("CAT_DF_PIEZAS")
+ et_cantesc_cajas.Text = d.GetString("CAT_DF_CAJAS")
+ et_cantesc_blister.Text = d.GetString("CAT_DF_BLISTER")
+ b_guardapicking.Text = "Guardar"
+ Else
+ MsgboxAsync("El codigo aun no ha sido escaneado","Atencion.")
+ End If
+ d.Close
+ End If
+End Sub
+
+Private Sub b_entradamanual_Click
+ If p_producto.Visible Then
+ p_entradamaual.Visible = False
+ Else If p_entradamaual.Visible Then
+ p_entradamaual.Visible = False
+ Else
+ p_entradamaual.Visible = True
+ End If
+End Sub
+
+Private Sub et_entradamanual_EnterPressed
+ If et_codigo.Text = et_entradamanual.Text Then
+ p_producto.Visible = True
+ p_entradamaual.Visible = False
+ et_entradamanual.Text = ""
+ Else
+ MsgboxAsync("Por favor captura el codigo correcto.","Atención")
+ End If
+End Sub
+
+Private Sub b_cancelar_Click
+ Starter.skmt.ExecNonQuery("delete from CUENTAA")
+ B4XPages.ShowPage("seleccion")
+End Sub
+
+Private Sub b_guardapicking_Click
+ regreso = 0
+ DateTime.DateFormat = "dd/MM/yyyy"
+ DateTime.Timeformat = "HH:mm:ss"
+ sDate=DateTime.Date(DateTime.Now)
+ sTime=DateTime.Time(DateTime.Now)
+
+ If b_guardapicking.Text = "Terminar picking" Then
+ If p_producto.Visible Then
+ Dim bopiezas As Int
+ Dim bocajas As Int
+ Dim boblister As Int
+ bopiezas = et_catori_piezas.Text - et_cantesc_piezas.Text
+ bocajas = et_catori_cajas.Text - et_cantesc_cajas.Text
+ boblister = et_catori_blister.Text - et_cantesc_blister.Text
+ Log(bopiezas)
+
+ Private CAJASPIEZAS As Int
+ Private BLISTERPIEZAS As Int
+ Private totalpiezas As Int
+ Private preciototal As Float
+ Private precioorden As Float
+ Private cantidadbo As Int
+ Private preciobo As Float
+
+' c = Starter.skmt.ExecQuery2("SELECT CAJASPIEZAS, BLISTERPIEZAS, PRECIO FROM CAT_CONVERSION WHERE ID = ? AND NOMBRE = ?", Array As String(et_codigo.Text, l_nombreproducto.Text))
+' d = Starter.skmt.ExecQuery2("SELECT CANTIDAD FROM CAT_DETALLEFOLIO WHERE CAT_DF_ID = ? AND CAT_DF_NOMBRE = ?",Array As String(et_codigo.Text, l_nombreproducto.Text))
+' d.Position = 0
+' c.Position = 0
+' CAJASPIEZAS = c.GetString("CAJASPIEZAS") * et_cantesc_cajas.Text
+' BLISTERPIEZAS = c.GetString("BLISTERPIEZAS") * et_cantesc_blister.Text
+' Log("Cajas a piezas es = "&CAJASPIEZAS)
+' Log("blister a piezas es = "&BLISTERPIEZAS)
+' totalpiezas = CAJASPIEZAS + BLISTERPIEZAS + et_cantesc_piezas.Text
+' Log("total piezas es = "&totalpiezas)
+' preciototal = c.GetString("PRECIO")* totalpiezas
+' Log("total precio = "& preciototal)
+' precioorden = c.GetString("PRECIO") * d.GetString("CANTIDAD")
+' cantidadbo = d.GetString("CANTIDAD") - totalpiezas
+' preciobo = cantidadbo * c.GetString("PRECIO")
+' c.Close
+' d.Close
+ Starter.skmt.ExecNonQuery2("UPDATE CHECAR SET MOSTRAR = ?" ,Array As String(1))
+' Starter.skmt.ExecNonQuery2("UPDATE CUENTAA SET ESTATUS = ? WHERE CUENTA = ?",Array As String (0,lb_folioselec.Text))
+ Starter.skmt.ExecNonQuery2("UPDATE PICKING_REPARTO SET ESTATUS = ?, HIST_PN_CANT_PIEZAS_OR = ?, HIST_PN_CANT_CAJAS_OR = ?, HIST_PN_CANT_BLISTER_OR = ?, HIST_PN_CANT_CAJAS = ?, HIST_PN_CANT_PIEZAS = ?, HIST_PN_CANT_BLISTER = ? WHERE HIST_PN_CODIGO_PRODUCTO = ? and HIST_PN_NOMBRE_PRODUCTO = ?",Array As String(1, et_catori_piezas.Text, et_catori_cajas.Text, et_catori_blister.Text, et_cantesc_cajas.Text, et_cantesc_piezas.Text, et_cantesc_blister.Text, et_codigo.Text, l_nombreproducto.Text))
+ posision = posision + 1
+ p_producto.Visible = False
+ b_cancelar.Visible = False
+ mandapicking
+ B4XPages.ShowPage("principal")
+ End If
+
+ Else
+
+ If p_producto.Visible Then
+ Dim bopiezas As Int
+ Dim bocajas As Int
+ Dim boblister As Int
+ bopiezas = et_catori_piezas.Text - et_cantesc_piezas.Text
+ bocajas = et_catori_cajas.Text - et_cantesc_cajas.Text
+ boblister = et_catori_blister.Text - et_cantesc_blister.Text
+ Log(bopiezas)
+
+ Private CAJASPIEZAS As Int
+ Private BLISTERPIEZAS As Int
+ Private totalpiezas As Int
+ Private preciototal As Float
+ Private precioorden As Float
+ Private cantidadbo As Int
+ Private preciobo As Float
+
+' c = Starter.skmt.ExecQuery2("SELECT CAJASPIEZAS, BLISTERPIEZAS, PRECIO FROM CAT_CONVERSION WHERE ID = ? AND NOMBRE = ?", Array As String(et_codigo.Text, l_nombreproducto.Text))
+' d = Starter.skmt.ExecQuery2("SELECT CANTIDAD FROM CAT_DETALLEFOLIO WHERE CAT_DF_ID = ? AND CAT_DF_NOMBRE = ?",Array As String(et_codigo.Text, l_nombreproducto.Text))
+' d.Position = 0
+' If c.RowCount > 0 Then
+' c.Position = 0
+' CAJASPIEZAS = c.GetString("CAJASPIEZAS") * et_cantesc_cajas.Text
+' BLISTERPIEZAS = c.GetString("BLISTERPIEZAS") * et_cantesc_blister.Text
+' Log("Cajas a piezas es = "&CAJASPIEZAS)
+' Log("blister a piezas es = "&BLISTERPIEZAS)
+' totalpiezas = CAJASPIEZAS + BLISTERPIEZAS + et_cantesc_piezas.Text
+' Log("total piezas es = "&totalpiezas)
+' preciototal = c.GetString("PRECIO")* totalpiezas
+' Log("total precio = "& preciototal)
+' precioorden = c.GetString("PRECIO") * d.GetString("CANTIDAD")
+' cantidadbo = d.GetString("CANTIDAD") - totalpiezas
+' preciobo = cantidadbo * c.GetString("PRECIO")
+' c.Close
+' d.Close
+' Else
+'
+' End If
+' Starter.skmt.ExecNonQuery2("UPDATE CUENTAA SET ESTATUS = ? WHERE CUENTA = ?",Array As String (1,lb_folioselec.Text))
+ Starter.skmt.ExecNonQuery2("UPDATE PICKING_REPARTO SET ESTATUS = ?, HIST_PN_CANT_PIEZAS_OR = ?, HIST_PN_CANT_CAJAS_OR = ?, HIST_PN_CANT_BLISTER_OR = ?, HIST_PN_CANT_CAJAS = ?, HIST_PN_CANT_PIEZAS = ?, HIST_PN_CANT_BLISTER = ? WHERE HIST_PN_CODIGO_PRODUCTO = ? and HIST_PN_NOMBRE_PRODUCTO = ?",Array As String(1, et_catori_piezas.Text, et_catori_cajas.Text, et_catori_blister.Text, et_cantesc_cajas.Text, et_cantesc_piezas.Text, et_cantesc_blister.Text, et_codigo.Text, l_nombreproducto.Text))
+ posision = posision + 1
+ p_producto.Visible = False
+ b_cancelar.Visible = False
+ B4XPage_Appear
+
+
+ Else
+
+ End If
+ End If
+
+End Sub
+
+
+Sub mandapicking
+ c = Starter.skmt.ExecQuery("SELECT * from PICKING_REPARTO")
+ If c.RowCount > 0 Then
+ Private folio As String = Subs.hmsKMT
+ For i=0 To c.RowCount -1
+ c.Position=i
+ f=Starter.skmt.ExecQuery("select RUTAA from RUTAA")
+ If f.RowCount > 0 Then
+ f.Position = 0
+ Dim ruta As String = f.GetString("RUTAA")
+ End If
+ Dim cmd As DBCommand
+ cmd.Initialize
+ cmd.Name = "insertGUNApickingreparto"
+ cmd.Parameters = Array As Object(B4XPages.MainPage.almacen,ruta,c.GetString("HIST_PN_CODIGO_PRODUCTO"),c.GetString("HIST_PN_NOMBRE_PRODUCTO") ,c.GetString("HIST_PN_CANT_CAJAS_OR") ,c.GetString("HIST_PN_CANT_PIEZAS_OR") ,c.GetString("HIST_PN_CANT_BLISTER_OR") ,c.GetString("HIST_PN_CANT_CAJAS") ,c.GetString("HIST_PN_CANT_PIEZAS") ,c.GetString("HIST_PN_CANT_BLISTER"), B4XPages.MainPage.usuario,c.GetString("FECHA"))
+ reqManager.ExecuteCommand(cmd , "picking_rep")
+ Next
+ c.Close
+ End If
+End Sub
+
+Private Sub b_regresar_Click
+ regreso = regreso +1
+ Log(regreso)
+ c = Starter.skmt.ExecQuery("SELECT * FROM PICKING_REPARTO WHERE ESTATUS = 1 ORDER BY HIST_PN_NOMBRE_PRODUCTO")
+ d = Starter.skmt.ExecQuery("SELECT * FROM PICKING_REPARTO")
+ Log(c.RowCount)
+' l_faltantes.Text = d.RowCount - c.RowCount + 1
+' l_totales.text = d.RowCount
+' l_porcentaje.Text = NumberFormat2((l_faltantes.Text * 100)/l_totales.Text,1,2,2,True)
+ If c.RowCount > 0 Then
+ If c.RowCount >= regreso Then
+ c.Position = c.RowCount - regreso
+' l_ordenamiento.Text = c.GetString("CAT_DF_RUTAO")
+ et_codigo.Text = c.GetString("HIST_PN_CODIGO_PRODUCTO")
+ l_nombreproducto.Text = c.GetString("HIST_PN_NOMBRE_PRODUCTO")
+ et_catori_piezas.Text = c.GetString("HIST_PN_CANT_PIEZAS_OR")
+ et_catori_cajas.Text = c.GetString("HIST_PN_CANT_CAJAS_OR")
+ et_catori_blister.Text = c.GetString("HIST_PN_CANT_BLISTER_OR")
+ et_cantesc_piezas.Text = c.GetString("HIST_PN_CANT_PIEZAS")
+ et_cantesc_cajas.Text = c.GetString("HIST_PN_CANT_CAJAS")
+ et_cantesc_blister.Text = c.GetString("HIST_PN_CANT_BLISTER")
+' b_guardapicking.Text = "Terminar picking"
+ c.Close
+ End If
+ End If
+End Sub
diff --git a/B4A/Files/icon_22-[convertido].png b/B4A/Files/icon_22-[convertido].png
new file mode 100644
index 0000000..6a82555
Binary files /dev/null and b/B4A/Files/icon_22-[convertido].png differ
diff --git a/B4A/Files/picking.bal b/B4A/Files/picking.bal
new file mode 100644
index 0000000..739fcdd
Binary files /dev/null and b/B4A/Files/picking.bal differ
diff --git a/B4A/Files/principal.bal b/B4A/Files/principal.bal
index 7b6a407..db9553d 100644
Binary files a/B4A/Files/principal.bal and b/B4A/Files/principal.bal differ
diff --git a/B4A/Files/salma13.png b/B4A/Files/salma13.png
new file mode 100644
index 0000000..d1d3d2a
Binary files /dev/null and b/B4A/Files/salma13.png differ
diff --git a/B4A/GUNA_Reparto.b4a b/B4A/GUNA_Reparto.b4a
index 116654b..795a439 100644
--- a/B4A/GUNA_Reparto.b4a
+++ b/B4A/GUNA_Reparto.b4a
@@ -3,26 +3,29 @@ File1=alert2.png
File10=guna_viejo.png
File11=guna_viejo2.png
File12=historico.bal
-File13=intmex_logo_192x192.jpg
-File14=itembuttonblue.png
-File15=kelloggs.png
-File16=login.bal
-File17=logo_mariana.jpeg
-File18=logo_mariana.jpg
-File19=logo-guna-18.png
+File13=icon_22-[convertido].png
+File14=intmex_logo_192x192.jpg
+File15=itembuttonblue.png
+File16=kelloggs.png
+File17=login.bal
+File18=logo_mariana.jpeg
+File19=logo_mariana.jpg
File2=cliente.bal
-File20=MainPage.bal
-File21=mapa_cliente.bal
-File22=mariana_logo_192x192.jpg
-File23=no_venta.bal
-File24=planfia_logo.png
-File25=principal.bal
-File26=proditem.bal
-File27=productos.bal
-File28=profina.jpg
-File29=PROFINA.png
+File20=logo-guna-18.png
+File21=MainPage.bal
+File22=mapa_cliente.bal
+File23=mariana_logo_192x192.jpg
+File24=no_venta.bal
+File25=picking.bal
+File26=planfia_logo.png
+File27=principal.bal
+File28=proditem.bal
+File29=productos.bal
File3=clientes.bal
-File30=sync.png
+File30=profina.jpg
+File31=PROFINA.png
+File32=SALMA13.png
+File33=sync.png
File4=dbc.png
File5=detalleVenta.bal
File6=durakelo1.png
@@ -53,6 +56,9 @@ FileGroup28=Default Group
FileGroup29=Default Group
FileGroup3=Default Group
FileGroup30=Default Group
+FileGroup31=Default Group
+FileGroup32=Default Group
+FileGroup33=Default Group
FileGroup4=Default Group
FileGroup5=Default Group
FileGroup6=Default Group
@@ -61,30 +67,31 @@ FileGroup8=Default Group
FileGroup9=Default Group
Group=Default Group
Library1=appupdating
-Library10=googlemapsextras
-Library11=gps
-Library12=ime
-Library13=javaobject
-Library14=json
-Library15=okhttputils2
-Library16=phone
-Library17=randomaccessfile
-Library18=reflection
-Library19=runtimepermissions
+Library10=googlemaps
+Library11=googlemapsextras
+Library12=gps
+Library13=ime
+Library14=javaobject
+Library15=json
+Library16=okhttputils2
+Library17=phone
+Library18=randomaccessfile
+Library19=reflection
Library2=b4xpages
-Library20=serial
-Library21=sql
-Library22=togglelibrary
-Library23=xcustomlistview
-Library24=zxing_scanner
-Library25=fileprovider
+Library20=runtimepermissions
+Library21=serial
+Library22=sql
+Library23=togglelibrary
+Library24=xcustomlistview
+Library25=zxing_scanner
+Library26=bctoast
Library3=baqrcode
Library4=byteconverter
Library5=camera
Library6=compressstrings
Library7=core
-Library8=fusedlocationprovider
-Library9=googlemaps
+Library8=fileprovider
+Library9=fusedlocationprovider
ManifestCode='This code will be applied to the manifest file during compilation.~\n~'You do not need to modify it in most cases.~\n~'See this link for for more information: https://www.b4x.com/forum/showthread.php?p=78136~\n~AddManifestText(~\n~~\n~)~\n~SetApplicationAttribute(android:icon, "@drawable/icon")~\n~SetApplicationAttribute(android:label, "$LABEL$")~\n~CreateResourceFromFile(Macro, Themes.LightTheme)~\n~'End of default text.~\n~~\n~''''' CAMBIA LA CLAVE API~\n~AddApplicationText(~\n~~\n~ ~\n~)~\n~~\n~CreateResourceFromFile(Macro, FirebaseAnalytics.GooglePlayBase)~\n~SetApplicationAttribute(android:usesCleartextTraffic, "true")~\n~AddManifestText()~\n~AddPermission(android.permission.ACCESS_BACKGROUND_LOCATION)~\n~'AddManifestText()~\n~'AddManifestText()~\n~'AddManifestText() 'in order to access the device non-resettable identifiers such as IMEI and serial number.~\n~AddManifestText()~\n~'/////////////// FLP y FBMessageing MOD Inicia /////////////////////~\n~'CreateResourceFromFile(Macro, FirebaseAnalytics.GooglePlayBase)~\n~'CreateResourceFromFile(Macro, FirebaseAnalytics.Firebase)~\n~'CreateResourceFromFile(Macro, FirebaseAnalytics.FirebaseAnalytics)~\n~'CreateResourceFromFile(Macro, FirebaseNotifications.FirebaseNotifications)~\n~SetServiceAttribute(Tracker, android:foregroundServiceType, "location")~\n~'/////////////// FLP y FBMessageing MOD Termina /////////////////////~\n~~\n~'Si al cargar un mapa de google mande este error "java.lang.NoClassDefFoundError: Failed resolution of: Lorg/apache/http/ProtocolVersion". agregar la siguiente linea:~\n~AddApplicationText()~\n~~\n~'/////////////////////// App Updating ////////////////~\n~ AddManifestText(~\n~ )~\n~ AddApplicationText(~\n~ ~\n~ ~\n~ ~\n~ )~\n~ CreateResource(xml, provider_paths,~\n~ ~\n~ ~\n~ ~\n~ ~\n~ ~\n~ )~\n~AddManifestText()~\n~AddManifestText()~\n~AddManifestText()~\n~AddManifestText()~\n~~\n~AddPermission(android.permission.REQUEST_INSTALL_PACKAGES)~\n~AddPermission(android.permission.INTERNET)~\n~AddPermission(android.permission.INSTALL_PACKAGES)~\n~AddPermission(android.permission.READ_EXTERNAL_STORAGE)~\n~AddPermission(android.permission.WRITE_EXTERNAL_STORAGE)~\n~AddPermission(android.permission.READ_PHONE_STATE)~\n~AddPermission(android.permission.WAKE_LOCK)~\n~CreateResourceFromFile(Macro, JhsIceZxing1.CaturePortrait)~\n~ ~\n~SetApplicationAttribute(android:largeHeap, "true")~\n~~\n~AddManifestText(~\n~ ~\n~ )~\n~ ~\n~ SetApplicationAttribute(android:allowBackup, "false")
Module1=appUpdater
Module10=C_Historico
@@ -92,20 +99,21 @@ Module11=C_Mapas
Module12=C_NoVenta
Module13=C_NuevoCliente
Module14=C_Pedidos
-Module15=C_Principal
-Module16=C_Productos
-Module17=C_tabulador
-Module18=C_TicketsDia
-Module19=C_UpdateAvailable
+Module15=C_picking
+Module16=C_Principal
+Module17=C_Productos
+Module18=C_tabulador
+Module19=C_TicketsDia
Module2=B4XMainPage
-Module20=CameraExClass
-Module21=DBRequestManager
-Module22=foto
-Module23=MAPA_CLIENTE
-Module24=MAPA_RUTAS
-Module25=Starter
-Module26=Subs
-Module27=Tracker
+Module20=C_UpdateAvailable
+Module21=CameraExClass
+Module22=DBRequestManager
+Module23=foto
+Module24=MAPA_CLIENTE
+Module25=MAPA_RUTAS
+Module26=Starter
+Module27=Subs
+Module28=Tracker
Module3=BatteryUtilities
Module4=C_Buscar
Module5=C_Cliente
@@ -113,15 +121,15 @@ Module6=C_Clientes
Module7=C_Detalle_Promo
Module8=C_DetalleVenta
Module9=C_Foto
-NumberOfFiles=30
-NumberOfLibraries=25
-NumberOfModules=27
+NumberOfFiles=33
+NumberOfLibraries=26
+NumberOfModules=28
Version=12.5
@EndOfDesignText@
#Region Project Attributes
#ApplicationLabel: GUNA Reparto
#VersionCode: 1
- #VersionName: 4.04.20
+ #VersionName: 4.05.20
'SupportedOrientations possible values: unspecified, landscape or portrait.
#SupportedOrientations: portrait
#CanInstallToExternalStorage: False
diff --git a/B4A/GUNA_Reparto.b4a.meta b/B4A/GUNA_Reparto.b4a.meta
index 9b0c607..9803e30 100644
--- a/B4A/GUNA_Reparto.b4a.meta
+++ b/B4A/GUNA_Reparto.b4a.meta
@@ -19,6 +19,7 @@ ModuleBookmarks24=
ModuleBookmarks25=
ModuleBookmarks26=
ModuleBookmarks27=
+ModuleBookmarks28=
ModuleBookmarks3=
ModuleBookmarks4=
ModuleBookmarks5=
@@ -47,6 +48,7 @@ ModuleBreakpoints24=
ModuleBreakpoints25=
ModuleBreakpoints26=
ModuleBreakpoints27=
+ModuleBreakpoints28=
ModuleBreakpoints3=
ModuleBreakpoints4=
ModuleBreakpoints5=
@@ -75,6 +77,7 @@ ModuleClosedNodes24=
ModuleClosedNodes25=
ModuleClosedNodes26=
ModuleClosedNodes27=
+ModuleClosedNodes28=
ModuleClosedNodes3=
ModuleClosedNodes4=
ModuleClosedNodes5=
@@ -82,6 +85,6 @@ ModuleClosedNodes6=
ModuleClosedNodes7=
ModuleClosedNodes8=
ModuleClosedNodes9=
-NavigationStack=Diseñador Visual,cliente.bal,-100,3,C_Cliente,HIST_Click,240,0,C_DetalleVenta,B4XPage_Appear,175,0,Subs,traemosCantYMonto,747,0,Subs,traeCantYMonto2,782,0,C_Cliente,B4XPage_Appear,151,6,C_Cliente,GPS_LocationChanged,175,0,B4XMainPage,B4XPage_Created,143,0,B4XMainPage,i_engrane_Click,299,0,Starter,Process_Globals,29,0,C_Principal,cargar_Click,720,0
+NavigationStack=B4XMainPage,B4XPage_Created,141,3,DBRequestManager,ExecuteCommand,54,0,C_Principal,JobDone,1164,3,C_picking,B4XPage_Appear,139,0,C_picking,Class_Globals,43,0,C_picking,mandapicking,515,6,C_picking,b_guardapicking_Click,500,1,C_Principal,trabajar_Click,432,0,C_Principal,B4XPage_Appear,386,0,C_Principal,checachek,411,6
SelectedBuild=0
-VisibleModules=1,2,15,3,4,5,6,7,8,9,25
+VisibleModules=1,2,16,3,4,5,6,7,8,9,15,26,22
diff --git a/B4A/Starter.bas b/B4A/Starter.bas
index 5847470..5e24d59 100644
--- a/B4A/Starter.bas
+++ b/B4A/Starter.bas
@@ -32,6 +32,7 @@ Sub Process_Globals
Public SharedFolder As String 'Para actualizar apk
Dim cedisLocation As Location
Dim reqManager As DBRequestManager
+' Dim server As String = "http://11.0.0.12:1782"
Dim server As String = "http://187.189.244.154:1782"
' Dim server As String = "http://11.0.0.222:1782"
Dim muestraProgreso = 0
diff --git a/B4A/Subs.bas b/B4A/Subs.bas
index d885002..9141cb3 100644
--- a/B4A/Subs.bas
+++ b/B4A/Subs.bas
@@ -206,6 +206,10 @@ Sub revisaBD 'ignore
kmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS bitacora(fecha INTEGER, texto TEXT)") 'Bitacora
' kmt.ExecNonQuery("DROP TABLE IF EXISTS CAT_FOLIOS")
kmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS REPARTO_GEO (CLIENTE TEXT, USUARIO TEXT, FECHA_PUNTEO TEXT, LATITUD TEXT, LONGITUD TEXT, ALMACEN TEXT, RUTA_REPARTO TEXT, RUTA_PREV TEXT, FECHA_PREVENTA TEXT, MOTIVO TEXT, COMENTARIO TEXT, TIPO TEXT, ENVIO TEXT)")
+ kmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS PICKING_REPARTO (HIST_PN_CODIGO_PRODUCTO TEXT, HIST_PN_NOMBRE_PRODUCTO TEXT, HIST_PN_CANT_PIEZAS_OR TEXT, HIST_PN_CANT_CAJAS_OR TEXT, HIST_PN_CANT_BLISTER_OR TEXT, HIST_PN_CANT_CAJAS TEXT, HIST_PN_CANT_PIEZAS TEXT, HIST_PN_CANT_BLISTER TEXT, ESTATUS INT)")
+ kmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS CHECAR (MOSTRAR INT)")
+ kmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS CAT_CONVERSION(ID TEXT, NOMBRE TEXT, CAJASPIEZAS TEXT, BLISTERPIEZAS TEXT, PRECIO TEXT)")
+' kmt.ExecNonQuery("DROP TABLE IF EXISTS PICKING_REPARTO")
'Tabla para la bitacora de errores
If Not(errorLog.IsInitialized) Then errorLog.Initialize(Starter.ruta, "errorLog.db", True)
errorLog.ExecNonQuery("CREATE TABLE IF NOT EXISTS errores(fecha INTEGER, error TEXT)")