|
- <?php
-
- namespace common\models;
-
- use Yii;
- use yii\helpers\Html ;
-
- /**
- * This is the model class for table "commande".
- *
- * @property integer $id
- * @property integer $id_user
- * @property string $date
- * @property string $date_update
- * @property integer $id_point_vente
- * @property integer $id_production
- */
- class Commande extends \yii\db\ActiveRecord
- {
- var $montant = 0 ;
- var $montant_pain = 0 ;
- var $montant_vrac = 0 ;
- var $poids_pain = 0 ;
- var $poids_vrac = 0 ;
-
- /**
- * @inheritdoc
- */
- public static function tableName()
- {
- return 'commande';
- }
-
- public function init() {
- if(isset($this->commandeProduits)) {
- foreach($this->commandeProduits as $p) {
-
- if(isset($p->produit) && $p->produit->vrac) {
- $this->montant_vrac += $p->prix * $p->quantite/1000 ;
- $this->poids_vrac += $p->quantite/1000 ;
- }
- else {
- $this->montant_pain += $p->prix * $p->quantite ;
- if(isset($p->produit))
- $this->poids_pain += $p->quantite * $p->produit->poids/1000 ;
- }
- }
-
- $this->montant = $this->montant_vrac + $this->montant_pain ;
- }
- }
-
- public static function getQuantiteProduit($id_produit, $commandes) {
-
- $quantite = 0 ;
-
- if(isset($commandes) && is_array($commandes) && count($commandes)) {
- foreach($commandes as $c) {
- foreach($c->commandeProduits as $cp) {
- if($cp->id_produit == $id_produit)
- $quantite += $cp->quantite ;
- }
- }
- }
-
- return $quantite ;
- }
-
- /*
- * relations
- */
-
- public function getUser() {
- return $this->hasOne(User::className(), ['id'=>'id_user']) ;
- }
-
- public function getCommandeProduits() {
- return $this->hasMany(CommandeProduit::className(), ['id_commande'=>'id'])->with('produit') ;
- }
-
- public function getProduction() {
- return $this->hasOne(Production::className(), ['id'=>'id_production'])->with('etablissement') ;
- }
-
- public function getPointVente() {
- return $this->hasOne(PointVente::className(), ['id'=>'id_point_vente']) ;
- }
-
- /**
- * @inheritdoc
- */
- public function rules()
- {
- return [
- [['id_user', 'date', 'id_point_vente','id_production'], 'required','message'=>''],
- [['id_user', 'id_point_vente', 'id_production'], 'integer'],
- [['date', 'date_update','commentaire'], 'safe']
- ];
- }
-
- /**
- * @inheritdoc
- */
- public function attributeLabels()
- {
- return [
- 'id' => 'ID',
- 'id_user' => 'Id User',
- 'date' => 'Date',
- 'date_update' => 'Date Update',
- 'id_point_vente' => 'Point de vente',
- 'id_production' => 'Date de production',
- ];
- }
-
- public function strListeVrac()
- {
- $str = '' ;
-
- foreach($this->commandeProduits as $cp) {
- if($cp->produit->vrac) {
- $str .= $cp->quantite.' '.Html::encode($cp->produit->diminutif).', ' ;
- }
- }
-
- return substr($str, 0, strlen($str) - 2) ;
- }
-
- }
|