/** * @inheritdoc */ public function getDescription() { switch ($this->key) { case self::KEY_NUEVO_PEDIDO: $pedido = ProyectoPedido::findOne($this->key_id); return Yii::t('app', 'Pedido #{pedido} por {usuario}', ['pedido' => $pedido->id, 'usuario' => $pedido->asignado0->usuario->username]); break; case self::KEY_NUEVO_PEDIDO_ACC: $pedido = AccionCentralizadaPedido::findOne($this->key_id); return Yii::t('app', 'Pedido #{pedido} por {usuario}', ['pedido' => isset($pedido->id) ? $pedido->id : '', 'usuario' => isset($pedido->asignado0->nombreUsuario) ? isset($pedido->asignado0->nombreUsuario) : '']); break; case self::KEY_PEDIDO_ACC_APROBADO: $acc_uej = AcEspUej::findOne($this->key_id); $pedido = $acc_uej->Nombreunidadejecutora; $aprobado = $acc_uej->aprobado == 1 ? 'aprobados' : 'no aprobados'; return Yii::t('app', 'Pedidos De Unidad Ejecutora ' . $pedido . ' fuerón ' . $aprobado . ''); break; case self::KEY_FEEDBACK: $feedback = Feedback::findOne($this->key_id); return Yii::t('app', 'Observación del proyecto #{id} <div class="actions pull-right"> <span class="notification-seen fa fa-eye" onclick="feedback({id})"></span> </div> ', ['id' => $feedback->id]); break; } }
/** * Creates data provider instance with search query applied * * @param array $params * * @return ActiveDataProvider */ public function search($params) { $query = AcEspUej::find(); $query->joinWith(['idAccionEspecifica.idAcCentr', 'idAccionEspecifica', 'idUe']); $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; } $query->andFilterWhere(['id' => $this->id, 'id_ue' => $this->id_ue, 'id_ac_esp' => $this->id_ac_esp]); //Ordenamiento $dataProvider->sort->attributes['nombre_central'] = ['asc' => ['accion_centralizada.nombre_accion' => SORT_ASC], 'desc' => ['accion_centralizada.nombre_accion' => SORT_DESC]]; $dataProvider->sort->attributes['nombre_acc'] = ['asc' => ['accion_centralizada_accion_especifica.nombre' => SORT_ASC], 'desc' => ['accion_centralizada_accion_especifica.nombre' => SORT_DESC]]; $dataProvider->sort->attributes['nombre_ue'] = ['asc' => ['unidad_ejecutora.nombre' => SORT_ASC], 'desc' => ['unidad_ejecutora.nombre' => SORT_DESC]]; $query->andFilterWhere(['like', 'accion_centralizada.nombre_accion', $this->nombre_central]); $query->andFilterWhere(['like', 'accion_centralizada_accion_especifica.nombre', $this->nombre_acc]); $query->andFilterWhere(['like', 'unidad_ejecutora.nombre', $this->nombre_ue]); return $dataProvider; }
/** * Funcion de respuesta para el AJAX de * acciones especificas unidad ejecutora * @return array JSON */ public function actionAce2() { $request = Yii::$app->request; if ($request->isAjax) { Yii::$app->response->format = Response::FORMAT_JSON; if ($request->isPost) { //Acciones Especificas $ace = AcEspUej::find()->where(['id_ue' => $request->post('id_unidad')])->andwhere(['id_ac_esp' => $request->post('id_especifica')])->One(); if ($ace != NULL) { return $ace->id; } else { return null; } } } }
public function uejecutoras_crear($id_ue) { $model_uej = new AcEspUej(); $model_uej->id_ue = $id_ue; $model_uej->id_ac_esp = $this->id; if ($model_uej->save()) { return true; } else { return false; } }
public function notificacion_cargar($evento) { if ($evento->name == 'pedido_aprobado') { //buscando los usuarios que tenga asignado esa unidad ejecutora y accion_especifica $usuarios = AcEspUej::find()->select(["accion_centralizada_asignar.usuario"])->innerjoin('accion_centralizada_asignar', 'accion_centralizada_ac_especifica_uej.id=accion_centralizada_asignar.accion_especifica_ue')->where(['accion_centralizada_asignar.accion_especifica_ue' => $this->id])->andWhere(['accion_centralizada_ac_especifica_uej.estatus' => 1])->asArray()->all(); foreach ($usuarios as $key => $usuario) { Notification::notify(Notification::KEY_PEDIDO_ACC_APROBADO, $usuario['usuario'], $this->id); } } }
public function actionAprobar($id) { $model = AcEspUej::find()->where(['id' => $id])->One(); Yii::$app->response->format = Response::FORMAT_JSON; if ($model->id != null && $model->toggleAprobar()) { return ['forceClose' => true, 'forceReload' => '#aprobar']; } else { return ['title' => 'Ocurrió un error.', 'content' => '<span class="text-danger">No se pudo realizar la operación. Error desconocido</span>', 'footer' => Html::button('Close', ['class' => 'btn btn-default pull-left', 'data-dismiss' => "modal"])]; return; } }
/** * Accion para importar acciones especificas. * @param integer $accion_centralizada es el id de una accion central * @return mixed */ public function actionImportar($accion_central) { $request = Yii::$app->request; $modelo = new UploadForm(); if ($request->isPost) { $archivo = file($_FILES['UploadForm']['tmp_name']['importFile']); $bandera = 0; $contador = 0; $mensaje = ""; $id_accion_especifica = ""; $connection = \Yii::$app->db; $transaction = $connection->beginTransaction(); try { foreach ($archivo as $llave => $valor) { $exploded = explode(';', str_replace('"', '', $valor)); if ($bandera == 0) { $ac = AcAcEspec::find()->where(['cod_ac_espe' => $exploded[0], 'id_ac_centr' => $accion_central])->one(); if ($ac == null) { $ac = new AcAcEspec(); $ac->id_ac_centr = $accion_central; $ac->cod_ac_espe = str_replace("'", "", $exploded[0]); $ac->nombre = $exploded[1]; $ac->estatus = 0; $ac->isNewRecord = true; $ac->id = null; $ac->save(false); //guardando unidad ejecutora de esa accion especifica //si existe unidades ejecutoras $exploded[2] = str_replace("'", "", $exploded[2]); if (isset($exploded[2]) && $exploded[2] > 0) { $bandera = 1; $contador = $exploded[2]; $id_accion_especifica = $ac->id; } } else { $mensaje = "Codigo De Accion Ya Existe"; } } else { //print_r($exploded); exit(); $exploded[0] = str_replace("'", "", $exploded[0]); $exploded[0] = str_replace("\r\n", "", $exploded[0]); $ej = UnidadEjecutora::find()->where(['codigo_ue' => $exploded[0]])->one(); if ($ej != null) { $ac_ej = new AcEspUej(); } else { $mensaje = "No Existe El Codigo De Unidad Ejecutora " . $exploded[0]; } $ac_ej->id_ue = $ej['id']; $ac_ej->id_ac_esp = $id_accion_especifica; $ac_ej->save(false); $contador = $contador - 1; if ($contador == 0) { $bandera = 0; } } } $transaction->commit(); Yii::$app->session->setFlash('importado', '<div class="alert alert-success">Registros importados exitosamente.</div>'); return $this->refresh(); } catch (\Exception $e) { $transaction->rollBack(); Yii::$app->session->setFlash('importado', '<div class="alert alert-danger">' . $mensaje . '</div>'); } } return $this->render('importar', ['modelo' => $modelo, 'accion_central' => $accion_central]); }
public function getAccion_especifica_ue0() { return $this->hasOne(AcEspUej::className(), ['id' => 'accion_especifica_ue']); }