<?php 
    Session::init(); 
    $ver = (Session::get('rol') == 4) ? '' :  header('location: ' . URL . 'err/danger'); 
    $ver = (Session::get('bloqueo') == 0 OR Session::get('bloqueo') == null) ? '' :  header('location: ' . URL . 'err/bloqueo');
?>
<?php

class Produccion extends Controller {

	function __construct() {
		parent::__construct();	
	}

    private function notificarActualizacionCocina()
    {
        try {
            $notifier = new Notificacion();
            $notifier->notificarProduccionTiempoReal([
                'timestamp' => time(),
                'origen' => 'produccion'
            ]);
        } catch (\Throwable $e) {
            error_log("Error al notificar produccion en tiempo real: " . $e->getMessage());
        }
    }
	
	function index() 
	{	
        $this->view->title_page = 'Área de Producción';
		$this->view->js = array('produccion/js/func_produccion.js');
		$this->view->render('produccion/index',false);
	}

	function mesas_list(){
        print_r(json_encode($this->model->mesas_list()));
    }

    function mostrador_list(){
        print_r(json_encode($this->model->mostrador_list()));
    }

    function delivery_list(){
        print_r(json_encode($this->model->delivery_list()));
    }

    function panel_data(){
        print_r(json_encode($this->model->panel_data()));
    }

    function agrupacion_platos_list(){
        print_r(json_encode($this->model->agrupacion_platos_list()));
    }

    function agrupacion_platos_detalle(){
        print_r(json_encode($this->model->agrupacion_platos_detalle($_POST)));
    }

    function agrupacion_pedidos_list(){
        print_r(json_encode($this->model->agrupacion_pedidos_list()));
    }

    function agrupacion_pedidos_detalle(){
        print_r(json_encode($this->model->agrupacion_pedidos_detalle($_POST)));
    }

    function preparacion(){
        print_r(json_encode($this->model->preparacion($_POST)));
        $this->notificarActualizacionCocina();
    }

    function atendido(){
        print_r(json_encode($this->model->atendido($_POST)));
        $this->notificarActualizacionCocina();
    }

    function atendidopormesa(){
        print_r(json_encode($this->model->atendidopormesa($_POST)));
        $this->notificarActualizacionCocina();
    }
		
}
