From 0579a629316cda29a8f7e066171e792424e5ce54 Mon Sep 17 00:00:00 2001
From: Marko <52066939+HeX87@users.noreply.github.com>
Date: Tue, 4 Apr 2023 10:24:02 +0200
Subject: [PATCH] new importfiles

---
 src/Command/HiltesImportCommand.php |  4 +--
 src/Helper/HiltesImport.php         | 38 ++++++++++++++++++-----------
 2 files changed, 26 insertions(+), 16 deletions(-)

diff --git a/src/Command/HiltesImportCommand.php b/src/Command/HiltesImportCommand.php
index e46d44d..1892a19 100644
--- a/src/Command/HiltesImportCommand.php
+++ b/src/Command/HiltesImportCommand.php
@@ -67,8 +67,8 @@ class HiltesImportCommand extends Command
             $this->logger->error($r['text']);
             return Command::FAILURE;
         }else{
-
-            $pushStock = new SwPushStockCommand($this->stockRepository,$this->warehouseRepository,$this->logger);
+            $io->info('Start Hiltes Push Stock');
+            $pushStock = new SwPushStockCommand($this->productRepository,$this->logger);
             $pushStock->execute($input,$output);
 
             $io->success('Done.');
diff --git a/src/Helper/HiltesImport.php b/src/Helper/HiltesImport.php
index 9e64c48..cefc9cb 100644
--- a/src/Helper/HiltesImport.php
+++ b/src/Helper/HiltesImport.php
@@ -42,17 +42,19 @@ class HiltesImport
 	{
 		#*** Holt alle Dateien
 		if($this->getFiles()){
-			#*** Holt Alle Stocks und setzt ein Array **************
+			#*** Holt alle Stocks und setzt ein Array **************
 			$this->getStocks();
+            $count = 0;
 			if(!empty($this->arrData['orgFiles']['data']) && count($this->arrData['orgFiles']['data'])){
 				foreach ($this->arrData['orgFiles']['data'] as $file) {
 					if(is_file($file['realPath'])){
-						$this->loadFiles($file['realPath'],$file['fileSize']);
+						$count += $this->loadFiles($file['realPath'],$file['fileSize']);
 					}else{
 
 						return array('error'=>1,'text'=>'Error is_file('.$file['realPath'].')');
 					}
 				}
+                dump("Imported $count stocks");
 			}else
 				return array('success'=>1,'text'=>'No Files');
 		}else
@@ -99,6 +101,12 @@ class HiltesImport
 		}
 		#dd($this->cachedStockIds);
 	}
+
+    /**
+     * @param $srcFile
+     * @param $size
+     * @return int
+     */
 	protected function loadFiles($srcFile,$size)
 	{
 		#*** Check File ****
@@ -110,22 +118,24 @@ class HiltesImport
 		dump('Starte Import von ' . $file->getRealPath());
 		$c = 0;
 		while (!$file->eof()) {
-            // Header überspringen
-            $c++;
-			#*** Convertiert die Zeile in UTF8
-			$data = iconv('ISO-8859-1','UTF-8',$file->fgets());
 
-			#*** Zerlegt die Zeile **********
-            //$data = $file->fgets();
-            if($c <= 1){ continue; }
+            #*** Convertiert die Zeile in UTF8
+            $data = iconv('ISO-8859-1','UTF-8',$file->fgets());
 
+            #*** Überspringt die erste Zeile
+            if($c == 0){
+                $c++;
+                continue;
+            }
+
+            #*** Speichert die Zeile
 			$this->switchSaveData($this->splitLine($data));
+            $c++;
+
 		}
 
-   //     $em = $this->productRepository->getEntityManager();
-    //        $em->flush();
-
         dump($c . ' Datensätze importiert');
+        return $c;
 	}
 	protected function splitLine($str){
 		return str_getcsv($str,';','"');
@@ -259,8 +269,8 @@ class HiltesImport
 			if(empty($prod2)){
 				$prod = new Product();
 				$prod->setGtin($gtin);
-				$prod->setModellNr(trim($modellNr));
-				$prod->setModellBez(trim($modellBez));
+				$prod->setModellNr($modellNr);
+				$prod->setModellBez($modellBez);
 				$prod->setShopwareId("");
 				#
                 $this->cachedProdIds[$gtin] = $this->productRepository->save($prod,true);