<?php
function limpiar_cadena($string){    
   // $string = trim($string);
    $string = str_replace(
        array('á', 'à', 'ä', 'â', 'ª', 'Á', 'À', 'Â', 'Ä'),
        array('a', 'a', 'a', 'a', 'a', 'A', 'A', 'A', 'A'),
        $string
    );
    $string = str_replace(
        array('é', 'è', 'ë', 'ê', 'É', 'È', 'Ê', 'Ë'),
        array('e', 'e', 'e', 'e', 'E', 'E', 'E', 'E'),
        $string
    );
    $string = str_replace(
        array('í', 'ì', 'ï', 'î', 'Í', 'Ì', 'Ï', 'Î'),
        array('i', 'i', 'i', 'i', 'I', 'I', 'I', 'I'),
        $string
    );
    $string = str_replace(
        array('ó', 'ò', 'ö', 'ô', 'Ó', 'Ò', 'Ö', 'Ô'),
        array('o', 'o', 'o', 'o', 'O', 'O', 'O', 'O'),
        $string
    );
    $string = str_replace(
        array('ú', 'ù', 'ü', 'û', 'Ú', 'Ù', 'Û', 'Ü'),
        array('u', 'u', 'u', 'u', 'U', 'U', 'U', 'U'),
        $string
    );
    $string = str_replace(
        array('ñ', 'Ñ', 'ç', 'Ç'),
        array('n', 'N', 'c', 'C',),
        $string
    );
    //Esta parte se encarga de eliminar cualquier caracter extraño
    $string = str_replace(
        array("\\", "¨", "º", "-", "~",
             "#", "@", "|", "!", "\"",
             "·", "$", "%", "&", "/",
             "(", ")", "?", "'", "¡",
             "¿", "[", "^", "`", "]",
             "+", "}", "{", "¨", "´",
             ">", "< ", ";", ",", ":",
             "."),
        '',
        $string
    );
    return $string;
}
$pdf = Yii::createComponent('application.extensions.MPDF52.mpdf');
  $dataProvider = $_SESSION['datos_filtrados']->getData();
  $contador=count($dataProvider);
  $i=0;
  $j=0;
  $k=0;
  $montototal=0;
  $id=Yii::app()->user->id;
  $existente = "";
  $noaprobado="";
  while($j<$contador){
      $cedula=$dataProvider[$j]["trabajador"]["cedula"]; 
      $existe= Txtpagados::model()->findAll('"idtrabajador"=:idtrabajador and "idsolicitud"=:idsolicitud and tipo_solicitud=1 and blnborrado=false', 
      array(':idtrabajador'=>$dataProvider[$j]["idtrabajador"],':idsolicitud'=>$dataProvider[$j]["idliquidacion"]));   
      if($existe!= null){        
        $existente.="<br><b>Ya esta solicitud fue procesada en un txt: Cedula: ".$cedula.", Codigo de solicitud: ".$dataProvider[$j]["idliquidacion"].","."Solicitud de Liquidacion</b>";
        }
  $j++;
  }
  while($k<$contador){
      $cedula=$dataProvider[$k]["trabajador"]["cedula"];
        $validacion = Liquidacion::model()->findAll('"idliquidacion"=:id and aprobado=1 and blnborrado=false ', array(':id'=> $dataProvider[$k]["idliquidacion"]));
        if($validacion==null){
            $noaprobado.="<br><b>Esta solicitud no esta aprobada: Cedula: ".$cedula.", Codigo de solicitud: ".$dataProvider[$k]["id"].","."Solicitud de Liquidacion</b>";            
        }     
  $k++;
  }
if(($existente!="")||($noaprobado!="")){
 echo $existente;    
 echo $noaprobado;
 
  }else{  
$fecha_actual=date('Ymd');
  $archivo= "txtliquidacion_".$fecha_actual.".txt";
  if(file_exists($archivo)){
      unlink($archivo);
  }
           $cabecera= new Txtcabecera();
           $cabecera->idcabecera=null;
           $cabecera->observacion = "Pago de Solicitudes de liquidacion del dia ".date("d-m-Y");
           $cabecera->fecharegistro = date("Y-m-d");
           $cabecera->blnborrado =false;
           $cabecera->usuario_registro = $id;
           $cabecera->usuario_aprueba=$id ;  
           if($cabecera->save()){
               $cabecera=$cabecera->idcabecera;               
           }else{
               echo Yii::app()->user->setFlash('error', "<b>No registro la cabecera del archivo</b>");
           }
  $cuerpo="";
  while($i<$contador){   
      $nacionalidad="01";
      $cedula=$dataProvider[$i]["trabajador"]["cedula"];      
$nombre=strtoupper($dataProvider[$i]["trabajador"]["nombre"])." ".strtoupper($dataProvider[$i]["trabajador"]["apellidos"]);
$nombre= limpiar_cadena($nombre);
$cuenta=$dataProvider[$i]["cuenta"];
$monto=$dataProvider[$i]["remanente"];  
  $cuerpo.=$nacionalidad.";".$cedula.";".$nombre.";".$cuenta.";".$monto.";".";"."SI". PHP_EOL;                       
    $model=new Txtpagados;
      $model->iddatostxt= $cabecera;
      $model->idtrabajador= $dataProvider[$i]["idtrabajador"];
      $model->idsolicitud= $dataProvider[$i]["idliquidacion"];
      $model->tipo_solicitud= 3;
      $model->fechasolicitud= $dataProvider[$i]["fecha_solicitud"];
      $model->fecharegistro    = date("Y-m-d");
      $model->blnborrado       = FALSE;
      $model->usuario_registro= $id;
      $model->usuario_aprueba= $id;
      $model->save();
      $montototal=$montototal+$monto;
  $i++;
  }
  $rif="J4003587523";
  $cuenta_origen="coloque-aqui-cuenta-a-debitar";
 //rif,cuenta origen, cantidad de personas,monto total,fecha ejecucion, refererncia
  $cabecera=$rif.";".$cuenta_origen.";".$contador.";".$montototal.";".$fecha_actual.";"."Referencia". PHP_EOL;
  $tabla=$cabecera.$cuerpo;
  Yii::app()->Request->SendFile($archivo,$tabla);  
  Yii::app()->user->setFlash('success', "<b>Procesado con exito:</b>.<br/>");
  }
?>