<?php
header("Content-Type: text/html;charset=utf-8");
require '../fpdf/fpdf.php';
require '../Conexion/conexion.php';
require_once '../Conexion/ConexionPDO.php';
require '../jsonPptal/funcionesPptal.php';
$con = new ConexionPDO();
$conexion = $_SESSION['conexion'];
session_start();
ob_start();
ini_set('max_execution_time', 0);
require_once('../numeros_a_letras.php');
$anno = $_SESSION['anno'];

##########RECEPCION VARIABLES###############
#CUENTA INICIAL
if (empty(ltrim($_REQUEST['sltTi']))) {
  $terceroI = '1';
} else {
  $terceroI = $_REQUEST['sltTi'];
}
#CUENTA FINAL
if (empty($_REQUEST['sltTf'])) {
  $terceroF = '9';
} else {
  $terceroF = $_REQUEST['sltTf'];
}

#FECHA INICIAL
if (empty($_REQUEST['fechaini'])) {
  $fechaY = anno($anno);
  $fechaI = $fechaY . '/01/01';
  $fecha1 = '01/01/' . $fechaY;
} else {
  $fecha1 = $_REQUEST['fechaini'];
  $fecha_div = explode("/", $fecha1);
  $dia1 = $fecha_div[0];
  $mes1 = $fecha_div[1];
  $anio1 = $fecha_div[2];
  $fechaI = $anio1 . '/' . $mes1 . '/' . $dia1;
}
#FECHA FINAL
if (empty($_REQUEST['fechafin'])) {
  $fechaY = anno($anno);
  $fechaF = $fechaY . '/12/31';
  $fecha2 = '31/12/' . $fechaY;
} else {
  $fecha2 = $_REQUEST['fechafin'];
  $fecha_div2 = explode("/", $fecha2);
  $dia2 = $fecha_div2[0];
  $mes2 = $fecha_div2[1];
  $anio2 = $fecha_div2[2];
  $fechaF = $anio2 . '/' . $mes2 . '/' . $dia2;
}
#OPCION#
$opcion = $_REQUEST['opcion'];

