<?php
class Principal extends CI_Controller
{
	private $_template;
	protected $_fechaActual;
	protected $_iduser;
	protected $_csstyle;
	protected $_jss;	
	protected $idLicencia;
	protected $idRol;
	protected $matriz;
	
	function __construct()
	{
		parent::__construct();
		
		#if(!$this->redux_auth->logged_in())
		#{
 		#	redirect(base_url().'login');
 		#}
		
		if($this->session->userdata('id')=="")
		{
 			redirect(base_url().'login');
 		} 		 		
        
		$this->config->load('style', TRUE);
		$this->config->load('js',TRUE);
		
		$datestring   			= "%Y-%m-%d %H:%i:%s";
		$this->_fechaActual 	= mdate($datestring,now());
	    $this->_iduser 			= $this->session->userdata('id');
		$this->idLicencia 		= $this->session->userdata('idLicencia');
		$this->_csstyle 		= $this->config->item('style');
		$this->_jss				= $this->config->item('js');
		
		$this->idRol 			= $this->session->userdata('rol');
		$this->matriz 			= $this->session->userdata('matriz');
		
		$this->load->model("modelousuario","modelousuario");
		$this->load->model("modelo_configuracion","configuracion");
		$this->load->model("inventarioproductos_modelo","inventario");
		$this->load->model("produccion_modelo","produccion");
		$this->load->model("ventas_model","ventas");
		
		/*if($this->session->userdata('sucursalActiva') !=sucursalActiva )
		{
 			redirect(base_url().'login/logout');
 		}*/
 	}
	
	public function formularioGraficaUnidades()
	{
		echo'
		<div class="ui-state-default" style="height:40px">
			Agregar producto
			<input type="text"  name="txtBusquedas" id="txtBusquedas" class="cajas"   
			onkeyup="buscarDato(this.value,\'productosGraficas\');" onblur="datoEncontrado();" style="width:400px;"/>
			<input type="hidden"  name="selectClientes" id="selectClientes" value="0" />
			<div align="left" class="suggestionsBox" id="listaInformacion" style="display: none; position:absolute; margin-left:35%; width:250px">
			<img src="'.base_url().'img/upArrow.png" style="position: relative; top: -12px; left: 30px;" />
			<div class="suggestionList" id="autoListaInformacion">
			&nbsp;
			</div>
			</div>
		</div>
		<br />
	
		<table id="tablaGraficaUnidades" class="admintable" width="99%">
			<tr>
				<th width="8%">#</th>
				<th>Nombre</th>
			</tr>
		</table>';	
	}
	
	public function graficarUnidades()
	{
		if(!empty($_POST))
		{
			$ventas=$this->ventas->obtenerVentasUnidades();
			
			if($ventas==null)
			{
				echo "0";
			}
			else
			{
				$data['ventas']=$ventas;
				$this->load->view('graficaUnidades',$data);
				
				/*$i=0;
				
				echo'<script>
				
				
				$(function () 
				{
					 var data = [];';
				
					foreach($ventas as $row)
					{
						echo ' data['.$i.'] = { label: "'.$row->nombre.'('.$row->cantidad .' unidades)", data: '.$row->cantidad.'} ';
						$i++;
					}
		
					
					echo '
					
					$.plot($("#graficona"), data, 
					{
						series: 
						{
							pie: 
							{ 
								show: true
							}
						}
					});
				})';
				
				echo'</script>
				<div>Jajajajjaja</div>
				<div id="graficona"></div>'; */
			}
		}
	}
	
