From d3d3a10beaab128e7a929c56fef9a3e5f6abc2a7 Mon Sep 17 00:00:00 2001 From: Formatter Bot Date: Wed, 21 Oct 2020 17:34:51 +0000 Subject: [PATCH 1/3] Automated formatting changes --- Interfaces/GSD/Importer.php | 84 ++++++++++++++++++------------------- 1 file changed, 42 insertions(+), 42 deletions(-) diff --git a/Interfaces/GSD/Importer.php b/Interfaces/GSD/Importer.php index 2124db5..70491bd 100755 --- a/Interfaces/GSD/Importer.php +++ b/Interfaces/GSD/Importer.php @@ -14,50 +14,50 @@ declare(strict_types=1); namespace Modules\Exchange\Interfaces\GSD; -use phpOMS\Utils\IO\Zip\Zip; +use Modules\Accounting\Models\CostCenter; +use Modules\Accounting\Models\CostCenterMapper; +use Modules\Accounting\Models\CostObject; +use Modules\Accounting\Models\CostObjectMapper; use Modules\Admin\Models\Account; use Modules\Admin\Models\Address; -use Modules\Profile\Models\Profile; -use phpOMS\Message\RequestAbstract; -use phpOMS\Localization\ISO639x1Enum; -use Modules\ItemManagement\Models\Item; -use Modules\Profile\Models\ContactType; -use phpOMS\Localization\ISO3166TwoEnum; -use phpOMS\System\File\Local\Directory; -use Modules\Accounting\Models\CostCenter; -use Modules\Accounting\Models\CostObject; -use Modules\Profile\Models\ContactElement; use Modules\ClientManagement\Models\Client; -use Modules\ItemManagement\Models\ItemL11n; -use Modules\Exchange\Models\ImporterAbstract; -use Modules\ItemManagement\Models\ItemMapper; -use Modules\Accounting\Models\CostCenterMapper; -use Modules\Accounting\Models\CostObjectMapper; -use Modules\ItemManagement\Models\ItemL11nType; -use Modules\SupplierManagement\Models\Supplier; -use phpOMS\DataStorage\Database\DatabaseStatus; use Modules\ClientManagement\Models\ClientMapper; -use Modules\ItemManagement\Models\NullItemL11nType; -use phpOMS\DataStorage\Database\DataMapperAbstract; -use Modules\ItemManagement\Models\ItemAttributeType; use Modules\Exchange\Interfaces\GSD\Model\GSDArticle; -use Modules\ItemManagement\Models\ItemL11nTypeMapper; -use Modules\SupplierManagement\Models\SupplierMapper; -use Modules\Exchange\Interfaces\GSD\Model\GSDCustomer; -use Modules\Exchange\Interfaces\GSD\Model\GSDSupplier; -use Modules\Exchange\Interfaces\GSD\Model\GSDCostCenter; -use Modules\Exchange\Interfaces\GSD\Model\GSDCostObject; -use Modules\ItemManagement\Models\ItemAttributeTypeL11n; -use Modules\ItemManagement\Models\NullItemAttributeType; -use Modules\ItemManagement\Models\ItemAttributeTypeMapper; use Modules\Exchange\Interfaces\GSD\Model\GSDArticleMapper; -use Modules\Exchange\Interfaces\GSD\Model\GSDCustomerMapper; -use Modules\Exchange\Interfaces\GSD\Model\GSDSupplierMapper; -use phpOMS\DataStorage\Database\Connection\ConnectionFactory; +use Modules\Exchange\Interfaces\GSD\Model\GSDCostCenter; use Modules\Exchange\Interfaces\GSD\Model\GSDCostCenterMapper; +use Modules\Exchange\Interfaces\GSD\Model\GSDCostObject; use Modules\Exchange\Interfaces\GSD\Model\GSDCostObjectMapper; +use Modules\Exchange\Interfaces\GSD\Model\GSDCustomer; +use Modules\Exchange\Interfaces\GSD\Model\GSDCustomerMapper; +use Modules\Exchange\Interfaces\GSD\Model\GSDSupplier; +use Modules\Exchange\Interfaces\GSD\Model\GSDSupplierMapper; +use Modules\Exchange\Models\ImporterAbstract; +use Modules\ItemManagement\Models\Item; +use Modules\ItemManagement\Models\ItemAttributeType; +use Modules\ItemManagement\Models\ItemAttributeTypeL11n; use Modules\ItemManagement\Models\ItemAttributeTypeL11nMapper; +use Modules\ItemManagement\Models\ItemAttributeTypeMapper; +use Modules\ItemManagement\Models\ItemL11n; +use Modules\ItemManagement\Models\ItemL11nType; +use Modules\ItemManagement\Models\ItemL11nTypeMapper; +use Modules\ItemManagement\Models\ItemMapper; +use Modules\ItemManagement\Models\NullItemAttributeType; +use Modules\ItemManagement\Models\NullItemL11nType; +use Modules\Profile\Models\ContactElement; +use Modules\Profile\Models\ContactType; +use Modules\Profile\Models\Profile; +use Modules\SupplierManagement\Models\Supplier; +use Modules\SupplierManagement\Models\SupplierMapper; use phpOMS\DataStorage\Database\Connection\ConnectionAbstract; +use phpOMS\DataStorage\Database\Connection\ConnectionFactory; +use phpOMS\DataStorage\Database\DatabaseStatus; +use phpOMS\DataStorage\Database\DataMapperAbstract; +use phpOMS\Localization\ISO3166TwoEnum; +use phpOMS\Localization\ISO639x1Enum; +use phpOMS\Message\RequestAbstract; +use phpOMS\System\File\Local\Directory; +use phpOMS\Utils\IO\Zip\Zip; /** * GSD import class @@ -115,12 +115,12 @@ final class Importer extends ImporterAbstract $end = new \DateTime($request->getData('end') ?? 'now'); $this->remote = ConnectionFactory::create([ - 'db' => (string) ($request->getData('db') ?? ''), - 'host' => (string) ($request->getData('host') ?? ''), - 'port' => (int) ($request->getData('port') ?? 0), - 'database' => (string) ($request->getData('database') ?? ''), - 'login' => (string) ($request->getData('login') ?? ''), - 'password' => (string) ($request->getData('password') ?? ''), + 'db' => (string) ($request->getData('db') ?? ''), + 'host' => (string) ($request->getData('host') ?? ''), + 'port' => (int) ($request->getData('port') ?? 0), + 'database' => (string) ($request->getData('database') ?? ''), + 'login' => (string) ($request->getData('login') ?? ''), + 'password' => (string) ($request->getData('password') ?? ''), 'datetimeformat' => (string) ($request->getData('datetimeformat') ?? 'Y-m-d H:i:s'), ]); @@ -432,7 +432,7 @@ final class Importer extends ImporterAbstract $jpg = Directory::listByExtension(__DIR__ . '/temp/', 'jpg'); $png = Directory::listByExtension(__DIR__ . '/temp/', 'png'); - $images = \array_merge($jpg, $png); + $images = \array_merge($jpg, $png); } //$itemAttrType['segment'] = new ItemAttributeType(); @@ -445,7 +445,7 @@ final class Importer extends ImporterAbstract foreach ($images as $image) { if (\stripos($image, $article->number) !== false) { - var_dump($image); + \var_dump($image); break; } } From 1fc5a03dcc95805e8c9da1cea92999e912c03f14 Mon Sep 17 00:00:00 2001 From: Dennis Eichhorn Date: Wed, 21 Oct 2020 22:50:26 +0200 Subject: [PATCH 2/3] correct datamapper self/external usage (invert) --- Interfaces/GSD/Importer.php | 74 +++++++++++++++------- Interfaces/GSD/Model/GSDCustomerMapper.php | 2 +- Interfaces/GSD/Model/GSDSupplierMapper.php | 2 +- 3 files changed, 54 insertions(+), 24 deletions(-) diff --git a/Interfaces/GSD/Importer.php b/Interfaces/GSD/Importer.php index 2124db5..67ba713 100755 --- a/Interfaces/GSD/Importer.php +++ b/Interfaces/GSD/Importer.php @@ -15,17 +15,23 @@ declare(strict_types=1); namespace Modules\Exchange\Interfaces\GSD; use phpOMS\Utils\IO\Zip\Zip; +use Modules\Media\Models\Media; use Modules\Admin\Models\Account; use Modules\Admin\Models\Address; use Modules\Profile\Models\Profile; use phpOMS\Message\RequestAbstract; +use Modules\Media\Models\Collection; +use Modules\Admin\Models\NullAccount; +use Modules\Media\Models\MediaMapper; use phpOMS\Localization\ISO639x1Enum; use Modules\ItemManagement\Models\Item; use Modules\Profile\Models\ContactType; use phpOMS\Localization\ISO3166TwoEnum; use phpOMS\System\File\Local\Directory; +use Modules\Media\Controller\Controller; use Modules\Accounting\Models\CostCenter; use Modules\Accounting\Models\CostObject; +use Modules\Media\Models\CollectionMapper; use Modules\Profile\Models\ContactElement; use Modules\ClientManagement\Models\Client; use Modules\ItemManagement\Models\ItemL11n; @@ -77,6 +83,14 @@ final class Importer extends ImporterAbstract */ private ?ConnectionAbstract $remote = null; + /** + * Account + * + * @var int + * @since 1.0.0 + */ + private int $account = 1; + /** * Import all data in time span * @@ -126,6 +140,8 @@ final class Importer extends ImporterAbstract $this->remote->connect(); + $this->account = $request->getHeader()->getAccount(); + if ($this->remote->getStatus() !== DatabaseStatus::OK) { return false; } @@ -422,17 +438,40 @@ final class Importer extends ImporterAbstract $itemAttrType = $this->createItemAttributeTypes(); $itemAttrValue = $this->createItemAttributeValues($itemAttrType); - $images = []; + $images = []; + $imagePath = Controller::FILE_PATH . '/Modules/ItemManagement/Articles/Images'; + + $media = []; if (!empty($files)) { - if (!\file_exists(__DIR__ . '/temp')) { - \mkdir(__DIR__ . '/temp'); + if (!\is_dir($imagePath)) { + \mkdir($imagePath, 0755, true); } - Zip::unpack($files['tmp_name'], __DIR__ . '/temp/'); + $jpgOld = Directory::listByExtension($imagePath, 'jpg'); + $pngOld = Directory::listByExtension($imagePath, 'png'); + $imagesOld = \array_merge($jpgOld, $pngOld); - $jpg = Directory::listByExtension(__DIR__ . '/temp/', 'jpg'); - $png = Directory::listByExtension(__DIR__ . '/temp/', 'png'); - $images = \array_merge($jpg, $png); + Zip::unpack($files['tmp_name'], $imagePath); + + $jpg = Directory::listByExtension($imagePath, 'jpg'); + $png = Directory::listByExtension($imagePath, 'png'); + $images = \array_merge($jpg, $png); + $images = \array_diff($images, $imagesOld); + + foreach ($images as $image) { + $number = (int) \explode('.', $image)[0]; + + $media[$number] = new Media(); + $media[$number]->setName((string) $number); + $media[$number]->setType('backend_image'); + $media[$number]->setPath('/Modules/Media/Files/Modules/ItemManagement/Articles/Images/' . $image); + $media[$number]->setVirtualPath('/Modules/ItemManagement/Articles/Images'); + $media[$number]->setExtension(\explode('.', $image)[1]); + $media[$number]->setSize(\filesize($imagePath . '/' . $image)); + $media[$number]->setCreatedBy(new NullAccount($this->account)); + + MediaMapper::create($media[$number]); + } } //$itemAttrType['segment'] = new ItemAttributeType(); @@ -440,15 +479,10 @@ final class Importer extends ImporterAbstract //$itemAttrType['devaluation'] = new ItemAttributeType(); foreach ($articles as $article) { - $obj = new Item(); - $obj->setNumber(\trim($article->number, ",. \t")); + $number = (int) \trim($article->number, ",. \t"); - foreach ($images as $image) { - if (\stripos($image, $article->number) !== false) { - var_dump($image); - break; - } - } + $obj = new Item(); + $obj->setNumber((string) $number); // German Language $obj->addL11n(new ItemL11n( @@ -486,16 +520,12 @@ final class Importer extends ImporterAbstract ISO639x1Enum::_EN )); - // @todo: implement - // api upload media - //$obj->addMedia(); + if (isset($media[$number])) { + $obj->addFile($media[$number]); + } ItemMapper::create($obj); } - - if (\file_exists(__DIR__ . '/temp')) { - Directory::delete(__DIR__ . '/temp'); - } } /** diff --git a/Interfaces/GSD/Model/GSDCustomerMapper.php b/Interfaces/GSD/Model/GSDCustomerMapper.php index 808a19b..94e5f90 100755 --- a/Interfaces/GSD/Model/GSDCustomerMapper.php +++ b/Interfaces/GSD/Model/GSDCustomerMapper.php @@ -68,7 +68,7 @@ final class GSDCustomerMapper extends DataMapperAbstract protected static array $ownsOne = [ 'addr' => [ 'mapper' => GSDAddressMapper::class, - 'self' => 'AdressId', + 'external' => 'AdressId', ], ]; diff --git a/Interfaces/GSD/Model/GSDSupplierMapper.php b/Interfaces/GSD/Model/GSDSupplierMapper.php index 48ce907..1ffb4fc 100755 --- a/Interfaces/GSD/Model/GSDSupplierMapper.php +++ b/Interfaces/GSD/Model/GSDSupplierMapper.php @@ -48,7 +48,7 @@ final class GSDSupplierMapper extends DataMapperAbstract protected static array $ownsOne = [ 'addr' => [ 'mapper' => GSDAddressMapper::class, - 'self' => 'AdressId', + 'external' => 'AdressId', ], ]; From 0b64d7f23e0d1d787043f35b1bfbcc8cb8924716 Mon Sep 17 00:00:00 2001 From: Formatter Bot Date: Wed, 21 Oct 2020 21:09:11 +0000 Subject: [PATCH 3/3] Automated formatting changes --- Interfaces/GSD/Importer.php | 76 +++++++++++----------- Interfaces/GSD/Model/GSDCustomerMapper.php | 2 +- Interfaces/GSD/Model/GSDSupplierMapper.php | 2 +- 3 files changed, 40 insertions(+), 40 deletions(-) diff --git a/Interfaces/GSD/Importer.php b/Interfaces/GSD/Importer.php index 2b9c48c..d827357 100755 --- a/Interfaces/GSD/Importer.php +++ b/Interfaces/GSD/Importer.php @@ -14,54 +14,54 @@ declare(strict_types=1); namespace Modules\Exchange\Interfaces\GSD; -use phpOMS\Utils\IO\Zip\Zip; -use Modules\Media\Models\Media; +use Modules\Accounting\Models\CostCenter; +use Modules\Accounting\Models\CostCenterMapper; +use Modules\Accounting\Models\CostObject; +use Modules\Accounting\Models\CostObjectMapper; use Modules\Admin\Models\Account; use Modules\Admin\Models\Address; -use Modules\Profile\Models\Profile; -use phpOMS\Message\RequestAbstract; use Modules\Admin\Models\NullAccount; -use Modules\Media\Models\MediaMapper; -use phpOMS\Localization\ISO639x1Enum; -use Modules\ItemManagement\Models\Item; -use Modules\Profile\Models\ContactType; -use phpOMS\Localization\ISO3166TwoEnum; -use phpOMS\System\File\Local\Directory; -use Modules\Media\Controller\Controller; -use Modules\Accounting\Models\CostCenter; -use Modules\Accounting\Models\CostObject; -use Modules\Profile\Models\ContactElement; use Modules\ClientManagement\Models\Client; -use Modules\ItemManagement\Models\ItemL11n; -use Modules\Exchange\Models\ImporterAbstract; -use Modules\ItemManagement\Models\ItemMapper; -use Modules\Accounting\Models\CostCenterMapper; -use Modules\Accounting\Models\CostObjectMapper; -use Modules\ItemManagement\Models\ItemL11nType; -use Modules\SupplierManagement\Models\Supplier; -use phpOMS\DataStorage\Database\DatabaseStatus; use Modules\ClientManagement\Models\ClientMapper; -use Modules\ItemManagement\Models\NullItemL11nType; -use phpOMS\DataStorage\Database\DataMapperAbstract; -use Modules\ItemManagement\Models\ItemAttributeType; use Modules\Exchange\Interfaces\GSD\Model\GSDArticle; -use Modules\ItemManagement\Models\ItemL11nTypeMapper; -use Modules\SupplierManagement\Models\SupplierMapper; -use Modules\Exchange\Interfaces\GSD\Model\GSDCustomer; -use Modules\Exchange\Interfaces\GSD\Model\GSDSupplier; -use Modules\Exchange\Interfaces\GSD\Model\GSDCostCenter; -use Modules\Exchange\Interfaces\GSD\Model\GSDCostObject; -use Modules\ItemManagement\Models\ItemAttributeTypeL11n; -use Modules\ItemManagement\Models\NullItemAttributeType; -use Modules\ItemManagement\Models\ItemAttributeTypeMapper; use Modules\Exchange\Interfaces\GSD\Model\GSDArticleMapper; -use Modules\Exchange\Interfaces\GSD\Model\GSDCustomerMapper; -use Modules\Exchange\Interfaces\GSD\Model\GSDSupplierMapper; -use phpOMS\DataStorage\Database\Connection\ConnectionFactory; +use Modules\Exchange\Interfaces\GSD\Model\GSDCostCenter; use Modules\Exchange\Interfaces\GSD\Model\GSDCostCenterMapper; +use Modules\Exchange\Interfaces\GSD\Model\GSDCostObject; use Modules\Exchange\Interfaces\GSD\Model\GSDCostObjectMapper; +use Modules\Exchange\Interfaces\GSD\Model\GSDCustomer; +use Modules\Exchange\Interfaces\GSD\Model\GSDCustomerMapper; +use Modules\Exchange\Interfaces\GSD\Model\GSDSupplier; +use Modules\Exchange\Interfaces\GSD\Model\GSDSupplierMapper; +use Modules\Exchange\Models\ImporterAbstract; +use Modules\ItemManagement\Models\Item; +use Modules\ItemManagement\Models\ItemAttributeType; +use Modules\ItemManagement\Models\ItemAttributeTypeL11n; use Modules\ItemManagement\Models\ItemAttributeTypeL11nMapper; +use Modules\ItemManagement\Models\ItemAttributeTypeMapper; +use Modules\ItemManagement\Models\ItemL11n; +use Modules\ItemManagement\Models\ItemL11nType; +use Modules\ItemManagement\Models\ItemL11nTypeMapper; +use Modules\ItemManagement\Models\ItemMapper; +use Modules\ItemManagement\Models\NullItemAttributeType; +use Modules\ItemManagement\Models\NullItemL11nType; +use Modules\Media\Controller\Controller; +use Modules\Media\Models\Media; +use Modules\Media\Models\MediaMapper; +use Modules\Profile\Models\ContactElement; +use Modules\Profile\Models\ContactType; +use Modules\Profile\Models\Profile; +use Modules\SupplierManagement\Models\Supplier; +use Modules\SupplierManagement\Models\SupplierMapper; use phpOMS\DataStorage\Database\Connection\ConnectionAbstract; +use phpOMS\DataStorage\Database\Connection\ConnectionFactory; +use phpOMS\DataStorage\Database\DatabaseStatus; +use phpOMS\DataStorage\Database\DataMapperAbstract; +use phpOMS\Localization\ISO3166TwoEnum; +use phpOMS\Localization\ISO639x1Enum; +use phpOMS\Message\RequestAbstract; +use phpOMS\System\File\Local\Directory; +use phpOMS\Utils\IO\Zip\Zip; /** * GSD import class @@ -455,7 +455,7 @@ final class Importer extends ImporterAbstract $png = Directory::listByExtension($imagePath, 'png'); $images = \array_merge($jpg, $png); $images = \array_diff($images, $imagesOld); - + foreach ($images as $image) { $number = (int) \explode('.', $image)[0]; diff --git a/Interfaces/GSD/Model/GSDCustomerMapper.php b/Interfaces/GSD/Model/GSDCustomerMapper.php index 94e5f90..205442f 100755 --- a/Interfaces/GSD/Model/GSDCustomerMapper.php +++ b/Interfaces/GSD/Model/GSDCustomerMapper.php @@ -67,7 +67,7 @@ final class GSDCustomerMapper extends DataMapperAbstract protected static array $ownsOne = [ 'addr' => [ - 'mapper' => GSDAddressMapper::class, + 'mapper' => GSDAddressMapper::class, 'external' => 'AdressId', ], ]; diff --git a/Interfaces/GSD/Model/GSDSupplierMapper.php b/Interfaces/GSD/Model/GSDSupplierMapper.php index 1ffb4fc..1c1085c 100755 --- a/Interfaces/GSD/Model/GSDSupplierMapper.php +++ b/Interfaces/GSD/Model/GSDSupplierMapper.php @@ -47,7 +47,7 @@ final class GSDSupplierMapper extends DataMapperAbstract protected static array $ownsOne = [ 'addr' => [ - 'mapper' => GSDAddressMapper::class, + 'mapper' => GSDAddressMapper::class, 'external' => 'AdressId', ], ];