コード例 #1
0
 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;
 }
コード例 #2
0
 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]);
 }