<?php
	//-------------------------
	$GII=0;
	$StrId=V($_POST['TxtId']);
	$StrCmd=V($_POST['TxtAc']);
	if(strlen($StrCmd)==0){
		$StrCmd=V($_GET['TxtAc']);
		if($StrCmd=="X"){
			$StrCmd="C";
			$StrFec=date("d-m-y");
		}
	}
	//-------------------------
	$StrAlm=V($_POST['CboAlm']);
	$StrFec=V($_POST['TxtFec']);
	$StrCom=V($_POST['CboCom']);
	$StrNum=V($_POST['TxtNum']);
	$StrMon=V($_POST['CboMon']);
	$StrPro=V($_POST['CboPro']);
	$StrRuc=V($_POST['TxtRuc']);
	$StrTdp=V($_POST['CboTdp']);
	$StrN_INC=vbval(V($_POST['ChN_INC']));
	//------------------------
	$StrPro_ID=vbval(V($_POST['Pro_TxtId']));
	$StrPro_PR=vbval(V($_POST['TxtPre']));
	$StrPro_CA=vbval(V($_POST['TxtCant']));	
	//
	$StrN_BAR=vbval(V($_POST['ChN_BAR']));
	$StrN_AUT=vbval(V($_POST['ChN_AUT']));
	//
	$T_ST=V($_POST['T_ST']);
	$T_IG=V($_POST['T_IG']);
	$T_TO=V($_POST['T_TO']);
	//------------------------
	$StrCod=V($_POST['TxtCod']);
	$StrDes=V($_POST['TxtDes']);
	$StrMARCA=V($_POST['TxtMarca']);
	$StrPre=V($_POST['TxtPre']);
	$StrCant=V($_POST['TxtCant']);
	$StrImp=V($_POST['TxtImp']);
	//-------------------------
	$StrTC=gs("valor","valores","dato='T_CAMBIO'");
	//-------------------------
	//ACTIVAR DESDE OTRA PAGINA
	if(strlen($StrId)==0){
		$StrId=V($_GET['Id']);
		if(is_numeric($StrId)==false){
			$StrId="";
		}else{
			$StrCmd="AR";
			$LStrPag=V($_GET['Pag']);
			if(!is_numeric($LStrPag)){
				$LStrPag="";
			}
		}
	}
	//FUNCIONES DE DESZPLAZAMIENTO
	if(strlen($LStrPag)==0)$LStrPag="0";
	if($StrCmd=="MSig")$LStrPag=($LStrPag+1);
	if($StrCmd=="MAnt")$LStrPag=($LStrPag-1);
	if($StrCmd=="MPri")$LStrPag=0;
	if($StrCmd=="MUlt")$LStrPag=(floor($LStrTR / $VP_RegXPag) );
	//FUNCION PARA ACTIVAR UN REGISTRO
	if(strlen($StrId)>0 && $StrCmd=="AR"){
		$Id=$StrId;
		$StrAlm=gs("ALM","vcompras","ID=$Id");
		$StrFec=gs("DATE_FORMAT(FEC,'%d-%m-%y')","vcompras","ID=$Id");
		$StrCom=gs("COM","vcompras","ID=$Id");
		$StrNum=gs("NUM","vcompras","ID=$Id");
		$StrMon=gs("MON","vcompras","ID=$Id");
		if($StrMon=="S") $StrMon="SOLES";
		if($StrMon=="D") $StrMon="DOLARES";
		$StrPro=gs("PROV","vcompras","ID=$Id");
		$StrRuc=gs("RUC","vcompras","ID=$Id");
		$StrTdp=gs("TDP","vcompras","ID=$Id");
		$StrTdp=gs("tipp_nombre","tipos_pagos","id_tip_pag='$StrTdp'");
		$StrN_INC=gs("INI","vcompras","ID=$Id");
		ejt("DELETE FROM temp_compras WHERE cod_temc='$StrHWND'");
		$s="SELECT * FROM compras_det WHERE id_compra=$Id";
		$cx=0;
		$result = grs($s);			
		while ($row = $result->fetch_row()){
			$cx++;
			$AR_ID=$row[2];
			$AR_CA=$row[3];
			$AR_PR=$row[4];
			$AR_IM=$row[5];
			$s="INSERT INTO temp_compras 
			VALUES ('$StrHWND',$AR_ID,$AR_CA,$AR_PR,$AR_IM,$cx,'','',0)";
			ejt($s);			
		}
	}
	//
	if($StrCmd=="C"){
		ejt("DELETE FROM temp_compras WHERE cod_temc='$StrHWND'");
		$StrAlm="";
		$StrFec=date("d-m-y");
		$StrCom="";
		$StrNum="";
		$StrMon="";
		$StrPro="";
		$StrRuc="";
		$StrTdp="";
		$StrN_INC="";
		
		$StrCod="";
		$StrDes="";
		$StrMARCA="";
		$StrPre="";
		$StrCant="";
		$StrImp="";
		$StrId="";
	}
	//
	if($StrCmd=="KILLER"){
		ejt("DELETE FROM temp_compras WHERE 
				temc_index=$StrPro_ID AND cod_temc='$StrHWND'");
		$LStrFoc="document.getElementById('TxtCod').focus();";						
		$StrGT="S";
		//
		$StrCod="";
		$StrDes="";
		$StrPre="";
		$StrCant="";
		$StrImp="";
	}
	//
	if($StrCmd=="ADD"){
		$ID_TEMP=0;
		if($StrPro_ID==0){
			$LStrMsg="No se puede determinar el ID del producto";
			$LStrFoc="document.getElementById('TxtCod').focus();";						
			$StrGT="S";			
		}
		if(strlen($StrGT)==0){
			if($StrPro_CA==0){
				$LStrMsg="La cantidad debe ser mayor a cero";
				$LStrFoc="document.getElementById('TxtCant').focus();";						
				$StrGT="S";							
			}
		}
		
		if(strlen($StrGT)==0){
			$ID_TEMP=gn("temc_index","temp_compras",
						"temc_id_producto=$StrPro_ID AND cod_temc='$StrHWND'");
			/*
			if(gn("count(*)","temp_compras",
				  "temc_id_producto=$StrPro_ID AND cod_temc='$StrHWND'")>0){
				$LStrMsg="El producto que desea agregar ya se encuentra en la lista +++";
				$LStrFoc="document.getElementById('TxtCod').focus();";						
				$StrGT="S";	
			}
			*/
		}
		if(strlen($StrGT)==0){
			if($ID_TEMP==0){
				$StrImporte=round($StrPro_CA * $StrPro_PR,2);
				$StrIndex=GenId("temc_index","temp_compras");
				$s="INSERT INTO temp_compras VALUES ('$StrHWND',
					$StrPro_ID,$StrPro_CA,$StrPro_PR,
					$StrImporte,$StrIndex,'','',0)";
				ejt($s);				
			}else{
				$s="UPDATE temp_compras ".
				   "SET temc_cant=temc_cant + $StrPro_CA ".
				   "WHERE temc_index=$ID_TEMP";
				ejt($s);
				$StrPro_CA=gn("temc_cant","temp_compras","temc_index=$ID_TEMP");
				$StrImporte=round($StrPro_CA * $StrPro_PR,2);
				$s="UPDATE temp_compras ".
				   "SET temc_imp=$StrImporte,temc_precio=$StrPro_PR ".
				   "WHERE temc_index=$ID_TEMP";
				ejt($s);
			}
			$StrCant="";
			$StrPre="";
			$StrDes="";
			$StrMARCA="";
			$StrCod="";
			$StrImp="";
			$LStrFoc="document.getElementById('TxtCod').focus();";						
			$StrGT="S";	
		}
	}
	//
	if(($StrCmd=="G" || $StrCmd=="M") && strlen($StrGT)==0){			
		$StrAlm_=gn("id_almacen","almacenes","alm_nombre='$StrAlm'");
		$StrCom_=gn("id_comprobante","comprobantes","com_nombre='$StrCom'");
		$StrMon_=substr($StrMon,0,1);
		$StrPro_=gn("id_proveedor","proveedores","pro_nombre='$StrPro'");
		$StrTdp_=substr($StrTdp,0,2);
		if(gn("count(*)","temp_compras","cod_temc='$StrHWND'")==0){
			$LStrMsg="La lista de productos esta vacia";
			$LStrFoc="document.getElementById('TxtCod').focus();";						
			$StrGT="S";
		}
	}
	//
	//FUNCIONES DE ACTUALIZACION
	if($StrCmd=="M" && strlen($StrGT)==0){
		$LStrMsg="";
		$GII=gn("gi","compras","id_compra=$StrId");
		ejt("DELETE FROM compras WHERE id_compra=$StrId");
		$s="SELECT id_producto,ca FROM compras_det WHERE id_compra=$StrId";
		$result = grs($s);			
		while ($row = $result->fetch_row()){
			$E_ID=$row[0];
			$E_CA=$row[1];
			STOCK_SUB($StrAlm_,$E_ID,$E_CA);			
		}
		ejt("DELETE FROM compras_det WHERE id_compra=$StrId");
		$LStrMsg="Los datos han sido modificados";
		$StrGT="";
		$StrCmd="G";
	}
	//FUNCIONES DE ACTUALIZACION
	if($StrCmd=="G" && strlen($StrGT)==0){
		if($GII==0)	{
			$T_1=gn("id_compra","compras",
					"id_proveedor=$StrPro_ AND 
					numero='$StrNum' AND 
					id_comprobante=$StrCom_");
			if($T_1>0){
				$LStrMsg="Comprobante / Numero / Proveedor ya registrado, por lo tanto no se puede proceder";
				$LStrFoc="document.getElementById('CboCom').focus();";						
				$StrGT="S";
			}else{			
				$GII=GenGI();
			}
		}else{
			$T_1=gn("id_compra","compras",
					"id_proveedor=$StrPro_ AND 
					numero='$StrNum' AND 
					id_comprobante=$StrCom_ AND id_compra<>$StrId");
			if($T_1>0){
				$LStrMsg="Comprobante / Numero / Proveedor ya registrado, por lo tanto no se puede proceder";
				$LStrFoc="document.getElementById('CboCom').focus();";						
				$StrGT="S";
			}
			
		}
	}
	//
	if($StrCmd=="G" && strlen($StrGT)==0){
		$StrFec_=ToDate($StrFec);
		$StrId=GenId("id_compra","compras");
		$s="INSERT INTO compras VALUES ($StrId,$StrAlm_,'$StrFec_',$StrCom_,
		   '$StrNum','$StrMon_',$StrTC,$StrPro_,'$StrTdp_','$StrN_INC',
		   $T_ST,$T_IG,$T_TO,'N',0,$GII)";
	 	ejt($s);
		//
		ejt("DELETE FROM compras_det WHERE id_compra=$StrId");
		$s="SELECT * FROM temp_compras WHERE cod_temc='$StrHWND' 
			ORDER BY temc_index";
		$result = grs($s);			
		$cx=0;			
		while ($row = $result->fetch_row()){
			$cx++;
			$G_ID=$row[1];
			$G_CA=$row[2];
			$G_PR=$row[3];
			$G_IM=$row[4];
			$ss="INSERT INTO compras_det VALUES ($StrId,$cx,$G_ID,$G_CA,$G_PR,$G_IM)";
			ejt($ss);
			STOCK_ADD($StrAlm_,$G_ID,$G_CA);
			if($StrN_INC=="1")	$G_PR=$G_PR * 1.18;
			//if($StrMon_=="D")	$G_PR=round($G_PR * $StrTC,2);
			ejt("UPDATE productos 
				SET pro_pc_sol=$G_PR,
					pro_mnd='$StrMon_' 
				WHERE id_producto=$G_ID");
			//
		}
		ejt("DELETE FROM temp_compras WHERE cod_temc='$StrHWND'");
		//
		if(strlen($LStrMsg)==0){
			$LStrMsg="Los datos han sido registrado";
		}
		$LStrFoc="document.getElementById('CboAlm').focus();";						
		$StrGT="S";
		//
		$StrId="";
		$StrFec=date("d-m-y");
		$StrNum="";
		$StrPro="";
		$StrRuc="";
		$StrN_INC="";
		$StrCod="";
		$StrDes="";
		$StrMARCA="";
		$StrPre="";
		$StrCant="";
		$StrImp="";
		$X_IMPORTE=0;
		$X_ST=0;
		$X_IG=0;
		$X_TO=0;		
	}
	
	if($StrCmd=="E"){
		$StrAlm_=gn("id_almacen","compras","id_compra=$StrId");
		ejt("DELETE FROM compras WHERE id_compra=$StrId");
		$s="SELECT id_producto,ca FROM compras_det WHERE id_compra=$StrId";
		$result = grs($s);			
		while ($row = $result->fetch_row()){
			$E_ID=$row[0];
			$E_CA=$row[1];
			STOCK_SUB($StrAlm_,$E_ID,$E_CA);			
		}
		ejt("DELETE FROM compras_det WHERE id_compra=$StrId");
		//
		ejt("DELETE FROM temp_compras WHERE cod_temc='$StrHWND'");
		//
		$LStrMsg="Los datos han sido eliminados";
		$LStrFoc="document.getElementById('CboAlm').focus();";						
		$StrGT="S";
		//
		$StrId="";
		$StrFec=date("d-m-y");
		$StrNum="";
		$StrPro="";
		$StrRuc="";
		$StrN_INC="";
		$StrCod="";
		$StrDes="";
		$StrMARCA="";
		$StrPre="";
		$StrCant="";
		$StrImp="";
		$X_IMPORTE=0;
		$X_ST=0;
		$X_IG=0;
		$X_TO=0;		
	}	
	
	if($StrCmd=="A"){
		$StrAlm_=gn("id_almacen","compras","id_compra=$StrId");
		ejt("UPDATE compras SET anulado='S' WHERE id_compra=$StrId");
		$s="SELECT id_producto,ca FROM compras_det WHERE id_compra=$StrId";
		$result = grs($s);			
		while ($row = $result->fetch_row()){
			$E_ID=$row[0];
			$E_CA=$row[1];
			STOCK_SUB($StrAlm_,$E_ID,$E_CA);			
		}
		//
		ejt("DELETE FROM temp_compras WHERE cod_temc='$StrHWND'");
		//
		$LStrMsg="La compra ha sido anulada";
		$LStrFoc="document.getElementById('CboAlm').focus();";						
		$StrGT="S";
		//
		$StrId="";
		$StrFec=date("d-m-y");
		$StrNum="";
		$StrPro="";
		$StrRuc="";
		$StrN_INC="";
		$StrCod="";
		$StrDes="";
		$StrMARCA="";
		$StrPre="";
		$StrCant="";
		$StrImp="";
		$X_IMPORTE=0;
		$X_ST=0;
		$X_IG=0;
		$X_TO=0;		
	}	
	//////////////////////////////////
	if(strlen($LStrFoc)==0){
		$LStrFoc="document.getElementById('CboAlm').focus();";						
		$StrGT="S";
	}
	//////////////////////////////////
	if($StrGT=="S"){
		if(strlen($LStrMsg)>0){
			if(strlen($LStrFoc)==0){
				$LStrMsg="onload=\"alert('$LStrMsg');\"";
			}else{
				$LStrMsg="onload=\"alert('$LStrMsg');$LStrFoc;\"";
			}
		}else{
			if(strlen($LStrFoc)>0){
				$LStrMsg="onload=\"$LStrFoc;\"";
			}
		}
	}else{
		$LStrFoc="document.getElementById('CboAlm').focus();";
		$LStrMsg="onload=\"$LStrFoc;\"";
	}
?>