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; }
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)); }