Compare commits
No commits in common. "ee54f223f50d78dabb09483afc8f4dccd3e06d86" and "ae59e1376bae318d9f5529c4762ab89e41b55517" have entirely different histories.
ee54f223f5
...
ae59e1376b
@ -14,7 +14,7 @@ CREATE TABLE IF NOT EXISTS paciente (
|
|||||||
fecha_de_nacimiento DATE NOT NULL,
|
fecha_de_nacimiento DATE NOT NULL,
|
||||||
documento_identificativo VARCHAR(50) PRIMARY KEY,
|
documento_identificativo VARCHAR(50) PRIMARY KEY,
|
||||||
tipo_documento VARCHAR(10) NOT NULL,
|
tipo_documento VARCHAR(10) NOT NULL,
|
||||||
direccion VARCHAR(255) NOT NULL,
|
dirección VARCHAR(255) NOT NULL,
|
||||||
localidad VARCHAR(100) NOT NULL,
|
localidad VARCHAR(100) NOT NULL,
|
||||||
provincia VARCHAR(50) NOT NULL,
|
provincia VARCHAR(50) NOT NULL,
|
||||||
pais VARCHAR(100) NOT NULL
|
pais VARCHAR(100) NOT NULL
|
||||||
@ -32,7 +32,7 @@ CREATE TABLE IF NOT EXISTS usuario(
|
|||||||
contraseña VARCHAR(100) NOT NULL,
|
contraseña VARCHAR(100) NOT NULL,
|
||||||
rol INT NOT NULL,
|
rol INT NOT NULL,
|
||||||
especialidad VARCHAR(50),
|
especialidad VARCHAR(50),
|
||||||
correo VARCHAR(100) NOT NULL,
|
correo VARCHAR(100),
|
||||||
fecha_alta DATE NOT NULL,
|
fecha_alta DATE NOT NULL,
|
||||||
fecha_baja DATE,
|
fecha_baja DATE,
|
||||||
FOREIGN KEY (rol)
|
FOREIGN KEY (rol)
|
||||||
@ -40,8 +40,7 @@ CREATE TABLE IF NOT EXISTS usuario(
|
|||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
CREATE TABLE IF NOT EXISTS festivo (
|
CREATE TABLE IF NOT EXISTS festivos (
|
||||||
id INT PRIMARY KEY AUTO_INCREMENT,
|
|
||||||
fecha_festivo DATE NOT NULL,
|
fecha_festivo DATE NOT NULL,
|
||||||
tipo_festivo VARCHAR(15) NOT NULL,
|
tipo_festivo VARCHAR(15) NOT NULL,
|
||||||
medico VARCHAR(50),
|
medico VARCHAR(50),
|
||||||
@ -50,7 +49,7 @@ CREATE TABLE IF NOT EXISTS festivo (
|
|||||||
);
|
);
|
||||||
|
|
||||||
CREATE TABLE IF NOT EXISTS calendario (
|
CREATE TABLE IF NOT EXISTS calendario (
|
||||||
id INT NOT NULL AUTO_INCREMENT,
|
id INT NOT NULL,
|
||||||
hora_inicio_mañana TIME,
|
hora_inicio_mañana TIME,
|
||||||
hora_fin_mañana TIME,
|
hora_fin_mañana TIME,
|
||||||
hora_inicio_tarde TIME,
|
hora_inicio_tarde TIME,
|
||||||
@ -66,7 +65,7 @@ CREATE TABLE IF NOT EXISTS calendario (
|
|||||||
);
|
);
|
||||||
|
|
||||||
CREATE TABLE IF NOT EXISTS cita(
|
CREATE TABLE IF NOT EXISTS cita(
|
||||||
id INT NOT NULL AUTO_INCREMENT,
|
id INT NOT NULL,
|
||||||
fecha DATE NOT NULL,
|
fecha DATE NOT NULL,
|
||||||
hora TIME NOT NULL,
|
hora TIME NOT NULL,
|
||||||
duracion INT,
|
duracion INT,
|
||||||
@ -81,7 +80,7 @@ CREATE TABLE IF NOT EXISTS cita(
|
|||||||
);
|
);
|
||||||
|
|
||||||
CREATE TABLE IF NOT EXISTS informe(
|
CREATE TABLE IF NOT EXISTS informe(
|
||||||
id INT NOT NULL AUTO_INCREMENT,
|
id INT NOT NULL,
|
||||||
fecha DATE NOT NULL,
|
fecha DATE NOT NULL,
|
||||||
hora TIME NOT NULL,
|
hora TIME NOT NULL,
|
||||||
paciente VARCHAR(50) NOT NULL,
|
paciente VARCHAR(50) NOT NULL,
|
||||||
|
@ -3,7 +3,8 @@
|
|||||||
with pkgs;
|
with pkgs;
|
||||||
|
|
||||||
mkShell {
|
mkShell {
|
||||||
buildInputs = [ php74 php74Extensions.pdo_mysql mysql57 ];
|
buildInputs =
|
||||||
|
[ php74 php74Extensions.pdo_mysql php74Packages.composer mysql57 ];
|
||||||
|
|
||||||
shellHook = ''
|
shellHook = ''
|
||||||
pkill mysql
|
pkill mysql
|
||||||
@ -14,7 +15,5 @@ mkShell {
|
|||||||
sleep 1
|
sleep 1
|
||||||
|
|
||||||
mysql --socket="$(pwd)/.mysql/mysql.sock" -u root < $(pwd)/database/db.sql
|
mysql --socket="$(pwd)/.mysql/mysql.sock" -u root < $(pwd)/database/db.sql
|
||||||
|
|
||||||
alias mysql='mysql --socket="$(pwd)/.mysql/mysql.sock" -u root'
|
|
||||||
'';
|
'';
|
||||||
}
|
}
|
||||||
|
@ -1,95 +1,13 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
function connectDatabase(str $user, str $pass, str $db) {
|
function connectDatabase($user, $pass, $db) {
|
||||||
$unix_socket = '.mysql/mysql.sock';
|
$unix_socket = '.mysql/mysql.sock';
|
||||||
$charset = 'utf8mb4';
|
$charset = 'utf8mb4';
|
||||||
$dsn = "mysql:unix_socket=$unix_socket;dbname=$db;charset=$charset";
|
$dsn = "mysql:unix_socket=$unix_socket;dbname=$db;charset=$charset";
|
||||||
$pdo = new PDO($dsn, $user, $pass);
|
$db_connection = new PDO($dsn, $user, $pass);
|
||||||
return $pdo;
|
return $db_connection;
|
||||||
}
|
}
|
||||||
|
|
||||||
function closeDatabase($pdo) {
|
function closeDatabase($db_connection) {
|
||||||
$pdo = null;
|
$db_connection = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
function displayResults($query) {
|
|
||||||
while($row = $query->fetch()){
|
|
||||||
echo $row . "\n";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function listRows($pdo, $table) {
|
|
||||||
$query = "SELECT * FROM ?";
|
|
||||||
$result = $pdo->prepare($query)->execute([$table]);
|
|
||||||
displayResults($query);
|
|
||||||
}
|
|
||||||
|
|
||||||
function findRows($pdo, str $table, str $attr, str $param) {
|
|
||||||
$query = "SELECT * FROM ? WHERE ? = ?";
|
|
||||||
$result = $pdo->prepare($query)->execute([$table, $attr, $param]);
|
|
||||||
displayResults($query);
|
|
||||||
}
|
|
||||||
|
|
||||||
function createPatient($pdo, $data) {
|
|
||||||
$query = "INSERT INTO paciente (nombre, apellido, fecha_de_nacimiento, documento_identificativo, tipo_documento, direccion, localidad, provincia, pais) VALUES (? ? ? ? ? ? ? ? ?)";
|
|
||||||
$pdo->prepare($query)->execute([$data["nombre"], $data["apellido"], $data["fecha_de_nacimiento"], $data["documento_identificativo"], $data["tipo_documento"], $data["direccion"], $data["localidad"], $data["provincia"], $data["pais"]]);
|
|
||||||
return "Paciente creado con éxito";
|
|
||||||
}
|
|
||||||
|
|
||||||
function editPatient($pdo, str $attr, str $param, str $id) {
|
|
||||||
$query = "UPDATE paciente SET ? = ? WHERE documento_identificativo = ?";
|
|
||||||
$pdo->prepare($query)->execute([$attr, $param, $id]);
|
|
||||||
return "Paciente modificado con éxito";
|
|
||||||
}
|
|
||||||
|
|
||||||
function deletePatient($pdo, str $id) {
|
|
||||||
$check = "SELECT * FROM informes where paciente = ?";
|
|
||||||
$result = $pdo->prepare($check)->execute([$id]);
|
|
||||||
if($result->columnCount() == 0){
|
|
||||||
$statement = "DELETE FROM paciente where document_identificado = ?";
|
|
||||||
$pdo->prepare($statement)->execute([$id]);
|
|
||||||
return "El paciente se ha eliminado correctamente";
|
|
||||||
}
|
|
||||||
return "No se puede eliminar el paciente dado que tiene citas";
|
|
||||||
}
|
|
||||||
|
|
||||||
function createHoliday($pdo, $data) {
|
|
||||||
$query = "INSERT INTO festivo (fecha_festivo, tipo_festivo, medico) VALUES (? ? ?)";
|
|
||||||
$pdo->prepare($query)->execute([$data["fecha_festivo"], $data["tipo_festivo"], $data["medico"]]);
|
|
||||||
return "Festivo creado con éxito";
|
|
||||||
}
|
|
||||||
|
|
||||||
function editHoliday($pdo, $attr, $param, $id) {
|
|
||||||
$query = "UPDATE festivo SET ? = ? WHERE id = ?";
|
|
||||||
$pdo->prepare($query)->execute([$attr, $param, $id]);
|
|
||||||
return "Festivo modificado con éxito";
|
|
||||||
}
|
|
||||||
|
|
||||||
function deleteHoliday($pdo, str $id) {
|
|
||||||
$statement = "DELETE FROM festivo where id = ?";
|
|
||||||
$pdo->prepare($statement)->execute([$id]);
|
|
||||||
return "Festivo borrado con éxito";
|
|
||||||
}
|
|
||||||
|
|
||||||
function createUser($pdo, $data) {
|
|
||||||
$query = "INSERT INTO usuario (nombre, usuario, contraseña, rol, correo) VALUES (? ? ? ? ?)";
|
|
||||||
$pdo->prepare($query)->execute([$data["nombre"], $data["usuario"], $data["contraseña"], $data["rol"], $data[$correo]]);
|
|
||||||
return "Usuario creado con éxito";
|
|
||||||
}
|
|
||||||
|
|
||||||
function editUser($pdo, $attr, $param, $id) {
|
|
||||||
$query = "UPDATE usuario SET ? = ? WHERE usuario = ?";
|
|
||||||
$pdo->prepare($query)->execute([$attr, $param, $id]);
|
|
||||||
return "Usuario modificado con éxito";
|
|
||||||
}
|
|
||||||
|
|
||||||
function deactivateUser($pdo, str $id) {
|
|
||||||
editUser($pdo, "fecha_baja", "CURRENT_TIMESTAMP", $id);
|
|
||||||
return "Usuario desactivado con éxito";
|
|
||||||
}
|
|
||||||
|
|
||||||
function listAppointments($pdo, str $doctor) {
|
|
||||||
findRows($pdo, "cita", "medico", $doctor);
|
|
||||||
}
|
|
||||||
|
|
||||||
?>
|
|
||||||
|
Loading…
Reference in New Issue
Block a user