public function actionChange() { $model = new RangoPersonas(); $listaCambios = ''; if ($model->load(Yii::$app->request->post()) && $model->validate()) { // Comienza Transaccion $transaction = Yii::$app->db->beginTransaction(); try { $c = Accesos::updateAll(['id_persona' => $model->idPersonaHasta], ['id_persona' => $model->idPersonaDesde]); if ($c > 0) { $listaCambios .= '<p><i>Accesos:</i> cantidad de cambios realizados -> ' . $c . '</p>'; } $c = AccesosAutorizantes::updateAll(['id_persona' => $model->idPersonaHasta], ['id_persona' => $model->idPersonaDesde]); if ($c > 0) { $listaCambios .= '<p><i>Accesos (autorizantes):</i> cantidad de cambios realizados -> ' . $c . '</p>'; } $c = Autorizantes::updateAll(['id_persona' => $model->idPersonaHasta], ['id_persona' => $model->idPersonaDesde]); if ($c > 0) { $listaCambios .= '<p><i>Autorizantes:</i> cantidad de cambios realizados -> ' . $c . '</p>'; } $c = Llaves::updateAll(['id_persona' => $model->idPersonaHasta], ['id_persona' => $model->idPersonaDesde]); if ($c > 0) { $listaCambios .= '<p><i>Llaves (personas):</i> cantidad de cambios realizados -> ' . $c . '</p>'; } $c = Llaves::updateAll(['id_autorizante' => $model->idPersonaHasta], ['id_persona' => $model->idPersonaDesde]); if ($c > 0) { $listaCambios .= '<p><i>Llaves (autorizantes):</i> cantidad de cambios realizados -> ' . $c . '</p>'; } $c = Mensajes::updateAll(['model_id' => $model->idPersonaHasta], ['model_id' => $model->idPersonaDesde, 'model' => 'frontend\\models\\Personas']); if ($c > 0) { $listaCambios .= '<p><i>Mensajes:</i> cantidad de cambios realizados -> ' . $c . '</p>'; } $c = UfTitularidadPersonas::updateAll(['id_persona' => $model->idPersonaHasta], ['id_persona' => $model->idPersonaDesde]); if ($c > 0) { $listaCambios .= '<p><i>Titularidad:</i> cantidad de cambios realizados -> ' . $c . '</p>'; } if ($listaCambios == '') { $listaCambios = '<p>No se ha realizado ningún cambio. Controle los IDs de personas utilizados.</p>'; } $transaction->commit(); } catch (\Exception $e) { $transaction->rollBack(); Yii::$app->session->addFlash('danger', 'Hubo un error en la grabación'); throw $e; } // try..catch } return $this->render('change', ['model' => $model, 'listaCambios' => $listaCambios]); }
public function actionTitularidad($id_uf) { $UfModel = Uf::findOne($id_uf); if (!empty($UfModel->ultUfTitularidad->id)) { $query = UfTitularidadPersonas::find()->joinWith('persona')->where(['uf_titularidad_id' => $UfModel->ultUfTitularidad->id]); $dataProvider = new ActiveDataProvider(['query' => $query, 'sort' => ['defaultOrder' => ['tipo' => SORT_DESC], 'enableMultiSort' => true]]); $response = GridView::widget(['dataProvider' => $dataProvider, 'condensed' => true, 'layout' => '{items}', 'panel' => ['type' => GridView::TYPE_INFO, 'heading' => 'Titularidad actual sobre U.F.' . $id_uf, 'footer' => false, 'before' => false, 'after' => false], 'panelHeadingTemplate' => '{heading}', 'resizableColumns' => false, 'columns' => [['attribute' => 'tipo', 'value' => function ($model) { return UfTitularidadPersonas::getTipos($model->tipo); }], 'id_persona', 'persona.apellido', 'persona.nombre', 'persona.nombre2', 'persona.tipoDoc.desc_tipo_doc_abr', 'persona.nro_doc']]); } else { $response = ''; } \Yii::$app->response->format = 'json'; return $response; }
/** * Creates data provider instance with search query applied * * @param array $params * * @return ActiveDataProvider */ public function search($params) { $query = UfTitularidadPersonas::find(); // add conditions that should always apply here $dataProvider = new ActiveDataProvider(['query' => $query]); $this->load($params); if (!$this->validate()) { // uncomment the following line if you do not want to return any records when validation fails // $query->where('0=1'); return $dataProvider; } // grid filtering conditions $query->andFilterWhere(['id' => $this->id, 'uf_titularidad_id' => $this->uf_titularidad_id, 'id_persona' => $this->id_persona, 'created_by' => $this->created_by, 'created_at' => $this->created_at, 'updated_by' => $this->updated_by, 'updated_at' => $this->updated_at]); $query->andFilterWhere(['like', 'tipo', $this->tipo])->andFilterWhere(['like', 'observaciones', $this->observaciones]); return $dataProvider; }
public function actionFinCesion($uf, $id) { $model = new UfTitularidad(); $model->id_uf = $uf; $model->tipo_movim = 10; $movActual = UfTitularidad::findOne($id); $titPers = UfTitularidadPersonas::find()->where(['uf_titularidad_id' => $id])->all(); $transaction = Yii::$app->db->beginTransaction(); try { $movActual->ultima = false; $movActual->save(false); $model->fec_desde = $movActual->fec_hasta; //$model->fec_hasta=$model->fec_desde; $model->fec_hasta = null; $model->exp_telefono = $movActual->exp_telefono; $model->exp_direccion = $movActual->exp_direccion; $model->exp_localidad = $movActual->exp_localidad; $model->exp_email = $movActual->exp_email; $model->ultima = true; $model->save(false); // elimina todos los autorizantes actuales de la unidad para reemplazarlos con los nuevos Autorizantes::deleteAll(['id_uf' => $model->id_uf]); $aut = new Autorizantes(); $aut->id_uf = $model->id_uf; // recorre todos los titulares y solo procesa los cedentes como nuevos titulares foreach ($titPers as $tp) { if ($tp->tipo == UfTitularidadPersonas::TIPO_CED) { $titp = new UfTitularidadPersonas(); $titp->uf_titularidad_id = $model->id; $titp->tipo = UfTitularidadPersonas::TIPO_TIT; $titp->id_persona = $tp->id_persona; $titp->observaciones = $tp->observaciones; $titp->save(false); $aut->id = null; $aut->isNewRecord = true; $aut->id_persona = $titp->id_persona; $aut->save(false); } } $transaction->commit(); \Yii::$app->session->addFlash('success', 'Movimiento grabado correctamente'); // limpia todo \Yii::$app->session->remove('titpersonas'); //return $this->redirect(['view', 'id' => $model->id]); } catch (\Exception $e) { $transaction->rollBack(); Yii::$app->session->addFlash('danger', 'Hubo un error en la grabación'); throw $e; } // try..catch return $this->redirect(['view', 'id' => $model->id]); }
?> <div class="uf-titularidad-form"> <?php $UfModel = Uf::findOne($model->id_uf); if (!empty($UfModel->ultUfTitularidad->id)) { $puedeCambiarTipoMovim = true; $query = UfTitularidadPersonas::find()->joinWith('persona')->where(['uf_titularidad_id' => $UfModel->ultUfTitularidad->id]); $dataProvider = new ActiveDataProvider(['query' => $query, 'sort' => ['defaultOrder' => ['tipo' => SORT_DESC], 'enableMultiSort' => true]]); $xDefecto = UfTitularidad::findOne($UfModel->ultUfTitularidad->id); $model->exp_telefono = $xDefecto->exp_telefono; $model->exp_direccion = $xDefecto->exp_direccion; $model->exp_localidad = $xDefecto->exp_localidad; $model->exp_email = $xDefecto->exp_email; echo GridView::widget(['dataProvider' => $dataProvider, 'condensed' => true, 'layout' => '{items}', 'panel' => ['type' => GridView::TYPE_INFO, 'heading' => 'Titularidad actual sobre U.F.' . $model->id_uf, 'footer' => false, 'before' => false, 'after' => false], 'panelHeadingTemplate' => '{heading}', 'resizableColumns' => false, 'columns' => [['attribute' => 'tipo', 'value' => function ($model) { return UfTitularidadPersonas::getTipos($model->tipo); }], 'id_persona', 'persona.apellido', 'persona.nombre', 'persona.nombre2', 'persona.tipoDoc.desc_tipo_doc_abr', 'persona.nro_doc', 'observaciones']]); } else { $puedeCambiarTipoMovim = false; } ?> <?php $form = ActiveForm::begin(); ?> <?php //$form->field($model, 'id_uf')->textInput() ?> <div class='row'>
/** * @return \yii\db\ActiveQuery */ public function getUfTitularidadPersonas() { return $this->hasMany(UfTitularidadPersonas::className(), ['uf_titularidad_id' => 'id']); }
<?php $lbl2 = ''; $pdfHeader = ['L' => ['content' => \Yii::$app->params['lblName']], 'C' => ['content' => $this->title . $lbl2, 'font-style' => 'B'], 'R' => ['content' => '']]; $pdfFooter = ['L' => ['content' => \Yii::$app->params['lblName2']], 'C' => ['content' => 'página {PAGENO} de {nb}'], 'R' => ['content' => 'Fecha:{DATE d/m/Y}']]; $columns = [['attribute' => 'id_uf', 'group' => true], ['attribute' => 'superficie', 'format' => ['decimal', 2], 'hAlign' => 'right', 'group' => true, 'subGroupOf' => 0], ['class' => '\\kartik\\grid\\FormulaColumn', 'value' => function ($model, $key, $index, $widget) { if ($model->unidad_estado == 0) { return null; } $p = compact('model', 'key', 'index'); // Write your formula below global $totSup; return $widget->col(1, $p) / $totSup * 100; }, 'format' => ['decimal', 3], 'label' => 'Coeficiente', 'hAlign' => 'right', 'group' => true, 'subGroupOf' => 0], ['attribute' => 'exp_telefono', 'group' => true, 'subGroupOf' => 0], ['attribute' => 'exp_direccion', 'group' => true, 'subGroupOf' => 0], ['attribute' => 'exp_localidad', 'group' => true, 'subGroupOf' => 0], ['attribute' => 'exp_email', 'format' => 'email', 'group' => true, 'subGroupOf' => 0], ['attribute' => 'tipo', 'value' => function ($model) { return UfTitularidadPersonas::getTipos($model->tipo); }, 'filter' => UfTitularidadPersonas::getTipos()], 'apellido', 'nombre', 'nombre2', 'desc_tipo_doc_abr', 'nro_doc', 'observaciones']; if (\Yii::$app->user->can('exportarListaUf')) { // contiene la selección inicial de columnas, es decir, todas // por ejemplo [0,1,2,3] $poSel = []; // contiene las descripciones de las columnas // por ejemplo [0=>'Portón', 1=>'Usuario',2=>'Fecha',3=>'Texto'] $poItems = []; $i = -1; foreach ($columns as $c) { $i++; // si es un array busca la clave "attribute" if (is_array($c)) { foreach ($c as $key => $value) { if ($key == 'attribute') { $poSel[] = $i;
/** * Finds the UfTitularidadPersonas model based on its primary key value. * If the model is not found, a 404 HTTP exception will be thrown. * @param integer $id * @return UfTitularidadPersonas the loaded model * @throws NotFoundHttpException if the model cannot be found */ protected function findModel($id) { if (($model = UfTitularidadPersonas::findOne($id)) !== null) { return $model; } else { throw new NotFoundHttpException('The requested page does not exist.'); } }