<?php require "php/cabecera3.inc";
	
	$resultado = mysqli_query($conexion, "SELECT * FROM ecomm_usuarios WHERE ID= $_SESSION[usuario]");
	$dtuser = mysqli_fetch_array($resultado);
	$destino = mysqli_query($conexion,"Select * from tabla_destinosclientes where CVE_DESTINO='$dtuser[ID]'");
	$dest=mysqli_fetch_array($destino);
	
	$mnt = mysqli_query($conexion,"update ecomm_usuarios set ADEUDO=ADEUDO+$_POST[ct] WHERE ID= $_SESSION[usuario]");
	
	function msg($val){echo "<SCRIPT>alert('$val')</SCRIPT>";}

	function backorder($sku,$cant,$backdoc){
		global $conexion;
		global $IDS;
		global $dtuser;
		///Alta de documento Surtido
		
		/////////Identificar el prefijo configurado
		$sqlIDE1 = mysqli_query($conexion,"select * from wms_configura_ecom WHERE CVE_CUENTA='$IDS'");
		$ecomm=mysqli_fetch_array($sqlIDE1);
		$PrefijoCta=$ecomm["PREFIJO"];
		////Generador de Folio para gsrdar el consecutivo de la clave de documento en la tabla_consedocres
		$FechaDocuSur=date("Ymd");
		
		$sqlDS = "select max(IDINCRE) as ultimo_FOLIODS from tabla_consedocsur WHERE FECHA='$FechaDocuSur'"; 
		$libDS = mysqli_query($conexion,$sqlDS); 
		$rs_libDS = mysqli_fetch_assoc($libDS); 
		$id_nuevoDS = $rs_libDS['ultimo_FOLIODS'] + 1;
		if ($id_nuevoDS <=9)
		{
			$IdenCeros="0000";
			$ClaveDocSur=$PrefijoCta.$FechaDocuSur.$IdenCeros.$id_nuevoDS;
			$NoDocPG=$ClaveDocSur;
		}
		if ($id_nuevoDS >=10 and $id_nuevoDS <=99)
		{
			$IdenCeros="000";
			$ClaveDocSur=$PrefijoCta.$FechaDocuSur.$IdenCeros.$id_nuevoDS;
			$NoDocPG=$ClaveDocSur;
		}
		if ($id_nuevoDS >=100 and $id_nuevoDS <=999)
		{
			$IdenCeros="00";
			$ClaveDocSur=$PrefijoCta.$FechaDocuSur.$IdenCeros.$id_nuevoDS;
			$NoDocPG=$ClaveDocSur;
		}
		if ($id_nuevoDS >=999)
		{
			$IdenCeros="0";
			$ClaveDocSur=$PrefijoCta.$FechaDocuSur.$IdenCeros.$id_nuevoDS;
			$NoDocPG=$ClaveDocSur;
		}
		////Generador de Folio para guardar el consecutivo del # de Documento de Recibo
		$sqlIDP2 = "select max(ID) as ultimo_FOLIOP2 from tabla_consedocsur"; 
		$libP2 = mysqli_query($conexion,$sqlIDP2); 
		$rs_libP2 = mysqli_fetch_assoc($libP2); 
		$id_nuevoP2 = $rs_libP2['ultimo_FOLIOP2'] + 1;
		
		////Guardar en la BD el consecutivo del # de Documento de Recibo
		$sqlGDS = "insert tabla_consedocsur (ID,CVE_BODEGA,CVE_CUENTA,IDINCRE,NO_DOCUMENTO,FECHA)
		values('$id_nuevoP2','1','$IDS','$id_nuevoDS','$NoDocPG','$FechaDocuSur')";
		$resultadoGDS=mysqli_query($conexion,$sqlGDS);
		
		///////GENERADOR DE FOLIO///////////
		$sqlID = "select max(ID) as ultimo_FOLIO from tabla_docsurtido"; 
		$lib = mysqli_query($conexion,$sqlID); 
		$rs_lib = mysqli_fetch_assoc($lib); 
		$id_nuevo = $rs_lib['ultimo_FOLIO'] + 1;
		
		//////HORA y FECHA/////
		$Hora=time();
		$HoraOK=date("H:i:s",$Hora);
		$Fecha=date("Y/m/d");
		$xl = $ecomm['VIGENCIA_DOCUMENTO'];
		$VigenPG=date('Y/m/d', strtotime($Date. " + $xl days"));
		
		//////GUARDAR EL LA BD//////////
		$sqlGP = "insert into tabla_docsurtido (ID,CVE_BODEGA,CVE_CUENTA,NO_DOCUMENTO,EDO_DOCUMENTO,REFERENCIA1,REFERENCIA2,TIPO_SALIDA,DESTINO,TIPO_SURTIDO,BACKORDER,PRIORIDAD,FECHA_CREADO,HORA_CREADO,DISPONIBILIDAD,OBSERVACIONES,ANOTA_1,ANOTA_2,FECHA_REG,HORA_REG,USUARIO_REG)
		values('$id_nuevo','1','$IDS','$NoDocPG','POR SURTIR','','','D','$dtuser[ID]','$ecomm[TIPO_SURTIDO]','SI','$ecomm[PRIORIDAD_SURTIDO]','$Fecha','$HoraOK','$VigenPG','$suma','Backorder del documento $backdoc','','$Fecha','$HoraOK','$ecomm[USUARIO_ALTAS]')";
		
		$resultadoGP=mysqli_query($conexion,$sqlGP);
		return $NoDocPG;
		}
	
	function CAMBIOC($PALL,$NUEVOEC){
		global $conexion;
		$sqlGM1="UPDATE tabla_inventario SET EDO_CALIDAD='$NUEVOEC' WHERE ID='$PALL'";
		$resultadoGM1=mysqli_query($conexion,$sqlGM1);
	}
	
	function DIVISIONC($PALL,$NUEVOEC,$CANT,$CUE,$USR,$serv,$dbu,$dbp,$db){
		
		$CveCueCR1=$CUE;
		$conexion = mysqli_connect($serv,$dbu,$dbp,$db);
		
		$sqlIP = mysqli_query($conexion,"select * from tabla_inventario WHERE ID='$PALL'");
		$registroIP=mysqli_fetch_array($sqlIP);
		
		$CveBodCR1=$registroIP["CVE_BODEGA"];
		$CNPNoDocu=$registroIP["NO_DOCUMENTO"];
		$CNPNoComple=$registroIP["NO_DOC_COMPLE"];
		$CNPSku=$registroIP["SKU"];
		$CNPSkuAlt=$registroIP["SKU_ALT"];
		$CNPDesc=$registroIP["DESCRIPCION"];
		$CNPFechaEnt=$registroIP["FECHA_ENTRADA"];
		$CNPCanti=$registroIP["CANTIDAD"];
		$CNPLote=$registroIP["LOTE"];
		$CNPLoteWms=$registroIP["LOTEWMS"];
		$CNPLotePro=$registroIP["LOTEPRODU"];
		$CNPCadu=$registroIP["CADUCIDAD"];
		$CNPFactu=$registroIP["FACTURA"];
		$CNPProv=$registroIP["PROVEEDOR"];
		$CNPPxca=$registroIP["PIEZASXCAJA"];
		$CNPCxpall=$registroIP["CAJASXPALLET"];
		$CArmPall=$registroIP["ARM_PALLET"];
		$CNPUbica=$registroIP["UBICACION"];
		$CNPriori=$registroIP["PRIORIDAD"];
		$CNPEdoCai=$registroIP["EDO_CALIDAD"];
		$NPalletPG=$registroIP["NO_PALLET"];
		$TIPUB=$registroIP["TIPO_UBICACION"];
		
		////////Resta el Valor de la Cantidad del Pallet Original///
		
		$CanSobPallOri=$CNPCanti-$CANT;
		$ArmPallOri="1 pallet de ".$CanSobPallOri." piezas";
		$CPKDiv=$CANT;
		
		/////Guarda la división del Pallet Original en la BD - Modifica la tabla del Inventario
		$sqlGM1="UPDATE tabla_inventario SET CANTIDAD='$CanSobPallOri', ARM_PALLET='$ArmPallOri' WHERE ID='$PALL'";
		$resultadoGM1=mysqli_query($conexion,$sqlGM1);
		
		
		/////////Identificar el prefijo configurado
		$sqlIDE1 = mysqli_query($conexion,"select * from wms_configura_pallet WHERE CVE_CUENTA='$CUE'");
		$registroIDE1=mysqli_fetch_array($sqlIDE1);
		$PrefijoPal=$registroIDE1["PREFIJO"];
		
		$sqlGM1="SELECT NO_PALLET FROM tabla_inventario WHERE ID='$PALL'";
		$resultadoGM1=mysqli_query($conexion,$sqlGM1);
		$PL = mysqli_fetch_array($resultadoGM1);
		
		//////Generador de Folio para guardar el concecutivo de la clave del Pallet
		$FechaPallet = substr($PL['NO_PALLET'], -13, 8); // debuelve la fecha del pallet origina
		
		$sqlIDP = "select max(IDINCRE) as ultimo_FOLIOP from tabla_consepallet WHERE FECHA='$FechaPallet'"; 
		$libP = mysqli_query($conexion,$sqlIDP);
		$rs_libP = mysqli_fetch_assoc($libP); 
		$id_nuevoP = $rs_libP['ultimo_FOLIOP'] + 1;
		
		if ($id_nuevoP <=9)
		{
			$IdenCeros="0000";
			$ClavePallet=$PrefijoPal.$FechaPallet.$IdenCeros.$id_nuevoP;
		}
		
		if ($id_nuevoP >=10 and $id_nuevoP <=99)
		{
			$IdenCeros="000";
			$ClavePallet=$PrefijoPal.$FechaPallet.$IdenCeros.$id_nuevoP;
		}
		
		if ($id_nuevoP >=100 and $id_nuevoP <=999)
		{
			$IdenCeros="00";
			$ClavePallet=$PrefijoPal.$FechaPallet.$IdenCeros.$id_nuevoP;
		}
		
		if ($id_nuevoP >=1000 and $id_nuevoP <=9999)
		{
			$IdenCeros="0";
			$ClavePallet=$PrefijoPal.$FechaPallet.$IdenCeros.$id_nuevoP;
		}
		
		if ($id_nuevoP >=10000)
		{
			$ClavePallet=$PrefijoPal.$FechaPallet.$id_nuevoP;
		}
		
		////Generador de Folio tabla Inventarios
		$sqlID = "select max(ID) as ultimo_FOLIO from tabla_inventario"; 
		$lib = mysqli_query($conexion,$sqlID); 
		$rs_lib = mysqli_fetch_assoc($lib); 
		$id_nuevoPPall = $rs_lib['ultimo_FOLIO'] + 1;
		
		//////GUARDAR EL PALLET NUEVO EN LA TABLA INVENTARIO//////////
		$ArmadoDivision="1 pallet de ".$CANT." piezas";
		$FechaEnt=date("Y/m/d");
		////Hora y Fecha
		$Hora2=time();
		$HoraOK2=date("H:i:s",$Hora2);
		
		$sqlDP = "insert tabla_inventario (ID,CVE_BODEGA,CVE_CUENTA,NO_DOCUMENTO,NO_DOC_COMPLE,SKU,SKU_ALT,DESCRIPCION,FECHA_ENTRADA,CANTIDAD,LOTE,LOTEWMS,LOTEPRODU,CADUCIDAD,FACTURA,PROVEEDOR,PIEZASXCAJA,CAJASXPALLET,ARM_PALLET,NO_PALLET,UBICACION,PRIORIDAD,TIPO_UBICACION,EDO_CALIDAD,USUARIO_ALTA,HORA,FECHA)
		values('$id_nuevoPPall','$CveBodCR1','$CveCueCR1','$CNPNoDocu','$CNPNoComple','$CNPSku','$CNPSkuAlt','$CNPDesc','$FechaEnt','$CANT','$CNPLote','$CNPLoteWms','$CNPLotePro','$CNPCadu','$CNPFactu','$CNPProv','$CNPPxca','$CNPCxpall','$ArmadoDivision','$ClavePallet','$CNPUbica','$CNPriori','$TIPUB','$NUEVOEC','$USR','$HoraOK2','$FechaEnt')";
		
		$resultadoDP=mysqli_query($conexion,$sqlDP);
		/////Generador de Folio para guardar el consecutivo del Pallet
		$sqlIDP2 = "select max(ID) as ultimo_FOLIOP2 from tabla_consepallet"; 
		$libP2 = mysqli_query($conexion,$sqlIDP2); 
		$rs_libP2 = mysqli_fetch_assoc($libP2); 
		$id_nuevoP2 = $rs_libP2['ultimo_FOLIOP2'] + 1;
		
		/////Guardar en la BD el consecutivo del No. de Pallet
		$sqlGCP = "insert tabla_consepallet (ID,CVE_BODEGA,CVE_CUENTA,IDINCRE,NO_DOCUMENTO,NO_PALLET,FECHA)
		values('$id_nuevoP2','$CveBodCR1','$CveCueCR1','$id_nuevoP','$CNPNoDocu','$ClavePallet','$FechaPallet')";
		$resultadoGCP=mysqli_query($conexion,$sqlGCP) or die(mysqli_error());
		
		////Generador de Folio para Guardar el kardex (Registro a MENOS)
		////Hora y Fecha
		$Hora=time();
		$HoraOK=date("H:i:s",$Hora);
		
		$sqlIDPK1 = "select max(ID) as ultimo_FOLIOPK1 from tabla_kardex"; 
		$libPK1 = mysqli_query($conexion,$sqlIDPK1); 
		$rs_libPK1 = mysqli_fetch_assoc($libPK1); 
		$id_nuevoPK1 = $rs_libPK1['ultimo_FOLIOPK1'] + 1;
		
		/////Guarda la División del Pallet Orignal en el Kardex con un Registro Nuevo
		$sqlMK = "insert tabla_kardex (ID,CVE_BODEGA,CVE_CUENTA,SKU,SKU_ALT,NO_DOCUMENTO,MOVIMIENTO,CLAVEUBICACION,PALLET,PIEZAS,FECHA,HORA,USUARIO)
		values('$id_nuevoPK1','$CveBodCR1','$CveCueCR1','$CNPSku','$CNPSkuAlt','$CNPNoDocu','DIVISION','$CNPUbica','$NPalletPG','-$CPKDiv','$FechaEnt','$HoraOK','$USR')";
		$resultadoMK=mysqli_query($conexion,$sqlMK) or die(mysqli_error());
		
		////Generador de Folio para Guardar el Kardex (Registro a MAS)
		////Hora y Fecha
		$Hora=time();
		$HoraOK=date("H:i:s",$Hora);
		
		$sqlIDPK = "select max(ID) as ultimo_FOLIOPK from tabla_kardex"; 
		$libPK = mysqli_query($conexion,$sqlIDPK); 
		$rs_libPK = mysqli_fetch_assoc($libPK); 
		$id_nuevoPK = $rs_libPK['ultimo_FOLIOPK'] + 1;
		
		/////Guardar el Registro nuevo en el Kardex
		$NombreMovimiento="DIVISION";
		$FechaEnt=date("Y/m/d");
		$sqlk = "insert tabla_kardex (ID,CVE_BODEGA,CVE_CUENTA,SKU,SKU_ALT,NO_DOCUMENTO,MOVIMIENTO,CLAVEUBICACION,PALLET,PIEZAS,FECHA,HORA,USUARIO)
		values('$id_nuevoPK','$CveBodCR1','$CveCueCR1','$CNPSku','$CNPSkuAlt','$CNPNoDocu','$NombreMovimiento','$CNPUbica','$ClavePallet','$CANT','$FechaEnt','$HoraOK','$USR')";
		$resultadok=mysqli_query($conexion,$sqlk) or die(mysqli_error());
	}
	
		///Alta de documento Surtido
		
		/////////Identificar el prefijo configurado
		$sqlIDE1 = mysqli_query($conexion,"select * from wms_configura_ecom WHERE CVE_CUENTA='$IDS'");
		$ecomm=mysqli_fetch_array($sqlIDE1);
		$PrefijoCta=$ecomm["PREFIJO"];
		////Generador de Folio para gsrdar el consecutivo de la clave de documento en la tabla_consedocres
		$FechaDocuSur=date("Ymd");
		
		$sqlDS = "select max(IDINCRE) as ultimo_FOLIODS from tabla_consedocsur WHERE FECHA='$FechaDocuSur'"; 
		$libDS = mysqli_query($conexion,$sqlDS); 
		$rs_libDS = mysqli_fetch_assoc($libDS); 
		$id_nuevoDS = $rs_libDS['ultimo_FOLIODS'] + 1;
		
		if ($id_nuevoDS <=9)
		{
			$IdenCeros="0000";
			$ClaveDocSur=$PrefijoCta.$FechaDocuSur.$IdenCeros.$id_nuevoDS;
			$NoDocPG=$ClaveDocSur;
		}
		
		if ($id_nuevoDS >=10 and $id_nuevoDS <=99)
		{
			$IdenCeros="000";
			$ClaveDocSur=$PrefijoCta.$FechaDocuSur.$IdenCeros.$id_nuevoDS;
			$NoDocPG=$ClaveDocSur;
		}
		
		if ($id_nuevoDS >=100 and $id_nuevoDS <=999)
		{
			$IdenCeros="00";
			$ClaveDocSur=$PrefijoCta.$FechaDocuSur.$IdenCeros.$id_nuevoDS;
			$NoDocPG=$ClaveDocSur;
		}
		
		if ($id_nuevoDS >=999)
		{
			$IdenCeros="0";
			$ClaveDocSur=$PrefijoCta.$FechaDocuSur.$IdenCeros.$id_nuevoDS;
			$NoDocPG=$ClaveDocSur;
		}
		
		////Generador de Folio para guardar el consecutivo del # de Documento de Recibo
		$sqlIDP2 = "select max(ID) as ultimo_FOLIOP2 from tabla_consedocsur"; 
		$libP2 = mysqli_query($conexion,$sqlIDP2); 
		$rs_libP2 = mysqli_fetch_assoc($libP2); 
		$id_nuevoP2 = $rs_libP2['ultimo_FOLIOP2'] + 1;
		
		////Guardar en la BD el consecutivo del # de Documento de Recibo
		$sqlGDS = "insert tabla_consedocsur (ID,CVE_BODEGA,CVE_CUENTA,IDINCRE,NO_DOCUMENTO,FECHA)
		values('$id_nuevoP2','1','$IDS','$id_nuevoDS','$NoDocPG','$FechaDocuSur')";
		$resultadoGDS=mysqli_query($conexion,$sqlGDS);
		
		///////GENERADOR DE FOLIO///////////
		$sqlID = "select max(ID) as ultimo_FOLIO from tabla_docsurtido"; 
		$lib = mysqli_query($conexion,$sqlID); 
		$rs_lib = mysqli_fetch_assoc($lib); 
		$id_nuevo = $rs_lib['ultimo_FOLIO'] + 1;
		
		//////HORA y FECHA/////
		$Hora=time();
		$HoraOK=date("H:i:s",$Hora);
		$Fecha=date("Y/m/d");
		$xl = $ecomm['VIGENCIA_DOCUMENTO'];
		$VigenPG=date('Y/m/d', strtotime($Date. " + $xl days"));
		
		//////GUARDAR EL LA BD//////////
		$sqlGP = "insert into tabla_docsurtido (ID,CVE_BODEGA,CVE_CUENTA,NO_DOCUMENTO,EDO_DOCUMENTO,REFERENCIA1,REFERENCIA2,TIPO_SALIDA,DESTINO,TIPO_SURTIDO,BACKORDER,PRIORIDAD,FECHA_CREADO,HORA_CREADO,DISPONIBILIDAD,OBSERVACIONES,ANOTA_1,ANOTA_2,FECHA_REG,HORA_REG,USUARIO_REG)
		values('$id_nuevo','1','$IDS','$NoDocPG','POR SURTIR','','','$ecomm[CALIDAD]','$dtuser[ID]','$ecomm[TIPO_SURTIDO]','$ecomm[BACKORDER]','$ecomm[PRIORIDAD_SURTIDO]','$Fecha','$HoraOK','$VigenPG','','','','$Fecha','$HoraOK','$ecomm[USUARIO_ALTAS]')";
		
		$resultadoGP=mysqli_query($conexion,$sqlGP);

		//planificar reserva de productos
		for($i = 0;$i< $_SESSION['contador'];$i++){
			$tipoapartado = 4;
			
			//Revisar existencias en almacén
			$peticion = "SELECT SUM(CANTIDAD) AS TOTALP FROM `tabla_inventario` where EDO_CALIDAD='D' AND SKU='".$_SESSION['producto'][$i]."' AND CVE_CUENTA='$IDS' AND STR_TO_DATE(CADUCIDAD, '%Y/%m/%d' ) > CURDATE( )";
			$resultado = mysqli_query($conexion, $peticion);
			$fila=mysqli_fetch_array($resultado);
			if ($fila['TOTALP']>=$_SESSION['numb'][$i]){$tipoapartado = 4;}
			
			//revisar existencias en staying
			$peticion = "SELECT * FROM tabla_inventario WHERE EDO_CALIDAD='D' AND SKU='".$_SESSION['producto'][$i]."' AND CVE_CUENTA='$IDS' AND CANTIDAD>0 AND TIPO_UBICACION = 'STAYING' AND STR_TO_DATE( CADUCIDAD,  '%Y/%m/%d' ) > CURDATE( ) ORDER BY CANTIDAD DESC";
			$resultado = mysqli_query($conexion, $peticion);
			$totalstay = 0;
			while($fila=mysqli_fetch_array($resultado)){
				if(($fila['CANTIDAD']>=$_SESSION['numb'][$i]) OR ($fila['CANTIDAD']==$_SESSION['numb'][$i])){$tipoapartado = 2;}
				$totalstay += $fila['CANTIDAD'];
			}
			if($_SESSION['numb'][$i]<=$totalstay){$tipoapartado = 2;}
			
			//revisar existencias en stock
			$peticion = "SELECT * FROM tabla_inventario WHERE EDO_CALIDAD='D' AND SKU='".$_SESSION['producto'][$i]."' AND CVE_CUENTA='$IDS' AND TIPO_UBICACION = 'STOCK' AND STR_TO_DATE(CADUCIDAD, '%Y/%m/%d') > CURDATE( ) AND CANTIDAD>0 ORDER BY CANTIDAD DESC";
			$resultado = mysqli_query($conexion, $peticion);
			$totalstay = 0;
			while($fila=mysqli_fetch_array($resultado)){
				if(($fila['CANTIDAD']>=$_SESSION['numb'][$i]) OR ($fila['CANTIDAD']==$_SESSION['numb'][$i])){$tipoapartado = 3;}
				$totalstay += $fila['CANTIDAD'];
			}
			if($_SESSION['numb'][$i]<=$totalstay){$tipoapartado = 3;}
			
			//revisar existencias en picking
			$peticion = "select tabla_inventario.*,coalesce(tabla_pickingfijo.PICKEO_MAXIMO,tabla_inventario.cantidad) AS PICKEO_MAXIMO FROM tabla_inventario LEFT JOIN tabla_pickingfijo on tabla_inventario.UBICACION=tabla_pickingfijo.CLAVEUBICACION WHERE EDO_CALIDAD='D' AND tabla_inventario.SKU='".$_SESSION['producto'][$i]."' AND tabla_inventario.CVE_CUENTA='$IDS' AND tabla_inventario.CANTIDAD>0 AND tabla_inventario.TIPO_UBICACION = 'PICKING' AND STR_TO_DATE(tabla_inventario.CADUCIDAD, '%Y/%m/%d') > CURDATE( ) ORDER BY tabla_inventario.CANTIDAD DESC";
			$resultado = mysqli_query($conexion, $peticion);
			$fila=mysqli_fetch_array($resultado);
			if($fila['PICKEO_MAXIMO']>=$_SESSION['numb'][$i]){$tipoapartado = 4;}
			
			//ejecutar reserva
			if($tipoapartado != 0){
				//PICKING
				$reserva=0;
				
				if($tipoapartado==4){
					$peticion = "select tabla_inventario.*,coalesce(tabla_pickingfijo.PICKEO_MAXIMO,tabla_inventario.cantidad) AS PICKEO_MAXIMO FROM tabla_inventario LEFT JOIN tabla_pickingfijo on tabla_inventario.UBICACION=tabla_pickingfijo.CLAVEUBICACION WHERE EDO_CALIDAD='D' AND tabla_inventario.SKU='".$_SESSION['producto'][$i]."' AND tabla_inventario.CVE_CUENTA='$IDS' AND tabla_inventario.TIPO_UBICACION = 'PICKING' AND tabla_inventario.CANTIDAD>0 AND STR_TO_DATE(tabla_inventario.CADUCIDAD, '%Y/%m/%d') > CURDATE( ) ORDER BY tabla_inventario.CANTIDAD,PICKEO_MAXIMO DESC";
					$resultado = mysqli_query($conexion, $peticion);
					while($fila=mysqli_fetch_array($resultado)){
						//cant, pick_max
						if(($fila['PICKEO_MAXIMO']>=(($_SESSION['numb'][$i])-$reserva)) AND ($reserva<$_SESSION['numb'][$i])){
							if($fila['CANTIDAD']<=($_SESSION['numb'][$i]-$reserva)){
								//CAMBIO CALIDAD
								CAMBIOC($fila['ID'],$ecomm['CALIDAD']);
								$reserva+= $fila['CANTIDAD'];
								}else{
								//DIVISION Y CAMBIO
								$CANTIDAD= $fila['CANTIDAD']-($fila['CANTIDAD']-($_SESSION['numb'][$i]-$reserva));
								$reserva= $_SESSION['numb'][$i];
								DIVISIONC($fila['ID'],$ecomm['CALIDAD'],$CANTIDAD,$IDS,$ecomm['USUARIO_ALTAS'],$serv,$dbu,$dbp,$db);
							}}}}
							//STOCK Y STAY
							$peticion = "SELECT * FROM tabla_inventario WHERE EDO_CALIDAD='D' AND tabla_inventario.SKU='".$_SESSION['producto'][$i]."' AND tabla_inventario.CVE_CUENTA='$IDS' AND tabla_inventario.TIPO_UBICACION != 'PICKING' AND tabla_inventario.CANTIDAD>0 AND STR_TO_DATE(tabla_inventario.CADUCIDAD, '%Y/%m/%d') > CURDATE( ) ORDER BY CANTIDAD DESC";
							$resultado = mysqli_query($conexion, $peticion);
							while($fila=mysqli_fetch_array($resultado)){
								//cant
								if($reserva<$_SESSION['numb'][$i]){
									if($fila['CANTIDAD']<=($_SESSION['numb'][$i]-$reserva)){
										//CAMBIO CALIDAD
										CAMBIOC($fila['ID'],$ecomm['CALIDAD']);
										$reserva+= $fila['CANTIDAD'];
										}else{
										//DIVISION Y CAMBIO
										$CANTIDAD= $fila['CANTIDAD']-($fila['CANTIDAD']-($_SESSION['numb'][$i]-$reserva));
										$reserva= $_SESSION['numb'][$i];
										DIVISIONC($fila['ID'],$ecomm['CALIDAD'],$CANTIDAD,$IDS,$ecomm['USUARIO_ALTAS'],$serv,$dbu,$dbp,$db);
									}}}
									
									if($reserva < $_SESSION['numb'][$i]){
										$peticion = "select tabla_inventario.*,coalesce(tabla_pickingfijo.PICKEO_MAXIMO,tabla_inventario.cantidad) AS PICKEO_MAXIMO FROM tabla_inventario LEFT JOIN tabla_pickingfijo on tabla_inventario.UBICACION=tabla_pickingfijo.CLAVEUBICACION WHERE EDO_CALIDAD='D' AND tabla_inventario.SKU='".$_SESSION['producto'][$i]."' AND tabla_inventario.CVE_CUENTA='$IDS' AND tabla_inventario.TIPO_UBICACION = 'PICKING' AND tabla_inventario.CANTIDAD>0 AND STR_TO_DATE(tabla_inventario.CADUCIDAD, '%Y/%m/%d') > CURDATE( ) ORDER BY tabla_inventario.CANTIDAD,PICKEO_MAXIMO DESC";
										$resultado = mysqli_query($conexion, $peticion);
										while($fila=mysqli_fetch_array($resultado)){
											//cant, pick_max
											if(($fila['PICKEO_MAXIMO']>=(($_SESSION['numb'][$i])-$reserva)) AND ($reserva<$_SESSION['numb'][$i])){
												if($fila['CANTIDAD']<=($_SESSION['numb'][$i]-$reserva)){
													//CAMBIO CALIDAD
													CAMBIOC($fila['ID'],$ecomm['CALIDAD']);
													$reserva+= $fila['CANTIDAD'];
													}else{
													//DIVISION Y CAMBIO
													$CANTIDAD= $fila['CANTIDAD']-($fila['CANTIDAD']-($_SESSION['numb'][$i]-$reserva));
													$reserva= $_SESSION['numb'][$i];
													DIVISIONC($fila['ID'],$ecomm['CALIDAD'],$CANTIDAD,$IDS,$ecomm['USUARIO_ALTAS'],$serv,$dbu,$dbp,$db);
												}}}}}
												if($_SESSION['numb'][$i]>$reserva){$backord=$_SESSION['numb'][$i]-$reserva;
													$ndoc2 = backorder($_SESSION['producto'][$i],$backord,$NoDocPG,$IDREG);
													}
			//Detalle doc surtido
			
			///////GENERADOR DE FOLIO///////////
			$sqlID = "select max(ID) as ultimo_FOLIO from tabla_detalledocsur"; 
			$lib = mysqli_query($conexion,$sqlID); 
			$rs_lib = mysqli_fetch_assoc($lib); 
			$id_nuevo = $rs_lib['ultimo_FOLIO'] + 1;
			
			//generar fila
			$sqlID = "SELECT MAX( FILA ) +1 AS F FROM tabla_detalledocsur WHERE NO_DOCUMENTO = '$NoDocPG'"; 
			$lib = mysqli_query($conexion,$sqlID);
			$rs_lib = mysqli_fetch_assoc($lib);
			$filan = $rs_lib['F'] + 1;
			
			$sqlID = "SELECT DESCRIPCION FROM tabla_inventario WHERE SKU='".$_SESSION['producto'][$i]."' AND CVE_CUENTA='$IDS'"; 
			$lib = mysqli_query($conexion,$sqlID);
			$rs_lib = mysqli_fetch_assoc($lib);
			$desc = $rs_lib['DESCRIPCION'];
			
			if ($tipoapartado==4){$tip="EN PICKING";}else{$tip="EN STOCK";}
			//////GUARDAR EL LA BD//////////
			$sqlGP = "insert into tabla_detalledocsur values('$id_nuevo','1','$IDS','$filan','$NoDocPG','".$_SESSION['producto'][$i]."','$desc','','','','$ecomm[CALIDAD]','".$reserva."','','','','$tip','0','POR CONFIRMAR','$ecomm[USUARIO_ALTAS]','$HoraOK','$Fecha')";
			$resultadoGP=mysqli_query($conexion,$sqlGP);
			$id_nuevo +=1;
			if($_SESSION['numb'][$i]>$reserva){
			$sqlGP = "insert into tabla_detalledocsur values('$id_nuevo','1','$IDS','1','$ndoc2','".$_SESSION['producto'][$i]."','$desc','','','','D','".$backord."','','','','$tip','0','POR CONFIRMAR','$ecomm[USUARIO_ALTAS]','$HoraOK','$Fecha')";
			$resultadoGP=mysqli_query($conexion,$sqlGP);
													}
													
													}
												echo "<center><h6 STYLE='FONT-SIZE:18PX; color: ".$st['C-TEXTO2'].";'>Su pago se ha confirmado y su pedido se ha registrado correctamente con el Número de documento: <br><strong>$NoDocPG</strong>.</h6></center>";

												require_once('tcpdf\tcpdf.php');
												$conexion2 = mysqli_connect($serv,$dbu,$dbp,$db);
												mysqli_set_charset($conexion2, "utf8");
												ob_start();
												
												function hex2rgb($hex) {
													$hex = str_replace("#", "", $hex);
													if(strlen($hex) == 3) {
														$r = hexdec(substr($hex,0,1).substr($hex,0,1));
														$g = hexdec(substr($hex,1,1).substr($hex,1,1));
														$b = hexdec(substr($hex,2,1).substr($hex,2,1));
														} else {
														$r = hexdec(substr($hex,0,2));
														$g = hexdec(substr($hex,2,2));
														$b = hexdec(substr($hex,4,2));
													}
													$rgb = array($r, $g, $b);
													
													return $rgb;
													//return implode(",", $rgb);
												}
												
												global $empresa;
												$empresa = $st['EMPRESA'];
												global $color;
												$color= hex2rgb($st['C-ENF1']);
												global $IMGPDF;
												$IMGPDF= 'img/'.$st['LOGO'];
												if($st['LOGO']=="" OR $st['LOGO']=null){$IMGPDF= 'img/Logo_Gris.jpg';}
												class MYPDF extends TCPDF {
													public function Header() {
														global $IMGPDF;
														global $color;
														global $empresa;
														$this->SetTextColor($color); 
														$this->Image($IMGPDF, 10, 10, 15, '', 'JPG', '', 'T', false, 300, '', false, false, 0, false, false, false);
														$this->SetFont('helvetica', 'B', 20);
														$this->Cell(0, 15, $empresa, 0, false, 'C', 0, '', 0, false, 'M', 'M');
													}
													public function Footer() {
														$this->SetY(-15);
														$this->SetFont('helvetica', 'I', 8);
														$this->Cell(0, 10, 'Página '.$this->getAliasNumPage().'/'.$this->getAliasNbPages(), 0, false, 'C', 0, '', 0, false, 'T', 'M');
													}
												}
												
												$pdf = new MYPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);
												
												$pdf->SetCreator(PDF_CREATOR);
												$pdf->SetAuthor('$st[EMPRESA]');
												$pdf->SetTitle('Comprobante');
												$pdf->SetSubject('$st[EMPRESA]');
												$pdf->SetKeywords('$st[EMPRESA]');
												
												$pdf->SetHeaderData(PDF_HEADER_LOGO, PDF_HEADER_LOGO_WIDTH, PDF_HEADER_TITLE, PDF_HEADER_STRING);
												
												$pdf->setHeaderFont(Array(PDF_FONT_NAME_MAIN, '', PDF_FONT_SIZE_MAIN));
												$pdf->setFooterFont(Array(PDF_FONT_NAME_DATA, '', PDF_FONT_SIZE_DATA));
												
												$pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED);
												
												$pdf->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT);
												$pdf->SetHeaderMargin(PDF_MARGIN_HEADER);
												$pdf->SetFooterMargin(PDF_MARGIN_FOOTER);
												
												$pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM);
												$pdf->setImageScale(PDF_IMAGE_SCALE_RATIO);
												
												if (@file_exists(dirname(__FILE__).'/lang/spa.php')) {
													require_once(dirname(__FILE__).'/lang/spa.php');
													$pdf->setLanguageArray($l);
												}
												
												$pdf->AddPage();
												
												$suma=0;
												$STY = "STYLE='color:".$st['C-T-TEXT']."; background-color: ".$st['C-T-CELL'].";' ";
												$res = '<TABLE STYLE="WIDTH:100%;COLOR:BLACK;padding:4px;border: 1px solid '.$st['C-T-BACK'].';"><THEAD><TR><TD><b>Nombre</b></TD><TD><b>Piezas</b></TD><TD><b>Precio unitario</b></TD><TD><b>Subtotal</b></TD></TR></THEAD><TBODY>';
												
												$REC = mysqli_query($conexion,"SELECT * FROM  tabla_detalledocsur WHERE NO_DOCUMENTO='$NoDocPG'");
												while($PROD = mysqli_fetch_array($REC)){
													$peticion = "SELECT * FROM tabla_altaproducto WHERE SKU='$PROD[SKU]' AND CUENTA='$IDS'";
													$resultado = mysqli_query($conexion2, $peticion);
													while($fila = mysqli_fetch_array($resultado)){
														$total = $fila['COSTOECOM']*$PROD['CANT_X_SURTIR'];
														$res = $res."<TR $STY><TD $STY>$fila[DESCRIPCION]</TD><TD $STY>$PROD[CANT_X_SURTIR]</TD><TD $STY>$ $fila[COSTOECOM]</TD><TD $STY>$ $total</TD></TR>";
														$suma += $total;
													}}
													$PRECIO = mysqli_query($conexion,"UPDATE tabla_docsurtido SET OBSERVACIONES = '$total' WHERE NO_DOCUMENTO='$NoDocPG' AND CVE_CUENTA='$IDS'");
													
													$BCKO = mysqli_query($conexion,"SELECT * FROM tabla_docsurtido WHERE ANOTA_1 LIKE '%$NoDocPG'");
												while($BACK = mysqli_fetch_array($BCKO)){
													$REC = mysqli_query($conexion,"SELECT * FROM  tabla_detalledocsur WHERE NO_DOCUMENTO='$BACK[NO_DOCUMENTO]'");
												while($PROD = mysqli_fetch_array($REC)){
													$peticion = "SELECT * FROM tabla_altaproducto WHERE SKU='$PROD[SKU]' AND CUENTA='$IDS'";
													$resultado = mysqli_query($conexion2, $peticion);
													while($fila = mysqli_fetch_array($resultado)){
														$total = $fila['COSTOECOM']*$PROD['CANT_X_SURTIR'];
														$res = $res."<TR $STY><TD $STY>$fila[DESCRIPCION] (Backorder)</TD><TD $STY>$PROD[CANT_X_SURTIR]</TD><TD $STY>$ $fila[COSTOECOM]</TD><TD $STY>$ $total</TD></TR>";
														$suma += $total;
													}}
													$PRECIO = mysqli_query($conexion,"UPDATE tabla_docsurtido SET OBSERVACIONES = '$total' WHERE NO_DOCUMENTO='$BACK[NO_DOCUMENTO]' AND CVE_CUENTA='$IDS'");
													}
													
													$res = $res.'<TR><TD colspan="2" $STY ></TD><TD $STY><b>Total:</b></TD><TD $STY><b>$'.$suma.'</b></TD></TR></TBODY></TABLE></CENTER><BR><BR>';	
													
													$html = <<<EOD
													<BR><BR>
													<CENTER>
													$res
													</CENTER>
