<?php
class cStock{
	function insertar($alm_id,$cat_id,$mar_id,$sto){
	$sql = "INSERT INTO tb_stock(
	`tb_stock_mod` ,
	`tb_almacen_id` ,
	`tb_catalogo_id` ,
	`tb_marca_id` ,
	`tb_stock_num`
	)
	VALUES (
	NOW( ) ,  '$alm_id',  '$cat_id', '$mar_id' ,'$sto'
	);"; 
	$oCado = new Cado();
	$rst=$oCado->ejecute_sql($sql);
	return $rst;	
	}
	
	function sumatipokardex_por_presentacion($cat_id,$mar_id,$alm_id){
	
	$sql="SELECT SUM(CASE WHEN kd.tb_kardexdetalle_tip = 1 THEN kd.tb_kardexdetalle_can ELSE 0 END) - SUM(CASE WHEN kd.tb_kardexdetalle_tip = 2 THEN kd.tb_kardexdetalle_can ELSE 0 END) 'total'  
        FROM tb_kardex k
		left join tb_usuario u on u.tb_usuario_id = k.tb_usuario_id
		INNER JOIN tb_kardexdetalle kd ON k.tb_kardex_id = kd.tb_kardex_id		
		WHERE k.tb_kardex_xac = 1
		AND kd.tb_catalogo_id = '$cat_id' and kd.tb_marca_id = '$mar_id' and kd.tb_almacen_id = '$alm_id' ";
		
	$oCado = new Cado();
	$rst=$oCado->ejecute_sql($sql);
	return $rst;
	}
	
	function stock_por_presentacion($cat_id,$mar_id,$alm_id){
	$sql="SELECT * 
	FROM tb_catalogo p
	inner JOIN tb_stock s ON p.tb_catalogo_id=s.tb_catalogo_id
	inner join tb_catalogo c on c.tb_catalogo_id = s.tb_catalogo_id
	inner join tb_producto pro on pro.tb_producto_id = c.tb_producto_id
	WHERE s.tb_catalogo_id='$cat_id'
	and s.tb_marca_id = '$mar_id'
	AND s.tb_almacen_id='$alm_id' ";
	$oCado = new Cado();
	$rst=$oCado->ejecute_sql($sql);
	return $rst;
	}
	
	function stock_por_presentacion_todos($cat_id,$mar_id){
	$sql="SELECT sum(tb_stock_num) as 'tot_stock' 
	FROM tb_catalogo p
	LEFT JOIN tb_stock s ON p.tb_catalogo_id=s.tb_catalogo_id
	WHERE p.tb_catalogo_id='$cat_id'
	and s.tb_marca_id = '$mar_id' ";
	$oCado = new Cado();
	$rst=$oCado->ejecute_sql($sql);
	return $rst;
	}
	
	function mostrarstocktodos_x_presentacion($cat_id){
	$sql="SELECT * 
	FROM tb_catalogo p
	LEFT JOIN tb_stock s ON p.tb_catalogo_id=s.tb_catalogo_id
	inner join tb_almacen alm on alm.tb_almacen_id = s.tb_almacen_id
	WHERE p.tb_catalogo_id='$cat_id' ";
	$oCado = new Cado();
	$rst=$oCado->ejecute_sql($sql);
	return $rst;
	}
	function mostrarfechaantigua_stock($cat_id){
	$sql="SELECT min(s.tb_stock_mod) as 'fechaantigua' FROM tb_catalogo p 
	LEFT JOIN tb_stock s ON p.tb_catalogo_id=s.tb_catalogo_id 
	inner join tb_almacen alm on alm.tb_almacen_id = s.tb_almacen_id 
	WHERE p.tb_catalogo_id ='$cat_id' ";
	$oCado = new Cado();
	$rst=$oCado->ejecute_sql($sql);
	return $rst;
	}
	
	function mostrarregistro_fechaantigua($cat_id,$fecmod){
	$sql="SELECT * FROM tb_catalogo p
	LEFT JOIN tb_stock s ON p.tb_catalogo_id=s.tb_catalogo_id
	inner join tb_almacen alm on alm.tb_almacen_id = s.tb_almacen_id
    inner join tb_piso pi on pi.tb_almacen_id = alm.tb_almacen_id
    INNER join tb_puntoventa pv on pv.tb_puntoventa_id = pi.tb_puntoventa_id
    INNER join tb_empresa emp on emp.tb_empresa_id = pv.tb_empresa_id
	WHERE p.tb_catalogo_id = '$cat_id' and s.tb_stock_mod='$fecmod' ";
	$oCado = new Cado();
	$rst=$oCado->ejecute_sql($sql);
	return $rst;
	}
	
	
	function modificar($id,$num){
	$sql = "UPDATE tb_stock SET  
	`tb_stock_mod` = NOW( ) ,
	`tb_stock_num` =  '$num' 
	WHERE tb_stock_id = '$id'"; 
	$oCado = new Cado();
	$rst=$oCado->ejecute_sql($sql);
	return $rst;	
	}
	function verificar_presentacion_res($tar_id){
	$sql="SELECT * 
	FROM tb_catalogo
	WHERE tb_catalogo_idr=$tar_id
	";
	$oCado = new Cado();
	$rst=$oCado->ejecute_sql($sql);
	return $rst;
	}
	function eliminar($id){
	$sql="DELETE FROM tb_stock WHERE tb_catalogo_id=$id";
	$oCado = new Cado();
	$rst=$oCado->ejecute_sql($sql);
	return $rst;
	}
	function actuaizar_stock_por_presentacion($cat_id,$almid,$tipo,$cantidad){
		$nuevo = "tb_stock_num = tb_stock_num + ".$cantidad; // si tipo es 2 entonces salió esa cantidad, si se anula, entonces regresamos esa cantidad
		if($tipo == 1) // si tipo es 1 entonces fue entrada, entonces si se anula tenemos que restar la cantidad que entró
			$nuevo = "tb_stock_num = tb_stock_num - ".$cantidad;
		
		$sql="UPDATE tb_stock set ".$nuevo." where tb_catalogo_id =$cat_id and tb_almacen_id =$almid";
		$oCado = new Cado();
		$rst=$oCado->ejecute_sql($sql);
		return $rst;
	}
	
	function stock_por_kardex($cat_id,$alm_id){ // presentacion_id // almacen id
	$sql="SELECT * 
	FROM tb_catalogo p
	LEFT JOIN tb_stock s ON p.tb_catalogo_id=s.tb_catalogo_id
	WHERE p.tb_catalogo_id=$cat_id
	AND s.tb_almacen_id=$alm_id";
	$oCado = new Cado();
	$rst=$oCado->ejecute_sql($sql);
	return $rst;
	}
}
?>