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)")