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

class Empresa_model extends CI_Model {

    public function listar() {
        return $this->db
            ->order_by('id', 'DESC')
            ->get('empresa')
            ->result();
    }

    public function obtener($id) {
        return $this->db
            ->where('id', $id)
            ->get('empresa')
            ->row();
    }

    public function insertar($data) {
        $this->db->insert('empresa', $data);
        return $this->db->insert_id();
    }

    public function actualizar($id, $data) {
        return $this->db
            ->where('id', $id)
            ->update('empresa', $data);
    }

    public function cambiarEstado($id, $estado, $usuario_id = null) {
        return $this->db
            ->where('id', $id)
            ->update('empresa', array(
                'estado'     => $estado,
                'updated_at' => date('Y-m-d H:i:s'),
                'updated_by' => $usuario_id,
            ));
    }

    public function existe_ruc($ruc, $id = null) {
        $this->db->where('ruc', $ruc);
        if ($id !== null) {
            $this->db->where('id !=', $id);
        }
        return $this->db->get('empresa')->num_rows() > 0;
    }

    public function obtener_activa() {
        return $this->db
            ->where('estado', 1)
            ->order_by('id', 'ASC')
            ->get('empresa')
            ->row();
    }

    public function obtener_sucursales_activas($empresa_id) {
        return $this->db
            ->where('empresa_id', $empresa_id)
            ->order_by('id', 'ASC')
            ->get('empresa_detalle')
            ->result();
    }
}
