<?php
class InventarioProductos extends CI_Controller
{
    private $_template;
    protected $_fechaActual;
    protected $_iduser;
    protected $_csstyle;
    protected $origen;

	function __construct()
	{
		parent::__construct();
		//verificar si el el usuario ha iniciado sesion
		if( ! $this->redux_auth->logged_in() )
		{
			redirect(base_url().'login');
		}
		
		$this->config->load('style', TRUE);
		$this->config->load('js',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","modelousuario");
		$this->load->model("modeloclientes","modeloclientes");
		$this->load->model("produccion_modelo","modeloproduccion");
		$this->load->model("materiales_modelo","materiales");
		$this->load->model("proveedores_model","proveedores");
		$this->load->model("inventario_model","modeloinventario");
		$this->load->model("inventarioproductos_modelo","inventario");
		$this->load->model("modelo_configuracion","configuracion");
		
		$this->origen 			= $this->session->userdata('sucursalOrigen');
	}
	
	public function imprimirProductos()
	{
		$this->load->library('mpdf/mpdf');
		$this->load->library('ccantidadletras');
		
		ini_set("memory_limit","1600M");
		set_time_limit(0); 
		
		$data['productos'] =$this->inventario->obtenerProductosImpresion();

		$html=$this->load->view('inventarioProductos/imprimirProductos',$data,true);
		$pie=$this->load->view('inventarioProductos/pie',$data,true);
		
		$this->mpdf->mPDF('en-x','Letter','','',10,10,11,15,7,10);
		#$this->mpdf->SetHTMLFooter($pie);
		#$this->mpdf->SetHTMLFooter($piesito,'E');
		$this->mpdf->mirrorMargins = 1;
		$this->mpdf->useSubstitutions=true; 
		$this->mpdf->simpleTables = true;
		$this->mpdf->WriteHTML($html);
		$this->mpdf->Output();
	}
	
	#========================================================================================================#
	#=========================================CRITERIOS DE ORDENANAMIENTO====================================#
	#========================================================================================================#
	
	public function ordenamiento($criterio)
	{
		$this->session->set_userdata('criterioProductos',$criterio);
		
		redirect('inventarioProductos','refresh');
	}

	#========================================================================================================#
	#=============================================AUTOCOMPLETADOS============================================#
	#========================================================================================================#
	
	public function autoCompletadoProductos()
	{
		if(!empty ($_POST))
		{
			$productos=$this->configuracion->autoCompletadoProductos();
			
			if ($productos!=NULL)
			{
				foreach ($productos as $row)
				{
					echo '<li onClick="datoEncontrado(\''.$row->idProducto.'\',\''.str_replace('"',"",$row->nombre).'\');">'.$row->nombre.'</li>';
				}
			}
		}
	}
	
	public function autoCompletadoProductosAlmacen()
	{
		if(!empty ($_POST))
		{
			$productos=$this->configuracion->autoCompletadoProductosAlmacen();
			
			if ($productos!=NULL)
			{
				foreach ($productos as $row)
				{
					echo '<li onClick="datoEncontrado(\''.$row->idProducto.'\',\''.str_replace('"',"",$row->nombre).'\');">'.$row->nombre.'</li>';
				}
			}
		}
	}
	
	public function autoCompletadoServicios()
	{
		if(!empty ($_POST))
		{
			$productos=$this->configuracion->autoCompletadoServicios();
			
			if ($productos!=NULL)
			{
				foreach ($productos as $row)
				{
					echo '<li onClick="datoEncontrado(\''.$row->idProducto.'\',\''.str_replace('"',"",$row->nombre).'\');">'.$row->nombre.'</li>';
				}
			}
		}
	}
	
	public function prebusquedaProducto($idProducto)
	{
		if($idProducto=="nada")
		{
			$idProducto='';
		}
		
		$this->session->set_userdata('idProductoBusqueda',$idProducto);
		
		redirect('inventarioProductos','refresh');
	}
	
	public function prebusquedaServicios($idProducto)
	{
		if($idProducto=="nada")
		{
			$idProducto='';
		}
		
		$this->session->set_userdata('idServicioBusqueda',$idProducto);
		
		redirect('inventarioProductos/servicios','refresh');
	}
	
	public function enviarProductosTienda()
	{
		if(!empty($_POST))
		{
			$envio=$this->inventario->enviarProductosTienda();
			echo $envio;
		}
	}
	
	public function obtenerProductosEnvio()
	{
		$productos=$this->inventario->obtenerProductosEnvio();
		$i=1;
		
		echo 
		'<table class="admintable" width="99%">
			<tr>
				<th>#</th>
				<th>Nombre</th>
				<th>Stock</th>
				<th>Enviar</th>
			</tr>';
		
		foreach($productos as $row)
		{
			$sql="select a.cantidad, b.nombre, b.stock,
				(b.stock/a.cantidad) as cantidadCajas
				from rel_producto_produccion as a
				inner join produccion_productos as b
				on a.idProductoProduccion=b.idProducto
				where a.idProducto='$row->idProducto'
				order by (b.stock/a.cantidad) asc
				limit 1"; //Solo se obtiene el producto con la cantidad menor
			
			$query=$this->db->query($sql)->row();
			
			$cantidad=0;
			
			if($query!=null)
			{
				$cantidad=intval($query->cantidadCajas);
			}
			
			
			if($cantidad<1)
			{
				$cantidad=0;
			}
			
			echo'
			<tr>
				<td align="right">'.$i.'</td>
				<td>'.$row->nombre.'</td>
				<td align="center">'.number_format($cantidad,2).'</td>
				<td align="center">
					<input type="text" class="cajas" style="width:60px" id="txtCantidadEnviar'.$i.'" value="1" />
					<input type="hidden" class="cajas" style="width:60px" id="txtIdProducto'.$i.'" value="'.$row->idProducto.'" />
					<input type="hidden" class="cajas" style="width:30px" id="txtCantidadTotal'.$i.'" value="'.$cantidad.'" />
					<input type="checkbox" id="chkEnviar'.$i.'" onchange="enviarProductosTienda('.$i.')" />
				</td>
			</tr>';	
			
			$i++;
		}
		
		echo'</table>';
	}

	public function index($medida='0',$rin='0',$idLinea=0,$idSubCategoria=0,$marca='0',$limite=0)
	{
		#echo $marca;
		
		$medida			= str_replace("%7B","/",$medida);
		$medida			= str_replace("%20"," ",$medida);
		$medida			= str_replace("%7D",",",$medida);
		
		$marca			= str_replace("%20"," ",$marca);
		
		
		$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->modelousuario->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['Jquical']			= $this->_jss['jquerycal'];
		$Data['permisos']			= $this->configuracion->obtenerRolPermisos($this->session->userdata('rol'));
		$Data['menuActivo']			= 'inventarioProductos'; 
		
		$this->load->view("cabezera",$Data);
		$this->load->view('header',$Data);
		$this->load->view("principal",$Data);
		
		#----------------------------------PAGINACION------------------------------------#
		$url		=base_url()."inventarioProductos/index/".$medida.'/'.$rin.'/'.$idLinea.'/'.$idSubCategoria.'/'.$marca.'/';
		$registros	=$this->inventario->contarProductos($medida,$rin,$idLinea,$idSubCategoria,$marca);
		$numero		=50;
		$links		=5;
		$uri		=8;
		
		$paginador=$this->paginas->paginar($url,$registros,$numero,$links,$uri);
		$this->pagination->initialize($paginador);
		
		#----------------------------------PERMISOS------------------------------------#
		$data['permiso']=$this->configuracion->obtenerPermisosId('5',$this->session->userdata('rol'));
		
		if($data['permiso']->leer=='0' and $data['permiso']->escribir=='0')
		{
			redirect('principal/permisosUsuario','refresh');
			return;
		}
		
		$data['productos'] 		= $this->inventario->obtenerProductosPaginado($numero,$limite,$medida,$rin,$idLinea,$idSubCategoria,$marca);
		$data['medidas'] 		= $this->inventario->obtenerMedidas();
		$data['rines'] 			= $this->inventario->obtenerRines();
		$data['categorias']		= $this->configuracion->obtenerLineas();
		$data['subCategorias']	= $this->configuracion->obtenerSubCategorias();
		$data['marcas'] 		= $this->inventario->obtenerMarcas();
		
		$data['licencias'] 		= $this->configuracion->obtenerLicenciasFirestone();
		
		
		$data['inicio']  		= $limite;
		$num_r 					= count($data['productos']);
		$data['per_page']		= $num_r;
		$data['medida'] 		= $medida;
		$data['rin'] 			= $rin;
		$data['idLinea'] 		= $idLinea;
		$data['idSubCategoria'] = $idSubCategoria;
		$data['marca'] 			= $marca;
		$data['origen']			= $this->origen;
		
		$this->load->view("inventarioProductos/index",$data);
		$this->load->view("pie",$Data);
	}
	
	public function obtenerProductos($limite=0)
	{
		#echo $marca;
		
		$medida			= $this->input->post('medida');
		$rin			= $this->input->post('rin');
		$idLinea		= $this->input->post('idLinea');
		$idSubCategoria	= $this->input->post('idSubCategoria');
		$marca			= $this->input->post('marca');

		#----------------------------------PAGINACION------------------------------------#
		$url		= base_url()."inventarioProductos/obtenerProductos/";
		$registros	= $this->inventario->contarProductos($medida,$rin,$idLinea,$idSubCategoria,$marca);
		$numero		= 50;
		$links		= 5;
		$uri		= 3;
		
		$paginador=$this->paginas->paginar($url,$registros,$numero,$links,$uri);
		$this->pagination->initialize($paginador);
		
		#----------------------------------PERMISOS------------------------------------#
		$data['permiso']		= $this->configuracion->obtenerPermisosId('5',$this->session->userdata('rol'));
		$data['productos'] 		= $this->inventario->obtenerProductosPaginado($numero,$limite,$medida,$rin,$idLinea,$idSubCategoria,$marca);
		$data['medidas'] 		= $this->inventario->obtenerMedidas();
		$data['rines'] 			= $this->inventario->obtenerRines();
		$data['categorias']		= $this->configuracion->obtenerLineas();
		$data['subCategorias']	= $this->configuracion->obtenerSubCategorias();
		$data['marcas'] 		= $this->inventario->obtenerMarcas();
		$data['licencias'] 		= $this->configuracion->obtenerLicenciasFirestone();
		
		
		$data['inicio']  		= $limite;
		$data['medida'] 		= $medida;
		$data['rin'] 			= $rin;
		$data['idLinea'] 		= $idLinea;
		$data['idSubCategoria'] = $idSubCategoria;
		$data['marca'] 			= $marca;
		$data['origen']			= $this->origen;
		
		$this->load->view("inventarioProductos/index",$data);
		$this->load->view("pie",$Data);
	}
	
	#SERVICIOS
	#====================================================================================================
	public function servicios($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->modelousuario->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']		='inventarioProductos'; 
		$Data['Jquical']		=$this->_jss['jquerycal'];
		
		$this->load->view("cabezera",$Data);
		$this->load->view('header',$Data);
		$this->load->view("principal",$Data);
		
		#----------------------------------PAGINACION------------------------------------#
		$url		= base_url()."inventarioProductos/servicios/";
		$registros	= $this->inventario->contarServicios();
		$numero		= 50;
		$links		= 5;
		$uri		= 3;
		
		$paginador=$this->paginas->paginar($url,$registros,$numero,$links,$uri);
		$this->pagination->initialize($paginador);
		
		#----------------------------------PERMISOS------------------------------------#
		$data['permiso']=$this->configuracion->obtenerPermisosId('5',$this->session->userdata('rol'));
		
		if($data['permiso']->leer=='0' and $data['permiso']->escribir=='0')
		{
			redirect('principal/permisosUsuario','refresh');
			return;
		}
		
		$data['servicios'] 			= $this->inventario->obtenerServiciosPaginado($numero,$Limite);
		$data['material'] 			= $this->materiales->materiales();
		$data['proveedores'] 		= $this->proveedores->obtenerProveedores();
		$data['costoEstandar'] 		= $this->materiales->costoEstandar();
		$data['tiendas'] 			= $this->configuracion->obtenerTiendas();
		$data['periodos'] 			= $this->configuracion->obtenerPeriodos();
		
		$data['inicio']  			= $Limite;

		$this->load->view("inventarioProductos/servicios",$data);
		$this->load->view("pie",$Data);
	}
	
	public function registrarServicio()
	{
		if(!empty ($_POST))
		{
			$servicio=$this->inventario->registrarServicio();
			
			$servicio=="1"?
				$this->session->set_userdata('notificacion','El servicio se ha registrado correctamente'):
				$this->session->set_userdata('errorNotificacion','Error al registrar el servicio');

			redirect('inventarioProductos/servicios','refresh');
		}
	}
	
	public function confirmarEditarServicio()
	{
		if(!empty ($_POST))
		{
			$servicio=$this->inventario->confirmarEditarServicio();
			
			if($servicio=="1")
			{
				$this->session->set_userdata('notificacion','El servicio se ha editado correctamente');
			}
			else
			{
				$this->session->set_userdata('errorNotificacion','Error al editar el servicio');
			}
			
			redirect($this->input->post('txtUrlRedireccion'),'refresh');
		}
	}
	
	public function editarServicio($idProducto)
	{
		$producto	=$this->inventario->editarProducto($idProducto);
		#$servicio	=$this->inventario->obtenerRelacionServicio($idProducto);
		$periodos	=$this->configuracion->obtenerPeriodos();
		$marcas		=$this->configuracion->obtenerMarcas();
		$modelos	=$this->configuracion->obtenerModelos();
		
		$rol					=$this->session->userdata('rol');
		$leer					=$rol!=1?'readonly="readonly"':'';
		
		echo'
		<form id="frmEditarProducto" name="frmEditarProducto" method="post"  enctype="multipart/form-data" action="'.base_url().'inventarioProductos/confirmarEditarServicio">
			<input type="hidden" id="txtUrlRedireccion" name="txtUrlRedireccion" value="'.$this->input->post('urlActual').'" />
				<table class="admintable" width="100%">
					
					<tr>
						<td class="key">Nombre producto</td>
						<td>
						<input type="text" class="cajas" style="width:90%" id="descripcionProducto" 
						name="descripcionProducto" value="'.$producto->descripcion.'" />
						
						<input type="hidden" class="cajas" style="width:90%" id="idProductoEditar" 
						name="idProductoEditar" value="'.$idProducto.'" />
						</td>
					</tr>
					
					<tr>
						<td class="key">Periodicidad</td>
						<td>
							<select class="cajas" id="selectPeriodosEditar" name="selectPeriodosEditar">';
								
								foreach($periodos as $row)
								{
									$seleccionado=$producto->idPeriodo==$row->idPeriodo?'selected="selected"':'';
									echo '<option '.$seleccionado.' value="'.$row->idPeriodo.'">'.$row->nombre.'</option>';
								}
								
								echo'
							</select>
						</td>
					</tr>
					
					<tr>
						<td class="key">Marca:</td>
						<td>
							<div id="obtenerMarcas" style="float:left; width:250px">
								<select class="cajas" id="selectMarcas" name="selectMarcas" style="width:240px">
									<option value="0">Seleccione</option>';
									foreach($marcas as $row)
									{
										$seleccionado=$producto->idMarca==$row->idMarca?'selected="selected"':'';
										echo '<option '.$seleccionado.' value="'.$row->idMarca.'">'.$row->nombre.'</option>';
									}
								echo'
								</select>
							</div>
							<img onclick="formularioMarcas()" src="'.base_url().'img/agregar.png" width="20" title="Agregar marca" height="20" />
						</td>
					</tr>
					
					<tr>
						<td class="key">Modelo:</td>
						<td>
							<div id="obtenerModelos" id="obtenerMarcas" style="float:left; width:250px">
								<select class="cajas" id="selectModelos" name="selectModelos" style="width:240px">
									<option value="0">Seleccione</option>';
									foreach($modelos as $row)
									{
										$seleccionado=$producto->idModelo==$row->idModelo?'selected="selected"':'';
										echo '<option '.$seleccionado.' value="'.$row->idModelo.'">'.$row->nombre.'</option>';
									}
								echo'
								</select>
							</div>
							<img onclick="formularioModelos()" src="'.base_url().'img/agregar.png" width="20" title="Agregar modelo" height="20" />
						</td>
					</tr>
					
					<tr>
						<td class="key">Año:</td>
						<td>
							<input type="text" class="cajas" value="'.$producto->anio.'" name="txtAnio" id="txtAnio" style="width:20%"/>
						</td>
					</tr>
					
					<tr>
						<td class="key">Unidad:</td>
						<td>
					  		<input type="text" name="txtUnidadEditar" value="'.$producto->unidad.'" 
								id="txtUnidadEditar" class="cajas" style="width:90%;" /> 
						</td>
					</tr>
					
					<tr>
						<td class="key">Código interno:</td>
						<td>
					  		<input type="text" name="txtCodigoInternoEditar" value="'.$producto->codigoInterno.'" id="txtCodigoInternoEditar" class="cajas" style="width:90%;" /> 
						</td>
					</tr>';
					
					$mano			=0;
					$refacciones	=0;
					
					
					echo'
					<tr>
						<td class="key">Mano de obra:</td>
						<td>
							<input type="text" name="txtManoObra" id="txtManoObra" class="cajas" style="width:20%;" onchange="calcularTotalServicio()" value="'.$producto->manoObra.'" '.$leer.'/> 
						</td>
					</tr>
					
					<tr>
						<td class="key">Refacciones:</td>
						<td>
							<input type="text" name="txtRefacciones" id="txtRefacciones" class="cajas" style="width:20%;" onchange="calcularTotalServicio()" value="'.$producto->refacciones.'" '.$leer.' /> 
						</td>
					</tr>
					
					<tr>
						<td class="key">Precio:</td>
						<td>
					  		<input type="text" name="utilidadA" readonly="readonly" value="'.$producto->precioA.'" id="utilidadA" class="cajas" style="width:20%;"  /> 
						</td>
					</tr>
			</table>
		</form>';
	}
	
	
	
	#INVENTARIOS
	#====================================================================================================
	public function inventarios($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->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['permisos']		=$this->configuracion->obtenerRolPermisos($this->session->userdata('rol'));
		$Data['menuActivo']		='inventarioProductos'; 
		$Data['Jquical']		=$this->_jss['jquerycal'];
		
		$this->load->view("cabezera",$Data);
		$this->load->view('header',$Data);
		$this->load->view("principal",$Data);
		
		#----------------------------------PAGINACION------------------------------------#
		$url		=base_url()."inventarioProductos/inventarios/";
		$registros	=$this->inventario->contarInventarios();
		$numero		=20;
		$links		=5;
		$uri		=3;
		
		$paginador=$this->paginas->paginar($url,$registros,$numero,$links,$uri);
		$this->pagination->initialize($paginador);
		
		#----------------------------------PERMISOS------------------------------------#
		$data['permiso']=$this->configuracion->obtenerPermisosId('5',$this->session->userdata('rol'));
		
		if($data['permiso']->leer=='0' and $data['permiso']->escribir=='0')
		{
			redirect('principal/permisosUsuario','refresh');
			return;
		}
		
		$data['inventarios'] 	= $this->inventario->obtenerInventarios($numero,$Limite);
		$data['proveedores'] 	= $this->proveedores->obtenerProveedores();
		$data['contador']  		= $Limite;

		$this->load->view("inventarioProductos/inventarios",$data);
		$this->load->view("pie",$Data);
	}
	
	public function registrarInventario()
	{
		if(!empty ($_POST))
		{
			$inventarios=$this->inventario->registrarInventario();
			
			$inventarios=="1"?
				$this->session->set_userdata('notificacion','El producto se ha registrado correctamente'):
				$this->session->set_userdata('errorNotificacion','Error al registrar el producto');

			redirect('inventarioProductos/inventarios','refresh');
		}
	}
	
	public function borrarInventario($idInventario)
	{
		#----------------------------------PERMISOS------------------------------------#
		$data['permiso']=$this->configuracion->obtenerPermisosId('5',$this->session->userdata('rol'));
		
		if($data['permiso']->escribir=='0')
		{
			redirect('principal/permisosUsuario','refresh');
			return;
		}
		
		$inventarios=$this->inventario->borrarInventario($idInventario);
		
		$inventarios=="1"?
				$this->session->set_userdata('notificacion','El producto se ha borrado correctamente'):
				$this->session->set_userdata('errorNotificacion','El producto esta asociado a compras y/o usos, no puede borrarse');
				
		redirect("inventarioProductos/inventario","refresh");
	}
	
	public function formularioAgregarProveedor()
	{
		$proveedores	=$this->proveedores->obtenerProveedores();
		$idInventario	=$this->input->post('idInventario');
		
		echo '
		<table class="admintable" width="100%">
			<tr>
				<td class="key">Proveedor: </td>
				<td>
				<select id="selectAsociarProveedor" style="width:390px" name="selectAsociarProveedor" class="cajas">
					<option value="0">Seleccione</option>';
				
				foreach($proveedores as $row)
				{
					$proveedor=$this->inventario->comprobarProveedorInventario($row->idProveedor,$idInventario);
					
					if($proveedor==0)
					{
						echo '<option value="'.$row->idProveedor.'">'.$row->empresa.'</option>';
					}
				}
				echo'
				
				</select>
				</td>
			</tr>
			<tr>
				<td class="key">Costo:</td>
				<td>
					<input type="text" class="cajas" id="txtCostoProveedor" />
				</td>
			</tr>
		</table>';
	}
	
	public function asociarProveedorInventario()
	{
		if(!empty ($_POST))
		{
			$inventarios=$this->inventario->asociarProveedorInventario();
			echo $inventarios;	
		}
	}
	
	public function editarInventario()
	{
		if(!empty ($_POST))
		{
			$inventarios=$this->inventario->editarInventario();
			
			$inventarios=="1"?
				$this->session->set_userdata('notificacion','El producto se ha editado correctamente'):
				$this->session->set_userdata('errorNotificacion','Error al editar el producto');

			redirect('inventarioProductos/inventarios','refresh');
		}
		
		redirect("inventarioProductos/inventario","refresh");
	}
	
	public function obtenerInventario()
	{
		$idInventario=$this->input->post('idInventario');
		
		$inventario		=$this->inventario->obtenerInventario($idInventario);
		$proveedores	=$this->proveedores->obtenerProveedores();
		$inventarios	=$this->inventario->obtenerInventarioProveedor($idInventario);
		
		echo
		'<form id="frmEditarInventario" name="frmEditarInventario" method="post" action="'.base_url().'inventarioProductos/editarInventario">
				<table class="admintable" width="100%">
					<tr>
						<td class="key">Nombre:</td>
						<td>
							<input type="text" class="cajas" style="width:90%" id="txtNombreEditar" 
							name="txtNombreEditar" value="'.$inventario->nombre.'" />
							
							<input type="hidden" id="txtIdInventario" name="txtIdInventario" value="'.$idInventario.'" />
						</td>
					</tr>
			</table>
		</form>';
		
		echo '
		<table class="admintable" width="100%">
			<tr>
				<th colspan="3">Proveedores asociados</th>
			</tr>
			<tr>
				<th width="3%">#</th>
				<th width="70%">Proveedor</th>
				<th>Costo</th>
			</tr>';
		
		$i=1;
		foreach($inventarios as $row)
		{
			$estilo=$i%2>0?'class="sinSombra"':'class="sombreado"';
			echo '
			<tr '.$estilo.'>
				<td>'.$i.'</td>
				<td>'.$row->empresa.'</td>
				<td align="right">$'.number_format($row->costo,2).'</td>
			</tr>';
			
			$i++;
		}
		
		echo '</table>';
	}
	
	public function obtenerUsosInventario($limite=0)
	{
		$idInventario=$this->input->post('idInventario');
		
		#----------------------------------PAGINACION------------------------------------#
		$url		=base_url()."inventarioProductos/obtenerUsosInventario/";
		$registros	=$this->inventario->contarUsosInventario();
		$numero		=10;
		$links		=5;
		$uri		=3;
		
		$paginador=$this->paginas->paginar($url,$registros,$numero,$links,$uri);
		$this->pagination->initialize($paginador);
		
		$usos 			= $this->inventario->obtenerUsosInventario($numero,$limite);
		$inventario 	= $this->inventario->obtenerInventario($idInventario);
		
		echo '<input type="hidden" id="txtIdInventario" value="'.$idInventario.'" />';
		
		echo '
		<table class="admintable" width="100%">
			<tr>
				<th colspan="2">Registrar uso</th>
			</tr>
			<tr>
				<td class="key">Existencia:</td>
				<td>
				'.$inventario->cantidad.'
				<input type="hidden" id="txtExistencia" value="'.$inventario->cantidad.'" />
				</td>
			</tr>
			
			<tr>
				<td class="key">Cantidad a usar:</td>
				<td>
					<input type="text" class="cajas" id="txtCantidadUsar" />
				</td>
			</tr>
			
			<tr>
				<td class="key">Comentarios:</td>
				<td>
					<textarea class="TextArea" id="txtComentarios"></textarea>
				</td>
			</tr>
		</table>';
		
		if($usos!=null)
		{
			echo '<div style="width:90%; margin-bottom:1%;">';
			echo("<ul id='pagination-digg' class='ajax-pagUso'>");
			echo($this->pagination->create_links());
			echo("</ul>");
			echo '</div>';
			
			echo '
			<table class="admintable" width="100%">
				<tr>
					<th colspan="4">Usos de '.$inventario->nombre.'</th>
				</tr>
				<tr>
					<th width="3%">#</th>
					<th>Fecha</th>
					<th>Cantidad</th>
					<th>Comentarios</th>
				</tr>';
				
			$i=1;
			foreach($usos as $row)
			{
				$estilo=$i%2>0?'class="sinSombra"':'class="sombreado"';
				
				echo '
				<tr '.$estilo.'>
					<td>'.$i.'</td>
					<td align="center">'.$row->fecha.'</td>
					<td align="center">'.number_format($row->cantidad,2).'</td>
					<td>'.$row->comentarios.'</td>
				</tr>';
				
				$i++;
			}
			
			echo '</table>';
		}
		else
		{
			echo'<div class="Error_validar" style="margin-top:10px; margin-bottom: 5px;">No hay registros de usos de inventario</div>';
		}
	}
	
	public function registrarUsoInventario()
	{
		if(!empty ($_POST))
		{
			$usos=$this->inventario->registrarUsoInventario();
			echo $usos;	
		}
	}
	
	#====================================================================================================================================#
	
   public function produccionProductos()
   {
   	if(!empty ($_POST))
	{
   		$orden=$this->inventario->ObtenerProductos();
		if ($orden!=NULL)
		{
			foreach ($orden as $row)
			{
				echo '<li onClick="fill(\''.$row['nombre'].'\',\''.$row['idProducto'].'\');">'.$row['nombre'].'</li>';
			}
		}
	}
   }
   
   
	public function obtenerRemisionProductos22()
	{
		if(!empty ($_POST))
		{
			$orden=$this->inventario->obtenerRemisionProductos();
			
			if ($orden!=NULL)
			{
				foreach ($orden as $row)
				{
					echo '<li onClick="fill(\''.$row['descripcion'].'\',
					\''.$row['id'].'\'
					);">'.$row['descripcion'].'</li>';
				}
			}
		}
	}
	
