<?php
	//-------------------------
	$LIMPIAR=0;
	$GII=0;
	$StrId=V($_POST['TxtId']);
	$StrCmd=V($_POST['TxtAc']);
	$StrDATA=V($_POST['TxtDAT']);
	if(strlen($StrCmd)==0){
		$StrCd=V($_GET['TxtAc']);
		if($StrCmd=="X"){
			$StrCmd="C";
			$StrFec=date("d-m-y");
		}
	}
	//-------------------------
	$StrEmp=V($_POST['CboEmp']);
	$StrAlm=V($_POST['CboAlm']);
	//
	if(strlen($StrEmp)==0)$StrEmp=GE("N");	
	if(strlen($StrAlm)==0)$StrAlm=GA($StrEmp,"N");	
	//
	$StrFec=V($_POST['TxtFec']);
	$StrCom=V($_POST['CboCom']);
	$StrSer=trim(V($_POST['TxtSer']));
	$StrNum=trim(V($_POST['TxtNum']));
	$StrDam=V($_POST['TxtDam']);
	$StrMon=V($_POST['CboMon']);
	$StrPro=V($_POST['CboPro']);
	$StrRuc=V($_POST['TxtRuc']);
	$StrTdp=V($_POST['CboTdp']);
	$StrN_INC=V($_POST['ChN_INC']);
	$StrET=V($_POST['CboET']);
	$FecLle=V($_POST['FecLle']);
	//------------------------
	$StrPro_ID=V($_POST['Pro_TxtId']);
	$StrPro_PR=V($_POST['TxtPre']);
	$StrPro_CA=V($_POST['TxtCant']);
	//------------------------
	$T_ST=V($_POST['T_ST']);
	$T_IG=V($_POST['T_IG']);
	$T_TO=V($_POST['T_TO']);
	//------------------------
	if(strlen($StrPro_ID)==0 || !is_numeric($StrPro_ID)) $StrPro_ID="0";
	if(strlen($StrPro_PR)==0 || !is_numeric($StrPro_PR)) $StrPro_PR="0";
	if(strlen($StrPro_CA)==0 || !is_numeric($StrPro_CA)) $StrPro_CA="0";
	if(strlen($StrN_INC)==0){
		$StrN_INC="0";
	}else{
		$StrN_INC="1";
	}
	//------------------------
	$StrCod=V($_POST['TxtCod']);
	$StrDes=V($_POST['TxtDes']);
	$StrMARCA=V($_POST['TxtMarca']);
	$StrPre=V($_POST['TxtPre']);
	$StrCant=V($_POST['TxtCant']);
	$StrCUni=V($_POST['TxtCUni']);
	$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;
		$FecLle=gs("fec_lle","compras","id_compra=$Id");
		if(strcmp($FecLle,"1900-01-01")==0){
			$FecLle="";
		}else{
			$D=explode("-",$FecLle);
			$FecLle=$D[2]."-".$D[1]."-".($D[0]-2000);
		}
		$StrEmp=gs("EMPC","vcompras","ID=$Id");
		$StrAlm=gs("ALMC","vcompras","ID=$Id");
		$StrFec=gs("DATE_FORMAT(FEC,'%d-%m-%y')","vcompras","ID=$Id");
		$StrCom=gs("COM","vcompras","ID=$Id");
		$StrSer=gs("SER","vcompras","ID=$Id");
		$StrNum=gs("NUM","vcompras","ID=$Id");
		$StrDam=gs("DAM","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");
		$StrET=gs("ET","vcompras","ID=$Id");
		ejt("DELETE FROM temp_compras WHERE cod_temc='$StrHWND'");
		$s="SELECT * FROM compras_det WHERE id_compra=$Id ORDER BY cx";
		$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];
			$AR_CAN_UNI=$row[6];
			$s="INSERT INTO temp_compras 
			VALUES ('$StrHWND',$AR_ID,$AR_CA,$AR_PR,$AR_IM,$cx,'','',$AR_CAN_UNI)";
			ejt($s);	
			//echo $s."<br>";		
		}
	}
	//+++++++++++++++
	if($StrCmd=="C"){
		$LIMPIAR=1;
	}	
	//++++++++++++++++
	if($StrCmd=="KILLER"){
		ejt("DELETE FROM temp_compras WHERE 
				temc_index=$StrPro_ID AND cod_temc='$StrHWND'");
		$LStrFoc="document.getElementById('TxtCod').focus();";						
		$StrGT="S";
	}
	if($StrCmd=="KCH"){
		$DAT = explode(',',$StrDATA);
		$i=0;
		for($i=0;$i<count($DAT);$i++){
			$STR_INDEX=vbval($DAT[$i]);
			ejt("DELETE FROM temp_compras WHERE 
				temc_index=$STR_INDEX AND cod_temc='$StrHWND'");
		}		
		$LStrFoc="document.getElementById('TxtCod').focus();";						
	
	}
	//
	if($StrCmd=="ADD"){	
		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(gn("count(*)","temp_compras",
				  "temc_id_producto=$StrPro_ID AND cod_temc='$StrHWND' AND dscto=$StrCUni")>0){
				$LStrMsg="El producto y Piezas que desea agregar ya se encuentra en la lista";
				$LStrFoc="document.getElementById('TxtCod').focus();";						
				$StrGT="S";	
			}
		}
		if(strlen($StrGT)==0){
			//$StrImporte=round($StrCUni * $StrPro_PR * $StrCant,2);
			$StrIndex=GenId("temc_index","temp_compras");
			$s="INSERT INTO temp_compras VALUES ('$StrHWND',
				$StrPro_ID,$StrPro_CA,$StrPro_PR,
				$StrImp,$StrIndex,'','',$StrCUni)";
			ejt($s);
			$StrCant="";
			$StrPre="";
			$StrDes="";
			$StrMARCA="";
			$StrCod="";
			$StrImp="";
			$StrCUni="";
			$LStrFoc="document.getElementById('TxtCod').focus();";						
			$StrGT="S";	
		}
	}
	//
	if(($StrCmd=="G" || $StrCmd=="M") && strlen($StrGT)==0){
		$StrEmp_=gn("id_emp","empresas","emp_nomc='$StrEmp'");	
		$StrAlm_=gn("id_almacen","almacenes","alm_obs='$StrAlm' AND alm_id_empresa=$StrEmp_");
		$StrCom_=gn("id_comprobante","comprobantes","com_nombre='$StrCom'");
		$StrMon_=substr($StrMon,0,1);
		$StrSer_=vbval($StrSer);
		$StrNum_=vbval($StrNum);
		$StrDam_=vbval($StrDam);
		$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";
		}
	}
	//
	if($StrCmd=="M" && strlen($StrGT)==0){
		if($StrET=="NO"){
			$T_1=gn("id_compra","compras",
					"id_proveedor=$StrPro_ AND 
					numero='$StrNum' AND 
					id_comprobante=$StrCom_ AND id_compra<>$StrId AND ser='$StrSer' AND et='NO'");
			if($T_1>0){
				$LStrMsg="Comprobante / Numero / Proveedor ya registrado, por lo tanto no se puede proceder (Obs1 : $StrPro_ - $StrNum - $StrCom_  - $StrId )";
				$LStrFoc="jF('CboCom');";						
				$StrGT="S";
			}			
		}
	}
	//FUNCIONES DE ACTUALIZACION
	if($StrCmd=="M" && strlen($StrGT)==0){
		$TP_CX=0;
		$TP_AR[0]=0;
		//++++++++++++++
		$LStrMsg="";
		$COM_ALM=gn("id_almacen","compras","id_compra=$StrId");
		$StrET_=gs("et","compras","id_compra=$StrId");
		$GII=gn("gi","compras","id_compra=$StrId");
		$qqq=ejt("DELETE FROM compras WHERE id_compra=$StrId");
		//BIT
		$_BIT_MOD_ID=$StrId;
		$_BIT_SQL_CAB=$qqq;
		$_BIT_SQL_DET="";
		$_BIT_PHP="compras.php";
		$_BIT_ID=BIT_ADD("MANTENIMIENTO","COMPRAS","MODIFICAR",$_BIT_MOD_ID,$_BIT_SQL_CAB,$_BIT_SQL_DET,$_BIT_PHP);
		BIT_DET_ADD($_BIT_ID,$s);
		//BIT	
		$s="SELECT id_producto,ca,can_uni FROM compras_det WHERE id_compra=$StrId";
		$result = grs($s);			
		while ($row = $result->fetch_row()){
			$E_ID=$row[0];
			$E_CA=$row[1];
			$E_CU=$row[2];
			if($StrET_=="NO"){
				//STOCK_SUB($StrAlm_,$E_ID,$E_CA*$E_CU);
				//ZTOCK_SUB($StrAlm_,$E_ID,$E_CA,$E_CU);
                STOCK_SUB($COM_ALM,$E_ID,$E_CA*$E_CU);
				ZTOCK_SUB($COM_ALM,$E_ID,$E_CA,$E_CU);
			}
			$TP_CX++;$TP_AR[$TP_CX]=$E_ID;
		}
		ejt("DELETE FROM compras_det WHERE id_compra=$StrId");
		//
		for($i=1;$i<=$TP_CX;$i++){
			T_P_ACT($TP_AR[$i]);
		}
		//
		$LStrMsg="Los datos han sido modificados";
		$StrGT="";
		$StrCmd="G";
	}
	//FUNCIONES DE ACTUALIZACION
	if($StrCmd=="G" && strlen($StrGT)==0){
		if($StrET=="NO"){
			if($GII==0)	{			
				$T_1=gn("id_compra","compras",
						"id_proveedor=$StrPro_ AND 
						numero='$StrNum' AND 
						id_comprobante=$StrCom_ AND ser='$StrSer'  AND et='NO' ");
				if($T_1>0){
					$LStrMsg="Comprobante / Numero / Proveedor ya registrado, por lo tanto no se puede proceder";
					$LStrFoc="jF('CboCom');";						
					$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 AND ser='$StrSer'  AND et='NO' ");
				if($T_1>0){
					$LStrMsg="Comprobante / Numero / Proveedor ya registrado, por lo tanto no se puede proceder (Obs2) ";
					$LStrFoc="jF('CboCom');";						
					$StrGT="S";
				}			
			}
		}
	}
	//
	if($StrCmd=="G" && strlen($StrGT)==0){
		$TP_CX=0;
		$TP_AR[0]=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,'$StrET',
		   '$StrSer','$StrDam',$StrSer_,$StrDam_,$StrNum_,'".ToDate($FecLle)."')";
		//echo $s;
	 	ejt($s);
		//BIT
		$_BIT_MOD_ID=$StrId;
		$_BIT_SQL_CAB=$s;
		$_BIT_SQL_DET="";
		$_BIT_PHP="compras.php";
		$_BIT_ID=BIT_ADD("MANTENIMIENTO","COMPRAS","GUARDAR",$_BIT_MOD_ID,$_BIT_SQL_CAB,$_BIT_SQL_DET,$_BIT_PHP);
		BIT_DET_ADD($_BIT_ID,$s);
		//BIT	
		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];
			$G_CU=$row[8];
			$ss="INSERT INTO compras_det VALUES ($StrId,$cx,$G_ID,$G_CA,$G_PR,$G_IM,$G_CU,0)";
			ejt($ss);
			//++
			BIT_DET_ADD($_BIT_ID,$ss);
			//++
			if($StrET=="NO"){
				ZTOCK_ADD($StrAlm_,$G_ID, $G_CA,$G_CU);
				STOCK_ADD($StrAlm_,$G_ID,$row[2] * $row[8]);
			}else{
				ZTOCK_ADD($StrAlm_,$G_ID, 0,$G_CU);
				STOCK_ADD($StrAlm_,$G_ID,0);
			}
			if($StrN_INC=="1")	$G_PR=$G_PR * 1.18;
			//if($StrMon_=="D")	$G_PR=round($G_PR * $StrTC,2);
			$qqq=ejt("UPDATE productos SET pro_pc_sol=$G_PR WHERE id_producto=$G_ID");
			//++
			BIT_DET_ADD($_BIT_ID,$qqq);
			//++
			//
			//T_P_ACT($G_ID);
			$TP_CX++;$TP_AR[$TP_CX]=$G_ID;
		}
		ejt("DELETE FROM temp_compras WHERE cod_temc='$StrHWND'");
		//
		for($i=1;$i<=$TP_CX;$i++){
			T_P_ACT($TP_AR[$i]);
		}
		//
		if(strlen($LStrMsg)==0){
			$LStrMsg="Los datos han sido registrado";
		}
		$LStrFoc="document.getElementById('CboAlm').focus();";						
		$StrGT="S";
		$LIMPIAR=1;
	}
	//
	if($StrCmd=="E"){
		$TP_CX=0;
		$TP_AR[0]=0;
		//
		$StrAlm_=gn("id_almacen","compras","id_compra=$StrId");
		$StrET_=gs("et","compras","id_compra=$StrId");
		$qqq=ejt("DELETE FROM compras WHERE id_compra=$StrId");
		//BIT
		$_BIT_MOD_ID=$StrId;
		$_BIT_SQL_CAB=$qqq;
		$_BIT_SQL_DET="";
		$_BIT_PHP="compras.php";
		$_BIT_ID=BIT_ADD("MANTENIMIENTO","COMPRAS","ELIMINAR",$_BIT_MOD_ID,$_BIT_SQL_CAB,$_BIT_SQL_DET,$_BIT_PHP);
		BIT_DET_ADD($_BIT_ID,$qqq);
		//BIT	
		$s="SELECT id_producto,ca,can_uni FROM compras_det WHERE id_compra=$StrId";
		$result = grs($s);			
		while ($row = $result->fetch_row()){
			$E_ID=$row[0];
			$E_CA=$row[1];
			$E_CU=$row[2];
			if($StrET_=="NO"){
				STOCK_SUB($StrAlm_,$E_ID,$E_CA*$E_CU);
				ZTOCK_SUB($StrAlm_,$E_ID,$E_CA,$E_CU);			
			}
			//T_P_ACT($E_ID);
			$TP_CX++;
			$TP_AR[$TP_CX]=$E_ID;
		}
		$qqq=ejt("DELETE FROM compras_det WHERE id_compra=$StrId");
		//++
		BIT_DET_ADD($_BIT_ID,$qqq);
		//++
		ejt("DELETE FROM temp_compras WHERE cod_temc='$StrHWND'");
		//
		for($i=1;$i<=$TP_CX;$i++){
			T_P_ACT($TP_AR[$i]);
		}
		//
		$LStrMsg="Los datos han sido eliminados";
		$LStrFoc="document.getElementById('CboAlm').focus();";						
		$StrGT="S";
		$LIMPIAR=1;
	}	
	//
	if($StrCmd=="A"){
		$TP_CX=0;
		$TP_AR[0]=0;
		//
		$StrAlm_=gn("id_almacen","compras","id_compra=$StrId");
		$StrET_=gs("et","compras","id_compra=$StrId");
		$qqq=ejt("UPDATE compras SET anulado='S' WHERE id_compra=$StrId");
		//BIT
		$_BIT_MOD_ID=$StrId;
		$_BIT_SQL_CAB=$qqq;
		$_BIT_SQL_DET="";
		$_BIT_PHP="compras.php";
		$_BIT_ID=BIT_ADD("MANTENIMIENTO","COMPRAS","ANULAR",$_BIT_MOD_ID,$_BIT_SQL_CAB,$_BIT_SQL_DET,$_BIT_PHP);
		BIT_DET_ADD($_BIT_ID,$qqq);
		//BIT	
		$s="SELECT id_producto,ca,can_uni 
			FROM compras_det WHERE id_compra=$StrId";
		$result = grs($s);			
		while ($row = $result->fetch_row()){
			$E_ID=$row[0];
			$E_CA=$row[1];
			$E_CU=$row[2];
			if($StrET_=="NO"){
				STOCK_SUB($StrAlm_,$E_ID,$E_CA*$E_CU);
				ZTOCK_SUB($StrAlm_,$E_ID,$E_CA,$E_CU);		
			}
			//T_P_ACT($E_ID);	
			$TP_CX++;$TP_AR[$TP_CX]=$E_ID;
		}
		//
		ejt("DELETE FROM temp_compras WHERE cod_temc='$StrHWND'");
		//
		for($i=1;$i<=$TP_CX;$i++){
			T_P_ACT($TP_AR[$i]);
		}
		//
		$LStrMsg="La compra ha sido anulada";
		$LStrFoc="document.getElementById('CboAlm').focus();";						
		$StrGT="S";		
		$LIMPIAR=1;
		
	}	
	//
	if($LIMPIAR==1){		
		ejt("DELETE FROM temp_compras WHERE cod_temc='$StrHWND'");
		$StrAlm="";
		$StrFec=date("d-m-y");
		$StrCom="";
		$StrSer="";
		$StrNum="";
		$StrDam="";
		$StrMon="";
		$StrPro="";
		$StrRuc="";
		$StrTdp="";
		$StrN_INC="";
		$StrET="NO";
		$StrCUni="";		
		$StrCod="";
		$StrDes="";
		$StrMARCA="";
		$StrPre="";
		$StrCant="";
		$StrImp="";
		$StrId="";
		$FecLle="";
	}
	//
	if(strlen($LStrFoc)==0){
		$LStrFoc="document.getElementById('CboEmp').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('CboEmp').focus();";
		$LStrMsg="onload=\"$LStrFoc;\"";
	}
?>