fix Hiltes import
This commit is contained in:
@@ -42,10 +42,7 @@ class HiltesImportCommand extends Command
|
||||
}
|
||||
protected function configure(): void
|
||||
{
|
||||
$this
|
||||
->addArgument('arg1', InputArgument::OPTIONAL, 'Argument description')
|
||||
->addOption('option1', null, InputOption::VALUE_NONE, 'Option description')
|
||||
;
|
||||
$this->addOption('delta', 'd', InputOption::VALUE_NONE, 'Delta Import');
|
||||
}
|
||||
|
||||
protected function execute(InputInterface $input, OutputInterface $output): int
|
||||
|
||||
@@ -55,6 +55,9 @@ class HiltesImport
|
||||
}
|
||||
}
|
||||
dump("Imported $count stocks");
|
||||
//remove fertig file
|
||||
unlink($this->currentDirPath.'/hiltes/h2c/WS.FERTIG');
|
||||
|
||||
}else
|
||||
return array('success'=>1,'text'=>'No Files');
|
||||
}else
|
||||
@@ -77,10 +80,10 @@ class HiltesImport
|
||||
if ($finder->hasResults()) {
|
||||
#dump($finder);
|
||||
foreach ($finder as $file) {
|
||||
if($file->getRelativePathname()=='WS.FERTIG'){
|
||||
// if($file->getRelativePathname()=='WS.FERTIG'){
|
||||
$hasFoundFertigFile = true;
|
||||
continue;
|
||||
}
|
||||
// continue;
|
||||
// }
|
||||
$this->arrData['orgFiles']['data'][] = array(
|
||||
'realPath' => $file->getRealPath(),
|
||||
'fileSize' => $file->getFileInfo()->getSize(),
|
||||
@@ -134,6 +137,8 @@ class HiltesImport
|
||||
|
||||
}
|
||||
|
||||
unlink($file->getRealPath());
|
||||
|
||||
dump($c . ' Datensätze importiert');
|
||||
return $c;
|
||||
}
|
||||
@@ -170,56 +175,27 @@ class HiltesImport
|
||||
protected function saveData(Array $arr){
|
||||
//dump($arr);
|
||||
#*** Speichert und/oder Holt WareHouse ab
|
||||
$wareHouse = $this->checkWareHouseName($arr[2]);
|
||||
$wareHouse = $this->checkWareHouseName($arr[3]);
|
||||
|
||||
#*** PRodukt wird angelegt oder geholt ****
|
||||
#filiale;etikettnr;menge;
|
||||
$prodId = $this->checkProduct($arr[0]);
|
||||
#*** Ermitteln ob schon ein ID vorhadnen für ProdId und WareHouseId
|
||||
if(!empty($wareHouse) && !empty($this->cachedStockIds[$prodId][$wareHouse->getId()])){
|
||||
$stock = $this->cachedStockIds[$prodId][$wareHouse->getId()];
|
||||
$gtin = $this->checkProduct(substr($arr[0],1));
|
||||
#*** Ermitteln ob schon ein ID vorhanden für ProdId und WareHouseId
|
||||
if(!empty($wareHouse) && !empty($this->cachedStockIds[$gtin][$wareHouse->getId()])){
|
||||
$stock = $this->cachedStockIds[$gtin][$wareHouse->getId()];
|
||||
//dd('JAAAAA');
|
||||
}else{
|
||||
$stock = new Stock();
|
||||
$stock->setProductId($prodId);
|
||||
$stock->setProductId($gtin);
|
||||
$stock->setWarehouse($wareHouse);
|
||||
}
|
||||
//dd('CHCEK');
|
||||
$stock->setInstock((int)$arr[1]);
|
||||
$stock->setInstock((int)$arr[1]/100);
|
||||
#$stock->setWarehouseId($wareHouseId);
|
||||
//dump($stock);
|
||||
$this->stockRepository->save($stock,true);
|
||||
|
||||
#dd($stock);
|
||||
//$stock->setStock((int)$arr[2]);
|
||||
|
||||
#filiale;
|
||||
//
|
||||
// $warehouse = $this->warehouseRepository->findOneBy(['id'=> $arr[2]]);
|
||||
//
|
||||
//
|
||||
//
|
||||
// if($warehouse instanceof Warehouse){
|
||||
// $stock->setWarehouseId($warehouse->getId());
|
||||
// }else{
|
||||
// $warehouse = new Warehouse();
|
||||
// $warehouse->setId((int)$arr[2]);
|
||||
// $warehouse->setPriority(0);
|
||||
// $id = $this->warehouseRepository->add($warehouse, true);
|
||||
// # $stock->setWarehouseId($id);
|
||||
// }
|
||||
|
||||
#
|
||||
|
||||
// $stock->setWarehouseId($warehouse->getId());
|
||||
|
||||
|
||||
// try{
|
||||
// $this->stockRepository->upsert($stock);
|
||||
// }catch (\Exception $e){
|
||||
// $this->logger->error($e->getMessage());
|
||||
// dump($e->getMessage());
|
||||
// }
|
||||
|
||||
}
|
||||
|
||||
@@ -228,6 +204,8 @@ class HiltesImport
|
||||
* @return Warehouse|false|int|mixed|null
|
||||
*/
|
||||
private function checkWareHouseName(string $wareHouseName){
|
||||
|
||||
$wareHouseName = ltrim($wareHouseName,0);
|
||||
#*** WEnn keine geCached Id Vorhanden
|
||||
if(empty($this->cachedWarehouseIds[$wareHouseName])){
|
||||
#*** Check
|
||||
|
||||
@@ -16,6 +16,18 @@ class Jtl
|
||||
private $warehouseRepository;
|
||||
private $logger;
|
||||
|
||||
/**
|
||||
* @var string[] $arrLager
|
||||
* Lagernamen aus der JTL Wawi
|
||||
*/
|
||||
private $arrLager = array(
|
||||
1 => 'Lager 1 - Standardlager',
|
||||
3 => 'Lager 3 - DLX',
|
||||
5 => 'Lager 5 - Verkaufsfilale',
|
||||
8 => 'Lager 8 - Standardlager',
|
||||
10 => 'Lager 10 - OJ EF',
|
||||
);
|
||||
|
||||
public function __construct(ProductRepository $productRepository,WarehouseRepository $warehouseRepository,StockRepository $stockRepository, LoggerInterface $logger)
|
||||
{
|
||||
$this->productRepository = $productRepository;
|
||||
@@ -41,12 +53,12 @@ class Jtl
|
||||
if($stock){
|
||||
foreach($stock as $s){
|
||||
$warehouse = $s->getWarehouse();
|
||||
$warehouseId = $warehouse->getId();
|
||||
$warehouseName = $warehouse->getName();
|
||||
|
||||
$data[$product->getId().$warehouseId] = [
|
||||
$data[$product->getId().$warehouseName] = [
|
||||
'gtin' => $product->getGtin(),
|
||||
'stock' => $s->getInstock(),
|
||||
'warehouse' => $warehouseId
|
||||
'warehouse' => $this->arrLager[$warehouseName] ?? 'Lager ' . $warehouseName
|
||||
];
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user