diff --git a/B4A/C_Cliente.bas b/B4A/C_Cliente.bas index 212f8c8..7e69c64 100644 --- a/B4A/C_Cliente.bas +++ b/B4A/C_Cliente.bas @@ -561,8 +561,8 @@ Sub Guardar_Click Subs.actualizaTET(la_cuenta.text) DateTime.TimeFormat = "HH:mm:ss" - mandaPendientes 'LO COMENTAMOS PARA PRUEBAS, ACTIVAR AL FINAL!!! - mandapiezas +' mandaPendientes 'LO COMENTAMOS PARA PRUEBAS, ACTIVAR AL FINAL!!! +' mandapiezas B4XPages.MainPage.productos.reiniciarlistaProds = True B4XPages.MainPage.productos.prodsMap.Initialize B4XPages.MainPage.promos.promosMap.Initialize diff --git a/B4A/C_NoVenta.bas b/B4A/C_NoVenta.bas index f5a548c..788acb7 100644 --- a/B4A/C_NoVenta.bas +++ b/B4A/C_NoVenta.bas @@ -126,7 +126,7 @@ Sub GUARDA_Click B4XPages.MainPage.skmt.ExecNonQuery2("update PEDIDO_INICIO_FINAL set PIF_HORA_FINAL = ? where PIF_CLIENTE = ? and PIF_HORA_FINAL = 0", Array As Object (DateTime.Now, cuenta)) LogColor($"actualizamos "${cuenta}, hora_final=${DateTime.now}"$,Colors.Red) - mandaPendientesnoventa +' mandaPendientesnoventa B4XPages.ShowPage("Principal") End Sub diff --git a/B4A/C_Nota.bas b/B4A/C_Nota.bas index 7e47fbc..5fca295 100644 --- a/B4A/C_Nota.bas +++ b/B4A/C_Nota.bas @@ -34,6 +34,8 @@ Sub Class_Globals Dim tgl As Toggle Private almacen As String Private p_nota As Panel + Dim vamoaver As List + Dim c2 As Cursor End Sub 'You can add more parameters here. @@ -75,6 +77,7 @@ Sub B4XPage_Appear C.Close c=B4XPages.MainPage.skmt.ExecQuery("select PE_PRONOMBRE,PE_COSTO_TOT, PE_CANT, PE_FOLIO, PE_CEDIS FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) order by PE_CEDIS, PE_PRONOMBRE") ListView1.Clear + vamoaver.Initialize Private cs As CSBuilder If c.RowCount>0 Then For i=0 To c.RowCount -1 @@ -103,6 +106,7 @@ Sub B4XPage_Appear label2.TextColor = Colors.Blue ListView1.AddTwoLines(cs.Color(textColor).append(c.GetString("PE_PRONOMBRE")).pop,"Cantidad #"& c.GetString("PE_CANT")& " SubTotal $"& c.GetString("PE_COSTO_TOT")& " Folio "& c.GetString("PE_FOLIO")) folio = c.GetString("PE_FOLIO") + vamoaver.Add(c.GetString("PE_FOLIO")) Next End If Log($"EXISTE: ${Existe}"$) @@ -175,18 +179,33 @@ Sub ListView1_ItemLongClick (Position As Int, Value As Object) If Not(Subs.pedidoGuardado) Then result = Msgbox2("Seguro que desea borrar este articulo?","Borrar Articulo", "Si", "", "No",LoadBitmap(File.DirAssets,"alert2.png")) 'ignore If result = DialogResponse.POSITIVE Then - c=B4XPages.MainPage.skmt.ExecQuery2("select PE_PROID,PE_CANT FROM PEDIDO where pe_pronombre = ? and pe_cliente in (Select CUENTA from cuentaa) ", Array As String(Value)) + c=B4XPages.MainPage.skmt.ExecQuery2("select PE_PROID,PE_CANT, PE_FOLIO FROM PEDIDO where pe_pronombre = ? and pe_cliente in (Select CUENTA from cuentaa) ", Array As String(Value)) c.Position=0 - B4XPages.MainPage.skmt.ExecNonQuery2("update cat_gunaprod set cat_gp_almacen = cat_gp_almacen + ? where cat_gp_id = ?", Array As Object(c.GetString("PE_CANT"),c.GetString("PE_PROID"))) - B4XPages.MainPage.skmt.ExecNonQuery2("INSERT INTO INVENT_X_ENVIAR (ALMACEN , PROID , CANTIDAD ) VALUES(?,?,?) ", Array As Object (almacen,c.GetString("PE_PROID"),c.GetString("PE_CANT")* -1)) - c.Close - c=B4XPages.MainPage.skmt.ExecQuery2("select count(*) AS CUANTOS from cat_gunaprod where CAT_GP_ID in (select pe_cedis from pedido where pe_pronombre = ? and pe_cliente in (Select CUENTA from cuentaa)) and CAT_GP_CLASIF = 'PROMOS' AND CAT_GP_TIPO = 'PROMOS' AND CAT_GP_SUBTIPO = 'PROMOS'", Array As String(Value)) - c.Position=0 - If c.GetString("CUANTOS") > 0 Then - B4XPages.MainPage.skmt.ExecNonQuery2("delete from pedido where pe_cedis in (select pe_cedis from pedido where pe_pronombre = ?) and pe_cliente in (Select CUENTA from cuentaa)", Array As Object(Value)) + Log(vamoaver.Get(Position)) + If vamoaver.Get(Position) = "VENTA" Then + Log("CAT_GUNAPROD2") + Log(Position) + Log(Value) + Starter.tabla = "CAT_GUNAPROD2" Else - B4XPages.MainPage.skmt.ExecNonQuery2("delete from pedido where pe_pronombre = ? and pe_cliente in (Select CUENTA from cuentaa)", Array As Object(Value)) + Log("CAT_GUNAPROD") + Log(Position) + Log(Value) + Starter.tabla = "CAT_GUNAPROD" End If + B4XPages.MainPage.skmt.ExecNonQuery2($"update ${Starter.tabla} set cat_gp_almacen = cat_gp_almacen + ? where cat_gp_id = ?"$, Array As Object(c.GetString("PE_CANT"),c.GetString("PE_PROID"))) + B4XPages.MainPage.skmt.ExecNonQuery2("INSERT INTO INVENT_X_ENVIAR (ALMACEN , PROID , CANTIDAD ) VALUES(?,?,?) ", Array As Object (Subs.traeAlmacen,c.GetString("PE_PROID"),c.GetString("PE_CANT")* -1)) + c2=B4XPages.MainPage.skmt.ExecQuery2($"select count(*) AS CUANTOS from ${Starter.tabla} where CAT_GP_ID in (select pe_cedis from pedido where pe_pronombre = ? and pe_cliente in (Select CUENTA from cuentaa)) and CAT_GP_CLASIF = 'PROMOS' AND CAT_GP_TIPO = 'PROMOS' AND CAT_GP_SUBTIPO = 'PROMOS'"$, Array As String(Value)) + c2.Position=0 + If c2.GetString("CUANTOS") > 0 Then + B4XPages.MainPage.skmt.ExecNonQuery($"update ${Starter.tabla} set cat_gp_almacen = cat_gp_almacen + ${c.GetString("PE_CANT")} where cat_gp_id = '${c.Getstring("PE_PROID")}'"$) + B4XPages.MainPage.skmt.ExecNonQuery2("delete from pedido where pe_cedis in (select pe_cedis from pedido where pe_pronombre = ?) and pe_cliente in (Select CUENTA from cuentaa) AND PE_FOLIO = ?", Array As Object(Value, c.GetString("PE_FOLIO"))) + Else + B4XPages.MainPage.skmt.ExecNonQuery($"update ${Starter.tabla} set cat_gp_almacen = cat_gp_almacen + ${c.GetString("PE_CANT")} where cat_gp_id = '${c.Getstring("PE_PROID")}'"$) + B4XPages.MainPage.skmt.ExecNonQuery2("delete from pedido where pe_pronombre = ? and pe_cliente in (Select CUENTA from cuentaa) AND PE_FOLIO = ?", Array As Object(Value, c.GetString("PE_FOLIO"))) + End If + c.Close + c2.Close DateTime.DateFormat = "MM/dd/yyyy" sDate=DateTime.Date(DateTime.Now) sTime=DateTime.Time(DateTime.Now) diff --git a/B4A/C_Productos.bas b/B4A/C_Productos.bas index be41e30..afc3151 100644 --- a/B4A/C_Productos.bas +++ b/B4A/C_Productos.bas @@ -113,6 +113,7 @@ Private Sub B4XPage_Created (Root1 As B4XView) lv_tipo.Clear For i=0 To c.RowCount-1 c.Position=i + Log("ENTRE AQUI EN PROMOS create") lv_tipo.AddSingleLine(c.GetString("CAT_GP_TIPO")) Next End If @@ -173,9 +174,11 @@ Sub B4XPage_Appear label1.TextColor = Colors.Black lv_catalogos.Clear lv_catalogos.AddSingleLine("CATALOGO") - c = B4XPages.MainPage.skmt.ExecQuery($"select count(*) as hayPromos from ${Starter.tabla} where CAT_GP_TIPOPROD = 'PROMOS'"$) +' c = B4XPages.MainPage.skmt.ExecQuery($"select count(*) as hayPromos from ${Starter.tabla} where CAT_GP_TIPOPROD = 'PROMOS'"$) + c = B4XPages.MainPage.skmt.ExecQuery($"select count(*) as hayPromos from ${Starter.tabla} where CAT_GP_TIPO = 'PROMOS'"$) c.Position = 0 If c.GetInt("hayPromos") > 0 Then + Log("ENTRE AQUI EN PROMOS ") lv_catalogos.AddSingleLine("PROMOS") End If Sleep(100) @@ -252,7 +255,8 @@ Sub lv_catalogos_ItemClick (Position As Int, Value As Object) label14.TextColor = Colors.Black lfila.text = "PROMOS" - c2=B4XPages.MainPage.skmt.ExecQuery2($"select CAT_GP_ID, CAT_GP_NOMBRE, CAT_GP_PRECIO, CAT_GP_ALMACEN, CAT_GP_IMG from ${Starter.tabla} where CAT_GP_PRECIO > 0 AND CAT_GP_ALMACEN > 0 and CAT_GP_TIPOPROD = ? AND CAT_GP_TIPO = ? AND CAT_GP_SUBTIPO = ? AND CAT_GP_ID NOT IN (SELECT PE_PROID FROM PEDIDO WHERE PE_CLIENTE IN (Select cuenta from cuentaa) )"$, Array As String(Value, Value, Value)) +' c2=B4XPages.MainPage.skmt.ExecQuery2($"select CAT_GP_ID, CAT_GP_NOMBRE, CAT_GP_PRECIO, CAT_GP_ALMACEN, CAT_GP_IMG from ${Starter.tabla} where CAT_GP_PRECIO > 0 AND CAT_GP_ALMACEN > 0 and CAT_GP_TIPOPROD = ? AND CAT_GP_TIPO = ? AND CAT_GP_SUBTIPO = ? AND CAT_GP_ID NOT IN (SELECT PE_PROID FROM PEDIDO WHERE PE_CLIENTE IN (Select cuenta from cuentaa) )"$, Array As String(Value, Value, Value)) + c2=B4XPages.MainPage.skmt.ExecQuery2($"select CAT_GP_ID, CAT_GP_NOMBRE, CAT_GP_PRECIO, CAT_GP_ALMACEN, CAT_GP_IMG from ${Starter.tabla} where CAT_GP_PRECIO > 0 AND CAT_GP_ALMACEN > 0 AND CAT_GP_TIPO = ? AND CAT_GP_SUBTIPO = ? AND CAT_GP_ID NOT IN (SELECT PE_PROID FROM PEDIDO WHERE PE_CLIENTE IN (Select cuenta from cuentaa) )"$, Array As String(Value, Value)) ' Log($"res:${c2.RowCount}, ${Value}, ${marca}, ${tipo}"$) If c2.RowCount > 0 Then For i=0 To c2.RowCount -1 diff --git a/B4A/INTMEX.b4a b/B4A/INTMEX.b4a index 47be3c7..c121d2f 100644 --- a/B4A/INTMEX.b4a +++ b/B4A/INTMEX.b4a @@ -157,7 +157,7 @@ Module9=C_Nota NumberOfFiles=46 NumberOfLibraries=33 NumberOfModules=28 -Version=12.8 +Version=12.5 @EndOfDesignText@ #Region Project Attributes #ApplicationLabel: Intmex diff --git a/B4A/INTMEX.b4a.meta b/B4A/INTMEX.b4a.meta index 0e1bba3..238cb2c 100644 --- a/B4A/INTMEX.b4a.meta +++ b/B4A/INTMEX.b4a.meta @@ -76,7 +76,7 @@ ModuleClosedNodes23=2 ModuleClosedNodes24= ModuleClosedNodes25=1 ModuleClosedNodes26= -ModuleClosedNodes27=49,50,52,53,55,58,61 +ModuleClosedNodes27=52,53,55,58,61 ModuleClosedNodes28= ModuleClosedNodes3= ModuleClosedNodes4= @@ -84,7 +84,7 @@ ModuleClosedNodes5=3 ModuleClosedNodes6= ModuleClosedNodes7= ModuleClosedNodes8= -ModuleClosedNodes9=1 -NavigationStack=Subs,traeTablaProds,1289,0,C_Nota,B4XPage_Appear,54,0,C_Nota,ListView1_ItemLongClick,182,0,C_Nota,B4XPage_CloseRequest,142,0,C_Nota,borra_Click,158,0,C_Principal,Class_Globals,0,0,C_Productos,LlenaProdsLL,929,0,Subs,actualizaProducto,764,0,C_Principal,cargar_Click,889,0,C_Principal,JobDone,1595,0 +ModuleClosedNodes9= +NavigationStack=C_Productos,lv_catalogos_ItemClick,251,0,C_Productos,Class_Globals,78,0,C_Productos,b_terminar1_Click,627,0,C_Nota,B4XPage_Appear,101,1,C_Productos,lv_prodsPedido_ItemLongClick,776,0,C_Productos,b_rechazar_Click,744,0,C_Nota,ListView1_ItemLongClick,178,0,C_Nota,borra_Click,161,0,C_Nota,Class_Globals,30,5,B4XMainPage,Class_Globals,20,0 SelectedBuild=0 -VisibleModules=2,26,13,16,14,4,27,15,9,6 +VisibleModules=2,26,13,16,14,4,27,15,9,6,10,17 diff --git a/B4A/Subs.bas b/B4A/Subs.bas index 9ee6680..6452f1f 100644 --- a/B4A/Subs.bas +++ b/B4A/Subs.bas @@ -677,7 +677,7 @@ End Sub Sub traeProdNombre(id As String) As String Private h As Cursor Private n As String - h=B4XPages.MainPage.skmt.ExecQuery2("select CAT_GP_NOMBRE from CAT_GUNAPROD where CAT_GP_ID = ? ", Array As String(id.Trim)) + h=B4XPages.MainPage.skmt.ExecQuery2($"select CAT_GP_NOMBRE from ${Starter.tabla} where CAT_GP_ID = ? "$, Array As String(id.Trim)) If h.RowCount > 0 Then h.Position = 0 n = h.GetString("CAT_GP_NOMBRE") @@ -856,7 +856,7 @@ Sub traePromo(promo As String, cliente As String) As Map Else promoMap.Put("resultado", "No hay datos de la promoción.") End If - c = B4XPages.MainPage.skmt.ExecQuery("Select CAT_GP_STS, CAT_GP_IMP1, CAT_GP_NOMBRE from CAT_GUNAPROD where CAT_GP_ID = '"& promo & "'") 'Obtenemos las piezas requeridas de productos variables para la promoción. + c = B4XPages.MainPage.skmt.ExecQuery2($"Select CAT_GP_STS, CAT_GP_IMP1, CAT_GP_NOMBRE from ${Starter.tabla} where CAT_GP_ID = ?"$,Array As String(promo)) 'Obtenemos las piezas requeridas de productos variables para la promoción. c.Position = 0 Private pvr As String = 0 Private pvr2 As String = 0 @@ -881,12 +881,14 @@ End Sub 'Regresa un mapa con el inventario disponible por producto para la promoción (desde la base de datos). Sub traemosInventarioDisponibleParaPromo(promo As String) As Map 'ignore Private c As Cursor - c = B4XPages.MainPage.skmt.ExecQuery2("SELECT CAT_GP_ID, CAT_GP_ALMACEN FROM CAT_GUNAPROD WHERE CAT_GP_ID IN (select CAT_DP_IDPROD FROM CAT_DETALLES_PAQ WHERE CAT_DP_ID = ?)", Array As String(promo)) + Log("ESTAMOS VIENDO INVENTARIO") + c = B4XPages.MainPage.skmt.ExecQuery2($"SELECT CAT_GP_ID, CAT_GP_ALMACEN FROM ${Starter.tabla} WHERE CAT_GP_ID IN (select CAT_DP_IDPROD FROM CAT_DETALLES_PAQ WHERE CAT_DP_ID = ?)"$, Array As String(promo)) ' Private prodInv As Map ' prodInv.Initialize Private prods As Map prods.Initialize If c.RowCount > 0 Then + For i=0 To c.RowCount -1 c.Position=i prods.Put(c.GetString("CAT_GP_ID"), c.GetString("CAT_GP_ALMACEN")) @@ -901,10 +903,11 @@ End Sub 'Hay que darle como parametro un mapa (traePromo(promo)) con toda la informacion de la promocion. 'Regresa en el mapa la llave "resultado" que nos da "ok" o "No hay suficiente producto para la promocion". Sub restaFijosPromo(promoMap As Map) 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 inventariosDisponiblesParaEstaPromo As Map = traemosInventarioDisponibleParaPromo(promoMap.Get("id")) 'Obtenemos un mapa con el inventario disponible para cada producto de la promocion desde la base de datos. If thisLog Then LogColor(inventariosDisponiblesParaEstaPromo, Colors.red) If thisLog Then LogColor("Inventario inicial antes de FIJOS: "&inventariosDisponiblesParaEstaPromo, Colors.Gray) 'Inventario inicial. + inventariosDisponiblesParaEstaPromo.Put("resultado", "ko") Private i As Int Private prodsmap As Map = promoMap.Get("productos") 'Obtenemos un mapa con todos los productos de la promoción. Private prodsFijos As List = promoMap.get("prodsFijos") 'Obtenemos una lista con los productos fijos de la promoción. @@ -1010,7 +1013,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 If thisLog Then LogColor($"********* Iniciamos revision de Promo ${idPromo} *********"$, Colors.Magenta) 'Obtenemos el mapa con toda la info de la promoción. @@ -1212,7 +1215,7 @@ End Sub Sub traeProdIdDeBD As Map 'ignore Private c As Cursor Private m As Map - c=B4XPages.MainPage.skmt.ExecQuery("select CAT_GP_ID,CAT_GP_NOMBRE,CAT_GP_TIPO,CAT_GP_SUBTIPO from CAT_GUNAPROD where CAT_GP_NOMBRE In (Select PDESC from PROID)") + c=B4XPages.MainPage.skmt.ExecQuery($"select CAT_GP_ID,CAT_GP_NOMBRE,CAT_GP_TIPO,CAT_GP_SUBTIPO from ${Starter.tabla} where CAT_GP_NOMBRE In (Select PDESC from PROID)"$) If c.RowCount > 0 Then c.Position = 0 m = CreateMap("id":c.GetString("CAT_GP_ID"), "nombre":c.GetString("CAT_GP_NOMBRE"), "tipo":c.GetString("CAT_GP_TIPO"), "subtipo":c.GetString("CAT_GP_SUBTIPO"))