<?php
session_start();
date_default_timezone_set('America/Lima');
if($_SESSION["sistema"]!= "1"){ header("location: ../../index.php"); exit();}
require_once ("../../config/Cado.php");
require_once("../traspaso/cTraspaso.php");
$oTraspaso = new cTraspaso();
require_once ("../producto/cCatalogo.php");
$oCatalogo = new cCatalogo();
require_once("../stock/cStock.php");
$oStock = new cStock();
require_once("../kardex/cKardex.php");
$oKardex = new cKardex();
require_once ("../documento/cDocumento.php");
$oDocumento= new cDocumento();
require_once("../usuario/cUsuario.php");
$oUsuario = new cUsuario();
require_once ("../talonario/cTalonario.php");
$oTalonario= new cTalonario();
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']=="validar_traspaso")
{
	if(!empty($_POST['cla']))
	{
		
		$dts = $oUsuario->verificaClave($_SESSION['usuario_id'],$_POST['cla']);	
		$row = mysqli_num_rows($dts);
	
	if($row>0){
	
	
	
	$dts= $oTraspaso->mostrarUno($_POST['tra_id']);	
	$dt = mysqli_fetch_array($dts);
	$fec		=$dt['tb_traspaso_fec'];		
	$doc_id		=$dt['tb_documento_id'];		
	$tra_numdoc	=$dt['tb_traspaso_numdoc'];		
	$cod		=$dt['tb_traspaso_cod'];		
	$alm_id_ori	=$dt['tb_almacen_id_ori'];		
	$horreg	=$dt['tb_traspaso_reg'];		
	$horval	=$dt['tb_traspaso_horval'];		
	$usureg	=$dt['usureg'];		
	$usuval	=$dt['usuval'];		
	$alm_id_des	=$dt['tb_almacen_id_des'];		
	$obs=$dt['tb_traspaso_obs'];	
	$est=$dt['tb_traspaso_est'];	
	mysqli_free_result($dts);
	
	
	
	
	if($est==1){
	
	
	$kar_des='TRASPASO';
	$mod_id = 5; 
	$idm=$_POST['tra_id'];
	$oKardex->insertar(			
		fecha_mysql($fec),			
		$kar_des,
		$mod_id,
		$idm,
		$_SESSION['usuario_id'],
		$_SESSION['usuario_id'],
		'0'
	);
	$dts=$oKardex->ultimoInsert();
	$dt = mysqli_fetch_array($dts);
	$kar_id_ingreso=$dt['id'];
	mysqli_free_result($dts);
	
	
	
	$dts1=$oTraspaso->mostrar_traspaso_detalle($_POST['tra_id']);
	$num_rows= mysqli_num_rows($dts1);
	while($dt1 = mysqli_fetch_array($dts1))
		{
		
		
		$catid = $dt1['tb_catalogo_id']; 
		$marid = $dt1['tb_marca_id'];
		$cantidad = $dt1['tb_traspasodetalle_can'];
		
		$dts=$oStock->stock_por_presentacion($catid,$marid,$alm_id_des);
		$dt = mysqli_fetch_array($dts);
			$sto_id2	=$dt['tb_stock_id'];
			$sto_num2	=$dt['tb_stock_num'];
		mysqli_free_result($dts);
		
		$stock_nuevo2=$sto_num2+$cantidad;
		if($sto_id2>0)
		{
			$oStock->modificar($sto_id2,$stock_nuevo2);
		}
		else
		{
			$oStock->insertar($alm_id_des,$catid,$marid,$stock_nuevo2);
		} 
		
		$kar_tip=1;
		$oKardex->insertar_detalle(
			$catid,
			$marid,
			$kar_tip,
			$cantidad,
			moneda_mysql($cat_precos),
			moneda_mysql($cat_precos),
			$kar_id_ingreso,
			$alm_id_des
		); 
		
		
		}
		
		$now =  date('Y-m-d h:i:s a');
		$oTraspaso->modificar_campo($_POST['tra_id'],'usuval',$_SESSION['usuario_id']);	
		$oTraspaso->modificar_campo($_POST['tra_id'],'horval',$now);	
		$oTraspaso->modificar_campo($_POST['tra_id'],'est',2);	
	
		$data['tra_msj']='Traspaso validado correctamente.';
		$data['tra_est']='1';
		
	}else if($est==2){
		
		$data['tra_msj']='El traspaso ya ha sido validado.';
		$data['tra_est']='0';
		
		
	}
		
	
	}else{
		$data['tra_msj']='Clave ingresada no aceptada.';
		$data['tra_est']='0';
	}
	
		echo json_encode($data);
	}
	else
	{
		echo 'Intentelo nuevamente.';
	}
}
if($_POST['action_traspaso']=="insertar")
{
	if(empty($_POST['cmb_alm_id_ori']))responder(false, 'Intentelo nuevamente.');
	
	
	
	
$dts= $oTraspaso->verUltimoTraspaso($_POST['cmb_alm_id_ori'],$_SESSION['usuario_id']);
//$numerotras = mysqli_num_rows($dts);
$dt = mysqli_fetch_array($dts);
	$trault_id	=$dt['ultimotraspaso'];
mysqli_free_result($dts); 

//echo $numerotras.'---'.$trault_id;
if($trault_id>0){
$dts= $oTraspaso->mostrarUno($trault_id); 
$dt = mysqli_fetch_array($dts);      
$fecreg    =$dt['tb_traspaso_reg'];  
mysqli_free_result($dts);

$now =  date('Y-m-d h:i:s a');	

$segundos = strtotime($now) - strtotime($fecreg);
}else{
    $segundos = 15;
}
	
	
	 if($segundos>10){
 
	
	
	
	
	
	$reg = false;
	
	foreach($_SESSION['traspaso_can'] as $indice => $cantidad)
	{
		
	$catid = $_SESSION['traspaso_catid'][$indice];
	$marid = $_SESSION['traspaso_marid'][$indice];
		
		$dts=$oStock->stock_por_presentacion($_SESSION['traspaso_catid'][$indice],$_SESSION['traspaso_marid'][$indice],$_POST['cmb_alm_id_ori']);
		$dt = mysqli_fetch_array($dts);
			$sto_id		=$dt['tb_stock_id'];
			$sto_num	=$dt['tb_stock_num'];
			$pro_nom	=$dt['tb_producto_nom'];
	mysqli_free_result($dts);
	
		if($sto_num>=$cantidad){
		
		}else{
			$reg = true;
			$msj.=" - ".$pro_nom.'<br/>';
		}
	}
	
	
	if($reg==false){
	    
		$dts= $oDocumento->mostrarUno(28);
		$dt = mysqli_fetch_array($dts);
		$doc_nom=$dt['tb_documento_nom'];
		$doc_abr=$dt['tb_documento_abr'];
		mysqli_free_result($dts);
				
		if($doc_abr=='T'){
		$ser = 'T'.$_SESSION['usuario_ser'];
		}else if($doc_abr=='F'){
		$ser = 'F'.$_SESSION['usuario_ser'];
		}else if($doc_abr=='B'){
		$ser = 'B'.$_SESSION['usuario_ser'];
		}else if($doc_abr=='GR'){
		$ser = 'GR'.$_SESSION['usuario_ser'];
		}else if($doc_abr=='NC'){
		$ser = 'NC'.$_SESSION['usuario_ser'];
		}else if($doc_abr=='P'){
		$ser = 'P'.$_SESSION['usuario_ser'];
		}else if($doc_abr=='TR'){
		$ser = 'TR'.$_SESSION['usuario_ser'];
		}
		$dts= $oTalonario->correlativo($_SESSION['puntoventa_id'],28,$ser);
		$dt = mysqli_fetch_array($dts);
			$tal_id=$dt['tb_talonario_id'];
			$tal_ser=$dt['tb_talonario_ser'];
			$tal_fin=$dt['tb_talonario_fin'];
			$tal_num=$dt['tb_talonario_num'];
		mysqli_free_result($dts);
		$numero=$tal_num;
		$largo=strlen($tal_fin);
		$numero=str_pad($numero,$largo, "0", STR_PAD_LEFT);
		$numdoc=$tal_ser.'-'.$numero;
	
	//insertamos traspaso
	$oTraspaso->insertar(
		fecha_mysql($_POST['txt_tra_fec']),
		$numdoc,
		$_POST['txt_tra_obs'],
		$_POST['cmb_alm_id_ori'],
		$_POST['cmb_alm_id_des'],
		$_POST['hdd_usu_id'],
		1
	);
		$dts=$oTraspaso->ultimoInsert();
		$dt = mysqli_fetch_array($dts);
		$tra_id=$dt['id'];
		mysqli_free_result($dts);
	
	$estado='1';
		if($tal_num==$tal_fin)
		{
			$estado='2';
		}
		$numero=$tal_num+1;
		$rs3 = $oTalonario->actualizar_correlativo($tal_id, $numero, $estado);
		

        
	$kar_des='TRASPASO';
	$mod_id = 5; 
	$idm=$tra_id;
	$oKardex->insertar(			
		fecha_mysql($_POST['txt_tra_fec']),			
		$kar_des,
		$mod_id,
		$idm,
		$_SESSION['usuario_id'],
		$_SESSION['usuario_id'],
		'0'		
	);
	$dts=$oKardex->ultimoInsert();
	$dt = mysqli_fetch_array($dts);
	$kar_id_salida=$dt['id'];
	mysqli_free_result($dts);
	

		
	//detalle de productos
	foreach($_SESSION['traspaso_can'] as $indice => $cantidad)
	{
		//registro detalle de traspaso
		$oTraspaso->insertar_detalle(
			$_SESSION['traspaso_catid'][$indice],
			$_SESSION['traspaso_marid'][$indice],
			$cantidad,
			$tra_id
		);
		
	
		
	$catid = $_SESSION['traspaso_catid'][$indice];
	$marid = $_SESSION['traspaso_marid'][$indice];
		
		$dts=$oStock->stock_por_presentacion($_SESSION['traspaso_catid'][$indice],$_SESSION['traspaso_marid'][$indice],$_POST['cmb_alm_id_ori']);
		$dt = mysqli_fetch_array($dts);
			$sto_id		=$dt['tb_stock_id'];
			$sto_num	=$dt['tb_stock_num'];
		mysqli_free_result($dts);
		$stock_nuevo=$sto_num-$cantidad;
		$oStock->modificar($sto_id,$stock_nuevo);
		
		$kar_tip=2;
		$oKardex->insertar_detalle(
			$catid,
			$marid,
			$kar_tip,
			$cantidad,
			moneda_mysql($cat_precos/1.18),
			moneda_mysql($cat_precos/1.18),
			$kar_id_salida,
			$_POST['cmb_alm_id_ori']
		);	
		
		
	}	
	unset($_SESSION['traspaso_car']);
	
	
	
	responder(true, 'Se registro traspaso Nº '.$numdoc.' correctamente.', [
		'tra_id' => $tra_id,
		'tra_est' => '0'
		]);
	
}else if($reg==true){
		
		responder(true, 'El stock se supero de uno de tus items, vuelve a intentarlo.', [
		'tra_id' => $tra_id,
		'tra_est' => '1',
		'tra_item' => $msj
		]);
		
	}
	     
	 }else{
	     
	 }
		
		
}


if($_POST['action_traspaso']=="editar")
{
	if(!empty($_POST['txt_tra_fec']))
	{
		$oTraspaso->modificar(
			$_POST['hdd_tra_id'],
			fecha_mysql($_POST['txt_tra_fec']),
			$_POST['txt_tra_obs']
			);
		$data['tra_msj']='Se modificó traspaso correctamente.';
		echo json_encode($data);
	}
	else
	{
		echo 'Intentelo nuevamente.';
	}
}


if ($_POST['action']=='catalago') {
		$id=$_POST['id'];
		$rs=$oCatalogo->retorna_catalogos($id);
		$nu=mysqli_num_rows($rs);
		echo $nu;
}


if($_POST['action']=="eliminar")
{
	if(!empty($_POST['tra_id']))
	{
		$oTraspaso->modificar_campo($_POST['tra_id'],'xac','0');
			
		$data['tra_msj']='Se elimino traspaso correctamente.';
		echo json_encode($data);
	}
	else
	{
		echo 'Intentelo nuevamente.';
	}
}



