|
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- <?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;
- }
-
- }
|