From a32149d755b98b9c8eb8deb3b71e0daa82f4cb5a Mon Sep 17 00:00:00 2001 From: cvaldes1201 Date: Tue, 23 Jan 2024 11:05:49 -0600 Subject: [PATCH] v final de encuestas --- B4A/B4XMainPage.bas | 2 +- B4A/C_Cliente.bas | 87 +++++++++++++++++++--------------- B4A/C_Principal.bas | 38 +++++++++++++-- B4A/C_Productos.bas | 2 +- B4A/Files/encuessta_m3.bal | Bin 41542 -> 41518 bytes B4A/Guna Vistas V3.1.b4a | 2 +- B4A/Guna Vistas V3.1.b4a.meta | 4 +- 7 files changed, 89 insertions(+), 46 deletions(-) diff --git a/B4A/B4XMainPage.bas b/B4A/B4XMainPage.bas index 59975b6..ab67706 100644 --- a/B4A/B4XMainPage.bas +++ b/B4A/B4XMainPage.bas @@ -229,6 +229,7 @@ Private Sub B4XPage_Created (Root1 As B4XView) End Sub Sub B4XPage_Appear + reqManager.Initialize(Me, Starter.server) If Starter.muestraProgreso = 1 Then muestraProgreso("Descargando actualización") Starter.muestraProgreso = 0 @@ -254,7 +255,6 @@ Sub B4XPage_Appear ToastMessageShow("No permission", True) End If server = Starter.server - reqManager.Initialize(Me, Starter.server) tgl.Initialize() If Not(Starter.gps.GPSEnabled) Then ToastMessageShow("Es necesario tener el GPS encendido", True) diff --git a/B4A/C_Cliente.bas b/B4A/C_Cliente.bas index 8db56df..ea1429f 100644 --- a/B4A/C_Cliente.bas +++ b/B4A/C_Cliente.bas @@ -798,30 +798,41 @@ Private Sub b_preguntag_Click - If ALMACEN = "35" Or ALMACEN = "43" Or ALMACEN = "54" Or ALMACEN = "73" Or ALMACEN = "56" Then 'ALMACEN = "7" Then ' - ''Or ALMACEN = "56" ATIZAPAN PEDIGRI - p_pregunta1.Visible = False - SV_ENCUESTA.Visible = True - SV_ENCUESTA.Panel.LoadLayout("ENCUESTA_PED") - SV_ENCUESTA.Panel.Height = Panel4.Height - Panel4.Visible = True - b_like.Visible = False - BT_QR.Visible = False - B_GALLINA.Visible = False - Tar.Visible = False - Tels.Visible = False - gest.Visible = False - b_venta.Visible = False - Guardar.Visible = False - HIST.Visible = False - - - Else +' If ALMACEN = "35" Or ALMACEN = "43" Or ALMACEN = "54" Or ALMACEN = "73" Or ALMACEN = "56" Then 'ALMACEN = "7" Then ' +' ''Or ALMACEN = "56" ATIZAPAN PEDIGRI +' p_pregunta1.Visible = False +' SV_ENCUESTA.Visible = True +' SV_ENCUESTA.Panel.LoadLayout("ENCUESTA_PED") +' SV_ENCUESTA.Panel.Height = Panel4.Height +' Panel4.Visible = True +' b_like.Visible = False +' BT_QR.Visible = False +' B_GALLINA.Visible = False +' Tar.Visible = False +' Tels.Visible = False +' gest.Visible = False +' b_venta.Visible = False +' Guardar.Visible = False +' HIST.Visible = False +' +' +' Else If que_modulo = Null Or que_modulo = " " Then que_modulo = "1" ' Msgbox(que_modulo,"ALO") If que_modulo < = ENCUESTA Then If que_modulo = "1" Then + + If p_m2.IsInitialized And p_m2.Visible Then + p_m2.Visible = False + Else If p_m3.IsInitialized And p_m3.Visible Then + p_m3.Visible = False + Else If p_m4.IsInitialized And p_m4.Visible Then + p_m4.Visible = False + Else If p_modulo5.IsInitialized And p_modulo5.Visible Then + p_modulo5.Visible = False + Else + End If ' esto para la primera encuesta m1 p_pregunta1.Visible = False p_cliente.Visible = False @@ -955,7 +966,7 @@ Private Sub b_preguntag_Click End If - End If +' End IF Case DialogResponse.NEGATIVE @@ -2152,8 +2163,8 @@ Private Sub B_guardaencuesta_m3_Click Private P9_M3 As String = "" - If et_p1_m3.Text = "" Then PASA = "0" - If et_p2_m3.Text = "" Then PASA = "0" +' If et_p1_m3.Text = "" Then PASA = "0" +' If et_p2_m3.Text = "" Then PASA = "0" If rd1_p5_m3.Checked Then P5_M3 = "SI" If rd2_p5_m3.Checked Then P5_M3 = "NO" @@ -2213,7 +2224,7 @@ Private Sub B_guardaencuesta_m3_Click ' skmt.ExecNonQuery2("INSERT INTO ENCUESTA_MODULO2 (CLIENTE, ALMACEN,P1, P2, P3, P4, P5, P6) VALUES (?,?,?,?,?,?,?,?)", Array As Object(Subs.traeCliente, ALMACEN,et_p1_m2.Text,et_p2_m2.Text,P3_M2,P4_M2,et_p5_m2.Text,"MODULO_3" )) - skmt.ExecNonQuery2("INSERT INTO ENCUESTA_MODULO3 (CLIENTE, ALMACEN,P1, P2, P3, P4, P5, P6,P7,P8,P9,P10,P11) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?)", Array As Object(Subs.traeCliente, ALMACEN,et_p1_m3.Text,et_p2_m3.Text,P3_M3,P4_M3,textemp4,textemp5,P5_M3,textemp6,textemp7, textemp8, P9_M3)) + skmt.ExecNonQuery2("INSERT INTO ENCUESTA_MODULO3 (CLIENTE, ALMACEN,P1, P2, P3, P4, P5, P6,P7,P8,P9,P10,P11) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?)", Array As Object(Subs.traeCliente, ALMACEN,"x","x",P3_M3,P4_M3,textemp4,textemp5,P5_M3,textemp6,textemp7, textemp8, P9_M3)) SV_ENCUESTA.Visible = False p_cliente.Visible = True ' B4XPages.MainPage.tipo_venta = "PREVENTA" @@ -2514,22 +2525,22 @@ End Sub ' FIN P7 M1 ''aqui -Private Sub et_p1_m3_TextChanged (Old As String, New As String) - If et_p1_m3.Text.Length > 2 Or et_p1_m3.Text = 0 Then - - Msgbox("Valida tu respuesta, dato no valido","Aviso") - et_p1_m3.Text = "" - End If -End Sub +'Private Sub et_p1_m3_TextChanged (Old As String, New As String) +' If et_p1_m3.Text.Length > 2 Or et_p1_m3.Text = 0 Then +' +' Msgbox("Valida tu respuesta, dato no valido","Aviso") +' et_p1_m3.Text = "" +' End If +'End Sub -Private Sub et_p2_m3_TextChanged (Old As String, New As String) - If et_p2_m3.Text.Length > 2 Or et_p2_m3.Text = 0 Then - - Msgbox("Valida tu respuesta, dato no valido","Aviso") - et_p2_m3.Text = "" - - End If -End Sub +'Private Sub et_p2_m3_TextChanged (Old As String, New As String) +' If et_p2_m3.Text.Length > 2 Or et_p2_m3.Text = 0 Then +' +' Msgbox("Valida tu respuesta, dato no valido","Aviso") +' et_p2_m3.Text = "" +' +' End If +'End Sub Private Sub et_p1_m2_TextChanged (Old As String, New As String) If et_p1_m2.Text.Length > 2 Or et_p1_m2.Text = 0 Then diff --git a/B4A/C_Principal.bas b/B4A/C_Principal.bas index b0bb147..07283ca 100644 --- a/B4A/C_Principal.bas +++ b/B4A/C_Principal.bas @@ -867,7 +867,7 @@ Sub cargar_Click cmd.Initialize cmd.Name = "select_cat_clientes_guna_GV2" cmd.Parameters = Array As Object(E_RUTA2.text, ALMACEN) - B4XPages.MainPage.reqManager.ExecuteQuery(cmd , 0, "kmt_datos") + B4XPages.MainPage.reqManager.ExecuteQuery(cmd , 0, "kmt_datos2") cmd.Initialize cmd.Name = "select_hist_datos_GV2" @@ -911,7 +911,7 @@ Sub cargar_Click B4XPages.MainPage.reqManager.ExecuteQuery(cmd , 0, "marcas_rutas") cmd.Initialize - cmd.Name = "select_CUEST_GV2" + cmd.Name = "select_CUEST2_GV2" cmd.Parameters = Array As Object(ALMACEN) B4XPages.MainPage.reqManager.ExecuteQuery(cmd , 0, "CUESTIONARIO") @@ -1006,7 +1006,7 @@ Sub JobDone(Job As HttpJob) Dim CAT_CL_LAT As String = records(RESULT.Columns.Get("CAT_CL_LAT")) Dim CAT_CL_MTOCOMPRA As String = records(RESULT.Columns.Get("CAT_CL_MTOCOMPRA")) Dim CAT_CL_NUM_SERIEFISICO As String = records(RESULT.Columns.Get("CAT_CL_NUM_SERIEFISICO")) - 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, gestion) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,0)", Array As Object (CAT_CL_CODIGO,CAT_CL_RUTA,CAT_CL_NOMBRE,CAT_CL_ATIENDE1,CAT_CL_ATIENTE2,CAT_CL_TELEFONO,CAT_CL_EMAIL,CAT_CL_CALLE,CAT_CL_NOEXT,CAT_CL_NOINT,CAT_CL_CALLE1,CAT_CL_CALLE2,CAT_CL_COLONIA,CAT_CL_MUNI,CAT_CL_EDO,CAT_CL_CP,CAT_CL_LONG,CAT_CL_LAT,CAT_CL_MTOCOMPRA,CAT_CL_NUM_SERIEFISICO)) + 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, gestion) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,0)", Array As Object (CAT_CL_CODIGO,e_ruta.Text,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)) 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 Listo1 = 1 @@ -1019,6 +1019,38 @@ Sub JobDone(Job As HttpJob) End If End If End If + + If Job.JobName = "DBRequest" Then + Dim RESULT As DBResult = B4XPages.MainPage.reqManager.HandleJob(Job) + If RESULT.Tag = "kmt_datos2" Then 'query tag + S_CC.TEXT = "CARGANDO" + For Each records() As Object In RESULT.Rows + Dim CAT_CL_CODIGO As String = records(RESULT.Columns.Get("CAT_CL_CODIGO")) + Dim CAT_CL_RUTA As String = records(RESULT.Columns.Get("CAT_CL_RUTA")) + Dim CAT_CL_NOMBRE As String = records(RESULT.Columns.Get("CAT_CL_NOMBRE")) + Dim CAT_CL_ATIENDE1 As String = records(RESULT.Columns.Get("CAT_CL_ATIENDE1")) + Dim CAT_CL_ATIENTE2 As String = records(RESULT.Columns.Get("CAT_CL_ATIENTE2")) + Dim CAT_CL_TELEFONO As String = records(RESULT.Columns.Get("CAT_CL_TELEFONO")) + Dim CAT_CL_EMAIL As String = records(RESULT.Columns.Get("CAT_CL_EMAIL")) + Dim CAT_CL_CALLE As String = records(RESULT.Columns.Get("CAT_CL_CALLE")) + Dim CAT_CL_NOEXT As String = records(RESULT.Columns.Get("CAT_CL_NOEXT")) + Dim CAT_CL_NOINT As String = records(RESULT.Columns.Get("CAT_CL_NOINT")) + Dim CAT_CL_CALLE1 As String = records(RESULT.Columns.Get("CAT_CL_CALLE1")) + Dim CAT_CL_CALLE2 As String = records(RESULT.Columns.Get("CAT_CL_CALLE2")) + Dim CAT_CL_COLONIA As String = records(RESULT.Columns.Get("CAT_CL_COLONIA")) + Dim CAT_CL_MUNI As String = records(RESULT.Columns.Get("CAT_CL_MUNI")) + Dim CAT_CL_EDO As String = records(RESULT.Columns.Get("CAT_CL_EDO")) + Dim CAT_CL_CP As String = records(RESULT.Columns.Get("CAT_CL_CP")) + Dim CAT_CL_LONG As String = records(RESULT.Columns.Get("CAT_CL_LONG")) + Dim CAT_CL_LAT As String = records(RESULT.Columns.Get("CAT_CL_LAT")) + Dim CAT_CL_MTOCOMPRA As String = records(RESULT.Columns.Get("CAT_CL_MTOCOMPRA")) + Dim CAT_CL_NUM_SERIEFISICO As String = records(RESULT.Columns.Get("CAT_CL_NUM_SERIEFISICO")) + 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, gestion) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,0)", Array As Object (CAT_CL_CODIGO,E_RUTA2.Text,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)) + 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 + + End If + End If If Job.JobName = "DBRequest" Then Dim RESULT As DBResult = B4XPages.MainPage.reqManager.HandleJob(Job) diff --git a/B4A/C_Productos.bas b/B4A/C_Productos.bas index c368a49..338047d 100644 --- a/B4A/C_Productos.bas +++ b/B4A/C_Productos.bas @@ -300,7 +300,7 @@ Sub llenaCatalogo(limpiar As Boolean) order by Case CAT_GP_TIPOPROD when 'PRIORITARIO' THEN 0 WHEN 'ESTRATEGICO' THEN 1 - WHEN 'CATALOGO REGULAR' then 2 + WHEN 'COMPLEMENTARIO' then 2 Else 3 End, CAT_GP_NOMBRE"$) diff --git a/B4A/Files/encuessta_m3.bal b/B4A/Files/encuessta_m3.bal index 25448caa314665aeb02c4a64dd61bf9a2d6b0b5d..8f290977eec19816a3cb05a6735e99484abc68ea 100644 GIT binary patch literal 41518 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%0AVVhSlo!^h;1Dr)>4r z8(yQT(OiXuMEm&J`P=HhL8qa^yf9%k75eaqa@nx@GpG!99(fOYwAHgO9a%8X^_?@Q8BRjsFj*5V0XbqoE=0KnrK%?}j8hJO?3;jsH354b6Ke zD&HXk5liKml%@6~;s29iRBJ%}A5q<*ZvOYOwChEFImj&>-2SxtC9E7J`o9(wJN3__ zzZj@ftpRoZNpZx~X(49R{a;hXPMz^h4AiOCfch7rr(QRv?*E!9cIy8e4|S?Fp#Cq> zQ-92uIvTiN@9&`1|0_C;!Ro2j=YP(C`rlCfW%o55wEBOKhdR|7Q2&qUshj(n2@Ik` z(aaa)p-#01)c-Sj>gK*?U+1X*S3K0I)_^+iGa~jdPeG+wG=m1NhyQO#j@2{nlo);^ zgd6d=|ANr}KwRjUH?zVD{so~vw3Dcuy{yHv$lo8aN1y0=q_*M-{Vxciu6zS5{8h*k zXtJGMX#axH<(`_4K@hs3FGT(qEgYu9kc4R(LLBF!v(US6ae9!u!hb=C3WMwiWa!(d zau6TtOh3dN-n}{2jFchuDw_BwBE_3_806iHoOO8Qo-cUehup;KE);Z#_XX%GQr=W( Yz