<?php
  include("conn.php");
  //Recupero parametros
  $vDataPeriodos     = $_POST['xDataPeriodos'];
  $vUnidades         = $_POST['xUnidades'];
  $vConceptos        = $_POST['xConceptos'];
  $vRubros           = $_POST['xRubros'];
  $vComprobantes     = $_POST['xComprobantes'];
  $vModuloMesas      = $_POST['xModuloMesas'];
  $vModuloMostrador  = $_POST['xModuloMostrador'];
  $vModuloDelivery   = $_POST['xModuloDelivery'];
  $vTurno            = $_POST['xTurno'];

  $sql = "SELECT PUESTO FROM " . $_SESSION["BaseMadre"] . "glPuestos WHERE DESCRI = 'TABLERO_WEB'";
  $RsPuesto = $DBSegu->Execute($sql);
  if (!$RsPuesto) {
    $jsondata['success'] = false;
    $jsondata['message'] = 'Ha ocurrido un error durante la consulta. Ref. #V01.01';
    header('Content-type: application/json; charset=utf-8');
    echo json_encode($jsondata);
    die();  
  }

  if ($RsPuesto->RecordCount() > 0) { 
    $sql = "SELECT PARAM FROM " . $_SESSION["BaseMadre"] . "glConfig WHERE PUESTO = " . $RsPuesto->fields['PUESTO'] . " AND CLAVE = 'COD_BARRA_VE'";
    $RsPuesto = $DBSegu->Execute($sql);
    if (!$RsPuesto) {
      $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();  
    }

    if ($RsPuesto->RecordCount() == 0) {
      $muestraCodigo = 0; //rubro-codigo
    }
    else {
      if ($RsPuesto->fields['PARAM'] == 1) {
        $muestraCodigo = 1; //cod-barra
      }
      else {
        $muestraCodigo = 0; //rubro-codigo
      }
    }
  }
  else {
    $muestraCodigo = 0; //rubro-codigo
  }

