/**
  * Cambiar estado del registro de quiebre, ello implica cambiar el estado de
  * la tabla celula_quiebre, actividad_quiebre.
  * POST /quiebre/cambiarestado
  *
  * @return Response
  */
 public function postCambiarestado()
 {
     if (Request::ajax()) {
         $quiebre = Quiebre::find(Input::get('id'));
         $quiebre->estado = Input::get('estado');
         $quiebre->save();
         if (Input::get('estado') == 0) {
             DB::table('celula_quiebre')->where('quiebre_id', Input::get('id'))->update(array('estado' => 0));
             DB::table('actividad_quiebre')->where('quiebre_id', Input::get('id'))->update(array('estado' => 0));
         }
         return Response::json(array('rst' => 1, 'msj' => 'Registro actualizado correctamente'));
     }
 }
 /**
  * Update the specified resource in storage.
  * POST /celula/editar
  *
  * @return Response
  */
 public function postEditar()
 {
     if (Request::ajax()) {
         $celulaId = Input::get('id');
         $regex = 'regex:/^([a-zA-Z01-9 .,ñÑÁÉÍÓÚáéíóú_-]{2,60})$/i';
         $required = 'required';
         $numeric = 'numeric';
         $reglas = array('nombre' => $required . '|' . $regex, 'empresa' => $required . '|' . $numeric, 'zonal' => $required . '|' . $numeric);
         $mensaje = array('required' => ':attribute Es requerido', 'regex' => ':attribute Solo debe ser Texto');
         $validator = Validator::make(Input::all(), $reglas, $mensaje);
         if ($validator->fails()) {
             return Response::json(array('rst' => 2, 'msj' => $validator->messages()));
         }
         $celulas = Celula::find($celulaId);
         $celulas['nombre'] = Input::get('nombre');
         $celulas['estado'] = Input::get('estado');
         $celulas['responsable'] = Input::get('responsable');
         $celulas['empresa_id'] = Input::get('empresa');
         $celulas['zonal_id'] = Input::get('zonal');
         $celulas->save();
         //actualizando a estado 0 segun quiebre seleccionado
         DB::table('celula_quiebre')->where('celula_id', $celulaId)->update(array('estado' => 0));
         $quiebres = Input::get('quiebres');
         //si estado de celula esta activo y no selecciono ningun quiebre
         if (Input::get('estado') == 1 and !empty($quiebres)) {
             for ($i = 0; $i < count($quiebres); $i++) {
                 $quiebreId = $quiebres[$i];
                 $quiebre = Quiebre::find($quiebreId);
                 //buscando en la tabla
                 $celulaQuiebre = DB::table('celula_quiebre')->where('quiebre_id', '=', $quiebreId)->where('celula_id', '=', $celulaId)->first();
                 if (is_null($celulaQuiebre)) {
                     $celulas->quiebres()->save($quiebre, array('estado' => 1));
                 } else {
                     //update a la tabla celula_quiebre
                     DB::table('celula_quiebre')->where('quiebre_id', '=', $quiebreId)->where('celula_id', '=', $celulaId)->update(array('estado' => 1));
                 }
             }
         }
         return Response::json(array('rst' => 1, 'msj' => 'Registro actualizado correctamente'));
     }
 }
 public function postCargar()
 {
     $data = json_decode(Input::get('data'));
     $servicio = Input::get('servicio');
     $quiebre = Input::get('quiebre');
     $quiebres = Quiebre::find($quiebre);
     $quiebre = $quiebres->apocope;
     $apellidos = Input::get('apellidos');
     $nombre = Input::get('nombre');
     $fechorreg = $data->fechorreg;
     $var = explode("/", substr($fechorreg, 0, 10));
     $var = array($var['1'], $var['0'], $var['2']);
     $fechorreg = implode("/", $var) . substr($fechorreg, 10);
     $date = new DateTime($fechorreg);
     $fechorreg = $date->format('Y-m-d h:i:s');
     $codcli = $data->codcli;
     $codnod = $data->codnod;
     $coddtt = $data->coddtt;
     $nombreCliente = $apellidos . ', ' . $nombre;
     $codordtrab = $data->codordtrab;
     $tipreq = $data->tipreq;
     $codmotv = $data->codmotv;
     $nroplano = $data->nroplano;
     $codofcadm = $data->codofcadm;
     $desdtt = $data->desdtt;
     $query = "SELECT eecc_critico\n                FROM webpsi_fftt.nodos_eecc_regiones\n                WHERE nodo=? LIMIT 1";
     $res = DB::select($query, array($codnod));
     if (count($res)) {
         $eeccCritico = $res[0]->eecc_critico;
     }
     if ($servicio == 'averia') {
         $codreqatn = $data->codreqatn;
         $destipvia = $data->destipvia;
         $desnomvia = $data->desnomvia;
         $numvia = $data->numvia;
         $destipurb = $data->destipurb;
         $desurb = $data->desurb;
         $despis = $data->despis;
         $desint = $data->desint;
         $desmzn = $data->desmzn;
         $deslot = $data->deslot;
         $codclasrv = $data->codclasrv;
         $codmotivoReqCatv = $tipreq . '|' . $codmotv;
         $fftt = $codnod . '|' . $nroplano;
         $desnomctr = $data->desnomctr;
         $direccionInstalacion = $destipvia . ' ' . $desnomvia . ' ' . $numvia . ' ' . $destipurb . ' ' . $desurb . ', Piso: ' . $despis . ' Int: ' . $desint . ' Mzn: ' . $desmzn . ' Lt: ' . $deslot;
         $sql = "INSERT INTO webpsi_coc.averias_criticos_final\n            (tipo_averia,horas_averia,fecha_registro,ciudad,averia,inscripcion,\n            fono1, telefono, mdf,observacion_102, segmento, area_,\n            direccion_instalacion,codigo_distrito, nombre_cliente,orden_trabajo,\n            veloc_adsl, clase_servicio_catv, codmotivo_req_catv,\n            total_averias_cable, total_averias_cobre,total_averias, fftt, llave,\n            dir_terminal, fonos_contacto, contrata, zonal, wu_nagendas,\n            wu_nmovimientos, wu_fecha_ult_agenda, total_llamadas_tecnicas,\n            total_llamadas_seguimiento, llamadastec15dias, llamadastec30dias,\n            quiebre, lejano, distrito, eecc_zona, zona_movistar_uno, paquete,\n            data_multiproducto, averia_m1, fecha_data_fuente,\n            telefono_codclientecms, rango_dias, sms1, sms2, area2,\n            velocidad_caja_recomendada, tipo_servicio, tipo_actuacion,\n            eecc_final, microzona)\n            VALUES\n            ('aver-catv-pais',TIMESTAMPDIFF(HOUR, DATE_FORMAT('{$fechorreg}',\n                '%Y-%m-%d %h:%i:%s'), NOW()),\n            DATE_FORMAT('{$fechorreg}','%Y-%m-%d %h:%i:%s'),'','{$codreqatn}',\n            '{$codcli}','','',\n            '{$codnod}','','','','{$direccionInstalacion}','{$coddtt}',\n            '{$nombreCliente}','{$codordtrab}','','{$codclasrv}','{$codmotivoReqCatv}',\n            '','','','{$fftt}','',NULL, '','{$desnomctr}','{$codofcadm}','','','',\n            NULL,NULL,'','', '{$quiebre}','','{$desdtt}','','','','', '','',\n            '{$codcli}','','','','', NULL,'catv','AVERIA','{$eeccCritico}','') ";
         try {
             DB::insert($sql);
         } catch (\Exception $exc) {
             $this->_errorController->saveError($exc);
             return Response::json(array('estado' => false, 'msj' => 'archivo ya existe'));
         }
         $sqlD = "INSERT INTO webpsi_coc.averias_criticos_final_historico\n            (tipo_averia,horas_averia,fecha_registro,ciudad,averia,inscripcion,\n            fono1,telefono, mdf,observacion_102,segmento,area_,\n            direccion_instalacion,codigo_distrito, nombre_cliente,orden_trabajo,\n            veloc_adsl,clase_servicio_catv,codmotivo_req_catv,\n            total_averias_cable,total_averias_cobre,total_averias,fftt,llave,\n            dir_terminal, fonos_contacto,contrata,zonal,wu_nagendas,\n            wu_nmovimientos,wu_fecha_ult_agenda, total_llamadas_tecnicas,\n            total_llamadas_seguimiento,llamadastec15dias,llamadastec30dias,\n            quiebre,lejano,distrito,eecc_zona,zona_movistar_uno,paquete,\n            data_multiproducto, averia_m1,fecha_data_fuente,\n            telefono_codclientecms,rango_dias,sms1,sms2,area2,\n            velocidad_caja_recomendada,tipo_servicio,tipo_actuacion,eecc_final,\n            microzona, fecha_cambio, fecha_subida)\n            VALUES\n            ('aver-catv-pais',TIMESTAMPDIFF(HOUR, DATE_FORMAT('{$fechorreg}',\n                '%Y-%m-%d %h:%i:%s'), NOW()),\n            DATE_FORMAT('{$fechorreg}','%Y-%m-%d %h:%i:%s'), '','{$codreqatn}',\n            '{$codcli}','','', '{$codnod}','','','','{$direccionInstalacion}',\n            '{$coddtt}', '{$nombreCliente}','{$codordtrab}','','{$codclasrv}',\n            '{$codmotivoReqCatv}', '','','','{$fftt}','',NULL, '','{$desnomctr}',\n            '{$codofcadm}','','','', NULL,NULL,'','', '{$quiebre}','','{$desdtt}',\n            '','','','', '','','{$codcli}','','','','', NULL,'catv','AVERIA',\n            '{$eeccCritico}','',DATE_FORMAT('{$fechorreg}','%Y-%m-%d %h:%i:%s'),\n            DATE_FORMAT('{$fechorreg}','%Y-%m-%d %h:%i:%s')) ";
         try {
             DB::insert($sqlD);
         } catch (\Exception $exc) {
             $this->_errorController->saveError($exc);
             return Response::json(array('estado' => false, 'msj' => 'archivo ya existe'));
         }
     } elseif ($servicio == 'provision') {
         $tipocalle = Input::get('tipocalle');
         $nomcalle = Input::get('nomcalle');
         $numcalle = Input::get('numcalle');
         $piso = Input::get('piso');
         $interior = Input::get('interior');
         $manzana = Input::get('manzana');
         $lote = Input::get('lote');
         $coddpt = $data->coddpt;
         $codpvc = $data->codpvc;
         $codreq = $data->codreq;
         $indvip = $data->indvip;
         $codctr = $data->codctr;
         $distrito = $coddtt . $codpvc . $coddpt;
         $direccion = $tipocalle . ' ' . $nomcalle . ' ' . $numcalle . ', Piso: ' . $piso . ' Int: ' . $interior . ' Mzn: ' . $manzana . ' Lt: ' . $lote;
         $tipoMotivo = $tipreq . '|' . $codmotv;
         $fftt = $codnod . '|' . $nroplano;
         $sql = "  INSERT INTO webpsi_coc.tmp_provision\n            (origen, horas_pedido, fecha_Reg, ciudad, codigo_req,\n            codigo_del_cliente, fono1, telefono, mdf, obs_dev, codigosegmento,\n            estacion, direccion, distrito, nomcliente, orden, veloc_adsl,\n            servicio, tipo_motivo, tot_aver_cab, tot_aver_cob, tot_averias,\n            fftt, llave, dir_terminal, fonos_contacto, contrata, zonal,\n            wu_nagendas, wu_nmovimient, wu_fecha_ult_age, tot_llam_tec,\n            tot_llam_seg, llamadastec15d, llamadastec30d, quiebre, lejano,\n            des_distrito, eecc_zon, zona_movuno, paquete, data_multip, aver_m1,\n            fecha_data_fuente, telefono_codclientecms, rango_dias, sms1, sms2,\n            area2, veloc_caja_recomen, tipo_servicio, tipo_actuacion,\n            eecc_final, microzona)\n            VALUES\n            ('pen_prov_catv',TIMESTAMPDIFF(HOUR, DATE_FORMAT('{$fechorreg}',\n               '%Y-%m-%d %h:%i:%s'), NOW()),\n            DATE_FORMAT('{$fechorreg}','%Y-%m-%d %h:%i:%s'), '', '{$codreq}',\n            '{$codcli}', '', '', '{$codnod}', '', '{$indvip}', 'TELEDIF',\n            '{$direccion}', '{$distrito}', '{$nombreCliente}', '{$codordtrab}', '', '',\n            '{$tipoMotivo}', NULL, NULL, NULL, '{$fftt}', '', NULL, '', '{$codctr}',\n            '{$codofcadm}', NULL, NULL, '', NULL, NULL, NULL, NULL, '{$quiebre}',\n            '', '{$desdtt}', '', NULL, NULL, NULL, '', NULL, '{$codcli}',\n            '', '', '', 'EN CAMPO', NULL, NULL, '', '{$eeccCritico}', '')   ";
         try {
             DB::insert($sql);
         } catch (\Exception $exc) {
             $this->_errorController->saveError($exc);
             return Response::json(array('estado' => false, 'msj' => 'no se cargo archivo'));
         }
     }
     return Response::json(array('estado' => true, 'msj' => 'Se realizo la carga con exito'));
     //echo json_encode(array('estado'=>true,'data'=>''));
 }