registration fixes

This commit is contained in:
Dennis Eichhorn 2023-03-24 16:20:22 +01:00
parent b0be0be09c
commit 769bc2d0e2
146 changed files with 160 additions and 2981 deletions

View File

@ -6,7 +6,7 @@
* *
* @package Interfaces * @package Interfaces
* @copyright Dennis Eichhorn * @copyright Dennis Eichhorn
* @license OMS License 1.0 * @license OMS License 2.0
* @version 1.0.0 * @version 1.0.0
* @link https://jingga.app * @link https://jingga.app
*/ */
@ -24,7 +24,7 @@ use phpOMS\Message\RequestAbstract;
* Exchange trait * Exchange trait
* *
* @package Interfaces * @package Interfaces
* @license OMS License 1.0 * @license OMS License 2.0
* @link https://jingga.app * @link https://jingga.app
* @since 1.0.0 * @since 1.0.0
*/ */

View File

@ -6,7 +6,7 @@
* *
* @package Interfaces * @package Interfaces
* @copyright Dennis Eichhorn * @copyright Dennis Eichhorn
* @license OMS License 1.0 * @license OMS License 2.0
* @version 1.0.0 * @version 1.0.0
* @link https://jingga.app * @link https://jingga.app
*/ */
@ -21,7 +21,7 @@ use phpOMS\Message\RequestAbstract;
* DB export class * DB export class
* *
* @package Modules\Exchange\Models\Interfaces\OMS * @package Modules\Exchange\Models\Interfaces\OMS
* @license OMS License 1.0 * @license OMS License 2.0
* @link https://jingga.app * @link https://jingga.app
* @since 1.0.0 * @since 1.0.0
*/ */

View File

@ -6,7 +6,7 @@
* *
* @package Interfaces * @package Interfaces
* @copyright Dennis Eichhorn * @copyright Dennis Eichhorn
* @license OMS License 1.0 * @license OMS License 2.0
* @version 1.0.0 * @version 1.0.0
* @link https://jingga.app * @link https://jingga.app
*/ */
@ -21,7 +21,7 @@ use phpOMS\Message\RequestAbstract;
* DB import class * DB import class
* *
* @package Modules\Exchange\Models\Interfaces\OMS * @package Modules\Exchange\Models\Interfaces\OMS
* @license OMS License 1.0 * @license OMS License 2.0
* @link https://jingga.app * @link https://jingga.app
* @since 1.0.0 * @since 1.0.0
*/ */

View File

@ -8,7 +8,7 @@ declare(strict_types=1);
* *
* @package Modules\Exchange * @package Modules\Exchange
* @copyright Dennis Eichhorn * @copyright Dennis Eichhorn
* @license OMS License 1.0 * @license OMS License 2.0
* @version 1.0.0 * @version 1.0.0
* @link https://jingga.app * @link https://jingga.app
*/ */

View File

@ -6,7 +6,7 @@
* *
* @package Template * @package Template
* @copyright Dennis Eichhorn * @copyright Dennis Eichhorn
* @license OMS License 1.0 * @license OMS License 2.0
* @version 1.0.0 * @version 1.0.0
* @link https://jingga.app * @link https://jingga.app
*/ */

View File

@ -6,7 +6,7 @@
* *
* @package Template * @package Template
* @copyright Dennis Eichhorn * @copyright Dennis Eichhorn
* @license OMS License 1.0 * @license OMS License 2.0
* @version 1.0.0 * @version 1.0.0
* @link https://jingga.app * @link https://jingga.app
*/ */
@ -181,7 +181,7 @@ $isNew = $currentSetting instanceof NullExchangeSetting;
<tbody> <tbody>
<?php <?php
foreach ($settings as $setting) : foreach ($settings as $setting) :
$url = UriFactory::build('{/lang}/{/app}/admin/exchange/import/profile?id=' . $interface->getId() . '&setting=' . $setting->getId()); $url = UriFactory::build('{/base}/admin/exchange/import/profile?id=' . $interface->getId() . '&setting=' . $setting->getId());
?> ?>
<tr data-href="<?= $url; ?>"> <tr data-href="<?= $url; ?>">
<td><a href="<?= $url; ?>"><?= $setting->getId(); ?></a> <td><a href="<?= $url; ?>"><?= $setting->getId(); ?></a>

View File

@ -6,7 +6,7 @@
* *
* @package Modules\Exchange\Admin\Install * @package Modules\Exchange\Admin\Install
* @copyright Dennis Eichhorn * @copyright Dennis Eichhorn
* @license OMS License 1.0 * @license OMS License 2.0
* @version 1.0.0 * @version 1.0.0
* @link https://jingga.app * @link https://jingga.app
*/ */
@ -20,7 +20,7 @@ use phpOMS\Application\ApplicationAbstract;
* Media class. * Media class.
* *
* @package Modules\Exchange\Admin\Install * @package Modules\Exchange\Admin\Install
* @license OMS License 1.0 * @license OMS License 2.0
* @link https://jingga.app * @link https://jingga.app
* @since 1.0.0 * @since 1.0.0
*/ */

View File

@ -5,7 +5,7 @@
"type": 2, "type": 2,
"subtype": 1, "subtype": 1,
"name": "Exchange", "name": "Exchange",
"uri": "{/lang}/{/app}/admin/exchange/log/list?{?}", "uri": "{/base}/admin/exchange/log/list?{?}",
"target": "self", "target": "self",
"icon": null, "icon": null,
"order": 50, "order": 50,
@ -19,7 +19,7 @@
"type": 3, "type": 3,
"subtype": 1, "subtype": 1,
"name": "Dashboard", "name": "Dashboard",
"uri": "{/lang}/{/app}/admin/exchange/log/list?{?}", "uri": "{/base}/admin/exchange/log/list?{?}",
"target": "self", "target": "self",
"icon": null, "icon": null,
"order": 1, "order": 1,
@ -34,7 +34,7 @@
"type": 3, "type": 3,
"subtype": 1, "subtype": 1,
"name": "Import", "name": "Import",
"uri": "{/lang}/{/app}/admin/exchange/import/list", "uri": "{/base}/admin/exchange/import/list",
"target": "self", "target": "self",
"icon": null, "icon": null,
"order": 5, "order": 5,
@ -49,7 +49,7 @@
"type": 3, "type": 3,
"subtype": 1, "subtype": 1,
"name": "Export", "name": "Export",
"uri": "{/lang}/{/app}/admin/exchange/export/list", "uri": "{/base}/admin/exchange/export/list",
"target": "self", "target": "self",
"icon": null, "icon": null,
"order": 10, "order": 10,

View File

@ -6,7 +6,7 @@
* *
* @package Modules\Exchange\Admin\Install * @package Modules\Exchange\Admin\Install
* @copyright Dennis Eichhorn * @copyright Dennis Eichhorn
* @license OMS License 1.0 * @license OMS License 2.0
* @version 1.0.0 * @version 1.0.0
* @link https://jingga.app * @link https://jingga.app
*/ */
@ -20,7 +20,7 @@ use phpOMS\Application\ApplicationAbstract;
* Navigation class. * Navigation class.
* *
* @package Modules\Exchange\Admin\Install * @package Modules\Exchange\Admin\Install
* @license OMS License 1.0 * @license OMS License 2.0
* @link https://jingga.app * @link https://jingga.app
* @since 1.0.0 * @since 1.0.0
*/ */

View File

@ -6,7 +6,7 @@
* *
* @package Modules\Exchange * @package Modules\Exchange
* @copyright Dennis Eichhorn * @copyright Dennis Eichhorn
* @license OMS License 1.0 * @license OMS License 2.0
* @version 1.0.0 * @version 1.0.0
* @link https://jingga.app * @link https://jingga.app
*/ */
@ -27,7 +27,7 @@ use phpOMS\Uri\HttpUri;
* Installer class. * Installer class.
* *
* @package Modules\Exchange * @package Modules\Exchange
* @license OMS License 1.0 * @license OMS License 2.0
* @link https://jingga.app * @link https://jingga.app
* @since 1.0.0 * @since 1.0.0
*/ */

View File

@ -6,7 +6,7 @@
* *
* @package Modules * @package Modules
* @copyright Dennis Eichhorn * @copyright Dennis Eichhorn
* @license OMS License 1.0 * @license OMS License 2.0
* @version 1.0.0 * @version 1.0.0
* @link https://jingga.app * @link https://jingga.app
*/ */

View File

@ -6,7 +6,7 @@
* *
* @package Modules * @package Modules
* @copyright Dennis Eichhorn * @copyright Dennis Eichhorn
* @license OMS License 1.0 * @license OMS License 2.0
* @version 1.0.0 * @version 1.0.0
* @link https://jingga.app * @link https://jingga.app
*/ */

View File

@ -6,7 +6,7 @@
* *
* @package Modules\Exchange * @package Modules\Exchange
* @copyright Dennis Eichhorn * @copyright Dennis Eichhorn
* @license OMS License 1.0 * @license OMS License 2.0
* @version 1.0.0 * @version 1.0.0
* @link https://jingga.app * @link https://jingga.app
*/ */
@ -20,7 +20,7 @@ use phpOMS\Module\StatusAbstract;
* Status class. * Status class.
* *
* @package Modules\Exchange * @package Modules\Exchange
* @license OMS License 1.0 * @license OMS License 2.0
* @link https://jingga.app * @link https://jingga.app
* @since 1.0.0 * @since 1.0.0
*/ */

View File

@ -6,7 +6,7 @@
* *
* @package Modules\Exchange * @package Modules\Exchange
* @copyright Dennis Eichhorn * @copyright Dennis Eichhorn
* @license OMS License 1.0 * @license OMS License 2.0
* @version 1.0.0 * @version 1.0.0
* @link https://jingga.app * @link https://jingga.app
*/ */
@ -20,7 +20,7 @@ use phpOMS\Module\UninstallerAbstract;
* Uninstaller class. * Uninstaller class.
* *
* @package Modules\Exchange * @package Modules\Exchange
* @license OMS License 1.0 * @license OMS License 2.0
* @link https://jingga.app * @link https://jingga.app
* @since 1.0.0 * @since 1.0.0
*/ */

View File

@ -6,7 +6,7 @@
* *
* @package Modules\Exchange * @package Modules\Exchange
* @copyright Dennis Eichhorn * @copyright Dennis Eichhorn
* @license OMS License 1.0 * @license OMS License 2.0
* @version 1.0.0 * @version 1.0.0
* @link https://jingga.app * @link https://jingga.app
*/ */
@ -20,7 +20,7 @@ use phpOMS\Module\UpdaterAbstract;
* Updater class. * Updater class.
* *
* @package Modules\Exchange * @package Modules\Exchange
* @license OMS License 1.0 * @license OMS License 2.0
* @link https://jingga.app * @link https://jingga.app
* @since 1.0.0 * @since 1.0.0
*/ */

View File

