Browse Source

[Backend] Page commandes : ordre d'affichage des produits dans le bloc Produits

Afficher en premier les produits qui sont activés pour la production.
Amélioration du chargement des produits via un join avec production_produit.
prodstable
keun 8 years ago
parent
commit
cf3ed2c5a5
2 changed files with 20 additions and 10 deletions
  1. +6
    -10
      backend/controllers/CommandeController.php
  2. +14
    -0
      common/models/Produit.php

+ 6
- 10
backend/controllers/CommandeController.php View File

->where(['id_etablissement' => Yii::$app->user->identity->id_etablissement]) ->where(['id_etablissement' => Yii::$app->user->identity->id_etablissement])
->all(); ->all();


// produits
$produits = Produit::find()
->where(['id_etablissement' => Yii::$app->user->identity->id_etablissement])
->orderBy('order ASC')
->all();

// users // users
$arr_users = [0 => '--']; $arr_users = [0 => '--'];
$users = User::find()->orderBy('prenom, nom ASC')->all(); $users = User::find()->orderBy('prenom, nom ASC')->all();
} }
} }


// produits
$produits = Produit::getByProduction($production->id) ;
// gestion des commandes // gestion des commandes
$this->gestionFormCommandes($production, $date, $points_vente, $produits, $users); $this->gestionFormCommandes($production, $date, $points_vente, $produits, $users);


$data_options_commandes[$c->id]['data-commande'] = json_encode($array_options[$c->id]) ; $data_options_commandes[$c->id]['data-commande'] = json_encode($array_options[$c->id]) ;
$data_options_commandes[$c->id]['value'] = $c->id ; $data_options_commandes[$c->id]['value'] = $c->id ;
//print_r($data_options_commandes) ;
//die() ;
//$data_options_commandes[] ;
} }
//die() ;
$pv->data_select_commandes = $data_select_commandes ; $pv->data_select_commandes = $data_select_commandes ;
$pv->data_options_commandes = $data_options_commandes ; $pv->data_options_commandes = $data_options_commandes ;
} }
} }
} }
} }
// produits
$produits = Produit::getByProduction($production->id) ;


// poids total de la production et CA potentiel // poids total de la production et CA potentiel
$ca_potentiel = 0; $ca_potentiel = 0;

+ 14
- 0
common/models/Produit.php View File

]; ];
} }
public function getDescription() { public function getDescription() {
$description = $this->description ; $description = $this->description ;
if(isset($this->poids) && is_numeric($this->poids) && $this->poids > 0) { if(isset($this->poids) && is_numeric($this->poids) && $this->poids > 0) {
$this->id_etablissement = Yii::$app->user->identity->id_etablissement ; $this->id_etablissement = Yii::$app->user->identity->id_etablissement ;
return parent::save($runValidation, $attributeNames) ; return parent::save($runValidation, $attributeNames) ;
} }
public function getByProduction($id_production)
{
return Produit::find()
->leftJoin('production_produit', 'produit.id = production_produit.id_produit')
->where([
'id_etablissement' => Yii::$app->user->identity->id_etablissement,
'production_produit.id_production' => $id_production
])
->orderBy('production_produit.actif DESC, produit.order ASC')
->all();
}
} }

Loading…
Cancel
Save