	public function obtenerRemisionProductos()
	{
		if(!empty ($_POST))
		{
			$productos=$this->inventario->obtenerRemisionProductos();
			
			foreach ($productos as $row)
			{
				$factor		="0";
				$valor		="0";
				$servicio	="";
				$idPeriodo	="0";
				
				if($row->servicio!=0)
				{
					$periodo=$this->configuracion->obtenerPeriodo($row->idPeriodo);
					
					$factor		=$periodo->factor;
					$valor		=$periodo->valor;
					$servicio	=', '.$periodo->nombre;
					$idPeriodo	=$periodo->idPeriodo;
				}
				
				echo '<li onClick="fill
				(
					\''.str_replace('"',"",$row->nombre.$servicio).'\'
					,\''.$row->idProducto.'\'
					,\''.$row->precioA.'\'
					,\''.$row->precioB.'\'
					,\''.$row->precioC.'\'
					,\''.$row->precioD.'\'
					,\''.$row->precioE.'\'
					,\''.$row->servicio.'\'
					,\''.$idPeriodo.'\'
					,\''.$factor.'\'
					,\''.$valor.'\'
				)
				
				">'.$row->nombre.$servicio.'</li>';
			}
		}
	}
	
    public function borrarProducto($idProducto)
	{
		#----------------------------------PERMISOS------------------------------------#
		$data['permiso']=$this->configuracion->obtenerPermisosId('5',$this->session->userdata('rol'));
		
		if($data['permiso']->escribir=='0')
		{
			redirect('principal/permisosUsuario','refresh');
			return;
		}
		
		$producto	=$this->inventario->borrarProducto($idProducto);
		
		if($producto=="0")
		{
			$this->session->set_userdata('errorNotificacion','El producto esta asociado a ventas, proveedores, ordenes de producción y/o compras, no puede borrarse');
		}
		else
		{
			$this->session->set_userdata('notificacion','El producto se ha borrado correctamente');
		}
		
		redirect("inventarioProductos/index/0","refresh");
	}
	
