From eadb6c92c3a3c2427c03417148961dfb31d5de6e Mon Sep 17 00:00:00 2001 From: Jose Alberto Guerra Ugalde Date: Tue, 2 Apr 2024 14:10:20 -0600 Subject: [PATCH] - Pedido sugerido - ABordo habiitado despues de las 12:00 - Parcial de proyecto GPS --- B4A/B4XMainPage.bas | 14 +++++--- B4A/C_Clientes.bas | 2 +- B4A/C_Principal.bas | 74 +++++++++++++++++++++++++++++++++++++---- B4A/C_Productos.bas | 34 +++++++++++++------ B4A/KelloggsV4.b4a | 4 +-- B4A/KelloggsV4.b4a.meta | 6 ++-- B4A/Subs.bas | 23 ------------- B4A/kms_helperSubs.bas | 8 ----- 8 files changed, 107 insertions(+), 58 deletions(-) diff --git a/B4A/B4XMainPage.bas b/B4A/B4XMainPage.bas index 4400dca..8442114 100644 --- a/B4A/B4XMainPage.bas +++ b/B4A/B4XMainPage.bas @@ -464,7 +464,7 @@ Sub Entrar_Click reqManager.ExecuteQuery(cmd , 0, "version") Else Subs.iniciaActividad("Principal") -' B4XPages.ShowPage("Principal")a +' B4XPages.ShowPage("Principal") End If End Sub @@ -499,7 +499,6 @@ Sub JobDone(Job As HttpJob) Starter.FECHA_HOY = records(result.Columns.Get("FECHA")) Starter.skmt.ExecNonQuery2("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = ?", Array As Object ("FECHA")) Starter.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("FECHA", Starter.FECHA_HOY)) - Log("GUARDAMOS FECHA EN CAT_VARIABLES") Next End If @@ -513,6 +512,15 @@ Sub JobDone(Job As HttpJob) Next paso1 = 1 End If + + Dim result As DBResult = reqManager.HandleJob(Job) + If result.Tag = "fecha" Then 'query tag + For Each records() As Object In result.Rows + Starter.FECHA_HOY = records(result.Columns.Get("FECHA")) + Starter.skmt.ExecNonQuery2("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = ?", Array As Object ("FECHA")) + Starter.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("FECHA",Starter.FECHA_HOY)) + Next + End If End If Job.Release End If @@ -743,8 +751,6 @@ Private Sub b_cargaLocalOk_Click kh.RD_restaura_kmt_info kh.RD_restaura_promos_comp ime.HideKeyboard - DateTime.DateFormat = "yyyyMMdd" - Starter.skmt.ExecNonQuery($"update USUARIOA set fecha = '${DateTime.Date(DateTime.Now)}'"$) ToastMessageShow("¡¡CARGA EXITOSA!!", True) Else ToastMessageShow("CODIGO EQUIVOCADO", True) diff --git a/B4A/C_Clientes.bas b/B4A/C_Clientes.bas index eca1b80..3b55e8f 100644 --- a/B4A/C_Clientes.bas +++ b/B4A/C_Clientes.bas @@ -73,7 +73,7 @@ Sub B4XPage_Appear busca.Text = "" entro = "2" colonia = 0 - c = Starter.skmt.ExecQuery2("select CAT_CL_NOMBRE, CAT_CL_CALLE, CAT_CL_CODIGO, CAT_CL_NUM_SERIEFISICO from kmt_info where CAT_CL_DIAS_VISITA = (SELECT CAT_VA_VALOR FROM CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?) and gestion = 0 and cat_cl_codigo not in (select pe_cliente from pedido) and cat_cl_codigo <> 0 AND CAT_CL_TIPO_RUTA IN (?,?) and CAT_CL_CODIGO not in (select NV_CLIENTE from NOVENTA) ORDER BY CAT_CL_NUM_SERIEFISICO", Array As String("DIA_VISITA", SEMANA, "SEMANAL")) + c = Starter.skmt.ExecQuery2("select CAT_CL_NOMBRE, CAT_CL_CALLE, CAT_CL_CODIGO, CAT_CL_NUM_SERIEFISICO from kmt_info where CAT_CL_DIAS_VISITA = (SELECT CAT_VA_VALOR FROM CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?) and gestion = 0 and cat_cl_codigo not in (select pe_cliente from pedido) and cat_cl_codigo <> 0 AND CAT_CL_TIPO_RUTA IN (?,?) and CAT_CL_CODIGO not in (select NV_CLIENTE from NOVENTA) ORDER BY CAT_CL_NUM_SERIEFISICO", Array As String("DIA_VISITA",SEMANA, "SEMANAL")) ListView1.Clear lfila.Text = "NOMBRE" If c.RowCount > 0 Then diff --git a/B4A/C_Principal.bas b/B4A/C_Principal.bas index bc7dca7..8260e1f 100644 --- a/B4A/C_Principal.bas +++ b/B4A/C_Principal.bas @@ -289,7 +289,6 @@ End Sub 'You can see the list of page related events in the B4XPagesManager object. The event name is B4XPage. Sub B4XPage_Appear - Log(Subs.traeDiaSemana) StartBluetooth ' If Not(kh.CheckNotificationAccess) Then ' Msgbox2Async($"Se necesita acceso a las notificaciones, haga clic en "Aceptar" y en la siguiente pantalla permita el acceso a la aplicación "${Application.LabelName}"."$, "Permisos necesarios", "Aceptar", "", "", Null, True) @@ -676,6 +675,11 @@ Sub cargar_Click cmd.Name = "select_cat_paquetes_KELL" cmd.Parameters = Array As Object(ALMACEN) reqManager.ExecuteQuery(cmd , 0, "gunaprodp") + + cmd.Initialize + cmd.Name = "pedidosugerido_KELLOGGS" + cmd.Parameters = Array As Object(ALMACEN, e_ruta.Text) + reqManager.ExecuteQuery(cmd , 0, "PEDIDOsugerido") cmd.Initialize cmd.Name = "select_cat_paquetess_KELL" @@ -1026,6 +1030,25 @@ 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 = "PEDIDOsugerido" Then 'query tag + + For Each records() As Object In RESULT.Rows + Dim ID_PRODUCTO As String = records(RESULT.Columns.Get("ID_PRODUCTO")) + Dim CANTIDAD As String = records(RESULT.Columns.Get("PROMEDIO")) + + c = Starter.skmt.ExecQuery2("SELECT * FROM CAT_GUNAPROD WHERE CAT_GP_ID = ?",Array As String(ID_PRODUCTO)) + If c.RowCount > 0 Then + c.Position = 0 + Subs.actualizaProducto(ALMACEN, c.GetString("CAT_GP_PRECIO"),CANTIDAD, c.GetString("CAT_GP_NOMBRE"), ID_PRODUCTO,"0",Subs.traeFecha,usuario,e_ruta.Text,c.GetString("CAT_GP_PRECIO"),"ABORDO") + End If +' Starter.skmt.ExecNonQuery2("INSERT INTO PEDIDO(PE_TIPO, PE_RUTA, PE_CEDIS, PE_CANT,PE_PROID,PE_CLIENTE, PE_USUARIO) VALUES (?,?,?,?,?,?,?)", Array As Object ("ABORDO", e_ruta.Text, ALMACEN, CANTIDAD, ID_PRODUCTO, "0", usuario)) + + Next + End If + End If If Job.JobName = "DBRequest" Then Dim RESULT As DBResult = reqManager.HandleJob(Job) @@ -1618,7 +1641,6 @@ Sub JobDone(Job As HttpJob) Starter.FECHA_HOY = records(RESULT.Columns.Get("FECHA")) Starter.skmt.ExecNonQuery2("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = ?", Array As Object ("FECHA")) Starter.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("FECHA",Starter.FECHA_HOY)) - Log("GUARDAMOS FECHA EN CAT_VARIABLES") Next End If End If @@ -2454,10 +2476,50 @@ Sub Resumen_Click End Sub Sub B_PROXIMA_Click - Starter.skmt.ExecNonQuery("delete from CUENTAA") - Starter.skmt.ExecNonQuery2("INSERT INTO CUENTAA VALUES (?)", Array As Object("0")) - Starter.tipov = "ABORDO" - B4XPages.ShowPage("Productos") + If horaentrada Then + + Starter.skmt.ExecNonQuery("delete from CUENTAA") + Starter.skmt.ExecNonQuery2("INSERT INTO CUENTAA VALUES (?)", Array As Object("0")) + Starter.tipov = "ABORDO" + B4XPages.ShowPage("Productos") + + Else + + + + End If +End Sub + +Sub horaentrada As Boolean + + Dim periodo As Period + periodo.Hours = 0 + periodo.Minutes = 0 + Dim newDate As Long = DateUtils.AddPeriod(DateTime.Now, periodo) + Log(newDate) + Log(DateUtils.TicksToString(newDate)) + + Dim p2 As Period + p2.Hours = 0 + p2.Minutes = 20 + DateTime.DateFormat = "MM/dd/yyyy HH:mm" + Dim fecha2 As String = DateTime.Date(DateTime.Now) + Dim prueba2() As String = Regex.Split(" ",fecha2) + LogColor(prueba2(0),Colors.red) + Dim prueba3 As String = prueba2(0) &" "&"12:00" + LogColor(prueba3,Colors.Red) + Dim ticks2 As Long = DateTime.DateParse(prueba3) + LogColor(ticks2,Colors.red) + LogColor(DateTime.Date(ticks2),Colors.red) + Dim timeToCheck2 As Long = DateUtils.AddPeriod(ticks2, p2) + LogColor(DateUtils.TicksToString(timeToCheck2),Colors.red) + + If timeToCheck2 <= newDate Then + Return True + Else + Return False + End If + End Sub Sub Printer_Connected (Success As Boolean) diff --git a/B4A/C_Productos.bas b/B4A/C_Productos.bas index 4d3f61b..62c13d4 100644 --- a/B4A/C_Productos.bas +++ b/B4A/C_Productos.bas @@ -4,6 +4,14 @@ ModulesStructureVersion=1 Type=Class Version=11.5 @EndOfDesignText@ + + + + + + + + Sub Class_Globals Private Root As B4XView 'ignore Private xui As XUI 'ignore @@ -671,17 +679,21 @@ Sub b_prodMas_Click End If dispAbordo = kh.traeDisponibleAbordo If Subs.traeCliente = 0 And dispAbordo < 1 Then - ToastMessageShow("No hay mas disponible para el abordo", False) - Sender.As(EditText).TextColor = Colors.Red - Sender.As(EditText).TextSize = 14 - Log("######### "& NumberFormat2((kh.traeLimiteAbordoWeb - (kh.traeLimiteAbordoXInventario - kh.traeVenta) - kh.traeVentaAbordo), 0, 2, 2, False)) - laCant.Text = NumberFormat2((laCant.Text - 1), 1, 0, 0, False) - Subs.actualizaProducto(almacenX, precioX, laCant.text, nombreX, id, clienteId, Subs.traeFecha, Subs.traeUsuarioDeBD, rutaUsuario, 0, Starter.tipov) - Log("######### "& NumberFormat2((kh.traeLimiteAbordoWeb - (kh.traeLimiteAbordoXInventario - kh.traeVenta) - kh.traeVentaAbordo), 0, 2, 2, False)) - Sleep(400) - Sender.As(EditText).TextColor = Colors.black - Sender.As(EditText).TextSize = 10 -' Sender.As(EditText). + Try + ToastMessageShow("No hay mas disponible para el abordo", False) + Sender.As(EditText).TextColor = Colors.Red + Sender.As(EditText).TextSize = 14 + Log("######### "& NumberFormat2((kh.traeLimiteAbordoWeb - (kh.traeLimiteAbordoXInventario - kh.traeVenta) - kh.traeVentaAbordo), 0, 2, 2, False)) + laCant.Text = NumberFormat2((laCant.Text - 1), 1, 0, 0, False) + Subs.actualizaProducto(almacenX, precioX, laCant.text, nombreX, id, clienteId, Subs.traeFecha, Subs.traeUsuarioDeBD, rutaUsuario, 0, Starter.tipov) + Log("######### "& NumberFormat2((kh.traeLimiteAbordoWeb - (kh.traeLimiteAbordoXInventario - kh.traeVenta) - kh.traeVentaAbordo), 0, 2, 2, False)) + Sleep(400) + Sender.As(EditText).TextColor = Colors.black + Sender.As(EditText).TextSize = 10 +' Sender.As(EditText). + Catch + Log(LastException) + End Try End If cuentaProds If lfila.Text <> "RMI" Then diff --git a/B4A/KelloggsV4.b4a b/B4A/KelloggsV4.b4a index f7f5b12..8b0ee97 100644 --- a/B4A/KelloggsV4.b4a +++ b/B4A/KelloggsV4.b4a @@ -864,12 +864,12 @@ Module9=C_NuevoCliente NumberOfFiles=401 NumberOfLibraries=29 NumberOfModules=29 -Version=12.8 +Version=12.5 @EndOfDesignText@ #Region Project Attributes #ApplicationLabel: Kelloggs Venta #VersionCode: 3000 - #VersionName: 4.03.20 + #VersionName: 4.03.04 #SupportedOrientations: portrait #CanInstallToExternalStorage: False #BridgeLogger:true diff --git a/B4A/KelloggsV4.b4a.meta b/B4A/KelloggsV4.b4a.meta index 154b58b..830c7f1 100644 --- a/B4A/KelloggsV4.b4a.meta +++ b/B4A/KelloggsV4.b4a.meta @@ -59,7 +59,7 @@ ModuleBreakpoints7= ModuleBreakpoints8= ModuleBreakpoints9= ModuleClosedNodes0= -ModuleClosedNodes1=2 +ModuleClosedNodes1=2,4 ModuleClosedNodes10= ModuleClosedNodes11=1,3 ModuleClosedNodes12=3 @@ -78,7 +78,7 @@ ModuleClosedNodes23= ModuleClosedNodes24= ModuleClosedNodes25=2 ModuleClosedNodes26= -ModuleClosedNodes27=2,3,7,9,10 +ModuleClosedNodes27=3,7,9,10 ModuleClosedNodes28= ModuleClosedNodes29= ModuleClosedNodes3=86 @@ -88,6 +88,6 @@ ModuleClosedNodes6= ModuleClosedNodes7=3,11,12 ModuleClosedNodes8= ModuleClosedNodes9= -NavigationStack=Subs,traeDiaSemana,1682,6,Subs,traeFecha,839,0,kms_helperSubs,RD_fechaRestauracionSQL,478,0,kms_helperSubs,RD_Init,65,0,B4XMainPage,B4XPage_Created,149,0,B4XMainPage,JobDone,493,6,C_Clientes,Class_Globals,0,0,C_Clientes,B4XPage_Appear,69,0,B4XMainPage,b_cargaLocalOk_Click,745,6,kms_helperSubs,Class_Globals,17,0,kms_helperSubs,RD_restaura_kmt_info,327,6,Starter,Timer1_Tick,136,0 +NavigationStack=C_Cliente,b_chk_e_Click,3642,0,C_Productos,et_pCant_TextChanged,750,0,C_Principal,JobDone,1030,6,C_Productos,b_prodMas_Click,676,1,C_Productos,Class_Globals,16,0,Diseñador Visual,principal.bal,-100,1,C_Principal,Class_Globals,0,0,C_Principal,Printer_Connected,2488,0,C_Principal,horaentrada,2489,6,C_Principal,B_PROXIMA_Click,2484,4 SelectedBuild=0 VisibleModules=1,27,11,3,12,4,28,13,23,2 diff --git a/B4A/Subs.bas b/B4A/Subs.bas index e77786f..477c162 100644 --- a/B4A/Subs.bas +++ b/B4A/Subs.bas @@ -1664,27 +1664,4 @@ Sub sumaPedido(cliente As String) As String 'ignore Next x.Close Return NumberFormat2(total, 1, 2, 2, False) -End Sub - -'Regresa el dia de la semana como string. -Sub traeDiaSemana As String - Private hoyNum As Int = DateTime.GetDayOfWeek(DateTime.Now) - Private diaSemana As String = "" - Select Case hoyNum - Case 1 - diaSemana = "DOMINGO" - Case 2 - diaSemana = "LUNES" - Case 3 - diaSemana = "MARTES" - Case 4 - diaSemana = "MIERCOLES" - Case 5 - diaSemana = "JUEVES" - Case 6 - diaSemana = "VIERNES" - Case 7 - diaSemana = "SABADO" - End Select - return diaSemana End Sub \ No newline at end of file diff --git a/B4A/kms_helperSubs.bas b/B4A/kms_helperSubs.bas index 45d6ae8..d22ea1a 100644 --- a/B4A/kms_helperSubs.bas +++ b/B4A/kms_helperSubs.bas @@ -333,14 +333,6 @@ Sub RD_restaura_kmt_info If c.RowCount > 0 Then c.Position = 0 ' Log(c.GetString("FECHA")) - skmt.ExecNonQuery2("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = ?", Array As Object ("DIA_VISITA"))' Ponemos el dia de hay para visita. - skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("DIA_VISITA", Subs.traeDiaSemana)) - skmt.ExecNonQuery2("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = ?", Array As Object ("FINDIA_FECHA"))' Borramos fecha de FIN DIA. - skmt.ExecNonQuery2("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = ?", Array As Object ("FINDIA_PASS"))' Ponemos la contraseña del FIN DIA en "CL" - skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("FINDIA_PASS", "CL")) - Starter.skmt.ExecNonQuery2("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = ?", Array As Object ("FECHA")) 'Ponemos la fecha de hoy en CAT_VARIABLES para que nos deje ingresar con el usuario guardado. - Starter.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("FECHA", fechaHoy)) - skmt.ExecNonQuery("delete from kmt_info") skmt.ExecNonQuery($"insert into kmt_info (${lasCols}) select ${lasCols} from rkmt1.kmt_info where fecha = '${c.GetString("FECHA")}'"$) Log($"insert into kmt_info (${lasCols}) select ${lasCols} from rkmt1.kmt_info where fecha = '${c.GetString("FECHA")}'"$)