<?php
  include("conn.php");
  include("fnc-titulares.php");
  //Recupero parametros
  $vFecha            = $_POST['xFecha'];
  $vDataPeriodos     = $_POST['xDataPeriodos'];
  $vUnidades         = $_POST['xUnidades'];
  $vConceptos        = $_POST['xConceptos'];
  $vRubros           = $_POST['xRubros'];
  $vComprobantes     = $_POST['xComprobantes'];

//Armo el filtro de periodos;
  $cantidadPeriodos = 0;
  $sqlPeriodos = "";
  if ($vDataPeriodos != '') {
    $xDataPeriodos = json_decode($vDataPeriodos);
    $sqlPeriodos = " AND (";
    foreach ($xDataPeriodos as $value) {
      $cantidadPeriodos ++;
      if ($sqlPeriodos <> " AND (") {
        $sqlPeriodos .= " OR ";
      }
      switch ($vFecha) {
        case '0':
          $sqlPeriodos .= "(X.FECHA BETWEEN '" . $value->desde . "' AND '" . $value->hasta . "')";
        break;
        case '1':
          $sqlPeriodos .= "(X.FECHA_CARGA BETWEEN '" . $value->desde . "' AND '" . $value->hasta . "')";
        break;
        case '2':
          $sqlPeriodos .= "(X.FECHA_STOCK BETWEEN '" . $value->desde . "' AND '" . $value->hasta . "')";
        break;
      }
      //$sqlPeriodos .= "(X.FECHA BETWEEN '" . $value->desde . "' AND '" . $value->hasta . "')";
    }
    $sqlPeriodos .= ")";
  }
  //Armo el filtro de empresas
  //el filtro de titulares se hace luego en el while de cada empresa
  $sqlEmpresas = '';
  if ($vUnidades != '') {
    $xUnidades = explode(',' , $vUnidades);
    $sqlEmpresas = " AND (";
    foreach ($xUnidades as $value) {
      $aux = explode('-', $value);
      
      if ($sqlEmpresas <> " AND (") {
        $sqlEmpresas .= " OR ";
      }
      $sqlEmpresas .= "(E.BASE = " . $aux[0] . ")";
    }
    $sqlEmpresas .= ")";
  }
  
  //Armo el filtro de conceptos y rubros; uso solo sqlProductos para ambos
  //ninguno
  if (($vConceptos == '') && ($vRubros == '')) {
    $sqlProductos = '';
  }

  //solo conceptos
  if (($vConceptos != '') && ($vRubros == '')) {
    $sqlProductos = '';
    $xConceptos = explode(',' , $vConceptos);
    $sqlProductos = " AND (";
    foreach ($xConceptos as $value) {
      if ($sqlProductos <> " AND (") {
        $sqlProductos .= " OR ";
      }
      $sqlProductos .= "(I.CONCEPTO = " . $value . ")";
    }
    $sqlProductos .= ")";
  }  

  //solo rubros
  if (($vConceptos == '') && ($vRubros != '')) {
    $sqlProductos = '';
    $xRubros = explode(',' , $vRubros);
    $sqlProductos = " AND (";
    foreach ($xRubros as $value) {
      if ($sqlProductos <> " AND (") {
        $sqlProductos .= " OR ";
      }
      $sqlProductos .= "(R.RUBRO = " . $value . ")";
    }
    $sqlProductos .= ")";
  }  

  //ambos
  if (($vConceptos != '') && ($vRubros != '')) {
    $sqlProductos = '';
    $xRubros = explode(',' , $vRubros);
    $xConceptos = explode(',' , $vConceptos);
    $sqlProductos = " AND (";
    foreach ($xRubros as $value) {
      if ($sqlProductos <> " AND (") {
        $sqlProductos .= " OR ";
      }
      $sqlProductos .= "(R.RUBRO = " . $value . ")";
    }
    foreach ($xConceptos as $value) {
      if ($sqlProductos <> " AND (") {
        $sqlProductos .= " OR ";
      }
      $sqlProductos .= "(I.CONCEPTO = " . $value . ")";
    }
    $sqlProductos .= ")";
  }  

  //Armo el filtro de comprobantes
  $sqlComprobantes = '';
  if ($vComprobantes != '') {
    $xComprobantes = explode(',' , $vComprobantes);
    $sqlComprobantes = " AND (";
    foreach ($xComprobantes as $value) {
    //$value->desde;
      if ($sqlComprobantes <> " AND (") {
        $sqlComprobantes .= " OR ";
      }
      $sqlComprobantes .= "(X.TIPO_MOV = " . $value . ")";
    }
    $sqlComprobantes .= ")";
  }

  function getNombreTipoComprobante($conn, $madre, $valor) {
    $sql = "SELECT DESCRI FROM " . $madre . ".dbo.vetipomov WHERE TIPO_MOV = " . $valor;
    $RsTitular = sqlsrv_query( $conn, $sql);    
    if (! $RsTitular ) {    
      $jsondata['success'] = false;
      $jsondata['message'] = 'Ha ocurrido un error durante la consulta. Ref. #V01.12';
      header('Content-type: application/json; charset=utf-8');
      echo json_encode($jsondata);
      die( print_r( sqlsrv_errors(), true));    
    }
    $row = sqlsrv_fetch_array( $RsTitular, SQLSRV_FETCH_ASSOC);
    return utf8_encode($row['DESCRI']);
  }

  function getTitulares($lista, $base) {
    $resu = '';

    if ($lista != '') {
      $xUnidades = explode(',' , $lista);
      $xxx = '';
      foreach ($xUnidades as $value) {
        $aux = explode('-', $value);
        if ($aux[0] == $base) {
          if ($xxx <> "") {
            $xxx .= ", ";
          }
        $xxx .= " " . $aux[1];
        }
      }
      $resu = " AND TITULAR IN (" . $xxx . ")";
    }

    return $resu;
  }

  $sqlVistaTitulares = getVistaTitulres($DBSegu);

  $resu = '';

  //armo el script para crear la tabla temporal; la cantidad de columnas va a depender del la cantidad de periodos;
  $sqlTemporal = "create table #TablaTemporal (BASE INT, TITULAR INT, DESC_BASE varchar(250), DESC_TITULAR VARCHAR(250), MONTO1 MONEY default 0, CANTIDAD1 MONEY default 0, BARRA varchar(250)";
  for ($i = 2; $i <= $cantidadPeriodos; $i++) {
    $sqlTemporal .= ", MONTO".$i." MONEY default 0, CANTIDAD".$i." MONEY default 0";
  }
  $sqlTemporal .= ")";

  $RsTemporal = sqlsrv_query( $conn, $sqlTemporal);    
  if (! $RsTemporal ) {    
    $jsondata['success'] = false;
    $jsondata['message'] = 'Ha ocurrido un error durante la consulta. Ref. #V01.00';
    header('Content-type: application/json; charset=utf-8');
    echo json_encode($jsondata);
    die( print_r( sqlsrv_errors(), true));    
  }    

  $sqlTemporal = "create NONCLUSTERED INDEX idx_TablaTemporal ON #TablaTemporal (BASE, TITULAR)";
  $RsTemporal = sqlsrv_query( $conn, $sqlTemporal);    
  if (! $RsTemporal ) {    
    $jsondata['success'] = false;
    $jsondata['message'] = 'Ha ocurrido un error durante la consulta. Ref. #V01.00';
    header('Content-type: application/json; charset=utf-8');
    echo json_encode($jsondata);
    die( print_r( sqlsrv_errors(), true));    
  }    

  $misDatos = array();
  $ordenPeriodo = 0;
  foreach ($xDataPeriodos as $value) {
    $ordenPeriodo ++;
    $sqlAdmin = ($_SESSION['CurrentAdmin'] == 0)?" AND UB.ID_USUARIO = ".$_SESSION['CurrentIdUser']:"";
    $sqlBases = "SELECT DISTINCT E.BASE, E.DESCRI, E.NOMBRE_BASE 
                 FROM (SELECT XB.BASE, XB.DESCRI, XB.NOMBRE_BASE 
                       FROM BASES xB 
                            INNER JOIN USUARIOSBASES XUB 
                                INNER JOIN USUARIOS XU 
                                ON XUB.ID_USUARIO = XU.ID_USUARIO 
                                AND XU.USUARIO = 'PIXO_WEB' 
                            ON XB.BASE = XUB.BASE) E 
                      INNER JOIN USUARIOSBASES UB 
                          INNER JOIN USUARIOS U 
                          ON UB.ID_USUARIO = U.ID_USUARIO 
                      ON E.BASE = UB.BASE ".$sqlAdmin." 
                 WHERE 1=1 ".$sqlEmpresas."
                 ORDER BY E.DESCRI";
    $RsEmpresas = $DBSegu->Execute($sqlBases);
    if (!$RsEmpresas) {
      $jsondata['success'] = false;
      $jsondata['message'] = 'Ha ocurrido un error durante la consulta. Ref. #V01.02';
      header('Content-type: application/json; charset=utf-8');
      echo json_encode($jsondata);
      die();  
    }

    $subConsulta = '';
    while (!$RsEmpresas->EOF) {
      $sqlTitulares = getTitulares($vUnidades, $RsEmpresas->fields['BASE']); 

      if ($subConsulta != '') {
        $subConsulta .= ' UNION ALL ';
      };

      switch ($vFecha) {
        case '0':
          $auxCampo = "X.FECHA";
        break;
        case '1':
          $auxCampo = "X.FECHA_CARGA";
        break;
        case '2':
          $auxCampo = "X.FECHA_STOCK";
        break;
      }

      $subConsulta .= "Select " . $RsEmpresas->fields['BASE'] . " as base, IV.comprob, 
                              IV.concepto as insumo, IV.cantidad, IV.precio, " .
                              $RsEmpresas->fields["NOMBRE_BASE"].".dbo.coImpoRel(X.comprob,IV.item) as iva, isnull(IMP.importe,0) as impuestos, 
                              X.fecha, TM.credito, X.titular, X.tipo_mov, '".utf8_encode($RsEmpresas->fields["DESCRI"])."' AS DESC_BASE
                       From " . $RsEmpresas->fields["NOMBRE_BASE"] . ".dbo.cocompras X
                            inner join " . $RsEmpresas->fields["NOMBRE_BASE"] . ".dbo.coimputa IV 
                            on X.comprob = IV.comprob 
                            right outer join " . $RsEmpresas->fields["NOMBRE_BASE"] . ".dbo.glconceptos I 
                                inner join " . $RsEmpresas->fields["NOMBRE_BASE"] . ".dbo.glrubros R
                                on I.rubro = R.rubro " .
                                $sqlProductos . "
                            on IV.concepto = I.concepto 
                            inner join " . $_SESSION["BaseMadre"] . "cotipomov TM 
                            on TM.tipo_mov = X.tipo_mov 
                            left outer join (select comprob, item_rel, sum(precio * cantidad) as importe 
                                             from " . $RsEmpresas->fields["NOMBRE_BASE"] . ".dbo.coimputa 
                                             where not item_rel is null and isnull(gravamen,0) = 0 
                                             group by comprob, item_rel) IMP 
                            on IMP.comprob = IV.comprob and IMP.item_rel = IV.item 
                      where ".$auxCampo." between '" . $value->desde . "' AND '" . $value->hasta . "' " .
                            $sqlTitulares .
                            $sqlComprobantes . "
                        and IV.item_rel is null 
                        and not TM.tipo_mov_cc is null ";

      $RsEmpresas->MoveNext();
    }

    //ERA CON RIGHT OUTER
    $sqlConsulta = "Select E.BASE, E.TITULAR, E.DESCRI, V.DESC_BASE,
                           cast(E.base as varchar) + '00' + cast(E.titular as varchar) as TITULARX, 
                           isnull(sum(cantidad * " . $_SESSION["BaseMadre"] . "valorcredito(v.credito)), 0) *-1 as CANTIDAD, 
                           isnull(Round(sum((((V.precio * V.cantidad)) * " . $_SESSION["BaseMadre"] . "valorcredito(v.credito) *-1 + V.iva + isnull(V.impuestos,0))), 2), 0) as MONTO 
                    FROM (" . $subConsulta . ")  V 
                         inner join ".$sqlVistaTitulares." E 
                         on V.base = E.base and E.titular = V.titular 
                    group by E.base, E.titular, E.descri, V.DESC_BASE
                    order by E.base, E.titular";          

    $RsConsulta = $DBSegu->Execute($sqlConsulta);
    if (!$RsConsulta) {
      $jsondata['success'] = false;
      $jsondata['message'] = 'Ha ocurrido un error durante la consulta. Ref. #V01.03';
      header('Content-type: application/json; charset=utf-8');
      echo json_encode($jsondata);
      die();  
    }
   
    while (!$RsConsulta->EOF) {
      //echo $RsConsulta->fields['CONCEPTO'].'  ----  ';
      if ($ordenPeriodo == 1) {
        $sqlTemporal = "insert into #TablaTemporal (BASE, DESC_BASE, TITULAR, DESC_TITULAR, CANTIDAD1, MONTO1, BARRA) 
                          values (".$RsConsulta->fields['BASE'].", '".($RsConsulta->fields['DESC_BASE'])."', ".
                          $RsConsulta->fields['TITULAR'].", '".utf8_encode($RsConsulta->fields['DESCRI'])."', ".
                          $RsConsulta->fields['CANTIDAD'].", ".$RsConsulta->fields['MONTO'].", '')";
        $RsTemporal = sqlsrv_query( $conn, $sqlTemporal);    
        if (! $RsTemporal ) {    
          $jsondata['success'] = false;
          $jsondata['message'] = 'Ha ocurrido un error durante la consulta. Ref. #V01.02';
          header('Content-type: application/json; charset=utf-8');
          echo json_encode($jsondata);
          die( print_r( sqlsrv_errors(), true));    
        }    
        // $RsTemporal = $DBSegu->Execute($sqlTemporal);
      }
      else {
        $sqlTemporal = "update #TablaTemporal set MONTO".$ordenPeriodo."=".$RsConsulta->fields['MONTO'].", CANTIDAD".$ordenPeriodo."=".$RsConsulta->fields['CANTIDAD']." where BASE=".$RsConsulta->fields['BASE'] . " AND TITULAR = " . $RsConsulta->fields['TITULAR']  . " IF @@ROWCOUNT = 0 BEGIN  insert into #TablaTemporal (BASE, DESC_BASE, TITULAR, DESC_TITULAR, CANTIDAD".$ordenPeriodo.", MONTO".$ordenPeriodo.", BARRA) 
                          values (".$RsConsulta->fields['BASE'].", '".($RsConsulta->fields['DESC_BASE'])."', ".
                          $RsConsulta->fields['TITULAR'].", '".utf8_encode($RsConsulta->fields['DESCRI'])."', ".
                          $RsConsulta->fields['CANTIDAD'].", ".$RsConsulta->fields['MONTO'].", '') END";
        $RsTemporal = sqlsrv_query( $conn, $sqlTemporal);    
        if (! $RsTemporal ) {    
          $jsondata['success'] = false;
          $jsondata['message'] = 'Ha ocurrido un error durante la consulta. Ref. #V01.03';
          header('Content-type: application/json; charset=utf-8');
          echo json_encode($jsondata);
          die( print_r( sqlsrv_errors(), true));    
        }    
        //$RsTemporal = $DBSegu->Execute($sqlTemporal);
      }
      $RsConsulta->MoveNext();
    }
  } 

  //Obtengo los totales (para poder sacar porcentaje)
  $sqlTotal = "select SUM(CANTIDAD1) AS CANTIDAD1, SUM(MONTO1) AS MONTO1 ";
  for ($i = 2; $i <= $cantidadPeriodos; $i++) {
    $sqlTotal .= ", SUM(CANTIDAD".$i.") AS CANTIDAD".$i.", SUM(MONTO".$i.") AS MONTO".$i." ";
  }
  $sqlTotal .= "FROM #TablaTemporal  
                  WHERE CANTIDAD1 <> 0 ";
  for ($i = 2; $i <= $cantidadPeriodos; $i++) {
    $sqlTotal .= " OR CANTIDAD".$i." <> 0 ";
  }
  $RsTotales = sqlsrv_query( $conn, $sqlTotal);    
  if (! $RsTotales ) {    
    $jsondata['success'] = false;
    $jsondata['message'] = 'Ha ocurrido un error durante la consulta. Ref. #V01.04';
    header('Content-type: application/json; charset=utf-8');
    echo json_encode($jsondata);
    die( print_r( sqlsrv_errors(), true));    
  }    
  $rowTotales = sqlsrv_fetch_array( $RsTotales, SQLSRV_FETCH_ASSOC);
  /*$RsTotales = $DBSegu->Execute($sqlTotal);
  if (!$RsTotales) {
    $jsondata['success'] = false;
    $jsondata['message'] = 'Ha ocurrido un error durante la consulta. Ref. #V01.04';
    header('Content-type: application/json; charset=utf-8');
    echo json_encode($jsondata);
    die();  
  }*/

  //Obtengo del detalle a mostrar
  $sqlTemporal = "select BASE, TITULAR, DESC_BASE, DESC_TITULAR, CANTIDAD1, MONTO1 ";
  for ($i = 2; $i <= $cantidadPeriodos; $i++) {
    $sqlTemporal .= ", CANTIDAD".$i.", MONTO".$i." ";
  }
  $sqlTemporal .= "FROM #TablaTemporal  
                  WHERE CANTIDAD1 <> 0 ";
  for ($i = 2; $i <= $cantidadPeriodos; $i++) {
    $sqlTemporal .= " OR CANTIDAD".$i." <> 0 ";
  }
  $sqlTemporal .= "order by BASE, TITULAR";
  $RsTemporal = sqlsrv_query( $conn, $sqlTemporal);    
  if (! $RsTemporal ) {    
    $jsondata['success'] = false;
    $jsondata['message'] = 'Ha ocurrido un error durante la consulta. Ref. #V01.05';
    header('Content-type: application/json; charset=utf-8');
    echo json_encode($jsondata);
    die( print_r( sqlsrv_errors(), true));    
  }    
/*  $RsTemporal = $DBSegu->Execute($sqlTemporal);
  if (!$RsTemporal) {
    $jsondata['success'] = false;
    $jsondata['message'] = 'Ha ocurrido un error durante la consulta. Ref. #V01.05';
    header('Content-type: application/json; charset=utf-8');
    echo json_encode($jsondata);
    die();  
  }*/
  //ACA DEBO METER CORTE DE CONTROL POR RUBRO y en el título debo poner correctamente el de cada periodo
  $resu = ' <div class="row">
              <table id="tablaResultado" class="display table table-striped table-bordered sticky-header" style="width:100%">
                <thead style="background-color: #db5916; color: aliceblue;">
                  <tr>
                    <th class="thalign" rowspan="2">C&oacute;digo</th>
                    <th class="thalign tituloshead" rowspan="2">UNIDAD DE NEGOCIO</th>';
  for ($i = 1; $i <= $cantidadPeriodos; $i++) {
    $xxx = 3;
    $resu .= '      <th colspan="'.$xxx.'" class="thalign fechastable" style="border-bottom: 0px;">'.$xDataPeriodos[$i-1]->desde.' - ' . $xDataPeriodos[$i-1]->hasta . '</th>';
  }
  $resu .='       </tr>
                  <tr>';
  for ($i = 1; $i <= $cantidadPeriodos; $i++) {
    $resu .= '    <th style="width: 10%;" class="thalign tituloshead">Cantidad</th>
                  <th class="thalign tituloshead">Importe</th>
                  <th class="thalign tituloshead">%</th>';
  }
  $resu .='       </tr>
                </thead>
               <tbody>';
  $baseAnt = -1;
  
  $acumuladorCantidad   = array();
  $acumuladorMonto      = array();
  $acumuladorPorcentaje = array();
  for ($x = 1; $x <= $cantidadPeriodos; $x++) {
    $acumuladorCantidad[$x]   = 0;
    $acumuladorMonto[$x]      = 0;
    $acumuladorPorcentaje[$x] = 0;
  }
  $auxTotal = '';
  //ojo, debo llevar contadores totales y de rubro por cada periodo  SQLSRV_FETCH_ASSOC
  //while (!$RsTemporal->EOF) {
  while( $row = sqlsrv_fetch_array( $RsTemporal, SQLSRV_FETCH_ASSOC)) {  
    if ($baseAnt != $row['BASE']) {
      if ($baseAnt != -1) {
        $resu .= '      <tr class="subtotales">';
        $resu .= '        <td colspan="2">TOTAL ' . $auxTotal . '</td><td style="display: none"></td>';
        for ($i = 1; $i <= $cantidadPeriodos; $i++) {
          $resu .= '         <td class="numerico">' . number_format($acumuladorCantidad[$i], 2, ',', '.') . '</td>';
          $resu .= '         <td class="numerico">$' . number_format($acumuladorMonto[$i], 2, ',', '.') . '</td>';
          $resu .= '         <td class="numerico">' . number_format($acumuladorPorcentaje[$i], 2, ',', '.') . '%</td>';
        }
        $resu .= '      </tr>';  
      }
      
      $filas = 5 + (($cantidadPeriodos-1)*4);
      $resu .= '        <tr class="titulosfilas">';
      $resu .= '          <td style="border: 0;" colspan="2">' . ($row['DESC_BASE']) . '</td><td style="display: none"></td>'; 
      for ($i = 1; $i <= $cantidadPeriodos; $i++) {
        $resu .= '         <td style="border: 0;"></td>';
        $resu .= '         <td style="border: 0;"></td>';
        $resu .= '         <td style="border: 0;"></td>';
      }
      $resu .= '      </tr>';  
      $baseAnt = $row['BASE'];
      $auxTotal = ($row['DESC_BASE']);
      for ($z = 1; $z <= $cantidadPeriodos; $z++) {
        $acumuladorCantidad[$z]   = 0;
        $acumuladorMonto[$z]      = 0;
        $acumuladorPorcentaje[$z] = 0;
      }
    }
    for ($i = 1; $i <= $cantidadPeriodos; $i++) {
      $acumuladorCantidad[$i] = (float)$acumuladorCantidad[$i] + (float)$row['CANTIDAD'.$i];
      $acumuladorMonto[$i] = (float)$acumuladorMonto[$i] + (float)$row['MONTO'.$i];
      if ((float)$rowTotales['CANTIDAD'.$i] != 0) {
        $porcentaje = ((float)$rowTotales['CANTIDAD'.$i] == 0)?0:(float)$row['CANTIDAD'.$i] * 100 / (float)$rowTotales['CANTIDAD'.$i];
      }
      else {
        $porcentaje = 0;
      }
      $acumuladorPorcentaje[$i] = (float)$acumuladorPorcentaje[$i] + $porcentaje;
    }
   
    $auxMostrar = $row['BASE'] . ' - ' . $row['TITULAR'];

    $resu .= '      <tr>';
    $resu .= '        <td class="numerales">'.$auxMostrar.'</td><td>' . ($row['DESC_BASE']) . ' - ' .  utf8_encode($row['DESC_TITULAR']) . '</td>';
    for ($i = 1; $i <= $cantidadPeriodos; $i++) {
      $resu .= '         <td class="numerico">' . number_format($row['CANTIDAD'.$i], 2, ',', '.') . '</td>';
      $resu .= '         <td class="numerico">$' . number_format($row['MONTO'.$i], 2, ',', '.') . '</td>';
      if ((float)$rowTotales['CANTIDAD'.$i] != 0) {
        $porcentaje = ((float)$rowTotales['CANTIDAD'.$i] == 0)?0:(float)$row['CANTIDAD'.$i] * 100 / (float)$rowTotales['CANTIDAD'.$i];
      }
      else { 
        $porcentaje = 0;
      }
      $resu .= '         <td class="numerico">' . number_format($porcentaje, 2, ',', '.') . '%</td>';
    }
    $resu .= '      </tr>';  

    //$RsTemporal->MoveNext();
  }
  //pinto el total del último rubro
  $resu .= '      <tr class="subtotales">';
  $resu .= '        <td colspan="2">TOTAL ' . $auxTotal . '</td><td style="display: none"></td>';
  for ($i = 1; $i <= $cantidadPeriodos; $i++) {
    $resu .= '         <td class="numerico">' . number_format($acumuladorCantidad[$i], 2, ',', '.') . '</td>';
    $resu .= '         <td class="numerico">$' . number_format($acumuladorMonto[$i], 2, ',', '.') . '</td>';
    $resu .= '         <td class="numerico">' . number_format($acumuladorPorcentaje[$i], 2, ',', '.') . '%</td>';
  }
  $resu .= '      </tr>
                </tbody>';

  $resu .= '    <!--<tfoot>-->
                  <tr style="background-color: #3e3e3e; color: aliceblue;">
                    <th class="thalign" colspan="2">Total General</th>';

  for ($i = 1; $i <= $cantidadPeriodos; $i++) {
    $resu .= '      <th class="thalign">' . number_format($rowTotales['CANTIDAD'.$i], 2, ',', '.') . '</th>';
    $resu .= '      <th class="thalign">$' . number_format($rowTotales['MONTO'.$i], 2, ',', '.') . '</th>';
    $resu .= '      <th class="thalign"></th>';
  }

  $resu .= '      </tr>
                <!--</tfoot>-->
              </div>
            </table>';


  $resu .= '</div>';

  $jsondata = array();
  $jsondata['success'] = true;
  $jsondata['message'] = $resu;
  
  header('Content-type: application/json; charset=utf-8');
  echo json_encode($jsondata);
  die();  
?>