From 255374dca0d10b72fa903144ade502879a02ae99 Mon Sep 17 00:00:00 2001 From: cvaldes1201 Date: Mon, 29 Apr 2024 17:56:28 -0600 Subject: [PATCH] modificaciones de pedido sugerido de abordo --- B4A/B4XMainPage.bas | 1 + B4A/C_Principal.bas | 96 +++++++++++++++++++++++++++++++++++------ B4A/C_Productos.bas | 2 +- B4A/KelloggsV4.b4a | 4 +- B4A/KelloggsV4.b4a.meta | 4 +- B4A/Subs.bas | 13 ++++++ B4A/kms_helperSubs.bas | 2 + 7 files changed, 104 insertions(+), 18 deletions(-) diff --git a/B4A/B4XMainPage.bas b/B4A/B4XMainPage.bas index 707e0a0..ca152a7 100644 --- a/B4A/B4XMainPage.bas +++ b/B4A/B4XMainPage.bas @@ -131,6 +131,7 @@ Private Sub B4XPage_Created (Root1 As B4XView) sDate=DateTime.Date(DateTime.Now) Starter.skmt.ExecNonQuery("DROP TABLE IF EXISTS PEDIDO3") Starter.skmt.ExecNonQuery("CREATE TABLE PEDIDO3 (PE_PRECIO2 TEXT,PE_TIPO TEXT,PE_FOLIO NUMERIC,PE_DESC NUMERIC,PE_COSTO_SIN TEXT,PE_RUTA TEXT,PE_CEDIS TEXT,PE_COSTO_TOT NUMERIC,PE_COSTOU NUMERIC,PE_CANT NUMERIC,PE_PRONOMBRE TEXT,PE_PROID TEXT,PE_CLIENTE TEXT,PE_FECHA TEXT,PE_USUARIO TEXT)") + Starter.skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS PEDIDO_SUGERIDO (ID_PRODUCTO TEXT, PROMEDIO TEXT, RUTA TEXT, ALMACEN TEXT)") Starter.skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS DESC_CLIENTES (DC_CL_CLIENTE TEXT, CAT_CL_DESCUENTO_SS TEXT, CAT_CL_DESCUENTO_RTEC TEXT, CAT_CL_DESCUENTO_PING TEXT, CAT_CL_TIPOCLIENTE TEXT)") Starter.skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS HIST_ENCUESTA (HE_CLIE TEXT, HE_RES TEXT, HE_FECHA TEXT, HE_TIPO TEXT)") Starter.skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS CAT_DESCUENTOS_SKU (CAT_DS_CLIENTE TEXT, CAT_DS_PRODID TEXT, CAT_DS_PORCENTAJE TEXT)") diff --git a/B4A/C_Principal.bas b/B4A/C_Principal.bas index 475c304..d2959f3 100644 --- a/B4A/C_Principal.bas +++ b/B4A/C_Principal.bas @@ -610,6 +610,7 @@ Sub cargar_Click Starter.skmt.ExecNonQuery2("delete from kmt_info where substr(CAT_CL_CODIGO,1,1) <> ?", Array As Object ("N")) Starter.skmt.ExecNonQuery("delete from cod_result") Starter.skmt.ExecNonQuery("delete from hist_gest") + Starter.skmt.ExecNonQuery("delete from pedido_sugerido") Starter.skmt.ExecNonQuery("delete from cat_gunaprod") Starter.skmt.ExecNonQuery("delete from cat_gunaprod2") Starter.skmt.ExecNonQuery("DELETE FROM CAT_GUNAPROD5") @@ -1049,12 +1050,12 @@ Sub JobDone(Job As HttpJob) 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)) +' 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_SUGERIDO(ID_PRODUCTO, PROMEDIO,RUTA, ALMACEN) VALUES (?,?,?,?)", Array As Object (ID_PRODUCTO, CANTIDAD, e_ruta.Text, ALMACEN)) Next End If End If @@ -1142,9 +1143,10 @@ Sub JobDone(Job As HttpJob) Dim CAT_GP_DEV As String = records(RESULT.Columns.Get("CAT_GP_DEV")) Dim CAT_GP_TIPOPROD As Int = records(RESULT.Columns.Get("CAT_GP_TIPOPROD")) Dim CAT_GP_INICIATIVA As Int = records(RESULT.Columns.Get("CAT_GP_INICIATIVA")) + Dim CAT_GP_TIPOPROD2 As String = records(RESULT.Columns.Get("CAT_GP_TIPOPROD2")) 'CAT_GP_INICIATIVA = 5 ' skmt.ExecNonQuery2("INSERT INTO CAT_GUNAPROD(CAT_GP_ID,CAT_GP_NOMBRE,CAT_GP_IMP1,CAT_GP_IMP2,CAT_GP_PRECIO,CAT_GP_CLASIF,CAT_GP_STS,CAT_GP_TIPO,CAT_GP_SUBTIPO,CAT_GP_IMG,CAT_GP_ALMACEN,CAT_GP_DEV) VALUES (?,?,?,?,?,?,?,?,?,?,?,?)", Array As Object (CAT_GP_ID,CAT_GP_NOMBRE,CAT_GP_IMP1,CAT_GP_IMP2,CAT_GP_PRECIO,CAT_GP_CLASIF,CAT_GP_STS,CAT_GP_TIPO,CAT_GP_SUBTIPO,CAT_GP_IMG, CAT_GP_ALMACEN,CAT_GP_DEV)) - Starter.skmt.ExecNonQuery2("INSERT INTO CAT_GUNAPROD(CAT_GP_ID,CAT_GP_NOMBRE,CAT_GP_IMP1,CAT_GP_IMP2,CAT_GP_PRECIO,CAT_GP_CLASIF,CAT_GP_STS,CAT_GP_TIPO,CAT_GP_SUBTIPO,CAT_GP_IMG,CAT_GP_ALMACEN,CAT_GP_TIPOPROD,CAT_GP_INICIATIVA,CAT_GP_DEV,CAT_GP_CODPROMO) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,0)", Array As Object (CAT_GP_ID,CAT_GP_NOMBRE,CAT_GP_IMP1,CAT_GP_IMP2,CAT_GP_PRECIO,CAT_GP_CLASIF,CAT_GP_STS,CAT_GP_TIPO,CAT_GP_SUBTIPO,CAT_GP_IMG, CAT_GP_ALMACEN,CAT_GP_TIPOPROD, CAT_GP_INICIATIVA,CAT_GP_DEV)) + Starter.skmt.ExecNonQuery2("INSERT INTO CAT_GUNAPROD(CAT_GP_ID,CAT_GP_NOMBRE,CAT_GP_IMP1,CAT_GP_IMP2,CAT_GP_PRECIO,CAT_GP_CLASIF,CAT_GP_STS,CAT_GP_TIPO,CAT_GP_SUBTIPO,CAT_GP_IMG,CAT_GP_ALMACEN,CAT_GP_TIPOPROD,CAT_GP_INICIATIVA,CAT_GP_DEV,CAT_GP_CODPROMO,CAT_GP_TIPOPROD2) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,0,?)", Array As Object (CAT_GP_ID,CAT_GP_NOMBRE,CAT_GP_IMP1,CAT_GP_IMP2,CAT_GP_PRECIO,CAT_GP_CLASIF,CAT_GP_STS,CAT_GP_TIPO,CAT_GP_SUBTIPO,CAT_GP_IMG, CAT_GP_ALMACEN,CAT_GP_TIPOPROD, CAT_GP_INICIATIVA,CAT_GP_DEV, CAT_GP_TIPOPROD2)) Next Starter.skmt.TransactionSuccessful Starter.skmt.EndTransaction @@ -2097,6 +2099,7 @@ Sub e_ruta_EnterPressed If res = DialogResponse.POSITIVE Then e_ruta.Text = "" Starter.skmt.ExecNonQuery("delete from pedido_cliente") + Starter.skmt.ExecNonQuery("delete from pedido_sugerido") Starter.skmt.ExecNonQuery("delete from pedido") Starter.skmt.ExecNonQuery("delete from BITACORAGPS") Starter.skmt.ExecNonQuery("delete from noventa") @@ -2504,17 +2507,84 @@ Sub Resumen_Click L_ABORDO.Text = c.GetString("TOTAL") c.Close End If + b.Close End Sub Sub B_PROXIMA_Click - 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 + + b = Starter.skmt.ExecQuery("Select count(*) as CUANTOS from pedido where pe_cliente = 0 and pe_tipo = 'ABORDO' " ) + b.Position = 0 + + If b.GetString("CUANTOS") > 0 Then + + 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 + + Else If b.GetString("CUANTOS") = 0 Then + + e = Starter.skmt.ExecQuery("SELECT * FROM PEDIDO_SUGERIDO") + If e.RowCount > 0 Then + + Msgbox2Async("Tienes un pedido sugerido, ¿Deseas aceptarlo?","Atención", "Si", "", "No",LoadBitmap(File.DirAssets,"alert2.png"),False) + Wait For Msgbox_Result (result As Int) + If result = DialogResponse.POSITIVE Then + + If horaentrada Then + + For i = 0 To e.RowCount - 1 + e.Position = i + c = Starter.skmt.ExecQuery2("SELECT * FROM CAT_GUNAPROD WHERE CAT_GP_ID = ?",Array As String(e.GetString("ID_PRODUCTO"))) + If c.RowCount > 0 Then + c.Position = 0 + Subs.actualizaProducto(e.GetString("ALMACEN"), c.GetString("CAT_GP_PRECIO"),e.GetString("PROMEDIO"), c.GetString("CAT_GP_NOMBRE"), e.GetString("ID_PRODUCTO"),"0",Subs.traeFecha,usuario,e.GetString("RUTA"),c.GetString("CAT_GP_PRECIO"),"ABORDO") + End If + + Next + 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 + + Else If result = DialogResponse.NEGATIVE Then + 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 If + + Else If c.RowCount = 0 Then + + 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 If + e.Close + End If + b.Close + End Sub Sub horaentrada As Boolean diff --git a/B4A/C_Productos.bas b/B4A/C_Productos.bas index a31bbed..a438fcf 100644 --- a/B4A/C_Productos.bas +++ b/B4A/C_Productos.bas @@ -319,7 +319,7 @@ Sub lv_catalogos_ItemClick (Position As Int, Value As Object) label14.TextColor = Colors.Black ' lfila.text = "PROMOS" ' c2=Starter.skmt.ExecQuery2("select CAT_GP_ID, CAT_GP_NOMBRE, CAT_GP_PRECIO, CAT_GP_ALMACEN, CAT_GP_IMG from " & query & " where CAT_GP_ALMACEN > 0 AND CAT_GP_TIPO = ? AND CAT_GP_SUBTIPO = ? AND CAT_GP_TIPOPROD <> 1 and (length(CAT_GP_CODPROMO) = 1 OR CAT_GP_CODPROMO = CAT_GP_ID)", Array As String(Value, Value)) - c2=Starter.skmt.ExecQuery2("select CAT_GP_ID, CAT_GP_NOMBRE, CAT_GP_PRECIO, CAT_GP_ALMACEN, CAT_GP_IMG from " & Subs.traeTablaProds(Starter.tipov) & " where CAT_GP_ALMACEN > 0 AND CAT_GP_TIPO = ? AND CAT_GP_SUBTIPO =? AND CAT_GP_TIPOPROD <> 1 and (length(CAT_GP_CODPROMO) = 1 OR CAT_GP_CODPROMO = CAT_GP_ID)", Array As String( Value, Value)) + c2=Starter.skmt.ExecQuery2("select CAT_GP_ID, CAT_GP_NOMBRE, CAT_GP_TIPOPROD2, CAT_GP_PRECIO, CAT_GP_ALMACEN, CAT_GP_IMG from " & Subs.traeTablaProds(Starter.tipov) & " where CAT_GP_ALMACEN > 0 AND CAT_GP_TIPO = ? AND CAT_GP_SUBTIPO =? AND CAT_GP_TIPOPROD <> 1 and (length(CAT_GP_CODPROMO) = 1 OR CAT_GP_CODPROMO = CAT_GP_ID ORDER BY CAT_GP_TIPOPROD2 DESC, CAT_GP_NOMBRE)", Array As String( Value, Value)) ' Log($"Resultados : ${c2.RowCount}, ${Value}, ${marca}, ${tipo}"$) If c2.RowCount > 0 Then For i=0 To c2.RowCount -1 diff --git a/B4A/KelloggsV4.b4a b/B4A/KelloggsV4.b4a index fbde5df..8f89ecd 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.04.23 + #VersionName: 4.04.25 #SupportedOrientations: portrait #CanInstallToExternalStorage: False #BridgeLogger:true diff --git a/B4A/KelloggsV4.b4a.meta b/B4A/KelloggsV4.b4a.meta index 1e2c92b..5270eb2 100644 --- a/B4A/KelloggsV4.b4a.meta +++ b/B4A/KelloggsV4.b4a.meta @@ -88,6 +88,6 @@ ModuleClosedNodes6= ModuleClosedNodes7= ModuleClosedNodes8= ModuleClosedNodes9= -NavigationStack=C_Principal,B_OK_PAS_Click,2296,0,C_Principal,Subir_Click,466,0,C_Principal,cargar_Click,864,0,Subs,esPromo,1638,0,C_Principal,connecta_Click,2040,2,Starter,Service_Create,66,0,Starter,Process_Globals,51,0,C_Principal,B4XPage_Appear,295,6,Subs,bitacora,1656,0,C_Principal,SUBIR_INFO_PEDIDO,2766,6 +NavigationStack=C_Principal,Subir_Click,505,0,C_Principal,SUBIR_INFO_PEDIDO,2878,0,C_Principal,B_PROXIMA_LongClick,3359,0,C_Principal,B_PROXIMA_Click,2508,1,C_Principal,e_ruta_EnterPressed,2089,0,C_Cliente,Guardar_Click,949,0,kms_helperSubs,RD_respaldoBatch,438,0,kms_helperSubs,RD_fechaRestauracionSQL,484,0,B4XMainPage,B4XPage_Created,136,6,kms_helperSubs,RD_Init,66,0 SelectedBuild=0 -VisibleModules=1,27,11,3,12,4,28,17 +VisibleModules=1,27,11,3,12,4,28,17,23 diff --git a/B4A/Subs.bas b/B4A/Subs.bas index c57710f..4a0e626 100644 --- a/B4A/Subs.bas +++ b/B4A/Subs.bas @@ -204,6 +204,17 @@ Sub revisaBD 'ignore End Try End Try + Try 'Si no existe la columna CAT_GP_TIPOPROD2 la agregamos. + Starter.skmt.ExecQuery("select count(CAT_GP_TIPOPROD2) from CAT_GUNAPROD") + Catch + Try + Starter.skmt.ExecNonQuery("ALTER TABLE CAT_GUNAPROD ADD COLUMN CAT_GP_TIPOPROD2 TEXT") + Catch + If Starter.logger Then LogColor("No pudimos agregar la columna CAT_GP_TIPOPROD2.", Colors.Red) + If Starter.logger Then LogColor(LastException, Colors.Red) + End Try + End Try + Try 'Si no existe la columna CAT_CL_SEGMENTO la agregamos. Starter.skmt.ExecQuery("select count(CAT_CL_SEGMENTO) from kmt_info") Catch @@ -973,6 +984,8 @@ Sub actualizaProducto(cedis As String, costoU As String, cant As String, nombre c.Close End Sub + + 'Regresa un mapa con la información de la promo. 'Regresa: {id, maxXcliente, maxRecurrente, maxPromos, historico, ' productos={idProducto={idProducto, preciosimptos, precio, almacen, tipo, piezas, usuario, fecha, regalo, clasif}} 'Mapa con los productos de la promo y los datos de cada uno. diff --git a/B4A/kms_helperSubs.bas b/B4A/kms_helperSubs.bas index 6546aff..f8bfaef 100644 --- a/B4A/kms_helperSubs.bas +++ b/B4A/kms_helperSubs.bas @@ -70,6 +70,7 @@ Sub RD_Init If chkIfTableExists(skmt, "PEDIDO") Then rkmt.ExecNonQuery($"create table if not exists PEDIDO (${getTableColumnList(skmt, "PEDIDO")}, FECHA TEXT)"$) If chkIfTableExists(skmt, "CAT_DETALLES_PAQ") Then rkmt.ExecNonQuery($"create table if not exists CAT_DETALLES_PAQ (${getTableColumnList(skmt, "CAT_DETALLES_PAQ")}, FECHA TEXT)"$) If chkIfTableExists(skmt, "CAT_GUNAPROD") Then rkmt.ExecNonQuery($"create table if not exists CAT_GUNAPROD (${getTableColumnList(skmt, "CAT_GUNAPROD")}, FECHA TEXT)"$) + agregaColumna(rkmt,"CAT_GUNAPROD", "CAT_GP_TIPOPROD2", "TEXT") If chkIfTableExists(skmt, "CAT_GUNAPROD2") Then rkmt.ExecNonQuery($"create table if not exists CAT_GUNAPROD2 (${getTableColumnList(skmt, "CAT_GUNAPROD2")}, FECHA TEXT)"$) If chkIfTableExists(skmt, "kmt_info") Then rkmt.ExecNonQuery($"create table if not exists kmt_info (${getTableColumnList(skmt, "kmt_info")}, FECHA TEXT)"$) If chkIfTableExists(skmt, "PROMOS_COMP") Then rkmt.ExecNonQuery($"create table if not exists PROMOS_COMP (${getTableColumnList(skmt, "PROMOS_COMP")}, FECHA TEXT)"$) @@ -154,6 +155,7 @@ End Sub Sub RD_respalda_cat_gunaprod Private inicio As String = DateTime.Now ' Log("Copiando CAT_GUNAPROD ...") + Private x As Cursor = skmt.ExecQuery("select * from CAT_GUNAPROD") If x.RowCount > 0 Then Private lasCols As String = getTableColumnListName(skmt, "CAT_GUNAPROD")