|
|
@@ -172,10 +172,13 @@ class CommandeAuto extends \yii\db\ActiveRecord |
|
|
|
public function add($date) |
|
|
|
{ |
|
|
|
// production |
|
|
|
$production = Production::findOne([ |
|
|
|
'date' => date('Y-m-d',strtotime($date)), |
|
|
|
'id_etablissement' => Yii::$app->user->identity->id_etablissement |
|
|
|
]) ; |
|
|
|
$production = Production::find() |
|
|
|
->where([ |
|
|
|
'date' => date('Y-m-d',strtotime($date)), |
|
|
|
'id_etablissement' => Yii::$app->user->identity->id_etablissement |
|
|
|
]) |
|
|
|
->with('productionProduit') |
|
|
|
->one() ; |
|
|
|
|
|
|
|
if($production && count($this->commandeAutoProduit)) |
|
|
|
{ |
|
|
@@ -206,44 +209,62 @@ class CommandeAuto extends \yii\db\ActiveRecord |
|
|
|
|
|
|
|
// produits |
|
|
|
$montant_total = 0 ; |
|
|
|
$produits_add = false ; |
|
|
|
foreach($this->commandeAutoProduit as $commande_auto_produit) |
|
|
|
{ |
|
|
|
$commande_produit = new CommandeProduit ; |
|
|
|
$commande_produit->id_commande = $commande->id ; |
|
|
|
$commande_produit->id_produit = $commande_auto_produit->produit->id ; |
|
|
|
$commande_produit->quantite = $commande_auto_produit->quantite ; |
|
|
|
$commande_produit->prix = $commande_auto_produit->produit->prix ; |
|
|
|
$commande_produit->save() ; |
|
|
|
if($production->produitActif($commande_auto_produit->produit->id)) |
|
|
|
{ |
|
|
|
$commande_produit = new CommandeProduit ; |
|
|
|
$commande_produit->id_commande = $commande->id ; |
|
|
|
$commande_produit->id_produit = $commande_auto_produit->produit->id ; |
|
|
|
$commande_produit->quantite = $commande_auto_produit->quantite ; |
|
|
|
$commande_produit->prix = $commande_auto_produit->produit->prix ; |
|
|
|
$commande_produit->save() ; |
|
|
|
$produits_add = true; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
// on débite automatiquement le crédit pain du client |
|
|
|
if($commande->id_user && $this->paiement_automatique && Etablissement::getConfig('credit_pain')) |
|
|
|
if(!$produits_add) |
|
|
|
{ |
|
|
|
$commande = Commande::find() |
|
|
|
->with('commandeProduits') |
|
|
|
->where(['id' => $commande->id]) |
|
|
|
->one() ; |
|
|
|
|
|
|
|
$commande->init() ; |
|
|
|
|
|
|
|
$user_action = User::find()->where([ |
|
|
|
'id_etablissement' => $production->id_etablissement, |
|
|
|
'status' => 11 |
|
|
|
])->one() ; |
|
|
|
|
|
|
|
if($user_action) |
|
|
|
$id_user_action = $user_action->id; |
|
|
|
else |
|
|
|
$id_user_action = NULL ; |
|
|
|
|
|
|
|
$commande->creditHistorique( |
|
|
|
CreditHistorique::TYPE_PAIEMENT, |
|
|
|
$commande->getMontant(), |
|
|
|
$production->id_etablissement, |
|
|
|
$id_user_action |
|
|
|
) ; |
|
|
|
$commande->delete() ; |
|
|
|
} |
|
|
|
else { |
|
|
|
// on débite automatiquement le crédit pain du client |
|
|
|
if($commande->id_user && |
|
|
|
$this->paiement_automatique && |
|
|
|
Etablissement::getConfig('credit_pain')) |
|
|
|
{ |
|
|
|
$commande = Commande::find() |
|
|
|
->with('commandeProduits') |
|
|
|
->where(['id' => $commande->id]) |
|
|
|
->one() ; |
|
|
|
|
|
|
|
$commande->init() ; |
|
|
|
|
|
|
|
$user_action = User::find()->where([ |
|
|
|
'id_etablissement' => $production->id_etablissement, |
|
|
|
'status' => 11 |
|
|
|
])->one() ; |
|
|
|
|
|
|
|
if($user_action) |
|
|
|
$id_user_action = $user_action->id; |
|
|
|
else |
|
|
|
$id_user_action = NULL ; |
|
|
|
|
|
|
|
if($commande->getMontant() > 0) |
|
|
|
{ |
|
|
|
$commande->creditHistorique( |
|
|
|
CreditHistorique::TYPE_PAIEMENT, |
|
|
|
$commande->getMontant(), |
|
|
|
$production->id_etablissement, |
|
|
|
$id_user_action |
|
|
|
) ; |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|