Angel #8
|
@ -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"
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
package Adapters
|
||||
|
||||
import Data.Receta
|
||||
package adapters
|
||||
|
||||
interface CellClickListener {
|
||||
fun onCellClickListener(position : Int)
|
||||
fun onEliminarClickListener(position: Int)
|
||||
|
||||
}
|
|
@ -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
|
|
@ -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
|
|
@ -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
|
|
@ -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), " +
|
|
@ -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>){
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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)
|
||||
}
|
||||
}
|
|
@ -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(){
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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()
|
||||
}
|
||||
|
||||
}
|
||||
}
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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)
|
|
@ -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
|
|
@ -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)
|
|
@ -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
|
|
@ -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"
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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>
|
|
@ -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"
|
||||
|
|
Loading…
Reference in New Issue