Exemplo n.º 1
0
 public function actionFileUpload()
 {
     if (empty($_FILES['attachment'])) {
         echo json_encode(['error' => 'No seleccionó ningun archivo']);
         return;
     }
     // a flag to see if everything is ok
     $success = null;
     $file = $_FILES['attachment'];
     $target = '/var/www/html/cobertura/web/files/';
     $filename = $file['name'];
     if (file_exists($target . $filename)) {
         unlink($target . $filename);
     }
     $success = move_uploaded_file($_FILES['attachment']['tmp_name'], $target . $filename) ? true : false;
     // check and process based on successful status
     if ($success === true) {
         $row = 1;
         if (($handle = fopen($target . $filename, "r")) !== FALSE) {
             while (($data = fgetcsv($handle, 0, ",")) !== FALSE) {
                 $c = 0;
                 $n_faer = $data[$c++];
                 if (!Faer::find()->where(['faer_no' => $n_faer])->exists()) {
                     $model = new Faer();
                     $model->faer_no = $n_faer;
                     $model->radicado = intval($data[$c++]);
                     $model->proyecto = $data[$c++];
                     $model->nit_presento = $data[$c++];
                     $model->nit_ejecuto = $data[$c++];
                     $model->fecha_radicacion = $data[$c++];
                     $model->fecha_aprobacion = $data[$c++];
                     $model->oep = doubleval($data[$c++]);
                     $model->categoria = 3;
                     $model->subcategoria = 8;
                     $model->convocatoria = 1;
                     $numero = 0;
                     //var_dump($model);die();
                     if ($model->save()) {
                         if (Faer::find()->where(['faer_no' => $n_faer])->exists()) {
                             $tmp = Faer::findOne(['faer_no' => $n_faer]);
                             $numero = $tmp->numero;
                         }
                     } else {
                         var_dump($model->getErrors());
                     }
                 } else {
                     $c = 8;
                     $tmp = Faer::findOne(['faer_no' => $n_faer]);
                     $numero = $tmp->numero;
                 }
                 if ($numero != 0) {
                     $model_detalle = new DetalleProyecto();
                     $model_detalle->numero = $numero;
                     $model_detalle->id_departamento = intval($data[$c++]);
                     $model_detalle->id_municipio = intval($data[$c++]);
                     $model_detalle->descripcion_veredas = $data[$c++];
                     $model_detalle->latitud = doubleval($data[$c++]);
                     $model_detalle->longitud = doubleval($data[$c++]);
                     $model_detalle->total = doubleval($data[$c++]);
                     $model_detalle->cofinanciacion = doubleval($data[$c++]);
                     $model_detalle->aporte_fondo = doubleval($data[$c++]);
                     $model_detalle->usuarios_existentes = intval($data[$c++]);
                     $model_detalle->usuarios_nuevos = intval($data[$c]);
                     if (!$model_detalle->save()) {
                         var_dump($model_detalle->getErrors());
                     }
                 }
                 $row++;
             }
             fclose($handle);
         }
         //$this->redirect(['index']);
         $output = ['success' => 'Carga exitosa'];
     } elseif ($success === false) {
         $output = ['error' => 'Error subiendo archivo'];
         // delete any uploaded files
         //unlink($file);
     } else {
         $output = ['error' => 'No se procesó el archivo'];
     }
     // return a json encoded response for plugin to process successfully
     echo json_encode($output);
 }