<?php
error_reporting(0);

class Produccion extends CI_Controller
{
    private $_template;
    protected $_fechaActual;
    protected $_iduser;
    protected $_csstyle;
    protected $_Variables;

    function __construct()
	{
		parent::__construct();
		
		if( ! $this->redux_auth->logged_in() )
		{
			redirect(base_url().'login');
		}
		
		 $this->config->load('js',TRUE);
		 $this->config->load('style', TRUE);
		 
        $this->_fechaActual 	=mdate("%Y-%m-%d %H:%i:%s",now());
        $this->_iduser 			=$this->session->userdata('id');
        $this->_csstyle 		=$this->config->item('style');
  	    $this->_jss				=$this->config->item('js');
		
		$this->load->model("modelousuario","usuario");
   	    $this->load->model("modeloclientes","clientes");
		$this->load->model("produccion_modelo","produccion");
		$this->load->model("materiales_modelo","materiales");
	    $this->load->model("proveedores_model","proveedores");
		$this->load->model("inventario_model","inventario");
        $this->load->model("bancos_model","bancos");
		$this->load->model("modelo_configuracion","configuracion");
		$this->load->model("administracion_modelo","administracion");
		$this->load->model("inventarioproductos_modelo","productos");
		$this->load->model("compras_modelo","compras");

    }
		 
	public function busquedaCostoAdministrativo($fecha)
	{
		$this->session->set_userdata('gastoMes',substr($fecha,5,2));
		$this->session->set_userdata('gastoAnio',substr($fecha,0,4));
		
		redirect('produccion/index','refresh');
	}
	
	#========================================================================================================#
	#=============================================AUTOCOMPLETADOS============================================#
	#========================================================================================================#
	
	public function autoCompletadoProduccion()
	{
		if(!empty ($_POST))
		{
			$produccion=$this->configuracion->autoCompletadoProduccion();
			
			if ($produccion!=NULL)
			{
				foreach ($produccion as $row)
				{
					echo '<li onClick="datoEncontrado(\''.$row->idProducto.'\',\''.$row->nombre.'\');">'.$row->nombre.'</li>';
				}
			}
		}
	}
	
	public function busquedaProduccion($idProductoProduccion)
	{
		if($idProductoProduccion=='nada')
		{
			$idProductoProduccion="";
		}
		
	 	$this->session->set_userdata('idProductoProduccion',$idProductoProduccion);
		
		redirect('produccion/index','refresh');
	}
	
	public function index($Limite=0)
	{
		$Data['title']			= "Panel de Administración";
		$Data['cassadmin']		=$this->_csstyle["cassadmin"];
		$Data['csmenu']			=$this->_csstyle["csmenu"];
		$Data['csvalidate']		=$this->_csstyle["csvalidate"];
		$Data['csui']			=$this->_csstyle["csui"];
		$Data['nameusuario']	=$this->usuario->getUsuarios($this->_iduser);
		$Data['Fecha_actual']	=$this->_fechaActual;
		$Data['Jquical']		=$this->_jss['jquerycal'];
		$Data['Jry']			=$this->_jss['jquery'];
		$Data['JFuntInventario']=$this->_jss['JFuntInventario'];
		$Data['Jqui']			=$this->_jss['jqueryui'];                  
		$Data['jFicha_cliente']	=$this->_jss['jFicha_cliente']; 
		$Data['permisos']		=$this->configuracion->obtenerRolPermisos($this->session->userdata('rol'));
		$Data['menuActivo']		='analisis'; 
		
		$this->load->view("cabezera",$Data);
		$this->load->view('header',$Data);
		$this->load->view("principal",$Data);
		
		$Pag["base_url"]		= base_url()."produccion/index/";
		$Pag["total_rows"]		=$this->produccion->contarProduccion();//Total de Registros
		$Pag["per_page"]		=10;
		$Pag["num_links"]		=5;
		
		$this->pagination->initialize($Pag);
		
		#----------------------------------PERMISOS------------------------------------#
		$data['permiso']=$this->configuracion->obtenerPermisosId('7',$this->session->userdata('rol'));
		
		if($data['permiso']->leer=='0' and $data['permiso']->escribir=='0')
		{
			redirect('principal/permisosUsuario','refresh');
			return;
		}
		
		#$data['categorias'] = $this->produccion->ObtenerCategorias($Pag["per_page"],$Limite);
		$data['productos'] 				= $this->produccion->obtenerProduccion($Pag["per_page"],$Limite);
		$data['material'] 				= $this->materiales->materiales();
		$data['colores']				=$this->configuracion->obtenerColores();
		$data['proveedores']			=$this->inventario->proveedores();
		$data['unidades'] 				= $this->configuracion->obtenerUnidades();
		#$Conte['costoStandar']=$this->materiales->costoEstandar();
		$data['gastosAdministrativos']	=$this->produccion->obtenerGastoUnitario();
		$data['similares']				=$this->produccion->productosSimilares();
		$data['inicio']  				= $Limite;
		
		$this->load->view("produccion/index",$data); //principal lista de clientes
		$this->load->view("pie",$Data);
	}
	
	public function preciosUnitarios($Limite=0)
	{
		$Data['title']			= "Panel de Administración";
		$Data['cassadmin']		=$this->_csstyle["cassadmin"];
		$Data['csmenu']			=$this->_csstyle["csmenu"];
		$Data['csvalidate']		=$this->_csstyle["csvalidate"];
		$Data['csui']			=$this->_csstyle["csui"];
		$Data['nameusuario']	=$this->usuario->getUsuarios($this->_iduser);
		$Data['Fecha_actual']	=$this->_fechaActual;
		$Data['Jry']			=$this->_jss['jquery'];
		$Data['JFuntInventario']=$this->_jss['JFuntInventario'];
		$Data['Jqui']			=$this->_jss['jqueryui'];                  
		$Data['jFicha_cliente']	=$this->_jss['jFicha_cliente']; 
		$Data['permisos']		=$this->configuracion->obtenerRolPermisos($this->session->userdata('rol'));
		$Data['menuActivo']		='preciosUnitarios'; 
		
		$this->load->view("cabezera",$Data);
		$this->load->view('header',$Data);
		$this->load->view("principal",$Data);
		
		#----------------------------------PERMISOS------------------------------------#
		$data['permiso']=$this->configuracion->obtenerPermisosId('8',$this->session->userdata('rol'));
		
		if($data['permiso']->leer=='0' and $data['permiso']->escribir=='0')
		{
			redirect('principal/permisosUsuario','refresh');
			return;
		}
		
		#$data['categorias'] = $this->produccion->obtenerCategoriasPrecios();
		
		$Pag["base_url"]= base_url()."produccion/preciosUnitarios/";
		$Pag["total_rows"]=$this->produccion->contarProduccionPrecios();//Total de Registros
		$Pag["per_page"]=20;
		$Pag["num_links"]=5;
		
		$data['productos'] = $this->produccion->obtenerProduccionPrecios($Pag["per_page"],$Limite);
		
		$this->load->view("produccion/precios",$data); //principal lista de clientes
		$this->load->view("pie",$Data);
	}
	
