Funcionalidad de historial, se anexan logs ("Historial") aca evento de la aplicación

This commit is contained in:
AngelSuarez03 2024-05-25 13:03:45 -06:00
parent 30a54fe6c6
commit 33a29c155f
11 changed files with 468 additions and 32 deletions

View File

@ -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 inició 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)
}
}

View File

@ -1,65 +1,120 @@
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.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
private lateinit var historial: Historial
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
binding=ActivityMainBinding.inflate(layoutInflater)
val view=binding.root
binding = ActivityMainBinding.inflate(layoutInflater)
val view = binding.root
setContentView(view)
historial = Historial(null, null, "Se abrió la aplicacion", obtenerFecha())
db = DoctorDataBaseHelper(this@MainActivity)
dbHistorial = HistorialDataBaseHelper(this@MainActivity)
añadirHistorial(historial)
//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())
if(res==true){
Toast.makeText(this@MainActivity,"VALIDADO",Toast.LENGTH_LONG).show()
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 Sesión 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){
Toast.makeText(this@MainActivity,"VALIDADO",Toast.LENGTH_LONG).show()
} else if (resPaciente == true) {
historial.tipoUsuario = "Paciente"
historial.eventoRealizado = "Inicio Sesión 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("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()
} else {
Toast.makeText(this@MainActivity, " NO VALIDADO", Toast.LENGTH_LONG).show()
}
}
binding.tvRegistrarme.setOnClickListener{
binding.tvRegistrarme.setOnClickListener {
historial.eventoRealizado = "Accionó 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 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()
var res=db.validarDatos(usuario,contrasena)
if(res==true){
Toast.makeText(this@MainActivity,"VALIDADO",Toast.LENGTH_LONG).show()
}else{
Toast.makeText(this@MainActivity," NO VALIDADO",Toast.LENGTH_LONG).show()
private fun validaDatos() {
var usuario = binding.tvUsuario.text.toString()
var contrasena = binding.tvContrasena.text.toString()
var res = db.validarDatos(usuario, contrasena)
if (res == true) {
Toast.makeText(this@MainActivity, "VALIDADO", Toast.LENGTH_LONG).show()
} else {
Toast.makeText(this@MainActivity, " NO VALIDADO", 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)
}
}

View File

@ -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 inició 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 información 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)
}
}

View File

@ -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)
}
}

View File

@ -1,25 +1,36 @@
package com.terratenientes.medicalhealth
import android.content.Intent
import android.os.Build
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.util.Log
import androidx.annotation.RequiresApi
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.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.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 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 +41,18 @@ 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 inició la actividad de pacientes", obtenerFecha())
añadirHistorial(historial)
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 accionó el boton para inciar la actividad de alta paciente"
historial.fecha = obtenerFecha()
añadirHistorial(historial)
}
}
@ -48,6 +67,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 botón para eliminar al usuario ${paciente.id}"
historial.fecha = obtenerFecha()
añadirHistorial(historial)
db.eliminarPaciente(paciente.id)
recycleAdapter.refreshData(db.obtenerPacientes())
}
@ -62,6 +84,30 @@ 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 botón para iniciar la actividad modificar paciente con los datos del paciente ${paciente.nombre}"
historial.fecha = obtenerFecha()
añadirHistorial(historial)
}
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)
}
}

View File

@ -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 accionó 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 accionó el boton de iniciar la actividad de modificar la 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)
}
}

View File

@ -1,33 +1,60 @@
package com.terratenientes.medicalhealth
import android.content.Intent
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.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.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 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 inició la actividad de menú 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 presionó el botón 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 presionó el botón para iniciar la actividad de recetas"
historial.fecha = obtenerFecha()
añadirHistorial(historial)
}
binding.ivHistorial.setOnClickListener {
historial.eventoRealizado = "Se presionó el botón para iniciar la actividad de historial"
historial.fecha = obtenerFecha()
añadirHistorial(historial)
}
}
@ -40,5 +67,27 @@ 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)
}
}

View File

@ -4,22 +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)
@ -27,15 +38,20 @@ 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 inició 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()
}
}
@ -67,6 +83,8 @@ class RecetaActivity : AppCompatActivity(), OnItemSelectedListener {
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()
}
@ -89,4 +107,24 @@ class RecetaActivity : AppCompatActivity(), OnItemSelectedListener {
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)
}
}

View File

@ -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 abrió 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)
}
}

View File

@ -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
private val TABLE_NAME = "Historial"
//LUEGO VAN LAS COLUMNAS DE ESA TABLA
private val COLUMN_TIPO_USUARIO = "TipoUsuario"
private val COLUMN_NOMBRE_USUARIO = "NombreUsuario"
private val COLUMN_EVENTO = "Evento"
private 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
}
}

View File

@ -0,0 +1,8 @@
package com.terratenientes.medicalhealth.data
data class Historial(
var tipoUsuario: String?,
var nombreUsuario: String?,
var eventoRealizado: String?,
var fecha: String?
)