<?php
session_start();
include "verifica.php";
include("../conexion.php");
include "correlativos.php";
include "validaciones.php";

date_default_timezone_set('America/Lima');
$script_tz = date_default_timezone_get();

//@$xid = $_REQUEST['xnotcre_codi'];
@$xid = $_REQUEST['xid'];

@$xnotcre_codi = $_REQUEST['xnotcre_codi'];
@$xordped_codi_fk_nota = $_REQUEST['xordped_codi_fk_nota'];
@$xndocumento_nota = $_REQUEST['xndocumento_nota'];

@$xtipo_nota = $_REQUEST['xtipo_nota'];
@$xnt_credito_serie = $_REQUEST['xnt_credito_serie'];
@$xnota_credito_observacion = $_REQUEST['xnota_credito_observacion'];

@$xdetalle_nota = $_REQUEST['xdetalle_nota'];
@$xmonto_descuento = $_REQUEST['xmonto_descuento'];

@$xcantidad_devolver = $_REQUEST['xcantidad_devolver'];
@$xprecio_descontado = $_REQUEST['xprecio_descontado'];

@$xordpeddet_codi = $_REQUEST['xordpeddet_codi'];


@$xaccion=$_REQUEST['xaccion_nota_credito'];

?>
<script language="javascript">
//alert("xaccion:.: <?php //echo $xaccion; ?>");
</script>				
<?php


@$xusuario_sesion = $_SESSION['nombre_usuario'];


@$xfecha = $_REQUEST['xfecha_nota_credito'];

$notcre = new Notacredito;



switch($xaccion){
		
	case "modificar": 
		if($notcre->modificar($conexion)==1){
			//echo "modificar";						
			?>
			<script language="javascript">
			alert("Los cambios han sido guardados satisfactoriamente.");
			//xop=parent.parent.document.getElementById('xop').value;
			//parent.parent.location.href="../caja.php";
			
//			parent.document.getElementById('frame_pedidos_caja').src='pedidos_caja.php?xordped_codi=<?php echo $xordped_codi;?>';
//			parent.parent.accion_pedidos('cerrar_nueva_operacion_caja');			
		
			</script>			
			<?php

		}		
		break;
	
				
	case "guardar_nuevo":
		if($notcre->guardar_nuevo($conexion)==1){
			//echo "guardar_unidad";
			?>			
			<script language="javascript">
			alert("Nota de credito registrada satisfactoriamente.")
			
			
			//parent.document.getElementById('frame_pedidos_caja').src='pedidos_caja.php?xordped_codi=<?php echo $xordped_codi;?>';			
			//parent.parent.accion_pedidos('cerrar_nueva_operacion_caja');
			
			</script>			
			<?php			
		}		
		break;	
		
		
	case "reprocesar_comprobante":
		if($notcre->reprocesar_comprobante($conexion)==1){
			?>			
			<script language="javascript">
			//alert("aaa");
			</script>			
			<?php
			
		}		
		break;		
		
	case "devolver_cantidad":	
		if($notcre->devolver_cantidad($conexion)==1){
			//echo "guardar_unidad";
			?>			
			<script language="javascript">
			//alert("cantidad guardada.")
			
			</script>			
			<?php			
		}		
		break;	
		

	case "descontar_precio":	
		if($notcre->descontar_precio($conexion)==1){
			//echo "guardar_unidad";
			?>			
			<script language="javascript">
			//alert("cantidad guardada.")
			
			</script>			
			<?php			
		}		
		break;			
							
}


	
//$xid=$_REQUEST['xid'];
// echo "DEBE GUARDAR.".$xid;
//include("../conexion.php");


class Notacredito{

	//Guarda Modificaciones de operaci�n de caja
	function modificar($conexion){
	
		global $xid, $xnotcre_codi, $xordped_codi_fk_nota, $xndocumento_nota, $xtipo_nota, $xnt_credito_serie, $xnota_credito_observacion, $xaccion, $xusuario_sesion, $xfecha, $cor;				
		
		if($r2){	
					
			return 1;
		
		}			
	}	