	public function tableroControl($fecha)
	{
		if($this->matriz=='1')
		{
			redirect('reportes/lista','refresh');
		}
		
		set_time_limit(0); 
		ini_set("memory_limit","1500M");
		
		$Data['title']			= "Panel de Administración";	
		$Data['cassadmin']		= $this->_csstyle["cassadmin"];
		$Data['csmenu']			= $this->_csstyle["csmenu"];
		$Data['csui']			= $this->_csstyle["csui"];
		$Data['csvalidate']		= $this->_csstyle["csvalidate"];
		$Data['Jry']			= $this->_jss['jquery'];	  	 	
		$Data['Jqui']			= $this->_jss['jqueryui'];   
		$Data['Jquical']		= $this->_jss['jquerycal'];
		$Data['nameusuario']	= $this->modelousuario->getUsuarios($this->_iduser);
		$Data['Fecha_actual']	= $this->_fechaActual;
		#$Data['ventas'] 		= $this->ventas->obtenerVentasUnidades();
		#$Data['productos'] 		= $this->inventario->obtenerProductosGraficas();
		$Data['menuActivo'] 	= 'dashboard';
		$Data['permisos']		= $this->configuracion->obtenerRolPermisos($this->session->userdata('rol'));
		
		$usuario				= $this->configuracion->obtenerUsuario($this->_iduser);
		$rol					= $this->configuracion->obtenerRol($usuario->idRol); 
		
		
		if($usuario->checador=='1')
		{
			redirect('administracion/checador','refresh');
		}
		#-------------------------------------DETECTAR LOS MENUS ACTIVOS------------------------------------------#
		
		$data['permiso']	=$this->configuracion->obtenerPermisosId('20',$this->session->userdata('rol'));
		#$data['permiso']	=$this->configuracion->obtenerPermisosId('20',$this->session->userdata('rol'));
		
		if($data['permiso']->leer=='0' and $data['permiso']->escribir=='0')
		{
			$permiso	=$this->configuracion->obtenerPermisoActivo($this->session->userdata('rol'));
			
			if($permiso!=null)
			{
				redirect($permiso->url,'refresh');
			}
			else
			{
				redirect('principal/permisosUsuario','refresh');
				return;
			}
		}
		
		$data['status']					= $this->configuracion->obtenerStatus(0);
		$data['statusErp']				= $this->configuracion->obtenerStatus(1);
		$data['statusPw']				= $this->configuracion->obtenerStatus(2);
		$data['servicios']				= $this->configuracion->obtenerServicios();
		$data['responsables']			= $this->configuracion->obtenerResponsables();
		$data['idUsuario']				= $this->_iduser;
		$data['idLicencia']				= $this->idLicencia;
		$data['idRol']					= $this->idRol;
		$data['permisoCotizaciones']	= $this->idRol!=1?$this->configuracion->comprobarPermisoAsignado($this->_iduser,46):1;
		$data['permisoVentas']			= $this->idRol!=1?$this->configuracion->comprobarPermisoAsignado($this->_iduser,47):1;
		$data['formas']					= $this->configuracion->obtenerFormas();
		
		$this->load->view("cabezera",$Data);
		$this->load->view('header',$Data);
		$this->load->view("principal",$Data);
		$this->load->view('tableroControlNuevo',$data);
		$this->load->view("pie",$Data);		
	}
	
