public function loadModel($id)
 {
     $model = Registroimportacion::model()->findByPk($id);
     if ($model === null) {
         throw new CHttpException(404, Yii::t('app', 'The requested page does not exist.'));
     }
     return $model;
 }
Exemplo n.º 2
0
 public function actionImportartransac()
 {
     $modelreg = new Registroimportacion();
     $idparametro = Parametroimportacion::TRANSACCIONFABA;
     if (isset($_POST['Registroimportacion'])) {
         $modelreg->setAttributes($_POST['Registroimportacion']);
         //cargar parametros de importacion para esta transaccion
         $modelparametro = Parametroimportacion::model()->findByPk($idparametro);
         $parametrolongitud = $modelparametro->longitudregistro;
         try {
             $modelreg->nombrearchivo = CUploadedFile::getInstance($modelreg, 'nombrearchivo');
             // validar segun reglas del modelo registroimportacion
             if (!$modelreg->validate(array('nombrearchivo'))) {
                 throw new Exception("");
             }
             // validar segun reglas de parametroimportacion
             // validar extension
             if (strtoupper(substr($modelreg->nombrearchivo, -3)) != trim($modelparametro->extensionarchivo)) {
                 throw new Exception("La extensión debe ser " . $modelparametro->extensionarchivo);
             }
             //grabar el archivo en ./tmp
             $nomfile = './tmp/' . $modelreg->nombrearchivo;
             $modelreg->nombrearchivo->saveAs($nomfile);
             // Procesatransac() es la funcion para procesar el archivo para grabar cabecera y practicas
             // y validar el largo del registro de la primera linea
             $this->Procesatransac($nomfile, $parametrolongitud);
             // grabar tabla registroimportacion
             $modelreg->idparametroimportacion = Parametroimportacion::TRANSACCIONFABA;
             $modelreg->registrosleidos = $this->cantpracticastransac;
             $modelreg->registrosgrabados = $this->canttransac;
             $modelreg->id_usuario = Yii::app()->user->getId();
             if (!$modelreg->save()) {
                 throw new Exception("Error en la grabación del registro de importación");
             }
             // si todo se grabó ok, muestra mensaje
             $this->setFlash('notice', array('title' => 'Mensaje', 'content' => 'Archivo importado y procesado ok.<br/>' . 'Transacciones: ' . $this->canttransac . '<br>' . 'Prácticas: ' . $this->cantpracticastransac));
             $this->redirect(array('importartransac'));
         } catch (Exception $e) {
             $modelreg->addError('', $e->getMessage());
         }
     }
     $this->render('importartransac', array('model' => $modelreg));
 }