public function search($params, $idcc) { $query = Comptecomptable::find()->where(['codecomptecomptable' => $idcc]); $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(['codecomptecomptable' => $this->codecomptecomptable, 'comptecomptableref' => $this->comptecomptableref]); $query->andFilterWhere(['like', 'designationcomptecomptable', $this->designationcomptecomptable])->andFilterWhere(['like', 'type', $this->type]); return $dataProvider; }
public function actionJournalglobale() { $comptecomp = null; $model = new Bien(); $data = array(); $data = null; $i = 0; $searchModel = new BienSearch(); $dataProvider = $searchModel->searchConsultationBien(Yii::$app->request->queryParams, '0'); $formatter = \Yii::$app->formatter; $now = time(); $comptecomp = 00; $totalActif = 0.0; $totalDotation = 0.0; $totalAmort = 0.0; $totalvalNet = 0.0; if ($model->load(Yii::$app->request->post())) { $anneeExercice = $model->anneexercice; } /*-----------------------------rechercher la famille --------------------------------------------*/ if ($model->load(Yii::$app->request->post())) { $modelRes = new Bien(); $searchModelF = new FamilleSearch(); $searchModelCc = new ComptecomptableSearch(); $dataProviderCc = $searchModelCc->searchC(Yii::$app->request->queryParams); $modelCc = $dataProviderCc->getModels(); $modelCc = Comptecomptable::find()->all(); foreach ($modelCc as $rowCc) { $comptecomp = 0; $totalActif = 0; $totalDotation = 0; $totalAmort = 0; $totalvalNet = 0; $comptecomp = $rowCc->codecomptecomptable; $compte = $comptecomp; $cpt = substr('' . $compte, 0, 3); if ($cpt != "211") { $dataProviderF = $searchModelF->searchF(Yii::$app->request->queryParams, $comptecomp); $modelF = $dataProviderF->getModels(); foreach ($modelF as $rowF) { /*----------------------Rechercher la sous famille ------------------------------------------*/ $searchModelsf = new SousFamilleSearch(); $dataProvidersf = $searchModelsf->search(Yii::$app->request->queryParams, $rowF->codefamille); $modelssf = $dataProvidersf->getModels(); foreach ($modelssf as $rowsF) { /*--------------------------Rechercher liste des biens------------------------------*/ $dataProvider = $searchModel->searchConsultationBien(Yii::$app->request->queryParams, $rowsF->codesousfamille); $models = $dataProvider->getModels(); foreach ($models as $row) { $resultatfinal = $this->CalculeAmortissements($row->dateacquisition, $anneeExercice, $row->dureevie, $row->prixachat); $ind = count($resultatfinal) - 1; $totalActif = $resultatfinal[$ind][1] + $totalActif; $totalAmort = $totalAmort + $resultatfinal[$ind][3]; $totalvalNet = $totalvalNet + $resultatfinal[$ind][4]; } } } /*---------------------------------------- tableau de resultat -----------------------------------*/ if ($totalActif != 0) { $formatter = \Yii::$app->formatter; $totalActif = number_format($totalActif, 2, ',', ' '); $totalAmort = number_format($totalAmort, 2, ',', ' '); $totalvalNet = number_format($totalvalNet, 2, ',', ' '); $data[$i] = ['compte comptable' => $comptecomp, 'designation compte' => $rowCc->designationcomptecomptable, 'valeur brute' => $totalActif, 'amortissements cumulés' => $totalAmort, 'valeur nette' => $totalvalNet]; $i++; } } } $dataProviderRes = new ArrayDataProvider(['allModels' => $data, 'sort' => ['attributes' => ['compte comptable', 'designation compte', 'valeur brute', 'dotation', 'amortissements cumulés', 'valeur nette']]]); $dataProvider = $dataProviderRes; } return $this->render('journalglob', ['searchModel' => $searchModel, 'dataProvider' => $dataProvider, 'model' => $model]); }