<?php
	//++++++++
	$LIMPIAR=0;
	//++++++++
	$StrEmp=V($_POST['CboEmp']);
	$StrAlm=V($_POST['CboAlm']);
	$StrFec=V($_POST['TxtFec']);
	$StrCom=V($_POST['CboCom']);
	$StrSer=V($_POST['TxtSer']);
	$StrNum=V($_POST['TxtNum']);
	$StrTve=V($_POST['TxtTve']);
	$StrAcu=V($_POST['TxtAcu']);
	$StrTot=V($_POST['TxtTot']);
	$StrMod=V($_POST['CboMod']);
	$StrSal=V($_POST['TxtSal']);
	$StrObs=V($_POST['TxtObs']);
	$StrKon=V($_POST['TxtKon']);
	$Cue=V($_POST['Cue']);
	$OpeNro=V($_POST['OpeNro']);
	$OpeFec=V($_POST['OpeFec']);
	$LIS_VENTAS=V($_POST['LIS_VENTAS']);
	//
	if(strlen($StrEmp)==0)$StrEmp=GE("N");
	//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($StrCmd)==0){
		$StrFec=date("d-m-y");
	}
	if(strlen($StrId)>0 && $StrCmd=="AR"){
		$Id=$StrId;
		$StrEmp=gs("EMPC","vcobroz","ID=$Id");
		$StrAlm=gs("ALM_NC","vcobroz","ID=$Id");
		$StrFec=gs("DATE_FORMAT(fec,'%d-%m-%y')","vcobroz","ID=$Id");
		$StrNUM=gs("NUM","vcobroz","ID=$Id");	
		$StrCom=gs("COM","vcobroz","ID=$Id");		
		$StrSer=gs("CSER","vcobroz","ID=$Id");		
		$StrNum=gs("CNUM","vcobroz","ID=$Id");
		$StrTve=NF(gn("VEN_TOT","vcobroz","ID=$Id"),2);		
		$StrAcu=NF(gn("VEN_ACU","vcobroz","ID=$Id"),2);		
		$StrTot=NF(gn("TOT","vcobroz","ID=$Id"),2);		
		$StrMod=gs("TDP","vcobroz","ID=$Id");		
		$StrSal=NF(gn("VEN_SAL","vcobroz","ID=$Id"),2);		
		$StrObs=gs("OBS","vcobroz","ID=$Id");		
		$StrKon_=gn("ID_KON","vcobroz","ID=$Id");		
		if($StrKon_>0){
			$StrKon=gs("con_numero","contratos","id_contrato=$StrKon_");
		}
		$StrGT="S";
		//
		$REF_COM=gs("COM","vcobroz","ID=$Id");
		$REF_SER=gs("CSER","vcobroz","ID=$Id");
		$REF_NUM=gs("CNUM","vcobroz","ID=$Id");
		//
		if($REF_COM=="PROFORMA"){
			$REF_SER=vbval($REF_SER);
			$REF_NUM=vbval($REF_NUM);
			//$REF_KOD=gn("id_cotizacion","cotizaciones","iser=$REF_SER AND inum=$REF_NUM");
			$StrEmpX_=gn("id_emp","empresas","emp_nomc='$StrEmp'");
			$StrAlmX_=gn("id_almacen","almacenes","alm_id_empresa=$StrEmpX_ AND alm_obs='$StrAlm'");
			$REF_KOD=gn("id_cotizacion","cotizaciones","iser=$REF_SER AND inum=$REF_NUM AND id_alm=$StrAlmX_");
		}else{
			$REF_KOM=gn("id_comprobante","comprobantes","com_nombre='$REF_COM'");
			$REF_SER=vbval($REF_SER);
			$REF_NUM=vbval($REF_NUM);
			$REF_EMP=gn("id_emp","empresas","emp_nomc='$StrEmp'");
			$REF_KOD=gn("ID","z_vis_ventas",
			"ID_COM=$REF_KOM AND ISER=$REF_SER AND INUM=$REF_NUM AND ID_EMP=$REF_EMP");
		}
		$Cue=gs("ID_CTA","vcobroz","ID=$Id");
		$Cue=gs("MI_CUENTA","vis_cuentas_emp","ID_CTA=$Cue");
		$OpeNro=gs("OPE_NRO","vcobroz","ID=$Id");
		$OpeFec=gs("OPE_FEC_","vcobroz","ID=$Id");
		if($OpeFec=="01-01-00")$OpeFec="";
		
	}	
	if($StrCmd=="G" || $StrCmd=="M"){
		$StrEmp_=gn("id_emp","empresas","emp_nomc='$StrEmp'");
		$StrAlm_=gn("id_almacen","almacenes","alm_id_empresa=$StrEmp_ AND alm_obs='$StrAlm'");
		$StrKon_=gn("ID","vis_contratos","NUM='$StrKon' AND ID_EMP=$StrEmp_");
		$StrCom_=gn("id_comprobante","comprobantes","com_nombre='$StrCom'");
		$StrFec_=ToDate($StrFec);
		$Cue_=gn("ID_CTA","vis_cuentas_emp","MI_CUENTA='$Cue'");
		$OpeFec_=ToDate($OpeFec);
	}
	//FUNCIONES DE ACTUALIZACION++++++++++
	if($StrCmd=="G"){
		if(!USU_PER_GET_ES_CAJERO()){
			$SYS_MSG="Valido solo para usuarios de cargo cajero";
			$StrGT="S";
		}
		//
		if(strlen($StrGT)==0){
			$KOB_REG_FEC=date("Y-m-d");
			$KOB_REG_HOR=GetHoraAP();
			$KOB_REG_TIM=time();
			$KOD_ANU_FEC="1900-01-01";
			$KOB_ANU_HOR="";
			$KOB_ANU_TIM=0;
			$KOB_ANU_USU=0;
			//
			$REG_VER="NO";
			//
			$Id=GenId("id_cobro","cobroz");
			$StrNUM=vbr("000000".$Id,5);
			$GII=GenGI();
			//
			$_ID_CLI=COB_GC_22($StrCom,$StrSer,$StrNum,$StrEmp);
			//
			$s="INSERT INTO cobroz VALUES ".
			   "($Id,'$StrNUM',$StrCom_,'$StrSer',".
			   "'$StrNum','$StrFec_',$GII,'$StrMod',".
			   vbval($StrTot).",".vbval($StrSal).",".
			   "'NO','NO',".vbval($StrSer).",".
			   vbval($StrNum).",'$StrObs',".
			   vbval($StrTve).",".
			   vbval($StrSal).",".
			   vbval($StrAcu).",".
			   $_ID_CLI.",".GetIDU().",$StrKon_,0,$StrEmp_,'".
			   $KOB_REG_FEC."','".$KOB_REG_HOR."',".$KOB_REG_TIM.",'".
			   $KOD_ANU_FEC."','".$KOB_ANU_HOR."',".$KOB_ANU_TIM.",".$KOB_ANU_USU.",'$REG_VER',
			   $Cue_,'$OpeNro','$OpeFec_',$StrAlm_)";		   
			ejt($s);
			//
			$FEC_VEN="";
			if($StrCom_==-3){
				$_COT_ID=gn("ID","z_vis_cotizaciones",
							"ISER=".vbval($StrSer)." AND ".
							"INUM=".vbval($StrNum)." AND ID_EMP=".$StrEmp_);
				ejt("UPDATE cotizaciones 
					SET tot_cob=tot_cob + ".vbval($StrTot)." 
					WHERE id_cotizacion=$_COT_ID");
				$FEC_VEN=gs("DATE_FORMAT(fec,'%d-%m-%y')",
							"cotizaciones","id_cotizacion=$_COT_ID");
			}else{
				$_VEN_ID=gn("ID","z_vis_ventas",
							"ISER=".vbval($StrSer)." AND ".
							"INUM=".vbval($StrNum)." AND ".
							"ID_COM=$StrCom_ AND ID_EMP=".$StrEmp_);
				ejt("UPDATE ventas 
					SET ven_cob=ven_cob + ".vbval($StrTot)." 
					WHERE id_venta=".$_VEN_ID);
				$FEC_VEN=gs("DATE_FORMAT(fec,'%d-%m-%y')",
							"ventas","id_venta=".$_VEN_ID);
			}
			$FEC_COB=gs("DATE_FORMAT(cob_fec,'%d-%m-%y')","cobroz","id_cobro=$Id");
			if($FEC_COB==$FEC_VEN){
				ejt("UPDATE cobroz SET cob_md=1 WHERE id_cobro=$Id");
			}
			if($StrKon_>0){
				ejt("UPDATE contratos ".
					"SET ".
					"con_usado=con_usado + ".vbval($StrTot)." ".
					"WHERE id_contrato=$StrKon_");
			}
			//
			COBROZ_SET_PAGADOS($Id,$LIS_VENTAS,GetIDU());
			//+++
			$SYS_MSG="Datos registrados";
			$StrGT="S";
			$LIMPIAR=1;
		}
	}
	//
	if($StrCmd=="A"){
		$ABC_COB=gn("cob_id_usuario","cobroz","id_cobro=$StrId");	
		if($UZU_KOD!=$ABC_COB){
			$SYS_MSG="Solo el usuario que registro el cobro puede anular el cobro";
			$StrGT="S";
		}
		if(!USU_PER_GET_ES_CAJERO()){
			$SYS_MSG="Valido solo para usuarios de cargo cajero";
			$StrGT="S";
		}
		if(strlen($StrGT)==0){
			$CX=gn("count(*)","cobroz_ventas","cv_id_cob=$StrId AND cv_cob_anu='NO'");
			if($CX>0){
				$SYS_MSG="Una o mas ventas asignadas, anule las asignaciones correspondientes";
				$StrGT="S";
			}
		}
		if(strlen($StrGT)==0){
			//
			$KOD_ANU_FEC=date("Y-m-d");
			$KOB_ANU_HOR=GetHoraAP();
			$KOB_ANU_TIM=time();
			$KOB_ANU_USU=GetIDU();
			//
			$StrEmp_=gn("cob_id_empresa","cobroz","id_cobro=$StrId");
			$StrCom_=gn("cob_id_com","cobroz","id_cobro=$StrId");
			$StrTot_=gn("cob_tot","cobroz","id_cobro=$StrId");
			$StrSer_=gn("cob_icser","cobroz","id_cobro=$StrId");
			$StrNum_=gn("cob_icnum","cobroz","id_cobro=$StrId");
			if($StrCom_==-3){
				$_COT_ID=gn("ID","z_vis_cotizaciones",
						"ISER=$StrSer_ AND ".
						"INUM=$StrNum_ AND ID_EMP=".$StrEmp_);
				ejt("UPDATE cotizaciones 
					SET tot_cob=tot_cob - ".vbval($StrTot_)." 
					WHERE id_cotizacion=$_COT_ID");
			}else{
				$_VEN_ID=gn("ID","z_vis_ventas",
						"ISER=$StrSer_ AND ".
						"INUM=$StrNum_ AND ".
						"ID_COM=$StrCom_ AND ID_EMP=".$StrEmp_);
				ejt("UPDATE ventas 
					SET ven_cob=ven_cob - ".vbval($StrTot)." 
					WHERE id_venta=".$_VEN_ID);
			}
			//
			$StrKon_=gn("cob_id_contrato","cobroz","id_cobro=$StrId");			
			if($StrKon_>0){
				$StrTot=gn("cob_tot","cobroz","id_cobro=$StrId");
				ejt("UPDATE contratos ".
			    "SET ".
				"con_usado=con_usado - ".vbval($StrTot)." ".
				"WHERE id_contrato=$StrKon_");
			}			
			$s="UPDATE cobroz 
				SET 
				cob_anu='SI',
				cob_anu_fec='".$KOD_ANU_FEC."',
				cob_anu_hor='".$KOB_ANU_HOR."',
				cob_anu_tim=".$KOB_ANU_TIM.",
				cob_anu_usu=".$KOB_ANU_USU." WHERE id_cobro=$StrId AND cob_id_usuario=$UZU_KOD";	
			ejt($s);
			COBROZ_ANULAR($StrId);
			//
			$SYS_MSG="Registro anulado";
			$StrGT="S";
			$LIMPIAR=1;
		}		
	}
	//
	if($StrCmd=="E"){
		$ABC_COB=gn("cob_id_usuario","cobroz","id_cobro=$StrId");	
		if($UZU_KOD!=$ABC_COB){
			$SYS_MSG="Solo el usuario que registro el cobro puede eliminar el cobro";
			$StrGT="S";
		}
		if(strlen($StrGT)==0){
			if(!USU_PER_GET_ES_CAJERO()){
				$SYS_MSG="Valido solo para usuarios de cargo cajero";
				$StrGT="S";
			}
		}
		if(strlen($StrGT)==0){
			if($POL_USU_PER_ELI==0){
				$SYS_MSG="El usuario no tiene los permisos para esta accion";
				$StrGT="S";
			}
		}
		//
		if(strlen($StrGT)==0){
			$E_ANU=gs("cob_anu","cobroz","id_cobro=$StrId");	
			if($E_ANU=="SI"){
				$SYS_MSG="El registro se encuentra anulado por lo tanto no se puede eliminar";
				$StrGT="S";
			}
		}
		//
		if(strlen($StrGT)==0){
			//
			$StrEmp_=gn("cob_id_empresa","cobroz","id_cobro=$StrId");
			$StrCom_=gn("cob_id_com","cobroz","id_cobro=$StrId");
			$StrTot_=gn("cob_tot","cobroz","id_cobro=$StrId");
			$StrSer_=gn("cob_icser","cobroz","id_cobro=$StrId");
			$StrNum_=gn("cob_icnum","cobroz","id_cobro=$StrId");
			if($StrCom_==-3){
				$_COT_ID=gn("ID","z_vis_cotizaciones",
						"ISER=$StrSer_ AND ".
						"INUM=$StrNum_ AND ID_EMP=".$StrEmp_);
				ejt("UPDATE cotizaciones 
					SET tot_cob=tot_cob - ".vbval($StrTot_)." 
					WHERE id_cotizacion=$_COT_ID");
			}else{
				$_VEN_ID=gn("ID","z_vis_ventas",
						"ISER=$StrSer_ AND ".
						"INUM=$StrNum_ AND ".
						"ID_COM=$StrCom_ AND ID_EMP=".$StrEmp_);
				ejt("UPDATE ventas 
					SET ven_cob=ven_cob - ".vbval($StrTot)." 
					WHERE id_venta=".$_VEN_ID);
			}
			//
			$StrKon_=gn("cob_id_contrato","cobroz","id_cobro=$StrId");			
			if($StrKon_>0){
				$StrTot=gn("cob_tot","cobroz","id_cobro=$StrId");
				ejt("UPDATE contratos ".
			    "SET ".
				"con_usado=con_usado - ".vbval($StrTot)." ".
				"WHERE id_contrato=$StrKon_");
			}		
			$s="DELETE FROM cobroz WHERE id_cobro=$StrId AND cob_id_usuario=$UZU_KOD";	
			ejt($s);
			$SYS_MSG="Registro Eliminado";
			$StrGT="S";
			$LIMPIAR=1;
		}
			
	}
	//
	if($StrCmd=="L"){
		$LIMPIAR=1;
	}
	//
	if($LIMPIAR==1){
		$StrId="";
		$StrFec=date("d-m-y");
		$StrCom="";
		$StrSer="";
		$StrNum="";
		$StrTve="";
		$StrAcu="";
		$StrTot="";
		$StrSal="";
		$StrNUM="";
		$StrKon="";
		$Cue="";
		$OpeNro="";
		$OpeFec="";
	}
	//
	
?>