<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
</head>

<body>
<!-- Inicia Cuerpo de la Interfaz Gráfica -->
<?PHP

ini_set('max_execution_time', 99999);
include ("../Conections/SecurityAccess.php");

		////Se sube todo el Archivo .CSV
		if (isset($_FILES['file']))
		{	
			$file=$_FILES['file']['tmp_name'];
			
			$handle = fopen($file,"r");
		
		//////////////////////////////////////////////////////////////////////////////////////////////////////
		////Se Valida si se selecciona un Archivo de tipo .CSV 	
			$explode_name = explode('.',$_FILES['file']['name']);
			if($explode_name[1] == 'csv'){
			  $csv_file = true;
			  $ValExtension="OK";
			}
			else{
			  $csv_file = false;
			  $ValExtension="NO";
			}  
			
		if ($ValExtension=="OK")
		{
		
		//////////////////////////////////////////////////////////////////////////////////////////////////////////////////
		////Aqui adentro va toro el Proceso
		$CuentaRegTotal = "0";
		while(($fileop = fgetcsv($handle,1000, ",")) !== false)
			{///Inicia While
				$CveCta_CSV=$fileop[0];
				$CodSku_CSV=$fileop[1];
				$NoPall_CSV=$fileop[2];
				$Cantid_CSV=$fileop[3];
				$CveUbi_CSV=$fileop[4];
				$VarLot_CSV=$fileop[5];
				$TipAju_CSV=$fileop[6];
				
			///Detectar Ajuste NEGATIVO
			if ($TipAju_CSV=="NEGATIVO")
			{///Inicia IF NEGATIVO
				
				///Identificar Si el No de Pallet existe
				$sqlIP = mysql_query("select * from tabla_inventario WHERE SKU='$CodSku_CSV' AND NO_PALLET='$NoPall_CSV' AND CVE_CUENTA='$CveCta_CSV'");
				if (mysql_numrows($sqlIP)==0)
				{echo "";}
				else
				{///Inicia IF Existencia del Pallet
				
				$CuentaRegTotal=$CuentaRegTotal+1;
				
				////Hora y Fecha
						$Hora=time();
						$HoraOK=date("H:i:s",$Hora);
						$FechaOk=date("Y/m/d");
				
				////Obtener información del Pallet
						$sqlIP3 = mysql_query("select SKU_ALT,NO_DOCUMENTO,DESCRIPCION,UBICACION,CANTIDAD from tabla_inventario WHERE SKU='$CodSku_CSV' AND NO_PALLET='$NoPall_CSV' AND CVE_CUENTA='$CveCta_CSV'");
						if (mysql_numrows($sqlIP3)==0) echo "";
						else{
						$registroIP3=mysql_fetch_array($sqlIP3);
						}
						if (mysql_numrows($sqlIP3)>0)
						{
						$CodAlt_2=$registroIP3["SKU_ALT"];
						$NoDocu_2=$registroIP3["NO_DOCUMENTO"];
						$Descri_2=$registroIP3["DESCRIPCION"];
						$CveUbi_2=$registroIP3["UBICACION"];
						$CanAct_2=$registroIP3["CANTIDAD"];
						}
				
					///Generar Folio para Traspaso Negativo en Karex
						$sqlIDPK = "select max(ID) as ultimo_FOLIOPK from tabla_kardex"; 
						$libPK = mysql_query($sqlIDPK); 
						$rs_libPK = mysql_fetch_assoc($libPK); 
						$id_nuevoPK = $rs_libPK['ultimo_FOLIOPK'] + 1;
						
					///Guardando Kardex Negativo
						$sqlGKN = "insert tabla_kardex (ID,CVE_BODEGA,CVE_CUENTA,SKU,SKU_ALT,NO_DOCUMENTO,MOVIMIENTO,CLAVEUBICACION,PALLET,PIEZAS,FECHA,HORA,USUARIO)
						values('$id_nuevoPK','1','$CveCta_CSV','$CodSku_CSV','$CodAlt_2','$NoDocu_2','AJUSTE -','$CveUbi_2','$NoPall_CSV','-$CanAct_2','$FechaOk','$HoraOK','HelpDesk')";
						$resultadoGKN=mysql_query($sqlGKN,$conexion) or die(mysql_error());
					
					///Generador de Folio para Guardar el Ajuste en la tabla_ajustes ///////////		
						$sqlID = "select max(ID) as ultimo_FOLIO from tabla_ajustes"; 
						$lib = mysql_query($sqlID); 
						$rs_lib = mysql_fetch_assoc($lib); 
						$id_nuevo = $rs_lib['ultimo_FOLIO'] + 1;
						
						///Guardar el Ajuste en la tabla_ajustes
						$FechaAMen=date("Y/m/d");
						$sqlGA1 = "insert tabla_ajustes (ID,CVE_BODEGA,CVE_CUENTA,PALLET,SKU,DESCRIPCION,C_ORIGINAL,C_AJUSTE,C_RESULTANTE,MOTIVO,OBSERVACIONES,NOTA_1,NOTA_2,FECHA,HORA,USUARIO)
						values('$id_nuevo','1','$CveCta_CSV','$NoPall_CSV','$CodSku_CSV','$Descri_2','$CanAct_2','-$CanAct_2','00','INV-N','Ajuste negativo ejecutado por inventario ciclico','-','-','$FechaOk','$FechaOk','HelpDesk')";
						$resultadoGA1=mysql_query($sqlGA1,$conexion) or die(mysql_error());
						
					///Consulta que Modifica el Stock dentro del Inventario (tabla_inventario)
						$sqlEU="UPDATE tabla_inventario SET CANTIDAD='0.00' WHERE SKU='$CodSku_CSV' AND NO_PALLET='$NoPall_CSV' AND CVE_CUENTA='$CveCta_CSV'";
						$resultadoEU=mysql_query($sqlEU,$conexion) or die(mysql_error());
				
				}///Termina IF Existencia del Pallet
				
			}///Termina IF NEGATIVO
			
			///******************************************************************************************
			
			///Detectar Ajuste POSITIVO
			if ($TipAju_CSV=="POSITIVO")
			{///Inicia IF POSITIVO
				
				$CuentaRegTotal=$CuentaRegTotal+1;
				
				///Identificar el prefijo configurado para el documento de Ajuste (wms_configura_crepal)
					$sql_ACP = mysql_query("select * from wms_configura_crepal WHERE CVE_CUENTA='$CveCta_CSV'");
					if (mysql_numrows($sql_ACP)==0) echo "";
					else{
					$registro_ACP=mysql_fetch_array($sql_ACP);
					}
					if (mysql_numrows($sql_ACP)>0)
					{
					$PrefijoACP=$registro_ACP["PREFIJO"];
					}
					
					////Generador de Folio para gsrdar el consecutivo de la clave de documento en la tabla_consedocaju
					$FechaDocuRes=date("Ymd");
					$sqlDS_2 = "select max(IDINCRE) as ultimo_FOLIODS_2 from tabla_consedocaju WHERE FECHA='$FechaDocuRes'"; 
					$libDS_2 = mysql_query($sqlDS_2); 
					$rs_libDS_2 = mysql_fetch_assoc($libDS_2); 
					$id_nuevoDS = $rs_libDS_2['ultimo_FOLIODS_2'] + 1;
				
					if ($id_nuevoDS <=9)
					{
					$IdenCeros="0000";
					$ClaveDocSur=$PrefijoACP.$FechaDocuRes.$IdenCeros.$id_nuevoDS;
					$NoDocPG=$ClaveDocSur;
					}
				
					if ($id_nuevoDS >=10 and $id_nuevoDS <=99)
					{
					$IdenCeros="000";
					$ClaveDocSur=$PrefijoACP.$FechaDocuRes.$IdenCeros.$id_nuevoDS;
					$NoDocPG=$ClaveDocSur;
					}
				
					if ($id_nuevoDS >=100 and $id_nuevoDS <=999)
					{
					$IdenCeros="00";
					$ClaveDocSur=$PrefijoACP.$FechaDocuRes.$IdenCeros.$id_nuevoDS;
					$NoDocPG=$ClaveDocSur;
					}
					
					if ($id_nuevoDS >=1000 and $id_nuevoDS <=9999)
					{
					$IdenCeros="0";
					$ClaveDocSur=$PrefijoACP.$FechaDocuRes.$IdenCeros.$id_nuevoDS;
					$NoDocPG=$ClaveDocSur;
					}
					
					if ($id_nuevoDS >9999)
					{
					$ClaveDocSur=$PrefijoACP.$FechaDocuRes.$id_nuevoDS;
					$NoDocPG=$ClaveDocSur;
					}
					
					////Generar Folio para Guardar el Concecutivo del Pallet
					$sql_GG2 = "select max(ID) as ultimo_FOLIO_GG2 from tabla_consedocaju"; 
					$lib_GG2 = mysql_query($sql_GG2); 
					$rs_lib_GG2 = mysql_fetch_assoc($lib_GG2); 
					$id_nuevo_GG2 = $rs_lib_GG2['ultimo_FOLIOP_GG2'] + 1;
									
					////Guardar en la BD
					$sql_GCP2 = "insert tabla_consedocaju (ID,CVE_BODEGA,CVE_CUENTA,IDINCRE,NO_DOCUMENTO,FECHA)
        			values('$id_nuevo_GG2','1','$CveCta_CSV','$id_nuevoDS','$NoDocPG','$FechaDocuRes')";
					$resultado_GCP2=mysql_query($sql_GCP2,$conexion) or die(mysql_error());
				

				////Hora y Fecha
						$Hora=time();
						$HoraOK=date("H:i:s",$Hora);
						$FechaOk=date("Y/m/d");
				
				///Identificar el prefijo configurado
					$sqlIDE1 = mysql_query("select * from wms_configura_pallet WHERE CVE_CUENTA='$CveCta_CSV'");
					if (mysql_numrows($sqlIDE1)==0) echo "";
					else{
					$registroIDE1=mysql_fetch_array($sqlIDE1);
					}
					if (mysql_numrows($sqlIDE1)>0)
					{
					$PrefijoPal=$registroIDE1["PREFIJO"];
					}
					
				///Generador de Folio para Guardar el Conecutivo de la Clave de Pallet
					$FechaPallet=date("Ymd");
					$sqlIDP = "select max(IDINCRE) as ultimo_FOLIOP from tabla_consepallet where FECHA='$FechaPallet'"; 
					$libP = mysql_query($sqlIDP); 
					$rs_libP = mysql_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;
					}
					
					////Generar Folio para Guardar el Concecutivo del Pallet
					$sql_GG1 = "select max(ID) as ultimo_FOLIO_GG1 from tabla_consepallet"; 
					$lib_GG1 = mysql_query($sql_GG1); 
					$rs_lib_GG1 = mysql_fetch_assoc($lib_GG1); 
					$id_nuevo_GG1 = $rs_lib_GG1['ultimo_FOLIO_GG1'] + 1;
									
					////Guardar en la BD
					$sql_GCP2 = "insert tabla_consepallet (ID,CVE_BODEGA,CVE_CUENTA,IDINCRE,NO_DOCUMENTO,NO_PALLET,FECHA)
        			values('$id_nuevo_GG1','1','$CveCta_CSV','$id_nuevoP','$NoDocPG','$ClavePallet','$FechaPallet')";
					$resultado_GCP2=mysql_query($sql_GCP2,$conexion) or die(mysql_error());
				
				
				////generador de Folio en el Inventario
					$sqlID = "select max(ID) as ultimo_FOLIO from tabla_inventario"; 
					$lib = mysql_query($sqlID); 
					$rs_lib = mysql_fetch_assoc($lib); 
					$id_nuevoNUEPA = $rs_lib['ultimo_FOLIO'] + 1;
					
					////Asignación de Armado del Ajuste
					$ArmPallOri="1 pallet de ".$Cantid_CSV." piezas";
					
					////Asignar Lote WMS
					$L_Wms="LWMS".$FechaPallet;
					
					/////Vigencia de Documento
					$FechaCadu = strtotime ( '+3650 day' , strtotime ( $FechaOk ) ) ;
					$FechaCadu = date ( 'Y/m/d' , $FechaCadu );
					
					////Identificar la prioridad de la ubicación
					$sql_VE4 = mysql_query("select PRIORIDAD from tabla_prioridad WHERE CVE_CUENTA='$CveCta_CSV' AND UBICACION='$CveUbi_CSV'");
					if (mysql_numrows($sql_VE4)==0) echo "";
					else{
					$registro_VE4=mysql_fetch_array($sql_VE4);
					}
					if (mysql_numrows($sql_VE4)>0)
					{
					$Prio_VE4=$registro_VE4["PRIORIDAD"];
					}
				
					////Identificar el Tipo de Ubicación
					$sql_VE5 = mysql_query("select TIPODEUBICACION from tabla_ubicaciones WHERE CUENTA='$CveCta_CSV' AND CLAVEUBICACION='$CveUbi_CSV'");
					if (mysql_numrows($sql_VE5)==0) echo "";
					else{
					$registro_VE5=mysql_fetch_array($sql_VE5);
					}
					if (mysql_numrows($sql_VE5)>0)
					{
					$TiUb_VE5=$registro_VE5["TIPODEUBICACION"];
					}
				
					////Identificar Los Datos del Sku dentro del Catalogo
					$sql_VE6 = mysql_query("select SKU_ALT,DESCRIPCION,PZASXCAJA,CAJAXPALLET from tabla_altaproducto WHERE SKU='$CodSku_CSV' AND CUENTA='$CveCta_CSV'");
					if (mysql_numrows($sql_VE6)==0) echo "";
					else{
					$registro_VE6=mysql_fetch_array($sql_VE6);
					}
					if (mysql_numrows($sql_VE6)>0)
					{
					$CodAlt_VE6=$registro_VE6["SKU_ALT"];
					$Descri_VE6=$registro_VE6["DESCRIPCION"];
					$PzaXCa_VE6=$registro_VE6["PZASXCAJA"];
					$CaxPal_VE6=$registro_VE6["CAJAXPALLET"];
					}
				
				
					////Guardar el Pallet Nuevo dentro del Inventario
					$sql_GPN = "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,TIPO_ALMACEN)
        			values('$id_nuevoNUEPA','1','$CveCta_CSV','$NoDocPG','$NoDocPG','$CodSku_CSV','$CodAlt_VE6','$Descri_VE6','$FechaOk','$Cantid_CSV','$VarLot_CSV','$L_Wms','','$FechaCadu','$NoDocPG','ACPN001','$PzaXCa_VE6','$CaxPal_VE6','$ArmPallOri','$ClavePallet','$CveUbi_CSV','$Prio_VE4','$TiUb_VE5','D','HelpDesk','$HoraOK','$FechaOk','10')";
					$resultado=mysql_query($sql_GPN,$conexion) or die(mysql_error());
				
				
					///Generar Folio para Ajuste Positivo en Kardex
						$sqlIDPK = "select max(ID) as ultimo_FOLIOPK from tabla_kardex"; 
						$libPK = mysql_query($sqlIDPK); 
						$rs_libPK = mysql_fetch_assoc($libPK); 
						$id_nuevoPK = $rs_libPK['ultimo_FOLIOPK'] + 1;
						
					///Guardando Kardex Positivo
						$sqlGKN = "insert tabla_kardex (ID,CVE_BODEGA,CVE_CUENTA,SKU,SKU_ALT,NO_DOCUMENTO,MOVIMIENTO,CLAVEUBICACION,PALLET,PIEZAS,FECHA,HORA,USUARIO)
						values('$id_nuevoPK','1','$CveCta_CSV','$CodSku_CSV','$CodAlt_VE6','$NoDocPG','AJUSTE CREA','$CveUbi_CSV','$ClavePallet','$Cantid_CSV','$FechaOk','$HoraOK','HelpDesk')";
						$resultadoGKN=mysql_query($sqlGKN,$conexion) or die(mysql_error());
					
					///Generador de Folio para Guardar el Ajuste en la tabla_ajustes ///////////		
						$sqlID = "select max(ID) as ultimo_FOLIO from tabla_ajustes"; 
						$lib = mysql_query($sqlID); 
						$rs_lib = mysql_fetch_assoc($lib); 
						$id_nuevo = $rs_lib['ultimo_FOLIO'] + 1;
						
						///Guardar el Ajuste en la tabla_ajustes
						$FechaAMen=date("Y/m/d");
						$sqlGA1 = "insert tabla_ajustes (ID,CVE_BODEGA,CVE_CUENTA,PALLET,SKU,DESCRIPCION,C_ORIGINAL,C_AJUSTE,C_RESULTANTE,MOTIVO,OBSERVACIONES,NOTA_1,NOTA_2,FECHA,HORA,USUARIO)
						values('$id_nuevo','1','$CveCta_CSV','$ClavePallet','$CodSku_CSV','$Descri_VE6','0','$Cantid_CSV','$Cantid_CSV','CPN','Ajuste positivo ejecutado por inventario ciclico','-','-','$FechaOk','$FechaOk','HelpDesk')";
						$resultadoGA1=mysql_query($sqlGA1,$conexion) or die(mysql_error());

				
			}///Termina IF POSITIVO			
			
			///Limpiando Variables Principales
			$CveCta_CSV = "";
			$CodSku_CSV = "";
			$NoPall_CSV = "";
			$Cantid_CSV = "";
			$CveUbi_CSV = "";
			$VarLot_CSV = "";
			$TipAju_CSV = "";
				
			}///Termina While
				
				echo "<script>alert('SE HAN PROCESADO $CuentaRegTotal AJUSTES DE FORMA EXITOSA.');</script>";
				echo "<META HTTP-EQUIV=Refresh CONTENT='2; URL=AjusteMasivo_CSV.php'>";

		}
		////////FIN SE SUBE TODO EL ARCVHIVO CSV////////////

		}
?>
</body>
</html>