	#---------------------------------------------------------------------------------------------------------------#
	#-----------------------------------------------PRODUCTO TERMINADO----------------------------------------------#
	#---------------------------------------------------------------------------------------------------------------#
	function busquedaProductoTerminado($idProducto)
	{
		if($idProducto=='todos')
		{
			$idProducto="";
		}
		
	 	$this->session->set_userdata('idProductoTerminadoBusqueda',$idProducto);
		
		redirect('produccion/productoTerminado','refresh');
	}
	
	public function productoTerminado($Limite=0)
	{
		$Data['title']			= "Panel de Administración";
		$Data['cassadmin']		=$this->_csstyle["cassadmin"];
		$Data['csmenu']			=$this->_csstyle["csmenu"];
		$Data['csvalidate']		=$this->_csstyle["csvalidate"];
		$Data['csui']			=$this->_csstyle["csui"];
		$Data['nameusuario']	=$this->usuario->getUsuarios($this->_iduser);
		$Data['Fecha_actual']	=$this->_fechaActual;
		$Data['Jry']			=$this->_jss['jquery'];
		$Data['JFuntInventario']=$this->_jss['JFuntInventario'];
		$Data['Jqui']			=$this->_jss['jqueryui'];                  
		$Data['jFicha_cliente']	=$this->_jss['jFicha_cliente'];
		$Data['permisos']		=$this->configuracion->obtenerRolPermisos($this->session->userdata('rol')); 
		$Data['menuActivo']		='productoTerminado'; 
		
		$this->load->view("cabezera",$Data);
		$this->load->view('header',$Data);
		$this->load->view("principal",$Data);

		#----------------------------------PERMISOS------------------------------------#
		$data['permiso']=$this->configuracion->obtenerPermisosId('9',$this->session->userdata('rol'));
		
		if($data['permiso']->leer=='0' and $data['permiso']->escribir=='0')
		{
			redirect('principal/permisosUsuario','refresh');
			return;
		}
		
		$Pag["base_url"]	= base_url()."produccion/productoTerminado/";
		$Pag["total_rows"]	=$this->produccion->contarProduccionTerminado();//Total de Registros
		$Pag["per_page"]	=30;
		$Pag["num_links"]	=5;
		
		$this->pagination->initialize($Pag);
		
		$data['productos'] = $this->produccion->obtenerProduccionTerminado($Pag["per_page"],$Limite);
		
		$data['numeroRegistros']=$Limite;
		
		$this->load->view("produccion/productoTerminado",$data); //principal lista de clientes
		$this->load->view("pie",$Data);
	}
	
	public function borrarGasto($idGasto,$mes,$anio)
	{
		#----------------------------------PERMISOS------------------------------------#
		$data['permiso']=$this->configuracion->obtenerPermisosId('4',$this->session->userdata('rol'));
		
		if($data['permiso']->escribir=='0')
		{
			redirect('principal/permisosUsuario','refresh');
			return;
		}
		
		$gasto=$this->produccion->borrarGasto($idGasto,$mes,$anio);
		
		if($gasto=="1")
		{
			$this->session->set_userdata('notificacion','El gasto se ha borrado correctamente');
		}
		else
		{
			$this->session->set_userdata('errorNotificacion','Error al borrar el gasto','error');
		}
			
		redirect('produccion/gastos/'.$mes.'/'.$anio,'refresh');
	}
	
	public function agregarGasto()
	{
		if(!empty($_POST))
		{
			$gasto=$this->produccion->agregarGasto();
			
			if($gasto=="1")
			{
				$this->session->set_userdata('notificacion','El gasto se ha agregado correctamente');
			}
		
			echo $gasto;
		}
	}
	
	public function busquedaFecha($fecha)
	{
		$mes=substr($fecha,5,2);
		$anio=substr($fecha,0,4);
		
		redirect('produccion/gastos/'.$mes.'/'.$anio,'refresh');
	}
	
	public function gastos()
	{
		$Data['title']			= "Panel de Administración";
		$Data['cassadmin']		=$this->_csstyle["cassadmin"];
		$Data['csmenu']			=$this->_csstyle["csmenu"];
		$Data['csvalidate']		=$this->_csstyle["csvalidate"];
		$Data['csui']			=$this->_csstyle["csui"];
		$Data['nameusuario']	=$this->usuario->getUsuarios($this->_iduser);
		$Data['Fecha_actual']	=$this->_fechaActual;
		$Data['Jquical']		=$this->_jss['jquerycal'];
		$Data['Jry']			=$this->_jss['jquery'];
		$Data['JFuntInventario']=$this->_jss['JFuntInventario'];
		$Data['JFuntPagClien']	=$this->_jss['JFuntPagClien'];
		$Data['Jqui']			=$this->_jss['jqueryui'];                  
		$Data['jFicha_cliente']	=$this->_jss['jFicha_cliente']; 
		$Data['permisos']		=$this->configuracion->obtenerRolPermisos($this->session->userdata('rol'));
		$Data['menuActivo']		='gastos'; 
		
		$this->load->view("cabezera",$Data);
		$this->load->view('header',$Data);
		$this->load->view("principal",$Data);

		#----------------------------------PERMISOS------------------------------------#
		$data['permiso']=$this->configuracion->obtenerPermisosId('4',$this->session->userdata('rol'));
		
		if($data['permiso']->leer=='0' and $data['permiso']->escribir=='0')
		{
			redirect('principal/permisosUsuario','refresh');
			return;
		}
		
		#$data['gastos'] 		= $this->produccion->obtenerGastos($mes,$anio);
		#$data['cuentas'] 		= $this->configuracion->obtenerCuentasContables();
		$data['bancos']			= $this->bancos->obtenerBancos();
		$data['cuentasBanco']	= $this->bancos->obtenerCuentas();
		
		$this->load->view("produccion/gastos",$data); //principal lista de clientes
		
		$this->load->view("pie",$Data);
	}//index
	
	function prebusqueda($filtro)
	{
		if($filtro=='nada')
		{
			$filtro="";
		}
		
		$this->session->set_userdata('busquedaAnalisis',$filtro);
		
		redirect('produccion/index','refresh');
	}

	public function borrarMaterial($idMaterial, $idProducto,$inicio)
	{
		#----------------------------------PERMISOS------------------------------------#
		$data['permiso']=$this->configuracion->obtenerPermisosId('7',$this->session->userdata('rol'));
		
		if($data['permiso']->escribir=='0')
		{
			redirect('principal/permisosUsuario','refresh');
			return;
		}
		
		if($this->produccion->borrarProductoMaterial($idMaterial,$idProducto)=="1")
		{
			redirect("/produccion/index/".$inicio,"refresh");
		}
	}
	
    public function borrarProducto($idProducto)
	{
		if($this->produccion->borrarProducto($idProducto)!=NULL)
		{
			if($this->produccion->rel_producto($idProducto)!=NULL)
			{
				redirect("/produccion/","refresh");
			}
			
			redirect("/produccion/","refresh");
		}
	}

	public function agregarNuevoProducto()
	{
		if(!empty ($_POST))
		{
			$producto=$this->produccion->agregarNuevoProducto();
				
			if($producto=="1")
			{
				$this->session->set_userdata('notificacion','El producto se ha registrado correctamente');
			}
				
			redirect('produccion','refresh');         
		}
	}

