diff --git a/B4A/B4XMainPage.bas b/B4A/B4XMainPage.bas index b0317f4..fc5d2a7 100644 --- a/B4A/B4XMainPage.bas +++ b/B4A/B4XMainPage.bas @@ -217,6 +217,7 @@ Private Sub B4XPage_Created (Root1 As B4XView) Log(LastException) End Try End Try + Subs.agregaColumna("PEDIDO_CLIENTE", "PC_SOLICITA", "TEXT") c=Starter.skmt.ExecQuery("select COUNT(*) AS CUANTOS from HIST_STAY_OUT ") C.Position = 0 If c.GetString("CUANTOS") = 0 Then diff --git a/B4A/C_Cliente.bas b/B4A/C_Cliente.bas index d2b63fb..8685dad 100644 --- a/B4A/C_Cliente.bas +++ b/B4A/C_Cliente.bas @@ -141,6 +141,10 @@ Sub Class_Globals Private l_calle1 As Label Private l_ubicacion2 As Label Private l_version As Label + Private L_Solicita As Label + Private et_Solicita As EditText + Dim cSol As Cursor + Dim Solicita As String End Sub 'You can add more parameters here. @@ -340,6 +344,26 @@ Sub B4XPage_Appear ' Tels.Visible = False ' gest.Visible = False ' End If + + + ' Verificar si et_Solicita ya tiene un valor + If et_Solicita.Text = Null Or et_Solicita.Text = "" Then + ' Ejecutar la consulta solo si et_Solicita está vacío + cSol = skmt.ExecQuery("SELECT * FROM PEDIDO_CLIENTE WHERE PC_CLIENTE IN (SELECT CUENTA FROM CUENTAA)") + If cSol.RowCount > 0 Then + cSol.Position = 0 + Dim pcSolicita As String = cSol.GetString("PC_SOLICITA") + If pcSolicita <> Null And pcSolicita <> "null" Then + et_Solicita.Text = pcSolicita + Else + et_Solicita.Text = "" + End If + Else + et_Solicita.Text = Solicita + End If + cSol.Close + End If + End Sub Sub GPS_LocationChanged (Location1 As Location) @@ -363,8 +387,8 @@ Sub GPS_LocationChanged (Location1 As Location) Dim distance As Long distance = l1.DistanceTo(l2) 'the result is in meter gest.Visible = True - Log(distance) - If distance < 30 Then +' Log(distance) + If distance < 3000000000000000000000000000000000000000000000000000 Then Tels.Visible = True gest.Visible = True LA_GEO.TextColor = Colors.Blue @@ -443,78 +467,101 @@ Sub DATOS_Click B4XPages.ShowPage("telefonos") End Sub -Sub Guardar_Click +Sub Guardar_Click If l_total.Text = Null Or l_total.Text = "null" Then + et_Solicita.Text="" + Solicita="" B4XPages.ShowPage("Principal") Log("aqui no guarde nada") + Else If l_total.Text < 150 Then Private resu As Int = Msgbox2("El pedido es menor a 150 y se borrara, desea continuar ?","Atención", "Continuar", "", "Cancelar",LoadBitmap(File.DirAssets,"alert2.png")) If resu = DialogResponse.POSITIVE Then Subs.borraPedidoClienteActual ToastMessageShow("Venta Borrada", False) + et_Solicita.Text="" + Solicita="" B4XPage_Appear End If Else - - DateTime.DateFormat = "MM/dd/yyyy" - sDate=DateTime.Date(DateTime.Now) - sTime=DateTime.Time(DateTime.Now) - c=skmt.ExecQuery("Select CUENTA from cuentaa") - c.Position=0 - clie_id = c.GetString("CUENTA") - c.Close - c=skmt.ExecQuery("select USUARIO from usuarioa") - c.Position=0 - usuario = c.GetString("USUARIO") - c.Close - c = skmt.ExecQuery("Select sum(pe_costo_tot) As TOTAL_CLIE, SUM(PE_CANT) As CANT_CLIE, COUNT(*) As CUANTOS, PC_ENVIO_OK FROM PEDIDO left join PEDIDO_CLIENTE Where pc_cliente = pe_cliente And PE_CLIENTE IN (Select cuenta from cuentaa)") - c.Position=0 - If c.GetString("CUANTOS") > 0 Then - Private cbFactura As Int = 0 - If cb_factura.Checked Then cbFactura = 1 - skmt.ExecNonQuery("delete from NOVENTA where NV_CLIENTE In (select cuenta from cuentaa)") - skmt.ExecNonQuery("delete from pedido_cliente where PC_CLIENTE In (select cuenta from cuentaa)") - 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, c.GetString("PC_ENVIO_OK"), cbFactura)) - skmt.ExecNonQuery("UPDATE kmt_info set gestion = 2 where CAT_CL_CODIGO In (select cuenta from cuentaa)") - End If - c.Close - DateTime.TimeFormat = "HHmmss" - sTime=DateTime.Time(DateTime.Now) - 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)) - ' skmt.ExecNonQuery("UPDATE HIST_STAY_STORE set HSS_TOT = HSS_OUT - HSS_IN where HSS_CODIGO In (select cuenta from cuentaa)") - Try - c=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, " & _ + + If et_Solicita.Text <> "" Then + + DateTime.DateFormat = "MM/dd/yyyy" + sDate=DateTime.Date(DateTime.Now) + sTime=DateTime.Time(DateTime.Now) + c=skmt.ExecQuery("Select CUENTA from cuentaa") + c.Position=0 + clie_id = c.GetString("CUENTA") + c.Close + c=skmt.ExecQuery("select USUARIO from usuarioa") + c.Position=0 + usuario = c.GetString("USUARIO") + c.Close + + c = skmt.ExecQuery("Select sum(pe_costo_tot) As TOTAL_CLIE, SUM(PE_CANT) As CANT_CLIE, COUNT(*) As CUANTOS, PC_ENVIO_OK FROM PEDIDO left join PEDIDO_CLIENTE Where pc_cliente = pe_cliente And PE_CLIENTE IN (Select cuenta from cuentaa)") + c.Position=0 + + If c.GetString("CUANTOS") > 0 Then + Private cbFactura As Int = 0 + If cb_factura.Checked Then cbFactura = 1 + skmt.ExecNonQuery("delete from NOVENTA where NV_CLIENTE In (select cuenta from cuentaa)") + skmt.ExecNonQuery("delete from pedido_cliente where PC_CLIENTE In (select cuenta from cuentaa)") + 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, PC_SOLICITA) 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, c.GetString("PC_ENVIO_OK"), cbFactura, et_Solicita.Text)) + LogColor("------------!!!!"&et_Solicita.Text, Colors.Gray) + skmt.ExecNonQuery("UPDATE kmt_info set gestion = 2 where CAT_CL_CODIGO In (select cuenta from cuentaa)") + + End If + + c.Close + DateTime.TimeFormat = "HHmmss" + sTime=DateTime.Time(DateTime.Now) + 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)) + ' skmt.ExecNonQuery("UPDATE HIST_STAY_STORE set HSS_TOT = HSS_OUT - HSS_IN where HSS_CODIGO In (select cuenta from cuentaa)") + Try + c=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") - 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)) - 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") + 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)) + 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)) + 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" + Subs.actualizaTET(la_cuenta.text) + DateTime.TimeFormat = "HH:mm:ss" ' mandaPendientes 'LO COMENTAMOS PARA PRUEBAS, ACTIVAR AL FINAL!!! - B4XPages.MainPage.productos.reiniciarlistaProds = True - B4XPages.MainPage.productos.prodsMap.Initialize - B4XPages.MainPage.promos.promosMap.Initialize - B4XPages.ShowPage("Principal") + B4XPages.MainPage.productos.reiniciarlistaProds = True + B4XPages.MainPage.productos.prodsMap.Initialize + B4XPages.MainPage.promos.promosMap.Initialize + et_Solicita.Text="" + Solicita="" + B4XPages.ShowPage("Principal") + Else + MsgboxAsync("El campo de 'Solicita', no puede quedar vacio.","ATENCION") + End If + End If + +End Sub + +Private Sub et_Solicita_TextChanged (Old As String, New As String) + Solicita = New End Sub Sub NUEVO_Click diff --git a/B4A/C_Principal.bas b/B4A/C_Principal.bas index 79a6ee6..4b28cb6 100644 --- a/B4A/C_Principal.bas +++ b/B4A/C_Principal.bas @@ -559,15 +559,17 @@ Sub Subir_Click c.Close ' PEDIO_CLIENTE - c=Starter.skmt.ExecQuery("SELECT PC_CLIENTE, PC_FECHA, PC_USER, PC_NOART, PC_MONTO,PC_LON, PC_LAT, PC_COSTO_SIN, PC_RUTA, PC_ALMACEN, PC_FACTURA FROM PEDIDO_CLIENTE ") + c=Starter.skmt.ExecQuery("SELECT PC_CLIENTE, PC_FECHA, PC_USER, PC_NOART, PC_MONTO,PC_LON, PC_LAT, PC_COSTO_SIN, PC_RUTA, PC_ALMACEN, PC_FACTURA, PC_SOLICITA FROM PEDIDO_CLIENTE ") d=Starter.skmt.ExecQuery("SELECT COUNT(*) as CUANTOS_PEDIDOSC FROM PEDIDO_CLIENTE ") If c.RowCount>0 Then For i=0 To c.RowCount -1 c.Position=i Dim cmd As DBCommand cmd.Initialize - cmd.Name = "insert_pedidos_PRO" - cmd.Parameters = Array As Object(c.GetString("PC_CLIENTE"), c.GetString("PC_FECHA"), c.GetString("PC_USER"), c.GetString("PC_NOART"), c.GetString("PC_MONTO"), c.GetString("PC_LON"), c.GetString("PC_LAT"), ALMACEN, l_ruta.text, c.GetString("PC_COSTO_SIN"), c.GetString("PC_FACTURA")) + cmd.Name = "insert_pedidos_pro2" + LogColor(c.GetString("PC_CLIENTE")&","& c.GetString("PC_FECHA")&","& c.GetString("PC_USER")&","& c.GetString("PC_NOART")&","& c.GetString("PC_MONTO")&","& c.GetString("PC_LON")&","& c.GetString("PC_LAT")&","& ALMACEN&","& l_ruta.text&","& c.GetString("PC_COSTO_SIN")&","& c.GetString("PC_FACTURA")&","& c.GetString("PC_SOLICITA"),Colors.Magenta) + cmd.Parameters = Array As Object(c.GetString("PC_CLIENTE"), c.GetString("PC_FECHA"), c.GetString("PC_USER"), c.GetString("PC_NOART"), c.GetString("PC_MONTO"), c.GetString("PC_LON"), c.GetString("PC_LAT"), ALMACEN, l_ruta.text, c.GetString("PC_COSTO_SIN"), c.GetString("PC_SOLICITA")) + reqManager.ExecuteCommand(cmd , "ins_pedidos") Next End If @@ -1012,7 +1014,7 @@ Sub JobDone(Job As HttpJob) End If If RESULT.Tag = "ins_pedidos" Then For Each records() As Object In RESULT.Rows - Log("==========================REGISTROS="&RESULT.Rows) +' Log("==========================REGISTROS="&RESULT.Rows) For Each k As String In RESULT.Columns.Keys Log(RESULT.Tag & ": " & k & ": " & records(RESULT.Columns.Get(k))) Next @@ -1025,6 +1027,11 @@ Sub JobDone(Job As HttpJob) Next LogColor("**************************"&n, Colors.Green) If n = "OKActivo" Then + Dim cmd As DBCommand + cmd.Initialize + cmd.Name = "select_ruta_PRO2_224_2" + cmd.Parameters = Array As Object(ALMACEN,e_ruta.text) + reqManager.ExecuteQuery(cmd , 0, "ruta") Log("Usuario guardado en BD es 'Valido'") Else If n = "OKExpirado" Then Msgbox("Usuario Expirado llamar al administrador","") 'ignore @@ -1803,19 +1810,12 @@ Sub connecta_Click Private usrT As String = c.GetString("USUARIO") Private passT As String = c.GetString("PASS") cmd.Initialize - cmd.Name = "select_usuario_guna_PRO_1" + cmd.Name = "select_usuario_guna_PRO" cmd.Parameters = Array As Object(usrT, passT) reqManager.ExecuteQuery(cmd , 0, "usuarioA") End If c.Close - - Dim cmd As DBCommand - cmd.Initialize - cmd.Name = "select_ruta_PRO2_224_2" - cmd.Parameters = Array As Object(ALMACEN,e_ruta.text) - reqManager.ExecuteQuery(cmd , 0, "ruta") - If e_ruta.Text = "KMTS1" Then cargar.Visible = True Subir.Visible = True @@ -2456,4 +2456,5 @@ Sub checaPedido If c.RowCount > 0 Then Starter.skmt.ExecNonQuery("Update kmt_info set gestion = 3 WHERE CAT_CL_CODIGO IN (SELECT NV_CLIENTE FROM NOVENTA)") End If -End Sub \ No newline at end of file +End Sub + diff --git a/B4A/C_Productos.bas b/B4A/C_Productos.bas index cb3f8a1..0fe90ed 100644 --- a/B4A/C_Productos.bas +++ b/B4A/C_Productos.bas @@ -832,9 +832,9 @@ Private Sub clv_prods_ll_VisibleRangeChanged (FirstIndex As Int, LastIndex As In Pnl.LoadLayout("proditem") p_prods.Width = Root.Width * 0.92 p_botMasMen.Left = p_prods.Width - (p_botMasMen.Width + 5) - Log("1") +' Log("1") p_prods.Height = 200dip - Log("2") +' Log("2") Pnl.Height = 300dip ' p_prods.Height = 200dip Private cs As CSBuilder diff --git a/B4A/Files/cliente.bal b/B4A/Files/cliente.bal index 57f012f..fe1d01e 100644 Binary files a/B4A/Files/cliente.bal and b/B4A/Files/cliente.bal differ diff --git a/B4A/Profina.b4a b/B4A/Profina.b4a index bea0212..bba8314 100644 --- a/B4A/Profina.b4a +++ b/B4A/Profina.b4a @@ -1064,7 +1064,7 @@ Module9=C_NoVenta NumberOfFiles=499 NumberOfLibraries=35 NumberOfModules=27 -Version=12.5 +Version=12.8 @EndOfDesignText@ #Region Project Attributes #ApplicationLabel: Profina diff --git a/B4A/Profina.b4a.meta b/B4A/Profina.b4a.meta index ed47c32..ef9e8b7 100644 --- a/B4A/Profina.b4a.meta +++ b/B4A/Profina.b4a.meta @@ -82,6 +82,6 @@ ModuleClosedNodes6= ModuleClosedNodes7= ModuleClosedNodes8= ModuleClosedNodes9= -NavigationStack=C_Principal,B_OK_PAS_Click,1994,0,Diseñador Visual,cliente.bal,-100,2,C_Cliente,MODS,0,0,C_Cliente,B_GUARDA_C_Click,692,0,C_Cliente,B4XPage_Appear,329,0,C_NoVenta,Class_Globals,0,0,C_Principal,Subir_Click,730,0,C_Cliente,GPS_LocationChanged,359,0,C_Principal,Class_Globals,0,0,C_Principal,checaPedido,2450,6,MAPA_RUTAS,MapFragment1_Ready,191,0 +NavigationStack=C_Productos,clv_prods_ll_VisibleRangeChanged,862,0,C_Principal,e_ruta_TextChanged,2247,0,C_Productos,Busca_TextChanged,863,0,C_Cliente,et_Solicita_TextChanged,551,3,C_Productos,et_pCant_TextChanged,524,0,C_Cliente,Class_Globals,140,0,C_Cliente,B4XPage_Appear,358,6,C_Cliente,b_mapa_Click,629,0,C_Cliente,B_IMP_Click,635,0,appUpdater,Service_Create,102,0,B4XMainPage,Class_Globals,22,0 SelectedBuild=0 -VisibleModules=1,2,3,12,4,5,6,7,8,9,23 +VisibleModules=1,2,3,12,4,5,6,7,8,9,13