Example #1
0
 public function actionIndexrefo()
 {
     $searchModel = new BienSearchReforme();
     $dataProvideraff = $searchModel->search(Yii::$app->request->queryParams);
     $i = 0;
     $data = null;
     $desunite = null;
     $desstr = null;
     $models = $dataProvideraff->getModels();
     foreach ($models as $row) {
         $searchModelaff = new AffecterSearch();
         $dataProvideraff = $searchModelaff->searchCod(Yii::$app->request->queryParams, $row->codebien);
         $modelsaff = $dataProvideraff->getModels();
         $y = 0;
         foreach ($modelsaff as $rowaff) {
             $searchModelbur = new BureauSearch();
             $dataProviderbur = $searchModelbur->searchCod(Yii::$app->request->queryParams, $rowaff->codebureau);
             $modelsbur = $dataProviderbur->getModels();
             foreach ($modelsbur as $rowbur) {
                 $trouv = false;
                 $codstr = $rowbur->codestructure;
                 do {
                     $searchModelstr = new StructureSearch();
                     $dataProviderstr = $searchModelstr->searchCod(Yii::$app->request->queryParams, $codstr);
                     $modelsstr = $dataProviderstr->getModels();
                     foreach ($modelsstr as $rowstr) {
                         if ($y == 0) {
                             $desstr = $rowstr->designation;
                             $y++;
                         }
                         $dataProviderstrt = $searchModelstr->searchCodtype(Yii::$app->request->queryParams, $rowstr->codestructure);
                         $modelsstrt = $dataProviderstrt->getModels();
                         if ($dataProviderstrt->getTotalCount() != 0) {
                             foreach ($modelsstrt as $rowstrt) {
                                 $desunite = $rowstrt->designation;
                             }
                             $trouv = true;
                         } else {
                             $codstr = $rowstr->codestructure_struct_chef;
                         }
                     }
                 } while ($trouv == false);
                 $data[$i] = ['codebien' => $row->codebien, 'désignation' => $row->designationbien, 'état' => $row->etatbien, 'date enregistrement' => $row->dateenr, 'structure' => $desstr, 'unité' => $desunite];
                 $i++;
             }
         }
     }
     $dataProviderRes = new ArrayDataProvider(['allModels' => $data, 'key' => 'codebien', 'sort' => ['attributes' => ['codebien', 'désignation', 'état', 'date enregistrement', 'unité', 'structure']]]);
     $dataProvider = $dataProviderRes;
     return $this->render('indexReforme', ['searchModel' => $searchModel, 'dataProvider' => $dataProvider]);
 }