Ви не можете вибрати більше 25 тем Теми мають розпочинатися з літери або цифри, можуть містити дефіси (-) і не повинні перевищувати 35 символів.

115 lines
3.0KB

  1. <?php
  2. namespace common\models;
  3. use Yii;
  4. use yii\helpers\Html ;
  5. /**
  6. * This is the model class for table "point_vente".
  7. *
  8. * @property integer $id
  9. * @property string $nom
  10. * @property string $adresse
  11. * @property integer $id_boulangerie
  12. */
  13. class PointVente extends \yii\db\ActiveRecord
  14. {
  15. var $commandes = [] ;
  16. var $recettes = 0 ;
  17. var $recettes_pain = 0 ;
  18. var $recettes_vrac = 0 ;
  19. var $data_select_commandes ;
  20. var $data_options_commandes ;
  21. /**
  22. * @inheritdoc
  23. */
  24. public static function tableName()
  25. {
  26. return 'point_vente';
  27. }
  28. /**
  29. * @inheritdoc
  30. */
  31. public function rules()
  32. {
  33. return [
  34. [['nom'], 'required'],
  35. [['nom'], 'string', 'max' => 255],
  36. [['adresse','localite','horaires_lundi','horaires_mardi','horaires_mercredi','horaires_jeudi','horaires_vendredi','horaires_samedi','horaires_dimanche'], 'string'],
  37. [['point_fabrication','vrac','pain'], 'boolean'],
  38. ['point_fabrication', 'default','value'=>0],
  39. ['id_etablissement','integer'],
  40. ['id_etablissement','required'],
  41. ];
  42. }
  43. /**
  44. * @inheritdoc
  45. */
  46. public function attributeLabels()
  47. {
  48. return [
  49. 'id' => 'ID',
  50. 'nom' => 'Nom',
  51. 'adresse' => 'Adresse',
  52. 'localite' => 'Localité',
  53. 'point_fabrication' => 'Point de fabrication',
  54. 'horaires_lundi' => 'Lundi',
  55. 'horaires_mardi' => 'Mardi',
  56. 'horaires_mercredi' => 'Mercredi',
  57. 'horaires_jeudi' => 'Jeudi',
  58. 'horaires_vendredi' => 'Vendredi',
  59. 'horaires_samedi' => 'Samedi',
  60. 'horaires_dimanche' => 'Dimanche',
  61. 'vrac' => 'Livraison de vrac',
  62. 'pain' => 'Livraison de pain',
  63. ];
  64. }
  65. public function initCommandes($commandes) {
  66. $this->commandes = [] ;
  67. $this->recettes = 0 ;
  68. $this->recettes_pain = 0 ;
  69. $this->recettes_vrac = 0 ;
  70. foreach($commandes as $c) {
  71. if($this->id == $c->id_point_vente) {
  72. $this->commandes[] = $c ;
  73. $this->recettes += (float) $c->montant ;
  74. $this->recettes_pain += (float) $c->montant_pain ;
  75. $this->recettes_vrac += (float) $c->montant_vrac ;
  76. }
  77. }
  78. }
  79. public function strListeVrac() {
  80. $str = '' ;
  81. $produits = Produit::find()->orderBy('order ASC')->all() ;
  82. foreach($produits as $p) {
  83. if($p->vrac) {
  84. $quantite = Commande::getQuantiteProduit($p->id, $this->commandes) ;
  85. if($quantite) {
  86. $str .= $quantite.' '.Html::encode($p->diminutif).', ' ;
  87. }
  88. }
  89. }
  90. return substr($str, 0, strlen($str) - 2) ;
  91. }
  92. public function save($runValidation = true, $attributeNames = NULL)
  93. {
  94. $this->id_etablissement = Yii::$app->user->identity->id_etablissement ;
  95. $this->pain = 1 ;
  96. return parent::save($runValidation, $attributeNames) ;
  97. }
  98. }