/**
  * retornar reporte en formato xls
  * POST historico/listaraverias
  *
  * @return json
  */
 public function postListaraverias()
 {
     $telefono = $codsercms = $codclicms = $esCritico = '';
     if (Input::has('telefonoCliente')) {
         $telefono = Input::get('telefonoCliente');
     }
     if (Input::has('codigoServicioCMS')) {
         $codsercms = Input::get('codigoServicioCMS');
     }
     if (Input::has('codigoClienteCMS')) {
         $codclicms = Input::get('codigoClienteCMS');
     }
     if (Input::has('esCritico')) {
         $esCritico = Input::get('esCritico');
     }
     //consultas del archivo listarAverias.php
     $arrTotal = array();
     $arrTotalD = array();
     $arrTotalT = array();
     $arrTotalC = array();
     try {
         $arrTba = Historico::getAveriasTbaPendientes("fono", $telefono);
     } catch (Exception $exc) {
         $this->_errorController->saveError($exc);
         return array('rst' => 0, 'datos' => 'Error', 'arrTba' => '', 'arrAdslPen' => '', 'arrCatvPen' => '');
     }
     try {
         $arrAdslPen = Historico::getAveriasAdslPendientes("fono", $telefono);
     } catch (Exception $exc) {
         $this->_errorController->saveError($exc);
         return array('rst' => 0, 'datos' => 'Error', 'arrTba' => '', 'arrAdslPen' => '', 'arrCatvPen' => '');
     }
     try {
         $arrCatvPen = Historico::getAveriasCatvPendientes("cliente", $codclicms);
     } catch (Exception $exc) {
         $this->_errorController->saveError($exc);
         return array('rst' => 0, 'datos' => 'Error', 'arrTba' => '', 'arrAdslPen' => '', 'arrCatvPen' => '');
     }
     if (substr($telefono, 0, 1) == "1") {
         try {
             $arrTbaLiq = Historico::getAveriasTbaLiquidadasLima("fono", $telefono);
         } catch (Exception $exc) {
             $this->_errorController->saveError($exc);
             return array('rst' => 0, 'datos' => 'Error', 'arrTba' => '', 'arrAdslPen' => '', 'arrCatvPen' => '');
         }
         if (count($arrTbaLiq) > 0) {
             foreach ($arrTbaLiq as $filaTbaLiq) {
                 $arrTotalD["tipo"] = "TBA";
                 $arrTotalD["averia"] = $filaTbaLiq->averia;
                 $arrTotalD["fecha_registro"] = $filaTbaLiq->fecha_reporte;
                 $arrTotalD["estado"] = "Liquidada";
                 $arrTotalD["fecha_liquidacion"] = $filaTbaLiq->fecha_de_liquidacion;
                 array_push($arrTotal, $arrTotalD);
             }
         }
     } else {
         try {
             $arrTbaLiq = Historico::getAveriasTbaLiquidadasProvincia("fono", $telefono);
         } catch (Exception $exc) {
             $this->_errorController->saveError($exc);
             return array('rst' => 0, 'datos' => 'Error', 'arrTba' => '', 'arrAdslPen' => '', 'arrCatvPen' => '');
         }
         if (count($arrTbaLiq) > 0) {
             foreach ($arrTbaLiq as $filaTbaLiq) {
                 $arrTotalD["tipo"] = "TBA";
                 $arrTotalD["averia"] = $filaTbaLiq->averia;
                 $arrTotalD["fecha_registro"] = $filaTbaLiq->fecha_registro;
                 $arrTotalD["estado"] = "Liquidada";
                 $arrTotalD["fecha_liquidacion"] = $filaTbaLiq->fecha_de_liquidacion;
                 array_push($arrTotal, $arrTotalD);
             }
         }
     }
     try {
         $arrAdslLiq = Historico::getAveriasAdslLiquidadas("fono", $telefono);
     } catch (Exception $exc) {
         $this->_errorController->saveError($exc);
         return array('rst' => 0, 'datos' => 'Error', 'arrTba' => '', 'arrAdslPen' => '', 'arrCatvPen' => '');
     }
     if (count($arrAdslLiq) > 0) {
         foreach ($arrAdslLiq as $filaAdslLiq) {
             $arrTotalT["tipo"] = "ADSL";
             $arrTotalT["averia"] = $filaAdslLiq->averia;
             $arrTotalT["fecha_registro"] = $filaAdslLiq->fecha_registro;
             $arrTotalT["estado"] = "Liquidada";
             $arrTotalT["fecha_liquidacion"] = $filaAdslLiq->fecha_liquidacion;
             array_push($arrTotal, $arrTotalT);
         }
     }
     try {
         $arrCatvLiq = Historico::getAveriasCatvLiquidadas("codServicio", $codsercms);
     } catch (Exception $exc) {
         $this->_errorController->saveError($exc);
         return array('rst' => 0, 'datos' => 'Error', 'arrTba' => '', 'arrAdslPen' => '', 'arrCatvPen' => '');
     }
     if (count($arrCatvLiq) > 0) {
         foreach ($arrCatvLiq as $filaCatvLiq) {
             $arrTotalC["tipo"] = "CATV";
             $arrTotalC["averia"] = $filaCatvLiq->averia;
             $arrTotalC["fecha_registro"] = $filaCatvLiq->fecharegistro;
             $arrTotalC["estado"] = "Liquidada";
             $arrTotalC["fecha_liquidacion"] = $filaCatvLiq->fecha_liquidacion;
             array_push($arrTotal, $arrTotalC);
         }
     }
     usort($arrTotal, function ($a, $b) {
         return strcmp($a["fecha_liquidacion"], $b["fecha_liquidacion"]) * -1;
     });
     //$arrcliente='';
     return Response::json(array('rst' => 1, 'datos' => $arrTotal, 'arrTba' => $arrTba, 'arrAdslPen' => $arrAdslPen, 'arrCatvPen' => $arrCatvPen));
 }