	//Guarda nuevo caja
	function guardar_nuevo($conexion){
	
		global $xid, $xnotcre_codi, $xordped_codi_fk_nota, $xndocumento_nota, $xtipo_nota, $xnt_credito_serie, $xnota_credito_observacion, $xaccion, $xusuario_sesion, $xfecha, $xdetalle_nota, $xmonto_descuento, $cor, $vali;					
				
		//$correlativo = $cor->caja($conexion);
		//$xcaj_codi = $vali->caja_abierta($conexion);

		?>
		<script language="javascript">
		//alert("xfecha: <?php //echo $xfecha; ?>");			
		</script>			
		<?php

		
		$s_empresa = $_SESSION['s_empresa'];				

		$xfechahora = date('Y-m-d H:i:s');
		
		
		if($_SESSION['s_facturacion_electronica']==1){		
		
			$xserie = substr(trim($xndocumento_nota),0,4);
			
			$correlativo_doc = $cor->comprobantes_grabar_nota_credito($conexion, $xserie);		
			//$correlativo_serie = $correlativo_doc;
			//$xndocumento = $correlativo_doc;
			$xndocumento_nota = $correlativo_doc;
		}	
		
		$nu2 = "9999999999"; 
		$xnotcre_idtrans = time().rand(1,$nu2);
		
		$xcaj_codi = $vali->caja_abierta($conexion);
		
		$r_caja_abierta = mysqli_query($conexion,"SELECT caj_numero FROM caja c WHERE caj_codi = $xcaj_codi;");
		while($row_caja_abierta = mysqli_fetch_array($r_caja_abierta)){
			$xcaja_abierta = $row_caja_abierta['caj_numero'];
		}
		
		$r2=mysqli_query($conexion,"INSERT INTO nota_credito (notcre_fechahora,
																		notcre_fecha,
																		notcre_numero,																		
																		ordped_codi_fk,																																			
																		notcre_serie,
																		notcretip_codi_fk,
																		notcre_detalle,
																		notcre_descuento,
																		notcre_flg_ose,
																		notcre_caj_numero,
																		notcre_usu_crea) 
																VALUES('$xfechahora',
																		'$xfecha',
																		'$xndocumento_nota',
																		'$xordped_codi_fk_nota',
																		'$xnt_credito_serie',
																		'$xtipo_nota',
																		'$xdetalle_nota',
																		'$xmonto_descuento',
																		1,
																		'$xcaja_abierta',
																		'$xusuario_sesion');");				
		
		if($r2){
		
			if($xtipo_nota==1 or $xtipo_nota==2 or $xtipo_nota==3 or $xtipo_nota==6){			
				$r_devolver = mysqli_query($conexion,"UPDATE orden_pedido_detalle SET ordpeddet_cantidad_devolver = ordpeddet_cantidad 
																					WHERE ordped_codi_fk = $xordped_codi_fk_nota;");							
			}			
			if($xtipo_nota==7){			
				$r_devolver = mysqli_query($conexion,"UPDATE orden_pedido_detalle SET ordpeddet_cantidad_devolver = ordpeddet_cantidad_devolver_temporal 
																					WHERE ordped_codi_fk = $xordped_codi_fk_nota;");							
			}					
			if($xtipo_nota==5){			
				$r_devolver = mysqli_query($conexion,"UPDATE orden_pedido_detalle SET ordpeddet_precio_descuento = ordpeddet_precio_descuento_temporal 
																					WHERE ordped_codi_fk = $xordped_codi_fk_nota;");							
			}	


			$xmonto_nota = 0;
			if($xtipo_nota==1 or $xtipo_nota==2 or $xtipo_nota==3 or $xtipo_nota==6){			
				$r_monto = mysqli_query($conexion,"SELECT SUM((ordpeddet_precio * ordpeddet_cantidad) + (ordpeddet_icbper_monto_unitario * ordpeddet_cantidad)) AS monto_noto
													FROM orden_pedido_detalle o
													WHERE ordped_codi_fk = $xordped_codi_fk_nota;");
				while($row_monto = mysqli_fetch_array($r_monto)){
					$xmonto_nota = $row_monto['monto_noto'];
				}																
			}			
			if($xtipo_nota==7){			
				$r_monto = mysqli_query($conexion,"SELECT SUM(ordpeddet_precio * ordpeddet_cantidad_devolver) AS monto_noto
													FROM orden_pedido_detalle o
													WHERE ordped_codi_fk = $xordped_codi_fk_nota;");							
				while($row_monto = mysqli_fetch_array($r_monto)){
					$xmonto_nota = $row_monto['monto_noto'];
				}																													
			}					
			if($xtipo_nota==5){			
				$r_monto = mysqli_query($conexion,"SELECT SUM(ordpeddet_precio_descuento * ordpeddet_cantidad) AS monto_noto
													FROM orden_pedido_detalle o
													WHERE ordped_codi_fk = $xordped_codi_fk_nota;");							
				while($row_monto = mysqli_fetch_array($r_monto)){
					$xmonto_nota = $row_monto['monto_noto'];
				}														
			}	
			
			
			
				$xpagtip_caja_automatica = 1;
				if($xpagtip_caja_automatica == 1){				
				//if($xpagtip_caja_automatica == 1 and $xactivar_pago_mixto==0){		
				
				
					$nu = "9999999999"; 
					$xnu = time().rand(1,$nu);
					
					//$xmediopago2 = $_SESSION['s_mediopago'];
					
					//if(trim($xpagomedio)=="" and $xpagomedio==NULL){
						$xmediopago2 = $_SESSION['s_mediopago'];
					//}else{	
					//	$xmediopago2 = $xpagomedio;
					//}					
					
					$correlativo = $cor->caja($conexion);
					//$xcaj_codi = $vali->caja_abierta($conexion);					
					//$correlativo = "0000013";

										
					//$xopecajtip_codi_fk_222=$_SESSION['s_cobropedido'];
					$xopecajtip_codi_fk_222 = $_SESSION['s_pagonotacredito'];					
					
					$xfechahora = date('Y-m-d H:i:s');							


					$r_persona = mysqli_query($conexion,"SELECT per_codi_fk FROM orden_pedido WHERE ordped_codi = $xordped_codi_fk_nota;");
					while($row_persona = mysqli_fetch_array($r_persona)){
						$yper_codi_fk = $row_persona['per_codi_fk'];
					}


										
					$r_caja = mysqli_query($conexion,"INSERT INTO operacion_caja (opecaj_fechahora,
																	opecaj_fecha,
																	opecaj_numero,																		
																	per_codi_fk,
																	opecajtip_codi_fk,																		
																	opecaj_anotaciones,
																	opecaj_monto,
																	opecaj_usu_crea,
																	medpag_codi_fk,
																	idtrans,
																	caj_codi_fk,
																	emp_codi_fk,
																	opecaj_tipo_de_nota) 
															VALUES('$xfechahora',
																	'$xfecha',
																	'$correlativo',
																	$yper_codi_fk,
																	$xopecajtip_codi_fk_222,
																	'GENERADO AUTOMATICAMENTE',
																	$xmonto_nota,
																	'$xusuario_sesion',
																	'$xmediopago2',
																	'$xnu',
																	'$xcaj_codi',
																	'$s_empresa',
																	'1');");
																	
					if($r_caja){				
					
																												
						/*
						$r_nota_ver = mysqli_query($conexion,"SELECT notcre_codi FROM nota_credito WHERE notcre_idtrans = '$xnotcre_idtrans';");
						while($row_nota_ver = mysqli_fetch_array($r_nota_ver)){
							$xnotcre_codi_fk = $row_nota_ver['notcre_codi'];
						}
						*/
																
						$r_caja_ver = mysqli_query($conexion,"SELECT opecaj_codi FROM operacion_caja o WHERE idtrans = '$xnu';");
						while($row_caja_ver = mysqli_fetch_array($r_caja_ver)){
							$xopecaj_codi_fk = $row_caja_ver['opecaj_codi'];
						}
											
						$xfechahora = date('Y-m-d H:i:s');								
						/*
						$r3=mysqli_query($conexion,"INSERT INTO nota_credito_caja (notcrecaj_fechahora,
																						notcre_codi_fk,
																						opecaj_codi_fk) 
																				VALUES('$xfechahora',
																						$xnotcre_codi_fk,
																						$xopecaj_codi_fk);");
						*/																

						$r3=mysqli_query($conexion,"INSERT INTO orden_pedido_caja (ordpedcaj_fechahora,
																						ordped_codi_fk,
																						opecaj_codi_fk) 
																				VALUES('$xfechahora',
																						$xordped_codi_fk_nota,
																						$xopecaj_codi_fk);");																										
					
						if($r3){
								
							//return 1;
						}				
					}																																	
				}
				
				
				
																
				/***********GENERA ALMACEN AUTOMATICAMENTE*****************/
				
				$xpagtip_almacen_automatico = 1;
				//if($xpagtip_almacen_automatico == 1){
				if($xpagtip_almacen_automatico == 1 and $xtipo_nota!=5){
									
					//$xdoctip_codi_fk_2=$xdoctip_codi;																											
					$xdoctip_codi_fk_2 = $_SESSION['s_documentotipo_notacredito'];	
					$xopetip_codi_fk_2 = $_SESSION['s_con_documentotipo_notacredito'];
						
															
					$r_nro_pedido = mysqli_query($conexion, "SELECT ordped_numero, ordped_codi, emp_codi_fk FROM orden_pedido WHERE ordped_codi = $xordped_codi_fk_nota;");
					while($row_nro_pedido = mysqli_fetch_array($r_nro_pedido)){
						$xordpedcom_numero = $row_nro_pedido['ordped_numero'];
						$xyordped_codi = $row_nro_pedido['ordped_codi'];
						$xyemp_codi_fk = $row_nro_pedido['emp_codi_fk'];
					}
											
					$nu = "9999999999"; 
					$xnu = time().rand(1,$nu);					
					
					$correlativo = $cor->almacen($conexion);
					
					$xfechahora = date('Y-m-d H:i:s');																									
																					
										
					$r_almacen=mysqli_query($conexion,"INSERT INTO operacion_almacen (opealm_fechahora,
																					opealm_fecha,
																					opealm_numero,																		
																					per_codi_fk,
																					doctip_codi_fk,
																					opetip_codi_fk,
																					idtrans,
																					opealm_anotaciones,
																					doc_numero,
																					opealm_usu_crea,
																					ordpedcom_numero,
																					emp_codi_fk) 
																			VALUES('$xfechahora',
																					'$xfecha',
																					'$correlativo',
																					$yper_codi_fk,
																					$xdoctip_codi_fk_2,
																					$xopetip_codi_fk_2,
																					'$xnu',
																					'GENERADO AUNTOMATICAMENTE',
																					'$xndocumento_nota',
																					'$xusuario_sesion',
																					'$xordpedcom_numero',
																					'$xyemp_codi_fk');");				
					
					if($r_almacen){												
										
						$r_trans = mysqli_query($conexion, "SELECT opealm_codi FROM operacion_almacen o where idtrans='$xnu';");
						while($row_trans=mysqli_fetch_array($r_trans)){
							$xopealm_codi=$row_trans['opealm_codi'];
						}
												
						//$r1 = mysqli_query($conexion,"SELECT * FROM temporal_orden_pedido_detalle t WHERE idtrans='$xidtrans' order by ordpeddet_codi;");	
						$r1 = mysqli_query($conexion,"SELECT * FROM orden_pedido_detalle o 
														WHERE ordped_codi_fk = $xordped_codi_fk_nota
														AND ordpeddet_cantidad_devolver > 0;");	
						while($row1=mysqli_fetch_array($r1)){
						
							$xprd_codi_fk = $row1['prd_codi_fk'];
							$xunimed_codi_fk = $row1['unimed_codi_fk'];
							$xordpeddet_precio = $row1['ordpeddet_precio'];
							$xordpeddet_cantidad_devolver = $row1['ordpeddet_cantidad_devolver'];						
						
							$xfechahora = date('Y-m-d H:i:s');
																			
							$r=mysqli_query($conexion,"INSERT INTO operacion_almacen_detalle (opealmdet_fechahora, 
																							prd_codi_fk,
																							unimed_codi_fk,																				
																							opealmdet_cantidad,
																							opealm_codi_fk,
																							idtrans) 
																					VALUES('$xfechahora',
																							$xprd_codi_fk,
																							$xunimed_codi_fk,																				
																							$xordpeddet_cantidad_devolver,
																							$xopealm_codi,
																							'$xnu');");				
						}
						

						$r4=mysqli_query($conexion,"SELECT * FROM operacion_almacen o WHERE idtrans = '$xnu';");
						while($row4=mysqli_fetch_array($r4)){
							$xopealm_codi_fk = $row4['opealm_codi'];
						}
							
						$xfechahora = date('Y-m-d H:i:s');								
						
						$r3=mysqli_query($conexion,"INSERT INTO orden_pedido_almacen (ordpedalm_fechahora,
																						ordped_codi_fk,
																						opealm_codi_fk) 
																				VALUES('$xfechahora',
																						$xordped_codi_fk_nota,
																						$xopealm_codi_fk);");
					
					}else{
						?>
						<script language="javascript">
						alert("ERROR INESPERADO");
						</script>
						<?php
					
					}																					
															
				}													
							
				
						
			//}
																	
		
			?>
			<script language="javascript">
			alert("Ha sido registrado satisfactoriamente. Espere un momento para que la NOTA DE CREDITO sea generada.");
			parent.document.form_buscar.submit();
			//parent.cerrar_nota_credito('cerrar_creditos');
			</script>			
			<?php
									
			return 1;			
		}				
	}
	
	
	
	
	
	//Reprocesando
	function reprocesar_comprobante($conexion){
		global $xaccion, $xid, $xusuario_sesion;									

		$r = mysqli_query($conexion,"UPDATE nota_credito SET notcre_txt_generado=0, 
																		notcre_codigohast='', 
																		notcre_timbrexml=0, 
																		notcre_timbreweb=0, 
																		notcre_detallerpta='' 
														WHERE notcre_codi= $xid;");		
		if($r){		

			return 1;
		}		
	}	



	//Devolver
	function devolver_cantidad($conexion){
		global $xaccion, $xcantidad_devolver, $xordpeddet_codi;
		
		?>
		<script language="javascript">
		//alert("<?php echo $xcantidad_devolver;?> --...-- <?php echo $xordpeddet_codi;?> ");
		</script>
		<?php

		$r = mysqli_query($conexion,"UPDATE orden_pedido_detalle SET ordpeddet_cantidad_devolver_temporal = $xcantidad_devolver 
														WHERE ordpeddet_codi= $xordpeddet_codi;");		
		if($r){		

			return 1;
		}		
	}	

	//Descontar
	function descontar_precio($conexion){
		global $xaccion, $xprecio_descontado, $xordpeddet_codi;
		
		?>
		<script language="javascript">
		//alert("<?php echo $xprecio_descontado;?> --...-- <?php echo $xordpeddet_codi;?> ");
		</script>
		<?php

		$r = mysqli_query($conexion,"UPDATE orden_pedido_detalle SET ordpeddet_precio_descuento_temporal = $xprecio_descontado 
														WHERE ordpeddet_codi= $xordpeddet_codi;");		
		if($r){		

			return 1;
		}		
	}	



}


?>

