<?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)
	{
		
		$alm_id=$_POST['alm_id_ori'];
		
		$stock = mysqli_fetch_array($oStock->stock_por_presentacion($_POST['cat_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)
	{
		
		$alm_id=$_POST['alm_id_ori'];
		$stock = mysqli_fetch_array($oStock->stock_por_presentacion($_POST['cat_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.');
}