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

class Vencimientos extends MY_Controller {

    public function __construct() {
        parent::__construct();
        $this->load->model('logistica/Vencimientos_model');
        $this->load->model('configuracion/Empresa_model');
    }

    public function index() {
        $this->validar_permiso('vencimientos_ver');

        $dias        = $this->input->get('dias', TRUE) ?: 30;
        $proveedor_id = $this->input->get('proveedor_id', TRUE) ?: null;

        $vencidos    = $this->Vencimientos_model->listar_vencidos($proveedor_id);
        $por_vencer  = $this->Vencimientos_model->listar($dias, $proveedor_id);
        $proveedores = $this->Vencimientos_model->listar_proveedores_con_deuda();

        // Totales
        $total_vencido   = array_sum(array_column(array_map(function($i){ return (array)$i; }, $vencidos), 'saldo'));
        $total_por_vencer = array_sum(array_column(array_map(function($i){ return (array)$i; }, $por_vencer), 'saldo'));

        $data['titulo']           = 'Vencimientos de Cuentas por Pagar';
        $data['vencidos']         = $vencidos;
        $data['por_vencer']       = $por_vencer;
        $data['proveedores']      = $proveedores;
        $data['dias']             = $dias;
        $data['proveedor_id']     = $proveedor_id;
        $data['total_vencido']    = $total_vencido;
        $data['total_por_vencer'] = $total_por_vencer;
        $data['fecha_reporte']    = date('d/m/Y H:i');
        $data['empresa']          = $this->Empresa_model->obtener_activa();

        $this->layout('logistica/vencimientos/index', $data);
    }
}