	#-------------------------------------------------------------------------------------------------#
	#									AGREGAR MATERIAL A PRODUCTO									  #
	#-------------------------------------------------------------------------------------------------#
	
	public function materialProducto()
	{
		if(!empty ($_POST))
		{
			$material=$this->produccion->productoMaterial();
			print($material);
		}
	}
	
	public function materialEditar() //Aqui se edita el material de productos
	{
		if (!empty($_POST))
		{
			$material=$this->produccion->editarMaterial();
			print($material);
		}
	}
	
	public function editarMaterial($idProducto,$idMaterial) //Muestra la informacion de materiales
	{
		$material	=$this->produccion->materialEditar($idProducto,$idMaterial);
		
		echo'
		<table class="admintable" width="99%;">
		<tr>
			<td class="key">Material:</td>
			<td>
				<input type="text" readonly name="material" id="material" class="cajas" style="width:90%;" value="'.$material->nombre.'"/> 
				<input type="hidden" id="txtIdProductoEditar" value="'.$idProducto.'"/> 
			</td>
		</tr>
		
		<tr>
			<td class="key">Cantidad:</td>
			<td><input type="text" name="cantidad" id="cantidad" class="cajas" style="width:30%;" value="'.$material->cantidad.'"  /> </td>
		</tr>';
		
		echo '</table>';
	}
	
	public function productoEditar() //Aqui se edita el material de productos
	{
		if (!empty($_POST))
		{
			$producto=$this->produccion->editarProducto();
			
			if($producto=="1")
			{
				$this->session->set_userdata('notificacion','El producto se ha editado correctamente');
			}
			
			redirect('produccion','refresh');  
		}
	}
	
	public function editarProducto($idProducto) //Muestra la informacion de materiales
	{
		$producto	=$this->produccion->obtenerProducto($idProducto); 
		$lineas		=$this->configuracion->obtenerLineas(); 
		
		print
		'<form id="frmEditarProducto" name="frmEditarProducto" method="post" action="'.base_url().'produccion/productoEditar" 
		enctype="multipart/form-data"> 
		<table class="admintable" width="99%;">
			<tr>
				<td class="key">Producto:</td>
				<td>
					<input type="text" name="txtNombreEditar" id="txtNombreEditar" 
				class="cajas" style="width:90%;" value="'.$producto->nombre.'"/> </td>
			</tr>
			
			<tr>
				<td class="key">Línea:</td>
				<td>
					<div id="obtenerLineas" style="float:left; width:300px">
						<select class="cajas" id="selectLineas" name="selectLineas" style="width:280px">
							<option value="0">Seleccione</option>';
							
							foreach($lineas as $row)
							{
								$seleccionado=$row->idLinea==$producto->idLinea?'selected="selected"':'';
								
								echo '<option '.$seleccionado.' value="'.$row->idLinea.'">'.$row->nombre.'</option>';
							}
							
						echo'
						</select>
					</div>
					 <img onclick="formularioLineas()" src="'.base_url().'img/agregar.png" width="20" title="Agregar línea" height="20" /> 
				</td>
			</tr>
			
			<tr>
				
				<input type="hidden" name="txtIdProductoEditar" id="txtIdProductoEditar" value="'.$idProducto.'" />
				<input type="hidden" name="txtMateriaPrimaEditar" id="txtMateriaPrimaEditar" value="'.$producto->materiaPrima.'" />
				
			<tr>
				<td class="key">Unidad:</td>
				<td>
					<input type="text" name="txtUnidadProducto1" value="'.$producto->unidad.'" id="txtUnidadProducto1" class="cajas" style="width:20%;"   /> 
				</td>
			</tr>
			 <td class="key">Imagen</td>
			<td>
				<input type="file" id="userfile1" name="userfile1" class="cajas" style="height:30px" onchange="comprobarArchivoEditar()" />
				&nbsp;&nbsp;';
				
				$imagen='<img src="'.base_url().'img/productos/default.png" style="width:50px; height:50px;  margin-left: 10px"  />';
		
				if(file_exists("img/productos/".$idProducto.'_'.$producto->imagen))
				{
					$imagen='<img src="'.base_url().'img/productos/'.$idProducto.'_'.$producto->imagen.'" 
						style="width:50px; height:50px; margin-left: 10px" />';
				}
				
				echo $imagen;
			
			echo'
			</td>
			</tr>	

			<tr>
				<td class="key">Código de barras</td>
				<td>
					<script>
						$("#codigoNuevoEditar").barcode("'.$producto->codigoBarras.'", "code93",{barWidth:1, barHeight:40})
					</script>
			
					<div id="codigoNuevoEditar"></div>
					<br />
					<input class="cajas" type="text" id="txtCodigoBarrasEditar" name="txtCodigoBarrasEditar" value="'.$producto->codigoBarras.'"/>
				</td>
			</tr>
	
			<tr>
				<td class="key">Código interno</td>
				<td>
					<input type="text" class="cajas" name="txtCodigoInternoEditar" value="'.$producto->codigoInterno.'" id="txtCodigoInternoEditar" style="width:90%"/>
				</td>
			</tr>';
			
			if($producto->materiaPrima==0)
			{
				echo'
				<tr>
					<td class="key">Precio A</td>
					<td>
						<input type="text" class="cajas" name="utilidadAEditar" value="'.$producto->precioA.'" id="utilidadAEditar" style="width:20%"/>
					</td>
				</tr>
				
				<tr>
					<td class="key">Precio B</td>
					<td>
					<input type="text" class="cajas" name="utilidadBEditar" value="'.$producto->precioB.'" id="utilidadBEditar" style="width:20%" />
					</td>
				</tr>
				
				<tr>
					<td class="key">Precio C</td>
					<td>
					<input type="text" class="cajas" name="utilidadCEditar" value="'.$producto->precioC.'"" id="utilidadCEditar" style="width:20%"/>
					</td>
				</tr>
				<tr>
					<td class="key">Precio D</td>
					<td>
					<input type="text" class="cajas" name="utilidadDEditar" value="'.$producto->precioD.'"" id="utilidadDEditar" style="width:20%"/>
					</td>
				</tr>
				
				<tr>
					<td class="key">Precio E</td>
					<td>
					<input type="text" class="cajas" name="utilidadEEditar" value="'.$producto->precioE.'"" id="utilidadEEditar" style="width:20%"/>
					</td>
				</tr>
				
				<tr style="display:none">
					<td class="key">Piezas</td>
					<td>
					<input type="text" class="cajas" name="txtPiezasEditar" value="'.$producto->piezas.'" id="txtPiezasEditar" style="width:20%"/>
					</td>
				</tr>';
			}
			
		echo'</table>';
	}
	
	public function formularioLineas()
	{
		echo'
		<script>
		$(document).ready(function()
		{
			$("#txtLinea").autocomplete(
			{
				source:"'.base_url().'configuracion/obtenerLineasRepetidas",
				
				select:function( event, ui)
				{
					notify("La línea ya esta registrada",500,5000,"error",5,5);
					document.getElementById("txtLinea").reset();
				}
			});
		});
		</script>
		<div class="ui-state-error" ></div>
		<table class="admintable" width="100%">
			<tr>
				<td class="key">Nombre</td>
				<td>
					<input type="text" style="width:280px" class="cajas" id="txtLinea" />
				</td>
			</tr>
		</table>';
	}
	