	public function borrarServicio($idProducto)
	{
		#----------------------------------PERMISOS------------------------------------#
		$data['permiso']=$this->configuracion->obtenerPermisosId('5',$this->session->userdata('rol'));
		
		if($data['permiso']->escribir=='0')
		{
			redirect('principal/permisosUsuario','refresh');
			return;
		}
		
		$producto	=$this->inventario->borrarProducto($idProducto);
		
		if($producto=="0")
		{
			$this->session->set_userdata('errorNotificacion','El servicio esta asociado a ventas no puede borrarse');
		}
		else
		{
			$this->session->set_userdata('notificacion','El servicio se ha borrado correctamente');
		}
		
		redirect("inventarioProductos/servicios","refresh");
	}
	
	 public function borrarProductoCaja($idProducto,$id,$pagina)
	{
		#----------------------------------PERMISOS------------------------------------#
		$data['permiso']=$this->configuracion->obtenerPermisosId('5',$this->session->userdata('rol'));
		
		if($data['permiso']->escribir=='0')
		{
			redirect('principal/permisosUsuario','refresh');
			return;
		}
		
		$borrar=$this->inventario->borrarProductoCaja($idProducto,$id);
		
		redirect("/inventarioProductos/index/".$pagina,"refresh");
	}

	/*public function agregarInventario()
	{
		if(!empty ($_POST))
		{
			$inventario=$this->inventario->inventarioAgregar();
			print($inventario);
		}
	}*/
	
