Ejemplo n.º 1
0
 public function searchCodbur($params, $code)
 {
     $query = Affecter::find()->where(['codebureau' => $code]);
     $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(['codebien' => $this->codebien, 'numAffectation' => $this->numAffectation]);
     $query->andFilterWhere(['like', 'codebureau', $this->codebureau])->andFilterWhere(['like', 'dt', $this->dt]);
     return $dataProvider;
 }
 public function actionExtraireecartthph()
 {
     $i = 0;
     $cpt = 0;
     $cptstr = 0;
     $model = new Inventorier();
     $data = null;
     $searchModel = new InventorierSearch();
     $dataProvider = $searchModel->searchInvph(Yii::$app->request->queryParams);
     $models = $dataProvider->getModels();
     if ($model->load(Yii::$app->request->post())) {
         $querystr = Structure::find();
         $dataProviderstr = new ActiveDataProvider(['query' => $querystr]);
         $modelsstr = $dataProviderstr->getModels();
         foreach ($modelsstr as $rowstr) {
             if (intval($model->codestructure) == $rowstr->codestructure) {
                 $model->designationstructure = $rowstr->designation;
             }
         }
         /***/
         $query = Bien::find();
         $dataProviderb = new ActiveDataProvider(['query' => $query]);
         $modelsb = $dataProviderb->getModels();
         foreach ($modelsb as $rowb) {
             $cp = substr('' . $rowb->codebien, 0, 3);
             if ($cp != "211" && $cp != "212" && $cp != "213") {
                 if ($rowb->statutbien == "areformer" || $rowb->statutbien == "affecte" || $rowb->statutbien == "en reparation" || $rowb->statutbien == "transfere") {
                     if (($modeli = Inventorier::findOne($rowb->codebien)) !== null) {
                         if ($rowb->statutbien == 'affecte') {
                             $modelaff = Affecter::findOne($rowb->codebien);
                             $bur = $modelaff->codebureau;
                         } else {
                             $bur = $this->dernierTransfert($rowb->codebien);
                         }
                         if ($modeli->bureau !== $bur && $modeli->bureau !== null && $bur != null) {
                             $model->codebien = $rowb->codebien;
                             $motif = "transféré de Bureau " . $bur . " au Bureau " . $modeli->bureau;
                             $modelstr = Bureau::findOne($bur);
                             $cdstr = "" . $model->codestructure;
                             $cdstr2 = "" . $modelstr->codestructure;
                             $comp = strcmp($cdstr, $cdstr2);
                             echo "ici " . $comp;
                             if ($comp == 0) {
                                 echo "ici ";
                                 $data[$i] = ['codebien' => $rowb->codebien, 'designation' => $rowb->designationbien, 'etat' => $rowb->etatbien, 'bureau' => $bur, 'statutbien' => $motif];
                                 $i++;
                             }
                             $motif = null;
                         }
                         /*else
                         		{
                         		$data[$i] = ['codebien'=>$rowb->codebien, 'designation'=>$rowb->designationbien,'etat'=>$rowb->etatbien,];
                         		$i++;
                         		}*/
                     } else {
                         $bur = null;
                         if ($rowb->statutbien == 'affecte') {
                             $modelaff = Affecter::findOne($rowb->codebien);
                             if (Affecter::findOne($rowb->codebien) !== null) {
                                 $bur = $modelaff->codebureau;
                             }
                         } else {
                             if ($rowb->statutbien == "en reparation") {
                                 $bur = $this->dernierTransfert($rowb->codebien);
                                 if ($bur == null) {
                                     $modelaff = Affecter::findOne($rowb->codebien);
                                     if (Affecter::findOne($rowb->codebien) !== null) {
                                         $bur = $modelaff->codebureau;
                                     }
                                 }
                             } else {
                                 $bur = $this->dernierTransfert($rowb->codebien);
                             }
                         }
                         $modelstr = Bureau::findOne($bur);
                         if (strcmp($model->codestructure, $modelstr->codestructure) == 0) {
                             $modelstr = Bureau::findOne($bur);
                             $cdstr = $model->codestructure;
                             $cdstr2 = $modelstr->codestructure;
                             if ($cdstr == $cdstr2) {
                                 $data[$i] = ['codebien' => $rowb->codebien, 'designation' => $rowb->designationbien, 'etat' => $rowb->etatbien, 'bureau' => $bur, 'statutbien'];
                                 $i++;
                                 $cptstr++;
                             }
                         }
                     }
                 }
             }
         }
         /***/
     } else {
         $query = Bien::find();
         $dataProviderb = new ActiveDataProvider(['query' => $query]);
         $modelsb = $dataProviderb->getModels();
         foreach ($modelsb as $rowb) {
             if ($rowb->statutbien == "areformer" || $rowb->statutbien == "affecte" || $rowb->statutbien == "en reparation" || $rowb->statutbien == "transfere") {
                 if (($modeli = Inventorier::findOne($rowb->codebien)) !== null) {
                     if ($rowb->statutbien == 'affecte') {
                         $modelaff = Affecter::findOne($rowb->codebien);
                         $bur = $modelaff->codebureau;
                     } else {
                         $bur = $this->dernierTransfert($rowb->codebien);
                     }
                     if ($modeli->bureau !== $bur && $modeli->bureau !== null && $bur != null) {
                         $model->codebien = $rowb->codebien;
                         $motif = "transféré de Bureau " . $bur . " au Bureau " . $modeli->bureau;
                         $cp = substr('' . $rowb->codebien, 0, 3);
                         if ($cp != "211" && $cp != "212" && $cp != "213") {
                             $data[$i] = ['codebien' => $rowb->codebien, 'designation' => $rowb->designationbien, 'etat' => $rowb->etatbien, 'bureau' => $bur, 'statutbien' => $motif];
                             $i++;
                             $motif = null;
                             $cp = null;
                         }
                     }
                     /*else
                     {
                     	$data[$i] = ['codebien'=>$rowb->codebien, 'designation'=>$rowb->designationbien,'etat'=>$rowb->etatbien,];
                     	$i++;
                     }*/
                 } else {
                     $bur = null;
                     if ($rowb->statutbien == 'affecte') {
                         $modelaff = Affecter::findOne($rowb->codebien);
                         if (Affecter::findOne($rowb->codebien) !== null) {
                             $bur = $modelaff->codebureau;
                         }
                     } else {
                         if ($rowb->statutbien == "en reparation") {
                             $bur = $this->dernierTransfert($rowb->codebien);
                             if ($bur == null) {
                                 $modelaff = Affecter::findOne($rowb->codebien);
                                 if (Affecter::findOne($rowb->codebien) !== null) {
                                     $bur = $modelaff->codebureau;
                                 }
                             }
                         } else {
                             $bur = $this->dernierTransfert($rowb->codebien);
                         }
                     }
                     $cp = substr('' . $rowb->codebien, 0, 3);
                     if ($cp != "211" && $cp != "212" && $cp != "213") {
                         $data[$i] = ['codebien' => $rowb->codebien, 'designation' => $rowb->designationbien, 'etat' => $rowb->etatbien, 'bureau' => $bur, 'statutbien'];
                         $i++;
                         $cpt++;
                         $cp = null;
                     }
                 }
             }
         }
     }
     $model->ecarttotal = $cpt;
     $model->ecartstr = $cptstr;
     $dataProviderRes = new ArrayDataProvider(['allModels' => $data, 'key' => 'codebien', 'sort' => ['attributes' => ['codebien', 'designation', 'etat', 'bureau', 'statutbien']]]);
     $dataProvider = $dataProviderRes;
     return $this->render('extraireEcartThPh', ['dataProvider' => $dataProvider, 'model' => $model]);
 }
