<?php
 
//buscar precio
$dt = mysqli_fetch_array(mysqli_query($con ,"SELECT * FROM dginvent WHERE dginvent.modulo='".$_SESSION['mod_sis']."' AND   nparte1 = '".$_REQUEST['producto']."'"));
$precio = $dt['lim_vta1'];
//echo 'Precio'. $precio.'<br>';

if($_POST['tcan'] == "" || $_POST['tcan'] == 0 || $precio == "" || $precio == 0 || $precio == 0.00){
	echo "¡¡¡Es necesario una cantidad o precio!!!";
}else{
	@$res=mysqli_query($con ,"select * from dgpememd where nparte1 LIKE '".$_POST['producto']."' && cons_ven = '".$_POST['tnum']."'");
	$num_salidas=mysqli_num_rows($res); 
	if($num_salidas==0){
		//calcular el iva
		//@$result = mysqli_query($con ,"SELECT * FROM dxtasiva WHERE cve_iva = '".$_POST['select3']."'");
		//while($dato = mysqli_fetch_array ($result)){ 
			$iva23[1]=15;
		//} 
		//consultar el registro  y sacar datos
		//sacar la cantidad surtida y restarle la cantidad que se surtio
		@$result = mysqli_query($con ,"SELECT * FROM dginvalm WHERE nparte1 = '".$_POST['producto']."' and almacen = '".$_SESSION['al']."'");
		
		$num_salidas=mysqli_num_rows($result); 
		//si no estaba ese articulo en el almacen
		if($num_salidas==0){
			echo "Ese articulo no se encuentra en este almacen".'<br>';
		}else{
			@$result = mysqli_query($con ,"SELECT * FROM dginvalm WHERE nparte1 like '".$_POST['producto']."' && almacen = '".$_SESSION['al']."'");
			while($dato = mysqli_fetch_array ($result)){ 
				$c1=$dato["exi_fis_alm"];
				$c2=$dato["can_dis_alm"];
			} 
			//si no hay la cantidad suficiente
			if($c1<$_POST['tcan']){
				echo "No hay suficientes articulos";
			}else{
				@$result = mysqli_query($con ,"SELECT * FROM dginvent WHERE dginvent.modulo='".$_SESSION['mod_sis']."' AND   nparte1 like '".$_POST['producto']."'");
				while($row = mysqli_fetch_array($result))
				{
					$pro1=$row["np_desc1"];		
					$cp2=$row['exi_fis'];
					$cp7=$row['exi_dis'];
					$cp3=$row['cos_prom'];
					$lim1=$row['lim_1'];
					$lim2=$row['lim_2'];
					$lim3=$row['lim_3'];
					$p1=$row['lim_vta1'];
					$p2=$row['lim_vta2'];
					$p3=$row['lim_vta3'];
					$p4=$row['ven_esp1'];
					//echo "hola".$lim1.'<br>';
					//echo "hola".$row['lim_vta1'].'<br>';
				}
				//existencia fisica
				$ef = $cp2 - $_POST['tcan'];
				//Existencia disponible
				$ed = $cp7 - $_POST['tcan'];
				//////////////////////////
				//calcular el precio
				/////////////////////////
				//si usuario es igual a distribuidor
				if($_POST['verd']==1){
					$pr = $p4;
				//en caso contrario escojer cantidad con relacion l precio
				}elseif($_POST['tcan']<=$lim1){
					$pr = $p1;
				}elseif($_POST['tcan']<=$lim2){
					$pr = $p2;
				}elseif($_POST['tcan']>=$lim3){
					$pr = $p3;
				}
				$pr = $precio;
				//echo "Valor: ".$pr.'<br>';
				//exit();
				//Precio de ahorita
				//cantidad
				//echo "CAntidad: ".$_POST['tcan'].'<br>';
				$paa = $pr * $_POST['tcan'];
				//echo "Precio de ahorita: ".$paa.'<br>';
				//cantidad nueva
				$c = $cp2 - $_POST['tcan'];
				//echo "cantidad nueva: ".$c.'<br>';
				//precio antes
				//sacar el porcentaje de descuento
				$p_d = $_POST['ver31'];
				//echo "porcentaje de descuento: ".$p_d.'<br>';
				//calcular descuento
				//$prx1=$pr*.15;
				//echo "iva unitario: ".$prx1.'<br>';
				$prx=$pr/1.15;
				//echo "precio unitario: ".$prx.'<br>';
				//descuento
				$des = ($prx * ($p_d/100));
				//echo "descuento: ".$des.'<br>';
				//calcular total con descuent
				$tcx= $prx - $des;
				//echo "calcular total con descuento: ".$tcx.'<br>';
				//subtotal
				$sub_t = $tcx * $_POST['tcan'];
				//echo "subtotal: ".$sub_t.'<br>';
				//calcular el iva del total con descuento
				$ii = $sub_t * .15;
				//echo "calcular el iva del total con descuento: ".$ii.'<br>';
				//sumar el iva calculado al//subtotal final//iva_total final//totoal final 
				$pt = $sub_t + $iva;
				//echo " total ".$pt.'<br>';
				//fin
				$aa = $cp2 * $cp3;
				//echo " fin ".$aa.'<br>';
				//sacar el precio
				$pa = $aa + $paa;
				//echo " sacar el precio ".$pa.'<br>';
				//costo promedio nuevo
				@$cpt = $pa / $c;
				//echo " costo promedio nuevo ".$cpt.'<br>';
				///////////////////////////////////////////////////////////
				//sacar el iva del precio
				//$ii = $pr - ($prx * $_POST['tcan']);
				//echo " IVA  ".$ii.'<br>';
				//Sacar el precio unitario 
				$pre_unit = $pr * $_POST['tcan'];
				//echo " pre_uni  ".$pre_unit.'<br>';
				//exit();
				$sql="UPDATE dginvent SET exi_fis = $ef, exi_dis = $ed, cos_prom = $cpt, cos_prom_ant = $cp3 WHERE nparte1 like '".$_POST['producto']."'";
				
				@$result = mysqli_query($con ,"SELECT * FROM dgpemema WHERE fol_ven = '".$_POST['tnum']."'");
				$dato = mysqli_fetch_array ($result);
				
				$su_to1=$dato['sub_ven'];
				$iv_to1=$dato['iva_ven'];
				$to_to1=$dato['tot_ven'];
				
	/* 			echo 'Sub_total:'.$su_to1.'<br>';
				echo 'iva:'.$iv_to1.'<br>';
				echo 'total:'.$to_to1.'<br>'; */
	
				$su_to=$su_to1 + $sub_t;
				$iv_to=$iv_to1 + $ii;
				$to_to=$to_to1 + $pre_unit;
				
			/* 	echo 'Sub_totalx:'.$su_to.'<br>';
				echo 'ivax:'.$iv_to.'<br>';
				echo 'totalx:'.$to_to.'<br>'; */
				//agregar registro a la orden de actualizada
				@$ss = mysqli_query($con ,"UPDATE dgpemema SET paso = 1, sub_ven = '$su_to', iva_ven = '$iv_to', tot_ven = '$to_to' WHERE fol_ven = '".$_POST['tnum']."'");
	
				 //echo 'Producto '.$_POST['producto'].'<br>';
				 //echo 'Precio '.$pr;
				 //exit();
				//insertar datos en dgpememd                                              
				$fec = $_POST['ver2'];
				include("DF20000.php");
				
				@$sql=mysqli_query($con ,"INSERT INTO dgpememd (fec_ven, cons_ven, nparte1, can_ref, pre_uni,  por_des, almacen, iva_pre, subtotal, total_cd,des,pre_bas) VALUES ('".$f_m."', '".$_POST['tnum']."', '".$_POST['producto']."', '".$_POST['tcan']."', '$prx', '$p_d', '".$_SESSION['al']."', '$ii','$sub_t','$pre_unit','$des','$pr')");
	
	
				
				$efa = $c1 - $_POST['tcan'];
				$eta = $c2 - $_POST['tcan'];
				//--------------------------------------->
				//actualiar el almacen 
				//echo "hola";
				$sql="UPDATE dginvalm SET exi_fis_alm = $efa, can_dis_alm = $eta WHERE nparte1 like '".$_POST['producto']."' && almacen = '".$_SESSION['al']."'";
				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 '".$_POST['producto']."'");
				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'];
					$lim1=$dato['lim_1'];
					$lim2=$dato['lim_2'];
					$lim3=$dato['lim_3'];
					$p1=$dato['lim_vta1'];
					$p2=$dato['lim_vta2'];
					$p3=$dato['lim_vta3'];
					$p4=$dato['ven_esp1'];
				}
				//existencia fisica
				$ef = $cp2 - $_POST['tcan'];
				//existencia teorica
				//$et = $cp6 - $bb[$i];
				//Existencia disponible
				$ed = $cp7 - $_POST['tcan'];
				//////////////////////////
				//calcular el precio
				/////////////////////////
				//Precio de ahorita
				$paa = $pr * $_POST['tcan'];
				//echo "Precio de ahorita: ".$paa.'<br>';
				//cantidad nueva
				$c = $cp7 + $_POST['tcan'];
				//echo "Cantidad nueva: ".$c.'<br>';
				//precio antes
				$aa = $cp7 * $cp3;
				//echo "Precio de antes: ".$aa.'<br>';
				//sacar el precio
				$pa = $aa + $paa;
				//echo "Saca el precio: ".$pa.'<br>';
				//costo promedio nuevo
				@$cpt = $pa / $c;
				//echo "Nuevo Costo Promedio: ".$cpt.'<br>';
				$sql="UPDATE dginvent SET exi_fis = $ef, exi_dis = $ed WHERE nparte1 like '".$_POST['producto']."'";
				if (!mysqli_query($con ,$sql)){
					die('Error 7: ' . mysqli_error($con));
				 } 
				//-----------------------------------------><-----------------------------------------//
				//-----------------------------------------><-----------------------------------------//
				//modificar campo de venta en dginvacu
				//-----------------------------------------><-----------------------------------------//
				//-----------------------------------------><-----------------------------------------//
				@$result = mysqli_query($con ,"SELECT * FROM dginvacu WHERE nparte1 like '".$_POST['producto']."' 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 venta existencia inicial, final y la compra
					echo 'Este articulo no se encuentra en el acumulado favor de Agregarlo';
				}else{
					while($dato = mysqli_fetch_array ($result))
					{
						//sacar el ultimo año y mes
						$uaxo = $dato['axo'];
						$umes = $dato['mes'];
						$exfi = $dato['exi_fin'];
						$exin = $dato['exi_ini'];
						$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)
						{
							$diff = 12 - $umes;
						}else{
							$diff = 12 - $umes;
							for($j=1;$j<=$difaxo-1;$j++)
							{
								$diff = $diff + 12;
							}
						}	
					//diferencia va ha ser igual a la diferencia de años anteriores + los meses actuales -1
						$diff = $diff + (date("m"));
					}else{
						//en todo caso verificar la diferencia de meses 
						$diff = date("m") - $umes;
					}
					//mandar datos a acumulados
					//echo "numero de meses transcurridos: " . $diff . '<br>';
					//si es del mismo mes
					if($diff==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 '".$_POST['producto']."' && axo = '$a' && mes = '$m'");

						while($dato = mysqli_fetch_array($result))
						{
							//sacar datos
							//if ($unpa <> ""){
							$unpa = $dato['exi_ini'];
							//}
							$ucom = $dato['compras'];
							$udec = $dato['dev_com'];
							$uten = $dato['tra_ent'];
							$utsa = $dato['tra_sal'];
							$uven = $dato['ventas'];
							$udve = $dato['dev_ven'];
							$ureq = $dato['requi'];
							$uder = $dato['dev_requi'];
						}
						$uven = $uven + $_POST['tcan'];
						$ef = $unpa + $ucom - $udec + $uten - $utsa - $uven + $udve - $ureq + $uder;
						
						//mandar la ctualizacion
						$sql="UPDATE dginvacu set ventas = $uven , exi_fin = $ef WHERE nparte1 like '".$_POST['producto']."' && axo = '$a' && mes = '$m'";
						if (!mysqli_query($con ,$sql)){
							die('Error 9: ' . mysqli_error($con));
						}
					}else{
						//elaborar registros por mes atrasado
						$t = $diff + 1;
						for($y=1;$y<=$diff;$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 '".$_POST['producto']."' && 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
							//echo 't:'.$t.'<br>';
							$x = $t - 1;
							//echo 'x:'.$x.'<br>';
							//echo 'meees:'.date("m").'<br>';
							$fecha1 = date("m/d/Y",mktime(0,0,0,date("m")-$x,date("d"),date("Y")));
							//echo 'fecha:'.$fecha1.'<br>';
							$a1 = substr($fecha1,6);
							$m1 = substr($fecha1,0,2);
							//echo 'mes:'.$m1.'<br>';
							//si es el ultimo mes entonces sumarle la nueva cantidad
							if ($a1 == date("Y") && $m1==date("m"))
							{
								$ef = $ca2 + $ei;
								$sql="INSERT INTO dginvacu(nparte1,axo,mes,exi_ini,exi_fin,ventas) VALUES('".$_POST['producto']."' ,'$a1', '$m1', '$ei', '$ef', '".$_POST['tcan']."')";	
								if (!mysqli_query($con ,$sql))
								{
									die('Error 10: ' . mysqli_error($con));
								}
							}else{
								$uven = $_POST['tcan'];
								$ef = $ei - $uven;
							mysqli_query($con ,"INSERT INTO dginvacu(nparte1,axo,mes,exi_ini,exi_fin, ventas) VALUES('".$_POST['producto']."' ,'$a1', '$m1', '$ei', '$ef', '$uven')");	
							}
						}
					}
				}
				 
	///------------------------------------------------------------------------------------------->
	//Inicio de Modificar cardex
	//------------------------------------------------->
				@$result = mysqli_query($con ,"SELECT * FROM dgpememd WHERE cons_ven = '".$_POST['tnum']."'");
				while($dato = mysqli_fetch_array ($result))
				{ 
					$al2x=$dato['almacen'];
					$np2x=$dato['nparte1'];
					$ca2x=$dato['can_ref'];
					//$ndox=$dato['num_doc'];
					$tcdx=$dato['total_cd'];
				}
				$num_elemento=count($al2x);
				//echo 'Clava1:'.$num_elemento.'<br>';
				//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 '".$_POST['producto']."'");
					while($dato = mysqli_fetch_array ($result)){ 
						$cp2=$dato["cos_prom"];
						$pro2=$dato["cod_pro"];
					}
					//echo 'valida'.$cp2 ;
					//exit();
					//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 = '".$_POST['producto']."' and axo = '$a' and  mes = '$m'");
					while($dato = mysqli_fetch_array ($result)){ 
						$eini=$dato["exi_ini"];
						$efin=$dato["exi_fin"];
					}
					//agregar a cardex los datos
					$ti_ve = 'VE-'. $_SESSION['al'];
					$sql="INSERT INTO dgcardex (nparte1, fec_mov, tip_mov, fol_recep, almacen, mov_sal, cos_pro_mov, pre_comven, ex_in, ex_fi, codigo) VALUES('".$_POST['producto']."', '".date("Y-m-d")."', '$ti_ve', '".$_POST['tnum']."','".$_SESSION['al']."','$ca2x','$cp2', '$tcdx', '$eini', '$efin','".$_POST['ver33']."')";
					if(!mysqli_query($con ,$sql))
					{
						die('Error en cardex: ' . mysqli_error($con));
					}
				}
			}
		}
	}else{
		echo '¡¡¡Ese registro ya esta cargado en la Solicitud!!!';
	}
}
?>
