diff --git a/backend/models/Details.php b/backend/models/Details.php index 4205cb9..14f81de 100644 --- a/backend/models/Details.php +++ b/backend/models/Details.php @@ -36,7 +36,6 @@ class Details extends BaseActiveRecord /** * @var bool - признак необходимости удалить префикс Артикула перед вставкой */ - public $delete_prefix = false; public $delete_price = false; /** @@ -132,9 +131,6 @@ class Details extends BaseActiveRecord //воспользуемся пакетной вставкой от фреймворка $query_insert = Yii::$app->db->createCommand()->batchInsert($table_name, $keys_arr, $current_batch_array)->sql; - if ($this->delete_prefix) { - $query_insert = $this->prepareArticul( $query_insert ); - } // добавим фрагмент с апдейтом при дубляже $query = "{$query_insert} {$query_update}"; // \common\components\CustomVarDamp::dumpAndDie($query); @@ -142,9 +138,4 @@ class Details extends BaseActiveRecord } } - - private function prepareArticul( $query_insert ){ - //CustomVarDamp::dumpAndDie($query_insert); - return $query_insert; - } } diff --git a/backend/models/DetailsCrosses.php b/backend/models/DetailsCrosses.php new file mode 100644 index 0000000..ed4747c --- /dev/null +++ b/backend/models/DetailsCrosses.php @@ -0,0 +1,53 @@ + 100] + ]; + } + + /** + * @inheritdoc + */ + public function attributeLabels() + { + return [ + 'ID' => Yii::t('app', 'ID'), + 'ARTICLE' => Yii::t('app', 'Article'), + 'BRAND' => Yii::t('app', 'Brand'), + 'CROSS_BRAND' => Yii::t('app', 'Cross Brand'), + 'CROSS_ARTICLE' => Yii::t('app', 'Cross Article'), + 'timestamp' => Yii::t('app', 'Timestamp'), + ]; + } +} diff --git a/common/components/PriceWriter.php b/common/components/PriceWriter.php index a49ef0d..ac08e45 100644 --- a/common/components/PriceWriter.php +++ b/common/components/PriceWriter.php @@ -66,6 +66,7 @@ class PriceWriter $row['BOX'] = \Yii::$app->multiparser->convertToInteger($row['BOX']); // присвоим полный артикул $row['FULL_ARTICLE'] = $row['ARTICLE']; + $row['ARTICLE'] = \Yii::$app->multiparser->convertToArticle( $row ); if (isset($row['ADD_BOX'])) $row['ADD_BOX'] = \Yii::$app->multiparser->convertToInteger($row['ADD_BOX']); diff --git a/common/components/parsers/CustomConverter.php b/common/components/parsers/CustomConverter.php index 8bb595d..d11e027 100644 --- a/common/components/parsers/CustomConverter.php +++ b/common/components/parsers/CustomConverter.php @@ -125,9 +125,9 @@ class CustomConverter extends Converter } - public static function convertToArticul(array $row) + public static function convertToArticle( array $row ) { - if (isset($row['ARTICLE']) && isset($row['BRAND']) && isset(self::$importer_id)) { + if ( isset($row['ARTICLE']) ) { // 1. Уберем префикс который разделен пробелом (если он есть) $words = explode(" ", $row['ARTICLE']); @@ -135,7 +135,8 @@ class CustomConverter extends Converter array_shift($words); $row['ARTICLE'] = implode(" ", $words); } - + } + if( isset( $row['BRAND'] ) && isset( self::$importer_id ) ){ // 2. Уберем брендовый префикс (если он есть) $prefix = ''; // запрос закешируем diff --git a/common/components/parsers/config.php b/common/components/parsers/config.php index 98e7389..cb61193 100644 --- a/common/components/parsers/config.php +++ b/common/components/parsers/config.php @@ -17,11 +17,11 @@ 'hasKey' => 1, 'configuration' => ["string" => 'DESCR', "float" => 'PRICE', - "brand" => 'BRAND', + "brand" => 'BRAND[', "integer" => ['BOX','ADD_BOX'], "multiply" => [], "details" => [], - "articul" => [] + "article" => [] ] ],], -- libgit2 0.21.4