function readRolesAutocomplete() { $retArray = array("status" => 0, "msg" => "", "data" => array()); $this->load->database(); //Verificando correcta conexión a la base de datos if (!$this->db->conn_id) { $retArray["status"] = 2; $retArray["msg"] = database_cn_error_msg(); return $retArray; } $sql = "SELECT idRol, nombreRol FROM ROL"; $query = $this->db->query($sql); if ($query) { if ($query->num_rows > 0) { foreach ($query->result() as $row) { $rowArray = array(); $rowArray["id"] = $row->idRol; $rowArray["value"] = $row->nombreRol; $retArray["data"][] = $rowArray; } } } else { $retArray["status"] = $this->db->_error_number(); $retArray["msg"] = database_error_msg() != "" ? database_error_msg() : $this->db->_error_message(); } return $retArray; }
function fileNameCorrelative($uploadIdName, $uploadIdValue) { $retArray = array("status" => 0, "msg" => "", "data" => array()); $this->load->database(); //Verificando correcta conexión a la base de datos if (!$this->db->conn_id) { $retArray["status"] = 2; $retArray["msg"] = database_cn_error_msg(); return $retArray; } $sql = "SELECT COUNT(idArchivo) AS countId FROM ARCHIVOS WHERE {$uploadIdName} = " . $this->db->escape($uploadIdValue); $query = $this->db->query($sql); if (!$query) { $retArray["status"] = $this->db->_error_number(); $retArray["msg"] = database_error_msg() != "" ? database_error_msg() : $this->db->_error_message(); return $retArray; } if ($query->num_rows() > 0) { $row = $query->row(); $countId = $row->countId; $retArray["data"] = $countId + 1; } return $retArray; }
function autocompleteRead() { $retArray = array("status" => 0, "msg" => "", "data" => array()); $this->load->database(); //Verificando correcta conexión a la base de datos if (!$this->db->conn_id) { $retArray["status"] = 2; $retArray["msg"] = database_cn_error_msg(); return $retArray; } $sql = "SELECT DISTINCT u.idUsuario, CONCAT(u.primerNombre,' ',u.primerApellido) nombreUsuario FROM USUARIO u INNER JOIN ROL_USUARIO ur ON ur.idUsuario = u.idUsuario WHERE u.activo='1' AND ur.idRol !=8"; $query = $this->db->query($sql); if ($query) { if ($query->num_rows > 0) { foreach ($query->result() as $row) { $rowArray = array(); $rowArray["id"] = $row->idUsuario; $rowArray["value"] = $row->nombreUsuario; $retArray["data"][] = $rowArray; } } } else { $retArray["status"] = $this->db->_error_number(); $retArray["msg"] = database_error_msg() != "" ? database_error_msg() : $this->db->_error_message(); } return $retArray; }
function update() { $retArray = array("status" => 0, "msg" => "", "data" => array()); $this->load->database(); //Verificando correcta conexión a la base de datos if (!$this->db->conn_id) { $retArray["status"] = 2; $retArray["msg"] = database_cn_error_msg(); return $retArray; } $idFase = $this->input->post("idFase"); $nombreFase = $this->input->post("nombreFase"); $descripcion = $this->input->post("descripcion"); $sql = "UPDATE FASE SET nombreFase = " . $this->db->escape($nombreFase) . ", descripcion = " . $this->db->escape($descripcion) . " WHERE idFase = " . $idFase; $query = $this->db->query($sql); if (!$query) { $retArray["status"] = $this->db->_error_number(); $retArray["msg"] = database_error_msg() != "" ? database_error_msg() : $this->db->_error_message(); } return $retArray; }
function update() { $retArray = array("status" => 0, "msg" => "", "data" => array()); $this->load->database(); //Verificando correcta conexi�n a la base de datos if (!$this->db->conn_id) { $retArray["status"] = 2; $retArray["msg"] = database_cn_error_msg(); return $retArray; } $idProyTemp = $this->input->post("idProyecto"); $idEstado = $this->input->post("idEstado"); $idUsuario = $this->input->post("idUsuario"); $idActividad = $this->input->post("idActividad"); $progreso = $this->input->post("progreso"); $asignar = $this->input->post("asignarBand"); $desasignar = $this->input->post("desasignarBand"); $comentario = $this->input->post("comentario"); $user_rows = $this->input->post("user_data"); $remove_ids = $this->input->post("remove_data"); $add_ids = $this->input->post("add_data"); //Manejando la transaccion $this->db->trans_start(); //Iniciando el texto de notificacion $sql = "SELECT nombreActividad\r\n\t\t\t\tFROM ACTIVIDAD\r\n\t\t\t\tWHERE idActividad = " . $idActividad; $query = $this->db->query($sql); $row = $query->row(); $nombreActividad = $row->nombreActividad; //Si el progreso es igual a 100 notifico al coordinador de proyecto que la actividad fue terminada if ($progreso == 100) { $cadNotificacion = "La actividad <b>'" . $nombreActividad . "' ha sido finalizada"; $sql = "INSERT INTO NOTIFICACION(notificacion,subject,fechaNotificacion) VALUES(" . $this->db->escape($cadNotificacion) . ",'Actividad finalizada',CURRENT_TIMESTAMP())"; $this->db->query($sql); $sql = "SELECT MAX(idNotificacion) lastId FROM NOTIFICACION"; $query = $this->db->query($sql); $rowT = $query->row(); $idNotificacion = $rowT->lastId; //Obteniendo ID del coordinador de proyecto $sql = "SELECT p.idUsuarioEncargado\r\n\t\t\t\t\tFROM ACTIVIDAD a INNER JOIN ACTIVIDAD_PROYECTO axp ON a.idActividad = axp.idActividad\r\n\t\t\t\t\t\tINNER JOIN PROYECTO p ON axp.idProyecto = p.idProyecto\r\n\t\t\t\t\tWHERE a.idActividad = " . $idActividad . " AND p.idProyecto = " . $idProyTemp; $query = $this->db->query($sql); $rowT = $query->row(); $sql = "INSERT INTO USUARIO_NOTIFICACION(idUsuario,idNotificacion,idEstado,horaEntrada) VALUES(" . $rowT->idUsuarioEncargado . "," . $idNotificacion . ",18,CURRENT_TIMESTAMP())"; $this->db->query($sql); //Insertando la notificacion a los seguidores $sql = "SELECT DISTINCT uxa.idUsuario\r\n\t\t\t\t\tFROM ACTIVIDAD a INNER JOIN ACTIVIDAD_PROYECTO axp ON a.idActividad = axp.idActividad\r\n\t\t\t\t\t\tINNER JOIN USUARIO_ACTIVIDAD uxa ON a.idActividad = uxa.idActividad\r\n\t\t\t\t\t\tINNER JOIN PROYECTO p ON axp.idProyecto = p.idProyecto\r\n\t\t\t\t\tWHERE a.idActividad = " . $idActividad . " AND uxa.idTipoAsociacion = 2"; $query = $this->db->query($sql); foreach ($query->result() as $row) { $sql = "INSERT INTO USUARIO_NOTIFICACION(idUsuario,idNotificacion,idEstado,horaEntrada) VALUES(" . $row->idUsuario . "," . $idNotificacion . ",18,CURRENT_TIMESTAMP())"; $this->db->query($sql); } } $cadAsignaciones = ""; $cadAsignaciones .= "<b>Actividad: '" . $nombreActividad . "'</b><br />"; if ($desasignar == 1) { $cadAsignaciones .= "Los siguientes usuarios fueron desasignados de la actividad: <br />"; } //Actualizando el estado de la actividad $sql = "UPDATE ACTIVIDAD SET idEstado = " . $idEstado . " WHERE idActividad = " . $idActividad; $query = $this->db->query($sql); //Desasignando a los usuarios de la actividad $id_array = explode(",", $remove_ids); if ($id_array[0] != 0) { $cadNotificacion = "Se le ha desasignado la actividad: <b>'" . $nombreActividad . "'</b>, "; if ($idProyTemp != "") { //Obteniendo el nombre del proyecto $sql = "SELECT nombreProyecto\r\n\t\t\t\t\t\tFROM ACTIVIDAD_PROYECTO axp INNER JOIN PROYECTO p\r\n\t\t\t\t\t\t\tON axp.idProyecto = p.idProyecto\r\n\t\t\t\t\t\tWHERE axp.idActividad = " . $idActividad . " AND axp.proyectoPrincipal=1"; $query = $this->db->query($sql); $row = $query->row(); $cadNotificacion .= "del Proyecto <b>'" . $row->nombreProyecto . "'</b>."; } $sql = "INSERT INTO NOTIFICACION(notificacion,subject,fechaNotificacion) VALUES(" . $this->db->escape($cadNotificacion) . ",'Actividad desasignada',CURRENT_TIMESTAMP())"; $this->db->query($sql); //Obteniendo el ultimo ID $sql = "SELECT MAX(idNotificacion) lastId FROM NOTIFICACION"; $query = $this->db->query($sql); $row = $query->row(); $idNotificacion = $row->lastId; foreach ($id_array as $element) { $sql = "UPDATE USUARIO_ACTIVIDAD SET activo = '0', fechaDesvinculacion = CURDATE() WHERE idActividad = " . $idActividad . " AND idUsuario = " . $element; $this->db->query($sql); $sql = "INSERT INTO USUARIO_NOTIFICACION(idUsuario,idNotificacion,idEstado,horaEntrada) VALUES(" . $element . "," . $idNotificacion . ",18,CURRENT_TIMESTAMP())"; $this->db->query($sql); if ($desasignar == 1) { //Es por que hay personas que se van a desasignar // Creando String de notificacion $sql = "SELECT CONCAT_WS(' ',primerNombre, primerApellido) AS nombre\r\n\t\t\t\t\t\t\tFROM USUARIO\r\n\t\t\t\t\t\t\tWHERE idUsuario = " . $element; $query = $this->db->query($sql); $row = $query->row(); $cadAsignaciones .= "- '" . $row->nombre . "'<br />"; } } } $id = explode(",", $add_ids); if ($asignar == 1) { $cadAsignaciones .= "Los siguientes usuarios fueron asignados a la actividad: <br />"; foreach ($id as $item) { $sql = "SELECT CONCAT_WS(' ',primerNombre, primerApellido) AS nombre\r\n\t\t\t\t\t\tFROM USUARIO\r\n\t\t\t\t\t\tWHERE idUsuario = " . $item; $query = $this->db->query($sql); $row = $query->row(); $cadAsignaciones .= "- '" . $row->nombre . "'<br />"; } } //Asignando a los usuarios a la actividad $statements = new actividadModel(); $data_array = explode("|", $user_rows); $insert_statements = $statements->execUAInsert($data_array, $idUsuario); foreach ($insert_statements as $sql) { $this->db->query($sql); } //Actualizando la informacion de la actividad $sql = "CALL sp_insert_bitacora(" . $idActividad . "," . $idUsuario . "," . $progreso . "," . $this->db->escape($comentario) . ",1,1," . $idEstado . ")"; $query = $this->db->query($sql); //Insertando la notificacion a los seguidores if ($asignar == 1 || $desasignar == 1) { $sql = "INSERT INTO NOTIFICACION(notificacion,subject,fechaNotificacion) VALUES(" . $this->db->escape($cadAsignaciones) . ",'Asignaciones ocurridas en una actividad',CURRENT_TIMESTAMP())"; $this->db->query($sql); //Insertando notificacion de asignaciones en bitacora $sql = "CALL sp_insert_bitacora(" . $idActividad . "," . $idUsuario . "," . $progreso . ",'Asignaciones ocurridas en la actividad',1,1," . $idEstado . ")"; $query = $this->db->query($sql); //Obteniendo el ultimo ID $sql = "SELECT MAX(idNotificacion) lastId FROM NOTIFICACION"; $query = $this->db->query($sql); $row = $query->row(); $idNotificacion = $row->lastId; $sql = "SELECT DISTINCT uxa.idUsuario\r\n\t\t\t\t\tFROM ACTIVIDAD a INNER JOIN ACTIVIDAD_PROYECTO axp ON a.idActividad = axp.idActividad\r\n\t\t\t\t\t\tINNER JOIN USUARIO_ACTIVIDAD uxa ON a.idActividad = uxa.idActividad\r\n\t\t\t\t\t\tINNER JOIN PROYECTO p ON axp.idProyecto = p.idProyecto\r\n\t\t\t\t\tWHERE a.idActividad = " . $idActividad . " AND uxa.idTipoAsociacion = 2"; $query = $this->db->query($sql); foreach ($query->result() as $row) { $sql = "INSERT INTO USUARIO_NOTIFICACION(idUsuario,idNotificacion,idEstado,horaEntrada) VALUES(" . $row->idUsuario . "," . $idNotificacion . ",18,CURRENT_TIMESTAMP())"; $this->db->query($sql); } } $this->db->trans_complete(); return $retArray; }
function deleteMessage($idU, $idN) { $retArray = array("status" => 0, "msg" => "", "data" => array()); $this->load->database(); //Verificando correcta conexión a la base de datos if (!$this->db->conn_id) { $retArray["status"] = 2; $retArray["msg"] = database_cn_error_msg(); return $retArray; } $sql = "DELETE FROM USUARIO_NOTIFICACION WHERE idUsuario = " . $idU . " AND idNotificacion = " . $idN; $query = $this->db->query($sql); if (!$query) { $retArray["status"] = $this->db->_error_number(); $retArray["msg"] = database_error_msg() != "" ? database_error_msg() : $this->db->_error_message(); } return $retArray; }
function autocompleteSolicitudRead() { $retArray = array("status" => 0, "msg" => "", "data" => array()); $this->load->database(); //Verificando correcta conexión a la base de datos if (!$this->db->conn_id) { $retArray["status"] = 2; $retArray["msg"] = database_cn_error_msg(); return $retArray; } $sql = "SELECT idUsuario, CONCAT(primerNombre,' ', if(OtrosNombres=null,'',OtrosNombres),' ',primerApellido,' ',if(otrosApellidos=null,'',otrosApellidos)) nombreUsuario FROM USUARIO WHERE activo = '1' "; $query = $this->db->query($sql); if ($query) { if ($query->num_rows > 0) { foreach ($query->result() as $row) { $rowArray = array(); $rowArray["id"] = $row->idUsuario; $rowArray["value"] = $row->nombreUsuario; $retArray["data"][] = $rowArray; } } } else { $retArray["status"] = $this->db->_error_number(); $retArray["msg"] = database_error_msg() != "" ? database_error_msg() : $this->db->_error_message(); } return $retArray; }
function fileDataDelete() { $retArray = array("status" => 0, "msg" => "", "data" => array()); $this->load->database(); //Verificando correcta conexión a la base de datos if (!$this->db->conn_id) { $retArray["status"] = 2; $retArray["msg"] = database_cn_error_msg(); return $retArray; } $idArchivo = $this->input->post("idArchivo"); $nombreArchivo = $this->input->post("nombreArchivo"); $filePath = './uploads/' . $nombreArchivo; $sql = "DELETE FROM ARCHIVOS\r\n\t\t\tWHERE idArchivo = " . $idArchivo; $query = $this->db->query($sql); if (!$query) { $retArray["status"] = $this->db->_error_number(); $retArray["msg"] = database_error_msg() != "" ? database_error_msg() : $this->db->_error_message(); } else { unlink($filePath); } return $retArray; }
function getSolicitudCliente($idPeticion = NULL) { $retArray = array("status" => 0, "msg" => "", "data" => array()); $this->load->database(); //Verificando correcta conexi�n a la base de datos if (!$this->db->conn_id) { $retArray["status"] = 2; $retArray["msg"] = database_cn_error_msg(); return $retArray; } //array con la clave de la solicitud -> anioSolicitud-correlAnio $solicitudIds = is_null($idPeticion) ? explode("-", $this->input->post("idSolicitud")) : explode("-", $idPeticion); $query = "SELECT\n\t\t\t\t\ts.tituloSolicitud titulo,\n\t\t\t\t\ts.fechaEntrada fechaIngreso,\n\t\t\t\t\tdate_format(s.fechaSalida, '%Y-%m-%d') fechaFinEsperada,\n\t\t\t\t\tCONCAT_WS(' ', u.primerNombre, u.otrosNombres, u.primerApellido, u.otrosApellidos) cliente,\n\t\t\t\t\ts.descripcionSolicitud descripcion,\n\t\t\t\t\ta.fechaInicioPlan fechaAtencion,\n\t\t\t\t\tdate_format(s.fechaRealConclusion, '%Y-%m-%d') fechaSalida,\n\t\t\t\t\tP.progreso progreso\n\t\t\t\tFROM SOLICITUD s\n\t\t\t\tLEFT JOIN ACTIVIDAD a ON (a.anioSolicitud = s.anioSolicitud AND a.correlAnio = s.correlAnio)\n\t\t\t\tLEFT JOIN BITACORA b ON (b.idActividad = a.idActividad)\n\t\t\t\tINNER JOIN USUARIO_SOLICITUD us ON (us.anioSolicitud = s.anioSolicitud AND us.correlAnio = s.correlAnio)\n\t\t\t\tINNER JOIN USUARIO u ON (u.idUsuario = us.idUsuario)\n\t\t\t\tINNER JOIN ((select TRUNCATE(AVG(progreso), 0) progreso from (\n\t\t\t\t\t\t\tselect progreso from BITACORA b inner join (select idActividad, max(ultimoRegistro) ultimo from BITACORA where idActividad IN (select idActividad from ACTIVIDAD where anioSolicitud = ? and correlAnio = ?) group by idActividad) pro\n\t\t\t\t\t\t\ton b.idActividad = pro.idActividad and b.ultimoRegistro = pro.ultimo) progress)) P\n\t\t\t\tWHERE s.anioSolicitud = ? AND s.correlAnio = ? AND esAutor = 1\n\t\t\t\tGROUP BY s.tituloSolicitud, s.fechaEntrada, s.descripcionSolicitud, a.fechaInicioPlan"; $result = $this->db->query($query, array($solicitudIds[0], $solicitudIds[1], $solicitudIds[0], $solicitudIds[1])); $solicitudes = array(); if ($result) { if ($result->num_rows() > 0) { foreach ($result->result() as $row) { $retArray["data"][] = $row; } } else { $retArray["status"] = 2; $retArray["msg"] = "Esta solicitud aún no ha sido asignada."; } } else { $retArray["status"] = $this->db->_error_number(); $retArray["msg"] = database_error_msg() != "" ? database_error_msg() : $this->db->_error_message(); } return $retArray; }
function read() { $retArray = array("status" => 0, "msg" => "", "data" => array()); $this->load->database(); //Verificando correcta conexión a la base de datos if (!$this->db->conn_id) { $retArray["status"] = 2; $retArray["msg"] = database_cn_error_msg(); return $retArray; } $idTipo = $this->input->post("idTipo"); $sql = "SELECT nombreTipoEstado FROM TIPO_ESTADO WHERE idTipoEstado = " . $idTipo; $query = $this->db->query($sql); if ($query) { $row = $query->row_array(); $retArray["data"] = $row; } else { $retArray["status"] = $this->db->_error_number(); $retArray["msg"] = database_error_msg() != "" ? database_error_msg() : $this->db->_error_message(); } return $retArray; }
function actividadhNoProyProcActividades() { $retArray = array("status" => 0, "msg" => "", "data" => array()); $this->load->database(); //Verificando correcta conexi�n a la base de datos if (!$this->db->conn_id) { $retArray["status"] = 2; $retArray["msg"] = database_cn_error_msg(); return $retArray; } $sql = "select idActividad, nombreActividad from ACTIVIDAD where idActividad not in (select idActividad from ACTIVIDAD_PROYECTO) AND idProceso IS NULL"; $query = $this->db->query($sql); if ($query) { if ($query->num_rows > 0) { foreach ($query->result() as $row) { $rowArray = array(); $rowArray["id"] = $row->idActividad; $rowArray["value"] = $row->nombreActividad; $retArray["data"][] = $rowArray; } } } else { $retArray["status"] = $this->db->_error_number(); $retArray["msg"] = database_error_msg() != "" ? database_error_msg() : $this->db->_error_message(); } return $retArray; }