Blame view

backend/models/Importers.php 4.47 KB
92bb547f   Mihail   add migration and...
1
2
3
4
5
6
7
8
  <?php
  
  namespace backend\models;
  
  use Yii;
  use backend\components\base\BaseActiveRecord;
  
  /**
4828b892   Mihail   after merge with ...
9
   *
92bb547f   Mihail   add migration and...
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
   *
   * @property integer $id
   * @property string $code
   * @property string $name
   * @property string $name_price
   * @property string $currency_id
   * @property string $delivery
   * @property string $email
   * @property string $info
   * @property integer $active
   * @property integer $PARSER_IS_ACTIVE
   * @property string $PARSER_COLUMN_COUNT
   * @property string $PARSER_FIELD_BRAND
   * @property string $PARSER_FIELD_ARTICLE
   * @property integer $PARSER_FIELD_ARTICLE_PREFIX
   * @property string $PARSER_FIELD_PRICE
   * @property string $PARSER_FIELD_DESCR
   * @property string $PARSER_FIELD_BOX
   * @property string $PARSER_FIELD_ADD_BOX
   * @property string $PARSER_FIELD_GROUP_RG
   * @property string $PARSER_FIELD_SIGN
   * @property double $PARSER_FIELD_MULTIPLIER
   * @property string $price_date_update
   */
4828b892   Mihail   after merge with ...
34
  class Importers extends BaseActiveRecord
92bb547f   Mihail   add migration and...
35
36
37
38
39
40
  {
      /**
       * @inheritdoc
       */
      public static function tableName()
      {
4828b892   Mihail   after merge with ...
41
          return 'w_importers';
92bb547f   Mihail   add migration and...
42
43
      }
  
92bb547f   Mihail   add migration and...
44
45
46
      public function rules()
      {
          return [
2fb5a757   Mihail   add menu and chec...
47
48
              [['code', 'name', 'currency_id', 'delivery', 'price_date_update'], 'required'],
              [['name_price', 'email', 'PARSER_FIELD_SIGN', 'info'], 'safe'],
92bb547f   Mihail   add migration and...
49
50
51
52
53
              [['currency_id', 'active', 'PARSER_IS_ACTIVE', 'PARSER_COLUMN_COUNT', 'PARSER_FIELD_BRAND', 'PARSER_FIELD_ARTICLE', 'PARSER_FIELD_ARTICLE_PREFIX', 'PARSER_FIELD_PRICE', 'PARSER_FIELD_DESCR', 'PARSER_FIELD_BOX', 'PARSER_FIELD_ADD_BOX', 'PARSER_FIELD_GROUP_RG'], 'integer'],
              [['info'], 'string'],
              [['PARSER_FIELD_MULTIPLIER'], 'number'],
              [['code', 'name', 'name_price', 'delivery', 'email'], 'string', 'max' => 254],
              [['PARSER_FIELD_SIGN'], 'string', 'max' => 1],
3b7211a0   Mihail   change query for ...
54
           //   [['price_date_update'], 'string', 'max' => 15],
92bb547f   Mihail   add migration and...
55
56
57
58
59
60
61
62
63
64
65
              [['code'], 'unique'],
              [['name'], 'unique']
          ];
      }
  
      /**
       * @inheritdoc
       */
      public function attributeLabels()
      {
          return [
4828b892   Mihail   after merge with ...
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
              'id' =>'ID',
              'code' => 'Код',
              'name' => 'Название',
              'name_price' => 'Прайс лист',
              'currency_id' => 'Валюта',
              'delivery' => 'Ожидаемый срок, дн.',
              'email' => 'E-mail',
              'info' => 'Комментарий к поставщику',
              'active' => 'Активность',
              'PARSER_IS_ACTIVE' => 'Активность авто колонок',
              'PARSER_COLUMN_COUNT' => 'Количество колонок (только загрузка с почты)',
              'PARSER_FIELD_BRAND' => '№ колонки с брендом',
              'PARSER_FIELD_ARTICLE' => '№ колонки с артикулом',
              'PARSER_FIELD_ARTICLE_PREFIX' => 'Колонка с префиксом?',
              'PARSER_FIELD_PRICE' => '№ колонки с ценой',
              'PARSER_FIELD_DESCR' => '№ колонки с наименованием',
              'PARSER_FIELD_BOX' => '№ колонки с количеством',
              'PARSER_FIELD_ADD_BOX' => '№ колонки с удалённым наличием',
              'PARSER_FIELD_GROUP_RG' => '№ колонки с группой RG',
              'PARSER_FIELD_SIGN' => 'Операция с ценой',
              'PARSER_FIELD_MULTIPLIER' => 'Значение операции',
92bb547f   Mihail   add migration and...
87
88
89
              'price_date_update' => Yii::t('app', 'Price Date Update'),
          ];
      }
165348a4   Mihail   draft commit
90
91
  
  
4828b892   Mihail   after merge with ...
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
      public function getKeys ()
      {
          // возьмем только поля описанные в fields() - там как раз наши настройки парсера
          $arr = $this->toArray();
          // отсортируем по ключам с учетом преобразования в число
          asort($arr, SORT_NUMERIC);
          // уберем нулевые колонки
          $arr = array_filter($arr, function($val){
              return $val <> '0';
          });
          // нам нужны именно ключи
          $arr = array_keys($arr);
          return $arr;
  
      }
  
      public function fields()
      {
          return [
              'BRAND' => 'PARSER_FIELD_BRAND',
              'ARTICLE' => 'PARSER_FIELD_ARTICLE',
              'PRICE' => 'PARSER_FIELD_PRICE',
              'DESCR' => 'PARSER_FIELD_DESCR',
              'BOX' => 'PARSER_FIELD_BOX',
              'ADD_BOX' => 'PARSER_FIELD_ADD_BOX',
              'GROUP_RG' => 'PARSER_FIELD_GROUP_RG'
          ];
  
      }
  
165348a4   Mihail   draft commit
122
  
92bb547f   Mihail   add migration and...
123
  }