From 296795590fdde9c8331412717bcf4d2b1fea9399 Mon Sep 17 00:00:00 2001 From: Jose Alberto Guerra Ugalde Date: Mon, 15 Jan 2024 16:50:51 -0600 Subject: [PATCH] 15/1/24 - Cambios para lista de precios alternativa y promos por proveedor --- B4A/B4XMainPage.bas | 2 + B4A/C_Principal.bas | 119 +++++------------------------------------- B4A/C_Productos.bas | 114 +++++++++++++++++++++++++++------------- B4A/Durakelo.b4a.meta | 2 +- B4A/Starter.bas | 1 + B4A/Subs.bas | 10 ++-- 6 files changed, 102 insertions(+), 146 deletions(-) diff --git a/B4A/B4XMainPage.bas b/B4A/B4XMainPage.bas index d3e5706..483f0b0 100644 --- a/B4A/B4XMainPage.bas +++ b/B4A/B4XMainPage.bas @@ -174,6 +174,8 @@ Private Sub B4XPage_Created (Root1 As B4XView) Starter.skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS HIST_ENCUESTA2 (HE_CLIE TEXT, HE_RES TEXT, HE_FECHA TEXT, HE_TIPO TEXT, HE_PRECIO TEXT)") Starter.skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS CAT_ENCUESTA_PREGUNTA (CAT_EP_ID TEXT,CAT_EP_IDTIPOPREGUNTA TEXT,CAT_CE_DESCRIPCION TEXT,CAT_EP_PREGUNTA TEXT,CAT_EP_RES1_PRED TEXT,CAT_EP_RES2_PRED TEXT,CAT_EP_RES3_PRED TEXT,CAT_EP_ORDEN_PREGUNTA TEXT)") Starter.skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS CAT_ENCUESTA_PREGUNTA5P (CAT_EP_ID TEXT,CAT_EP_IDTIPOPREGUNTA TEXT,CAT_CE_DESCRIPCION TEXT,CAT_EP_PREGUNTA TEXT,CAT_EP_RES1_PRED TEXT,CAT_EP_RES2_PRED TEXT,CAT_EP_RES3_PRED TEXT,CAT_EP_ORDEN_PREGUNTA TEXT)") + Starter.skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS CAT_CLASF_PROD (CAT_CP_ID TEXT, CAT_CP_NOMPROD TEXT)") + c=Starter.skmt.ExecQuery2("select count(*) as CUANTOS from CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As String ("SERVER")) c.Position =0 diff --git a/B4A/C_Principal.bas b/B4A/C_Principal.bas index 6c4638b..bcb4474 100644 --- a/B4A/C_Principal.bas +++ b/B4A/C_Principal.bas @@ -879,6 +879,10 @@ Sub cargar_Click cmd.Name = "select_cat_detallepa_DUR" cmd.Parameters = Array As Object(ALMACEN) reqManager.ExecuteQuery(cmd , 0, "detallepaq") + + cmd.Initialize + cmd.Name = "selectPromoProveedor" + reqManager.ExecuteQuery(cmd , 0, "promoProveedor") cmd.Initialize cmd.Name = "select_cat_clientes_guna_DUR" @@ -1026,7 +1030,6 @@ Sub JobDone(Job As HttpJob) ' If PB2.Progress > 99 Then ' S_CP.Text = "VALIDANDO" ' End If - If cuantos_ped = conteo Then S_CP.Text = "VALIDANDO" End If @@ -1036,7 +1039,6 @@ Sub JobDone(Job As HttpJob) LogColor("JobDone: '" & reqManager.HandleJob(Job).tag & "' - Registros: " & reqManager.HandleJob(Job).Rows.Size, Colors.Green) 'Mod por CHV - 211027 If Job.JobName = "DBRequest" Then Dim RESULT As DBResult = reqManager.HandleJob(Job) - If reqManager.reqsList.IsInitialized Then 'Si tenemos lista de requests, la procesamos. If reqManager.reqsList.IndexOf(RESULT.tag) <> -1 Then reqManager.reqsList.RemoveAt(reqManager.reqsList.IndexOf(RESULT.tag)) @@ -1072,7 +1074,6 @@ Sub JobDone(Job As HttpJob) Dim CAT_CL_NUM_SERIEFISICO As String = records(RESULT.Columns.Get("CAT_CL_NUM_SERIEFISICO")) Dim CAT_CL_BFACTURA As String = records(RESULT.Columns.Get("CAT_CL_BFACTURA")) Dim CAT_CL_BCREDITO As String = records(RESULT.Columns.Get("CAT_CL_BBLOQUEOCRED")) - skmt.ExecNonQuery2("INSERT INTO kmt_info(CAT_CL_CODIGO,CAT_CL_RUTA,CAT_CL_NOMBRE,CAT_CL_ATIENDE1,CAT_CL_ATIENTE2,CAT_CL_TELEFONO,CAT_CL_EMAIL,CAT_CL_CALLE,CAT_CL_NOEXT,CAT_CL_NOINT,CAT_CL_CALLE1,CAT_CL_CALLE2,CAT_CL_COLONIA,CAT_CL_MUNI,CAT_CL_EDO,CAT_CL_CP,CAT_CL_LONG,CAT_CL_LAT,CAT_CL_MTOCOMPRA,CAT_CL_NUM_SERIEFISICO,CAT_CL_BFACTURA,CAT_CL_BCREDITO, gestion) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,0)", Array As Object (CAT_CL_CODIGO,CAT_CL_RUTA,CAT_CL_NOMBRE,CAT_CL_ATIENDE1,CAT_CL_ATIENTE2,CAT_CL_TELEFONO,CAT_CL_EMAIL,CAT_CL_CALLE,CAT_CL_NOEXT,CAT_CL_NOINT,CAT_CL_CALLE1,CAT_CL_CALLE2,CAT_CL_COLONIA,CAT_CL_MUNI,CAT_CL_EDO,CAT_CL_CP,CAT_CL_LONG,CAT_CL_LAT,CAT_CL_MTOCOMPRA,CAT_CL_NUM_SERIEFISICO,CAT_CL_BFACTURA,CAT_CL_BCREDITO)) Next skmt.TransactionSuccessful @@ -1101,7 +1102,6 @@ Sub JobDone(Job As HttpJob) For Each records() As Object In RESULT.Rows Dim HP_CLIENTE As String = records(RESULT.Columns.Get("HP_CLIENTE")) Dim HP_CODIGO_PROMOCION As String = records(RESULT.Columns.Get("HP_CODIGO_PROMOCION")) - skmt.ExecNonQuery2("INSERT INTO HIST_PROMOS(HP_CLIENTE, HP_CODIGO_PROMOCION) VALUES (?,?)", Array As Object (HP_CLIENTE, HP_CODIGO_PROMOCION)) Next 'ToastMessageShow("Historico Promociones Actualizado." , True) @@ -1151,7 +1151,6 @@ Sub JobDone(Job As HttpJob) Dim HCCP_CLIENTE As String = records(RESULT.Columns.Get("HCCP_CLIENTE")) Dim HCCP_PROMO As String = records(RESULT.Columns.Get("HCCP_PROMO")) Dim HCCP_CANT As String = records(RESULT.Columns.Get("HCCP_CANT")) - skmt.ExecNonQuery2("INSERT INTO HIST_CLIENTE_CANT_PROMOS(HCCP_CLIENTE, HCCP_PROMO, HCCP_CANT) VALUES (?,?,?)", Array As Object (HCCP_CLIENTE, HCCP_PROMO,HCCP_CANT)) Next ' ToastMessageShow(" Historico Clientes Promociones Actualizado." , True) @@ -1162,15 +1161,12 @@ Sub JobDone(Job As HttpJob) Dim RESULT As DBResult = reqManager.HandleJob(Job) If RESULT.Tag = "hist_comp_promos" Then 'query tag For Each records() As Object In RESULT.Rows - Dim CAT_PA_ID As String = records(RESULT.Columns.Get("CAT_PA_ID")) Dim CAT_PA_MAXPROM As String = records(RESULT.Columns.Get("CAT_PA_MAXPROM")) Dim CAT_PA_MAXPROMREC As String = records(RESULT.Columns.Get("CAT_PA_MAXPROMREC")) Dim CAT_PA_MAXPROMCLIE As String = records(RESULT.Columns.Get("CAT_PA_MAXPROMCLIE")) - skmt.ExecNonQuery2("INSERT INTO PROMOS_COMP(CAT_PA_ID, CAT_PA_MAXPROM, CAT_PA_MAXPROMREC, CAT_PA_MAXPROMCLIE) VALUES (?,?,?,?)", Array As Object (CAT_PA_ID, CAT_PA_MAXPROM,CAT_PA_MAXPROMREC,CAT_PA_MAXPROMCLIE)) Next - If PB1.Progress = 0 Then PB1.Progress = 30 S_CH.Text = "CARGANDO" @@ -1182,7 +1178,6 @@ Sub JobDone(Job As HttpJob) PB1.Progress = 100 S_CH.Text = "LISTO" End If - End If End If @@ -1190,11 +1185,9 @@ Sub JobDone(Job As HttpJob) Dim RESULT As DBResult = reqManager.HandleJob(Job) If RESULT.Tag = "cat_verificacion" Then 'query tag For Each records() As Object In RESULT.Rows - Dim CAT_VE_IDPROD As String = records(RESULT.Columns.Get("CAT_VE_IDPROD")) Dim CAT_VE_NOMBRE As String = records(RESULT.Columns.Get("CAT_VE_NOMBRE")) Dim CAT_VE_ORDEN As String = records(RESULT.Columns.Get("CAT_VE_ORDEN")) - skmt.ExecNonQuery2("INSERT INTO CAT_VERIFICACION(CAT_VE_IDPROD, CAT_VE_NOMBRE,CAT_VE_ORDEN) VALUES (?,?,?)", Array As Object (CAT_VE_IDPROD, CAT_VE_NOMBRE,CAT_VE_ORDEN)) Next End If @@ -1205,7 +1198,6 @@ Sub JobDone(Job As HttpJob) If RESULT.Tag = "gunaprod" Then 'query tag S_CP.Text = "CARGANDO" For Each records() As Object In RESULT.Rows - Dim CAT_GP_ID As String = records(RESULT.Columns.Get("CAT_GP_ID")) Dim CAT_GP_NOMBRE As String = records(RESULT.Columns.Get("CAT_GP_NOMBRE")) Dim CAT_GP_IMP1 As String = records(RESULT.Columns.Get("CAT_GP_IMP1")) @@ -1244,17 +1236,12 @@ Sub JobDone(Job As HttpJob) PB2.Progress = 100 S_CP.Text = "LISTO" End If - - ' ToastMessageShow("Productos Actualizados." , True) - If Listo1 =1 And Listo2 =1 And Listo3 = 1 And Listo4 = 1 Then B4XPage_Appear img2.Visible=False EJECUTANDO=0 - End If - End If End If @@ -1445,7 +1432,6 @@ Sub JobDone(Job As HttpJob) Dim RESULT As DBResult = reqManager.HandleJob(Job) If RESULT.Tag = "detallepaq" Then 'query tag For Each records() As Object In RESULT.Rows - Dim CAT_DP_ALMACEN As String = records(RESULT.Columns.Get("CAT_DP_ALMACEN")) Dim CAT_DP_ID As String = records(RESULT.Columns.Get("CAT_DP_ID")) Dim CAT_DP_IDPROD As String = records(RESULT.Columns.Get("CAT_DP_IDPROD")) @@ -1457,15 +1443,8 @@ Sub JobDone(Job As HttpJob) Dim CAT_DP_CLASIF As String = records(RESULT.Columns.Get("CAT_DP_CLASIF")) Dim CAT_DP_PRECIO As String = records(RESULT.Columns.Get("CAT_DP_PRECIO")) Dim CAT_DP_PRECIO_SIMPTOS As String = records(RESULT.Columns.Get("CAT_DP_PRECIO_SIMPTOS")) - - - - skmt.ExecNonQuery2("INSERT INTO CAT_DETALLES_PAQ(CAT_DP_ALMACEN,CAT_DP_ID,CAT_DP_IDPROD,CAT_DP_TIPO,CAT_DP_PZAS,CAT_DP_USUARIO,CAT_DP_FECHA,CAT_DP_REGALO,CAT_DP_CLASIF,CAT_DP_PRECIO,CAT_DP_PRECIO_SIMPTOS) VALUES (?,?,?,?,?,?,?,?,?,?,?)", Array As Object (CAT_DP_ALMACEN,CAT_DP_ID,CAT_DP_IDPROD,CAT_DP_TIPO,CAT_DP_PZAS,CAT_DP_USUARIO,CAT_DP_FECHA,CAT_DP_REGALO,CAT_DP_CLASIF,CAT_DP_PRECIO,CAT_DP_PRECIO_SIMPTOS)) - - Next - If PB2.Progress = 0 Then PB2.Progress = 30 S_CP.Text = "CARGANDO" @@ -1487,27 +1466,21 @@ Sub JobDone(Job As HttpJob) img2.Visible=False EJECUTANDO=0 End If - End If End If If Job.JobName = "DBRequest" Then Dim RESULT As DBResult = reqManager.HandleJob(Job) If RESULT.Tag = "hist_datos" Then 'query tag - For Each records() As Object In RESULT.Rows - Dim HVD_CLIENTE As String = records(RESULT.Columns.Get("HVD_CLIENTE")) Dim HVD_PRONOMBRE As String = records(RESULT.Columns.Get("HVD_PRONOMBRE")) Dim HVD_CANT As String = records(RESULT.Columns.Get("HVD_CANT")) Dim HVD_COSTO_TOT As String = records(RESULT.Columns.Get("HVD_COSTO_TOT")) Dim HVD_FECHA As String = records(RESULT.Columns.Get("HVD_FECHA")) skmt.ExecNonQuery2("INSERT INTO HIST_VENTAS(HVD_CLIENTE,HVD_PRONOMBRE,HVD_CANT,HVD_COSTO_TOT, HVD_FECHA) VALUES (?,?,?,?,?)", Array As Object (HVD_CLIENTE,HVD_PRONOMBRE,HVD_CANT,HVD_COSTO_TOT,HVD_FECHA)) - - Next Listo3 =1 - If PB1.Progress = 0 Then PB1.Progress = 30 S_CH.Text = "CARGANDO" @@ -1516,28 +1489,32 @@ Sub JobDone(Job As HttpJob) ELSE IF PB1.Progress = 50 Then PB1.Progress = 80 ELSE If PB1.Progress = 80 Then - PB1.Progress = 100 S_CH.Text = "LISTO" End If - ' ToastMessageShow("Venta historico Actualizado." , True) - If Listo1 =1 And Listo2 =1 And Listo3 = 1 And Listo4 = 1 Then B4XPage_Appear img2.Visible=False EJECUTANDO=0 - End If - End If End If + If RESULT.Tag = "promoProveedor" Then 'query tag + skmt.ExecNonQuery("delete from CAT_CLASF_PROD") + For Each records() As Object In RESULT.Rows +' CAT_CP_ID, CAT_CP_NOMPROD + Dim CAT_CP_ID As String = records(RESULT.Columns.Get("CAT_CP_ID")) + Dim CAT_CP_NOMPROD As String = records(RESULT.Columns.Get("CAT_CP_NOMPROD")) + skmt.ExecNonQuery2("INSERT INTO CAT_CLASF_PROD (CAT_CP_ID, CAT_CP_NOMPROD) VALUES (?,?)", Array As Object (CAT_CP_ID, CAT_CP_NOMPROD)) + Next + End If + If Job.JobName = "DBRequest" Then Dim RESULT As DBResult = reqManager.HandleJob(Job) If RESULT.Tag = "carga_encuesta" Then 'query tag For Each records() As Object In RESULT.Rows - Dim CAT_EP_ID As String = records(RESULT.COLUMNS.GET("CAT_EP_ID")) Dim CAT_EP_IDTIPOPREGUNTA As String = records(RESULT.COLUMNS.GET("CAT_EP_IDTIPOPREGUNTA")) Dim CAT_CE_DESCRIPCION As String = records(RESULT.COLUMNS.GET("CAT_CE_DESCRIPCION")) @@ -1546,12 +1523,7 @@ Sub JobDone(Job As HttpJob) Dim CAT_EP_RES2_PRED As String = records(RESULT.COLUMNS.GET("CAT_EP_RES2_PRED")) Dim CAT_EP_RES3_PRED As String = records(RESULT.COLUMNS.GET("CAT_EP_RES3_PRED")) Dim CAT_EP_ORDEN_PREGUNTA As String = records(RESULT.COLUMNS.GET("CAT_EP_ORDEN_PREGUNTA")) - - skmt.ExecNonQuery2("INSERT INTO CAT_ENCUESTA_PREGUNTA (CAT_EP_ID ,CAT_EP_IDTIPOPREGUNTA ,CAT_CE_DESCRIPCION ,CAT_EP_PREGUNTA ,CAT_EP_RES1_PRED ,CAT_EP_RES2_PRED ,CAT_EP_RES3_PRED ,CAT_EP_ORDEN_PREGUNTA ) VALUES (?,?,?,?,?,?,?,?)", Array As Object (CAT_EP_ID ,CAT_EP_IDTIPOPREGUNTA ,CAT_CE_DESCRIPCION ,CAT_EP_PREGUNTA ,CAT_EP_RES1_PRED ,CAT_EP_RES2_PRED ,CAT_EP_RES3_PRED ,CAT_EP_ORDEN_PREGUNTA)) - - - Next End If End If @@ -1559,19 +1531,14 @@ Sub JobDone(Job As HttpJob) If Job.JobName = "DBRequest" Then Dim RESULT As DBResult = reqManager.HandleJob(Job) If RESULT.Tag = "hist_rmi" Then 'query tag - For Each records() As Object In RESULT.Rows - Dim HVD_CLIENTE As String = records(RESULT.Columns.Get("HVD_CLIENTE")) Dim HVD_PRONOMBRE As String = records(RESULT.Columns.Get("HVD_PRONOMBRE")) Dim HVD_CANT As String = records(RESULT.Columns.Get("HVD_CANT")) Dim HVD_PROID As String = records(RESULT.Columns.Get("HVD_PROID")) skmt.ExecNonQuery2("INSERT INTO HIST_RMI(HR_CLIENTE,HR_PRONOMBRE,HR_PROID, HR_CANT) VALUES (?,?,?,?)", Array As Object (HVD_CLIENTE,HVD_PRONOMBRE,HVD_PROID, HVD_CANT)) - - Next Listo3 =1 - If PB1.Progress = 0 Then PB1.Progress = 30 S_CH.Text = "CARGANDO" @@ -1580,20 +1547,15 @@ Sub JobDone(Job As HttpJob) ELSE IF PB1.Progress = 50 Then PB1.Progress = 80 ELSE If PB1.Progress = 80 Then - PB1.Progress = 100 S_CH.Text = "LISTO" End If - 'ToastMessageShow("Venta historico Actualizado." , True) - If Listo1 =1 And Listo2 =1 And Listo3 = 1 And Listo4 = 1 Then B4XPage_Appear img2.Visible=False EJECUTANDO=0 - End If - End If End If @@ -1601,25 +1563,18 @@ Sub JobDone(Job As HttpJob) Dim RESULT As DBResult = reqManager.HandleJob(Job) If RESULT.Tag = "variables" Then 'query tag For Each records() As Object In RESULT.Rows - Dim Cat_Va_Descripcion As String = records(RESULT.Columns.Get("CAT_VA_DESCRIPCION")) Dim Cat_Va_Valor As String = records(RESULT.Columns.Get("CAT_VA_VALOR")) - skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object (Cat_Va_Descripcion, Cat_Va_Valor)) - - Next End If End If - If Job.JobName = "DBRequest" Then Dim RESULT As DBResult = reqManager.HandleJob(Job) If RESULT.Tag = "valida_pedido" Then 'query tag For Each records() As Object In RESULT.Rows - Dim CUANTOSP As Int = records(RESULT.Columns.Get("CUANTOSP")) - If cuantos_pedido < = CUANTOSP Then ' ToastMessageShow("rojo val ok 1 cuantosp." , True) datos_iguales = "ok" @@ -1629,8 +1584,6 @@ Sub JobDone(Job As HttpJob) ToastMessageShow("No se cargo bien la info P. Sync Nuevamente" & CUANTOSP & " " & cuantos_pedido, True) S_CP.Text = "ENVIAR DATOS (K-2)" End If - - Next End If End If @@ -1639,18 +1592,13 @@ Sub JobDone(Job As HttpJob) Dim RESULT As DBResult = reqManager.HandleJob(Job) If RESULT.Tag = "valida_pedidoc" Then 'query tag For Each records() As Object In RESULT.Rows - Dim CUANTOSC As Int = records(RESULT.Columns.Get("CUANTOSC")) - If cuantos_pedidosc = CUANTOSC Then ' ToastMessageShow("rojo val ok 1 cuantosp." , True) datos_iguales = "ok" Else ToastMessageShow("No se cargo bien la info C. Sync Nuevamente" & CUANTOSC & " " & cuantos_pedidosc, True) - End If - - Next End If End If @@ -1659,18 +1607,13 @@ Sub JobDone(Job As HttpJob) Dim RESULT As DBResult = reqManager.HandleJob(Job) If RESULT.Tag = "valida_noventa" Then 'query tag For Each records() As Object In RESULT.Rows - Dim CUANTOSN As Int = records(RESULT.Columns.Get("CUANTOSN")) - If cuantos_noventa = CUANTOSN Then ' ToastMessageShow("rojo val ok 1 cuantosp." , True) datos_iguales = "ok" Else ToastMessageShow("No se cargo bien la info N. Sync Nuevamente" & CUANTOSN & " " & cuantos_noventa, True) - End If - - Next End If End If @@ -1694,9 +1637,7 @@ Sub JobDone(Job As HttpJob) For Each records() As Object In RESULT.Rows skmt.ExecNonQuery("delete from VERSION") Dim CAT_VE_VERSION As String = records(RESULT.Columns.Get("CAT_VE_VERSION")) - skmt.ExecNonQuery2("INSERT INTO VERSION(NOVERSION) VALUES (?)", Array As Object (CAT_VE_VERSION)) - Next End If End If @@ -1726,7 +1667,6 @@ Sub JobDone(Job As HttpJob) If Job.JobName = "DBRequest" Then Dim RESULT As DBResult = reqManager.HandleJob(Job) If RESULT.Tag = "ruta" Then 'query tag - ' cargar.Visible = True ' Subir.Visible = True ' SUBIR_P.Visible = True @@ -1735,7 +1675,6 @@ Sub JobDone(Job As HttpJob) ' If conn = "1" Then ' ToastMessageShow("Existe Conexión con el Servidor." , True) ' End If - For Each records() As Object In RESULT.Rows Dim VALIDO As String = records(RESULT.Columns.Get("VALIDO")) If VALIDO = "OK" Then @@ -1761,11 +1700,8 @@ Sub JobDone(Job As HttpJob) If Job.JobName = "DBRequest" Then Dim RESULT As DBResult = reqManager.HandleJob(Job) If RESULT.Tag = "usuario" Then 'query tag - For Each records() As Object In RESULT.Rows Dim name2 As String = records(RESULT.Columns.Get("VALIDO")) - - Next If name2 = "OK" Then PASO = 1 @@ -1773,19 +1709,15 @@ Sub JobDone(Job As HttpJob) P1.Visible = False End If End If - If Job.JobName = "DBRequest" Then Dim RESULT As DBResult = reqManager.HandleJob(Job) If RESULT.Tag = "fecha" Then 'query tag For Each records() As Object In RESULT.Rows - Dim FECHA_HOY As String = records(RESULT.Columns.Get("FECHA")) skmt.ExecNonQuery2("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = ?", Array As Object ("FECHA")) skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("FECHA",FECHA_HOY)) - Next - End If End If @@ -1793,13 +1725,10 @@ Sub JobDone(Job As HttpJob) Dim RESULT As DBResult = reqManager.HandleJob(Job) If RESULT.Tag = "folio" Then 'query tag For Each records() As Object In RESULT.Rows - Dim FOLIO As String = records(RESULT.Columns.Get("FOLIO")) skmt.ExecNonQuery2("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = ?", Array As Object ("FOLIO")) skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("FOLIO",FOLIO)) - Next - End If End If 'perfil @@ -1807,13 +1736,10 @@ Sub JobDone(Job As HttpJob) Dim RESULT As DBResult = reqManager.HandleJob(Job) If RESULT.Tag = "perfil" Then 'query tag For Each records() As Object In RESULT.Rows - Dim PERFIL As String = records(RESULT.Columns.Get("PERFIL")) skmt.ExecNonQuery2("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = ?", Array As Object ("PERFIL")) skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("PERFIL",PERFIL)) - Next - End If End If ' marcas @@ -1821,13 +1747,10 @@ Sub JobDone(Job As HttpJob) Dim RESULT As DBResult = reqManager.HandleJob(Job) If RESULT.Tag = "marcas" Then 'query tag For Each records() As Object In RESULT.Rows - Dim MARCAS As String = records(RESULT.Columns.Get("MARCAS")) skmt.ExecNonQuery2("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = ?", Array As Object ("MARCAS")) skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("MARCAS",MARCAS)) - Next - End If End If ' SUCURSAL @@ -1835,13 +1758,10 @@ Sub JobDone(Job As HttpJob) Dim RESULT As DBResult = reqManager.HandleJob(Job) If RESULT.Tag = "sucursal" Then 'query tag For Each records() As Object In RESULT.Rows - Dim SUCURSAL As String = records(RESULT.Columns.Get("SUCURSAL")) skmt.ExecNonQuery2("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = ?", Array As Object ("SUCURSAL")) skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("SUCURSAL",SUCURSAL)) - Next - End If End If ' cambios @@ -1850,13 +1770,10 @@ Sub JobDone(Job As HttpJob) Dim RESULT As DBResult = reqManager.HandleJob(Job) If RESULT.Tag = "cat_cambios" Then 'query tag For Each records() As Object In RESULT.Rows - Dim CAMBIOS As String = records(RESULT.Columns.Get("CAT_VA_VALOR")) skmt.ExecNonQuery2("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = ?", Array As Object ("CAMBIOS")) skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("CAMBIOS",CAMBIOS)) - Next - End If End If @@ -1865,7 +1782,6 @@ Sub JobDone(Job As HttpJob) Dim RESULT As DBResult = reqManager.HandleJob(Job) If RESULT.Tag = "precios" Then 'query tag For Each records() As Object In RESULT.Rows - Dim CAT_GP_ID As String = records(RESULT.Columns.Get("CAT_GP_ID")) Dim CAT_GP_PRECIO As String = records(RESULT.Columns.Get("CAT_GP_PRECIO")) Dim CAT_GP_PRECIO1 As String = records(RESULT.Columns.Get("CAT_GP_PRECIO1")) @@ -1878,22 +1794,15 @@ Sub JobDone(Job As HttpJob) Dim CAT_GP_PRECIO8 As String = records(RESULT.Columns.Get("CAT_GP_PRECIO8")) Dim CAT_GP_PRECIO9 As String = records(RESULT.Columns.Get("CAT_GP_PRECIO9")) Dim CAT_GP_PRECIO10 As String = records(RESULT.Columns.Get("CAT_GP_PRECIO10")) - - skmt.ExecNonQuery2("INSERT INTO CAT_PRECIOS(CAT_GP_ID,CAT_GP_PRECIO, CAT_GP_PRECIO1,CAT_GP_PRECIO2,CAT_GP_PRECIO3,CAT_GP_PRECIO4,CAT_GP_PRECIO5,CAT_GP_PRECIO6,CAT_GP_PRECIO7,CAT_GP_PRECIO8,CAT_GP_PRECIO9, CAT_GP_PRECIO10) VALUES (?,?,?,?,?,?,?,?,?,?,?,?)", Array As Object (CAT_GP_ID,CAT_GP_PRECIO, CAT_GP_PRECIO1,CAT_GP_PRECIO2,CAT_GP_PRECIO3,CAT_GP_PRECIO4,CAT_GP_PRECIO5,CAT_GP_PRECIO6,CAT_GP_PRECIO7,CAT_GP_PRECIO8,CAT_GP_PRECIO9,CAT_GP_PRECIO10)) - Next skmt.ExecNonQuery("delete from LISTA_PRECIOS") skmt.ExecNonQuery(" insert into LISTA_PRECIOS(PRECIO, CAT_GP_ID, NLISTA) select cat_gp_precio as precio, cat_gp_id, '1' as NLISTA from CAT_PRECIOS union Select CAT_GP_PRECIO1 As precio, CAT_GP_ID, '2' as NLISTA from CAT_PRECIOS union Select CAT_GP_PRECIO2 As precio, CAT_GP_ID, '3' as NLISTA from CAT_PRECIOS union Select CAT_GP_PRECIO3 As precio, CAT_GP_ID, '4' as NLISTA from CAT_PRECIOS union Select CAT_GP_PRECIO4 As precio, CAT_GP_ID, '5' as NLISTA from CAT_PRECIOS union Select CAT_GP_PRECIO5 As precio, CAT_GP_ID, '6' as NLISTA from CAT_PRECIOS union Select CAT_GP_PRECIO6 As precio, CAT_GP_ID, '7' as NLISTA from CAT_PRECIOS union Select CAT_GP_PRECIO7 As precio, CAT_GP_ID, '8' as NLISTA from CAT_PRECIOS union Select CAT_GP_PRECIO8 As precio, CAT_GP_ID, '9' as NLISTA from CAT_PRECIOS union Select CAT_GP_PRECIO9 As precio, CAT_GP_ID, '10' as NLISTA from CAT_PRECIOS union Select CAT_GP_PRECIO10 As precio, CAT_GP_ID, '11' as NLISTA from CAT_PRECIOS") - ' ToastMessageShow("LISTA DE PRECIOS OK LISTA DE PRECIOS OK", True) End If End If - Job.Release - End If - End Sub Private Sub B4XPage_CloseRequest As ResumableSub diff --git a/B4A/C_Productos.bas b/B4A/C_Productos.bas index d74d3bb..7f02d66 100644 --- a/B4A/C_Productos.bas +++ b/B4A/C_Productos.bas @@ -211,17 +211,12 @@ Sub B4XPage_Appear ' Log(Starter.tipov) c = Starter.skmt.ExecQuery("select count(*) as hayPromos from promos_comp") c.Position = 0 -' Log(Subs.revisaImpresa) - If c.GetInt("hayPromos") > 0 And clienteId <> 0 And kh.revisaImpresa = False Then - lv_catalogos.AddSingleLine("PROMOS") - End If + +' If c.GetInt("hayPromos") > 0 And clienteId <> 0 And kh.revisaImpresa = False Then +' lv_catalogos.AddSingleLine("PROMOS") +' End If + Sleep(100) -' l_total.Visible = False -' l_totProds.Visible = False -' l_total.Left = 5dip -' l_totProds.Width = Root.Width * 0.19 -' l_total.Left = l_totProds.Width + 20 -' l_total.Width = Root.Width * 0.25 ' Log(Subs.traeTotalesClienteActual) Dim m As Map = Subs.traeTotalesClienteActual @@ -268,6 +263,31 @@ Sub B4XPage_Appear If PERFIL = "V-COSTO" Then skmt.ExecNonQuery("DELETE FROM CAT_GUNAPROD WHERE CAT_GP_ID IN (SELECT CAT_GP_ID FROM LISTA_PRECIOS WHERE NLISTA = '9' AND PRECIO = '0')") End If + +' Log("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 = 'PROMOS' AND CAT_GP_SUBTIPO ='PROMOS' AND CAT_GP_TIPOPROD <> 1 and (length(CAT_GP_CODPROMO) = 1 OR CAT_GP_CODPROMO = CAT_GP_ID)") +' c2=Starter.skmt.ExecQuery("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 = 'PROMOS' AND CAT_GP_SUBTIPO ='PROMOS' AND CAT_GP_TIPOPROD <> 1 and (length(CAT_GP_CODPROMO) = 1 OR CAT_GP_CODPROMO = CAT_GP_ID)") +' Log($"Resultados : ${c2.RowCount}"$) + + 'Traemos las promociones con el proveedor incluido. + c2=Starter.skmt.ExecQuery("Select distinct CAT_GP_ID, CAT_GP_NOMBRE, CAT_GP_PRECIO, CAT_GP_ALMACEN, CAT_GP_TIPO, CAT_DP_CLASIF, CAT_CLASF_PROD.* from " & query & " join CAT_DETALLES_PAQ on CAT_DP_ID = CAT_GP_ID join CAT_CLASF_PROD on CAT_DP_CLASIF = CAT_CP_ID where CAT_GP_ALMACEN > 0 And CAT_GP_TIPO = 'PROMOS' AND CAT_GP_SUBTIPO ='PROMOS' AND CAT_GP_TIPOPROD <> 1 and (length(CAT_GP_CODPROMO) = 1 OR CAT_GP_CODPROMO = CAT_GP_ID) order by CAT_CP_NOMPROD") +' Log($"Resultados : ${c2.RowCount}"$) + Private mPromosProv As Map + mPromosProv.Initialize + If c2.RowCount > 0 Then + For i=0 To c2.RowCount -1 + c2.Position=i + Private tm As Map = Subs.procesaPromocion(c2.GetString("CAT_GP_ID"), clienteId) 'Revisamos que la promo tenga inventario suficiente. + If tm.Get("status") = "ok" Then 'Si tiene inventario suficiente, la agregamos al mapa de proveedores +' LogColor($">>>>>>>>>> ${c2.GetString("CAT_GP_NOMBRE")} - "$, Colors.red) + mPromosProv.Put(c2.GetString("CAT_CP_NOMPROD"),c2.GetString("CAT_CP_ID"))'Aqui tenemos un mapa con el nombre del proveedor y el id del proveedor. + End If + Next + End If + For p = 0 To mPromosProv.Size - 1 'Por cada proveedor agregamos una linea al listview, el valor de la linea es el ID del proveedor. + lv_catalogos.AddSingleLine2($"PROMOS ${mPromosProv.GetKeyAt(p)}"$, mPromosProv.GetValueAt(p)) + Next +' Log(mPromos) + traeListaPrecios(kh.traeAlmacen, kh.traeRuta, "", PERFIL) End Sub Sub PCLV_AddProds @@ -295,28 +315,41 @@ Sub lv_catalogos_ItemClick (Position As Int, Value As Object) Dim label1 As Label label1 = lv_promos.TwoLinesLayout.Label label1.TextSize = 15 +' label1.Height = 200dip label1.TextColor = Colors.Black + label1.Height = 60dip + label1.Gravity = Gravity.TOP + Dim label2 As Label label2 = lv_promos.TwoLinesLayout.SecondLabel - label2.TextSize = 15 label2.TextColor = Colors.Black - Dim label13 As Label - label13 = lv_promos.TwoLinesAndBitmap.Label - label13.TextSize = 15 - label13.TextColor = Colors.Black - Dim label14 As Label - label14 = lv_promos.TwoLinesAndBitmap.SecondLabel - label14.TextSize = 15 - label14.TextColor = Colors.Black + label2.TextSize = 15 + label2.Gravity = Gravity.TOP + label2.Top = 40dip + + lv_promos.TwoLinesLayout.ItemHeight = 60dip + +' label2.Height = 200dip +' Dim label13 As Label +' label13 = lv_promos.TwoLinesAndBitmap.Label +' label13.TextSize = 15 +' label13.TextColor = Colors.Black +' Dim label14 As Label +' label14 = lv_promos.TwoLinesAndBitmap.SecondLabel +' label14.TextSize = 15 +' 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 " & 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)) -' Log($"Resultados : ${c2.RowCount}, ${Value}, ${marca}, ${tipo}"$) +' 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)) + + 'Traemos las promociones del proveedor seleccionado. + c2=Starter.skmt.ExecQuery2("Select distinct CAT_GP_ID, CAT_GP_NOMBRE, CAT_GP_PRECIO, CAT_GP_ALMACEN, CAT_GP_TIPO, CAT_DP_CLASIF, CAT_CLASF_PROD.* from " & query & " join CAT_DETALLES_PAQ on CAT_DP_ID = CAT_GP_ID join CAT_CLASF_PROD on CAT_DP_CLASIF = CAT_CP_ID where CAT_CP_ID = ? and CAT_GP_ALMACEN > 0 And CAT_GP_TIPO = 'PROMOS' AND CAT_GP_SUBTIPO = 'PROMOS' AND CAT_GP_TIPOPROD <> 1 and (length(CAT_GP_CODPROMO) = 1 OR CAT_GP_CODPROMO = CAT_GP_ID) order by CAT_CP_NOMPROD", Array As String( Value)) If c2.RowCount > 0 Then For i=0 To c2.RowCount -1 c2.Position=i Private tm As Map = Subs.procesaPromocion(c2.GetString("CAT_GP_ID"), clienteId) If tm.Get("status") = "ok" Then 'Solo muestrala si hay producto. + Log(c2.GetString("CAT_GP_NOMBRE")) lv_promos.AddTwoLines(c2.GetString("CAT_GP_NOMBRE"),"# " & c2.GetString("CAT_GP_ALMACEN") & " $ " & c2.GetString("CAT_GP_PRECIO") & " F:" & tm.Get("mp").As(Map).Get("prodsFijosCant") & " V:" & tm.Get("mp").As(Map).Get("prodsVariablesCant")) End If Next @@ -587,7 +620,7 @@ Sub b_prodMenos_Click Private cs As CSBuilder cs.Initialize 'Traemos el inventario actual - Private i As Cursor = Starter.skmt.ExecQuery($"select CAT_GP_ALMACEN from cat_gunaprod2 where CAT_GP_ID = '${id}'"$) + Private i As Cursor = Starter.skmt.ExecQuery($"select CAT_GP_ALMACEN from ${kh.traeTablaProds(Starter.tipov)} where CAT_GP_ID = '${id}'"$) Private invActualizado As String = "0" If i.RowCount > 0 Then i.Position = 0 @@ -671,7 +704,7 @@ Sub b_prodMas_Click Private cs As CSBuilder cs.Initialize 'Traemos el inventario actual - Private i As Cursor = Starter.skmt.ExecQuery($"select CAT_GP_ALMACEN from cat_gunaprod2 where CAT_GP_ID = '${id}'"$) + Private i As Cursor = Starter.skmt.ExecQuery($"select CAT_GP_ALMACEN from ${kh.traeTablaProds(Starter.tipov)} where CAT_GP_ID = '${id}'"$) Private invActualizado As String = "0" If i.RowCount > 0 Then i.Position = 0 @@ -700,7 +733,7 @@ Private Sub et_pCant_FocusChanged (HasFocus As Boolean) End Sub Private Sub et_pCant_TextChanged (Old As String, New As String) - LogColor($"txt changed: ${Old}|${New}, hasfocus=${etCantHasFocus}"$,Colors.Magenta) +' LogColor($"txt changed: ${Old}|${New}, hasfocus=${etCantHasFocus}"$,Colors.Magenta) ' If Not(Old = "0" And New = "") And etCantHasFocus Then cuentaProds If etCantHasFocus = True Then @@ -1082,8 +1115,8 @@ Sub l_prodX_Click ' cb_precio2.SetItems(losPreciosList) ' End If - Private listaPrecios As List = traeListaPrecios(Subs.traeAlmacen, ruta, id, PERFIL) - If listaPrecios.Size > 0 Then + Private listaPrecios As List = traeListaPrecios(kh.traeAlmacen, kh.traeRuta, id, PERFIL) + If listaPrecios.Size > 1 Then cb_precio2.SetItems(listaPrecios) cb_precio2.Tag = elTag cb_precio2.mBase.Visible = True @@ -1182,7 +1215,11 @@ Private Sub clv_prods_ll_VisibleRangeChanged (FirstIndex As Int, LastIndex As In End If Private precio As String=NumberFormat2(clv_prods_ll.GetValue(i).As(Map).Get("precio").As(Double),1,2,2,False) If clv_prods_ll.GetValue(i).As(Map).Get("cant") <> Null Then et_pCant.Text = clv_prods_ll.GetValue(i).As(Map).Get("cant") - l_prodX.Text = cs.Color(Colors.red).append(clv_prods_ll.GetValue(i).As(Map).Get("prod")).pop.append(CRLF).Append("Existencias: " & clv_prods_ll.GetValue(i).As(Map).Get("almacen")).Color(0xFF017F01).Append($" $${precio}"$).Popall + Private precioAlt As String = "" + If clv_prods_ll.GetValue(i).As(Map).get("precioAlt") <> "" And Starter.hayListaPreciosAlt Then + precioAlt = "+" + End If + l_prodX.Text = cs.Color(Colors.red).append(clv_prods_ll.GetValue(i).As(Map).Get("prod")).pop.append(CRLF).Append("Existencias: " & clv_prods_ll.GetValue(i).As(Map).Get("almacen")).Color(0xFF017F01).Append($" $${precio} ${precioAlt}"$).Popall l_prodX.Tag = clv_prods_ll.GetValue(i).As(Map) l_pCant.Tag = clv_prods_ll.GetValue(i).As(Map).Get("id") et_pCant.Tag = clv_prods_ll.GetValue(i).As(Map) @@ -1276,7 +1313,8 @@ Sub LlenaProdsLL(p As ResultSet, extra As String) ' Log($"YA HAY RESULTSET ${p.RowCount}"$) Else ' Log("NO HAY RESULTSET") - Dim p As ResultSet = Starter.skmt.ExecQuery($"select CAT_GP_ID, CAT_GP_NOMBRE, CAT_GP_ALMACEN, CAT_GP_PRECIO, CAT_GP_TIPOPROD from ${Subs.traeTablaProds(Starter.tipov)} where CAT_GP_PRECIO > 0 And CAT_GP_CLASIF <> 'PROMOS' order by CAT_GP_NOMBRE"$) +' Dim p As ResultSet = Starter.skmt.ExecQuery($"select CAT_GP_ID, CAT_GP_NOMBRE, CAT_GP_ALMACEN, CAT_GP_PRECIO, CAT_GP_TIPOPROD from ${Subs.traeTablaProds(Starter.tipov)} where CAT_GP_PRECIO > 0 And CAT_GP_CLASIF <> 'PROMOS' order by CAT_GP_NOMBRE"$) + Dim p As ResultSet = Starter.skmt.ExecQuery($"Select distinct ${Subs.traeTablaProds(Starter.tipov)}.CAT_GP_ID, CAT_GP_NOMBRE, CAT_GP_ALMACEN, CAT_GP_PRECIO, CAT_GP_TIPOPROD, LISTA_PRECIOS.CAT_GP_ID as precioAlt from ${Subs.traeTablaProds(Starter.tipov)} left join LISTA_PRECIOS on LISTA_PRECIOS.CAT_GP_ID = ${Subs.traeTablaProds(Starter.tipov)}.CAT_GP_ID where CAT_GP_PRECIO > 0 And CAT_GP_CLASIF <> 'PROMOS' order by CAT_GP_NOMBRE"$) End If Do While p.NextRow @@ -1289,9 +1327,9 @@ Sub LlenaProdsLL(p As ResultSet, extra As String) If hayPedido And preciosMap.ContainsKey(p.GetString("CAT_GP_ID")) Then precioX = preciosMap.Get(p.GetString("CAT_GP_ID")) ' Log(precioX) ' Log(">>>>>> preciosMap: " & preciosMap) - Dim tempMap As Map = CreateMap("prod":p.GetString("CAT_GP_NOMBRE"), "precio":precioX, "almacen":p.GetString("CAT_GP_ALMACEN"), "id":p.GetString("CAT_GP_ID"), "cant":cant, "tipo":Starter.tipoV) + Dim tempMap As Map = CreateMap("prod":p.GetString("CAT_GP_NOMBRE"), "precio":precioX, "almacen":p.GetString("CAT_GP_ALMACEN"), "id":p.GetString("CAT_GP_ID"), "cant":cant, "tipo":Starter.tipoV, "precioAlt":p.GetString("precioAlt")) ' Log($"tipo: |${tempMap.Get("tipo")}|${Starter.tipov}| - tempMap: ${tempMap}"$) - Log($">>> ${p.GetString("CAT_GP_NOMBRE")} - ALMACEN: ${p.GetString("CAT_GP_ALMACEN")}"$) +' Log($">>> ${p.GetString("CAT_GP_NOMBRE")} - ALMACEN: ${p.GetString("CAT_GP_ALMACEN")}"$) If tempMap.Get("tipo") = "" Or tempMap.Get("tipo") = Starter.tipov Then listaProds.Add(tempMap) 'Si el tipo de venta del producto es igual al actual, mostramos el producto en la lista. ' Log($"${p.GetString("CAT_GP_ID")}, ${p.GetString("CAT_GP_NOMBRE")}, ${cant}"$) Loop @@ -1447,21 +1485,27 @@ End Sub 'Regresa la lista de precios de acuerdo al almacen, ruta, perfil y id dados. Sub traeListaPrecios (almacenX As String, rutaX As String, idX As String, perfilX As String) As List 'ignore + Log($"${almacenX}, ${rutaX}, ${idX}, ${perfilX}"$) Private listaPrecios As List listaPrecios.Initialize listaPrecios.Add("-= Seleccione Precio =-") If almacenX = "6" And rutaX = "16" Then +' Log("POR ALMACEN Y RUTA") + Starter.hayListaPreciosAlt = True c = Starter.skmt.ExecQuery($"select PRECIO, NLISTA FROM LISTA_PRECIOS WHERE NLISTA IN ('1','10') AND CAT_GP_ID = '${idX}' ORDER BY NLISTA ASC"$) - If c.RowCount>0 Then - For i=0 To c.RowCount - 1 + If c.RowCount > 0 Then + For i = 0 To c.RowCount - 1 c.Position = i listaPrecios.Add($"${c.GetString("NLISTA")} - ${c.GetString("PRECIO")}"$) Next End If ELSE IF perfilX = "V-ESPECIAL" Then +' Log($"POR PERFIL: V-ESPECIAL"$) + Starter.hayListaPreciosAlt = True c = Starter.skmt.ExecQuery($"select PRECIO, NLISTA FROM LISTA_PRECIOS WHERE NLISTA IN ('5','6','7','8','10') AND CAT_GP_ID = '${idX}' ORDER BY NLISTA ASC"$) - If c.RowCount>0 Then - For i=0 To c.RowCount -1 +' Log(c.RowCount) + If c.RowCount > 0 Then + For i = 0 To c.RowCount - 1 c.Position = i listaPrecios.Add($"${c.GetString("NLISTA")} - ${NumberFormat2(c.GetDouble("PRECIO"), 1, 2, 2, False)}"$) Next diff --git a/B4A/Durakelo.b4a.meta b/B4A/Durakelo.b4a.meta index 1b9746b..17d12cb 100644 --- a/B4A/Durakelo.b4a.meta +++ b/B4A/Durakelo.b4a.meta @@ -64,6 +64,6 @@ ModuleClosedNodes6=1 ModuleClosedNodes7= ModuleClosedNodes8= ModuleClosedNodes9=31,33,35,36,37,38,39,40,41,42 -NavigationStack=C_Productos,b_prodMenos_Click,551,2,C_Nota,Class_Globals,0,0,C_Productos,cb_precio2_SelectedIndexChanged,1432,6,C_Productos,LlenaProdsLL,1301,0,C_Productos,b_prodMas_Click,659,6,Subs,actualizaProducto,775,0,Visual Designer,proditem.bal,-100,1,Visual Designer,nota.bal,-100,1,C_Nota,B4XPage_Created,72,0,C_Nota,B4XPage_Appear,119,2,Main,Process_Globals,21,0 +NavigationStack=C_Productos,lv_catalogos_ItemClick,353,6,C_Productos,b_prodMas_Click,699,5,C_Productos,b_prodMenos_Click,613,0,C_Productos,clv_prods_ll_VisibleRangeChanged,1211,6,C_Productos,B4XPage_Appear,282,2,C_Principal,JobDone,1041,0,C_Productos,l_prodX_Click,1113,3,C_Productos,traeListaPrecios,1485,6,C_Productos,cb_precio2_SelectedIndexChanged,1451,0,C_Productos,lv_precio2_ItemClick,1450,0,B4XMainPage,B4XPage_Created,170,0 SelectedBuild=0 VisibleModules=19,1,8,16,6,3,9,20,10,21 diff --git a/B4A/Starter.bas b/B4A/Starter.bas index bfa3198..8daecf4 100644 --- a/B4A/Starter.bas +++ b/B4A/Starter.bas @@ -30,6 +30,7 @@ Sub Process_Globals Dim FECHA_HOY As String Dim tipov As String = "" Dim rutav As String = "0" + dim hayListaPreciosAlt as Boolean = false End Sub Sub Service_Create diff --git a/B4A/Subs.bas b/B4A/Subs.bas index b1b0bb3..960769c 100644 --- a/B4A/Subs.bas +++ b/B4A/Subs.bas @@ -809,7 +809,7 @@ End Sub ' resultado="OK" 'Ok si existe la promocion. ' prodsVariablesRequeridos=5} 'Cantidad de productos variables requeridos para la promoción. Sub traePromo(promo As String, cliente As String) As Map - Private thisLog As Boolean = True + Private thisLog As Boolean = False If thisLog Then Log("traePromo:"&promo) Private inicioContador As String = DateTime.Now Private c As Cursor = Starter.skmt.ExecQuery("Select * from promos_comp where cat_pa_id = '"& promo&"'") 'Obtenemos las el maximo de promocioones a otorgar. @@ -870,14 +870,14 @@ Sub traePromo(promo As String, cliente As String) As Map pvr = c.GetString("CAT_GP_STS") If pvr = "null" Or pvr = Null Or Not(IsNumber(pvr)) Then pvr = 0 promoMap.Put("prodsVariablesRequeridos", pvr) 'Cantidad de productos variables requeridos para la promoción. - LogColor($">> ${pvr} - ${promoMap.Get("prodsVariablesRequeridos")} <<"$, Colors.Red) +' LogColor($">> ${pvr} - ${promoMap.Get("prodsVariablesRequeridos")} <<"$, Colors.Red) promoMap.put("descripcion", c.GetString("CAT_GP_NOMBRE")) End If c.Close If thisLog Then Log($"Inv variables: ${cuantosVariablesTengoBD(promo)}"$) If thisLog Then Log($"Inv dispo: ${traemosInventarioDisponibleParaPromo(promo)}"$) If thisLog Then LogColor($"Promo ${promo}: ${promoMap}"$, Colors.Blue) - If thisLog Then LogColor("TIEMPO para traePromo -=" & promo & "=- : " & ((DateTime.Now-inicioContador)/1000), Colors.Red) + If thisLog Then LogColor("TIEMPO para traePromo -=" & promo & "=- : " & ((DateTime.Now-inicioContador)/1000), Colors.Magenta) Return promoMap End Sub @@ -954,7 +954,7 @@ Sub alcanzanLosVariablesParaPromo(promoMap As Map, inventarioSinFijos As Map) As Next If thisLog Then Log("Total prods variables=" & totalProdsVariables & ", requeridos=" & promoMap.Get("prodsVariablesRequeridos")) Private res As Boolean = False - Log($"${totalProdsVariables} - |${promoMap.Get("prodsVariablesRequeridos")}| - ${Not(IsNumber(promoMap.Get("prodsVariablesRequeridos")))}"$) +' Log($"${totalProdsVariables} - |${promoMap.Get("prodsVariablesRequeridos")}| - ${Not(IsNumber(promoMap.Get("prodsVariablesRequeridos")))}"$) If Not(promoMap.ContainsKey("prodsVariablesRequeridos")) Or Not(IsNumber(promoMap.Get("prodsVariablesRequeridos"))) Then res = False Else If totalProdsVariables >= promoMap.Get("prodsVariablesRequeridos") Then @@ -1008,7 +1008,7 @@ Sub traePromosVendidas(promo As String, cliente As String) As Int End Sub Sub procesaPromocion(idPromo As String, cliente As String) As Map 'ignore - Private thisLog As Boolean = False 'Si es verdadero, muestra los logs de este sub. + Private thisLog As Boolean = True 'Si es verdadero, muestra los logs de este sub. Private inicioContador As String = DateTime.Now Private mp As String = 0 If thisLog Then LogColor($"********* Iniciamos revision de Promo ${idPromo} *********"$, Colors.red)