From 6a0e127bc4e40ddfcd793b86a8aaa86ae713c125 Mon Sep 17 00:00:00 2001 From: Javier Date: Fri, 26 Dec 2025 10:46:05 -0600 Subject: [PATCH] v5.12.15 --- B4A/B4XMainPage.bas | 3 + B4A/C_Cliente.bas | 584 ++++++++++++++------- B4A/C_NoVenta.bas | 6 +- B4A/C_Principal.bas | 1026 ++++++++++++++++++++++++++++--------- B4A/C_Productos.bas | 7 +- B4A/C_Productosdev.bas | 514 ++++--------------- B4A/C_RespaldoDiario.bas | 3 +- B4A/Files/cliente.bal | Bin 51982 -> 53114 bytes B4A/Files/cuentamerma.bal | Bin 6587 -> 6721 bytes B4A/Files/noventa.bal | Bin 6877 -> 6893 bytes B4A/Files/principal.bal | Bin 61716 -> 62313 bytes B4A/MAPA_RUTAS.bas | 40 +- B4A/Subs.bas | 13 +- B4A/TG.b4a | 2 +- B4A/TG.b4a.meta | 6 +- 15 files changed, 1345 insertions(+), 859 deletions(-) diff --git a/B4A/B4XMainPage.bas b/B4A/B4XMainPage.bas index 201732e..c32a02b 100644 --- a/B4A/B4XMainPage.bas +++ b/B4A/B4XMainPage.bas @@ -226,6 +226,8 @@ Private Sub B4XPage_Created (Root1 As B4XView) skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS ENV_MONTO_LIQ (EML_MONTO TEXT, EML_ALMACEN TEXT, EML_RUTA TEXT, EML_USUARIO TEXT, EML_FECHA_PED TEXT)") Starter.skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS BITACORAGPS(fechab TEXT, usuariob TEXT, almacenb TEXT, rutab TEXT, eventob TEXT, clienteb TEXT, iniciob TEXT, finb TEXT, latitudb TEXT, longitudb TEXT, precision TEXT, motivonoventa TEXT, motivonovisita TEXT)") Subs.agregaColumna("PEDIDO", "PE_ENVIO_OK", "INT") + Subs.agregaColumna("PICK_CIEGO", "RESTA", "INT") + Subs.agregaColumna("PEDIDO", "CONSECUTIVO", "INT") Subs.agregaColumna("PEDIDO", "PE_FOLIOFAC", "INT") Subs.agregaColumna("PEDIDO", "PE_CANTC", "TEXT") Subs.agregaColumna("PEDIDO", "PE_BCAJAS", "TEXT") @@ -258,6 +260,7 @@ Private Sub B4XPage_Created (Root1 As B4XView) Subs.agregaColumna("CAT_GUNAPROD3", "CAT_DP_PRECIO1", "TEXT") Subs.agregaColumna("CAT_GUNAPROD4", "CAT_DP_PRECIO1", "TEXT") + Subs.agregaColumna("kmt_info", "CAT_CL_TIPO_CLIENTE", "TEXT") Subs.agregaColumna("PEDIDO", "PE_DESCRAGA", "TEXT") Subs.agregaColumna("PEDIDO", "PE_CONFIRMADO", "TEXT") diff --git a/B4A/C_Cliente.bas b/B4A/C_Cliente.bas index 185cf38..5c48244 100644 --- a/B4A/C_Cliente.bas +++ b/B4A/C_Cliente.bas @@ -186,6 +186,10 @@ Sub Class_Globals Private b_inicioFinVenta As Button Dim precision As Int = 0 Dim dentroDeGeocerca As Boolean = False + Private Panel4 As Panel + Private l_especial As Label + Private et_especial As EditText + Private l_tienda As Label End Sub 'You can add more parameters here. @@ -444,6 +448,7 @@ Sub B4XPage_Appear End If ' h = B4XPages.MainPage.skmt.ExecQuery("SELECT CUENTA from CUENTAA") + ' h.Position = 0 ' Log(h.GetString("CUENTA")) ' j = B4XPages.MainPage.skmt.ExecQuery2("SELECT a_abono AS CUANTOS FROM ABONOS WHERE a_cliente = ?", Array As String(h.GetString("CUENTA"))) @@ -461,10 +466,13 @@ Sub B4XPage_Appear p_cbFactura.Visible = False l_factura.Visible = False b_ventaabordo.Visible = False + Button1.Visible = False Else p_cbFactura.Visible = True l_factura.Visible = True b_ventaabordo.Visible = True + b_ventaabordo.Visible = True + Button1.Visible = True End If @@ -563,7 +571,7 @@ Sub B4XPage_Appear B4XPages.MainPage.recarga = "1" Else ' gest.Text = "Pre-Venta a Contado" - gest.Text = "Preventa" + gest.Text = "Pre-Pedido" B4XPages.MainPage.recarga = "0" End If ' LogColor(B4XPages.MainPage.recarga,Colors.Blue) @@ -640,44 +648,38 @@ Sub ListView1_ItemLongClick (Position As Int, Value As Object) End Sub Sub gest_Click +' If la_cuenta.Text = "0" Then +' B4XPages.MainPage.tipo_venta = "ABORDO" +' Else If la_cuenta.Text = "1" Then +' B4XPages.MainPage.tipo_venta = "RECARGA" +' Else +' B4XPages.MainPage.tipo_venta = "PREVENTA_CONTADO" +' End If +' B4XPages.ShowPage("productos") + + Dim horaActual As Int = DateTime.GetHour(DateTime.Now) + If la_cuenta.Text = "0" Then B4XPages.MainPage.tipo_venta = "ABORDO" + B4XPages.ShowPage("productos") + Else If la_cuenta.Text = "1" Then B4XPages.MainPage.tipo_venta = "RECARGA" + B4XPages.ShowPage("productos") + Else - B4XPages.MainPage.tipo_venta = "PREVENTA_CONTADO" - End If - - 'Buscamos en el historial de cuestionarios si el cliente ya tiene cuestionario contestado. -' Private hc As Cursor = Starter.skmt.ExecQuery($"select count(HC_CLIENTE) as cuantos from HIST_CUESTIONARIO where HC_CLIENTE = '${Subs.traeCliente}'"$) -' hc.Position = 0 -' Log($"${cuest.encuestaIniciada} - ${hc.GetString("cuantos")} - ${cuest.clienteConCuestionario(Subs.traeCliente)}"$) -' -' If la_cuenta.Text <> "0" And Not(cuest.encuestaIniciada) And hc.GetString("cuantos") = 0 And Not(cuest.clienteConCuestionario(Subs.traeCliente)) Then -' cuest.agregaPregunta("1", "¿Se puede acceder al negocio o está enrejado?", Array As String("No, está enrejado o no se tiene acceso", "Si se pude acceder")) -' Return False -' End If -' Private x As Cursor = B4XPages.MainPage.skmt.ExecQuery($"select tienda_id from COORDENADAS_GPS where tienda_id = '${la_cuenta.text}'"$) -' Log("+++++++++++++ " & x.RowCount) -' If la_cuenta.Text<> "0" And distance > 50 And x.RowCount = 0 Then -' Private res As String = Msgbox2("¿Estas en la tienda, para guardar la nueva ubicación?", "AVISO", "Si","" ,"No", Null) 'ignore -' If res = DialogResponse.POSITIVE Then -' DateTime.DateFormat = "MM/dd/yyyy" -' sDate=DateTime.Date(DateTime.Now) -' sTime=DateTime.Time(DateTime.Now) -' B4XPages.MainPage.skmt.ExecNonQuery($"insert into COORDENADAS_GPS (tienda_id, ruta, almacen, latitud, longitud, fecha) values ('${la_cuenta.Text}', '${Subs.traeRuta}', '${Subs.traeAlmacen}', '${B4XPages.MainPage.lat_gps}', '${B4XPages.MainPage.lon_gps}', '${sDate} ${sTime}')"$) -' -' Dim cmd As DBCommand -' cmd.Initialize -' cmd.Name = "insert_coords_nuevas_INTMEX" -' cmd.Parameters = Array As Object(la_cuenta.text, Subs.traeRuta, Subs.traeAlmacen, sDate & " " & sTime, B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps, usuario) -'' Log($"${la_cuenta.text}, ${Subs.traeRuta}, ${Subs.traeAlmacen}, ${sDate} ${sTime}, ${m_lat}, ${m_lon}"$) -' reqManager.ExecuteCommand(cmd , "ins_coords_nuevas") + ' Aquí entra la lógica de PREVENTA_CONTADO + ' Verificamos si son las 3 PM (15:00) o más tarde +' If horaActual >= 15 Then +' ' Si usas B4XPages es mejor MsgboxAsync +' xui.MsgboxAsync("Ya no se pueden meter prepedidos después de las 3:00 PM.", "Aviso") +' Else +' ' Si es antes de las 3 PM, funciona normal + B4XPages.MainPage.tipo_venta = "PREVENTA_CONTADO" + B4XPages.ShowPage("productos") ' End If -' End If - 'Si hay mapa de productos es que hay venta en proceso, entonces borramos la actual para meter la nueva. -' If B4XPages.MainPage.productos.prodsMap.IsInitialized And B4XPages.MainPage.productos.prodsMap.Size > 0 Then Subs.borraPedidoClienteActual - B4XPages.ShowPage("productos") + End If + End Sub Private Sub b_venta_credito_Click @@ -731,7 +733,7 @@ Private Sub B4XPage_CloseRequest As ResumableSub End If Else If B4XPages.MainPage.recarga = "1" Then - B4XPages.ShowPage("login") + B4XPages.ShowPage("principal") End If End If @@ -760,6 +762,7 @@ Sub Guardar_Click '----------------------- If c.GetString("CUANTOS_CREDITO") = 0 Then + Log("aQUI") GuardaVenta Else If c.GetString("CUANTOS_CREDITO") > 0 Then Dim fg As Cursor = Starter.skmt.ExecQuery("Select IFNULL(sum(PE_COSTO_TOT),0) AS COSTO, PE_FOLIO FROM PEDIDO WHERE PE_CLIENTE IN (SELECT CUENTA FROM CUENTAA) AND PE_FOLIO = 'PREVENTA_CREDITO'") @@ -883,25 +886,7 @@ Sub Guardar_Click ' GuardaVenta ' End If ' c.Close - b_inicioFinVenta.Text = "TERMINAR VENTA" - If la_cuenta.Text <> "0" Then 'Si es ABORDO, no mostramos el boton b_inicioFinVenta y regresamos a Principal. - b_inicioFinVenta.Visible = True - b_inicioFinVenta.BringToFront - Guardar.SendToBack - Log("InicioFinVenta VISIBLE") - Else - b_inicioFinVenta.Visible = False - Log("InicioFinVenta NO VISIBLE") - Starter.enVenta = False - LogColor(">>>>>> ABORDO: " & Starter.enVenta, Colors.red) - Subs.bitacora(Subs.fechanormal(DateTime.Now), usuario, ALMACEN, Subs.traeRuta(Subs.traeCliente), "Venta Abordo", "0", Subs.fechanormal(DateTime.Now), Subs.fechanormal(DateTime.Now), B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps, precision, "", "") - B4XPages.ShowPageAndRemovePreviousPages("Principal") - End If -' Log((Subs.traeTotalCliente > 0 And b_inicioFinVenta.Text <> "TERMINAR VENTA")) - If Subs.traeTotalCliente > 0 And b_inicioFinVenta.Text <> "TERMINAR VENTA" Then ' Si ya hay venta no aparece el boton - Log("InicioFinVenta NO VISIBLE") - b_inicioFinVenta.Visible = False - End If + End Sub Private Sub b_inicioFinVenta_Click @@ -999,91 +984,165 @@ Sub GuardaVenta Else If pre_act = Starter.pre_viejo Then If banderaimp = 1 Then B_IMP_Click + Log(2) Else + Log(1) GUADAVENTA2 End If End If End Sub Sub GUADAVENTA2 +' b_inicioFinVenta.Text = "TERMINAR VENTA" +' If la_cuenta.Text <> "0" Then 'Si es ABORDO, no mostramos el boton b_inicioFinVenta y regresamos a Principal. +' b_inicioFinVenta.Visible = True +' b_inicioFinVenta.BringToFront +' Guardar.SendToBack +' Log("InicioFinVenta VISIBLE") +' Else +' b_inicioFinVenta.Visible = False +' Log("InicioFinVenta NO VISIBLE") +' Starter.enVenta = False +' LogColor(">>>>>> ABORDO: " & Starter.enVenta, Colors.red) +' Subs.bitacora(Subs.fechanormal(DateTime.Now), usuario, ALMACEN, Subs.traeRuta(Subs.traeCliente), "Venta Abordo", "0", Subs.fechanormal(DateTime.Now), Subs.fechanormal(DateTime.Now), B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps, precision, "", "") +' B4XPages.ShowPageAndRemovePreviousPages("Principal") +' End If +'' Log((Subs.traeTotalCliente > 0 And b_inicioFinVenta.Text <> "TERMINAR VENTA")) +' If Subs.traeTotalCliente > 0 And b_inicioFinVenta.Text <> "TERMINAR VENTA" Then ' Si ya hay venta no aparece el boton +' Log("InicioFinVenta NO VISIBLE") +' b_inicioFinVenta.Visible = False +' End If Log(B4XPages.MainPage.recarga) If B4XPages.MainPage.recarga = "0" Then + Log("AQUI") Dim foliofac2 As Cursor=B4XPages.MainPage.skmt.ExecQuery("SELECT * FROM PEDIDO WHERE PE_CLIENTE IN (SELECT CUENTA FROM CUENTAA) and PE_DESCRAGA = 1 AND PE_FOLIOFAC IS NULL") If foliofac2.RowCount > 0 Then - Dim foliofac As Cursor=B4XPages.MainPage.skmt.ExecQuery("SELECT sum(IFNULL(PE_DESCRAGA,0)) AS PE_DESCRAGA FROM PEDIDO WHERE PE_CLIENTE IN (SELECT CUENTA FROM CUENTAA)") - foliofac.Position = 0 - If foliofac.GetInt("PE_DESCRAGA") = 0 Then - DateTime.DateFormat = "MM/dd/yyyy" - sDate=DateTime.Date(DateTime.Now) - sTime=DateTime.Time(DateTime.Now) - c=B4XPages.MainPage.skmt.ExecQuery("Select CUENTA from cuentaa") - c.Position=0 - clie_id = c.GetString("CUENTA") - c.Close - c=B4XPages.MainPage.skmt.ExecQuery("select USUARIO from usuarioa") - c.Position=0 - usuario = c.GetString("USUARIO") - c.Close - c=B4XPages.MainPage.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 - ' Log("xxxxxxxxxxxxxxx " & c.GetString("CUANTOS")) - If c.GetString("CUANTOS") > 0 Then - Private cbFactura As Int = 0 - If cb_factura.Checked Then cbFactura = 1 - B4XPages.MainPage.skmt.ExecNonQuery("delete from NOVENTA where NV_CLIENTE In (select cuenta from cuentaa)") - B4XPages.MainPage.skmt.ExecNonQuery("delete from pedido_cliente where PC_CLIENTE In (select cuenta from cuentaa)") - B4XPages.MainPage.skmt.ExecNonQuery2("insert into pedido_cliente(PC_CLIENTE, PC_FECHA, PC_USER, PC_NOART, PC_MONTO, PC_LON, PC_LAT, PC_ENVIO_OK, PC_FACTURA) 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, 0, cbFactura)) - B4XPages.MainPage.skmt.ExecNonQuery("UPDATE kmt_info set gestion = 2 where CAT_CL_CODIGO In (select cuenta from cuentaa)") - B4XPages.MainPage.skmt.ExecNonQuery("UPDATE kmt_info2 set gestion = 2 where CAT_CL_CODIGO In (select cuenta from cuentaa)") - End If - c.Close - DateTime.TimeFormat = "HHmmss" - sTime=DateTime.Time(DateTime.Now) - B4XPages.MainPage.skmt.ExecNonQuery2("UPDATE HIST_STAY_STORE set HSS_OUT = ? where HSS_OUT = 0 AND HSS_CODIGO In (select cuenta from cuentaa)", Array As Object(sTime)) - ' B4XPages.MainPage.skmt.ExecNonQuery("UPDATE HIST_STAY_STORE set HSS_TOT = HSS_OUT - HSS_IN where HSS_CODIGO In (select cuenta from cuentaa)") - Try - c=B4XPages.MainPage.skmt.ExecQuery(" Select (substr(HSS_OUT,1,2) - substr(HSS_IN,1,2)) - Case when (substr(HSS_OUT,3,2) - substr(HSS_IN,3,2)) < 0 Then 1 Else 0 end HORAS_TOTALES, " & _ + Log("SI AQUI ") + Dim foliofac As Cursor=B4XPages.MainPage.skmt.ExecQuery("SELECT sum(IFNULL(PE_DESCRAGA,0)) AS PE_DESCRAGA FROM PEDIDO WHERE PE_CLIENTE IN (SELECT CUENTA FROM CUENTAA)") + foliofac.Position = 0 + If foliofac.GetInt("PE_DESCRAGA") = 0 Then + DateTime.DateFormat = "MM/dd/yyyy" + sDate=DateTime.Date(DateTime.Now) + sTime=DateTime.Time(DateTime.Now) + c=B4XPages.MainPage.skmt.ExecQuery("Select CUENTA from cuentaa") + c.Position=0 + clie_id = c.GetString("CUENTA") + c.Close + c=B4XPages.MainPage.skmt.ExecQuery("select USUARIO from usuarioa") + c.Position=0 + usuario = c.GetString("USUARIO") + c.Close + c=B4XPages.MainPage.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 + ' Log("xxxxxxxxxxxxxxx " & c.GetString("CUANTOS")) + If c.GetString("CUANTOS") > 0 Then + Private cbFactura As Int = 0 + If cb_factura.Checked Then cbFactura = 1 + B4XPages.MainPage.skmt.ExecNonQuery("delete from NOVENTA where NV_CLIENTE In (select cuenta from cuentaa)") + B4XPages.MainPage.skmt.ExecNonQuery("delete from pedido_cliente where PC_CLIENTE In (select cuenta from cuentaa)") + B4XPages.MainPage.skmt.ExecNonQuery2("insert into pedido_cliente(PC_CLIENTE, PC_FECHA, PC_USER, PC_NOART, PC_MONTO, PC_LON, PC_LAT, PC_ENVIO_OK, PC_FACTURA) 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, 0, cbFactura)) + B4XPages.MainPage.skmt.ExecNonQuery("UPDATE kmt_info set gestion = 2 where CAT_CL_CODIGO In (select cuenta from cuentaa)") + B4XPages.MainPage.skmt.ExecNonQuery("UPDATE kmt_info2 set gestion = 2 where CAT_CL_CODIGO In (select cuenta from cuentaa)") + End If + c.Close + DateTime.TimeFormat = "HHmmss" + sTime=DateTime.Time(DateTime.Now) + B4XPages.MainPage.skmt.ExecNonQuery2("UPDATE HIST_STAY_STORE set HSS_OUT = ? where HSS_OUT = 0 AND HSS_CODIGO In (select cuenta from cuentaa)", Array As Object(sTime)) + ' B4XPages.MainPage.skmt.ExecNonQuery("UPDATE HIST_STAY_STORE set HSS_TOT = HSS_OUT - HSS_IN where HSS_CODIGO In (select cuenta from cuentaa)") + Try + c=B4XPages.MainPage.skmt.ExecQuery(" Select (substr(HSS_OUT,1,2) - substr(HSS_IN,1,2)) - Case when (substr(HSS_OUT,3,2) - substr(HSS_IN,3,2)) < 0 Then 1 Else 0 end HORAS_TOTALES, " & _ "Case when (substr(HSS_OUT,3,2) - substr(HSS_IN,3,2)) < 0 Then (substr(HSS_OUT,3,2) + 60 - substr(HSS_IN,3,2)) " & _ " Else (substr(HSS_OUT,3,2) - substr(HSS_IN,3,2)) End - Case when (substr(HSS_OUT,5,2) - substr(HSS_IN,5,2)) < 0 Then 1 Else 0 end MINUTOS_TOTALES, " & _ "Case when (substr(HSS_OUT,5,2) - substr(HSS_IN,5,2)) < 0 Then (substr(HSS_OUT,5,2) + 60 - substr(HSS_IN,5,2)) " & _ " Else (substr(HSS_OUT,5,2) - substr(HSS_IN,5,2)) end SEGUNDOS_TOTALES " & _ " from HIST_STAY_STORE where HSS_CODIGO In (Select cuenta from cuentaa) ") - c.Position = 0 - stay_hh = c.GetString("HORAS_TOTALES") * 60 * 60 - stay_mi = c.GetString("MINUTOS_TOTALES") * 60 - stay_ss = c.GetString("SEGUNDOS_TOTALES") - B4XPages.MainPage.skmt.ExecNonQuery2("UPDATE HIST_STAY_STORE set HSS_TOT = ? where HSS_CODIGO In (select cuenta from cuentaa)", Array As Object(stay_hh + stay_mi + stay_ss)) - B4XPages.MainPage.skmt.ExecNonQuery2("UPDATE HIST_STAY_OUT set HSO_FIN = ? ", Array As Object(sTime)) - c.Close - Catch - ToastMessageShow(".",True) - End Try - skmt.ExecNonQuery2("update PEDIDO_INICIO_FINAL set PIF_HORA_FINAL = ? where PIF_CLIENTE = ? and PIF_HORA_FINAL = 0", Array As Object (DateTime.Now, la_cuenta.Text)) - ' LogColor($"actualizamos "${la_cuenta.text}, hora_final=${DateTime.now}"$,Colors.Red) - Subs.actualizaTET(la_cuenta.text) - DateTime.TimeFormat = "HH:mm:ss" + c.Position = 0 + stay_hh = c.GetString("HORAS_TOTALES") * 60 * 60 + stay_mi = c.GetString("MINUTOS_TOTALES") * 60 + stay_ss = c.GetString("SEGUNDOS_TOTALES") + B4XPages.MainPage.skmt.ExecNonQuery2("UPDATE HIST_STAY_STORE set HSS_TOT = ? where HSS_CODIGO In (select cuenta from cuentaa)", Array As Object(stay_hh + stay_mi + stay_ss)) + B4XPages.MainPage.skmt.ExecNonQuery2("UPDATE HIST_STAY_OUT set HSO_FIN = ? ", Array As Object(sTime)) + c.Close + Catch + ToastMessageShow(".",True) + End Try + skmt.ExecNonQuery2("update PEDIDO_INICIO_FINAL set PIF_HORA_FINAL = ? where PIF_CLIENTE = ? and PIF_HORA_FINAL = 0", Array As Object (DateTime.Now, la_cuenta.Text)) + ' LogColor($"actualizamos "${la_cuenta.text}, hora_final=${DateTime.now}"$,Colors.Red) + Subs.actualizaTET(la_cuenta.text) + DateTime.TimeFormat = "HH:mm:ss" ' mandaPendientes 'LO COMENTAMOS PARA PRUEBAS, ACTIVAR AL FINAL!!! - mandapiezas - B4XPages.MainPage.productos.reiniciarlistaProds = True - B4XPages.MainPage.productos.prodsMap.Initialize - B4XPages.MainPage.promos.promosMap.Initialize - Guardar.Enabled = True - gest.Enabled = True - b_cxc.Enabled = True - Tar.Enabled = True - Tels.Enabled = True - b_ventaabordo.Enabled = True - HIST.Enabled = True - banderaimp = 0 - mandaPendientePagare + mandapiezas + B4XPages.MainPage.productos.reiniciarlistaProds = True + B4XPages.MainPage.productos.prodsMap.Initialize + B4XPages.MainPage.promos.promosMap.Initialize + Guardar.Enabled = True + gest.Enabled = True + b_cxc.Enabled = True + Tar.Enabled = True + Tels.Enabled = True + b_ventaabordo.Enabled = True + HIST.Enabled = True + banderaimp = 0 + mandaPendientePagare + + b_inicioFinVenta.Text = "TERMINAR VENTA" + If la_cuenta.Text <> "0" Then 'Si es ABORDO, no mostramos el boton b_inicioFinVenta y regresamos a Principal. + b_inicioFinVenta.Visible = True + b_inicioFinVenta.BringToFront + Guardar.SendToBack + Log("InicioFinVenta VISIBLE") + Else + b_inicioFinVenta.Visible = False + Log("InicioFinVenta NO VISIBLE") + Starter.enVenta = False + LogColor(">>>>>> ABORDO: " & Starter.enVenta, Colors.red) + Subs.bitacora(Subs.fechanormal(DateTime.Now), usuario, ALMACEN, Subs.traeRuta(Subs.traeCliente), "Venta Abordo", "0", Subs.fechanormal(DateTime.Now), Subs.fechanormal(DateTime.Now), B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps, precision, "", "") + B4XPages.ShowPageAndRemovePreviousPages("Principal") + End If + ' Log((Subs.traeTotalCliente > 0 And b_inicioFinVenta.Text <> "TERMINAR VENTA")) + If Subs.traeTotalCliente > 0 And b_inicioFinVenta.Text <> "TERMINAR VENTA" Then ' Si ya hay venta no aparece el boton + Log("InicioFinVenta NO VISIBLE") + b_inicioFinVenta.Visible = False + End If + + Log("AQUI") ' B4XPages.ShowPage("Principal") 'Lo hace Boton inicioFinVenta - Else - p_folio.Visible = True - p_folio.Width = Root.Width - p_folio.Height = Root.Height + Else + l_especial.Visible = False + Panel4.Visible = False + If Subs.traetIPOCliente2 = 0 Then + p_folio.Visible = True + p_folio.Width = Root.Width + p_folio.Height = Root.Height + l_especial.Visible = False + Panel4.Visible = False + ELSE If Subs.traetIPOCliente2 = 2 Then + p_folio.Visible = True + p_folio.Width = Root.Width + p_folio.Height = Root.Height + + Dim tortilla As Cursor=B4XPages.MainPage.skmt.ExecQuery("SELECT * FROM PEDIDO WHERE PE_CLIENTE IN (SELECT CUENTA FROM CUENTAA) and PE_DESCRAGA = 1 AND PE_FOLIOFAC IS NULL and PE_PROID IN ('PV199')") + If tortilla.RowCount > 0 Then + l_especial.Visible = True + Panel4.Visible = True + l_especial.Text = "Folio tortilla" + End If + ELSE If Subs.traetIPOCliente2 = 1 Then + p_folio.Visible = True + p_folio.Width = Root.Width + p_folio.Height = Root.Height + + Dim totopo As Cursor=B4XPages.MainPage.skmt.ExecQuery("SELECT * FROM PEDIDO WHERE PE_CLIENTE IN (SELECT CUENTA FROM CUENTAA) and PE_DESCRAGA = 1 AND PE_FOLIOFAC IS NULL and PE_PROID IN ('PV10')") + If totopo.RowCount > 0 Then + l_especial.Visible = True + Panel4.Visible = True + l_especial.Text = "Folio totopo" + End If + End If End If Else + Log("SI AQUI ") DateTime.DateFormat = "MM/dd/yyyy" sDate=DateTime.Date(DateTime.Now) sTime=DateTime.Time(DateTime.Now) @@ -1149,6 +1208,26 @@ Sub GUADAVENTA2 HIST.Enabled = True banderaimp = 0 mandaPendientePagare + b_inicioFinVenta.Text = "TERMINAR VENTA" + If la_cuenta.Text <> "0" Then 'Si es ABORDO, no mostramos el boton b_inicioFinVenta y regresamos a Principal. + b_inicioFinVenta.Visible = True + b_inicioFinVenta.BringToFront + Guardar.SendToBack + Log("InicioFinVenta VISIBLE") + Else + b_inicioFinVenta.Visible = False + Log("InicioFinVenta NO VISIBLE") + Starter.enVenta = False + LogColor(">>>>>> ABORDO: " & Starter.enVenta, Colors.red) + Subs.bitacora(Subs.fechanormal(DateTime.Now), usuario, ALMACEN, Subs.traeRuta(Subs.traeCliente), "Venta Abordo", "0", Subs.fechanormal(DateTime.Now), Subs.fechanormal(DateTime.Now), B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps, precision, "", "") + B4XPages.ShowPageAndRemovePreviousPages("Principal") + End If + ' Log((Subs.traeTotalCliente > 0 And b_inicioFinVenta.Text <> "TERMINAR VENTA")) + If Subs.traeTotalCliente > 0 And b_inicioFinVenta.Text <> "TERMINAR VENTA" Then ' Si ya hay venta no aparece el boton + Log("InicioFinVenta NO VISIBLE") + b_inicioFinVenta.Visible = False + End If + ' B4XPages.ShowPage("Principal") 'Lo hace Boton inicioFinVenta End If Else If B4XPages.MainPage.recarga = "1" Then @@ -1209,7 +1288,7 @@ Sub GUADAVENTA2 B4XPages.MainPage.productos.reiniciarlistaProds = True B4XPages.MainPage.productos.prodsMap.Initialize B4XPages.MainPage.promos.promosMap.Initialize - B4XPages.ShowPage("login") + B4XPages.ShowPage("principal") B4XPages.MainPage.recarga = "0" End If End Sub @@ -2376,8 +2455,9 @@ Sub mandaPendientesrecarga c.Position=i Dim cmd As DBCommand cmd.Initialize - cmd.Name = "insert_pedido3_TGUERRERAS" - 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"),"0",C.GetString("PE_FECHA"),C.GetString("PE_USUARIO"),C.GetString("PE_RUTA"), C.GetString("PE_COSTO_SIN"),C.GetString("PE_DESC"),"ABORDO",C.GetString("PE_CANTC"),c.GetString("PE_BCAJAS"),"RECARGA") + cmd.Name = "insert_pedido4_TGUERRERAS" + cmd.Parameters = Array As Object(c.GetString("PE_CEDIS"),"RECARGA",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"),Subs.traeRuta2(c.GetString("PE_CLIENTE")), c.GetString("PE_COSTO_SIN"),c.GetString("PE_DESC"),"ABORDO") +' 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"),"0",C.GetString("PE_FECHA"),C.GetString("PE_USUARIO"),C.GetString("PE_RUTA"), C.GetString("PE_COSTO_SIN"),C.GetString("PE_DESC"),"ABORDO",C.GetString("PE_CANTC"),c.GetString("PE_BCAJAS"),"RECARGA") reqManager.ExecuteCommand(cmd , $"ins_pedidosPendientes_prods_${c.GetString("PE_CLIENTE")}_${c.GetString("PE_PROID")}"$) Log($">>>> INS_PEDIDO= ${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")}, ${PCNoArts}, ${PCMonto}"$) ' sql.insert_pedido_INTMEX=INSERT INTO INTMEX.PEDIDO (PE_CODPROMO,PE_FECHA_SINC,PE_IDALMACEN,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO,PE_RUTA,PE_COSTO_SIN, PE_DESCUENTO, PE_TIPO) VALUES ((?),SYSDATE,(?),(?),(?),(?),(?),(?),(?),(?),(?),(?),(?),nvl((?),0),(?)) @@ -3172,85 +3252,219 @@ Private Sub c_cancelfolio_Click End Sub Private Sub c_acep_folio_Click - If et_folio.Text <> "" Then - If et_folio.Text.Length >= 4 And et_folio.Text.Length <= 15 Then + If Panel4.Visible = False Then + + If et_folio.Text <> "" Then + If et_folio.Text.Length >= 4 And et_folio.Text.Length <= 15 Then - B4XPages.MainPage.skmt.ExecNonQuery($"UPDATE pedido SET PE_FOLIOFAC = '${et_folio.Text}' WHERE PE_CLIENTE In (select cuenta from cuentaa) AND PE_DESCRAGA = '1'"$) - et_folio.Text = "" - p_folio.Visible = False - DateTime.DateFormat = "MM/dd/yyyy" - sDate=DateTime.Date(DateTime.Now) - sTime=DateTime.Time(DateTime.Now) - c=B4XPages.MainPage.skmt.ExecQuery("Select CUENTA from cuentaa") - c.Position=0 - clie_id = c.GetString("CUENTA") - c.Close - c=B4XPages.MainPage.skmt.ExecQuery("select USUARIO from usuarioa") - c.Position=0 - usuario = c.GetString("USUARIO") - c.Close - c=B4XPages.MainPage.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 - ' Log("xxxxxxxxxxxxxxx " & c.GetString("CUANTOS")) - If c.GetString("CUANTOS") > 0 Then - Private cbFactura As Int = 0 - If cb_factura.Checked Then cbFactura = 1 - B4XPages.MainPage.skmt.ExecNonQuery("delete from NOVENTA where NV_CLIENTE In (select cuenta from cuentaa)") - B4XPages.MainPage.skmt.ExecNonQuery("delete from pedido_cliente where PC_CLIENTE In (select cuenta from cuentaa)") - B4XPages.MainPage.skmt.ExecNonQuery2("insert into pedido_cliente(PC_CLIENTE, PC_FECHA, PC_USER, PC_NOART, PC_MONTO, PC_LON, PC_LAT, PC_ENVIO_OK, PC_FACTURA) 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, 0, cbFactura)) - B4XPages.MainPage.skmt.ExecNonQuery("UPDATE kmt_info set gestion = 2 where CAT_CL_CODIGO In (select cuenta from cuentaa)") - B4XPages.MainPage.skmt.ExecNonQuery("UPDATE kmt_info2 set gestion = 2 where CAT_CL_CODIGO In (select cuenta from cuentaa)") - End If - c.Close - DateTime.TimeFormat = "HHmmss" - sTime=DateTime.Time(DateTime.Now) - B4XPages.MainPage.skmt.ExecNonQuery2("UPDATE HIST_STAY_STORE set HSS_OUT = ? where HSS_OUT = 0 AND HSS_CODIGO In (select cuenta from cuentaa)", Array As Object(sTime)) - ' B4XPages.MainPage.skmt.ExecNonQuery("UPDATE HIST_STAY_STORE set HSS_TOT = HSS_OUT - HSS_IN where HSS_CODIGO In (select cuenta from cuentaa)") - Try - c=B4XPages.MainPage.skmt.ExecQuery(" Select (substr(HSS_OUT,1,2) - substr(HSS_IN,1,2)) - Case when (substr(HSS_OUT,3,2) - substr(HSS_IN,3,2)) < 0 Then 1 Else 0 end HORAS_TOTALES, " & _ + B4XPages.MainPage.skmt.ExecNonQuery($"UPDATE pedido SET PE_FOLIOFAC = '${et_folio.Text}' WHERE PE_CLIENTE In (select cuenta from cuentaa) AND PE_DESCRAGA = '1'"$) + et_folio.Text = "" + p_folio.Visible = False + DateTime.DateFormat = "MM/dd/yyyy" + sDate=DateTime.Date(DateTime.Now) + sTime=DateTime.Time(DateTime.Now) + c=B4XPages.MainPage.skmt.ExecQuery("Select CUENTA from cuentaa") + c.Position=0 + clie_id = c.GetString("CUENTA") + c.Close + c=B4XPages.MainPage.skmt.ExecQuery("select USUARIO from usuarioa") + c.Position=0 + usuario = c.GetString("USUARIO") + c.Close + c=B4XPages.MainPage.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 + ' Log("xxxxxxxxxxxxxxx " & c.GetString("CUANTOS")) + If c.GetString("CUANTOS") > 0 Then + Private cbFactura As Int = 0 + If cb_factura.Checked Then cbFactura = 1 + B4XPages.MainPage.skmt.ExecNonQuery("delete from NOVENTA where NV_CLIENTE In (select cuenta from cuentaa)") + B4XPages.MainPage.skmt.ExecNonQuery("delete from pedido_cliente where PC_CLIENTE In (select cuenta from cuentaa)") + B4XPages.MainPage.skmt.ExecNonQuery2("insert into pedido_cliente(PC_CLIENTE, PC_FECHA, PC_USER, PC_NOART, PC_MONTO, PC_LON, PC_LAT, PC_ENVIO_OK, PC_FACTURA) 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, 0, cbFactura)) + B4XPages.MainPage.skmt.ExecNonQuery("UPDATE kmt_info set gestion = 2 where CAT_CL_CODIGO In (select cuenta from cuentaa)") + B4XPages.MainPage.skmt.ExecNonQuery("UPDATE kmt_info2 set gestion = 2 where CAT_CL_CODIGO In (select cuenta from cuentaa)") + End If + c.Close + DateTime.TimeFormat = "HHmmss" + sTime=DateTime.Time(DateTime.Now) + B4XPages.MainPage.skmt.ExecNonQuery2("UPDATE HIST_STAY_STORE set HSS_OUT = ? where HSS_OUT = 0 AND HSS_CODIGO In (select cuenta from cuentaa)", Array As Object(sTime)) + ' B4XPages.MainPage.skmt.ExecNonQuery("UPDATE HIST_STAY_STORE set HSS_TOT = HSS_OUT - HSS_IN where HSS_CODIGO In (select cuenta from cuentaa)") + Try + c=B4XPages.MainPage.skmt.ExecQuery(" Select (substr(HSS_OUT,1,2) - substr(HSS_IN,1,2)) - Case when (substr(HSS_OUT,3,2) - substr(HSS_IN,3,2)) < 0 Then 1 Else 0 end HORAS_TOTALES, " & _ "Case when (substr(HSS_OUT,3,2) - substr(HSS_IN,3,2)) < 0 Then (substr(HSS_OUT,3,2) + 60 - substr(HSS_IN,3,2)) " & _ " Else (substr(HSS_OUT,3,2) - substr(HSS_IN,3,2)) End - Case when (substr(HSS_OUT,5,2) - substr(HSS_IN,5,2)) < 0 Then 1 Else 0 end MINUTOS_TOTALES, " & _ "Case when (substr(HSS_OUT,5,2) - substr(HSS_IN,5,2)) < 0 Then (substr(HSS_OUT,5,2) + 60 - substr(HSS_IN,5,2)) " & _ " Else (substr(HSS_OUT,5,2) - substr(HSS_IN,5,2)) end SEGUNDOS_TOTALES " & _ " from HIST_STAY_STORE where HSS_CODIGO In (Select cuenta from cuentaa) ") - c.Position = 0 - stay_hh = c.GetString("HORAS_TOTALES") * 60 * 60 - stay_mi = c.GetString("MINUTOS_TOTALES") * 60 - stay_ss = c.GetString("SEGUNDOS_TOTALES") - B4XPages.MainPage.skmt.ExecNonQuery2("UPDATE HIST_STAY_STORE set HSS_TOT = ? where HSS_CODIGO In (select cuenta from cuentaa)", Array As Object(stay_hh + stay_mi + stay_ss)) - B4XPages.MainPage.skmt.ExecNonQuery2("UPDATE HIST_STAY_OUT set HSO_FIN = ? ", Array As Object(sTime)) - c.Close - Catch - ToastMessageShow(".",True) - End Try + c.Position = 0 + stay_hh = c.GetString("HORAS_TOTALES") * 60 * 60 + stay_mi = c.GetString("MINUTOS_TOTALES") * 60 + stay_ss = c.GetString("SEGUNDOS_TOTALES") + B4XPages.MainPage.skmt.ExecNonQuery2("UPDATE HIST_STAY_STORE set HSS_TOT = ? where HSS_CODIGO In (select cuenta from cuentaa)", Array As Object(stay_hh + stay_mi + stay_ss)) + B4XPages.MainPage.skmt.ExecNonQuery2("UPDATE HIST_STAY_OUT set HSO_FIN = ? ", Array As Object(sTime)) + c.Close + Catch + ToastMessageShow(".",True) + End Try - skmt.ExecNonQuery2("update PEDIDO_INICIO_FINAL set PIF_HORA_FINAL = ? where PIF_CLIENTE = ? and PIF_HORA_FINAL = 0", Array As Object (DateTime.Now, la_cuenta.Text)) - ' LogColor($"actualizamos "${la_cuenta.text}, hora_final=${DateTime.now}"$,Colors.Red) - Subs.actualizaTET(la_cuenta.text) - DateTime.TimeFormat = "HH:mm:ss" + skmt.ExecNonQuery2("update PEDIDO_INICIO_FINAL set PIF_HORA_FINAL = ? where PIF_CLIENTE = ? and PIF_HORA_FINAL = 0", Array As Object (DateTime.Now, la_cuenta.Text)) + ' LogColor($"actualizamos "${la_cuenta.text}, hora_final=${DateTime.now}"$,Colors.Red) + Subs.actualizaTET(la_cuenta.text) + DateTime.TimeFormat = "HH:mm:ss" ' mandaPendientes 'LO COMENTAMOS PARA PRUEBAS, ACTIVAR AL FINAL!!! - mandapiezas - B4XPages.MainPage.productos.reiniciarlistaProds = True - B4XPages.MainPage.productos.prodsMap.Initialize - B4XPages.MainPage.promos.promosMap.Initialize - Guardar.Enabled = True - gest.Enabled = True - b_cxc.Enabled = True - Tar.Enabled = True - Tels.Enabled = True - b_ventaabordo.Enabled = True - HIST.Enabled = True - banderaimp = 0 - mandaPendientePagare - B4XPages.ShowPage("Principal") + mandapiezas + B4XPages.MainPage.productos.reiniciarlistaProds = True + B4XPages.MainPage.productos.prodsMap.Initialize + B4XPages.MainPage.promos.promosMap.Initialize + Guardar.Enabled = True + gest.Enabled = True + b_cxc.Enabled = True + Tar.Enabled = True + Tels.Enabled = True + b_ventaabordo.Enabled = True + HIST.Enabled = True + banderaimp = 0 + mandaPendientePagare + + b_inicioFinVenta.Text = "TERMINAR VENTA" + If la_cuenta.Text <> "0" Then 'Si es ABORDO, no mostramos el boton b_inicioFinVenta y regresamos a Principal. + b_inicioFinVenta.Visible = True + b_inicioFinVenta.BringToFront + Guardar.SendToBack + Log("InicioFinVenta VISIBLE") + Else + b_inicioFinVenta.Visible = False + Log("InicioFinVenta NO VISIBLE") + Starter.enVenta = False + LogColor(">>>>>> ABORDO: " & Starter.enVenta, Colors.red) + Subs.bitacora(Subs.fechanormal(DateTime.Now), usuario, ALMACEN, Subs.traeRuta(Subs.traeCliente), "Venta Abordo", "0", Subs.fechanormal(DateTime.Now), Subs.fechanormal(DateTime.Now), B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps, precision, "", "") + B4XPages.ShowPageAndRemovePreviousPages("Principal") + End If +' Log((Subs.traeTotalCliente > 0 And b_inicioFinVenta.Text <> "TERMINAR VENTA")) + If Subs.traeTotalCliente > 0 And b_inicioFinVenta.Text <> "TERMINAR VENTA" Then ' Si ya hay venta no aparece el boton + Log("InicioFinVenta NO VISIBLE") + b_inicioFinVenta.Visible = False + End If +' B4XPages.ShowPage("Principal") + Else + MsgboxAsync("Captura un folio valido.","Atención") + Log("AQUI") + End If Else MsgboxAsync("Captura un folio valido.","Atención") + Log("AQUI") + End If + + Else If Panel4.Visible Then + If et_folio.Text <> "" And et_especial.Text <> "" Then + If (et_folio.Text.Length >= 4 And et_folio.Text.Length <= 15) And (et_especial.Text.Length >= 4 And et_especial.Text.Length <= 15) Then + + B4XPages.MainPage.skmt.ExecNonQuery($"UPDATE pedido SET PE_FOLIOFAC = '${et_folio.Text}' WHERE PE_CLIENTE In (select cuenta from cuentaa) AND PE_DESCRAGA = '1'"$) + If Subs.traetIPOCliente2 = 1 Then + B4XPages.MainPage.skmt.ExecNonQuery($"UPDATE pedido SET PE_FOLIOFAC = '${et_folio.Text}' WHERE PE_CLIENTE In (select cuenta from cuentaa) AND PE_DESCRAGA = '1' and PE_PROID = 'PV10'"$) + Else If Subs.traetIPOCliente2 = 2 Then + B4XPages.MainPage.skmt.ExecNonQuery($"UPDATE pedido SET PE_FOLIOFAC = '${et_folio.Text}' WHERE PE_CLIENTE In (select cuenta from cuentaa) AND PE_DESCRAGA = '1' and PE_PROID = 'PV199'"$) + End If + et_folio.Text = "" + p_folio.Visible = False + DateTime.DateFormat = "MM/dd/yyyy" + sDate=DateTime.Date(DateTime.Now) + sTime=DateTime.Time(DateTime.Now) + c=B4XPages.MainPage.skmt.ExecQuery("Select CUENTA from cuentaa") + c.Position=0 + clie_id = c.GetString("CUENTA") + c.Close + c=B4XPages.MainPage.skmt.ExecQuery("select USUARIO from usuarioa") + c.Position=0 + usuario = c.GetString("USUARIO") + c.Close + c=B4XPages.MainPage.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 + ' Log("xxxxxxxxxxxxxxx " & c.GetString("CUANTOS")) + If c.GetString("CUANTOS") > 0 Then + Private cbFactura As Int = 0 + If cb_factura.Checked Then cbFactura = 1 + B4XPages.MainPage.skmt.ExecNonQuery("delete from NOVENTA where NV_CLIENTE In (select cuenta from cuentaa)") + B4XPages.MainPage.skmt.ExecNonQuery("delete from pedido_cliente where PC_CLIENTE In (select cuenta from cuentaa)") + B4XPages.MainPage.skmt.ExecNonQuery2("insert into pedido_cliente(PC_CLIENTE, PC_FECHA, PC_USER, PC_NOART, PC_MONTO, PC_LON, PC_LAT, PC_ENVIO_OK, PC_FACTURA) 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, 0, cbFactura)) + B4XPages.MainPage.skmt.ExecNonQuery("UPDATE kmt_info set gestion = 2 where CAT_CL_CODIGO In (select cuenta from cuentaa)") + B4XPages.MainPage.skmt.ExecNonQuery("UPDATE kmt_info2 set gestion = 2 where CAT_CL_CODIGO In (select cuenta from cuentaa)") + End If + c.Close + DateTime.TimeFormat = "HHmmss" + sTime=DateTime.Time(DateTime.Now) + B4XPages.MainPage.skmt.ExecNonQuery2("UPDATE HIST_STAY_STORE set HSS_OUT = ? where HSS_OUT = 0 AND HSS_CODIGO In (select cuenta from cuentaa)", Array As Object(sTime)) + ' B4XPages.MainPage.skmt.ExecNonQuery("UPDATE HIST_STAY_STORE set HSS_TOT = HSS_OUT - HSS_IN where HSS_CODIGO In (select cuenta from cuentaa)") + Try + c=B4XPages.MainPage.skmt.ExecQuery(" Select (substr(HSS_OUT,1,2) - substr(HSS_IN,1,2)) - Case when (substr(HSS_OUT,3,2) - substr(HSS_IN,3,2)) < 0 Then 1 Else 0 end HORAS_TOTALES, " & _ + "Case when (substr(HSS_OUT,3,2) - substr(HSS_IN,3,2)) < 0 Then (substr(HSS_OUT,3,2) + 60 - substr(HSS_IN,3,2)) " & _ + " Else (substr(HSS_OUT,3,2) - substr(HSS_IN,3,2)) End - Case when (substr(HSS_OUT,5,2) - substr(HSS_IN,5,2)) < 0 Then 1 Else 0 end MINUTOS_TOTALES, " & _ + "Case when (substr(HSS_OUT,5,2) - substr(HSS_IN,5,2)) < 0 Then (substr(HSS_OUT,5,2) + 60 - substr(HSS_IN,5,2)) " & _ + " Else (substr(HSS_OUT,5,2) - substr(HSS_IN,5,2)) end SEGUNDOS_TOTALES " & _ + " from HIST_STAY_STORE where HSS_CODIGO In (Select cuenta from cuentaa) ") + c.Position = 0 + stay_hh = c.GetString("HORAS_TOTALES") * 60 * 60 + stay_mi = c.GetString("MINUTOS_TOTALES") * 60 + stay_ss = c.GetString("SEGUNDOS_TOTALES") + B4XPages.MainPage.skmt.ExecNonQuery2("UPDATE HIST_STAY_STORE set HSS_TOT = ? where HSS_CODIGO In (select cuenta from cuentaa)", Array As Object(stay_hh + stay_mi + stay_ss)) + B4XPages.MainPage.skmt.ExecNonQuery2("UPDATE HIST_STAY_OUT set HSO_FIN = ? ", Array As Object(sTime)) + c.Close + Catch + ToastMessageShow(".",True) + End Try + + skmt.ExecNonQuery2("update PEDIDO_INICIO_FINAL set PIF_HORA_FINAL = ? where PIF_CLIENTE = ? and PIF_HORA_FINAL = 0", Array As Object (DateTime.Now, la_cuenta.Text)) + ' LogColor($"actualizamos "${la_cuenta.text}, hora_final=${DateTime.now}"$,Colors.Red) + Subs.actualizaTET(la_cuenta.text) + DateTime.TimeFormat = "HH:mm:ss" + +' mandaPendientes 'LO COMENTAMOS PARA PRUEBAS, ACTIVAR AL FINAL!!! + mandapiezas + B4XPages.MainPage.productos.reiniciarlistaProds = True + B4XPages.MainPage.productos.prodsMap.Initialize + B4XPages.MainPage.promos.promosMap.Initialize + Guardar.Enabled = True + gest.Enabled = True + b_cxc.Enabled = True + Tar.Enabled = True + Tels.Enabled = True + b_ventaabordo.Enabled = True + HIST.Enabled = True + banderaimp = 0 + mandaPendientePagare + + b_inicioFinVenta.Text = "TERMINAR VENTA" + If la_cuenta.Text <> "0" Then 'Si es ABORDO, no mostramos el boton b_inicioFinVenta y regresamos a Principal. + b_inicioFinVenta.Visible = True + b_inicioFinVenta.BringToFront + Guardar.SendToBack + Log("InicioFinVenta VISIBLE") + Else + b_inicioFinVenta.Visible = False + Log("InicioFinVenta NO VISIBLE") + Starter.enVenta = False + LogColor(">>>>>> ABORDO: " & Starter.enVenta, Colors.red) + Subs.bitacora(Subs.fechanormal(DateTime.Now), usuario, ALMACEN, Subs.traeRuta(Subs.traeCliente), "Venta Abordo", "0", Subs.fechanormal(DateTime.Now), Subs.fechanormal(DateTime.Now), B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps, precision, "", "") + B4XPages.ShowPageAndRemovePreviousPages("Principal") + End If +' Log((Subs.traeTotalCliente > 0 And b_inicioFinVenta.Text <> "TERMINAR VENTA")) + If Subs.traeTotalCliente > 0 And b_inicioFinVenta.Text <> "TERMINAR VENTA" Then ' Si ya hay venta no aparece el boton + Log("InicioFinVenta NO VISIBLE") + b_inicioFinVenta.Visible = False + End If +' B4XPages.ShowPage("Principal") + Else + MsgboxAsync("Captura un folio valido.","Atención") + Log("AQUI") + End If + Else + MsgboxAsync("Captura un folio valido.","Atención") + Log("AQUI") End If - Else - MsgboxAsync("Captura un folio valido.","Atención") End If + + End Sub Private Sub p_folio_Click diff --git a/B4A/C_NoVenta.bas b/B4A/C_NoVenta.bas index 3fe6c6a..a939236 100644 --- a/B4A/C_NoVenta.bas +++ b/B4A/C_NoVenta.bas @@ -77,11 +77,11 @@ Sub CANCELA_Click End Sub Sub GUARDA_Click If r_1.Checked Then - motivo = "CERRADO" + motivo = "Sucursal en inventario" Else If r_2.Checked Then - motivo = "NO COMPRA" + motivo = "Fuera de horario" Else If r_3.Checked Then - motivo = "CON PRODUCTO" + motivo = "Con Producto" Else motivo = "NO ESTA EL ENCARGADO" End If diff --git a/B4A/C_Principal.bas b/B4A/C_Principal.bas index d83f9fa..041c067 100644 --- a/B4A/C_Principal.bas +++ b/B4A/C_Principal.bas @@ -52,6 +52,7 @@ Sub Class_Globals Dim l_porvisitar As Label Dim b_mapa As Button Dim l_ruta As Label + Dim etCantHasFocus As Boolean = False Dim ALMACEN As String Private img2 As ImageView Dim Listo1 As String @@ -254,6 +255,8 @@ Sub Class_Globals Private et_merma As EditText Private CheckBox1 As CheckBox Private b_terpc As Button + Private et_cobro As EditText + Private b_recarga As Button End Sub 'You can add more parameters here. @@ -622,9 +625,11 @@ Sub B4XPage_Appear If l_ruta.Text = "0" Then p_abordo.Visible = False b_productos.Visible = False + b_recarga.Visible = False Else - p_abordo.Visible = True + p_abordo.Visible = False b_productos.Visible = True + b_recarga.Visible = True End If ' d = B4XPages.MainPage.skmt.ExecQuery("SELECT CAT_GP_ID, CAT_GP_NOMBRE FROM CAT_GUNAPROD2") @@ -677,6 +682,59 @@ Sub B4XPage_Appear Next End If + If P_CIEGO.visible Then + Starter.skmt.ExecNonQuery("delete from CUENTAA") + Starter.skmt.ExecNonQuery2("INSERT INTO CUENTAA VALUES (?)", Array As Object("63403")) + + Subs.panelVisible(P_CIEGO,0,0) + P_CIEGO.Width = Root.Width + P_CIEGO.Height = Root.Height + CLV_PICK_CIEGO.Clear + Private abor As Cursor = Starter.skmt.ExecQuery($"SELECT CAT_GP_ALMACEN, CAT_GP_NOMBRE, CAT_GP_ID, ifnull(PC_CANT,0) AS PC_CAN FROM CAT_GUNAPROD2 INNER JOIN PICK_CIEGO ON PC_ID_PROD = CAT_GP_ID WHERE CAT_GP_ALMACEN > 0 GROUP BY CAT_GP_ID order by CAT_GP_NOMBRE asc "$) + If abor.RowCount > 0 Then + + For fgfg = 0 To abor.RowCount - 1 + abor.Position = fgfg + Dim mermacobro As Cursor = Starter.skmt.ExecQuery2("SELECT * FROM PEDIDO where PE_PROID = ? AND PE_FOLIO = 'MERMA_COBRO' ", Array As String (abor.GetString("CAT_GP_ID"))) + Dim memcobro As Int = 0 + If mermacobro.RowCount > 0 Then + mermacobro.Position = 0 + memcobro = mermacobro.GetInt("PE_CANT") + End If + + Dim merma As Cursor = Starter.skmt.ExecQuery2("SELECT * FROM PEDIDO where PE_PROID = ? AND PE_FOLIO = 'MERMA' ", Array As String (abor.GetString("CAT_GP_ID"))) + Dim mem As Int = 0 + If merma.RowCount > 0 Then + merma.Position = 0 + mem = merma.GetInt("PE_CANT") + End If + + CLV_PICK_CIEGO.Add(CreateListItem(abor.GetString("CAT_GP_ID"),abor.GetString("CAT_GP_NOMBRE"), abor.GetString("PC_CAN"), abor.GetString("CAT_GP_ALMACEN"), (mem + memcobro), memcobro),fgfg) + + Next + + + Private abor3 As Cursor = Starter.skmt.ExecQuery($"SELECT CAT_GP_ALMACEN, CAT_GP_NOMBRE, CAT_GP_ID FROM CAT_GUNAPROD2 WHERE CAT_GP_ALMACEN > 0 AND CAT_GP_ID NOT IN (SELECT PC_ID_PROD FROM PICK_CIEGO) GROUP BY CAT_GP_ID order by CAT_GP_NOMBRE asc "$) + + For tyty = 0 To abor3.RowCount - 1 + abor3.Position = tyty + CLV_PICK_CIEGO.Add(CreateListItem2(abor3.GetString("CAT_GP_ID"), abor3.GetString("CAT_GP_NOMBRE"), abor3.GetString("CAT_GP_ALMACEN")),tyty) + Next + + + + Else If abor.RowCount = 0 Then + + Private abor2 As Cursor = Starter.skmt.ExecQuery($"SELECT CAT_GP_ALMACEN, CAT_GP_NOMBRE, CAT_GP_ID FROM CAT_GUNAPROD2 WHERE CAT_GP_ALMACEN > 0 GROUP BY CAT_GP_ID order by CAT_GP_NOMBRE asc "$) + + For tyty = 0 To abor2.RowCount - 1 + abor2.Position = tyty + CLV_PICK_CIEGO.Add(CreateListItem2(abor2.GetString("CAT_GP_ID"), abor2.GetString("CAT_GP_NOMBRE"), abor2.GetString("CAT_GP_ALMACEN")),tyty) + Next + + End If + End If + Starter.skmt.ExecNonQuery($"UPDATE CAT_GUNAPROD SET CAT_GP_ALMACEN = 1000 WHERE CAT_DP_EXISTENCIA = '1'"$) Starter.skmt.ExecNonQuery($"UPDATE CAT_GUNAPROD4 SET CAT_GP_ALMACEN = 1000 WHERE CAT_DP_EXISTENCIA = '1'"$) checaPedido @@ -736,13 +794,26 @@ Sub Subir_Click For fgfg = 0 To abor.RowCount - 1 abor.Position = fgfg + Dim mermacobro As Cursor = Starter.skmt.ExecQuery2("SELECT * FROM PEDIDO where PE_PROID = ? AND PE_FOLIO = 'MERMA_COBRO' ", Array As String (abor.GetString("CAT_GP_ID"))) + Dim memcobro As Int = 0 + If mermacobro.RowCount > 0 Then + mermacobro.Position = 0 + memcobro = mermacobro.GetInt("PE_CANT") + End If - CLV_PICK_CIEGO.Add(CreateListItem(abor.GetString("CAT_GP_ID"),abor.GetString("CAT_GP_NOMBRE"), abor.GetString("PC_CAN"), abor.GetString("CAT_GP_ALMACEN")),fgfg) + Dim merma As Cursor = Starter.skmt.ExecQuery2("SELECT * FROM PEDIDO where PE_PROID = ? AND PE_FOLIO = 'MERMA' ", Array As String (abor.GetString("CAT_GP_ID"))) + Dim mem As Int = 0 + If merma.RowCount > 0 Then + merma.Position = 0 + mem = merma.GetInt("PE_CANT") + End If + + CLV_PICK_CIEGO.Add(CreateListItem(abor.GetString("CAT_GP_ID"),abor.GetString("CAT_GP_NOMBRE"), abor.GetString("PC_CAN"), abor.GetString("CAT_GP_ALMACEN"), (mem + memcobro), memcobro),fgfg) Next - Private abor3 As Cursor = Starter.skmt.ExecQuery($"SELECT CAT_GP_ALMACEN, CAT_GP_NOMBRE, CAT_GP_ID FROM CAT_GUNAPROD2 WHERE CAT_GP_ALMACEN > 0 GROUP BY CAT_GP_ID order by CAT_GP_NOMBRE asc "$) + Private abor3 As Cursor = Starter.skmt.ExecQuery($"SELECT CAT_GP_ALMACEN, CAT_GP_NOMBRE, CAT_GP_ID FROM CAT_GUNAPROD2 WHERE CAT_GP_ALMACEN > 0 AND CAT_GP_ID NOT IN (SELECT PC_ID_PROD FROM PICK_CIEGO) GROUP BY CAT_GP_ID order by CAT_GP_NOMBRE asc "$) For tyty = 0 To abor3.RowCount - 1 abor3.Position = tyty @@ -753,7 +824,7 @@ Sub Subir_Click Else If abor.RowCount = 0 Then - Private abor2 As Cursor = Starter.skmt.ExecQuery($"SELECT CAT_GP_ALMACEN, CAT_GP_NOMBRE, CAT_GP_ID FROM CAT_GUNAPROD2 WHERE CAT_GP_ALMACEN > 0 AND CAT_GP_ID NOT IN (SELECT PC_ID_PROD FROM PICK_CIEGO) GROUP BY CAT_GP_ID order by CAT_GP_NOMBRE asc "$) + Private abor2 As Cursor = Starter.skmt.ExecQuery($"SELECT CAT_GP_ALMACEN, CAT_GP_NOMBRE, CAT_GP_ID FROM CAT_GUNAPROD2 WHERE CAT_GP_ALMACEN > 0 GROUP BY CAT_GP_ID order by CAT_GP_NOMBRE asc "$) For tyty = 0 To abor2.RowCount - 1 abor2.Position = tyty @@ -764,10 +835,10 @@ Sub Subir_Click End Sub -Sub CreateListItem(Id_prod As String, Prod As String,cant As String,cantreal As String) As Panel +Sub CreateListItem(Id_prod As String, Prod As String,cant As String,cantreal As String, merma As String, cobro As String) As Panel Dim pa As B4XView = xui.CreatePanel("") pa.SetLayoutAnimated(0, 0, 0, 1, 10) - pa.LoadLayout("PANEL_PICK_CIEGO") + pa.LoadLayout("cuentamerma") pa.Height = 220dip pa.Width = 298dip 'pa.Width = clv_orden.GetBase.Width @@ -776,6 +847,8 @@ Sub CreateListItem(Id_prod As String, Prod As String,cant As String,cantreal As ' L_PICK_CIEGO.Gravity = Bit.Or(Gravity.CENTER_VERTICAL, Gravity.CENTER_HORIZONTAL) ET_PICK_CIEGO.Text = cant L_CANT_PCIK.Text = cantreal + et_merma.Text = merma + et_cobro.Text = cobro 'cxc.Id_prod = mostrar3 'Log(pa.Width) Return pa @@ -987,7 +1060,7 @@ Sub Envioinfo d.Close ' PEDIDO - c = B4XPages.MainPage.skmt.ExecQuery("SELECT 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, PE_CANTC, PE_BCAJAS FROM PEDIDO WHERE PE_FOLIO <> 'RECARGA'") + c = B4XPages.MainPage.skmt.ExecQuery("SELECT 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, PE_CANTC, PE_BCAJAS FROM PEDIDO") d = B4XPages.MainPage.skmt.ExecQuery("SELECT COUNT(*) as CUANTOS_PEDIDO FROM PEDIDO") If c.RowCount > 0 Then For i = 0 To c.RowCount - 1 @@ -1002,6 +1075,8 @@ Sub Envioinfo cmd.Parameters = Array As Object(c.GetString("PE_CEDIS"),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"),Subs.traeRuta2(c.GetString("PE_CLIENTE")), c.GetString("PE_COSTO_SIN"),c.GetString("PE_DESC"),"PREVENTA") Else If c.GetString("PE_FOLIO") = "ABORDO" Then cmd.Parameters = Array As Object(c.GetString("PE_CEDIS"),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"),Subs.traeRuta2(c.GetString("PE_CLIENTE")), c.GetString("PE_COSTO_SIN"),c.GetString("PE_DESC"),"ABORDO") + Else If c.GetString("PE_FOLIO") = "RECARGA" Then + cmd.Parameters = Array As Object(c.GetString("PE_CEDIS"),"RECARGA",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"),Subs.traeRuta2(c.GetString("PE_CLIENTE")), c.GetString("PE_COSTO_SIN"),c.GetString("PE_DESC"),"ABORDO") Else cmd.Parameters = Array As Object(c.GetString("PE_CEDIS"),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"),Subs.traeRuta2(c.GetString("PE_CLIENTE")), c.GetString("PE_COSTO_SIN"),c.GetString("PE_DESC"),"VENTA") End If @@ -1567,6 +1642,49 @@ Sub JobDone(Job As HttpJob) Log("***************** "&n) End If End If + + If Job.JobName = "DBRequest" Then + Dim RESULT As DBResult = reqManager.HandleJob(Job) + If RESULT.Tag.As(String).IndexOf("PICK_C_") > -1 Then 'query tag +' Subs.logJobDoneResultados(result) + Private id As String= RESULT.Tag + id = id.SubString(id.IndexOf("_")+3) + For Each records() As Object In RESULT.Rows + Dim CUENTA As String = records(RESULT.Columns.Get("CUENTA")) + Log(CUENTA) + Log(id) + If CUENTA = 0 Then + c = Starter.skmt.ExecQuery2("SELECT * FROM PICK_CIEGO WHERE PC_ID_PROD = ?", Array As String (id)) + If c.RowCount > 0 Then +' For i=0 To c.RowCount -1 + c.Position=0 + Dim cmd As DBCommand + cmd.Initialize + cmd.Name = "insert_PICKCIEGO_TGUERRERAS" + cmd.Parameters = Array As Object(c.GetString("PC_ID_PROD"), c.GetString("PC_NOM_PROD"), c.GetString("PC_CANT"), c.GetString("PC_ALMACEN"), c.GetString("PC_RUTA"), c.GetString("PC_FECHA"),"VENTA") + reqManager.ExecuteCommand(cmd , "ins_PC") +' Next + End If + c.Close + Else if CUENTA > 0 Then + c = Starter.skmt.ExecQuery2("SELECT * FROM PICK_CIEGO WHERE PC_ID_PROD= ?", Array As String (id)) + If c.RowCount > 0 Then +' For i=0 To c.RowCount -1 + c.Position = 0 + Dim cmd As DBCommand + cmd.Initialize + cmd.Name = "update_PICKCIEGO_TGUERRERAS" + Log("FECHA" & c.GetString("PC_FECHA")) + cmd.Parameters = Array As Object(c.GetString("PC_CANT"), c.GetString("PC_ID_PROD"), c.GetString("PC_ALMACEN"), c.GetString("PC_RUTA"), c.GetString("PC_FECHA"),"VENTA") + reqManager.ExecuteCommand(cmd, "update_PC") +' Next + End If + c.Close + End If + + Next + End If + End If If Job.JobName = "DBRequest" Then Dim RESULT As DBResult = reqManager.HandleJob(Job) @@ -1628,13 +1746,14 @@ Sub JobDone(Job As HttpJob) Dim CAT_CL_LIMITECREDITO As String = records(RESULT.Columns.Get("CAT_CL_LIMITECREDITO")) Dim CAT_CL_GIRO As String = records(RESULT.Columns.Get("CAT_CL_GIRO")) Dim CAT_CL_LISTA_PRECIO As String = records(RESULT.Columns.Get("CAT_CL_LISTA_PRECIO")) + Dim CAT_CL_TIPO_CLIENTE As String = records(RESULT.Columns.Get("CAT_CL_TIPO_CLIENTE")) ' Dim CAT_CL_BCOORDENADAS As String = records(RESULT.Columns.Get("CAT_CL_BCOORDENADAS")) Dim CAT_CL_BCOORDENADAS As String = 0 - B4XPages.MainPage.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_BCREDITO, CAT_CL_LIMITECREDITO, gestion,CAT_CL_BCOORDENADAS, CAT_CL_GIRO, CAT_CL_LISTA_PRECIO) 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_BCREDITO, CAT_CL_LIMITECREDITO,CAT_CL_BCOORDENADAS,CAT_CL_GIRO, CAT_CL_LISTA_PRECIO)) + B4XPages.MainPage.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_BCREDITO, CAT_CL_LIMITECREDITO, gestion,CAT_CL_BCOORDENADAS, CAT_CL_GIRO, CAT_CL_LISTA_PRECIO,CAT_CL_TIPO_CLIENTE) 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_BCREDITO, CAT_CL_LIMITECREDITO,CAT_CL_BCOORDENADAS,CAT_CL_GIRO, CAT_CL_LISTA_PRECIO,CAT_CL_TIPO_CLIENTE)) B4XPages.MainPage.skmt.ExecNonQuery2("INSERT INTO HIST_STAY_STORE(HSS_CODIGO, HSS_IN , HSS_OUT , HSS_TOT) VALUES (?,0,0,0)", Array As Object (CAT_CL_CODIGO)) Next Starter.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, gestion,CAT_CL_LISTA_PRECIO) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,0,0,0,0) ",Array As Object ("0",e_ruta.TEXT, "VENTA ABORDO","null","null","null","null","null","null","null","null","null","null","null","null","NULL","null","NULL")) -' Starter.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, gestion) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,0,0,0) ",Array As Object ("1",e_ruta.TEXT, "VENTA RECARGA","null","null","null","null","null","null","null","null","null","null","null","null","NULL","null","NULL")) + Starter.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, gestion) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,0,0,0) ",Array As Object ("1",e_ruta.TEXT, "VENTA RECARGA","null","null","null","null","null","null","null","null","null","null","null","null","NULL","null","NULL")) Listo1 = 1 S_CC.Text = "LISTO" If Starter.marcaCel <> "Sony" Then ToastMessageShow("Catalogo Clientes Actualizados." , True) @@ -2538,6 +2657,9 @@ Private Sub B4XPage_CloseRequest As ResumableSub Else if P_CIEGO.Visible Then P_CIEGO.Visible = False Return False + Else if p_prod.Visible Then + p_prod.Visible = False + Return False Else If pnlCobranza.Visible Then pnlCobranza.Visible = False Return False @@ -3314,9 +3436,14 @@ Private Sub p_mandaInfo_Click End Sub Private Sub iv_abordo_Click +' Starter.skmt.ExecNonQuery("delete from CUENTAA") +' Starter.skmt.ExecNonQuery2("INSERT INTO CUENTAA VALUES (?)", Array As Object("0")) +' B4XPages.MainPage.tipo_venta = "ABORDO" +' B4XPages.ShowPage("Productos") + Starter.skmt.ExecNonQuery("delete from CUENTAA") - Starter.skmt.ExecNonQuery2("INSERT INTO CUENTAA VALUES (?)", Array As Object("0")) - B4XPages.MainPage.tipo_venta = "ABORDO" + Starter.skmt.ExecNonQuery2("INSERT INTO CUENTAA VALUES (?)", Array As Object("1")) + B4XPages.MainPage.tipo_venta = "RECARGA" B4XPages.ShowPage("Productos") End Sub @@ -3471,7 +3598,7 @@ Private Sub b_productos_Click p_prod.BringToFront - Private c As Cursor = Starter.skmt.ExecQuery("select CAT_GP_NOMBRE AS HVD_PRONOMBRE, IFNULL(CAT_GP_PRECIO, 0) AS HVD_RECHAZOCANT from CAT_GUNAPROD WHERE CAT_GP_TIPO <> 'PROMOS' AND CAT_GP_SUBTIPO <> 'PROMOS' order by CAT_GP_NOMBRE asc") + Private c As Cursor = Starter.skmt.ExecQuery("select CAT_GP_NOMBRE AS HVD_PRONOMBRE, IFNULL(CAT_GP_PRECIO, 0) AS HVD_RECHAZOCANT from CAT_GUNAPROD2 WHERE CAT_GP_TIPO <> 'PROMOS' AND CAT_GP_SUBTIPO <> 'PROMOS' order by CAT_GP_NOMBRE asc") lv_prod_Prin.SingleLineLayout.Label.TextColor = Colors.Black lv_prod_Prin.Clear @@ -3504,235 +3631,666 @@ Private Sub P_CIEGO_Click End Sub Private Sub b_terpc_Click -' Dim sDate, sTime As String -' DateTime.DateFormat = "dd/MM/yyyy" -' DateTime.TimeFormat = "HH:mm:ss" -' sDate = DateTime.Date(DateTime.Now) -' sTime = DateTime.Time(DateTime.Now) -' -' Dim consecutivo As Int = 1000 -' For i = 0 To CLV_PICK_CIEGO.Size - 1 -' ' Retrieve the panel and child views for the current item -' Dim itemPanel As B4XView = CLV_PICK_CIEGO.GetPanel(i) -' Dim innerPanel As B4XView = itemPanel.GetView(0) -' Dim editText As B4XView = innerPanel.GetView(1) -' Dim inputText As String = editText.As(EditText).Text -' Dim labelcant As B4XView = innerPanel.GetView(2) -' Dim cantidadrestar As String = labelcant.As(Label).Text -' -' ' Check if the input text matches the regex pattern for zeros or if it's empty -' If Regex.IsMatch("^[0]+$", inputText) Or inputText = "" Then -' inputText = "0" -' End If -' -' ' Retrieve and process the ID label -' Dim idLabel As B4XView = innerPanel.GetView(0) -' Dim idText As String = idLabel.As(Label).Text -' Dim idParts() As String = Regex.Split(CRLF, idText) -'' Log(idParts(1)) -' f=Starter.skmt.ExecQuery("select RUTAA from RUTAA") -' f.Position=0 -'' Log(f.GetString("RUTAA")) -' a=Starter.skmt.ExecQuery("select ID_ALMACEN from CAT_ALMACEN") -' If a.RowCount>0 Then -' a.Position=0 -' End If + Dim sDate, sTime As String + DateTime.DateFormat = "dd/MM/yyyy" + DateTime.TimeFormat = "HH:mm:ss" + sDate = DateTime.Date(DateTime.Now) + sTime = DateTime.Time(DateTime.Now) + + Dim consecutivo As Int = 1000 + For i = 0 To CLV_PICK_CIEGO.Size - 1 + ' Retrieve the panel and child views for the current item + Dim itemPanel As B4XView = CLV_PICK_CIEGO.GetPanel(i) + Dim innerPanel As B4XView = itemPanel.GetView(0) + Dim editText As B4XView = innerPanel.GetView(4) + Dim inputText As String = editText.As(EditText).Text + Dim labelcant As B4XView = innerPanel.GetView(5) + Dim labelcantmerma As B4XView = innerPanel.GetView(6) + Dim labelcantcobro As B4XView = innerPanel.GetView(12) + Dim cantidadrestar As String = labelcant.As(Label).Text + + ' Check if the input text matches the regex pattern for zeros or if it's empty + If Regex.IsMatch("^[0]+$", inputText) Or inputText = "" Then + inputText = "0" + End If + + ' Retrieve and process the ID label + Dim idLabel As B4XView = innerPanel.GetView(3) + Dim idText As String = idLabel.As(Label).Text + Dim idParts() As String = Regex.Split(CRLF, idText) +' Log(idParts(1)) + f=Starter.skmt.ExecQuery("select RUTAA from RUTAA") + f.Position=0 +' Log(f.GetString("RUTAA")) + a=Starter.skmt.ExecQuery("select ID_ALMACEN from CAT_ALMACEN") + If a.RowCount>0 Then + a.Position=0 + End If ' Dim k As Cursor = Starter.skmt.ExecQuery("SELECT HVD_FECHA FROM HIST_VENTAS") ' k.Position = 0 ' Dim fechatabulador() As String = Regex.Split(" ", k.GetString("HVD_FECHA")) '' Dim fechatabulador2() As String = Regex.Split("-", fechatabulador(0)) ' Dim fechatabulador3 As String = fechatabulador(0) + Dim fechatabulador3 As String = sDate ' k.Close -' If inputText <> "" And inputText <> 0 Then -' Log("IMPUT DIFERENTE DE CERO") -' Log(idParts(0)) -' Log(cantidadrestar) -' Log(inputText) -' Dim restado As Int = cantidadrestar - inputText -' Log(cantidadrestar - inputText) -' c = Starter.skmt.ExecQuery2("SELECT * FROM PICK_CIEGO where PC_ID_PROD = ?", Array As String (idParts(0))) -' -' If c.RowCount = 0 Then -' ' Insert data into the database -'' Log(f.GetString("RUTAA")) -'' Log("entro aqui2") -' -' Starter.skmt.ExecNonQuery2("INSERT INTO PICK_CIEGO(PC_ID_PROD, PC_NOM_PROD, PC_CANT, PC_ALMACEN, PC_RUTA, PC_FECHA, RESTA) VALUES(?,?,?,?,?,?,?)", Array As String(idParts(0), idParts(1), inputText, a.GetString("ID_ALMACEN"), f.GetString("RUTAA"), fechatabulador3&" "&sTime, restado)) -' If restado > 0 And inputText <> 0 Then -' -' Dim preciocat As Cursor = Starter.skmt.ExecQuery($"select IFNULL(CAT_GP_PRECIO,0) AS CAT_GP_PRECIO from CAT_GUNAPROD WHERE CAT_GP_ID = '${idParts(0)}'"$) -' If preciocat.RowCount > 0 Then -' preciocat.Position = 0 -' Dim preciofull As String = preciocat.GetString("CAT_GP_PRECIO") -' End If -' preciocat.Close -' Log("MAYOR A CERO") -' consecutivo = consecutivo + 1 -' Dim faltantes As Cursor = Starter.skmt.ExecQuery($"select * from PEDIDO WHERE PE_PROID = '${idParts(0)}' AND PE_TIPO = 'FALTANTE'"$) -' If faltantes.RowCount > 0 Then -' faltantes.Position = 0 -' Starter.skmt.ExecNonQuery($"update PEDIDO set PE_CANT = '${restado}', PE_COSTO_TOT= '${restado}'*'${preciofull}', PE_TIPO = 'FALTANTE' WHERE PE_PROID = '${idParts(0)}' and PE_CLIENTE = '63403' AND CONSECUTIVO = '${faltantes.GetString("CONSECUTIVO")}'"$) -' Else -'' Starter.skmt.ExecNonQuery2("INSERT INTO PEDIDO(PE_PROID,PE_PRONOMBRE,PE_CANT,PE_CLIENTEOR,PE_CLIENTE,PE_COSTOU,PE_COSTO_TOT,PE_CAJAS,PE_BCAJAS,CONSECUTIVO,PE_RUTA, PE_TIPO,PE_CEDIS,PE_FECHA,PE_USUARIO,FECHA_PREV,RUTA_REP,PE_REGALO) VALUES (?,?,?,?,?,?,?,0,0,?,?,?,?,?,?,?,?,?)", Array As String(idParts(0),idParts(1),restado,"",Subs.traeCliente,preciofull,(preciofull*restado),consecutivo,1000,"FALTANTE",Subs.traeAlmacen, sDate & " " & sTime, Subs.traeUsuario,Subs.traefECHAPREV, Subs.traeRutaReparto,0)) -' End If -' Else If restado < 0 And inputText <> 0 Then -' -' Dim preciocat As Cursor = Starter.skmt.ExecQuery($"select IFNULL(CAT_GP_PRECIO,0) AS CAT_GP_PRECIO from CAT_GUNAPROD WHERE CAT_GP_ID = '${idParts(0)}'"$) -' If preciocat.RowCount > 0 Then -' preciocat.Position = 0 -' Dim preciofull As String = preciocat.GetString("CAT_GP_PRECIO") -' End If -' preciocat.Close -' Log("MENOR A CERO") -' consecutivo = consecutivo + 1 -' Dim faltantes As Cursor = Starter.skmt.ExecQuery($"select * from PEDIDO WHERE PE_PROID = '${idParts(0)}' AND PE_TIPO = 'FALTANTE'"$) -' If faltantes.RowCount > 0 Then -' faltantes.Position = 0 -' Starter.skmt.ExecNonQuery($"update PEDIDO set PE_CANT = '${(-1*restado)}', PE_COSTO_TOT= ${(-1*restado)}*${preciofull}, PE_TIPO = 'SOBRANTE' WHERE PE_PROID = '${idParts(0)}' and PE_CLIENTE = '63403' AND CONSECUTIVO = '${faltantes.GetString("CONSECUTIVO")}'"$) -' Else -'' Starter.skmt.ExecNonQuery2("INSERT INTO PEDIDO(PE_PROID,PE_PRONOMBRE,PE_CANT,PE_CLIENTEOR,PE_CLIENTE,PE_COSTOU,PE_COSTO_TOT,PE_CAJAS,PE_BCAJAS,CONSECUTIVO,PE_RUTA, PE_TIPO,PE_CEDIS,PE_FECHA,PE_USUARIO,FECHA_PREV,RUTA_REP,PE_REGALO) VALUES (?,?,?,?,?,?,?,0,0,?,?,?,?,?,?,?,?,?)", Array As String(idParts(0),idParts(1),(-1*restado),"",Subs.traeCliente,preciofull,(-1*(preciofull*restado)),consecutivo,1000,"SOBRANTE",Subs.traeAlmacen, sDate & " " & sTime, Subs.traeUsuario,Subs.traefECHAPREV, Subs.traeRutaReparto,0)) -' End If -' End If -' Else -'' Log(f.GetString("RUTAA")) -'' Log("entro aqui") -' Dim restadoanterior As Cursor = Starter.skmt.ExecQuery($"select RESTA from PICK_CIEGO WHERE PC_ID_PROD = '${idParts(0)}'"$) -' restadoanterior.Position = 0 -' -'' Starter.skmt.ExecNonQuery2("Update PICK_CIEGO set PC_CANT = ?, RESTA = ? WHERE PC_ID_PROD = ?" , Array As String(inputText ,restado,idParts(0))) '' HACER DENTRO DEL IF -' If restadoanterior.GetInt("RESTA") > 0 And restadoanterior.GetInt("RESTA") <> restado Then -' -' -' Dim faltantes As Cursor = Starter.skmt.ExecQuery($"select * from PEDIDO WHERE PE_PROID = '${idParts(0)}' AND PE_TIPO = 'FALTANTE'"$) -' -' If faltantes.RowCount > 0 Then -' faltantes.Position = 0 -' Dim preciocat As Cursor = Starter.skmt.ExecQuery($"select IFNULL(CAT_GP_PRECIO,0) AS CAT_GP_PRECIO from CAT_GUNAPROD WHERE CAT_GP_ID = '${idParts(0)}'"$) -' If preciocat.RowCount > 0 Then -' preciocat.Position = 0 -' Dim preciofull As String = preciocat.GetString("CAT_GP_PRECIO") -' End If -' preciocat.Close -' -' Log("MAYOR A CERO UPDATE") -' Starter.skmt.ExecNonQuery2("Update PICK_CIEGO set PC_CANT = ?, RESTA = ? WHERE PC_ID_PROD = ?" , Array As String(inputText ,restado,idParts(0))) '' HACER DENTRO DEL IF -' If restado > 0 Then -' Log("AQUI ES FALTANTE") -'' Log($"update PEDIDO set PE_CANT = IFNULL(PE_CANT,0)+(1*'${restado}'), PE_COSTO_TOT= ((IFNULL(PE_CANT,0)+(1*'${restado}'))*'${preciofull}'), PE_TIPO = 'FALTANTE' WHERE PE_PROID = '${idParts(0)}' and PE_CLIENTE = '63403' AND CONSECUTIVO = '${faltantes.GetString("CONSECUTIVO")}'"$) -' Starter.skmt.ExecNonQuery($"update PEDIDO set PE_CANT = '${restado}', PE_COSTO_TOT= '${restado}'*'${preciofull}', PE_TIPO = 'FALTANTE' WHERE PE_PROID = '${idParts(0)}' and PE_CLIENTE = '63403' AND CONSECUTIVO = '${faltantes.GetString("CONSECUTIVO")}'"$) -' Else If restado < 0 Then + If inputText <> "" And inputText <> 0 Then + Log("IMPUT DIFERENTE DE CERO") + Log(idParts(0)) + Log(cantidadrestar) + Log(inputText) + Dim restado As Int = cantidadrestar - inputText + Log(cantidadrestar - inputText) + + + + + c = Starter.skmt.ExecQuery2("SELECT * FROM PICK_CIEGO where PC_ID_PROD = ?", Array As String (idParts(0))) + + If c.RowCount = 0 Then + + + If (labelcantmerma.Text <> "" Or labelcantmerma.Text <> "0") Then + Dim merma As Cursor = Starter.skmt.ExecQuery2("SELECT * FROM PEDIDO where PE_PROID = ? AND PE_FOLIO = 'MERMA' ", Array As String (idParts(0))) + If merma.RowCount = 0 Then + Dim preciocat As Cursor = Starter.skmt.ExecQuery($"select IFNULL(CAT_DP_PRECIO9,0) AS CAT_GP_PRECIO from CAT_GUNAPROD2 WHERE CAT_GP_ID = '${idParts(0)}'"$) + If preciocat.RowCount > 0 Then + preciocat.Position = 0 + Dim preciofull As String = preciocat.GetString("CAT_GP_PRECIO") + + End If + + If labelcantmerma.Text <> "" Then + Dim cantmerma As Int = labelcantmerma.Text + Else If labelcantcobro.Text = "" Then + Dim cantmerma As Int = 0 + End If + + If labelcantcobro.Text <> "" Then + Dim cantmermacobro As Int = labelcantcobro.Text + Else If labelcantcobro.Text = "" Then + Dim cantmermacobro As Int = 0 + End If + consecutivo = consecutivo + 1 + + B4XPages.MainPage.skmt.ExecNonQuery2("INSERT INTO PEDIDO (PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO,PE_RUTA,PE_COSTO_SIN,PE_FOLIO,PE_ENVIO_OK,PE_CANTC,PE_BCAJAS,CONSECUTIVO) VALUES(?,?,?,?,?,?,?,?,?,?,?,?,0,?,?,?) ", Array As Object (ALMACEN, 0, 0, (cantmerma - cantmermacobro) , idParts(1), idParts(0), 63403, fecha, usuario, 1000, 0, "MERMA",0,0,consecutivo)) + + If cantmermacobro > 0 Then + Dim mermacobro As Cursor = Starter.skmt.ExecQuery2("SELECT * FROM PEDIDO where PE_PROID = ? AND PE_FOLIO = 'MERMA_COBRO' ", Array As String (idParts(0))) + If mermacobro.RowCount = 0 Then + consecutivo = consecutivo + 1 + B4XPages.MainPage.skmt.ExecNonQuery2("INSERT INTO PEDIDO (PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO,PE_RUTA,PE_COSTO_SIN,PE_FOLIO,PE_ENVIO_OK,PE_CANTC,PE_BCAJAS,CONSECUTIVO) VALUES(?,?,?,?,?,?,?,?,?,?,?,?,0,?,?,?) ", Array As Object (ALMACEN, ((cantmermacobro)*preciofull), preciofull, cantmermacobro, idParts(1), idParts(0), 63403, fecha, usuario, 1000, 0, "MERMA_COBRO",0,0,consecutivo)) + Else + mermacobro.Position = 0 + Starter.skmt.ExecNonQuery($"update PEDIDO set PE_CANT = '${cantmermacobro}', PE_COSTO_TOT= '${cantmermacobro}'*'${preciofull}' WHERE PE_PROID = '${idParts(0)}' and PE_CLIENTE = '63403' AND CONSECUTIVO = '${mermacobro.GetString("CONSECUTIVO")}' and PE_FOLIO = 'MERMA_COBRO' "$) + End If + Else If cantmermacobro = 0 Then + Dim mermacobro As Cursor = Starter.skmt.ExecQuery2("SELECT * FROM PEDIDO where PE_PROID = ? AND PE_FOLIO = 'MERMA_COBRO' ", Array As String (idParts(0))) + If mermacobro.RowCount > 0 Then + mermacobro.Position = 0 + Starter.skmt.ExecNonQuery($"delete from PEDIDO where PE_PROID = '${idParts(0)}' and PE_CLIENTE = '63403' AND CONSECUTIVO = '${mermacobro.GetString("CONSECUTIVO")}' AND PE_FOLIO = 'MERMA_COBRO' "$) + End If + End If + + Else If merma.RowCount > 0 Then + merma.Position = 0 + Dim preciocat As Cursor = Starter.skmt.ExecQuery($"select IFNULL(CAT_DP_PRECIO9,0) AS CAT_GP_PRECIO from CAT_GUNAPROD2 WHERE CAT_GP_ID = '${idParts(0)}'"$) + If preciocat.RowCount > 0 Then + preciocat.Position = 0 + Dim preciofull As String = preciocat.GetString("CAT_GP_PRECIO") + + End If + + If labelcantmerma.Text <> "" Then + Dim cantmerma As Int = labelcantmerma.Text + Else If labelcantcobro.Text = "" Then + Dim cantmerma As Int = 0 + End If + + + If labelcantcobro.Text <> "" Then + Dim cantmermacobro As Int = labelcantcobro.Text + Else If labelcantcobro.Text = "" Then + Dim cantmermacobro As Int = 0 + End If + + +' Starter.skmt.ExecNonQuery($"update PEDIDO set PE_CANT = '${(cantmerma - cantmermacobro)}' WHERE PE_PROID = '${idParts(0)}' and PE_CLIENTE = '63403' AND CONSECUTIVO = '${merma.GetString("CONSECUTIVO")}' AND PE_FOLIO = 'MERMA' "$) + + If cantmerma > 0 Then + Starter.skmt.ExecNonQuery($"update PEDIDO set PE_CANT = '${(cantmerma - cantmermacobro)}' WHERE PE_PROID = '${idParts(0)}' and PE_CLIENTE = '63403' AND CONSECUTIVO = '${merma.GetString("CONSECUTIVO")}' AND PE_FOLIO = 'MERMA' "$) + Else If cantmerma = 0 Then + Starter.skmt.ExecNonQuery($"delete from PEDIDO where PE_PROID = '${idParts(0)}' and PE_CLIENTE = '63403' AND CONSECUTIVO = '${merma.GetString("CONSECUTIVO")}' AND PE_FOLIO = 'MERMA' "$) + End If + + If cantmermacobro > 0 Then + Dim mermacobro As Cursor = Starter.skmt.ExecQuery2("SELECT * FROM PEDIDO where PE_PROID = ? AND PE_FOLIO = 'MERMA_COBRO' ", Array As String (idParts(0))) + If mermacobro.RowCount = 0 Then + consecutivo = consecutivo + 1 + Log("trueno") + B4XPages.MainPage.skmt.ExecNonQuery2("INSERT INTO PEDIDO (PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO,PE_RUTA,PE_COSTO_SIN,PE_FOLIO,PE_ENVIO_OK,PE_CANTC,PE_BCAJAS,CONSECUTIVO) VALUES(?,?,?,?,?,?,?,?,?,?,?,?,0,?,?,?) ", Array As Object (ALMACEN, ((cantmermacobro)*preciofull), preciofull, cantmermacobro, idParts(1), idParts(0), 63403, fecha, usuario, 1000, 0, "MERMA_COBRO",0,0,consecutivo)) + Else + mermacobro.Position = 0 + Starter.skmt.ExecNonQuery($"update PEDIDO set PE_CANT = '${cantmermacobro}', PE_COSTO_TOT= '${cantmermacobro}'*'${preciofull}' WHERE PE_PROID = '${idParts(0)}' and PE_CLIENTE = '63403' AND CONSECUTIVO = '${mermacobro.GetString("CONSECUTIVO")}' and PE_FOLIO = 'MERMA_COBRO' "$) + End If + Else If cantmermacobro = 0 Then + Dim mermacobro As Cursor = Starter.skmt.ExecQuery2("SELECT * FROM PEDIDO where PE_PROID = ? AND PE_FOLIO = 'MERMA_COBRO' ", Array As String (idParts(0))) + If mermacobro.RowCount > 0 Then + mermacobro.Position = 0 + Starter.skmt.ExecNonQuery($"delete from PEDIDO where PE_PROID = '${idParts(0)}' and PE_CLIENTE = '63403' AND CONSECUTIVO = '${mermacobro.GetString("CONSECUTIVO")}' AND PE_FOLIO = 'MERMA_COBRO' "$) + End If + End If + + End If + Else If (labelcantmerma.Text = "" Or labelcantmerma.Text = 0) Then + Dim merma As Cursor = Starter.skmt.ExecQuery2("SELECT * FROM PEDIDO where PE_PROID = ? AND PE_FOLIO = 'MERMA' ", Array As String (idParts(0))) + If merma.RowCount > 0 Then + merma.Position = 0 + + Starter.skmt.ExecNonQuery($"delete from PEDIDO where PE_PROID = '${idParts(0)}' and PE_CLIENTE = '63403' AND PE_FOLIO = 'MERMA' "$) + Starter.skmt.ExecNonQuery($"delete from PEDIDO where PE_PROID = '${idParts(0)}' and PE_CLIENTE = '63403' AND PE_FOLIO = 'MERMA_COBRO' "$) + End If + + + End If + + ' Insert data into the database +' Log(f.GetString("RUTAA")) +' Log("entro aqui2") + + Starter.skmt.ExecNonQuery2("INSERT INTO PICK_CIEGO(PC_ID_PROD, PC_NOM_PROD, PC_CANT, PC_ALMACEN, PC_RUTA, PC_FECHA, RESTA) VALUES(?,?,?,?,?,?,?)", Array As String(idParts(0), idParts(1), inputText, a.GetString("ID_ALMACEN"), f.GetString("RUTAA"), fechatabulador3&" "&sTime, restado)) + If restado > 0 And inputText <> 0 Then + + Dim preciocat As Cursor = Starter.skmt.ExecQuery($"select IFNULL(CAT_DP_PRECIO9,0) AS CAT_GP_PRECIO from CAT_GUNAPROD2 WHERE CAT_GP_ID = '${idParts(0)}'"$) + If preciocat.RowCount > 0 Then + preciocat.Position = 0 + Dim preciofull As String = preciocat.GetString("CAT_GP_PRECIO") + + End If + preciocat.Close + Log("MAYOR A CERO") + consecutivo = consecutivo + 1 + Dim faltantes As Cursor = Starter.skmt.ExecQuery($"select * from PEDIDO WHERE PE_PROID = '${idParts(0)}' AND PE_FOLIO = 'FALTANTE'"$) + If faltantes.RowCount > 0 Then + faltantes.Position = 0 + Starter.skmt.ExecNonQuery($"update PEDIDO set PE_CANT = '${restado}', PE_COSTO_TOT= '${restado}'*'${preciofull}', PE_FOLIO = 'FALTANTE' WHERE PE_PROID = '${idParts(0)}' and PE_CLIENTE = '63403' AND CONSECUTIVO = '${faltantes.GetString("CONSECUTIVO")}'"$) + Else + B4XPages.MainPage.skmt.ExecNonQuery2("INSERT INTO PEDIDO (PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO,PE_RUTA,PE_COSTO_SIN,PE_FOLIO,PE_ENVIO_OK,PE_CANTC,PE_BCAJAS,CONSECUTIVO) VALUES(?,?,?,?,?,?,?,?,?,?,?,?,0,?,?,?) ", Array As Object (ALMACEN, NumberFormat2((restado * preciofull),0,2,2,False), NumberFormat2(preciofull,0,2,2,False), restado, idParts(1), idParts(0), 63403, fecha, usuario, 1000, 0, "FALTANTE",0,0,consecutivo)) +' Starter.skmt.ExecNonQuery2("INSERT INTO PEDIDO(PE_PROID,PE_PRONOMBRE,PE_CANT,PE_CLIENTEOR,PE_CLIENTE,PE_COSTOU,PE_COSTO_TOT,PE_CAJAS,PE_BCAJAS,CONSECUTIVO,PE_RUTA, PE_TIPO,PE_CEDIS,PE_FECHA,PE_USUARIO,FECHA_PREV,RUTA_REP,PE_REGALO) VALUES (?,?,?,?,?,?,?,0,0,?,?,?,?,?,?,?,?,?)", Array As String(idParts(0),idParts(1),restado,"",Subs.traeCliente,preciofull,(preciofull*restado),consecutivo,1000,"FALTANTE",Subs.traeAlmacen, sDate & " " & sTime, Subs.traeUsuario,Subs.traefECHAPREV, Subs.traeRutaReparto,0)) + End If + Else If restado < 0 And inputText <> 0 Then + + Dim preciocat As Cursor = Starter.skmt.ExecQuery($"select IFNULL(CAT_DP_PRECIO9,0) AS CAT_GP_PRECIO from CAT_GUNAPROD2 WHERE CAT_GP_ID = '${idParts(0)}'"$) + If preciocat.RowCount > 0 Then + preciocat.Position = 0 + Dim preciofull As String = preciocat.GetString("CAT_GP_PRECIO") + End If + preciocat.Close + Log("MENOR A CERO") + consecutivo = consecutivo + 1 + Dim faltantes As Cursor = Starter.skmt.ExecQuery($"select * from PEDIDO WHERE PE_PROID = '${idParts(0)}' AND PE_FOLIO = 'FALTANTE'"$) + If faltantes.RowCount > 0 Then + faltantes.Position = 0 + Starter.skmt.ExecNonQuery($"update PEDIDO set PE_CANT = '${(-1*restado)}', PE_COSTO_TOT= ${(-1*restado)}*${preciofull}, PE_FOLIO = 'SOBRANTE' WHERE PE_PROID = '${idParts(0)}' and PE_CLIENTE = '63403' AND CONSECUTIVO = '${faltantes.GetString("CONSECUTIVO")}'"$) + Else + B4XPages.MainPage.skmt.ExecNonQuery2("INSERT INTO PEDIDO (PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO,PE_RUTA,PE_COSTO_SIN,PE_FOLIO,PE_ENVIO_OK,PE_CANTC,PE_BCAJAS,CONSECUTIVO) VALUES(?,?,?,?,?,?,?,?,?,?,?,?,0,?,?,?) ", Array As Object (ALMACEN, NumberFormat2(((-1*restado) * preciofull),0,2,2,False), NumberFormat2(preciofull,0,2,2,False), (-1*restado), idParts(1), idParts(0), 63403, fecha, usuario, 1000, 0, "SOBRANTE",0,0,consecutivo)) +' Starter.skmt.ExecNonQuery2("INSERT INTO PEDIDO(PE_PROID,PE_PRONOMBRE,PE_CANT,PE_CLIENTEOR,PE_CLIENTE,PE_COSTOU,PE_COSTO_TOT,PE_CAJAS,PE_BCAJAS,CONSECUTIVO,PE_RUTA, PE_TIPO,PE_CEDIS,PE_FECHA,PE_USUARIO,FECHA_PREV,RUTA_REP,PE_REGALO) VALUES (?,?,?,?,?,?,?,0,0,?,?,?,?,?,?,?,?,?)", Array As String(idParts(0),idParts(1),(-1*restado),"",Subs.traeCliente,preciofull,(-1*(preciofull*restado)),consecutivo,1000,"SOBRANTE",Subs.traeAlmacen, sDate & " " & sTime, Subs.traeUsuario,Subs.traefECHAPREV, Subs.traeRutaReparto,0)) + End If + End If + Else + + If (labelcantmerma.Text <> "" Or labelcantmerma.Text <> "0") Then + Dim merma As Cursor = Starter.skmt.ExecQuery2("SELECT * FROM PEDIDO where PE_PROID = ? AND PE_FOLIO = 'MERMA' ", Array As String (idParts(0))) + If merma.RowCount = 0 Then + Dim preciocat As Cursor = Starter.skmt.ExecQuery($"select IFNULL(CAT_DP_PRECIO9,0) AS CAT_GP_PRECIO from CAT_GUNAPROD2 WHERE CAT_GP_ID = '${idParts(0)}'"$) + If preciocat.RowCount > 0 Then + preciocat.Position = 0 + Dim preciofull As String = preciocat.GetString("CAT_GP_PRECIO") + + End If + + If labelcantmerma.Text <> "" Then + Dim cantmerma As Int = labelcantmerma.Text + Else If labelcantcobro.Text = "" Then + Dim cantmerma As Int = 0 + End If + + If labelcantcobro.Text <> "" Then + Dim cantmermacobro As Int = labelcantcobro.Text + Else If labelcantcobro.Text = "" Then + Dim cantmermacobro As Int = 0 + End If + consecutivo = consecutivo + 1 + + B4XPages.MainPage.skmt.ExecNonQuery2("INSERT INTO PEDIDO (PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO,PE_RUTA,PE_COSTO_SIN,PE_FOLIO,PE_ENVIO_OK,PE_CANTC,PE_BCAJAS,CONSECUTIVO) VALUES(?,?,?,?,?,?,?,?,?,?,?,?,0,?,?,?) ", Array As Object (ALMACEN, 0, 0, (cantmerma - cantmermacobro) , idParts(1), idParts(0), 63403, fecha, usuario, 1000, 0, "MERMA",0,0,consecutivo)) + + If cantmermacobro > 0 Then + Dim mermacobro As Cursor = Starter.skmt.ExecQuery2("SELECT * FROM PEDIDO where PE_PROID = ? AND PE_FOLIO = 'MERMA_COBRO' ", Array As String (idParts(0))) + If mermacobro.RowCount = 0 Then + consecutivo = consecutivo + 1 + B4XPages.MainPage.skmt.ExecNonQuery2("INSERT INTO PEDIDO (PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO,PE_RUTA,PE_COSTO_SIN,PE_FOLIO,PE_ENVIO_OK,PE_CANTC,PE_BCAJAS,CONSECUTIVO) VALUES(?,?,?,?,?,?,?,?,?,?,?,?,0,?,?,?) ", Array As Object (ALMACEN, ((cantmermacobro)*preciofull), preciofull, cantmermacobro, idParts(1), idParts(0), 63403, fecha, usuario, 1000, 0, "MERMA_COBRO",0,0,consecutivo)) + Else + mermacobro.Position = 0 + Starter.skmt.ExecNonQuery($"update PEDIDO set PE_CANT = '${cantmermacobro}', PE_COSTO_TOT= '${cantmermacobro}'*'${preciofull}' WHERE PE_PROID = '${idParts(0)}' and PE_CLIENTE = '63403' AND CONSECUTIVO = '${mermacobro.GetString("CONSECUTIVO")}' and PE_FOLIO = 'MERMA_COBRO' "$) + End If + Else If cantmermacobro = 0 Then + Dim mermacobro As Cursor = Starter.skmt.ExecQuery2("SELECT * FROM PEDIDO where PE_PROID = ? AND PE_FOLIO = 'MERMA_COBRO' ", Array As String (idParts(0))) + If mermacobro.RowCount > 0 Then + mermacobro.Position = 0 + Starter.skmt.ExecNonQuery($"delete from PEDIDO where PE_PROID = '${idParts(0)}' and PE_CLIENTE = '63403' AND CONSECUTIVO = '${mermacobro.GetString("CONSECUTIVO")}' AND PE_FOLIO = 'MERMA_COBRO' "$) + End If + End If + + Else If merma.RowCount > 0 Then + merma.Position = 0 + Dim preciocat As Cursor = Starter.skmt.ExecQuery($"select IFNULL(CAT_DP_PRECIO9,0) AS CAT_GP_PRECIO from CAT_GUNAPROD2 WHERE CAT_GP_ID = '${idParts(0)}'"$) + If preciocat.RowCount > 0 Then + preciocat.Position = 0 + Dim preciofull As String = preciocat.GetString("CAT_GP_PRECIO") + + End If + + If labelcantmerma.Text <> "" Then + Dim cantmerma As Int = labelcantmerma.Text + Else If labelcantcobro.Text = "" Then + Dim cantmerma As Int = 0 + End If + + + If labelcantcobro.Text <> "" Then + Dim cantmermacobro As Int = labelcantcobro.Text + Else If labelcantcobro.Text = "" Then + Dim cantmermacobro As Int = 0 + End If + + +' Starter.skmt.ExecNonQuery($"update PEDIDO set PE_CANT = '${(cantmerma - cantmermacobro)}' WHERE PE_PROID = '${idParts(0)}' and PE_CLIENTE = '63403' AND CONSECUTIVO = '${merma.GetString("CONSECUTIVO")}' AND PE_FOLIO = 'MERMA' "$) + + If cantmerma > 0 Then + Starter.skmt.ExecNonQuery($"update PEDIDO set PE_CANT = '${(cantmerma - cantmermacobro)}' WHERE PE_PROID = '${idParts(0)}' and PE_CLIENTE = '63403' AND CONSECUTIVO = '${merma.GetString("CONSECUTIVO")}' AND PE_FOLIO = 'MERMA' "$) + Else If cantmerma = 0 Then + Starter.skmt.ExecNonQuery($"delete from PEDIDO where PE_PROID = '${idParts(0)}' and PE_CLIENTE = '63403' AND CONSECUTIVO = '${merma.GetString("CONSECUTIVO")}' AND PE_FOLIO = 'MERMA' "$) + End If + + If cantmermacobro > 0 Then + Dim mermacobro As Cursor = Starter.skmt.ExecQuery2("SELECT * FROM PEDIDO where PE_PROID = ? AND PE_FOLIO = 'MERMA_COBRO' ", Array As String (idParts(0))) + If mermacobro.RowCount = 0 Then + consecutivo = consecutivo + 1 + Log("trueno") + B4XPages.MainPage.skmt.ExecNonQuery2("INSERT INTO PEDIDO (PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO,PE_RUTA,PE_COSTO_SIN,PE_FOLIO,PE_ENVIO_OK,PE_CANTC,PE_BCAJAS,CONSECUTIVO) VALUES(?,?,?,?,?,?,?,?,?,?,?,?,0,?,?,?) ", Array As Object (ALMACEN, ((cantmermacobro)*preciofull), preciofull, cantmermacobro, idParts(1), idParts(0), 63403, fecha, usuario, 1000, 0, "MERMA_COBRO",0,0,consecutivo)) + Else + mermacobro.Position = 0 + Starter.skmt.ExecNonQuery($"update PEDIDO set PE_CANT = '${cantmermacobro}', PE_COSTO_TOT= '${cantmermacobro}'*'${preciofull}' WHERE PE_PROID = '${idParts(0)}' and PE_CLIENTE = '63403' AND CONSECUTIVO = '${mermacobro.GetString("CONSECUTIVO")}' and PE_FOLIO = 'MERMA_COBRO' "$) + End If + Else If cantmermacobro = 0 Then + Dim mermacobro As Cursor = Starter.skmt.ExecQuery2("SELECT * FROM PEDIDO where PE_PROID = ? AND PE_FOLIO = 'MERMA_COBRO' ", Array As String (idParts(0))) + If mermacobro.RowCount > 0 Then + mermacobro.Position = 0 + Starter.skmt.ExecNonQuery($"delete from PEDIDO where PE_PROID = '${idParts(0)}' and PE_CLIENTE = '63403' AND CONSECUTIVO = '${mermacobro.GetString("CONSECUTIVO")}' AND PE_FOLIO = 'MERMA_COBRO' "$) + End If + End If + + End If + Else If (labelcantmerma.Text = "" Or labelcantmerma.Text = 0) Then + Dim merma As Cursor = Starter.skmt.ExecQuery2("SELECT * FROM PEDIDO where PE_PROID = ? AND PE_FOLIO = 'MERMA' ", Array As String (idParts(0))) + If merma.RowCount > 0 Then + merma.Position = 0 + + Starter.skmt.ExecNonQuery($"delete from PEDIDO where PE_PROID = '${idParts(0)}' and PE_CLIENTE = '63403' AND PE_FOLIO = 'MERMA' "$) + Starter.skmt.ExecNonQuery($"delete from PEDIDO where PE_PROID = '${idParts(0)}' and PE_CLIENTE = '63403' AND PE_FOLIO = 'MERMA_COBRO' "$) + End If + + + End If + +' Log(f.GetString("RUTAA")) +' Log("entro aqui") + Dim restadoanterior As Cursor = Starter.skmt.ExecQuery($"select RESTA from PICK_CIEGO WHERE PC_ID_PROD = '${idParts(0)}'"$) + restadoanterior.Position = 0 + +' Starter.skmt.ExecNonQuery2("Update PICK_CIEGO set PC_CANT = ?, RESTA = ? WHERE PC_ID_PROD = ?" , Array As String(inputText ,restado,idParts(0))) '' HACER DENTRO DEL IF + If restadoanterior.GetInt("RESTA") > 0 And restadoanterior.GetInt("RESTA") <> restado Then + + + Dim faltantes As Cursor = Starter.skmt.ExecQuery($"select * from PEDIDO WHERE PE_PROID = '${idParts(0)}' AND PE_FOLIO = 'FALTANTE'"$) + + If faltantes.RowCount > 0 Then + faltantes.Position = 0 + Dim preciocat As Cursor = Starter.skmt.ExecQuery($"select IFNULL(CAT_DP_PRECIO9,0) AS CAT_GP_PRECIO from CAT_GUNAPROD2 WHERE CAT_GP_ID = '${idParts(0)}'"$) + If preciocat.RowCount > 0 Then + preciocat.Position = 0 + Dim preciofull As String = preciocat.GetString("CAT_GP_PRECIO") + End If + preciocat.Close + + Log("MAYOR A CERO UPDATE") + Starter.skmt.ExecNonQuery2("Update PICK_CIEGO set PC_CANT = ?, RESTA = ? WHERE PC_ID_PROD = ?" , Array As String(inputText ,restado,idParts(0))) '' HACER DENTRO DEL IF + If restado > 0 Then + Log("AQUI ES FALTANTE") +' Log($"update PEDIDO set PE_CANT = IFNULL(PE_CANT,0)+(1*'${restado}'), PE_COSTO_TOT= ((IFNULL(PE_CANT,0)+(1*'${restado}'))*'${preciofull}'), PE_TIPO = 'FALTANTE' WHERE PE_PROID = '${idParts(0)}' and PE_CLIENTE = '63403' AND CONSECUTIVO = '${faltantes.GetString("CONSECUTIVO")}'"$) + Starter.skmt.ExecNonQuery($"update PEDIDO set PE_CANT = '${restado}', PE_COSTO_TOT= '${restado}'*'${preciofull}', PE_FOLIO = 'FALTANTE' WHERE PE_PROID = '${idParts(0)}' and PE_CLIENTE = '63403' AND CONSECUTIVO = '${faltantes.GetString("CONSECUTIVO")}'"$) + Else If restado < 0 Then + Log("AQUI ES SOBRANTE") +' Log($"update PEDIDO set PE_CANT = '${(-1*restado)}', PE_COSTO_TOT= ${(-1*restado)}*${preciofull}, PE_TIPO = 'SOBRANTE' WHERE PE_PROID = '${idParts(0)}' and PE_CLIENTE = '63403' AND CONSECUTIVO = '${faltantes.GetString("CONSECUTIVO")}'"$) + Starter.skmt.ExecNonQuery($"update PEDIDO set PE_CANT = '${(-1*restado)}', PE_COSTO_TOT= ${(-1*restado)}*${preciofull}, PE_FOLIO = 'SOBRANTE' WHERE PE_PROID = '${idParts(0)}' and PE_CLIENTE = '63403' AND CONSECUTIVO = '${faltantes.GetString("CONSECUTIVO")}'"$) + Else If restado = 0 Then + Log("AQUI ES SOBRANTE") + Starter.skmt.ExecNonQuery($"delete from PEDIDO where PE_PROID = '${idParts(0)}' and PE_CLIENTE = '63403' AND CONSECUTIVO = '${faltantes.GetString("CONSECUTIVO")}'"$) + + End If + + End If + Else If restadoanterior.GetInt("RESTA") < 0 And restadoanterior.GetInt("RESTA") <> restado Then + Log("es sobrante") + Dim sobrantes As Cursor = Starter.skmt.ExecQuery($"select * from PEDIDO WHERE PE_PROID = '${idParts(0)}' AND PE_FOLIO = 'SOBRANTE'"$) + If sobrantes.RowCount > 0 Then + sobrantes.Position = 0 + + Dim preciocat As Cursor = Starter.skmt.ExecQuery($"select IFNULL(CAT_DP_PRECIO9,0) AS CAT_GP_PRECIO from CAT_GUNAPROD2 WHERE CAT_GP_ID = '${idParts(0)}'"$) + If preciocat.RowCount > 0 Then + preciocat.Position = 0 + Dim preciofull As String = preciocat.GetString("CAT_GP_PRECIO") + End If + preciocat.Close + + Log("MENOR A CERO UPDATE") + Starter.skmt.ExecNonQuery2("Update PICK_CIEGO set PC_CANT = ?, RESTA = ? WHERE PC_ID_PROD = ?" , Array As String(inputText ,restado,idParts(0))) '' HACER DENTRO DEL IF + If restado > 0 Then +' Log("AQUI NO ES SOBRANTE") +' Log($"update PEDIDO set PE_CANT = IFNULL(PE_CANT,0)+(1*'${restado}'), PE_COSTO_TOT= ((IFNULL(PE_CANT,0)+(1*'${restado}'))*'${preciofull}'), PE_TIPO = 'FALTANTE' WHERE PE_PROID = '${idParts(0)}' and PE_CLIENTE = '63403' AND CONSECUTIVO = '${sobrantes.GetString("CONSECUTIVO")}'"$) + Starter.skmt.ExecNonQuery($"update PEDIDO set PE_CANT = '${restado}', PE_COSTO_TOT= '${restado}'*'${preciofull}', PE_FOLIO = 'FALTANTE' WHERE PE_PROID = '${idParts(0)}' and PE_CLIENTE = '63403' AND CONSECUTIVO = '${sobrantes.GetString("CONSECUTIVO")}'"$) + Else If restado < 0 Then ' Log("AQUI ES SOBRANTE") -'' Log($"update PEDIDO set PE_CANT = '${(-1*restado)}', PE_COSTO_TOT= ${(-1*restado)}*${preciofull}, PE_TIPO = 'SOBRANTE' WHERE PE_PROID = '${idParts(0)}' and PE_CLIENTE = '63403' AND CONSECUTIVO = '${faltantes.GetString("CONSECUTIVO")}'"$) -' Starter.skmt.ExecNonQuery($"update PEDIDO set PE_CANT = '${(-1*restado)}', PE_COSTO_TOT= ${(-1*restado)}*${preciofull}, PE_TIPO = 'SOBRANTE' WHERE PE_PROID = '${idParts(0)}' and PE_CLIENTE = '63403' AND CONSECUTIVO = '${faltantes.GetString("CONSECUTIVO")}'"$) -' Else If restado = 0 Then -' Log("AQUI ES SOBRANTE") -' Starter.skmt.ExecNonQuery($"delete from PEDIDO where PE_PROID = '${idParts(0)}' and PE_CLIENTE = '63403' AND CONSECUTIVO = '${faltantes.GetString("CONSECUTIVO")}'"$) -' -' End If -' -' End If -' Else If restadoanterior.GetInt("RESTA") < 0 And restadoanterior.GetInt("RESTA") <> restado Then -' Log("es sobrante") -' Dim sobrantes As Cursor = Starter.skmt.ExecQuery($"select * from PEDIDO WHERE PE_PROID = '${idParts(0)}' AND PE_TIPO = 'SOBRANTE'"$) -' If sobrantes.RowCount > 0 Then -' sobrantes.Position = 0 -' -' Dim preciocat As Cursor = Starter.skmt.ExecQuery($"select IFNULL(CAT_GP_PRECIO,0) AS CAT_GP_PRECIO from CAT_GUNAPROD WHERE CAT_GP_ID = '${idParts(0)}'"$) -' If preciocat.RowCount > 0 Then -' preciocat.Position = 0 -' Dim preciofull As String = preciocat.GetString("CAT_GP_PRECIO") -' End If -' preciocat.Close -' -' Log("MENOR A CERO UPDATE") -' Starter.skmt.ExecNonQuery2("Update PICK_CIEGO set PC_CANT = ?, RESTA = ? WHERE PC_ID_PROD = ?" , Array As String(inputText ,restado,idParts(0))) '' HACER DENTRO DEL IF -' If restado > 0 Then -'' Log("AQUI NO ES SOBRANTE") -'' Log($"update PEDIDO set PE_CANT = IFNULL(PE_CANT,0)+(1*'${restado}'), PE_COSTO_TOT= ((IFNULL(PE_CANT,0)+(1*'${restado}'))*'${preciofull}'), PE_TIPO = 'FALTANTE' WHERE PE_PROID = '${idParts(0)}' and PE_CLIENTE = '63403' AND CONSECUTIVO = '${sobrantes.GetString("CONSECUTIVO")}'"$) -' Starter.skmt.ExecNonQuery($"update PEDIDO set PE_CANT = '${restado}', PE_COSTO_TOT= '${restado}'*'${preciofull}', PE_TIPO = 'FALTANTE' WHERE PE_PROID = '${idParts(0)}' and PE_CLIENTE = '63403' AND CONSECUTIVO = '${sobrantes.GetString("CONSECUTIVO")}'"$) -' Else If restado < 0 Then -'' Log("AQUI ES SOBRANTE") -'' Log($"update PEDIDO set PE_CANT = IFNULL(PE_CANT,0)+(1*'${(-1*restado)}'), PE_COSTO_TOT= ((IFNULL(PE_CANT,0)+(1*'${(-1*restado)}'))*'${preciofull}'), PE_TIPO = 'SOBRANTE' WHERE PE_PROID = '${idParts(0)}' and PE_CLIENTE = '63403' AND CONSECUTIVO = '${sobrantes.GetString("CONSECUTIVO")}'"$) -' Starter.skmt.ExecNonQuery($"update PEDIDO set PE_CANT = '${-1*restado}', PE_COSTO_TOT= '${-1*restado}'*'${preciofull}', PE_TIPO = 'SOBRANTE' WHERE PE_PROID = '${idParts(0)}' and PE_CLIENTE = '63403' AND CONSECUTIVO = '${sobrantes.GetString("CONSECUTIVO")}'"$) -' Else If restado = 0 Then -' Log("a eliminar") -' Starter.skmt.ExecNonQuery($"delete from PEDIDO where PE_PROID = '${idParts(0)}' and PE_CLIENTE = '63403' AND CONSECUTIVO = '${sobrantes.GetString("CONSECUTIVO")}'"$) -' '' FALTAN LOS CEROS QUITAR DE PEDIDO Y DEL PICKCIEGO -' End If -' End If -' Else If restadoanterior.GetInt("RESTA") = 0 And restadoanterior.GetInt("RESTA") <> restado Then -' Starter.skmt.ExecNonQuery2("Update PICK_CIEGO set PC_CANT = ?, RESTA = ? WHERE PC_ID_PROD = ?" , Array As String(inputText ,restado,idParts(0))) '' HACER DENTRO DEL IF -' If restado > 0 And inputText <> 0 Then -' -' Dim preciocat As Cursor = Starter.skmt.ExecQuery($"select IFNULL(CAT_GP_PRECIO,0) AS CAT_GP_PRECIO from CAT_GUNAPROD WHERE CAT_GP_ID = '${idParts(0)}'"$) -' If preciocat.RowCount > 0 Then -' preciocat.Position = 0 -' Dim preciofull As String = preciocat.GetString("CAT_GP_PRECIO") -' End If -' preciocat.Close -' Log("MAYOR A CERO") -' consecutivo = consecutivo + 1 -' Dim faltantes As Cursor = Starter.skmt.ExecQuery($"select * from PEDIDO WHERE PE_PROID = '${idParts(0)}' AND PE_TIPO = 'FALTANTE'"$) -' If faltantes.RowCount > 0 Then -' faltantes.Position = 0 -' Starter.skmt.ExecNonQuery($"update PEDIDO set PE_CANT = '${restado}', PE_COSTO_TOT= '${restado}'*'${preciofull}', PE_TIPO = 'FALTANTE' WHERE PE_PROID = '${idParts(0)}' and PE_CLIENTE = '63403' AND CONSECUTIVO = '${faltantes.GetString("CONSECUTIVO")}'"$) -' Else -'' Starter.skmt.ExecNonQuery2("INSERT INTO PEDIDO(PE_PROID,PE_PRONOMBRE,PE_CANT,PE_CLIENTEOR,PE_CLIENTE,PE_COSTOU,PE_COSTO_TOT,PE_CAJAS,PE_BCAJAS,CONSECUTIVO,PE_RUTA, PE_TIPO,PE_CEDIS,PE_FECHA,PE_USUARIO,FECHA_PREV,RUTA_REP,PE_REGALO) VALUES (?,?,?,?,?,?,?,0,0,?,?,?,?,?,?,?,?,?)", Array As String(idParts(0),idParts(1),restado,"",Subs.traeCliente,preciofull,(preciofull*restado),consecutivo,1000,"FALTANTE",Subs.traeAlmacen, sDate & " " & sTime, Subs.traeUsuario,Subs.traefECHAPREV, Subs.traeRutaReparto,0)) -' End If -' Else If restado < 0 And inputText <> 0 Then -' -' Dim preciocat As Cursor = Starter.skmt.ExecQuery($"select IFNULL(CAT_GP_PRECIO,0) AS CAT_GP_PRECIO from CAT_GUNAPROD WHERE CAT_GP_ID = '${idParts(0)}'"$) -' If preciocat.RowCount > 0 Then -' preciocat.Position = 0 -' Dim preciofull As String = preciocat.GetString("CAT_GP_PRECIO") -' End If -' preciocat.Close -' Log("MENOR A CERO") -' consecutivo = consecutivo + 1 -' Dim faltantes As Cursor = Starter.skmt.ExecQuery($"select * from PEDIDO WHERE PE_PROID = '${idParts(0)}' AND PE_TIPO = 'FALTANTE'"$) -' If faltantes.RowCount > 0 Then -' faltantes.Position = 0 -' Starter.skmt.ExecNonQuery($"update PEDIDO set PE_CANT = '${(-1*restado)}', PE_COSTO_TOT= ${(-1*restado)}*${preciofull}, PE_TIPO = 'SOBRANTE' WHERE PE_PROID = '${idParts(0)}' and PE_CLIENTE = '63403' AND CONSECUTIVO = '${faltantes.GetString("CONSECUTIVO")}'"$) -' Else -'' Starter.skmt.ExecNonQuery2("INSERT INTO PEDIDO(PE_PROID,PE_PRONOMBRE,PE_CANT,PE_CLIENTEOR,PE_CLIENTE,PE_COSTOU,PE_COSTO_TOT,PE_CAJAS,PE_BCAJAS,CONSECUTIVO,PE_RUTA, PE_TIPO,PE_CEDIS,PE_FECHA,PE_USUARIO,FECHA_PREV,RUTA_REP,PE_REGALO) VALUES (?,?,?,?,?,?,?,0,0,?,?,?,?,?,?,?,?,?)", Array As String(idParts(0),idParts(1),(-1*restado),"",Subs.traeCliente,preciofull,(-1*(preciofull*restado)),consecutivo,1000,"SOBRANTE",Subs.traeAlmacen, sDate & " " & sTime, Subs.traeUsuario,Subs.traefECHAPREV, Subs.traeRutaReparto,0)) -' End If -' End If -' Else If restadoanterior.GetInt("RESTA") = 0 And restado = 0 Then -' Starter.skmt.ExecNonQuery($"delete from PEDIDO where PE_PROID = '${idParts(0)}' and PE_CLIENTE = '63403' AND PE_TIPO NOT IN ('DANADO') "$) -' End If -' End If -' Else If inputText = "" Or inputText = 0 Then -' Log("IMPUT IGUAL DE CERO") -' Log(idParts(0)) -' Log(cantidadrestar) -' Log(inputText) -' Dim restado As Int = cantidadrestar - inputText -' Log(cantidadrestar - inputText) -' Dim faltantes As Cursor = Starter.skmt.ExecQuery2("SELECT * FROM PICK_CIEGO where PC_ID_PROD = ?", Array As String (idParts(0))) -' If faltantes.RowCount > 0 Then -' faltantes.Position = 0 -' Starter.skmt.ExecNonQuery($"delete from PICK_CIEGO where PC_ID_PROD = '${idParts(0)}'"$) -' End If -'' Dim sobrantes As Cursor = Starter.skmt.ExecQuery($"select * from PEDIDO WHERE PE_PROID = '${idParts(0)}' AND PE_TIPO in ('SOBRANTE','FALTANTE')"$) -' Dim sobrantes As Cursor = Starter.skmt.ExecQuery($"select * from PEDIDO WHERE PE_PROID = '${idParts(0)}' and PE_CLIENTE = '63403'"$) -' If sobrantes.RowCount > 0 Then -' sobrantes.Position = 0 -' Starter.skmt.ExecNonQuery($"delete from PEDIDO where PE_PROID = '${idParts(0)}' and PE_CLIENTE = '63403' AND CONSECUTIVO = '${sobrantes.GetString("CONSECUTIVO")}'"$) -' End If -' -' Dim preciocat As Cursor = Starter.skmt.ExecQuery($"select IFNULL(CAT_GP_PRECIO,0) AS CAT_GP_PRECIO from CAT_GUNAPROD WHERE CAT_GP_ID = '${idParts(0)}'"$) -' If preciocat.RowCount > 0 Then -' preciocat.Position = 0 -' Dim preciofull As String = preciocat.GetString("CAT_GP_PRECIO") -' End If -' preciocat.Close -'' Starter.skmt.ExecNonQuery2("INSERT INTO PEDIDO(PE_PROID,PE_PRONOMBRE,PE_CANT,PE_CLIENTEOR,PE_CLIENTE,PE_COSTOU,PE_COSTO_TOT,PE_CAJAS,PE_BCAJAS,CONSECUTIVO,PE_RUTA, PE_TIPO,PE_CEDIS,PE_FECHA,PE_USUARIO,FECHA_PREV,RUTA_REP,PE_REGALO) VALUES (?,?,?,?,?,?,?,0,0,?,?,?,?,?,?,?,?,?)", Array As String(idParts(0),idParts(1),restado,"",Subs.traeCliente,preciofull,(preciofull*restado),consecutivo,1000,"FALTANTE",Subs.traeAlmacen, sDate & " " & sTime, Subs.traeUsuario,Subs.traefECHAPREV, Subs.traeRutaReparto,0)) -' -' End If -' f.Close -' a.Close -' Log("Processed item " & i) -' Next +' Log($"update PEDIDO set PE_CANT = IFNULL(PE_CANT,0)+(1*'${(-1*restado)}'), PE_COSTO_TOT= ((IFNULL(PE_CANT,0)+(1*'${(-1*restado)}'))*'${preciofull}'), PE_TIPO = 'SOBRANTE' WHERE PE_PROID = '${idParts(0)}' and PE_CLIENTE = '63403' AND CONSECUTIVO = '${sobrantes.GetString("CONSECUTIVO")}'"$) + Starter.skmt.ExecNonQuery($"update PEDIDO set PE_CANT = '${-1*restado}', PE_COSTO_TOT= '${-1*restado}'*'${preciofull}', PE_FOLIO = 'SOBRANTE' WHERE PE_PROID = '${idParts(0)}' and PE_CLIENTE = '63403' AND CONSECUTIVO = '${sobrantes.GetString("CONSECUTIVO")}'"$) + Else If restado = 0 Then + Log("a eliminar") + Starter.skmt.ExecNonQuery($"delete from PEDIDO where PE_PROID = '${idParts(0)}' and PE_CLIENTE = '63403' AND CONSECUTIVO = '${sobrantes.GetString("CONSECUTIVO")}'"$) + '' FALTAN LOS CEROS QUITAR DE PEDIDO Y DEL PICKCIEGO + End If + End If + Else If restadoanterior.GetInt("RESTA") = 0 And restadoanterior.GetInt("RESTA") <> restado Then + Starter.skmt.ExecNonQuery2("Update PICK_CIEGO set PC_CANT = ?, RESTA = ? WHERE PC_ID_PROD = ?" , Array As String(inputText ,restado,idParts(0))) '' HACER DENTRO DEL IF + If restado > 0 And inputText <> 0 Then + + Dim preciocat As Cursor = Starter.skmt.ExecQuery($"select IFNULL(CAT_DP_PRECIO9,0) AS CAT_GP_PRECIO from CAT_GUNAPROD2 WHERE CAT_GP_ID = '${idParts(0)}'"$) + If preciocat.RowCount > 0 Then + preciocat.Position = 0 + Dim preciofull As String = preciocat.GetString("CAT_GP_PRECIO") + End If + preciocat.Close + Log("MAYOR A CERO") + consecutivo = consecutivo + 1 + Dim faltantes As Cursor = Starter.skmt.ExecQuery($"select * from PEDIDO WHERE PE_PROID = '${idParts(0)}' AND PE_FOLIO = 'FALTANTE'"$) + If faltantes.RowCount > 0 Then + faltantes.Position = 0 + Starter.skmt.ExecNonQuery($"update PEDIDO set PE_CANT = '${restado}', PE_COSTO_TOT= '${restado}'*'${preciofull}', PE_FOLIO = 'FALTANTE' WHERE PE_PROID = '${idParts(0)}' and PE_CLIENTE = '63403' AND CONSECUTIVO = '${faltantes.GetString("CONSECUTIVO")}'"$) + Else + B4XPages.MainPage.skmt.ExecNonQuery2("INSERT INTO PEDIDO (PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO,PE_RUTA,PE_COSTO_SIN,PE_FOLIO,PE_ENVIO_OK,PE_CANTC,PE_BCAJAS,CONSECUTIVO) VALUES(?,?,?,?,?,?,?,?,?,?,?,?,0,?,?,?) ", Array As Object (ALMACEN, NumberFormat2((restado * preciofull),0,2,2,False), NumberFormat2(preciofull,0,2,2,False), restado, idParts(1), idParts(0), 63403, fecha, usuario, 1000, 0, "FALTANTE",0,0,consecutivo)) +' Starter.skmt.ExecNonQuery2("INSERT INTO PEDIDO(PE_PROID,PE_PRONOMBRE,PE_CANT,PE_CLIENTEOR,PE_CLIENTE,PE_COSTOU,PE_COSTO_TOT,PE_CAJAS,PE_BCAJAS,CONSECUTIVO,PE_RUTA, PE_TIPO,PE_CEDIS,PE_FECHA,PE_USUARIO,FECHA_PREV,RUTA_REP,PE_REGALO) VALUES (?,?,?,?,?,?,?,0,0,?,?,?,?,?,?,?,?,?)", Array As String(idParts(0),idParts(1),restado,"",Subs.traeCliente,preciofull,(preciofull*restado),consecutivo,1000,"FALTANTE",Subs.traeAlmacen, sDate & " " & sTime, Subs.traeUsuario,Subs.traefECHAPREV, Subs.traeRutaReparto,0)) + End If + Else If restado < 0 And inputText <> 0 Then + + Dim preciocat As Cursor = Starter.skmt.ExecQuery($"select IFNULL(CAT_DP_PRECIO9,0) AS CAT_GP_PRECIO from CAT_GUNAPROD2 WHERE CAT_GP_ID = '${idParts(0)}'"$) + If preciocat.RowCount > 0 Then + preciocat.Position = 0 + Dim preciofull As String = preciocat.GetString("CAT_GP_PRECIO") + End If + preciocat.Close + Log("MENOR A CERO") + consecutivo = consecutivo + 1 + Dim faltantes As Cursor = Starter.skmt.ExecQuery($"select * from PEDIDO WHERE PE_PROID = '${idParts(0)}' AND PE_FOLIO = 'FALTANTE'"$) + If faltantes.RowCount > 0 Then + faltantes.Position = 0 + Starter.skmt.ExecNonQuery($"update PEDIDO set PE_CANT = '${(-1*restado)}', PE_COSTO_TOT= ${(-1*restado)}*${preciofull}, PE_FOLIO = 'SOBRANTE' WHERE PE_PROID = '${idParts(0)}' and PE_CLIENTE = '63403' AND CONSECUTIVO = '${faltantes.GetString("CONSECUTIVO")}'"$) + Else + B4XPages.MainPage.skmt.ExecNonQuery2("INSERT INTO PEDIDO (PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO,PE_RUTA,PE_COSTO_SIN,PE_FOLIO,PE_ENVIO_OK,PE_CANTC,PE_BCAJAS,CONSECUTIVO) VALUES(?,?,?,?,?,?,?,?,?,?,?,?,0,?,?,?) ", Array As Object (ALMACEN, NumberFormat2(((-1*restado) * preciofull),0,2,2,False), NumberFormat2(preciofull,0,2,2,False), (-1*restado), idParts(1), idParts(0), 63403, fecha, usuario, 1000, 0, "SOBRANTE",0,0,consecutivo)) +' Starter.skmt.ExecNonQuery2("INSERT INTO PEDIDO(PE_PROID,PE_PRONOMBRE,PE_CANT,PE_CLIENTEOR,PE_CLIENTE,PE_COSTOU,PE_COSTO_TOT,PE_CAJAS,PE_BCAJAS,CONSECUTIVO,PE_RUTA, PE_TIPO,PE_CEDIS,PE_FECHA,PE_USUARIO,FECHA_PREV,RUTA_REP,PE_REGALO) VALUES (?,?,?,?,?,?,?,0,0,?,?,?,?,?,?,?,?,?)", Array As String(idParts(0),idParts(1),(-1*restado),"",Subs.traeCliente,preciofull,(-1*(preciofull*restado)),consecutivo,1000,"SOBRANTE",Subs.traeAlmacen, sDate & " " & sTime, Subs.traeUsuario,Subs.traefECHAPREV, Subs.traeRutaReparto,0)) + End If + End If + Else If restadoanterior.GetInt("RESTA") = 0 And restado = 0 Then + Starter.skmt.ExecNonQuery($"delete from PEDIDO where PE_PROID = '${idParts(0)}' and PE_CLIENTE = '63403' AND PE_FOLIO NOT IN ('DANADO') "$) + End If + End If + Else If inputText = "" Or inputText = 0 Then + Log("IMPUT IGUAL DE CERO") + Log(idParts(0)) + Log(cantidadrestar) + Log(inputText) + Dim restado As Int = cantidadrestar - inputText + Log(cantidadrestar - inputText) + Dim faltantes As Cursor = Starter.skmt.ExecQuery2("SELECT * FROM PICK_CIEGO where PC_ID_PROD = ?", Array As String (idParts(0))) + If faltantes.RowCount > 0 Then + faltantes.Position = 0 + Starter.skmt.ExecNonQuery($"delete from PICK_CIEGO where PC_ID_PROD = '${idParts(0)}'"$) + End If +' Dim sobrantes As Cursor = Starter.skmt.ExecQuery($"select * from PEDIDO WHERE PE_PROID = '${idParts(0)}' AND PE_TIPO in ('SOBRANTE','FALTANTE')"$) + Dim sobrantes As Cursor = Starter.skmt.ExecQuery($"select * from PEDIDO WHERE PE_PROID = '${idParts(0)}' and PE_CLIENTE = '63403'"$) + If sobrantes.RowCount > 0 Then + sobrantes.Position = 0 + Starter.skmt.ExecNonQuery($"delete from PEDIDO where PE_PROID = '${idParts(0)}' and PE_CLIENTE = '63403' AND CONSECUTIVO = '${sobrantes.GetString("CONSECUTIVO")}'"$) + End If + + Dim preciocat As Cursor = Starter.skmt.ExecQuery($"select IFNULL(CAT_DP_PRECIO9,0) AS CAT_GP_PRECIO from CAT_GUNAPROD2 WHERE CAT_GP_ID = '${idParts(0)}'"$) + If preciocat.RowCount > 0 Then + preciocat.Position = 0 + Dim preciofull As String = preciocat.GetString("CAT_GP_PRECIO") + End If + preciocat.Close + B4XPages.MainPage.skmt.ExecNonQuery2("INSERT INTO PEDIDO (PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO,PE_RUTA,PE_COSTO_SIN,PE_FOLIO,PE_ENVIO_OK,PE_CANTC,PE_BCAJAS,CONSECUTIVO) VALUES(?,?,?,?,?,?,?,?,?,?,?,?,0,?,?,?) ", Array As Object (ALMACEN, NumberFormat2((restado * preciofull),0,2,2,False), NumberFormat2(preciofull,0,2,2,False), restado, idParts(1), idParts(0), 63403, fecha, usuario, 1000, 0, "FALTANTE",0,0,consecutivo)) +' Starter.skmt.ExecNonQuery2("INSERT INTO PEDIDO(PE_PROID,PE_PRONOMBRE,PE_CANT,PE_CLIENTEOR,PE_CLIENTE,PE_COSTOU,PE_COSTO_TOT,PE_CAJAS,PE_BCAJAS,CONSECUTIVO,PE_RUTA, PE_TIPO,PE_CEDIS,PE_FECHA,PE_USUARIO,FECHA_PREV,RUTA_REP,PE_REGALO) VALUES (?,?,?,?,?,?,?,0,0,?,?,?,?,?,?,?,?,?)", Array As String(idParts(0),idParts(1),restado,"",Subs.traeCliente,preciofull,(preciofull*restado),consecutivo,1000,"FALTANTE",Subs.traeAlmacen, sDate & " " & sTime, Subs.traeUsuario,Subs.traefECHAPREV, Subs.traeRutaReparto,0)) + + + + Log(labelcantmerma.Text) + If (labelcantmerma.Text <> "" Or labelcantmerma.Text <> "0") Then + Log("aQUI") + Dim merma As Cursor = Starter.skmt.ExecQuery2("SELECT * FROM PEDIDO where PE_PROID = ? AND PE_FOLIO = 'MERMA' ", Array As String (idParts(0))) + If merma.RowCount = 0 Then + Dim preciocat As Cursor = Starter.skmt.ExecQuery($"select IFNULL(CAT_DP_PRECIO9,0) AS CAT_GP_PRECIO from CAT_GUNAPROD2 WHERE CAT_GP_ID = '${idParts(0)}'"$) + If preciocat.RowCount > 0 Then + preciocat.Position = 0 + Dim preciofull As String = preciocat.GetString("CAT_GP_PRECIO") + + End If + + If labelcantmerma.Text <> "" Then + Dim cantmerma As Int = labelcantmerma.Text + Else If labelcantcobro.Text = "" Then + Dim cantmerma As Int = 0 + End If + + If labelcantcobro.Text <> "" Then + Dim cantmermacobro As Int = labelcantcobro.Text + Else If labelcantcobro.Text = "" Then + Dim cantmermacobro As Int = 0 + End If + consecutivo = consecutivo + 1 + + B4XPages.MainPage.skmt.ExecNonQuery2("INSERT INTO PEDIDO (PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO,PE_RUTA,PE_COSTO_SIN,PE_FOLIO,PE_ENVIO_OK,PE_CANTC,PE_BCAJAS,CONSECUTIVO) VALUES(?,?,?,?,?,?,?,?,?,?,?,?,0,?,?,?) ", Array As Object (ALMACEN, 0, 0, (cantmerma - cantmermacobro) , idParts(1), idParts(0), 63403, fecha, usuario, 1000, 0, "MERMA",0,0,consecutivo)) + + If cantmermacobro > 0 Then + Dim mermacobro As Cursor = Starter.skmt.ExecQuery2("SELECT * FROM PEDIDO where PE_PROID = ? AND PE_FOLIO = 'MERMA_COBRO' ", Array As String (idParts(0))) + If mermacobro.RowCount = 0 Then + consecutivo = consecutivo + 1 + B4XPages.MainPage.skmt.ExecNonQuery2("INSERT INTO PEDIDO (PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO,PE_RUTA,PE_COSTO_SIN,PE_FOLIO,PE_ENVIO_OK,PE_CANTC,PE_BCAJAS,CONSECUTIVO) VALUES(?,?,?,?,?,?,?,?,?,?,?,?,0,?,?,?) ", Array As Object (ALMACEN, ((cantmermacobro)*preciofull), preciofull, cantmermacobro, idParts(1), idParts(0), 63403, fecha, usuario, 1000, 0, "MERMA_COBRO",0,0,consecutivo)) + Else + mermacobro.Position = 0 + Starter.skmt.ExecNonQuery($"update PEDIDO set PE_CANT = '${cantmermacobro}', PE_COSTO_TOT= '${cantmermacobro}'*'${preciofull}' WHERE PE_PROID = '${idParts(0)}' and PE_CLIENTE = '63403' AND CONSECUTIVO = '${mermacobro.GetString("CONSECUTIVO")}' and PE_FOLIO = 'MERMA_COBRO' "$) + End If + Else If cantmermacobro = 0 Then + Dim mermacobro As Cursor = Starter.skmt.ExecQuery2("SELECT * FROM PEDIDO where PE_PROID = ? AND PE_FOLIO = 'MERMA_COBRO' ", Array As String (idParts(0))) + If mermacobro.RowCount > 0 Then + mermacobro.Position = 0 + Starter.skmt.ExecNonQuery($"delete from PEDIDO where PE_PROID = '${idParts(0)}' and PE_CLIENTE = '63403' AND CONSECUTIVO = '${mermacobro.GetString("CONSECUTIVO")}' AND PE_FOLIO = 'MERMA_COBRO' "$) + End If + End If + + Else If merma.RowCount > 0 Then + Log("aQUI") + merma.Position = 0 + Dim preciocat As Cursor = Starter.skmt.ExecQuery($"select IFNULL(CAT_DP_PRECIO9,0) AS CAT_GP_PRECIO from CAT_GUNAPROD2 WHERE CAT_GP_ID = '${idParts(0)}'"$) + If preciocat.RowCount > 0 Then + preciocat.Position = 0 + Dim preciofull As String = preciocat.GetString("CAT_GP_PRECIO") + + End If + + If labelcantmerma.Text <> "" Then + Dim cantmerma As Int = labelcantmerma.Text + Else If labelcantcobro.Text = "" Then + Dim cantmerma As Int = 0 + End If + + + If labelcantcobro.Text <> "" Then + Dim cantmermacobro As Int = labelcantcobro.Text + Else If labelcantcobro.Text = "" Then + Dim cantmermacobro As Int = 0 + End If + + +' Starter.skmt.ExecNonQuery($"update PEDIDO set PE_CANT = '${(cantmerma - cantmermacobro)}' WHERE PE_PROID = '${idParts(0)}' and PE_CLIENTE = '63403' AND CONSECUTIVO = '${merma.GetString("CONSECUTIVO")}' AND PE_FOLIO = 'MERMA' "$) + + If cantmerma > 0 Then + Starter.skmt.ExecNonQuery($"update PEDIDO set PE_CANT = '${(cantmerma - cantmermacobro)}' WHERE PE_PROID = '${idParts(0)}' and PE_CLIENTE = '63403' AND CONSECUTIVO = '${merma.GetString("CONSECUTIVO")}' AND PE_FOLIO = 'MERMA' "$) + Else If cantmerma = 0 Then + Starter.skmt.ExecNonQuery($"delete from PEDIDO where PE_PROID = '${idParts(0)}' and PE_CLIENTE = '63403' AND CONSECUTIVO = '${merma.GetString("CONSECUTIVO")}' AND PE_FOLIO = 'MERMA' "$) + End If + + If cantmermacobro > 0 Then + Dim mermacobro As Cursor = Starter.skmt.ExecQuery2("SELECT * FROM PEDIDO where PE_PROID = ? AND PE_FOLIO = 'MERMA_COBRO' ", Array As String (idParts(0))) + If mermacobro.RowCount = 0 Then + consecutivo = consecutivo + 1 + Log("trueno") + B4XPages.MainPage.skmt.ExecNonQuery2("INSERT INTO PEDIDO (PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO,PE_RUTA,PE_COSTO_SIN,PE_FOLIO,PE_ENVIO_OK,PE_CANTC,PE_BCAJAS,CONSECUTIVO) VALUES(?,?,?,?,?,?,?,?,?,?,?,?,0,?,?,?) ", Array As Object (ALMACEN, ((cantmermacobro)*preciofull), preciofull, cantmermacobro, idParts(1), idParts(0), 63403, fecha, usuario, 1000, 0, "MERMA_COBRO",0,0,consecutivo)) + Else + mermacobro.Position = 0 + Starter.skmt.ExecNonQuery($"update PEDIDO set PE_CANT = '${cantmermacobro}', PE_COSTO_TOT= '${cantmermacobro}'*'${preciofull}' WHERE PE_PROID = '${idParts(0)}' and PE_CLIENTE = '63403' AND CONSECUTIVO = '${mermacobro.GetString("CONSECUTIVO")}' and PE_FOLIO = 'MERMA_COBRO' "$) + End If + Else If cantmermacobro = 0 Then + Dim mermacobro As Cursor = Starter.skmt.ExecQuery2("SELECT * FROM PEDIDO where PE_PROID = ? AND PE_FOLIO = 'MERMA_COBRO' ", Array As String (idParts(0))) + If mermacobro.RowCount > 0 Then + mermacobro.Position = 0 + Starter.skmt.ExecNonQuery($"delete from PEDIDO where PE_PROID = '${idParts(0)}' and PE_CLIENTE = '63403' AND CONSECUTIVO = '${mermacobro.GetString("CONSECUTIVO")}' AND PE_FOLIO = 'MERMA_COBRO' "$) + End If + End If + + End If + Else If (labelcantmerma.Text = "" Or labelcantmerma.Text = 0) Then + Log("AQUI SI") + Dim merma As Cursor = Starter.skmt.ExecQuery2("SELECT * FROM PEDIDO where PE_PROID = ? AND PE_FOLIO = 'MERMA' ", Array As String (idParts(0))) + If merma.RowCount > 0 Then + merma.Position = 0 + + Starter.skmt.ExecNonQuery($"delete from PEDIDO where PE_PROID = '${idParts(0)}' and PE_CLIENTE = '63403' AND PE_FOLIO = 'MERMA' "$) + Starter.skmt.ExecNonQuery($"delete from PEDIDO where PE_PROID = '${idParts(0)}' and PE_CLIENTE = '63403' AND PE_FOLIO = 'MERMA_COBRO' "$) + End If + + + End If + + + End If + f.Close + a.Close + Log("Processed item " & i) + Next + Starter.skmt.ExecNonQuery($"delete from PEDIDO where PE_CANT = '0' and PE_CLIENTE = '63403' "$) + + c = Starter.skmt.ExecQuery("SELECT PC_ID_PROD, PC_ALMACEN, PC_RUTA, PC_FECHA FROM PICK_CIEGO") + If c.RowCount > 0 Then + For i = 0 To c.RowCount - 1 + c.Position = i + Dim cmd As DBCommand + cmd.Initialize + cmd.Name = "select_HIST_PICKCIEGO_TGUERRERAS" ' + cmd.Parameters = Array As Object(c.GetString("PC_ID_PROD"), c.GetString("PC_ALMACEN"), c.GetString("PC_RUTA"), c.GetString("PC_FECHA"), "VENTA") + reqManager.ExecuteQuery(cmd , 0, $"PICK_C_${c.GetString("PC_ID_PROD")}"$) + Next + End If + c.close Envioinfo P_CIEGO.Visible = False +End Sub + +Private Sub et_cobro_TextChanged (Old As String, New As String) + +End Sub + +Private Sub et_cobro_FocusChanged (HasFocus As Boolean) + etCantHasFocus = False +End Sub + +Private Sub et_merma_TextChanged (Old As String, New As String) + If etCantHasFocus = True Then + Dim index As Int = CLV_PICK_CIEGO.GetItemFromView(Sender) + Dim itemPanel As B4XView = CLV_PICK_CIEGO.GetPanel(index) + Dim innerPanel As B4XView = itemPanel.GetView(0) + Dim editText As B4XView = innerPanel.GetView(4) + Dim inputText As String = editText.As(EditText).Text + Dim labelcant As B4XView = innerPanel.GetView(5) + Dim labelcantmerma As B4XView = innerPanel.GetView(6) + Dim labelcantcobro As B4XView = innerPanel.GetView(12) + Dim cantidadrestar As String = labelcant.As(Label).Text + + If New = "" Then New = 0 + If Old = "" Or Old = Null Then New = 0 + If labelcantmerma.Text = "" Then labelcantcobro.Text = 0 + If labelcantmerma.Text = 0 Then labelcantcobro.Text = 0 + End If +End Sub + +Private Sub et_merma_FocusChanged (HasFocus As Boolean) + LogColor($"focus changed=${HasFocus}"$, Colors.Magenta) + + Dim index As Int = CLV_PICK_CIEGO.GetItemFromView(Sender) + Dim itemPanel As B4XView = CLV_PICK_CIEGO.GetPanel(index) + Dim innerPanel As B4XView = itemPanel.GetView(0) + Dim editText As B4XView = innerPanel.GetView(4) + Dim inputText As String = editText.As(EditText).Text + Dim labelcant As B4XView = innerPanel.GetView(5) + Dim labelcantmerma As B4XView = innerPanel.GetView(6) + Dim labelcantcobro As B4XView = innerPanel.GetView(12) + Dim cantidadrestar As String = labelcant.As(Label).Text + + etCantHasFocus = HasFocus +End Sub + +Private Sub ET_PICK_CIEGO_FocusChanged (HasFocus As Boolean) + etCantHasFocus = False +End Sub + +Private Sub L_CANT_PCIK_Click + etCantHasFocus = False +End Sub + +Private Sub P_PICK_CIEGO_Click + etCantHasFocus = False +End Sub + +Private Sub Label4_Click + etCantHasFocus = False +End Sub + +Private Sub Label2_Click + etCantHasFocus = False +End Sub + +Private Sub L_PICK_CIEGO_Click + etCantHasFocus = False +End Sub + +Private Sub Label3_Click + etCantHasFocus = False +End Sub + +Private Sub Label1_Click + etCantHasFocus = False +End Sub + +Private Sub b_recarga_Click + Starter.skmt.ExecNonQuery("delete from CUENTAA") + Starter.skmt.ExecNonQuery2("INSERT INTO CUENTAA VALUES (?)", Array As Object("1")) + B4XPages.MainPage.tipo_venta = "RECARGA" + B4XPages.ShowPage("Productos") End Sub \ No newline at end of file diff --git a/B4A/C_Productos.bas b/B4A/C_Productos.bas index 59f3866..acd12d3 100644 --- a/B4A/C_Productos.bas +++ b/B4A/C_Productos.bas @@ -1487,7 +1487,7 @@ Sub Busca_TextChanged (Old As String, New As String) ' B4XPages.MainPage.skmt.ExecQuery($"select DISTINCT CAT_GP_ID, CAT_GP_NOMBRE, CAT_GP_ALMACEN, CAT_GP_PRECIO, CAT_GP_TIPOPROD, CAT_DP_CONVERSION1, CAT_DP_PRECIO10, PE_BCAJAS from ${Starter.tabla} LEFT JOIN PEDIDO ON CAT_GP_ID = PE_PROID where CAT_GP_NOMBRE like '%${New}%' AND CAT_GP_PRECIO > 0 And CAT_GP_ALMACEN > 0 And CAT_GP_CLASIF <> 'PROMOS' union all select DISTINCT CAT_GP_ID, CAT_GP_NOMBRE, CAT_GP_ALMACEN, CAT_GP_PRECIO, CAT_GP_TIPOPROD, CAT_DP_CONVERSION1, CAT_DP_PRECIO10 , PE_BCAJAS from ${Starter.tabla} LEFT JOIN PEDIDO ON CAT_GP_ID = PE_PROID where CAT_GP_PRECIO > 0 And CAT_GP_ALMACEN = 0 And CAT_GP_CLASIF <> 'PROMOS' and cat_gp_id in (select pe_proid from pedido where pe_cliente in (select cuenta from cuentaa)) order by 2"$) Else Log("AQUI2") - Dim p As ResultSet = B4XPages.MainPage.skmt.ExecQuery($"select distinct CAT_GP_ID, CAT_GP_NOMBRE, CAT_GP_ALMACEN, CAT_DP_PRECIO${Subs.traeTipoCliente} as CAT_GP_PRECIO, CAT_GP_TIPOPROD, CAT_DP_CONVERSION1, CAT_DP_PRECIO10, PE_BCAJAS from ${Starter.tabla} LEFT JOIN PEDIDO ON CAT_GP_ID = PE_PROID where CAT_GP_NOMBRE like '%${New}%' AND CAT_DP_PRECIO${Subs.traeTipoCliente} > 0 And CAT_GP_ALMACEN > 0 And CAT_GP_CLASIF <> 'PROMOS' union all select CAT_GP_ID, CAT_GP_NOMBRE, CAT_GP_ALMACEN, CAT_DP_PRECIO${Subs.traeTipoCliente} AS CAT_GP_PRECIO, CAT_GP_TIPOPROD, CAT_DP_CONVERSION1, CAT_DP_PRECIO10 , PE_BCAJAS from ${Starter.tabla} LEFT JOIN PEDIDO ON CAT_GP_ID = PE_PROID where CAT_DP_PRECIO${Subs.traeTipoCliente} > 0 And CAT_GP_ALMACEN = 0 And CAT_GP_CLASIF <> 'PROMOS' and cat_gp_id in (select pe_proid from pedido where pe_cliente in (select cuenta from cuentaa)) order by 2"$) + Dim p As ResultSet = B4XPages.MainPage.skmt.ExecQuery($"select distinct CAT_GP_ID, CAT_GP_NOMBRE, CAT_GP_ALMACEN, CAT_DP_PRECIO${Subs.traeTipoCliente} as CAT_GP_PRECIO, CAT_GP_TIPOPROD, CAT_DP_CONVERSION1, CAT_DP_PRECIO10, PE_BCAJAS from ${Starter.tabla} LEFT JOIN PEDIDO ON CAT_GP_ID = PE_PROID where CAT_GP_NOMBRE like '%${New}%' AND CAT_DP_PRECIO${Subs.traeTipoCliente} > 0 AND CAT_DP_PRECIO${Subs.traeTipoCliente} <> 0.0 And CAT_GP_ALMACEN > 0 And CAT_GP_CLASIF <> 'PROMOS' union all select CAT_GP_ID, CAT_GP_NOMBRE, CAT_GP_ALMACEN, CAT_DP_PRECIO${Subs.traeTipoCliente} AS CAT_GP_PRECIO, CAT_GP_TIPOPROD, CAT_DP_CONVERSION1, CAT_DP_PRECIO10 , PE_BCAJAS from ${Starter.tabla} LEFT JOIN PEDIDO ON CAT_GP_ID = PE_PROID where CAT_DP_PRECIO${Subs.traeTipoCliente} > 0 AND CAT_DP_PRECIO${Subs.traeTipoCliente} <> 0.0 And CAT_GP_ALMACEN = 0 And CAT_GP_CLASIF <> 'PROMOS' and cat_gp_id in (select pe_proid from pedido where pe_cliente in (select cuenta from cuentaa)) order by 2"$) End If ' Dim p As ResultSet = B4XPages.MainPage.skmt.ExecQuery($"select DISTINCT CAT_GP_ID, CAT_GP_NOMBRE, CAT_GP_ALMACEN, CAT_GP_PRECIO, CAT_GP_TIPOPROD, CAT_DP_CONVERSION1, CAT_DP_PRECIO10, PE_BCAJAS from ${Starter.tabla} LEFT JOIN PEDIDO ON CAT_GP_ID = PE_PROID where CAT_GP_NOMBRE like '%${New}%' AND CAT_GP_PRECIO > 0 And CAT_GP_ALMACEN > 0 And CAT_GP_CLASIF <> 'PROMOS' union all select DISTINCT CAT_GP_ID, CAT_GP_NOMBRE, CAT_GP_ALMACEN, CAT_GP_PRECIO, CAT_GP_TIPOPROD, CAT_DP_CONVERSION1, CAT_DP_PRECIO10 , PE_BCAJAS from ${Starter.tabla} LEFT JOIN PEDIDO ON CAT_GP_ID = PE_PROID where CAT_GP_PRECIO > 0 And CAT_GP_ALMACEN = 0 And CAT_GP_CLASIF <> 'PROMOS' and cat_gp_id in (select pe_proid from pedido where pe_cliente in (select cuenta from cuentaa)) order by 2"$) @@ -1539,13 +1539,14 @@ Sub LlenaProdsLL(p As ResultSet) ' Log("NO HAY RESULSET") LogColor(Starter.tabla,Colors.blue) ' Dim p As ResultSet = B4XPages.MainPage.skmt.ExecQuery($"select CAT_GP_ID, CAT_GP_NOMBRE, CAT_GP_ALMACEN, CAT_GP_PRECIO, CAT_GP_TIPOPROD from ${Starter.tabla} where CAT_GP_PRECIO > 0 And CAT_GP_ALMACEN > 0 And CAT_GP_CLASIF <> 'PROMOS' order by CAT_GP_NOMBRE"$) - + Log(Subs.traeTipoCliente) If Subs.traeTipoCliente = "0" Then Log("AQUI") Dim p As ResultSet = B4XPages.MainPage.skmt.ExecQuery($"select distinct CAT_GP_ID, CAT_GP_NOMBRE, CAT_GP_ALMACEN, CAT_GP_PRECIO, CAT_GP_TIPOPROD, CAT_DP_CONVERSION1, CAT_DP_PRECIO10, PE_BCAJAS from ${Starter.tabla} LEFT JOIN PEDIDO ON CAT_GP_ID = PE_PROID where CAT_GP_PRECIO > 0 And CAT_GP_ALMACEN > 0 And CAT_GP_CLASIF <> 'PROMOS' union all select CAT_GP_ID, CAT_GP_NOMBRE, CAT_GP_ALMACEN, CAT_GP_PRECIO, CAT_GP_TIPOPROD, CAT_DP_CONVERSION1, CAT_DP_PRECIO10 , PE_BCAJAS from ${Starter.tabla} LEFT JOIN PEDIDO ON CAT_GP_ID = PE_PROID where CAT_GP_PRECIO > 0 And CAT_GP_ALMACEN = 0 And CAT_GP_CLASIF <> 'PROMOS' and cat_gp_id in (select pe_proid from pedido where pe_cliente in (select cuenta from cuentaa)) order by 2"$) Else Log("AQUI2") - Dim p As ResultSet = B4XPages.MainPage.skmt.ExecQuery($"select distinct CAT_GP_ID, CAT_GP_NOMBRE, CAT_GP_ALMACEN, CAT_DP_PRECIO${Subs.traeTipoCliente} as CAT_GP_PRECIO, CAT_GP_TIPOPROD, CAT_DP_CONVERSION1, CAT_DP_PRECIO10, PE_BCAJAS from ${Starter.tabla} LEFT JOIN PEDIDO ON CAT_GP_ID = PE_PROID where CAT_DP_PRECIO${Subs.traeTipoCliente} > 0 And CAT_GP_ALMACEN > 0 And CAT_GP_CLASIF <> 'PROMOS' union all select CAT_GP_ID, CAT_GP_NOMBRE, CAT_GP_ALMACEN, CAT_DP_PRECIO${Subs.traeTipoCliente} AS CAT_GP_PRECIO, CAT_GP_TIPOPROD, CAT_DP_CONVERSION1, CAT_DP_PRECIO10 , PE_BCAJAS from ${Starter.tabla} LEFT JOIN PEDIDO ON CAT_GP_ID = PE_PROID where CAT_DP_PRECIO${Subs.traeTipoCliente} > 0 And CAT_GP_ALMACEN = 0 And CAT_GP_CLASIF <> 'PROMOS' and cat_gp_id in (select pe_proid from pedido where pe_cliente in (select cuenta from cuentaa)) order by 2"$) + Dim p As ResultSet = B4XPages.MainPage.skmt.ExecQuery($"select distinct CAT_GP_ID, CAT_GP_NOMBRE, CAT_GP_ALMACEN, CAT_DP_PRECIO${Subs.traeTipoCliente} as CAT_GP_PRECIO, CAT_GP_TIPOPROD, CAT_DP_CONVERSION1, CAT_DP_PRECIO10, PE_BCAJAS from ${Starter.tabla} LEFT JOIN PEDIDO ON CAT_GP_ID = PE_PROID where CAT_DP_PRECIO${Subs.traeTipoCliente} > 0 AND CAT_DP_PRECIO${Subs.traeTipoCliente} <> 0.0 And CAT_GP_ALMACEN > 0 And CAT_GP_CLASIF <> 'PROMOS' union all select CAT_GP_ID, CAT_GP_NOMBRE, CAT_GP_ALMACEN, CAT_DP_PRECIO${Subs.traeTipoCliente} AS CAT_GP_PRECIO, CAT_GP_TIPOPROD, CAT_DP_CONVERSION1, CAT_DP_PRECIO10 , PE_BCAJAS from ${Starter.tabla} LEFT JOIN PEDIDO ON CAT_GP_ID = PE_PROID where CAT_DP_PRECIO${Subs.traeTipoCliente} > 0 AND CAT_DP_PRECIO${Subs.traeTipoCliente} <> 0.0 And CAT_GP_ALMACEN = 0 And CAT_GP_CLASIF <> 'PROMOS' and cat_gp_id in (select pe_proid from pedido where pe_cliente in (select cuenta from cuentaa)) order by 2"$) + Log($"select distinct CAT_GP_ID, CAT_GP_NOMBRE, CAT_GP_ALMACEN, CAT_DP_PRECIO${Subs.traeTipoCliente} as CAT_GP_PRECIO, CAT_GP_TIPOPROD, CAT_DP_CONVERSION1, CAT_DP_PRECIO10, PE_BCAJAS from ${Starter.tabla} LEFT JOIN PEDIDO ON CAT_GP_ID = PE_PROID where CAT_DP_PRECIO${Subs.traeTipoCliente} > 0 And CAT_GP_ALMACEN > 0 And CAT_GP_CLASIF <> 'PROMOS' union all select CAT_GP_ID, CAT_GP_NOMBRE, CAT_GP_ALMACEN, CAT_DP_PRECIO${Subs.traeTipoCliente} AS CAT_GP_PRECIO, CAT_GP_TIPOPROD, CAT_DP_CONVERSION1, CAT_DP_PRECIO10 , PE_BCAJAS from ${Starter.tabla} LEFT JOIN PEDIDO ON CAT_GP_ID = PE_PROID where CAT_DP_PRECIO${Subs.traeTipoCliente} > 0 And CAT_GP_ALMACEN = 0 And CAT_GP_CLASIF <> 'PROMOS' and cat_gp_id in (select pe_proid from pedido where pe_cliente in (select cuenta from cuentaa)) order by 2"$) End If End If diff --git a/B4A/C_Productosdev.bas b/B4A/C_Productosdev.bas index f10b794..670cbf4 100644 --- a/B4A/C_Productosdev.bas +++ b/B4A/C_Productosdev.bas @@ -144,10 +144,10 @@ End Sub Sub B4XPage_Appear Log(B4XPages.MainPage.tipo_venta) - If B4XPages.MainPage.tipo_venta = "PREVENTA_CONTADO" Or B4XPages.MainPage.tipo_venta = "ABORDO" Or B4XPages.MainPage.tipo_venta = "DEVOLUCION" Then + If B4XPages.MainPage.tipo_venta = "PREVENTA_CONTADO" Or B4XPages.MainPage.tipo_venta = "ABORDO" Then Starter.tabla = "CAT_GUNAPROD" Log("1") - Else If B4XPages.MainPage.tipo_venta = "VENTA" Then + Else If B4XPages.MainPage.tipo_venta = "VENTA" Or B4XPages.MainPage.tipo_venta = "DEVOLUCION" Then Starter.tabla = "CAT_GUNAPROD2" Log(2) Else If B4XPages.MainPage.tipo_venta = "RECARGA" Then @@ -546,9 +546,6 @@ Sub CreateListItem(Text As String, precioU As String, inv As Int, Width As Int, End Sub Sub b_prodMenos_Click - - - totalcajasmaspiezas = 0 etCantHasFocus = False Root.RequestFocus @@ -563,112 +560,92 @@ Sub b_prodMenos_Click Dim panelcajas As B4XView = pnl.GetView(3) Dim panelpiezas As B4XView = pnl.GetView(2) ' Log($"precio|stock:${laCant.tag}"$) + If laCant.Text = "" Then laCant.Text = 0 +' Log("lacant.text="&laCant.text) + laCant.Text = $"${NumberFormat2(laCant.Text-1,0,0,0,False)}"$ + If laCant.Text < 0 Then laCant.Text = 0 Private tmpMap1 As Map = clv_prods_ll.GetValue(index).As(Map) Private precio As String=clv_prods_ll.GetValue(index).As(Map).Get("precio") Private id As String=clv_prods_ll.GetValue(index).As(Map).Get("id") Private tmpMap As Map = CreateMap("precio":precio, "cant":laCant.Text, "almacen":Subs.traeAlmacen) Private nombreX As String = Subs.traeProdNombre(id) - - Private abor As Cursor = B4XPages.MainPage.skmt.ExecQuery($"select * from CAT_GUNAPROD2 where CAT_GP_ID = '${id}'"$) - - If abor.RowCount > 0 Then - abor.Position = 0 - If abor.GetInt("CAT_GP_ALMACEN") -1 >= 0 Then - - - If laCant.Text = "" Then laCant.Text = 0 -' Log("lacant.text="&laCant.text) - - - laCant.Text = $"${NumberFormat2(laCant.Text-1,0,0,0,False)}"$ - If laCant.Text < 0 Then laCant.Text = 0 - LogColor(tmpMap1,Colors.Magenta) - - - + LogColor(tmpMap1,Colors.Magenta) ' prodsMap.Put(id, tmpMap) - If laCant.Text = 0 Then prodsMap.Remove(id) + If laCant.Text = 0 Then prodsMap.Remove(id) - If laCant.Text = 0 Then - panelcajas.Visible = True - Else If laCant.Text > 0 Then - panelcajas.Visible = False - End If + If laCant.Text = 0 Then + panelcajas.Visible = True + Else If laCant.Text > 0 Then + panelcajas.Visible = False + End If ' If laCant2.IsInitialized Then ' totalcajasmaspiezas = laCant.Text + laCant2.Text ' Else ' totalcajasmaspiezas = laCant.Text ' End If - LogColor("prodsMap="&prodsMap, Colors.blue) + LogColor("prodsMap="&prodsMap, Colors.blue) ' (Subs.traeAlmacen, p1.Get("precio"), p1.Get("cant"), pn, p, clienteId, Subs.traeFecha, Subs.traeUsuarioDeBD, rutaUsuario, 0, B4XPages.MainPage.tipo_venta) - Log($"${Subs.traeAlmacen}, ${precio}, ${laCant.text}, ${Subs.traeProdNombre(id)}, ${id}, ${clienteId}"$) - Subs.actualizaProducto3(Subs.traeAlmacen, 0, laCant.Text, Subs.traeProdNombre(id), id, clienteId, Subs.traeFecha, Subs.traeUsuarioDeBD, rutaUsuario, 0, B4XPages.MainPage.tipo_venta,0,0) - cuentaProds - LogColor("prodsMap="&prodsMap, Colors.blue) - Log($"Total Prods: ${totalProds}, Total Compra: $$1.2{totalCompra}"$) - If 1 = 1 Then - Private cs As CSBuilder - cs.Initialize - Private o As Cursor = Starter.skmt.ExecQuery($"select CAT_GP_ALMACEN from ${Starter.tabla} where CAT_GP_ID = '${id}'"$) - Private invActualizado As String = "0" - If o.RowCount > 0 Then - o.Position = 0 - invActualizado = o.GetString("CAT_GP_ALMACEN") - End If - If clv_prods_ll.GetValue(index).As(Map).Get("precio_caja").As(Float) = 0 Or clv_prods_ll.GetValue(index).As(Map).Get("conversion").As(Int) = 1 Then - Private maxcajas As Int = 0 - Log("cajas a 0") - Else - Private maxcajas As Int = invActualizado/clv_prods_ll.GetValue(index).As(Map).Get("conversion") - Log("cajas no a 0") - End If + Log($"${Subs.traeAlmacen}, ${precio}, ${laCant.text}, ${Subs.traeProdNombre(id)}, ${id}, ${clienteId}"$) + Subs.actualizaProducto3(Subs.traeAlmacen, 0, laCant.Text, Subs.traeProdNombre(id), id, clienteId, Subs.traeFecha, Subs.traeUsuarioDeBD, rutaUsuario, 0, B4XPages.MainPage.tipo_venta,0,0) + cuentaProds + LogColor("prodsMap="&prodsMap, Colors.blue) + Log($"Total Prods: ${totalProds}, Total Compra: $$1.2{totalCompra}"$) + If 1 = 1 Then + Private cs As CSBuilder + cs.Initialize + Private o As Cursor = Starter.skmt.ExecQuery($"select CAT_GP_ALMACEN from ${Starter.tabla} where CAT_GP_ID = '${id}'"$) + Private invActualizado As String = "0" + If o.RowCount > 0 Then + o.Position = 0 + invActualizado = o.GetString("CAT_GP_ALMACEN") + End If + If clv_prods_ll.GetValue(index).As(Map).Get("precio_caja").As(Float) = 0 Or clv_prods_ll.GetValue(index).As(Map).Get("conversion").As(Int) = 1 Then + Private maxcajas As Int = 0 + Log("cajas a 0") + Else + Private maxcajas As Int = invActualizado/clv_prods_ll.GetValue(index).As(Map).Get("conversion") + Log("cajas no a 0") + End If ' Private maxcajas As Int = invActualizado/clv_prods_ll.GetValue(index).As(Map).Get("conversion") -' If 2 = 2 Then lProdX.Text = cs.Color(Colors.red).append(nombreX).pop.Append(CRLF).Append("Existencias: " & invActualizado).Color(0xFF017F01).Append($" $${NumberFormat2(precio, 1, 2, 2, False)}${CRLF}Max. Cajas: ${maxcajas}"$).Popall - If 2 = 2 Then lProdX.Text = cs.Color(Colors.red).append(nombreX).Popall -' If 2 = 2 Then lProdX.Text = "" + If 2 = 2 Then lProdX.Text = cs.Color(Colors.red).append(nombreX).pop.Append(CRLF).Append("Existencias: " & invActualizado).Color(0xFF017F01).Append($" $${NumberFormat2(0, 1, 2, 2, False)}"$).Popall ' Log(lProdX.Text) - End If + End If - If laCant.Text = 0 Then - If maxcajas > 0 Then - panelcajas.Visible = False - Else - panelcajas.Visible = False - End If - Else If laCant.Text > 0 Then - panelcajas.Visible = False - End If + If laCant.Text = 0 Then + If maxcajas > 0 Then + panelcajas.Visible = True + Else + panelcajas.Visible = False + End If + Else If laCant.Text > 0 Then + panelcajas.Visible = False + End If ' If Subs.totalPedido < 1 Then laCant.Text = "0" - invTotal = totalcajasmaspiezas + Subs.traeinventario(id) - 'aqui si lo comentamos aparece la parte de cajas - If tmpMap1.Get("conversion") = "1" Or tmpMap1.Get("precio_caja") = "0" Then - Log("invisible") - panelbotonesc.Visible = False - End If - - If clv_prods_ll.GetValue(index).As(Map).Get("almacen") < clv_prods_ll.GetValue(index).As(Map).Get("conversion") Then - Log(clv_prods_ll.GetValue(index).As(Map).Get("cant")) - If clv_prods_ll.GetValue(index).As(Map).Get("cant").As(Int) = 0 Then - Log("Aqui debemos ponerlo invisible") - panelcajas.Visible = False - Else - - End If -' p_botMasMenc.Visible = False - End If - - Else - MsgboxAsync("No se puede quitar la devolucion por que no hay producto fisico.","Atención.") - End If + invTotal = totalcajasmaspiezas + Subs.traeinventario(id) + 'aqui si lo comentamos aparece la parte de cajas + If tmpMap1.Get("conversion") = "1" Or tmpMap1.Get("precio_caja") = "0" Then + Log("invisible") + panelbotonesc.Visible = False End If - + If clv_prods_ll.GetValue(index).As(Map).Get("almacen") < clv_prods_ll.GetValue(index).As(Map).Get("conversion") Then + Log(clv_prods_ll.GetValue(index).As(Map).Get("cant")) + If clv_prods_ll.GetValue(index).As(Map).Get("cant").As(Int) = 0 Then + Log("Aqui debemos ponerlo invisible") + panelcajas.Visible = False + Else + + End If +' p_botMasMenc.Visible = False + End If 'fin aparecer parte de cajas ' LogColor("InvTotal PRODMAS: " & invTotal, Colors.Red) End Sub + Sub b_prodMas_Click + totalcajasmaspiezas = 0 etCantHasFocus = False Root.RequestFocus @@ -683,11 +660,15 @@ Sub b_prodMas_Click Dim laCant2 As B4XView = pnl.GetView(3).GetView(2) Dim lProdX As B4XView = pnl.GetView(1) + ' Private tmpMap As Map = clv_prods_ll.GetValue(index).As(Map) Private precio As String=clv_prods_ll.GetValue(index).As(Map).Get("precio") Private inv As String=clv_prods_ll.GetValue(index).As(Map).Get("almacen") Private existencias As String = clv_prods_ll.GetValue(index).As(Map).Get("almacen") Log($"Existencias: ${existencias}"$) + If laCant.Text + 1 <= existencias Then + + If laCant.Text = "" Then laCant.Text = 0 Private id As String=clv_prods_ll.GetValue(index).As(Map).Get("id") ' If laCant.Text + 1 <= inv Then @@ -710,66 +691,7 @@ Sub b_prodMas_Click Log(B4XPages.MainPage.cliente.credito_diponible) LogColor(laCant.Text,Colors.Red) - If B4XPages.MainPage.tipo_venta = "PREVENTA_CREDITO" Then - - Dim fg As Cursor = Starter.skmt.ExecQuery("Select IFNULL(sum(PE_COSTO_TOT),0) AS COSTO FROM PEDIDO WHERE PE_CLIENTE IN (SELECT CUENTA FROM CUENTAA) AND PE_FOLIO = 'PREVENTA_CREDITO'") - fg.Position = 0 - - If fg.GetString("COSTO") + precio <= B4XPages.MainPage.cliente.credito_diponible Then - - If Subs.traeinventario(id) > 0 And (laCant.Text <= (laCant.Text + Subs.traeinventario(id))) Then 'And (Subs.totalPedido - precio > 1) -' Log(clv_prods_ll.GetValue(index).As(Map)) - clv_prods_ll.GetValue(index).As(Map).Put("almacen", (inv - 1)) - inv = inv - 1 -' laCant.Text = $"$1.0{laCant.Text+1}"$ - laCant.Text = NumberFormat2((laCant.Text + 1), 1, 0, 0, False) -' Log(clv_prods_ll.GetValue(index).As(Map)) - End If - Private nombreX As String = Subs.traeProdNombre(id) -' Subs.actualizaProducto(Subs.traeAlmacen, laCant.text, id, clienteId) - - If laCant.Text > 0 Then - panelcajas.Visible = False - Else If laCant.Text = 0 Then - panelcajas.Visible = True - End If - - LogColor(laCant.Text,Colors.Red) -' If laCant2.IsInitialized Then -' totalcajasmaspiezas = laCant.Text + laCant2.Text -' Else -' totalcajasmaspiezas = laCant.Text -' End If - - Subs.actualizaProducto3(Subs.traeAlmacen, 0, laCant.Text, Subs.traeProdNombre(id), id, clienteId, Subs.traeFecha, Subs.traeUsuarioDeBD, rutaUsuario, 0, B4XPages.MainPage.tipo_venta,0,0) - cuentaProds -' Log($"Total Prods: ${totalProds}, Total Compra: $$1.2{totalCompra}"$) - If 1 = 1 Then - Private cs As CSBuilder - cs.Initialize - Private o As Cursor = Starter.skmt.ExecQuery($"select CAT_GP_ALMACEN from ${Starter.tabla} where CAT_GP_ID = '${id}'"$) - Private invActualizado As String = "0" - If o.RowCount > 0 Then - o.Position = 0 - invActualizado = o.GetString("CAT_GP_ALMACEN") - End If - If clv_prods_ll.GetValue(index).As(Map).Get("precio_caja").As(Float) = 0 Or clv_prods_ll.GetValue(index).As(Map).Get("conversion").As(Int) = 1 Then - Private maxcajas As Int = 0 - Log("cajas a 0") - Else - Private maxcajas As Int = invActualizado/clv_prods_ll.GetValue(index).As(Map).Get("conversion") - Log("cajas no a 0") - End If - If 2 = 2 Then lProdX.Text = cs.Color(Colors.red).append(nombreX).pop.Append(CRLF).Append("Existencias: " & invActualizado).Color(0xFF017F01).Append($" $${NumberFormat2(precio, 1, 2, 2, False)}${CRLF}Max. Cajas: ${maxcajas}"$).Popall -' Log(lProdX.Text) - End If - invTotal = totalcajasmaspiezas + Subs.traeinventario(id) -' LogColor("InvTotal PRODMAS: " & invTotal, Colors.Red) - Else - MsgboxAsync("No se puede meter mas venta a credito por que supera el limite del credito","Atencion") - End If - Else If Subs.traeinventario(id) > 0 And (laCant.Text <= (laCant.Text + Subs.traeinventario(id))) Then 'And (Subs.totalPedido - precio > 1) ' Log(clv_prods_ll.GetValue(index).As(Map)) @@ -815,9 +737,7 @@ Sub b_prodMas_Click Private maxcajas As Int = invActualizado/clv_prods_ll.GetValue(index).As(Map).Get("conversion") Log("cajas no a 0") End If -' If 2 = 2 Then lProdX.Text = cs.Color(Colors.red).append(nombreX).pop.Append(CRLF).Append("Existencias: " & invActualizado).Color(0xFF017F01).Append($" $${NumberFormat2(precio, 1, 2, 2, False)}${CRLF}Max. Cajas: ${maxcajas}"$).Popall - If 2 = 2 Then lProdX.Text = cs.Color(Colors.red).append(nombreX).Popall -' If 2 = 2 Then lProdX.Text = "" + If 2 = 2 Then lProdX.Text = cs.Color(Colors.red).append(nombreX).pop.Append(CRLF).Append("Existencias: " & invActualizado).Color(0xFF017F01).Append($" $${NumberFormat2(0, 1, 2, 2, False)}"$).Popall ' Log(lProdX.Text) End If invTotal = totalcajasmaspiezas + Subs.traeinventario(id) @@ -825,7 +745,6 @@ Sub b_prodMas_Click End If - End Sub Private Sub et_pCant_FocusChanged (HasFocus As Boolean) @@ -851,9 +770,12 @@ Private Sub et_pCant_FocusChanged (HasFocus As Boolean) cuentaProds End Sub + + + Private Sub et_pCant_TextChanged (Old As String, New As String) ' Log(etCantHasFocus) -' Log("InvTotal: " & invTotal) + Log("InvTotal: " & invTotal) If etCantHasFocus = True Then LogColor($"txt changed: ${Old}|${New}, hasfocus=${etCantHasFocus}"$,Colors.Magenta) Dim index As Int = clv_prods_ll.GetItemFromView(Sender) @@ -873,7 +795,8 @@ Private Sub et_pCant_TextChanged (Old As String, New As String) If(New = "" Or New = Null Or New = "-") Then New = 0 ' If New < 0 Then New = 0 If(New > invTotal) Then - Sender.As(EditText).text = invTotal +' Sender.As(EditText).text = invTotal + Sender.As(EditText).text = Subs.traeinventario(id) End If ' Log($"inventario=${inv}"$) @@ -886,279 +809,54 @@ Private Sub et_pCant_TextChanged (Old As String, New As String) panelcajas.Visible = False Else If New = 0 Then - panelcajas.Visible = False -' panelcajas.Visible = True - + panelcajas.Visible = True End If Log(Old) - If Old <> "" Then - Log(New < Old) - - If New < Old Then - - - Private abor As Cursor = B4XPages.MainPage.skmt.ExecQuery($"select * from CAT_GUNAPROD2 where CAT_GP_ID = '${id}'"$) - If abor.RowCount > 0 Then - abor.Position = 0 - Log(abor.GetInt("CAT_GP_ALMACEN") -Old >= 0) - If abor.GetInt("CAT_GP_ALMACEN") -Old >= 0 Then - - - - Log("--------------->Credito Disponible: "&B4XPages.MainPage.cliente.credito_diponible) - If B4XPages.MainPage.tipo_venta = "PREVENTA_CREDITO" Then - - Dim fg As Cursor = Starter.skmt.ExecQuery("Select IFNULL(sum(PE_COSTO_TOT),0) AS COSTO FROM PEDIDO WHERE PE_CLIENTE IN (SELECT CUENTA FROM CUENTAA) AND PE_FOLIO = 'PREVENTA_CREDITO'") - fg.Position = 0 - If Old = "" Or Old = Null Then New = 0 - Log(precio &" * "&Old) - - - - Log(fg.GetString("COSTO") +(precio*New)) - If fg.GetString("COSTO") +((precio*New)-(precio*Old)) <= B4XPages.MainPage.cliente.credito_diponible Then - - - -' If laCant2.IsInitialized Then -' totalcajasmaspiezas = laCant.Text + laCant2.Text -' Else -' totalcajasmaspiezas = laCant.Text -' End If - If Not(Old = "0" And New = "") And laCant.Text <> Null And laCant.Text <> "" And etCantHasFocus Then - Log("actualizamos producto") - Subs.actualizaProducto3(Subs.traeAlmacen, 0, laCant.Text, Subs.traeProdNombre(id), id, clienteId, Subs.traeFecha, Subs.traeUsuarioDeBD, rutaUsuario, 0, B4XPages.MainPage.tipo_venta,0,0) - cuentaProds - End If - -' If New <> "" And New.SubString2(0,0) = "0" Then -' New.SubString(1) -' End If -' If New <> "" And New.SubString(1) <> "" Then -' Log(New.SubString(1)) -' New = New.SubString(1) -' laCant.Text = New.SubString(1) -' Log(laCant.Text) -' End If - - If 1 = 1 Then - Private cs As CSBuilder - cs.Initialize - Private o As Cursor = Starter.skmt.ExecQuery($"select CAT_GP_ALMACEN from ${Starter.tabla} where CAT_GP_ID = '${id}'"$) - Private invActualizado As String = "0" -' If o.RowCount > 0 Then - o.Position = 0 - invActualizado = Subs.traeinventario(id) - Log(Subs.traeinventario(id)) -' End If - - If New = "" Then New = 0 - If clv_prods_ll.GetValue(index).As(Map).Get("precio_caja").As(Float) = 0 Or clv_prods_ll.GetValue(index).As(Map).Get("conversion").As(Int) = 1 Then - Private maxcajas As Int = 0 - Log("cajas a 0") - Else - Private maxcajas As Int = invActualizado/clv_prods_ll.GetValue(index).As(Map).Get("conversion") - Log("cajas no a 0") - End If - lProdX.Text = cs.Color(Colors.red).append(nombreX).pop.Append(CRLF).Append("Existencias: " & (Subs.traeinventario(id))).Color(0xFF017F01).Append($" $${NumberFormat2(precio, 1, 2, 2, False)}${CRLF}Max. Cajas: ${maxcajas}"$).Popall - End If - Else - laCant.Text = 0 - MsgboxAsync("No se puede meter mas venta a credito por que supera el limite del credito","Atencion") - End If - Else -' If laCant2.IsInitialized Then -' totalcajasmaspiezas = laCant.Text + laCant2.Text -' Else -' totalcajasmaspiezas = laCant.Text -' End If - If Not(Old = "0" And New = "") And laCant.Text <> Null And laCant.Text <> "" And etCantHasFocus Then - Log("actualizamos producto") - Subs.actualizaProducto3(Subs.traeAlmacen, 0, laCant.Text, Subs.traeProdNombre(id), id, clienteId, Subs.traeFecha, Subs.traeUsuarioDeBD, rutaUsuario, 0, B4XPages.MainPage.tipo_venta,0,0) - cuentaProds - End If - -' If New <> "" And New.SubString2(0,0) = "0" Then -' New.SubString(1) -' End If -' If New <> "" And New.SubString(1) <> "" Then -' Log(New.SubString(1)) -' New = New.SubString(1) -' laCant.Text = New.SubString(1) -' Log(laCant.Text) -' End If - If 1 = 1 Then - Private cs As CSBuilder - cs.Initialize - Private o As Cursor = Starter.skmt.ExecQuery($"select CAT_GP_ALMACEN from ${Starter.tabla} where CAT_GP_ID = '${id}'"$) - Private invActualizado As String = "0" -' If o.RowCount > 0 Then - o.Position = 0 - invActualizado = Subs.traeinventario(id) - Log(Subs.traeinventario(id)) -' End If - If New = "" Then New = 0 - If clv_prods_ll.GetValue(index).As(Map).Get("precio_caja").As(Float) = 0 Or clv_prods_ll.GetValue(index).As(Map).Get("conversion").As(Int) = 1 Then - Private maxcajas As Int = 0 - Log("cajas a 0") - Else - Private maxcajas As Int = invActualizado/clv_prods_ll.GetValue(index).As(Map).Get("conversion") - Log("cajas no a 0") - End If -' lProdX.Text = cs.Color(Colors.red).append(nombreX).pop.Append(CRLF).Append("Existencias: " & (Subs.traeinventario(id))).Color(0xFF017F01).Append($" $${NumberFormat2(precio, 1, 2, 2, False)}${CRLF}Max. Cajas: ${maxcajas}"$).Popall - lProdX.Text = cs.Color(Colors.red).append(nombreX).Popall -' lProdX.Text = "" - End If - End If - - If New > 0 Then - panelcajas.Visible = False - Else If New = 0 Then - If maxcajas = 0 Then - panelcajas.Visible = False - Else - panelcajas.Visible = True - End If - End If - - Else - laCant.Text = Old - MsgboxAsync("No se puede quitar la devolucion por que no hay producto fisico.","Atención.") + If Not(Old = "0" And New = "") And laCant.Text <> Null And laCant.Text <> "" And etCantHasFocus Then + Log("actualizamos producto") + Subs.actualizaProducto3(Subs.traeAlmacen, 0, laCant.Text, Subs.traeProdNombre(id), id, clienteId, Subs.traeFecha, Subs.traeUsuarioDeBD, rutaUsuario, 0, B4XPages.MainPage.tipo_venta,0,0) + cuentaProds End If - End If - - Else - - - - Log("--------------->Credito Disponible: "&B4XPages.MainPage.cliente.credito_diponible) - If B4XPages.MainPage.tipo_venta = "PREVENTA_CREDITO" Then - - Dim fg As Cursor = Starter.skmt.ExecQuery("Select IFNULL(sum(PE_COSTO_TOT),0) AS COSTO FROM PEDIDO WHERE PE_CLIENTE IN (SELECT CUENTA FROM CUENTAA) AND PE_FOLIO = 'PREVENTA_CREDITO'") - fg.Position = 0 - If Old = "" Or Old = Null Then New = 0 - Log(precio &" * "&Old) - - - - Log(fg.GetString("COSTO") +(precio*New)) - If fg.GetString("COSTO") +((precio*New)-(precio*Old)) <= B4XPages.MainPage.cliente.credito_diponible Then - - - -' If laCant2.IsInitialized Then -' totalcajasmaspiezas = laCant.Text + laCant2.Text -' Else -' totalcajasmaspiezas = laCant.Text -' End If - If Not(Old = "0" And New = "") And laCant.Text <> Null And laCant.Text <> "" And etCantHasFocus Then - Log("actualizamos producto") - Subs.actualizaProducto3(Subs.traeAlmacen, 0, laCant.Text, Subs.traeProdNombre(id), id, clienteId, Subs.traeFecha, Subs.traeUsuarioDeBD, rutaUsuario, 0, B4XPages.MainPage.tipo_venta,0,0) - cuentaProds - End If - -' If New <> "" And New.SubString2(0,0) = "0" Then -' New.SubString(1) -' End If -' If New <> "" And New.SubString(1) <> "" Then -' Log(New.SubString(1)) -' New = New.SubString(1) -' laCant.Text = New.SubString(1) -' Log(laCant.Text) -' End If - - If 1 = 1 Then - Private cs As CSBuilder - cs.Initialize - Private o As Cursor = Starter.skmt.ExecQuery($"select CAT_GP_ALMACEN from ${Starter.tabla} where CAT_GP_ID = '${id}'"$) - Private invActualizado As String = "0" -' If o.RowCount > 0 Then - o.Position = 0 - invActualizado = Subs.traeinventario(id) - Log(Subs.traeinventario(id)) -' End If - - If New = "" Then New = 0 - If clv_prods_ll.GetValue(index).As(Map).Get("precio_caja").As(Float) = 0 Or clv_prods_ll.GetValue(index).As(Map).Get("conversion").As(Int) = 1 Then - Private maxcajas As Int = 0 - Log("cajas a 0") - Else - Private maxcajas As Int = invActualizado/clv_prods_ll.GetValue(index).As(Map).Get("conversion") - Log("cajas no a 0") - End If - lProdX.Text = cs.Color(Colors.red).append(nombreX).pop.Append(CRLF).Append("Existencias: " & (Subs.traeinventario(id))).Color(0xFF017F01).Append($" $${NumberFormat2(precio, 1, 2, 2, False)}${CRLF}Max. Cajas: ${maxcajas}"$).Popall - End If + If 1 = 1 Then + Private cs As CSBuilder + cs.Initialize + Private o As Cursor = Starter.skmt.ExecQuery($"select CAT_GP_ALMACEN from ${Starter.tabla} where CAT_GP_ID = '${id}'"$) + Private invActualizado As String = "0" + + o.Position = 0 + invActualizado = Subs.traeinventario(id) + Log(Subs.traeinventario(id)) + + If New = "" Then New = 0 + If clv_prods_ll.GetValue(index).As(Map).Get("precio_caja").As(Float) = 0 Or clv_prods_ll.GetValue(index).As(Map).Get("conversion").As(Int) = 1 Then + Private maxcajas As Int = 0 + Log("cajas a 0") Else - laCant.Text = 0 - MsgboxAsync("No se puede meter mas venta a credito por que supera el limite del credito","Atencion") - End If - Else -' If laCant2.IsInitialized Then -' totalcajasmaspiezas = laCant.Text + laCant2.Text -' Else -' totalcajasmaspiezas = laCant.Text -' End If - If Not(Old = "0" And New = "") And laCant.Text <> Null And laCant.Text <> "" And etCantHasFocus Then - Log("actualizamos producto") - Subs.actualizaProducto3(Subs.traeAlmacen, 0, laCant.Text, Subs.traeProdNombre(id), id, clienteId, Subs.traeFecha, Subs.traeUsuarioDeBD, rutaUsuario, 0, B4XPages.MainPage.tipo_venta,0,0) - cuentaProds - End If - -' If New <> "" And New.SubString2(0,0) = "0" Then -' New.SubString(1) -' End If -' If New <> "" And New.SubString(1) <> "" Then -' Log(New.SubString(1)) -' New = New.SubString(1) -' laCant.Text = New.SubString(1) -' Log(laCant.Text) -' End If - If 1 = 1 Then - Private cs As CSBuilder - cs.Initialize - Private o As Cursor = Starter.skmt.ExecQuery($"select CAT_GP_ALMACEN from ${Starter.tabla} where CAT_GP_ID = '${id}'"$) - Private invActualizado As String = "0" -' If o.RowCount > 0 Then - o.Position = 0 - invActualizado = Subs.traeinventario(id) - Log(Subs.traeinventario(id)) -' End If - If New = "" Then New = 0 - If clv_prods_ll.GetValue(index).As(Map).Get("precio_caja").As(Float) = 0 Or clv_prods_ll.GetValue(index).As(Map).Get("conversion").As(Int) = 1 Then - Private maxcajas As Int = 0 - Log("cajas a 0") - Else - Private maxcajas As Int = invActualizado/clv_prods_ll.GetValue(index).As(Map).Get("conversion") - Log("cajas no a 0") - End If -' lProdX.Text = cs.Color(Colors.red).append(nombreX).pop.Append(CRLF).Append("Existencias: " & (Subs.traeinventario(id))).Color(0xFF017F01).Append($" $${NumberFormat2(precio, 1, 2, 2, False)}${CRLF}Max. Cajas: ${maxcajas}"$).Popall - lProdX.Text = cs.Color(Colors.red).append(nombreX).Popall -' lProdX.Text = "" + Private maxcajas As Int = invActualizado/clv_prods_ll.GetValue(index).As(Map).Get("conversion") + Log("cajas no a 0") End If + lProdX.Text = cs.Color(Colors.red).append(nombreX).pop.Append(CRLF).Append("Existencias: " & (Subs.traeinventario(id))).Color(0xFF017F01).Append($" $${NumberFormat2(0, 1, 2, 2, False)}"$).Popall End If + - If New > 0 Then + End If + If New > 0 Then + panelcajas.Visible = False + Else If New = 0 Then + If maxcajas = 0 Then panelcajas.Visible = False - Else If New = 0 Then - If maxcajas = 0 Then - panelcajas.Visible = False - Else - panelcajas.Visible = True - End If + Else + panelcajas.Visible = True End If - End If - End If - End If End Sub - Sub cuentaProds ' LogColor($"Productos de la orden: ${c_prods.GetString("cantProds")}, Total: ${c_prodsX.GetString("costoTotal")}"$, Colors.red) Log("===========================") @@ -1618,8 +1316,8 @@ Private Sub clv_prods_ll_VisibleRangeChanged (FirstIndex As Int, LastIndex As In ' Log("cajas no a 0") End If ' Private maxcajas As Int = clv_prods_ll.GetValue(i).As(Map).Get("almacen")/clv_prods_ll.GetValue(i).As(Map).Get("conversion") -' 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}${CRLF}Max. Cajas: ${maxcajas}"$).Popall - l_prodX.Text = cs.Color(Colors.red).append(clv_prods_ll.GetValue(i).As(Map).Get("prod")).Popall + 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 +' l_prodX.Text = cs.Color(Colors.red).append(clv_prods_ll.GetValue(i).As(Map).Get("prod")).Popall 'aqui si lo comentamos aparece la parte de cajas '' por aqui vamos a corregir ''Or clv_prods_ll.GetValue(i).As(Map).Get("almacen") < clv_prods_ll.GetValue(i).As(Map).Get("conversion") diff --git a/B4A/C_RespaldoDiario.bas b/B4A/C_RespaldoDiario.bas index f505c7a..1026305 100644 --- a/B4A/C_RespaldoDiario.bas +++ b/B4A/C_RespaldoDiario.bas @@ -38,6 +38,7 @@ Public Sub Initialize As Object skmt.Initialize(File.DirInternal,"kmt.db", False) rkmt.ExecNonQuery($"create table if not exists pedidos (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)"$) agregaColumna2(rkmt,"pedidos","pe_cantc","text") + agregaColumna2(rkmt,"pedidos","CONSECUTIVO","text") agregaColumna2(rkmt,"pedidos","PE_DESCRAGA","text") agregaColumna2(rkmt,"pedidos","PE_CONFIRMADO","text") agregaColumna2(rkmt,"pedidos","pe_bcajas","text") @@ -90,7 +91,7 @@ Sub respaldaPedido Log("copiando pedidos ...") rkmt.BeginTransaction rkmt.ExecNonQuery($"delete from pedidos where substr(pe_fecha, 1, 10) = '${fechaHoy}'"$) - rkmt.ExecNonQuery($"insert into pedidos (pe_folio, pe_desc, pe_costo_sin, pe_ruta, pe_cedis, pe_costo_tot, pe_costou, pe_cant, pe_pronombre, pe_proid, pe_cliente, pe_fecha, pe_usuario, pe_envio_ok,pe_cantc,pe_bcajas, PE_CONFIRMADO, PE_DESCRAGA,PE_FOLIOFAC) select * from skmt1.pedido where substr(pe_fecha, 1, 10) = '${fechaHoy}'"$) + rkmt.ExecNonQuery($"insert into pedidos (pe_folio, pe_desc, pe_costo_sin, pe_ruta, pe_cedis, pe_costo_tot, pe_costou, pe_cant, pe_pronombre, pe_proid, pe_cliente, pe_fecha, pe_usuario, pe_envio_ok,pe_cantc,pe_bcajas, PE_CONFIRMADO, PE_DESCRAGA,PE_FOLIOFAC,CONSECUTIVO) select * from skmt1.pedido where substr(pe_fecha, 1, 10) = '${fechaHoy}'"$) rkmt.TransactionSuccessful 'Si no se pone TransactionSuccessful no se escribe NADA!! rkmt.EndTransaction ' Log(((DateTime.Now - inicio)/1000) & " segs") diff --git a/B4A/Files/cliente.bal b/B4A/Files/cliente.bal index ad1f9a318498fe9b54591f534d2e18f9102219c7..6c898009aedbf9d05d2fdb142735fb00628c254b 100644 GIT binary patch delta 1369 zcmZY9OH30{6b9fqEk!9UB7vP1ssy3|X{EFUL_h_t4+Oy%s8C^qYAFZ^qF^N^nwVgS z$6z$#!i`Z95}fD)U0^g6SZdtk#+8X%W2|~wq5aXt-}&xi&dr_9ojc?DACL8BgQ6(? zCPgvIH8^c<(XC4sseR3AZ@1d&^ZL0{_aP-R>W_Do>nlxbqg{PIHPGhOuIuf@ZxX(c zgC7{iDWKUBC&`c_Q*wD}O=eIpN|4wj(O$XQCEF#15(l_Q?3B19Zg4TU1Y8Q<0WOO> zsO*e4lyYzdxDvbzyc@g+Tm`NM?*;FRI{0@t9vIjUJ^(%lJ_N1-9|qTg>%d3A^|F5K zkv4#jf{%fZgHM1@f*Zk2;8Wn!%MM2V%QG<03~m8?!Dqp(;5PBf`=pA`N!leHU?2Fr zyx6fx7hu2-?gR(GUEpr;MQ{(e7u*-KJkLwg=$8ygE`tZbSHM@nL*kVaF)Uu${WUEw zIgzMTD>U6twcvp?%dF}yzppE+T@9!`a*97~aOEaSZ>=|=`W^qA@zuv$Gg$^kdAKx9 z_v<$o%-+?uOny(ocIah;ak;G(%%)I!niS5IP%$Y=Rs>Gc>fR3OsF1A_9v+&iV%un# zJ3=?P;-Qhh&Uh%S+2-6tMf~|y9+yvNi)KQ%D9pAwJ6m4J0`p#S^7`kSjUT0Ax+KZT zriCZul3OzP+f*`-ZOiAM3)!hISvK-HF=a$&5s%z+ar@#8Zp<xk@9t;rE-)wq;Isi}G9 zVO9a>D5r>1%yEKC*apYNaf3_2$H2$IW#Dpf#jZ_pVs|1c!6(60;A(IUxE6d0TnDZP zpN`wy-dO__Jm526FSrqW7JLqT9()0O5!}SPydz5;Fow}XA)tN(1q z{_8a;_`v~i5Zu9zpCBHub8c`tIXA(#z_-D7z;}f(6U|*v=my^d-v>VcKLkGlKW0DS z^l*B?eF^hX?@vsG7yu8lcTWCO_RfxKK^Q`v}8Zse8nE;Q@*oITa8c$MmwLbS3lq5R9gB^l!$_4Y%xlunxZ zxSzg_?W2Q>hj>=GQbLaRLuzz3MbgjD!*pbRh&F3=8e9un3`ya#e2T86NrS>)rlpI! kv+2`UU#5$fjop1)Hb2q~+I&|^zgC}9U_FQY>$*jXztV)9`Tzg` diff --git a/B4A/Files/cuentamerma.bal b/B4A/Files/cuentamerma.bal index 1438cb4043ad105a39f99330bed176ecdcd4d21c..e4f0326cfb001dd12ba494b21ef85b256ca4e2d3 100644 GIT binary patch delta 642 zcmdmOe9(lKm4Si5g^7WI3rLGi6b2xz*WH5})jl||bV)G)g`HV^P448-nmk`fdGdQs5yrU5vfMgA(vZs)p$9dn7~>~P2r5pVCLuQ2Uod9!TM41b bdj*Sy-@^4(!3O>(vp(= zyzrvLf`Zf{6_^?*p94u7h@DyzpPO2gn>f)%VPeKEM!w0qjPmttKnZpr1}T8CLH2;JPOq zj48L-keiKBcnPKiNYmybo=zs=1ejzRkO4N)a`Jykjm>8Kri{X%paNTmCb>*Nl2LdA z4#{7Fri?Ohhq}Rx4FEDEftXQlvLcuK<}6{LD!9vVsk$WsR0a1KE>&J)KviF1&Vj2k zMzL}7E^#idIG_;7X`Jzs`GgcEXYrd){wg76U`qp&ARCY@-1_p-U(&W;j;=~+<)I5dEyt351lEk9Sd`6&*2{Vu=iZ>DfQf{TG zMTrV2sR|kSML_w@``C|hFNa=efX*I}Su Nc_0QVkQG0`3;@}MBQO8} delta 107 zcmaEBde?NrRCY~v1_lP_)S{xqlzc`Y(}WpF6vZ3y11Z0Jg^!$8gQKnzr(D}I0(0A6<< AHvj+t diff --git a/B4A/Files/principal.bal b/B4A/Files/principal.bal index bdcd9e71afa5fba900d90228faa94e5e517d2408..5d40fec0c9d0294c5a9f72fac2c1b558dbaf5874 100644 GIT binary patch delta 2844 zcmZwIYfw~W7zgn4t|1=OJ$gb~wFG1ZOB5AE6BpJ?A}FGZpr{Clx6lkBFJy*x)d~Xs zrj?j1T7@R3u!3|8k#r8&}pU_ne6hMvmAMj(}!pG_uiiOa?ZQE`AVl- z*E@ChktC_0rzH8&_nxxu6+SuH`HQpn?{fNzGFs^)S8Q^>F4$<|yV7%+bsv$)hNqrWnoYW0=P6F0ypH*0uZ#3f z+9?2 zH#5IySljs)qd?zVncrvrfNUJ^hh*c}w~>t-^bvCf^LFwMik%c6Qy61+k$W0RcT=Gk zMSy3w^^nCnmpXN(Vot$~!n}nDw%I%zd#+V%GS$t`%wMSgjrdZ*<)x=n@XW2)7bA;5 zJO?Z13QyI6^3IkJf#3zpkXIw){^1BzeAfjh_be55R3CU0dCPrKwbzc`^Hi?5~axVOq}~ zVYF)Pf1_Iu`jA5fhE??U#2ro(VxT_d-XjiWps7z7g1!w!-|yQ{T;t!qBo(FO?6_28 zrL6UJLHPH_6x{g1jn1{1-Wm~Je$0ieqi)MqK?dg$wG6fS(xJ9I%;-3=^CGvk#L}`mScyf&22x_!w8;(Z9 zDSNk3RP>Ro-U|72pe0Nov$#Ljhx#MyvF z49Q|NzB-+YfU|bQ*2|U{f$7ElJd5k21@8Q;9b#`d%VbDvq94 zm3UKbJ)@X}^rkkEpzQ_G%~ql9ph+Z}#(sWTRT52O6ZF;OMXLDw@=Y<>)Z5;yDw9pU zW7>QBVd$AISlzr%OwmqUB+*N5_oJ@*&Xe?W$G$6{$y2FL`^oabureD~UR4#XrsF0g zdA3|F6e78OUSE{9+A;N-swA7c>Bl_{TdtLe=`>@8HE67M;eF^mprdwaC*Kvu{4VeO zjo0h&Ws4nkH)JKnl+NY(?MA#n&h5UaDzPK?mWpp~tL0}#q2|_2k*Yt(KuWCdCiS7A zEiHutD_b+EpLRq4YK`^;{+=fA=N<1gEp3g)#Jg5+vq;DN);2L)-(R2FL5RAm_LyzX PNUMzu6mziZ?)Lux$Tk>0 delta 2759 zcmZYAdr(wm6aeu1T?chH;mWp-1SYQqOmIsDVu4)@l{dJ{BMp&`R?~P_q)5( zzb!gFxyaLl?eMf_&MU|iOYz~ zi4PDTBz}R|UO_HiL@Ot}60N*iFQJw9`(<<$#w!@F5+5QyO#B+Lv{~ieBlEV)105xa zW5ll$zd`&a@ms{liK~fE5Wh|Q4xT^viryuO8sb{?NsKy-Q^XFmvKt^iO?-ys*9 zrINglp_KO=S}FT^wDK!%JDpJ4p@*_AGqiL_cViBwJ96NQpPew-Swvclzc^Wh zJQwyBBK|+7eBY&RC+zIf!$_|gE_dAV z)h-MUI|dBP=wMJi;4hV0eTxRZ8BF4181x%TA%0K?4e>hdAg)24&m`7g&0{PUj?P#D z@8SxizdDUKe#q%q?6>g5OmK514r+#OK-pCToE+9Hk5lIveBLTASL`3IU@&)04~1=J z*gT|z+?HTwhJm(P7;hBmqPAeCG? z!@(2vECm;06;f0^lf{5ZU&d19HCEly38|{I3D>w5go>rmed{ovCfA=&m!=KYVn?~W zcxkL$4Q%RDmI0qlZ4fe4L!^r{Q}~8t%5Q@IkOl(UHIQ4P6EfA^q<4m8!OZWq{5ENx z0{Hb0Pu?nT@jg%{!)s}>_0!$FZNBu1#sTz*2Xs!xu*;5@LoqM*NZFw9oJVw{%&in@+VBd=X diff --git a/B4A/MAPA_RUTAS.bas b/B4A/MAPA_RUTAS.bas index 3991c7c..9c4a6c1 100644 --- a/B4A/MAPA_RUTAS.bas +++ b/B4A/MAPA_RUTAS.bas @@ -477,23 +477,23 @@ Sub PointInPolygon(point As LatLng, polygon As List) As Boolean End Sub -Sub MapFragment1_LongClick (mPoint As LatLng) - ' Verificar si el punto está dentro del polígono - If lista_punta.Size > 0 Then - Dim dentro As Boolean = PointInPolygon(mPoint, lista_punta) - - If dentro Then - ToastMessageShow("El punto está DENTRO del polígono", True) - Else - ToastMessageShow("El punto está FUERA del polígono", True) - End If - End If - - ' Agregar marcador y punto a la lista - gmap.AddMarker3(mPoint.Latitude, mPoint.Longitude, "MicroArea ", LoadBitmap(File.DirAssets, "marker-amarillo.png")).InfoWindowShown = True - lista_punta2.Add(mPoint) - - If lista_punta2.Size = 6 Then - DrawPolygon(lista_punta2) - End If -End Sub \ No newline at end of file +'Sub MapFragment1_LongClick (mPoint As LatLng) +' ' Verificar si el punto está dentro del polígono +' If lista_punta.Size > 0 Then +' Dim dentro As Boolean = PointInPolygon(mPoint, lista_punta) +' +' If dentro Then +' ToastMessageShow("El punto está DENTRO del polígono", True) +' Else +' ToastMessageShow("El punto está FUERA del polígono", True) +' End If +' End If +' +' ' Agregar marcador y punto a la lista +' gmap.AddMarker3(mPoint.Latitude, mPoint.Longitude, "MicroArea ", LoadBitmap(File.DirAssets, "marker-amarillo.png")).InfoWindowShown = True +' lista_punta2.Add(mPoint) +' +' If lista_punta2.Size = 6 Then +' DrawPolygon(lista_punta2) +' End If +'End Sub \ No newline at end of file diff --git a/B4A/Subs.bas b/B4A/Subs.bas index 1750c77..8c64303 100644 --- a/B4A/Subs.bas +++ b/B4A/Subs.bas @@ -787,6 +787,17 @@ Sub traeUsuarioDeBD As String 'ignore Return u End Sub + +Sub traetIPOCliente2 As String 'ignore + Private c As Cursor + Private cl As String + c=B4XPages.MainPage.skmt.ExecQuery("SELECT CAT_CL_TIPO_CLIENTE FROM kmt_info where CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA)") + c.Position=0 + cl = c.GetString("CAT_CL_TIPO_CLIENTE") + c.Close + Return cl +End Sub + 'Inserta un producto en la tabla "pedido" y "pedido_cliente". 'Actualiza "cat_gunaprod" y la columna "gestion" en la tabla "kmt_info". Sub guardaProducto(cedis As String, costoU As String, cant As String, nombre As String, prodId As String, clienteId As String, fecha As String, usuario As String, rutaV As String, precioSin As String, tipoVenta As String) @@ -960,7 +971,7 @@ Sub actualizaProducto3(cedis As String, costoU As String, cant As Int, nombre As Private difCant As Int = cant - antCant -' B4XPages.MainPage.skmt.ExecNonQuery($"update pedido set pe_cant = ${cant}, pe_costo_tot = ${0}, PE_CANTC = ${cantc}, PE_BCAJAS = ${bcajas} where pe_cedis = '${cedis}' and pe_proid = '${prodId}' and pe_cliente = '${clienteId}' AND PE_FOLIO = '${B4XPages.MainPage.tipo_venta}'"$) + B4XPages.MainPage.skmt.ExecNonQuery($"update pedido set pe_cant = ${cant}, pe_costo_tot = ${0}, PE_CANTC = ${cantc}, PE_BCAJAS = ${bcajas} where pe_cedis = '${cedis}' and pe_proid = '${prodId}' and pe_cliente = '${clienteId}' AND PE_FOLIO = '${B4XPages.MainPage.tipo_venta}'"$) '' If B4XPages.MainPage.tipo_venta = "VENTA" Then '' B4XPages.MainPage.skmt.ExecNonQuery($"update ${Starter.tabla} set cat_gp_almacen = cat_gp_almacen - (${difCant}) where cat_gp_id = '${prodId}' "$) '' Else diff --git a/B4A/TG.b4a b/B4A/TG.b4a index f5fbd30..29ecdc7 100644 --- a/B4A/TG.b4a +++ b/B4A/TG.b4a @@ -1125,7 +1125,7 @@ Version=12.8 #Region Project Attributes #ApplicationLabel: TGUERRERAS #VersionCode: 1 - #VersionName: 5.10.12 + #VersionName: 5.12.15 'SupportedOrientations possible values: unspecified, landscape or portrait. #SupportedOrientations: portrait #CanInstallToExternalStorage: False diff --git a/B4A/TG.b4a.meta b/B4A/TG.b4a.meta index b60296c..1daafba 100644 --- a/B4A/TG.b4a.meta +++ b/B4A/TG.b4a.meta @@ -69,7 +69,7 @@ ModuleClosedNodes1= ModuleClosedNodes10= ModuleClosedNodes11= ModuleClosedNodes12= -ModuleClosedNodes13=13 +ModuleClosedNodes13= ModuleClosedNodes14= ModuleClosedNodes15= ModuleClosedNodes16= @@ -97,6 +97,6 @@ ModuleClosedNodes6= ModuleClosedNodes7= ModuleClosedNodes8= ModuleClosedNodes9= -NavigationStack=C_Principal,Class_Globals,0,0,C_Principal,JobDone,1504,0,Starter,Process_Globals,34,0,Starter,reinicializaReqManager,135,0,C_Cliente,B4XPage_Appear,487,0,Starter,JobDone,150,5,Subs,bitacora,1848,6,Subs,traeinventario,1788,0,C_Cliente,b_inicioFinVenta_Click,910,3,C_Cliente,Guardar_Click,899,6 +NavigationStack=Subs,traeUsuarioDeBD,781,0,Subs,traeFecha,770,0,C_Productos,Busca_TextChanged,1483,0,C_Productos,LlenaProdsLL,1509,6,C_Cliente,MODS,0,0,C_Cliente,gest_Click,673,0,C_Mapas,Class_Globals,0,0,MAPA_RUTAS,PointInPolygon,473,0,C_Principal,JobDone,1959,0,C_Principal,cargar_Click,1399,0 SelectedBuild=0 -VisibleModules=2,4,31,14,13,5,30,17 +VisibleModules=2,4,31,14,13,5,30,17,15,22,8,26,27