From 08ffeac5e461da9b506c85826178666f77a276ed Mon Sep 17 00:00:00 2001 From: AngelSuarez03 Date: Sun, 26 May 2024 11:32:32 -0600 Subject: [PATCH] =?UTF-8?q?Correci=C3=B3n=20recycle=20view=20pacientes=20y?= =?UTF-8?q?=20funcionalidad=20de=20descarga=20de=20historial=20en=20format?= =?UTF-8?q?o=20csv?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../medicalhealth/AgregarActivity.kt | 2 +- .../medicalhealth/MainActivity.kt | 12 +- .../medicalhealth/ModificarActivity.kt | 4 +- .../medicalhealth/PacienteActivity.kt | 90 ++++++++++- .../PacientePrincipalActivity.kt | 4 +- .../medicalhealth/PrincipalActivity.kt | 81 +++++++++- .../medicalhealth/RecetaActivity.kt | 2 +- .../medicalhealth/RegistrarDActivity.kt | 2 +- .../adapters/HistorialDataBaseHelper.kt | 10 +- .../adapters/PacienteViewAdapter.kt | 14 +- .../reports/ConsultarPacientesActivity.kt | 1 + app/src/main/res/layout/rc_paciente_item.xml | 149 ++++++++++-------- app/src/main/res/values/strings.xml | 5 +- 13 files changed, 281 insertions(+), 95 deletions(-) diff --git a/app/src/main/java/com/terratenientes/medicalhealth/AgregarActivity.kt b/app/src/main/java/com/terratenientes/medicalhealth/AgregarActivity.kt index b4a8217..077816a 100644 --- a/app/src/main/java/com/terratenientes/medicalhealth/AgregarActivity.kt +++ b/app/src/main/java/com/terratenientes/medicalhealth/AgregarActivity.kt @@ -33,7 +33,7 @@ class AgregarActivity : AppCompatActivity() { setContentView(view) db = DoctorDataBaseHelper(this@AgregarActivity) dbHistorial = HistorialDataBaseHelper(this@AgregarActivity) - historial = Historial("Doctor", intent.getStringExtra("NombreDoctor"),"Se inició la actividad alta paciente", obtenerFecha()) + historial = Historial("Doctor", intent.getStringExtra("NombreDoctor"),"Se inicio la actividad alta paciente", obtenerFecha()) añadirHistorial(historial) val opcionesGenero = arrayOf("Masculino", "Femenino", "Otro") val adapter = ArrayAdapter(this, R.layout.simple_spinner_item, opcionesGenero) diff --git a/app/src/main/java/com/terratenientes/medicalhealth/MainActivity.kt b/app/src/main/java/com/terratenientes/medicalhealth/MainActivity.kt index b2c2755..ad5c5cb 100644 --- a/app/src/main/java/com/terratenientes/medicalhealth/MainActivity.kt +++ b/app/src/main/java/com/terratenientes/medicalhealth/MainActivity.kt @@ -10,6 +10,7 @@ import androidx.annotation.RequiresApi import androidx.appcompat.app.AppCompatActivity import com.terratenientes.medicalhealth.adapters.DoctorDataBaseHelper import com.terratenientes.medicalhealth.adapters.HistorialDataBaseHelper +import com.terratenientes.medicalhealth.adapters.RecetaDataBaseHelper import com.terratenientes.medicalhealth.data.Doctor import com.terratenientes.medicalhealth.data.Historial import com.terratenientes.medicalhealth.databinding.ActivityMainBinding @@ -24,16 +25,19 @@ class MainActivity : AppCompatActivity() { private lateinit var binding: ActivityMainBinding private lateinit var db: DoctorDataBaseHelper private lateinit var dbHistorial: HistorialDataBaseHelper + lateinit var dbRecetas: RecetaDataBaseHelper private lateinit var historial: Historial override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) binding = ActivityMainBinding.inflate(layoutInflater) val view = binding.root setContentView(view) - historial = Historial(null, null, "Se abrió la aplicacion", obtenerFecha()) + historial = Historial(null, null, "Se abrio la aplicacion", obtenerFecha()) db = DoctorDataBaseHelper(this@MainActivity) dbHistorial = HistorialDataBaseHelper(this@MainActivity) + dbRecetas = RecetaDataBaseHelper(this@MainActivity) añadirHistorial(historial) + //dbRecetas.crearTablaReceta() //db.createTable() //dbHistorial.crearTablaHistorial() binding.btnIniciarSesion.setOnClickListener { @@ -47,7 +51,7 @@ class MainActivity : AppCompatActivity() { binding.tvContrasena.text.toString() ) if (res == true) { - historial.eventoRealizado = "Inicio Sesión Doctor" + historial.eventoRealizado = "Inicio Sesion Doctor" historial.tipoUsuario = "Doctor" añadirHistorial(historial) Toast.makeText(this@MainActivity, "VALIDADO", Toast.LENGTH_LONG).show() @@ -57,7 +61,7 @@ class MainActivity : AppCompatActivity() { startActivity(intent) } else if (resPaciente == true) { historial.tipoUsuario = "Paciente" - historial.eventoRealizado = "Inicio Sesión Paciente" + historial.eventoRealizado = "Inicio Sesion Paciente" añadirHistorial(historial) Toast.makeText(this@MainActivity, "VALIDADO", Toast.LENGTH_LONG).show() val intent = Intent(this@MainActivity, PacientePrincipalActivity::class.java) @@ -69,7 +73,7 @@ class MainActivity : AppCompatActivity() { } } binding.tvRegistrarme.setOnClickListener { - historial.eventoRealizado = "Accionó el botón para la pantalla de registro" + historial.eventoRealizado = "Acciono el botón para la pantalla de registro" historial.fecha = obtenerFecha() añadirHistorial(historial) val intent = Intent(this@MainActivity, RegistrarDActivity::class.java) diff --git a/app/src/main/java/com/terratenientes/medicalhealth/ModificarActivity.kt b/app/src/main/java/com/terratenientes/medicalhealth/ModificarActivity.kt index fd95c63..d834aa0 100644 --- a/app/src/main/java/com/terratenientes/medicalhealth/ModificarActivity.kt +++ b/app/src/main/java/com/terratenientes/medicalhealth/ModificarActivity.kt @@ -33,7 +33,7 @@ class ModificarActivity : AppCompatActivity() { setContentView(view) db = DoctorDataBaseHelper(this@ModificarActivity) dbHistorial = HistorialDataBaseHelper(this@ModificarActivity) - historial = Historial("Doctor", intent.getStringExtra("NombreDoctor"),"Se inició la actividad modificar paciente", obtenerFecha()) + historial = Historial("Doctor", intent.getStringExtra("NombreDoctor"),"Se inicio la actividad modificar paciente", obtenerFecha()) añadirHistorial(historial) paciente = Paciente(intent.getIntExtra("Id",2),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() @@ -48,7 +48,7 @@ class ModificarActivity : AppCompatActivity() { paciente.apellidoMaterno = binding.etApellidoMaterno.text.toString() paciente.domicilio = binding.etDomicilio.text.toString() db.modificarPaciente(paciente) - historial.eventoRealizado = "Se modifico la información de paciente ${paciente.nombre}" + historial.eventoRealizado = "Se modifico la informacion de paciente ${paciente.nombre}" historial.fecha = obtenerFecha() añadirHistorial(historial) finish() diff --git a/app/src/main/java/com/terratenientes/medicalhealth/PacienteActivity.kt b/app/src/main/java/com/terratenientes/medicalhealth/PacienteActivity.kt index 3cabbc2..889a2bd 100644 --- a/app/src/main/java/com/terratenientes/medicalhealth/PacienteActivity.kt +++ b/app/src/main/java/com/terratenientes/medicalhealth/PacienteActivity.kt @@ -1,15 +1,24 @@ package com.terratenientes.medicalhealth +import android.Manifest +import android.annotation.SuppressLint +import android.content.Context import android.content.Intent +import android.content.pm.PackageManager import android.os.Build import androidx.appcompat.app.AppCompatActivity import android.os.Bundle +import android.os.Environment import android.util.Log +import android.widget.Toast import androidx.annotation.RequiresApi +import androidx.core.app.ActivityCompat +import androidx.core.content.ContextCompat import androidx.recyclerview.widget.LinearLayoutManager import com.terratenientes.medicalhealth.adapters.CellClickListener import com.terratenientes.medicalhealth.adapters.DoctorDataBaseHelper import com.terratenientes.medicalhealth.adapters.HistorialDataBaseHelper +import com.terratenientes.medicalhealth.adapters.PacienteAdapter import com.terratenientes.medicalhealth.adapters.PacienteViewAdapter import com.terratenientes.medicalhealth.adapters.RecetaDataBaseHelper import com.terratenientes.medicalhealth.adapters.RecetaViewAdapter @@ -17,6 +26,8 @@ import com.terratenientes.medicalhealth.data.Historial import com.terratenientes.medicalhealth.data.Paciente import com.terratenientes.medicalhealth.data.Receta import com.terratenientes.medicalhealth.databinding.ActivityPacienteBinding +import java.io.File +import java.io.FileWriter import java.time.ZoneId import java.time.ZonedDateTime import java.time.format.DateTimeFormatter @@ -24,8 +35,8 @@ import java.time.format.DateTimeFormatter @RequiresApi(Build.VERSION_CODES.O) class PacienteActivity : AppCompatActivity(), CellClickListener { lateinit var binding : ActivityPacienteBinding - private var idPaciente : String ="" private lateinit var db: DoctorDataBaseHelper + private lateinit var pacientesList: MutableList private lateinit var dbHistorial: HistorialDataBaseHelper private lateinit var historial: Historial private lateinit var recycleAdapter : PacienteViewAdapter @@ -42,18 +53,26 @@ class PacienteActivity : AppCompatActivity(), CellClickListener { binding.rvPacientes.layoutManager = LinearLayoutManager(this) binding.rvPacientes.adapter = recycleAdapter dbHistorial = HistorialDataBaseHelper(this@PacienteActivity) - historial = Historial("Doctor", intent.getStringExtra("NombreDoctor").toString(),"Se inició la actividad de pacientes", obtenerFecha()) + historial = Historial("Doctor", intent.getStringExtra("NombreDoctor").toString(),"Se inicio la actividad de pacientes", obtenerFecha()) añadirHistorial(historial) + cargarListaPacientes() nombreDoctor = intent.getStringExtra("NombreDoctor").toString() Log.i("Pacientes", pacientes.toString()) binding.ivAgregarPaciente.setOnClickListener { val intent = Intent(this@PacienteActivity, AgregarActivity::class.java) intent.putExtra("NombreDoctor", nombreDoctor) startActivity(intent) - historial.eventoRealizado = "Se accionó el boton para inciar la actividad de alta paciente" + historial.eventoRealizado = "Se acciono el boton para inciar la actividad alta paciente" historial.fecha = obtenerFecha() añadirHistorial(historial) } + binding.btnDescargarCsv.setOnClickListener { + historial.eventoRealizado = "Se acciono el botón para descargar la informacion de los pacientes" + historial.fecha = obtenerFecha() + añadirHistorial(historial) + exportarCSV(this@PacienteActivity, pacientesList) + + } } override fun onResume() { @@ -67,7 +86,7 @@ class PacienteActivity : AppCompatActivity(), CellClickListener { override fun onEliminarClickListener(position: Int) { val paciente = pacientes[position] Log.i("Paciente Elim", paciente.toString()) - historial.eventoRealizado = "Se acciono el botón para eliminar al usuario ${paciente.id}" + historial.eventoRealizado = "Se acciono el boton para eliminar al usuario ${paciente.id}" historial.fecha = obtenerFecha() añadirHistorial(historial) db.eliminarPaciente(paciente.id) @@ -86,11 +105,48 @@ class PacienteActivity : AppCompatActivity(), CellClickListener { intent.putExtra("Sexo", paciente.sexo) intent.putExtra("NombreDoctor",nombreDoctor) startActivity(intent) - historial.eventoRealizado = "Se acciono el botón para iniciar la actividad modificar paciente con los datos del paciente ${paciente.nombre}" + historial.eventoRealizado = "Se acciono el boton para iniciar la actividad modificar paciente con los datos del paciente ${paciente.nombre}" historial.fecha = obtenerFecha() añadirHistorial(historial) } + fun exportarCSV(context: Context, pacienteList: MutableList) { + //Pedir Permisos + ActivityCompat.requestPermissions(this@PacienteActivity, arrayOf(Manifest.permission.WRITE_EXTERNAL_STORAGE,Manifest.permission.READ_EXTERNAL_STORAGE),200) + // Verificar si se tienen permisos de escritura externa + if (ContextCompat.checkSelfPermission(context, Manifest.permission.WRITE_EXTERNAL_STORAGE) == PackageManager.PERMISSION_GRANTED) { + try { + // Crear el directorio donde se guardará el archivo CSV + val directorio = File(Environment.getExternalStorageDirectory(), "MiApp") + if (!directorio.exists()) { + directorio.mkdirs() + } + + // Crear el archivo CSV + val archivoCSV = File(directorio, "Paciente.csv") + archivoCSV.createNewFile() + + // Escribir los datos en el archivo CSV + val writer = FileWriter(archivoCSV) + writer.append("ID, Nombre, Apellido Paterno, Apellido Materno, Edad, Sexo, Domicilio\n") + for (paciente in pacienteList) { + writer.append("${paciente.id},${paciente.nombre},${paciente.apellidoPaterno},${paciente.apellidoMaterno},${paciente.edad},${paciente.sexo},${paciente.domicilio}\n") + } + writer.flush() + writer.close() + Toast.makeText(this@PacienteActivity,getString(R.string.res_csv), Toast.LENGTH_LONG).show() + historial.eventoRealizado = "Se descargo la información de los pacientes" + historial.fecha = obtenerFecha() + añadirHistorial(historial) + } catch (e: Exception) { + e.printStackTrace() + } + }else{ + Toast.makeText(this@PacienteActivity,getString(R.string.err_permisos_storage), + Toast.LENGTH_LONG).show() + } + } + private fun obtenerFecha(): String { val fromTimeZone = ZoneId.of("America/Mexico_City") @@ -110,4 +166,28 @@ class PacienteActivity : AppCompatActivity(), CellClickListener { msj = "Error al almacenar la información" Log.i("Historial", msj + " | Información almacenada: " + historial) } + + private fun cargarListaPacientes() { + pacientesList = obtenerPacientes() + } + + @SuppressLint("Range") + private fun obtenerPacientes(): 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 + } } \ No newline at end of file diff --git a/app/src/main/java/com/terratenientes/medicalhealth/PacientePrincipalActivity.kt b/app/src/main/java/com/terratenientes/medicalhealth/PacientePrincipalActivity.kt index 6019c94..3696f5d 100644 --- a/app/src/main/java/com/terratenientes/medicalhealth/PacientePrincipalActivity.kt +++ b/app/src/main/java/com/terratenientes/medicalhealth/PacientePrincipalActivity.kt @@ -97,7 +97,7 @@ class PacientePrincipalActivity : AppCompatActivity(), CellClickListener { override fun onEliminarClickListener(position: Int) { val receta = recetas[position] db.eliminarReceta(receta) - historial.eventoRealizado = "Se accionó el boton de eliminar la receta" + historial.eventoRealizado = "Se acciono el boton de eliminar la receta" historial.fecha = obtenerFecha() añadirHistorial(historial) recycleAdapter.refreshData(db.obtenerRecetasPaciente(idPaciente)) @@ -106,7 +106,7 @@ class PacientePrincipalActivity : AppCompatActivity(), CellClickListener { override fun onModifyClickListener(position: Int) { val receta = recetas[position] - historial.eventoRealizado = "Se accionó el boton de iniciar la actividad de modificar la receta" + historial.eventoRealizado = "Se acciono el boton de iniciar la actividad de modificar receta" historial.fecha = obtenerFecha() añadirHistorial(historial) val intent = Intent(this@PacientePrincipalActivity, ModificarRecetaActivity::class.java) diff --git a/app/src/main/java/com/terratenientes/medicalhealth/PrincipalActivity.kt b/app/src/main/java/com/terratenientes/medicalhealth/PrincipalActivity.kt index 5499e47..7b64519 100644 --- a/app/src/main/java/com/terratenientes/medicalhealth/PrincipalActivity.kt +++ b/app/src/main/java/com/terratenientes/medicalhealth/PrincipalActivity.kt @@ -1,17 +1,27 @@ package com.terratenientes.medicalhealth +import android.Manifest +import android.annotation.SuppressLint +import android.content.Context import android.content.Intent +import android.content.pm.PackageManager import android.os.Build import androidx.appcompat.app.AppCompatActivity import android.os.Bundle +import android.os.Environment import android.util.Log +import android.widget.Toast import androidx.annotation.RequiresApi +import androidx.core.app.ActivityCompat +import androidx.core.content.ContextCompat import com.terratenientes.medicalhealth.adapters.DoctorDataBaseHelper import com.terratenientes.medicalhealth.adapters.HistorialDataBaseHelper import com.terratenientes.medicalhealth.data.Doctor import com.terratenientes.medicalhealth.data.Historial import com.terratenientes.medicalhealth.databinding.ActivityPrincipalBinding import com.terratenientes.medicalhealth.reports.ConsultarPacientesActivity +import java.io.File +import java.io.FileWriter import java.time.ZoneId import java.time.ZonedDateTime import java.time.format.DateTimeFormatter @@ -21,6 +31,7 @@ class PrincipalActivity : AppCompatActivity() { lateinit var binding : ActivityPrincipalBinding lateinit var db : DoctorDataBaseHelper private lateinit var dbHistorial: HistorialDataBaseHelper + private lateinit var historialList: MutableList private lateinit var historial: Historial lateinit var nombreDoctor : String override fun onCreate(savedInstanceState: Bundle?) { @@ -31,14 +42,14 @@ class PrincipalActivity : AppCompatActivity() { db = DoctorDataBaseHelper(this@PrincipalActivity) dbHistorial = HistorialDataBaseHelper(this@PrincipalActivity) Log.i("Datos Doctor", intent.getStringExtra("Cedula").toString()) - historial = Historial("Doctor", null,"Se inició la actividad de menú principal", obtenerFecha()) + historial = Historial("Doctor", null,"Se inicio la actividad de menu principal", obtenerFecha()) datosDoctor(intent.getStringExtra("Cedula").toString()) añadirHistorial(historial) binding.ivPacientes.setOnClickListener { val intent = Intent(this@PrincipalActivity, PacienteActivity::class.java) intent.putExtra("NombreDoctor", nombreDoctor) startActivity(intent) - historial.eventoRealizado = "Se presionó el botón para iniciar la actividad de pacientes" + historial.eventoRealizado = "Se presiono el boton para iniciar la actividad de pacientes" historial.fecha = obtenerFecha() añadirHistorial(historial) } @@ -47,14 +58,16 @@ class PrincipalActivity : AppCompatActivity() { val intent = Intent(this@PrincipalActivity, RecetaActivity::class.java) intent.putExtra("NombreDoctor", nombreDoctor) startActivity(intent) - historial.eventoRealizado = "Se presionó el botón para iniciar la actividad de recetas" + historial.eventoRealizado = "Se presiono el boton para iniciar la actividad de recetas" historial.fecha = obtenerFecha() añadirHistorial(historial) } binding.ivHistorial.setOnClickListener { - historial.eventoRealizado = "Se presionó el botón para iniciar la actividad de historial" + historial.eventoRealizado = "Se presiono el boton para descargar el historial" historial.fecha = obtenerFecha() añadirHistorial(historial) + cargarHistorial() + exportarCSV(this@PrincipalActivity, historialList) } } @@ -90,4 +103,64 @@ class PrincipalActivity : AppCompatActivity() { msj = "Error al almacenar la información" Log.i("Historial", msj + " | Información almacenada: " + historial) } + + fun exportarCSV(context: Context, historialList: MutableList) { + //Pedir Permisos + ActivityCompat.requestPermissions(this@PrincipalActivity, arrayOf( + Manifest.permission.WRITE_EXTERNAL_STORAGE, + Manifest.permission.READ_EXTERNAL_STORAGE),200) + // Verificar si se tienen permisos de escritura externa + if (ContextCompat.checkSelfPermission(context, Manifest.permission.WRITE_EXTERNAL_STORAGE) == PackageManager.PERMISSION_GRANTED) { + try { + // Crear el directorio donde se guardará el archivo CSV + val directorio = File(Environment.getExternalStorageDirectory(), "MiApp") + if (!directorio.exists()) { + directorio.mkdirs() + } + + // Crear el archivo CSV + val archivoCSV = File(directorio, "Historial.csv") + archivoCSV.createNewFile() + + // Escribir los datos en el archivo CSV + val writer = FileWriter(archivoCSV) + writer.append("Tipo de Usuario, Usuario, Evento Realizado, Fecha\n") + for (historial in historialList) { + writer.append("${historial.tipoUsuario},${historial.nombreUsuario},${historial.eventoRealizado},${historial.fecha}\n") + } + writer.flush() + writer.close() + Toast.makeText(this@PrincipalActivity,getString(R.string.res_csv), Toast.LENGTH_LONG).show() + historial.eventoRealizado = "Se descargo el historial de la app" + historial.fecha = obtenerFecha() + añadirHistorial(historial) + } catch (e: Exception) { + e.printStackTrace() + } + }else{ + Toast.makeText(this@PrincipalActivity,getString(R.string.err_permisos_storage), + Toast.LENGTH_LONG).show() + } + } + + private fun cargarHistorial() { + historialList = obtenerHistorial() + } + + @SuppressLint("Range") + private fun obtenerHistorial(): MutableList { + val historial = mutableListOf() + val db = dbHistorial.readableDatabase + val cursor = db.rawQuery("SELECT * FROM ${HistorialDataBaseHelper.TABLE_NAME}", null) + while (cursor.moveToNext()) { + val tipoUsuario = cursor.getString(cursor.getColumnIndex(HistorialDataBaseHelper.COLUMN_TIPO_USUARIO)) + val usuario = cursor.getString(cursor.getColumnIndex(HistorialDataBaseHelper.COLUMN_NOMBRE_USUARIO)) + val evento = cursor.getString(cursor.getColumnIndex(HistorialDataBaseHelper.COLUMN_EVENTO)) + val fecha = cursor.getString(cursor.getColumnIndex(HistorialDataBaseHelper.COLUMN_FECHA)) + val hist = Historial(tipoUsuario, usuario,evento,fecha) + historial.add(hist) + } + cursor.close() + return historial + } } \ No newline at end of file diff --git a/app/src/main/java/com/terratenientes/medicalhealth/RecetaActivity.kt b/app/src/main/java/com/terratenientes/medicalhealth/RecetaActivity.kt index 7d67f0d..911d0b9 100644 --- a/app/src/main/java/com/terratenientes/medicalhealth/RecetaActivity.kt +++ b/app/src/main/java/com/terratenientes/medicalhealth/RecetaActivity.kt @@ -43,7 +43,7 @@ class RecetaActivity : AppCompatActivity(), OnItemSelectedListener { setContentView(view) //db.crearTablaReceta() cargarSpinnerPacientes() - historial = Historial("Doctor", intent.getStringExtra("NombreDoctor"),"Se inició la actividad de añadir receta", obtenerFecha()) + historial = Historial("Doctor", intent.getStringExtra("NombreDoctor"),"Se inicio la actividad de añadir receta", obtenerFecha()) añadirHistorial(historial) binding.spNombrePaciente.onItemSelectedListener=this binding.btnAgregarReceta.setOnClickListener { diff --git a/app/src/main/java/com/terratenientes/medicalhealth/RegistrarDActivity.kt b/app/src/main/java/com/terratenientes/medicalhealth/RegistrarDActivity.kt index 36026ef..31c7e4e 100644 --- a/app/src/main/java/com/terratenientes/medicalhealth/RegistrarDActivity.kt +++ b/app/src/main/java/com/terratenientes/medicalhealth/RegistrarDActivity.kt @@ -27,7 +27,7 @@ class RegistrarDActivity : AppCompatActivity() { val view = binding.root setContentView(view) dbHistorial = HistorialDataBaseHelper(this@RegistrarDActivity) - historial = Historial(null, null, "Se abrió la actividad de registro", obtenerFecha()) + historial = Historial(null, null, "Se abrio la actividad de registro", obtenerFecha()) añadirHistorial(historial) db= DoctorDataBaseHelper(this@RegistrarDActivity) binding.btnRegistrar.setOnClickListener { diff --git a/app/src/main/java/com/terratenientes/medicalhealth/adapters/HistorialDataBaseHelper.kt b/app/src/main/java/com/terratenientes/medicalhealth/adapters/HistorialDataBaseHelper.kt index 957b27a..235f612 100644 --- a/app/src/main/java/com/terratenientes/medicalhealth/adapters/HistorialDataBaseHelper.kt +++ b/app/src/main/java/com/terratenientes/medicalhealth/adapters/HistorialDataBaseHelper.kt @@ -11,12 +11,12 @@ class HistorialDataBaseHelper (context: Context) : SQLiteOpenHelper(context, DAT private val DATABAENAME = "MedicalHealth" private val DATABASEVERSION=1 //PRIMERO VA EL NOMBRE DE LA TABLA - private val TABLE_NAME = "Historial" + val TABLE_NAME = "Historial" //LUEGO VAN LAS COLUMNAS DE ESA TABLA - private val COLUMN_TIPO_USUARIO = "TipoUsuario" - private val COLUMN_NOMBRE_USUARIO = "NombreUsuario" - private val COLUMN_EVENTO = "Evento" - private val COLUMN_FECHA = "Fecha" + val COLUMN_TIPO_USUARIO = "TipoUsuario" + val COLUMN_NOMBRE_USUARIO = "NombreUsuario" + val COLUMN_EVENTO = "Evento" + val COLUMN_FECHA = "Fecha" } override fun onCreate(db: SQLiteDatabase?) { val crearTabla="CREATE TABLE ${TABLE_NAME} (${COLUMN_TIPO_USUARIO} VARCHAR(30), ${COLUMN_NOMBRE_USUARIO} VARCHAR(30), ${COLUMN_EVENTO} VARCHAR(255), ${COLUMN_FECHA} VARCHAR(70))" diff --git a/app/src/main/java/com/terratenientes/medicalhealth/adapters/PacienteViewAdapter.kt b/app/src/main/java/com/terratenientes/medicalhealth/adapters/PacienteViewAdapter.kt index 3246706..b4f33ca 100644 --- a/app/src/main/java/com/terratenientes/medicalhealth/adapters/PacienteViewAdapter.kt +++ b/app/src/main/java/com/terratenientes/medicalhealth/adapters/PacienteViewAdapter.kt @@ -21,6 +21,7 @@ class PacienteViewAdapter (private var notes : List, context: Context, val tv_domicilio : TextView = itemView.findViewById(R.id.tv_domicilio) val ivModificar : ImageView = itemView.findViewById(R.id.iv_modificar_paciente) val ivEliminar : ImageView = itemView.findViewById(R.id.iv_eliminar_paciente) + val tvId: TextView = itemView.findViewById(R.id.tv_id_paciente) } @@ -36,12 +37,13 @@ class PacienteViewAdapter (private var notes : List, context: Context, override fun onBindViewHolder(holder: NoteViewHolder, position: Int) { val note = notes[position] - holder.tvNombre.text = note.nombre - holder.tvApellidoPaterno.text = note.apellidoPaterno - holder.tvApellidoMaterno.text = note.apellidoMaterno - holder.tv_edad.text = note.edad.toString() - holder.tv_sexo.text = note.sexo - holder.tv_domicilio.text = note.domicilio + holder.tvNombre.text = "Nombre:\n${note.nombre}" + holder.tvApellidoPaterno.text = "Apellido Paterno:\n${note.apellidoPaterno}" + holder.tvApellidoMaterno.text = "Apellido Materno:\n${note.apellidoMaterno}" + holder.tv_edad.text = "Edad:\n${note.edad}" + holder.tv_sexo.text = "Sexo:\n${note.sexo}" + holder.tv_domicilio.text = "Domicilio:\n${note.domicilio}" + holder.tvId.text = "Id:${note.id}" holder.ivEliminar.setOnClickListener { cellClickListener.onEliminarClickListener(position) diff --git a/app/src/main/java/com/terratenientes/medicalhealth/reports/ConsultarPacientesActivity.kt b/app/src/main/java/com/terratenientes/medicalhealth/reports/ConsultarPacientesActivity.kt index 292a395..47a3095 100644 --- a/app/src/main/java/com/terratenientes/medicalhealth/reports/ConsultarPacientesActivity.kt +++ b/app/src/main/java/com/terratenientes/medicalhealth/reports/ConsultarPacientesActivity.kt @@ -99,6 +99,7 @@ class ConsultarPacientesActivity : AppCompatActivity() { // Escribir los datos en el archivo CSV val writer = FileWriter(archivoCSV) + writer.append("Nombre, Apellido Paterno, Apellido Materno, Edad, Sexo\n") for (paciente in pacientesList) { writer.append("${paciente.nombre},${paciente.apellidoPaterno},${paciente.apellidoMaterno},${paciente.edad},${paciente.sexo}\n") } diff --git a/app/src/main/res/layout/rc_paciente_item.xml b/app/src/main/res/layout/rc_paciente_item.xml index defac50..102d8e7 100644 --- a/app/src/main/res/layout/rc_paciente_item.xml +++ b/app/src/main/res/layout/rc_paciente_item.xml @@ -1,107 +1,132 @@ - + android:orientation="vertical" + app:cardCornerRadius="20dp" + app:cardElevation="8dp"> - - - + android:layout_height="match_parent"> + android:layout_marginStart="16dp" + android:layout_marginTop="32dp" + android:text="@string/ht_nombre" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toTopOf="parent" /> + + android:layout_marginStart="4dp" + android:layout_marginTop="32dp" + android:text="@string/ht_apellido_paterno" + app:layout_constraintStart_toEndOf="@id/tv_nombre" + app:layout_constraintTop_toTopOf="parent" /> + + android:layout_column="2" + android:layout_columnWeight="1" + android:layout_marginStart="16dp" + android:layout_marginTop="32dp" + android:text="@string/ht_apellido_materno" + app:layout_constraintStart_toEndOf="@+id/tv_apellido_paterno" + app:layout_constraintTop_toTopOf="parent" /> - + android:layout_marginStart="20dp" + android:text="@string/et_modificar_edad" + app:layout_constraintBottom_toBottomOf="parent" + app:layout_constraintStart_toEndOf="@+id/tv_sexo" + app:layout_constraintTop_toBottomOf="@+id/tv_apellido_materno" + app:layout_constraintVertical_bias="0.2" /> + + android:layout_column="2" + android:layout_columnWeight="1" + android:layout_marginStart="16dp" + android:text="@string/ht_domicilio" + app:layout_constraintBottom_toBottomOf="parent" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toBottomOf="@+id/tv_nombre" + app:layout_constraintVertical_bias="0.2" /> + + + + + + android:layout_marginTop="60dp" + android:layout_marginEnd="36dp" + android:src="@drawable/update" + app:layout_constraintEnd_toStartOf="@+id/iv_eliminar_paciente" + app:layout_constraintHorizontal_bias="1.0" + app:layout_constraintStart_toEndOf="@+id/tv_edad" + app:layout_constraintTop_toTopOf="parent" /> + + android:layout_marginTop="60dp" + android:layout_marginEnd="16dp" + android:src="@drawable/delete" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintTop_toTopOf="parent" /> - + - - - \ No newline at end of file + \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 17db66d..50a9151 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -2,13 +2,14 @@ MedicalHealth Modificar Paciente - Edad: - Sexo: + Edad + Sexo Nombre Apellido Paterno Apellido Materno Domicilio Modificar + Id Agrega un paciente Confirmar Cancelar