Example #1
0
 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;
 }
Example #2
0
 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;
 }
Example #4
0
 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;
 }
Example #5
0
 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;
 }
Example #6
0
 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;
 }
Example #7
0
 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;
 }
Example #8
0
 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;
 }
Example #9
0
 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&uacute;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;
 }
Example #10
0
 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;
 }
Example #11
0
 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;
 }