Add holiday CRUD operations
This commit is contained in:
parent
095b639794
commit
be7b5d2718
|
@ -53,9 +53,9 @@ CREATE TABLE IF NOT EXISTS festivo (
|
||||||
id INT PRIMARY KEY AUTO_INCREMENT,
|
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 INT DEFAULT NULL,
|
||||||
FOREIGN KEY (medico)
|
FOREIGN KEY (medico)
|
||||||
REFERENCES usuario(usuario)
|
REFERENCES usuario(id)
|
||||||
);
|
);
|
||||||
|
|
||||||
CREATE TABLE IF NOT EXISTS calendario (
|
CREATE TABLE IF NOT EXISTS calendario (
|
||||||
|
@ -68,10 +68,10 @@ CREATE TABLE IF NOT EXISTS calendario (
|
||||||
sabado_habil BOOLEAN,
|
sabado_habil BOOLEAN,
|
||||||
domingo_habil BOOLEAN,
|
domingo_habil BOOLEAN,
|
||||||
duracion_cita_por_defecto INT,
|
duracion_cita_por_defecto INT,
|
||||||
medico VARCHAR(50),
|
medico INT,
|
||||||
PRIMARY KEY (id, medico),
|
PRIMARY KEY (id, medico),
|
||||||
FOREIGN KEY (medico)
|
FOREIGN KEY (medico)
|
||||||
REFERENCES usuario(usuario)
|
REFERENCES usuario(id)
|
||||||
);
|
);
|
||||||
|
|
||||||
CREATE TABLE IF NOT EXISTS cita(
|
CREATE TABLE IF NOT EXISTS cita(
|
||||||
|
@ -79,12 +79,12 @@ CREATE TABLE IF NOT EXISTS cita(
|
||||||
fecha DATE NOT NULL,
|
fecha DATE NOT NULL,
|
||||||
hora TIME NOT NULL,
|
hora TIME NOT NULL,
|
||||||
duracion INT,
|
duracion INT,
|
||||||
medico VARCHAR(50) NOT NULL,
|
medico INT NOT NULL,
|
||||||
observaciones VARCHAR(255),
|
observaciones VARCHAR(255),
|
||||||
paciente INT NOT NULL,
|
paciente INT NOT NULL,
|
||||||
PRIMARY KEY (id, medico),
|
PRIMARY KEY (id, medico),
|
||||||
FOREIGN KEY (medico)
|
FOREIGN KEY (medico)
|
||||||
REFERENCES usuario(usuario),
|
REFERENCES usuario(id),
|
||||||
FOREIGN KEY (paciente)
|
FOREIGN KEY (paciente)
|
||||||
REFERENCES paciente(id)
|
REFERENCES paciente(id)
|
||||||
);
|
);
|
||||||
|
@ -96,10 +96,10 @@ CREATE TABLE IF NOT EXISTS informe(
|
||||||
paciente INT NOT NULL,
|
paciente INT NOT NULL,
|
||||||
titulo VARCHAR(100) NOT NULL,
|
titulo VARCHAR(100) NOT NULL,
|
||||||
contenido VARCHAR(255) NOT NULL,
|
contenido VARCHAR(255) NOT NULL,
|
||||||
medico VARCHAR(50) NOT NULL,
|
medico INT NOT NULL,
|
||||||
PRIMARY KEY (id, paciente),
|
PRIMARY KEY (id, paciente),
|
||||||
FOREIGN KEY (medico)
|
FOREIGN KEY (medico)
|
||||||
REFERENCES usuario(usuario),
|
REFERENCES usuario(id),
|
||||||
FOREIGN KEY (paciente)
|
FOREIGN KEY (paciente)
|
||||||
REFERENCES paciente(id)
|
REFERENCES paciente(id)
|
||||||
);
|
);
|
||||||
|
|
|
@ -0,0 +1,48 @@
|
||||||
|
<!doctype html>
|
||||||
|
<html class="no-js" lang="es">
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<meta http-equiv="x-ua-compatible" content="ie=edge">
|
||||||
|
<title>Gestión de calendario</title>
|
||||||
|
<meta name="description" content="">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||||
|
<link rel="stylesheet" href="../static/style.css" type="text/css" media="screen" />
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div style="text-align: right; margin-top: 20px;">
|
||||||
|
<a href="forms/holiday_create_form.php" class="create_btn" >Crear</a>
|
||||||
|
</div>
|
||||||
|
<table>
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th>Fecha</th>
|
||||||
|
<th>Tipo</th>
|
||||||
|
<th>Medico</th>
|
||||||
|
<th colspan="2">Acciones</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<?php
|
||||||
|
include 'database.php';
|
||||||
|
|
||||||
|
$pdo = connectDatabase();
|
||||||
|
|
||||||
|
$list = listHolidays($pdo);
|
||||||
|
|
||||||
|
foreach($list as $row) :
|
||||||
|
?>
|
||||||
|
<tr>
|
||||||
|
<td><?php echo $row[1]; ?></td>
|
||||||
|
<td><?php echo $row[2]; ?></td>
|
||||||
|
<td><?php echo $row[3]; ?></td>
|
||||||
|
<td>
|
||||||
|
<a href="forms/holiday_edit_form.php?edit=<?php echo $row[0]; ?>" class="edit_btn">Editar</a>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<a href="holiday_management.php?delete=<?php echo $row[0]; ?>" class="del_btn">Borrar</a>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<?php endforeach ?>
|
||||||
|
<?php closeDatabase($pdo); ?>
|
||||||
|
</table>
|
||||||
|
</body>
|
||||||
|
</html>
|
|
@ -53,19 +53,24 @@ function deletePatient($pdo, string $id) {
|
||||||
}
|
}
|
||||||
|
|
||||||
function createHoliday($pdo, $data) {
|
function createHoliday($pdo, $data) {
|
||||||
|
if(empty($data["medico"])){
|
||||||
$query = "INSERT INTO festivo (fecha_festivo, tipo_festivo, medico) VALUES (?,?,?)";
|
$query = "INSERT INTO festivo (fecha_festivo, tipo_festivo, medico) VALUES (?,?,?)";
|
||||||
$pdo->prepare($query)->execute([$data["fecha_festivo"], $data["tipo_festivo"], $data["medico"]]);
|
$pdo->prepare($query)->execute([$data["fecha_festivo"], $data["tipo_festivo"], $data["medico"]]);
|
||||||
|
} else {
|
||||||
|
$query = "INSERT INTO festivo (fecha_festivo, tipo_festivo) VALUES (?,?)";
|
||||||
|
$pdo->prepare($query)->execute([$data["fecha_festivo"], $data["tipo_festivo"]]);
|
||||||
|
}
|
||||||
return "Festivo creado con éxito";
|
return "Festivo creado con éxito";
|
||||||
}
|
}
|
||||||
|
|
||||||
function editHoliday($pdo, $attr, $param, $id) {
|
function editHoliday($pdo, $data, $id) {
|
||||||
$query = "UPDATE festivo SET ? = ? WHERE id = ?";
|
$query = "UPDATE festivo SET fecha_festivo=?, tipo_festivo=?, medico=? WHERE id=?";
|
||||||
$pdo->prepare($query)->execute([$attr, $param, $id]);
|
$pdo->prepare($query)->execute([$data["fecha_festivo"], $data["tipo_festivo"], $data["medico"], $id]);
|
||||||
return "Festivo modificado con éxito";
|
return "Festivo modificado con éxito";
|
||||||
}
|
}
|
||||||
|
|
||||||
function deleteHoliday($pdo, str $id) {
|
function deleteHoliday($pdo, $id) {
|
||||||
$statement = "DELETE FROM festivo where id = ?";
|
$statement = "DELETE FROM festivo where id=?";
|
||||||
$pdo->prepare($statement)->execute([$id]);
|
$pdo->prepare($statement)->execute([$id]);
|
||||||
return "Festivo borrado con éxito";
|
return "Festivo borrado con éxito";
|
||||||
}
|
}
|
||||||
|
@ -121,8 +126,10 @@ function findUser($pdo, $input) {
|
||||||
|
|
||||||
function listPatients($pdo) {
|
function listPatients($pdo) {
|
||||||
$query = "SELECT paciente.id, paciente.nombre, paciente.apellido, paciente.fecha_de_nacimiento, paciente.documento_identificativo,
|
$query = "SELECT paciente.id, paciente.nombre, paciente.apellido, paciente.fecha_de_nacimiento, paciente.documento_identificativo,
|
||||||
paciente.tipo_documento, paciente.direccion, paciente.localidad, paciente.provincia, paciente.pais, cita.id, informe.titulo
|
paciente.tipo_documento, paciente.direccion, municipios.nombre, provincias.provincia, paciente.pais, cita.id, informe.titulo
|
||||||
FROM paciente LEFT JOIN cita ON paciente.id=cita.paciente LEFT JOIN informe ON paciente.id=informe.paciente
|
FROM paciente INNER JOIN municipios ON paciente.localidad = municipios.id_municipio
|
||||||
|
INNER JOIN provincias ON paciente.provincia = provincias.id_provincia
|
||||||
|
LEFT JOIN cita ON paciente.id=cita.paciente LEFT JOIN informe ON paciente.id=informe.paciente
|
||||||
GROUP BY paciente.id, cita.id, informe.titulo";
|
GROUP BY paciente.id, cita.id, informe.titulo";
|
||||||
$result = $pdo->prepare($query);
|
$result = $pdo->prepare($query);
|
||||||
$result->execute();
|
$result->execute();
|
||||||
|
@ -164,4 +171,28 @@ function fetchRegions($pdo){
|
||||||
return $data;
|
return $data;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function listHolidays($pdo){
|
||||||
|
$query = "SELECT * FROM festivo";
|
||||||
|
$result = $pdo->prepare($query);
|
||||||
|
$result->execute();
|
||||||
|
$data = $result->fetchAll();
|
||||||
|
return $data;
|
||||||
|
}
|
||||||
|
|
||||||
|
function listDoctors($pdo){
|
||||||
|
$query = "SELECT * FROM usuario where rol=2";
|
||||||
|
$result = $pdo->prepare($query);
|
||||||
|
$result->execute();
|
||||||
|
$data = $result->fetchAll();
|
||||||
|
return $data;
|
||||||
|
}
|
||||||
|
|
||||||
|
function fetchHolidayData($pdo, string $id) {
|
||||||
|
$query = "SELECT * FROM festivo WHERE id=?";
|
||||||
|
$result = $pdo->prepare($query);
|
||||||
|
$result->execute([$id]);
|
||||||
|
$data = $result->fetch();
|
||||||
|
return $data;
|
||||||
|
}
|
||||||
|
|
||||||
?>
|
?>
|
||||||
|
|
|
@ -0,0 +1,42 @@
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<meta http-equiv="x-ua-compatible" content="ie=edge">
|
||||||
|
<title>Gestión de usuarios</title>
|
||||||
|
<meta name="description" content="">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||||
|
<link rel="stylesheet" href="../../static/style.css" type="text/css" media="screen" />
|
||||||
|
<script src="../validate_date.js"></script>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<?php
|
||||||
|
include '../database.php';
|
||||||
|
|
||||||
|
$pdo = connectDatabase();
|
||||||
|
$doctors = listDoctors($pdo);
|
||||||
|
?>
|
||||||
|
<form name="create_form" method="post" action="../holiday_management.php">
|
||||||
|
<div class="input-group">
|
||||||
|
<label>Fecha</label>
|
||||||
|
<input type="date" name="fecha_festivo" value="">
|
||||||
|
</div>
|
||||||
|
<div class="select-input">
|
||||||
|
<label>Tipo</label>
|
||||||
|
<select id="tipo_festivo" name="tipo_festivo">
|
||||||
|
<option value="mañana">mañana</option>
|
||||||
|
<option value="tarde">tarde</option>
|
||||||
|
<option value="completo">completo</option>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
<div class="input-group">
|
||||||
|
<select id="medico" name="medico">
|
||||||
|
<option>Seleccione un médico</option>
|
||||||
|
<?php foreach($doctors as $row) : ?>
|
||||||
|
<option value="<?php echo $row[0]; ?>"><?php echo $row[1]; ?></option>
|
||||||
|
<?php endforeach ?>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
<div class="input-group">
|
||||||
|
<button class="btn" type="submit" name="create" >Guardar</button>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
</body>
|
|
@ -0,0 +1,43 @@
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<meta http-equiv="x-ua-compatible" content="ie=edge">
|
||||||
|
<title>Gestión de usuarios</title>
|
||||||
|
<meta name="description" content="">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||||
|
<link rel="stylesheet" href="../../static/style.css" type="text/css" media="screen" />
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<?php
|
||||||
|
include '../database.php';
|
||||||
|
|
||||||
|
$pdo = connectDatabase();
|
||||||
|
$data = fetchHolidayData($pdo, $_GET["edit"]);
|
||||||
|
?>
|
||||||
|
<form method="post" action="../user_management.php">
|
||||||
|
<div class="input-group">
|
||||||
|
<label>Fecha</label>
|
||||||
|
<input type="date" name="fecha_festivo" value="<?php echo $data[1]; ?>">
|
||||||
|
</div>
|
||||||
|
<div class="select-input">
|
||||||
|
<label>Tipo</label>
|
||||||
|
<select id="tipo_festivo" name="tipo_festivo">
|
||||||
|
<option value="mañana">mañana</option>
|
||||||
|
<option value="tarde">tarde</option>
|
||||||
|
<option value="completo">completo</option>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
<div class="input-group">
|
||||||
|
<select id="medico" name="medico">
|
||||||
|
<option>Seleccione un médico</option>
|
||||||
|
<?php foreach($doctors as $row) : ?>
|
||||||
|
<option value="<?php echo $row[0]; ?>"><?php echo $row[1]; ?></option>
|
||||||
|
<?php endforeach ?>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
<div class="input-group">
|
||||||
|
<button class="btn" type="submit" name="edit" >Editar</button>
|
||||||
|
</div>
|
||||||
|
<input type="hidden" name="id" value="<?php echo $_GET["edit"]; ?>">
|
||||||
|
</form>
|
||||||
|
<?php closeDatabase($pdo); ?>
|
||||||
|
</body>
|
|
@ -0,0 +1,40 @@
|
||||||
|
<?php
|
||||||
|
include'database.php';
|
||||||
|
|
||||||
|
function holidayCreation(){
|
||||||
|
$data = $_POST;
|
||||||
|
$pdo = connectDatabase();
|
||||||
|
createHoliday($pdo, $data);
|
||||||
|
closeDatabase($pdo);
|
||||||
|
header('location: calendar.php');
|
||||||
|
}
|
||||||
|
|
||||||
|
function holidayModification(){
|
||||||
|
$data = $_POST;
|
||||||
|
$id = $_POST["id"];
|
||||||
|
$pdo = connectDatabase();
|
||||||
|
editHoliday($pdo, $data, $id);
|
||||||
|
closeDatabase($pdo);
|
||||||
|
header('location: calendar.php');
|
||||||
|
}
|
||||||
|
|
||||||
|
function holidayDeletion(){
|
||||||
|
$id = $_GET["delete"];
|
||||||
|
$pdo = connectDatabase();
|
||||||
|
deleteHoliday($pdo, $id);
|
||||||
|
closeDatabase($pdo);
|
||||||
|
header('location: calendar.php');
|
||||||
|
}
|
||||||
|
|
||||||
|
if (isset($_POST["create"])) {
|
||||||
|
holidayCreation();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
if (isset($_POST["edit"])) {
|
||||||
|
holidayModification();
|
||||||
|
}
|
||||||
|
|
||||||
|
if (isset($_GET["delete"])) {
|
||||||
|
holidayDeletion();
|
||||||
|
}
|
Loading…
Reference in New Issue