	public function obtenerLineas()
	{
		$lineas 				= $this->configuracion->obtenerLineas();
		
		echo'
		<select class="cajas" id="selectLineas" name="selectLineas" style="width:280px" onchange="obtenerSubCategorias(); revisarCamposCategoria();" required="true">
			<option value="">Seleccione</option>';
			
			foreach($lineas as $row)
			{
				echo'<option value="'.$row->idLinea.'">'.$row->nombre.'</option>';	
			}
			
		echo'</select>';
	}
	
	public function agregarLinea()
	{
		$linea 	= $this->configuracion->agregarLinea();
		echo $linea;
	}
	
	public function formularioProduccion()
	{
		$unidades 				= $this->configuracion->obtenerUnidades();

		echo '
		<script>
		$(document).ready(function()
		{
			$("#txtNombreProducto").autocomplete(
			{
				source:"'.base_url().'configuracion/obtenerInventarioProduccion",
				
				select:function( event, ui)
				{
					notify("El producto ya esta registrado",500,5000,"error",5,5);
					document.getElementById("txtNombreProducto").reset();
				}
			});
		});
		</script>
		<div class="ui-state-error" ></div>
		<form id="frmNuevoProducto" name="frmNuevoProducto" method="post" action="'.base_url().'produccion/agregarNuevoProducto" enctype="multipart/form-data"> 
		<table class="admintable" width="100%;">
			<tr>
				<td class="key">Producto:</td>
				<td>
					<input type="text" name="txtNombreProducto" id="txtNombreProducto" class="cajas" style="width:90%;"   /> 
				</td>
			</tr>
			
			<tr>
				<td class="key">Línea:</td>
				<td>
					<div id="obtenerLineas" style="float:left; width:300px">
						<select class="cajas" id="selectLineas" name="selectLineas" style="width:280px">
							<option value="0">Seleccione</option>
						</select>
					</div>
					 <img onclick="formularioLineas()" src="'.base_url().'img/agregar.png" width="20" title="Agregar línea" height="20" /> 
				</td>
			</tr>
			
			<tr>
				<td class="key">Unidad:</td>
				<td>
					<input type="text" name="txtUnidadProducto" id="txtUnidadProducto" class="cajas" style="width:20%;"   />
					
				</td>
			</tr>
			
			<tr>
				<td class="key">Inventario inicial:</td>
				<td>
					<input type="text" value="0" name="txtInventarioInicial" id="txtInventarioInicial" class="cajas" style="width:30%;"   /> 
				</td>
			</tr>
			
			<tr>
			<td class="key">Imagen</td>
			<td>
				<input type="file" id="userfile" name="userfile" class="cajas" style="height:30px" onchange="comprobarArchivo()" />
			</td>
			</tr>';	
			
			  $random= rand(1000000000,9999999999);
			  $codigo=str_replace("5","9",$random);
			echo'
            <tr>
				<td class="key">Código de barras</td>
				<td>
					<script>
						$("#codigoNuevo").barcode("'.$codigo.'", "code93",{barWidth:1, barHeight:40})
					</script>
			
					<div id="codigoNuevo"></div>
					<br />
					<input class="cajas" type="text" id="txtCodigoBarras" name="txtCodigoBarras" value="'.$codigo.'"/>
				</td>
			</tr>
			
			<tr>
				<td class="key">Código interno:</td>
				<td>
					<input type="text" name="txtCodigoInterno" id="txtCodigoInterno" class="cajas" style="width:90%;" /> 
				</td>
			</tr>
			<tr>
				<td class="key">Precio A</td>
				<td>
				<input type="text" class="cajas" name="utilidadA" value="1" id="utilidadA" style="width:20%"/>
				</td>
			</tr>
			<tr>
				<td class="key">Precio B</td>
				<td>
				<input type="text" class="cajas" name="utilidadB" id="utilidadB" style="width:20%" value="1"/>
				</td>
			</tr>
			<tr>
				<td class="key">Precio C</td>
				<td>
				<input type="text" class="cajas" name="utilidadC" value="1" id="utilidadC" style="width:20%"/>
				</td>
			</tr>
			<tr>
				<td class="key">Precio D</td>
				<td>
				<input type="text" class="cajas" name="utilidadD" value="1" id="utilidadD" style="width:20%"/>
				</td>
			</tr>
			<tr>
				<td class="key">Precio E</td>
				<td>
				<input type="text" class="cajas" name="utilidadE" value="1" id="utilidadE" style="width:20%"/>
				</td>
			</tr>
			<tr style="display:none">
				<td class="key">Piezas</td>
				<td>
				<input type="text" class="cajas" name="txtPiezas" value="1" id="txtPiezas" style="width:20%"/>
				</td>
			</tr>
			 <tr>
				<td class="key">¿Es materia prima?</td>
				<td>
				<input type="checkbox" name="chkMateriaPrima" onchange="mostrarCamposProducto()" id="chkMateriaPrima" style="margin-left:5px"/>
				</td>
			</tr>
			  <tr id="mostrarUnidades" style="display:none">
				<td class="key">Unidad</td>
				<td>
					<select id="selectUnidades" name="selectUnidades" class="cajas" >
						<option value="0">Seleccione</option>';
						
						foreach($unidades as $row)
						{
							echo '<option value="'.$row['idUnidad'].'">'.$row['descripcion'].'</option>';
						}
						
					echo'
                    </select>
				</td>
			</tr>
		</table>
		</form>';
	}

	public function saveProducto()
	{
		if(!empty ($_POST))
		{
			$id = intval($this->input->post('id'));		
			
			if($this->produccion->SaveProducto($id) != NULL)
			{
			//$this->session->set_flashdata('message', array('messageType' => 'success','Message' => 'El registro se ha almacenado correctamente.'));
			}
			else
			{
			//$this->session->set_flashdata('message', array('messageType' => 'error','Message' => 'Ocurrio un error al guardar el registro.'));
			}
			redirect('produccion','refresh');
		}
		else 
		{
			redirect('produccion','refresh');
		}
	}
	
	public function agregarEstandar()
	{
		if(!empty($_POST))
		{
			$agregar=$this->materiales->addProducto();
		}
	}
	
	public function editarFamilia()
	{
		if(!empty($_POST))
		{
			$familia=$this->produccion->editarFamilia();
			print($familia);
		}
	}
	