EOD;
													$txt1 = <<<EOD
													Recibo de compra online
													Documento: $NoDocPG
EOD;
													$txt2 = <<<EOD
													
													Datos del comprador
													
EOD;
													$txt3 = <<<EOD
													Nombre: $dtuser[NOMBRE]
													Teléfono: $dest[TELEFONO]
													Email: $dest[EMAIL]
EOD;
													$txt4 = <<<EOD
													
													Dirección de entrega
													
EOD;
													$txt5 = <<<EOD
													
													Colonia: $dest[COLONIA] Calle: $dest[CALLE]  Número exterior: $dest[NO]  Código Postal: $dest[CP]  Municipio: $dest[CIUDAD]  Estado: $dest[ESTADO] País: $dest[PAIS]
													
EOD;
													$txt6= <<<EOD
													
													
													Detalles de la compra
													
EOD;
													
													$style = array('width' => 0.5, 'cap' => 'butt', 'join' => 'miter', 'dash' => 0, 'color' => hex2rgb($st['C-ENF1']));
													$pdf->Line(0, 25, 300, 25, $style);
													$pdf->SetFont('times', '', 11);
													$pdf->Write(0, $txt1, '', 0, 'C', true, 0, false, false, 0);
													$pdf->Line(0, 40, 300, 40, $style);
													$pdf->SetFont('times', '', 11);
													$pdf->Write(0, $txt2, '', 0, 'L', true, 0, false, false, 0);
													$pdf->SetFont('times', '', 11);
													$pdf->Write(0, $txt3, '', 0, 'L', true, 0, false, false, 0);
													$pdf->SetFont('times', '', 11);
													$pdf->Write(0, $txt6, '', 0, 'C', true, 0, false, false, 0);
													$pdf->SetFont('times', '', 10);
													$pdf->writeHTMLCell(0, 0, '', '', $html, 0, 1, 0, true, '', true);
													$pdf->SetFont('times', '', 11);
													$pdf->Write(0, $txt4, '', 0, 'C', true, 0, false, false, 0);
													$pdf->Write(0, $txt5, '', 0, 'C', true, 0, false, false, 0);
													
													ob_end_clean();
													
													$pdf->Output(getcwd()."/PDFOUT/Comprobante_$NoDocPG.pdf", 'F');
													
													ob_end_flush();
													
													echo "<br><center><a href='PDFOUT/Comprobante_$NoDocPG.pdf' target='_blank'><button class='btn'> Comprobante </button></center>";

echo "<br><center><a href='index.php?IDS=$IDS'><button class='btn'> Ok </button></a></center>";
unset($_SESSION['contador']);
unset($_SESSION['numb']);
unset($_SESSION['producto']);

require "php/pie.inc" ?>