Parcourir la 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.
master
keun il y a 8 ans
Parent
révision
cf3ed2c5a5
2 fichiers modifiés avec 20 ajouts et 10 suppressions
  1. +6
    -10
      backend/controllers/CommandeController.php
  2. +14
    -0
      common/models/Produit.php

+ 6
- 10
backend/controllers/CommandeController.php Voir le fichier

@@ -240,12 +240,6 @@ class CommandeController extends BackendController {
->where(['id_etablissement' => Yii::$app->user->identity->id_etablissement])
->all();

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

// users
$arr_users = [0 => '--'];
$users = User::find()->orderBy('prenom, nom ASC')->all();
@@ -269,6 +263,9 @@ class CommandeController extends BackendController {
}
}

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

@@ -331,11 +328,7 @@ class CommandeController extends BackendController {
$data_options_commandes[$c->id]['data-commande'] = json_encode($array_options[$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_options_commandes = $data_options_commandes ;
}
@@ -436,6 +429,9 @@ class CommandeController extends BackendController {
}
}
}
// produits
$produits = Produit::getByProduction($production->id) ;

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

+ 14
- 0
common/models/Produit.php Voir le fichier

@@ -76,6 +76,7 @@ class Produit extends \yii\db\ActiveRecord
];
}
public function getDescription() {
$description = $this->description ;
if(isset($this->poids) && is_numeric($this->poids) && $this->poids > 0) {
@@ -99,4 +100,17 @@ class Produit extends \yii\db\ActiveRecord
$this->id_etablissement = Yii::$app->user->identity->id_etablissement ;
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();
}
}

Chargement…
Annuler
Enregistrer