Ejemplo n.º 3
0
 public function actionStataparstatu()
 {
     $connection = new \yii\db\Connection(['dsn' => 'oci:dbname= //localhost/orcl', 'username' => 'immo_bdd', 'password' => 'immo2015']);
     $connection->open();
     $stru = new Structure();
     $cpt = 0;
     $fonc = null;
     $inst = null;
     $repa = null;
     $cede = null;
     $rebu = null;
     $dispar = null;
     $don = null;
     $debut = new Dat();
     $fin = new Dat();
     $dateSysteme = date('d/m/Y');
     //récupérer date systeme
     $tabSys = explode('/', $dateSysteme);
     //convertir en tableau dont le séparateur est /
     $secSys = mktime(0, 0, 0, $tabSys[1], $tabSys[0], $tabSys[2]);
     //convertir la date en seconde
     // le cas d'affectation
     if ($stru->load(Yii::$app->request->post()) && $debut->load(Yii::$app->request->post()) && $fin->load(Yii::$app->request->post())) {
         $datDebut = $debut->dt;
         $datFin = $fin->datefin;
         $tabDebut = explode('/', $datDebut);
         $secDebut = mktime(0, 0, 0, $tabDebut[1], $tabDebut[0], $tabDebut[2]);
         $datFin = $fin->dt;
         $tabFin = explode('/', $datFin);
         $secFin = mktime(0, 0, 0, $tabFin[1], $tabFin[0], $tabFin[2]);
         if ($secDebut <= $secFin && $secDebut <= $secSys && $secDebut <= $secSys) {
             $strDes = $stru->designation;
             $sieg = strcmp($strDes, "siege");
             $cherag = strcmp($strDes, "Succursale Cheraga");
             $annab = strcmp($strDes, "Succursale Annaba");
             $oran = strcmp($strDes, "Succursale Oran");
             $biens = Affecter::find()->all();
             //$biens = Affecter::find()->where(['and',  'dt'<=$datFin , "dt">='31/08/15'])->all();
             //$command = $connection->createCommand ('select * from "affecter" where "codebien"=21845200031 ')->queryOne();
             if ($sieg == 0) {
                 foreach ($biens as $bien) {
                     $bur = $bien->codebureau;
                     $test = $bur[1];
                     $cmp = strcmp($test, "1");
                     if ($cmp == 0) {
                         $cpt++;
                     }
                 }
                 $fonc = $cpt;
             } elseif ($cherag == 0) {
                 foreach ($biens as $bien) {
                     $bur = $bien->codebureau;
                     $test = $bur[1];
                     $cmp = strcmp($test, "2");
                     if ($cmp == 0) {
                         $cpt++;
                     }
                 }
                 $fonc = $cpt;
             } elseif ($annab == 0) {
                 foreach ($biens as $bien) {
                     $bur = $bien->codebureau;
                     $test = $bur[1];
                     $cmp = strcmp($test, "3");
                     if ($cmp == 0) {
                         $cpt++;
                     }
                 }
                 $fonc = $cpt;
             } elseif ($oran == 0) {
                 foreach ($biens as $bien) {
                     $bur = $bien->codebureau;
                     $test = $bur[1];
                     $cmp = strcmp($test, "4");
                     if ($cmp == 0) {
                         $cpt++;
                     }
                 }
                 $fonc = $cpt;
             } else {
                 $cpt++;
                 $fonc = $cpt;
             }
             //le cas de mise en instance
             $inst = (int) Instance::find()->where(['codestructure' => $stru->designation])->count();
             $repa = (int) Reparer::find()->where(['codestructure' => $stru->designation])->count();
             $cede = (int) Reformer::find()->where(['typereforme' => "Cession", 'codestructure' => $stru->designation])->count();
             $rebu = (int) Reformer::find()->where(['typereforme' => "MAR", 'codestructure' => $stru->designation])->count();
             $dispar = (int) Reformer::find()->where(['typereforme' => "Perdu", 'codestructure' => $stru->designation])->count();
             $don = (int) Reformer::find()->where(['typereforme' => "Don", 'codestructure' => $stru->designation])->count();
         } else {
             Yii::$app->getSession()->setFlash('danger', 'La date fin ne doit pas être supérieure à la date début');
             return $this->render('statParStatu', ['stru' => $stru, 'fonc' => $fonc, 'inst' => $inst, 'repa' => $repa, 'cede' => $cede, 'rebu' => $rebu, 'dispar' => $dispar, 'don' => $don]);
         }
     }
     return $this->render('statParStatu', ['stru' => $stru, 'fonc' => $fonc, 'inst' => $inst, 'repa' => $repa, 'cede' => $cede, 'rebu' => $rebu, 'dispar' => $dispar, 'don' => $don, 'debut' => $debut, 'fin' => $fin]);
 }