<?php
 
session_start();
$com = "A";
include("DMMYSQLG.php");
include("DSA3000.php");
include("DMMYSQLG.php");
?>
<html>
<link rel="stylesheet" href="css/estilo1.css" type="text/css"/>
<script type="text/javascript" language="JavaScript1.2" src="DSSCRIPT.js"></script>
<body>
<?php

$b = $_REQUEST['bot']; 
//si se preciona el boton de Actualizar 
if(isset($_POST['bot']))
{
	$sql="UPDATE dgrefdve SET consec = 1 where fol_recep = '$b'";
	if (!mysqli_query($con ,$sql))
	{
		die('Error 00: ' . mysqli_error($con));
	}
	@$res=mysqli_query($con ,"select * from dgrefdvd where cons_dev = '$b'");
	while($row = mysqli_fetch_array($res))
	{

		$bb[] = $row["can_dev"];
		$no = $row["cons_dev"];
		$de[] = $row["nparte1"];
		$tcd[] = $row["tot_dev"];
		$idAlm[] = $row["almacen"];
	}
	$num_elemento=count($bb);
	//recorrer el numero de elementos en detalle
	for($i=0;$i<=$num_elemento-1;$i++)
	{
		//sacar la cantidad surtida y sumarle la cantidad que se surtio
		@$result = mysqli_query($con ,"SELECT * FROM dginvalm WHERE nparte1 like '$de[$i]' && almacen = '$idAlm[$i]'");
		$num_salidas=mysqli_num_rows($result); 
		//si nue estaba ese articulo en el almacen
		while($dato = mysqli_fetch_array ($result))
			{ 
				$c1=$dato["exi_fis_alm"];
				$c2=$dato["can_dis_alm"];
			} 
			$efa = $c1 + $bb[$i];
			$eta = $c2 + $bb[$i];
			//--------------------------------------->
			//actualiar el almacen 
			$sql="UPDATE dginvalm SET exi_fis_alm = $efa, can_dis_alm = $eta WHERE nparte1 like '$de[$i]' && almacen = '$idAlm[$i]'";
			if (!mysqli_query($con ,$sql))
			{
				die('Error 6: ' . mysqli_error($con));
			}
		//Sacar la cantidad de back order
		@$result = mysqli_query($con ,"SELECT * FROM dginvent WHERE dginvent.modulo='".$_SESSION['mod_sis']."' AND   nparte1 like '$de[$i]'");
		while($dato = mysqli_fetch_array ($result))
		{ 
			//restar en el back order
			$nbo=$dato['bck_ord']-$ca[$i];
			//sacar la existencia fisica
			$cp2=$dato['exi_fis'];
			//sacar la existencia teorica
			//$cp6=$dato['exi_teo'];
			//sacar la existencia disponible
			$cp7=$dato['exi_dis'];
			//sacar la el costo anterior
			$cp3=$dato['cos_prom'];
		}
		//existencia fisica
		$ef = $cp2 + $bb[$i];
		//existencia teorica
		$et = $cp6 + $bb[$i];
		//Existencia disponible
		$ed = $cp7 + $bb[$i];
		//////////////////////////
		//Precio de ahorita
		$paa = $pr[$i] * $bb[$i];
		//cantidad nueva
		$c = $cp2 + $bb[$i];
		//precio antes
		$aa = $cp2 * $cp3;
		//sacar el precio
		$pa = $aa + $paa;
		//costo promedio nuevo
		$cpt = $pa / $c;
		$sql="UPDATE dginvent SET exi_fis = $ef, exi_dis = $ed  WHERE nparte1 like '$de[$i]'";
		if (!mysqli_query($con ,$sql)){
			die('Error 7: ' . mysqli_error($con));
		 } 
	}
	//-----------------------------------------><-----------------------------------------//
	//-----------------------------------------><-----------------------------------------//
	//modificar campo de compra en dginvacu
	//-----------------------------------------><-----------------------------------------//
	//-----------------------------------------><-----------------------------------------//
	//con el numero de contrato tengo que buscar todos los productos y agregarlos a acumulados
	@$result = mysqli_query($con ,"SELECT * FROM dgrefdvd WHERE cons_dev = '$b'");
	while($dato = mysqli_fetch_array ($result))
	{ 
		$np2[]=$dato['nparte1'];
		$ca2[]=$dato['can_dev'];
	}
	$num_elemento=count($np2);
	//recorrer el numero de elementos en detalle
	for($i=0;$i<=$num_elemento-1;$i++)
	{
		@$result = mysqli_query($con ,"SELECT * FROM dginvacu WHERE nparte1 like '$np2[$i]' order by axo asc, mes asc");
		$num_salidas=mysqli_num_rows($result); 
		//si no estaba ese articulo en el acumulado entonces
		if($num_salidas==0)
		{
			//generar un nuevo registro de compra existencia inicial, final y la compra
			echo 'Este articulo no se encuentra en el acumulado favor de consultar son el administrador';
		}else{
			while($dato = mysqli_fetch_array ($result))
			{
				//sacar el ultimo aņo y mes
				$uaxo = $dato['axo'];
				$umes = $dato['mes'];
				$exfi = $dato['exi_fin'];
				$np  = $dato['nparte1'];
			}
			//echo "Aņo:" . $uaxo . "<br>";
			//echo "Mes:" . $umes . "<br>";
			//echo "Aņo actual: ". date("Y") . '<br>';
			//echo "Mes actual: ". date("m").'<br>';
			//echo "Producto: ". $np.'<br>';
			//si el aņo es anterior al actual aqui
			if (date("Y") > $uaxo){
				//sacar la cantidad de meses por aņo de diferencia
				$difaxo = date("Y") - $uaxo;
				//si es solo un aņo de diferncia
				if($difaxo == 1)
				{
					$dif[$i] = 12 - $umes;
				}else{
					$dif[$i] = 12 - $umes;
					for($j=1;$j<=$difaxo-1;$j++)
					{
						$dif[$i] = $dif[$i] + 12;
					}
				}	
			//diferencia va ha ser igual a la diferencia de aņos anteriores + los meses actuales -1
				$dif[$i] = $dif[$i] + (date("m"));
			}else{
				//en todo caso verificar la diferencia de meses 
				$dif[$i] = date("m") - $umes;
			}
			//mandar datos a acumulados
			//echo "numero de meses transcurridos: " . $dif[$i] . '<br>';
			//si es del mismo mes
			if($dif[$i]==0){
				$a = date('Y');
				$m = date('m');
				//buscar datoa anteriores y sumarles los nuevos y reguardar los datos
				@$result = mysqli_query($con ,"SELECT * FROM dginvacu WHERE nparte1 like '$np2[$i]' && axo = '$a' && mes = '$m'");
				while($dato = mysqli_fetch_array ($result))
				{
					//sacar datos
					$unpa = $dato['exi_ini'];
					$ucom = $dato['compras'];
					$udec = $dato['dev_com'];
					$uten = $dato['tra_ent'];
					$utsa = $dato['tra_sal'];
					$uven = $dato['ventas'];
					$udve[$i] = $dato['dev_ven'];
					$ureq = $dato['requi'];
					$uder = $dato['dev_requi'];
				}
				$udve[$i] = $udve[$i] + $ca2[$i];
				$ef = $unpa + $ucom - $udec + $uten - $utsa - $uven + $udve[$i] - $ureq + $uder;
				
				//mandar la ctualizacion
				$sql="UPDATE dginvacu set dev_ven = $udve[$i] , exi_fin = $ef WHERE nparte1 like '$np2[$i]' && axo = '$a' && mes = '$m'";
				if (!mysqli_query($con ,$sql)){
					die('Error 9: ' . mysqli_error($con));
				}
			}else{
				//elaborar registros por mes atrasado
				$t = $dif[$i] + 1;
				for($y=1;$y<=$dif[$i];$y++)
				{
					$t = $t - 1;
					//conocer la fecha del ultimo mes registrado
					$fecha = date("m/d/Y",mktime(0,0,0,date("m")-$t,date("d"),date("Y")));
					$a = substr($fecha,6);
					//echo $fecha .'<br>';
					$m = substr($fecha,0,2);
					//echo $m;
					//buscar ese registro para sacar 
					
					@$result = mysqli_query($con ,"SELECT * FROM dginvacu WHERE nparte1 like '$np2[$i]' && axo = '$a' && mes = '$m'");
					while($dato = mysqli_fetch_array ($result))
					{
						$ef = $dato['exi_fin'];
						//echo "Producto: " . $np2[$i] . '<br>';
						//echo "Existencia final: " . $ef . '<br>';
					}
					//exit();
					$ei = $ef;
					//crear una nueva fecha
					$x = $t - 1;
					$fecha1 = date("m/d/Y",mktime(0,0,0,date("m")-$x,date("d"),date("Y")));
					$a1 = substr($fecha1,6);
					$m1 = substr($fecha1,0,2);
					//si es el ultimo mes entonces sumarle la nueva cantidad
					if ($a1 == date("Y") && $m1==date("m")){
						$ef = $ca2[$i] + $ei;
						$sql="INSERT INTO dginvacu(nparte1,axo,mes,exi_ini,exi_fin,dev_com) VALUES('$np2[$i]' ,'$a1', '$m1', '$ei', '$ef', $ca2[$i])";	
						if (!mysqli_query($con ,$sql))
						{
							die('Error 10: ' . mysqli_error($con));
						}
					}else{
						$sql="INSERT INTO dginvacu(nparte1,axo,mes,exi_ini,exi_fin) VALUES('$np2[$i]' ,'$a1', '$m1', '$ef', '$ef')";	
						if (!mysqli_query($con ,$sql))
						{
							die('Error 11: ' . mysqli_error($con));
						}		
					}
				}
			}
		}
	}
	///------------------------------------------------------------------------------------------->
	//Inicio de Modificar cardex
	//------------------------------------------------->
	//sacar el numero de la devolucion
	@$result = mysqli_query($con ,"SELECT * FROM dgrefdve WHERE fol_recep = '$b'");
	while($dato = mysqli_fetch_array ($result)){ 
		$cdev=$dato["num_dev"];
	}
		
	@$result = mysqli_query($con ,"SELECT * FROM dgrefdvd WHERE cons_dev = '$b'");
	while($dato = mysqli_fetch_array ($result))
	{ 
		$al2x[]=$dato['almacen'];
		$np2x[]=$dato['nparte1'];
		$ca2x[]=$dato['can_dev'];
		$ndox[]=$dato['num_doc'];
		$tcdx[]=$dato['total_cd'];
	}
	$num_elemento=count($np2x);
	//recorrer el numero de elementos en detalle
	for($i=0;$i<=$num_elemento-1;$i++)
	{
		//
		//---------------------->
		//afectar cardex
		//---------------------->
		//
		//sacar el costo promedio del movimiento
		//
		@$result = mysqli_query($con ,"SELECT * FROM dginvent WHERE dginvent.modulo='".$_SESSION['mod_sis']."' AND   nparte1 like '$np2x[$i]'");
		while($dato = mysqli_fetch_array ($result)){ 
			$cp2[$i]=$dato["cos_prom"];
			$pro2[$i]=$dato["cod_pro"];
			
		}
		//sacar la existencia inicial y la final de este producto
		$a = date('Y');
		$m = date('m');
		@$result = mysqli_query($con ,"SELECT * FROM dginvacu WHERE nparte1 like '$np2x[$i]' && axo = '$a' && mes = '$m'");
		while($dato = mysqli_fetch_array ($result)){ 
			$eini[$i]=$dato["exi_ini"];
			$efin[$i]=$dato["exi_fin"];
		}
		//agregar a cardex los datos
		$sql="INSERT INTO dgcardex (nparte1, fec_mov, tip_mov, num_fol, almacen, mov_sal, cos_pro_mov, pre_comven, ex_in, ex_fi, codigo) VALUES('$np2[$i]', '".date("Y-m-d")."', 'VD-1', '$cdev','$al2x[$i]','$ca2x','$cp2[$i]', '$tcdx[$i]', '$eini[$i]', '$efin[$i]','$pro2')";
		if (!mysqli_query($con ,$sql))
		{
			die('Error en cardex: ' . mysqli_error($con));
		}
	}
}
//---------------------->
//Mostrar boton de salida
//---------------------->
mysqli_close($con);
echo '<h3>!!! Se Actualizo el registro... Actualizando !!!</h3>';
echo '<meta content="1; url=DG2A000_PR.php"  HTTP-EQUIV="REFRESH">';
?>
