Browse Source

Import catalog extended

Alexander Musikhin 4 weeks ago
parent
commit
19f8563910

+ 1 - 1
app/Jobs/Import/ImportCatalog.php

@@ -32,7 +32,7 @@ class ImportCatalog implements ShouldQueue, ShouldBeUniqueUntilProcessing
             Log::info('ImportCatalog job done!');
             event(new SendWebSocketMessageEvent('Импорт завершён!', $this->userId, ['year' => $this->year, 'path' => $this->path]));
         } catch (Exception $e) {
-            Log::info('ImportCatalog job failed!');
+            Log::info('ImportCatalog job failed! ERROR: ' . $e->getMessage());
             event(new SendWebSocketMessageEvent('Ошибка импорта! ' . $e->getMessage(), $this->userId, ['error' => $e->getMessage()]));
         }
     }

+ 34 - 13
app/Services/ImportService.php

@@ -2,6 +2,7 @@
 
 namespace App\Services;
 
+use App\Helpers\DateHelper;
 use App\Models\Product;
 use Exception;
 use Illuminate\Support\Facades\Storage;
@@ -22,8 +23,18 @@ class ImportService
         "Цена поставки"                 => 'product_price',
         "Цена установки"                => 'installation_price',
         "Итого цена"                    => 'total_price',
-        "Наименование по паспорту"      => 'manufacturer_name',
+        "Наименование производителя"    => 'manufacturer_name',
         "Примечание"                    => 'note',
+        "Наименование по паспорту"      => 'passport_name',
+        "Наименование в ведомости"      => 'statement_name',
+        "Срок службы"                   => 'service_life',
+        "Номер сертификата"             => 'certificate_number',
+        "Дата сертификата"              => 'certificate_date',
+        "Орган сертификации"            => 'certificate_issuer',
+        "Вид сертификата"               => 'certificate_type',
+        "Вес"                           => 'weight',
+        "Объем"                         => 'volume',
+        "Мест"                          => 'places',
     ];
 
 
@@ -55,18 +66,28 @@ class ImportService
                 Product::query()
                     ->updateOrCreate(['year' => $year, 'nomenclature_number' => $record[4]],
                     [
-                        'article'           => $record[1],
-                        'name_tz'           => $record[2],
-                        'type_tz'           => $record[3],
-                        'sizes'             => $record[5],
-                        'manufacturer'      => $record[6],
-                        'unit'              => $record[7],
-                        'type'              => $record[8],
-                        'product_price'     => $record[9],
-                        'installation_price'=> $record[10],
-                        'total_price'       => $record[11],
-                        'manufacturer_name' => $record[12],
-                        'note'              => $record[13],
+                        'article'               => $record[1],
+                        'name_tz'               => $record[2],
+                        'type_tz'               => $record[3],
+                        'sizes'                 => $record[5],
+                        'manufacturer'          => $record[6],
+                        'unit'                  => $record[7],
+                        'type'                  => $record[8],
+                        'product_price'         => $record[9],
+                        'installation_price'    => $record[10],
+                        'total_price'           => $record[11],
+                        'manufacturer_name'     => $record[12],
+                        'note'                  => $record[13],
+                        'passport_name'         => $record[14],
+                        'statement_name'        => $record[15],
+                        'service_life'          => $record[16],
+                        'certificate_number'    => $record[17],
+                        'certificate_date'      => DateHelper::getDateForDB($record[18]) ?? '',
+                        'certificate_issuer'    => $record[19],
+                        'certificate_type'      => $record[20],
+                        'weight'                => $record[21],
+                        'volume'                => $record[22],
+                        'places'                => $record[23],
                     ]);
             }
         } else {

BIN
templates/ExportCatalogTemplate.xlsx