import hiltes
Some checks failed
continuous-integration/drone/push Build is failing

This commit is contained in:
Marko 2023-02-22 10:34:33 +01:00
parent 0c04e6da7c
commit fd02b0d410
No known key found for this signature in database
8 changed files with 243 additions and 144 deletions

7
.env
View File

@ -32,7 +32,8 @@ DATABASE_URL="mysql://db:db@db:3306/db?serverVersion=mariadb-10.4.11&charset=utf
CORS_ALLOW_ORIGIN='^https?://(localhost|127\.0\.0\.1)(:[0-9]+)?$'
###< nelmio/cors-bundle ###
SHOPWARE_API_URL="https://cycro.ddev.site"
SHOPWARE_API_KEY="SHVRaXVVNU1wVm8xWlBVclZiaTFrTkNtdkJDNng3cUFhZHhoZ3Y"
SHOPWARE_API_ID="SWIAB0HHT3NLBUDLEK1JY2J5RW"
SHOPWARE_API_URL="ddev-cycro-web"
SHOPWARE_API_ID="SWIAETU3AXZKYMX6AMT3SDR0TA"
SHOPWARE_API_KEY="bFFkZDgxVmVjOVFvMGJyNldQUFd0ZXJIU2dmZlB6MzlpQlVTemU"

View File

@ -8,13 +8,13 @@
<jdbc-url>jdbc:mysql://127.0.0.1:3306</jdbc-url>
<working-dir>$ProjectFileDir$</working-dir>
</data-source>
<data-source source="LOCAL" name="DDEV" uuid="9b7b5206-4cfe-4e94-a0d7-6375cca27cab">
<data-source source="LOCAL" name="DDEV" uuid="fab935dc-aeb9-48eb-9524-42ed2c073a89">
<driver-ref>mariadb</driver-ref>
<synchronize>true</synchronize>
<configured-by-url>true</configured-by-url>
<remarks>DDEV generated data source</remarks>
<jdbc-driver>org.mariadb.jdbc.Driver</jdbc-driver>
<jdbc-url>jdbc:mariadb://127.0.0.1:60294/db?user=db&amp;password=db</jdbc-url>
<jdbc-url>jdbc:mariadb://127.0.0.1:32794/db?user=db&amp;password=db</jdbc-url>
<working-dir>$ProjectFileDir$</working-dir>
</data-source>
</component>

188
composer.lock generated
View File

