/** * Creates data provider instance with search query applied * * @param array $params * * @return ActiveDataProvider */ public function search($params) { $query = AcAcEspec::find(); $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_ac_centr' => $this->id_ac_centr]); $query->andFilterWhere(['like', 'cod_ac_espe', $this->cod_ac_espe])->andFilterWhere(['like', 'nombre', $this->nombre]); return $dataProvider; }
/** * Funcion de respuesta para el AJAX de * acciones especificas * @return array JSON */ public function actionAce1() { $request = Yii::$app->request; if ($request->isAjax) { Yii::$app->response->format = Response::FORMAT_JSON; if ($request->isPost) { //Acciones Especificas $ace = AcAcEspec::find()->select(["accion_centralizada_accion_especifica.id", "CONCAT(accion_centralizada_accion_especifica.cod_ac_espe,' - ',accion_centralizada_accion_especifica.nombre) AS name"])->innerjoin('accion_centralizada', 'accion_centralizada.id=accion_centralizada_accion_especifica.id_ac_centr')->where(['accion_centralizada.id' => $request->post('depdrop_parents'), 'accion_centralizada_accion_especifica.estatus' => 1])->asArray()->all(); return ['output' => $ace]; } } }
public function nombre_accion($accion) { $especifica = AcAcEspec::find()->where(['id' => $accion])->one(); return $especifica->nombre; }
/** * 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]); }