<?php
//ini_set('display_errors',1);
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, $mensaje='', $data=[]){
	header('Content-Type: application/json');
	echo json_encode([
		'estado' => $estado,
		'mensaje' => $mensaje,
		'data' => $data,
		]);
	exit;
}
if($_POST['action']=='agregar')
{
	if($_POST['alm_id']<1) responder(false, 'Seleccione almacén.', ['tipo' => 'alm_id']);
	if($_POST['notalm_tip']<1) responder(false, 'Seleccione tipo de nota de almacén.', ['tipo' => 'notalm_tip']);
	
	if($_POST['cat_id']>0 and $_POST['cat_can']!="" )
	{
		
		$dts= $oCatalogo->mostrarUno($_POST['cat_id'],$_POST['mar_id']);
		$dt = mysqli_fetch_array($dts);
			$pre_id	=$dt['tb_presentacion_id'];
			$cat_fac=$dt['tb_catalogo_fac'];
			$arttip=$dt['tb_articulotipo_id'];
			$precos=$dt['tb_productomarca_precom'];
			$preven=$dt['tb_productomarca_preven'];
		mysqli_free_result($dts);
		
		if($_POST['notalm_tip']==2)
		{
			$alm_id=$_POST['alm_id'];
			$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']*$cat_fac;
			if($cantidad>$stock)
			{
				responder(false, 'Stock máximo del producto es '.$stock , ['tipo' => 'cat_sto', 'stock' => $stock*1]);			
			}
		}
		
		$_SESSION['notaalmacen_catid'][$_POST['cat_id'].$_POST['mar_id']]= $_POST['cat_id'];
		$_SESSION['notaalmacen_marid'][$_POST['cat_id'].$_POST['mar_id']]= $_POST['mar_id'];
		$_SESSION['notaalmacen_can'][$_POST['cat_id'].$_POST['mar_id']]= strtoupper($_POST['cat_can']);
		$_SESSION['notaalmacen_preven'][$_POST['cat_id'].$_POST['mar_id']]= $preven;
	responder(true, 'Ítem agregado correctamente.', ['tipo' => 'agregado']);
	}
	else
	{
		responder(false, 'Ingrese cantidad.', ['tipo' => 'cat_can']);
	}
}
if($_POST['action']=='editar')
{
	if($_POST['alm_id']<1) responder(false, 'Seleccione almacén.', ['tipo' => 'alm_id']);
	if($_POST['notalm_tip']<1) responder(false, 'Seleccione tipo de nota de almacén.', ['tipo' => 'notalm_tip']);
	if($_POST['cat_id']>0 and $_POST['cat_can']!="" )
	{
		//consultar datos
		$dts= $oCatalogo->mostrarUno($_POST['cat_id'],$_POST['mar_id']);
		$dt = mysqli_fetch_array($dts);
			$pre_id	=$dt['tb_presentacion_id'];
			$cat_fac=$dt['tb_catalogo_fac'];
			//$preven=$dt['tb_productomarca_preven'];
		mysqli_free_result($dts);
		if($_POST['notalm_tip']==2)
		{
			//stock actual
			$alm_id=$_POST['alm_id'];
			$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']*$cat_fac;
			if($cantidad>$stock)
			{
				responder(false, 'Stock máximo del producto es '.$stock , ['tipo' => 'cat_sto', 'stock' => $stock*1]);			
			}
		}
		
		echo $_POST['cat_preven'];
		
		$_SESSION['notaalmacen_catid'][$_POST['cat_id'].$_POST['mar_id'].$_POST['esp_id']]= $_POST['cat_id'];
		$_SESSION['notaalmacen_marid'][$_POST['cat_id'].$_POST['mar_id'].$_POST['esp_id']]= $_POST['mar_id'];
		$_SESSION['notaalmacen_preven'][$_POST['cat_id'].$_POST['mar_id']]= $_POST['cat_preven'];
		$_SESSION['notaalmacen_can'][$_POST['cat_id'].$_POST['mar_id'].$_POST['esp_id']]= strtoupper($_POST['cat_can']);
		
		
		responder(true, 'Ítem actualizado correctamente.', ['tipo' => 'agregado']);
	}
	else
	{
		responder(false, 'Ingrese cantidad.', ['tipo' => 'cat_can']);
	}
}
if($_POST['action']=='eliminar')
{
	$cat_id = $_POST['cat_id'];
	unset($_SESSION['notaalmacen_catid'][$cat_id]);
	unset($_SESSION['notaalmacen_marid'][$cat_id]);
	unset($_SESSION['notaalmacen_espid'][$cat_id]);
	unset($_SESSION['notaalmacen_can'][$cat_id]);
	responder(true, 'Ítem eliminado correctamente.', ['tipo' => 'foco']);
}
if($_POST['action']=='restablecer')
{
	unset($_SESSION['notaalmacen_espid']);
	unset($_SESSION['notaalmacen_catid']);
	unset($_SESSION['notaalmacen_marid']);
	unset($_SESSION['notaalmacen_can']);
	responder(true, 'Carrito reestablecido.');
}