Angel #8

Merged
angel.nunez merged 9 commits from Angel into master 2024-05-13 03:12:28 +00:00
27 changed files with 273 additions and 57 deletions
Showing only changes of commit b6d8a26880 - Show all commits

View File

@ -15,6 +15,9 @@
android:supportsRtl="true"
android:theme="@style/Theme.MedicalHealth"
tools:targetApi="31">
<activity
android:name=".ModificarRecetaActivity"
android:exported="false" />
<activity
android:name=".PacientePrincipalActivity"
android:exported="false" />
@ -32,7 +35,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 com.terratenientes.medicalhealth
import adapters.DoctorDataBaseHelper
import data.Paciente
import com.terratenientes.medicalhealth.adapters.DoctorDataBaseHelper
import com.terratenientes.medicalhealth.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 com.terratenientes.medicalhealth.adapters.DoctorDataBaseHelper
import com.terratenientes.medicalhealth.adapters.PacienteAdapter
import com.terratenientes.medicalhealth.data.Paciente
import android.annotation.SuppressLint
import android.content.Intent
import android.os.Bundle

View File

@ -1,9 +1,9 @@
package com.terratenientes.medicalhealth
import adapters.RecetaAdapter
import adapters.RecetaDataBaseHelper
import com.terratenientes.medicalhealth.adapters.RecetaAdapter
import com.terratenientes.medicalhealth.adapters.RecetaDataBaseHelper
import android.content.Intent
import data.Receta
import com.terratenientes.medicalhealth.data.Receta
import android.os.Bundle
import android.widget.Toast
import androidx.appcompat.app.AppCompatActivity

View File

@ -1,7 +1,7 @@
package com.terratenientes.medicalhealth
import adapters.DoctorDataBaseHelper
import data.Doctor
import com.terratenientes.medicalhealth.adapters.DoctorDataBaseHelper
import com.terratenientes.medicalhealth.data.Doctor
import android.annotation.SuppressLint
import android.content.Intent
import androidx.appcompat.app.AppCompatActivity

View File

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

View File

@ -0,0 +1,49 @@
package com.terratenientes.medicalhealth
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.util.Log
import com.terratenientes.medicalhealth.adapters.RecetaDataBaseHelper
import com.terratenientes.medicalhealth.data.Receta
import com.terratenientes.medicalhealth.databinding.ActivityModificarRecetaBinding
class ModificarRecetaActivity : AppCompatActivity() {
lateinit var binding : ActivityModificarRecetaBinding
lateinit var receta : Receta
lateinit var db : RecetaDataBaseHelper
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
binding = ActivityModificarRecetaBinding.inflate(layoutInflater)
val view = binding.root
setContentView(view)
db = RecetaDataBaseHelper(this@ModificarRecetaActivity)
receta = Receta(intent.getStringExtra("NombrePaciente").toString(),intent.getStringExtra("EdadPaciente").toString().toInt(),intent.getStringExtra("PesoPaciente").toString().toDouble(),intent.getStringExtra("NombreMedicamento").toString(),intent.getStringExtra("Fecha").toString(),intent.getStringExtra("Dosis").toString(), intent.getStringExtra("Duracion").toString())
llenarCampos(receta)
binding.btnModificarReceta.setOnClickListener {
modificarReceta(receta)
}
}
private fun modificarReceta(receta : Receta) : Unit {
Log.i("Info Recibida", receta.toString())
receta.edadPaciente = binding.etEdadPaciente.text.toString().toInt()
receta.pesoPaciente = binding.etPesoPaciente.text.toString().toDouble()
receta.nombreMedicamento = binding.etRecetaMedicamento.text.toString()
receta.fecha = binding.etFecha.text.toString()
receta.dosis = binding.etDosisMedicamento.text.toString()
receta.duracion = binding.etDuracion.text.toString()
db.modificarReceta(receta)
Log.i("Info Actualizada", receta.toString())
finish()
}
private fun llenarCampos(receta : Receta) : Unit {
binding.tvNombrePaciente.setText(receta.NombrePaciente)
binding.etEdadPaciente.setText(receta.edadPaciente.toString())
binding.etPesoPaciente.setText(receta.pesoPaciente.toString())
binding.etRecetaMedicamento.setText(receta.nombreMedicamento)
binding.etFecha.setText(receta.fecha)
binding.etDosisMedicamento.setText(receta.dosis)
binding.etDuracion.setText(receta.duracion)
}
}

