From 61d7116023bf5586e5ff0361011b12ad79b64452 Mon Sep 17 00:00:00 2001 From: AngelSuarez03 Date: Sun, 21 Apr 2024 19:13:46 -0600 Subject: [PATCH] Actividad Consultar (Completa) y Actividad Modificar Paciente (Incompleta) --- app/src/main/AndroidManifest.xml | 9 ++- .../ConsultarPacientesActivity.kt | 70 +++++++++++++++++++ .../medicalhealth/DoctorDataBaseHelper.kt | 34 ++++++--- .../medicalhealth/MainActivity.kt | 5 ++ .../medicalhealth/ModificarActivity.kt | 27 +++++++ .../res/layout/activity_agregar_paciente.xml | 37 ++++++---- .../layout/activity_consultar_pacientes.xml | 30 ++++++++ app/src/main/res/layout/activity_main.xml | 11 +++ .../main/res/layout/activity_modificar.xml | 31 ++++++-- app/src/main/res/values/strings.xml | 3 + 10 files changed, 228 insertions(+), 29 deletions(-) create mode 100644 app/src/main/java/com/terratenientes/medicalhealth/ConsultarPacientesActivity.kt create mode 100644 app/src/main/res/layout/activity_consultar_pacientes.xml diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index e1e6e71..be5d478 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -1,6 +1,6 @@ + xmlns:tools="http://schemas.android.com/tools"> + tools:targetApi="31"> + @@ -23,7 +26,7 @@ android:exported="false" /> + android:exported="true"> diff --git a/app/src/main/java/com/terratenientes/medicalhealth/ConsultarPacientesActivity.kt b/app/src/main/java/com/terratenientes/medicalhealth/ConsultarPacientesActivity.kt new file mode 100644 index 0000000..b050c8e --- /dev/null +++ b/app/src/main/java/com/terratenientes/medicalhealth/ConsultarPacientesActivity.kt @@ -0,0 +1,70 @@ +package com.terratenientes.medicalhealth + +import android.annotation.SuppressLint +import android.content.Intent +import androidx.appcompat.app.AppCompatActivity +import android.os.Bundle +import com.terratenientes.medicalhealth.databinding.ActivityConsultarPacientesBinding + +class ConsultarPacientesActivity : AppCompatActivity() { + + private lateinit var binding : ActivityConsultarPacientesBinding + private lateinit var db: DoctorDataBaseHelper + private lateinit var pacientesList: MutableList + private var pacienteSeleccionado: Paciente? = null + private lateinit var infoPaciente : Array + + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + binding = ActivityConsultarPacientesBinding.inflate(layoutInflater) + val view = binding.root + setContentView(view) + db = DoctorDataBaseHelper(this@ConsultarPacientesActivity) + + cargarListaPacientes() + + binding.listaPacientes.setOnItemClickListener { _, _, position, _ -> + pacienteSeleccionado = pacientesList[position] + val intent = Intent(this@ConsultarPacientesActivity, ModificarActivity::class.java) + intent.putExtra("Id", pacienteSeleccionado!!.id) + intent.putExtra("Nombre Paciente", pacienteSeleccionado!!.nombre) + intent.putExtra("Apellido Paterno", pacienteSeleccionado!!.apellidoPaterno) + intent.putExtra("Apellido Materno", pacienteSeleccionado!!.apellidoMaterno) + intent.putExtra("Domicilio", pacienteSeleccionado!!.domicilio) + intent.putExtra("Edad", pacienteSeleccionado!!.edad) + intent.putExtra("Sexo", pacienteSeleccionado!!.sexo) + startActivity(intent) + } + } + + private fun cargarListaPacientes() { + pacientesList = obtenerListaPacientes() + val adapter = PacienteAdapter(this, pacientesList) + binding.listaPacientes.adapter = adapter + } + + @SuppressLint("Range") + private fun obtenerListaPacientes(): MutableList { + val pacientes = mutableListOf() + val db = db.readableDatabase + val cursor = db.rawQuery("SELECT * FROM ${DoctorDataBaseHelper.TABLE_PACIENTES}", null) + while (cursor.moveToNext()) { + val id = cursor.getInt(cursor.getColumnIndex(DoctorDataBaseHelper.COLUMN_ID_PACIENTE)) + val nombre = cursor.getString(cursor.getColumnIndex(DoctorDataBaseHelper.COLUMN_NOMBRE_PACIENTE)) + val apellidoPaterno = cursor.getString(cursor.getColumnIndex(DoctorDataBaseHelper.COLUMN_APELLIDO_PATERNO_PACIENTE)) + val apellidoMaterno = cursor.getString(cursor.getColumnIndex(DoctorDataBaseHelper.COLUMN_APELLIDO_MATERNO_PACIENTE)) + val edad = cursor.getInt(cursor.getColumnIndex(DoctorDataBaseHelper.COLUMN_EDAD)) + val sexo = cursor.getString(cursor.getColumnIndex(DoctorDataBaseHelper.COLUMN_SEXO)) + val domicilio = cursor.getString(cursor.getColumnIndex(DoctorDataBaseHelper.COLUMN_DOMICILIO)) + val paciente = Paciente(id, nombre, apellidoPaterno, apellidoMaterno, edad, sexo, domicilio) + pacientes.add(paciente) + } + cursor.close() + return pacientes + } + + private fun guardarDatosPaciente(paciente : Paciente){ + infoPaciente = arrayOf(paciente.nombre.toString(), paciente.apellidoPaterno.toString(), paciente.apellidoMaterno.toString(), paciente.domicilio.toString(), paciente.edad.toString(), paciente.sexo.toString()) + } + +} \ No newline at end of file diff --git a/app/src/main/java/com/terratenientes/medicalhealth/DoctorDataBaseHelper.kt b/app/src/main/java/com/terratenientes/medicalhealth/DoctorDataBaseHelper.kt index 0ecedd0..4665e85 100644 --- a/app/src/main/java/com/terratenientes/medicalhealth/DoctorDataBaseHelper.kt +++ b/app/src/main/java/com/terratenientes/medicalhealth/DoctorDataBaseHelper.kt @@ -19,14 +19,14 @@ class DoctorDataBaseHelper (context: Context) : SQLiteOpenHelper(context, DATABA private const val COLUMN_TELEFONO="Telefono" private const val COLUMN_CONSULTORIO="Consultorio" private const val COLUMN_CONTRASENA="Contrasena" - const val TABLE_PACIENTES = "Pacientes" - const val COLUMN_ID_PACIENTE = "IdPaciente" - const val COLUMN_NOMBRE_PACIENTE = "NombrePaciente" - const val COLUMN_APELLIDO_PATERNO_PACIENTE = "ApellidoPaternoPaciente" - const val COLUMN_APELLIDO_MATERNO_PACIENTE = "ApellidoMaternoPaciente" - const val COLUMN_EDAD = "Edad" - const val COLUMN_SEXO = "Sexo" - const val COLUMN_DOMICILIO = "Domicilio" + const val TABLE_PACIENTES = "Pacientes" + const val COLUMN_ID_PACIENTE = "IdPaciente" + const val COLUMN_NOMBRE_PACIENTE = "NombrePaciente" + const val COLUMN_APELLIDO_PATERNO_PACIENTE = "ApellidoPaternoPaciente" + const val COLUMN_APELLIDO_MATERNO_PACIENTE = "ApellidoMaternoPaciente" + const val COLUMN_EDAD = "Edad" + const val COLUMN_SEXO = "Sexo" + const val COLUMN_DOMICILIO = "Domicilio" } @SuppressLint("SuspiciousIndentation") override fun onCreate(db: SQLiteDatabase?) { @@ -75,6 +75,24 @@ class DoctorDataBaseHelper (context: Context) : SQLiteOpenHelper(context, DATABA db.insert(TABLE_PACIENTES, null, values) db.close() } + + fun modificarPaciente(paciente: Paciente){ + val db = writableDatabase + val values = ContentValues().apply { + put(COLUMN_NOMBRE_PACIENTE, paciente.nombre) + put(COLUMN_APELLIDO_PATERNO_PACIENTE, paciente.apellidoPaterno) + put(COLUMN_APELLIDO_MATERNO_PACIENTE, paciente.apellidoMaterno) + put(COLUMN_DOMICILIO, paciente.domicilio) + put(COLUMN_EDAD, paciente.edad) + put(COLUMN_SEXO, paciente.sexo) + } + val whereClause = "$COLUMN_NOMBRE_PACIENTE = ? and $COLUMN_APELLIDO_PATERNO_PACIENTE = ? and $COLUMN_APELLIDO_MATERNO_PACIENTE = ?" + //val whereArgs = arrayOf(paciente.id.toString()) + val whereArgs = arrayOf(paciente.nombre, paciente.apellidoPaterno, paciente.apellidoMaterno) + db.update(TABLE_PACIENTES, values, whereClause, whereArgs) + db.close() + } + fun createTable(){ val db=writableDatabase val crearTablaDoctores="CREATE TABLE $TABLE_NAME($COLUMN_CEDULA VARCHAR(30) PRIMARY KEY, $COLUMN_NOMBRE VARCHAR(30)," + diff --git a/app/src/main/java/com/terratenientes/medicalhealth/MainActivity.kt b/app/src/main/java/com/terratenientes/medicalhealth/MainActivity.kt index 6366694..ba1d83f 100644 --- a/app/src/main/java/com/terratenientes/medicalhealth/MainActivity.kt +++ b/app/src/main/java/com/terratenientes/medicalhealth/MainActivity.kt @@ -32,6 +32,11 @@ class MainActivity : AppCompatActivity() { val intent = Intent(this@MainActivity, AgregarActivity::class.java) startActivity(intent) } + + binding.btnPrueba2.setOnClickListener { + val intent = Intent(this@MainActivity, ConsultarPacientesActivity::class.java) + startActivity(intent) + } } @SuppressLint("SuspiciousIndentation") private fun cargarDatos(){ diff --git a/app/src/main/java/com/terratenientes/medicalhealth/ModificarActivity.kt b/app/src/main/java/com/terratenientes/medicalhealth/ModificarActivity.kt index 74c5c76..cd1cc9e 100644 --- a/app/src/main/java/com/terratenientes/medicalhealth/ModificarActivity.kt +++ b/app/src/main/java/com/terratenientes/medicalhealth/ModificarActivity.kt @@ -2,14 +2,41 @@ package com.terratenientes.medicalhealth import androidx.appcompat.app.AppCompatActivity import android.os.Bundle +import android.widget.Toast import com.terratenientes.medicalhealth.databinding.ActivityModificarBinding class ModificarActivity : AppCompatActivity() { + lateinit var binding : ActivityModificarBinding + private lateinit var paciente : Paciente + private lateinit var db: DoctorDataBaseHelper + override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) binding = ActivityModificarBinding.inflate(layoutInflater) val view = binding.root setContentView(view) + db = DoctorDataBaseHelper(this@ModificarActivity) + paciente = Paciente(intent.getIntExtra("Id",0),intent.getStringExtra("Nombre Paciente").toString(),intent.getStringExtra("Apellido Paterno").toString(), intent.getStringExtra("Apellido Materno").toString(), intent.getIntExtra("Edad", 20), intent.getStringExtra("Sexo").toString(), intent.getStringExtra("Domicilio").toString()) + llenarCampos() + binding.btnModificar.setOnClickListener { + actualizarPaciente(paciente) + } } + + private fun actualizarPaciente(paciente : Paciente) : Unit { + db.modificarPaciente(paciente) + finish() + Toast.makeText(this@ModificarActivity, "InformaciĆ³n Actualizada UwU", Toast.LENGTH_LONG).show() + } + + private fun llenarCampos() : Unit { + binding.etNombre.setText(paciente.nombre) + binding.etApellidoPaterno.setText(paciente.apellidoPaterno) + binding.etApellidoMaterno.setText(paciente.apellidoMaterno) + binding.etDomicilio.setText(paciente.domicilio) + binding.tvEdad.setText("Edad: ${paciente.edad}") + binding.tvSexo.setText("Sexo: ${paciente.sexo}") + } + } \ No newline at end of file diff --git a/app/src/main/res/layout/activity_agregar_paciente.xml b/app/src/main/res/layout/activity_agregar_paciente.xml index 31502e5..d880bc1 100644 --- a/app/src/main/res/layout/activity_agregar_paciente.xml +++ b/app/src/main/res/layout/activity_agregar_paciente.xml @@ -21,14 +21,14 @@ @@ -67,34 +67,47 @@ + android:background="@drawable/radius_tv" + android:hint="@string/ht_nombre" + android:textColor="#212121" + android:paddingStart="10dp" /> +