HEX
Server: Apache/2.4.58 (Ubuntu)
System: Linux Bradford-Sitios 6.14.0-1017-azure #17~24.04.1-Ubuntu SMP Mon Dec 1 20:10:50 UTC 2025 x86_64
User: www-data (33)
PHP: 7.4.33
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
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();
        }
		
    }