@ -8,16 +8,16 @@
"packages": [
{
"name": "api-platform/core",
"version": "v2.7.8",
"version": "v2.7.9",
"source": {
"type": "git",
"url": "https://github.com/api-platform/core.git",
"reference": "dc11c7322ba47bb722e963e811face7265bae5e6"
"reference": "1c9a025aac450035ddd6b6a89b0312493303be49"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/api-platform/core/zipball/dc11c7322ba47bb722e963e811face7265bae5e6",
"reference": "dc11c7322ba47bb722e963e811face7265bae5e6",
"url": "https://api.github.com/repos/api-platform/core/zipball/1c9a025aac450035ddd6b6a89b0312493303be49",
"reference": "1c9a025aac450035ddd6b6a89b0312493303be49",
"shasum": ""
},
"require": {
@ -165,7 +165,7 @@
],
"support": {
"issues": "https://github.com/api-platform/core/issues",
"source": "https://github.com/api-platform/core/tree/v2.7.8"
"source": "https://github.com/api-platform/core/tree/v2.7.9"
},
"funding": [
{
@ -173,20 +173,20 @@
"type": "tidelift"
}
],
"time": "2023-01-27T09:28:22+00:00"
"time": "2023-02-03T08:53:46+00:00"
},
{
"name": "doctrine/annotations",
"version": "1.14.2",
"version": "1.14.3",
"source": {
"type": "git",
"url": "https://github.com/doctrine/annotations.git",
"reference": "ad785217c1e9555a7d6c6c8c9f406395a5e2882b"
"reference": "fb0d71a7393298a7b232cbf4c8b1f73f3ec3d5af"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/doctrine/annotations/zipball/ad785217c1e9555a7d6c6c8c9f406395a5e2882b",
"reference": "ad785217c1e9555a7d6c6c8c9f406395a5e2882b",
"url": "https://api.github.com/repos/doctrine/annotations/zipball/fb0d71a7393298a7b232cbf4c8b1f73f3ec3d5af",
"reference": "fb0d71a7393298a7b232cbf4c8b1f73f3ec3d5af",
"shasum": ""
},
"require": {
@ -247,9 +247,9 @@
],
"support": {
"issues": "https://github.com/doctrine/annotations/issues",
"source": "https://github.com/doctrine/annotations/tree/1.14.2"
"source": "https://github.com/doctrine/annotations/tree/1.14.3"
},
"time": "2022-12-15T06:48:22+00:00"
"time": "2023-02-01T09:20:38+00:00"
},
{
"name": "doctrine/cache",
@ -523,16 +523,16 @@
},
{
"name": "doctrine/dbal",
"version": "3.5.3",
"version": "3.6.0",
"source": {
"type": "git",
"url": "https://github.com/doctrine/dbal.git",
"reference": "88fa7e5189fd5ec6682477044264dc0ed4e3aa1e"
"reference": "85b98cb23c8af471a67abfe14485da696bcabc2e"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/doctrine/dbal/zipball/88fa7e5189fd5ec6682477044264dc0ed4e3aa1e",
"reference": "88fa7e5189fd5ec6682477044264dc0ed4e3aa1e",
"url": "https://api.github.com/repos/doctrine/dbal/zipball/85b98cb23c8af471a67abfe14485da696bcabc2e",
"reference": "85b98cb23c8af471a67abfe14485da696bcabc2e",
"shasum": ""
},
"require": {
@ -545,11 +545,12 @@
"psr/log": "^1|^2|^3"
},
"require-dev": {
"doctrine/coding-standard": "11.0.0",
"doctrine/coding-standard": "11.1.0",
"fig/log-test": "^1",
"jetbrains/phpstorm-stubs": "2022.3",
"phpstan/phpstan": "1.9.4",
"phpstan/phpstan": "1.9.14",
"phpstan/phpstan-strict-rules": "^1.4",
"phpunit/phpunit": "9.5.27",
"phpunit/phpunit": "9.6.3",
"psalm/plugin-phpunit": "0.18.4",
"squizlabs/php_codesniffer": "3.7.1",
"symfony/cache": "^5.4|^6.0",
@ -614,7 +615,7 @@
],
"support": {
"issues": "https://github.com/doctrine/dbal/issues",
"source": "https://github.com/doctrine/dbal/tree/3.5.3"
"source": "https://github.com/doctrine/dbal/tree/3.6.0"
},
"funding": [
{
@ -630,7 +631,7 @@
"type": "tidelift"
}
],
"time": "2023-01-12T10:21:44+00:00"
"time": "2023-02-07T22:52:03+00:00"
},
{
"name": "doctrine/deprecations",
@ -677,16 +678,16 @@
},
{
"name": "doctrine/doctrine-bundle",
"version": "2.8.2",
"version": "2.8.3",
"source": {
"type": "git",
"url": "https://github.com/doctrine/DoctrineBundle.git",
"reference": "251cd5aaea32bb92cdad4204840786b317dcdd4c"
"reference": "fd67ba64db3c806f626a33dcab15a4db0c77652e"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/doctrine/DoctrineBundle/zipball/251cd5aaea32bb92cdad4204840786b317dcdd4c",
"reference": "251cd5aaea32bb92cdad4204840786b317dcdd4c",
"url": "https://api.github.com/repos/doctrine/DoctrineBundle/zipball/fd67ba64db3c806f626a33dcab15a4db0c77652e",
"reference": "fd67ba64db3c806f626a33dcab15a4db0c77652e",
"shasum": ""
},
"require": {
@ -700,7 +701,7 @@
"symfony/console": "^5.4 || ^6.0",
"symfony/dependency-injection": "^5.4 || ^6.0",
"symfony/deprecation-contracts": "^2.1 || ^3",
"symfony/doctrine-bridge": "^5.4.7 || ^6.0.7",
"symfony/doctrine-bridge": "^5.4.19 || ^6.0.7",
"symfony/framework-bundle": "^5.4 || ^6.0",
"symfony/service-contracts": "^1.1.1 || ^2.0 || ^3"
},
@ -772,7 +773,7 @@
],
"support": {
"issues": "https://github.com/doctrine/DoctrineBundle/issues",
"source": "https://github.com/doctrine/DoctrineBundle/tree/2.8.2"
"source": "https://github.com/doctrine/DoctrineBundle/tree/2.8.3"
},
"funding": [
{
@ -788,7 +789,7 @@
"type": "tidelift"
}
],
"time": "2023-01-06T11:42:10+00:00"
"time": "2023-02-03T09:32:42+00:00"
},
{
"name": "doctrine/doctrine-migrations-bundle",
@ -1410,16 +1411,16 @@
},
{
"name": "doctrine/persistence",
"version": "3.1.3",
"version": "3.1.4",
"source": {
"type": "git",
"url": "https://github.com/doctrine/persistence.git",
"reference": "920da294b4bb0bb527f2a91ed60c18213435880f"
"reference": "8bf8ab15960787f1a49d405f6eb8c787b4841119"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/doctrine/persistence/zipball/920da294b4bb0bb527f2a91ed60c18213435880f",
"reference": "920da294b4bb0bb527f2a91ed60c18213435880f",
"url": "https://api.github.com/repos/doctrine/persistence/zipball/8bf8ab15960787f1a49d405f6eb8c787b4841119",
"reference": "8bf8ab15960787f1a49d405f6eb8c787b4841119",
"shasum": ""
},
"require": {
@ -1488,7 +1489,7 @@
],
"support": {
"issues": "https://github.com/doctrine/persistence/issues",
"source": "https://github.com/doctrine/persistence/tree/3.1.3"
"source": "https://github.com/doctrine/persistence/tree/3.1.4"
},
"funding": [
{
@ -1504,7 +1505,7 @@
"type": "tidelift"
}
],
"time": "2023-01-19T13:39:42+00:00"
"time": "2023-02-03T11:13:07+00:00"
},
{
"name": "doctrine/sql-formatter",
@ -2036,29 +2037,30 @@
},
{
"name": "nelmio/cors-bundle",
"version": "2.2.0",
"version": "2.3.1",
"source": {
"type": "git",
"url": "https://github.com/nelmio/NelmioCorsBundle.git",
"reference": "0ee5ee30b0ee08ea122d431ae6e0ddeb87f035c0"
"reference": "185d2c0ae50a3f0b628790170164d5f1c5b7c281"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/nelmio/NelmioCorsBundle/zipball/0ee5ee30b0ee08ea122d431ae6e0ddeb87f035c0",
"reference": "0ee5ee30b0ee08ea122d431ae6e0ddeb87f035c0",
"url": "https://api.github.com/repos/nelmio/NelmioCorsBundle/zipball/185d2c0ae50a3f0b628790170164d5f1c5b7c281",
"reference": "185d2c0ae50a3f0b628790170164d5f1c5b7c281",
"shasum": ""
},
"require": {
"symfony/framework-bundle": "^4.3 || ^5.0 || ^6.0"
"psr/log": "^1.0 || ^2.0 || ^3.0",
"symfony/framework-bundle": "^4.4 || ^5.4 || ^6.0"
},
"require-dev": {
"mockery/mockery": "^1.2",
"symfony/phpunit-bridge": "^4.3 || ^5.0 || ^6.0"
"symfony/phpunit-bridge": "^4.4 || ^5.4 || ^6.0"
},
"type": "symfony-bundle",
"extra": {
"branch-alias": {
"dev-master": "2.0.x-dev"
"dev-master": "2.x-dev"
}
},
"autoload": {
@ -2091,9 +2093,9 @@
],
"support": {
"issues": "https://github.com/nelmio/NelmioCorsBundle/issues",
"source": "https://github.com/nelmio/NelmioCorsBundle/tree/2.2.0"
"source": "https://github.com/nelmio/NelmioCorsBundle/tree/2.3.1"
},
"time": "2021-12-01T09:34:27+00:00"
"time": "2023-02-16T08:49:29+00:00"
},
{
"name": "phpdocumentor/reflection-common",
@ -2262,16 +2264,16 @@
},
{
"name": "phpstan/phpdoc-parser",
"version": "1.16.0",
"version": "1.16.1",
"source": {
"type": "git",
"url": "https://github.com/phpstan/phpdoc-parser.git",
"reference": "57090cfccbfaa639e703c007486d605a6e80f56d"
"reference": "e27e92d939e2e3636f0a1f0afaba59692c0bf571"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/57090cfccbfaa639e703c007486d605a6e80f56d",
"reference": "57090cfccbfaa639e703c007486d605a6e80f56d",
"url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/e27e92d939e2e3636f0a1f0afaba59692c0bf571",
"reference": "e27e92d939e2e3636f0a1f0afaba59692c0bf571",
"shasum": ""
},
"require": {
@ -2301,9 +2303,9 @@
"description": "PHPDoc parser with support for nullable, intersection and generic types",
"support": {
"issues": "https://github.com/phpstan/phpdoc-parser/issues",
"source": "https://github.com/phpstan/phpdoc-parser/tree/1.16.0"
"source": "https://github.com/phpstan/phpdoc-parser/tree/1.16.1"
},
"time": "2023-01-29T14:41:23+00:00"
"time": "2023-02-07T18:11:17+00:00"
},
{
"name": "psr/cache",
@ -6803,16 +6805,16 @@
},
{
"name": "twig/twig",
"version": "v3.5.0",
"version": "v3.5.1",
"source": {
"type": "git",
"url": "https://github.com/twigphp/Twig.git",
"reference": "3ffcf4b7d890770466da3b2666f82ac054e7ec72"
"reference": "a6e0510cc793912b451fd40ab983a1d28f611c15"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/twigphp/Twig/zipball/3ffcf4b7d890770466da3b2666f82ac054e7ec72",
"reference": "3ffcf4b7d890770466da3b2666f82ac054e7ec72",
"url": "https://api.github.com/repos/twigphp/Twig/zipball/a6e0510cc793912b451fd40ab983a1d28f611c15",
"reference": "a6e0510cc793912b451fd40ab983a1d28f611c15",
"shasum": ""
},
"require": {
@ -6863,7 +6865,7 @@
],
"support": {
"issues": "https://github.com/twigphp/Twig/issues",
"source": "https://github.com/twigphp/Twig/tree/v3.5.0"
"source": "https://github.com/twigphp/Twig/tree/v3.5.1"
},
"funding": [
{
@ -6875,7 +6877,7 @@
"type": "tidelift"
}
],
"time": "2022-12-27T12:28:18+00:00"
"time": "2023-02-08T07:49:20+00:00"
},
{
"name": "vin-sw/shopware-sdk",
@ -7115,16 +7117,16 @@
},
{
"name": "monolog/monolog",
"version": "3.2.0",
"version": "3.3.1",
"source": {
"type": "git",
"url": "https://github.com/Seldaek/monolog.git",
"reference": "305444bc6fb6c89e490f4b34fa6e979584d7fa81"
"reference": "9b5daeaffce5b926cac47923798bba91059e60e2"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/Seldaek/monolog/zipball/305444bc6fb6c89e490f4b34fa6e979584d7fa81",
"reference": "305444bc6fb6c89e490f4b34fa6e979584d7fa81",
"url": "https://api.github.com/repos/Seldaek/monolog/zipball/9b5daeaffce5b926cac47923798bba91059e60e2",
"reference": "9b5daeaffce5b926cac47923798bba91059e60e2",
"shasum": ""
},
"require": {
@ -7139,16 +7141,16 @@
"doctrine/couchdb": "~1.0@dev",
"elasticsearch/elasticsearch": "^7 || ^8",
"ext-json": "*",
"graylog2/gelf-php": "^1.4.2",
"guzzlehttp/guzzle": "^7.4",
"graylog2/gelf-php": "^1.4.2 || ^2@dev",
"guzzlehttp/guzzle": "^7.4.5",
"guzzlehttp/psr7": "^2.2",
"mongodb/mongodb": "^1.8",
"php-amqplib/php-amqplib": "~2.4 || ^3",
"phpstan/phpstan": "^1.4",
"phpstan/phpstan": "^1.9",
"phpstan/phpstan-deprecation-rules": "^1.0",
"phpstan/phpstan-strict-rules": "^1.1",
"phpunit/phpunit": "^9.5.16",
"predis/predis": "^1.1",
"phpstan/phpstan-strict-rules": "^1.4",
"phpunit/phpunit": "^9.5.26",
"predis/predis": "^1.1 || ^2",
"ruflin/elastica": "^7",
"symfony/mailer": "^5.4 || ^6",
"symfony/mime": "^5.4 || ^6"
@ -7200,7 +7202,7 @@
],
"support": {
"issues": "https://github.com/Seldaek/monolog/issues",
"source": "https://github.com/Seldaek/monolog/tree/3.2.0"
"source": "https://github.com/Seldaek/monolog/tree/3.3.1"
},
"funding": [
{
@ -7212,7 +7214,7 @@
"type": "tidelift"
}
],
"time": "2022-07-24T12:00:55+00:00"
"time": "2023-02-06T13:46:10+00:00"
},
{
"name": "myclabs/deep-copy",
@ -7760,16 +7762,16 @@
},
{
"name": "phpunit/phpunit",
"version": "9.5.28",
"version": "9.6.3",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/phpunit.git",
"reference": "954ca3113a03bf780d22f07bf055d883ee04b65e"
"reference": "e7b1615e3e887d6c719121c6d4a44b0ab9645555"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/954ca3113a03bf780d22f07bf055d883ee04b65e",
"reference": "954ca3113a03bf780d22f07bf055d883ee04b65e",
"url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/e7b1615e3e887d6c719121c6d4a44b0ab9645555",
"reference": "e7b1615e3e887d6c719121c6d4a44b0ab9645555",
"shasum": ""
},
"require": {
@ -7811,7 +7813,7 @@
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "9.5-dev"
"dev-master": "9.6-dev"
}
},
"autoload": {
@ -7842,7 +7844,7 @@
],
"support": {
"issues": "https://github.com/sebastianbergmann/phpunit/issues",
"source": "https://github.com/sebastianbergmann/phpunit/tree/9.5.28"
"source": "https://github.com/sebastianbergmann/phpunit/tree/9.6.3"
},
"funding": [
{
@ -7858,7 +7860,7 @@
"type": "tidelift"
}
],
"time": "2023-01-14T12:32:24+00:00"
"time": "2023-02-04T13:37:15+00:00"
},
{
"name": "sebastian/cli-parser",
@ -8226,16 +8228,16 @@
},
{
"name": "sebastian/environment",
"version": "5.1.4",
"version": "5.1.5",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/environment.git",
"reference": "1b5dff7bb151a4db11d49d90e5408e4e938270f7"
"reference": "830c43a844f1f8d5b7a1f6d6076b784454d8b7ed"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/1b5dff7bb151a4db11d49d90e5408e4e938270f7",
"reference": "1b5dff7bb151a4db11d49d90e5408e4e938270f7",
"url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/830c43a844f1f8d5b7a1f6d6076b784454d8b7ed",
"reference": "830c43a844f1f8d5b7a1f6d6076b784454d8b7ed",
"shasum": ""
},
"require": {
@ -8277,7 +8279,7 @@
],
"support": {
"issues": "https://github.com/sebastianbergmann/environment/issues",
"source": "https://github.com/sebastianbergmann/environment/tree/5.1.4"
"source": "https://github.com/sebastianbergmann/environment/tree/5.1.5"
},
"funding": [
{
@ -8285,7 +8287,7 @@
"type": "github"
}
],
"time": "2022-04-03T09:37:03+00:00"
"time": "2023-02-03T06:03:51+00:00"
},
{
"name": "sebastian/exporter",
@ -8599,16 +8601,16 @@
},
{
"name": "sebastian/recursion-context",
"version": "4.0.4",
"version": "4.0.5",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/recursion-context.git",
"reference": "cd9d8cf3c5804de4341c283ed787f099f5506172"
"reference": "e75bd0f07204fec2a0af9b0f3cfe97d05f92efc1"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/cd9d8cf3c5804de4341c283ed787f099f5506172",
"reference": "cd9d8cf3c5804de4341c283ed787f099f5506172",
"url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/e75bd0f07204fec2a0af9b0f3cfe97d05f92efc1",
"reference": "e75bd0f07204fec2a0af9b0f3cfe97d05f92efc1",
"shasum": ""
},
"require": {
@ -8647,10 +8649,10 @@
}
],
"description": "Provides functionality to recursively process PHP variables",
"homepage": "http://www.github.com/sebastianbergmann/recursion-context",
"homepage": "https://github.com/sebastianbergmann/recursion-context",
"support": {
"issues": "https://github.com/sebastianbergmann/recursion-context/issues",
"source": "https://github.com/sebastianbergmann/recursion-context/tree/4.0.4"
"source": "https://github.com/sebastianbergmann/recursion-context/tree/4.0.5"
},
"funding": [
{
@ -8658,7 +8660,7 @@
"type": "github"
}
],
"time": "2020-10-26T13:17:30+00:00"
"time": "2023-02-03T06:07:39+00:00"
},
{
"name": "sebastian/resource-operations",
@ -8717,16 +8719,16 @@
},
{
"name": "sebastian/type",
"version": "3.2.0",
"version": "3.2.1",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/type.git",
"reference": "fb3fe09c5f0bae6bc27ef3ce933a1e0ed9464b6e"
"reference": "75e2c2a32f5e0b3aef905b9ed0b179b953b3d7c7"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/type/zipball/fb3fe09c5f0bae6bc27ef3ce933a1e0ed9464b6e",
"reference": "fb3fe09c5f0bae6bc27ef3ce933a1e0ed9464b6e",
"url": "https://api.github.com/repos/sebastianbergmann/type/zipball/75e2c2a32f5e0b3aef905b9ed0b179b953b3d7c7",
"reference": "75e2c2a32f5e0b3aef905b9ed0b179b953b3d7c7",
"shasum": ""
},
"require": {
@ -8761,7 +8763,7 @@
"homepage": "https://github.com/sebastianbergmann/type",
"support": {
"issues": "https://github.com/sebastianbergmann/type/issues",
"source": "https://github.com/sebastianbergmann/type/tree/3.2.0"
"source": "https://github.com/sebastianbergmann/type/tree/3.2.1"
},
"funding": [
{
@ -8769,7 +8771,7 @@
"type": "github"
}
],
"time": "2022-09-12T14:47:03+00:00"
"time": "2023-02-03T06:13:03+00:00"
},
{
"name": "sebastian/version",

View File

@ -692,10 +692,10 @@ filiale;etikettnr;menge;modellnr;modellbez;bestandskz;abteilung;hauptwarengruppe
000000002;00194903376208;000000100;"NF0A493TUBF ";"W Simple Dome Tee Dress ";"E";000000111;00011101;111011;000000000;"20210510";"000000000";" ";"194903376208";0;5
000000002;00194903376253;000000100;"NF0A493TUBF ";"W Simple Dome Tee Dress ";"E";000000111;00011101;111011;000000000;"20210510";"000000000";" ";"194903376253";0;5
000000002;00194903376253;000000100;"NF0A493TUBF ";"W Simple Dome Tee Dress ";"E";000000111;00011101;111011;000000000;"20210510";"000000000";" ";"194903376253";0;5
000000002;00194903489205;000000100;"NF0A557VJK3 ";"Gosei Puffer Jacket ";"E";000000111;00011145;111452;000000000;"20211004";"000000000";" ";"194903489205";0;5
000000002;00194903489205;000000200;"NF0A557VJK3 ";"Gosei Puffer Jacket ";"E";000000111;00011145;111452;000000000;"20211004";"000000000";" ";"194903489205";0;5
000000002;00194904257483;000000100;"NF0A3KZUYXH ";"Explore Utility Tote ";"E";000000135;00013501;135011;000000000;"20210311";"000000000";" ";"194904257483";0;5
000000002;00194904379857;000000100;"NF0A48KMY1B ";"W Tka Glacier Snap-Neck Pullover ";"E";000000111;00011105;111051;000000000;"20210315";"000000000";" ";"194904379857";0;5
000000002;00194904380679;000000100;"NF0A48KMY1B ";"W Tka Glacier Snap-Neck Pullover ";"E";000000111;00011105;111051;000000000;"20210315";"000000000";" ";"194904380679";0;5
000000002;00194904380679;000000010;"NF0A48KMY1B ";"W Tka Glacier Snap-Neck Pullover ";"E";000000111;00011105;111051;000000000;"20210315";"000000000";" ";"194904380679";0;5
000000002;00194904380679;000000100;"NF0A48KMY1B ";"W Tka Glacier Snap-Neck Pullover ";"E";000000111;00011105;111051;000000000;"20210315";"000000000";" ";"194904380679";0;5
000000002;00194905263063;000000100;"NF0A52RYYXH ";"Bozer Cross Body ";"E";000000135;00013501;135012;000000000;"20210304";"000000000";" ";"194905263063";0;5
000000002;00194905263063;000000100;"NF0A52RYYXH ";"Bozer Cross Body ";"E";000000135;00013501;135012;000000000;"20210304";"000000000";" ";"194905263063";0;5
@ -737,7 +737,7 @@ filiale;etikettnr;menge;modellnr;modellbez;bestandskz;abteilung;hauptwarengruppe
000000002;00194955933152;000000100;"DA2045-100 ";"Blazer Low X ";"E";000000121;00012115;121151;000000000;"20211006";"000000000";" ";"194955933152";0;5
000000002;00194955933176;000000100;"DA2045-100 ";"Blazer Low X ";"E";000000121;00012115;121151;000000000;"20211006";"000000000";" ";"194955933176";0;5
000000002;00194955933213;000000100;"DA2045-100 ";"Blazer Low X ";"E";000000121;00012115;121151;000000000;"20211006";"000000000";" ";"194955933213";0;5
000000002;00194955933213;000000100;"DA2045-100 ";"Blazer Low X ";"E";000000121;00012115;121151;000000000;"20211006";"000000000";" ";"194955933213";0;5
000000002;00194955933213;000099100;"DA2045-100 ";"Blazer Low X ";"E";000000121;00012115;121151;000000000;"20211006";"000000000";" ";"194955933213";0;5
000000002;00194955933220;000000100;"DA2045-100 ";"Blazer Low X ";"E";000000121;00012115;121151;000000000;"20211006";"000000000";" ";"194955933220";0;5
000000002;00194955933275;000000100;"DA2045-100 ";"Blazer Low X ";"E";000000121;00012115;121151;000000000;"20211006";"000000000";" ";"194955933275";0;5
000000002;00194955987209;000000100;"DD1068-001 ";"Air Huarache ";"E";000000121;00012101;121015;000000000;"20211101";"000000000";" ";"194955987209";0;5

View File

@ -58,13 +58,21 @@ class HiltesImportCommand extends Command
* @var HiltesImport
*/
$hiltesImport = new HiltesImport($this->productRepository,$this->logger);
$hiltesImport->startImport();
$r = $hiltesImport->startImport();
if($r['error']){
$io->error($r['text']);
$this->logger->error($r['text']);
return Command::FAILURE;
}else{
$io->success('Done.');
$pushStock = new SwPushStockCommand($this->stockRepository,$this->warehouseRepository,$this->logger);
$pushStock->execute($input,$output);
return Command::SUCCESS;
$io->success('Done.');
return Command::SUCCESS;
}
}
}

