Merge pull request 'Angel' (#10) from Angel into master
Reviewed-on: #10
This commit is contained in:
commit
177ba9e60e
|
@ -4,14 +4,25 @@ import com.terratenientes.medicalhealth.adapters.DoctorDataBaseHelper
|
|||
import com.terratenientes.medicalhealth.data.Paciente
|
||||
import android.R
|
||||
import android.content.Intent
|
||||
import android.os.Build
|
||||
import android.os.Bundle
|
||||
import android.util.Log
|
||||
import android.widget.ArrayAdapter
|
||||
import android.widget.Toast
|
||||
import androidx.annotation.RequiresApi
|
||||
import androidx.appcompat.app.AppCompatActivity
|
||||
import com.terratenientes.medicalhealth.adapters.HistorialDataBaseHelper
|
||||
import com.terratenientes.medicalhealth.data.Historial
|
||||
import com.terratenientes.medicalhealth.databinding.ActivityAgregarPacienteBinding
|
||||
import java.time.ZoneId
|
||||
import java.time.ZonedDateTime
|
||||
import java.time.format.DateTimeFormatter
|
||||
|
||||
@RequiresApi(Build.VERSION_CODES.O)
|
||||
class AgregarActivity : AppCompatActivity() {
|
||||
|
||||
private lateinit var dbHistorial: HistorialDataBaseHelper
|
||||
private lateinit var historial: Historial
|
||||
private lateinit var binding: ActivityAgregarPacienteBinding
|
||||
private lateinit var db: DoctorDataBaseHelper
|
||||
|
||||
|
@ -21,14 +32,15 @@ class AgregarActivity : AppCompatActivity() {
|
|||
val view = binding.root
|
||||
setContentView(view)
|
||||
db = DoctorDataBaseHelper(this@AgregarActivity)
|
||||
|
||||
dbHistorial = HistorialDataBaseHelper(this@AgregarActivity)
|
||||
historial = Historial("Doctor", intent.getStringExtra("NombreDoctor"),"Se inicio la actividad alta paciente", obtenerFecha())
|
||||
añadirHistorial(historial)
|
||||
val opcionesGenero = arrayOf("Masculino", "Femenino", "Otro")
|
||||
val adapter = ArrayAdapter(this, R.layout.simple_spinner_item, opcionesGenero)
|
||||
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item)
|
||||
binding.edtxSexo.adapter = adapter
|
||||
|
||||
binding.btnConfirmar.setOnClickListener {
|
||||
//db.crearTablaPacientes()
|
||||
agregarPaciente()
|
||||
finish()
|
||||
}
|
||||
|
@ -44,9 +56,32 @@ class AgregarActivity : AppCompatActivity() {
|
|||
if (nombre.isNotEmpty() && apellidoPaterno.isNotEmpty() && apellidoMaterno.isNotEmpty() && edad != null && sexo.isNotEmpty() && domicilio.isNotEmpty()) {
|
||||
val paciente = Paciente(0, nombre, apellidoPaterno, apellidoMaterno, edad, sexo, domicilio)
|
||||
db.agregarPaciente(paciente)
|
||||
historial.eventoRealizado = "Dio de alta un paciente"
|
||||
historial.fecha = obtenerFecha()
|
||||
añadirHistorial(historial)
|
||||
Toast.makeText(this@AgregarActivity, "Paciente registrado correctamente", Toast.LENGTH_SHORT).show()
|
||||
} else {
|
||||
Toast.makeText(this@AgregarActivity, "Por favor ingrese todos los campos", Toast.LENGTH_SHORT).show()
|
||||
}
|
||||
}
|
||||
|
||||
private fun obtenerFecha(): String {
|
||||
val fromTimeZone = ZoneId.of("America/Mexico_City")
|
||||
|
||||
val currentTime = ZonedDateTime.now(fromTimeZone)
|
||||
|
||||
val dateFormat = "MMM dd yyyy | hh:mm:ss a "
|
||||
val formatter = DateTimeFormatter.ofPattern(dateFormat)
|
||||
return formatter.format(currentTime)
|
||||
}
|
||||
|
||||
private fun añadirHistorial(historial: Historial) {
|
||||
val resultadoInsert = dbHistorial.agregarInformacin(historial)
|
||||
var msj = ""
|
||||
if(resultadoInsert > 0)
|
||||
msj = "Información historica almacenada"
|
||||
else
|
||||
msj = "Error al almacenar la información"
|
||||
Log.i("Historial", msj + " | Información almacenada: " + historial)
|
||||
}
|
||||
}
|
|
@ -1,56 +1,95 @@
|
|||
package com.terratenientes.medicalhealth
|
||||
|
||||
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
|
||||
import android.os.Build
|
||||
import android.os.Bundle
|
||||
import android.util.Log
|
||||
import android.widget.Toast
|
||||
import androidx.annotation.RequiresApi
|
||||
import androidx.appcompat.app.AppCompatActivity
|
||||
import com.terratenientes.medicalhealth.adapters.DoctorDataBaseHelper
|
||||
import com.terratenientes.medicalhealth.adapters.HistorialDataBaseHelper
|
||||
import com.terratenientes.medicalhealth.adapters.RecetaDataBaseHelper
|
||||
import com.terratenientes.medicalhealth.data.Doctor
|
||||
import com.terratenientes.medicalhealth.data.Historial
|
||||
import com.terratenientes.medicalhealth.databinding.ActivityMainBinding
|
||||
import java.time.LocalDateTime
|
||||
import java.time.ZoneId
|
||||
import java.time.ZonedDateTime
|
||||
import java.time.format.DateTimeFormatter
|
||||
|
||||
|
||||
@RequiresApi(Build.VERSION_CODES.O)
|
||||
class MainActivity : AppCompatActivity() {
|
||||
private lateinit var binding: ActivityMainBinding
|
||||
private lateinit var db: DoctorDataBaseHelper
|
||||
private lateinit var dbHistorial: HistorialDataBaseHelper
|
||||
lateinit var dbRecetas: RecetaDataBaseHelper
|
||||
private lateinit var historial: Historial
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
super.onCreate(savedInstanceState)
|
||||
binding = ActivityMainBinding.inflate(layoutInflater)
|
||||
val view = binding.root
|
||||
setContentView(view)
|
||||
|
||||
historial = Historial(null, null, "Se abrio la aplicacion", obtenerFecha())
|
||||
db = DoctorDataBaseHelper(this@MainActivity)
|
||||
dbHistorial = HistorialDataBaseHelper(this@MainActivity)
|
||||
dbRecetas = RecetaDataBaseHelper(this@MainActivity)
|
||||
añadirHistorial(historial)
|
||||
//dbRecetas.crearTablaReceta()
|
||||
//db.createTable()
|
||||
//dbHistorial.crearTablaHistorial()
|
||||
binding.btnIniciarSesion.setOnClickListener {
|
||||
var res=db.validarDatos(binding.tvUsuario.text.toString(),binding.tvContrasena.text.toString())
|
||||
var resPaciente = db.validarDatosPaciente(binding.tvUsuario.text.toString(), binding.tvContrasena.text.toString())
|
||||
historial.fecha = obtenerFecha()
|
||||
var res = db.validarDatos(
|
||||
binding.tvUsuario.text.toString(),
|
||||
binding.tvContrasena.text.toString()
|
||||
)
|
||||
var resPaciente = db.validarDatosPaciente(
|
||||
binding.tvUsuario.text.toString(),
|
||||
binding.tvContrasena.text.toString()
|
||||
)
|
||||
if (res == true) {
|
||||
historial.eventoRealizado = "Inicio Sesion Doctor"
|
||||
historial.tipoUsuario = "Doctor"
|
||||
añadirHistorial(historial)
|
||||
Toast.makeText(this@MainActivity, "VALIDADO", Toast.LENGTH_LONG).show()
|
||||
val intent = Intent(this@MainActivity, PrincipalActivity::class.java)
|
||||
//intent.putExtra("IDPaciente",binding.tvUsuario.text.toString())
|
||||
intent.putExtra("Cedula", binding.tvUsuario.text.toString())
|
||||
startActivity(intent)
|
||||
} else if (resPaciente == true) {
|
||||
historial.tipoUsuario = "Paciente"
|
||||
historial.eventoRealizado = "Inicio Sesion Paciente"
|
||||
añadirHistorial(historial)
|
||||
Toast.makeText(this@MainActivity, "VALIDADO", Toast.LENGTH_LONG).show()
|
||||
val intent = Intent(this@MainActivity, PacientePrincipalActivity::class.java)
|
||||
intent.putExtra("IDPaciente", binding.tvContrasena.text.toString())
|
||||
intent.putExtra("NombrePaciente", binding.tvContrasena.text.toString())
|
||||
startActivity(intent)
|
||||
} else {
|
||||
Toast.makeText(this@MainActivity, " NO VALIDADO", Toast.LENGTH_LONG).show()
|
||||
}
|
||||
}
|
||||
binding.tvRegistrarme.setOnClickListener {
|
||||
historial.eventoRealizado = "Acciono el botón para la pantalla de registro"
|
||||
historial.fecha = obtenerFecha()
|
||||
añadirHistorial(historial)
|
||||
val intent = Intent(this@MainActivity, RegistrarDActivity::class.java)
|
||||
startActivity(intent)
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@SuppressLint("SuspiciousIndentation")
|
||||
private fun cargarDatos() {
|
||||
val doctor = Doctor("1236", "Sebastian", "Cordoba", "229330123", 1)
|
||||
db.agregarDoctores(doctor, "prueba")
|
||||
Toast.makeText(this@MainActivity, "DATOS DEL DOCTOR AGREGADOS", Toast.LENGTH_LONG).show()
|
||||
}
|
||||
|
||||
private fun validaDatos() {
|
||||
var usuario = binding.tvUsuario.text.toString()
|
||||
var contrasena = binding.tvContrasena.text.toString()
|
||||
|
@ -62,4 +101,24 @@ class MainActivity : AppCompatActivity() {
|
|||
}
|
||||
}
|
||||
|
||||
private fun obtenerFecha(): String {
|
||||
val fromTimeZone = ZoneId.of("America/Mexico_City")
|
||||
|
||||
val currentTime = ZonedDateTime.now(fromTimeZone)
|
||||
|
||||
val dateFormat = "MMM dd yyyy | hh:mm:ss a "
|
||||
val formatter = DateTimeFormatter.ofPattern(dateFormat)
|
||||
return formatter.format(currentTime)
|
||||
}
|
||||
|
||||
private fun añadirHistorial(historial: Historial) {
|
||||
val resultadoInsert = dbHistorial.agregarInformacin(historial)
|
||||
var msj = ""
|
||||
if(resultadoInsert > 0)
|
||||
msj = "Información historica almacenada"
|
||||
else
|
||||
msj = "Error al almacenar la información"
|
||||
Log.i("Historial", msj + " | Información almacenada: " + historial)
|
||||
}
|
||||
|
||||
}
|
|
@ -4,16 +4,27 @@ import com.terratenientes.medicalhealth.adapters.DoctorDataBaseHelper
|
|||
import com.terratenientes.medicalhealth.data.Paciente
|
||||
import com.terratenientes.medicalhealth.reports.ConsultarPacientesActivity
|
||||
import android.content.Intent
|
||||
import android.os.Build
|
||||
import androidx.appcompat.app.AppCompatActivity
|
||||
import android.os.Bundle
|
||||
import android.util.Log
|
||||
import android.widget.Toast
|
||||
import androidx.annotation.RequiresApi
|
||||
import com.terratenientes.medicalhealth.adapters.HistorialDataBaseHelper
|
||||
import com.terratenientes.medicalhealth.data.Historial
|
||||
import com.terratenientes.medicalhealth.databinding.ActivityModificarBinding
|
||||
import java.time.ZoneId
|
||||
import java.time.ZonedDateTime
|
||||
import java.time.format.DateTimeFormatter
|
||||
|
||||
@RequiresApi(Build.VERSION_CODES.O)
|
||||
class ModificarActivity : AppCompatActivity() {
|
||||
|
||||
lateinit var binding : ActivityModificarBinding
|
||||
private lateinit var paciente : Paciente
|
||||
private lateinit var db: DoctorDataBaseHelper
|
||||
private lateinit var dbHistorial: HistorialDataBaseHelper
|
||||
private lateinit var historial: Historial
|
||||
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
super.onCreate(savedInstanceState)
|
||||
|
@ -21,6 +32,9 @@ class ModificarActivity : AppCompatActivity() {
|
|||
val view = binding.root
|
||||
setContentView(view)
|
||||
db = DoctorDataBaseHelper(this@ModificarActivity)
|
||||
dbHistorial = HistorialDataBaseHelper(this@ModificarActivity)
|
||||
historial = Historial("Doctor", intent.getStringExtra("NombreDoctor"),"Se inicio la actividad modificar paciente", obtenerFecha())
|
||||
añadirHistorial(historial)
|
||||
paciente = Paciente(intent.getIntExtra("Id",2),intent.getStringExtra("Nombre Paciente").toString(),intent.getStringExtra("Apellido Paterno").toString(), intent.getStringExtra("Apellido Materno").toString(), intent.getIntExtra("Edad", 20), intent.getStringExtra("Sexo").toString(), intent.getStringExtra("Domicilio").toString())
|
||||
llenarCampos()
|
||||
binding.btnModificar.setOnClickListener {
|
||||
|
@ -34,6 +48,9 @@ class ModificarActivity : AppCompatActivity() {
|
|||
paciente.apellidoMaterno = binding.etApellidoMaterno.text.toString()
|
||||
paciente.domicilio = binding.etDomicilio.text.toString()
|
||||
db.modificarPaciente(paciente)
|
||||
historial.eventoRealizado = "Se modifico la informacion de paciente ${paciente.nombre}"
|
||||
historial.fecha = obtenerFecha()
|
||||
añadirHistorial(historial)
|
||||
finish()
|
||||
Toast.makeText(this@ModificarActivity, "Información Actualizada UwU", Toast.LENGTH_LONG).show()
|
||||
}
|
||||
|
@ -47,4 +64,24 @@ class ModificarActivity : AppCompatActivity() {
|
|||
binding.tvSexo.setText("Sexo: ${paciente.sexo}")
|
||||
}
|
||||
|
||||
private fun obtenerFecha(): String {
|
||||
val fromTimeZone = ZoneId.of("America/Mexico_City")
|
||||
|
||||
val currentTime = ZonedDateTime.now(fromTimeZone)
|
||||
|
||||
val dateFormat = "MMM dd yyyy | hh:mm:ss a "
|
||||
val formatter = DateTimeFormatter.ofPattern(dateFormat)
|
||||
return formatter.format(currentTime)
|
||||
}
|
||||
|
||||
private fun añadirHistorial(historial: Historial) {
|
||||
val resultadoInsert = dbHistorial.agregarInformacin(historial)
|
||||
var msj = ""
|
||||
if(resultadoInsert > 0)
|
||||
msj = "Información historica almacenada"
|
||||
else
|
||||
msj = "Error al almacenar la información"
|
||||
Log.i("Historial", msj + " | Información almacenada: " + historial)
|
||||
}
|
||||
|
||||
}
|
|
@ -1,22 +1,35 @@
|
|||
package com.terratenientes.medicalhealth
|
||||
|
||||
import android.os.Build
|
||||
import androidx.appcompat.app.AppCompatActivity
|
||||
import android.os.Bundle
|
||||
import android.util.Log
|
||||
import androidx.annotation.RequiresApi
|
||||
import com.terratenientes.medicalhealth.adapters.HistorialDataBaseHelper
|
||||
import com.terratenientes.medicalhealth.adapters.RecetaDataBaseHelper
|
||||
import com.terratenientes.medicalhealth.data.Historial
|
||||
import com.terratenientes.medicalhealth.data.Receta
|
||||
import com.terratenientes.medicalhealth.databinding.ActivityModificarRecetaBinding
|
||||
import java.time.ZoneId
|
||||
import java.time.ZonedDateTime
|
||||
import java.time.format.DateTimeFormatter
|
||||
|
||||
@RequiresApi(Build.VERSION_CODES.O)
|
||||
class ModificarRecetaActivity : AppCompatActivity() {
|
||||
lateinit var binding : ActivityModificarRecetaBinding
|
||||
lateinit var receta : Receta
|
||||
lateinit var db : RecetaDataBaseHelper
|
||||
lateinit var dbHistorial: HistorialDataBaseHelper
|
||||
lateinit var historial: Historial
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
super.onCreate(savedInstanceState)
|
||||
binding = ActivityModificarRecetaBinding.inflate(layoutInflater)
|
||||
val view = binding.root
|
||||
setContentView(view)
|
||||
db = RecetaDataBaseHelper(this@ModificarRecetaActivity)
|
||||
dbHistorial = HistorialDataBaseHelper(this@ModificarRecetaActivity)
|
||||
historial = Historial("Paciente", intent.getStringExtra("NombrePaciente").toString(), "Se inicio la actividad modificar receta del paciente", obtenerFecha())
|
||||
añadirHistorial(historial)
|
||||
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 {
|
||||
|
@ -34,6 +47,9 @@ class ModificarRecetaActivity : AppCompatActivity() {
|
|||
receta.duracion = binding.etDuracion.text.toString()
|
||||
db.modificarReceta(receta)
|
||||
Log.i("Info Actualizada", receta.toString())
|
||||
historial.eventoRealizado = "Se modificó una receta"
|
||||
historial.fecha = obtenerFecha()
|
||||
añadirHistorial(historial)
|
||||
finish()
|
||||
}
|
||||
|
||||
|
@ -46,4 +62,24 @@ class ModificarRecetaActivity : AppCompatActivity() {
|
|||
binding.etDosisMedicamento.setText(receta.dosis)
|
||||
binding.etDuracion.setText(receta.duracion)
|
||||
}
|
||||
|
||||
private fun obtenerFecha(): String {
|
||||
val fromTimeZone = ZoneId.of("America/Mexico_City")
|
||||
|
||||
val currentTime = ZonedDateTime.now(fromTimeZone)
|
||||
|
||||
val dateFormat = "MMM dd yyyy | hh:mm:ss a "
|
||||
val formatter = DateTimeFormatter.ofPattern(dateFormat)
|
||||
return formatter.format(currentTime)
|
||||
}
|
||||
|
||||
private fun añadirHistorial(historial: Historial) {
|
||||
val resultadoInsert = dbHistorial.agregarInformacin(historial)
|
||||
var msj = ""
|
||||
if(resultadoInsert > 0)
|
||||
msj = "Información historica almacenada"
|
||||
else
|
||||
msj = "Error al almacenar la información"
|
||||
Log.i("Historial", msj + " | Información almacenada: " + historial)
|
||||
}
|
||||
}
|
|
@ -1,25 +1,47 @@
|
|||
package com.terratenientes.medicalhealth
|
||||
|
||||
import android.Manifest
|
||||
import android.annotation.SuppressLint
|
||||
import android.content.Context
|
||||
import android.content.Intent
|
||||
import android.content.pm.PackageManager
|
||||
import android.os.Build
|
||||
import androidx.appcompat.app.AppCompatActivity
|
||||
import android.os.Bundle
|
||||
import android.os.Environment
|
||||
import android.util.Log
|
||||
import android.widget.Toast
|
||||
import androidx.annotation.RequiresApi
|
||||
import androidx.core.app.ActivityCompat
|
||||
import androidx.core.content.ContextCompat
|
||||
import androidx.recyclerview.widget.LinearLayoutManager
|
||||
import com.terratenientes.medicalhealth.adapters.CellClickListener
|
||||
import com.terratenientes.medicalhealth.adapters.DoctorDataBaseHelper
|
||||
import com.terratenientes.medicalhealth.adapters.HistorialDataBaseHelper
|
||||
import com.terratenientes.medicalhealth.adapters.PacienteAdapter
|
||||
import com.terratenientes.medicalhealth.adapters.PacienteViewAdapter
|
||||
import com.terratenientes.medicalhealth.adapters.RecetaDataBaseHelper
|
||||
import com.terratenientes.medicalhealth.adapters.RecetaViewAdapter
|
||||
import com.terratenientes.medicalhealth.data.Historial
|
||||
import com.terratenientes.medicalhealth.data.Paciente
|
||||
import com.terratenientes.medicalhealth.data.Receta
|
||||
import com.terratenientes.medicalhealth.databinding.ActivityPacienteBinding
|
||||
import java.io.File
|
||||
import java.io.FileWriter
|
||||
import java.time.ZoneId
|
||||
import java.time.ZonedDateTime
|
||||
import java.time.format.DateTimeFormatter
|
||||
|
||||
@RequiresApi(Build.VERSION_CODES.O)
|
||||
class PacienteActivity : AppCompatActivity(), CellClickListener {
|
||||
lateinit var binding : ActivityPacienteBinding
|
||||
private var idPaciente : String =""
|
||||
private lateinit var db: DoctorDataBaseHelper
|
||||
private lateinit var pacientesList: MutableList<Paciente>
|
||||
private lateinit var dbHistorial: HistorialDataBaseHelper
|
||||
private lateinit var historial: Historial
|
||||
private lateinit var recycleAdapter : PacienteViewAdapter
|
||||
private lateinit var pacientes : List<Paciente>
|
||||
lateinit var nombreDoctor: String
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
super.onCreate(savedInstanceState)
|
||||
binding = ActivityPacienteBinding.inflate(layoutInflater)
|
||||
|
@ -30,10 +52,26 @@ class PacienteActivity : AppCompatActivity(), CellClickListener {
|
|||
recycleAdapter = PacienteViewAdapter(pacientes, this@PacienteActivity, this@PacienteActivity)
|
||||
binding.rvPacientes.layoutManager = LinearLayoutManager(this)
|
||||
binding.rvPacientes.adapter = recycleAdapter
|
||||
dbHistorial = HistorialDataBaseHelper(this@PacienteActivity)
|
||||
historial = Historial("Doctor", intent.getStringExtra("NombreDoctor").toString(),"Se inicio la actividad de pacientes", obtenerFecha())
|
||||
añadirHistorial(historial)
|
||||
cargarListaPacientes()
|
||||
nombreDoctor = intent.getStringExtra("NombreDoctor").toString()
|
||||
Log.i("Pacientes", pacientes.toString())
|
||||
binding.ivAgregarPaciente.setOnClickListener {
|
||||
val intent = Intent(this@PacienteActivity, AgregarActivity::class.java)
|
||||
intent.putExtra("NombreDoctor", nombreDoctor)
|
||||
startActivity(intent)
|
||||
historial.eventoRealizado = "Se acciono el boton para inciar la actividad alta paciente"
|
||||
historial.fecha = obtenerFecha()
|
||||
añadirHistorial(historial)
|
||||
}
|
||||
binding.btnDescargarCsv.setOnClickListener {
|
||||
historial.eventoRealizado = "Se acciono el botón para descargar la informacion de los pacientes"
|
||||
historial.fecha = obtenerFecha()
|
||||
añadirHistorial(historial)
|
||||
exportarCSV(this@PacienteActivity, pacientesList)
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -48,6 +86,9 @@ class PacienteActivity : AppCompatActivity(), CellClickListener {
|
|||
override fun onEliminarClickListener(position: Int) {
|
||||
val paciente = pacientes[position]
|
||||
Log.i("Paciente Elim", paciente.toString())
|
||||
historial.eventoRealizado = "Se acciono el boton para eliminar al usuario ${paciente.id}"
|
||||
historial.fecha = obtenerFecha()
|
||||
añadirHistorial(historial)
|
||||
db.eliminarPaciente(paciente.id)
|
||||
recycleAdapter.refreshData(db.obtenerPacientes())
|
||||
}
|
||||
|
@ -62,6 +103,91 @@ class PacienteActivity : AppCompatActivity(), CellClickListener {
|
|||
intent.putExtra("Domicilio", paciente.domicilio)
|
||||
intent.putExtra("Edad", paciente.edad)
|
||||
intent.putExtra("Sexo", paciente.sexo)
|
||||
intent.putExtra("NombreDoctor",nombreDoctor)
|
||||
startActivity(intent)
|
||||
historial.eventoRealizado = "Se acciono el boton para iniciar la actividad modificar paciente con los datos del paciente ${paciente.nombre}"
|
||||
historial.fecha = obtenerFecha()
|
||||
añadirHistorial(historial)
|
||||
}
|
||||
|
||||
fun exportarCSV(context: Context, pacienteList: MutableList<Paciente>) {
|
||||
//Pedir Permisos
|
||||
ActivityCompat.requestPermissions(this@PacienteActivity, arrayOf(Manifest.permission.WRITE_EXTERNAL_STORAGE,Manifest.permission.READ_EXTERNAL_STORAGE),200)
|
||||
// Verificar si se tienen permisos de escritura externa
|
||||
if (ContextCompat.checkSelfPermission(context, Manifest.permission.WRITE_EXTERNAL_STORAGE) == PackageManager.PERMISSION_GRANTED) {
|
||||
try {
|
||||
// Crear el directorio donde se guardará el archivo CSV
|
||||
val directorio = File(Environment.getExternalStorageDirectory(), "MiApp")
|
||||
if (!directorio.exists()) {
|
||||
directorio.mkdirs()
|
||||
}
|
||||
|
||||
// Crear el archivo CSV
|
||||
val archivoCSV = File(directorio, "Paciente.csv")
|
||||
archivoCSV.createNewFile()
|
||||
|
||||
// Escribir los datos en el archivo CSV
|
||||
val writer = FileWriter(archivoCSV)
|
||||
writer.append("ID, Nombre, Apellido Paterno, Apellido Materno, Edad, Sexo, Domicilio\n")
|
||||
for (paciente in pacienteList) {
|
||||
writer.append("${paciente.id},${paciente.nombre},${paciente.apellidoPaterno},${paciente.apellidoMaterno},${paciente.edad},${paciente.sexo},${paciente.domicilio}\n")
|
||||
}
|
||||
writer.flush()
|
||||
writer.close()
|
||||
Toast.makeText(this@PacienteActivity,getString(R.string.res_csv), Toast.LENGTH_LONG).show()
|
||||
historial.eventoRealizado = "Se descargo la información de los pacientes"
|
||||
historial.fecha = obtenerFecha()
|
||||
añadirHistorial(historial)
|
||||
} catch (e: Exception) {
|
||||
e.printStackTrace()
|
||||
}
|
||||
}else{
|
||||
Toast.makeText(this@PacienteActivity,getString(R.string.err_permisos_storage),
|
||||
Toast.LENGTH_LONG).show()
|
||||
}
|
||||
}
|
||||
|
||||
private fun obtenerFecha(): String {
|
||||
val fromTimeZone = ZoneId.of("America/Mexico_City")
|
||||
|
||||
val currentTime = ZonedDateTime.now(fromTimeZone)
|
||||
|
||||
val dateFormat = "MMM dd yyyy | hh:mm:ss a "
|
||||
val formatter = DateTimeFormatter.ofPattern(dateFormat)
|
||||
return formatter.format(currentTime)
|
||||
}
|
||||
|
||||
private fun añadirHistorial(historial: Historial) {
|
||||
val resultadoInsert = dbHistorial.agregarInformacin(historial)
|
||||
var msj = ""
|
||||
if(resultadoInsert > 0)
|
||||
msj = "Información historica almacenada"
|
||||
else
|
||||
msj = "Error al almacenar la información"
|
||||
Log.i("Historial", msj + " | Información almacenada: " + historial)
|
||||
}
|
||||
|
||||
private fun cargarListaPacientes() {
|
||||
pacientesList = obtenerPacientes()
|
||||
}
|
||||
|
||||
@SuppressLint("Range")
|
||||
private fun obtenerPacientes(): MutableList<Paciente> {
|
||||
val pacientes = mutableListOf<Paciente>()
|
||||
val db = db.readableDatabase
|
||||
val cursor = db.rawQuery("SELECT * FROM ${DoctorDataBaseHelper.TABLE_PACIENTES}", null)
|
||||
while (cursor.moveToNext()) {
|
||||
val id = cursor.getInt(cursor.getColumnIndex(DoctorDataBaseHelper.COLUMN_ID_PACIENTE))
|
||||
val nombre = cursor.getString(cursor.getColumnIndex(DoctorDataBaseHelper.COLUMN_NOMBRE_PACIENTE))
|
||||
val apellidoPaterno = cursor.getString(cursor.getColumnIndex(DoctorDataBaseHelper.COLUMN_APELLIDO_PATERNO_PACIENTE))
|
||||
val apellidoMaterno = cursor.getString(cursor.getColumnIndex(DoctorDataBaseHelper.COLUMN_APELLIDO_MATERNO_PACIENTE))
|
||||
val edad = cursor.getInt(cursor.getColumnIndex(DoctorDataBaseHelper.COLUMN_EDAD))
|
||||
val sexo = cursor.getString(cursor.getColumnIndex(DoctorDataBaseHelper.COLUMN_SEXO))
|
||||
val domicilio = cursor.getString(cursor.getColumnIndex(DoctorDataBaseHelper.COLUMN_DOMICILIO))
|
||||
val paciente = Paciente(id, nombre, apellidoPaterno, apellidoMaterno, edad, sexo, domicilio)
|
||||
pacientes.add(paciente)
|
||||
}
|
||||
cursor.close()
|
||||
return pacientes
|
||||
}
|
||||
}
|
|
@ -9,33 +9,48 @@ import android.content.Intent
|
|||
import android.content.pm.PackageManager
|
||||
import android.graphics.Typeface
|
||||
import android.graphics.pdf.PdfDocument
|
||||
import android.os.Build
|
||||
import android.os.Bundle
|
||||
import android.os.Environment
|
||||
import android.text.TextPaint
|
||||
import android.util.Log
|
||||
import android.widget.Toast
|
||||
import androidx.annotation.RequiresApi
|
||||
import androidx.appcompat.app.AppCompatActivity
|
||||
import androidx.core.app.ActivityCompat
|
||||
import androidx.core.content.ContextCompat
|
||||
import androidx.recyclerview.widget.LinearLayoutManager
|
||||
import com.terratenientes.medicalhealth.adapters.HistorialDataBaseHelper
|
||||
import com.terratenientes.medicalhealth.data.Historial
|
||||
import com.terratenientes.medicalhealth.databinding.ActivityPacientePrincipalBinding
|
||||
import java.io.File
|
||||
import java.io.FileOutputStream
|
||||
import java.time.ZoneId
|
||||
import java.time.ZonedDateTime
|
||||
import java.time.format.DateTimeFormatter
|
||||
|
||||
@RequiresApi(Build.VERSION_CODES.O)
|
||||
class PacientePrincipalActivity : AppCompatActivity(), CellClickListener {
|
||||
private lateinit var binding: ActivityPacientePrincipalBinding
|
||||
private var idPaciente : String =""
|
||||
private lateinit var db: RecetaDataBaseHelper
|
||||
private lateinit var recycleAdapter : RecetaViewAdapter
|
||||
private lateinit var recetas : List<Receta>
|
||||
lateinit var dbHistorial: HistorialDataBaseHelper
|
||||
lateinit var historial: Historial
|
||||
lateinit var nombrePaciente: String
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
super.onCreate(savedInstanceState)
|
||||
binding = ActivityPacientePrincipalBinding.inflate(layoutInflater)
|
||||
val view = binding.root
|
||||
setContentView(view)
|
||||
idPaciente= intent.getStringExtra("IDPaciente")!!
|
||||
db= RecetaDataBaseHelper(this)
|
||||
db= RecetaDataBaseHelper(this@PacientePrincipalActivity)
|
||||
dbHistorial = HistorialDataBaseHelper(this@PacientePrincipalActivity)
|
||||
historial = Historial("Paciente", intent.getStringExtra("NombrePaciente").toString(), "Se inicio la actividad menu principal del paciente", obtenerFecha())
|
||||
añadirHistorial(historial)
|
||||
recetas=db.obtenerRecetasPaciente(idPaciente)
|
||||
nombrePaciente = intent.getStringExtra("NombrePaciente").toString()
|
||||
|
||||
recycleAdapter = RecetaViewAdapter(db.obtenerRecetasPaciente(idPaciente), this, this@PacientePrincipalActivity)
|
||||
|
||||
|
@ -71,6 +86,9 @@ class PacientePrincipalActivity : AppCompatActivity(), CellClickListener {
|
|||
// Toast.makeText(this, "Peso : ${datosPaciente[position].pesoPaciente}+ edad: ${datosPaciente[position].edadPaciente} ", Toast.LENGTH_LONG).show()
|
||||
//Toast.makeText(this@PacientePrincipalActivity, "PERMISOS CONCEDIDOS", Toast.LENGTH_SHORT).show()
|
||||
generarPDF(nombrePaciente, descripcionReceta, nombreMeciamento)
|
||||
historial.eventoRealizado = "Se descargo la receta en formato pdf"
|
||||
historial.fecha = obtenerFecha()
|
||||
añadirHistorial(historial)
|
||||
}else{
|
||||
pedirPermisosPDF()
|
||||
}
|
||||
|
@ -79,13 +97,18 @@ class PacientePrincipalActivity : AppCompatActivity(), CellClickListener {
|
|||
override fun onEliminarClickListener(position: Int) {
|
||||
val receta = recetas[position]
|
||||
db.eliminarReceta(receta)
|
||||
historial.eventoRealizado = "Se acciono el boton de eliminar la receta"
|
||||
historial.fecha = obtenerFecha()
|
||||
añadirHistorial(historial)
|
||||
recycleAdapter.refreshData(db.obtenerRecetasPaciente(idPaciente))
|
||||
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())
|
||||
historial.eventoRealizado = "Se acciono el boton de iniciar la actividad de modificar receta"
|
||||
historial.fecha = obtenerFecha()
|
||||
añadirHistorial(historial)
|
||||
val intent = Intent(this@PacientePrincipalActivity, ModificarRecetaActivity::class.java)
|
||||
intent.putExtra("NombrePaciente", receta.NombrePaciente)
|
||||
intent.putExtra("EdadPaciente", receta.edadPaciente.toString())
|
||||
|
@ -94,6 +117,7 @@ class PacientePrincipalActivity : AppCompatActivity(), CellClickListener {
|
|||
intent.putExtra("Fecha", receta.fecha)
|
||||
intent.putExtra("Dosis", receta.dosis)
|
||||
intent.putExtra("Duracion", receta.duracion)
|
||||
intent.putExtra("NombrePaciente", nombrePaciente)
|
||||
startActivity(intent)
|
||||
}
|
||||
|
||||
|
@ -170,5 +194,25 @@ class PacientePrincipalActivity : AppCompatActivity(), CellClickListener {
|
|||
}
|
||||
}
|
||||
|
||||
private fun obtenerFecha(): String {
|
||||
val fromTimeZone = ZoneId.of("America/Mexico_City")
|
||||
|
||||
val currentTime = ZonedDateTime.now(fromTimeZone)
|
||||
|
||||
val dateFormat = "MMM dd yyyy | hh:mm:ss a "
|
||||
val formatter = DateTimeFormatter.ofPattern(dateFormat)
|
||||
return formatter.format(currentTime)
|
||||
}
|
||||
|
||||
private fun añadirHistorial(historial: Historial) {
|
||||
val resultadoInsert = dbHistorial.agregarInformacin(historial)
|
||||
var msj = ""
|
||||
if(resultadoInsert > 0)
|
||||
msj = "Información historica almacenada"
|
||||
else
|
||||
msj = "Error al almacenar la información"
|
||||
Log.i("Historial", msj + " | Información almacenada: " + historial)
|
||||
}
|
||||
|
||||
|
||||
}
|
|
@ -1,33 +1,73 @@
|
|||
package com.terratenientes.medicalhealth
|
||||
|
||||
import android.Manifest
|
||||
import android.annotation.SuppressLint
|
||||
import android.content.Context
|
||||
import android.content.Intent
|
||||
import android.content.pm.PackageManager
|
||||
import android.os.Build
|
||||
import androidx.appcompat.app.AppCompatActivity
|
||||
import android.os.Bundle
|
||||
import android.os.Environment
|
||||
import android.util.Log
|
||||
import android.widget.Toast
|
||||
import androidx.annotation.RequiresApi
|
||||
import androidx.core.app.ActivityCompat
|
||||
import androidx.core.content.ContextCompat
|
||||
import com.terratenientes.medicalhealth.adapters.DoctorDataBaseHelper
|
||||
import com.terratenientes.medicalhealth.adapters.HistorialDataBaseHelper
|
||||
import com.terratenientes.medicalhealth.data.Doctor
|
||||
import com.terratenientes.medicalhealth.data.Historial
|
||||
import com.terratenientes.medicalhealth.databinding.ActivityPrincipalBinding
|
||||
import com.terratenientes.medicalhealth.reports.ConsultarPacientesActivity
|
||||
import java.io.File
|
||||
import java.io.FileWriter
|
||||
import java.time.ZoneId
|
||||
import java.time.ZonedDateTime
|
||||
import java.time.format.DateTimeFormatter
|
||||
|
||||
@RequiresApi(Build.VERSION_CODES.O)
|
||||
class PrincipalActivity : AppCompatActivity() {
|
||||
lateinit var binding : ActivityPrincipalBinding
|
||||
lateinit var db : DoctorDataBaseHelper
|
||||
private lateinit var dbHistorial: HistorialDataBaseHelper
|
||||
private lateinit var historialList: MutableList<Historial>
|
||||
private lateinit var historial: Historial
|
||||
lateinit var nombreDoctor : String
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
super.onCreate(savedInstanceState)
|
||||
binding = ActivityPrincipalBinding.inflate(layoutInflater)
|
||||
val view = binding.root
|
||||
setContentView(view)
|
||||
db = DoctorDataBaseHelper(this@PrincipalActivity)
|
||||
dbHistorial = HistorialDataBaseHelper(this@PrincipalActivity)
|
||||
Log.i("Datos Doctor", intent.getStringExtra("Cedula").toString())
|
||||
historial = Historial("Doctor", null,"Se inicio la actividad de menu principal", obtenerFecha())
|
||||
datosDoctor(intent.getStringExtra("Cedula").toString())
|
||||
añadirHistorial(historial)
|
||||
binding.ivPacientes.setOnClickListener {
|
||||
val intent = Intent(this@PrincipalActivity, PacienteActivity::class.java)
|
||||
intent.putExtra("NombreDoctor", nombreDoctor)
|
||||
startActivity(intent)
|
||||
historial.eventoRealizado = "Se presiono el boton para iniciar la actividad de pacientes"
|
||||
historial.fecha = obtenerFecha()
|
||||
añadirHistorial(historial)
|
||||
}
|
||||
|
||||
binding.ivRecetas.setOnClickListener {
|
||||
val intent = Intent(this@PrincipalActivity, RecetaActivity::class.java)
|
||||
intent.putExtra("NombreDoctor", nombreDoctor)
|
||||
startActivity(intent)
|
||||
historial.eventoRealizado = "Se presiono el boton para iniciar la actividad de recetas"
|
||||
historial.fecha = obtenerFecha()
|
||||
añadirHistorial(historial)
|
||||
}
|
||||
binding.ivHistorial.setOnClickListener {
|
||||
historial.eventoRealizado = "Se presiono el boton para descargar el historial"
|
||||
historial.fecha = obtenerFecha()
|
||||
añadirHistorial(historial)
|
||||
cargarHistorial()
|
||||
exportarCSV(this@PrincipalActivity, historialList)
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -40,5 +80,87 @@ class PrincipalActivity : AppCompatActivity() {
|
|||
binding.tvTelefonoDoctor.setText("Telefono: ${doctor.Telefono}")
|
||||
binding.tvCedulaDoctor.setText("Cédula: ${doctor.Cedula}")
|
||||
binding.tvConsultorioDoctor.setText("Consultorio: ${doctor.Consultorio}")
|
||||
historial.nombreUsuario = doctor.Nombre
|
||||
nombreDoctor = doctor.Nombre
|
||||
}
|
||||
|
||||
private fun obtenerFecha(): String {
|
||||
val fromTimeZone = ZoneId.of("America/Mexico_City")
|
||||
|
||||
val currentTime = ZonedDateTime.now(fromTimeZone)
|
||||
|
||||
val dateFormat = "MMM dd yyyy | hh:mm:ss a "
|
||||
val formatter = DateTimeFormatter.ofPattern(dateFormat)
|
||||
return formatter.format(currentTime)
|
||||
}
|
||||
|
||||
private fun añadirHistorial(historial: Historial) {
|
||||
val resultadoInsert = dbHistorial.agregarInformacin(historial)
|
||||
var msj = ""
|
||||
if(resultadoInsert > 0)
|
||||
msj = "Información historica almacenada"
|
||||
else
|
||||
msj = "Error al almacenar la información"
|
||||
Log.i("Historial", msj + " | Información almacenada: " + historial)
|
||||
}
|
||||
|
||||
fun exportarCSV(context: Context, historialList: MutableList<Historial>) {
|
||||
//Pedir Permisos
|
||||
ActivityCompat.requestPermissions(this@PrincipalActivity, arrayOf(
|
||||
Manifest.permission.WRITE_EXTERNAL_STORAGE,
|
||||
Manifest.permission.READ_EXTERNAL_STORAGE),200)
|
||||
// Verificar si se tienen permisos de escritura externa
|
||||
if (ContextCompat.checkSelfPermission(context, Manifest.permission.WRITE_EXTERNAL_STORAGE) == PackageManager.PERMISSION_GRANTED) {
|
||||
try {
|
||||
// Crear el directorio donde se guardará el archivo CSV
|
||||
val directorio = File(Environment.getExternalStorageDirectory(), "MiApp")
|
||||
if (!directorio.exists()) {
|
||||
directorio.mkdirs()
|
||||
}
|
||||
|
||||
// Crear el archivo CSV
|
||||
val archivoCSV = File(directorio, "Historial.csv")
|
||||
archivoCSV.createNewFile()
|
||||
|
||||
// Escribir los datos en el archivo CSV
|
||||
val writer = FileWriter(archivoCSV)
|
||||
writer.append("Tipo de Usuario, Usuario, Evento Realizado, Fecha\n")
|
||||
for (historial in historialList) {
|
||||
writer.append("${historial.tipoUsuario},${historial.nombreUsuario},${historial.eventoRealizado},${historial.fecha}\n")
|
||||
}
|
||||
writer.flush()
|
||||
writer.close()
|
||||
Toast.makeText(this@PrincipalActivity,getString(R.string.res_csv), Toast.LENGTH_LONG).show()
|
||||
historial.eventoRealizado = "Se descargo el historial de la app"
|
||||
historial.fecha = obtenerFecha()
|
||||
añadirHistorial(historial)
|
||||
} catch (e: Exception) {
|
||||
e.printStackTrace()
|
||||
}
|
||||
}else{
|
||||
Toast.makeText(this@PrincipalActivity,getString(R.string.err_permisos_storage),
|
||||
Toast.LENGTH_LONG).show()
|
||||
}
|
||||
}
|
||||
|
||||
private fun cargarHistorial() {
|
||||
historialList = obtenerHistorial()
|
||||
}
|
||||
|
||||
@SuppressLint("Range")
|
||||
private fun obtenerHistorial(): MutableList<Historial> {
|
||||
val historial = mutableListOf<Historial>()
|
||||
val db = dbHistorial.readableDatabase
|
||||
val cursor = db.rawQuery("SELECT * FROM ${HistorialDataBaseHelper.TABLE_NAME}", null)
|
||||
while (cursor.moveToNext()) {
|
||||
val tipoUsuario = cursor.getString(cursor.getColumnIndex(HistorialDataBaseHelper.COLUMN_TIPO_USUARIO))
|
||||
val usuario = cursor.getString(cursor.getColumnIndex(HistorialDataBaseHelper.COLUMN_NOMBRE_USUARIO))
|
||||
val evento = cursor.getString(cursor.getColumnIndex(HistorialDataBaseHelper.COLUMN_EVENTO))
|
||||
val fecha = cursor.getString(cursor.getColumnIndex(HistorialDataBaseHelper.COLUMN_FECHA))
|
||||
val hist = Historial(tipoUsuario, usuario,evento,fecha)
|
||||
historial.add(hist)
|
||||
}
|
||||
cursor.close()
|
||||
return historial
|
||||
}
|
||||
}
|
|
@ -4,20 +4,33 @@ 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.Build
|
||||
import android.os.Bundle
|
||||
import android.util.Log
|
||||
import android.view.View
|
||||
import android.widget.AdapterView
|
||||
import android.widget.AdapterView.OnItemSelectedListener
|
||||
import android.widget.ArrayAdapter
|
||||
import android.widget.Toast
|
||||
import androidx.activity.enableEdgeToEdge
|
||||
import androidx.annotation.RequiresApi
|
||||
import androidx.appcompat.app.AppCompatActivity
|
||||
import com.terratenientes.medicalhealth.adapters.HistorialDataBaseHelper
|
||||
import com.terratenientes.medicalhealth.data.Historial
|
||||
import com.terratenientes.medicalhealth.databinding.ActivityRecetaBinding
|
||||
import com.terratenientes.medicalhealth.utilidad.DatePickerFragment
|
||||
import java.time.ZoneId
|
||||
import java.time.ZonedDateTime
|
||||
import java.time.format.DateTimeFormatter
|
||||
import java.util.Date
|
||||
|
||||
@RequiresApi(Build.VERSION_CODES.O)
|
||||
class RecetaActivity : AppCompatActivity(), OnItemSelectedListener {
|
||||
private lateinit var binding : ActivityRecetaBinding
|
||||
private lateinit var db : RecetaDataBaseHelper
|
||||
private lateinit var dbPaciente : DoctorDataBaseHelper
|
||||
private lateinit var dbHistorial: HistorialDataBaseHelper
|
||||
private lateinit var historial: Historial
|
||||
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
super.onCreate(savedInstanceState)
|
||||
|
@ -25,14 +38,22 @@ class RecetaActivity : AppCompatActivity(), OnItemSelectedListener {
|
|||
val view = binding.root
|
||||
enableEdgeToEdge()
|
||||
db= RecetaDataBaseHelper(this@RecetaActivity)
|
||||
dbHistorial = HistorialDataBaseHelper(this@RecetaActivity)
|
||||
dbPaciente = DoctorDataBaseHelper(this@RecetaActivity)
|
||||
setContentView(view)
|
||||
//db.crearTablaReceta()
|
||||
cargarSpinnerPacientes()
|
||||
historial = Historial("Doctor", intent.getStringExtra("NombreDoctor"),"Se inicio la actividad de añadir receta", obtenerFecha())
|
||||
añadirHistorial(historial)
|
||||
binding.spNombrePaciente.onItemSelectedListener=this
|
||||
binding.btnAgregarReceta.setOnClickListener {
|
||||
agregarReceta()
|
||||
}
|
||||
binding.tvDatepicker.setOnClickListener{
|
||||
historial.eventoRealizado = "Se dio click en el calendario"
|
||||
historial.fecha = obtenerFecha()
|
||||
showPickerDialog()
|
||||
}
|
||||
}
|
||||
@SuppressLint("Range")
|
||||
private fun obtenerNombrePacientes() : ArrayList<String>{
|
||||
|
@ -57,12 +78,15 @@ class RecetaActivity : AppCompatActivity(), OnItemSelectedListener {
|
|||
val edadPaciente = (binding.etEdadPaciente.text.toString()).toInt()
|
||||
val pesoPaciente = (binding.etPesoPaciente.text.toString()).toDouble()
|
||||
val medicamento= binding.etRecetaMedicamento.text.toString()
|
||||
val fecha=binding.etFecha.text.toString()
|
||||
val fecha=binding.tvFecha.text.toString()
|
||||
val dosis = binding.etDosisMedicamento.text.toString()
|
||||
val duracion= binding.etDuracion.text.toString()
|
||||
val receta = Receta(nombrePaciente,edadPaciente,pesoPaciente,medicamento,fecha,dosis,duracion)
|
||||
db.agregarReceta(receta)
|
||||
historial.eventoRealizado = "Añadio una receta al paciente $nombrePaciente"
|
||||
historial.fecha = obtenerFecha()
|
||||
Toast.makeText(this@RecetaActivity , "RECETA AGREGADA CORRECTAMENTE", Toast.LENGTH_LONG).show()
|
||||
finish()
|
||||
}
|
||||
|
||||
override fun onItemSelected(p0: AdapterView<*>?, p1: View?, p2: Int, p3: Long) {
|
||||
|
@ -74,4 +98,33 @@ class RecetaActivity : AppCompatActivity(), OnItemSelectedListener {
|
|||
override fun onNothingSelected(p0: AdapterView<*>?) {
|
||||
|
||||
}
|
||||
|
||||
private fun showPickerDialog() {
|
||||
val datePicker = DatePickerFragment{day, month, year -> obtenerFechaSeleccionada(day, month, year)}
|
||||
datePicker.show(supportFragmentManager,"datePicker")
|
||||
}
|
||||
|
||||
private fun obtenerFechaSeleccionada (day: Int, month: Int, year: Int) {
|
||||
binding.tvFecha.text = "$day/$month/$year"
|
||||
}
|
||||
|
||||
private fun obtenerFecha(): String {
|
||||
val fromTimeZone = ZoneId.of("America/Mexico_City")
|
||||
|
||||
val currentTime = ZonedDateTime.now(fromTimeZone)
|
||||
|
||||
val dateFormat = "MMM dd yyyy | hh:mm:ss a "
|
||||
val formatter = DateTimeFormatter.ofPattern(dateFormat)
|
||||
return formatter.format(currentTime)
|
||||
}
|
||||
|
||||
private fun añadirHistorial(historial: Historial) {
|
||||
val resultadoInsert = dbHistorial.agregarInformacin(historial)
|
||||
var msj = ""
|
||||
if(resultadoInsert > 0)
|
||||
msj = "Información historica almacenada"
|
||||
else
|
||||
msj = "Error al almacenar la información"
|
||||
Log.i("Historial", msj + " | Información almacenada: " + historial)
|
||||
}
|
||||
}
|
|
@ -1,20 +1,34 @@
|
|||
package com.terratenientes.medicalhealth
|
||||
|
||||
import android.os.Build
|
||||
import com.terratenientes.medicalhealth.adapters.DoctorDataBaseHelper
|
||||
import com.terratenientes.medicalhealth.data.Doctor
|
||||
import android.os.Bundle
|
||||
import android.util.Log
|
||||
import android.widget.Toast
|
||||
import androidx.annotation.RequiresApi
|
||||
import androidx.appcompat.app.AppCompatActivity
|
||||
import com.terratenientes.medicalhealth.adapters.HistorialDataBaseHelper
|
||||
import com.terratenientes.medicalhealth.data.Historial
|
||||
import com.terratenientes.medicalhealth.databinding.ActivityRegistrarDactivityBinding
|
||||
import java.time.ZoneId
|
||||
import java.time.ZonedDateTime
|
||||
import java.time.format.DateTimeFormatter
|
||||
|
||||
@RequiresApi(Build.VERSION_CODES.O)
|
||||
class RegistrarDActivity : AppCompatActivity() {
|
||||
private lateinit var binding : ActivityRegistrarDactivityBinding
|
||||
private lateinit var db : DoctorDataBaseHelper
|
||||
private lateinit var dbHistorial: HistorialDataBaseHelper
|
||||
private lateinit var historial: Historial
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
super.onCreate(savedInstanceState)
|
||||
binding = ActivityRegistrarDactivityBinding.inflate(layoutInflater)
|
||||
val view = binding.root
|
||||
setContentView(view)
|
||||
dbHistorial = HistorialDataBaseHelper(this@RegistrarDActivity)
|
||||
historial = Historial(null, null, "Se abrio la actividad de registro", obtenerFecha())
|
||||
añadirHistorial(historial)
|
||||
db= DoctorDataBaseHelper(this@RegistrarDActivity)
|
||||
binding.btnRegistrar.setOnClickListener {
|
||||
registrarUsuario()
|
||||
|
@ -30,6 +44,31 @@ class RegistrarDActivity : AppCompatActivity() {
|
|||
val usuario= Doctor(cedula,nombre,apellido,telefono,domicilio.toInt())
|
||||
db.agregarDoctores(usuario,contrasena)
|
||||
Toast.makeText(this@RegistrarDActivity,"USUARIO AGREGADO",Toast.LENGTH_LONG).show()
|
||||
historial.eventoRealizado = "Se registraron los datos de un doctor"
|
||||
historial.fecha = obtenerFecha()
|
||||
historial.tipoUsuario = "Doctor"
|
||||
historial.nombreUsuario = nombre
|
||||
añadirHistorial(historial)
|
||||
finish()
|
||||
}
|
||||
|
||||
private fun obtenerFecha(): String {
|
||||
val fromTimeZone = ZoneId.of("America/Mexico_City")
|
||||
|
||||
val currentTime = ZonedDateTime.now(fromTimeZone)
|
||||
|
||||
val dateFormat = "MMM dd yyyy | hh:mm:ss a "
|
||||
val formatter = DateTimeFormatter.ofPattern(dateFormat)
|
||||
return formatter.format(currentTime)
|
||||
}
|
||||
|
||||
private fun añadirHistorial(historial: Historial) {
|
||||
val resultadoInsert = dbHistorial.agregarInformacin(historial)
|
||||
var msj = ""
|
||||
if(resultadoInsert > 0)
|
||||
msj = "Información historica almacenada"
|
||||
else
|
||||
msj = "Error al almacenar la información"
|
||||
Log.i("Historial", msj + " | Información almacenada: " + historial)
|
||||
}
|
||||
}
|
|
@ -0,0 +1,49 @@
|
|||
package com.terratenientes.medicalhealth.adapters
|
||||
|
||||
import android.content.Context
|
||||
import android.database.sqlite.SQLiteDatabase
|
||||
import android.database.sqlite.SQLiteOpenHelper
|
||||
import androidx.core.content.contentValuesOf
|
||||
import com.terratenientes.medicalhealth.data.Historial
|
||||
|
||||
class HistorialDataBaseHelper (context: Context) : SQLiteOpenHelper(context, DATABAENAME, null, DATABASEVERSION){
|
||||
companion object{
|
||||
private val DATABAENAME = "MedicalHealth"
|
||||
private val DATABASEVERSION=1
|
||||
//PRIMERO VA EL NOMBRE DE LA TABLA
|
||||
val TABLE_NAME = "Historial"
|
||||
//LUEGO VAN LAS COLUMNAS DE ESA TABLA
|
||||
val COLUMN_TIPO_USUARIO = "TipoUsuario"
|
||||
val COLUMN_NOMBRE_USUARIO = "NombreUsuario"
|
||||
val COLUMN_EVENTO = "Evento"
|
||||
val COLUMN_FECHA = "Fecha"
|
||||
}
|
||||
override fun onCreate(db: SQLiteDatabase?) {
|
||||
val crearTabla="CREATE TABLE ${TABLE_NAME} (${COLUMN_TIPO_USUARIO} VARCHAR(30), ${COLUMN_NOMBRE_USUARIO} VARCHAR(30), ${COLUMN_EVENTO} VARCHAR(255), ${COLUMN_FECHA} VARCHAR(70))"
|
||||
db?.execSQL(crearTabla)
|
||||
}
|
||||
|
||||
override fun onUpgrade(db: SQLiteDatabase?, oldVersion: Int, newVersion: Int) {
|
||||
val dropTableReceta="DROP TABLE IF EXISTS ${TABLE_NAME}"
|
||||
db?.execSQL(dropTableReceta)
|
||||
}
|
||||
|
||||
fun crearTablaHistorial(){
|
||||
val db=writableDatabase
|
||||
val crearTabla="CREATE TABLE ${TABLE_NAME} (${COLUMN_TIPO_USUARIO} VARCHAR(30), ${COLUMN_NOMBRE_USUARIO} VARCHAR(30), ${COLUMN_EVENTO} VARCHAR(255), ${COLUMN_FECHA} VARCHAR(70))"
|
||||
db?.execSQL(crearTabla)
|
||||
}
|
||||
|
||||
fun agregarInformacin (historial: Historial) : Long {
|
||||
val db = writableDatabase
|
||||
val values = contentValuesOf().apply {
|
||||
put(COLUMN_TIPO_USUARIO, historial.tipoUsuario)
|
||||
put(COLUMN_NOMBRE_USUARIO, historial.nombreUsuario)
|
||||
put(COLUMN_EVENTO, historial.eventoRealizado)
|
||||
put(COLUMN_FECHA, historial.fecha)
|
||||
}
|
||||
val respuestaInsert = db.insert(TABLE_NAME, null, values)
|
||||
db.close()
|
||||
return respuestaInsert
|
||||
}
|
||||
}
|
|
@ -21,6 +21,7 @@ class PacienteViewAdapter (private var notes : List<Paciente>, context: Context,
|
|||
val tv_domicilio : TextView = itemView.findViewById(R.id.tv_domicilio)
|
||||
val ivModificar : ImageView = itemView.findViewById(R.id.iv_modificar_paciente)
|
||||
val ivEliminar : ImageView = itemView.findViewById(R.id.iv_eliminar_paciente)
|
||||
val tvId: TextView = itemView.findViewById(R.id.tv_id_paciente)
|
||||
|
||||
}
|
||||
|
||||
|
@ -36,12 +37,13 @@ class PacienteViewAdapter (private var notes : List<Paciente>, context: Context,
|
|||
|
||||
override fun onBindViewHolder(holder: NoteViewHolder, position: Int) {
|
||||
val note = notes[position]
|
||||
holder.tvNombre.text = note.nombre
|
||||
holder.tvApellidoPaterno.text = note.apellidoPaterno
|
||||
holder.tvApellidoMaterno.text = note.apellidoMaterno
|
||||
holder.tv_edad.text = note.edad.toString()
|
||||
holder.tv_sexo.text = note.sexo
|
||||
holder.tv_domicilio.text = note.domicilio
|
||||
holder.tvNombre.text = "Nombre:\n${note.nombre}"
|
||||
holder.tvApellidoPaterno.text = "Apellido Paterno:\n${note.apellidoPaterno}"
|
||||
holder.tvApellidoMaterno.text = "Apellido Materno:\n${note.apellidoMaterno}"
|
||||
holder.tv_edad.text = "Edad:\n${note.edad}"
|
||||
holder.tv_sexo.text = "Sexo:\n${note.sexo}"
|
||||
holder.tv_domicilio.text = "Domicilio:\n${note.domicilio}"
|
||||
holder.tvId.text = "Id:${note.id}"
|
||||
|
||||
holder.ivEliminar.setOnClickListener {
|
||||
cellClickListener.onEliminarClickListener(position)
|
||||
|
|
|
@ -0,0 +1,8 @@
|
|||
package com.terratenientes.medicalhealth.data
|
||||
|
||||
data class Historial(
|
||||
var tipoUsuario: String?,
|
||||
var nombreUsuario: String?,
|
||||
var eventoRealizado: String?,
|
||||
var fecha: String?
|
||||
)
|
|
@ -99,6 +99,7 @@ class ConsultarPacientesActivity : AppCompatActivity() {
|
|||
|
||||
// Escribir los datos en el archivo CSV
|
||||
val writer = FileWriter(archivoCSV)
|
||||
writer.append("Nombre, Apellido Paterno, Apellido Materno, Edad, Sexo\n")
|
||||
for (paciente in pacientesList) {
|
||||
writer.append("${paciente.nombre},${paciente.apellidoPaterno},${paciente.apellidoMaterno},${paciente.edad},${paciente.sexo}\n")
|
||||
}
|
||||
|
|
|
@ -0,0 +1,23 @@
|
|||
package com.terratenientes.medicalhealth.utilidad
|
||||
|
||||
import android.app.DatePickerDialog
|
||||
import android.app.Dialog
|
||||
import android.content.Context
|
||||
import android.os.Bundle
|
||||
import android.widget.DatePicker
|
||||
import androidx.fragment.app.DialogFragment
|
||||
import java.util.Calendar
|
||||
|
||||
class DatePickerFragment (val listener: (day: Int, month: Int, year: Int) -> Unit): DialogFragment(), DatePickerDialog.OnDateSetListener {
|
||||
override fun onDateSet(view: DatePicker?, year: Int, month: Int, dayOfMonth: Int) {
|
||||
listener(dayOfMonth, month, year)
|
||||
}
|
||||
|
||||
override fun onCreateDialog(savedInstanceState: Bundle?): Dialog {
|
||||
val c: Calendar = Calendar.getInstance()
|
||||
val day: Int = c.get(Calendar.DAY_OF_MONTH)
|
||||
val month: Int = c.get(Calendar.MONTH)
|
||||
val year: Int = c.get(Calendar.YEAR)
|
||||
return DatePickerDialog(activity as Context, this@DatePickerFragment, year, month, day)
|
||||
}
|
||||
}
|
|
@ -51,15 +51,36 @@
|
|||
android:hint="@string/receta_medicamento"
|
||||
android:layout_gravity="center_horizontal"
|
||||
/>
|
||||
<EditText
|
||||
android:id="@+id/et_fecha"
|
||||
android:layout_marginTop="10dp"
|
||||
<GridLayout
|
||||
android:layout_width="300dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center"
|
||||
android:columnCount="2"
|
||||
android:rowCount="1">
|
||||
<TextView
|
||||
android:id="@+id/tv_fecha"
|
||||
android:layout_marginTop="10dp"
|
||||
android:layout_width="200dp"
|
||||
android:layout_height="match_parent"
|
||||
android:hint="@string/receta_fecha_paciente"
|
||||
android:layout_gravity="center_horizontal"
|
||||
android:textSize="20sp"
|
||||
android:inputType="date"
|
||||
/>
|
||||
android:layout_columnWeight="0"
|
||||
android:layout_column="0"
|
||||
android:layout_row="0"/>
|
||||
<TextView
|
||||
android:id="@+id/tv_datepicker"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_width="100dp"
|
||||
android:layout_marginTop="10dp"
|
||||
android:textColor="@color/primaryColor"
|
||||
android:text="calendario"
|
||||
android:textSize="20sp"
|
||||
android:layout_columnWeight="1"
|
||||
android:layout_column="1"
|
||||
android:layout_row="0"/>
|
||||
</GridLayout>
|
||||
<EditText
|
||||
android:id="@+id/et_dosis_medicamento"
|
||||
android:layout_marginTop="10dp"
|
||||
|
|
|
@ -1,107 +1,132 @@
|
|||
<?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
|
||||
<androidx.cardview.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="100dp"
|
||||
android:layout_margin="10dp"
|
||||
app:cardCornerRadius="8dp"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
android:orientation="vertical"
|
||||
app:cardCornerRadius="20dp"
|
||||
app:cardElevation="8dp">
|
||||
|
||||
<GridLayout
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:columnCount="3"
|
||||
android:rowCount="3">
|
||||
android:layout_height="match_parent">
|
||||
|
||||
<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"/>
|
||||
android:layout_marginStart="16dp"
|
||||
android:layout_marginTop="32dp"
|
||||
android:text="@string/ht_nombre"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
<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"/>
|
||||
android:layout_marginStart="4dp"
|
||||
android:layout_marginTop="32dp"
|
||||
android:text="@string/ht_apellido_paterno"
|
||||
app:layout_constraintStart_toEndOf="@id/tv_nombre"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
<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"/>
|
||||
android:layout_column="2"
|
||||
android:layout_columnWeight="1"
|
||||
android:layout_marginStart="16dp"
|
||||
android:layout_marginTop="32dp"
|
||||
android:text="@string/ht_apellido_materno"
|
||||
app:layout_constraintStart_toEndOf="@+id/tv_apellido_paterno"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
<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_row="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"/>
|
||||
android:layout_marginStart="20dp"
|
||||
android:text="@string/et_modificar_edad"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintStart_toEndOf="@+id/tv_sexo"
|
||||
app:layout_constraintTop_toBottomOf="@+id/tv_apellido_materno"
|
||||
app:layout_constraintVertical_bias="0.2" />
|
||||
|
||||
<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"/>
|
||||
android:layout_column="2"
|
||||
android:layout_columnWeight="1"
|
||||
android:layout_marginStart="16dp"
|
||||
android:text="@string/ht_domicilio"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@+id/tv_nombre"
|
||||
app:layout_constraintVertical_bias="0.2" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_sexo"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_row="1"
|
||||
android:layout_column="1"
|
||||
android:layout_columnWeight="1"
|
||||
android:layout_marginStart="8dp"
|
||||
android:text="@string/et_modificar_sexo"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintStart_toEndOf="@+id/tv_domicilio"
|
||||
app:layout_constraintTop_toBottomOf="@+id/tv_apellido_paterno"
|
||||
app:layout_constraintVertical_bias="0.2" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_id_paciente"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="24dp"
|
||||
android:text="Id"
|
||||
app:layout_constraintBottom_toTopOf="@+id/tv_nombre"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_constraintVertical_bias="0.384" />
|
||||
|
||||
<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_row="2"
|
||||
android:layout_column="1"
|
||||
android:layout_columnWeight="1"
|
||||
android:layout_row="2"
|
||||
android:src="@drawable/update"/>
|
||||
android:layout_marginTop="60dp"
|
||||
android:layout_marginEnd="36dp"
|
||||
android:src="@drawable/update"
|
||||
app:layout_constraintEnd_toStartOf="@+id/iv_eliminar_paciente"
|
||||
app:layout_constraintHorizontal_bias="1.0"
|
||||
app:layout_constraintStart_toEndOf="@+id/tv_edad"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
<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_row="2"
|
||||
android:layout_column="2"
|
||||
android:layout_columnWeight="1"
|
||||
android:layout_row="2"
|
||||
android:src="@drawable/delete"/>
|
||||
android:layout_marginTop="60dp"
|
||||
android:layout_marginEnd="16dp"
|
||||
android:src="@drawable/delete"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
</GridLayout>
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
||||
</androidx.cardview.widget.CardView>
|
||||
|
||||
</LinearLayout>
|
|
@ -2,13 +2,14 @@
|
|||
<string name="app_name">MedicalHealth</string>
|
||||
<!-- Modificar Activity -->
|
||||
<string name="tv_modificar_titulo">Modificar Paciente</string>
|
||||
<string name="et_modificar_edad">Edad:</string>
|
||||
<string name="et_modificar_sexo">Sexo:</string>
|
||||
<string name="et_modificar_edad">Edad</string>
|
||||
<string name="et_modificar_sexo">Sexo</string>
|
||||
<string name="ht_nombre">Nombre</string>
|
||||
<string name="ht_apellido_paterno">Apellido Paterno</string>
|
||||
<string name="ht_apellido_materno">Apellido Materno</string>
|
||||
<string name="ht_domicilio">Domicilio</string>
|
||||
<string name="bt_modificar">Modificar</string>
|
||||
<string name="tv_id_paciente">Id</string>
|
||||
<string name="tv_agregar_paciente_titulo">Agrega un paciente</string>
|
||||
<string name="bt_agregar">Confirmar</string>
|
||||
<string name="bt_cancelar">Cancelar</string>
|
||||
|
|
Loading…
Reference in New Issue