Untitled
unknown
php
a year ago
3.4 kB
9
Indexable
public function insert_ticketdetalle($tick_id, $usu_id, $tickd_descrip) {
$conectar = parent::conexion();
parent::set_names();
/* TODO: Obtener usuario asignado del tick_id */
$ticket = new Ticket();
$datos = $ticket->listar_ticket_x_id($tick_id);
foreach ($datos as $row) {
$usu_asig = $row["usu_asig"];
$usu_crea = $row["usu_id"];
}
// Definir el mensaje de notificación según el rol del usuario que responde
if ($_SESSION["rol_id"] == 1) {
// Cliente responde
$mensaje = "Tiene una nueva respuesta del cliente en el ticket Nro: ";
$usu_notificado = $usu_asig; // Notificar al usuario asignado (soporte o administrador)
} elseif ($_SESSION["rol_id"] == 2) {
// Soporte responde
$mensaje = "Tiene una nueva respuesta del soporte en el ticket Nro: " ;
if ($_SESSION["usu_id"] == $usu_crea) {
// Si el soporte que responde es el creador del ticket, notificar al usuario asignado (cliente)
$usu_notificado = $usu_asig;
} else {
// Si el soporte que responde no es el creador, notificar al creador del ticket (cliente)
$usu_notificado = $usu_crea;
}
// Evitar autonotificación
if ($_SESSION["usu_id"] == $usu_notificado) {
$usu_notificado = null;
}
} elseif ($_SESSION["rol_id"] == 3) {
// Administrador responde
$mensaje = "Tiene una nueva respuesta del administrador en el ticket Nro: ";
if ($_SESSION["usu_id"] == $usu_crea) {
// Si el administrador que responde es el creador del ticket, notificar al usuario asignado (cliente)
$usu_notificado = $usu_asig;
} else {
// Si el administrador que responde no es el creador, notificar al creador del ticket (cliente)
$usu_notificado = $usu_crea;
}
// Evitar autonotificación
if ($_SESSION["usu_id"] == $usu_notificado) {
$usu_notificado = null;
}
}
// Insertar la notificación si hay un usuario para notificar
if ($usu_notificado) {
$sql0 = "INSERT INTO tm_notificacion (not_id, usu_id, not_mensaje, tick_id, est) VALUES (null, :usu_notificado, :mensaje, :tick_id, 2)";
$stmt = $conectar->prepare($sql0);
$stmt->bindParam(':usu_notificado', $usu_notificado);
$stmt->bindParam(':mensaje', $mensaje);
$stmt->bindParam(':tick_id', $tick_id);
$stmt->execute();
}
// Insertar el detalle del ticket
$sql = "INSERT INTO td_ticketdetalle (tickd_id, tick_id, usu_id, tickd_descrip, fech_crea, est) VALUES (NULL, ?, ?, ?, now(), '1');";
$sql = $conectar->prepare($sql);
$sql->bindValue(1, $tick_id);
$sql->bindValue(2, $usu_id);
$sql->bindValue(3, $tickd_descrip);
$sql->execute();
/* TODO: Devuelve el último ID (Identity) ingresado */
$sql1 = "SELECT last_insert_id() as 'tickd_id';";
$sql1 = $conectar->prepare($sql1);
$sql1->execute();
return $resultado = $sql1->fetchAll(PDO::FETCH_ASSOC);
}
Editor is loading...
Leave a Comment