|
- <?php
-
- namespace common\models;
-
- use yii\base\Object;
-
- use Yii;
-
- /**
- * This is the model class for table "production_produit".
- *
- * @property integer $id
- * @property integer $id_production
- * @property integer $id_produit
- * @property integer $actif
- */
- class ProductionProduit extends \yii\db\ActiveRecord
- {
- /**
- * @inheritdoc
- */
- public static function tableName()
- {
- return 'production_produit';
- }
-
- /**
- * @inheritdoc
- */
- public function rules()
- {
- return [
- [['id_production', 'id_produit', 'actif','quantite_max'], 'integer']
- ];
- }
-
- public function getProduit()
- {
- return $this->hasOne(Produit::className(), ['id'=>'id_produit']) ;
- }
-
- /**
- * @inheritdoc
- */
- public function attributeLabels()
- {
- return [
- 'id' => 'ID',
- 'id_production' => 'Id Production',
- 'id_produit' => 'Id Produit',
- 'actif' => 'Actif',
- 'quantite_max' => 'Quantité max',
- ];
- }
-
- public static function findProduits($id_production) {
-
- $production_produits = ProductionProduit::find()
- ->with('produit')
- ->where(['id_production'=>$id_production])
- ->all() ;
-
- $arr_production_produits = [] ;
-
- $commandes = Commande::find()
- ->with('commandeProduits','user')
- ->joinWith('production')
- ->where(['production.id'=> $id_production])
- ->orderBy('date ASC')
- ->all() ;
-
- foreach($production_produits as $pp)
- {
- if(isset($pp->produit))
- {
- $arr_production_produits[$pp->id_produit] = [
- 'actif'=> (int) $pp->actif,
- 'epuise' => (int) $pp->produit->epuise,
- 'vrac' => (int) $pp->produit->vrac,
- 'quantite_max' => $pp->quantite_max,
- 'quantite_commandee' => Commande::getQuantiteProduit($pp->id_produit, $commandes),
- 'quantite_restante' => $pp->quantite_max - Commande::getQuantiteProduit($pp->id_produit, $commandes)
- ] ;
- }
- }
-
- return $arr_production_produits ;
- }
- }
|