<?php 
//incluir la conexion de base de datos
//require "../config/Conexion.php";
require "../config/Conexion2.php";
class movimientoinventariointer2{


	//implementamos nuestro constructor
public function __construct(){

}

//metodo insertar registro
//insertar(              $idusuario,$idalmacensalida,$idalmacenentrada,$nromovimientoinventario,$fecha_hora,$total_salida,$total_entrada,$_POST["idarticulo"],$_POST["cantidad"],$_POST["idarticulo1"],$_POST["cantidad1"],$_POST["factorc"])
public function insertar($idusuario,$idalmacensalida,$idalmacenentrada,$nromovimientoinventario,$fecha_hora,$total_salida,$total_entrada,$idarticulo,$cantidad,$idarticulo1,$cantidad11,$factorc)
{
	$estado = 'Salida';
	$sql="INSERT INTO movimientoinventario (idusuario,idalmacen_salida,idalmacen_entrada,nromovimiento,fecha,cantidads,cantidad,estado) 
	VALUES ('$idusuario','$idalmacensalida','$idalmacenentrada','$nromovimientoinventario','$fecha_hora','$total_salida','$total_entrada','$estado')";
	echo $sql;
	//return ejecutarConsulta($sql);
	
	$sw													=	true;
	$idmovimientoinventarionew	=	ejecutarConsulta_retornarID($sql) or $sw=false;;
	//$idmovimientoinventarionew	=	1;

	$num_elementos	=0;
	$num_pedidos		=0;
	$pedido 				=0;
	$pedidoactual		=0;
	
	while ($num_elementos < count($idarticulo)) {
		/* Buscamos el numero de lote de cada producto */
		$sql_lote 	= "SELECT idlote, idarticulo, numerolote, fecha, cantidad FROM lote WHERE idarticulo='$idarticulo[$num_elementos]' AND cantidad>0";
		echo $sql_lote;
		$result		=	ejecutarConsulta($sql_lote);
		if (mysqli_num_rows($result) > 0) {
			$cantidad1=$cantidad[$num_elementos];
			while($fila = mysqli_fetch_assoc($result)){
				$cantidadi 	= $cantidad1;
				$numerolote = $fila["numerolote"];
				$fecha			= $fila["fecha"];
				$cantidadl	= $fila["cantidad"];
				$cantidad1 	= $cantidad1 - $cantidadl;
				$cantidadle	= $cantidadl*$factorc[$num_elementos];
				$cantidadie	= $cantidadi*$factorc[$num_elementos];

				//`iddetalle_movimientoinventario`,`idmovimientoinventario`,`idalmacen_salida`,`idarticulo`,`cantidad`,`numerolote`,`idalmacen_entrada`,`idarticuloe`,`cantidade`
				if ($cantidad1>0){
					$sql_detalle="INSERT INTO detalle_movimientoinventario (idmovimientoinventario,idalmacen_salida,idarticulo,cantidad,numerolote,idalmacen_entrada,idarticuloe,cantidade) 
					VALUES('$idmovimientoinventarionew','$idalmacensalida','$idarticulo[$num_elementos]','$cantidadl','$numerolote','$idalmacenentrada','$idarticulo1[$num_elementos]','$cantidadle')";
					//echo $sql_detalle;
					ejecutarConsulta($sql_detalle) or $sw=false;
					 if ($sw){
						$sql_articulo = "UPDATE articulo SET stock=stock-$cantidadl WHERE idarticulo='$idarticulo[$num_elementos]'";
						$sql_loteu 		= "UPDATE lote SET cantidad=cantidad-$cantidadl WHERE idarticulo='$idarticulo[$num_elementos]' AND numerolote='$numerolote'";
						ejecutarConsulta($sql_articulo);
						ejecutarConsulta($sql_loteu);
					}
					break; 
				}else{
					$sql_detalle="INSERT INTO detalle_movimientoinventario (idmovimientoinventario,idalmacen_salida,idarticulo,cantidad,numerolote,idalmacen_entrada,idarticuloe,cantidade) 
					VALUES('$idmovimientoinventarionew','$idalmacensalida','$idarticulo[$num_elementos]','$cantidadi','$numerolote','$idalmacenentrada','$idarticulo1[$num_elementos]','$cantidadie')";
					//echo $sql_detalle;
					ejecutarConsulta($sql_detalle) or $sw=false;
					 if ($sw){
						$sql_articulo = "UPDATE articulo SET stock=stock-$cantidadi WHERE idarticulo='$idarticulo[$num_elementos]'";
						$sql_loteu 		= "UPDATE lote SET cantidad=cantidad-$cantidadi WHERE idarticulo='$idarticulo[$num_elementos]' AND numerolote='$numerolote'";
						ejecutarConsulta($sql_articulo);
						ejecutarConsulta($sql_loteu);
					} 
					break;
				}
			}   
		} else {
			die("Error: No hay datos en la tabla seleccionada");
		}
		$num_elementos=$num_elementos+1;
	 }
	return $sw;
}

public function insertar2($idusuario,$idalmacensalida,$idcompaniasalida,$idalmacenentrada,$idcompaniaentrada,$nromovimientoinventario,$fecha_hora,$total_salida,$total_entrada,$idarticulo,$cantidad,$idarticulo1,$cantidad11,$factorc)
{
	$estado = 'Salida';
	$sql="INSERT INTO movimientoinventariointer2 (idusuario,idalmacen_salida,idcompaniasalida,idalmacen_entrada,idcompaniaentrada,nromovimiento,fecha,cantidads,cantidad,estado) 
	VALUES ('$idusuario','$idalmacensalida','$idcompaniasalida','$idalmacenentrada','$idcompaniaentrada','$nromovimientoinventario','$fecha_hora','$total_salida','$total_entrada','$estado')";
	//echo $sql;
	//return ejecutarConsulta($sql);
	
	$sw													=	true;
	$idmovimientoinventarionew	=	ejecutarConsulta_retornarID($sql) or $sw=false;;
	//$idmovimientoinventarionew	=	1;

	$num_elementos	=0;
	$num_pedidos		=0;
	$pedido 				=0;
	$pedidoactual		=0;
	
	while ($num_elementos < count($idarticulo)) {
		/* Buscamos el numero de lote de cada producto */
		$sql_lote 	= "SELECT idlote, idarticulo, numerolote, fecha, cantidad FROM lote WHERE idarticulo='$idarticulo1[$num_elementos]' LIMIT 1";
	//	echo $sql_lote;
		$result		=	ejecutarConsulta($sql_lote);
		if (mysqli_num_rows($result) > 0) {
			$cantidad1=$cantidad[$num_elementos];
		//	echo 'cantidad: '.$cantidad1.'--';
			while($fila = mysqli_fetch_assoc($result)){
				$numerolote = $fila["numerolote"];
				$fecha		= $fila["fecha"];
				$cantidadl	= $fila["cantidad"];
			
				$sql_detalle="INSERT INTO detalle_movimientoinventariointer2 (idmovimientoinventario,idalmacen_salida,idcompaniasalida,idarticulo,cantidad,numerolote,idalmacen_entrada,idcompaniaentrada,idarticuloe,cantidade) 
				VALUES('$idmovimientoinventarionew','$idalmacensalida','$idcompaniasalida','$idarticulo[$num_elementos]','$cantidad1','$numerolote','$idalmacenentrada','$idcompaniaentrada','$idarticulo1[$num_elementos]','$cantidad1')";
			//	echo $sql_detalle;
				ejecutarConsulta($sql_detalle) or $sw=false;
				if ($sw){
    				$sql_articulo   = "UPDATE articulo SET stock=stock+$cantidad1 WHERE idarticulo='$idarticulo1[$num_elementos]'";
    				$sql_loteu 	    = "UPDATE lote SET cantidad=cantidad+$cantidad1 WHERE idarticulo='$idarticulo1[$num_elementos]' AND numerolote='$numerolote'";
    				ejecutarConsulta($sql_articulo);
    				ejecutarConsulta($sql_loteu);
				}
				break; 
			}   
		} else {
			die("Error: No hay datos en la tabla seleccionada");
		}
		$num_elementos=$num_elementos+1;
	 }
	return $sw;
}

public function anular($idmovimientoinventario){
	$sql="UPDATE movimientoinventario SET estado='Anulado' WHERE idmovimientoinventario='$idmovimientoinventario'";
	return ejecutarConsulta($sql);
}

public function eliminararticulodecafeteriabd($iddetallec,$idpedidoc,$idarticuloc){
	$sql="DELETE FROM detalle_barra WHERE iddetalle_pedido='$iddetallec' AND idpedido='$idpedidoc' AND idarticulo='$idarticuloc'";
	return ejecutarConsulta($sql);
}


//implementar un metodopara mostrar los datos de unregistro a modificar
public function mostrar($idmovimientoinventario){
	$sql="SELECT v.idmovimientoinventario,v.idalmacen_salida,a1.nombre as almacensalida,v.idalmacen_entrada,a2.nombre as almacenentrada,DATE(v.fecha) as fecha,u.idusuario,u.nombre as usuario, v.cantidad,v.nromovimiento,v.estado FROM movimientoinventario v INNER JOIN almacen a1 ON v.idalmacen_salida=a1.idalmacen INNER JOIN almacen a2 ON v.idalmacen_entrada=a2.idalmacen INNER JOIN usuario u ON v.idusuario=u.idusuario WHERE idmovimientoinventario='$idmovimientoinventario'";
	return ejecutarConsultaSimpleFila($sql);
}

public function listarDetalle($idmovimientoinventario){
	$sql="SELECT dm.idarticulo,a.nombre,dm.cantidad, a.stock, 'ok' as estado FROM detalle_movimientoinventario dm INNER JOIN articulo a ON dm.idarticulo=a.idarticulo WHERE dm.idmovimientoinventario='$idmovimientoinventario'";
	return ejecutarConsulta($sql);
}

//listar registros
public function listar(){
	$sql="SELECT m.idmovimientoinventario,DATE(m.fecha) as fecha,u.idusuario,u.nombre as usuario, m.idalmacen_entrada, a.nombre as entrada, m.idalmacen_salida, a1.nombre as salida, m.cantidad,m.nromovimiento, m.estado FROM movimientoinventario m INNER JOIN almacen a ON m.idalmacen_entrada = a.idalmacen INNER JOIN almacen a1 ON m.idalmacen_salida = a1.idalmacen INNER JOIN usuario u ON m.idusuario=u.idusuario ORDER BY m.idmovimientoinventario DESC";
	return ejecutarConsulta($sql);
}

//metodo para mostrar registros
public function buscarNroMovimiento(){
	$sql=	"SELECT COUNT(idmovimientoinventario) as ultimomovimiento FROM movimientoinventario ";
	return ejecutarConsultaSimpleFila($sql);
}

//metodo para mostrar registros
public function buscarempresa(){
	$sql=	"SELECT * FROM empresa";
	return ejecutarConsultaSimpleFila($sql);
}



public function ventacabecera($idmovimientoinventario){
	$sql= "SELECT v.idmovimientoinventario, v.idcliente, p.nombre AS cliente, p.direccion, p.tipo_documento, p.num_documento, p.email, p.telefono, v.idusuario, u.nombre AS usuario, v.tipo_comprobante, v.serie_comprobante, v.num_comprobante, DATE(v.fecha_hora) AS fecha, v.impuesto, v.total_venta FROM movimientoinventario v INNER JOIN persona p ON v.idcliente=p.idpersona INNER JOIN usuario u ON v.idusuario=u.idusuario WHERE v.idmovimientoinventario='$idmovimientoinventario'";
	return ejecutarConsulta($sql);
}

public function ventadetalles($idmovimientoinventario){
	$sql="SELECT a.nombre AS articulo, a.codigo, d.cantidad, d.precio_venta, d.descuento, (d.cantidad*d.precio_venta-d.descuento) AS subtotal FROM detalle_movimientoinventario d INNER JOIN articulo a ON d.idarticulo=a.idarticulo WHERE d.idmovimientoinventario='$idmovimientoinventario'";
         return ejecutarConsulta($sql);
}


}

 ?>
