Browse Source

Corriger bug ProductionProduit lié à aucun Produit

prodstable
keun 8 years ago
parent
commit
65ca6b7e63
2 changed files with 26 additions and 22 deletions
  1. +2
    -1
      backend/controllers/ProduitController.php
  2. +24
    -21
      common/models/ProductionProduit.php

+ 2
- 1
backend/controllers/ProduitController.php View File

$this->findModel($id)->delete(); $this->findModel($id)->delete();


$productions_produits = ProductionProduit::find()->where(['id_produit'=>$id])->all() ; $productions_produits = ProductionProduit::find()->where(['id_produit'=>$id])->all() ;
foreach($productions_produits as $pp) {
foreach($productions_produits as $pp)
{
$pp->delete() ; $pp->delete() ;
} }

+ 24
- 21
common/models/ProductionProduit.php View File

public static function findProduits($id_production) { public static function findProduits($id_production) {
$production_produits = ProductionProduit::find()->with('produit')->where(['id_production'=>$id_production])->all() ;
$production_produits = ProductionProduit::find()
->with('produit')
->where(['id_production'=>$id_production])
->all() ;
$arr_production_produits = [] ; $arr_production_produits = [] ;
$commandes = Commande::find()
->with('commandeProduits','user')
->joinWith('production')
->where(['production.id'=>$id_production])
->orderBy('date ASC')
$commandes = Commande::find()
->with('commandeProduits','user')
->joinWith('production')
->where(['production.id'=>$id_production])
->orderBy('date ASC')
->all() ; ->all() ;
foreach($production_produits as $pp) {
//$arr_production_produits[$pp->id_produit] = (int) $pp->actif ;
//$arr_production_produits[$pp->id_produit] = $pp ;
$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)
] ;
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 ; return $arr_production_produits ;
} }
} }

Loading…
Cancel
Save