From 728e9558fe5e26959b6f349e3b0569095db59719 Mon Sep 17 00:00:00 2001 From: cvaldes1201 Date: Wed, 5 Jun 2024 13:50:16 -0600 Subject: [PATCH] =?UTF-8?q?Se=20cambia=20la=20manera=20en=20que=20las=20pr?= =?UTF-8?q?omociones=20se=20borran,=20el=20tama=C3=B1o=20de=20de=20los=20l?= =?UTF-8?q?abel=20de=20los=20listview...=20v4.06.01?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- B4A/C_Cliente.bas | 144 ++++++++++++++++++++-------------------- B4A/C_NoVenta.bas | 36 +++++----- B4A/C_Nota.bas | 85 +++++++++++++++--------- B4A/C_Productos.bas | 69 ++++++++++++++----- B4A/C_Subs.bas | 122 +++++++++++++++++----------------- B4A/Files/productos.bal | Bin 16315 -> 16315 bytes B4A/Mariana.b4a | 2 +- B4A/Mariana.b4a.meta | 4 +- 8 files changed, 259 insertions(+), 203 deletions(-) diff --git a/B4A/C_Cliente.bas b/B4A/C_Cliente.bas index e07f0b4..c0f33e9 100644 --- a/B4A/C_Cliente.bas +++ b/B4A/C_Cliente.bas @@ -504,7 +504,7 @@ Sub Guardar_Click Subs.actualizaTET(la_cuenta.text) DateTime.TimeFormat = "HH:mm:ss" ' skmt.ExecNonQuery2("insert into VENDIDOS(ID) VALUES(?)",Array As String(clie_id)) - mandaPendientes 'LO COMENTAMOS PARA PRUEBAS, ACTIVAR AL FINAL!!! +' mandaPendientes 'LO COMENTAMOS PARA PRUEBAS, ACTIVAR AL FINAL!!! B4XPages.MainPage.productos.reiniciarlistaProds = True B4XPages.MainPage.productos.prodsMap.Initialize @@ -795,82 +795,82 @@ Private Sub cb_factura_CheckedChange(Checked As Boolean) If Checked Then p_cbFactura.Color = Colors.Green Else p_cbFactura.Color = Colors.red End Sub -Sub mandaPendientes - Log("MandaPendientes") - 'PEDIDO (Pendientes) - c=skmt.ExecQuery("SELECT PE_ENVIO_OK, PE_CEDIS, PE_COSTO_TOT, PE_COSTOU, PE_CANT, PE_PRONOMBRE, PE_PROID, PE_CLIENTE, PE_FECHA, PE_USUARIO, PE_COSTO_SIN, PE_RUTA, PE_DESC, PE_FOLIO FROM PEDIDO where PE_ENVIO_OK <> 1") - Log($"Pedido PENDIENTE: ${c.RowCount}"$) - If c.RowCount > 0 Then - For i = 0 To c.RowCount -1 - c.Position=i - Dim cmd As DBCommand - - cmd.Initialize - cmd.Name = "DELETE_PEDIDO_MARDS_PE" - cmd.Parameters = Array As Object(ALMACEN, B4XPages.MainPage.principal.l_ruta.text,c.GetString("PE_CLIENTE") ) - reqManager.ExecuteCommand(cmd , "DEL_PE") - - cmd.Initialize - cmd.Name = "insert_pedido_MARDS" - cmd.Parameters = Array As Object(C.GetString("PE_CEDIS"),ALMACEN,C.GetString("PE_COSTO_TOT"),C.GetString("PE_COSTOU"),C.GetString("PE_CANT"),C.GetString("PE_PRONOMBRE"),C.GetString("PE_PROID"),C.GetString("PE_CLIENTE"),C.GetString("PE_FECHA"),C.GetString("PE_USUARIO"),C.GetString("PE_RUTA"), C.GetString("PE_COSTO_SIN"),C.GetString("PE_DESC"),c.GetString("PE_FOLIO")) - reqManager.ExecuteCommand(cmd , $"ins_pedidosPendientes_prods_${c.GetString("PE_CLIENTE")}"$) - Next - End If - - 'PEDIDO_CLIENTE (Pendientes) - c = skmt.ExecQuery("SELECT PC_CLIENTE, PC_FECHA, PC_USER, PC_NOART, PC_MONTO,PC_LON, PC_LAT, PC_COSTO_SIN, PC_RUTA, PC_ALMACEN, PC_FACTURA, PC_ENVIO_OK FROM PEDIDO_CLIENTE where PC_ENVIO_OK <> 1") - Log($"Pedido_Cliente PENDIENTE: ${c.RowCount}"$) - If c.RowCount > 0 Then - For i = 0 To c.RowCount - 1 - c.Position = i - Log($"**************** PC_ENVIO_OK: ${c.GetString("PC_ENVIO_OK")} "$) - Dim cmd As DBCommand - cmd.Initialize - cmd.Name = "DELETE_PEDIDO_MARDS_PC" - cmd.Parameters = Array As Object(ALMACEN, B4XPages.MainPage.principal.l_ruta.text,c.GetString("PC_CLIENTE") ) - reqManager.ExecuteCommand(cmd , "DEL_PC") - - Dim cmd As DBCommand - cmd.Initialize - cmd.Name = "insert_pedidos_MARDS" - Log($"${c.GetString("PC_CLIENTE")}, ${ALMACEN}"$) - cmd.Parameters = Array As Object(C.GetString("PC_CLIENTE"), C.GetString("PC_FECHA"), C.GetString("PC_USER"), C.GetString("PC_NOART"), C.GetString("PC_MONTO"), C.GetString("PC_LON"), C.GetString("PC_LAT"), ALMACEN, B4XPages.MainPage.principal.l_ruta.text, C.GetString("PC_COSTO_SIN"), C.GetString("PC_FACTURA")) - reqManager.ExecuteCommand(cmd , $"ins_pedidosPendientes_head_${c.GetString("PC_CLIENTE")}"$) - Next - End If - - 'ABONOS - Dim ab As Cursor = skmt.ExecQuery($"SELECT * from ABONOS where a_enviado is null"$) -' Log(ab.RowCount) - If ab.RowCount > 0 Then - For i = 0 To ab.RowCount -1 - ab.Position = i - Dim cmd As DBCommand - cmd.Initialize - cmd.Name = "insert_abono_MARDS" - cmd.Parameters = Array As Object( ab.GetString("a_usuario"), ab.GetString("a_ruta"), ab.GetString("a_cliente"), ab.GetString("a_abono"), ab.GetString("a_fecha") ) - reqManager.ExecuteCommand(cmd , $"ins_abonosPendientes_${ab.GetString("a_cliente")}"$) - Log($"ins_abonosPendientes_${ab.GetString("a_cliente")}"$) - Next - End If - ab.Close - -' BANDERA FACTURA (Pendientes) -' c=skmt.ExecQuery("SELECT PC_FACTURA, PC_CLIENTE FROM pedido_cliente where PC_CLIENTE IN (Select CUENTA from cuentaa)") -' Log($"BANDERA FACTURA PENDIENTE: ${c.RowCount}"$) -' If c.RowCount>0 Then -' For i=0 To c.RowCount -1 +'Sub mandaPendientes +' Log("MandaPendientes") +' 'PEDIDO (Pendientes) +' c=skmt.ExecQuery("SELECT PE_ENVIO_OK, PE_CEDIS, PE_COSTO_TOT, PE_COSTOU, PE_CANT, PE_PRONOMBRE, PE_PROID, PE_CLIENTE, PE_FECHA, PE_USUARIO, PE_COSTO_SIN, PE_RUTA, PE_DESC, PE_FOLIO FROM PEDIDO where PE_ENVIO_OK <> 1") +' Log($"Pedido PENDIENTE: ${c.RowCount}"$) +' If c.RowCount > 0 Then +' For i = 0 To c.RowCount -1 ' c.Position=i ' Dim cmd As DBCommand +' ' cmd.Initialize -' cmd.Name = "update_factura_INTMEX" -' cmd.Parameters = Array As Object(C.GetString("PC_FACTURA"), C.GetString("PC_CLIENTE"), ALMACEN) -' reqManager.ExecuteCommand(cmd , "upd_facturasPendientes") +' cmd.Name = "DELETE_PEDIDO_MARDS_PE" +' cmd.Parameters = Array As Object(ALMACEN, B4XPages.MainPage.principal.l_ruta.text,c.GetString("PE_CLIENTE") ) +' reqManager.ExecuteCommand(cmd , "DEL_PE") +' +' cmd.Initialize +' cmd.Name = "insert_pedido_MARDS" +' cmd.Parameters = Array As Object(C.GetString("PE_CEDIS"),ALMACEN,C.GetString("PE_COSTO_TOT"),C.GetString("PE_COSTOU"),C.GetString("PE_CANT"),C.GetString("PE_PRONOMBRE"),C.GetString("PE_PROID"),C.GetString("PE_CLIENTE"),C.GetString("PE_FECHA"),C.GetString("PE_USUARIO"),C.GetString("PE_RUTA"), C.GetString("PE_COSTO_SIN"),C.GetString("PE_DESC"),c.GetString("PE_FOLIO")) +' reqManager.ExecuteCommand(cmd , $"ins_pedidosPendientes_prods_${c.GetString("PE_CLIENTE")}"$) ' Next -' ' sql.update_factura_INTMEX=UPDATE INTMEX.HIST_VENTAS SET HV_FACTURA = (?) WHERE HV_CLIENTE = (?) And HV_ALMACEN = (?) ' End If -' c.Close -End Sub +' +' 'PEDIDO_CLIENTE (Pendientes) +' c = skmt.ExecQuery("SELECT PC_CLIENTE, PC_FECHA, PC_USER, PC_NOART, PC_MONTO,PC_LON, PC_LAT, PC_COSTO_SIN, PC_RUTA, PC_ALMACEN, PC_FACTURA, PC_ENVIO_OK FROM PEDIDO_CLIENTE where PC_ENVIO_OK <> 1") +' Log($"Pedido_Cliente PENDIENTE: ${c.RowCount}"$) +' If c.RowCount > 0 Then +' For i = 0 To c.RowCount - 1 +' c.Position = i +' Log($"**************** PC_ENVIO_OK: ${c.GetString("PC_ENVIO_OK")} "$) +' Dim cmd As DBCommand +' cmd.Initialize +' cmd.Name = "DELETE_PEDIDO_MARDS_PC" +' cmd.Parameters = Array As Object(ALMACEN, B4XPages.MainPage.principal.l_ruta.text,c.GetString("PC_CLIENTE") ) +' reqManager.ExecuteCommand(cmd , "DEL_PC") +' +' Dim cmd As DBCommand +' cmd.Initialize +' cmd.Name = "insert_pedidos_MARDS" +' Log($"${c.GetString("PC_CLIENTE")}, ${ALMACEN}"$) +' cmd.Parameters = Array As Object(C.GetString("PC_CLIENTE"), C.GetString("PC_FECHA"), C.GetString("PC_USER"), C.GetString("PC_NOART"), C.GetString("PC_MONTO"), C.GetString("PC_LON"), C.GetString("PC_LAT"), ALMACEN, B4XPages.MainPage.principal.l_ruta.text, C.GetString("PC_COSTO_SIN"), C.GetString("PC_FACTURA")) +' reqManager.ExecuteCommand(cmd , $"ins_pedidosPendientes_head_${c.GetString("PC_CLIENTE")}"$) +' Next +' End If +' +' 'ABONOS +' Dim ab As Cursor = skmt.ExecQuery($"SELECT * from ABONOS where a_enviado is null"$) +'' Log(ab.RowCount) +' If ab.RowCount > 0 Then +' For i = 0 To ab.RowCount -1 +' ab.Position = i +' Dim cmd As DBCommand +' cmd.Initialize +' cmd.Name = "insert_abono_MARDS" +' cmd.Parameters = Array As Object( ab.GetString("a_usuario"), ab.GetString("a_ruta"), ab.GetString("a_cliente"), ab.GetString("a_abono"), ab.GetString("a_fecha") ) +' reqManager.ExecuteCommand(cmd , $"ins_abonosPendientes_${ab.GetString("a_cliente")}"$) +' Log($"ins_abonosPendientes_${ab.GetString("a_cliente")}"$) +' Next +' End If +' ab.Close +' +'' BANDERA FACTURA (Pendientes) +'' c=skmt.ExecQuery("SELECT PC_FACTURA, PC_CLIENTE FROM pedido_cliente where PC_CLIENTE IN (Select CUENTA from cuentaa)") +'' Log($"BANDERA FACTURA PENDIENTE: ${c.RowCount}"$) +'' If c.RowCount>0 Then +'' For i=0 To c.RowCount -1 +'' c.Position=i +'' Dim cmd As DBCommand +'' cmd.Initialize +'' cmd.Name = "update_factura_INTMEX" +'' cmd.Parameters = Array As Object(C.GetString("PC_FACTURA"), C.GetString("PC_CLIENTE"), ALMACEN) +'' reqManager.ExecuteCommand(cmd , "upd_facturasPendientes") +'' Next +'' ' sql.update_factura_INTMEX=UPDATE INTMEX.HIST_VENTAS SET HV_FACTURA = (?) WHERE HV_CLIENTE = (?) And HV_ALMACEN = (?) +'' End If +'' c.Close +'End Sub Sub JobDone(Job As HttpJob) Log("JOBDONE CLIENTE . " & Job.Success) diff --git a/B4A/C_NoVenta.bas b/B4A/C_NoVenta.bas index 44886fc..6f8acfa 100644 --- a/B4A/C_NoVenta.bas +++ b/B4A/C_NoVenta.bas @@ -128,27 +128,27 @@ Sub GUARDA_Click Starter.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 -Sub mandaPendientesnoventa - - c=Starter.skmt.ExecQuery("SELECT NV_CLIENTE,NV_FECHA,NV_USER,NV_MOTIVO,NV_COMM,NV_LAT,NV_LON, NV_NOMBRE, NV_DIRECCION FROM NOVENTA where NV_ENVIO <> 1") - Log($"NOVENYA_Cliente PENDIENTE: ${c.RowCount}"$) - If c.RowCount>0 Then - For i=0 To c.RowCount -1 - c.Position=i - - Dim cmd As DBCommand - cmd.Initialize - cmd.Name = "insert_noventa_MARDS" - cmd.Parameters = Array As Object(c.GetString("NV_CLIENTE"),c.GetString("NV_FECHA"),c.GetString("NV_USER"),c.GetString("NV_MOTIVO"),c.GetString("NV_COMM"),c.GetString("NV_LAT"),c.GetString("NV_LON"),B4XPages.MainPage.principal.ALMACEN, B4XPages.MainPage.principal.l_ruta.Text,c.GetString("NV_NOMBRE"),c.GetString("NV_DIRECCION")) - reqManager.ExecuteCommand(cmd , $"ins_NOVENTAPendientes_head_${c.GetString("NV_CLIENTE")}"$) - Next - End If - c.Close -End Sub +'Sub mandaPendientesnoventa +' +' c=Starter.skmt.ExecQuery("SELECT NV_CLIENTE,NV_FECHA,NV_USER,NV_MOTIVO,NV_COMM,NV_LAT,NV_LON, NV_NOMBRE, NV_DIRECCION FROM NOVENTA where NV_ENVIO <> 1") +' Log($"NOVENYA_Cliente PENDIENTE: ${c.RowCount}"$) +' If c.RowCount>0 Then +' For i=0 To c.RowCount -1 +' c.Position=i +' +' Dim cmd As DBCommand +' cmd.Initialize +' cmd.Name = "insert_noventa_MARDS" +' cmd.Parameters = Array As Object(c.GetString("NV_CLIENTE"),c.GetString("NV_FECHA"),c.GetString("NV_USER"),c.GetString("NV_MOTIVO"),c.GetString("NV_COMM"),c.GetString("NV_LAT"),c.GetString("NV_LON"),B4XPages.MainPage.principal.ALMACEN, B4XPages.MainPage.principal.l_ruta.Text,c.GetString("NV_NOMBRE"),c.GetString("NV_DIRECCION")) +' reqManager.ExecuteCommand(cmd , $"ins_NOVENTAPendientes_head_${c.GetString("NV_CLIENTE")}"$) +' Next +' End If +' c.Close +'End Sub Sub JobDone(Job As HttpJob) diff --git a/B4A/C_Nota.bas b/B4A/C_Nota.bas index ae35915..1b765d2 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 c2 As Cursor + Dim j3 As Cursor End Sub 'You can add more parameters here. @@ -161,40 +163,57 @@ Sub ListView1_ItemLongClick (Position As Int, Value As Object) ' If c.RowCount = 0 Then ' 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=Starter.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.Position=0 - Starter.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"))) - Starter.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=Starter.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 - Starter.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)) - Else - Starter.skmt.ExecNonQuery2("delete from pedido where pe_pronombre = ? and pe_cliente in (Select CUENTA from cuentaa)", Array As Object(Value)) - End If - DateTime.DateFormat = "MM/dd/yyyy" - sDate=DateTime.Date(DateTime.Now) - sTime=DateTime.Time(DateTime.Now) - c=Starter.skmt.ExecQuery("Select CUENTA from cuentaa") - c.Position=0 - clie_id = c.GetString("CUENTA") - c=Starter.skmt.ExecQuery("select USUARIO from usuarioa") - c.Position=0 - usuario = c.GetString("USUARIO") - c=Starter.skmt.ExecQuery("select sum(pe_costo_tot) as TOTAL_CLIE, SUM(PE_CANT) AS CANT_CLIE, count(*) as CUANTOS FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)") - c.Position=0 - If c.GetString("CUANTOS") > 0 Then - Starter.skmt.ExecNonQuery("delete from pedido_cliente where PC_CLIENTE In (select cuenta from cuentaa)") - Starter.skmt.ExecNonQuery2("insert into pedido_cliente(PC_CLIENTE, PC_FECHA, PC_USER, PC_NOART, PC_MONTO,PC_LON, PC_LAT) VALUES (?,?,?,?,?,?,?)", Array As Object(clie_id, sDate & sTime, usuario, c.GetString("CANT_CLIE"),c.GetString("TOTAL_CLIE"), B4XPages.MainPage.lon_gps, B4XPages.MainPage.lat_gps)) - Starter.skmt.ExecNonQuery("UPDATE kmt_info set gestion = 0 where CAT_CL_CODIGO In (select cuenta from cuentaa)") - Else - Starter.skmt.ExecNonQuery("delete from pedido_cliente where PC_CLIENTE In (select cuenta from cuentaa)") - Starter.skmt.ExecNonQuery("UPDATE kmt_info set gestion = 0 where CAT_CL_CODIGO In (select cuenta from cuentaa)") - End If - B4XPage_Appear + If result = DialogResponse.POSITIVE Then + c=Starter.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 ${Starter.tabla} set cat_gp_almacen = cat_gp_almacen + ? where cat_gp_id = ?"$, Array As Object(c.GetString("PE_CANT"),c.GetString("PE_PROID"))) + Starter.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=Starter.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)) + c2.Position=0 + Log(c2.GetString("CUANTOS")) + If c2.GetString("CUANTOS") > 0 Then + j3 = Starter.skmt.ExecQuery2("SELECT PE_CEDIS, PE_CANT,PE_PROID, PE_PRONOMBRE FROM PEDIDO WHERE PE_CEDIS IN (SELECT PE_CEDIS FROM PEDIDO WHERE PE_PRONOMBRE = ?)",Array As String(Value)) + Log(j3.RowCount) + If j3.RowCount > 0 Then + Log("estoy aqui") + For i = 0 To j3.RowCount -1 + Log("aqui tronare?") + j3.Position = i + Starter.skmt.ExecNonQuery($"update cat_gunaprod set cat_gp_almacen = cat_gp_almacen + ${j3.GetString("PE_CANT")} where cat_gp_id = '${j3.Getstring("PE_PROID")}'"$) + Starter.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(j3.GetString("PE_PRONOMBRE"), c.GetString("PE_FOLIO"))) + Next End If + j3.Close + Else + Starter.skmt.ExecNonQuery($"update cat_gunaprod set cat_gp_almacen = cat_gp_almacen + ${c.GetString("PE_CANT")} where cat_gp_id = '${c.Getstring("PE_PROID")}'"$) + Starter.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) + c=Starter.skmt.ExecQuery("Select CUENTA from cuentaa") + c.Position=0 + clie_id = c.GetString("CUENTA") + c=Starter.skmt.ExecQuery("select USUARIO from usuarioa") + c.Position=0 + usuario = c.GetString("USUARIO") + c=Starter.skmt.ExecQuery("select sum(pe_costo_tot) as TOTAL_CLIE, SUM(PE_CANT) AS CANT_CLIE, count(*) as CUANTOS FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)") + c.Position=0 + If c.GetString("CUANTOS") > 0 Then + Starter.skmt.ExecNonQuery("delete from pedido_cliente where PC_CLIENTE In (select cuenta from cuentaa)") + Starter.skmt.ExecNonQuery2("insert into pedido_cliente(PC_CLIENTE, PC_FECHA, PC_USER, PC_NOART, PC_MONTO,PC_LON, PC_LAT) VALUES (?,?,?,?,?,?,?)", Array As Object(clie_id, sDate & sTime, usuario, c.GetString("CANT_CLIE"),c.GetString("TOTAL_CLIE"), B4XPages.MainPage.lon_gps, B4XPages.MainPage.lat_gps)) + Starter.skmt.ExecNonQuery("UPDATE kmt_info set gestion = 0 where CAT_CL_CODIGO In (select cuenta from cuentaa)") + Else + Starter.skmt.ExecNonQuery("delete from pedido_cliente where PC_CLIENTE In (select cuenta from cuentaa)") + Starter.skmt.ExecNonQuery("UPDATE kmt_info set gestion = 0 where CAT_CL_CODIGO In (select cuenta from cuentaa)") + End If + B4XPage_Appear + End If ' Else ' ToastMessageShow("El pedido ya fue guardado, no se puden borrar productos.", True) ' End If diff --git a/B4A/C_Productos.bas b/B4A/C_Productos.bas index ed1eecc..cfed931 100644 --- a/B4A/C_Productos.bas +++ b/B4A/C_Productos.bas @@ -67,7 +67,7 @@ Sub Class_Globals Private l_total2 As Label Dim prodsPedidoActual As String Dim montoPedidoActual As String - + Dim j3 As Cursor Private clv_prods_ll As CustomListView Private PCLV As PreoptimizedCLV Dim listaProds As List @@ -223,22 +223,30 @@ Sub lv_catalogos_ItemClick (Position As Int, Value As Object) lfila.text = "PROMOCIONES" lv_catalogos.Visible = False lv_promos.Clear - Dim label1 As Label + lv_promos.TwoLinesLayout.ItemHeight =80dip + Dim label1 As Label label1 = lv_promos.TwoLinesLayout.Label + label1.Height = 50dip label1.TextSize = 15 label1.TextColor = Colors.Black + label1.Gravity = 3 Dim label2 As Label label2 = lv_promos.TwoLinesLayout.SecondLabel + label2.Top = label1.Height label2.TextSize = 15 label2.TextColor = Colors.Black Dim label13 As Label label13 = lv_promos.TwoLinesAndBitmap.Label + label13.Height = 50dip label13.TextSize = 15 label13.TextColor = Colors.Black +' label13.Height = 80dip Dim label14 As Label label14 = lv_promos.TwoLinesAndBitmap.SecondLabel + label14.Top = label1.Height label14.TextSize = 15 label14.TextColor = Colors.Black +' label14.Height = 80dip lfila.text = "PROMOS" c2=Starter.skmt.ExecQuery2("select CAT_GP_ID, CAT_GP_NOMBRE, CAT_GP_PRECIO, CAT_GP_ALMACEN, CAT_GP_IMG from cat_gunaprod 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)) Log($"res:${c2.RowCount}, ${Value}, ${marca}, ${tipo}"$) @@ -248,7 +256,7 @@ Sub lv_catalogos_ItemClick (Position As Int, Value As Object) Private tm As Map = Subs.procesaPromocion(c2.GetString("CAT_GP_ID"), clienteId) Log(c2.GetString("CAT_GP_ID")) If tm.Get("status") = "ok" Then 'Solo muestrala si hay producto. - 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")) + 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 Else @@ -591,6 +599,7 @@ Sub b_terminar1_Click clv_prods_ll.AsView.Visible = False lv_catalogos.Visible = True lv_prodsPedido.Clear + lv_prodsPedido.TwoLinesLayout.ItemHeight =70dip ' lv_prodsPedido.TwoLinesLayout.Label.Height = 50dip Private c_prods As Cursor=Starter.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") If c_prods.RowCount > 0 Then @@ -600,6 +609,8 @@ Sub b_terminar1_Click c_prods.Position=i Dim label1 As Label label1 = lv_prodsPedido.TwoLinesLayout.Label + label1.Height = 50dip + label1.Gravity = 3 label1.TextSize = 15 label1.TextColor = Colors.Black label1.color = Colors.White @@ -608,6 +619,7 @@ Sub b_terminar1_Click Dim label2 As Label label2 = lv_prodsPedido.TwoLinesLayout.SecondLabel + label2.Top = label1.Height label2.TextSize = 15 label2.TextColor = Colors.Blue lv_prodsPedido.AddTwoLines(cs.Color(textColor).append(c_prods.GetString("PE_PRONOMBRE")).pop,"Cantidad #"& c_prods.GetString("PE_CANT")& " SubTotal $"& c_prods.GetString("PE_COSTO_TOT")& " Folio "& c_prods.GetString("PE_FOLIO")) @@ -749,22 +761,47 @@ Private Sub lv_prodsPedido_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=Starter.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=Starter.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 - Log("aqui1") - Starter.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"))) - Starter.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)) - c.Close - Log("aqui2") - c=Starter.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 - Starter.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("aqui3") +' Log("aqui1") +' Starter.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"))) +' Starter.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)) +' c.Close +' Log("aqui2") +' c=Starter.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 +' Starter.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("aqui3") +' Else +' Starter.skmt.ExecNonQuery2("delete from pedido where pe_pronombre = ? and pe_cliente in (Select CUENTA from cuentaa)", Array As Object(Value)) +' Log("aqui4") +' End If + + Starter.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=Starter.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)) + c2.Position=0 + Log(c2.GetString("CUANTOS")) + If c2.GetString("CUANTOS") > 0 Then + j3 = Starter.skmt.ExecQuery2("SELECT PE_CEDIS, PE_CANT,PE_PROID, PE_PRONOMBRE FROM PEDIDO WHERE PE_CEDIS IN (SELECT PE_CEDIS FROM PEDIDO WHERE PE_PRONOMBRE = ?)",Array As String(Value)) + Log(j3.RowCount) + If j3.RowCount > 0 Then + Log("estoy aqui") + For i = 0 To j3.RowCount -1 + Log("aqui tronare?") + j3.Position = i + Starter.skmt.ExecNonQuery($"update cat_gunaprod set cat_gp_almacen = cat_gp_almacen + ${j3.GetString("PE_CANT")} where cat_gp_id = '${j3.Getstring("PE_PROID")}'"$) + Starter.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(j3.GetString("PE_PRONOMBRE"), c.GetString("PE_FOLIO"))) + Next + End If + j3.Close Else - Starter.skmt.ExecNonQuery2("delete from pedido where pe_pronombre = ? and pe_cliente in (Select CUENTA from cuentaa)", Array As Object(Value)) - Log("aqui4") + Starter.skmt.ExecNonQuery($"update cat_gunaprod set cat_gp_almacen = cat_gp_almacen + ${c.GetString("PE_CANT")} where cat_gp_id = '${c.Getstring("PE_PROID")}'"$) + Starter.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_Subs.bas b/B4A/C_Subs.bas index 7472e7f..18281c4 100644 --- a/B4A/C_Subs.bas +++ b/B4A/C_Subs.bas @@ -527,67 +527,67 @@ Sub traeRuta As String 'ignore End Sub 'Mandamos los pedidos pendientes (pc_envio_ok <> 1). -Sub mandaPendientes 'ignore - Private logger As Boolean = False - 'PEDIDO_CLIENTE (Pendientes) - Private c As Cursor = db.ExecQuery("SELECT PC_CLIENTE, PC_FECHA, PC_USER, PC_NOART, PC_MONTO,PC_LON, PC_LAT, PC_COSTO_SIN, PC_RUTA, PC_ALMACEN, PC_FACTURA FROM PEDIDO_CLIENTE where pc_envio_ok <> 1") - If logger Then Log($"Pedido_Cliente PENDIENTE: ${c.RowCount}"$) - Private almacen As String = traeAlmacen - Private ruta As String = traeRuta - If c.RowCount>0 Then - For i = 0 To c.RowCount - 1 - c.Position = i - Dim cmd As DBCommand - cmd.Initialize - cmd.Name = "DELETE_PEDIDO_MARDS_PC" - cmd.Parameters = Array As Object(almacen, ruta, c.GetString("PC_CLIENTE") ) - reqManager.ExecuteCommand(cmd , "DEL_PC") - - Dim cmd As DBCommand - cmd.Initialize - cmd.Name = "insert_pedidos_MARDS" - If logger Then Log($"${c.GetString("PC_CLIENTE")}, ${almacen}"$) - cmd.Parameters = Array As Object(C.GetString("PC_CLIENTE"), C.GetString("PC_FECHA"), C.GetString("PC_USER"), C.GetString("PC_NOART"), C.GetString("PC_MONTO"), C.GetString("PC_LON"), C.GetString("PC_LAT"), almacen, ruta, C.GetString("PC_COSTO_SIN"), C.GetString("PC_FACTURA")) - reqManager.ExecuteCommand(cmd , $"ins_pedidosPendientes_head_${c.GetString("PC_CLIENTE")}"$) - Next - End If - - 'PEDIDO (Pendientes) - c=Starter.skmt.ExecQuery("SELECT PC_ENVIO_OK, PE_CEDIS, PE_COSTO_TOT, PE_COSTOU, PE_CANT, PE_PRONOMBRE, PE_PROID, PE_CLIENTE, PE_FECHA, PE_USUARIO, PE_COSTO_SIN, PE_RUTA, PE_DESC, PE_FOLIO FROM pedido_cliente left join PEDIDO where pc_cliente = pe_cliente and pc_envio_ok <> 1") - If logger Then Log($"Pedido PENDIENTE: ${c.RowCount}"$) - If c.RowCount>0 Then - For i = 0 To c.RowCount - 1 - c.Position = i - Dim cmd As DBCommand - - cmd.Initialize - cmd.Name = "DELETE_PEDIDO_MARDS_PE" - cmd.Parameters = Array As Object(almacen, ruta,c.GetString("PE_CLIENTE") ) - reqManager.ExecuteCommand(cmd , "DEL_PE") - - cmd.Initialize - cmd.Name = "insert_pedido_MARDS" - cmd.Parameters = Array As Object(c.GetString("PE_CEDIS"), almacen, c.GetString("PE_COSTO_TOT"), c.GetString("PE_COSTOU"), c.GetString("PE_CANT"), c.GetString("PE_PRONOMBRE"), c.GetString("PE_PROID"), c.GetString("PE_CLIENTE"), c.GetString("PE_FECHA"), c.GetString("PE_USUARIO"), c.GetString("PE_RUTA"), C.GetString("PE_COSTO_SIN"), c.GetString("PE_DESC"), c.GetString("PE_FOLIO")) - reqManager.ExecuteCommand(cmd , $"ins_pedidosPendientes_prods_${c.GetString("PE_CLIENTE")}"$) - Next - End If - - 'ABONOS - Dim ab As Cursor = db.ExecQuery($"SELECT * from ABONOS where a_enviado is null"$) - If logger Then Log(ab.RowCount) - If ab.RowCount > 0 Then - For i = 0 To ab.RowCount - 1 - ab.Position = i - Dim cmd As DBCommand - cmd.Initialize - cmd.Name = "insert_abono_MARDS" - cmd.Parameters = Array As Object( ab.GetString("a_usuario"), ab.GetString("a_ruta"), ab.GetString("a_cliente"), ab.GetString("a_abono"), ab.GetString("a_fecha") ) - reqManager.ExecuteCommand(cmd , $"ins_abonosPendientes_${ab.GetString("a_cliente")}"$) - If logger Then Log($"ins_abonosPendientes_${ab.GetString("a_cliente")}"$) - Next - End If - ab.Close -End Sub +'Sub mandaPendientes 'ignore +' Private logger As Boolean = False +' 'PEDIDO_CLIENTE (Pendientes) +' Private c As Cursor = db.ExecQuery("SELECT PC_CLIENTE, PC_FECHA, PC_USER, PC_NOART, PC_MONTO,PC_LON, PC_LAT, PC_COSTO_SIN, PC_RUTA, PC_ALMACEN, PC_FACTURA FROM PEDIDO_CLIENTE where pc_envio_ok <> 1") +' If logger Then Log($"Pedido_Cliente PENDIENTE: ${c.RowCount}"$) +' Private almacen As String = traeAlmacen +' Private ruta As String = traeRuta +' If c.RowCount>0 Then +' For i = 0 To c.RowCount - 1 +' c.Position = i +' Dim cmd As DBCommand +' cmd.Initialize +' cmd.Name = "DELETE_PEDIDO_MARDS_PC" +' cmd.Parameters = Array As Object(almacen, ruta, c.GetString("PC_CLIENTE") ) +' reqManager.ExecuteCommand(cmd , "DEL_PC") +' +' Dim cmd As DBCommand +' cmd.Initialize +' cmd.Name = "insert_pedidos_MARDS" +' If logger Then Log($"${c.GetString("PC_CLIENTE")}, ${almacen}"$) +' cmd.Parameters = Array As Object(C.GetString("PC_CLIENTE"), C.GetString("PC_FECHA"), C.GetString("PC_USER"), C.GetString("PC_NOART"), C.GetString("PC_MONTO"), C.GetString("PC_LON"), C.GetString("PC_LAT"), almacen, ruta, C.GetString("PC_COSTO_SIN"), C.GetString("PC_FACTURA")) +' reqManager.ExecuteCommand(cmd , $"ins_pedidosPendientes_head_${c.GetString("PC_CLIENTE")}"$) +' Next +' End If +' +' 'PEDIDO (Pendientes) +' c=Starter.skmt.ExecQuery("SELECT PC_ENVIO_OK, PE_CEDIS, PE_COSTO_TOT, PE_COSTOU, PE_CANT, PE_PRONOMBRE, PE_PROID, PE_CLIENTE, PE_FECHA, PE_USUARIO, PE_COSTO_SIN, PE_RUTA, PE_DESC, PE_FOLIO FROM pedido_cliente left join PEDIDO where pc_cliente = pe_cliente and pc_envio_ok <> 1") +' If logger Then Log($"Pedido PENDIENTE: ${c.RowCount}"$) +' If c.RowCount>0 Then +' For i = 0 To c.RowCount - 1 +' c.Position = i +' Dim cmd As DBCommand +' +' cmd.Initialize +' cmd.Name = "DELETE_PEDIDO_MARDS_PE" +' cmd.Parameters = Array As Object(almacen, ruta,c.GetString("PE_CLIENTE") ) +' reqManager.ExecuteCommand(cmd , "DEL_PE") +' +' cmd.Initialize +' cmd.Name = "insert_pedido_MARDS" +' cmd.Parameters = Array As Object(c.GetString("PE_CEDIS"), almacen, c.GetString("PE_COSTO_TOT"), c.GetString("PE_COSTOU"), c.GetString("PE_CANT"), c.GetString("PE_PRONOMBRE"), c.GetString("PE_PROID"), c.GetString("PE_CLIENTE"), c.GetString("PE_FECHA"), c.GetString("PE_USUARIO"), c.GetString("PE_RUTA"), C.GetString("PE_COSTO_SIN"), c.GetString("PE_DESC"), c.GetString("PE_FOLIO")) +' reqManager.ExecuteCommand(cmd , $"ins_pedidosPendientes_prods_${c.GetString("PE_CLIENTE")}"$) +' Next +' End If +' +' 'ABONOS +' Dim ab As Cursor = db.ExecQuery($"SELECT * from ABONOS where a_enviado is null"$) +' If logger Then Log(ab.RowCount) +' If ab.RowCount > 0 Then +' For i = 0 To ab.RowCount - 1 +' ab.Position = i +' Dim cmd As DBCommand +' cmd.Initialize +' cmd.Name = "insert_abono_MARDS" +' cmd.Parameters = Array As Object( ab.GetString("a_usuario"), ab.GetString("a_ruta"), ab.GetString("a_cliente"), ab.GetString("a_abono"), ab.GetString("a_fecha") ) +' reqManager.ExecuteCommand(cmd , $"ins_abonosPendientes_${ab.GetString("a_cliente")}"$) +' If logger Then Log($"ins_abonosPendientes_${ab.GetString("a_cliente")}"$) +' Next +' End If +' ab.Close +'End Sub 'Borra el pedido del cliente actual. 'Borra los registros de la tabla "pedido" y "pedido_cliente" diff --git a/B4A/Files/productos.bal b/B4A/Files/productos.bal index 9bd3686a8b8e6c6b23d4da56725fad39061c1af3..07ad2d63ecdbb7734716d1d434e8542c41f52473 100644 GIT binary patch delta 61 zcmdm8zq@{erx0WP2{5%W JPA;