<?php

require_once ("../../config/Cado.php");	

require_once ("../kardex/cKardex.php");

require_once ("../historial/cHistorial.php");

//require_once ("../notalmacen/cNotalmacen2.php");



function stock_kardex($cat_id,$alm_id,$fecini,$fecfin,$emp_id)

{

	$oKardex = new cKardex();

	

	if($fecini=="")$fecini='2016-01-01';

	

	$rws1 = $oKardex->inventario_tipo_por_producto($cat_id,$alm_id,'1',$fecini,$fecfin,$emp_id);

	$rw1 = mysqli_fetch_array($rws1);

	$cantidad_entrada=$rw1['cantidad'];

	mysqli_free_result($rws1);

	

	$rws1 = $oKardex->inventario_tipo_por_producto($cat_id,$alm_id,'2',$fecini,$fecfin,$emp_id);

	$rw1 = mysqli_fetch_array($rws1);

	$cantidad_salida=$rw1['cantidad'];

	mysqli_free_result($rws1);

	

	$stock_unidad=$cantidad_entrada-$cantidad_salida;

	

	return $stock_unidad;

}



function costo_ponderado($cat_id,$alm_id,$fecini,$fecfin,$stock_comparacion,$costo_soles,$costo_dolares,$emp_id)

{

	$oHistorial = new cHistorial();

	$oKardex = new cKardex();

	

	if($fecini=="")$fecini='2013-01-01';

	

	//SALDO INICIAL

	$dts1 = $oKardex->mostrar_kardex_por_producto($cat_id,$alm_id,$fecini,$fecfin);

	$num_rows_1 = mysqli_num_rows($dts1);

	

	$dt1 = mysqli_fetch_array($dts1);

	$notalmdet_can=$dt1['tb_notalmacendetalle_can'];

	$notalmdet_cos=$dt1['tb_notalmacendetalle_cos'];

	mysqli_free_result($dts1);

	//__________

	

	//artificio para mostrar el tipo cambio eliminar luego de uso

	/*if($notalmdet_can)

	{

			$oNotalmacen = new cNotalmacen();

		$rws= $oNotalmacen->mostrar_catalogo($cat_id);

		$rw = mysqli_fetch_array($rws);

			$tipo_cambio_artificio	=$rw['tb_catalogo_tipcam'];

			//$cat_uti	=$rw['tb_catalogo_uti'];

			//$cat_costo	=$rw['tb_catalogo_precos'];

			//$cat_precio	=$rw['tb_catalogo_preven'];

		mysqli_free_result($rws);

		

		if($tipo_cambio_artificio>0)$notalmdet_cosdol=$notalmdet_cos/$tipo_cambio_artificio;

	}*/

	

	//consulta de compras por fecha desc

	$rws1 = $oHistorial->consultar_historial_compras_por_producto($cat_id,$alm_id,$fecini,$fecfin,'DESC',$emp_id);

	$filas_compra=mysqli_num_rows($rws1);

	

	if($filas_compra>0 and $stock_comparacion!=0)

	{

		//recorriendo registros de compras

		while($rw1 = mysqli_fetch_array($rws1))

		{							

			$comdet_can		=$rw1['tb_compradetalle_can'];

			$tipo_moneda	=$rw1['tb_moneda_id'];

			$com_tipcam		=$rw1['tb_compra_tipcam'];

			$comdet_cosuni	=$rw1['tb_compradetalle_cosuni'];//en soles

			

			//calculo del costo unitario_______

			if($tipo_moneda==2)

			{

				$costo_unitario_dol=$comdet_cosuni/$com_tipcam;

				//$i_dol++;	

			}

			

			//para el cálculo siempre utiliza el costo en soles

			$costo_unitario_sol=$comdet_cosuni;

			//$i_sol++;

			

			//$suma_costo_unitario_dol+=$costo_unitario_dol;

			//$suma_costo_unitario_sol+=$costo_unitario_sol;

			

			//__________________________________

			

	

			//$datos.=$stock_comparacion.$comdet_can.',';

			

			if($stock_comparacion>=$comdet_can)

			{

				$isuma_sol+=$comdet_can;

				$mul_suma_sol+=($comdet_can*$costo_unitario_sol);

				

				if($tipo_moneda==2)

				{

					$isuma_dol+=$comdet_can;

					$mul_suma_dol+=($comdet_can*$costo_unitario_dol);

				}

				

				$stock_comparacion=$stock_comparacion-$comdet_can;

				

				//si el stock es igual a la compra detalle cerrar el while

				if($stock_comparacion==0)break;

			}

			else

			{

				$isuma_sol+=$stock_comparacion;

				$mul_suma_sol+=($stock_comparacion*$costo_unitario_sol);

				

				if($tipo_moneda==2)

				{

					$isuma_dol+=$stock_comparacion;

					$mul_suma_dol+=($stock_comparacion*$costo_unitario_dol);

				}

				

				//stock compracion igual a cero para no incluir saldo inicial

				$stock_comparacion=0;

				

				break;

			}

			//$datos2.=$stock_comparacion.$comdet_can.':'.$isuma_sol.'+'.$mul_suma_sol.',';

		}

		mysqli_free_result($rws1);

		

		//$datos3.=$stock_comparacion.$comdet_can.':'.$isuma_sol.'+'.$mul_suma_sol.',';

		

		//si el stock comparacion es mayor a cero seguir calculando con el saldo inicial

		if($stock_comparacion>0)

		{

			//soles			

			$isuma_sol+=$stock_comparacion;

			$mul_suma_sol+=($stock_comparacion*$notalmdet_cos);

			//dolares

			$isuma_dol+=$stock_comparacion;

			$mul_suma_dol+=($stock_comparacion*$notalmdet_cosdol);

		}

		

		//$datos4.=$stock_comparacion.$comdet_can.':'.$isuma_sol.'+'.$mul_suma_sol.',';

		

		//$resultado_costo_soles=$suma_costo_unitario_sol/$i_sol;

		if($isuma_sol>0)$resultado_costo_soles=$mul_suma_sol/$isuma_sol;

		

		if($isuma_dol==0)

		{

			$resultado_costo_dolares=$costo_dolares;

		}

		//if($i_dol>0)$resultado_costo_dolares=$suma_costo_unitario_dol/$i_dol;

		if($isuma_dol>0)$resultado_costo_dolares=$mul_suma_dol/$isuma_dol;

		

		

	}

	else

	{

		$resultado_costo_soles=$costo_soles;

		$resultado_costo_dolares=$costo_dolares;

	}

	

	//si no hay stock para la comparación

	/*if($stock_comparacion==0)

	{

		$resultado_costo_soles=$costo_soles;

		$resultado_costo_dolares=$costo_dolares;

	}*/

	

	$costo_ponderado['soles']=$resultado_costo_soles;

	$costo_ponderado['dolares']=$resultado_costo_dolares;

//	$costo_ponderado['datos']=$datos;

//	$costo_ponderado['datos2']=$datos2;

//	$costo_ponderado['datos3']=$datos3;

//	$costo_ponderado['datos4']=$datos4;

	

	return $costo_ponderado;

}



