/**
  * Store a newly created resource in storage.
  *
  * @return Response
  */
 public function store(Request $request)
 {
     $commande = new Commande();
     $commande->com_date = Carbon::now();
     $user = $request->user();
     $commande->com_fk_clients = $user->id;
     $commande->save();
     foreach ($request->all() as $id => $qte) {
         if ($id != '_token') {
             $ligneActuel = IdentifiantCombi::find($id);
             $ligneActuel->commandes()->attach($commande->com_id, ['lig_quantite' => $qte]);
         }
     }
     $request->session()->forget('panier');
     $request->session()->forget('taillepanier');
     return redirect('commande');
 }
 /**
  * Suppression de la commande et des produits attachés.
  * Retrouve la commande, détache les produits et efface la commande de la bd.
  *
  * @param  int  $id (L'id de la commande à effacer)
  * @return \Illuminate\Http\Response
  */
 public function destroy($id)
 {
     try {
         $commande = Commande::findOrFail($id);
         $commande->produitsFinis()->detach();
         $commande->delete();
     } catch (ModelNotFoundException $e) {
         App::abort(404);
     }
     return Redirect::action('CommandesController@index');
 }
Example #3
0
 public function actionAcquisition()
 {
     $fourn = new Fournisseur();
     $cmd = new Commande();
     $fact = new Facture();
     $model = new Bien();
     $dat = new Dat();
     $soufamille = new Sousfamille();
     $quantite = Yii::$app->request->post('quantite');
     if ($model->load(Yii::$app->request->post()) && $cmd->load(Yii::$app->request->post()) && $fact->load(Yii::$app->request->post()) && $dat->load(Yii::$app->request->post()) && $soufamille->load(Yii::$app->request->post()) && $fourn->load(Yii::$app->request->post()) && $quantite) {
         //controler si le code bien nesxite pas ds la table bien
         /*	$control = Bien::find()->where(['codebien' => $model->codebien])->one();
           	if ($control) {
           		Yii::$app->getSession()->setFlash('danger', 'Erreur!!! le code que vous avez entré existe déja.');
           		return $this->redirect(['acquisition']);
           	}*/
         $countt = Bien::find()->count();
         //print ("count= $countt");
         $cdbienX = Bien::find()->where(['seq' => $countt])->one();
         if ($quantite < 100) {
             for ($i = 1; $i < $quantite + 1; $i++) {
                 $model2 = new Bien();
                 $cdsf = Sousfamille::find()->where(['designationsousfamille' => $soufamille->designationsousfamille])->one();
                 //$cdbien = $model->codebien;
                 $cdbien = $cdbienX->seq;
                 $sf = $cdsf->codesousfamille;
                 $som = $cdbien + $i;
                 $model2->codebien = "" . $sf . "" . $som;
                 $model2->seq = $som;
                 //print ("code=  $model2->codebien");
                 $dte = $dat->dt;
                 $fournisseurCod = $fourn->regcomm;
                 $fact->regcomm = $fournisseurCod;
                 //controle de date
                 $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
                 $tabPicker = explode('/', $dte);
                 $secPicker = mktime(0, 0, 0, $tabPicker[1], $tabPicker[0], $tabPicker[2]);
                 if ($secSys >= $secPicker) {
                     $model->dateacquisition = $dte;
                     $dat->save();
                     $model2->dateacquisition = $dte;
                     $datcmd = $cmd->datecmd;
                     $datfact = $fact->datefact;
                     $cmd->save();
                     $fact->save();
                     // faire le control des date cmd et date fact
                     if ($datcmd != null) {
                         $tabDatCmd = explode('/', $datcmd);
                         $secDatCmd = mktime(0, 0, 0, $tabDatCmd[1], $tabDatCmd[0], $tabDatCmd[2]);
                         if ($secSys < $secDatCmd) {
                             Yii::$app->getSession()->setFlash('danger', 'La date de commande que vous avez entrée est superieure à la date d aujourdhui. Veuillez entrer une date valide s il vous plait');
                             return $this->redirect(['acquisition']);
                         }
                     }
                     if ($datfact != null) {
                         $tabDatFact = explode('/', $datfact);
                         $secDatFact = mktime(0, 0, 0, $tabDatFact[1], $tabDatFact[0], $tabDatFact[2]);
                         if ($secSys < $secDatFact) {
                             Yii::$app->getSession()->setFlash('danger', 'La date de facture que vous avez entrée est superieure à la date d aujourdhui. Veuillez entrer une date valide s il vous plait');
                             return $this->redirect(['acquisition']);
                         }
                     }
                     $cmde = $cmd->numcmd;
                     $model->numcmd = $cmde;
                     $model2->numcmd = $cmde;
                     $facte = $fact->numfacture;
                     $model->numfacture = $facte;
                     $model2->numfacture = $facte;
                     $desSfam = $soufamille->designationsousfamille;
                     $soufam = Sousfamille::find()->where(['designationsousfamille' => $desSfam])->one();
                     $sfamille = $soufam->codesousfamille;
                     $model->codesousfamille = $sfamille;
                     $des = $model->designationbien;
                     $model2->designationbien = $des;
                     $model2->codesousfamille = $sfamille;
                     $model2->statutbien = 'acquis';
                     $etat = $model->etatbien;
                     $model2->etatbien = $etat;
                     $comm = $model->commentaire;
                     $model2->commentaire = $comm;
                     $poids = $model->poids;
                     $model2->poids = $poids;
                     $datedebugarantie = $model->datedebugarantie;
                     $datefingarantie = $model->datefingarantie;
                     if ($datedebugarantie != null && $datefingarantie != null) {
                         //convertir datedebugarantie en seconde pr faire le control
                         $tabDatDebu = explode('/', $datedebugarantie);
                         $secDatDebu = mktime(0, 0, 0, $tabDatDebu[1], $tabDatDebu[0], $tabDatDebu[2]);
                         $model2->datedebugarantie = $datedebugarantie;
                         //convertir datefingarantie en seconde pr faire le control
                         $tabDatFin = explode('/', $datefingarantie);
                         $secDatFin = mktime(0, 0, 0, $tabDatFin[1], $tabDatFin[0], $tabDatFin[2]);
                         $model2->datefingarantie = $datefingarantie;
                         if ($secDatDebu >= $secDatFin) {
                             Yii::$app->getSession()->setFlash('danger', 'La date début de garantie ne doit pas être supérieure à la date de fin de garantie. Veuillez vérifier vos dates s il vous plait');
                             return $this->redirect(['acquisition']);
                         }
                         //if ($secDatDebu > $secSys || $secDatFin > $secSys) {
                         if ($secDatDebu > $secSys) {
                             Yii::$app->getSession()->setFlash('danger', 'La date de garantie est supérieure à la date d aujourdhui. Veuillez entrer une date valide s il vous plait');
                             return $this->redirect(['acquisition']);
                         }
                     }
                     $modele = $model->modele;
                     $model2->modele = $modele;
                     $model2->save();
                 } else {
                     Yii::$app->getSession()->setFlash('danger', 'La date d acquisition que vous avez entrée est superieure à la date d aujourdhui. Veuillez entrer une date valide s il vous plait');
                     return $this->redirect(['acquisition']);
                 }
             }
         } else {
             Yii::$app->getSession()->setFlash('danger', 'La quantité que vous avez saisie est très grande. Veuillez vérifier cette quantité s il vous plait');
             return $this->redirect(['acquisition']);
         }
         $imm = strcmp($soufamille->designationsousfamille, "Terrains de construction");
         if ($model2->save()) {
             if ($imm == 0) {
                 return $this->redirect(['immobilier', 'id' => $cdbienX->seq, 'quantite' => $quantite, 'sf' => $sf]);
             } else {
                 return $this->redirect(['amort', 'id' => $cdbienX->seq, 'quantite' => $quantite, 'sf' => $sf]);
             }
         }
     } else {
         return $this->render('vueAcquisition', ['model' => $model, 'soufamille' => $soufamille, 'dat' => $dat, 'cmd' => $cmd, 'fact' => $fact, 'fourn' => $fourn]);
     }
 }