diff --git a/B4A/C_Cliente.bas b/B4A/C_Cliente.bas index 6261a28..b6f87ee 100644 --- a/B4A/C_Cliente.bas +++ b/B4A/C_Cliente.bas @@ -1136,7 +1136,7 @@ Sub cuest_preguntaContestada(m As Map) DateTime.DateFormat = "dd/MM/yyyy" DateTime.TimeFormat = "HH:mm:ss" Starter.skmt.ExecNonQuery($"delete from CUESTIONARIO where Q_IDCLIENTE = '${Subs.traeCliente}' and Q_IDPREGUNTA = '${m.Get("idPregunta")}'"$) - Starter.skmt.ExecNonQuery($"insert into CUESTIONARIO (Q_IDCLIENTE, Q_IDPREGUNTA, Q_PREGUNTA, Q_IDRESPUESTA, Q_RESPUESTA, Q_FECHA) values ('${Subs.traeCliente}', '${m.Get("idPregunta")}', '${m.Get("pregunta")}', '${m.Get("idRespuesta")}', '${m.Get("respuesta")}', '${DateTime.Date(DateTime.now)} ${DateTime.time(DateTime.now)}')"$) + Starter.skmt.ExecNonQuery($"insert into CUESTIONARIO (Q_RUTA, Q_ALMACEN, Q_IDCLIENTE, Q_IDPREGUNTA, Q_PREGUNTA, Q_IDRESPUESTA, Q_RESPUESTA, Q_FECHA) values ('${Subs.traeRuta}', '${Subs.traeAlmacen}', '${Subs.traeCliente}', '${m.Get("idPregunta")}', '${m.Get("pregunta")}', '${m.Get("idRespuesta")}', '${m.Get("respuesta")}', '${DateTime.Date(DateTime.now)} ${DateTime.time(DateTime.now)}')"$) Select Case m.Get("idPregunta") Case "1" If m.Get("respuesta") = "No, está enrejado o no se tiene acceso" Then diff --git a/B4A/C_Cuestionario.bas b/B4A/C_Cuestionario.bas index 8760a54..2fee579 100644 --- a/B4A/C_Cuestionario.bas +++ b/B4A/C_Cuestionario.bas @@ -14,7 +14,7 @@ Sub Class_Globals Private CallBack As Object 'ignore Private vPreguntaActual As String Private db As SQL - Private clienteAnt As String = "" +' Private clienteAnt As String = "" Dim panelSombra As Panel 'Panel de sombra. End Sub @@ -25,7 +25,9 @@ Public Sub Initialize (vCallback As Object, vEventName As String, vRoot As B4XVi CallBack = vCallback db = skmt vPreguntaActual = 0 - db.ExecNonQuery("CREATE TABLE IF NOT EXISTS CUESTIONARIO (Q_IDCLIENTE TEXT, Q_IDPREGUNTA TEXT, Q_PREGUNTA TEXT, Q_IDRESPUESTA TEXT, Q_RESPUESTA TEXT, Q_FECHA TEXT, Q_ENVIO_OK INTEGER DEFAULT 0)") + db.ExecNonQuery("CREATE TABLE IF NOT EXISTS CUESTIONARIO (Q_RUTA TEXT, Q_ALMACEN TEXT, Q_IDCLIENTE TEXT, Q_IDPREGUNTA TEXT, Q_PREGUNTA TEXT, Q_IDRESPUESTA TEXT, Q_RESPUESTA TEXT, Q_FECHA TEXT, Q_ENVIO_OK INTEGER DEFAULT 0)") + agregaColumna("CUESTIONARIO", "Q_RUTA", "TEXT") + agregaColumna("CUESTIONARIO", "Q_ALMACEN", "TEXT") Return Me End Sub @@ -152,4 +154,25 @@ End Sub 'Oculta el anel de la pregunta. Sub ocultPanelPregunta If panelSombra.IsInitialized Then panelSombra.RemoveView +End Sub + +'Agrega una columna a la tabla especificada. +'Hay que indicar el "tipo" de la columna (TEXT, INTEGER, ETC) +'Ej. agregaColumna("TABLA", "COLUMNA", "TIPO") +Sub agregaColumna(tabla As String, columna As String, tipo As String) 'ignore + Try 'Intentamos usar "pragma_table_info" para revisar si existe la columna en la tabla + Private c As Cursor = db.ExecQuery($"SELECT COUNT(*) AS fCol FROM pragma_table_info('${tabla}') WHERE name='${columna}'"$) + c.Position = 0 + If c.GetString("fCol") = 0 Then 'Si no esta la columna la agregamos + db.ExecNonQuery($"ALTER TABLE ${tabla} ADD COLUMN ${columna} ${tipo}"$) + Log($"Columna "${columna} ${tipo}", agregada a "${tabla}"."$) + End If + Catch 'Si no funciona "pragma_table_info" lo hacemos con try/catch + Try + db.ExecNonQuery($"ALTER TABLE ${tabla} ADD COLUMN ${columna} ${tipo}"$) + Log($"Columna "${columna} ${tipo}", agregada a "${tabla}".."$) + Catch + Log(LastException) + End Try + End Try End Sub \ No newline at end of file diff --git a/B4A/C_Principal.bas b/B4A/C_Principal.bas index 01dff85..4b6bd8a 100644 --- a/B4A/C_Principal.bas +++ b/B4A/C_Principal.bas @@ -67,7 +67,6 @@ Sub Class_Globals Dim p As PhoneId Dim imei As String ' Dim SERVER As String - Private inv As Button Private P1 As Panel Private CLAVE As EditText @@ -92,7 +91,6 @@ Sub Class_Globals Private Resumen As Button Private L_CUANTOST As Label Private img3 As ImageView - Private ImageView3 As ImageView Private ImageView5 As ImageView Private L_TICKPROM As Label @@ -103,23 +101,16 @@ Sub Class_Globals Private hacer_ped As ImageView Private nvo_cliente As ImageView Private tickets_dia As ImageView - Private l_monto_ks As Label Private l_monto_kp As Label Private l_monto_k As Label - Private l_monto_c1 As Label Private l_monto_c2 As Label Private l_monto_c3 As Label - Private l_encuesta As Label - - Private bpv1 As BatteryProgressView Dim batterystatus(11) As Int Private bu As BatteryUtilities - - Private Panel4 As Panel Private L_NES As Label Private L_REAL As Label @@ -165,19 +156,14 @@ Sub Class_Globals Private LPT As String Private STEYIN As String Private STEYOUT As String - Private L_PRIO As Label Private L_SECUND As Label Private L_COMP As Label - - Private stay_hh As String Private stay_mi As String Private stay_ss As String - Dim sDate,sTime As String Dim HORAINGRESO As String - Private L_QUALA As Label Private L_FERRERO As Label Private L_SANMARCOS As Label @@ -205,25 +191,19 @@ Sub Class_Globals Private L_TOTAL_COMIS_1 As Label Private B_OK_COMISS As Button Private Panel_C As Panel - Private TitleHeight As Int = 50dip Private Title2Height As Int = 100dip - Private DividerHeight As Int = 5dip Private CLV1 As CustomListView Private pnlTitle As B4XView Private xui As XUI Type TitleData (Title As String) - Private B_MARCAS As Button Private Panel5 As Panel Private lblTitle As Label Private B_OK_PANEL5 As Button - - Private p_principal As Panel Private p_mandaInfo As Panel - Dim s As Cursor Private Label22 As Label Private l_rutasuplencia As Label @@ -302,20 +282,16 @@ Private Sub B4XPage_Created (Root1 As B4XView) d.Close e.Close ' CallSubDelayed(FirebaseMessaging, "SubscribeToTopics") - s = B4XPages.MainPage.skmt.ExecQuery("select RS_RUTA FROM RUTA_SUPLENCIA") s.Position = 0 If s.RowCount = 0 Then - Label22.Visible = False l_rutasuplencia.Visible = False - Else If s.RowCount > 0 Then Label22.Visible = True l_rutasuplencia.Visible = True l_rutasuplencia.Text = s.GetString("RS_RUTA") End If - Starter.Skmt.ExecNonQuery($"create table if not exists kmt_info2 (${getTableColumnList(Starter.skmt, "kmt_info")})"$) End Sub @@ -568,7 +544,6 @@ Sub Subir_Click S_CH.Visible = False PB1.Visible = False Resumen.Visible= False - L_P_2.Text = "Envio de Pedidos" L_P_3.Text = "Envio de Pedidos" S_CH.Text = "EN PROCESO" @@ -604,7 +579,6 @@ Sub Subir_Click ' ENVIO DE LOS CODIGOS QR 'c=skmt.ExecQuery2("SELECT CAT_CL_NUM_SERIEFISICO,CAT_CL_CODIGO ,CAT_CL_LONG,CAT_CL_LAT, CAT_CL_FOTO FROM kmt_info where CAT_CL_NUM_SERIEFISICO = ?", Array As String("OK")) - c=B4XPages.MainPage.skmt.ExecQuery("SELECT CODIGOKMTS, CODIGOB, LAT, LON FROM HIST_CODIGO_BARRAS" ) If c.RowCount>0 Then For i=0 To c.RowCount -1 @@ -711,7 +685,6 @@ Sub Subir_Click d.Close ' GEO CERCA - c=B4XPages.MainPage.skmt.ExecQuery("Select HGCLIENTE, HGDATE, HGLAT, HGLON from HIST_GEOCERCA") If c.RowCount>0 Then For i=0 To c.RowCount -1 @@ -726,7 +699,6 @@ Sub Subir_Click c.Close ' LO DEL LIKE - c=B4XPages.MainPage.skmt.ExecQuery("Select HFCLIENTE, HFALIAS,HFRUTA,HFALMACEN from HIST_FACE") If c.RowCount>0 Then For i=0 To c.RowCount -1 @@ -738,7 +710,8 @@ Sub Subir_Click B4XPages.MainPage.reqManager.ExecuteCommand(cmd , "inst_noventa") Next End If - c.Close' + c.Close + ' DROP t1.Initialize("T1", 30000) ' 1000 = 1 second t1.Enabled = True @@ -763,7 +736,7 @@ Sub Subir_Click c.Position = x Dim cmd As DBCommand cmd.Initialize - cmd.Name = "insert_CUESTIONARIO_DUR" + cmd.Name = "insert_CUESTIONARIO_INTMEX" cmd.Parameters = Array As Object(c.GetString("Q_IDCLIENTE"), rutaActual, ALMACEN, c.GetString("Q_FECHA"), c.GetString("Q_IDPREGUNTA"), c.GetString("Q_PREGUNTA"), c.GetString("Q_IDRESPUESTA"), C.GetString("Q_RESPUESTA")) B4XPages.MainPage.reqManager.ExecuteCommand(cmd , "ins_cuestionario") Next diff --git a/B4A/INTMEX_LL.b4a.meta b/B4A/INTMEX_LL.b4a.meta index ec52324..554305a 100644 --- a/B4A/INTMEX_LL.b4a.meta +++ b/B4A/INTMEX_LL.b4a.meta @@ -61,7 +61,7 @@ ModuleClosedNodes1= ModuleClosedNodes10= ModuleClosedNodes11= ModuleClosedNodes12= -ModuleClosedNodes13=1,7 +ModuleClosedNodes13=7 ModuleClosedNodes14=9,11 ModuleClosedNodes15=9,10 ModuleClosedNodes16= @@ -85,6 +85,6 @@ ModuleClosedNodes6= ModuleClosedNodes7= ModuleClosedNodes8= ModuleClosedNodes9=1 -NavigationStack=C_Principal,Class_Globals,0,0,C_Principal,tickets_dia_Click,2221,0,Subs,guardaProductoSinGestion,748,1,B4XMainPage,Initialize,100,0,B4XMainPage,Class_Globals,18,0,C_Principal,cargar_Click,846,0,C_Principal,connecta_Click,1803,0,C_Principal,JobDone,1738,0,Main,Globals,25,0,C_Principal,Subir_Click,677,6 +NavigationStack=C_Cuestionario,Class_Globals,10,5,C_Cuestionario,Initialize,22,6,C_Cliente,B4XPage_Created,159,0,C_Cliente,cuest_preguntaContestada,1134,2,C_Cliente,CreateListItem,1122,0,C_Cliente,b_cxc_Click,1108,0,C_Principal,Initialize,209,0,C_Principal,Class_Globals,204,0,C_Principal,B4XPage_Created,287,0,C_Principal,Subir_Click,740,0,C_Principal,cargar_Click,823,0 SelectedBuild=0 -VisibleModules=2,26,24,13,16,14,4,27,15,9 +VisibleModules=2,26,24,13,16,14,4,27,15,9,6,17