<?php
class Panel extends MY_Controller
{

function __construct(){
	parent::__construct();
	$this->load->model('panel_model');
}

function acceso_restringido() {
	$data['content']='acceso_restringido';
	$this->load->view('v_content',$data);
}

function check_access () {
	$this->load->library('sec_validation');
	$result = $this->sec_validation->login_check_access($this->session->userdata('usuario_id'),$this->router->fetch_class(),$this->router->fetch_method());
	if (!$result) {
	$this->session->set_flashdata('message_error', 'Acceso Restringido=>'.$this->router->fetch_class()."/".$this->router->fetch_method());
	redirect('usuarios/acceso_restringido');
	}
}

function index(){
	$this->lista();
	}

function calcular_proximo_dia($fecha, $cantidad) {

$tmpDate = $fecha;

$this->load->model('holidays_model');
$holidays = $this->holidays_model->get_holidays_dates();

$i = $cantidad;

$nextBusinessDay = date('Y-m-d', strtotime($tmpDate . ' +' . $i . ' Weekday'));
//echo "Primero=>".$nextBusinessDay;

while (in_array($nextBusinessDay, $holidays)) {
    $i--;
    $nextBusinessDay = date('Y-m-d', strtotime($tmpDate . ' +' . $i . ' Weekday'));
}
	//echo "Segundo=>".$nextBusinessDay;
	return $nextBusinessDay	;
}



function lista(){
	// Valida Acceso
	$this->check_access();

	//Cambio de Zona Horaria
	date_default_timezone_set ('America/Argentina/Buenos_Aires' );
	$hoy = date( 'Y-m-d');//, strtotime ( '-3 days' ));
	/*
	echo "Dia Base=>".$hoy;
	echo "Vencidos-3=>".$this->calcular_proximo_dia($hoy,'-3');
	echo "Ven_hoy-2=>".$this->calcular_proximo_dia($hoy,'-2');
	echo "Ven_man-1=>".$this->calcular_proximo_dia($hoy,'-1');
	*/

	//Abiertos No Informados
	$data['casos_abiertos_no_informados'] = $this->panel_model->get_cases_total_by_status('Abierto No Informado');

	$fecha_vencidos = date('Y-m-d', strtotime($this->calcular_proximo_dia($hoy,'-3'). ' + 1 days'));
	$fecha_ven_hoy = $this->calcular_proximo_dia($hoy,'-2'); //date( 'Y-m-d H:i:s' , strtotime ( '-1 weekdays' ));
	$fecha_ven_man = $this->calcular_proximo_dia($hoy,'-1'); //date( 'Y-m-d');
	$fecha_ven_man_1 = date('Y-m-d', strtotime($fecha_ven_man.' + 1 days'));

	$data['casos_abiertos_no_informados_vencidos'] = $this->panel_model->get_cases_total_by_status('Abierto No Informado',null, $fecha_vencidos);
	//echo "<br>".$this->db->last_query();
	$data['casos_abiertos_no_informados_ven_hoy'] = $this->panel_model->get_cases_total_by_status('Abierto No Informado',$fecha_ven_hoy,$fecha_ven_man);
	//echo "<br>".$this->db->last_query();
	$data['casos_abiertos_no_informados_ven_24'] = $this->panel_model->get_cases_total_by_status('Abierto No Informado',$fecha_ven_man,$fecha_ven_man_1);
	//echo "<br>".$this->db->last_query();
	$data['casos_abiertos_no_informados_ven_48'] = $this->panel_model->get_cases_total_by_status('Abierto No Informado',$fecha_ven_man_1);
	//echo "<br>".$this->db->last_query();


	$data['casos_abiertos_informados'] = $this->panel_model->get_cases_total_by_status('Abierto Informado');
	$data['casos_cerrados'] = $this->panel_model->get_cases_total_by_status('Cerrado',date("Y-m-d"));
	$data['casos_nuevos'] = $this->panel_model->get_cases_total_by_status(null, date("Y-m-d"));

	$data['casos_contacto_pendiente'] = $this->panel_model->get_cases_total_by_status('Contacto Pendiente');
	$data['casos_contacto_pendiente_sos'] = $this->panel_model->get_cases_total_by_status('Contacto Pendiente',null,null,'SOS');

	$data['solicitudes_nuevas'] = $this->panel_model->get_requests_total_by_status('N');
	$data['solicitudes_nuevas_sos'] = $this->panel_model->get_requests_total_by_status('N',null,null,'SOS');

	//echo $this->db->last_query();
	$data['casos_meses_anteriores'] = $this->panel_model->get_cases_last_months();
	$data['content']='panel/lista';
	$this->load->view('v_content',$data);


	}

}