	public function obtenerFamilia($idFamilia) //Muestra la informacion de materiales
	{
		$familia=$this->produccion->obtenerFamilia($idFamilia); 
		
		print
		('
			<table class="admintable" width="99%;">
			<tr>
				<td class="key">Nombre:</td>
				<td><input type="text" name="familia1" id="familia1" 
				class="cajas" style="width:90%;" value="'.$familia->nombre.'"/> </td>
			</tr>
			
			<tr>
				<td class="key">Porcentaje de utilidad A:</td>
				<td>
					<input type="text" name="utilizame" id="utilizame" 
					class="cajas" style="width:20%;" value="'.$familia->utilidad.'"/> %
				</td>
			</tr>
			
			<tr>
				<td class="key">Porcentaje de utilidad B:</td>
				<td>
					<input type="text" name="utilizameB" id="utilizameB" 
				class="cajas" style="width:20%;" value="'.$familia->utilidadB.'"/> %
				</td>
			</tr>
			
			<tr>
				<td class="key">Porcentaje de utilidad C:</td>
				<td>
					<input type="text" name="utilizameC" id="utilizameC" 
				class="cajas" style="width:20%;" value="'.$familia->utilidadC.'"/> % 
				</td>
			</tr>
			
			<tr>
				<td class="key">Piezas:</td>
				<td><input type="text" name="piezitas1" id="piezitas1" 
				class="cajas" style="width:20%;" value="'.$familia->piezas.'"/> </td>
			</tr>
			
		</table>
		');
	}

	
	public function obtenerEstandar()
	{
		$mes		=$this->session->userdata('gastoMes');
		$anio		=$this->session->userdata('gastoAnio');
		$estandar	=$this->produccion->obtenerGastos($mes,$anio);
		
		print
		('
			<table class="admintable" style="width:99%">
			<tr>
			<th colspan="5"> Lista de gastos administrativos</th>
			</tr>
			<tr>
				<th>#</th>
				<th>Fecha</th>
				<th>Concepto</th>
				<th>Forma de pago</th>
				<th>Costo</th>
			</tr>
		');
		$i=1;
		$costoTotal=0;
		
		if($estandar!=null)
		{
			foreach($estandar as $row)
			{
				$costoTotal+=$row->costo;
				
				print
				('
					<tr>
					   <td>'.$i.'</td>
					   <td>'.$row->fecha.'</td>
					   <td>'.$row->nombre.'</td>
					    <td>'.$row->formaPago.'</td>
						<td align="right">$ '.number_format($row->costo,2).'</td>
					</tr>
				');
				$i++;	
			}
		}
		
		print
		('
			<tr>
			<th align="right" colspan="5">$ '. number_format($costoTotal,2).'</th>
			</tr>
			
			<tr>
				<td colspan="5" align="right">
				Definir
				<img onclick="confirmarGasto()" style="cursor:pointer" width="30" src="'.base_url().'img/gastos.png" style="width:30px" />
			
				</td>
			</tr>
			</table>
		');
	}
	
	public function cambiarCostoGlobal()
	{
		$global=$this->produccion->editarGastoGlobal();
		
		if($global=='1')
		{
			$this->session->set_userdata('notificacion','Se ha definir correctamente el gasto administrativo');
		}
		else
		{
			$this->session->set_userdata('errorNotificacion','Error al definir el gasto administrativo','error');
		}
		
		redirect('produccion','refresh');
	}
	
	public function actualizarCosto()
	{
		$costoStandar=$this->materiales->costoEstandar();
		
		print("$ "+ number_format($costoStandar->total,2));
	}
	
	public function borrarEstandar($idMaterial)
	{
		$costoStandar=$this->produccion->borrarEstandar($idMaterial);
		
		redirect('produccion','refresh');
	}
	
	public function productosSimilares()
	{
		if(!empty($_POST))
		{
			$similar=$this->produccion->agregarSimilares();
			#$this->produccion->actualizacionGlobalCostoAdministrativo();
			print($similar);
		}
	}
	
	public function agregarCategoria()
	{
		if(!empty($_POST))
		{
			$categoria=$this->produccion->agregarCategoria();
			print($categoria);
		}
	}
	
	public function borrarCategoria($idCategoria)
	{
		#----------------------------------PERMISOS------------------------------------#
		$data['permiso']=$this->configuracion->obtenerPermisosId('7',$this->session->userdata('rol'));
		
		if($data['permiso']->escribir=='0')
		{
			redirect('principal/permisosUsuario','refresh');
			return;
		}
		
		$categoria=$this->produccion->borrarCategoria($idCategoria);
		
		redirect('produccion/index/0','refresh');
	}
	
	public function borrarProductoCategoria($idCategoria,$pagina)
	{
		#----------------------------------PERMISOS------------------------------------#
		$data['permiso']=$this->configuracion->obtenerPermisosId('7',$this->session->userdata('rol'));
		
		if($data['permiso']->escribir=='0')
		{
			redirect('principal/permisosUsuario','refresh');
			return;
		}
		
		$producto=$this->produccion->borrarProductoCategoria($idCategoria);
		
		if($producto=="0")
		{
			$this->session->set_userdata('errorNotificacion','El producto esta asociado a ventas u ordenes de producción, no puede borrarse');
		}
		else
		{
			$this->session->set_userdata('notificacion','El producto se ha borrado correctamente');
		}
		
		
		redirect('produccion/index/'.$pagina,'refresh');
	}
	
	#public function codigoProhibido()
	#{
	#	$this->produccion->codigoProhibido();
	#	redirect('produccion','refresh');
	#}
	
	public function coloripy()
	{
		$this->produccion->coloripy();
		
		redirect('produccion','refresh');
	}
	
	
	//TODO ESTO ES DE ADMINISTRACIÓN
	//OTROS INGRESOS
	//-------------------------------------------------------------------------------------------------------------------
	function subirFicheros($idIngreso)
	{
		if (array_key_exists('HTTP_X_FILE_NAME', $_SERVER) && array_key_exists('CONTENT_LENGTH', $_SERVER)) 
		{
			$fileName 		= $_SERVER['HTTP_X_FILE_NAME'];
			$contentLength 	= $_SERVER['CONTENT_LENGTH'];
		} 
		else throw new Exception("Error retrieving headers");

		if (!$contentLength > 0) 
		{
			throw new Exception('Error al subir el comprobante!');
		}
		
		$fileName		= obtenerMinusculas($fileName);
		$idComprobante	= $this->administracion->subirFicheros($idIngreso,$fileName,$contentLength);
		
		#echo 'Fichero: '.$fileName;
		if($idComprobante>0)
		{
			$fileName	= $idComprobante.'_'.$fileName;
			
			file_put_contents(comprobantesIngresos.$fileName,file_get_contents("php://input"));
			
			chmod(comprobantesIngresos.$fileName, 0777);
		}
	}
	
	public function descargarFichero($idComprobante) #Descargar el archivo XML
	{
		$this->load->helper('download');

		$comprobante	= $this->administracion->obtenerComprobante($idComprobante);

		$fichero 		= $comprobante->idComprobante.'_'.$comprobante->nombre;
		$descarga 		= $comprobante->nombre;
		$data 			= file_get_contents(comprobantesIngresos.$fichero); 
		
		force_download($descarga, $data); 
	}
	
	public function obtenerOtrosIngresos($limite=0)
	{
		$url		=base_url()."produccion/obtenerOtrosIngresos/";
		$registros	=$this->administracion->contarOtrosIngresos();
		$numero		=8;
		$links		=5;
		$uri		=3;
		
		$paginador	=$this->paginas->paginar($url,$registros,$numero,$links,$uri);
		$this->pagination->initialize($paginador);
		
		$data['ingresos']	= $this->administracion->obtenerOtrosIngresos($numero,$limite);
		$data['limite']		= $limite+1;

		$this->load->view('administracion/obtenerOtrosIngresos',$data);
	}
	
	public function formularioOtrosIngresos()
	{
		$data['bancos']		= $this->bancos->obtenerBancos();
		$data['periodos']	= $this->configuracion->obtenerPeriodos();
		$data['formas']		= $this->configuracion->seleccionarFormas();
		
		$this->load->view('administracion/formularioOtrosIngresos',$data);
	}
	
	#EDITAR OTROS INGRESOS
	public function obtenerIngresoEditar()
	{
		$idIngreso				= $this->input->post('idIngreso');
		$data['bancos']			= $this->bancos->obtenerBancos();
		$data['ingreso']		= $this->administracion->obtenerIngresoEditar($idIngreso);
		
		$data['cuenta']			= $this->bancos->obtenerCuenta($data['ingreso']->idCuenta);
		$data['banco']			= $data['cuenta']!=null?$data['cuenta']->idBanco:0;
		$data['cuentas']		= $this->bancos->obtenerCuentasBanco($data['banco']);
		$data['formas']			= $this->configuracion->seleccionarFormas();
		
		$data['departamentos']	= $this->administracion->obtenerDepartamentos();
		$data['nombres']		= $this->administracion->obtenerNombres();
		$data['productos']		= $this->administracion->obtenerProductos();
		$data['gastos']			= $this->administracion->obtenerTipoGasto();
		$data['cliente']		= $this->clientes->obtenerCliente($data['ingreso']->idCliente);
		$data['idIngreso']		= $idIngreso;
		
		$this->load->view('administracion/obtenerIngresoEditar',$data);
	}
	
	public function editarIngreso()
	{
		if(!empty($_POST))
		{
			echo $this->administracion->editarIngreso();
		}
	}
	
	public function borrarIngreso()
	{
		if(!empty($_POST))
		{
			echo $this->administracion->borrarIngreso($this->input->post('idIngreso'));
		}
	}
	
	//DEPARTAMENTOS
	//-------------------------------------------------------------------------------------------------------------------------------------
	public function formularioDepartamentos()
	{
		echo'
		<script>
		$(document).ready(function()
		{
			$("#txtNombreDepartamento").autocomplete(
			{
				source:"'.base_url().'configuracion/obtenerDepartamentosRepetidos",
				
				select:function( event, ui)
				{
					notify("El departamento ya esta registrado",500,5000,"error",5,5);
					document.getElementById("txtNombreDepartamento").reset();
				}
			});
		});
		</script>
		<div class="ui-state-error" ></div>
		<table class="admintable" width="100%">
			<tr>
				<td class="key">Nombre</td>
				<td>
					<input type="text" style="width:280px" class="cajas" id="txtNombreDepartamento" />
				</td>
			</tr>
		</table>';
	}
	
	public function obtenerDepartamentos()
	{
		$departamentos=$this->administracion->obtenerDepartamentos();
		
		echo'
		<select class="cajas" id="selectDepartamento" style="width:290px">
			<option value="0">Seleccione</option>';
			
			foreach($departamentos as $row)
			{
				$seleccionado=$row->idDepartamento==1?'selected="selected"':'';
				echo'<option '.$seleccionado.' value="'.$row->idDepartamento.'">'.$row->nombre.'</option>';	
			}
			
		echo'</select>';
	}
	
	public function registrarDepartamento()
	{
		if(!empty($_POST))
		{
			$departamento=$this->administracion->registrarDepartamento();
			echo $departamento;
		}
	}
	
	//NOMBRES
	//-------------------------------------------------------------------------------------------------------------------------------------
	public function formularioNombres()
	{
		echo'
		<script>
		$(document).ready(function()
		{
			$("#txtNombre").autocomplete(
			{
				source:"'.base_url().'configuracion/obtenerNombresRepetidos",
				
				select:function( event, ui)
				{
					notify("El nombre ya esta registrado",500,5000,"error",5,5);
					document.getElementById("txtNombre").reset();
				}
			});
		});
		</script>
		<div class="ui-state-error" ></div>
		<table class="admintable" width="100%">
			<tr>
				<td class="key">Nombre</td>
				<td>
					<input type="text" style="width:280px" class="cajas" id="txtNombre" />
				</td>
			</tr>
		</table>';
	}
	
	public function obtenerNombres()
	{
		$nombres=$this->administracion->obtenerNombres();
		
		echo'
		<select class="cajas" id="selectNombres" style="width:290px">
			<option value="0">Seleccione</option>';
			
			foreach($nombres as $row)
			{
				echo'<option value="'.$row->idNombre.'">'.$row->nombre.'</option>';	
			}
			
		echo'</select>';
	}
	
	public function registrarNombre()
	{
		if(!empty($_POST))
		{
			$nombre=$this->administracion->registrarNombre();
			echo $nombre;
		}
	}
	
	//CATALOGOS PRODUCTOS
	//-------------------------------------------------------------------------------------------------------------------------------------
	public function formularioProductos()
	{
		echo'
		<script>
		$(document).ready(function()
		{
			$("#txtProducto").autocomplete(
			{
				source:"'.base_url().'configuracion/obtenerProductosRepetidos",
				
				select:function( event, ui)
				{
					notify("El producto ya esta registrado",500,5000,"error",5,5);
					document.getElementById("txtProducto").reset();
				}
			});
		});
		</script>
		<div class="ui-state-error" ></div>
		<table class="admintable" width="100%">
			<tr>
				<td class="key">Nombre</td>
				<td>
					<input type="text" style="width:280px" class="cajas" id="txtProducto" />
				</td>
			</tr>
		</table>';
	}
	
	public function obtenerProductos()
	{
		$productos=$this->administracion->obtenerProductos();
		
		echo'
		<select class="cajas" id="txtConcepto" style="width:290px">
			<option value="0">Seleccione</option>';
			
			foreach($productos as $row)
			{
				$seleccionado=$row->idProducto==1?'selected="selected"':'';
				echo'<option '.$seleccionado.' value="'.$row->idProducto.'">'.$row->nombre.'</option>';	
			}
			
		echo'</select>';
	}
	
	public function registrarProducto()
	{
		if(!empty($_POST))
		{
			$producto=$this->administracion->registrarProducto();
			echo $producto;
		}
	}
	
	//CATALOGOS TIPO DE GASTO
	//-------------------------------------------------------------------------------------------------------------------------------------
	public function formularioTipoGasto()
	{
		echo'
		<script>
		$(document).ready(function()
		{
			$("#txtTipoGasto").autocomplete(
			{
				source:"'.base_url().'configuracion/obtenerGastosRepetidos",
				
				select:function( event, ui)
				{
					notify("El gasto ya esta registrado",500,5000,"error",5,5);
					document.getElementById("txtTipoGasto").reset();
				}
			});
		});
		</script>
		<div class="ui-state-error" ></div>
		<table class="admintable" width="100%">
			<tr>
				<td class="key">Nombre</td>
				<td>
					<input type="text" style="width:280px" class="cajas" id="txtTipoGasto" />
				</td>
			</tr>
		</table>';
	}
	
	public function obtenerTipoGasto()
	{
		$gastos=$this->administracion->obtenerTipoGasto();
		
		echo'
		<select class="cajas" id="selectTipoGasto" style="width:290px">
			<option value="0">Seleccione</option>';
			
			foreach($gastos as $row)
			{
				$seleccionado	=$row->idGasto==1?'selected="selected"':'';
				echo'<option '.$seleccionado.' value="'.$row->idGasto.'">'.$row->nombre.'</option>';	
			}
			
		echo'</select>';
	}
	
	public function registrarTipoGasto()
	{
		if(!empty($_POST))
		{
			$gasto=$this->administracion->registrarTipoGasto();
			echo $gasto;
		}
	}
	
	public function obtenerCuentas($idBanco)
	{
		$cuentas	=$this->bancos->obtenerCuentasBanco($idBanco);
		
		echo'<select id="selectCuentas" class="cajasSelect" style="width:250px"> 
			<option value="0"> Seleccione</option>';
		
		if($cuentas!=null)
		{
			foreach($cuentas as $cuenta)
			{
				echo'<option value="'.$cuenta->idCuenta.'">'.$cuenta->cuenta.'</option>';
			}
		}
		echo'</select>';
	}
	
	//REGISTRAR INGRESO
	//-------------------------------------------------------------------------------------------------------------------------------------
	public function registrarIngreso()
	{
		if(!empty($_POST))
		{
			$ingreso	=$this->administracion->registrarIngreso();
			echo $ingreso;
		}
	}
	
	//OTROS EGRESOS
	//-------------------------------------------------------------------------------------------------------------------
	
	function subirFicherosEgresos($idEgreso)
	{
		if (array_key_exists('HTTP_X_FILE_NAME', $_SERVER) && array_key_exists('CONTENT_LENGTH', $_SERVER)) 
		{
			$fileName 		= $_SERVER['HTTP_X_FILE_NAME'];
			$contentLength 	= $_SERVER['CONTENT_LENGTH'];
		} 
		else throw new Exception("Error retrieving headers");
		
		if (!$contentLength > 0) 
		{
			throw new Exception('Error al subir el comprobante!');
		}
		
		$fileName		= obtenerMinusculas($fileName);
		$idComprobante	= $this->administracion->subirFicherosEgreso($idEgreso,$fileName,$contentLength);
		
		#echo 'Fichero: '.$fileName;
		if($idComprobante>0)
		{
			$fileName	= $idComprobante.'_'.$fileName;
			file_put_contents(comprobantesEgresos.$fileName,file_get_contents("php://input"));			
			chmod(comprobantesEgresos.$fileName, 0777);
		}
	}
	
	public function descargarFicheroEgreso($idComprobante) #Descargar el archivo XML
	{
		$this->load->helper('download');

		$comprobante	=$this->administracion->obtenerComprobanteEgreso($idComprobante);

		$fichero 		= $comprobante->idComprobante.'_'.$comprobante->nombre;
		$descarga 		= $comprobante->nombre;
		$data 			= file_get_contents(comprobantesEgresos.$fichero); 
		
		force_download($descarga, $data); 
	}
	
	public function obtenerOtrosEgresos($limite=0)
	{
		

		$url		=base_url()."produccion/obtenerOtrosEgresos/";
		$registros	=$this->administracion->contarOtrosEgresos();
		$numero		=10;
		$links		=5;
		$uri		=3;
		
		$paginador	=$this->paginas->paginar($url,$registros,$numero,$links,$uri);
		$this->pagination->initialize($paginador);
		
		$data['egresos']	= $this->administracion->obtenerOtrosEgresos($numero,$limite);
		$data['limite']		= $limite+1;
		
		$this->load->view('administracion/obtenerOtrosEgresos',$data);
	}
	
	public function formularioOtrosEgresos()
	{
		$data['bancos']		= $this->bancos->obtenerBancos();
		$data['periodos']	= $this->configuracion->obtenerPeriodos();
		
		$this->load->view('administracion/formularioOtrosEgresos',$data);
	}
	
	#EDITAR OTROS EGRESOS
	public function obtenerEgresoEditar()
	{
		$idEgreso				= $this->input->post('idEgreso');
		$data['bancos']			= $this->bancos->obtenerBancos();
		$data['egreso']			= $this->administracion->obtenerEgresoEditar($idEgreso);
		
		$data['cuenta']			= $this->bancos->obtenerCuenta($data['egreso']->idCuenta);
		$data['banco']			= $data['cuenta']!=null?$data['cuenta']->idBanco:0;
		$data['cuentas']		= $this->bancos->obtenerCuentasBanco($data['banco']);
		
		$data['departamentos']	= $this->administracion->obtenerDepartamentos();
		$data['nombres']		= $this->administracion->obtenerNombres();
		$data['productos']		= $this->administracion->obtenerProductos();
		$data['gastos']			= $this->administracion->obtenerTipoGasto();
		$data['proveedor']		= $this->proveedores->obtenerProveedor($data['egreso']->idProveedor);
		$data['idEgreso']		= $idEgreso;
		
		$this->load->view('administracion/obtenerEgresoEditar',$data);
	}
	
	//REGISTRAR EGRESO
	//-------------------------------------------------------------------------------------------------------------------------------------
	public function registrarEgreso()
	{
		if(!empty($_POST))
		{
			$egreso	= $this->administracion->registrarEgreso();
			#$global	= $this->produccion->editarGastoGlobal();
			
			echo $egreso;
		}
	}
	
	public function editarEgreso()
	{
		if(!empty($_POST))
		{
			$ingresos	=$this->administracion->editarEgreso();
			
			#$global		=$this->produccion->editarGastoGlobal();
			
			echo $ingresos;
		}
	}
	
	public function borrarEgreso()
	{
		if(!empty($_POST))
		{
			$idEgreso	=$this->input->post('idEgreso');
			$egresos	=$this->administracion->borrarEgreso($idEgreso);
			
			$global		=$this->produccion->editarGastoGlobal();
			
			echo $egresos;
		}
	}
	
	//TRASPASOS
	//-------------------------------------------------------------------------------------------------------------------------------------
	public function formularioTraspasos()
	{
		$data['cuentas']		=$this->bancos->obtenerCuentas();
		
		$this->load->view('administracion/traspasos/formularioTraspasos',$data);
	}
	
	public function obtenerSaldoOrigen()
	{
		$idCuenta		=$this->input->post('idCuenta');
		$ingresos		=$this->bancos->obtenerIngresosCuenta($idCuenta);
		$egresos		=$this->bancos->obtenerEgresosCuenta($idCuenta);
		$saldo			=$ingresos-$egresos;
		
		echo' <input type="hidden" id="txtSaldoOrigen" value="'.$saldo.'" />
		<label> Saldo: '.number_format($saldo,2).'</label>';
	}
	
	public function obtenerSaldoDestino()
	{
		$idCuenta		=$this->input->post('idCuenta');
		$ingresos		=$this->bancos->obtenerIngresosCuenta($idCuenta);
		$egresos		=$this->bancos->obtenerEgresosCuenta($idCuenta);
		$saldo			=$ingresos-$egresos;
		
		echo' <input type="hidden" id="txtSaldoDestino" value="'.$saldo.'" />
		<label> Saldo: '.number_format($saldo,2).'</label>';
	}
	
	public function obtenerCuentasDestino()
	{
		$idCuenta		= $this->input->post('idCuenta');
		$cuentas		= $this->bancos->obtenerCuentas($idCuenta);
		
		echo' <select id="selectCuentaDestino" name="selectCuentaDestino" class="cajas" style="width:auto;" onchange="obtenerSaldoDestino()" >
				<option value="0">Seleccione</option>';

			   foreach($cuentas as $row)
			   {
				   print('<option value="'.$row->idCuenta.'" >'.$row->cuenta.', '.$row->nombre.'</option>');
			   }
			 
		echo'</select>
		<div style="padding-left:6px" id="saldoCuentaDestino"></div>';
	}
	
	public function obtenerTraspasos($limite=0)
	{
		$url				= base_url()."produccion/obtenerTraspasos/";
		$registros			= $this->administracion->contarTraspasos();
		$numero				= 10;
		$links				= 5;
		$uri				= 3;
		
		$paginador=$this->paginas->paginar($url,$registros,$numero,$links,$uri);
		$this->pagination->initialize($paginador);
		
		$data['traspasos']	= $this->administracion->obtenerTraspasos($numero,$limite);
		$data['limite']		= $limite+1;
		
		$this->load->view('administracion/traspasos/obtenerTraspasos',$data);
	}
	
	public function registrarTraspaso()
	{
		if(!empty($_POST))
		{
			echo $this->administracion->registrarTraspaso();
		}
		else echo "1";
	}
	
	public function borrarTraspaso()
	{
		if(!empty($_POST))
		{
			echo $this->administracion->borrarTraspaso();
		}
		else echo "1";
	}

	public function obtenerCajaChica($limite=0)
	{
		/*$url=base_url()."produccion/obtenerCajaChica/";
		$registros=$this->administracion->contarCajaChica();
		$numero=10;
		$links=5;
		$uri=3;
		
		$paginador=$this->paginas->paginar($url,$registros,$numero,$links,$uri);
		$this->pagination->initialize($paginador);*/
		
		$idEgreso	=$this->input->post('idEgreso');
		$egresos	=$this->administracion->obtenerCajaChica($idEgreso);
		
		echo '<input type="hidden" id="txtIdEgreso" value="'.$idEgreso.'">';
		
		echo '<div class="ui-state-error" ></div>';
		
		if($egresos!=null)
		{
			echo'
			<table class="admintable" width="100%">
			<tr>
				<th>#</th>
				<th>Fecha</th>
				<th>Concepto</th>
				<th>Monto</th>
				<th width="14%">Acciones</th>
			</tr>';
			
			$i=1;
			
			foreach($egresos as $row)
			{
				$estilo		=$i%2>0?'class="sinSombra"':'class="sombreado"';
				
				echo'
				<tr '.$estilo.'>
					<td>'.$i.'</td>
					<td>'.$row->fecha.'</td>
					<td>'.$row->concepto.'</td>
					<td align="right">$'.number_format($row->importe,2).'</td>
					<td align="center">
						<img src="'.base_url().'img/editar.png" width="22" height="22" onclick="obtenerCajaChicaEditar('.$row->idCaja.')" 
							id="btnEditarCajaChica'.$i.'" onclick="" />
						&nbsp;
						<img src="'.base_url().'img/borrar.png" width="22" height="22" onclick="borrarCajaChica('.$row->idCaja.')" />
						<br />
						<a>Editar</a>
						<a>Borrar</a>
					</td>
				</tr>';
				
				echo'
				<script>
					$("#btnEditarCajaChica'.$i.'").click(function(e)
					{
						$("#ventanaEditarCajaChica").dialog("open");
					});
				</script>';
				$i++;
			}
			
			echo '</table>';
		}
		else
		{
			 echo'
			 <div class="Error_validar" style="margin-top:2px; width:95%; float:left margin-bottom: 5px;">
             	Sin registros de caja chica.
           	 </div>';
		}
	}
	
	public function formularioCajaChica()
	{
		
		$idEgreso=$this->input->post('idEgreso');
		
		$monto		=$this->bancos->obtenerMontoEgreso($idEgreso);
		$caja	=$this->bancos->obtenerSumaCaja($idEgreso);
		
		$saldo		=$monto-$caja;
		
		echo '<div class="ui-state-error" ></div>';
		echo'
		<table class="admintable" width="100%">
			<tr>
				<td class="key">Saldo actual</td>
				<td>
					<strong>$ '.number_format($saldo,2).'</strong>
					<input type="hidden" id="txtSaldoCaja" name="txtSaldoCaja" value="'.$saldo.'" />
				</td>
			</tr>
			<tr>
				<td class="key">Concepto</td>
				<td>
					<input type="text" class="cajas" id="txtConcepto" />
				</td>
			</tr>
			<tr>
				<td class="key">Importe</td>
				<td>
					<input type="text" class="cajas" id="txtImporte" />
				</td>
			</tr>
		</table>';
	}
	
	public function obtenerCajaChicaEditar()
	{
		
		$idEgreso	=$this->input->post('idEgreso');
		$idCaja		=$this->input->post('idCaja');
		
		$cajaChica	=$this->administracion->obtenerRegistroCajaChica($idCaja);
		$monto		=$this->bancos->obtenerMontoEgreso($idEgreso);
		$caja		=$this->bancos->obtenerSumaCaja($idEgreso);
		
		$saldo		=$monto-$caja;
		
		echo'
		<div class="ui-state-error" ></div>
		<table class="admintable" width="100%">
			<tr>
				<td class="key">Saldo actual</td>
				<td>
					<strong>$ '.number_format($saldo,2).'</strong>
					<input type="hidden" id="txtSaldoCaja" name="txtSaldoCaja" value="'.$saldo.'" />
				</td>
			</tr>
			<tr>
				<td class="key">Concepto</td>
				<td>
					<input type="text" class="cajas" id="txtConcepto" value="'.$cajaChica->concepto.'" />
					<input type="hidden" id="txtIdEgreso" value="'.$idEgreso.'" />
					<input type="hidden" id="txtIdCaja" value="'.$idCaja.'" />
				</td>
			</tr>
			<tr>
				<td class="key">Importe</td>
				<td>
					<input type="text" class="cajas" id="txtImporte" value="'.$cajaChica->importe.'" />
				</td>
			</tr>
		</table>';
	}
	
	#EDITAR OTROS EGRESOS
	
	//REGISTRAR EGRESO
	//-------------------------------------------------------------------------------------------------------------------------------------
	public function registrarCajaChica()
	{
		if(!empty($_POST))
		{
			$cajaChica=$this->administracion->registrarCajaChica();
			
			#$global=$this->produccion->editarGastoGlobal();
			
			echo $cajaChica;
		}
	}
	
	public function editarCajaChica()
	{
		if(!empty($_POST))
		{
			$cajaChica=$this->administracion->editarCajaChica();
			
			#$global=$this->produccion->editarGastoGlobal();
			
			echo $cajaChica;
		}
	}
	
	public function borrarCajaChica()
	{
		if(!empty($_POST))
		{
			$idCaja=$this->input->post('idCaja');
			$cajaChica=$this->administracion->borrarCajaChica($idCaja);
			
			#$global=$this->produccion->editarGastoGlobal();
			
			echo $cajaChica;
		}
	}
}
?>
