<?php
ini_set("session.cookie_lifetime",60*60*10);
ini_set("session.gc_maxlifetime", 60*60*10);
session_start();
include("cls_conexion.php");$CNN=new ClsMySQL();include("conexion23.php");
//
$CM=V($_GET['C']);
$P1=V($_GET['P1']);
$P2=V($_GET['P2']);
$P3=V($_GET['P3']);
$P4=V($_GET['P4']);
$P5=V($_GET['P5']);
$P6=V($_GET['P6']);
$P7=V($_GET['P7']);
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
if($CM=="CX_22_JUN"){
	$COM=$P1;
	$SER=vbval($P2);
	$NUM=vbval($P3);
	$TIP=$P4;
	if($TIP=="DEVOLUCION"){
		$TIP="D";
	}else{
		$TIP="J";
	}
	$NRO=vbval($P5);
	$EMP=gn("id_emp","empresas","emp_nomc='$P6'");
	$ALM=$P7;
	$ALM=gn("id_almacen","almacenes","alm_obs='$ALM' AND alm_id_empresa=$EMP");
	$VEN=0;
	$DEV=0;
	$CLI_VE=0;
	$CLI_DE=0;
	if($COM=="PROFORMA"){
		$VEN=gn("ID","z_vis_cotizaciones","ISER=$SER AND INUM=$NUM AND ID_EMP=$EMP AND ID_ALM=$ALM");		
		$CLI_VE=gn("id_cliente","cotizaciones","id_cotizacion=$VEN");
		$ANU=gs("anu","cotizaciones","id_cotizacion=$VEN");
		if($ANU=="SI" || $ANU=="S"){ 
			echo "PAN"; return;
		}
	}else{
		$VEN=gn("ID","z_vis_ventas",
				"COM='$COM' AND ISER=$SER AND INUM=$NUM AND ID_EMP=$EMP AND ID_ALM=$ALM");		
		$CLI_VE=gn("id_cliente","ventas","id_venta=$VEN");
		$ANU=gs("anu","ventas","id_venta=$VEN");
		if($ANU=="SI" || $ANU=="S"){ 
			echo "VAN"; return;
		}
	}
	//+++
	if($VEN==0){ 
		echo "VNR"; return;
	}	
	//
	$DEV=gn("ID","vdevoluciones","TIP='$TIP' AND NRO_=$NRO AND EMPC='$P6'");	
	if($DEV==0){ 
		echo "DNR"; return;
	}
	$DIN=vbval(gs("dev_dinero","devoluciones","id_devolucion=$DEV"));
	if($DIN==1){
		echo "DIN";return;
	}
	//+++++
	$CLI_DE=gn("dev_id_cliente","devoluciones","id_devolucion=$DEV");
	//
	$ANU=gs("dev_anu","devoluciones","id_devolucion=$DEV");
	if($ANU=="SI" || $ANU=="S"){ 
		echo "DAN"; return;
	}
	//
	if($CLI_VE!=$CLI_DE){
		echo "CLI";return;
	}
	//@@
	$FEC_DEV=gs("DATE_FORMAT(dev_fec,'%d-%m-%y')","devoluciones","id_devolucion=$DEV");
	$DOC_VEN=gs("COM","vdevoluciones","ID=$DEV");
	$DOC_NRO=gs("CONCAT(SER,'-',NUM)","vdevoluciones","ID=$DEV");
	$ID_REF=gn("ID_REF","vdevoluciones_full","ID=$DEV");
	if($DOC_VEN=="PROFORMA"){
		$DOC_FEC=gs("DATE_FORMAT(fec,'%d-%m-%y')","cotizaciones","id_cotizacion=$ID_REF");
	}else{
		$DOC_FEC=gs("DATE_FORMAT(fec,'%d-%m-%y')","ventas","id_venta=$ID_REF");
	}	
	$TOT_DEV=gn("dev_total","devoluciones","id_devolucion=$DEV");
	$TOT_DIS=$TOT_DEV - gn("dev_usado","devoluciones","id_devolucion=$DEV");
	//
	echo $FEC_DEV."@".$DOC_VEN."@".$DOC_NRO."@".$DOC_FEC."@".$TOT_DEV."@".$TOT_DIS."@";
	return;
	//
	$TOT=gn("dev_total","devoluciones","id_devolucion=$DEV");
	$USA=$TOT - gn("dev_usado","devoluciones","id_devolucion=$DEV");
	echo $TOT."|".$USA;return;	
}	
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
if($CM=="CX_22"){
	$COM=$P1;
	$SER=vbval($P2);
	$NUM=vbval($P3);
	$TIP=$P4;
	if($TIP=="DEVOLUCION"){
		$TIP="D";
	}else{
		$TIP="J";
	}
	$NRO=vbval($P5);
	$EMP=gn("id_emp","empresas","emp_nomc='$P6'");
	$ALM=$P7;
	$ALM=gn("id_almacen","almacenes","alm_obs='$ALM' AND alm_id_empresa=$EMP");
	$VEN=0;
	$DEV=0;
	$CLI_VE=0;
	$CLI_DE=0;
	if($COM=="PROFORMA"){
		$VEN=gn("ID","z_vis_cotizaciones","ISER=$SER AND INUM=$NUM AND ID_EMP=$EMP AND ID_ALM=$ALM");		
		$CLI_VE=gn("id_cliente","cotizaciones","id_cotizacion=$VEN");
		$ANU=gs("anu","cotizaciones","id_cotizacion=$VEN");
		if($ANU=="SI" || $ANU=="S"){ 
			echo "PAN"; return;
		}
	}else{
		$VEN=gn("ID","z_vis_ventas",
				"COM='$COM' AND ISER=$SER AND INUM=$NUM AND ID_EMP=$EMP AND ID_ALM=$ALM");		
		$CLI_VE=gn("id_cliente","ventas","id_venta=$VEN");
		$ANU=gs("anu","ventas","id_venta=$VEN");
		if($ANU=="SI" || $ANU=="S"){ 
			echo "VAN"; return;
		}
	}
	//+++
	if($VEN==0){ 
		echo "VNR"; return;
	}	
	//
	$DEV=gn("ID","vdevoluciones","TIP='$TIP' AND NRO_=$NRO AND EMPC='$P6' AND ALMC='$P7'");	
	if($DEV==0){ 
		echo "DNR"; return;
	}
	$DIN=vbval(gs("dev_dinero","devoluciones","id_devolucion=$DEV"));
	if($DIN==1){
		echo "DIN";return;
	}
	//+++++
	$CLI_DE=gn("dev_id_cliente","devoluciones","id_devolucion=$DEV");
	//
	$ANU=gs("dev_anu","devoluciones","id_devolucion=$DEV");
	if($ANU=="SI" || $ANU=="S"){ 
		echo "DAN"; return;
	}
	//
	if($CLI_VE!=$CLI_DE){
		echo "CLI";return;
	}
	//@@
	$FEC_DEV=gs("DATE_FORMAT(dev_fec,'%d-%m-%y')","devoluciones","id_devolucion=$DEV");
	$DOC_VEN=gs("COM","vdevoluciones","ID=$DEV");
	$DOC_NRO=gs("CONCAT(SER,'-',NUM)","vdevoluciones","ID=$DEV");
	$ID_REF=gn("ID_REF","vdevoluciones_full","ID=$DEV");
	if($DOC_VEN=="PROFORMA"){
		$DOC_FEC=gs("DATE_FORMAT(fec,'%d-%m-%y')","cotizaciones","id_cotizacion=$ID_REF");
	}else{
		$DOC_FEC=gs("DATE_FORMAT(fec,'%d-%m-%y')","ventas","id_venta=$ID_REF");
	}	
	$TOT_DEV=gn("dev_total","devoluciones","id_devolucion=$DEV");
	$TOT_DIS=$TOT_DEV - gn("dev_usado","devoluciones","id_devolucion=$DEV");
	//
	echo $FEC_DEV."@".$DOC_VEN."@".$DOC_NRO."@".$DOC_FEC."@".$TOT_DEV."@".$TOT_DIS."@";
	return;
	//
	$TOT=gn("dev_total","devoluciones","id_devolucion=$DEV");
	$USA=$TOT - gn("dev_usado","devoluciones","id_devolucion=$DEV");
	echo $TOT."|".$USA;return;	
}
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
if($CM=="GS_22"){
	//
	$D=gn("id_comprobante","comprobantes","com_nombre='$P1'");
	$S=vbval($P2);
	$N=vbval($P3);
	$E=gn("id_emp","empresas","emp_nomc='$P4'");
	$TIE=gn("id_almacen","almacenes","alm_obs='$P5' AND alm_id_empresa=$E");
	//
	if($P1=="BOLETA" || $P1=="FACTURA" || $P1=="BOL. ELEC." || $P1=="FACT. ELEC."){	
		$W="ID_COM=$D AND ISER=$S AND INUM=$N AND ID_EMP=$E AND ID_ALM=$TIE";
		$I=gn("ID","z_vis_ventas",$W);
		if($I==0){
			echo "|MS|Comprobante, serie y numero no corresponde a la empresa y punto de venta|";return;
		}else{
			$T=gs("id_tip_pag","ventas","id_venta=$I");
			if($T=="CO"){
				echo "|MS|El tipo de paga fue al contado|";return;
			}else{
				$P=gn("ven_prin","ventas","id_venta=$I");
				if($P==0){
					echo "|MS|No corresponde a un documento principal|";return;
				}else{
					$A=gs("anu","ventas","id_venta=$I");
					if($A=="S"){
						echo "|MS|El comprobante se encuentra anulado|";return;
					}else{
						$CLI="";
						$TOT=NF(gn("tot","ventas","id_venta=$I"),2);
						$ADE=gn("acuenta","ventas","id_venta=$I");
						$A1=gn("SUM(cob_tot)","cobroz",
							   "cob_id_com=$D AND cob_icser=$S AND ".
							   "cob_icnum=$N AND cob_anu='NO' AND cob_id_empresa=$E");
						$A2=gn("SUM(cx_total)","cobrox",
							   "cx_id_com=$D AND cx_iser=$S AND ".
							   "cx_inum=$N AND cx_anu='NO' AND cx_id_empresa=$E");
						$TAC=NF($ADE+ $A1 + $A2 ,2);
								   
						if($TOT==$TAC){
							echo "|MS|Cero saldo por cobrar|";return;
						}else{
							echo "|OK|".$TOT."|".$TAC."|".$P1."|".$I."|".$CLI."|";return;
						}
					}
				}
			}
		}
	}
	if($P1=="PROFORMA"){
		$I=gn("ID","z_vis_cotizaciones","ISER=$S AND INUM=$N AND ID_EMP=$E AND ID_ALM=$TIE");
		if($I==0){
			echo "|MS|Comprobante, serie y numero no corresponde a la empresa y punto de venta|";return;
		}else{
			$T=gs("id_tip_pag","cotizaciones","id_cotizacion=$I");
			if($T=="CO"){
				echo "|MS|El tipo de paga fue al contado|";return;
			}else{
				$P=gn("cot_pri","cotizaciones","id_cotizacion=$I");
				if($P==0){
					echo "|MS|No corresponde a un documento principal|";return;
				}else{
					$A=gs("anu","cotizaciones","id_cotizacion=$I");
					if($A=="S"){
						echo "|MS|El comprobante se encuentra anulado|";return;
					}else{
						$CLI=gn("id_cliente","cotizaciones","id_cotizacion=$I");
						$CLI=gs("cli_nombre","clientes","id_cliente=$CLI");
						$TOT=gn("tot_real","cotizaciones","id_cotizacion=$I");
						$ADE=gn("acu","cotizaciones","id_cotizacion=$I");
						
						$A1=gn("SUM(cob_tot)","cobroz",
							   "cob_id_com=$D AND cob_icser=$S AND ".
							   "cob_icnum=$N AND cob_anu='NO'");
							   
						$A2=gn("SUM(cx_total)","cobrox",
							   "cx_id_com=$D AND cx_iser=$S AND ".
							   "cx_inum=$N AND cx_anu='NO'");
						$TAC=NF($ADE + $A1 + $A2,2);	
						if($TOT==$TAC){
							echo "|MS|Cero saldo por cobrar|";return;
						}else{				
							echo "|OK|".$TOT."|".$TAC."|".$P1."|".$I."|".$CLI."|";return;
						}
					}
				}
			}
		}
	}
	echo "|MS|Error de validacion|";return;
}
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
if($CM=="CX"){
	$COM=$P1;
	$SER=vbval($P2);
	$NUM=vbval($P3);
	$TIP=$P4;
	if($TIP=="DEVOLUCION"){
		$TIP="D";
	}else{
		$TIP="J";
	}
	$NRO=vbval($P5);
	$EMP=gn("id_emp","empresas","emp_nomc='$P6'");
	$VEN=0;
	$DEV=0;
	$CLI_VE=0;
	$CLI_DE=0;
	if($COM=="PROFORMA"){
		$VEN=gn("ID","z_vis_cotizaciones","ISER=$SER AND INUM=$NUM AND ID_EMP=$EMP");		
		$CLI_VE=gn("id_cliente","cotizaciones","id_cotizacion=$VEN");
		$ANU=gs("anu","cotizaciones","id_cotizacion=$VEN");
		if($ANU=="SI" || $ANU=="S"){ echo "PAN"; return;}
	}else{
		$VEN=gn("ID","z_vis_ventas",
				"COM='$COM' AND ISER=$SER AND INUM=$NUM AND ID_EMP=$EMP");		
		$CLI_VE=gn("id_cliente","ventas","id_venta=$VEN");
		$ANU=gs("anu","ventas","id_venta=$VEN");
		if($ANU=="SI" || $ANU=="S"){ echo "VAN"; return;}
	}
	//
	if($VEN==0){ echo "VNR"; return;}	
	//
	$DEV=gn("ID","vdevoluciones","TIP='$TIP' AND NRO_=$NRO AND EMPC='$P6'");	
	if($DEV==0){ echo "DNR"; return;}
	$DIN=vbval(gs("dev_dinero","devoluciones","id_devolucion=$DEV"));
	if($DIN==1){
		echo "DIN";return;
	}
	
	$CLI_DE=gn("dev_id_cliente","devoluciones","id_devolucion=$DEV");
	//
	$ANU=gs("dev_anu","devoluciones","id_devolucion=$DEV");
	if($ANU=="SI" || $ANU=="S"){ echo "DAN"; return;}
	//
	if($CLI_VE!=$CLI_DE){
		echo "CLI";return;
	}
	//@@
	$FEC_DEV=gs("DATE_FORMAT(dev_fec,'%d-%m-%y')","devoluciones","id_devolucion=$DEV");
	$DOC_VEN=gs("COM","vdevoluciones","ID=$DEV");
	$DOC_NRO=gs("CONCAT(SER,'-',NUM)","vdevoluciones","ID=$DEV");
	$ID_REF=gn("ID_REF","vdevoluciones_full","ID=$DEV");
	if($DOC_VEN=="PROFORMA"){
		$DOC_FEC=gs("DATE_FORMAT(fec,'%d-%m-%y')","cotizaciones","id_cotizacion=$ID_REF");
	}else{
		$DOC_FEC=gs("DATE_FORMAT(fec,'%d-%m-%y')","ventas","id_venta=$ID_REF");
	}	
	$TOT_DEV=gn("dev_total","devoluciones","id_devolucion=$DEV");
	$TOT_DIS=$TOT_DEV - gn("dev_usado","devoluciones","id_devolucion=$DEV");
	//
	echo $FEC_DEV."@".$DOC_VEN."@".$DOC_NRO."@".$DOC_FEC."@".$TOT_DEV."@".$TOT_DIS."@";
	return;
	//
	$TOT=gn("dev_total","devoluciones","id_devolucion=$DEV");
	$USA=$TOT - gn("dev_usado","devoluciones","id_devolucion=$DEV");
	echo $TOT."|".$USA;return;	
}
//
if($CM=="GS"){
	if($P1=="BOLETA" || $P1=="FACTURA" || $P1=="BOL. ELEC." || $P1=="FACT. ELEC."){
		$D=gn("id_comprobante","comprobantes","com_nombre='$P1'");
		$S=vbval($P2);
		$N=vbval($P3);
		$E=gn("id_emp","empresas","emp_nomc='$P4'");
		$I=gn("ID","z_vis_ventas","ID_COM=$D AND ISER=$S AND INUM=$N AND ID_EMP=$E");
		if($I==0){
			echo "NR";return;
		}else{
			$T=gs("id_tip_pag","ventas","id_venta=$I");
			if($T=="CO"){
				echo "CO";return;
			}else{
				$P=gn("ven_prin","ventas","id_venta=$I");
				if($P==0){
					echo "NP";return;
				}else{
					$A=gs("anu","ventas","id_venta=$I");
					if($A=="S"){
						echo "AN";return;
					}else{
						$TOT=NF(gn("tot","ventas","id_venta=$I"),2);
						$ADE=gn("acuenta","ventas","id_venta=$I");
						$A1=gn("SUM(cob_tot)","cobroz",
							   "cob_id_com=$D AND cob_icser=$S AND ".
							   "cob_icnum=$N AND cob_anu='NO' AND cob_id_empresa=$E");
						$A2=gn("SUM(cx_total)","cobrox",
							   "cx_id_com=$D AND cx_iser=$S AND ".
							   "cx_inum=$N AND cx_anu='NO' AND cx_id_empresa=$E");
						$TAC=NF($ADE+ $A1 + $A2 ,2);
								   
						if($TOT==$TAC){
							echo "Z";return;
						}else{
							echo $TOT."|".$TAC."|".$P1."|".$I."|";return;
						}
					}
				}
			}
		}
	}
	if($P1=="PROFORMA"){
		$D=gn("id_comprobante","comprobantes","com_nombre='$P1'");
		$S=vbval($P2);
		$N=vbval($P3);
		$I=gn("id_cotizacion","cotizaciones","iser=$S AND inum=$N");
		if($I==0){
			echo "NR";return;
		}else{
			$T=gs("id_tip_pag","cotizaciones","id_cotizacion=$I");
			if($T=="CO"){
				echo "CO";return;
			}else{
				$P=gn("cot_pri","cotizaciones","id_cotizacion=$I");
				if($P==0){
					echo "NP";return;
				}else{
					$A=gs("anu","cotizaciones","id_cotizacion=$I");
					if($A=="S"){
						echo "AN";return;
					}else{
						$TOT=gn("tot_real","cotizaciones","id_cotizacion=$I");
						$ADE=gn("acu","cotizaciones","id_cotizacion=$I");
						
						$A1=gn("SUM(cob_tot)","cobroz",
							   "cob_id_com=$D AND cob_icser=$S AND ".
							   "cob_icnum=$N AND cob_anu='NO'");
							   
						$A2=gn("SUM(cx_total)","cobrox",
							   "cx_id_com=$D AND cx_iser=$S AND ".
							   "cx_inum=$N AND cx_anu='NO'");
						$TAC=NF($ADE + $A1 + $A2,2);	
						if($TOT==$TAC){
							echo "Z";return;
						}else{				
							echo $TOT."|".$TAC."|".$P1."|".$I."|";return;
						}
					}
				}
			}
		}
	}
	echo "X";
}
?>