	public function index($anio)
	{
		$Data['title']				= "Panel de Administración";	
		$Data['cassadmin']			= $this->_csstyle["cassadmin"];
		$Data['csmenu']				= $this->_csstyle["csmenu"];
		$Data['csui']				= $this->_csstyle["csui"];
		$Data['csvalidate']			= $this->_csstyle["csvalidate"];
		$Data['Jry']				= $this->_jss['jquery'];	  	 	
		$Data['Jqui']				= $this->_jss['jqueryui'];   
		$Data['nameusuario']		= $this->modelousuario->getUsuarios($this->_iduser);
		$Data['Fecha_actual']		= $this->_fechaActual;
		$Data['ventas'] 			= $this->ventas->obtenerVentasUnidades();
		$Data['productos'] 			= $this->inventario->obtenerProductosGraficas();
		$Data['menuActivo'] 		= 'inicio';
		
		$usuario					= $this->configuracion->obtenerUsuario($this->_iduser);
		$rol						= $this->configuracion->obtenerRol($usuario->idRol); // Obtener el rol para mostrar o no las graficas
		
		$this->session->set_userdata('rol',$usuario->idRol);
		$this->session->set_userdata('nombreUsuarioSesion',$usuario->nombre.' '.$usuario->apellidoPaterno.' '.$usuario->apellidoMaterno);
		$this->session->set_userdata('usuarioActivo',$usuario->usuario);
		$this->session->set_userdata('superAdministradorProducsoft',$usuario->superAdmin);
		$idRemision="0";
 		$this->session->set_userdata('idCotizacionRemision',$idRemision);
		
		$idFactura="0";
		$this->session->set_userdata('idFacturaImpresion',$idFactura);
		
		
		
		$this->session->set_userdata('idTiendaActiva','0');
		$this->session->set_userdata('nombreTiendaActiva','');
		$this->session->set_userdata('usuarioTienda','0');
		
		if($usuario->tienda!="0")
		{
			$tienda	= $this->configuracion->obtenerTienda($usuario->id);
			
			$this->session->set_userdata('idTiendaActiva',$tienda->idTienda);
			$this->session->set_userdata('nombreTiendaActiva',$tienda->nombre);
			$this->session->set_userdata('usuarioTienda','1');
		}
		
		$permisos		= $this->configuracion->obtenerPermisosRol($this->session->userdata('rol'));
		$permiso		= $this->configuracion->obtenerPermisosId('1',$this->session->userdata('rol'));
		
		#Criterios de ordenamiento
		$this->session->set_userdata('criterioProspectos','a');
		$this->session->set_userdata('criterioClientes','a');
		$this->session->set_userdata('criterioProductos','a');
		$this->session->set_userdata('criterioProveedores','a');
		$this->session->set_userdata('criterioMateriales','a');
		
		$this->session->set_userdata('criterioVentas','z');
		$this->session->set_userdata('criterioCompras','z');
		$this->session->set_userdata('criterioCobranza','z');
		$this->session->set_userdata('criterioFacturas','a');
		$this->session->set_userdata('criteriIngresos','a');
		$this->session->set_userdata('criterioEgresos','a');
		
		$row=$this->configuracion->obtenerConfiguracion();
		
		$this->session->set_userdata('iva',$row['factor']); 
		$this->session->set_userdata('nombreEmpresa',$row['nombre']); 
		$this->session->set_userdata('identificador',$row['identificador']);  
		$this->session->set_userdata('estilo',$row['color']);  
		$this->session->set_userdata('logotipo',$row['id']."_".$row['logotipo']);
		$this->session->set_userdata('codigoBorrado',$row['codigoBorrado']);   
		$this->session->set_userdata('sucursalOrigen',$row['origen']);    
		
		$this->session->set_userdata('codigoEditar',$row['codigoEditar']);   
		$this->session->set_userdata('codigoBorrar',$row['codigoBorrar']);   
		$this->session->set_userdata('codigoCobranza',$row['codigoCobranza']);
		$this->session->set_userdata('accesoUsuario',$usuario->clave);      
		
		#Facturación
		$this->session->set_userdata('serie',$row['serie']); 
		$this->session->set_userdata('folioInicio',$row['folioInicio']); 
		$this->session->set_userdata('folioFinal',$row['folioFinal']);  
		
		$fecha=$row['fechaCosto'];
		
		$this->session->set_userdata('gastoMes',substr($fecha,5,2));
		$this->session->set_userdata('gastoAnio',substr($fecha,0,4));
		
		#-------------------------------------DETECTAR LOS MENUS ACTIVOS------------------------------------------#
		
		
		if($this->matriz=='1')
		{
			redirect('reportes/lista','refresh');
		}
		
		if($permiso->leer==1 or $permiso->leer==1)
		{
			redirect('principal/tableroControl/'.date('Y-m-d'),'refresh');
			
			return;
		}
		
		/*foreach($permisos as $row)
		{
			if($row->leer==1 or $row->escribir==1)
			{
				$parametro="";
				
				switch($row->url)
				{

					case "reportes/cobranza/":
					$parametro	= date('m');
					break;
					
					case "principal/tableroControl/":
					$parametro	= date('Y-m-d');
					break;
					
					default:
					$parametro	="";
					break;
				}
				
				if($this->session->userdata('rol')==1)
				{
					redirect('principal/tableroControl/'.date('Y-m-d'),'refresh');
				}
				
				
				
				redirect($row->url.$parametro,'refresh');
			}
		}*/
		
		if($this->session->userdata('rol')==10)
		{
			redirect('reportes/ventasPublico');
		}
		else
		{
			redirect('principal/tableroControl/'.date('Y-m-d'),'refresh');
		}
				
		redirect('login/logout','refresh');
	}
	
	function admin()
	{
		if($this->idLicencia!=1)
		{
			redirect('principal/index/'.date('Y'));
		}
		
		$Data['title']= "Panel de Administración";	
		$Data['cassadmin']=$this->_csstyle["cassadmin"];
		$Data['csmenu']=$this->_csstyle["csmenu"];
		$Data['csui']=$this->_csstyle["csui"];
		$Data['Jry']=$this->_jss['jquery'];
		#$Data['JFuntInventario']=$this->_jss['JFuntInventario'];
		
		$Data['Jquical']=$this->_jss['jquerycal'];
		$Data['permisos']=$this->configuracion->obtenerRolPermisos($this->session->userdata('rol'));
		
		$Data['Jqui']=$this->_jss['jqueryui'];                  
		$Data['jFicha_cliente']=$this->_jss['jFicha_cliente'];
		$Data['nameusuario']=$this->modelousuario->getUsuarios($this->_iduser);
		$Data['Fecha_actual']=$this->_fechaActual;
		
		$data['licencias']=$this->configuracion->obtenerLicencias();
		
		$this->load->view("cabezera",$Data);
		$this->load->view('header',$Data);
		$this->load->view("principal",$Data);
		$this->load->view('admin',$data);
		$this->load->view("pie",$Data);	
	}//function
	
	public function agregarLicencia()
	{
		if(!empty($_POST))
		{
			$licencia=$this->configuracion->agregarLicencia();
			echo $licencia;
		}
	}
	
	public function graficaProduccion()
	{
		if(!empty($_POST))
		{
			$productos=$this->produccion->obtenerGraficaProduccion();
			
			$this->session->set_userdata('productosGrafica',$productos);
			
			print("1");
		}
		else
		{
			print("0");
		}
	}
	
