You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

104 lines
2.5KB

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