/** * Creates data provider instance with search query applied * * @param array $params * * @return ActiveDataProvider */ public function search($params) { $query = AccionCentralizadaAsignar::find(); // Join para la relacion //$query->joinWith(['unidadEjecutora']); $query->joinWith(['accion_centralizada_ac_especifica_uej']); //$query->joinWith(['accion_centralizada_ac_especifica_uej.idAcEsp']); $query->joinWith(['accion_centralizada_ac_especifica_uej.idAcEsp.idAcCentr']); //$query->joinWith(['accion_centralizada_accion_especifica', 'accion_centralizada_ac_especifica_uej.id_ac_esp=accion_centralizada_accion_especifica.id']); $dataProvider = new ActiveDataProvider(['query' => $query]); //Ordenamiento /*$dataProvider->sort->attributes['nombreUe'] = [ 'asc' => ['unidad_ejecutora.nombre' => SORT_ASC], 'desc' => ['unidad_ejecutora.nombre' => SORT_DESC], ]; $dataProvider->sort->attributes['nombreAe'] = [ 'asc' => ['accion_centralizada_accion_especifica.nombre' => SORT_ASC], 'desc' => ['accion_centralizada_accion_especifica.nombre' => SORT_DESC], ]; */ $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, 'usuario' => $this->usuario]); $query->andFilterWhere(['accion_centralizada_asignar.estatus' => $this->estatus]); $query->andFilterWhere(['accion_centralizada_ac_especifica_uej.aprobado' => 0]); $query->andFilterWhere(['accion_centralizada.aprobado' => 1]); //$query->andFilterWhere(['like', 'unidad_ejecutora.nombre', $this->nombreUe]); //$query->andFilterWhere(['like', 'accion_centralizada_accion_especifica.nombre', $this->nombreAe]); return $dataProvider; }
/** * Creates data provider instance with search query applied * * @param array $params * * @return ActiveDataProvider */ public function search($params) { $query = AccionCentralizadaAsignar::find(); $query->joinWith(["accion_centralizada_ac_especifica_uej.idUe", "accion_centralizada_ac_especifica_uej.idAccionEspecifica", "accion_centralizada_ac_especifica_uej.idAccionEspecifica.idAcCentr"]); $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, 'usuario' => $this->usuario]); $dataProvider->sort->attributes['nombreacc'] = ['asc' => ['accion_centralizada.nombre_accion' => SORT_ASC], 'desc' => ['accion_centralizada.nombre_accion' => SORT_DESC]]; $dataProvider->sort->attributes['nombreacc_acc'] = ['asc' => ['accion_centralizada_accion_especifica.nombre' => SORT_ASC], 'desc' => ['accion_centralizada_accion_especifica.nombre' => SORT_DESC]]; $dataProvider->sort->attributes['nombreue'] = ['asc' => ['unidad_ejecutora.nombre.nombre' => SORT_ASC], 'desc' => ['unidad_ejecutora.nombre.nombre' => SORT_DESC]]; $query->andFilterWhere(['like', 'accion_centralizada.nombre_accion', $this->nombreacc]); $query->andFilterWhere(['like', 'accion_centralizada_accion_especifica.nombre', $this->nombreacc_acc]); $query->andFilterWhere(['like', 'unidad_ejecutora.nombre', $this->nombreue]); return $dataProvider; }
/** * Finds the ProyectoAsignar model based on its primary key value. * If the model is not found, a 404 HTTP exception will be thrown. * @param integer $id * @return ProyectoAsignar the loaded model * @throws NotFoundHttpException if the model cannot be found */ protected function findModel($id) { if (($model = AccionCentralizadaAsignar::findOne($id)) !== null) { return $model; } else { throw new NotFoundHttpException('The requested page does not exist.'); } }
/** * @return \yii\db\ActiveQuery */ public function getAsignado0() { return $this->hasOne(AccionCentralizadaAsignar::className(), ['id' => 'asignado']); }
public function getPedidoEjecutado() { //buscar si la asignacion ya fue ejecutada $asignacion = AccionCentralizadaAsignar::find()->select(['accion_centralizada_pedido.id'])->innerjoin('accion_centralizada_pedido', 'accion_centralizada_pedido.asignado=accion_centralizada_asignar.id')->where(['accion_centralizada_asignar.accion_especifica_ue' => $this->id])->One(); //print_r($asignacion); if ($asignacion != NULL) { return 1; } else { return 0; } }
/** * Determinar si posee o no requerimientos/pedidos * de accion central aprobados * @return bolean */ public function hasRequirements() { $model = AccionCentralizadaAsignar::find()->where(['usuario' => $this->Id])->All(); if ($model != null) { foreach ($model as $key => $value) { if ($value->accion_centralizada_ac_especifica_uej->aprobado == 0) { return true; } } //fin del for return false; } //fin del if }
/** * Updates an existing AccionCentralizadaPedido model. * For ajax request will return json object * and for non-ajax request if update is successful, the browser will be redirected to the 'view' page. * @param integer $id * @return mixed */ public function actionUpdate($id) { $request = Yii::$app->request; $model = $this->findModel($id); //autocomplete //$materiales = MaterialesServicios::find() // ->select(['nombre', 'id', 'precio']) // ->all(); $materiales = UePartidaEntidad::find()->andWhere(['id_tipo_entidad' => 2])->andWhere(['id_ue' => $model->asignado0->accion_especifica_ue0->id_ue])->All(); foreach ($materiales as $key => $value) { foreach ($value->materialesPartidaEntidad as $key => $value) { if (isset($value)) { $materiales1[] = $value; } } } if ($request->isAjax) { /* * Process for ajax request */ Yii::$app->response->format = Response::FORMAT_JSON; //verificando que la unidad ejecutora no este aprobada $usuario = UserAccounts::findOne(\Yii::$app->user->id); $accion = AccionCentralizadaAsignar::find()->where(['usuario' => $usuario->id])->One(); if ($accion->accion_centralizada_ac_especifica_uej->aprobado == 1) { return ['title' => "Requerimientos", 'content' => '<span class="text-danger">Esta Unidad Ejecutora Ya no Puede Realizar Pedidos </span>', 'footer' => Html::button('Cerrar', ['class' => 'btn btn-default pull-left', 'data-dismiss' => "modal"])]; } if ($request->isGet) { return ['title' => "Pedido", 'content' => $this->renderAjax('update', ['model' => $this->findModel($id), 'materiales' => $materiales1]), 'footer' => Html::button('Cerrar', ['class' => 'btn btn-default pull-left', 'data-dismiss' => "modal"]) . Html::button('Guardar', ['class' => 'btn btn-primary', 'type' => "submit"])]; } else { if ($model->load($request->post()) && $model->save()) { return ['forceReload' => 'true', 'title' => "Pedido", 'content' => $this->renderAjax('view', ['model' => $this->findModel($id), 'materiales' => $materiales1]), 'footer' => Html::button('Cerrar', ['class' => 'btn btn-default pull-left', 'data-dismiss' => "modal"]) . Html::a('Editar', ['update', 'id' => $id], ['class' => 'btn btn-primary', 'role' => 'modal-remote'])]; } else { return ['title' => "Pedido", 'content' => $this->renderAjax('update', ['model' => $this->findModel($id), 'materiales' => $materiales1]), 'footer' => Html::button('Cerrar', ['class' => 'btn btn-default pull-left', 'data-dismiss' => "modal"]) . Html::button('Guardar', ['class' => 'btn btn-primary', 'type' => "submit"])]; } } } else { /* * Process for non-ajax request */ if ($model->load($request->post()) && $model->save()) { return $this->redirect(['view', 'id' => $model->id]); } else { return $this->render('update', ['model' => $model, 'materiales' => $materiales]); } } }
/** * Encontrar los usuarios que esten asociados a las acciones especificas * @return array * @param integer $id, $acc * @param string or array $q */ public function actionAce1($q = NULL, $id = NULL, $acc = NULL) { $request = Yii::$app->request; Yii::$app->response->format = Response::FORMAT_JSON; $out = ['results' => ['id' => '', 'text' => '']]; if (!is_null($q)) { //si $q es string buscar ese en especifico if (stristr($q, ',') == false) { $ace = AccionCentralizadaAsignar::find()->select(["user_accounts.id as id", "user_accounts.username AS name"])->innerjoin('user_accounts', 'user_accounts.id=accion_centralizada_asignar.usuario')->innerjoin('accion_centralizada_ac_especifica_uej', 'accion_centralizada_ac_especifica_uej.id=accion_centralizada_asignar.accion_especifica_ue')->where(['accion_centralizada_ac_especifica_uej.id_ue' => $id])->andwhere(['accion_centralizada_ac_especifica_uej.id_ac_esp' => $acc])->andWhere(['LIKE', 'user_accounts.username', $q])->andWhere(['accion_centralizada_ac_especifica_uej.estatus' => 1])->asArray()->all(); $out['results'] = array_values($ace); return $out; } else { //si $q es array buscar el conjunto; $q = explode(',', $q); $ace = AccionCentralizadaAsignar::find()->select(["user_accounts.id as id", "user_accounts.username AS name"])->innerjoin('user_accounts', 'user_accounts.id=accion_centralizada_asignar.usuario')->innerjoin('accion_centralizada_ac_especifica_uej', 'accion_centralizada_ac_especifica_uej.id=accion_centralizada_asignar.accion_especifica_ue')->where(['accion_centralizada_ac_especifica_uej.id_ue' => $id])->andwhere(['accion_centralizada_ac_especifica_uej.id_ac_esp' => $acc])->andWhere(['in', 'user_accounts.username', $q])->andWhere(['accion_centralizada_ac_especifica_uej.estatus' => 1])->asArray()->all(); $out['results'] = array_values($ace); return $out; } } elseif ($id > 1) { //si $q es vacio ignorarlo en la busqueda. $ace = AccionCentralizadaAsignar::find()->select(["user_accounts.id as id", "user_accounts.username AS name"])->innerjoin('user_accounts', 'user_accounts.id=accion_centralizada_asignar.usuario')->innerjoin('accion_centralizada_ac_especifica_uej', 'accion_centralizada_ac_especifica_uej.id=accion_centralizada_asignar.accion_especifica_ue')->where(['accion_centralizada_ac_especifica_uej.id_ue' => $id])->andwhere(['accion_centralizada_ac_especifica_uej.id_ac_esp' => $acc])->andWhere(['accion_centralizada_ac_especifica_uej.estatus' => 1])->asArray()->all(); $out['results'] = $ace; return $out; } $out['results'] = array_values(['id' => 0, 'text' => 'No Se Encontraron Resultados']); return $out; }
public function requerimiento_pendiente($user) { $model = AccionCentralizadaAsignar::find()->where(['usuario' => $user])->All(); if ($model != null) { $bandera = 0; foreach ($model as $key => $value) { if ($value->accion_centralizada_ac_especifica_uej->aprobado == 0) { return true; } } //fin del for return false; } //fin del if }