View File

@ -3,13 +3,11 @@
namespace App\Command;
use App\Helper\Shopware;
use App\Repository\StockRepository;
use App\Repository\ProductRepository;
use Psr\Log\LoggerInterface;
use Symfony\Component\Console\Attribute\AsCommand;
use Symfony\Component\Console\Command\Command;
use Symfony\Component\Console\Input\InputArgument;
use Symfony\Component\Console\Input\InputInterface;
use Symfony\Component\Console\Input\InputOption;
use Symfony\Component\Console\Output\OutputInterface;
use Symfony\Component\Console\Style\SymfonyStyle;
@ -20,15 +18,15 @@ use Symfony\Component\Console\Style\SymfonyStyle;
class SwPushStockCommand extends Command
{
private $stockRepository;
private $productRepository;
private $logger;
// public function __construct(StockRepository $stockRepository, LoggerInterface $logger)
// {
// $this->stockRepository = $stockRepository;
// $this->logger = $logger;
// parent::__construct();
// }
public function __construct(ProductRepository $productRepository, LoggerInterface $logger)
{
$this->productRepository = $productRepository;
$this->logger = $logger;
parent::__construct();
}
protected function configure(): void
@ -48,15 +46,66 @@ class SwPushStockCommand extends Command
// // ...
// }
$shopware = new Shopware();
$shopware = new Shopware($this->logger);
$shopware->pushStock();
$products = $this->getProducts();
if (count($products) > 0) {
foreach ($products as $product) {
//prüfen ob Shopware ID vorhanden
if($product->getShopwareId() == null) {
$swID = $this->getShopwareId($product);
if($swID != null) {
$product->setShopwareId($swID->id);
}else{
continue;
}
}
$shopware->setProduct($product);
}
}
$io->success('Done.');
return Command::SUCCESS;
}
protected function getProducts()
{
$products = $this->productRepository->findAll();
$arrProducts = array();
foreach ($products as $product) {
$arrProducts[$product->getGtin()] = $product;
}
return $arrProducts;
}
/**
* @param Product $product
* @return int|null
*/
protected function getShopwareId($product)
{
$shopware = new Shopware($this->logger);
$shopwareProduct = $shopware->getShopwareIdbyGtin($product->getGtin());
if($shopwareProduct != null) {
dump($shopwareProduct);
$product->setShopwareId($shopwareProduct->id);
$this->productRepository->save($product, true);
}
return $shopwareProduct;
}
}