##CONSULTA DATOS COMPAÑIA##
$compa = $_SESSION['compania'];
$comp = $con->Listar("SELECT
  t.razonsocial,
  t.numeroidentificacion,
  t.digitoverficacion,
  t.ruta_logo,
  d.direccion,
  tel.valor
  FROM gf_tercero t
  LEFT JOIN gf_direccion d ON d.tercero = t.id_unico
  LEFT JOIN gf_telefono tel ON tel.tercero = t.id_unico
  WHERE t.id_unico =$compa");
// $comp = $mysqli->query($comp);
// $comp = mysqli_fetch_row($comp);
$nombreCompania = $comp[0][0];
if (empty($comp[0][2])) {
  $nitcompania = $comp[0][1];
} else {
  $nitcompania = $comp[0][1] . ' - ' . $comp[0][2];
}
$ruta      = $comp[0][3];
$direccion = $comp[0][4];
$telefono  = $comp[0][5];
$usuario   = $_SESSION['usuario'];
$meses     = array('no', 'Enero', 'Febrero', 'Marzo', 'Abril', 'Mayo', 'Junio', 'Julio', 'Agosto', 'Septiembre', 'Octubre', 'Noviembre', 'Diciembre');
#CREACION PDF, HEAD AND FOOTER

class PDF extends FPDF
{
  function Header()
  {

    global $fecha1;
    global $fecha2;
    global $cuentaI;
    global $cuentaF;
    global $nombreCompania;
    global $nitcompania;
    global $numpaginas;
    global $ruta;
    global $direccion;
    global $telefono;
    global $fecha1;
    global $fecha2;
    global $terceroI;
    global $terceroF;


    $date1 = $fecha1;

    $date2 = $fecha2;

    $numpaginas = $this->PageNo();


    $this->SetY(10);

    if ($ruta != '') {
      $this->Image('../' . $ruta, 20, 8, 20);
    }
    $this->SetY(10);
    $this->SetFont('Arial', 'B', 12);
    $this->Cell(190, 10, utf8_decode('CERTIFICADO DE RETENCIÓN ' . $terceroI . '-' . $terceroF), 0, 0, 'C');
    $this->ln(5);
    $this->Cell(190, 10, utf8_decode('EN LA FUENTE'), 0, 0, 'C');
    $this->ln(15);
    $this->SetFont('Arial', '', 10);
    $this->Cell(80, 10, utf8_decode('Razón Social del Retenedor:'), 0, 0, 'L');
    $this->SetFont('Arial', 'B', 10);
    $this->Cell(110, 10, utf8_decode(ucwords(mb_strtolower($nombreCompania))), 0, 0, 'L');
    $this->ln(5);
    $this->SetFont('Arial', '', 10);
    $this->Cell(80, 10, utf8_decode('Nit:'), 0, 0, 'L');
    $this->SetFont('Arial', 'B', 10);
    $this->Cell(110, 10, utf8_decode($nitcompania), 0, 0, 'L');
    $this->ln(5);
    $this->SetFont('Arial', '', 10);
    $this->Cell(80, 10, utf8_decode('Dirección:'), 0, 0, 'L');
    $this->SetFont('Arial', 'B', 10);
    $this->Cell(110, 10, utf8_decode($direccion), 0, 0, 'L');
    $this->ln(5);
    $this->SetFont('Arial', '', 10);
    $this->Cell(80, 10, utf8_decode('Teléfono:'), 0, 0, 'L');
    $this->SetFont('Arial', 'B', 10);
    $this->Cell(110, 10, utf8_decode($telefono), 0, 0, 'L');
    $this->ln(10);
    $this->SetFont('Arial', '', 10);
    $this->MultiCell(190, 5, utf8_decode("Con el fin de dar cumplimiento a las disposiciones vigentes "
      . "sobre retención en la fuente, certificamos que entre el $date1 y el $date2"), 0, 'J');

    $this->SetFont('Arial', 'B', 10);
    $this->Cell(190, 10, utf8_decode('HEMOS RETENIDO A:'), 0, 0, 'C');
    $this->ln(10);
  }

  function Footer()
  {
    // Posición: a 1,5 cm del final
    global $hoy;
    global $usuario;
    $this->SetY(-15);
    // Arial italic 8
    $this->SetFont('Arial', 'B', 8);
    $this->SetX(10);
    $this->Cell(40, 10, utf8_decode('Fecha: '   . date('d/m/Y')), 0, 0, 'L');
    $this->Cell(55, 10, utf8_decode('Máquina: ' . gethostname()), 0, 0, 'C');
    $this->Cell(55, 10, utf8_decode('Usuario: ' . strtoupper($usuario)), 0, 0, 'C');
    $this->Cell(40, 10, utf8_decode('Página '   . $this->PageNo() . '/{nb}'), 0, 0, 'R');
  }
}

$pdf = new PDF('P', 'mm', 'Letter');


$pdf->AliasNbPages();

##############BUSQUEDA DE TERCEROS COMPROBANTES DE RETENCION ENTRE FECHAS#########
$selecT = $con->Listar("SELECT DISTINCT t.id_unico 
FROM gf_retencion r
LEFT JOIN  gf_tipo_retencion tr ON r.tiporetencion = tr.id_unico
LEFT JOIN  gf_cuenta c ON tr.cuenta = c.id_unico
LEFT JOIN  gf_comprobante_cnt cn ON r.comprobante = cn.id_unico 
LEFT JOIN  gf_detalle_comprobante dc ON cn.id_unico = dc.comprobante AND dc.cuenta = c.id_unico 
LEFT JOIN  gf_tercero t ON dc.tercero = t.id_unico 
LEFT JOIN	gf_tipo_comprobante tc ON cn.tipocomprobante = tc.id_unico 
WHERE cn.fecha BETWEEN '$fechaI' AND '$fechaF' AND t.numeroidentificacion 
BETWEEN '$terceroI' AND '$terceroF' AND cn.parametrizacionanno = $anno");
// $selecT = $mysqli->query($selecT);

// while ($row = mysqli_fetch_row($selecT)) {
for ($row = 0; $row < count($selecT); $row++) {

  $total = 0;
  $pdf->AddPage();
  $yp = $pdf->GetY();

  $idT = $selecT[$row][0];
  switch ($conexion) {
    case 1:
      $dt = $con->Listar("SELECT 
    IF(CONCAT_WS(' ',
         tr.nombreuno,
         tr.nombredos,
         tr.apellidouno,
         tr.apellidodos) 
         IS NULL OR CONCAT_WS(' ',
         tr.nombreuno,
         tr.nombredos,
         tr.apellidouno,
         tr.apellidodos) = '',
         (tr.razonsocial),
         CONCAT_WS(' ',
         tr.nombreuno,
         tr.nombredos,
         tr.apellidouno,
         tr.apellidodos)) AS NOMBRE, 
         tr.numeroidentificacion, 
         tr.digitoverficacion,  
         tr.id_unico, 
         dir.direccion, 
         tel.valor, 
         c.nombre, 
         d.nombre 
        FROM  gf_tercero tr 
        LEFT JOIN gf_direccion dir ON dir.tercero = tr.id_unico 
        LEFT JOIN gf_telefono tel ON tel.tercero = tr.id_unico LEFT JOIN gf_ciudad c ON c.id_unico = tr.ciudadresidencia 
        LEFT JOIN gf_departamento d ON c.departamento = d.id_unico 
        WHERE tr.id_unico = $idT");
      break;
    case 2:
      $dt = $con->Listar("SELECT
      LTRIM(tr.nombreuno || ' ' || tr.nombredos || ' ' || tr.apellidouno || ' ' || tr.apellidodos || ' ' || tr.razonsocial)
       AS NOMBRE,
       tr.numeroidentificacion,
       tr.digitoverficacion,
       tr.id_unico,
       dir.direccion,
       tel.valor,
       c.nombre AS nombre_ciudad,
       d.nombre AS nombre_departamento
      FROM gf_tercero tr
      LEFT JOIN gf_direccion dir ON dir.tercero = tr.id_unico
      LEFT JOIN gf_telefono tel ON tel.tercero = tr.id_unico
      LEFT JOIN gf_ciudad c ON c.id_unico = tr.ciudadresidencia
      LEFT JOIN gf_departamento d ON c.departamento = d.id_unico
      WHERE tr.id_unico = $idT");
      break;
    default:
      # code...
      break;
  }

  // $dt = $mysqli->query($dt);
  // $dt = mysqli_fetch_row($dt);

  $pdf->SetFont('Arial', '', 10);
  $pdf->Cell(30, 10, utf8_decode('Nombre:'), 0, 0, 'L');
  $pdf->SetFont('Arial', 'B', 10);
  $pdf->CellFitScale(90, 10, utf8_decode(ucwords(mb_strtolower($dt[0][0]))), 0, 0, 'L');
  $pdf->SetFont('Arial', '', 10);
  $pdf->Cell(30, 10, utf8_decode('Nit o C.C N°:'), 0, 0, 'L');
  $pdf->SetFont('Arial', 'B', 10);
  if (!empty($dt[0][2])) {
    $pdf->Cell(50, 10, utf8_decode(ucwords(mb_strtolower($dt[0][1] . ' - ' . $dt[0][2]))), 0, 0, 'L');
  } else {
    $pdf->Cell(50, 10, utf8_decode(ucwords(mb_strtolower($dt[0][1]))), 0, 0, 'L');
  }
  $pdf->Ln(5);
  $pdf->SetFont('Arial', '', 10);
  $pdf->Cell(30, 10, utf8_decode('Dirección:'), 0, 0, 'L');
  $pdf->SetFont('Arial', 'B', 10);
  $pdf->Cell(90, 10, utf8_decode(ucwords(mb_strtolower($dt[0][4]))), 0, 0, 'L');
  $pdf->SetFont('Arial', '', 10);
  $pdf->Cell(30, 10, utf8_decode('Teléfono:'), 0, 0, 'L');
  $pdf->SetFont('Arial', 'B', 10);
  $pdf->Cell(50, 10, utf8_decode(ucwords(mb_strtolower($dt[0][5]))), 0, 0, 'L');
  $pdf->Ln(5);
  $pdf->SetFont('Arial', '', 10);
  $pdf->Cell(30, 10, utf8_decode('Ciudad:'), 0, 0, 'L');
  $pdf->SetFont('Arial', 'B', 10);
  $pdf->Cell(90, 10, utf8_decode(ucwords(mb_strtolower($dt[0][6]))), 0, 0, 'L');
  $pdf->SetFont('Arial', '', 10);
  $pdf->Cell(30, 10, utf8_decode('Departamento:'), 0, 0, 'L');
  $pdf->SetFont('Arial', 'B', 10);
  $pdf->Cell(50, 10, utf8_decode(ucwords(mb_strtolower($dt[0][7]))), 0, 0, 'L');
  $pdf->Ln(10);
  $pdf->Cell(30, 10, utf8_decode('CÓDIGO'), 1, 0, 'C');
  $pdf->Cell(100, 10, utf8_decode('CONCEPTO'), 1, 0, 'C');
  $pdf->Cell(30, 10, utf8_decode('BASE'), 1, 0, 'C');
  $pdf->Cell(30, 10, utf8_decode('RETENCIÓN'), 1, 0, 'C');
  $pdf->Ln(10);

  #####BUSCAR LAS RETENCIONES DEL TERCERO######
  if ($opcion == 1) {
    switch ($conexion) {
      case 1:
        $rt = $con->Listar("SELECT DISTINCT 
        r.id_unico,
        c.codi_cuenta,
        CONCAT(tr.nombre,' - ',tr.porcentajeaplicar,'%'), 
        SUM(r.retencionbase),
        SUM(r.valorretencion) 
      FROM gf_retencion r
      LEFT JOIN gf_tipo_retencion tr ON r.tiporetencion = tr.id_unico
      LEFT JOIN gf_cuenta c ON tr.cuenta = c.id_unico
      LEFT JOIN gf_comprobante_cnt cn ON r.comprobante = cn.id_unico 
      LEFT JOIN gf_detalle_comprobante dc ON cn.id_unico = dc.comprobante AND dc.cuenta = c.id_unico 
      LEFT JOIN	gf_tipo_comprobante tc ON cn.tipocomprobante = tc.id_unico 
      WHERE     dc.tercero = " . $dt[0][3] . " AND cn.fecha BETWEEN '$fechaI' AND '$fechaF' 
      AND cn.parametrizacionanno = $anno 
      GROUP by c.codi_cuenta, tr.id_unico, dc.tercero ");
        break;
      case 2:
        $rt = $con->Listar("  SELECT
        r.id_unico,
        c.codi_cuenta,
        tr.nombre || ' - ' || tr.porcentajeaplicar || '%' AS descripcion_tipo_retencion,
        SUM(r.retencionbase) AS suma_retencionbase,
        SUM(r.valorretencion) AS suma_valorretencion
        FROM  gf_retencion r
        LEFT JOIN  gf_tipo_retencion tr ON r.tiporetencion = tr.id_unico
        LEFT JOIN  gf_cuenta c ON tr.cuenta = c.id_unico
        LEFT JOIN  gf_comprobante_cnt cn ON r.comprobante = cn.id_unico
        LEFT JOIN  gf_detalle_comprobante dc ON cn.id_unico = dc.comprobante AND dc.cuenta = c.id_unico
        LEFT JOIN  gf_tipo_comprobante tc ON cn.tipocomprobante = tc.id_unico
        WHERE  dc.tercero = " . $dt[0][3] . "
        AND cn.fecha BETWEEN '$fechaI' AND '$fechaF'
        AND cn.parametrizacionanno =  $anno 
        GROUP BY
        r.id_unico,
        c.codi_cuenta,
        tr.nombre,
        tr.porcentajeaplicar,
        dc.tercero");
        break;
      default:
        # code...
        break;
    }
  } else {
    switch ($conexion) {
      case 1:
        $rt = $con->Listar("SELECT DISTINCT 
        r.id_unico,
        c.codi_cuenta,
        CONCAT(tr.nombre,' - ',tr.porcentajeaplicar,'%'), 
        r.retencionbase,
        r.valorretencion
        FROM gf_retencion r
        LEFT JOIN gf_tipo_retencion tr ON r.tiporetencion = tr.id_unico
        LEFT JOIN gf_cuenta c ON tr.cuenta = c.id_unico
        LEFT JOIN gf_comprobante_cnt cn ON r.comprobante = cn.id_unico 
        LEFT JOIN gf_detalle_comprobante dc ON cn.id_unico = dc.comprobante AND dc.cuenta = c.id_unico 
        LEFT JOIN	gf_tipo_comprobante tc ON cn.tipocomprobante = tc.id_unico 
        WHERE     dc.tercero = " . $dt[0][3] . " AND cn.fecha BETWEEN '$fechaI' AND '$fechaF' 
        AND cn.parametrizacionanno = $anno");
        break;
      case 2:
        $rt = $con->Listar("SELECT DISTINCT
          r.id_unico,
          c.codi_cuenta,
          tr.nombre || ' - ' || tr.porcentajeaplicar || '%' AS descripcion_tipo_retencion,
          r.retencionbase,
          r.valorretencion
          FROM gf_retencion r
          LEFT JOIN gf_tipo_retencion tr ON r.tiporetencion = tr.id_unico
          LEFT JOIN gf_cuenta c ON tr.cuenta = c.id_unico
          LEFT JOIN gf_comprobante_cnt cn ON r.comprobante = cn.id_unico
          LEFT JOIN gf_detalle_comprobante dc ON cn.id_unico = dc.comprobante AND dc.cuenta = c.id_unico
          LEFT JOIN gf_tipo_comprobante tc ON cn.tipocomprobante = tc.id_unico
          WHERE dc.tercero = " . $dt[0][3] . "
          AND cn.fecha BETWEEN '$fechaI' AND '$fechaF'
          AND cn.parametrizacionanno = $anno");
        break; 
      default:
        # code...
        break;
    }
  }
  echo $rt;
  // $rt = $mysqli->query($rt);
  $pdf->SetFont('Arial', '', 10);
  // while ($row1 = mysqli_fetch_row($rt)) {
  for ($row1 = 0; $row1 < count($rt); $row1++) {
    $paginactual = $numpaginas;
    $alt = $pdf->GetY();
    if ($alt > 240) {
      $pdf->AddPage();
      $pdf->SetFont('Arial', '', 10);
      $pdf->Cell(30, 10, utf8_decode('Nombre:'), 0, 0, 'L');
      $pdf->SetFont('Arial', 'B', 10);
      $pdf->CellFitScale(90, 10, utf8_decode(ucwords(mb_strtolower($dt[0][0]))), 0, 0, 'L');
      $pdf->SetFont('Arial', '', 10);
      $pdf->Cell(30, 10, utf8_decode('Nit o C.C N°:'), 0, 0, 'L');
      $pdf->SetFont('Arial', 'B', 10);
      if (!empty($dt[0][2])) {
        $pdf->Cell(50, 10, utf8_decode(ucwords(mb_strtolower($dt[0][1] . ' - ' . $dt[0][2]))), 0, 0, 'L');
      } else {
        $pdf->Cell(50, 10, utf8_decode(ucwords(mb_strtolower($dt[0][1]))), 0, 0, 'L');
      }
      $pdf->Ln(5);
      $pdf->SetFont('Arial', '', 10);
      $pdf->Cell(30, 10, utf8_decode('Dirección:'), 0, 0, 'L');
      $pdf->SetFont('Arial', 'B', 10);
      $pdf->Cell(90, 10, utf8_decode(ucwords(mb_strtolower($dt[0][4]))), 0, 0, 'L');
      $pdf->SetFont('Arial', '', 10);
      $pdf->Cell(30, 10, utf8_decode('Teléfono:'), 0, 0, 'L');
      $pdf->SetFont('Arial', 'B', 10);
      $pdf->Cell(50, 10, utf8_decode(ucwords(mb_strtolower($dt[0][5]))), 0, 0, 'L');
      $pdf->Ln(5);
      $pdf->SetFont('Arial', '', 10);
      $pdf->Cell(30, 10, utf8_decode('Ciudad:'), 0, 0, 'L');
      $pdf->SetFont('Arial', 'B', 10);
      $pdf->Cell(90, 10, utf8_decode(ucwords(mb_strtolower($dt[0][6]))), 0, 0, 'L');
      $pdf->SetFont('Arial', '', 10);
      $pdf->Cell(30, 10, utf8_decode('Departamento:'), 0, 0, 'L');
      $pdf->SetFont('Arial', 'B', 10);
      $pdf->Cell(50, 10, utf8_decode(ucwords(mb_strtolower($dt[0][7]))), 0, 0, 'L');
      $pdf->Ln(10);
      $pdf->Cell(30, 10, utf8_decode('CÓDIGO'), 1, 0, 'C');
      $pdf->Cell(100, 10, utf8_decode('CONCEPTO'), 1, 0, 'C');
      $pdf->Cell(30, 10, utf8_decode('BASE'), 1, 0, 'C');
      $pdf->Cell(30, 10, utf8_decode('RETENCIÓN'), 1, 0, 'C');
      $pdf->Ln(10);
      $pdf->SetFont('Arial', '', 10);
    }

    $x = $pdf->GetX();
    $y = $pdf->GetY();
    $pdf->Cell(30, 5, '', 0, 0, 'L');
    $pdf->MultiCell(100, 5, utf8_decode(ucwords(mb_strtolower($rt[$row1][2]))), 0, 'J');
    $y2 = $pdf->GetY();
    $h = $y2 - $y;
    $px = $x + 100;
    $pdf->SetXY($x, $y);
    $pdf->Cell(30, $h, utf8_decode($rt[$row1][1]), 0, 0, 'L');
    $pdf->Cell(100, $h, '', 0, 0, 'L');
    $pdf->Cell(30, $h, number_format($rt[$row1][3], 2, '.', ','), 0, 0, 'R');
    $pdf->Cell(30, $h, number_format($rt[$row1][4], 2, '.', ','), 0, 0, 'R');
    $pdf->Ln($h);
    $total += $rt[$row1][4];
  }
  $pdf->Ln(5);
  $pdf->SetFont('Arial', 'B', 10);
  $pdf->Cell(160, 10, utf8_decode('TOTAL RETENIDO'), 1, 0, 'L');
  $pdf->Cell(30, 10, number_format($total, 2, '.', ','), 1, 0, 'R');
  $pdf->Ln(10);
  $valorLetras = numtoletras($total);
  $pdf->MultiCell(190, 10, utf8_decode('SON:' . $valorLetras), 0, 'J');
  $pdf->SetFont('Arial', '', 10);
  $pdf->MultiCell(190, 5, utf8_decode('Retenciones practicadas y consignadas en el  Municipio de Yopal.'), 0, 'J');
  $pdf->Cell(190, 0, '', 1, 'R');
  $pdf->Ln(10);
  $fechaComp = date('d/m/Y');
  $fecha_div = explode("/", $fechaComp);
  $diaS = $fecha_div[0];
  $mesS = $fecha_div[1];
  $mesS = (int)$mesS;
  $anioS = $fecha_div[2];
  $pdf->MultiCell(190, 10, utf8_decode('Expedida a los ' . $diaS . ' días del mes de ' . $meses[$mesS] . ' de ' . $anioS), 0, 'J');
  $pdf->Ln(10);
  $compania = $_SESSION['compania'];
  switch ($conexion) {
    case 1:
      $tipComp = $con->Listar("SELECT IF(CONCAT_WS(' ',
    tr.nombreuno,
    tr.nombredos,
    tr.apellidouno,
    tr.apellidodos) 
    IS NULL OR CONCAT_WS(' ',
    tr.nombreuno,
    tr.nombredos,
    tr.apellidouno,
    tr.apellidodos) = '',
    (tr.razonsocial),
    CONCAT_WS(' ',
    tr.nombreuno,
    tr.nombredos,
    tr.apellidouno,
    tr.apellidodos)) AS NOMBRE, 
    tr.numeroidentificacion, car.nombre 
    FROM gf_tipo_documento tpd
    LEFT JOIN gf_responsable_documento doc ON doc.tipodocumento = tpd.id_unico 
    LEFT JOIN gf_tipo_responsable tpr ON tpr.id_unico = doc.tiporesponsable
    LEFT JOIN gg_tipo_relacion tprl ON doc.tipo_relacion = tprl.id_unico
    LEFT JOIN gf_tercero tr ON doc.tercero = tr.id_unico
    LEFT JOIN gf_tipo_identificacion ti ON ti.id_unico = tr.tipoidentificacion
    LEFT JOIN gf_cargo_tercero carTer ON carTer.tercero = tr.id_unico
    LEFT JOIN gf_cargo car ON car.id_unico = carTer.cargo
    WHERE (tpd.nombre = LOWER('retencion') OR tpd.nombre = LOWER('retención')) 
    AND tprl.nombre = 'Firma' AND tpd.compania = $compania ");
      break;
    case 2:
      $tipComp = $con->Listar("SELECT CASE
     WHEN TRIM(TR.nombreuno || ' ' || TR.nombredos || ' ' || TR.apellidouno || ' ' || TR.apellidodos) IS NULL OR
     TRIM(TR.nombreuno || ' ' || TR.nombredos || ' ' || TR.apellidouno || ' ' || TR.apellidodos) = '' 
     THEN TR.razonsocial
     ELSE TRIM(TR.nombreuno || ' ' || TR.nombredos || ' ' || TR.apellidouno || ' ' || TR.apellidodos)
     END AS NOMBRE,
     TR.numeroidentificacion,
     CAR.nombre
    FROM gf_tipo_documento TPD
    LEFT JOIN gf_responsable_documento DOC ON DOC.tipodocumento = TPD.id_unico
    LEFT JOIN gf_tipo_responsable TPR ON TPR.id_unico = DOC.tiporesponsable
    LEFT JOIN gg_tipo_relacion TPRL ON DOC.tipo_relacion = TPRL.id_unico
    LEFT JOIN gf_tercero TR ON DOC.tercero = TR.id_unico
    LEFT JOIN gf_tipo_identificacion TI ON TI.id_unico = TR.tipoidentificacion
    LEFT JOIN gf_cargo_tercero CARTER ON CARTER.tercero = TR.id_unico
    LEFT JOIN gf_cargo CAR ON CAR.id_unico = CARTER.cargo
    WHERE (LOWER(TPD.nombre) = LOWER('retencion') OR LOWER(TPD.nombre) = LOWER('retención'))
    AND TPRL.nombre = 'Firma'
    AND TPD.compania = $compania ");
      break;
    default:
      # code...
      break;
  }



  // $tipComp = $mysqli->query($sqlTipoComp);
  $i = 0;
  $pdf->SetFont('Arial', 'B', 10);
  // while ($rowTipComp = mysqli_fetch_array($tipComp)) {
  for ($rowTipComp = 0; $rowTipComp < count($tipComp); $rowTipComp++) {

    $firmaNom[$i]  = $tipComp[$rowTipComp][0];
    $firmaNum[$i]  = $tipComp[$rowTipComp][1];
    $firmaCarg[$i] = $tipComp[$rowTipComp][2];
    $i++;
  }
  $numFirmas = $i;

  if ($numFirmas > 3)
    $numFirmas = 3;

  for ($i = 0; $i < $numFirmas; $i++) {
    $pdf->Cell(60, 30, '', 0, 0, 'C');
  }


  $pdf->SetX(-200);
  $pdf->Ln(14);
  for ($i = 0; $i < $numFirmas; $i++) {
    $pdf->Cell(1, 0, '', 0, 0, 'L');
    $pdf->Cell(55, 0, '', 0, 0, 'L');
  }


  $pdf->Ln(2);
  for ($i = 0; $i < $numFirmas; $i++) {
    $pdf->Cell(60, 0, '', 1, 0, 'L');
    $pdf->Ln(1);
    if ($firmaNom[$i] == '' || $firmaNom[$i] == "") {
      $pdf->Cell(60, 5, utf8_decode($firmaNom[$i]), 0, 0, 'L');
    } else {
      $pdf->CellFitScale(60, 5, utf8_decode($firmaNom[$i]), 0, 0, 'L');
    }
  }


  $pdf->Ln(4);
  for ($i = 0; $i < $numFirmas; $i++) {
    if ($firmaCarg[$i] == '' || $firmaCarg[$i] == "") {
      $pdf->Cell(70, 5, utf8_decode($firmaCarg[$i]), 0, 0, 'L');
    } else {
      $pdf->CellFitScale(70, 5, utf8_decode($firmaCarg[$i]), 0, 0, 'L');
    }
  }
}




while (ob_get_length()) {
  ob_end_clean();
}

$pdf->Output(0, 'Informe_Auxiliar_Retenciones (' . date('d/m/Y') . ').pdf', 0);
