Browse Source

Indentation + commentaires modèle Production / ProductionPointVente / ProductionProduit

refactoring
Guillaume Bourgeois 6 years ago
parent
commit
6dc067d0d6
3 changed files with 89 additions and 28 deletions
  1. +44
    -16
      common/models/Production.php
  2. +25
    -7
      common/models/ProductionPointVente.php
  3. +20
    -5
      common/models/ProductionProduit.php

+ 44
- 16
common/models/Production.php View File



use Yii; use Yii;
use common\models\Commande; use common\models\Commande;
use common\models\Production;


/** /**
* This is the model class for table "production". * This is the model class for table "production".
* @property string $date * @property string $date
* @property integer $actif * @property integer $actif
*/ */
class Production extends \yii\db\ActiveRecord {
class Production extends \yii\db\ActiveRecord
{


/** /**
* @inheritdoc * @inheritdoc
*/ */
public static function tableName() {
public static function tableName()
{
return 'production'; return 'production';
} }


public function getEtablissement() {
public function getEtablissement()
{
return $this->hasOne(Etablissement::className(), ['id' => 'id_etablissement']); return $this->hasOne(Etablissement::className(), ['id' => 'id_etablissement']);
} }


/** /**
* @inheritdoc * @inheritdoc
*/ */
public function rules() {
public function rules()
{
return [ return [
[['date'], 'required'], [['date'], 'required'],
[['date'], 'safe'], [['date'], 'safe'],
/** /**
* @inheritdoc * @inheritdoc
*/ */
public function attributeLabels() {
public function attributeLabels()
{
return [ return [
'id' => 'ID', 'id' => 'ID',
'date' => 'Date', 'date' => 'Date',
]; ];
} }


public function getCommande() {
/*
* Relations
*/
public function getCommande()
{
return $this->hasMany(Commande::className(), ['id_production' => 'id']); return $this->hasMany(Commande::className(), ['id_production' => 'id']);
} }


public function getProductionProduit() {
public function getProductionProduit()
{
return $this->hasMany(ProductionProduit::className(), ['id_production' => 'id']); return $this->hasMany(ProductionProduit::className(), ['id_production' => 'id']);
} }


public function produitActif($id_produit) {
/**
* Retourne si un produit est actif ou non.
*
* @param integer $id_produit
* @return boolean
*/
public function produitActif($id_produit)
{
if ($id_produit && if ($id_produit &&
isset($this->productionProduit) &&
count($this->productionProduit) > 0) {
isset($this->productionProduit) &&
count($this->productionProduit) > 0)
{


foreach ($this->productionProduit as $production_produit) { foreach ($this->productionProduit as $production_produit) {
if ($production_produit['id_produit'] == $id_produit && if ($production_produit['id_produit'] == $id_produit &&
$production_produit['actif']) {
$production_produit['actif'])
{
return true; return true;
} }
} }
return false; return false;
} }
public static function initProduction($date) {
/**
* Initialise un jour de production.
*
* @param string $date
* @return Production
*/
public static function initProduction($date)
{
$production = null ; $production = null ;
if ($date != '') { if ($date != '') {
$production = Production::find() $production = Production::find()
// production_point_vente à définir s'ils ne sont pas initialisés // production_point_vente à définir s'ils ne sont pas initialisés
if ($production) { if ($production) {
$count_productions_point_vente = ProductionPointVente::find()-> $count_productions_point_vente = ProductionPointVente::find()->
where([
'id_production' => $production->id
])
->count();
where([
'id_production' => $production->id
])
->count();


if (!$count_productions_point_vente) { if (!$count_productions_point_vente) {
ProductionPointVente::setAll($production->id, true); ProductionPointVente::setAll($production->id, true);

+ 25
- 7
common/models/ProductionPointVente.php View File

* @property integer $id_point_vente * @property integer $id_point_vente
* @property integer $livraison * @property integer $livraison
*/ */
class ProductionPointVente extends \yii\db\ActiveRecord {
class ProductionPointVente extends \yii\db\ActiveRecord
{


var $productions_point_vente; var $productions_point_vente;


/** /**
* @inheritdoc * @inheritdoc
*/ */
public static function tableName() {
public static function tableName()
{
return 'production_point_vente'; return 'production_point_vente';
} }


/** /**
* @inheritdoc * @inheritdoc
*/ */
public function rules() {
public function rules()
{
return [ return [
[['id_production', 'id_point_vente'], 'required'], [['id_production', 'id_point_vente'], 'required'],
[['id_production', 'id_point_vente', 'livraison'], 'integer'], [['id_production', 'id_point_vente', 'livraison'], 'integer'],
/** /**
* @inheritdoc * @inheritdoc
*/ */
public function attributeLabels() {
public function attributeLabels()
{
return [ return [
'id_production' => 'Id Production', 'id_production' => 'Id Production',
'id_point_vente' => 'Id Point Vente', 'id_point_vente' => 'Id Point Vente',
]; ];
} }


public function getProduction() {
/*
* Relations
*/
public function getProduction()
{
return $this->hasOne(Production::className(), ['id' => 'id_production']); return $this->hasOne(Production::className(), ['id' => 'id_production']);
} }


public function getPointVente() {
public function getPointVente()
{
return $this->hasOne(PointVente::className(), ['id' => 'id_point_vente']); return $this->hasOne(PointVente::className(), ['id' => 'id_point_vente']);
} }


public static function setAll($id_production, $bool_livraison) {
/**
* Définit les jours de livraisons des points de vente pour un jour de
* production donné.
*
* @param integer $id_production
* @param boolean $bool_livraison
*/
public static function setAll($id_production, $bool_livraison)
{
$count_productions_point_vente = self::find()-> $count_productions_point_vente = self::find()->
where([ where([
'id_production' => $id_production 'id_production' => $id_production

+ 20
- 5
common/models/ProductionProduit.php View File

* @property integer $id_produit * @property integer $id_produit
* @property integer $actif * @property integer $actif
*/ */
class ProductionProduit extends \yii\db\ActiveRecord {
class ProductionProduit extends \yii\db\ActiveRecord
{


/** /**
* @inheritdoc * @inheritdoc
*/ */
public static function tableName() {
public static function tableName()
{
return 'production_produit'; return 'production_produit';
} }


/** /**
* @inheritdoc * @inheritdoc
*/ */
public function rules() {
public function rules()
{
return [ return [
[['id_production', 'id_produit', 'actif', 'quantite_max'], 'integer'] [['id_production', 'id_produit', 'actif', 'quantite_max'], 'integer']
]; ];
} }


public function getProduit() {
/*
* Relations
*/
public function getProduit()
{
return $this->hasOne(Produit::className(), ['id' => 'id_produit']); return $this->hasOne(Produit::className(), ['id' => 'id_produit']);
} }


/** /**
* @inheritdoc * @inheritdoc
*/ */
public function attributeLabels() {
public function attributeLabels()
{
return [ return [
'id' => 'ID', 'id' => 'ID',
'id_production' => 'Id Production', 'id_production' => 'Id Production',
]; ];
} }


/**
* Recherche les enregistrement ProductionProduit liés à une production.
*
* @param integer $id_production
* @return array
*/
public static function findProduits($id_production) { public static function findProduits($id_production) {


$production_produits = ProductionProduit::find() $production_produits = ProductionProduit::find()

Loading…
Cancel
Save