Esempio n. 1
0
 public function importarAction()
 {
     //Instancias
     $sid = new Container('base');
     //Obtenemos datos de sesion
     $id_db = $sid->offsetGet('id_db');
     $modulo = $sid->offsetGet('modulo');
     $db_name = $sid->offsetGet('dbNombre');
     //Obtenemos FLAG
     $flag = $_POST['flag'];
     //Conectamos a BBDD Condominio
     $this->dbAdapter = $this->getServiceLocator()->get($db_name);
     //Instancias
     $bode = new BodegaTable($this->dbAdapter);
     $esta = new EstacionamientoTable($this->dbAdapter);
     $unid = new UnidadTable($this->dbAdapter);
     //Definimos ruta DEBE EXISTIR PREVIAMENTE
     $ruta = $_SERVER['DOCUMENT_ROOT'] . '/files/db/' . $id_db . '/' . $modulo[0]['url'] . '/' . $flag;
     //Obtenemos y guardamos File
     $file = $this->params()->fromFiles();
     $adapterFile = new \Zend\File\Transfer\Adapter\Http();
     $adapterFile->setDestination($ruta);
     $adapterFile->receive($file['file-0']['name']);
     //Buscamos el file
     $inputFileName = $ruta . "/" . $file['file-0']['name'];
     //Llamamos Clase PHPExcel
     $objReader = \PHPExcel_IOFactory::createReader('Excel2007');
     $objReader->setReadDataOnly(TRUE);
     $objPHPExcel = $objReader->load($inputFileName);
     //Obtenemos Hoja de trabajo
     $objWorksheet = $objPHPExcel->getActiveSheet();
     // Obtenemos los rangos de celdas de planilla excel
     $highestRow = $objWorksheet->getHighestRow();
     // e.g. 10
     $highestColumn = $objWorksheet->getHighestColumn();
     // e.g 'F'
     $highestColumnIndex = \PHPExcel_Cell::columnIndexFromString($highestColumn) - 1;
     // e.g. 5
     //Cargamos Indices segun flag
     if ($flag == "unidades") {
         $indices = array('nombre', 'piso', 'tipo', 'mts', 'alicuota', 'habitaciones', 'banos', 'estado', 'descripcion');
     }
     if ($flag == "bodegas") {
         $indices = array('nombre', 'piso', 'mts', 'alicuota', 'estado', 'descripcion');
     }
     if ($flag == "estacionamientos") {
         $indices = array('nombre', 'piso', 'tipo', 'mts', 'alicuota', 'estado', 'descripcion');
     }
     if ($flag == "propietarios") {
         $indices = array('nombre', 'piso', 'tipo', 'mts', 'alicuota', 'estado', 'descripcion');
     }
     //Recorremos excel
     for ($row = 3; $row <= $highestRow; ++$row) {
         for ($col = 0; $col <= $highestColumnIndex; ++$col) {
             $lista[$row][$col] = $objWorksheet->getCellByColumnAndRow($col, $row)->getValue();
         }
         //Agregamos indices a array
         error_reporting(E_ERROR);
         $data = array_combine($indices, $lista[$row]);
         if (!$data) {
             $result = new JsonModel(array('status' => 'error', 'descripcion' => "ERROR! Archivo no corresponde a " . ucfirst($flag)));
             $result->setTerminal(true);
             return $result;
         }
         //Insertamos en BBDD
         $data['user_create'] = $sid->offsetGet('id_usuario');
         //Validamos a que tabla insertamos
         if ($flag == "unidades") {
             $unid->nuevaUnidad($data);
         }
         if ($flag == "bodegas") {
             $bode->nuevaBodega($data);
         }
         if ($flag == "estacionamientos") {
             $esta->nuevoEstacionamiento($data);
         }
         ++$cont;
     }
     //Preparamos excel de propietarios
     if ($flag == "unidades") {
         //Indicamos ruta
         $inputFileName = $_SERVER['DOCUMENT_ROOT'] . '/files/db/' . $id_db . '/' . $modulo[0]['url'] . '/copropietarios/Copropietarios.xlsx';
         //Copiamos planilla
         copy($_SERVER['DOCUMENT_ROOT'] . '/files/Copropietarios.xlsx', $inputFileName);
         //Llamamos Clase PHPExcel
         $objPHPexcel = \PHPExcel_IOFactory::load($inputFileName);
         //Obtenemos Hoja de trabajo
         $objWorksheet = $objPHPexcel->getActiveSheet();
         //Obtenemos unidades
         $unidades = $unid->getUnidades();
         //Insertamos valores en celdas
         for ($i = 3; $i < count($unidades) + 3; $i++) {
             $objWorksheet->setCellValue("A" . $i, $unidades[$i - 3]['nombre']);
         }
         //Escribimos nuevamente la planilla
         $objWriter = \PHPExcel_IOFactory::createWriter($objPHPexcel, 'Excel2007');
         $objWriter->save($inputFileName);
     }
     //Devolvemos a la vista
     $descripcion = "Se han ingresado " . $cont . " " . ucfirst($flag) . " al sistema.";
     $result = new JsonModel(array('status' => 'ok', 'descripcion' => $descripcion));
     $result->setTerminal(true);
     return $result;
 }
Esempio n. 2
0
 public function cfgestdesbloqueoAction()
 {
     $sid = new Container('base');
     $id_usuario = $sid->offsetGet('id_usuario');
     $status = "";
     $error = "";
     if (isset($id_usuario)) {
         $time = time();
         $fechaCompleta = date("Y-m-d H:i:s", $time);
         $v = $this->request->getPost();
         $db_name = $sid->offsetGet('dbNombre');
         $this->dbAdapter = $this->getServiceLocator()->get($db_name);
         $estacionamiento = new EstacionamientoTable($this->dbAdapter);
         $data = array("id" => $v['id'], "date_update" => $fechaCompleta);
         $estacionamiento->desbloquearEst($data);
         $status = "ok";
     } else {
         $status = "nok";
         $error = "usuario no encontrado";
     }
     return new JsonModel(array('status' => $status, 'error' => $error));
 }