View File

@ -1,16 +1,18 @@
package com.terratenientes.medicalhealth
import adapters.CellClickListener
import adapters.RecetaDataBaseHelper
import adapters.RecetaViewAdapter
import data.Receta
import com.terratenientes.medicalhealth.adapters.CellClickListener
import com.terratenientes.medicalhealth.adapters.RecetaDataBaseHelper
import com.terratenientes.medicalhealth.adapters.RecetaViewAdapter
import com.terratenientes.medicalhealth.data.Receta
import android.Manifest
import android.content.Intent
import android.content.pm.PackageManager
import android.graphics.Typeface
import android.graphics.pdf.PdfDocument
import android.os.Bundle
import android.os.Environment
import android.text.TextPaint
import android.util.Log
import android.widget.Toast
import androidx.appcompat.app.AppCompatActivity
import androidx.core.app.ActivityCompat
@ -81,6 +83,20 @@ class PacientePrincipalActivity : AppCompatActivity(), CellClickListener {
Toast.makeText(this, "Receta eliminada correctamente", Toast.LENGTH_SHORT).show()
}
override fun onModifyClickListener(position: Int) {
val receta = recetas[position]
Log.i("Prueba Modificar", receta.toString())
val intent = Intent(this@PacientePrincipalActivity, ModificarRecetaActivity::class.java)
intent.putExtra("NombrePaciente", receta.NombrePaciente)
intent.putExtra("EdadPaciente", receta.edadPaciente.toString())
intent.putExtra("PesoPaciente", receta.pesoPaciente.toString())
intent.putExtra("NombreMedicamento", receta.nombreMedicamento)
intent.putExtra("Fecha", receta.fecha)
intent.putExtra("Dosis", receta.dosis)
intent.putExtra("Duracion", receta.duracion)
startActivity(intent)
}
// 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

@ -1,8 +1,8 @@
package com.terratenientes.medicalhealth
import adapters.DoctorDataBaseHelper
import adapters.RecetaDataBaseHelper
import data.Receta
import com.terratenientes.medicalhealth.adapters.RecetaDataBaseHelper
import com.terratenientes.medicalhealth.adapters.DoctorDataBaseHelper
import com.terratenientes.medicalhealth.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 com.terratenientes.medicalhealth.adapters.DoctorDataBaseHelper
import com.terratenientes.medicalhealth.data.Doctor
import android.os.Bundle
import android.widget.Toast
import androidx.appcompat.app.AppCompatActivity

View File

@ -1,7 +1,7 @@
package adapters
package com.terratenientes.medicalhealth.adapters
interface CellClickListener {
fun onCellClickListener(position : Int)
fun onEliminarClickListener(position: Int)
fun onModifyClickListener(position: Int)
}

View File

