Commit 91c8f89897b763b0eeec1354ae4bd3c80ade79a2
1 parent
ffd4b834
add DetailsCrosses model
Showing
5 changed files
with
60 additions
and
14 deletions
Show diff stats
backend/models/Details.php
... | ... | @@ -36,7 +36,6 @@ class Details extends BaseActiveRecord |
36 | 36 | /** |
37 | 37 | * @var bool - признак необходимости удалить префикс Артикула перед вставкой |
38 | 38 | */ |
39 | - public $delete_prefix = false; | |
40 | 39 | public $delete_price = false; |
41 | 40 | |
42 | 41 | /** |
... | ... | @@ -132,9 +131,6 @@ class Details extends BaseActiveRecord |
132 | 131 | |
133 | 132 | //воспользуемся пакетной вставкой от фреймворка |
134 | 133 | $query_insert = Yii::$app->db->createCommand()->batchInsert($table_name, $keys_arr, $current_batch_array)->sql; |
135 | - if ($this->delete_prefix) { | |
136 | - $query_insert = $this->prepareArticul( $query_insert ); | |
137 | - } | |
138 | 134 | // добавим фрагмент с апдейтом при дубляже |
139 | 135 | $query = "{$query_insert} {$query_update}"; |
140 | 136 | // \common\components\CustomVarDamp::dumpAndDie($query); |
... | ... | @@ -142,9 +138,4 @@ class Details extends BaseActiveRecord |
142 | 138 | |
143 | 139 | } |
144 | 140 | } |
145 | - | |
146 | - private function prepareArticul( $query_insert ){ | |
147 | - //CustomVarDamp::dumpAndDie($query_insert); | |
148 | - return $query_insert; | |
149 | - } | |
150 | 141 | } | ... | ... |
1 | +<?php | |
2 | + | |
3 | +namespace backend\models; | |
4 | + | |
5 | +use Yii; | |
6 | + | |
7 | +/** | |
8 | + * This is the model class for table "{{%details_crosses}}". | |
9 | + * | |
10 | + * @property string $ID | |
11 | + * @property string $ARTICLE | |
12 | + * @property string $BRAND | |
13 | + * @property string $CROSS_BRAND | |
14 | + * @property string $CROSS_ARTICLE | |
15 | + * @property string $timestamp | |
16 | + */ | |
17 | +class DetailsCrosses extends \backend\components\base\BaseActiveRecord | |
18 | +{ | |
19 | + /** | |
20 | + * @inheritdoc | |
21 | + */ | |
22 | + public static function tableName() | |
23 | + { | |
24 | + return '{{%details_crosses}}'; | |
25 | + } | |
26 | + | |
27 | + /** | |
28 | + * @inheritdoc | |
29 | + */ | |
30 | + public function rules() | |
31 | + { | |
32 | + return [ | |
33 | + [['ARTICLE', 'BRAND', 'CROSS_BRAND', 'CROSS_ARTICLE'], 'required'], | |
34 | + [['timestamp'], 'safe'], | |
35 | + [['ARTICLE', 'BRAND', 'CROSS_BRAND', 'CROSS_ARTICLE'], 'string', 'max' => 100] | |
36 | + ]; | |
37 | + } | |
38 | + | |
39 | + /** | |
40 | + * @inheritdoc | |
41 | + */ | |
42 | + public function attributeLabels() | |
43 | + { | |
44 | + return [ | |
45 | + 'ID' => Yii::t('app', 'ID'), | |
46 | + 'ARTICLE' => Yii::t('app', 'Article'), | |
47 | + 'BRAND' => Yii::t('app', 'Brand'), | |
48 | + 'CROSS_BRAND' => Yii::t('app', 'Cross Brand'), | |
49 | + 'CROSS_ARTICLE' => Yii::t('app', 'Cross Article'), | |
50 | + 'timestamp' => Yii::t('app', 'Timestamp'), | |
51 | + ]; | |
52 | + } | |
53 | +} | ... | ... |
common/components/PriceWriter.php
... | ... | @@ -66,6 +66,7 @@ class PriceWriter |
66 | 66 | $row['BOX'] = \Yii::$app->multiparser->convertToInteger($row['BOX']); |
67 | 67 | // присвоим полный артикул |
68 | 68 | $row['FULL_ARTICLE'] = $row['ARTICLE']; |
69 | + $row['ARTICLE'] = \Yii::$app->multiparser->convertToArticle( $row ); | |
69 | 70 | if (isset($row['ADD_BOX'])) |
70 | 71 | $row['ADD_BOX'] = \Yii::$app->multiparser->convertToInteger($row['ADD_BOX']); |
71 | 72 | ... | ... |
common/components/parsers/CustomConverter.php
... | ... | @@ -125,9 +125,9 @@ class CustomConverter extends Converter |
125 | 125 | |
126 | 126 | } |
127 | 127 | |
128 | - public static function convertToArticul(array $row) | |
128 | + public static function convertToArticle( array $row ) | |
129 | 129 | { |
130 | - if (isset($row['ARTICLE']) && isset($row['BRAND']) && isset(self::$importer_id)) { | |
130 | + if ( isset($row['ARTICLE']) ) { | |
131 | 131 | |
132 | 132 | // 1. Уберем префикс который разделен пробелом (если он есть) |
133 | 133 | $words = explode(" ", $row['ARTICLE']); |
... | ... | @@ -135,7 +135,8 @@ class CustomConverter extends Converter |
135 | 135 | array_shift($words); |
136 | 136 | $row['ARTICLE'] = implode(" ", $words); |
137 | 137 | } |
138 | - | |
138 | + } | |
139 | + if( isset( $row['BRAND'] ) && isset( self::$importer_id ) ){ | |
139 | 140 | // 2. Уберем брендовый префикс (если он есть) |
140 | 141 | $prefix = ''; |
141 | 142 | // запрос закешируем | ... | ... |
common/components/parsers/config.php
... | ... | @@ -17,11 +17,11 @@ |
17 | 17 | 'hasKey' => 1, |
18 | 18 | 'configuration' => ["string" => 'DESCR', |
19 | 19 | "float" => 'PRICE', |
20 | - "brand" => 'BRAND', | |
20 | + "brand" => 'BRAND[', | |
21 | 21 | "integer" => ['BOX','ADD_BOX'], |
22 | 22 | "multiply" => [], |
23 | 23 | "details" => [], |
24 | - "articul" => [] | |
24 | + "article" => [] | |
25 | 25 | |
26 | 26 | ] |
27 | 27 | ],], | ... | ... |