	public function agregarInventario()
	{
		if(!empty ($_POST))
		{
			$imagen =$_FILES['userfile']['name'];
			
			if(strlen($imagen)==0)
			{
				$imagen="nada";
			}
			
			$idProducto		= $this->inventario->inventarioAgregar($imagen);
			$uploaddir  	= "img/productos/";
			$uploadfile 	= $uploaddir . basename($idProducto."_".$imagen);
			
			move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile);
			
			$this->session->set_userdata('notificacion','El producto se ha registrado correctamente');
			
			redirect('inventarioProductos/','refresh');
		}
	}
	
	public function editarConfirmar()
	{
		if(!empty ($_POST))
		{
			
			$imagen =$_FILES['userfile1']['name'];
			
			if(strlen($imagen)<3)
			{
				$imagen="nada";
			}
			
			$producto	= $this->inventario->editarProductoConfirmar($imagen);
			$idProducto	= $this->input->post('idProductoEditar');
			$uploaddir  = "img/productos/";
			$uploadfile = $uploaddir . basename($idProducto."_".$imagen);
			
			move_uploaded_file($_FILES['userfile1']['tmp_name'], $uploadfile);
			
			if($producto=="1")
			{
				$this->session->set_userdata('notificacion','El producto se ha editar correctamente');
			}
			else
			{
				$this->session->set_userdata('errorNotificacion','Error al editar el registro del producto');
			}
			
			redirect($this->input->post('txtUrlRedireccion'),'refresh');
		}
	}

	public function editarProducto($idProducto)
	{
		$data['producto']				= $this->inventario->editarProducto($idProducto);
		$data['lineas']					= $this->configuracion->obtenerLineas(); 
		$data['subCategorias']			= $this->configuracion->obtenerSubCategorias($data['producto']->idLinea);
		$data['proveedores'] 			= $this->proveedores->obtenerProveedores();
		$data['rol']					= $this->session->userdata('rol');
		$data['idProducto']				= $idProducto;
		
		$this->load->view('inventarioProductos/obtenerProducto',$data);
	}
	
	public function editarDetalleConfirmar()
	{
		if(!empty ($_POST))
		{
			echo $this->inventario->editarProductoDetalleConfirmar();
		}
		else
		{
			echo "0";
		}
	}
	
	public function editarDetalleCaja($idProductoCaja,$idProducto)
	{
		$producto=$this->inventario->obtenerDetalleCaja($idProductoCaja,$idProducto);
		
		echo'
		<table class="admintable" width="99%">
			<tr>
				<th id="nombreDetalle" colspan="2">Editar detalle de producto</th>
			</tr>
			<tr>
				<td class="key"> Cantidad</td>
				<td><input type="text" class="cajas" id="cantidadProducto" name="cantidadProducto" value="'.number_format($producto->cantidad,0).'" /></td>
			</tr>
		</table>';
	}
	
	public function agregarProducto()
	{
		if(!empty ($_POST))
		{
			$inventario=$this->inventario->agregarProductoCaja();
			print($inventario);
		}
	}

	public function saveProducto()
	{
		if(!empty ($_POST))
		{
			$id = intval($this->input->post('id'));		
			if($this->modeloproduccion->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');
		}
	}
	
	//DETALLES DEL PRODUCTO
	//=================================================================================================================
	public function obtenerDetalleProducto($idProducto)
	{
		$producto=$this->inventario->editarProducto($idProducto);
		
		echo
		'<table class="admintable" width="99%" style="margin-top:5px">
			<tr>
				<td align="center">';
				$imagen='<img src="'.base_url().'img/productos/default.png" style="width:100px; height:100px;"  />';
			
				if(file_exists("img/productos/".$idProducto.'_'.$producto->imagen))
				{
					$imagen='<img src="'.base_url().'img/productos/'.$idProducto.'_'.$producto->imagen.'" 
						style="width:100px; height:100px;" />';
				}
					
				echo $imagen;
					
				echo'</td>
				<td align="center">
				
				<script>
					$("#codigoEditar").barcode("'.$producto->codigoBarras.'", "code93",{barWidth:1, barHeight:40})
				</script>
				<div id="codigoEditar"></div></td>
			</tr>
			<tr class="sombreado">
				<td><strong>Nombre: </strong>'.$producto->descripcion.'</td>
				<td><strong>Código interno:</strong> '.$producto->codigoInterno.'</td>
			</tr>
			<tr class="sinSombra">
				<td><strong>Fecha registro: </strong> '.$producto->fechaRegistro.'</td>
				<td><strong>Unidad: </strong>'.$producto->unidad.'</td>
			</tr>
			<tr class="sombreado">
				<td><strong>Precio A: </strong>'.$producto->precioA.'</td>
				<td><strong>Precio B: </strong>'.$producto->precioB.'</td>
			</tr>
			
			<tr class="sinSombra">
				<td><strong>Precio C:</strong> '.$producto->precioC.'</td>
				<td><strong>Precio D: </strong>'.$producto->precioD.'</td>
			</tr>
			
			<tr class="sombreado">
				<td><strong>Precio E:</strong> '.$producto->precioE.'</td>
				<td><strong>Inventario:</strong> '.$producto->stock.' unidades</td>
			</tr>
		</table>';
	}
	
	#AGREGAR PROVEEDOR A PRODUCTO
	#================================================================================================
	
	public function obtenerTodosProveedores()
	{
		if(!empty($_POST))
		{
			$idProducto				=$this->input->post('idProducto');
			$proveedores			=$this->modeloinventario->obtenerProveedores();
			$proveedoresAsociados	=$this->inventario->obtenerProveedoresAsociados($idProducto);
			
			echo
			'<table class="admintable">
				<tr>
					<td class="key">Seleccione un proveedor</td>
					<td>
					<select id="proveedoresProductos" class="cajas" style="width:90%">;
						<option value="0">Seleccione</option>';
						
						foreach($proveedores as $row) 
						{
							if($this->inventario->checarProveedorProducto($row->idProveedor,$idProducto)==0)
							{
								echo '<option value="'.$row->idProveedor.'">'.$row->empresa.'</option>';
							}
						}
					
						echo'
						</select>
					</td>
				</tr>
				<tr>
					<td class="key">Costo</td>
					<td>
						<input type="text" class="cajas" id="txtCostoProducto" style="width:100px" />
						<input type="hidden" id="txtIdProducto" value="'.$idProducto.'" />
					</td>
				</tr>
			</table>';
			
			echo '
			<table class="admintable" width="99%">
			<tr>
				<th>#</th>
				<th width="50%">Proveedor</th>
				<th>Costo</th>
				<th>Acciones</th>
			</tr>';
			
			$i=1;
			foreach($proveedoresAsociados as $row)
			{
				echo'
				<tr ';
				echo $i%2>0?'class="sinSombra"':'class="sombreado"';
				echo'>
					<td>'.$i.'</td>
					<td>'.$row->empresa.'</td>
					<td align="center">
						$<input type="text" class="cajas" id="txtCostoProveedor'.$i.'" value="'.$row->precio.'" />
					</td>
					
					<td align="center">
						<img onclick="editarCostoProveedor('.$idProducto.','.$row->idProveedor.','.$i.')" src="'.base_url().'img/editar.png" width="22" title="Editar costo" />
						<br />
						<a>Editar</a>
					</td>
					
				</tr>';
				
				$i++;
			}
			
			echo'</table>';
		}
	}
	
	public function editarCostoProveedor()
	{
		if(!empty ($_POST))
		{
			$inventario=$this->inventario->editarCostoProveedor();
			echo $inventario;
		}
	}
	
	public function asociarProveedorProducto()
	{
		if(!empty ($_POST))
		{
			$inventario=$this->inventario->asociarProveedorProducto();
			echo $inventario;
		}
	}
	
	public function formularioProductos()
	{
		$this->load->view('inventarioProductos/formularioProductos');
	}
	
	//PARA LOS SERVICIOS
	
	public function obtenerMarcas()
	{
		$marcas=$this->configuracion->obtenerMarcas();
		
		echo'
		<select class="cajas" id="selectMarcas" name="selectMarcas" style="width:240px">
			<option value="0">Seleccione</option>';
			
			foreach($marcas as $row)
			{
				echo'<option value="'.$row->idMarca.'">'.$row->nombre.'</option>';	
			}
			
		echo'</select>';
	}
	
	public function registrarMarca()
	{
		if(!empty($_POST))
		{
			$marca=$this->configuracion->registrarMarca();
			echo $marca;
		}
	}
	
	public function formularioMarcas()
	{
		echo'
		<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="txtMarca" />
				</td>
			</tr>
		</table>';
	}
	
	public function obtenerModelos()
	{
		$modelos	=$this->configuracion->obtenerModelos();
		
		echo'
		<select class="cajas" id="selectModelos" name="selectModelos" style="width:240px">
			<option value="0">Seleccione</option>';
			
			foreach($modelos as $row)
			{
				echo'<option value="'.$row->idModelo.'">'.$row->nombre.'</option>';	
			}
			
		echo'</select>';
	}
	
	public function registrarModelo()
	{
		if(!empty($_POST))
		{
			$modelo=$this->configuracion->registrarModelo();
			echo $modelo;
		}
	}
	
	public function formularioModelos()
	{
		echo'
		<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="txtModelo" />
				</td>
			</tr>
		</table>';
	}
	
	public function formularioServicios()
	{
		$periodos			= $this->configuracion->obtenerPeriodos();
		
		echo '
		<form id="frmAgregarProducto" name="frmAgregarProducto" method="post" action="'.base_url().'inventarioProductos/registrarServicio">
		<table class="admintable" width="100%;">
			<tr>
			  <td class="key">Nombre servicio:</td>
			  <td>
				  <input type="text" name="txtNombreServicio" id="txtNombreServicio" class="cajas" style="width:90%;" /> 
			</td>
			</tr>
			
			<tr>
				<td class="key">Periodicidad:</td>
				<td>
					<select class="cajas" id="selectPeriodo" name="selectPeriodo">';
						
						foreach($periodos as $row)
						{
							echo '<option value="'.$row->idPeriodo.'">'.$row->nombre.'</option>';
						}
						
					echo'
					</select>
				</td>
			</tr>
			
			<tr>
				<td class="key">Marca:</td>
				<td>
					<div id="obtenerMarcas" style="float:left; width:250px">
						<select class="cajas" id="selectMarcas" name="selectMarcas" style="width:240px">
							<option value="0">Seleccione</option>
						</select>
					</div>
					<img onclick="formularioMarcas()" src="'.base_url().'img/agregar.png" width="20" title="Agregar marca" height="20" />
				</td>
			</tr>
			
			<tr>
				<td class="key">Modelo:</td>
				<td>
					<div id="obtenerModelos" id="obtenerMarcas" style="float:left; width:250px">
						<select class="cajas" id="selectModelos" name="selectModelos" style="width:240px">
							<option value="0">Seleccione</option>
						</select>
					</div>
					<img onclick="formularioModelos()" src="'.base_url().'img/agregar.png" width="20" title="Agregar modelo" height="20" />
				</td>
			</tr>
			
			<tr>
				<td class="key">Año:</td>
				<td>
					<input type="text" class="cajas" name="txtAnio" id="txtAnio" style="width:20%"/>
				</td>
			</tr>
			
			<tr>
				<td class="key">Unidad:</td>
				<td>
					<input type="text" class="cajas" name="txtUnidad" value="Servicio" id="txtUnidad" style="width:90%"/>
				</td>
			</tr>
			
			
			<tr>
				<td class="key">Código:</td>
				<td>
					<input type="text" name="txtCodigoInterno" id="txtCodigoInterno" class="cajas" style="width:90%;" /> 
				</td>
			</tr>
			
			<tr>
				<td class="key">Mano de obra:</td>
				<td>
					<input type="text" name="txtManoObra" id="txtManoObra" class="cajas" style="width:20%;" onchange="calcularTotalServicio()" value="0" /> 
				</td>
			</tr>
			
			<tr>
				<td class="key">Refacciones:</td>
				<td>
					<input type="text" name="txtRefacciones" id="txtRefacciones" class="cajas" style="width:20%;" onchange="calcularTotalServicio()" value="0" /> 
				</td>
			</tr>
			
			<tr>
				<td class="key">Precio:</td>
				<td>
				<input type="text" class="cajas" name="utilidadA" value="0" id="utilidadA" style="width:20%" readonly="readonly"/>
				</td>
			</tr>
		</table>
		</form>';
	}
	
	
	//PARA REGISTRAR PRODUCTOS DESDE CLIENTES
	
	public function registrarProducto()
	{
		if(!empty ($_POST))
		{
			$producto=$this->inventario->registrarProducto();
			echo $producto;
			
		}
	}
	
	public function formularioProductosClientes()
	{
		echo '
		<script>
		$(document).ready(function()
		{
			$("#nombre").autocomplete(
			{
				source:"'.base_url().'configuracion/obtenerProductosInventarioRepetido",
				
				select:function( event, ui)
				{
					notify("El producto ya esta registrado",500,5000,"error",5,5);
					document.getElementById("nombre").reset();
				}
			});
		});
		</script>
		<div class="ui-state-error" ></div>
		<form id="frmAgregarProducto" name="frmAgregarProducto">
		<table class="admintable" width="100%;">
		<tr>
		  <td class="key">Nombre producto:</td>
		  <td>
			  <input type="text" name="nombre" id="nombre" class="cajas" style="width:98%;" /> 
			  
		</td>
		</tr>
		
		<tr>
			<td class="key">Categoría:</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>
				<div style="margin-right:130px; width:80px; float: right" align="center">
					<img onclick="formularioLineas()" src="'.base_url().'img/agregar.png" width="20" title="Agregar" height="20" /> 
					<br />
					<a>Agregar</a>
				</div>
			</td>
		</tr>
		
		<tr>
			<td class="key">Subcategoría:</td>
			<td>
				<div id="obtenerSubCategorias" style="float:left; width:300px">
					<select class="cajas" id="selectSubCategorias" name="selectSubCategorias" style="width:280px">
						<option value="0">Seleccione</option>
					</select>
				</div>
			</td>
		</tr>
			
		<tr>
			<td class="key">Unidad</td>
			<td>
				<input type="text" class="cajas" name="txtUnidad" value="Pieza" id="txtUnidad" style="width:30%"/>
			</td>
		</tr>
		
		<tr>
			<td class="key">Proveedor</td>
			<td>
				<div style="float:left; width:460px">
					<input type="hidden" class="cajas" id="selectProveedores" name="selectProveedores" value="0">
					<input type="text" style="width:450px" class="cajas" id="txtBuscarProveedor" name="txtBuscarProveedor">
				</div>
				<div style="width:70px; float: right" align="center">
					<img onclick="formularioProveedores()" src="'.base_url().'img/agregar.png" width="20" title="Agregar proveedor" height="20" /><br />
					<a>Agregar</a>
				</div>
				
				<script>
				$("#txtBuscarProveedor").autocomplete(
				{
					source:"'.base_url().'configuracion/obtenerProveedores",
					
					select:function( event, ui)
					{
						$("#selectProveedores").val(ui.item.idProveedor);
					}
				});
				</script>
			</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">Medida</td>
			<td>
				<input type="text" class="cajas" name="txtMedida" id="txtMedida" style="width:50%"/>
			</td>
		</tr>
		
		<tr>
			<td class="key">Rin</td>
			<td>
				<input type="text" class="cajas" name="txtRin" id="txtRin" style="width:30%"/>
			</td>
		</tr>
		
		<tr>
			<td class="key">Marca</td>
			<td>
				<input type="text" class="cajas" name="txtMarca" id="txtMarca" style="width:90%"/>
			</td>
		</tr>
		
		<tr>
			<td class="key">Diseño</td>
			<td>
				<input type="text" class="cajas" name="txtDiseno" id="txtDiseno" style="width:90%"/>
			</td>
		</tr>
		
		<tr>
			<td class="key">Serie</td>
			<td>
				<input type="text" class="cajas" name="txtSerie" id="txtSerie" style="width:30%"/>
			</td>
		</tr>
		
		<tr>
			<td class="key">Ancho</td>
			<td>
				<input type="text" class="cajas" name="txtAncho" id="txtAncho" style="width:30%"/>
			</td>
		</tr>
		
		<tr>
			<td class="key">SBU</td>
			<td>
				<input type="text" class="cajas" name="txtSbu"  id="txtSbu" style="width:30%"/>
			</td>
		</tr>
		
		<tr>
			<td class="key">DS</td>
			<td>
				<input type="text" class="cajas" name="txtDs"  id="txtDs" style="width:30%"/>
			</td>
		</tr>
		
		<tr>
			<td class="key">Costo</td>
			<td>
				<input type="text" class="cajas" name="txtCosto" value="0" id="txtCosto" style="width:20%"/>
			</td>
		</tr>
		
		<tr>
			<td class="key">Precio mínimo</td>
			<td>
			<input type="text" class="cajas" name="utilidadA" value="0" id="utilidadA" style="width:20%"/>
			</td>
		</tr>
		<tr>
			<td class="key">Precio de lista</td>
			<td>
			<input type="text" class="cajas" name="utilidadB" id="utilidadB" style="width:20%" value="0"/>
			</td>
		</tr>
		<tr>
			<td class="key">Precio mayoreo</td>
			<td>
			<input type="text" class="cajas" name="utilidadC" value="0" id="utilidadC" style="width:20%"/>
			</td>
		</tr>
		<tr>
			<td class="key">Precio agencias</td>
			<td>
			<input type="text" class="cajas" name="utilidadD" value="0" id="utilidadD" style="width:20%"/>
			</td>
		</tr>
		<tr>
			<td class="key">Precio asociados</td>
			<td>
			<input type="text" class="cajas" name="utilidadE" value="0" id="utilidadE" style="width:20%"/>
			</td>
		</tr>
		<tr style="display:none">
			<td class="key">Inventario inicial</td>
			<td>
			<input type="text" class="cajas" name="txtInventarioInicial" value="0" id="txtInventarioInicial" style="width:20%"/>
			</td>
		</tr>
		
		<tr>
			<td class="key">Inventario mínimo</td>
			<td>
				<input type="text" class="cajas" name="txtInventarioMinimo" value="0" id="txtInventarioMinimo" style="width:20%" onkeypress="return soloDecimales(event)"/>
			</td>
		</tr>
		
		
		</table>
		</form>';
	}
	
	public function registrarServicioClientes()
	{
		if(!empty ($_POST))
		{
			$servicio=$this->inventario->registrarServicio();
			echo $servicio;
		}
	}
	
	public function formularioServiciosClientes()
	{
		$periodos			= $this->configuracion->obtenerPeriodos();
		
		echo '
		<form id="frmServicios" name="frmServicios" >
			<table class="admintable" width="100%;">
				<tr>
				  <td class="key">Nombre servicio:</td>
				  <td>
					  <input type="text" name="txtNombreServicio" id="txtNombreServicio" class="cajas" style="width:90%;" /> 
				</td>
				</tr>
				
				<tr>
					<td class="key">Periodicidad:</td>
					<td>
						<select class="cajas" id="selectPeriodo" name="selectPeriodo">';
							
							foreach($periodos as $row)
							{
								echo '<option value="'.$row->idPeriodo.'">'.$row->nombre.'</option>';
							}
							
						echo'
						</select>
					</td>
				</tr>
				
				<tr>
					<td class="key">Marca:</td>
					<td>
						<div id="obtenerMarcas" style="float:left; width:250px">
							<select class="cajas" id="selectMarcas" name="selectMarcas" style="width:240px">
								<option value="0">Seleccione</option>
							</select>
						</div>
						<img onclick="formularioMarcas()" src="'.base_url().'img/agregar.png" width="20" title="Agregar marca" height="20" />
					</td>
				</tr>
				
				<tr>
					<td class="key">Modelo:</td>
					<td>
						<div id="obtenerModelos" id="obtenerMarcas" style="float:left; width:250px">
							<select class="cajas" id="selectModelos" name="selectModelos" style="width:240px">
								<option value="0">Seleccione</option>
							</select>
						</div>
						<img onclick="formularioModelos()" src="'.base_url().'img/agregar.png" width="20" title="Agregar modelo" height="20" />
					</td>
				</tr>
				
				<tr>
					<td class="key">Año:</td>
					<td>
						<input type="text" class="cajas" name="txtAnio" id="txtAnio" style="width:20%"/>
					</td>
				</tr>
				
				<tr>
					<td class="key">Unidad:</td>
					<td>
						<input type="text" class="cajas" name="txtUnidad" value="Servicio" id="txtUnidad" style="width:90%"/>
					</td>
				</tr>
				
				
				<tr>
				  <td class="key">Código:</td>
				  <td>
					  <input type="text" name="txtCodigoInterno" id="txtCodigoInterno" class="cajas" style="width:90%;" /> 
				</td>
				</tr>
				
				<tr>
					<td class="key">Mano de obra:</td>
					<td>
						<input type="text" name="txtManoObra" id="txtManoObra" class="cajas" style="width:20%;" onchange="calcularTotalServicio()" value="0" /> 
					</td>
				</tr>
				
				<tr>
					<td class="key">Refacciones:</td>
					<td>
						<input type="text" name="txtRefacciones" id="txtRefacciones" class="cajas" style="width:20%;" onchange="calcularTotalServicio()" value="0" /> 
					</td>
				</tr>
				
				<tr>
					<td class="key">Precio:</td>
					<td>
						<input type="text" class="cajas" readonly="readonly" name="utilidadA" value="0" id="utilidadA" style="width:20%"/>
					</td>
				</tr>
			</table>
		</form>';
	}
	
	public function excelProductos()
	{
		$this->load->library('excel/PHPExcel');
		
		$data['productos']		=$this->inventario->obtenerProductosReporte();

		$this->load->view('inventarioProductos/excelProductos',$data);
	}
	
	//PARA EXCEL XLSX
	
	public function excel2007()
	{
		$inputFileType 	= PHPExcel_IOFactory::identify('mylarge.xlsx');
		$objReader 		= PHPExcel_IOFactory::createReader($inputFileType);  

		$objReader->setReadDataOnly(true);

		/**  Load $inputFileName to a PHPExcel Object  **/  
		$objPHPExcel 			= $objReader->load('mylarge.xlsx');
		$total_sheets			= $objPHPExcel->getSheetCount(); 
		$allSheetName			= $objPHPExcel->getSheetNames(); 
		$objWorksheet 			= $objPHPExcel->setActiveSheetIndex(0); 
		$highestRow 			= $objWorksheet->getHighestRow(); 
		$highestColumn 			= $objWorksheet->getHighestColumn();  
		$highestColumnIndex 	= PHPExcel_Cell::columnIndexFromString($highestColumn);  
		
		for ($row = 1; $row <= $highestRow;++$row) 
		{  
			for ($col = 0; $col <$highestColumnIndex;++$col)
			{  
				$value						=$objWorksheet->getCellByColumnAndRow($col, $row)->getValue();  
				$arraydata[$row-1][$col]	=$value; 
			}  
		}

		print_r($arraydata);
	}
	
	#---------------------SUBIR EL FICHERO EN EXCEL PAR ACTUALIZAR PRECIOS-------------------------------#
	public function subirFicheroExcel()
	 {
		$directorio  = "media/ficheros/";
		#$uploadfile = $uploaddir . basename($_FILES['userfile']['name']);
		$uploadfile = $directorio.'actualizarProductos.xls';
		
		if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) 
		{
			//sleep(5);
			$this->importarExcel();
		} 
		else 
		{
		  	echo "0";
		}
	 }
	
	public function importarExcel() 	
	{
		$file = "media/ficheros/actualizarProductos.xls";

		$data_['success'] = FALSE;
		$this->load->library('excel_reader2');
		
		$data = new Excel_Reader2($file, false, 'UTF-8');
		
		if($data->status == TRUE)
		{
			$this->db->trans_start();
			
			$rows = $data->rowcount($sheet_index=0);
			$cols = $data->colcount($sheet_index=0);

			$col=1;	  
			
			for($row = 2; $row <= $rows ; $row++)
			{
				$id						= $data->val($row,1);
				$codigoInterno			= $data->val($row,3);

				$subCategoria			= trim($data->val($row,2));
				$dat['idLinea']			= $this->inventario->obtenerLineaNombre(trim($data->val($row,1)));
				$dat['idSubCategoria']	= strlen($subCategoria)>2?$this->inventario->obtenerSubcategoriaNombre($dat['idLinea'],$subCategoria):0;

				//CAMPOS A ACTUALIZAR
				$dat['nombre']			= trim($data->val($row,7));
				$dat['diseno']			= $data->val($row,7);
				$dat['medida']			= $data->val($row,8);
				$dat['ancho']			= $data->val($row,9);
				$dat['serie']			= $data->val($row,10);
				$dat['rin']				= $data->val($row,11);
				$dat['ds']				= $data->val($row,12);
				$dat['tc']				= $data->val($row,13);
				$dat['sbu']				= $data->val($row,4);
				$dat['marca']			= $data->val($row,5);
				$dat['codigoInterno']	= $codigoInterno;
				#$dat['codigoBarras']	= trim($data->val($row,17));
				
				//PRODUCCIÓN PRODUCTOS
				$datos['idLinea']		= $dat['idLinea'];
				$datos['nombre']		= trim($data->val($row,7));
				$datos['codigoInterno']	= $dat['codigoInterno'];
				$datos['idSubCategoria']= $dat['idSubCategoria'];
				
				if(strlen($data->val($row,15))>2)
				{
					$dat['precioA']			=trim(str_replace(',','',str_replace('$','',$data->val($row,15))));
					$datos['precioA']		=trim(str_replace(',','',str_replace('$','',$data->val($row,15))));
				}
				
				if(strlen($data->val($row,14))>2)
				{
					$dat['precioB']			=trim(str_replace(',','',str_replace('$','',$data->val($row,14))));
					$datos['precioB']		=trim(str_replace(',','',str_replace('$','',$data->val($row,14))));
				}

				if(strlen($data->val($row,17))>2)
				{
					$dat['precioC']			=trim(str_replace(',','',str_replace('$','',$data->val($row,17))));
					$datos['precioC']		=trim(str_replace(',','',str_replace('$','',$data->val($row,17))));
				}
				
				if(strlen($data->val($row,18))>2)
				{
					$dat['precioD']			=trim(str_replace(',','',str_replace('$','',$data->val($row,18))));
					$datos['precioD']		=trim(str_replace(',','',str_replace('$','',$data->val($row,18))));
				}
				
				if(strlen($data->val($row,16))>2)
				{
					$dat['precioE']			=trim(str_replace(',','',str_replace('$','',$data->val($row,16))));
					$datos['precioE']		=trim(str_replace(',','',str_replace('$','',$data->val($row,16))));
				}
				
				
				$dat['costo']				= $data->val($row,19);

				$producto	=$this->verificarProducto($codigoInterno);
				
				#var_dump($dat);
				#echo '<br /><br />';
				
				if($producto!=null)
				{
					#$this->db->where('idProducto', $producto->idProducto);
					
					if(strlen($codigoInterno)>0)
					{
						$this->db->where('reventa', '1');
						$this->db->where('codigoInterno', $codigoInterno);
						$this->db->update('productos', $dat);
		
						#$this->db->where('idProducto', $producto->idProductoProduccion);
						$this->db->where('reventa', '1');
						$this->db->where('codigoInterno', $codigoInterno);
						$this->db->update('produccion_productos', $datos); 
					}
					
					/*$this->db->where('idProducto', $producto->idProducto);
					$this->db->update('rel_producto_proveedor', array('precio'=>$dat['costo'])); */
				}
				else
				{
					if(strlen($dat['nombre'])>2 and strlen($dat['codigoInterno'])>0)
					{
						$dat['reventa']		= 1;
						$dat['unidad']		= 'PZA';
						$dat['fecha']		= $this->_fechaActual;
						$dat['idUsuario']	= $this->_iduser;
						$dat['idProveedor']	= 105;
						$dat['codigoBarras']= '';
						
						$this->db->insert('productos',$dat);
						$idProducto			= $this->db->insert_id();
						
						$datos['reventa']		=1;
						$datos['unidad']		='PZA';
						$datos['fechaRegistro']	=$this->_fechaActual;
						
						$this->db->insert('produccion_productos',$datos);
						$idProductoProduccion=$this->db->insert_id();
						
						$relacion=array
						(
							'idProducto'			=>$idProducto,
							'idProductoProduccion'	=>$idProductoProduccion,
							'fecha'					=>$this->_fechaActual,
							'cantidad'				=>1,
						);
						
						$this->db->insert('rel_producto_produccion',$relacion);
						
						//105 PARA BOCA, 104 PARA LAS DEMAS
						$relacion=array
						(
							'idProducto'			=>$idProducto,
							'idProveedor'			=>104, //PONER DESPUES EL 104
							'precio'				=>$dat['costo'],
						);
						
						$this->db->insert('rel_producto_proveedor',$relacion);
						
						
						$relacion=array
						(
							'idProducto'			=> $idProductoProduccion,
							'idLicencia'			=> 1,
							'stock'					=> 0,
						);
						
						$this->db->insert('produccion_productos_stock',$relacion);
					}
				}
			}
			
			if ($this->db->trans_status() === FALSE)
			{
				$this->db->trans_rollback(); 
				$this->db->trans_complete();
				
				echo "0";
			}
			else
			{
				$this->db->trans_commit();
				$this->db->trans_complete();
				
				$this->session->set_userdata('notificacion','Los precios de los productos se han actualizado correctamente');
				echo "1";
			}
			
		}
	}
	
	//SE DEJO DE USAR EL 13 AGOSTO 2015
	public function importarExcelas() 	
	{
		$file = "media/ficheros/actualizarProductos.xls";

		$data_['success'] = FALSE;
		$this->load->library('excel_reader2');
		
		$data = new Excel_Reader2($file, false, 'UTF-8');
		
		if($data->status == TRUE)
		{
			$this->db->trans_start();
			
			$rows = $data->rowcount($sheet_index=0);
			$cols = $data->colcount($sheet_index=0);

			$col=1;	  
			
			for($row = 2; $row <= $rows ; $row++)
			{
				$id						= $data->val($row,1);
				$codigoInterno			= $data->val($row,2);
				/*$codigoInterno			= $data->val($row,2);
				$dat['codigoInterno']	= $codigoInterno;*/
				
				if(strlen($id)>0)
				{
					$subCategoria			= trim($data->val($row,5));
					$dat['idLinea']			= $this->inventario->obtenerLineaNombre(trim($data->val($row,4)));
					$dat['idSubCategoria']	= strlen($subCategoria)>2?$this->inventario->obtenerSubcategoriaNombre($dat['idLinea'],$subCategoria):0;

					//CAMPOS A ACTUALIZAR
					$dat['nombre']			= trim($data->val($row,7));
					$dat['diseno']			= $data->val($row,7);
					$dat['medida']			= $data->val($row,8);
					$dat['ancho']			= $data->val($row,19);
					$dat['serie']			= $data->val($row,18);
					$dat['rin']				= $data->val($row,9);
					$dat['ds']				= $data->val($row,20);
					$dat['sbu']				= $data->val($row,2);
					$dat['marca']			= $data->val($row,6);
					$dat['codigoInterno']	= trim($data->val($row,2));
					$dat['codigoBarras']	= trim($data->val($row,17));
					
					//PRODUCCIÓN PRODUCTOS
					$datos['idLinea']		= $dat['idLinea'];
					$datos['nombre']		= trim($data->val($row,7));
					$datos['codigoInterno']	= $dat['codigoInterno'];
					$datos['idSubCategoria']= $dat['idSubCategoria'];
					
					if(strlen($data->val($row,10))>2)
					{
						$dat['precioA']			=trim(str_replace(',','',str_replace('$','',$data->val($row,10))));
						$datos['precioA']		=trim(str_replace(',','',str_replace('$','',$data->val($row,10))));
					}
					
					if(strlen($data->val($row,11))>2)
					{
						$dat['precioB']			=trim(str_replace(',','',str_replace('$','',$data->val($row,11))));
						$datos['precioB']		=trim(str_replace(',','',str_replace('$','',$data->val($row,11))));
					}

					if(strlen($data->val($row,12))>2)
					{
						$dat['precioC']			=trim(str_replace(',','',str_replace('$','',$data->val($row,12))));
						$datos['precioC']		=trim(str_replace(',','',str_replace('$','',$data->val($row,12))));
					}
					
					if(strlen($data->val($row,13))>2)
					{
						$dat['precioD']			=trim(str_replace(',','',str_replace('$','',$data->val($row,13))));
						$datos['precioD']		=trim(str_replace(',','',str_replace('$','',$data->val($row,13))));
					}
					
					if(strlen($data->val($row,14))>2)
					{
						$dat['precioE']			=trim(str_replace(',','',str_replace('$','',$data->val($row,14))));
						$datos['precioE']		=trim(str_replace(',','',str_replace('$','',$data->val($row,14))));
					}
					
					
					$dat['costo']				= $data->val($row,15);
					/*if(strlen($data->val($row,18))>2)
					{
						$dat['costo']			=trim(str_replace(',','',str_replace('$','',$data->val($row,18))));
					}*/

					#$producto	=$this->inventario->comprobarProductoId($id);
					$producto	=$this->verificarProducto($codigoInterno);

					if($producto!=null)
					{
						#$this->db->where('idProducto', $producto->idProducto);
						$this->db->where('idProducto', $codigoInterno);
						$this->db->update('productos', $dat);
		
						#$this->db->where('idProducto', $producto->idProductoProduccion);
						$this->db->where('codigoInterno', $codigoInterno);
						$this->db->update('produccion_productos', $datos); 
						
						/*$this->db->where('idProducto', $producto->idProducto);
						$this->db->update('rel_producto_proveedor', array('precio'=>$dat['costo'])); */
					}
					else
					{
						$dat['reventa']		= 1;
						$dat['unidad']		= 'PZA';
						$dat['fecha']		= $this->_fechaActual;
						$dat['idUsuario']	= $this->_iduser;
						$dat['idProveedor']	= 104;
						$dat['codigoBarras']= '';
						
						$this->db->insert('productos',$dat);
						$idProducto			= $this->db->insert_id();
						
						$datos['reventa']		=1;
						$datos['unidad']		='PZA';
						$datos['fechaRegistro']	=$this->_fechaActual;
						
						$this->db->insert('produccion_productos',$datos);
						$idProductoProduccion=$this->db->insert_id();
						
						$relacion=array
						(
							'idProducto'			=>$idProducto,
							'idProductoProduccion'	=>$idProductoProduccion,
							'fecha'					=>$this->_fechaActual,
							'cantidad'				=>1,
						);
						
						$this->db->insert('rel_producto_produccion',$relacion);
						
						$relacion=array
						(
							'idProducto'			=>$idProducto,
							'idProveedor'			=>104, //PONER DESPUES EL 104
							'precio'				=>$dat['costo'],
						);
						
						$this->db->insert('rel_producto_proveedor',$relacion);
						
						
						$relacion=array
						(
							'idProducto'			=> $idProductoProduccion,
							'idLicencia'			=> 1,
							'stock'					=> 0,
						);
						
						$this->db->insert('produccion_productos_stock',$relacion);
					}
				}
			}
			
			if ($this->db->trans_status() === FALSE)
			{
				$this->db->trans_rollback(); 
				$this->db->trans_complete();
				
				echo "0";
			}
			else
			{
				$this->db->trans_commit();
				$this->db->trans_complete();
				
				$this->session->set_userdata('notificacion','Los precios de los productos se han actualizado correctamente');
				echo "1";
			}
			
		}
	}
	
	//CAMBIO 10 AGOSTO 2015
	public function importarExcelazoa() 	
	{
		$file = "media/ficheros/actualizarProductos.xls";

		$data_['success'] = FALSE;
		$this->load->library('excel_reader2');
		
		$data = new Excel_Reader2($file, false, 'UTF-8');
		
		if($data->status == TRUE)
		{
			$this->db->trans_start();
			
			$rows = $data->rowcount($sheet_index=0);
			$cols = $data->colcount($sheet_index=0);

			$col=1;	  
			
			for($row = 2; $row <= $rows ; $row++)
			{
				$codigoInterno			=$data->val($row,3);
				$dat['codigoInterno']	=$codigoInterno;
				
				if(strlen($codigoInterno)>1)
				{
					$nombreLinea			=$data->val($row,1);
					$linea					=$this->configuracion->obtenerLineaNombre($nombreLinea);
					$dat['idLinea']			=$linea!=null?$linea->idLinea:$this->configuracion->registrarLineaNombre($nombreLinea);
					$datos['idLinea']		=$dat['idLinea'];
					$datos['nombre']		=$data->val($row,6);
					
					//CAMPOS A ACTUALIZAR
					$dat['nombre']		=$data->val($row,6);
					$dat['diseno']		=$data->val($row,6);
					$dat['medida']		=$data->val($row,7);
					$dat['ancho']		=$data->val($row,8);
					$dat['serie']		=$data->val($row,9);
					$dat['rin']			=$data->val($row,10);
					$dat['ds']			=$data->val($row,11);
					$dat['sbu']			=$data->val($row,3);
					$dat['marca']		=$data->val($row,4);
					
					if(strlen($data->val($row,13))>2)
					{
						$dat['precioB']			=trim(str_replace(',','',str_replace('$','',$data->val($row,13))));
						$datos['precioB']		=trim(str_replace(',','',str_replace('$','',$data->val($row,13))));
					}
					
					if(strlen($data->val($row,14))>2)
					{
						$dat['precioA']			=trim(str_replace(',','',str_replace('$','',$data->val($row,14))));
						$datos['precioA']		=trim(str_replace(',','',str_replace('$','',$data->val($row,14))));
					}
					
					if(strlen($data->val($row,16))>2)
					{
						$dat['precioC']			=trim(str_replace(',','',str_replace('$','',$data->val($row,16))));
						$datos['precioC']		=trim(str_replace(',','',str_replace('$','',$data->val($row,16))));
					}
					
					if(strlen($data->val($row,17))>2)
					{
						$dat['precioD']			=trim(str_replace(',','',str_replace('$','',$data->val($row,17))));
						$datos['precioD']		=trim(str_replace(',','',str_replace('$','',$data->val($row,17))));
					}
					
					if(strlen($data->val($row,15))>2)
					{
						$dat['precioE']			=trim(str_replace(',','',str_replace('$','',$data->val($row,15))));
						$datos['precioE']		=trim(str_replace(',','',str_replace('$','',$data->val($row,15))));
					}
					
					
					$dat['costo']			=0;
					if(strlen($data->val($row,18))>2)
					{
						$dat['costo']			=trim(str_replace(',','',str_replace('$','',$data->val($row,18))));
					}

					$producto	=$this->verificarProducto($codigoInterno);
					
					if($producto!=null)
					{
						$this->db->where('codigoInterno', $codigoInterno);
						$this->db->update('productos', $dat);
		
						$this->db->where('codigoInterno', $codigoInterno);
						$this->db->update('produccion_productos', $datos); 
						
						$this->db->where('idProducto', $producto->idProducto);
						$this->db->update('rel_producto_proveedor', array('precio'=>$dat['costo'])); 
					}
					else
					{
						$dat['reventa']		=1;
						$dat['unidad']		='PZA';
						$dat['fecha']		=$this->_fechaActual;
						$dat['idUsuario']	=$this->_iduser;
						$dat['idProveedor']	=61;
						$dat['codigoBarras']='';
						
						$this->db->insert('productos',$dat);
						$idProducto=$this->db->insert_id();
						
						$datos['reventa']		=1;
						$datos['unidad']		='PZA';
						$datos['fechaRegistro']	=$this->_fechaActual;
						
						$this->db->insert('produccion_productos',$datos);
						$idProductoProduccion=$this->db->insert_id();
						
						$relacion=array
						(
							'idProducto'			=>$idProducto,
							'idProductoProduccion'	=>$idProductoProduccion,
							'fecha'					=>$this->_fechaActual,
							'cantidad'				=>1,
						);
						
						$this->db->insert('rel_producto_produccion',$relacion);
						
						$relacion=array
						(
							'idProducto'			=>$idProducto,
							'idProveedor'			=>59,
							'precio'				=>$dat['costo'],
						);
						
						$this->db->insert('rel_producto_proveedor',$relacion);
					}
				}
			}
			
			if ($this->db->trans_status() === FALSE)
			{
				$this->db->trans_rollback(); 
				$this->db->trans_complete();
				
				echo "0";
			}
			else
			{
				$this->db->trans_commit();
				$this->db->trans_complete();
				
				$this->session->set_userdata('notificacion','Los precios de los productos se han actualizado correctamente');
				echo "1";
			}
			
		}
	}
	
	public function importarExcelazo() 	
	{
		$file = "media/ficheros/actualizarProductos.xls";

		$data_['success'] = FALSE;
		$this->load->library('excel_reader2');
		
		$data = new Excel_Reader2($file, false, 'UTF-8');
		
		if($data->status == TRUE)
		{
			$this->db->trans_start();
			
			$rows = $data->rowcount($sheet_index=0);
			$cols = $data->colcount($sheet_index=0);

			$col=1;	  
			
			for($row = 2; $row <= $rows ; $row++)
			{
				/*$valores[1]=$data->val($row,1);
				$valores[2]=$data->val($row,2);
				$valores[3]=$data->val($row,3);
				$valores[4]=$data->val($row,4);
				$valores[5]=$data->val($row,5);
				$valores[6]=$data->val($row,6);
				$valores[7]=$data->val($row,7);		
				$valores[8]=$data->val($row,8);
				$valores[9]=$data->val($row,9);*/

				$codigoInterno			=$data->val($row,2);
				$dat['codigoInterno']	=$codigoInterno;
				
				if(strlen($codigoInterno)>1)
				{
					$nombreLinea			=$data->val($row,1);
					$linea					=$this->configuracion->obtenerLineaNombre($nombreLinea);
					$dat['idLinea']			=$linea!=null?$linea->idLinea:$this->configuracion->registrarLineaNombre($nombreLinea);
					$datos['idLinea']		=$dat['idLinea'];
					$datos['nombre']		=$data->val($row,6);
					
					//CAMPOS A ACTUALIZAR
					$dat['nombre']		=$data->val($row,6);
					$dat['diseno']		=$data->val($row,6);
					$dat['medida']		=$data->val($row,7);
					$dat['ancho']		=$data->val($row,8);
					$dat['serie']		=$data->val($row,9);
					$dat['rin']			=$data->val($row,10);
					$dat['ds']			=$data->val($row,11);
					$dat['sbu']			=$data->val($row,3);
					$dat['marca']		=$data->val($row,4);
					
					if(strlen($data->val($row,13))>2)
					{
						$dat['precioB']			=trim(str_replace(',','',str_replace('$','',$data->val($row,13))));
						$datos['precioB']		=trim(str_replace(',','',str_replace('$','',$data->val($row,13))));
					}
					
					if(strlen($data->val($row,14))>2)
					{
						$dat['precioA']			=trim(str_replace(',','',str_replace('$','',$data->val($row,14))));
						$datos['precioA']		=trim(str_replace(',','',str_replace('$','',$data->val($row,14))));
					}
					
					if(strlen($data->val($row,16))>2)
					{
						$dat['precioC']			=trim(str_replace(',','',str_replace('$','',$data->val($row,16))));
						$datos['precioC']		=trim(str_replace(',','',str_replace('$','',$data->val($row,16))));
					}
					
					if(strlen($data->val($row,17))>2)
					{
						$dat['precioD']			=trim(str_replace(',','',str_replace('$','',$data->val($row,17))));
						$datos['precioD']		=trim(str_replace(',','',str_replace('$','',$data->val($row,17))));
					}
					
					if(strlen($data->val($row,15))>2)
					{
						$dat['precioE']			=trim(str_replace(',','',str_replace('$','',$data->val($row,15))));
						$datos['precioE']		=trim(str_replace(',','',str_replace('$','',$data->val($row,15))));
					}
					
					
					$dat['costo']			=0;
					if(strlen($data->val($row,18))>2)
					{
						$dat['costo']			=trim(str_replace(',','',str_replace('$','',$data->val($row,18))));
					}
					
					/*echo $data->val($row,18).'<br />'; 
					var_dump($dat);
					return;*/
					
					$producto	=$this->verificarProducto($codigoInterno);
					
					if($producto!=null)
					{
						$this->db->where('codigoInterno', $codigoInterno);
						$this->db->update('productos', $dat);
		
						$this->db->where('codigoInterno', $codigoInterno);
						$this->db->update('produccion_productos', $datos); 
						
						$this->db->where('idProducto', $producto->idProducto);
						$this->db->update('rel_producto_proveedor', array('precio'=>$dat['costo'])); 
					}
					else
					{
						$dat['reventa']		=1;
						$dat['unidad']		='PZA';
						$dat['fecha']		=$this->_fechaActual;
						$dat['idUsuario']	=$this->_iduser;
						$dat['idProveedor']	=61;
						$dat['codigoBarras']='';
						
						$this->db->insert('productos',$dat);
						$idProducto=$this->db->insert_id();
						
						$datos['reventa']		=1;
						$datos['unidad']		='PZA';
						$datos['fechaRegistro']	=$this->_fechaActual;
						
						$this->db->insert('produccion_productos',$datos);
						$idProductoProduccion=$this->db->insert_id();
						
						$relacion=array
						(
							'idProducto'			=>$idProducto,
							'idProductoProduccion'	=>$idProductoProduccion,
							'fecha'					=>$this->_fechaActual,
							'cantidad'				=>1,
						);
						
						$this->db->insert('rel_producto_produccion',$relacion);
						
						$relacion=array
						(
							'idProducto'			=>$idProducto,
							'idProveedor'			=>59,
							'precio'				=>$dat['costo'],
						);
						
						$this->db->insert('rel_producto_proveedor',$relacion);
					}
					
					/*$sql="select b.idProductoProduccion as idProducto
					from rel_producto_produccion as b
					inner join productos as a
					on a.idProducto=b.idProducto
					where a.idProducto='$idProducto' ";
					
					$producto	=$this->db->query($sql)->row();
					
					if($producto!=null)
					{
						$this->db->where('idProducto', $producto->idProducto);
						$this->db->update('produccion_productos', $dat); 	
					}*/
				}
			}
			
			if ($this->db->trans_status() === FALSE)
			{
				$this->db->trans_rollback(); 
				$this->db->trans_complete();
				
				echo "0";
			}
			else
			{
				$this->db->trans_commit();
				$this->db->trans_complete();
				
				$this->session->set_userdata('notificacion','Los precios de los productos se han actualizado correctamente');
				echo "1";
			}
			
		}
	}
	
	public function verificarProducto($codigoInterno)
	{
		$sql="select idProducto
		from productos
		where codigoInterno='$codigoInterno'";
		
		return $this->db->query($sql)->row();
	}
	
	//CAMBIAR EL PROVEEDOR DE FIRESTONE A GOMMAR
	public function comprobarRelacionProveedor($idProducto,$idProveedor)
	{
		$sql="select idProducto
		from rel_producto_proveedor
		where idProducto='$idProducto'
		and idProveedor='$idProveedor' ";
		
		return $this->db->query($sql)->num_rows();
	}
	
	public function actualizarReferenciaProveedor()
	{
		ini_set("memory_limit","1500M");
		set_time_limit(0); 
		
		$this->db->trans_start();
		//PROVEEEDOR NUEVO 22
		
		$sql="SELECT a.idProducto, a.nombre, codigoInterno, 
		b.idProveedor, b.precio
		FROM productos AS a
		INNER JOIN rel_producto_proveedor AS b
		ON a.idProducto=b.idProducto
		WHERE b.idProveedor=1";
		
		$productos	=$this->db->query($sql)->result();
		
		foreach($productos as $row)
		{
			if($this->comprobarRelacionProveedor($row->idProducto,22)==0)
			{
				$data=array
				(
					'idProveedor'	=>22,
					'idProducto'	=>$row->idProducto,
					'precio'		=>$row->precio,
				);
				
				$this->db->insert('rel_producto_proveedor',$data);
			}
			
			$this->db->where('idProveedor',1);
			$this->db->where('idProducto',$row->idProducto);
			$this->db->delete('rel_producto_proveedor');
		}
		
		if ($this->db->trans_status() === FALSE)
		{
			$this->db->trans_rollback(); 
			$this->db->trans_complete();
		}
		else
		{
			$this->db->trans_commit();
			$this->db->trans_complete();
	  	}
		
		redirect('inventarioProductos','refresh');
	}
	
	//PARA IMPORTAR EL EXCEL DE LO SERVICIOS
	public function subirFicheroExcelServicios()
	 {
		$directorio  	= "media/ficheros/";
		$uploadfile 	= $directorio.'actualizarServicios.xls';
		
		if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) 
		{
			$this->importarExcelServicios();
		} 
		else 
		{
		  	echo "0";
		}
	 }

	public function importarExcelServicios() 	
	{
		$this->load->library('excel_reader2');
		
		$this->load->view('inventarioProductos/importarExcelServicios');
	}
	
	public function excelServicios()
	{
		$this->load->library('excel/PHPExcel');
		
		$data['servicios']		=$this->inventario->obtenerServiciosReporte();

		$this->load->view('inventarioProductos/excelServicios',$data);
	}
	
	//OBTENER EL STOCK POR SUCURSAL
	public function obtenerStockSucursales()
	{
		if(!empty($_POST))
		{
			$data['producto']		= $this->inventario->obtenerProductoDetalles($this->input->post('idProducto'));
			$data['boca']			= $this->inventario->obtenerStockBoca($data['producto']->codigoInterno);
			$data['veracruz']		= $this->inventario->obtenerStockVeracruz($data['producto']->codigoInterno);
			$data['cordoba']		= $this->inventario->obtenerStockCordoba($data['producto']->codigoInterno);
			$data['mayoreo']		= $this->inventario->obtenerStockMayoreo($data['producto']->codigoInterno);
			$data['puebla']			= $this->inventario->obtenerStockPuebla($data['producto']->codigoInterno);
			$data['tiendas']		= $this->inventario->obtenerStockSucursales($this->input->post('idProducto'));

			$this->load->view('inventarioProductos/obtenerStockSucursales',$data);
			
		}
	}
}
?>