View File

@ -7,16 +7,12 @@ use App\Entity\Product;
use App\Entity\Stock;
use App\Entity\Warehouse;
use App\Repository\ProductRepository;
use App\Repository\StockRepository;
use App\Repository\WarehouseRepository;
use Doctrine\ORM\EntityManager;
use Psr\Log\LoggerInterface;
use Symfony\Component\Finder\Finder;
class HiltesImport
{
private $productRepository;
private $stockRepository;
private $warehouseRepository;
private $logger;
protected $currentDirPath;
@ -24,9 +20,6 @@ class HiltesImport
public function __construct(ProductRepository $productRepository, LoggerInterface $logger)
{
// $this->stockRepository = $stockRepository;
// $this->warehouseRepository = $warehouseRepository;
$this->productRepository = $productRepository;
$this->logger = $logger;
@ -34,7 +27,9 @@ class HiltesImport
}
/**
* @return array|void
*/
public function startImport()
{
#*** Holt alle Dateien
@ -44,6 +39,7 @@ class HiltesImport
if(is_file($file['realPath'])){
$this->loadFiles($file['realPath'],$file['fileSize']);
}else{
return array('error'=>1,'text'=>'Error is_file('.$file['realPath'].')');
}
}
@ -52,6 +48,10 @@ class HiltesImport
}else
return array('error'=>1,'text'=>'Error in getFiles');
}
/**
* @return bool
*/
protected function getFiles()
{
$finder = Finder::create();
@ -62,6 +62,8 @@ class HiltesImport
# return $file->isDir() || \preg_match('/\.(php|json)$/', $file->getPathname());
#});
if ($finder->hasResults()) {
dump($finder);
foreach ($finder as $file) {
$this->arrData['orgFiles']['data'][] = array(
'realPath' => $file->getRealPath(),
@ -79,9 +81,8 @@ class HiltesImport
{
$file = new \SplFileObject($srcFile);
dump($file->getRealPath());
$this->logger->info('Starte Import von ' . $file->getRealPath());
$c = 0;
@ -98,6 +99,9 @@ class HiltesImport
$this->switchSaveData($this->splitLine($data));
}
// $em = $this->productRepository->getEntityManager();
// $em->flush();
dump($c . ' Datensätze importiert');
}
protected function splitLine($str){
@ -190,8 +194,8 @@ class HiltesImport
#menge;
$prod->setStock($stock);
#gtin;
$prod->setGtin($arr[1]);
#eanzuIdent;
$prod->setGtin($arr[13]);
$prod->setShopwareId("");

View File

@ -2,14 +2,17 @@
namespace App\Helper;
use App\Entity\Products;
use App\Repository\ProductsRepository;
use Psr\Log\LoggerInterface;
use Vin\ShopwareSdk\Client\AdminAuthenticator;
use Vin\ShopwareSdk\Client\GrantType\ClientCredentialsGrantType;
use Vin\ShopwareSdk\Data\Context;
use Vin\ShopwareSdk\Data\Criteria;
use Vin\ShopwareSdk\Data\Entity\Order\OrderDefinition;
use Vin\ShopwareSdk\Data\Entity\Product\ProductDefinition;
use Vin\ShopwareSdk\Data\Filter\EqualsFilter;
use Vin\ShopwareSdk\Factory\RepositoryFactory;
@ -34,8 +37,12 @@ class Shopware
try {
$grantType = new ClientCredentialsGrantType($_ENV['SHOPWARE_API_ID'], $_ENV['SHOPWARE_API_KEY']);
$adminClient = new AdminAuthenticator($grantType, $_ENV['SHOPWARE_API_URL']);
//dump([$grantType, $adminClient,$_ENV['SHOPWARE_API_ID'], $_ENV['SHOPWARE_API_KEY']]);
return $adminClient->fetchAccessToken();
} catch (\Exception $e) {
dump($e->getMessage());
$this->logger->error($e->getMessage());
}
}
@ -70,30 +77,58 @@ class Shopware
return $orders->getEntities();
}
public function setProduct(Products $product){
/**
* @param $prod
*/
public function setProduct($prod): void
{
$context = new Context($_ENV['SHOPWARE_API_URL'], $this->shopwareAuth());
//prüfen ob Shopware Produktid schon bekannt ist
if($product->getProductId() == null){
if($prod->getShopwareId() == null){
$this->logger->error('Shopware Produkt ID ist nicht bekannt');
return;
}
$productRepository = RepositoryFactory::create(ProductDefinition::ENTITY_NAME);
$productRepository->update($product, $context);
}
public function pushStock()
{
$productRepository = new ProductsRepository();
$products = $productRepository->findAll();
dump($prod->getShopwareId());
foreach ($products as $product) {
$this->setProduct($product);
try {
$productRepository->update([
'id' => $prod->getShopwareId(),
'stock' => $prod->getStock()->getInStock()
], $context);
} catch (\ShopwareResponseException $e) {
$this->logger->error($e->getResponse());
}
}
public function getShopwareIdbyGtin($gtin)
{
$context = new Context($_ENV['SHOPWARE_API_URL'], $this->shopwareAuth());
// Create the repository for the entity
$productRepository = RepositoryFactory::create(ProductDefinition::ENTITY_NAME);
// Create the criteria
$criteria = new Criteria();
$criteria->addFilter(new EqualsFilter('ean', $gtin));
$products = $productRepository->search($criteria, $context);
//dump($products->getEntities()->first());
if($products->count() > 0){
$productCollection = $products->getEntities();
return $productCollection->first();
//$prod->setShopwareId($products->getEntities()->first()->getId());
//return $products->getEntities()->first();
}else{
return null;
}
}
}