<?
include("../../conexion/class-sb-conexion.php");
include("../../../conex.php");
	$dbx = new sb_mysql();
	$consulta = $dbx->consulta_free("select * from sb_proceso 
	where Codigo_Empresa_Proceso='".$empresa_global."' order by Codigo_Proceso desc LIMIT 1");
    $dbx->proceso($empresa_global);
	$registro = $dbx->sb_array($consulta);
	
		
	echo "xxxxxxxxxxxxxxxxxxxxx".$registro['Mes_Proceso']."<br>";
	 //$mes=($registro['Mes_Proceso']+1);
	 //$ano=$registro['Ano_Proceso'];

  
	if($registro['Mes_Proceso']==12){
	   $mes=1;
	   $ano=$registro['Ano_Proceso']+1;
	}
	else
	{
	 
	 $mes=($registro['Mes_Proceso']+1);
	 $ano=$registro['Ano_Proceso'];
	
    	
	}
	 ?>
     
     <?
	 ////<script>alert("<?=$mes?$ano script>
	//exit();
	$campos_insert="";
	foreach( $campo as $key => $value ) {
    		$campos_insert=$campos_insert."".$key.",";
			$campo2[str_replace("'","",$key)]=$value;
			//echo $campo[$key]."$key"."<br>";
			$campos_update=$campos_update.str_replace("'","",$key)."='".$value."',";	
		}
	
	//echo "---".$campo['Actual_Proceso']."-----".$dbx->id_proceso;
     echo "---".$campo['Mes_Proceso']."--ccc---".$campo['Ano_Proceso']."<br>";
		echo "---".$mes."-----".$ano."<br>";
	//echo $dbx->id_proceso."zzzzzzzz".$campo['Actual_Proceso'];
   
   
   
	
   
   
   
   
   
   $Query_insert="insert into sb_proceso  
	(".rtrim(str_replace("'","",$campos_insert),",").")  values ('".implode('\',\'',$campo)."')";
	
	$Query_update="update sb_proceso set ".rtrim($campos_update,",");
   
    echo $Query_insert;
    echo $empresa_global."----".$dbx->id_proceso."/".$id;
    if($dbx->id_proceso==$id){
		if(($campo2['Actual_Proceso']==1)){
	     if(($campo2['Abierto_Proceso']==0)){
				?><script>alert("Error,No  puede dejar Proceso Actual, Sin Proceso Ver")</script><?
				exit();
			}
		}	
	}else{
	
	 	if(($campo2['Actual_Proceso']==1)){
	     if(($campo2['Abierto_Proceso']==0)){
				?><script>alert("Error,No  puede dejar Proceso Actual, Sin Proceso Ver")</script><?
				exit();
			}
		}
      	if(($dbx->id_proceso!='') && ($campo2['Actual_Proceso']==1)){
				?><script>alert("Error,Intenta dejar dos periodos como actual")</script><?
				exit();
		}
		$consulta = $dbx->consulta_free("select count(*) as num from sb_proceso where Abierto_Proceso=1 and
		Codigo_Empresa_Proceso='".$empresa_global."'   ");
    	$registro = $dbx->sb_array($consulta);
		if(($registro['num']>0) && ($campo2['Abierto_Proceso']==1)){
				?><script>alert("Error,Intenta dejar dos periodos para ver")</script><?
				exit();
		}
	}
	
	if($evento=="upda"){
		$sql="select count(*) as num from sb_proceso 
		where  Codigo_Proceso>".$id." and Codigo_Empresa_Proceso='".$empresa_global."'";
		$consulta = $dbx->consulta_free($sql);
    	$registro = $dbx->sb_array($consulta);
		
		if(($registro['num']>=2) &&($campo2['Actual_Proceso']==1)){
		?><script>alert("Error,Solo puede dejar un mes atras como proceso Actual")</script><?
		exit();
		}
	
	    echo "<br>/".$registro['num']."--".$campo2['Actual_Proceso'];
		if(($registro['num']==1) &&($campo2['Actual_Proceso']==1)){
			?><script>
			    alert("Recordar que cualquier modificación de los datos es de su  responzabilidad");
		       </script><?
		
		}
		if(($registro['num']==0) && (($campo2['Abierto_Proceso']==1)&& ($campo2['Actual_Proceso']==0) ||
		  ($campo2['Abierto_Proceso']==0)&& ($campo2['Actual_Proceso']==1) )
		  
		){
			?><script>
			    alert("Error,El proceso en curso tiene ser proceso Actual y ver");
		       </script><?
		
		}
		
		if($registro['num']==0){
			$sql="select count(*) as num 
			FROM sb_contratos_lista
	  		INNER JOIN  sb_funcionarios_lista 
		  		on sb_contratos_lista.Codigo_Func_cont 
				= sb_funcionarios_lista.Codigo_Func
			INNER JOIN  sb_datos_liquidacion 
		  		on sb_contratos_lista.Codigo_Cont 
				= sb_datos_liquidacion.Codigo_Cont_Liq		
	   		where 
	   			sb_contratos_lista.Codigo_Empresa_Cont='".$empresa_global."' and
				Modificacion_Liq=1 and Activo_Liq=1  ";
			//echo $sql;	
			$consulta = $dbx->consulta_free($sql);
    		$registro2 = $dbx->sb_array($consulta);
		    if($registro2['num']>0){
			   ?>
			   <script>
			    alert("Actualizando las modificaciones");
				
		       </script>
			   <?
			   $sql="
					Call Procedure_Modificacion
					(".$empresa_global.",
			 		".$id.",
					".$campo2['Mes_Proceso'].",
					".$campo2['Ano_Proceso'].",
			 		@resultado)";
			
			echo $sql."<br>"; 
			$consulta = $dbx->consulta_free($sql);
			//exit();
			}
		}
		
		
	}
	
	           
			   
    if($evento=="inst"){
	$sql="select count(*) as num 
			FROM sb_contratos_lista
	  		INNER JOIN  sb_funcionarios_lista 
		  		on sb_contratos_lista.Codigo_Func_cont 
				= sb_funcionarios_lista.Codigo_Func
			INNER JOIN  sb_datos_liquidacion 
		  		on sb_contratos_lista.Codigo_Cont 
				= sb_datos_liquidacion.Codigo_Cont_Liq		
	   		where 
	   			sb_contratos_lista.Codigo_Empresa_Cont='".$empresa_global."' and
				Modificacion_Liq=1 and Activo_Liq=1  ";
			//echo $sql;	
			$consulta = $dbx->consulta_free($sql);
    		$registro2 = $dbx->sb_array($consulta);
		    if($registro2['num']>0){
			   ?>
			   <script>
			    alert("  (1)  Error,Tiene registros Modificados,Tiene que cambiar a proceso en curso");
				
		       </script>
               
			   <?
			   exit();
		}	
	}
//exit();


	
	//foreach( $campo as $key => $value ) {
    //	$campos_insert=$campos_insert."".$key.",";
		//echo $key."<br>";
	//	$campos_update=$campos_update.str_replace("'","",$key)."='".$value."',";	
	//}

	//$Query_insert="insert into sb_proceso  
	//(".rtrim(str_replace("'","",$campos_insert),",").")  values ('".implode('\',\'',$campo)."')";
	//$Query_update="update sb_proceso set ".rtrim($campos_update,",");
    
		switch($evento){
		case "inst":
			//$dbx = new sb_mysql();
			
			$sql="select count(*) as num from sb_proceso where Codigo_Empresa_Proceso='".$empresa_global."'";
			$consulta = $dbx->consulta_free($sql);
			$registro2 = $dbx->sb_array($consulta);
			if($registro2['num']>0){
				if(($campo2['Mes_Proceso']!=$mes) ||($campo2['Ano_Proceso']!=$ano)){
					?><script>alert("La fecha de proceso no corresponde")</script><?
					exit();
				}
			}
			
			?><script>alert("Llamar a Call Procedure_Insert_Proceso")</script><?
			
		//	$sql="Call Procedure_Insert_Proceso (".$empresa_global.", ".$campo2['Mes_Proceso'].",
//			 ".$campo2['Ano_Proceso'].", ".$campo2['Uf'].",	 ".$campo2['Utm'].", ".$campo2['Abierto_Proceso'].",
	//		 ".$campo2['Actual_Proceso'].",
		//	 @resultado)";
		$mes=$campo2['Mes_Proceso'];
		$ano=$campo2['Ano_Proceso'];
		$uf=$campo2['Uf'];
		$utm=$campo2['Utm'];
		$abierto=$campo2['Abierto_Proceso'];
		$actual=$campo2['Actual_Proceso'];
		
			//echo $sql."<br>"; 
			//$consulta = $dbx->consulta_free($sql);
			//echo $Query_insert;
//***********************************************************************************			
  $sql_pro = "INSERT INTO  sb_proceso 
	(Codigo_Empresa_Proceso, Mes_Proceso, Ano_Proceso, Uf, Utm, Activo_Proceso, Abierto_Proceso, Actual_Proceso) 
	values 	($empresa_global, $mes, $ano, $uf, $utm,  '1', $abierto, $actual)";

//	mysql_query($sql_pro,$enlace);
	
	        $sql_ultimo = "SELECT Codigo_Proceso FROM sb_proceso WHERE Codigo_Proceso=last_insert_id()";
			$res_ultimo =  mysql_query($sql_ultimo, $enlace);		
			$Id_Proceso = mysql_result($res_ultimo, 0, "Codigo_Proceso");       
	
	
	?><script>alert("Proceso grabado <?=$Id_Proceso.'\nCreado Con Exito!';?>")</script><?
	
	
  if($mes<10) {$proceso =$ano.'0'.$mes;} else {$proceso = $ano.$mes;}

?><script>alert ("Fecha Proceso <?=$proceso.'\nCreado Con Exito!';?>"); </script><?

$sql_fun="select 
       Codigo_Cont,
       Codigo_Func_Cont,
       Codigo_Empresa_Cont,
       Codigo_Afp_Func,
       Codigo_Isapre_Func,
       Rut_Func
from sb_contratos_lista
inner join sb_funcionarios_lista 
      on sb_contratos_lista.Codigo_Func_Cont = sb_funcionarios_lista.Codigo_Func
Where sb_contratos_lista.Finiquito_cont=0";

	$res_fun = mysql_query($sql_fun,$enlace);	
			$cont=0;
		while (mysql_fetch_object ($res_fun))
		{
				$Var_Codigo_Cont = mysql_result($res_fun, $cont, "Codigo_Cont");
                $Var_Codigo_Func_Cont = mysql_result($res_fun, $cont, "Codigo_Func_Cont");
				$Var_Codigo_Empresa_Cont = mysql_result($res_fun, $cont, "Codigo_Empresa_Cont");
				$Var_Codigo_Afp_Func = mysql_result($res_fun, $cont, "Codigo_Afp_Func");
 			    $Var_Codigo_Isapre_Func = mysql_result($res_fun, $cont, "Codigo_Isapre_Func");
     		    $Var_Rut_Func = mysql_result($res_fun, $cont, "Rut_Func");
   
     $sql_dl="INSERT INTO sb_datos_liquidacion 
        (Codigo_Cont_Liq, Codigo_Func_Liq, Codigo_Afp_Liq, Codigo_Isapre_Liq, Codigo_Proceso, Mes_Proceso)
		 values
		 ($Var_Codigo_Cont, $Var_Codigo_Func_Cont, $Var_Codigo_Afp_Func, $Var_Codigo_Isapre_Func, $Id_Proceso,'$proceso')";
		
		//mysql_query($sql_dl,$enlace);
	
	        $sql_ultimo = "SELECT Codigo_Liq FROM sb_datos_liquidacion WHERE Codigo_Liq=last_insert_id()";
			$res_ultimo =  mysql_query($sql_ultimo, $enlace);		
			$Id_Liq = mysql_result($res_ultimo, 0, "Codigo_Liq");   
		
		$sql_fijo="select Codigo_HabDes from sb_haberes_descuentos_lista where reservado=1";	
		$res_fijo = mysql_query($sql_fijo,$enlace);	
			$cont_fijo=0;
		while (mysql_fetch_object ($res_fijo))
		{
			$Codigo_HabDes = mysql_result($res_fijo, $cont_fijo, "Codigo_HabDes");
					
		$sql_hd="INSERT INTO sb_plantilla_haberes_descuentos 
	    ( Codigo_Liq_Plantilla, Codigo_Func_Plantilla, Codigo_HabDes_Plantilla, Rut_Func_Plantilla)
		values
		($Id_Liq, $Var_Codigo_Func_Cont, $Codigo_HabDes,'$Var_Rut_Func')";
	  //mysql_query($sql_hb,$enlace); 
	   $cont_fijo=$cont_fijo+1	 
	   }	
	$cont=$cont+1		
	}		


	?><script>alert("Fin insertar...........")</script><?
//***********************************************************************************			
			
			
			
			
			//echo $Query_update." where Codigo_HabDes=".$id;
		break;
		case "upda":
			$dbx = new sb_mysql();
			$consulta = $dbx->consulta_free($Query_update." where Codigo_Proceso=".$id);
			//echo $Query_update;
			
			//echo $Query_update." where Codigo_HabDes=".$id;
			
		break;
		case "dele":
			print ("delete");
		break;
		default:
			print ("Error");
		break;
		}
?>

     <script>
	window.parent.actualizar();
	 </script>
 