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

class Comparativo_fuente extends CI_Controller {

  public function __construct() {
    parent::__construct();
    if($this->session->userdata('logged_in') == FALSE){
      redirect('login/index/error_no_autenticado');
    }
    $this->load->helper(array('form', 'paginacion'));
    $this->load->library('table');
    $this->load->model(array('Bodega/Kardex_model'));
  }

  public function RecibirDato() {
    $fecha_actual=date($anyo."y-m-d");
    if ($this->input->post('anio')!=NULL ) {
        redirect('Estrategico/Comparativo_fuente/Reporte/'.$this->input->post('anio').'/');
    } else {
        redirect('Estrategico/Comparativo_fuente/Reporte');
    }
  }

  public function Reporte(){

    $USER = $this->session->userdata('logged_in');
    $data['title'] = "Comparativo de gastos por fuente de fondo";
    $data['menu'] = $this->menu_dinamico->menus($this->session->userdata('logged_in'),$this->uri->segment(1));
    $data['js'] = 'assets/js/validate/reporte/comparativo.js';
    $table = '';
    if (($this->uri->segment(4))!=NULL) {
      $template = array(
          'table_open' => '<table class="table table-striped table-bordered">'
      );
      $this->table->set_template($template);
      $this->table->set_empty("&nbsp;");
      $column = 1;

      $cell = array('');
      $head = array('Fuente de Fondo');
      $comp = array();

      for ($i=0; $i < $this->uri->segment(4); $i++) {
        $cell[$i+1] = array('data' => date('Y') - $i, 'colspan' => 2);
        array_push($head, 'Cantidad', 'Saldo');

        $registros = $this->Kardex_model->comparacionFuenteFondo(date('Y') - $i);

        if (!($registros == FALSE)) {

          foreach($registros as $fuente) {
            if ($i == 0) {
              $fila = array($fuente->nombre_fuente, number_format($fuente->cantidad), '$' . number_format($fuente->saldo, 3));
              $fila = $this->reñenarEspacio($fila, $this->uri->segment(4) - 1);
              array_push($comp, $fila);
            } else {

              for ($k=0; $k < count($comp); $k++) {
                if ($comp[$k][0] == $fuente->nombre_fuente) {
                  $comp[$k][$i * 2 + 1] = number_format($fuente->cantidad);
                  $comp[$k][$i * 2 + 2] = '$' . number_format($fuente->saldo, 3);
                  $k = count($comp);
                } else {
                  $fila = array($fuente->nombre_fuente);
                  $fila = $this->reñenarEspacio($fila, $i);
                  array_push($fila, number_format($fuente->cantidad), '$' . number_format($fuente->saldo, 3));
                  $fila = $this->reñenarEspacio($fila, $this->uri->segment(4) - $i - 1);
                  array_push($comp, $fila);
                  $k = count($comp);
                }
              }

            }

          }

        } else {
          // $msg = array('data' => "No se encontraron resultados", 'colspan' => $column);
          // $this->table->add_row($msg);
        }
      }

      $this->table->set_heading($cell);
      $this->table->add_row($head);

      $table =  "<div class='content_table '>" .
                "<div class='limit-content-title'>".
                  "<div class='title-reporte'>".
                    "Cuadro comparativo de gastos por fuente de fondo por año.".
                  "</div>".
                  "<div class='title-header'>
                    <ul>
                      <li>Fecha emisión: ".date('d/m/Y')."</li>
                      <li>Nombre la compañia: MTPS</li>
                      <li>N° pagina: 1/1</li>
                      <li>Nombre pantalla:</li>
                      <li>Usuario: ".$USER['nombre_completo']."</li>
                      <br />
                      <li>Parametros: ".$this->uri->segment(4)."</li>
                    </ul>
                  </div>".
                "</div>".
                "<div class='limit-content'>" .
                "<div class='exportar'><a href='".base_url('/index.php/Estrategico/Comparativo_fuente/ReporteExcel/'.$this->uri->segment(4).'/')."'
                class='icono icon-file-excel'>Exportar Excel</a></div>" .
                "<div class='table-responsive'>" . $this->table->generate($comp) . "</div></div></div>";

      $data['body'] = $table;

    } else {

      $data['body'] = $this->load->view('Estrategico/comparativo_fuente_view', array('user' =>  $this->session->userdata('logged_in')), TRUE);

    }

    $this->load->view('base', $data);
  }