//Armo el filtro de periodos;
  $sqlPeriodos = "";
  if ($vDataPeriodos != '') {
    $xDataPeriodos = json_decode($vDataPeriodos);
    $sqlPeriodos = " AND (";
    foreach ($xDataPeriodos as $value) {
      if ($sqlPeriodos <> " AND (") {
        $sqlPeriodos .= " OR ";
      }
      $sqlPeriodos .= "(X.FECHA BETWEEN '" . $value->desde . "' AND '" . $value->hasta . "')";
    }
    $sqlPeriodos .= ")";
  }
  
  //Armo la lista titulares
  //Si no hay ningun titular tengo que traer todos
  $cantidadTitulares = 0;
  if ($vUnidades == '') {
    $sql = "SELECT DISTINCT B.BASE, B.DESCRI AS DESC_BASE, T.TITULAR, T.DESCRI AS DESC_TITULAR
            FROM (SELECT XB.BASE, XB.DESCRI 
                  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) B  
                 INNER JOIN TITULARES T
                 ON B.BASE = T.BASE
                 INNER JOIN USUARIOSBASES UB 
                     INNER JOIN USUARIOS U 
                     ON UB.ID_USUARIO = U.ID_USUARIO 
                 ON B.BASE = UB.BASE 
            ORDER BY B.DESCRI ";
    $RsUnidades = sqlsrv_query( $conn, $sql);    
    if (! $RsUnidades ) {    
      $jsondata['success'] = false;
      $jsondata['message'] = 'Ha ocurrido un error durante la consulta. Ref. #V01.11';
      header('Content-type: application/json; charset=utf-8');
      echo json_encode($jsondata);
      die( print_r( sqlsrv_errors(), true));    
    }
    while( $row = sqlsrv_fetch_array( $RsUnidades, SQLSRV_FETCH_ASSOC)) {  
      if ($vUnidades != '') {$vUnidades.=',';}
      $vUnidades .= $row['BASE'].'-'.$row['TITULAR']; 
    }
  } 
  $xDataTitulares = explode(',', $vUnidades );
  foreach ($xDataTitulares as $value) {
    $cantidadTitulares ++;
  }

  //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 por módulo
  $sqlModulo = "";
  if ($vModuloMesas == 1) {
    $sqlModulo = "and (X.modulo = 'M' "; 
  }
  if ($vModuloDelivery == 1) {
    if ($sqlModulo == "") {
      $sqlModulo = "and (X.modulo = 'D' ";
    }
    else {
      $sqlModulo .= " or X.modulo = 'D' ";
    }  
  }
  if ($vModuloMostrador == 1) {
    if ($sqlModulo == "") {
      $sqlModulo = "and (X.modulo = 'B' ";
    }
    else {
      $sqlModulo .= " or X.modulo = 'B' ";
    }
  }
  if ($sqlModulo != "") {
    $sqlModulo .= ")"; 
  }

  //Armo filtro por turno
  $sqlTurno = "";
  if ($vTurno != '-1') { 
    $sqlTurno = "    INNER JOIN Reemplazo.dbo.caCierre C 
                     ON C.CIERRE = X.CIERRE 
                        AND C.PARCIAL = " . $_POST['xTurno'];
  }

  //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 getNombreTitular($conn, $valor) {
    $axu = explode('-', $valor);
    $sql = "SELECT DISTINCT B.BASE, B.DESCRI AS DESC_BASE, T.TITULAR, T.DESCRI AS DESC_TITULAR
            FROM (SELECT XB.BASE, XB.DESCRI 
                  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) B  
                 INNER JOIN TITULARES T
                 ON B.BASE = T.BASE
                 INNER JOIN USUARIOSBASES UB 
                     INNER JOIN USUARIOS U 
                     ON UB.ID_USUARIO = U.ID_USUARIO 
                 ON B.BASE = UB.BASE 
            WHERE B.BASE = ".$axu[0]." AND T.TITULAR = " . $axu[1];
    $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['DESC_BASE']) . ' - ' . utf8_encode($row['DESC_TITULAR']);
  }

  $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 (FECHA DATE, MONTO1 MONEY default 0";
  for ($i = 2; $i <= $cantidadTitulares; $i++) {
    $sqlTemporal .= ", MONTO".$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.03';
    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.00';
    header('Content-type: application/json; charset=utf-8');
    echo json_encode($jsondata);
    die();  
  }*/

  $sqlTemporal = "create NONCLUSTERED INDEX idx_TablaTemporal ON #TablaTemporal (FECHA)";
  $RsTemporal = sqlsrv_query( $conn, $sqlTemporal);    
  if (! $RsTemporal ) {    
    $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));    
  }    
