Você não pode selecionar mais de 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.

115 linhas
2.9KB

  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. /**
  20. * @inheritdoc
  21. */
  22. public static function tableName()
  23. {
  24. return 'point_vente';
  25. }
  26. /**
  27. * @inheritdoc
  28. */
  29. public function rules()
  30. {
  31. return [
  32. [['nom'], 'required'],
  33. [['nom'], 'string', 'max' => 255],
  34. [['adresse','localite','horaires_lundi','horaires_mardi','horaires_mercredi','horaires_jeudi','horaires_vendredi','horaires_samedi','horaires_dimanche'], 'string'],
  35. [['point_fabrication','vrac','pain'], 'boolean'],
  36. ['point_fabrication', 'default','value'=>0],
  37. ['id_etablissement','integer'],
  38. ['id_etablissement','required'],
  39. ];
  40. }
  41. /**
  42. * @inheritdoc
  43. */
  44. public function attributeLabels()
  45. {
  46. return [
  47. 'id' => 'ID',
  48. 'nom' => 'Nom',
  49. 'adresse' => 'Adresse',
  50. 'localite' => 'Localité',
  51. 'point_fabrication' => 'Point de fabrication',
  52. 'horaires_lundi' => 'Lundi',
  53. 'horaires_mardi' => 'Mardi',
  54. 'horaires_mercredi' => 'Mercredi',
  55. 'horaires_jeudi' => 'Jeudi',
  56. 'horaires_vendredi' => 'Vendredi',
  57. 'horaires_samedi' => 'Samedi',
  58. 'horaires_dimanche' => 'Dimanche',
  59. 'vrac' => 'Livraison de vrac',
  60. 'pain' => 'Livraison de pain',
  61. ];
  62. }
  63. public function initCommandes($commandes) {
  64. $this->commandes = [] ;
  65. $this->recettes = 0 ;
  66. $this->recettes_pain = 0 ;
  67. $this->recettes_vrac = 0 ;
  68. foreach($commandes as $c) {
  69. if($this->id == $c->id_point_vente) {
  70. $this->commandes[] = $c ;
  71. $this->recettes += (float) $c->montant ;
  72. $this->recettes_pain += (float) $c->montant_pain ;
  73. $this->recettes_vrac += (float) $c->montant_vrac ;
  74. }
  75. }
  76. }
  77. public function strListeVrac() {
  78. $str = '' ;
  79. $produits = Produit::find()->orderBy('order ASC')->all() ;
  80. foreach($produits as $p) {
  81. if($p->vrac) {
  82. $quantite = Commande::getQuantiteProduit($p->id, $this->commandes) ;
  83. if($quantite) {
  84. $str .= $quantite.' '.Html::encode($p->diminutif).', ' ;
  85. }
  86. }
  87. }
  88. return substr($str, 0, strlen($str) - 2) ;
  89. }
  90. public function save($runValidation = true, $attributeNames = NULL)
  91. {
  92. $this->id_etablissement = 0 ;
  93. $this->pain = 1 ;
  94. return parent::save($runValidation, $attributeNames) ;
  95. }
  96. }