<?php
defined('BASEPATH') OR exit('No direct script access allowed');

class Numeros_economicos_model extends CI_Model {
    
    public function __construct() {
        parent::__construct();
        $this->load->database();
        $this->table = 'numeros_economicos';
    }
    
    public function buscar_numeros_economicos($filtros) {
        // Verificamos primero qué columnas existen en la tabla
        $columnas = $this->db->list_fields($this->table);
        
        $select_fields = 'ne.id, ne.numero_economico, ne.status, nem.id as modalidad_id, nem.modalidad_nombre, nem.codigo';
        
        // Si existe la columna 'observacion', la incluimos en el select
        if (in_array('observacion', $columnas)) {
            $select_fields .= ', ne.observacion';
        }
        
        $this->db->select($select_fields);
        $this->db->from($this->table . ' ne');
        $this->db->join('numeros_economicos_modalidades nem', 'ne.numero_economico_modalidad_id = nem.id', 'LEFT');
        
        // Aplicar filtros
        if (!empty($filtros['numero'])) {
            $this->db->like('ne.numero_economico', $filtros['numero']);
        }
        
        if (!empty($filtros['modalidad_id'])) {
            $this->db->where('ne.numero_economico_modalidad_id', $filtros['modalidad_id']);
        }
        
        if (isset($filtros['estatus']) && $filtros['estatus'] !== '') {
            $this->db->where('ne.status', $filtros['estatus']);
        }
        
        $this->db->where('ne.status', 1); // Por defecto solo activos
        $this->db->limit(50); // Limitar resultados
        
        $result = $this->db->get();
        return $result->result_array();
    }
    
    public function get_modalidades() {
        $this->db->select('modalidad_nombre, codigo');
        $this->db->from('numeros_economicos');
        $this->db->where('status', 1);
        $this->db->order_by('modalidad_nombre', 'ASC');
        $this->db->group_by('modalidad_nombre');
        
        $result = $this->db->get();
        return $result->result_array();
    }
}