<?php
	$StrTC=gs("valor","valores","dato='T_CAMBIO'");
	//
	$StrCod=V($_POST['TxtCod']);
	$StrLin=V($_POST['CboLin']);
	$StrDes=V($_POST['TxtDes']);
	$DesCor="";	
	$StrMar=V($_POST['CboMar']);	
	$StrUni=V($_POST['CboUni']);	
	$StrPco=V($_POST['TxtPco']);	
	$StrMnd=V($_POST['CboMnd']);	
	$StrPvs=V($_POST['TxtPvs']);	
	$StrPrv=V($_POST['CboPrv']);	
	//
	$Foto = V($_FILES['Foto']['name']);
	//
	$LIMPIAR=0;
	//
	//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="";
			}
		}
	}
	//FUNCION PARA ACTIVAR UN REGISTRO
	if(strlen($StrId)>0 && $StrCmd=="AR"){
		$Id=$StrId;
		$r=gr("viz_productos","ID=$Id");
		$StrCod=$r['COD'];	
		$StrLin=$r['TIP'];	
		$StrDes=$r['DES'];	
		$StrMar=$r['MAR'];	
		$StrUni=$r['UNI'];	
		$StrPco=$r['PCO'];	
		$StrMnd=$r['MND'];	
		if($StrMnd=="S")$StrMnd="SOLES";
		if($StrMnd=="D")$StrMnd="DOLARES";
		if($StrMnd=="SOLES"){
			$StrPcs=$StrPco;
		}else{
			$StrPcs=round($StrPco * $StrTC,2);
		}
		$StrPvs=$r['PVE'];	
		$StrPrv=$r['PRV'];	
		//			
		$LStrFoc="document.getElementById('TxtCod').focus();";		
		$LStrPag="1";
	}
	//
	if($StrCmd=="L"){
		$LIMPIAR=1;
	}	
	//
	if($StrCmd=="G" || $StrCmd=="M"){
		$StrPco_=vbval($StrPco);
		$StrMnd_=substr($StrMnd,0,1);
		$StrPvs_=vbval($StrPvs);
		//
		$StrLin_=gn("id_linea","lineas","lin_nombre='$StrLin'");
		$StrMar_=gn("id_marca","marcas","mar_nombre='$StrMar'");
		$StrUni_=gn("id_unidad","unidades","uni_nombre='$StrUni'");
		$StrPrv_=gn("id_proveedor","proveedores","pro_nombre='$StrPrv'");
	}
	//
	if($StrCmd=="G"){
		if(strlen($StrDes)==0){
			$LStrMsg="Ingrese una descripcion o nombre del producto";
			$LStrFoc="document.getElementById('TxtDes').focus();";						
			$StrGT="S";
		}
		//
		if(strlen($StrGT)==0){
			if(strlen($StrCod)>0){
				if(GetC("productos","pro_codigo='$StrCod'")>0){
					$LStrMsg="Codigo de producto ya registrado";
					$LStrFoc="document.getElementById('TxtCod').focus();";						
					$StrGT="S";					
				}
			}
		}
		//
		$_PRO_COD=$StrCod;
		$_PRO_LIN=$StrLin_;
		$_PRO_DES=$StrDes;
		$_PRO_DEC="";
		$_PRO_MAR=$StrMar_;
		$_PRO_UNI=$StrUni_;
		$_PRO_PCO=$StrPco_;
		$_PRO_PVM=0;
		$_PRO_PVW=0;
		$_PRO_OBS="";
		$_PRO_PRV=$StrPrv_;
		$_PRO_Y=0;
		$_PRO_Z=0;
		$_PRO_FAB=0;
		$_PRO_MOD=0;
		$_PRO_PVU=$StrPvs_;
		$_PRO_PVC=0;
		$_PRO_PVM=0;
		$_PRO_OFE="NO";
		$_PRO_MND=$StrMnd_;		
		//
		if(strlen($StrGT)==0){
			$Id=GenId("id_producto","productos");
			$s="INSERT INTO productos VALUES ($Id,'$_PRO_COD',
			$_PRO_LIN,'$_PRO_DES','$_PRO_DEC',$_PRO_MAR,
			$_PRO_UNI,$_PRO_PCO,$_PRO_PVM,$_PRO_PVW,'$_PRO_OBS',
			$_PRO_PRV,$_PRO_Y,$_PRO_Z,$_PRO_FAB,$_PRO_MOD,
			$_PRO_PVU,$_PRO_PVC,$_PRO_PVM,'$_PRO_OFE','$_PRO_MND')";
			ejt($s);
			//
			if(strlen($Foto)>0)ImgG("Foto","fotos/pro".$Id);
			//
			ejt("DELETE FROM stocks WHERE id_producto=$Id");
			///////////////////////////////////////////////////
			$AX_StrFec=date("d-m-y");
			$AX_StrFec=ToDate($AX_StrFec);
			$nn="TXT_ALM_";
			$s="SELECT id_almacen FROM almacenes WHERE id_almacen>= 0 ";
			$result = grs($s);
			while ($row = $result->fetch_row()){
				STOCK_ADD($row[0],$Id,0);
				$nnn=$nn.$row[0];
				$vvv=vbval(V($_POST[$nnn]));
				if($vvv>0){
					$STOCK_ACTUAL=0;
					$AX_ID=GenId("id_ajuste","ajustex");
					$AX_DIF=abs($STOCK_ACTUAL - $vvv);
					if($AX_DIF!=0){
						if($STOCK_ACTUAL>$vvv){						
							ejt("INSERT INTO ajustex VALUES ($AX_ID,".
							"'$AX_StrFec',$row[0],$Id,'Q',$AX_DIF)");
						}else{
							ejt("INSERT INTO ajustex VALUES ($AX_ID,".
							"'$AX_StrFec',$row[0],$Id,'A',$AX_DIF)");
						}
						ejt("UPDATE stocks SET stock=".$vvv." WHERE ".
						"id_producto=$Id AND id_almacen=".$row[0]);
					}
				}
			}
			///////////////////////////////////////////////////
			$nn="TXT_MIN_";
			$s="SELECT id_almacen FROM almacenes WHERE id_almacen>=0";
			$result = grs($s);
			while ($row = $result->fetch_row()){
				$nnn=$nn.$row[0];
				$vvv=vbval(V($_POST[$nnn]));
				
				$ID_MIN=gn("id_stockm","stockm",
						   "id_almacen=$row[0] AND id_producto=$Id");					
				if($ID_MIN==0){
					$ID_MIN=GenId("id_stockm","stockm");
					$s="INSERT INTO stockm VALUES ($ID_MIN,$row[0],$Id,$vvv)";
					ejt($s);
				}else{
					$s="UPDATE stockm SET cantidad=$vvv WHERE id_stockm=$ID_MIN";
					ejt($s);
				}					
			}			
			///////////////////////////////////////////////////
			if($LStrMM=="S")	$LStrMsg="Datos registrados";
			$LStrFoc="document.getElementById('TxtCod').focus();";
			$LIMPIAR=1;
		}
	}
	//
	if($StrCmd=="M"){
		if(strlen($StrDes)==0){
			$LStrMsg="Ingrese una descripcion o nombre del producto";
			$LStrFoc="document.getElementById('TxtDes').focus();";						
			$StrGT="S";
		}
		//
		if(strlen($StrGT)==0){
			$_T_OK=1;
			$nn="TXT_ALM_";
			$s="SELECT id_almacen,alm_obs 
				FROM almacenes 
				WHERE id_almacen>= 0 ORDER BY alm_obs";
			$result = grs($s);
			while ($row = $result->fetch_row()){
				$nnn=$nn.$row[0];
				$vvv=$_POST[$nnn];
				if(is_numeric($vvv)==false){
					$_T_OK=0;break;
				}else{
					if($vvv<0){
						$_T_OK=0;break;
					}					
				}
			}
			if($_T_OK==0){
				$LStrMsg="Los stocks deben ser valores numericos positivos";
				$LStrFoc="document.getElementById('CboPro').focus();";						
				$StrGT="S";				
			}			
		}	
		//
		if(strlen($StrGT)==0){
			if(strlen($StrCod)>0){
				if(GetC("productos","pro_codigo='$StrCod' AND id_producto<>$StrId")>0){
					$LStrMsg="Codigo de producto ya registrado";
					$LStrFoc="document.getElementById('TxtCod').focus();";						
					$StrGT="S";					
				}
			}
		}		
		//
		$_PRO_COD=$StrCod;
		$_PRO_LIN=$StrLin_;
		$_PRO_DES=$StrDes;
		$_PRO_DEC="";
		$_PRO_MAR=$StrMar_;
		$_PRO_UNI=$StrUni_;
		$_PRO_PCO=$StrPco_;
		$_PRO_PVM=0;
		$_PRO_PVW=0;
		$_PRO_OBS="";
		$_PRO_PRV=$StrPrv_;
		$_PRO_Y=0;
		$_PRO_Z=0;
		$_PRO_FAB=0;
		$_PRO_MOD=0;
		$_PRO_PVU=$StrPvs_;
		$_PRO_PVC=0;
		$_PRO_PVM=0;
		$_PRO_OFE="NO";
		$_PRO_MND=$StrMnd_;		
		//
		if(strlen($StrGT)==0){
			$s="UPDATE productos 
				SET pro_codigo='$_PRO_COD',
					pro_id_linea=$_PRO_LIN,
					pro_des='$_PRO_DES',
					pro_des_cor='$_PRO_DEC',
					pro_id_marca=$_PRO_MAR,
					pro_id_unidad=$_PRO_UNI,
					pro_pc_sol=$_PRO_PCO,
					pro_pv_min=$_PRO_PVM,
					pro_pv_max=$_PRO_PVW,
					pro_obs='$_PRO_OBS',
					pro_id_proveedor=$_PRO_PRV,
					y_id=$_PRO_Y,
					z_id=$_PRO_Z,
					pro_id_fab=$_PRO_FAB,
					pro_id_mod=$_PRO_MOD,
					pro_pxu=$_PRO_PVU,
					pro_pxc=$_PRO_PVC,
					pro_pxm=$_PRO_PVM,
					pro_ofe='$_PRO_OFE',
					pro_mnd='$StrMnd_'
				WHERE id_producto=$StrId";
			ejt($s);
			//		
			if(strlen($Foto)>0){
				$FActual=ImgA("fotos/pro".$StrId);
				ImgE($FActual);
				ImgG("Foto","fotos/pro".$StrId);
			}			
			///////////////////////////////////////////////////
			$AX_StrFec=date("d-m-y");
			$AX_StrFec=ToDate($AX_StrFec);
			$nn="TXT_ALM_";
			$s="SELECT id_almacen FROM almacenes WHERE id_almacen>= 0 ";
			$result = grs($s);
			while ($row = $result->fetch_row()){
				$nnn=$nn.$row[0];
				$vvv=vbval(V($_POST[$nnn]));
				$STOCK_ACTUAL=gn("stock","stocks",
				"id_producto=$StrId AND id_almacen=$row[0]");
				$AX_ID=GenId("id_ajuste","ajustex");
				$AX_DIF=abs($STOCK_ACTUAL - $vvv);
				if($AX_DIF!=0){
					if($STOCK_ACTUAL>$vvv){						
						ejt("INSERT INTO ajustex VALUES ($AX_ID,".
						"'$AX_StrFec',$row[0],$StrId,'Q',$AX_DIF)");
					}else{
						ejt("INSERT INTO ajustex VALUES ($AX_ID,".
						"'$AX_StrFec',$row[0],$StrId,'A',$AX_DIF)");
					}
					ejt("UPDATE stocks SET stock=".$vvv." WHERE ".
					"id_producto=$StrId AND id_almacen=".$row[0]);
				}
			}
			///////////////////////////////////////////////////
			$nn="TXT_MIN_";
			$s="SELECT id_almacen FROM almacenes WHERE id_almacen>=0";
			$result = grs($s);
			while ($row = $result->fetch_row()){
				$nnn=$nn.$row[0];
				$vvv=vbval(V($_POST[$nnn]));
				$ID_MIN=gn("id_stockm","stockm",
						   "id_almacen=$row[0] AND id_producto=$StrId");					
				if($ID_MIN==0){
					$ID_MIN=GenId("id_stockm","stockm");
					$s="INSERT INTO stockm VALUES ($ID_MIN,$row[0],$StrId,$vvv)";
					ejt($s);
				}else{
					$s="UPDATE stockm SET cantidad=$vvv WHERE id_stockm=$ID_MIN";
					ejt($s);
				}					
			}			
			///////////////////////////////////////////////////
			if($LStrMM=="S")	$LStrMsg="Datos actualizados";
			$LStrFoc="document.getElementById('TxtCod').focus();";
			$LIMPIAR=1;
		}
	}
	//
	if($StrCmd=="E"){		
		if(GetC("ventas_det","id_producto=$StrId")>0){
			$LStrMsg="El presente registro esta	relacionado a uno mas registros de Venta no se puede Eliminar";
			$LStrFoc="document.getElementById('TxtCod').focus();";						
			$StrGT="S";			
		}
		
		if(GetC("compras_det","id_producto=$StrId")>0){
			$LStrMsg="El presente registro esta	relacionado a uno mas registros de Compras no se puede Eliminar";
			$LStrFoc="document.getElementById('TxtCod').focus();";						
			$StrGT="S";			
		}

		if(GetC("transferencias_det","id_producto=$StrId")>0){
			$LStrMsg="El presente registro esta	relacionado a uno mas registros de Transferencias no se puede Eliminar";
			$LStrFoc="document.getElementById('TxtCod').focus();";						
			$StrGT="S";			
		}
		
		if(GetC("ajustes_det","id_producto=$StrId")>0){
			$LStrMsg="El presente registro esta	relacionado a uno mas registros de Ajuste no se puede Eliminar";
			$LStrFoc="document.getElementById('TxtCod').focus();";						
			$StrGT="S";			
		}
		
		if(GetC("guias_det","id_producto=$StrId")>0){
			$LStrMsg="El presente registro esta	relacionado a uno mas registros de Guia no se puede Eliminar";
			$LStrFoc="document.getElementById('TxtCod').focus();";						
			$StrGT="S";			
		}
		

		//
		if(strlen($StrGT)==0){
			$s="DELETE FROM productos WHERE id_producto=$StrId";	
			ejt($s);
			//
			$s="DELETE FROM ajustex WHERE id_producto=$StrId";
			ejt($s);
			//
			$FActual=ImgA("fotos/pro".$StrId);
			ImgE($FActual);
			//
			if($LStrMM=="S")	$LStrMsg="Registro Eliminado";
			$LStrFoc="document.getElementById('TxtCod').focus();";
			$LIMPIAR=1;		
		}
	}
//-------------------------------------------------------
if($StrCmd=="EF"){
	$FActual=ImgA("fotos/pro".$StrId);
	ImgE($FActual);
}
//-------------------------------------------------------
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('TxtCod').focus();";
	$LStrMsg="onload=\"$LStrFoc;\"";
}
//
if($LIMPIAR==1){
	$StrId="";
	$StrCod="";
	$StrLin="";
	$StrDes="";
	$StrMar="";
	$StrUni="";
	$StrPco="";
	$StrMnd="";
	$StrPcs="";
	$StrPvs="";
	$StrPrv="";
	$StrGT="S";		
}
//
?>