  public function reñenarEspacio($array, $anios) {<commit_msg>cambios parametros comparativo fuente<commit_after><?php
defined('BASEPATH') OR exit('No direct script access allowed');

class Comparativo_fuente extends CI_Controller {

  public function __construct() {
    parent::__construct();
    if($this->session->userdata('logged_in') == FALSE){
      redirect('login/index/error_no_autenticado');
    }
    $this->load->helper(array('form', 'paginacion'));
    $this->load->library('table');
    $this->load->model(array('Bodega/Kardex_model'));
  }

  public function RecibirDato() {
    $fecha_actual=date($anyo."y-m-d");
    if ($this->input->post('anio')!=NULL ) {
        redirect('Estrategico/Comparativo_fuente/Reporte/'.$this->input->post('anio').'/');
    } else {
        redirect('Estrategico/Comparativo_fuente/Reporte');
    }
  }

  public function Reporte(){

    $USER = $this->session->userdata('logged_in');
    $data['title'] = "Comparativo de gastos por fuente de fondo";
    $data['menu'] = $this->menu_dinamico->menus($this->session->userdata('logged_in'),$this->uri->segment(1));
    $data['js'] = 'assets/js/validate/reporte/comparativo.js';
    $table = '';
    if (($this->uri->segment(4))!=NULL) {
      $template = array(
          'table_open' => '<table class="table table-striped table-bordered">'
      );
      $this->table->set_template($template);
      $this->table->set_empty("&nbsp;");
      $column = 1;

      $cell = array('');
      $head = array('Fuente de Fondo');
      $comp = array();

      for ($i=0; $i < $this->uri->segment(4); $i++) {
        $cell[$i+1] = array('data' => date('Y') - $i, 'colspan' => 2);
        array_push($head, 'Cantidad', 'Saldo');

        $registros = $this->Kardex_model->comparacionFuenteFondo(date('Y') - $i);

        if (!($registros == FALSE)) {

          foreach($registros as $fuente) {
            if ($i == 0) {
              $fila = array($fuente->nombre_fuente, number_format($fuente->cantidad), '$' . number_format($fuente->saldo, 3));
              $fila = $this->reñenarEspacio($fila, $this->uri->segment(4) - 1);
              array_push($comp, $fila);
            } else {

              for ($k=0; $k < count($comp); $k++) {
                if ($comp[$k][0] == $fuente->nombre_fuente) {
                  $comp[$k][$i * 2 + 1] = number_format($fuente->cantidad);
                  $comp[$k][$i * 2 + 2] = '$' . number_format($fuente->saldo, 3);
                  $k = count($comp);
                } else {
                  $fila = array($fuente->nombre_fuente);
                  $fila = $this->reñenarEspacio($fila, $i);
                  array_push($fila, number_format($fuente->cantidad), '$' . number_format($fuente->saldo, 3));
                  $fila = $this->reñenarEspacio($fila, $this->uri->segment(4) - $i - 1);
                  array_push($comp, $fila);
                  $k = count($comp);
                }
              }

            }

          }

        } else {
          // $msg = array('data' => "No se encontraron resultados", 'colspan' => $column);
          // $this->table->add_row($msg);
        }
      }

      $this->table->set_heading($cell);
      $this->table->add_row($head);

      $table =  "<div class='content_table '>" .
                "<div class='limit-content-title'>".
                  "<div class='title-reporte'>".
                    "Cuadro comparativo de gastos por fuente de fondo por año.".
                  "</div>".
                  "<div class='title-header'>
                    <ul>
                      <li>Fecha emisión: ".date('d/m/Y')."</li>
                      <li>Nombre la compañia: MTPS</li>
                      <li>N° pagina: 1/1</li>
                      <li>Nombre pantalla:</li>
                      <li>Usuario: ".$USER['nombre_completo']."</li>
                      <br />
                      <li>Parametros: ".$this->uri->segment(4)." años</li>
                    </ul>
                  </div>".
                "</div>".
                "<div class='limit-content'>" .
                "<div class='exportar'><a href='".base_url('/index.php/Estrategico/Comparativo_fuente/ReporteExcel/'.$this->uri->segment(4).'/')."'
                class='icono icon-file-excel'>Exportar Excel</a></div>" .
                "<div class='table-responsive'>" . $this->table->generate($comp) . "</div></div></div>";

      $data['body'] = $table;

    } else {

      $data['body'] = $this->load->view('Estrategico/comparativo_fuente_view', array('user' =>  $this->session->userdata('logged_in')), TRUE);

    }

    $this->load->view('base', $data);
  }

  public function reñenarEspacio($array, $anios) {
{'fraction_non_alphanumeric': 0.2004129985871101, 'fraction_numerical': 0.005434191935659168, 'mean_word_length': 2.064269064269064, 'pattern_counts': {'":': 0, '<': 73, '<?xml version=': 0, '>': 207, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '4737652', 'n_tokens_mistral': 3113, 'n_tokens_neox': 2989, 'n_words': 456}