File: /var/www/gestor-horarios.bradford/app/models/admin_model.php
<?php
class admin_model extends CI_Model
{
function __construct()
{
parent::__construct();
//$this->sqlsap = $this->load->database('sqlsap',TRUE);
}
function traerInformesPorEstado($estados=array())
{
$this->db->select('c.id clientes_id, c.nombres, c.rut, c.estados_id,
i.id informes_id, i.archivo_centralizacion,
p.id periodos_id,
e.nombre estado'); //co.cuotas, co.saldo_total, co.ciudad, co.sucursal,
$this->db->from('clientes c');
$this->db->join('informes i','i.clientes_id = c.id');
$this->db->join('periodos p','p.id = i.periodos_id', LEFT);
$this->db->join('estados e','e.id = c.estados_id', LEFT);
$this->db->where('c.estados_id >=', $estados[0]);
$this->db->where('c.estados_id <=', $estados[1]);
$this->db->where('p.activo', TRUE);
$this->db->order_by('c.rut', DESC);
$query = $this->db->get();
return $query->result();
}
function traer_clientes($filtros)
{
//pre($filtros);
/*$this->db->select('c.id,c.rut,c.nombres,c.activo as activo, c.create_time, c.periodos_id,
co.ciudad, co.sucursal, co.cuotas, co.saldo_total,
u.nombre responsable');*/
$this->db->select('c.id, c.rut, c.nombres, c.activo , co.ciudad, co.sucursal, sum(co.cuotas) cuotas, sum(co.saldo) saldo_total, u.nombre responsable, c.cartera, c.pond_total');
//$this->db->select('*');
$this->db->from('clientes c');
$this->db->join('contratos co','c.id = co.clientes_id');
$this->db->join('usuarios u','u.id = c.usuarios_id', 'LEFT');
if($filtros['rut'] != 'todos'){
//$this->db->where('c.id', $filtros['rut']);
}
if($filtros['cartera'] != 'todos'){
$this->db->where('c.cartera', $filtros['cartera']);
}
if($filtros['responsable'] == 'ninguno'){
$this->db->where('c.usuarios_id is NULL', NULL, FALSE);
}else if($filtros['responsable'] == 'todos'){
//$this->db->where('c.usuarios_id is not NULL', NULL, FALSE);
}else {
$this->db->where('c.usuarios_id', $filtros['responsable']);
}
if($filtros['ciudad'] != 'todos'){
//$this->db->where('co.ciudad', $filtros['ciudad']);
}
if($filtros['sucursal'] != 'todos'){
//$this->db->where('co.sucursal', $filtros['sucursal']);
}
$this->db->group_by('c.id, c.rut, c.nombres, c.activo , co.ciudad, co.sucursal, c.periodos_id, u.nombre, , c.cartera, c.pond_total');
if($filtros['cuotas'] != 'todas'){
$this->db->having('sum(co.cuotas_vencidas)', $filtros['cuotas']);
}
if(!empty($filtros['total_desde'])){
$this->db->having('sum(co.saldo_vencido) >=', $filtros['total_desde']);
}
if(!empty($filtros['total_hasta'])){
$this->db->having('sum(co.saldo_vencido) <=', $filtros['total_hasta']);
}
$this->db->order_by('pond_total', 'DESC');
//$this->db->limit(100);
$query = $this->db->get();
return $query->result();
}
}