/*  $RsTemporal = $DBSegu->Execute($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();  
  }*/

  $misDatos = array();
  $ordenTitular = 0;
  foreach ($xDataTitulares as $value) {
    $aux = explode('-', $value);
    $tmpTitular = $aux[1];
    $ordenTitular ++;
    $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 
                 WHERE 1=1 AND E.BASE = ".$aux[0]."
                 ORDER BY E.DESCRI";
    $RsEmpresas = $DBSegu->Execute($sqlBases);
    if (!$RsEmpresas) {
      $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();  
    }
    
    $subConsulta = '';
    //Esta consulta devuelve un solo registro ya que se ejecuta una vez por cada empresa, 
    //luego si, dentro de este falso ciclo debo filtrar el titular que quiero consultar
    while (!$RsEmpresas->EOF) {
      //$sqlTitulares = getTitulares($vUnidades, $RsEmpresas->fields['BASE']); 
      $sqlTitulares = " AND TITULAR IN (" . $tmpTitular . ")";
      if ($subConsulta != '') {
        $subConsulta .= ' UNION ALL ';
      };

      $subConsulta .= "Select " . $RsEmpresas->fields['BASE'] . " as base, IV.comprob, IV.concepto, IV.cantidad, IV.precio, " .
                              "X.fecha, T.credito, X.titular, X.tipo_mov,  
                              isnull(Round(((((IV.precio * IV.cantidad)) * " . $RsEmpresas->fields["NOMBRE_BASE"] . ".dbo.valorcredito(T.credito))), 6), 0) as NETO,
                              isnull(" . $RsEmpresas->fields["NOMBRE_BASE"] . ".dbo.veImpoRel(IV.comprob,IV.item) * " . $RsEmpresas->fields["NOMBRE_BASE"] . ".dbo.valorcredito(T.credito), 0) as IVA 
                       From " . $RsEmpresas->fields["NOMBRE_BASE"] . ".dbo.veventas X 
                            inner join " . $RsEmpresas->fields["NOMBRE_BASE"] . ".dbo.veImputa IV 
                            on X.comprob = IV.comprob 
                            inner join " . $RsEmpresas->fields["NOMBRE_BASE"] . ".dbo.vetipomov T 
                            on T.tipo_mov = X.tipo_mov " . 
                            str_replace('Reemplazo',$RsEmpresas->fields["NOMBRE_BASE"],$sqlTurno) . "
                       Where 1=1 " .
                             $sqlPeriodos .
                             $sqlTitulares .
                             $sqlComprobantes .
                             $sqlModulo .
                    " and isnull(IV.gravamen,0) = 0 ";

      $RsEmpresas->MoveNext();
    }

    //ERA CON RIGHT OUTER
    $sqlConsulta = "Select V.FECHA, sum(neto) as NETO, sum(iva) as IVA 
                    FROM (" . $subConsulta . ")  V 
                         INNER JOIN " . $_SESSION["BaseMadre"] . "glConceptos I 
                             INNER JOIN " . $_SESSION["BaseMadre"] . "glRubros R 
                             ON I.rubro = R.rubro " . $sqlProductos . "
                         ON V.concepto = I.concepto 
                    where V.fecha is not null
                    group by V.fecha
                    order by V.fecha ";

//echo $sqlConsulta;
    $RsConsulta = $DBSegu->Execute($sqlConsulta);
    if (!$RsConsulta) {
      $jsondata['success'] = false;
      $jsondata['message'] = $sqlConsulta.'<br>'.'Ha ocurrido un error durante la consulta. Ref. #V01.06';
      header('Content-type: application/json; charset=utf-8');
      echo json_encode($jsondata);
      die();  
    }
   
    while (!$RsConsulta->EOF) {
      //echo $RsConsulta->fields['CONCEPTO'].'  ----  ';
      if ($ordenTitular == 1) {
        $sqlTemporal = "insert into #TablaTemporal (FECHA, MONTO1) 
                          values ('".$RsConsulta->fields['FECHA']."', ".$RsConsulta->fields['NETO'] . ")";
        //echo $sqlTemporal . '<br>';
        $RsTemporal = sqlsrv_query( $conn, $sqlTemporal);    
        if (! $RsTemporal ) {    
          $jsondata['success'] = false;
          $jsondata['message'] = 'Ha ocurrido un error durante la consulta. Ref. #V01.07';
          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".$ordenTitular."=".$RsConsulta->fields['NETO']." where FECHA='".$RsConsulta->fields['FECHA'] . "' 
                        IF @@ROWCOUNT = 0 BEGIN  
                          insert into #TablaTemporal (FECHA, MONTO".$ordenTitular.") 
                          values ('".$RsConsulta->fields['FECHA']."', ".$RsConsulta->fields['NETO'].") 
                        END";
        //echo $sqlTemporal . '<br>';
        $RsTemporal = sqlsrv_query( $conn, $sqlTemporal);    
        if (! $RsTemporal ) {    
          $jsondata['success'] = false;
          $jsondata['message'] = 'Ha ocurrido un error durante la consulta. Ref. #V01.08';
          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(MONTO1) AS MONTO1 ";
  for ($i = 2; $i <= $cantidadTitulares; $i++) {
    $sqlTotal .= ", SUM(MONTO".$i.") AS MONTO".$i." ";
  }
  $sqlTotal .= "FROM #TablaTemporal  
                  WHERE MONTO1 <> 0 ";
  for ($i = 2; $i <= $cantidadTitulares; $i++) {
    $sqlTotal .= " OR MONTO".$i." <> 0 ";
  }
  $RsTotales = sqlsrv_query( $conn, $sqlTotal);    
  if (! $RsTotales ) {    
    $jsondata['success'] = false;
    $jsondata['message'] = 'Ha ocurrido un error durante la consulta. Ref. #V01.09';
    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 FECHA, MONTO1 ";
  for ($i = 2; $i <= $cantidadTitulares; $i++) {
    $sqlTemporal .= ", MONTO".$i." ";
  }
  $sqlTemporal .= "FROM #TablaTemporal  
                  WHERE MONTO1 <> 0 ";
  for ($i = 2; $i <= $cantidadTitulares; $i++) {
    $sqlTemporal .= " OR MONTO".$i." <> 0 ";
  }
  $sqlTemporal .= "order by FECHA";
  $RsTemporal = sqlsrv_query( $conn, $sqlTemporal);    
  if (! $RsTemporal ) {    
    $jsondata['success'] = false;
    $jsondata['message'] = 'Ha ocurrido un error durante la consulta. Ref. #V01.10';
    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

  require_once 'js/telerik/wrappers/php/lib/Kendo/Autoload.php';

function chart_date_points() {
    return array(
        array('date'=> '2011/12/20', 'value'=> 30),
        array('date'=> '2011/12/21', 'value'=> 50),
        array('date'=> '2011/12/22', 'value'=> 45),
        array('date'=> '2011/12/23', 'value'=> 40),
        array('date'=> '2011/12/24', 'value'=> 35),
        array('date'=> '2011/12/25', 'value'=> 40),
        array('date'=> '2011/12/26', 'value'=> 42),
        array('date'=> '2011/12/27', 'value'=> 40),
        array('date'=> '2011/12/28', 'value'=> 35),
        array('date'=> '2011/12/29', 'value'=> 43),
        array('date'=> '2011/12/30', 'value'=> 38),
        array('date'=> '2011/12/31', 'value'=> 30),
        array('date'=> '2012/01/01', 'value'=> 48),
        array('date'=> '2012/01/02', 'value'=> 50),
        array('date'=> '2012/01/03', 'value'=> 55),
        array('date'=> '2012/01/04', 'value'=> 35),
        array('date'=> '2012/01/05', 'value'=> 30)
   );
}

  $v_dptos     = array();
  $v_item_dpto = array();   
  $contador = 0;
  //foreach ($arrCursorD as $col) {
  while( $col = sqlsrv_fetch_array( $RsTemporal, SQLSRV_FETCH_ASSOC)) { 
    $contador = 0;    
    if ($v_dptos <> '') {
      foreach ($v_dptos as $name1 => $value1) { 
        $contador++;
        $$name1 = $value1;
      }
    }

    $v_item_dpto['date'] = $col['FECHA']->format('Y/m/d');
    $v_item_dpto['value'] = $col['MONTO1'];
    $v_item_dpto['value2'] = $col['MONTO2'];
    $v_dptos[$contador] = $v_item_dpto;     
  } 

 // var_dump(chart_date_points());

  $series = new \Kendo\Dataviz\UI\ChartSeriesItem();  
  $series->type('line')
         ->aggregate('avg')
         ->field('value')
         ->categoryField('date')->data($v_dptos);

  $series1 = new \Kendo\Dataviz\UI\ChartSeriesItem();  
  $series1->type('line')
         ->aggregate('avg')
         ->field('value2')
         ->categoryField('date')->data($v_dptos);

  $categoryAxis = new \Kendo\Dataviz\UI\ChartCategoryAxisItem();
  $categoryAxis->type('date')
             ->baseUnit("months");

  $dataSource = new \Kendo\Data\DataSource();
  $dataSource->data($v_dptos);
  //$dataSource->data(chart_date_points());

  $chart = new \Kendo\Dataviz\UI\Chart('chart');
  $chart->addSeriesItem($series, $series1)
        ->addCategoryAxisItem($categoryAxis);

  $resu1 = $chart->render();

/*            <div class="row">
        $seriesZ = new \Kendo\Dataviz\UI\ChartSeriesItem();
        $seriesZ->type('pie')
                ->startAngle(150)
                ->data(array(
                             array('category' => 'Censos sobre Tambos Registrados Censo 2014', 'value' => $xRegistroExistente, 'color' => '#9de219'),
                             array('category' => 'Censos sobre Tambos NO Registrados', 'value' => $xRegistroNuevo, 'color' => '#033939')
                            ));


        $chartZ = new \Kendo\Dataviz\UI\Chart('chartZ');
        $chartZ->title(array('position' => 'top', 'text' => ' '))
               ->addSeriesItem($seriesZ)
               ->chartArea(array('background' => 'transparent'))
               ->legend(array('visible' => true))
               ->tooltip(array('visible' => true, 'template' => "#= category # - #= kendo.format('{0:P}', percentage) # - #= value # Censos"  ))
           ->seriesDefaults(array(
                 'labels' => array(
                 'template' => "#= category # - #= kendo.format('{0:P}', percentage)#",
                 'position' => 'outsideEnd',
                 'visible' => true,
                 'background' => 'transparent')
              ));
              <div class="demo-section k-content wide">
                echo $chartZ->render();
              </div>
            </div>*/



  $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 class="falsetable">
                    <th class="falsetable"></th>';

  for ($i = 1; $i <= $cantidadTitulares; $i++) {
    $resu .= '     <th class="falsetable"></th>';
  }

  $resu .= '      </tr>
 
                  <tr>
                    <th class="thalign" rowspan="2">Fecha</th>';
  for ($i = 1; $i <= $cantidadTitulares; $i++) {
    $xMostrar = getNombreTitular($conn,$xDataTitulares[$i-1]);
    $resu .= '      <th class="thalign fechastable" style="border-bottom: 0px;">'.$xMostrar . '</th>';
  }
  $resu .='       </tr>
                  <tr>';
  for ($i = 1; $i <= $cantidadTitulares; $i++) {
    $resu .= '    <th style="width: 10%;" class="thalign tituloshead">Importe</th>';
  }
  $resu .='       </tr>
                </thead>
               <tbody>';
  $mesAnt = -1;

  $acumuladorCantidad   = array();
  $acumuladorMonto      = array();
  $acumuladorPorcentaje = array();
  for ($x = 1; $x <= $cantidadTitulares; $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)) {  
    $date = $row['FECHA'];
    if ($mesAnt != $date->format('Y-m')) {
      if ($mesAnt != -1) {
        $resu .= '      <tr class="subtotales">';
        $resu .= '        <td>TOTAL ' . $auxTotal . '</td><td style="display: none"></td>';
        for ($i = 1; $i <= $cantidadTitulares; $i++) {
          $resu .= '         <td class="numerico">$' . number_format($acumuladorMonto[$i], 2, ',', '.') . '</td>';
        }
        $resu .= '      </tr>';  
      }
      
      $resu .= '        <tr class="titulosfilas">';
      $resu .= '          <td style="border: 0;">' .  $date->format('m/Y') . '</td>';
      for ($i = 1; $i <= $cantidadTitulares; $i++) {
        $resu .= '         <td style="border: 0;"></td>';
      }
      $resu .= '      </tr>';  
      $mesAnt = $date->format('Y-m');
      $auxTotal = $date->format('m/Y');
      for ($z = 1; $z <= $cantidadTitulares; $z++) {
        $acumuladorCantidad[$z]   = 0;
        $acumuladorMonto[$z]      = 0;
        $acumuladorPorcentaje[$z] = 0;
      }
    }
    for ($i = 1; $i <= $cantidadTitulares; $i++) {
      //$acumuladorCantidad[$i] = (float)$acumuladorCantidad[$i] + (float)$row['CANTIDAD'.$i];
      $acumuladorMonto[$i] = (float)$acumuladorMonto[$i] + (float)$row['MONTO'.$i];
    }
   
    $resu .= '      <tr>';
    $resu .= '        <td>' . $date->format('d/m/Y') . '</td>';
    for ($i = 1; $i <= $cantidadTitulares; $i++) {
      $resu .= '         <td class="numerico">$' . number_format($row['MONTO'.$i], 2, ',', '.') . '</td>';
    }
    $resu .= '      </tr>';  

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

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

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

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


  $resu .= '</div>';

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