Untitled
unknown
php
a year ago
3.4 kB
7
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