<?php

session_start();

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

require_once ("../producto/cCatalogo.php");

$oCatalogo = new cCatalogo();

require_once ("../stock/cStock.php");

$oStock = new cStock();

require_once ("../formatos/formato.php");


function responder($estado=false, $msj='', $data=[]){

	header('Content-Type: application/json');

	echo json_encode([

		'estado' => $estado,

		'msj' => $msj,

		'data' => $data,

		]);

	exit;

}



if($_POST['action']=='agregar')
{

	if($_POST['alm_id_ori']<1) responder(false, 'Seleccione almacén de origen.', ['tipo' => 'alm_id_ori']);

	if($_POST['alm_id_des']<1) responder(false, 'Seleccione almacén de destino.', ['tipo' => 'alm_id_des']);
	

	if($_POST['cat_id']>0 and $_POST['cat_can']!="" and $_POST['cat_can']>0)

	{

		//consultar datos

		$dts= $oCatalogo->mostrarUno($_POST['cat_id'],$_POST['mar_id']);

		$dt = mysqli_fetch_array($dts);

			$pre_id	=$dt['tb_presentacion_id'];

		mysqli_free_result($dts);


		//stock actual

		$alm_id=$_POST['alm_id_ori'];

		$stock = mysqli_fetch_array($oStock->stock_por_presentacion($pre_id,$_POST['mar_id'],$alm_id))['tb_stock_num'];

		if($stock==0)responder(false, 'Sin stock en el almacen de origen.', ['tipo' => 'cat_sto2']);	


		$cantidad=$_POST['cat_can'];

		if($cantidad>$stock)

		{

			responder(false, 'Stock máximo del producto es '.$stock , ['tipo' => 'cat_sto', 'stock' => $stock*1]);			

		}
		

		$_SESSION['traspaso_can'][$_POST['cat_id'].$_POST['mar_id']] = $_POST['cat_can'];
		$_SESSION['traspaso_catid'][$_POST['cat_id'].$_POST['mar_id']] = $_POST['cat_id'];
		$_SESSION['traspaso_marid'][$_POST['cat_id'].$_POST['mar_id']] = $_POST['mar_id'];

		
		responder(true, 'Ítem agregado correctamente.', ['tipo' => 'agregado']);

	}

	else

	{

		responder(false, 'Ingrese cantidad.', ['tipo' => 'cat_can']);

	}
}


if($_POST['action']=='editar')

{


	if($_POST['alm_id_ori']<1) responder(false, 'Seleccione almacén de origen.', ['tipo' => 'alm_id_ori']);

	if($_POST['alm_id_des']<1) responder(false, 'Seleccione almacén de destino.', ['tipo' => 'alm_id_des']);


	if($_POST['cat_id']>0 and $_POST['cat_can']!="" and $_POST['cat_can']>0)

	{

		//consultar datos

		$dts= $oCatalogo->mostrarUno($_POST['cat_id'],$_POST['mar_id']);

		$dt = mysqli_fetch_array($dts);

			$pre_id	=$dt['tb_presentacion_id'];

		mysqli_free_result($dts);


		//stock actual

		$alm_id=$_POST['alm_id_ori'];

		$stock = mysqli_fetch_array($oStock->stock_por_presentacion($pre_id,$_POST['mar_id'],$alm_id))['tb_stock_num'];

		if($stock==0)responder(false, 'Sin stock', ['tipo' => 'cat_sto2']);	

		$cantidad=$_POST['cat_can'];

		if($cantidad>$stock)

		{

			responder(false, 'Stock máximo del producto es '.$stock*1 , ['tipo' => 'cat_sto', 'stock' => $stock*1]);			

		}
		
		$_SESSION['traspaso_can'][$_POST['cat_id'].$_POST['mar_id']] = $_POST['cat_can'];
		$_SESSION['traspaso_catid'][$_POST['cat_id'].$_POST['mar_id']] = $_POST['cat_id'];
		$_SESSION['traspaso_marid'][$_POST['cat_id'].$_POST['mar_id']] = $_POST['mar_id'];
		

		responder(true, 'Ítem agregado correctamente.', ['tipo' => 'agregado']);

	}

	else

	{

		responder(false, 'Ingrese cantidad.', ['tipo' => 'cat_can']);

	}

}








if($_POST['action']=='eliminar')

{

	$cat_id = $_POST['cat_id'];

	unset($_SESSION['traspaso_can'][$cat_id]);

	responder(true, 'Ítem eliminado correctamente.', ['tipo' => 'foco']);

}




if($_POST['action']=='restablecer')

{

	unset($_SESSION['traspaso_can']);
	unset($_SESSION['traspaso_catid']);
	unset($_SESSION['traspaso_marid']);

	responder(true, 'Carrito reestablecido.');


}