	public function obtenerGrafica() #Las graficas se generan con datos de base de datos y un servidor externo
	{
		$productos=$this->session->userdata('productosGrafica');
		$this->session->unset_userdata('productosGrafica');
		
		for($i=0;$i<10;$i++)
		{
			$productos[$i]=str_replace(" ","%20",$productos[$i]);
			$i++;
			$productos[$i]=$productos[$i]/1000;
		}
		
		print('<iframe FRAMEBORDER="0" BORDER=0 width="420px" align="middle" height="450px"');
    	print('src="http://www.maptools.org/cgi-bin/owtchart?type=3DBar&NumSets=1&vals=');
		print($productos[1].'!'.$productos[3].'!'.$productos[5].'!'.$productos[7].'!'.$productos[9]);
		print('&numpts=5&setcolors=054258&xlabels=');
		print($productos[0].'%3B');
		print($productos[2].'%3B');
		print($productos[4].'%3B');
		print($productos[6].'%3B');
		print($productos[8].'&');
		print('w=400&h=400&Title=Reporte%20de%20produccion&XTitle=Productos&');
		print('XTitleColor=101010&XTitleFont=G&YTitle=Cajas%20%28Miles%20de%20piezas%29&YTitleColor=0C0C0C&');
		print('YTitleFont=G&YMin=0&YMax=100&BarWidth=&StackType=beside" ');
   		print('name="menu" allowtransparency="true" style="background-color: transparent;" scrolling="no"></iframe> ');
	}
	
	public function graficaVentas()
	{
		if(!empty($_POST))
		{
			$anio=$this->input->post('anio');
			$ventas=$this->ventas->obtenerVentas($anio);
			
			$this->session->set_userdata('ventasGrafica',$ventas);
			
			print("1");
		}
		else
		{
			print("0");
		}
	}
	
	public function obtenerGraficaVentas()#Las graficas se generan con datos de base de datos y un servidor externo
	{
		$ventas=$this->session->userdata('ventasGrafica');
		$this->session->unset_userdata('ventasGrafica');

		for($i=1;$i<13;$i++)
		{
			$ventas[$i]=$ventas[$i]/1000;
		}
		
		print('<iframe FRAMEBORDER="0" BORDER=0 width="420px" align="middle" height="450px"');
		print('src="http://www.maptools.org/cgi-bin/owtchart?type=3DBar&NumSets=1&vals=');
		print($ventas[1].'!'.$ventas[2].'!'.$ventas[3].'!'.$ventas[4].'!');//.'0!0!0!0!0!0!0!0');
		print($ventas[5].'!'.$ventas[6].'!'.$ventas[7].'!'.$ventas[8].'!');
		print($ventas[9].'!'.$ventas[10].'!'.$ventas[11].'!'.$ventas[12]);
		print('&numpts=12&setcolors=054258&xlabels=Enero%3BFebrero%3BMarzo%3BAbril%3BMayo%3B');
		print('Junio%3BJulio%3BAgosto%3BSeptiembre%3BOctubre%3BNoviembre%3BDiciembre&');
		print('w=400&h=400&Title=Reporte%20de%20ventas%20anual&XTitle=Meses&XTitleColor=101010&');
		print('XTitleFont=G&YTitle=Dinero%20%28Miles%20de%20pesos%29&YTitleColor=0C0C0C&YTitleFont=G&');
		print('YMin=0&YMax=1000&BarWidth=&StackType=beside"');
		print('name="menu" allowtransparency="true" style="background-color: transparent;" scrolling="no"></iframe> ');
	}
	
	public function permisosUsuario()
	{
		$Data['title']= "Panel de Administración";
		$Data['cassadmin']=$this->_csstyle["cassadmin"];
		$Data['csmenu']=$this->_csstyle["csmenu"];
		
		$Data['csui']=$this->_csstyle["csui"];
		////$Data['csuidemo']=$this->_csstyle["csuidemo"];
		
		$Data['nameusuario']=$this->modelousuario->getUsuarios($this->_iduser);
		$Data['Fecha_actual']=$this->_fechaActual;
		
		$Data['Jry']=$this->_jss['jquery'];
		$Data['Jqui']=$this->_jss['jqueryui'];
		$Data['jFicha_cliente']=$this->_jss['jFicha_cliente'];
		$Data['Jquical']=$this->_jss['jquerycal'];
		
		$Data['permisos']=$this->configuracion->obtenerRolPermisos($this->session->userdata('rol'));
		
		$this->load->view("cabezera",$Data);
		$this->load->view('header',$Data);
		$this->load->view("principal",$Data);
		
		$this->load->view('accesos/index');
		$this->load->view("pie",$Data);
	}
}
?>
