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