Commit 91c8f89897b763b0eeec1354ae4bd3c80ade79a2

Authored by Mihail
1 parent ffd4b834

add DetailsCrosses model

backend/models/Details.php
@@ -36,7 +36,6 @@ class Details extends BaseActiveRecord @@ -36,7 +36,6 @@ class Details extends BaseActiveRecord
36 /** 36 /**
37 * @var bool - признак необходимости удалить префикс Артикула перед вставкой 37 * @var bool - признак необходимости удалить префикс Артикула перед вставкой
38 */ 38 */
39 - public $delete_prefix = false;  
40 public $delete_price = false; 39 public $delete_price = false;
41 40
42 /** 41 /**
@@ -132,9 +131,6 @@ class Details extends BaseActiveRecord @@ -132,9 +131,6 @@ class Details extends BaseActiveRecord
132 131
133 //воспользуемся пакетной вставкой от фреймворка 132 //воспользуемся пакетной вставкой от фреймворка
134 $query_insert = Yii::$app->db->createCommand()->batchInsert($table_name, $keys_arr, $current_batch_array)->sql; 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 $query = "{$query_insert} {$query_update}"; 135 $query = "{$query_insert} {$query_update}";
140 // \common\components\CustomVarDamp::dumpAndDie($query); 136 // \common\components\CustomVarDamp::dumpAndDie($query);
@@ -142,9 +138,4 @@ class Details extends BaseActiveRecord @@ -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 }
backend/models/DetailsCrosses.php 0 → 100644
  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,6 +66,7 @@ class PriceWriter
66 $row['BOX'] = \Yii::$app->multiparser->convertToInteger($row['BOX']); 66 $row['BOX'] = \Yii::$app->multiparser->convertToInteger($row['BOX']);
67 // присвоим полный артикул 67 // присвоим полный артикул
68 $row['FULL_ARTICLE'] = $row['ARTICLE']; 68 $row['FULL_ARTICLE'] = $row['ARTICLE'];
  69 + $row['ARTICLE'] = \Yii::$app->multiparser->convertToArticle( $row );
69 if (isset($row['ADD_BOX'])) 70 if (isset($row['ADD_BOX']))
70 $row['ADD_BOX'] = \Yii::$app->multiparser->convertToInteger($row['ADD_BOX']); 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,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 // 1. Уберем префикс который разделен пробелом (если он есть) 132 // 1. Уберем префикс который разделен пробелом (если он есть)
133 $words = explode(" ", $row['ARTICLE']); 133 $words = explode(" ", $row['ARTICLE']);
@@ -135,7 +135,8 @@ class CustomConverter extends Converter @@ -135,7 +135,8 @@ class CustomConverter extends Converter
135 array_shift($words); 135 array_shift($words);
136 $row['ARTICLE'] = implode(" ", $words); 136 $row['ARTICLE'] = implode(" ", $words);
137 } 137 }
138 - 138 + }
  139 + if( isset( $row['BRAND'] ) && isset( self::$importer_id ) ){
139 // 2. Уберем брендовый префикс (если он есть) 140 // 2. Уберем брендовый префикс (если он есть)
140 $prefix = ''; 141 $prefix = '';
141 // запрос закешируем 142 // запрос закешируем
common/components/parsers/config.php
@@ -17,11 +17,11 @@ @@ -17,11 +17,11 @@
17 'hasKey' => 1, 17 'hasKey' => 1,
18 'configuration' => ["string" => 'DESCR', 18 'configuration' => ["string" => 'DESCR',
19 "float" => 'PRICE', 19 "float" => 'PRICE',
20 - "brand" => 'BRAND', 20 + "brand" => 'BRAND[',
21 "integer" => ['BOX','ADD_BOX'], 21 "integer" => ['BOX','ADD_BOX'],
22 "multiply" => [], 22 "multiply" => [],
23 "details" => [], 23 "details" => [],
24 - "articul" => [] 24 + "article" => []
25 25
26 ] 26 ]
27 ],], 27 ],],