@ -1,12 +1,12 @@
package adapters
package com.terratenientes.medicalhealth.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 com.terratenientes.medicalhealth.data.Doctor
import com.terratenientes.medicalhealth.data.Paciente
class DoctorDataBaseHelper (context: Context) : SQLiteOpenHelper(context, DATABASE_NAME,null,
DATABASE_VERSION

View File

@ -1,6 +1,6 @@
package adapters
package com.terratenientes.medicalhealth.adapters
import data.Paciente
import com.terratenientes.medicalhealth.data.Paciente
import android.content.Context
import android.view.LayoutInflater
import android.view.View

View File

@ -1,6 +1,6 @@
package adapters
package com.terratenientes.medicalhealth.adapters
import data.Receta
import com.terratenientes.medicalhealth.data.Receta
import android.content.Context
import android.view.LayoutInflater
import android.view.View

View File

@ -1,12 +1,13 @@
package adapters
package com.terratenientes.medicalhealth.adapters
import data.Receta
import com.terratenientes.medicalhealth.data.Receta
import android.annotation.SuppressLint
import android.content.ContentValues
import android.content.Context
import android.database.sqlite.SQLiteDatabase
import android.database.sqlite.SQLiteOpenHelper
import android.util.Log
import com.terratenientes.medicalhealth.data.Paciente
class RecetaDataBaseHelper(context: Context) : SQLiteOpenHelper(context, DATABAENAME, null, DATABASEVERSION){
companion object{
@ -99,6 +100,22 @@ class RecetaDataBaseHelper(context: Context) : SQLiteOpenHelper(context, DATABAE
db.close()
}
fun modificarReceta(receta: Receta){
val db = writableDatabase
val values = ContentValues().apply {
put(COLUMN_EDAD_PACIENTE, receta.edadPaciente)
put(COLUMN_PESO_PACIENTE, receta.pesoPaciente)
put(COLUMN_MEDICAMENTO, receta.nombreMedicamento)
put(COLUMN_FECHA, receta.fecha)
put(COLUMN_DOSIS_PACIENTE, receta.dosis)
put(DURACION_MEDICAMENTO, receta.duracion)
}
val whereClause = "$COLUMN_NOMBRE_PACIENTE = ? and $COLUMN_FECHA = ?"
val whereArgs = arrayOf(receta.NombrePaciente, receta.fecha)
db.update(TABLE_NAME, values, whereClause, whereArgs)
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,15 @@
package adapters
package com.terratenientes.medicalhealth.adapters
import data.Receta
import android.content.Context
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.widget.Button
import android.widget.ImageView
import android.widget.TextView
import androidx.recyclerview.widget.RecyclerView
import com.terratenientes.medicalhealth.R
import com.terratenientes.medicalhealth.data.Receta
class RecetaViewAdapter(private var notes : List<Receta>, context: Context, val cellClickListener: CellClickListener) :
RecyclerView.Adapter<RecetaViewAdapter.NoteViewHolder>() {
@ -16,8 +17,9 @@ class RecetaViewAdapter(private var notes : List<Receta>, context: Context,val c
val tituloReceta : TextView = itemView.findViewById(R.id.tv_titulo_receta)
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 btnDescargar : ImageView = itemView.findViewById(R.id.iv_descargar_receta)
val btnEliminar: ImageView = itemView.findViewById(R.id.iv_eliminar_receta)
val btnModificar : ImageView = itemView.findViewById(R.id.iv_modificar_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)
@ -49,6 +51,9 @@ class RecetaViewAdapter(private var notes : List<Receta>, context: Context,val c
holder.btnEliminar.setOnClickListener{
cellClickListener.onEliminarClickListener(position)
}
holder.btnModificar.setOnClickListener {
cellClickListener.onModifyClickListener(position)
}
}
fun refreshData( newNotes : List<Receta>){

View File

@ -1,3 +1,3 @@
package data
package com.terratenientes.medicalhealth.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 com.terratenientes.medicalhealth.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 com.terratenientes.medicalhealth.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 com.terratenientes.medicalhealth.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 com.terratenientes.medicalhealth.adapters.DoctorDataBaseHelper
import com.terratenientes.medicalhealth.ModificarActivity
import data.Paciente
import adapters.PacienteAdapter
import com.terratenientes.medicalhealth.data.Paciente
import com.terratenientes.medicalhealth.adapters.PacienteAdapter
import com.terratenientes.medicalhealth.R
import com.terratenientes.medicalhealth.databinding.ActivityConsultarPacientesBinding
import java.io.File

View File

@ -0,0 +1,9 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:fillColor="#FF000000"
android:pathData="M19,4H15.5L14.5,3H9.5L8.5,4H5V6H19M6,19A2,2 0,0 0,8 21H16A2,2 0,0 0,18 19V7H6V19Z"/>
</vector>

View File

@ -0,0 +1,9 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:fillColor="#FF000000"
android:pathData="M5,20H19V18H5M19,9H15V3H9V9H5L12,16L19,9Z"/>
</vector>

View File

@ -0,0 +1,9 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:fillColor="#FF000000"
android:pathData="M21,10.12H14.22L16.96,7.3C14.23,4.6 9.81,4.5 7.08,7.2C4.35,9.91 4.35,14.28 7.08,17C9.81,19.7 14.23,19.7 16.96,17C18.32,15.65 19,14.08 19,12.1H21C21,14.08 20.12,16.65 18.36,18.39C14.85,21.87 9.15,21.87 5.64,18.39C2.14,14.92 2.11,9.28 5.62,5.81C9.13,2.34 14.76,2.34 18.27,5.81L21,3V10.12M12.5,8V12.25L16,14.33L15.28,15.54L11,13V8H12.5Z"/>
</vector>

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

@ -0,0 +1,87 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".ModificarRecetaActivity">
<TextView
android:layout_marginTop="130dp"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/receta_activity_title"
android:textSize="32sp"
android:textAlignment="center"
android:textColor="@color/primaryColor"
android:textStyle="bold"
/>
<TextView
android:id="@+id/tv_nombre_paciente"
android:layout_width="300dp"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginStart="2dp"
android:textSize="20dp"/>
<EditText
android:id="@+id/et_edad_paciente"
android:layout_marginTop="10dp"
android:layout_width="300dp"
android:layout_height="wrap_content"
android:hint="@string/receta_edad"
android:layout_gravity="center_horizontal"
/>
<EditText
android:id="@+id/et_peso_paciente"
android:layout_marginTop="10dp"
android:layout_width="300dp"
android:layout_height="wrap_content"
android:hint="@string/receta_peso"
android:layout_gravity="center_horizontal"
android:inputType="number"
/>
<EditText
android:id="@+id/et_receta_medicamento"
android:layout_marginTop="10dp"
android:layout_width="300dp"
android:layout_height="wrap_content"
android:hint="@string/receta_medicamento"
android:layout_gravity="center_horizontal"
/>
<TextView
android:id="@+id/et_fecha"
android:layout_marginTop="10dp"
android:layout_width="300dp"
android:layout_height="wrap_content"
android:layout_marginStart="2dp"
android:textSize="20dp"
android:hint="@string/receta_fecha_paciente"
android:layout_gravity="center_horizontal"
android:inputType="date"
/>
<EditText
android:id="@+id/et_dosis_medicamento"
android:layout_marginTop="10dp"
android:layout_width="300dp"
android:layout_height="wrap_content"
android:hint="@string/receta_dosis"
android:layout_gravity="center_horizontal"
/>
<EditText
android:id="@+id/et_duracion_"
android:layout_marginTop="10dp"
android:layout_width="300dp"
android:layout_height="wrap_content"
android:hint="@string/receta_duracion"
android:layout_gravity="center_horizontal"
/>
<Button
android:id="@+id/btn_modificar_receta"
android:layout_width="300dp"
android:layout_height="wrap_content"
android:text="@string/btn_modificar_receta"
android:layout_gravity="center_horizontal"
/>
</LinearLayout>

View File

@ -63,33 +63,44 @@
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<Button
android:id="@+id/btn_descargar_receta"
<ImageView
android:id="@+id/iv_descargar_receta"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="243dp"
android:layout_marginTop="2dp"
android:layout_marginEnd="24dp"
android:layout_marginBottom="10dp"
android:text="Descargar"
android:textSize="12sp"
android:src="@drawable/download"
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" />
app:layout_constraintVertical_bias="0.243" />
<Button
android:id="@+id/btn_eliminar_receta"
<ImageView
android:id="@+id/iv_modificar_receta"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="24dp"
android:src="@drawable/update"
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.593" />
<ImageView
android:id="@+id/iv_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"
android:src="@drawable/delete"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="1.0"

View File

@ -47,6 +47,7 @@
<string name="receta_peso">Peso del paciente KG</string>
<string name="btn_agregar_receta">Agregar Receta</string>
<string name="btn_ayuda_receta">Ayuda</string>
<string name="btn_modificar_receta">Modificar Receta</string>
<string name="title_activity_principal">PrincipalActivity</string>
<string name="title_home">Home</string>
<string name="title_dashboard">Dashboard</string>