/** * @return \yii\db\ActiveQuery */ public function getCodMatrimonio() { return $this->hasOne(Matrimonio::className(), ['codigo' => 'cod_matrimonio']); }
public function actionMatrimonio() { $model = new Matrimonio(); $partidaModelo = new Partida(); $dbCon = new Persona(); $conexion = \Yii::$app->db; $transaccion = $conexion->beginTransaction(); if ($model->load(Yii::$app->request->post()) && $partidaModelo->load(Yii::$app->request->post())) { require_once '../auxiliar/Auxiliar.php'; $model->cod_partida = 0; if ($model->apellido_casada == '') { $model->apellido_casada = null; } $partidaModelo->cod_empleado = Yii::$app->user->identity->persona->codEmpleado->codigo; $partidaModelo->lugar_suceso = 'Ilopango'; $partidaModelo->cod_municipio = 151; $partidaModelo->tipo = 'Matrimonio'; $indicador = 'del notario'; if ($_POST['gen_notario'] == 'Femenino') { $indicador = 'de la notaria'; } $model->notario = $indicador . ' ' . $model->notario; $model->est_civ_h = Persona::find()->where('codigo = ' . $_POST['MatrimonioPersona']['cod_conhom'])->one()->cod_estado_civil; $model->est_civ_m = Persona::find()->where('codigo = ' . $_POST['MatrimonioPersona']['cod_conmuj'])->one()->cod_estado_civil; $codlibro = Libro::find()->select('codigo')->where("tipo = 'Matrimonio'")->andWhere("anyo = :an", [':an' => date('Y')])->andWhere('numero = :valor', [':valor' => $_POST['Partida']['num_libro']])->one()->codigo; $partidaModelo->cod_libro = $codlibro; if ($partidaModelo->validate() && $model->validate()) { try { $partidaModelo->fecha_emision = fechaMySQL($partidaModelo->fecha_emision); $partidaModelo->fecha_suceso = fechaMySQL($partidaModelo->fecha_suceso); $partidaModelo->hora_suceso = horaMySQL($partidaModelo->hora_suceso); if ($partidaModelo->save()) { //Recupero el valor de id con el cual se inserto $ulid = $conexion->getLastInsertID(); $model->cod_partida = $ulid; //Guardo el registro de matrimonio if ($model->save()) { //Recupero el id de matrimonio para luego insertar en matrimonio_persona $ulid = $conexion->getLastInsertID(); //Para MatrimonioPersona $modelMph = new MatrimonioPersona(); $modelMpm = new MatrimonioPersona(); $modelMph->cod_matrimonio = $ulid; $modelMpm->cod_matrimonio = $ulid; //Para el contrayente $modelMph->cod_persona = $_POST['MatrimonioPersona']['cod_conhom']; if (!$modelMph->save()) { throw new UserException('No se pudo guardar el contrayente, intente nuevamente'); } //Se actualiza el estado civil del contrayente $dbCon = Persona::find()->where('codigo = ' . $modelMph->cod_persona)->one(); $dbCon->cod_estado_civil = 2; if (!$dbCon->save()) { throw new UserException('No se pudo actualizar el estado civil del contrayente, intente nuevamente'); } //Para la contrayente $modelMpm->cod_persona = $_POST['MatrimonioPersona']['cod_conmuj']; if (!$modelMpm->save()) { throw new UserException('No se pudo guardar la contrayente, intente nuevamente'); } //Se actualiza el estado civil de la contrayente $dbCon = Persona::find()->where('codigo = ' . $modelMpm->cod_persona)->one(); $dbCon->cod_estado_civil = 2; //Debo guardar el apellido de casada? if ($_POST['Matrimonio']['apellido_casada'] != '') { $dbCon->apellido_casada = strtok($dbCon->apellido, " ") . ' ' . $_POST['Matrimonio']['apellido_casada']; } if (!$dbCon->save()) { throw new UserException('No se pudo actualizar el estado civil de la contrayente, intente nuevamente'); } } else { // print_r($model->getErrors()); // exit; throw new UserException('No se pudo guardar el registro de matrimonio, intente nuevamente'); } //Actualizar el folio actual del libro if ($conexion->createCommand("update libro set folio_actual = folio_actual + 1 where codigo = " . $codlibro)->execute() <= 0) { throw new UserException('No se pudo actualizar el libro de partidas, intente nuevamente'); } $transaccion->commit(); Yii::$app->session->setFlash('success', 'Partida guardada con éxito'); return $this->redirect(['matrimonio']); } else { throw new UserException('No se pudo guardar el registro de partida, intente nuevamente'); } return; } catch (UserException $err) { $transaccion->rollback(); Yii::$app->session->setFlash('error', $err->getMessage()); return $this->redirect(['matrimonio']); } } else { Yii::$app->session->setFlash('error', 'El modelo no cumple con la validación'); } } return $this->render('rmatrimonio', ['model' => $model, 'partida' => $partidaModelo]); }
/** * @return \yii\db\ActiveQuery */ public function getMatrimonio() { return $this->hasOne(Matrimonio::className(), ['cod_partida' => 'codigo']); }
/** * @return \yii\db\ActiveQuery */ public function getMatrimonios() { return $this->hasMany(Matrimonio::className(), ['cod_reg_patrimonial' => 'codigo']); }