function costo_ponderado_empresa($cat_id,$alm_id,$fecini,$fecfin,$stock_comparacion,$costo_soles,$costo_dolares,$emp_id)

{

	$oHistorial = new cHistorial();

	$oKardex = new cKardex();

	

	if($fecini=="")$fecini='2013-01-01';

	

	//datos para SALDO INICIAL

	$dts1 = $oKardex->mostrar_kardex_por_producto($cat_id,$alm_id,$fecini,$fecfin);

	$num_rows_1 = mysqli_num_rows($dts1);

	

	$dt1 = mysqli_fetch_array($dts1);

	$notalmdet_can=$dt1['tb_notalmacendetalle_can'];

	$notalmdet_cos=$dt1['tb_notalmacendetalle_cos'];

	mysqli_free_result($dts1);

	//__________

	

	//artificio para mostrar el tipo cambio eliminar luego de uso

	/*if($notalmdet_can)

	{

			$oNotalmacen = new cNotalmacen();

		$rws= $oNotalmacen->mostrar_catalogo($cat_id);

		$rw = mysqli_fetch_array($rws);

			$tipo_cambio_artificio	=$rw['tb_catalogo_tipcam'];

			//$cat_uti	=$rw['tb_catalogo_uti'];

			//$cat_costo	=$rw['tb_catalogo_precos'];

			//$cat_precio	=$rw['tb_catalogo_preven'];

		mysqli_free_result($rws);

		

		if($tipo_cambio_artificio>0)$notalmdet_cosdol=$notalmdet_cos/$tipo_cambio_artificio;

	}*/

	

	//consulta de compras por fecha desc almacen=0 COMPRA GENERAL POR EMPRESA

	$rws1 = $oHistorial->consultar_historial_compras_por_producto($cat_id,0,$fecini,$fecfin,'DESC',$emp_id);

	$filas_compra=mysqli_num_rows($rws1);

	

	if($filas_compra>0 and $stock_comparacion!=0)

	{

		//recorriendo registros de compras

		while($rw1 = mysqli_fetch_array($rws1))

		{							

			$comdet_can		=$rw1['tb_compradetalle_can'];

			$tipo_moneda	=$rw1['tb_moneda_id'];

			$com_tipcam		=$rw1['tb_compra_tipcam'];

			$comdet_cosuni	=$rw1['tb_compradetalle_cosuni'];//en soles

			

			//calculo del costo unitario_______

			if($tipo_moneda==2)

			{

				$costo_unitario_dol=$comdet_cosuni/$com_tipcam;

				//$i_dol++;	

			}

			

			//para el cálculo siempre utiliza el costo en soles

			$costo_unitario_sol=$comdet_cosuni;

			//$i_sol++;

			

			//$suma_costo_unitario_dol+=$costo_unitario_dol;

			//$suma_costo_unitario_sol+=$costo_unitario_sol;

			

			//__________________________________

			

	

			//$datos.=$stock_comparacion.$comdet_can.',';

			

			if($stock_comparacion>=$comdet_can)

			{

				$isuma_sol+=$comdet_can;

				$mul_suma_sol+=($comdet_can*$costo_unitario_sol);

				

				if($tipo_moneda==2)

				{

					$isuma_dol+=$comdet_can;

					$mul_suma_dol+=($comdet_can*$costo_unitario_dol);

				}

				

				$stock_comparacion=$stock_comparacion-$comdet_can;

				

				//si el stock es igual a la compra detalle cerrar el while

				if($stock_comparacion==0)break;

			}

			else

			{

				$isuma_sol+=$stock_comparacion;

				$mul_suma_sol+=($stock_comparacion*$costo_unitario_sol);

				

				if($tipo_moneda==2)

				{

					$isuma_dol+=$stock_comparacion;

					$mul_suma_dol+=($stock_comparacion*$costo_unitario_dol);

				}

				

				//stock compracion igual a cero para no incluir saldo inicial

				$stock_comparacion=0;

				

				break;

			}

			//$datos2.=$stock_comparacion.$comdet_can.':'.$isuma_sol.'+'.$mul_suma_sol.',';

		}

		mysqli_free_result($rws1);

		

		//$datos3.=$stock_comparacion.$comdet_can.':'.$isuma_sol.'+'.$mul_suma_sol.',';

		

		

		//si el stock comparacion es mayor a cero seguir calculando con el saldo inicial

		if($stock_comparacion>0)

		{

			//soles			

			$isuma_sol+=$stock_comparacion;

			$mul_suma_sol+=($stock_comparacion*$notalmdet_cos);

			//dolares

			$isuma_dol+=$stock_comparacion;

			$mul_suma_dol+=($stock_comparacion*$notalmdet_cosdol);

		}

		

		//$datos4.=$stock_comparacion.$comdet_can.':'.$isuma_sol.'+'.$mul_suma_sol.',';

		

		//$resultado_costo_soles=$suma_costo_unitario_sol/$i_sol;

		if($isuma_sol>0)$resultado_costo_soles=$mul_suma_sol/$isuma_sol;

		

		//dolares

		//if($i_dol>0)$resultado_costo_dolares=$suma_costo_unitario_dol/$i_dol;

		if($isuma_dol==0)

		{

			$resultado_costo_dolares=$costo_dolares;

		}

		if($isuma_dol>0)$resultado_costo_dolares=$mul_suma_dol/$isuma_dol;

		

		

	}

	else

	{

		$resultado_costo_soles=$costo_soles;

		$resultado_costo_dolares=$costo_dolares;

	}

	

	//si no hay stock para la comparación

	/*if($stock_comparacion==0)

	{

		$resultado_costo_soles=$costo_soles;

		$resultado_costo_dolares=$costo_dolares;

	}*/

	

	$costo_ponderado['soles']=$resultado_costo_soles;

	$costo_ponderado['dolares']=$resultado_costo_dolares;

//	$costo_ponderado['datos']=$datos;

//	$costo_ponderado['datos2']=$datos2;

//	$costo_ponderado['datos3']=$datos3;

//	$costo_ponderado['datos4']=$datos4;

	

	return $costo_ponderado;

}

?>