Compare commits

..

3 Commits

44 changed files with 937 additions and 141 deletions

View File

@ -15,6 +15,12 @@
android:supportsRtl="true" android:supportsRtl="true"
android:theme="@style/Theme.MedicalHealth" android:theme="@style/Theme.MedicalHealth"
tools:targetApi="31" > tools:targetApi="31" >
<activity
android:name=".PacienteActivity"
android:exported="false" />
<activity
android:name=".ModificarRecetaActivity"
android:exported="false" />
<activity <activity
android:name=".PacientePrincipalActivity" android:name=".PacientePrincipalActivity"
android:exported="false" /> android:exported="false" />
@ -32,7 +38,7 @@
android:name=".RegistrarDActivity" android:name=".RegistrarDActivity"
android:exported="false" /> android:exported="false" />
<activity <activity
android:name="reports.ConsultarPacientesActivity" android:name=".reports.ConsultarPacientesActivity"
android:exported="false" /> android:exported="false" />
<activity <activity
android:name=".EliminarActivity" android:name=".EliminarActivity"

View File

@ -1,7 +0,0 @@
package adapters
interface CellClickListener {
fun onCellClickListener(position : Int)
fun onEliminarClickListener(position: Int)
}

View File

@ -1,7 +1,7 @@
package com.terratenientes.medicalhealth package com.terratenientes.medicalhealth
import adapters.DoctorDataBaseHelper import com.terratenientes.medicalhealth.adapters.DoctorDataBaseHelper
import data.Paciente import com.terratenientes.medicalhealth.data.Paciente
import android.R import android.R
import android.content.Intent import android.content.Intent
import android.os.Bundle import android.os.Bundle
@ -30,8 +30,7 @@ class AgregarActivity : AppCompatActivity() {
binding.btnConfirmar.setOnClickListener { binding.btnConfirmar.setOnClickListener {
//db.crearTablaPacientes() //db.crearTablaPacientes()
agregarPaciente() agregarPaciente()
val intent = Intent(this@AgregarActivity, EliminarActivity::class.java) finish()
startActivity(intent)
} }
} }
private fun agregarPaciente() { private fun agregarPaciente() {

View File

@ -1,8 +1,8 @@
package com.terratenientes.medicalhealth package com.terratenientes.medicalhealth
import adapters.DoctorDataBaseHelper import com.terratenientes.medicalhealth.adapters.DoctorDataBaseHelper
import adapters.PacienteAdapter import com.terratenientes.medicalhealth.adapters.PacienteAdapter
import data.Paciente import com.terratenientes.medicalhealth.data.Paciente
import android.annotation.SuppressLint import android.annotation.SuppressLint
import android.content.Intent import android.content.Intent
import android.os.Bundle import android.os.Bundle

View File

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

View File

@ -1,7 +1,7 @@
package com.terratenientes.medicalhealth package com.terratenientes.medicalhealth
import adapters.DoctorDataBaseHelper import com.terratenientes.medicalhealth.adapters.DoctorDataBaseHelper
import data.Doctor import com.terratenientes.medicalhealth.data.Doctor
import android.annotation.SuppressLint import android.annotation.SuppressLint
import android.content.Intent import android.content.Intent
import androidx.appcompat.app.AppCompatActivity import androidx.appcompat.app.AppCompatActivity
@ -27,6 +27,7 @@ class MainActivity : AppCompatActivity() {
Toast.makeText(this@MainActivity,"VALIDADO",Toast.LENGTH_LONG).show() Toast.makeText(this@MainActivity,"VALIDADO",Toast.LENGTH_LONG).show()
val intent = Intent(this@MainActivity, PrincipalActivity::class.java) val intent = Intent(this@MainActivity, PrincipalActivity::class.java)
//intent.putExtra("IDPaciente",binding.tvUsuario.text.toString()) //intent.putExtra("IDPaciente",binding.tvUsuario.text.toString())
intent.putExtra("Cedula", binding.tvUsuario.text.toString())
startActivity(intent) startActivity(intent)
}else if(resPaciente==true){ }else if(resPaciente==true){
Toast.makeText(this@MainActivity,"VALIDADO",Toast.LENGTH_LONG).show() Toast.makeText(this@MainActivity,"VALIDADO",Toast.LENGTH_LONG).show()

View File

@ -1,8 +1,8 @@
package com.terratenientes.medicalhealth package com.terratenientes.medicalhealth
import adapters.DoctorDataBaseHelper import com.terratenientes.medicalhealth.adapters.DoctorDataBaseHelper
import data.Paciente import com.terratenientes.medicalhealth.data.Paciente
import reports.ConsultarPacientesActivity import com.terratenientes.medicalhealth.reports.ConsultarPacientesActivity
import android.content.Intent import android.content.Intent
import androidx.appcompat.app.AppCompatActivity import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle import android.os.Bundle
@ -35,8 +35,6 @@ class ModificarActivity : AppCompatActivity() {
paciente.domicilio = binding.etDomicilio.text.toString() paciente.domicilio = binding.etDomicilio.text.toString()
db.modificarPaciente(paciente) db.modificarPaciente(paciente)
finish() finish()
intent = Intent(this@ModificarActivity, ConsultarPacientesActivity::class.java)
startActivity(intent)
Toast.makeText(this@ModificarActivity, "Información Actualizada UwU", Toast.LENGTH_LONG).show() Toast.makeText(this@ModificarActivity, "Información Actualizada UwU", Toast.LENGTH_LONG).show()
} }

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

@ -0,0 +1,71 @@
package com.terratenientes.medicalhealth
import android.content.Intent
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.util.Log
import androidx.recyclerview.widget.LinearLayoutManager
import com.terratenientes.medicalhealth.adapters.CellClickListener
import com.terratenientes.medicalhealth.adapters.DoctorDataBaseHelper
import com.terratenientes.medicalhealth.adapters.PacienteViewAdapter
import com.terratenientes.medicalhealth.adapters.RecetaDataBaseHelper
import com.terratenientes.medicalhealth.adapters.RecetaViewAdapter
import com.terratenientes.medicalhealth.data.Paciente
import com.terratenientes.medicalhealth.data.Receta
import com.terratenientes.medicalhealth.databinding.ActivityPacienteBinding
class PacienteActivity : AppCompatActivity(), CellClickListener {
lateinit var binding : ActivityPacienteBinding
private var idPaciente : String =""
private lateinit var db: DoctorDataBaseHelper
private lateinit var recycleAdapter : PacienteViewAdapter
private lateinit var pacientes : List<Paciente>
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
binding = ActivityPacienteBinding.inflate(layoutInflater)
val view = binding.root
setContentView(view)
db = DoctorDataBaseHelper(this@PacienteActivity)
pacientes = db.obtenerPacientes()
recycleAdapter = PacienteViewAdapter(pacientes, this@PacienteActivity, this@PacienteActivity)
binding.rvPacientes.layoutManager = LinearLayoutManager(this)
binding.rvPacientes.adapter = recycleAdapter
Log.i("Pacientes", pacientes.toString())
binding.ivAgregarPaciente.setOnClickListener {
val intent = Intent(this@PacienteActivity, AgregarActivity::class.java)
startActivity(intent)
}
}
override fun onResume() {
super.onResume()
recycleAdapter.refreshData(db.obtenerPacientes())
}
override fun onCellClickListener(position: Int) {
}
override fun onEliminarClickListener(position: Int) {
val paciente = pacientes[position]
Log.i("Paciente Elim", paciente.toString())
db.eliminarPaciente(paciente.id)
recycleAdapter.refreshData(db.obtenerPacientes())
}
override fun onModifyClickListener(position: Int) {
val paciente = pacientes[position]
val intent = Intent(this@PacienteActivity, ModificarActivity::class.java)
intent.putExtra("Id", paciente.id)
intent.putExtra("Nombre Paciente", paciente.nombre)
intent.putExtra("Apellido Paterno", paciente.apellidoPaterno)
intent.putExtra("Apellido Materno", paciente.apellidoMaterno)
intent.putExtra("Domicilio", paciente.domicilio)
intent.putExtra("Edad", paciente.edad)
intent.putExtra("Sexo", paciente.sexo)
startActivity(intent)
}
override fun onEnviarCorreoClickListener(position: Int) {
TODO("Not yet implemented")
}
}

View File

@ -1,16 +1,18 @@
package com.terratenientes.medicalhealth package com.terratenientes.medicalhealth
import adapters.CellClickListener import com.terratenientes.medicalhealth.adapters.CellClickListener
import adapters.RecetaDataBaseHelper import com.terratenientes.medicalhealth.adapters.RecetaDataBaseHelper
import adapters.RecetaViewAdapter import com.terratenientes.medicalhealth.adapters.RecetaViewAdapter
import data.Receta import com.terratenientes.medicalhealth.data.Receta
import android.Manifest import android.Manifest
import android.content.Intent
import android.content.pm.PackageManager import android.content.pm.PackageManager
import android.graphics.Typeface import android.graphics.Typeface
import android.graphics.pdf.PdfDocument import android.graphics.pdf.PdfDocument
import android.os.Bundle import android.os.Bundle
import android.os.Environment import android.os.Environment
import android.text.TextPaint import android.text.TextPaint
import android.util.Log
import android.widget.Toast import android.widget.Toast
import androidx.appcompat.app.AppCompatActivity import androidx.appcompat.app.AppCompatActivity
import androidx.core.app.ActivityCompat import androidx.core.app.ActivityCompat
@ -81,6 +83,52 @@ class PacientePrincipalActivity : AppCompatActivity(), CellClickListener {
Toast.makeText(this, "Receta eliminada correctamente", Toast.LENGTH_SHORT).show() 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)
}
override fun onEnviarCorreoClickListener(position: Int) {
val receta = recetas[position]
val nombrePaciente = receta.NombrePaciente
val nombreMedicamento = receta.nombreMedicamento
val dosisMedicamento = receta.dosis
val duracionMedicamento = receta.duracion
val fechaReceta = receta.fecha
val pesoPaciente = receta.pesoPaciente
val edadPaciente = receta.edadPaciente
val descripcionReceta = """
Fecha de Consulta: $fechaReceta
Datos Generales del Paciente:
Peso del Paciente: $pesoPaciente
Edad del Paciente: $edadPaciente
Medicamento a Recetar: $nombreMedicamento
Dosis del Medicamento: $dosisMedicamento
Duración del Tratamiento: $duracionMedicamento
""".trimIndent()
val intent = Intent(Intent.ACTION_SEND).apply {
type = "message/rfc822"
putExtra(Intent.EXTRA_SUBJECT, "Receta Médica de $nombrePaciente")
putExtra(Intent.EXTRA_TEXT, descripcionReceta)
}
try {
startActivity(Intent.createChooser(intent, "Enviar receta a través de:"))
} catch (ex: android.content.ActivityNotFoundException) {
Toast.makeText(this, "No hay clientes de correo instalados.", Toast.LENGTH_SHORT).show()
}
}
// función que valida si los permisos ya estan garantizados por parte del usuario // función que valida si los permisos ya estan garantizados por parte del usuario
fun permisosPDF() : Boolean{ fun permisosPDF() : Boolean{
val permission1= ContextCompat.checkSelfPermission(this, Manifest.permission.WRITE_EXTERNAL_STORAGE) val permission1= ContextCompat.checkSelfPermission(this, Manifest.permission.WRITE_EXTERNAL_STORAGE)

View File

@ -3,41 +3,42 @@ package com.terratenientes.medicalhealth
import android.content.Intent import android.content.Intent
import androidx.appcompat.app.AppCompatActivity import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle import android.os.Bundle
import android.util.Log
import com.terratenientes.medicalhealth.adapters.DoctorDataBaseHelper
import com.terratenientes.medicalhealth.data.Doctor
import com.terratenientes.medicalhealth.databinding.ActivityPrincipalBinding import com.terratenientes.medicalhealth.databinding.ActivityPrincipalBinding
import com.terratenientes.medicalhealth.reports.ConsultarPacientesActivity
class PrincipalActivity : AppCompatActivity() { class PrincipalActivity : AppCompatActivity() {
lateinit var binding : ActivityPrincipalBinding lateinit var binding : ActivityPrincipalBinding
lateinit var db : DoctorDataBaseHelper
override fun onCreate(savedInstanceState: Bundle?) { override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState) super.onCreate(savedInstanceState)
binding = ActivityPrincipalBinding.inflate(layoutInflater) binding = ActivityPrincipalBinding.inflate(layoutInflater)
val view = binding.root val view = binding.root
setContentView(view) setContentView(view)
db = DoctorDataBaseHelper(this@PrincipalActivity)
binding.btnAgregarPaciente.setOnClickListener { Log.i("Datos Doctor", intent.getStringExtra("Cedula").toString())
val intent = Intent(this@PrincipalActivity, AgregarActivity::class.java) datosDoctor(intent.getStringExtra("Cedula").toString())
binding.ivPacientes.setOnClickListener {
val intent = Intent(this@PrincipalActivity, PacienteActivity::class.java)
startActivity(intent) startActivity(intent)
} }
binding.btnEliminarPaciente.setOnClickListener { binding.ivRecetas.setOnClickListener {
val intent = Intent(this@PrincipalActivity, EliminarActivity::class.java)
startActivity(intent)
}
binding.btnAgregarReceta.setOnClickListener {
val intent = Intent(this@PrincipalActivity, RecetaActivity::class.java) val intent = Intent(this@PrincipalActivity, RecetaActivity::class.java)
startActivity(intent) 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()
} }
private fun datosDoctor(cedula : String){
val doctores : List<Doctor> = db.obtenerDoctor(cedula)
val doctor : Doctor = doctores.get(0)
Log.i("Datos Doctor", doctor.toString())
binding.tvNombreDoctor.setText("Nombre: ${doctor.Nombre}")
binding.tvTelefonoDoctor.setText("Telefono: ${doctor.Telefono}")
binding.tvCedulaDoctor.setText("Cédula: ${doctor.Cedula}")
binding.tvConsultorioDoctor.setText("Consultorio: ${doctor.Consultorio}")
} }
} }

View File

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

View File

@ -1,7 +1,7 @@
package com.terratenientes.medicalhealth package com.terratenientes.medicalhealth
import adapters.DoctorDataBaseHelper import com.terratenientes.medicalhealth.adapters.DoctorDataBaseHelper
import data.Doctor import com.terratenientes.medicalhealth.data.Doctor
import android.os.Bundle import android.os.Bundle
import android.widget.Toast import android.widget.Toast
import androidx.appcompat.app.AppCompatActivity import androidx.appcompat.app.AppCompatActivity
@ -16,10 +16,51 @@ class RegistrarDActivity : AppCompatActivity() {
val view = binding.root val view = binding.root
setContentView(view) setContentView(view)
db = DoctorDataBaseHelper(this@RegistrarDActivity) db = DoctorDataBaseHelper(this@RegistrarDActivity)
binding.btnRegistrar.setOnClickListener { binding.btnRegistrar.setOnClickListener {
if (validarCampos()) {
registrarUsuario() registrarUsuario()
} }
} }
}
private fun validarCampos(): Boolean {
val cedula = binding.etCedelaRegistro.text.toString()
val nombre = binding.etNombreRegistro.text.toString()
val apellido = binding.etApellidoRegistro.text.toString()
val telefono = binding.etTelefonoRegisto.text.toString()
val domicilio = binding.etDomicilio.text.toString()
val contrasena = binding.etContrasenaRegistro.text.toString()
if (cedula.isEmpty() || nombre.isEmpty() || apellido.isEmpty() || telefono.isEmpty() || domicilio.isEmpty() || contrasena.isEmpty()) {
Toast.makeText(this, "Todos los campos son obligatorios.", Toast.LENGTH_LONG).show()
return false
}
if (!validarCedula(cedula)) {
Toast.makeText(this, "Cédula profesional no válida.", Toast.LENGTH_LONG).show()
return false
}
if (!validarTelefono(telefono)) {
Toast.makeText(this, "Número de teléfono no válido.", Toast.LENGTH_LONG).show()
return false
}
return true
}
private fun validarCedula(cedula: String): Boolean {
// Expresión regular para validar que la cédula tenga entre 5 y 8 caracteres o exactamente 11 caracteres alfanuméricos
val regex = Regex("^[a-zA-Z0-9]{5,8}$|^[a-zA-Z0-9]{11}$")
return regex.matches(cedula)
}
private fun validarTelefono(telefono: String): Boolean {
// Expresión regular para validar que el número de teléfono tenga 10 digitos
val regex = Regex("^\\d{10}$")
return regex.matches(telefono)
}
private fun registrarUsuario() { private fun registrarUsuario() {
val cedula = binding.etCedelaRegistro.text.toString() val cedula = binding.etCedelaRegistro.text.toString()
val nombre = binding.etNombreRegistro.text.toString() val nombre = binding.etNombreRegistro.text.toString()
@ -27,8 +68,10 @@ class RegistrarDActivity : AppCompatActivity() {
val telefono = binding.etTelefonoRegisto.text.toString() val telefono = binding.etTelefonoRegisto.text.toString()
val domicilio = binding.etDomicilio.text.toString() val domicilio = binding.etDomicilio.text.toString()
val contrasena = binding.etContrasenaRegistro.text.toString() val contrasena = binding.etContrasenaRegistro.text.toString()
val usuario = Doctor(cedula, nombre, apellido, telefono, domicilio.toInt()) val usuario = Doctor(cedula, nombre, apellido, telefono, domicilio.toInt())
db.agregarDoctores(usuario, contrasena) db.agregarDoctores(usuario, contrasena)
Toast.makeText(this@RegistrarDActivity, "USUARIO AGREGADO", Toast.LENGTH_LONG).show() Toast.makeText(this@RegistrarDActivity, "USUARIO AGREGADO", Toast.LENGTH_LONG).show()
finish() finish()
} }

View File

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

View File

@ -1,12 +1,13 @@
package adapters package com.terratenientes.medicalhealth.adapters
import android.annotation.SuppressLint import android.annotation.SuppressLint
import android.content.ContentValues import android.content.ContentValues
import android.content.Context import android.content.Context
import android.database.sqlite.SQLiteDatabase import android.database.sqlite.SQLiteDatabase
import android.database.sqlite.SQLiteOpenHelper import android.database.sqlite.SQLiteOpenHelper
import data.Doctor import com.terratenientes.medicalhealth.data.Doctor
import data.Paciente import com.terratenientes.medicalhealth.data.Paciente
import com.terratenientes.medicalhealth.data.Receta
class DoctorDataBaseHelper (context: Context) : SQLiteOpenHelper(context, DATABASE_NAME,null, class DoctorDataBaseHelper (context: Context) : SQLiteOpenHelper(context, DATABASE_NAME,null,
DATABASE_VERSION DATABASE_VERSION
@ -51,6 +52,7 @@ class DoctorDataBaseHelper (context: Context) : SQLiteOpenHelper(context, DATABA
val dropTablePacientes = "DROP TABLE IF EXISTS $TABLE_PACIENTES" val dropTablePacientes = "DROP TABLE IF EXISTS $TABLE_PACIENTES"
db?.execSQL(dropTablePacientes) db?.execSQL(dropTablePacientes)
} }
fun crearTablaPacientes(){ fun crearTablaPacientes(){
val db=writableDatabase val db=writableDatabase
val crearTablaPacientes = val crearTablaPacientes =
@ -73,6 +75,25 @@ class DoctorDataBaseHelper (context: Context) : SQLiteOpenHelper(context, DATABA
db.insert(TABLE_NAME,null, values) db.insert(TABLE_NAME,null, values)
db.close() db.close()
} }
@SuppressLint("Range")
fun obtenerDoctor(cedula : String): List<Doctor>{
val doctores = mutableListOf<Doctor>()
val db = readableDatabase
var cursor = db.rawQuery("SELECT * FROM $TABLE_NAME WHERE $COLUMN_CEDULA = '${cedula}'", null)
while (cursor.moveToNext()) {
val cedula = cursor.getString(cursor.getColumnIndex(COLUMN_CEDULA))
val nombreDoctor = cursor.getString(cursor.getColumnIndex(COLUMN_NOMBRE))
val apellidoDoctor = cursor.getString(cursor.getColumnIndex(COLUMN_APELLIDO))
val telefonoDoctor = cursor.getString(cursor.getColumnIndex(COLUMN_TELEFONO))
val consultorioDoctor = cursor.getInt(cursor.getColumnIndex(COLUMN_CONSULTORIO))
val doctor = Doctor(cedula,nombreDoctor,apellidoDoctor,telefonoDoctor,consultorioDoctor)
doctores.add(doctor)
}
cursor.close()
return doctores
}
fun agregarPaciente(paciente: Paciente) { fun agregarPaciente(paciente: Paciente) {
val db = writableDatabase val db = writableDatabase
val values = ContentValues().apply { val values = ContentValues().apply {
@ -88,6 +109,13 @@ class DoctorDataBaseHelper (context: Context) : SQLiteOpenHelper(context, DATABA
db.close() db.close()
} }
fun eliminarPaciente(id : Int) : Int{
val db = writableDatabase
val resultadoEliminacion = db.delete(TABLE_PACIENTES, "$COLUMN_ID_PACIENTE = ?", arrayOf(id.toString()))
db.close()
return resultadoEliminacion
}
fun modificarPaciente(paciente: Paciente){ fun modificarPaciente(paciente: Paciente){
val db = writableDatabase val db = writableDatabase
val values = ContentValues().apply { val values = ContentValues().apply {
@ -165,5 +193,24 @@ class DoctorDataBaseHelper (context: Context) : SQLiteOpenHelper(context, DATABA
return edadPaciente return edadPaciente
} }
@SuppressLint("Range")
fun obtenerPacientes(): List<Paciente>{
val pacientes = mutableListOf<Paciente>()
val db = readableDatabase
val cursor = db.rawQuery("SELECT * FROM ${TABLE_PACIENTES}", null)
while (cursor.moveToNext()) {
val idPaciente = cursor.getInt(cursor.getColumnIndex(COLUMN_ID_PACIENTE))
val nombrePaciente = cursor.getString(cursor.getColumnIndex(COLUMN_NOMBRE_PACIENTE))
val apellidoPaterno = cursor.getString(cursor.getColumnIndex(COLUMN_APELLIDO_PATERNO_PACIENTE))
val apellidoMaterno = cursor.getString(cursor.getColumnIndex(COLUMN_APELLIDO_MATERNO_PACIENTE))
val edadPaciente = cursor.getInt(cursor.getColumnIndex(COLUMN_EDAD))
val sexoPaciente = cursor.getString(cursor.getColumnIndex(COLUMN_SEXO))
val domicilioPaciente = cursor.getString(cursor.getColumnIndex(COLUMN_DOMICILIO))
val paciente = Paciente(idPaciente,nombrePaciente, apellidoPaterno, apellidoMaterno, edadPaciente, sexoPaciente, domicilioPaciente)
pacientes.add(paciente)
}
cursor.close()
return pacientes
}
} }

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.content.Context
import android.view.LayoutInflater import android.view.LayoutInflater
import android.view.View import android.view.View

View File

@ -0,0 +1,58 @@
package com.terratenientes.medicalhealth.adapters
import android.content.Context
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.widget.ImageView
import android.widget.TextView
import androidx.recyclerview.widget.RecyclerView
import com.terratenientes.medicalhealth.R
import com.terratenientes.medicalhealth.data.Paciente
class PacienteViewAdapter (private var notes : List<Paciente>, context: Context, val cellClickListener: CellClickListener) :
RecyclerView.Adapter<PacienteViewAdapter.NoteViewHolder>() {
class NoteViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) {
val tvNombre : TextView = itemView.findViewById(R.id.tv_nombre)
val tvApellidoPaterno : TextView = itemView.findViewById(R.id.tv_apellido_paterno)
val tvApellidoMaterno : TextView = itemView.findViewById(R.id.tv_apellido_materno)
val tv_edad : TextView = itemView.findViewById(R.id.tv_edad)
val tv_sexo : TextView = itemView.findViewById(R.id.tv_sexo)
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)
}
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): NoteViewHolder {
val view =
LayoutInflater.from(parent.context).inflate(R.layout.rc_paciente_item, parent, false)
return NoteViewHolder(view)
}
override fun getItemCount(): Int {
return notes.size
}
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.ivEliminar.setOnClickListener {
cellClickListener.onEliminarClickListener(position)
}
holder.ivModificar.setOnClickListener {
cellClickListener.onModifyClickListener(position)
}
}
fun refreshData(newNotes: List<Paciente>) {
this.notes = newNotes
notifyDataSetChanged()
}
}

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.content.Context
import android.view.LayoutInflater import android.view.LayoutInflater
import android.view.View 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.annotation.SuppressLint
import android.content.ContentValues import android.content.ContentValues
import android.content.Context import android.content.Context
import android.database.sqlite.SQLiteDatabase import android.database.sqlite.SQLiteDatabase
import android.database.sqlite.SQLiteOpenHelper import android.database.sqlite.SQLiteOpenHelper
import android.util.Log import android.util.Log
import com.terratenientes.medicalhealth.data.Paciente
class RecetaDataBaseHelper(context: Context) : SQLiteOpenHelper(context, DATABAENAME, null, DATABASEVERSION){ class RecetaDataBaseHelper(context: Context) : SQLiteOpenHelper(context, DATABAENAME, null, DATABASEVERSION){
companion object{ companion object{
@ -99,6 +100,22 @@ class RecetaDataBaseHelper(context: Context) : SQLiteOpenHelper(context, DATABAE
db.close() 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(){ fun crearTablaReceta(){
val db=writableDatabase 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), " + 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.content.Context
import android.view.LayoutInflater import android.view.LayoutInflater
import android.view.View import android.view.View
import android.view.ViewGroup import android.view.ViewGroup
import android.widget.Button import android.widget.Button
import android.widget.ImageView
import android.widget.TextView import android.widget.TextView
import androidx.recyclerview.widget.RecyclerView import androidx.recyclerview.widget.RecyclerView
import com.terratenientes.medicalhealth.R import com.terratenientes.medicalhealth.R
import com.terratenientes.medicalhealth.data.Receta
class RecetaViewAdapter(private var notes : List<Receta>, context: Context, val cellClickListener: CellClickListener) : class RecetaViewAdapter(private var notes : List<Receta>, context: Context, val cellClickListener: CellClickListener) :
RecyclerView.Adapter<RecetaViewAdapter.NoteViewHolder>() { RecyclerView.Adapter<RecetaViewAdapter.NoteViewHolder>() {
@ -16,8 +17,10 @@ class RecetaViewAdapter(private var notes : List<Receta>, context: Context,val c
val tituloReceta : TextView = itemView.findViewById(R.id.tv_titulo_receta) val tituloReceta : TextView = itemView.findViewById(R.id.tv_titulo_receta)
val fechaReceta : TextView = itemView.findViewById(R.id.tv_fecha_receta) val fechaReceta : TextView = itemView.findViewById(R.id.tv_fecha_receta)
val nombreReceta : TextView = itemView.findViewById(R.id.tv_nombre_paciente) val nombreReceta : TextView = itemView.findViewById(R.id.tv_nombre_paciente)
val btnDescargar : Button = itemView.findViewById(R.id.btn_descargar_receta) val btnDescargar : ImageView = itemView.findViewById(R.id.iv_descargar_receta)
val btnEliminar: Button = itemView.findViewById(R.id.btn_eliminar_receta) val btnEliminar: ImageView = itemView.findViewById(R.id.iv_eliminar_receta)
val btnModificar : ImageView = itemView.findViewById(R.id.iv_modificar_receta)
val btnEnviar : ImageView = itemView.findViewById(R.id.iv_correo_receta)
val pesoReceta : TextView = itemView.findViewById(R.id.tv_peso_paciente) val pesoReceta : TextView = itemView.findViewById(R.id.tv_peso_paciente)
val edadReceta : TextView = itemView.findViewById(R.id.tv_edad_paciente) val edadReceta : TextView = itemView.findViewById(R.id.tv_edad_paciente)
val dosisReceta : TextView=itemView.findViewById(R.id.tv_dosis_medicamento) val dosisReceta : TextView=itemView.findViewById(R.id.tv_dosis_medicamento)
@ -49,6 +52,12 @@ class RecetaViewAdapter(private var notes : List<Receta>, context: Context,val c
holder.btnEliminar.setOnClickListener{ holder.btnEliminar.setOnClickListener{
cellClickListener.onEliminarClickListener(position) cellClickListener.onEliminarClickListener(position)
} }
holder.btnModificar.setOnClickListener {
cellClickListener.onModifyClickListener(position)
}
holder.btnEnviar.setOnClickListener{
cellClickListener.onEnviarCorreoClickListener(position)
}
} }
fun refreshData( newNotes : List<Receta>){ 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) 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( data class Paciente(
var id: Int, // Este campo representa el ID autoincrementable en la base de datos 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) 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.Manifest
import android.annotation.SuppressLint import android.annotation.SuppressLint
@ -11,10 +11,10 @@ import android.os.Environment
import android.widget.Toast import android.widget.Toast
import androidx.core.app.ActivityCompat import androidx.core.app.ActivityCompat
import androidx.core.content.ContextCompat import androidx.core.content.ContextCompat
import adapters.DoctorDataBaseHelper import com.terratenientes.medicalhealth.adapters.DoctorDataBaseHelper
import com.terratenientes.medicalhealth.ModificarActivity import com.terratenientes.medicalhealth.ModificarActivity
import data.Paciente import com.terratenientes.medicalhealth.data.Paciente
import adapters.PacienteAdapter import com.terratenientes.medicalhealth.adapters.PacienteAdapter
import com.terratenientes.medicalhealth.R import com.terratenientes.medicalhealth.R
import com.terratenientes.medicalhealth.databinding.ActivityConsultarPacientesBinding import com.terratenientes.medicalhealth.databinding.ActivityConsultarPacientesBinding
import java.io.File 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="#FFFFFFFF"
android:pathData="M12,4A4,4 0,0 1,16 8A4,4 0,0 1,12 12A4,4 0,0 1,8 8A4,4 0,0 1,12 4M12,14C16.42,14 20,15.79 20,18V20H4V18C4,15.79 7.58,14 12,14Z"/>
</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="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="M14.84,16.26C17.86,16.83 20,18.29 20,20V22H4V20C4,18.29 6.14,16.83 9.16,16.26L12,21L14.84,16.26M8,8H16V10A4,4 0,0 1,12 14A4,4 0,0 1,8 10V8M8,7L8.41,2.9C8.46,2.39 8.89,2 9.41,2H14.6C15.11,2 15.54,2.39 15.59,2.9L16,7H8M12,3H11V4H10V5H11V6H12V5H13V4H12V3Z"/>
</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="#FFFFFFFF"
android:pathData="M13,9H18.5L13,3.5V9M6,2H14L20,8V20A2,2 0,0 1,18 22H6C4.89,22 4,21.1 4,20V4C4,2.89 4.89,2 6,2M15,18V16H6V18H15M18,14V12H6V14H18Z"/>
</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="#FFFFFFFF"
android:pathData="M13.5,8H12V13L16.28,15.54L17,14.33L13.5,12.25V8M13,3A9,9 0,0 0,4 12H1L4.96,16.03L9,12H6A7,7 0,0 1,13 5A7,7 0,0 1,20 12A7,7 0,0 1,13 19C11.07,19 9.32,18.21 8.06,16.94L6.64,18.36C8.27,20 10.5,21 13,21A9,9 0,0 0,22 12A9,9 0,0 0,13 3"/>
</vector>

View File

@ -4,6 +4,6 @@
android:viewportWidth="24.0" android:viewportWidth="24.0"
android:viewportHeight="24.0"> android:viewportHeight="24.0">
<path <path
android:fillColor="#FF000000" android:fillColor="#FFFFFFFF"
android:pathData="M10,20v-6h4v6h5v-8h3L12,3 2,12h3v8z" /> android:pathData="M10,20v-6h4v6h5v-8h3L12,3 2,12h3v8z" />
</vector> </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="M19,13H13V19H11V13H5V11H11V5H13V11H19V13Z"/>
</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="M12,20C7.59,20 4,16.41 4,12C4,7.59 7.59,4 12,4C16.41,4 20,7.59 20,12C20,16.41 16.41,20 12,20M12,2A10,10 0,0 0,2 12A10,10 0,0 0,12 22A10,10 0,0 0,22 12A10,10 0,0 0,12 2M13,7H11V11H7V13H11V17H13V13H17V11H13V7Z"/>
</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

@ -114,17 +114,5 @@
android:background="@drawable/radius_btn" android:background="@drawable/radius_btn"
android:text="@string/bt_agregar" /> android:text="@string/bt_agregar" />
<Button
android:id="@+id/btn_cancelar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/bt_cancelar"
android:layout_marginTop="2dp"
android:layout_marginStart="50dp"
android:textSize="18sp"
android:textStyle="bold"
android:background="@drawable/radius_btn"
android:layout_marginEnd="50dp"/>
</LinearLayout> </LinearLayout>

View File

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

@ -0,0 +1,47 @@
<?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=".PacienteActivity">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="5dp"
android:layout_marginBottom="10dp"
android:text="@string/tv_titulo_consultar"
android:textSize="30dp"
android:textColor="@color/primaryColor"
android:gravity="center"/>
<ImageView
android:id="@+id/iv_agregar_paciente"
android:layout_width="100dp"
android:layout_height="30dp"
android:layout_marginTop="15dp"
android:layout_marginStart="10dp"
android:src="@drawable/plus_circle_outline"/>
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/rv_pacientes"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginTop="20dp"
android:layout_marginEnd="8dp"/>
<Button
android:id="@+id/btn_descargar_csv"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/btn_csv"
android:layout_marginTop="10dp"
android:layout_marginStart="20dp"
android:layout_marginEnd="20dp"
android:background="@drawable/radius_btn"/>
</LinearLayout>

View File

@ -13,8 +13,7 @@
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:scrollbars="vertical" android:scrollbars="vertical"
tools:listitem="@layout/rc_receta_item" tools:listitem="@layout/rc_receta_item" />
/>
</RelativeLayout> </RelativeLayout>

View File

@ -7,39 +7,143 @@
android:orientation="vertical" android:orientation="vertical"
tools:context="PrincipalActivity"> tools:context="PrincipalActivity">
<Button <TextView
android:id="@+id/btn_agregar_paciente"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@string/tv_agregar_paciente_titulo"/> android:text="@string/app_name"
<Button android:gravity="center"
android:id="@+id/btn_eliminar_paciente" android:layout_marginTop="5dp"
android:layout_marginBottom="20dp"
android:textColor="@color/primaryColor"
android:textSize="30dp"/>
<!--<ImageView
android:layout_width="match_parent"
android:layout_height="150dp"
android:layout_margin="20dp"
android:src="@drawable/doctor"/>-->
<GridLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@string/eliminar_paciente_titulo"/> android:layout_marginTop="30dp"
<Button android:columnCount="1"
android:id="@+id/btn_agregar_receta" android:rowCount="4">
<TextView
android:id="@+id/tv_nombre_doctor"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_columnWeight="1"
android:layout_column="0"
android:layout_row="0"
android:textSize="25dp"
android:layout_marginTop="15dp"
android:layout_marginStart="10dp"
android:layout_marginEnd="10dp"
android:text="Nombre:"/>
<TextView
android:id="@+id/tv_telefono_doctor"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_columnWeight="1"
android:layout_column="0"
android:layout_row="1"
android:textSize="25dp"
android:layout_marginTop="35dp"
android:layout_marginStart="10dp"
android:layout_marginEnd="10dp"
android:text="Telefono:"/>
<TextView
android:id="@+id/tv_cedula_doctor"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_columnWeight="1"
android:layout_column="0"
android:layout_row="2"
android:textSize="25dp"
android:layout_marginTop="35dp"
android:layout_marginStart="10dp"
android:layout_marginEnd="10dp"
android:text="Cédula:"/>
<TextView
android:id="@+id/tv_consultorio_doctor"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_columnWeight="1"
android:layout_column="0"
android:layout_row="3"
android:textSize="25dp"
android:layout_marginTop="35dp"
android:layout_marginStart="10dp"
android:layout_marginEnd="10dp"
android:text="Consultorio:"/>
</GridLayout>
<GridLayout
android:layout_marginStart="10dp"
android:layout_marginEnd="10dp"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@string/btn_agregar_receta"/> android:background="@drawable/radius_tv"
android:backgroundTint="@color/primaryColor"
android:layout_marginTop="80dp"
android:columnCount="3"
android:rowCount="2">
<Button <ImageView
android:id="@+id/btn_eliminar_receta" android:id="@+id/iv_pacientes"
android:layout_width="match_parent" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="Eliminar Receta"/> android:src="@drawable/account"
android:layout_column="0"
<Button android:layout_columnWeight="1"
android:id="@+id/btn_cerrar" android:layout_row="0"/>
android:layout_width="match_parent" <ImageView
android:id="@+id/iv_recetas"
android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="Cerrar Sesión"/> android:src="@drawable/file_document"
android:layout_column="1"
android:layout_columnWeight="1"
android:layout_row="0"/>
<ImageView
android:id="@+id/iv_historial"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/history"
android:layout_column="2"
android:layout_columnWeight="1"
android:layout_row="0"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Pacientes"
android:textColor="@color/white"
android:layout_columnWeight="1"
android:layout_column="0"
android:gravity="center"
android:layout_row="1"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Recetas"
android:textColor="@color/white"
android:layout_columnWeight="1"
android:layout_column="1"
android:gravity="center"
android:layout_row="1"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Historial"
android:textColor="@color/white"
android:layout_columnWeight="1"
android:layout_column="2"
android:gravity="center"
android:layout_row="1"/>
</GridLayout>
</LinearLayout> </LinearLayout>

View File

@ -42,6 +42,7 @@
android:layout_marginBottom="20dp" android:layout_marginBottom="20dp"
android:background="@drawable/radius_tv" android:background="@drawable/radius_tv"
android:layout_gravity="center_horizontal" android:layout_gravity="center_horizontal"
android:inputType="text"
/> />
@ -56,6 +57,7 @@
android:layout_marginBottom="20dp" android:layout_marginBottom="20dp"
android:background="@drawable/radius_tv" android:background="@drawable/radius_tv"
android:textColorHint="@color/black" android:textColorHint="@color/black"
android:inputType="text"
/> />
<EditText <EditText
@ -69,6 +71,9 @@
android:layout_marginBottom="20dp" android:layout_marginBottom="20dp"
android:background="@drawable/radius_tv" android:background="@drawable/radius_tv"
android:textColorHint="@color/black" android:textColorHint="@color/black"
android:inputType="phone"
android:maxLength="15"
android:digits="0123456789"
/> />
<EditText <EditText
android:layout_gravity="center_horizontal" android:layout_gravity="center_horizontal"
@ -96,6 +101,7 @@
android:background="@drawable/radius_tv" android:background="@drawable/radius_tv"
android:hint="@string/et_contrasena_registrar" android:hint="@string/et_contrasena_registrar"
android:textColorHint="@color/black" android:textColorHint="@color/black"
android:maxLength="12"
/> />
<Button <Button

View File

@ -0,0 +1,107 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:orientation="vertical">
<androidx.cardview.widget.CardView
android:layout_width="match_parent"
android:layout_height="100dp"
android:layout_margin="10dp"
app:cardCornerRadius="8dp"
app:cardElevation="8dp">
<GridLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:columnCount="3"
android:rowCount="3">
<TextView
android:id="@+id/tv_nombre"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="10dp"
android:layout_marginTop="10dp"
android:layout_columnWeight="1"
android:layout_column="0"
android:layout_row="0"
android:text="@string/ht_nombre"/>
<TextView
android:id="@+id/tv_apellido_paterno"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="10dp"
android:layout_marginTop="10dp"
android:layout_columnWeight="1"
android:layout_column="1"
android:layout_row="0"
android:text="@string/ht_apellido_paterno"/>
<TextView
android:id="@+id/tv_apellido_materno"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="10dp"
android:layout_marginTop="10dp"
android:layout_columnWeight="1"
android:layout_column="2"
android:layout_row="0"
android:text="@string/ht_apellido_materno"/>
<TextView
android:id="@+id/tv_edad"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="10dp"
android:layout_marginTop="10dp"
android:layout_columnWeight="1"
android:layout_column="0"
android:layout_row="1"
android:text="@string/et_modificar_edad"/>
<TextView
android:id="@+id/tv_sexo"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="10dp"
android:layout_marginTop="10dp"
android:layout_columnWeight="1"
android:layout_column="1"
android:layout_row="1"
android:text="@string/et_modificar_sexo"/>
<TextView
android:id="@+id/tv_domicilio"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="10dp"
android:layout_marginTop="10dp"
android:layout_columnWeight="1"
android:layout_column="2"
android:layout_row="1"
android:text="@string/ht_domicilio"/>
<ImageView
android:id="@+id/iv_modificar_paciente"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="10dp"
android:layout_marginTop="10dp"
android:layout_column="1"
android:layout_columnWeight="1"
android:layout_row="2"
android:src="@drawable/update"/>
<ImageView
android:id="@+id/iv_eliminar_paciente"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="10dp"
android:layout_marginTop="10dp"
android:layout_column="2"
android:layout_columnWeight="1"
android:layout_row="2"
android:src="@drawable/delete"/>
</GridLayout>
</androidx.cardview.widget.CardView>
</LinearLayout>

View File

@ -63,33 +63,61 @@
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" /> app:layout_constraintTop_toTopOf="parent" />
<Button <ImageView
android:id="@+id/btn_descargar_receta" android:id="@+id/iv_descargar_receta"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginStart="243dp" android:layout_marginStart="243dp"
android:layout_marginTop="2dp" android:layout_marginTop="2dp"
android:layout_marginEnd="24dp" android:layout_marginEnd="24dp"
android:layout_marginBottom="10dp" android:layout_marginBottom="10dp"
android:text="Descargar" android:src="@drawable/download"
android:textSize="12sp"
app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="1.0" app:layout_constraintHorizontal_bias="1.0"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.487" /> app:layout_constraintVertical_bias="0.243" />
<Button <ImageView
android:id="@+id/btn_eliminar_receta" android:id="@+id/iv_correo_receta"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="100dp"
android:layout_marginTop="2dp"
android:layout_marginEnd="24dp"
android:layout_marginBottom="50dp"
android:background="#3F51B5"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.815"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.529"
app:srcCompat="@android:drawable/ic_dialog_email" />
<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_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginStart="243dp" android:layout_marginStart="243dp"
android:layout_marginTop="75dp" android:layout_marginTop="75dp"
android:layout_marginEnd="24dp" android:layout_marginEnd="24dp"
android:layout_marginBottom="10dp" android:layout_marginBottom="10dp"
android:text="Eliminar" android:src="@drawable/delete"
android:textSize="12sp"
app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="1.0" app:layout_constraintHorizontal_bias="1.0"

View File

@ -47,6 +47,7 @@
<string name="receta_peso">Peso del paciente KG</string> <string name="receta_peso">Peso del paciente KG</string>
<string name="btn_agregar_receta">Agregar Receta</string> <string name="btn_agregar_receta">Agregar Receta</string>
<string name="btn_ayuda_receta">Ayuda</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_activity_principal">PrincipalActivity</string>
<string name="title_home">Home</string> <string name="title_home">Home</string>
<string name="title_dashboard">Dashboard</string> <string name="title_dashboard">Dashboard</string>