@ -6,7 +6,7 @@
* *
* @package Modules\Exchange * @package Modules\Exchange
* @copyright Dennis Eichhorn * @copyright Dennis Eichhorn
* @license OMS License 1.0 * @license OMS License 2.0
* @version 1.0.0 * @version 1.0.0
* @link https://jingga.app * @link https://jingga.app
*/ */
@ -41,7 +41,7 @@ use phpOMS\Utils\StringUtils;
* Exchange controller class. * Exchange controller class.
* *
* @package Modules\Exchange * @package Modules\Exchange
* @license OMS License 1.0 * @license OMS License 2.0
* @link https://jingga.app * @link https://jingga.app
* @since 1.0.0 * @since 1.0.0
*/ */
@ -116,18 +116,18 @@ final class ApiController extends Controller
if (!empty($request->getData('dbtype'))) { if (!empty($request->getData('dbtype'))) {
$remoteConnection = ConnectionFactory::create([ $remoteConnection = ConnectionFactory::create([
'db' => (string) $request->getData('dbtype'), 'db' => (string) $request->getData('dbtype'),
'host' => $request->getData('dbhost', 'string'), 'host' => $request->getDataString('dbhost'),
'port' => $request->getData('dbport', 'int'), 'port' => $request->getDataInt('dbport'),
'database' => $request->getData('dbdatabase', 'string'), 'database' => $request->getDataString('dbdatabase'),
'login' => $request->getData('dblogin', 'string'), 'login' => $request->getDataString('dblogin'),
'password' => $request->getData('dbpassword', 'string'), 'password' => $request->getDataString('dbpassword'),
]); ]);
} }
$importer = new \Modules\Exchange\Interface\Importer( $importer = new \Modules\Exchange\Interface\Importer(
$this->app->dbPool->get(), $this->app->dbPool->get(),
$remoteConnection, $remoteConnection,
new L11nManager($this->app->appName) new L11nManager()
); );
break; break;
@ -214,8 +214,8 @@ final class ApiController extends Controller
/** @var \Modules\Media\Models\Collection $collection */ /** @var \Modules\Media\Models\Collection $collection */
$collection = $this->app->moduleManager->get('Media')->createMediaCollectionFromMedia( $collection = $this->app->moduleManager->get('Media')->createMediaCollectionFromMedia(
(string) ($request->getData('name') ?? ''), $request->getDataString('name') ?? '',
(string) ($request->getData('description') ?? ''), $request->getDataString('description') ?? '',
$files, $files,
$request->header->account $request->header->account
); );
@ -227,7 +227,7 @@ final class ApiController extends Controller
return; return;
} }
$collection->setPath('/Modules/Media/Files/Modules/Exchange/Interface/' . ((string) ($request->getData('title') ?? ''))); $collection->setPath('/Modules/Media/Files/Modules/Exchange/Interface/' . ($request->getDataString('title') ?? ''));
$collection->setVirtualPath('/Modules/Exchange/Interface'); $collection->setVirtualPath('/Modules/Exchange/Interface');
$this->createModel($request->header->account, $collection, CollectionMapper::class, 'collection', $request->getOrigin()); $this->createModel($request->header->account, $collection, CollectionMapper::class, 'collection', $request->getOrigin());
@ -251,11 +251,11 @@ final class ApiController extends Controller
private function createInterfaceFromRequest(RequestAbstract $request, int $collectionId) : InterfaceManager private function createInterfaceFromRequest(RequestAbstract $request, int $collectionId) : InterfaceManager
{ {
$interface = new InterfaceManager(); $interface = new InterfaceManager();
$interface->title = (string) ($request->getData('title') ?? ''); $interface->title = $request->getDataString('title') ?? '';
$interface->hasExport = (bool) ($request->getData('export') ?? false); $interface->hasExport = $request->getDataBool('export') ?? false;
$interface->hasImport = (bool) ($request->getData('import') ?? false); $interface->hasImport = $request->getDataBool('import') ?? false;
$interface->website = (string) ($request->getData('website') ?? ''); $interface->website = $request->getDataString('website') ?? '';
$interface->version = (string) ($request->getData('version') ?? ''); $interface->version = $request->getDataString('version') ?? '';
$interface->createdBy = new NullAccount($request->header->account); $interface->createdBy = new NullAccount($request->header->account);
if ($collectionId > 0) { if ($collectionId > 0) {
@ -353,7 +353,7 @@ final class ApiController extends Controller
$exporter = new \Modules\Exchange\Interface\Exporter( $exporter = new \Modules\Exchange\Interface\Exporter(
$this->app->dbPool->get(), $this->app->dbPool->get(),
new NullConnection(), new NullConnection(),
new L11nManager($this->app->appName) new L11nManager()
); );
break; break;
@ -426,9 +426,9 @@ final class ApiController extends Controller
private function createSettingFromRequest(RequestAbstract $request) : ExchangeSetting private function createSettingFromRequest(RequestAbstract $request) : ExchangeSetting
{ {
$setting = new ExchangeSetting(); $setting = new ExchangeSetting();
$setting->title = (string) ($request->getData('title') ?? ''); $setting->title = $request->getDataString('title') ?? '';
$setting->exchange = (int) ($request->getData('id') ?? 0); $setting->exchange = $request->getDataInt('id') ?? 0;
$setting->setData(\json_decode((string) ($request->getData('data') ?? '{}'), true)); $setting->setData($request->getDataJson('data'));
return $setting; return $setting;
} }

View File

@ -6,7 +6,7 @@
* *
* @package Modules\Exchange * @package Modules\Exchange
* @copyright Dennis Eichhorn * @copyright Dennis Eichhorn
* @license OMS License 1.0 * @license OMS License 2.0
* @version 1.0.0 * @version 1.0.0
* @link https://jingga.app * @link https://jingga.app
*/ */
@ -25,7 +25,7 @@ use phpOMS\Views\View;
* Exchange controller class. * Exchange controller class.
* *
* @package Modules\Exchange * @package Modules\Exchange
* @license OMS License 1.0 * @license OMS License 2.0
* @link https://jingga.app * @link https://jingga.app
* @since 1.0.0 * @since 1.0.0
* @codeCoverageIgnore * @codeCoverageIgnore
@ -52,11 +52,11 @@ final class BackendController extends Controller
if ($request->getData('ptype') === 'p') { if ($request->getData('ptype') === 'p') {
$view->setData('logs', $view->setData('logs',
ExchangeLogMapper::getAll()->where('id', (int) ($request->getData('id') ?? 0), '<')->limit(25)->execute() ExchangeLogMapper::getAll()->where('id', $request->getDataInt('id') ?? 0, '<')->limit(25)->execute()
); );
} elseif ($request->getData('ptype') === 'n') { } elseif ($request->getData('ptype') === 'n') {
$view->setData('logs', $view->setData('logs',
ExchangeLogMapper::getAll()->where('id', (int) ($request->getData('id') ?? 0), '>')->limit(25)->execute() ExchangeLogMapper::getAll()->where('id', $request->getDataInt('id') ?? 0, '>')->limit(25)->execute()
); );
} else { } else {
$view->setData('logs', $view->setData('logs',

View File

@ -6,7 +6,7 @@
* *
* @package Modules\Exchange * @package Modules\Exchange
* @copyright Dennis Eichhorn * @copyright Dennis Eichhorn
* @license OMS License 1.0 * @license OMS License 2.0
* @version 1.0.0 * @version 1.0.0
* @link https://jingga.app * @link https://jingga.app
*/ */
@ -20,7 +20,7 @@ use phpOMS\Module\ModuleAbstract;
* Exchange controller class. * Exchange controller class.
* *
* @package Modules\Exchange * @package Modules\Exchange
* @license OMS License 1.0 * @license OMS License 2.0
* @link https://jingga.app * @link https://jingga.app
* @since 1.0.0 * @since 1.0.0
*/ */

View File

@ -1,27 +0,0 @@
<?php
/**
* Karaka
*
* PHP Version 8.1
*
* @package Modules\Exchange\Interfaces\GSD\Import
* @copyright Dennis Eichhorn
* @license OMS License 1.0
* @version 1.0.0
* @link https://jingga.app
*/
declare(strict_types=1);
namespace Modules\Exchange\Interfaces\GSD\Import;
/**
* Import class.
*
* @package Modules\Exchange\Interfaces\GSD\Import
* @license OMS License 1.0
* @link https://jingga.app
* @since 1.0.0
*/
final class AccountImport
{
}

View File

@ -1,27 +0,0 @@
<?php
/**
* Karaka
*
* PHP Version 8.1
*
* @package Modules\Exchange\Interfaces\GSD\Import
* @copyright Dennis Eichhorn
* @license OMS License 1.0
* @version 1.0.0
* @link https://jingga.app
*/
declare(strict_types=1);
namespace Modules\Exchange\Interfaces\GSD\Import;
/**
* Import class.
*
* @package Modules\Exchange\Interfaces\GSD\Import
* @license OMS License 1.0
* @link https://jingga.app
* @since 1.0.0
*/
final class ArticleImport
{
}

View File

@ -1,27 +0,0 @@
<?php
/**
* Karaka
*
* PHP Version 8.1
*
* @package Modules\Exchange\Interfaces\GSD\Import
* @copyright Dennis Eichhorn
* @license OMS License 1.0
* @version 1.0.0
* @link https://jingga.app
*/
declare(strict_types=1);
namespace Modules\Exchange\Interfaces\GSD\Import;
/**
* Import class.
*
* @package Modules\Exchange\Interfaces\GSD\Import
* @license OMS License 1.0
* @link https://jingga.app
* @since 1.0.0
*/
final class BatchPostingImport
{
}

View File

@ -1,27 +0,0 @@
<?php
/**
* Karaka
*
* PHP Version 8.1
*
* @package Modules\Exchange\Interfaces\GSD\Import
* @copyright Dennis Eichhorn
* @license OMS License 1.0
* @version 1.0.0
* @link https://jingga.app
*/
declare(strict_types=1);
namespace Modules\Exchange\Interfaces\GSD\Import;
/**
* Import class.
*
* @package Modules\Exchange\Interfaces\GSD\Import
* @license OMS License 1.0
* @link https://jingga.app
* @since 1.0.0
*/
final class CostCenterImport
{
}

View File

@ -1,27 +0,0 @@
<?php
/**
* Karaka
*
* PHP Version 8.1
*
* @package Modules\Exchange\Interfaces\GSD\Import
* @copyright Dennis Eichhorn
* @license OMS License 1.0
* @version 1.0.0
* @link https://jingga.app
*/
declare(strict_types=1);
namespace Modules\Exchange\Interfaces\GSD\Import;
/**
* Import class.
*
* @package Modules\Exchange\Interfaces\GSD\Import
* @license OMS License 1.0
* @link https://jingga.app
* @since 1.0.0
*/
final class CostObjectImport
{
}

View File

@ -1,27 +0,0 @@
<?php
/**
* Karaka
*
* PHP Version 8.1
*
* @package Modules\Exchange\Interfaces\GSD\Import
* @copyright Dennis Eichhorn
* @license OMS License 1.0
* @version 1.0.0
* @link https://jingga.app
*/
declare(strict_types=1);
namespace Modules\Exchange\Interfaces\GSD\Import;
/**
* Import class.
*
* @package Modules\Exchange\Interfaces\GSD\Import
* @license OMS License 1.0
* @link https://jingga.app
* @since 1.0.0
*/
final class CustomerImport
{
}

View File

@ -1,27 +0,0 @@
<?php
/**
* Karaka
*
* PHP Version 8.1
*
* @package Modules\Exchange\Interfaces\GSD\Import
* @copyright Dennis Eichhorn
* @license OMS License 1.0
* @version 1.0.0
* @link https://jingga.app
*/
declare(strict_types=1);
namespace Modules\Exchange\Interfaces\GSD\Import;
/**
* Import class.
*
* @package Modules\Exchange\Interfaces\GSD\Import
* @license OMS License 1.0
* @link https://jingga.app
* @since 1.0.0
*/
final class InvoiceImport
{
}

View File

@ -1,27 +0,0 @@
<?php
/**
* Karaka
*
* PHP Version 8.1
*
* @package Modules\Exchange\Interfaces\GSD\Import
* @copyright Dennis Eichhorn
* @license OMS License 1.0
* @version 1.0.0
* @link https://jingga.app
*/
declare(strict_types=1);
namespace Modules\Exchange\Interfaces\GSD\Import;
/**
* Import class.
*
* @package Modules\Exchange\Interfaces\GSD\Import
* @license OMS License 1.0
* @link https://jingga.app
* @since 1.0.0
*/
final class PostingImport
{
}

View File

@ -1,27 +0,0 @@
<?php
/**
* Karaka
*
* PHP Version 8.1
*
* @package Modules\Exchange\Interfaces\GSD\Import
* @copyright Dennis Eichhorn
* @license OMS License 1.0
* @version 1.0.0
* @link https://jingga.app
*/
declare(strict_types=1);
namespace Modules\Exchange\Interfaces\GSD\Import;
/**
* Import class.
*
* @package Modules\Exchange\Interfaces\GSD\Import
* @license OMS License 1.0
* @link https://jingga.app
* @since 1.0.0
*/
final class SupplierImport
{
}

View File

@ -1,647 +0,0 @@
<?php
/**
* Karaka
*
* PHP Version 8.1
*
* @package Interfaces
* @copyright Dennis Eichhorn
* @license OMS License 1.0
* @version 1.0.0
* @link https://jingga.app
*/
declare(strict_types=1);
namespace Modules\Exchange\Interfaces\GSD;
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\Admin\Models\NullAccount;
use Modules\ClientManagement\Models\Client;
use Modules\ClientManagement\Models\ClientMapper;
use Modules\Exchange\Interfaces\GSD\Model\GSDArticle;
use Modules\Exchange\Interfaces\GSD\Model\GSDArticleMapper;
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\ItemAttributeTypeL11nMapper;
use Modules\ItemManagement\Models\ItemAttributeTypeMapper;
use Modules\ItemManagement\Models\ItemAttributeValue;
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\ConnectionFactory;
use phpOMS\DataStorage\Database\DatabaseStatus;
use phpOMS\Localization\BaseStringL11n;
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
*
* @package Modules\Exchange\Models\Interfaces\GSD
* @license OMS License 1.0
* @link https://jingga.app
* @since 1.0.0
*
* @codeCoverageIgnore
*/
final class Importer extends ImporterAbstract
{
/**
* Account
*
* @var int
* @since 1.0.0
*/
private int $account = 1;
/**
* Import all data in time span
*
* @param \DateTime $start Start time (inclusive)
* @param \DateTime $end End time (inclusive)
*
* @return void
*
* @since 1.0.0
*/
public function import(\DateTime $start, \DateTime $end) : void
{
$this->importCostCenter($start, $end);
$this->importCostObject($start, $end);
$this->importCustomer($start, $end);
$this->importSupplier($start, $end);
$this->importArticle($start, $end);
$this->importAccount($start, $end);
$this->importInvoice($start, $end);
$this->importPosting($start, $end);
$this->importBatchPosting($start, $end);
}
/**
* Import data from request
*
* @param RequestAbstract $request Request
*
* @return array
*
* @since 1.0.0
*/
public function importFromRequest(RequestAbstract $request) : array
{
$start = new \DateTime($request->getData('start') ?? 'now');
$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') ?? ''),
'datetimeformat' => (string) ($request->getData('datetimeformat') ?? 'Y-m-d H:i:s'),
]);
$this->remote->connect();
$this->account = $request->header->account;
if ($this->remote->getStatus() !== DatabaseStatus::OK) {
return [];
}
if (((bool) ($request->getData('customers') ?? false))) {
$this->importCustomer($start, $end);
}
if (((bool) ($request->getData('suppliers') ?? false))) {
$this->importSupplier($start, $end);
}
if (((bool) ($request->getData('accounts') ?? false))) {
$this->importAccount($start, $end);
}
if (((bool) ($request->getData('costcenters') ?? false))) {
$this->importCostCenter($start, $end);
}
if (((bool) ($request->getData('costobjects') ?? false))) {
$this->importCostObject($start, $end);
}
if (((bool) ($request->getData('articles') ?? false))) {
$this->importArticle($start, $end, $request->getFiles()['articles_backend'] ?? []);
}
if (((bool) ($request->getData('invoices') ?? false))) {
$this->importInvoice($start, $end);
}
return [];
}
/**
* Import cost centers
*
* @param \DateTime $start Start time (inclusive)
* @param \DateTime $end End time (inclusive)
*
* @return void
*
* @since 1.0.0
*/
public function importCostCenter(\DateTime $start, \DateTime $end) : void
{
/** @var GSDCostCenter[] $costCenters */
$costCenters = GSDCostCenterMapper::getAll($this->remote)
->where('createdAt', $start, '>=')
->where('createdAt', $end, '<=')
->execute();
foreach ($costCenters as $cc) {
$obj = new CostCenter();
$obj->code = $cc->getCostCenter();
$obj->l11n->name = \trim($cc->description, " ,\t");
CostCenterMapper::create()->execute($obj);
}
}
/**
* Import cost objects
*
* @param \DateTime $start Start time (inclusive)
* @param \DateTime $end End time (inclusive)
*
* @return void
*
* @since 1.0.0
*/
public function importCostObject(\DateTime $start, \DateTime $end) : void
{
/** @var GSDCostObject[] $costObjects */
$costObjects = GSDCostObjectMapper::getAll($this->remote)
->where('createdAt', $start, '>=')
->where('createdAt', $end, '<=')
->execute();
foreach ($costObjects as $co) {
$obj = new CostObject();
$obj->code = $co->getCostObject();
$obj->l11n->name = \trim($co->description, " ,\t");
CostObjectMapper::create()->execute($obj);
}
}
/**
* Import customers
*
* @param \DateTime $start Start time (inclusive)
* @param \DateTime $end End time (inclusive)
*
* @return void
*
* @since 1.0.0
*/
public function importCustomer(\DateTime $start, \DateTime $end) : void
{
/** @var GSDCustomer[] $customers */
$customers = GSDCustomerMapper::getAll($this->remote)
->where('createdAt', $start, '>=')
->where('createdAt', $end, '<=')
->execute();
foreach ($customers as $customer) {
$account = new Account();
$account->name1 = \trim($customer->addr->name1, " ,\t");
$a = \trim($customer->addr->name2, " ,\t");
$b = \trim($customer->addr->name3, " ,\t");
$account->name2 = \trim($a . ' ' . $b);
$profile = new Profile($account);
$obj = new Client();
$obj->number = \trim($customer->number, "., \t");
$obj->profile = $profile;
$addr = new Address();
$addr->address = \trim($customer->addr->street, ", \t");
$addr->postal = \trim($customer->addr->zip, ",. \t");
$addr->city = \trim($customer->addr->city, ",. \t");
$addr->setCountry(ISO3166TwoEnum::_DEU);
$obj->mainAddress = $addr;
if (!empty(\trim($customer->addr->phone, ",. \t"))) {
$phone = new ContactElement();
$phone->setType(ContactType::PHONE);
$phone->setSubtype(0);
$phone->content = \trim($customer->addr->phone, ",. \t");
$obj->addContactElement($phone);
}
if (!empty(\trim($customer->addr->website, ",. \t"))) {
$website = new ContactElement();
$website->setType(ContactType::WEBSITE);
$website->setSubtype(0);
$website->content = \trim($customer->addr->website, ",. \t");
$obj->addContactElement($website);
}
if (!empty(\trim($customer->addr->fax, ",. \t"))) {
$fax = new ContactElement();
$fax->setType(ContactType::FAX);
$fax->setSubtype(0);
$fax->content = \trim($customer->addr->fax, ",. \t");
$obj->addContactElement($fax);
}
if (!empty(\trim($customer->addr->email, ",. \t"))) {
$email = new ContactElement();
$email->setType(ContactType::EMAIL);
$email->setSubtype(0);
$email->content = \trim($customer->addr->email, ",. \t");
$obj->addContactElement($email);
}
ClientMapper::create()->execute($obj);
}
}
/**
* Import suppliers
*
* @param \DateTime $start Start time (inclusive)
* @param \DateTime $end End time (inclusive)
*
* @return void
*
* @since 1.0.0
*/
public function importSupplier(\DateTime $start, \DateTime $end) : void
{
/** @var GSDSupplier[] $suppliers */
$suppliers = GSDSupplierMapper::getAll($this->remote)
->where('createdAt', $start, '>=')
->where('createdAt', $end, '<=')
->execute();
foreach ($suppliers as $supplier) {
$account = new Account();
$account->name1 = \trim($supplier->addr->name1, " ,\t");
$a = \trim($supplier->addr->name2, " ,\t");
$b = \trim($supplier->addr->name3, " ,\t");
$account->name2 = \trim($a . ' ' . $b);
$profile = new Profile($account);
$obj = new Supplier();
$obj->number = \trim($supplier->number, "., \t");
$obj->profile = $profile;
$addr = new Address();
$addr->address = \trim($supplier->addr->street, ", \t");
$addr->postal = \trim($supplier->addr->zip, ",. \t");
$addr->city = \trim($supplier->addr->city, ",. \t");
$addr->setCountry(ISO3166TwoEnum::_DEU);
$obj->mainAddress = $addr;
if (!empty(\trim($supplier->addr->phone, ",. \t"))) {
$phone = new ContactElement();
$phone->setType(ContactType::PHONE);
$phone->setSubtype(0);
$phone->content = \trim($supplier->addr->phone, ",. \t");
$obj->addContactElement($phone);
}
if (!empty(\trim($supplier->addr->website, ",. \t"))) {
$website = new ContactElement();
$website->setType(ContactType::WEBSITE);
$website->setSubtype(0);
$website->content = \trim($supplier->addr->website, ",. \t");
$obj->addContactElement($website);
}
if (!empty(\trim($supplier->addr->fax, ",. \t"))) {
$fax = new ContactElement();
$fax->setType(ContactType::FAX);
$fax->setSubtype(0);
$fax->content = \trim($supplier->addr->fax, ",. \t");
$obj->addContactElement($fax);
}
if (!empty(\trim($supplier->addr->email, ",. \t"))) {
$email = new ContactElement();
$email->setType(ContactType::EMAIL);
$email->setSubtype(0);
$email->content = \trim($supplier->addr->email, ",. \t");
$obj->addContactElement($email);
}
SupplierMapper::create()->execute($obj);
}
}
/**
* Import accounts
*
* @param \DateTime $start Start time (inclusive)
* @param \DateTime $end End time (inclusive)
*
* @return void
*
* @since 1.0.0
*/
public function importAccount(\DateTime $start, \DateTime $end) : void
{
}
/**
* Import articles
*
* @param \DateTime $start Start time (inclusive)
* @param \DateTime $end End time (inclusive)
* @param array $files Article images
*
* @return void
*
* @since 1.0.0
*/
public function importArticle(\DateTime $start, \DateTime $end, array $files = []) : void
{
/** @var GSDArticle[] $articles */
$articles = GSDArticleMapper::getAll($this->remote)
->where('createdAt', $start, '>=')
->where('createdAt', $end, '<=')
->execute();
$itemL11nType = $this->createItemL11nTypes();
$itemAttrType = $this->createItemAttributeTypes();
$itemAttrValue = $this->createItemAttributeValues($itemAttrType);
$images = [];
$imagePath = Controller::FILE_PATH . '/Modules/ItemManagement/Articles/Images';
/** @var Media[] $media */
$media = [];
if (!empty($files)) {
if (!\is_dir($imagePath)) {
\mkdir($imagePath, 0755, true);
}
$jpgOld = Directory::listByExtension($imagePath, 'jpg');
$pngOld = Directory::listByExtension($imagePath, 'png');
$imagesOld = \array_merge($jpgOld, $pngOld);
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);
/** @var string[] $images */
/** @var string $image */
foreach ($images as $image) {
$number = (int) \explode('.', $image)[0];
$media[$number] = new Media();
$media[$number]->name = (string) $number;
$media[$number]->type = null;
$media[$number]->setPath('/Modules/Media/Files/Modules/ItemManagement/Articles/Images/' . $image);
$media[$number]->setVirtualPath('/Modules/ItemManagement/Articles/Images');
$media[$number]->extension = \explode('.', $image)[1];
$media[$number]->size = (int) \filesize($imagePath . '/' . $image);
$media[$number]->createdBy = new NullAccount($this->account);
MediaMapper::create()->execute($media[$number]);
}
}
//$itemAttrType['segment'] = new ItemAttributeType();
//$itemAttrType['productgroup'] = new ItemAttributeType();
//$itemAttrType['devaluation'] = new ItemAttributeType();
foreach ($articles as $article) {
$number = (int) \trim($article->number, ",. \t");
$obj = new Item();
$obj->number = (string) $number;
// German Language
$obj->addL11n(new ItemL11n(
$itemL11nType['name1'],
\trim($article->name1, " ,\t"),
ISO639x1Enum::_DE
));
$obj->addL11n(new ItemL11n(
$itemL11nType['name2'],
\trim($article->name2, " ,\t"),
ISO639x1Enum::_DE
));
$obj->addL11n(new ItemL11n(
$itemL11nType['info'],
\trim($article->infoSales, " ,\t"),
ISO639x1Enum::_DE
));
// English Language
$obj->addL11n(new ItemL11n(
$itemL11nType['name1'],
empty($t = \trim($article->name1Eng, " ,\t"))
? \trim($article->name1, " ,\t")
: $t,
ISO639x1Enum::_EN
));
$obj->addL11n(new ItemL11n(
$itemL11nType['name2'],
empty($t = \trim($article->name2Eng, " ,\t"))
? \trim($article->name2, " ,\t")
: $t,
ISO639x1Enum::_EN
));
if (isset($media[$number])) {
$obj->addFile($media[$number]);
}
ItemMapper::create()->execute($obj);
}
}
/**
* Create and get item l11n types
*
* @return ItemL11nType[]
*
* @since 1.0.0
*/
private function createItemL11nTypes() : array
{
/** @var array{name1:ItemL11nType, name2:ItemL11nType, info:ItemL11nType} $itemL11nType */
$itemL11nType = [];
if (($itemL11nType['name1'] = ItemL11nTypeMapper::get()->where('title', 'name1')->execute()) instanceof NullItemL11nType) {
$itemL11nType['name1'] = new ItemL11nType('name1');
ItemL11nTypeMapper::create()->execute($itemL11nType['name1']);
}
if (($itemL11nType['name2'] = ItemL11nTypeMapper::get()->where('title', 'name2')->execute()) instanceof NullItemL11nType) {
$itemL11nType['name2'] = new ItemL11nType('name2');
ItemL11nTypeMapper::create()->execute($itemL11nType['name2']);
}
if (($itemL11nType['info'] = ItemL11nTypeMapper::get()->where('title', 'info')->execute()) instanceof NullItemL11nType) {
$itemL11nType['info'] = new ItemL11nType('info');
ItemL11nTypeMapper::create()->execute($itemL11nType['info']);
}
/** @var array{name1:ItemL11nType, name2:ItemL11nType, info:ItemL11nType} $itemL11nType */
return $itemL11nType;
}
/**
* Create and get item attribute types
*
* @return array
*
* @since 1.0.0
*/
private function createItemAttributeTypes() : array
{
$itemAttrType = [];
if (($itemAttrType['tradegroup'] = ItemAttributeTypeMapper::get()->where('name', 'tradegroup')->execute()) instanceof NullItemAttributeType) {
$itemAttrType['tradegroup'] = new ItemAttributeType('tradegroup');
ItemAttributeTypeMapper::create()->execute($itemAttrType['tradegroup']);
ItemAttributeTypeL11nMapper::create()->execute(new BaseStringL11n($itemAttrType['tradegroup']->getId(), 'Trade Group', ISO639x1Enum::_EN));
ItemAttributeTypeL11nMapper::create()->execute(new BaseStringL11n($itemAttrType['tradegroup']->getId(), 'Handelsgruppe', ISO639x1Enum::_DE));
}
if (($itemAttrType['exportcontrolgroup'] = ItemAttributeTypeMapper::get()->where('name', 'exportcontrolgroup')->execute()) instanceof NullItemAttributeType) {
$itemAttrType['exportcontrolgroup'] = new ItemAttributeType('exportcontrolgroup');
ItemAttributeTypeMapper::create()->execute($itemAttrType['exportcontrolgroup']);
ItemAttributeTypeL11nMapper::create()->execute(new BaseStringL11n($itemAttrType['exportcontrolgroup']->getId(), 'Export Control Group', ISO639x1Enum::_EN));
ItemAttributeTypeL11nMapper::create()->execute(new BaseStringL11n($itemAttrType['exportcontrolgroup']->getId(), 'Exportkontrollgruppe', ISO639x1Enum::_DE));
}
if (($itemAttrType['medicalgroup'] = ItemAttributeTypeMapper::get()->where('name', 'medicalgroup')->execute()) instanceof NullItemAttributeType) {
$itemAttrType['medicalgroup'] = new ItemAttributeType('medicalgroup');
ItemAttributeTypeMapper::create()->execute($itemAttrType['medicalgroup']);
ItemAttributeTypeL11nMapper::create()->execute(new BaseStringL11n($itemAttrType['medicalgroup']->getId(), 'Medical Device Group', ISO639x1Enum::_EN));
ItemAttributeTypeL11nMapper::create()->execute(new BaseStringL11n($itemAttrType['medicalgroup']->getId(), 'Medezinproduktklasse', ISO639x1Enum::_DE));
}
if (($itemAttrType['customsnumber'] = ItemAttributeTypeMapper::get()->where('name', 'customsnumber')->execute()) instanceof NullItemAttributeType) {
$itemAttrType['customsnumber'] = new ItemAttributeType('customsnumber');
ItemAttributeTypeMapper::create()->execute($itemAttrType['customsnumber']);
ItemAttributeTypeL11nMapper::create()->execute(new BaseStringL11n($itemAttrType['customsnumber']->getId(), 'Customs Number', ISO639x1Enum::_EN));
ItemAttributeTypeL11nMapper::create()->execute(new BaseStringL11n($itemAttrType['customsnumber']->getId(), 'Zolltarifnummer', ISO639x1Enum::_DE));
}
if (($itemAttrType['unnumber'] = ItemAttributeTypeMapper::get()->where('name', 'unnumber')->execute()) instanceof NullItemAttributeType) {
$itemAttrType['unnumber'] = new ItemAttributeType('unnumber');
ItemAttributeTypeMapper::create()->execute($itemAttrType['unnumber']);
ItemAttributeTypeL11nMapper::create()->execute(new BaseStringL11n($itemAttrType['unnumber']->getId(), 'UN-Number', ISO639x1Enum::_EN));
ItemAttributeTypeL11nMapper::create()->execute(new BaseStringL11n($itemAttrType['unnumber']->getId(), 'UN-Nummer', ISO639x1Enum::_DE));
}
return $itemAttrType;
}
/**
* Create and get item attribute values
*
* @param ItemAttributeType[] $itemAttrType Attribute types
*
* @return ItemAttributeValue[]
*
* @since 1.0.0
*/
private function createItemAttributeValues(array $itemAttrType) : array
{
$itemAttrValue = [];
return $itemAttrValue;
}
/**
* Import invoices
*
* @param \DateTime $start Start time (inclusive)
* @param \DateTime $end End time (inclusive)
*
* @return void
*
* @since 1.0.0
*/
public function importInvoice(\DateTime $start, \DateTime $end) : void
{
}
/**
* Import postings
*
* @param \DateTime $start Start time (inclusive)
* @param \DateTime $end End time (inclusive)
*
* @return void
*
* @since 1.0.0
*/
public function importPosting(\DateTime $start, \DateTime $end) : void
{
}
/**
* Import batch postings
*
* @param \DateTime $start Start time (inclusive)
* @param \DateTime $end End time (inclusive)
*
* @return void
*
* @since 1.0.0
*/
public function importBatchPosting(\DateTime $start, \DateTime $end) : void
{
}
}

View File

@ -1,27 +0,0 @@
<?php
/**
* Karaka
*
* PHP Version 8.1
*
* @package Modules\Exchange
* @copyright Dennis Eichhorn
* @license OMS License 1.0
* @version 1.0.0
* @link https://jingga.app
*/
declare(strict_types=1);
return [
'Assets' => 'Anlagevermögen',
'Accounts' => 'Konten',
'Articles' => 'Artikel',
'CostCenters' => 'Kostenstellen',
'CostObjects' => 'Kostenträger',
'Customers' => 'Kunden',
'Invoices' => 'Rechnungen',
'Options' => 'Optionen',
'Postings' => 'Buchungen',
'Stocks' => 'Lager',
'Suppliers' => 'Lieferanten',
];

View File

@ -1,27 +0,0 @@
<?php
/**
* Karaka
*
* PHP Version 8.1
*
* @package Modules\Exchange
* @copyright Dennis Eichhorn
* @license OMS License 1.0
* @version 1.0.0
* @link https://jingga.app
*/
declare(strict_types=1);
return [
'Assets' => 'Assets',
'Accounts' => 'Accounts',
'Articles' => 'Articles',
'CostCenters' => 'Cost Centers',
'CostObjects' => 'Cost Objects',
'Customers' => 'Customers',
'Invoices' => 'Invoices',
'Options' => 'Options',
'Postings' => 'Postings',
'Stocks' => 'Stocks',
'Suppliers' => 'Suppliers',
];

View File

@ -1,27 +0,0 @@
<?php
/**
* Karaka
*
* PHP Version 8.1
*
* @package Modules\Exchange\Interfaces\GSD\Model
* @copyright Dennis Eichhorn
* @license OMS License 1.0
* @version 1.0.0
* @link https://jingga.app
*/
declare(strict_types=1);
namespace Modules\Exchange\Interfaces\GSD\Model;
/**
* Model class.
*
* @package Modules\Exchange\Interfaces\GSD\Model
* @license OMS License 1.0
* @link https://jingga.app
* @since 1.0.0
*/
final class Account
{
}

View File

@ -1,27 +0,0 @@
<?php
/**
* Karaka
*
* PHP Version 8.1
*
* @package Modules\Exchange\Interfaces\GSD\Model
* @copyright Dennis Eichhorn
* @license OMS License 1.0
* @version 1.0.0
* @link https://jingga.app
*/
declare(strict_types=1);
namespace Modules\Exchange\Interfaces\GSD\Model;
/**
* Model class.
*
* @package Modules\Exchange\Interfaces\GSD\Model
* @license OMS License 1.0
* @link https://jingga.app
* @since 1.0.0
*/
final class BatchPosting
{
}

View File

@ -1,47 +0,0 @@
<?php
/**
* Karaka
*
* PHP Version 8.1
*
* @package Modules\Exchange\Models
* @copyright Dennis Eichhorn
* @license OMS License 1.0
* @version 1.0.0
* @link https://jingga.app
*/
declare(strict_types=1);
namespace Modules\Exchange\Interfaces\GSD\Model;
use phpOMS\Stdlib\Base\Enum;
/**
* Exchange status enum.
*
* @package Modules\Exchange\Models
* @license OMS License 1.0
* @link https://jingga.app
* @since 1.0.0
*/
abstract class ExchangeType extends Enum
{
public const CUSTOMER = 1;
public const SUPPLIER = 2;
public const ARTICLE = 3;
public const BOOKING = 4;
public const ACCOUNT = 5;
public const ADDRESS = 6;
public const COSTCENTER = 7;
public const COSTOBJECT = 8;
public const INVOICE = 9;
}

View File

@ -1,66 +0,0 @@
<?php
/**
* Karaka
*
* PHP Version 8.1
*
* @package Modules\Exchange\Interfaces\GSD\Model
* @copyright Dennis Eichhorn
* @license OMS License 1.0
* @version 1.0.0
* @link https://jingga.app
*/
declare(strict_types=1);
namespace Modules\Exchange\Interfaces\GSD\Model;
/**
* Model class.
*
* @package Modules\Exchange\Interfaces\GSD\Model
* @license OMS License 1.0
* @link https://jingga.app
* @since 1.0.0
*
* @codeCoverageIgnore
*/
class GSDAddress
{
public int $id = 0;
public string $name1 = '';
public string $name2 = '';
public string $name3 = '';
public string $city = '';
public string $country = '';
public string $zip = '';
public string $street = '';
public string $phone = '';
public string $fax = '';
public string $email = '';
public string $website = '';
public int $createdBy = 0;
public \DateTimeImmutable $createdAt;
/**
* Construct.
*
* @since 1.0.0
*/
public function __construct()
{
$this->createdAt = new \DateTimeImmutable('now');
}
}

View File

@ -1,75 +0,0 @@
<?php
/**
* Karaka
*
* PHP Version 8.1
*
* @package Modules\Exchange\Interfaces\GSD\Model
* @copyright Dennis Eichhorn
* @license OMS License 1.0
* @version 1.0.0
* @link https://jingga.app
*/
declare(strict_types=1);
namespace Modules\Exchange\Interfaces\GSD\Model;
use phpOMS\DataStorage\Database\Mapper\DataMapperFactory;
/**
* Mapper class.
*
* @package Modules\Exchange\Interfaces\GSD\Model
* @license OMS License 1.0
* @link https://jingga.app
* @since 1.0.0
*/
final class GSDAddressMapper extends DataMapperFactory
{
/**
* Columns.
*
* @var array<string, array{name:string, type:string, internal:string, autocomplete?:bool, readonly?:bool, writeonly?:bool, annotations?:array}>
* @since 1.0.0
*/
public const COLUMNS = [
'Nummer' => ['name' => 'Nummer', 'type' => 'int', 'internal' => 'id'],
'row_create_time' => ['name' => 'row_create_time', 'type' => 'DateTimeImmutable', 'internal' => 'createdAt'],
'row_create_user' => ['name' => 'row_create_user', 'type' => 'int', 'internal' => 'createdBy'],
'Name1' => ['name' => 'Name1', 'type' => 'string', 'internal' => 'name1'],
'Name2' => ['name' => 'Name2', 'type' => 'string', 'internal' => 'name2'],
'Name3' => ['name' => 'Name3', 'type' => 'string', 'internal' => 'name3'],
'Ort' => ['name' => 'Ort', 'type' => 'string', 'internal' => 'city'],
'PLZ' => ['name' => 'PLZ', 'type' => 'string', 'internal' => 'zip'],
'Strasse' => ['name' => 'Strasse', 'type' => 'string', 'internal' => 'street'],
'Land' => ['name' => 'Land', 'type' => 'string', 'internal' => 'country'],
'Telefon' => ['name' => 'Telefon', 'type' => 'string', 'internal' => 'phone'],
'Fax' => ['name' => 'Fax', 'type' => 'string', 'internal' => 'fax'],
'EMail' => ['name' => 'EMail', 'type' => 'string', 'internal' => 'email'],
'InternetAdresse' => ['name' => 'InternetAdresse', 'type' => 'string', 'internal' => 'website'],
];
/**
* Primary table.
*
* @var string
* @since 1.0.0
*/
public const TABLE = 'Adressen';
/**
* Created at.
*
* @var string
* @since 1.0.0
*/
public const CREATED_AT = 'row_create_time';
/**
* Primary field name.
*
* @var string
* @since 1.0.0
*/
public const PRIMARYFIELD = 'Nummer';
}

View File

@ -1,148 +0,0 @@
<?php
/**
* Karaka
*
* PHP Version 8.1
*
* @package Modules\Exchange\Interfaces\GSD\Model
* @copyright Dennis Eichhorn
* @license OMS License 1.0
* @version 1.0.0
* @link https://jingga.app
*/
declare(strict_types=1);
namespace Modules\Exchange\Interfaces\GSD\Model;
/**
* Model class.
*
* @package Modules\Exchange\Interfaces\GSD\Model
* @license OMS License 1.0
* @link https://jingga.app
* @since 1.0.0
*
* @codeCoverageIgnore
*/
class GSDArticle
{
public int $id = 0;
public int $createdBy = 0;
public \DateTimeImmutable $createdAt;
public bool $isDiscontinued = false;
public bool $isBlocked = false;
public string $number = '';
public string $infoSales = '';
public string $infoPurchase = '';
public string $infoWarehouse = '';
public string $name1 = '';
public string $name2 = '';
public string $name1Eng = '';
public string $name2Eng = '';
public int $status = 0;
public string $lotManagement = '';
public bool $hasSN = false;
public float $weight = 0.0;
public float $height = 0.0;
public float $length = 0.0;
public float $volume = 0.0;
public string $purchaseUnit = '';
public bool $manualLotUse = true;
public int $leadTimeWeeks = 0;
public int $leadTimeDays = 0;
public int $leadTime = 0;
public float $minimalStock = 0.0;
public bool $negativeStock = false;
public string $customsId = '';
public string $unnumber = '';
public string $EUitemgroup = '';
public string $inspectionDepartment = '';
public string $medicinProductClass = '';
public bool $exportItem = false;
public bool $nonEUItem = false;
public bool $dualUse = false;
public int $inShop = 0;
public string $sectionGroup = ''; // Sparte
public string $salesGroup = ''; // Umsatzgruppe
public string $segment = ''; // Segment
public int $productGroup = 0;
public string $earningsIndicator = '';
public string $costsIndicator = '';
public float $weightTinplate = 0.0; // Weissblech
public float $weightOtherComposites = 0.0; // Sonstige Verbunde
public float $weightOther = 0.0; // Sonstiges
public float $weightPET = 0.0; // PET
public float $weightPaper = 0.0;
public float $weightNatureProducts = 0.0;
public float $weightAcrylics = 0.0;
public float $weightCarton = 0.0;
public float $weightGlas = 0.0;
public float $weightAluminium = 0.0;
public float $weightGross = 0.0;
public float $weightNet = 0.0;
public array $prices = []; // @todo implement from [Preise] where ParentID = 1, 2, 4??? for sales price and ParentType = 2 for purchase price?
/**
* Constructor.
*
* @since 1.0.0
*/
public function __construct()
{
$this->createdAt = new \DateTimeImmutable('now');
}
}

View File

@ -1,112 +0,0 @@
<?php
/**
* Karaka
*
* PHP Version 8.1
*
* @package Modules\Exchange\Interfaces\GSD\Model
* @copyright Dennis Eichhorn
* @license OMS License 1.0
* @version 1.0.0
* @link https://jingga.app
*/
declare(strict_types=1);
namespace Modules\Exchange\Interfaces\GSD\Model;
use phpOMS\DataStorage\Database\Mapper\DataMapperFactory;
/**
* Mapper class.
*
* @package Modules\Exchange\Interfaces\GSD\Model
* @license OMS License 1.0
* @link https://jingga.app
* @since 1.0.0
*/
final class GSDArticleMapper extends DataMapperFactory
{
/**
* Columns.
*
* @var array<string, array{name:string, type:string, internal:string, autocomplete?:bool, readonly?:bool, writeonly?:bool, annotations?:array}>
* @since 1.0.0
*/
public const COLUMNS = [
'row_id' => ['name' => 'row_id', 'type' => 'int', 'internal' => 'id'],
'row_create_time' => ['name' => 'row_create_time', 'type' => 'DateTimeImmutable', 'internal' => 'createdAt'],
'row_create_user' => ['name' => 'row_create_user', 'type' => 'int', 'internal' => 'createdBy'],
'Artikelnummer' => ['name' => 'Artikelnummer', 'type' => 'string', 'internal' => 'number'],
'Auslaufartikel' => ['name' => 'Auslaufartikel', 'type' => 'bool', 'internal' => 'isDiscontinued'],
'_Artikelsperre' => ['name' => '_Artikelsperre', 'type' => 'bool', 'internal' => 'isBlocked'],
'ManuelleChargenEntnahme' => ['name' => 'ManuelleChargenEntnahme', 'type' => 'bool', 'internal' => 'manualLotUse'],
'Chargenverwaltung' => ['name' => 'Chargenverwaltung', 'type' => 'string', 'internal' => 'lotManagement'],
'Seriennummernvergabe' => ['name' => 'Seriennummernvergabe', 'type' => 'bool', 'internal' => 'hasSN'],
'_Minusbestand' => ['name' => '_Minusbestand', 'type' => 'bool', 'internal' => 'negativeStock'],
'_Exportartikel' => ['name' => '_Exportartikel', 'type' => 'bool', 'internal' => 'exportItem'],
'_DrittlandArtikel' => ['name' => '_DrittlandArtikel', 'type' => 'bool', 'internal' => 'nonEUItem'],
'_DualUse' => ['name' => '_DualUse', 'type' => 'bool', 'internal' => 'dualUse'],
'EkEinheit' => ['name' => 'EkEinheit', 'type' => 'string', 'internal' => 'purchaseUnit'],
'Gewicht' => ['name' => 'Gewicht', 'type' => 'float', 'internal' => 'weight'],
'Hoehe' => ['name' => 'Hoehe', 'type' => 'float', 'internal' => 'height'],
'Laenge' => ['name' => 'Laenge', 'type' => 'float', 'internal' => 'length'],
'Volumen' => ['name' => 'Volumen', 'type' => 'float', 'internal' => 'volume'],
'Mindestbestand' => ['name' => 'Mindestbestand', 'type' => 'float', 'internal' => 'minimalStock'],
'BeschaffungszeitWochen' => ['name' => 'BeschaffungszeitWochen', 'type' => 'int', 'internal' => 'leadTimeWeeks'],
'BeschaffungszeitTage' => ['name' => 'BeschaffungszeitTage', 'type' => 'int', 'internal' => 'leadTimeDays'],
'_InfoVerkauf' => ['name' => '_InfoVerkauf', 'type' => 'string', 'internal' => 'infoSales'],
'_InfoEinkauf' => ['name' => '_InfoEinkauf', 'type' => 'string', 'internal' => 'infoPurchase'],
'_LagerInfo' => ['name' => '_LagerInfo', 'type' => 'string', 'internal' => 'infoWarehouse'],
'WebShop' => ['name' => 'WebShop', 'type' => 'int', 'internal' => 'inShop'],
'Artikelbezeichnung' => ['name' => 'Artikelbezeichnung', 'type' => 'string', 'internal' => 'name1'],
'_Artikelbezeichnung2' => ['name' => '_Artikelbezeichnung2', 'type' => 'string', 'internal' => 'name2'],
'_Englisch1' => ['name' => '_Englisch1', 'type' => 'string', 'internal' => 'name1Eng'],
'_Englisch2' => ['name' => '_Englisch2', 'type' => 'string', 'internal' => 'name2Eng'],
'EUWarengruppe' => ['name' => 'EUWarengruppe', 'type' => 'string', 'internal' => 'EUitemgroup'],
'zolltarifnr' => ['name' => 'zolltarifnr', 'type' => 'string', 'internal' => 'customsId'],
'_UNNummer' => ['name' => '_UNNummer', 'type' => 'string', 'internal' => 'unnumber'],
'_Pruefabteilung' => ['name' => '_Pruefabteilung', 'type' => 'string', 'internal' => 'inspectionDepartment'],
'_MedizinProduktklasse' => ['name' => '_MedizinProduktklasse', 'type' => 'string', 'internal' => 'medicinProductClass'],
'_Sparte' => ['name' => '_Sparte', 'type' => 'string', 'internal' => 'sectionGroup'],
'_Umsatzgruppe' => ['name' => '_Umsatzgruppe', 'type' => 'string', 'internal' => 'salesGroup'],
'_Segment' => ['name' => '_Segment', 'type' => 'string', 'internal' => 'segment'],
'_Produktgruppe' => ['name' => '_Produktgruppe', 'type' => 'int', 'internal' => 'productGroup'],
'Erloeskennzeichen' => ['name' => 'Erloeskennzeichen', 'type' => 'string', 'internal' => 'earningsIndicator'],
'Kostenkennzeichen' => ['name' => 'Kostenkennzeichen', 'type' => 'string', 'internal' => 'costsIndicator'],
'_GewichtWeissblech' => ['name' => '_GewichtWeissblech', 'type' => 'float', 'internal' => 'weightTinplate'],
'_GewichtSonstigeVerbunde' => ['name' => '_GewichtSonstigeVerbunde', 'type' => 'float', 'internal' => 'weightOtherComposites'],
'_GewichtSonstiges' => ['name' => '_GewichtSonstiges', 'type' => 'float', 'internal' => 'weightOther'],
'_GewichtPET' => ['name' => '_GewichtPET', 'type' => 'float', 'internal' => 'weightPET'],
'_GewichtPapier' => ['name' => '_GewichtPapier', 'type' => 'float', 'internal' => 'weightPaper'],
'_GewichtNaturmaterialien' => ['name' => '_GewichtNaturmaterialien', 'type' => 'float', 'internal' => 'weightNatureProducts'],
'_GewichtKunststoff' => ['name' => '_GewichtKunststoff', 'type' => 'float', 'internal' => 'weightAcrylics'],
'_GewichtKartonverbunde' => ['name' => '_GewichtKartonverbunde', 'type' => 'float', 'internal' => 'weightCarton'],
'_GewichtGlas' => ['name' => '_GewichtGlas', 'type' => 'float', 'internal' => 'weightGlas'],
'_GewichtAluminium' => ['name' => '_GewichtAluminium', 'type' => 'float', 'internal' => 'weightAluminium'],
'_GewichtBrutto' => ['name' => '_GewichtBrutto', 'type' => 'float', 'internal' => 'weightGross'],
];
/**
* Primary table.
*
* @var string
* @since 1.0.0
*/
public const TABLE = 'Artikel';
/**
* Created at.
*
* @var string
* @since 1.0.0
*/
public const CREATED_AT = 'row_create_time';
/**
* Primary field name.
*
* @var string
* @since 1.0.0
*/
public const PRIMARYFIELD = 'row_id';
}

View File

@ -1,148 +0,0 @@
<?php
/**
* Karaka
*
* PHP Version 8.1
*
* @package Modules\Exchange\Interfaces\GSD\Model
* @copyright Dennis Eichhorn
* @license OMS License 1.0
* @version 1.0.0
* @link https://jingga.app
*/
declare(strict_types=1);
namespace Modules\Exchange\Interfaces\GSD\Model;
/**
* Cost center class.
*
* @package Modules\Exchange\Interfaces\GSD\Model
* @license OMS License 1.0
* @link https://jingga.app
* @since 1.0.0
*
* @codeCoverageIgnore
*/
class GSDCostCenter implements \JsonSerializable
{
/**
* ID.
*
* @var int
* @since 1.0.0
*/
protected int $id = 0;
/**
* Creator.
*
* @var int
* @since 1.0.0
*/
protected $createdBy = 0;
/**
* Created.
*
* @var \DateTimeImmutable
* @since 1.0.0
*/
public \DateTimeImmutable $createdAt;
/**
* Description.
*
* @var string
* @since 1.0.0
*/
public string $description = '';
/**
* Cost center.
*
* @var string
* @since 1.0.0
*/
protected string $costCenter = '';
/**
* Constructor.
*
* @since 1.0.0
*/
public function __construct()
{
$this->createdAt = new \DateTimeImmutable('now');
}
/**
* @return \DateTimeImmutable
*
* @since 1.0.0
*/
public function getCreatedAt() : \DateTimeImmutable
{
return $this->createdAt ?? new \DateTimeImmutable();
}
/**
* Set cost center
*
* @param string $costCenter Cost center
*
* @return void
*
* @since 1.0.0
*/
public function setCostCenter(string $costCenter) : void
{
$this->costCenter = $costCenter;
}
/**
* Get cost center
*
* @return string
*
* @since 1.0.0
*/
public function getCostCenter() : string
{
return $this->costCenter;
}
/**
* Get id
*
* @return int
*
* @since 1.0.0
*/
public function getId() : int
{
return $this->id;
}
/**
* {@inheritdoc}
*/
public function toArray() : array
{
return [
'id' => $this->id,
'createdBy' => $this->createdBy,
'createdAt' => $this->createdAt,
'description' => $this->description,
'costcenter' => $this->costCenter,
];
}
/**
* {@inheritdoc}
*/
public function jsonSerialize() : mixed
{
return $this->toArray();
}
}

View File

@ -1,66 +0,0 @@
<?php
/**
* Karaka
*
* PHP Version 8.1
*
* @package Modules\Exchange\Interfaces\GSD\Model
* @copyright Dennis Eichhorn
* @license OMS License 1.0
* @version 1.0.0
* @link https://jingga.app
*/
declare(strict_types=1);
namespace Modules\Exchange\Interfaces\GSD\Model;
use phpOMS\DataStorage\Database\Mapper\DataMapperFactory;
/**
* Mapper class.
*
* @package Modules\Exchange\Interfaces\GSD\Model
* @license OMS License 1.0
* @link https://jingga.app
* @since 1.0.0
*/
final class GSDCostCenterMapper extends DataMapperFactory
{
/**
* Columns.
*
* @var array<string, array{name:string, type:string, internal:string, autocomplete?:bool, readonly?:bool, writeonly?:bool, annotations?:array}>
* @since 1.0.0
*/
public const COLUMNS = [
'ROW_ID' => ['name' => 'ROW_ID', 'type' => 'int', 'internal' => 'id'],
'row_create_time' => ['name' => 'row_create_time', 'type' => 'DateTimeImmutable', 'internal' => 'createdAt', 'readonly' => true],
'row_create_user' => ['name' => 'row_create_user', 'type' => 'int', 'internal' => 'createdBy', 'readonly' => true],
'KST' => ['name' => 'KST', 'type' => 'string', 'internal' => 'costCenter'],
'Bezeichnung' => ['name' => 'Bezeichnung', 'type' => 'string', 'internal' => 'description'],
];
/**
* Primary table.
*
* @var string
* @since 1.0.0
*/
public const TABLE = 'FiKostenstellen';
/**
* Created at.
*
* @var string
* @since 1.0.0
*/
public const CREATED_AT = 'row_create_time';
/**
* Primary field name.
*
* @var string
* @since 1.0.0
*/
public const PRIMARYFIELD = 'ROW_ID';
}

View File

@ -1,148 +0,0 @@
<?php
/**
* Karaka
*
* PHP Version 8.1
*
* @package Modules\Exchange\Interfaces\GSD\Model
* @copyright Dennis Eichhorn
* @license OMS License 1.0
* @version 1.0.0
* @link https://jingga.app
*/
declare(strict_types=1);
namespace Modules\Exchange\Interfaces\GSD\Model;
/**
* Cost object class.
*
* @package Modules\Exchange\Interfaces\GSD\Model
* @license OMS License 1.0
* @link https://jingga.app
* @since 1.0.0
*
* @codeCoverageIgnore
*/
class GSDCostObject implements \JsonSerializable
{
/**
* ID.
*
* @var int
* @since 1.0.0
*/
protected int $id = 0;
/**
* Creator.
*
* @var int
* @since 1.0.0
*/
protected $createdBy = 0;
/**
* Created.
*
* @var \DateTimeImmutable
* @since 1.0.0
*/
public \DateTimeImmutable $createdAt;
/**
* Description.
*
* @var string
* @since 1.0.0
*/
public string $description = '';
/**
* Cost object.
*
* @var string
* @since 1.0.0
*/
protected string $costObject = '';
/**
* Constructor.
*
* @since 1.0.0
*/
public function __construct()
{
$this->createdAt = new \DateTimeImmutable('now');
}
/**
* @return \DateTimeImmutable
*
* @since 1.0.0
*/
public function getCreatedAt() : \DateTimeImmutable
{
return $this->createdAt ?? new \DateTimeImmutable();
}
/**
* Set cost object
*
* @param string $costObject Cost object
*
* @return void
*
* @since 1.0.0
*/
public function setCostObject(string $costObject) : void
{
$this->costObject = $costObject;
}
/**
* Get cost object
*
* @return string
*
* @since 1.0.0
*/
public function getCostObject() : string
{
return $this->costObject;
}
/**
* Get id
*
* @return int
*
* @since 1.0.0
*/
public function getId() : int
{
return $this->id;
}
/**
* {@inheritdoc}
*/
public function toArray() : array
{
return [
'id' => $this->id,
'createdBy' => $this->createdBy,
'createdAt' => $this->createdAt,
'description' => $this->description,
'costObject' => $this->costObject,
];
}
/**
* {@inheritdoc}
*/
public function jsonSerialize() : mixed
{
return $this->toArray();
}
}

View File

@ -1,66 +0,0 @@
<?php
/**
* Karaka
*
* PHP Version 8.1
*
* @package Modules\Exchange\Interfaces\GSD\Model
* @copyright Dennis Eichhorn
* @license OMS License 1.0
* @version 1.0.0
* @link https://jingga.app
*/
declare(strict_types=1);
namespace Modules\Exchange\Interfaces\GSD\Model;
use phpOMS\DataStorage\Database\Mapper\DataMapperFactory;
/**
* Mapper class.
*
* @package Modules\Exchange\Interfaces\GSD\Model
* @license OMS License 1.0
* @link https://jingga.app
* @since 1.0.0
*/
final class GSDCostObjectMapper extends DataMapperFactory
{
/**
* Columns.
*
* @var array<string, array{name:string, type:string, internal:string, autocomplete?:bool, readonly?:bool, writeonly?:bool, annotations?:array}>
* @since 1.0.0
*/
public const COLUMNS = [
'ROW_ID' => ['name' => 'ROW_ID', 'type' => 'int', 'internal' => 'id'],
'row_create_time' => ['name' => 'row_create_time', 'type' => 'DateTimeImmutable', 'internal' => 'createdAt', 'readonly' => true],
'row_create_user' => ['name' => 'row_create_user', 'type' => 'int', 'internal' => 'createdBy', 'readonly' => true],
'KTR' => ['name' => 'KTR', 'type' => 'string', 'internal' => 'costObject'],
'Bezeichnung' => ['name' => 'Bezeichnung', 'type' => 'string', 'internal' => 'description'],
];
/**
* Primary table.
*
* @var string
* @since 1.0.0
*/
public const TABLE = 'FiKostentraeger';
/**
* Created at.
*
* @var string
* @since 1.0.0
*/
public const CREATED_AT = 'row_create_time';
/**
* Primary field name.
*
* @var string
* @since 1.0.0
*/
public const PRIMARYFIELD = 'ROW_ID';
}

View File

@ -1,95 +0,0 @@
<?php
/**
* Karaka
*
* PHP Version 8.1
*
* @package Modules\Exchange\Interfaces\GSD\Model
* @copyright Dennis Eichhorn
* @license OMS License 1.0
* @version 1.0.0
* @link https://jingga.app
*/
declare(strict_types=1);
namespace Modules\Exchange\Interfaces\GSD\Model;
/**
* Model class.
*
* @package Modules\Exchange\Interfaces\GSD\Model
* @license OMS License 1.0
* @link https://jingga.app
* @since 1.0.0
*
* @codeCoverageIgnore
*/
class GSDCustomer
{
public int $id = 0;
public int $createdBy = 0;
public \DateTimeImmutable $createdAt;
public bool $isBlocked = false;
public bool $isDiscontinued = false;
public bool $isLocked = false;
public string $number = '';
public string $customerType = '';
public GSDAddress $addr;
public string $info = '';
public int $account = 0;
public int $materialAccount = 0;
public int $accountsReceivableAccount = 0;
public string $earningsIndicator = '';
public float $creditlimit = 0.0;
public string $egustid = '';
public string $taxid = '';
public string $bic = '';
public string $iban = '';
public string $bankRef = '';
public string $salesRep = '';
public bool $isMonthlyInvoice = false;
public bool $reminderBlock = false;
public string $legalType = '';
public array $partner = [];
public array $paymentTerms = []; // @todo: implement model/mapper
public array $addresses = []; // @todo: implement
public array $prices = []; // @todo: implement
/**
* Construct.
*
* @since 1.0.0
*/
public function __construct()
{
$this->addr = new GSDAddress();
$this->createdAt = new \DateTimeImmutable('now');
}
}

View File

@ -1,104 +0,0 @@
<?php
/**
* Karaka
*
* PHP Version 8.1
*
* @package Modules\Exchange\Interfaces\GSD\Model
* @copyright Dennis Eichhorn
* @license OMS License 1.0
* @version 1.0.0
* @link https://jingga.app
*/
declare(strict_types=1);
namespace Modules\Exchange\Interfaces\GSD\Model;
use phpOMS\DataStorage\Database\Mapper\DataMapperFactory;
/**
* Mapper class.
*
* @package Modules\Exchange\Interfaces\GSD\Model
* @license OMS License 1.0
* @link https://jingga.app
* @since 1.0.0
*/
final class GSDCustomerMapper extends DataMapperFactory
{
/**
* Columns.
*
* @var array<string, array{name:string, type:string, internal:string, autocomplete?:bool, readonly?:bool, writeonly?:bool, annotations?:array}>
* @since 1.0.0
*/
public const COLUMNS = [
'row_id' => ['name' => 'row_id', 'type' => 'int', 'internal' => 'id'],
'row_create_time' => ['name' => 'row_create_time', 'type' => 'DateTimeImmutable', 'internal' => 'createdAt'],
'row_create_user' => ['name' => 'row_create_user', 'type' => 'int', 'internal' => 'createdBy'],
'Kundennummer' => ['name' => 'Kundennummer', 'type' => 'string', 'internal' => 'number'],
'Kundentyp' => ['name' => 'Kundentyp', 'type' => 'string', 'internal' => 'customerType'],
'Konto' => ['name' => 'Konto', 'type' => 'int', 'internal' => 'account'],
'_MatGuthabenKonto' => ['name' => '_MatGuthabenKonto', 'type' => 'int', 'internal' => 'materialAccount'],
'_Rechtsform' => ['name' => '_Rechtsform', 'type' => 'int', 'internal' => 'legalType'],
'Sammelkonto' => ['name' => 'Sammelkonto', 'type' => 'int', 'internal' => 'accountsReceivableAccount'],
'Erloeskennzeichen' => ['name' => 'Erloeskennzeichen', 'type' => 'string', 'internal' => 'earningsIndicator'],
'Info' => ['name' => 'Info', 'type' => 'string', 'internal' => 'info'],
'KreditLimitintern' => ['name' => 'KreditLimitintern', 'type' => 'float', 'internal' => 'creditlimit'],
'EGUstId' => ['name' => 'EGUstId', 'type' => 'string', 'internal' => 'egustid'],
'Steuernummer' => ['name' => 'Steuernummer', 'type' => 'string', 'internal' => 'taxid'],
'BIC' => ['name' => 'BIC', 'type' => 'string', 'internal' => 'bic'],
'IBAN' => ['name' => 'IBAN', 'type' => 'string', 'internal' => 'iban'],
'MandatsRef' => ['name' => 'MandatsRef', 'type' => 'string', 'internal' => 'bankRef'],
'Verkaeufer' => ['name' => 'Verkaeufer', 'type' => 'string', 'internal' => 'salesRep'],
'AdressId' => ['name' => 'AdressId', 'type' => 'int', 'internal' => 'addr'],
'Auftragssperre' => ['name' => 'Auftragssperre', 'type' => 'bool', 'internal' => 'isLocked'],
'_Papierkorb' => ['name' => '_Papierkorb', 'type' => 'bool', 'internal' => 'isBlocked'],
'Auslauf' => ['name' => 'Auslauf', 'type' => 'bool', 'internal' => 'isDiscontinued'],
'Mahnsperre' => ['name' => 'Mahnsperre', 'type' => 'bool', 'internal' => 'reminderBlock'],
'Sammelrechnung' => ['name' => 'Sammelrechnung', 'type' => 'bool', 'internal' => 'isMonthlyInvoice'],
'_Partnernummer1' => ['name' => '_Partnernummer1', 'type' => 'string', 'internal' => 'partner/1'],
'_Partnernummer2' => ['name' => '_Partnernummer2', 'type' => 'string', 'internal' => 'partner/2'],
'_Partnernummer3' => ['name' => '_Partnernummer3', 'type' => 'string', 'internal' => 'partner/3'],
'_Partnernummer4' => ['name' => '_Partnernummer4', 'type' => 'string', 'internal' => 'partner/4'],
'_Partnernummer5' => ['name' => '_Partnernummer5', 'type' => 'string', 'internal' => 'partner/5'],
'_Partnernummer6' => ['name' => '_Partnernummer6', 'type' => 'string', 'internal' => 'partner/6'],
];
/**
* Has one relation.
*
* @var array<string, array{mapper:class-string, external:string, by?:string, column?:string, conditional?:bool}>
* @since 1.0.0
*/
public const OWNS_ONE = [
'addr' => [
'mapper' => GSDAddressMapper::class,
'external' => 'AdressId',
],
];
/**
* Primary table.
*
* @var string
* @since 1.0.0
*/
public const TABLE = 'Kunden';
/**
* Created at.
*
* @var string
* @since 1.0.0
*/
public const CREATED_AT = 'row_create_time';
/**
* Primary field name.
*
* @var string
* @since 1.0.0
*/
public const PRIMARYFIELD = 'row_id';
}

View File

@ -1,59 +0,0 @@
<?php
/**
* Karaka
*
* PHP Version 8.1
*
* @package Modules\Exchange\Interfaces\GSD\Model
* @copyright Dennis Eichhorn
* @license OMS License 1.0
* @version 1.0.0
* @link https://jingga.app
*/
declare(strict_types=1);
namespace Modules\Exchange\Interfaces\GSD\Model;
/**
* Model class.
*
* @package Modules\Exchange\Interfaces\GSD\Model
* @license OMS License 1.0
* @link https://jingga.app
* @since 1.0.0
*
* @codeCoverageIgnore
*/
class GSDSupplier
{
public int $id = 0;
public int $createdBy = 0;
public \DateTimeImmutable $createdAt;
public string $number = '';
public string $info = '';
public string $taxid = '';
public string $bic = '';
public string $iban = '';
public GSDAddress $addr;
public int $deliveryStatus = 0;
/**
* Construct.
*
* @since 1.0.0
*/
public function __construct()
{
$this->addr = new GSDAddress();
$this->createdAt = new \DateTimeImmutable('now');
}
}

View File

@ -1,84 +0,0 @@
<?php
/**
* Karaka
*
* PHP Version 8.1
*
* @package Modules\Exchange\Interfaces\GSD\Model
* @copyright Dennis Eichhorn
* @license OMS License 1.0
* @version 1.0.0
* @link https://jingga.app
*/
declare(strict_types=1);
namespace Modules\Exchange\Interfaces\GSD\Model;
use phpOMS\DataStorage\Database\Mapper\DataMapperFactory;
/**
* Mapper class.
*
* @package Modules\Exchange\Interfaces\GSD\Model
* @license OMS License 1.0
* @link https://jingga.app
* @since 1.0.0
*/
final class GSDSupplierMapper extends DataMapperFactory
{
/**
* Columns.
*
* @var array<string, array{name:string, type:string, internal:string, autocomplete?:bool, readonly?:bool, writeonly?:bool, annotations?:array}>
* @since 1.0.0
*/
public const COLUMNS = [
'row_id' => ['name' => 'row_id', 'type' => 'int', 'internal' => 'id'],
'row_create_time' => ['name' => 'row_create_time', 'type' => 'DateTimeImmutable', 'internal' => 'createdAt', 'readonly' => true],
'row_create_user' => ['name' => 'row_create_user', 'type' => 'int', 'internal' => 'createdBy', 'readonly' => true],
'LieferantenNummer' => ['name' => 'LieferantenNummer', 'type' => 'string', 'internal' => 'number'],
'Info' => ['name' => 'Info', 'type' => 'string', 'internal' => 'info'],
'Auftragssperre' => ['name' => 'Auftragssperre', 'type' => 'string', 'internal' => 'deliveryStatus'],
'Steuernummer' => ['name' => 'Steuernummer', 'type' => 'string', 'internal' => 'taxid'],
'BIC' => ['name' => 'BIC', 'type' => 'string', 'internal' => 'bic'],
'IBAN' => ['name' => 'IBAN', 'type' => 'string', 'internal' => 'iban'],
'AdressId' => ['name' => 'AdressId', 'type' => 'int', 'internal' => 'addr'],
];
/**
* Has one relation.
*
* @var array<string, array{mapper:class-string, external:string, by?:string, column?:string, conditional?:bool}>
* @since 1.0.0
*/
public const OWNS_ONE = [
'addr' => [
'mapper' => GSDAddressMapper::class,
'external' => 'AdressId',
],
];
/**
* Primary table.
*
* @var string
* @since 1.0.0
*/
public const TABLE = 'Lieferanten';
/**
* Created at.
*
* @var string
* @since 1.0.0
*/
public const CREATED_AT = 'row_create_time';
/**
* Primary field name.
*
* @var string
* @since 1.0.0
*/
public const PRIMARYFIELD = 'row_id';
}

View File

@ -1,27 +0,0 @@
<?php
/**
* Karaka
*
* PHP Version 8.1
*
* @package Modules\Exchange\Interfaces\GSD\Model
* @copyright Dennis Eichhorn
* @license OMS License 1.0
* @version 1.0.0
* @link https://jingga.app
*/
declare(strict_types=1);
namespace Modules\Exchange\Interfaces\GSD\Model;
/**
* Model class.
*
* @package Modules\Exchange\Interfaces\GSD\Model
* @license OMS License 1.0
* @link https://jingga.app
* @since 1.0.0
*/
final class Invoice
{
}

View File

@ -1,27 +0,0 @@
<?php
/**
* Karaka
*
* PHP Version 8.1
*
* @package Modules\Exchange\Interfaces\GSD\Model
* @copyright Dennis Eichhorn
* @license OMS License 1.0
* @version 1.0.0
* @link https://jingga.app
*/
declare(strict_types=1);
namespace Modules\Exchange\Interfaces\GSD\Model;
/**
* Null model.
*
* @package Modules\Exchange\Interfaces\GSD\Model
* @license OMS License 1.0
* @link https://jingga.app
* @since 1.0.0
*/
class NullGSDAddress
{
}

View File

@ -1,27 +0,0 @@
<?php
/**
* Karaka
*
* PHP Version 8.1
*
* @package Modules\Exchange\Interfaces\GSD\Model
* @copyright Dennis Eichhorn
* @license OMS License 1.0
* @version 1.0.0
* @link https://jingga.app
*/
declare(strict_types=1);
namespace Modules\Exchange\Interfaces\GSD\Model;
/**
* Null model.
*
* @package Modules\Exchange\Interfaces\GSD\Model
* @license OMS License 1.0
* @link https://jingga.app
* @since 1.0.0
*/
class NullGSDArticle
{
}

View File

@ -1,27 +0,0 @@
<?php
/**
* Karaka
*
* PHP Version 8.1
*
* @package Modules\Exchange\Interfaces\GSD\Model
* @copyright Dennis Eichhorn
* @license OMS License 1.0
* @version 1.0.0
* @link https://jingga.app
*/
declare(strict_types=1);
namespace Modules\Exchange\Interfaces\GSD\Model;
/**
* Null model.
*
* @package Modules\Exchange\Interfaces\GSD\Model
* @license OMS License 1.0
* @link https://jingga.app
* @since 1.0.0
*/
class NullGSDCostCenter
{
}

View File

@ -1,27 +0,0 @@
<?php
/**
* Karaka
*
* PHP Version 8.1
*
* @package Modules\Exchange\Interfaces\GSD\Model
* @copyright Dennis Eichhorn
* @license OMS License 1.0
* @version 1.0.0
* @link https://jingga.app
*/
declare(strict_types=1);
namespace Modules\Exchange\Interfaces\GSD\Model;
/**
* Null model.
*
* @package Modules\Exchange\Interfaces\GSD\Model
* @license OMS License 1.0
* @link https://jingga.app
* @since 1.0.0
*/
class NullGSDCostObject
{
}

View File

@ -1,27 +0,0 @@
<?php
/**
* Karaka
*
* PHP Version 8.1
*
* @package Modules\Exchange\Interfaces\GSD\Model
* @copyright Dennis Eichhorn
* @license OMS License 1.0
* @version 1.0.0
* @link https://jingga.app
*/
declare(strict_types=1);
namespace Modules\Exchange\Interfaces\GSD\Model;
/**
* Null model.
*
* @package Modules\Exchange\Interfaces\GSD\Model
* @license OMS License 1.0
* @link https://jingga.app
* @since 1.0.0
*/
class NullGSDCustomer
{
}

View File

@ -1,27 +0,0 @@
<?php
/**
* Karaka
*
* PHP Version 8.1
*
* @package Modules\Exchange\Interfaces\GSD\Model
* @copyright Dennis Eichhorn
* @license OMS License 1.0
* @version 1.0.0
* @link https://jingga.app
*/
declare(strict_types=1);
namespace Modules\Exchange\Interfaces\GSD\Model;
/**
* Null model.
*
* @package Modules\Exchange\Interfaces\GSD\Model
* @license OMS License 1.0
* @link https://jingga.app
* @since 1.0.0
*/
class NullGSDSupplier
{
}

View File

@ -1,27 +0,0 @@
<?php
/**
* Karaka
*
* PHP Version 8.1
*
* @package Modules\Exchange\Interfaces\GSD\Model
* @copyright Dennis Eichhorn
* @license OMS License 1.0
* @version 1.0.0
* @link https://jingga.app
*/
declare(strict_types=1);
namespace Modules\Exchange\Interfaces\GSD\Model;
/**
* Model class.
*
* @package Modules\Exchange\Interfaces\GSD\Model
* @license OMS License 1.0
* @link https://jingga.app
* @since 1.0.0
*/
final class Posting
{
}

View File

@ -1,27 +0,0 @@
<?php
/**
* Karaka
*
* PHP Version 8.1
*
* @package Modules\Exchange\Interfaces\GSD\Model
* @copyright Dennis Eichhorn
* @license OMS License 1.0
* @version 1.0.0
* @link https://jingga.app
*/
declare(strict_types=1);
namespace Modules\Exchange\Interfaces\GSD\Model;
/**
* Model class.
*
* @package Modules\Exchange\Interfaces\GSD\Model
* @license OMS License 1.0
* @link https://jingga.app
* @since 1.0.0
*/
final class Segment
{
}

View File

@ -1,29 +0,0 @@
<?php
/**
* Karaka
*
* PHP Version 8.1
*
* @package Modules\Exchange\Interfaces\GSD\Model
* @copyright Dennis Eichhorn
* @license OMS License 1.0
* @version 1.0.0
* @link https://jingga.app
*/
declare(strict_types=1);
namespace Modules\Exchange\Interfaces\GSD\Model;
use phpOMS\Stdlib\Base\Enum;
/**
* Segment type enum.
*
* @package Modules\Exchange\Interfaces\GSD\Model
* @license OMS License 1.0
* @link https://jingga.app
* @since 1.0.0
*/
abstract class SegmentType extends Enum
{
}

View File

@ -1,94 +0,0 @@
<div class="row">
<div class="col-xs-12 col-md-6">
<section class="portlet">
<form id="fImport" method="POST" action="<?= \phpOMS\Uri\UriFactory::build('{/api}admin/exchange/import/profile?{?}&exchange=GSD&csrf={$CSRF}'); ?>">
<div class="portlet-head"><?= $this->getHtml('Import'); ?> - GSD</div>
<div class="portlet-body">
<table class="layout wf-100" style="table-layout: fixed">
<tbody>
<tr><td><label for="iHost"><?= $this->getHtml('Host'); ?></label>
<tr><td><input type="text" id="iHost" name="host" placeholder="&#xf040; <?= $this->getHtml('Host'); ?>" required><input type="hidden" id="iDb" name="db" value="<?= \phpOMS\DataStorage\Database\DatabaseType::SQLSRV; ?>" required>
<tr><td><label for="iPort"><?= $this->getHtml('Port'); ?></label>
<tr><td><input type="text" id="iPort" name="port" value="1433" required>
<tr><td><label for="iDatabase"><?= $this->getHtml('Database'); ?></label>
<tr><td><input type="text" id="iDatabase" name="database" placeholder="&#xf040; <?= $this->getHtml('Database'); ?>" required>
<tr><td><label for="iLogin"><?= $this->getHtml('Login'); ?></label>
<tr><td><input type="text" id="iLogin" name="login" placeholder="&#xf040; <?= $this->getHtml('Login'); ?>" required>
<tr><td><label for="iPassword"><?= $this->getHtml('Password'); ?></label>
<tr><td><input type="password" id="iPassword" name="password" placeholder="&#xf040; <?= $this->getHtml('Password'); ?>" required>
<tr><td><label for="iStart"><?= $this->getHtml('Start'); ?></label>
<tr><td><input type="datetime-local" id="iStart" name="start" value="<?= $this->printHtml((new \DateTime('NOW'))->format('Y-m-d\TH:i:s')); ?>">
<tr><td><label for="iEnd"><?= $this->getHtml('End'); ?></label>
<tr><td><input type="datetime-local" id="iEnd" name="end" value="<?= $this->printHtml((new \DateTime('NOW'))->format('Y-m-d\TH:i:s')); ?>">
<tr><td><?= $this->getHtml('Options'); ?>
<tr><td>
<table class="layout wf-100"><tr><td>
<label class="checkbox" for="iCustomers">
<input id="iCustomers" type="checkbox" name="customers" value="1">
<span class="checkmark"></span>
<?= $lang['Customers']; ?>
</label>
<td>
<label class="checkbox" for="iInvoices">
<input id="iInvoices" type="checkbox" name="invoices" value="1">
<span class="checkmark"></span>
<?= $lang['Invoices']; ?>
</label>
<tr><td>
<label class="checkbox" for="iSuppliers">
<input id="iSuppliers" type="checkbox" name="suppliers" value="1">
<span class="checkmark"></span>
<?= $lang['Suppliers']; ?>
</label>
<td>
<label class="checkbox" for="iStocks">
<input id="iStocks" type="checkbox" name="stocks" value="1">
<span class="checkmark"></span>
<?= $lang['Stocks']; ?>
</label>
<tr><td>
<label class="checkbox" for="iAccounts">
<input id="iAccounts" type="checkbox" name="accounts" value="1">
<span class="checkmark"></span>
<?= $lang['Accounts']; ?>
</label>
<td>
<label class="checkbox" for="iAssets">
<input id="iAssets" type="checkbox" name="assets" value="1">
<span class="checkmark"></span>
<?= $lang['Assets']; ?>
</label>
<tr><td>
<label class="checkbox" for="iCostCenters">
<input id="iCostCenters" type="checkbox" name="costcenters" value="1">
<span class="checkmark"></span>
<?= $lang['CostCenters']; ?>
</label>
<td>
<label class="checkbox" for="iPostings">
<input id="iPostings" type="checkbox" name="postings" value="1">
<span class="checkmark"></span>
<?= $lang['Postings']; ?>
</label>
<tr><td>
<label class="checkbox" for="iCostObjects">
<input id="iCostObjects" type="checkbox" name="costobjects" value="1">
<span class="checkmark"></span>
<?= $lang['CostObjects']; ?>
</label>
<td>
<label class="checkbox" for="iArticles">
<input id="iArticles" type="checkbox" name="articles" value="1">
<span class="checkmark"></span>
<?= $lang['Articles']; ?>
</label>
</table>
</table>
</div>
<div class="portlet-foot">
<input type="submit" value="<?= $this->getHtml('Import'); ?>" name="import">
</div>
</form>
</section>
</div>
</div>

View File

@ -1,8 +0,0 @@
{
"name": "GSD",
"version": "1.0.0",
"website": "",
"path": "GSD",
"export": false,
"import": true
}

View File

@ -1,27 +0,0 @@
<?php
/**
* Karaka
*
* PHP Version 8.1
*
* @package Modules\Exchange\Interfaces\Intrexx\Import
* @copyright Dennis Eichhorn
* @license OMS License 1.0
* @version 1.0.0
* @link https://jingga.app
*/
declare(strict_types=1);
namespace Modules\Exchange\Interfaces\Intrexx\Import;
/**
* Import class.
*
* @package Modules\Exchange\Interfaces\Intrexx\Import
* @license OMS License 1.0
* @link https://jingga.app
* @since 1.0.0
*/
final class PromotionImport
{
}

View File

@ -1,27 +0,0 @@
<?php
/**
* Karaka
*
* PHP Version 8.1
*
* @package Modules\Exchange\Interfaces\Intrexx\Import
* @copyright Dennis Eichhorn
* @license OMS License 1.0
* @version 1.0.0
* @link https://jingga.app
*/
declare(strict_types=1);
namespace Modules\Exchange\Interfaces\Intrexx\Import;
/**
* Import class.
*
* @package Modules\Exchange\Interfaces\Intrexx\Import
* @license OMS License 1.0
* @link https://jingga.app
* @since 1.0.0
*/
final class SeminarImport
{
}

View File

@ -1,27 +0,0 @@
<?php
/**
* Karaka
*
* PHP Version 8.1
*
* @package Modules\Exchange\Interfaces\Intrexx\Import
* @copyright Dennis Eichhorn
* @license OMS License 1.0
* @version 1.0.0
* @link https://jingga.app
*/
declare(strict_types=1);
namespace Modules\Exchange\Interfaces\Intrexx\Import;
/**
* Import class.
*
* @package Modules\Exchange\Interfaces\Intrexx\Import
* @license OMS License 1.0
* @link https://jingga.app
* @since 1.0.0
*/
final class VisitImport
{
}

View File

@ -1,45 +0,0 @@
<?php
/**
* Karaka
*
* PHP Version 8.1
*
* @package Interfaces
* @copyright Dennis Eichhorn
* @license OMS License 1.0
* @version 1.0.0
* @link https://jingga.app
*/
declare(strict_types=1);
namespace Modules\Exchange\Interfaces\Intrexx;
use Modules\Exchange\Models\ImporterAbstract;
use phpOMS\Message\RequestAbstract;
/**
* Intrexx import class
*
* @package Modules\Exchange\Models\Interfaces\Intrexx
* @license OMS License 1.0
* @link https://jingga.app
* @since 1.0.0
*
* @codeCoverageIgnore
*/
final class Importer extends ImporterAbstract
{
/**
* Import data from request
*
* @param RequestAbstract $request Request
*
* @return array
*
* @since 1.0.0
*/
public function importFromRequest(RequestAbstract $request) : array
{
return [];
}
}

View File

@ -1,16 +0,0 @@
<?php
declare(strict_types=1);
/**
* Karaka
*
* PHP Version 8.1
*
* @package Modules\Exchange
* @copyright Dennis Eichhorn
* @license OMS License 1.0
* @version 1.0.0
* @link https://jingga.app
*/
return [
];

View File

@ -1,27 +0,0 @@
<?php
/**
* Karaka
*
* PHP Version 8.1
*
* @package Modules\Exchange\Interfaces\Intrexx\Model
* @copyright Dennis Eichhorn
* @license OMS License 1.0
* @version 1.0.0
* @link https://jingga.app
*/
declare(strict_types=1);
namespace Modules\Exchange\Interfaces\Intrexx\Model;
/**
* Model class.
*
* @package Modules\Exchange\Interfaces\Intrexx\Model
* @license OMS License 1.0
* @link https://jingga.app
* @since 1.0.0
*/
final class Promotion
{
}

View File

@ -1,27 +0,0 @@
<?php
/**
* Karaka
*
* PHP Version 8.1
*
* @package Modules\Exchange\Interfaces\Intrexx\Model
* @copyright Dennis Eichhorn
* @license OMS License 1.0
* @version 1.0.0
* @link https://jingga.app
*/
declare(strict_types=1);
namespace Modules\Exchange\Interfaces\Intrexx\Model;
/**
* Model class.
*
* @package Modules\Exchange\Interfaces\Intrexx\Model
* @license OMS License 1.0
* @link https://jingga.app
* @since 1.0.0
*/
final class Seminar
{
}

View File

@ -1,27 +0,0 @@
<?php
/**
* Karaka
*
* PHP Version 8.1
*
* @package Modules\Exchange\Interfaces\Intrexx\Model
* @copyright Dennis Eichhorn
* @license OMS License 1.0
* @version 1.0.0
* @link https://jingga.app
*/
declare(strict_types=1);
namespace Modules\Exchange\Interfaces\Intrexx\Model;
/**
* Model class.
*
* @package Modules\Exchange\Interfaces\Intrexx\Model
* @license OMS License 1.0
* @link https://jingga.app
* @since 1.0.0
*/
final class Visit
{
}

View File

@ -1,8 +0,0 @@
{
"name": "Intrexx",
"version": "1.0.0",
"website": "",
"path": "Intrexx",
"export": false,
"import": true
}

View File

@ -6,7 +6,7 @@
* *
* @package Modules\Exchange\Models * @package Modules\Exchange\Models
* @copyright Dennis Eichhorn * @copyright Dennis Eichhorn
* @license OMS License 1.0 * @license OMS License 2.0
* @version 1.0.0 * @version 1.0.0
* @link https://jingga.app * @link https://jingga.app
*/ */
@ -20,7 +20,7 @@ use Modules\Admin\Models\Account;
* Exchange class. * Exchange class.
* *
* @package Modules\Exchange\Models * @package Modules\Exchange\Models
* @license OMS License 1.0 * @license OMS License 2.0
* @link https://jingga.app * @link https://jingga.app
* @since 1.0.0 * @since 1.0.0
*/ */

View File

@ -6,7 +6,7 @@
* *
* @package Modules\Exchange\Models * @package Modules\Exchange\Models
* @copyright Dennis Eichhorn * @copyright Dennis Eichhorn
* @license OMS License 1.0 * @license OMS License 2.0
* @version 1.0.0 * @version 1.0.0
* @link https://jingga.app * @link https://jingga.app
*/ */
@ -21,7 +21,7 @@ use phpOMS\DataStorage\Database\Mapper\DataMapperFactory;
* Exchange log mapper class. * Exchange log mapper class.
* *
* @package Modules\Exchange\Models * @package Modules\Exchange\Models
* @license OMS License 1.0 * @license OMS License 2.0
* @link https://jingga.app * @link https://jingga.app
* @since 1.0.0 * @since 1.0.0
*/ */

View File

@ -6,7 +6,7 @@
* *
* @package Modules\Exchange\Models * @package Modules\Exchange\Models
* @copyright Dennis Eichhorn * @copyright Dennis Eichhorn
* @license OMS License 1.0 * @license OMS License 2.0
* @version 1.0.0 * @version 1.0.0
* @link https://jingga.app * @link https://jingga.app
*/ */
@ -20,7 +20,7 @@ use Modules\Job\Models\Job;
* Setting class. * Setting class.
* *
* @package Modules\Exchange\Models * @package Modules\Exchange\Models
* @license OMS License 1.0 * @license OMS License 2.0
* @link https://jingga.app * @link https://jingga.app
* @since 1.0.0 * @since 1.0.0
*/ */

View File

@ -6,7 +6,7 @@
* *
* @package Modules\Exchange\Models * @package Modules\Exchange\Models
* @copyright Dennis Eichhorn * @copyright Dennis Eichhorn
* @license OMS License 1.0 * @license OMS License 2.0
* @version 1.0.0 * @version 1.0.0
* @link https://jingga.app * @link https://jingga.app
*/ */
@ -20,7 +20,7 @@ use phpOMS\DataStorage\Database\Mapper\DataMapperFactory;
* Exchange setting mapper class. * Exchange setting mapper class.
* *
* @package Modules\Exchange\Models * @package Modules\Exchange\Models
* @license OMS License 1.0 * @license OMS License 2.0
* @link https://jingga.app * @link https://jingga.app
* @since 1.0.0 * @since 1.0.0
*/ */

View File

@ -6,7 +6,7 @@
* *
* @package Modules\Exchange\Models * @package Modules\Exchange\Models
* @copyright Dennis Eichhorn * @copyright Dennis Eichhorn
* @license OMS License 1.0 * @license OMS License 2.0
* @version 1.0.0 * @version 1.0.0
* @link https://jingga.app * @link https://jingga.app
*/ */
@ -21,7 +21,7 @@ use phpOMS\Stdlib\Base\Enum;
* Exchange status enum. * Exchange status enum.
* *
* @package Modules\Exchange\Models * @package Modules\Exchange\Models
* @license OMS License 1.0 * @license OMS License 2.0
* @link https://jingga.app * @link https://jingga.app
* @since 1.0.0 * @since 1.0.0
*/ */

View File

@ -6,7 +6,7 @@
* *
* @package Interfaces * @package Interfaces
* @copyright Dennis Eichhorn * @copyright Dennis Eichhorn
* @license OMS License 1.0 * @license OMS License 2.0
* @version 1.0.0 * @version 1.0.0
* @link https://jingga.app * @link https://jingga.app
*/ */
@ -22,7 +22,7 @@ use phpOMS\Message\RequestAbstract;
* Export abstract * Export abstract
* *
* @package Interfaces * @package Interfaces
* @license OMS License 1.0 * @license OMS License 2.0
* @link https://jingga.app * @link https://jingga.app
* @since 1.0.0 * @since 1.0.0
*/ */

View File

@ -6,7 +6,7 @@
* *
* @package Interfaces * @package Interfaces
* @copyright Dennis Eichhorn * @copyright Dennis Eichhorn
* @license OMS License 1.0 * @license OMS License 2.0
* @version 1.0.0 * @version 1.0.0
* @link https://jingga.app * @link https://jingga.app
*/ */
@ -22,7 +22,7 @@ use phpOMS\Message\RequestAbstract;
* Import abstract * Import abstract
* *
* @package Interfaces * @package Interfaces
* @license OMS License 1.0 * @license OMS License 2.0
* @link https://jingga.app * @link https://jingga.app
* @since 1.0.0 * @since 1.0.0
*/ */

View File

@ -6,7 +6,7 @@
* *
* @package phpOMS\Module * @package phpOMS\Module
* @copyright Dennis Eichhorn * @copyright Dennis Eichhorn
* @license OMS License 1.0 * @license OMS License 2.0
* @version 1.0.0 * @version 1.0.0
* @link https://jingga.app * @link https://jingga.app
*/ */
@ -26,7 +26,7 @@ use phpOMS\System\File\PathException;
* Handling the info files for modules * Handling the info files for modules
* *
* @package phpOMS\Module * @package phpOMS\Module
* @license OMS License 1.0 * @license OMS License 2.0
* @link https://jingga.app * @link https://jingga.app
* @since 1.0.0 * @since 1.0.0
*/ */

View File

@ -6,7 +6,7 @@
* *
* @package Modules\Exchange\Models * @package Modules\Exchange\Models
* @copyright Dennis Eichhorn * @copyright Dennis Eichhorn
* @license OMS License 1.0 * @license OMS License 2.0
* @version 1.0.0 * @version 1.0.0
* @link https://jingga.app * @link https://jingga.app
*/ */
@ -22,7 +22,7 @@ use phpOMS\DataStorage\Database\Mapper\DataMapperFactory;
* Mapper class. * Mapper class.
* *
* @package Modules\Exchange\Models * @package Modules\Exchange\Models
* @license OMS License 1.0 * @license OMS License 2.0
* @link https://jingga.app * @link https://jingga.app
* @since 1.0.0 * @since 1.0.0
*/ */

View File

@ -6,7 +6,7 @@
* *
* @package phpOMS\Module * @package phpOMS\Module
* @copyright Dennis Eichhorn * @copyright Dennis Eichhorn
* @license OMS License 1.0 * @license OMS License 2.0
* @version 1.0.0 * @version 1.0.0
* @link https://jingga.app * @link https://jingga.app
*/ */
@ -18,7 +18,7 @@ namespace Modules\Exchange\Models;
* Null model. * Null model.
* *
* @package phpOMS\Module * @package phpOMS\Module
* @license OMS License 1.0 * @license OMS License 2.0
* @link https://jingga.app * @link https://jingga.app
* @since 1.0.0 * @since 1.0.0
*/ */

View File

@ -6,7 +6,7 @@
* *
* @package Modules\Exchange\Models * @package Modules\Exchange\Models
* @copyright Dennis Eichhorn * @copyright Dennis Eichhorn
* @license OMS License 1.0 * @license OMS License 2.0
* @version 1.0.0 * @version 1.0.0
* @link https://jingga.app * @link https://jingga.app
*/ */
@ -18,7 +18,7 @@ namespace Modules\Exchange\Models;
* Null model. * Null model.
* *
* @package Modules\Exchange\Models * @package Modules\Exchange\Models
* @license OMS License 1.0 * @license OMS License 2.0
* @link https://jingga.app * @link https://jingga.app
* @since 1.0.0 * @since 1.0.0
*/ */

View File

@ -6,7 +6,7 @@
* *
* @package phpOMS\Module * @package phpOMS\Module
* @copyright Dennis Eichhorn * @copyright Dennis Eichhorn
* @license OMS License 1.0 * @license OMS License 2.0
* @version 1.0.0 * @version 1.0.0
* @link https://jingga.app * @link https://jingga.app
*/ */
@ -18,7 +18,7 @@ namespace Modules\Exchange\Models;
* Null model. * Null model.
* *
* @package phpOMS\Module * @package phpOMS\Module
* @license OMS License 1.0 * @license OMS License 2.0
* @link https://jingga.app * @link https://jingga.app
* @since 1.0.0 * @since 1.0.0
*/ */

View File

@ -6,7 +6,7 @@
* *
* @package Modules\Exchange\Models * @package Modules\Exchange\Models
* @copyright Dennis Eichhorn * @copyright Dennis Eichhorn
* @license OMS License 1.0 * @license OMS License 2.0
* @version 1.0.0 * @version 1.0.0
* @link https://jingga.app * @link https://jingga.app
*/ */
@ -20,7 +20,7 @@ use phpOMS\Stdlib\Base\Enum;
* Permision state enum. * Permision state enum.
* *
* @package Modules\Exchange\Models * @package Modules\Exchange\Models
* @license OMS License 1.0 * @license OMS License 2.0
* @link https://jingga.app * @link https://jingga.app
* @since 1.0.0 * @since 1.0.0
*/ */

View File

@ -6,7 +6,7 @@
* *
* @package Modules\Localization * @package Modules\Localization
* @copyright Dennis Eichhorn * @copyright Dennis Eichhorn
* @license OMS License 1.0 * @license OMS License 2.0
* @version 1.0.0 * @version 1.0.0
* @link https://jingga.app * @link https://jingga.app
*/ */

View File

@ -6,7 +6,7 @@
* *
* @package Modules\Localization * @package Modules\Localization
* @copyright Dennis Eichhorn * @copyright Dennis Eichhorn
* @license OMS License 1.0 * @license OMS License 2.0
* @version 1.0.0 * @version 1.0.0
* @link https://jingga.app * @link https://jingga.app
*/ */

View File

@ -6,7 +6,7 @@
* *
* @package Modules\Localization * @package Modules\Localization
* @copyright Dennis Eichhorn * @copyright Dennis Eichhorn
* @license OMS License 1.0 * @license OMS License 2.0
* @version 1.0.0 * @version 1.0.0
* @link https://jingga.app * @link https://jingga.app
*/ */

View File

@ -6,7 +6,7 @@
* *
* @package Modules\Localization * @package Modules\Localization
* @copyright Dennis Eichhorn * @copyright Dennis Eichhorn
* @license OMS License 1.0 * @license OMS License 2.0
* @version 1.0.0 * @version 1.0.0
* @link https://jingga.app * @link https://jingga.app
*/ */

View File

@ -6,7 +6,7 @@
* *
* @package Modules\Localization * @package Modules\Localization
* @copyright Dennis Eichhorn * @copyright Dennis Eichhorn
* @license OMS License 1.0 * @license OMS License 2.0
* @version 1.0.0 * @version 1.0.0
* @link https://jingga.app * @link https://jingga.app
*/ */

View File

@ -6,7 +6,7 @@
* *
* @package Modules\Localization * @package Modules\Localization
* @copyright Dennis Eichhorn * @copyright Dennis Eichhorn
* @license OMS License 1.0 * @license OMS License 2.0
* @version 1.0.0 * @version 1.0.0
* @link https://jingga.app * @link https://jingga.app
*/ */

View File

@ -6,7 +6,7 @@
* *
* @package Modules\Localization * @package Modules\Localization
* @copyright Dennis Eichhorn * @copyright Dennis Eichhorn
* @license OMS License 1.0 * @license OMS License 2.0
* @version 1.0.0 * @version 1.0.0
* @link https://jingga.app * @link https://jingga.app
*/ */

View File

@ -6,7 +6,7 @@
* *
* @package Modules\Localization * @package Modules\Localization
* @copyright Dennis Eichhorn * @copyright Dennis Eichhorn
* @license OMS License 1.0 * @license OMS License 2.0
* @version 1.0.0 * @version 1.0.0
* @link https://jingga.app * @link https://jingga.app
*/ */

View File

@ -6,7 +6,7 @@
* *
* @package Modules\Localization * @package Modules\Localization
* @copyright Dennis Eichhorn * @copyright Dennis Eichhorn
* @license OMS License 1.0 * @license OMS License 2.0
* @version 1.0.0 * @version 1.0.0
* @link https://jingga.app * @link https://jingga.app
*/ */

View File

@ -6,7 +6,7 @@
* *
* @package Modules\Localization * @package Modules\Localization
* @copyright Dennis Eichhorn * @copyright Dennis Eichhorn
* @license OMS License 1.0 * @license OMS License 2.0
* @version 1.0.0 * @version 1.0.0
* @link https://jingga.app * @link https://jingga.app
*/ */

View File

@ -6,7 +6,7 @@
* *
* @package Modules\Localization * @package Modules\Localization
* @copyright Dennis Eichhorn * @copyright Dennis Eichhorn
* @license OMS License 1.0 * @license OMS License 2.0
* @version 1.0.0 * @version 1.0.0
* @link https://jingga.app * @link https://jingga.app
*/ */

View File

@ -6,7 +6,7 @@
* *
* @package Modules\Localization * @package Modules\Localization
* @copyright Dennis Eichhorn * @copyright Dennis Eichhorn
* @license OMS License 1.0 * @license OMS License 2.0
* @version 1.0.0 * @version 1.0.0
* @link https://jingga.app * @link https://jingga.app
*/ */

View File

@ -6,7 +6,7 @@
* *
* @package Modules\Localization * @package Modules\Localization
* @copyright Dennis Eichhorn * @copyright Dennis Eichhorn
* @license OMS License 1.0 * @license OMS License 2.0
* @version 1.0.0 * @version 1.0.0
* @link https://jingga.app * @link https://jingga.app
*/ */

View File

@ -6,7 +6,7 @@
* *
* @package Modules\Localization * @package Modules\Localization
* @copyright Dennis Eichhorn * @copyright Dennis Eichhorn
* @license OMS License 1.0 * @license OMS License 2.0
* @version 1.0.0 * @version 1.0.0
* @link https://jingga.app * @link https://jingga.app
*/ */

View File

@ -6,7 +6,7 @@
* *
* @package Modules\Localization * @package Modules\Localization
* @copyright Dennis Eichhorn * @copyright Dennis Eichhorn
* @license OMS License 1.0 * @license OMS License 2.0
* @version 1.0.0 * @version 1.0.0
* @link https://jingga.app * @link https://jingga.app
*/ */

View File

@ -6,7 +6,7 @@
* *
* @package Modules\Localization * @package Modules\Localization
* @copyright Dennis Eichhorn * @copyright Dennis Eichhorn
* @license OMS License 1.0 * @license OMS License 2.0
* @version 1.0.0 * @version 1.0.0
* @link https://jingga.app * @link https://jingga.app
*/ */

View File

@ -6,7 +6,7 @@
* *
* @package Modules\Localization * @package Modules\Localization
* @copyright Dennis Eichhorn * @copyright Dennis Eichhorn
* @license OMS License 1.0 * @license OMS License 2.0
* @version 1.0.0 * @version 1.0.0
* @link https://jingga.app * @link https://jingga.app
*/ */

View File

@ -6,7 +6,7 @@
* *
* @package Modules\Localization * @package Modules\Localization
* @copyright Dennis Eichhorn * @copyright Dennis Eichhorn
* @license OMS License 1.0 * @license OMS License 2.0
* @version 1.0.0 * @version 1.0.0
* @link https://jingga.app * @link https://jingga.app
*/ */

View File

@ -6,7 +6,7 @@
* *
* @package Modules\Localization * @package Modules\Localization
* @copyright Dennis Eichhorn * @copyright Dennis Eichhorn
* @license OMS License 1.0 * @license OMS License 2.0
* @version 1.0.0 * @version 1.0.0
* @link https://jingga.app * @link https://jingga.app
*/ */

View File

@ -6,7 +6,7 @@
* *
* @package Modules\Localization * @package Modules\Localization
* @copyright Dennis Eichhorn * @copyright Dennis Eichhorn
* @license OMS License 1.0 * @license OMS License 2.0
* @version 1.0.0 * @version 1.0.0
* @link https://jingga.app * @link https://jingga.app
*/ */

Some files were not shown because too many files have changed in this diff Show More