File: /var/www/gestor-horarios.bradford/app/models/trabajadores_model.php
<?php
defined('BASEPATH') or exit('No direct script access allowed');
class Trabajadores_model extends CI_Model
{
public function getTrabajadores($where = array(), $select = '')
{
$select = trim($select);
if (!empty($select)) {
$this->db->select($select);
}
if (!empty($where)) {
$this->db->where($where);
} else {
$this->db->where("eliminado", 0);
}
$this->db->from("trabajadores");
$this->db->order_by("nombres", "asc");
$resultado = $this->db->get();
return $resultado->result();
}
public function getPerfiles($where = array())
{
if (!empty($where)) {
$this->db->where($where);
}
$this->db->from("perfiles");
$this->db->order_by("nombre", "asc");
$resultado = $this->db->get();
return $resultado->result();
}
public function getTrabajador($id)
{
$this->db->where("id", $id);
$resultado = $this->db->get("trabajadores");
return $resultado->row();
}
public function getTrabajadorWhere($where, $select = '')
{
$select = trim($select);
if (!empty($select)) {
$this->db->select($select);
}
$this->db->where($where);
$resultado = $this->db->get("trabajadores");
return $resultado->row();
}
public function buscaEmail($email, $where)
{
$this->db->from("trabajadores");
$this->db->where($where);
$this->db->like("email", "$email");
$results = $this->db->get();
return $results->row();
}
public function update($data, $id)
{
$this->db->where("id", $id);
return $this->db->update("trabajadores", $data);
}
public function delete($data, $where)
{
$this->db->where($where);
return $this->db->update("trabajadores", $data);
}
public function insert($data)
{
$insert = $this->db->insert('trabajadores', $data);
if ($insert) {
return $this->db->insert_id();
} else {
return false;
}
}
public function getTrabajadoresInfo($where, $resultado_tipo = '')
{
if (!empty($where)) {
$where = 'WHERE ' . $where;
} else {
$where = 'WHERE eliminado = 0';
}
$query = $this->db->query("SELECT t.id, t.nombres, t.apellido_p, t.apellido_m, t.fecha_nacimiento,
t.sexo, t.nacionalidad, t.es_jefe, t.jefe_id,
CONCAT(IFNULL(t.nombres,'N/A'), ' ', t.apellido_p, ' ', t.apellido_m) AS nombre_evaludor,
CASE WHEN t.jefe_id > 0 THEN CONCAT(IFNULL(j.nombres,'N/A'), ' ', j.apellido_p, ' ', j.apellido_m)
ELSE 'N/A'
END AS nombre_jefe, UPPER(u.nombre) AS nom_area, UPPER(c.nombre) AS cargo, UPPER(s.nombre) AS sucusal
FROM trabajadores t
LEFT JOIN unidades u ON t.unidades_id = u.id
LEFT JOIN trabajadores j ON t.jefe_id = j.id
LEFT JOIN cargos c ON t.cargos_id = c.id
LEFT JOIN sucursales s ON t.sucursales_id = s.id
$where");
if (trim(strtolower($resultado_tipo)) == 'row') {
return $query->row();
} else {
return $query->result();
}
}
}