<?php
include("../cls_conexion.php");
$CNN=new ClsMySQL();
include("../conexion23.php");
include("../ip.php");	
include("fe.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']);
$P8=V($_GET['P8']);
$P9=V($_GET['P9']);
//
$FOLDER="notas_electronicas/";
//
if($CM=="VAL_NOT_G"){
	$HWN=$P1;
	$EMP=$P2;
	$DOC=$P3;
	$SER=vbval($P4);
	$NUM=vbval($P5);
	//
	$REF_ID=gn("ID","vventas","EMPC='$EMP' AND COM='$DOC' AND ISER=$SER AND INUM=$NUM");
	if($REF_ID==0){
		echo "|MS|Venta no registrada|";
		return;
	}	
	$ANU=gs("ANU","vventas","ID=$REF_ID");
	if($ANU=="S"){
		echo "|MS|La venta se encuentra anulada|";
		return;
	}
	//
	$s="SELECT * FROM fe_ventas_det_te WHERE cx>0 AND hw='$HWN' ORDER BY cx ";
	$rs=grs($s);
	while($r=$rs->fetch_assoc()){
		$COD=$r['cod'];
		$CAN=$r['can_'];
		$PIE=$r['pie_'];
		$DES=$r['des'];
		//$CX=gn("count(*)","pri_ven_det","ID=$REF_ID AND COD='$COD' AND PIE=$PIE");
		$CX=gn("count(*)","pri_ven_det","ID=$REF_ID AND COD='$COD'");
		if($CX==0){
			echo "|MS|Producto $COD  ($DES) no corresponde al comprobante de referencia|";
			return;
		}
		/*
		$KAN=gn("CAN","pri_ven_det","ID=$REF_ID AND COD='$COD' AND PIE=$PIE");
		if($CAN>$KAN){
			echo "|MS|Producto $COD x $PIE ($DES) la cantidad a emitir es superior a la cantidad registrada en el comprobante de referencia|";
			return;
		}
		*/
	}
	echo "|OK|OK|";
	return;
}
//
if($CM=="FE_GEN"){
	//
	$TXT="";
	$SYS_FEC=date("Y-m-d");
	$SYS_HOR=GetHoraAP();
	$SYS_TIM=time();
	$SYS_IP=Saber_IP();
	//
	$VEN_ID=vbval($P1);
	$USU_ID=vbval($P2);
	//
	$CX=gn("count(*)","fe_ventaz","id_ven=$VEN_ID");
	if($CX==0){
		echo "|MS|*** Error : Nota no registrada ***|";
		return;
	}
	$r=gr("fe_ventaz","id_ven=".$VEN_ID);
	if($r['fv_id_com']==5 || $r['fv_id_com']==6){
		if($r['fv_anu']=="S"){
			echo "|MS|*** Error : La nota ha sido anulada ***|";
			return;
		}
	}else{
		echo "|MS|*** Error : La nota no corresponde a un documento electronico ***|";
		return;
	}
	//
	$ID_FE=gn("id_ne","notas_electronicas","ne_id_nota=$VEN_ID");
	if($ID_FE==0){			
		$STR_TXT=GEN_NOT_ELE($VEN_ID,$TXT);
		if(file_exists($FOLDER.$TXT)){
			unlink($FOLDER.$TXT);
		}	
		CREATE_NOT_FILE($FOLDER.$TXT,$STR_TXT);
		//
		$ID_FE=GenId("id_ne","notas_electronicas");
		$s="INSERT INTO notas_electronicas 
			VALUES ($ID_FE,'$SYS_FEC','$SYS_HOR',
			$SYS_TIM,'$SYS_IP',$USU_ID,$VEN_ID,'$TXT','$STR_TXT',0,'NC')";
		ejt($s);
		//
		ejt("UPDATE fe_ventaz SET fv_gen='S' WHERE id_ven=$VEN_ID");
		//	
		echo "|OK|$ID_FE|0|";		
	}else{
		$DAT_NDW=gn("ne_nd","notas_electronicas","id_ne=$ID_FE");
		$DAT_TXT=gs("ne_txt_dat","notas_electronicas","id_ne=$ID_FE");
		$STR_TXT=GEN_NOT_ELE($VEN_ID,$TXT);
		if($DAT_TXT!=$STR_TXT){
			echo "|MS|*** Error : Incongruencia de datos, uno o mas datos han sido alterados ***|";
		}else{
			echo "|OK|$ID_FE|$DAT_NDW|";
		}			
	}
}
//
if($CM=="LQ02"){
	$G="";		
	if($ALM==0){
		$s="SELECT ANC FROM vis_almacenes 
			WHERE ENC='$P1' 
			GROUP BY ANC 
			ORDER BY ANC ";		
	}else{
		$s="SELECT ANC FROM vis_almacenes 
			WHERE IDA=$ALM";		
	}
	$rs = grs($s);
	while ($r = $rs->fetch_assoc()){
		$G=$G.$r['ANC']."|";
	}
	if(strlen($G)>0){
		$G=vbmid($G,1,strlen($G)-1);
	}else{
		$G="X";
	}
	echo $G;
}
//
if($CM=="LQ01"){
	$Emp=$P1;
	$Doc=$P2;
	$Ser=vbval($P3);
	$Num=vbval($P4);
	$ID=gn("ID","vventas","EMPC='$Emp' AND COM='$Doc' AND ISER=$Ser AND INUM=$Num");
	if($ID==0){
		echo "|MS|Documento no registrado|";return;
	}
	$ANU=gs("ANU","vventas","ID=$ID");
	if($ANU=="S"){
		echo "|MS|El documento ha sido anulado|";return;
	}
	$r=gr("vventas_fe","ID=$ID");
	$FEC=$r['FEC_FE'];
	$TOT=$r['TOT'];
	$RUC=$r['RUC'];
	$DNI=$r['DNI'];
	$DIR=$r['DIR'];
	$EMA=$r['EMAIL'];
	
}
//
if($CM=="01"){
	$USU_ID=vbval($P1);
	$USU_NO=$P2;
	$CX=gn("count(*)","usuarios","id_usuario<>$USU_ID AND nom='$USU_NO'");
	if($CX==0){
		echo "|OK|";
	}else{
		echo "|XX|";
	}
}
//
if($CM=="02"){
	$CAM=$P1;
	$s="SELECT NOM FROM vis_soluciones WHERE CAM='$CAM' GROUP BY NOM ORDER BY NOM";
	$s=GLX($s);
	echo $s;
}
//
if($CM=="03"){
	$CAM=$P1;
	$SOL=$P2;
	$s="SELECT NOM FROM vis_paquetes WHERE CAM='$CAM' AND SOL='$SOL' GROUP BY NOM ORDER BY NOM";
	$s=GLX($s);
	echo $s;
}
//
if($CM=="04"){
	$CAM=$P1;
	$SOL=$P2;
	$PAQ=$P3;
	$s="SELECT NOM FROM vis_servicios 
		WHERE CAM='$CAM' AND SOL='$SOL' AND PAQ='$PAQ' 
		GROUP BY NOM ORDER BY NOM";
	$s=GLX($s);
	echo $s;
}
//
if($CM=="05"){
	$IDV=vbval($P1);
	$OPE=$P2;
	$s="UPDATE ventas_telefonia SET ven_migracion='$OPE' WHERE id_ventas_telefonia=$IDV";
	ejt($s);
}
//
if($CM=="06"){
	$IM=trim($P1);
	$CX=gn("count(*)","vis_imeis","IMEI='$IM'");
	if($CX==0){
		echo "|XX|Numero de imei no registrado|";
		return;
	}
	$ST=gn("STOCK","vis_imeis","IMEI='$IM'");
	if($ST==0){
		echo "|XX|Stock no disponible|";
		return;
	}else{
		$DES=gs("DES","vis_imeis","IMEI='$IM'");
		echo "|OK|".$DES."|";
		return;
	}
	
}
if($CM=="07"){
	$LIS=$P1;
	$DAT=explode("'",$LIS);
	if(count($DAT)>0){
		for($i=0;$i<count($DAT);$i++){
			$CV=$DAT[$i];
			if(strlen($CV)>0){
				$CV=explode("|",$CV);
				$COD=vbval($CV[0]);
				$VAL=$CV[1];
				$VAL=gn("id_clasificacion","ia_ws_clasificacion","clas_des='$VAL'");
				$s="UPDATE ia_ws_contacto SET wsc_id_clasificacion=$VAL WHERE id_wsc=".$COD;
				ejt($s);
				//+++++++++++
				$DET_ID=GenId("id_mm","ia_ws_mgs_masivo_det");
				$s="SELECT * FROM ia_ws_msg_masivos 
					WHERE mas_id_clasificacion=$VAL AND (mas_estado='PENDIENTE' OR mas_estado='VIGENTE') ";
				$rs = grs($s);
				while ($r = $rs->fetch_assoc()){
					$MAS_ID=$r['id_mas'];
					$CON_ID=$COD;
					if(gn("count(*)","ia_ws_mgs_masivo_det","mm_id_mas=$MAS_ID AND mm_id_wsc=$CON_ID")==0){
						$s="INSERT INTO ia_ws_mgs_masivo_det VALUES ($DET_ID,$MAS_ID,$CON_ID,'NO','NO')";
						ejt($s);
						$DET_ID++;
					}
				}
				//+++++++++++
			}
		}
	}
}
?>
