Funcionalidad Eliminar Receta desde el médico y paciente. Funcionalidad de Cerrar Sesión.

This commit is contained in:
mosterTeco 2024-05-11 16:39:01 -06:00
parent 28c4ea83af
commit 7edc71a7ff
24 changed files with 127 additions and 80 deletions

View File

@ -32,7 +32,7 @@
android:name=".RegistrarDActivity"
android:exported="false" />
<activity
android:name="Reports.ConsultarPacientesActivity"
android:name="reports.ConsultarPacientesActivity"
android:exported="false" />
<activity
android:name=".EliminarActivity"

View File

@ -1,7 +1,7 @@
package Adapters
import Data.Receta
package adapters
interface CellClickListener {
fun onCellClickListener(position : Int)
fun onEliminarClickListener(position: Int)
}

View File

@ -1,14 +1,12 @@
package Adapters
package adapters
import android.annotation.SuppressLint
import android.content.ContentValues
import android.content.Context
import android.database.sqlite.SQLiteDatabase
import android.database.sqlite.SQLiteOpenHelper
import Data.Doctor
import Data.Paciente
import android.database.Cursor
import android.widget.Toast
import data.Doctor
import data.Paciente
class DoctorDataBaseHelper (context: Context) : SQLiteOpenHelper(context, DATABASE_NAME,null,
DATABASE_VERSION

View File

@ -1,6 +1,6 @@
package Adapters
package adapters
import Data.Paciente
import data.Paciente
import android.content.Context
import android.view.LayoutInflater
import android.view.View

View File

@ -1,6 +1,6 @@
package Adapters
package adapters
import Data.Receta
import data.Receta
import android.content.Context
import android.view.LayoutInflater
import android.view.View

View File

@ -1,12 +1,12 @@
package Adapters
package adapters
import Data.Receta
import data.Receta
import android.annotation.SuppressLint
import android.content.ContentValues
import android.content.Context
import android.database.Cursor
import android.database.sqlite.SQLiteDatabase
import android.database.sqlite.SQLiteOpenHelper
import android.util.Log
class RecetaDataBaseHelper(context: Context) : SQLiteOpenHelper(context, DATABAENAME, null, DATABASEVERSION){
companion object{
@ -93,10 +93,12 @@ class RecetaDataBaseHelper(context: Context) : SQLiteOpenHelper(context, DATABAE
}
fun eliminarReceta(receta: Receta) {
Log.d("RecetaDataBaseHelper", "Eliminando receta: ${receta.NombrePaciente}, ${receta.fecha}")
val db = writableDatabase
db.delete(TABLE_NAME, "$COLUMN_NOMBRE_PACIENTE = ? AND $COLUMN_FECHA = ?", arrayOf(receta.NombrePaciente, receta.fecha))
db.close()
}
fun crearTablaReceta(){
val db=writableDatabase
val creatTabla="CREATE TABLE $TABLE_NAME ($COLUMN_NOMBRE_PACIENTE VARCHAR(30), $COLUMN_EDAD_PACIENTE INT, $COLUMN_PESO_PACIENTE INT, $COLUMN_FECHA VARCHAR(30), " +

View File

@ -1,14 +1,12 @@
package Adapters
package adapters
import Data.Receta
import data.Receta
import android.content.Context
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.widget.AdapterView.OnItemClickListener
import android.widget.Button
import android.widget.TextView
import android.widget.Toast
import androidx.recyclerview.widget.RecyclerView
import com.terratenientes.medicalhealth.R
@ -19,6 +17,7 @@ class RecetaViewAdapter(private var notes : List<Receta>, context: Context,val c
val fechaReceta : TextView = itemView.findViewById(R.id.tv_fecha_receta)
val nombreReceta : TextView = itemView.findViewById(R.id.tv_nombre_paciente)
val btnDescargar : Button = itemView.findViewById(R.id.btn_descargar_receta)
val btnEliminar: Button = itemView.findViewById(R.id.btn_eliminar_receta)
val pesoReceta : TextView = itemView.findViewById(R.id.tv_peso_paciente)
val edadReceta : TextView = itemView.findViewById(R.id.tv_edad_paciente)
val dosisReceta : TextView=itemView.findViewById(R.id.tv_dosis_medicamento)
@ -47,6 +46,9 @@ class RecetaViewAdapter(private var notes : List<Receta>, context: Context,val c
holder.btnDescargar.setOnClickListener{
cellClickListener.onCellClickListener(position)
}
holder.btnEliminar.setOnClickListener{
cellClickListener.onEliminarClickListener(position)
}
}
fun refreshData( newNotes : List<Receta>){

View File

@ -1,7 +1,7 @@
package com.terratenientes.medicalhealth
import Adapters.DoctorDataBaseHelper
import Data.Paciente
import adapters.DoctorDataBaseHelper
import data.Paciente
import android.R
import android.content.Intent
import android.os.Bundle

View File

@ -1,8 +1,8 @@
package com.terratenientes.medicalhealth
import Adapters.DoctorDataBaseHelper
import Adapters.PacienteAdapter
import Data.Paciente
import adapters.DoctorDataBaseHelper
import adapters.PacienteAdapter
import data.Paciente
import android.annotation.SuppressLint
import android.os.Bundle
import android.widget.Toast

View File

@ -1,24 +1,20 @@
package com.terratenientes.medicalhealth
import Adapters.RecetaAdapter
import Adapters.RecetaDataBaseHelper
import Data.Receta
import adapters.RecetaAdapter
import adapters.RecetaDataBaseHelper
import data.Receta
import android.os.Bundle
import android.widget.Toast
import androidx.activity.enableEdgeToEdge
import androidx.appcompat.app.AppCompatActivity
import androidx.core.view.ViewCompat
import androidx.core.view.WindowInsetsCompat
import com.terratenientes.medicalhealth.databinding.ActivityEliminarPacienteBinding
import com.terratenientes.medicalhealth.databinding.ActivityEliminarRecetaBinding
import android.widget.ListView
class EliminarRecetaActivity : AppCompatActivity() {
private lateinit var binding: ActivityEliminarRecetaBinding
private lateinit var dbReceta: RecetaDataBaseHelper
private lateinit var recetaAdapter: RecetaAdapter
private var recetaSeleccionada: Receta? = null
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
@ -28,18 +24,16 @@ class EliminarRecetaActivity : AppCompatActivity() {
dbReceta = RecetaDataBaseHelper(this)
// Configurar el ListView y el adaptador
val recetas = obtenerListaRecetas()
recetaAdapter = RecetaAdapter(this, recetas)
binding.listaRecetas.adapter = recetaAdapter
cargarListaRecetas()
binding.listaRecetas.setOnItemClickListener { _, _, position, _ ->
recetaSeleccionada = recetaAdapter.getItem(position)
}
// Manejar el evento de clic en el botón para eliminar receta
binding.btnEliminarReceta.setOnClickListener {
val posicionSeleccionada = binding.listaRecetas.selectedItemPosition
if (posicionSeleccionada != ListView.INVALID_POSITION) {
val recetaSeleccionada = recetas[posicionSeleccionada]
eliminarReceta(recetaSeleccionada)
recetaAdapter.remove(recetaSeleccionada)
if (recetaSeleccionada != null) {
eliminarReceta(recetaSeleccionada!!)
cargarListaRecetas()
Toast.makeText(this, "Receta eliminada correctamente", Toast.LENGTH_SHORT).show()
} else {
Toast.makeText(this, "Por favor, seleccione una receta para eliminar", Toast.LENGTH_SHORT).show()
@ -47,11 +41,17 @@ class EliminarRecetaActivity : AppCompatActivity() {
}
}
private fun cargarListaRecetas() {
val recetas = obtenerListaRecetas()
recetaAdapter = RecetaAdapter(this, recetas)
binding.listaRecetas.adapter = recetaAdapter
}
private fun obtenerListaRecetas(): List<Receta> {
return dbReceta.obtenerTodasRecetas() // Implementa este método en tu RecetaDataBaseHelper para obtener todas las recetas
return dbReceta.obtenerTodasRecetas()
}
private fun eliminarReceta(receta: Receta) {
dbReceta.eliminarReceta(receta) // Implementa este método en tu RecetaDataBaseHelper para eliminar una receta
dbReceta.eliminarReceta(receta)
}
}

View File

@ -1,7 +1,7 @@
package com.terratenientes.medicalhealth
import Adapters.DoctorDataBaseHelper
import Data.Doctor
import adapters.DoctorDataBaseHelper
import data.Doctor
import android.annotation.SuppressLint
import android.content.Intent
import androidx.appcompat.app.AppCompatActivity
@ -41,6 +41,8 @@ class MainActivity : AppCompatActivity() {
val intent = Intent(this@MainActivity, RegistrarDActivity::class.java)
startActivity(intent)
}
}
@SuppressLint("SuspiciousIndentation")
private fun cargarDatos(){

View File

@ -1,8 +1,8 @@
package com.terratenientes.medicalhealth
import Adapters.DoctorDataBaseHelper
import Data.Paciente
import Reports.ConsultarPacientesActivity
import adapters.DoctorDataBaseHelper
import data.Paciente
import reports.ConsultarPacientesActivity
import android.content.Intent
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle

View File

@ -1,14 +1,11 @@
package com.terratenientes.medicalhealth
import Adapters.CellClickListener
import Adapters.RecetaDataBaseHelper
import Adapters.RecetaViewAdapter
import Data.Receta
import adapters.CellClickListener
import adapters.RecetaDataBaseHelper
import adapters.RecetaViewAdapter
import data.Receta
import android.Manifest
import android.content.pm.PackageManager
import android.graphics.Canvas
import android.graphics.Color
import android.graphics.Paint
import android.graphics.Typeface
import android.graphics.pdf.PdfDocument
import android.os.Bundle
@ -76,6 +73,14 @@ class PacientePrincipalActivity : AppCompatActivity(), CellClickListener {
pedirPermisosPDF()
}
}
override fun onEliminarClickListener(position: Int) {
val receta = recetas[position]
db.eliminarReceta(receta)
recycleAdapter.refreshData(db.obtenerRecetasPaciente(idPaciente))
Toast.makeText(this, "Receta eliminada correctamente", Toast.LENGTH_SHORT).show()
}
// función que valida si los permisos ya estan garantizados por parte del usuario
fun permisosPDF() : Boolean{
val permission1= ContextCompat.checkSelfPermission(this, Manifest.permission.WRITE_EXTERNAL_STORAGE)

View File

@ -28,5 +28,16 @@ class PrincipalActivity : AppCompatActivity() {
startActivity(intent)
}
binding.btnEliminarReceta.setOnClickListener {
val intent = Intent (this@PrincipalActivity, EliminarRecetaActivity::class.java)
startActivity(intent)
}
binding.btnCerrar.setOnClickListener {
val intent = Intent(this@PrincipalActivity, MainActivity::class.java)
startActivity(intent)
finish()
}
}
}

View File

@ -1,8 +1,8 @@
package com.terratenientes.medicalhealth
import Adapters.DoctorDataBaseHelper
import Adapters.RecetaDataBaseHelper
import Data.Receta
import adapters.DoctorDataBaseHelper
import adapters.RecetaDataBaseHelper
import data.Receta
import android.annotation.SuppressLint
import android.os.Bundle
import android.view.View

View File

@ -1,7 +1,7 @@
package com.terratenientes.medicalhealth
import Adapters.DoctorDataBaseHelper
import Data.Doctor
import adapters.DoctorDataBaseHelper
import data.Doctor
import android.os.Bundle
import android.widget.Toast
import androidx.appcompat.app.AppCompatActivity

View File

@ -1,3 +1,3 @@
package Data
package data
data class Doctor(var Cedula : String ,var Nombre : String, var Apellido : String, var Telefono : String, var Consultorio : Int)

View File

@ -1,4 +1,4 @@
package Data
package data
data class Paciente(
var id: Int, // Este campo representa el ID autoincrementable en la base de datos

View File

@ -1,3 +1,3 @@
package Data
package data
data class Receta(var NombrePaciente : String, var edadPaciente : Int, var pesoPaciente: Double, var nombreMedicamento : String, var fecha : String, var dosis : String, var duracion :String)

View File

@ -1,4 +1,4 @@
package Reports
package reports
import android.Manifest
import android.annotation.SuppressLint
@ -11,10 +11,10 @@ import android.os.Environment
import android.widget.Toast
import androidx.core.app.ActivityCompat
import androidx.core.content.ContextCompat
import Adapters.DoctorDataBaseHelper
import adapters.DoctorDataBaseHelper
import com.terratenientes.medicalhealth.ModificarActivity
import Data.Paciente
import Adapters.PacienteAdapter
import data.Paciente
import adapters.PacienteAdapter
import com.terratenientes.medicalhealth.R
import com.terratenientes.medicalhealth.databinding.ActivityConsultarPacientesBinding
import java.io.File

View File

@ -18,13 +18,6 @@
android:gravity="center"
/>
<ImageView
android:layout_width="200dp"
android:layout_height="150dp"
android:layout_marginTop="25dp"
android:layout_gravity="center_horizontal"
android:src="@drawable/image_area"/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"

View File

@ -5,7 +5,7 @@
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context="Reports.ConsultarPacientesActivity">
tools:context="reports.ConsultarPacientesActivity">
<TextView
android:layout_width="match_parent"

View File

@ -23,6 +23,23 @@
android:layout_height="wrap_content"
android:text="@string/btn_agregar_receta"/>
<Button
android:id="@+id/btn_eliminar_receta"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Eliminar Receta"/>
<Button
android:id="@+id/btn_cerrar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Cerrar Sesión"/>
</LinearLayout>

View File

@ -68,7 +68,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="243dp"
android:layout_marginTop="13dp"
android:layout_marginTop="2dp"
android:layout_marginEnd="24dp"
android:layout_marginBottom="10dp"
android:text="Descargar"
@ -80,6 +80,23 @@
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.487" />
<Button
android:id="@+id/btn_eliminar_receta"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="243dp"
android:layout_marginTop="75dp"
android:layout_marginEnd="24dp"
android:layout_marginBottom="10dp"
android:text="Eliminar"
android:textSize="12sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="1.0"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.487" />
<TextView
android:id="@+id/tv_peso_paciente"
android:layout_width="50dp"