This commit is contained in:
Dennis Eichhorn 2020-10-18 22:43:39 +02:00
commit fcb213eb8d
8 changed files with 184 additions and 103 deletions

View File

@ -17,12 +17,12 @@ namespace Modules\Exchange\Controller;
use Modules\Exchange\Models\InterfaceManager; use Modules\Exchange\Models\InterfaceManager;
use Modules\Exchange\Models\InterfaceManagerMapper; use Modules\Exchange\Models\InterfaceManagerMapper;
use Modules\Media\Models\UploadFile; use Modules\Media\Models\UploadFile;
use phpOMS\Message\Http\RequestStatusCode;
use phpOMS\Message\NotificationLevel; use phpOMS\Message\NotificationLevel;
use phpOMS\Message\RequestAbstract; use phpOMS\Message\RequestAbstract;
use phpOMS\Message\ResponseAbstract; use phpOMS\Message\ResponseAbstract;
use phpOMS\System\File\Local\Directory;
use phpOMS\Model\Message\FormValidation; use phpOMS\Model\Message\FormValidation;
use phpOMS\Message\Http\RequestStatusCode; use phpOMS\System\File\Local\Directory;
/** /**
* Exchange controller class. * Exchange controller class.

View File

@ -22,14 +22,30 @@ use Modules\Admin\Models\Account;
use Modules\Admin\Models\Address; use Modules\Admin\Models\Address;
use Modules\ClientManagement\Models\Client; use Modules\ClientManagement\Models\Client;
use Modules\ClientManagement\Models\ClientMapper; 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\GSDArticleMapper;
use Modules\Exchange\Interfaces\GSD\Model\GSDCostCenter;
use Modules\Exchange\Interfaces\GSD\Model\GSDCostCenterMapper; 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\GSDCostObjectMapper;
use Modules\Exchange\Interfaces\GSD\Model\GSDCustomer;
use Modules\Exchange\Interfaces\GSD\Model\GSDCustomerMapper; use Modules\Exchange\Interfaces\GSD\Model\GSDCustomerMapper;
use Modules\Exchange\Interfaces\GSD\Model\GSDSupplier;
use Modules\Exchange\Interfaces\GSD\Model\GSDSupplierMapper; use Modules\Exchange\Interfaces\GSD\Model\GSDSupplierMapper;
use Modules\Exchange\Models\ImporterAbstract; use Modules\Exchange\Models\ImporterAbstract;
use Modules\ItemManagement\Models\Item; use Modules\ItemManagement\Models\Item;
use Modules\ItemManagement\Models\ItemAttributeType;
use Modules\ItemManagement\Models\ItemAttributeTypeL11n;
use Modules\ItemManagement\Models\ItemAttributeTypeL11nMapper;
use Modules\ItemManagement\Models\ItemAttributeTypeMapper;
use Modules\ItemManagement\Models\ItemL11n;
use Modules\ItemManagement\Models\ItemL11nType;
use Modules\ItemManagement\Models\ItemL11nTypeMapper;
use Modules\ItemManagement\Models\ItemMapper; use Modules\ItemManagement\Models\ItemMapper;
use Modules\ItemManagement\Models\NullItemAttributeType;
use Modules\ItemManagement\Models\NullItemL11nType;
use Modules\Profile\Models\ContactElement;
use Modules\Profile\Models\ContactType;
use Modules\Profile\Models\Profile; use Modules\Profile\Models\Profile;
use Modules\SupplierManagement\Models\Supplier; use Modules\SupplierManagement\Models\Supplier;
use Modules\SupplierManagement\Models\SupplierMapper; use Modules\SupplierManagement\Models\SupplierMapper;
@ -37,27 +53,9 @@ use phpOMS\DataStorage\Database\Connection\ConnectionAbstract;
use phpOMS\DataStorage\Database\Connection\ConnectionFactory; use phpOMS\DataStorage\Database\Connection\ConnectionFactory;
use phpOMS\DataStorage\Database\DatabaseStatus; use phpOMS\DataStorage\Database\DatabaseStatus;
use phpOMS\DataStorage\Database\DataMapperAbstract; use phpOMS\DataStorage\Database\DataMapperAbstract;
use phpOMS\Message\RequestAbstract;
use phpOMS\Localization\ISO639x1Enum;
use Modules\Exchange\Interfaces\GSD\Model\GSDArticle;
use Modules\Exchange\Interfaces\GSD\Model\GSDCostCenter;
use Modules\Exchange\Interfaces\GSD\Model\GSDCostObject;
use Modules\Exchange\Interfaces\GSD\Model\GSDCustomer;
use Modules\Exchange\Interfaces\GSD\Model\GSDSupplier;
use Modules\ItemManagement\Models\ItemAttributeTypeL11n;
use Modules\ItemManagement\Models\ItemL11n;
use Modules\ItemManagement\Models\ItemL11nType;
use Modules\ItemManagement\Models\ItemL11nTypeMapper;
use Modules\ItemManagement\Models\ItemAttributeType;
use Modules\ItemManagement\Models\ItemAttributeTypeL11nMapper;
use Modules\ItemManagement\Models\ItemAttributeTypeMapper;
use Modules\ItemManagement\Models\NullItemAttributeType;
use Modules\ItemManagement\Models\NullItemL11nType;
use Modules\Profile\Models\ContactElement;
use Modules\Profile\Models\ContactElementMapper;
use Modules\Profile\Models\ProfileMapper;
use phpOMS\Localization\ISO3166TwoEnum; use phpOMS\Localization\ISO3166TwoEnum;
use Modules\Profile\Models\ContactType; use phpOMS\Localization\ISO639x1Enum;
use phpOMS\Message\RequestAbstract;
/** /**
* GSD import class * GSD import class

View File

@ -25,18 +25,31 @@ namespace Modules\Exchange\Interfaces\GSD\Model;
class GSDAddress class GSDAddress
{ {
public int $id = 0; public int $id = 0;
public string $name1 = ''; public string $name1 = '';
public string $name2 = ''; public string $name2 = '';
public string $name3 = ''; public string $name3 = '';
public string $city = ''; public string $city = '';
public string $country = ''; public string $country = '';
public string $zip = ''; public string $zip = '';
public string $street = ''; public string $street = '';
public string $phone = ''; public string $phone = '';
public string $fax = ''; public string $fax = '';
public string $email = ''; public string $email = '';
public string $website = ''; public string $website = '';
public int $createdBy = 0; public int $createdBy = 0;
public \DateTimeImmutable $createdAt; public \DateTimeImmutable $createdAt;
/** /**

View File

@ -25,69 +25,111 @@ namespace Modules\Exchange\Interfaces\GSD\Model;
class GSDArticle class GSDArticle
{ {
public int $id = 0; public int $id = 0;
public int $createdBy = 0; public int $createdBy = 0;
public \DateTimeImmutable $createdAt; public \DateTimeImmutable $createdAt;
public bool $isDiscontinued = false; public bool $isDiscontinued = false;
public bool $isBlocked = false; public bool $isBlocked = false;
public string $number = ''; public string $number = '';
public string $infoSales = ''; public string $infoSales = '';
public string $infoPurchase = ''; public string $infoPurchase = '';
public string $infoWarehouse = ''; public string $infoWarehouse = '';
public string $name1 = ''; public string $name1 = '';
public string $name2 = ''; public string $name2 = '';
public string $name1Eng = ''; public string $name1Eng = '';
public string $name2Eng = ''; public string $name2Eng = '';
public int $status = 0; public int $status = 0;
public string $lotManagement = ''; public string $lotManagement = '';
public bool $hasSN = false; public bool $hasSN = false;
public float $weight = 0.0; public float $weight = 0.0;
public float $height = 0.0; public float $height = 0.0;
public float $length = 0.0; public float $length = 0.0;
public float $volume = 0.0; public float $volume = 0.0;
public string $purchaseUnit = ''; public string $purchaseUnit = '';
public bool $manualLotUse = true; public bool $manualLotUse = true;
public int $leadTimeWeeks = 0; public int $leadTimeWeeks = 0;
public int $leadTimeDays = 0; public int $leadTimeDays = 0;
public int $leadTime = 0; public int $leadTime = 0;
public float $minimalStock = 0.0; public float $minimalStock = 0.0;
public bool $negativeStock = false; public bool $negativeStock = false;
public string $customsId = ''; public string $customsId = '';
public string $unnumber = ''; public string $unnumber = '';
public string $EUitemgroup = ''; public string $EUitemgroup = '';
public string $inspectionDepartment = ''; public string $inspectionDepartment = '';
public string $medicinProductClass = ''; public string $medicinProductClass = '';
public bool $exportItem = false; public bool $exportItem = false;
public bool $nonEUItem = false; public bool $nonEUItem = false;
public bool $dualUse = false; public bool $dualUse = false;
public int $inShop = 0; public int $inShop = 0;
public string $sectionGroup = ''; // Sparte public string $sectionGroup = ''; // Sparte
public string $salesGroup = ''; // Umsatzgruppe public string $salesGroup = ''; // Umsatzgruppe
public string $segment = ''; // Segment public string $segment = ''; // Segment
public int $productGroup = 0; public int $productGroup = 0;
public string $earningsIndicator = ''; public string $earningsIndicator = '';
public string $costsIndicator = ''; public string $costsIndicator = '';
public float $weightTinplate = 0.0; // Weissblech public float $weightTinplate = 0.0; // Weissblech
public float $weightOtherComposites = 0.0; // Sonstige Verbunde public float $weightOtherComposites = 0.0; // Sonstige Verbunde
public float $weightOther = 0.0; // Sonstiges public float $weightOther = 0.0; // Sonstiges
public float $weightPET = 0.0; // PET public float $weightPET = 0.0; // PET
public float $weightPaper = 0.0; public float $weightPaper = 0.0;
public float $weightNatureProducts = 0.0; public float $weightNatureProducts = 0.0;
public float $weightAcrylics = 0.0; public float $weightAcrylics = 0.0;
public float $weightCarton = 0.0; public float $weightCarton = 0.0;
public float $weightGlas = 0.0; public float $weightGlas = 0.0;
public float $weightAluminium = 0.0; public float $weightAluminium = 0.0;
public float $weightGross = 0.0; public float $weightGross = 0.0;
public float $weightNet = 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? public array $prices = []; // @todo implement from [Preise] where ParentID = 1, 2, 4??? for sales price and ParentType = 2 for purchase price?

View File

@ -33,57 +33,57 @@ final class GSDArticleMapper extends DataMapperAbstract
* @since 1.0.0 * @since 1.0.0
*/ */
protected static array $columns = [ protected static array $columns = [
'row_id' => ['name' => 'row_id', 'type' => 'int', 'internal' => 'id'], 'row_id' => ['name' => 'row_id', 'type' => 'int', 'internal' => 'id'],
'row_create_time' => ['name' => 'row_create_time', 'type' => 'DateTimeImmutable', 'internal' => 'createdAt'], 'row_create_time' => ['name' => 'row_create_time', 'type' => 'DateTimeImmutable', 'internal' => 'createdAt'],
'row_create_user' => ['name' => 'row_create_user', 'type' => 'int', 'internal' => 'createdBy'], 'row_create_user' => ['name' => 'row_create_user', 'type' => 'int', 'internal' => 'createdBy'],
'Artikelnummer' => ['name' => 'Artikelnummer', 'type' => 'string', 'internal' => 'number'], 'Artikelnummer' => ['name' => 'Artikelnummer', 'type' => 'string', 'internal' => 'number'],
'Auslaufartikel' => ['name' => 'Auslaufartikel', 'type' => 'bool', 'internal' => 'isDiscontinued'], 'Auslaufartikel' => ['name' => 'Auslaufartikel', 'type' => 'bool', 'internal' => 'isDiscontinued'],
'_Artikelsperre' => ['name' => '_Artikelsperre', 'type' => 'bool', 'internal' => 'isBlocked'], '_Artikelsperre' => ['name' => '_Artikelsperre', 'type' => 'bool', 'internal' => 'isBlocked'],
'ManuelleChargenEntnahme' => ['name' => 'ManuelleChargenEntnahme', 'type' => 'bool', 'internal' => 'manualLotUse'], 'ManuelleChargenEntnahme' => ['name' => 'ManuelleChargenEntnahme', 'type' => 'bool', 'internal' => 'manualLotUse'],
'Chargenverwaltung' => ['name' => 'Chargenverwaltung', 'type' => 'string', 'internal' => 'lotManagement'], 'Chargenverwaltung' => ['name' => 'Chargenverwaltung', 'type' => 'string', 'internal' => 'lotManagement'],
'Seriennummernvergabe' => ['name' => 'Seriennummernvergabe', 'type' => 'bool', 'internal' => 'hasSN'], 'Seriennummernvergabe' => ['name' => 'Seriennummernvergabe', 'type' => 'bool', 'internal' => 'hasSN'],
'_Minusbestand' => ['name' => '_Minusbestand', 'type' => 'bool', 'internal' => 'negativeStock'], '_Minusbestand' => ['name' => '_Minusbestand', 'type' => 'bool', 'internal' => 'negativeStock'],
'_Exportartikel' => ['name' => '_Exportartikel', 'type' => 'bool', 'internal' => 'exportItem'], '_Exportartikel' => ['name' => '_Exportartikel', 'type' => 'bool', 'internal' => 'exportItem'],
'_DrittlandArtikel' => ['name' => '_DrittlandArtikel', 'type' => 'bool', 'internal' => 'nonEUItem'], '_DrittlandArtikel' => ['name' => '_DrittlandArtikel', 'type' => 'bool', 'internal' => 'nonEUItem'],
'_DualUse' => ['name' => '_DualUse', 'type' => 'bool', 'internal' => 'dualUse'], '_DualUse' => ['name' => '_DualUse', 'type' => 'bool', 'internal' => 'dualUse'],
'EkEinheit' => ['name' => 'EkEinheit', 'type' => 'string', 'internal' => 'purchaseUnit'], 'EkEinheit' => ['name' => 'EkEinheit', 'type' => 'string', 'internal' => 'purchaseUnit'],
'Gewicht' => ['name' => 'Gewicht', 'type' => 'float', 'internal' => 'weight'], 'Gewicht' => ['name' => 'Gewicht', 'type' => 'float', 'internal' => 'weight'],
'Hoehe' => ['name' => 'Hoehe', 'type' => 'float', 'internal' => 'height'], 'Hoehe' => ['name' => 'Hoehe', 'type' => 'float', 'internal' => 'height'],
'Laenge' => ['name' => 'Laenge', 'type' => 'float', 'internal' => 'length'], 'Laenge' => ['name' => 'Laenge', 'type' => 'float', 'internal' => 'length'],
'Volumen' => ['name' => 'Volumen', 'type' => 'float', 'internal' => 'volume'], 'Volumen' => ['name' => 'Volumen', 'type' => 'float', 'internal' => 'volume'],
'Mindestbestand' => ['name' => 'Mindestbestand', 'type' => 'float', 'internal' => 'minimalStock'], 'Mindestbestand' => ['name' => 'Mindestbestand', 'type' => 'float', 'internal' => 'minimalStock'],
'BeschaffungszeitWochen' => ['name' => 'BeschaffungszeitWochen', 'type' => 'int', 'internal' => 'leadTimeWeeks'], 'BeschaffungszeitWochen' => ['name' => 'BeschaffungszeitWochen', 'type' => 'int', 'internal' => 'leadTimeWeeks'],
'BeschaffungszeitTage' => ['name' => 'BeschaffungszeitTage', 'type' => 'int', 'internal' => 'leadTimeDays'], 'BeschaffungszeitTage' => ['name' => 'BeschaffungszeitTage', 'type' => 'int', 'internal' => 'leadTimeDays'],
'_InfoVerkauf' => ['name' => '_InfoVerkauf', 'type' => 'string', 'internal' => 'infoSales'], '_InfoVerkauf' => ['name' => '_InfoVerkauf', 'type' => 'string', 'internal' => 'infoSales'],
'_InfoEinkauf' => ['name' => '_InfoEinkauf', 'type' => 'string', 'internal' => 'infoPurchase'], '_InfoEinkauf' => ['name' => '_InfoEinkauf', 'type' => 'string', 'internal' => 'infoPurchase'],
'_LagerInfo' => ['name' => '_LagerInfo', 'type' => 'string', 'internal' => 'infoWarehouse'], '_LagerInfo' => ['name' => '_LagerInfo', 'type' => 'string', 'internal' => 'infoWarehouse'],
'WebShop' => ['name' => 'WebShop', 'type' => 'int', 'internal' => 'inShop'], 'WebShop' => ['name' => 'WebShop', 'type' => 'int', 'internal' => 'inShop'],
'Artikelbezeichnung' => ['name' => 'Artikelbezeichnung', 'type' => 'string', 'internal' => 'name1'], 'Artikelbezeichnung' => ['name' => 'Artikelbezeichnung', 'type' => 'string', 'internal' => 'name1'],
'_Artikelbezeichnung2' => ['name' => '_Artikelbezeichnung2', 'type' => 'string', 'internal' => 'name2'], '_Artikelbezeichnung2' => ['name' => '_Artikelbezeichnung2', 'type' => 'string', 'internal' => 'name2'],
'_Englisch1' => ['name' => '_Englisch1', 'type' => 'string', 'internal' => 'name1Eng'], '_Englisch1' => ['name' => '_Englisch1', 'type' => 'string', 'internal' => 'name1Eng'],
'_Englisch2' => ['name' => '_Englisch2', 'type' => 'string', 'internal' => 'name2Eng'], '_Englisch2' => ['name' => '_Englisch2', 'type' => 'string', 'internal' => 'name2Eng'],
'EUWarengruppe' => ['name' => 'EUWarengruppe', 'type' => 'string', 'internal' => 'EUitemgroup'], 'EUWarengruppe' => ['name' => 'EUWarengruppe', 'type' => 'string', 'internal' => 'EUitemgroup'],
'zolltarifnr' => ['name' => 'zolltarifnr', 'type' => 'string', 'internal' => 'customsId'], 'zolltarifnr' => ['name' => 'zolltarifnr', 'type' => 'string', 'internal' => 'customsId'],
'_UNNummer' => ['name' => '_UNNummer', 'type' => 'string', 'internal' => 'unnumber'], '_UNNummer' => ['name' => '_UNNummer', 'type' => 'string', 'internal' => 'unnumber'],
'_Pruefabteilung' => ['name' => '_Pruefabteilung', 'type' => 'string', 'internal' => 'inspectionDepartment'], '_Pruefabteilung' => ['name' => '_Pruefabteilung', 'type' => 'string', 'internal' => 'inspectionDepartment'],
'_MedizinProduktklasse' => ['name' => '_MedizinProduktklasse', 'type' => 'string', 'internal' => 'medicinProductClass'], '_MedizinProduktklasse' => ['name' => '_MedizinProduktklasse', 'type' => 'string', 'internal' => 'medicinProductClass'],
'_Sparte' => ['name' => '_Sparte', 'type' => 'string', 'internal' => 'sectionGroup'], '_Sparte' => ['name' => '_Sparte', 'type' => 'string', 'internal' => 'sectionGroup'],
'_Umsatzgruppe' => ['name' => '_Umsatzgruppe', 'type' => 'string', 'internal' => 'salesGroup'], '_Umsatzgruppe' => ['name' => '_Umsatzgruppe', 'type' => 'string', 'internal' => 'salesGroup'],
'_Segment' => ['name' => '_Segment', 'type' => 'string', 'internal' => 'segment'], '_Segment' => ['name' => '_Segment', 'type' => 'string', 'internal' => 'segment'],
'_Produktgruppe' => ['name' => '_Produktgruppe', 'type' => 'int', 'internal' => 'productGroup'], '_Produktgruppe' => ['name' => '_Produktgruppe', 'type' => 'int', 'internal' => 'productGroup'],
'Erloeskennzeichen' => ['name' => 'Erloeskennzeichen', 'type' => 'string', 'internal' => 'earningsIndicator'], 'Erloeskennzeichen' => ['name' => 'Erloeskennzeichen', 'type' => 'string', 'internal' => 'earningsIndicator'],
'Kostenkennzeichen' => ['name' => 'Kostenkennzeichen', 'type' => 'string', 'internal' => 'costsIndicator'], 'Kostenkennzeichen' => ['name' => 'Kostenkennzeichen', 'type' => 'string', 'internal' => 'costsIndicator'],
'_GewichtWeissblech' => ['name' => '_GewichtWeissblech', 'type' => 'float', 'internal' => 'weightTinplate'], '_GewichtWeissblech' => ['name' => '_GewichtWeissblech', 'type' => 'float', 'internal' => 'weightTinplate'],
'_GewichtSonstigeVerbunde' => ['name' => '_GewichtSonstigeVerbunde', 'type' => 'float', 'internal' => 'weightOtherComposites'], '_GewichtSonstigeVerbunde' => ['name' => '_GewichtSonstigeVerbunde', 'type' => 'float', 'internal' => 'weightOtherComposites'],
'_GewichtSonstiges' => ['name' => '_GewichtSonstiges', 'type' => 'float', 'internal' => 'weightOther'], '_GewichtSonstiges' => ['name' => '_GewichtSonstiges', 'type' => 'float', 'internal' => 'weightOther'],
'_GewichtPET' => ['name' => '_GewichtPET', 'type' => 'float', 'internal' => 'weightPET'], '_GewichtPET' => ['name' => '_GewichtPET', 'type' => 'float', 'internal' => 'weightPET'],
'_GewichtPapier' => ['name' => '_GewichtPapier', 'type' => 'float', 'internal' => 'weightPaper'], '_GewichtPapier' => ['name' => '_GewichtPapier', 'type' => 'float', 'internal' => 'weightPaper'],
'_GewichtNaturmaterialien' => ['name' => '_GewichtNaturmaterialien', 'type' => 'float', 'internal' => 'weightNatureProducts'], '_GewichtNaturmaterialien' => ['name' => '_GewichtNaturmaterialien', 'type' => 'float', 'internal' => 'weightNatureProducts'],
'_GewichtKunststoff' => ['name' => '_GewichtKunststoff', 'type' => 'float', 'internal' => 'weightAcrylics'], '_GewichtKunststoff' => ['name' => '_GewichtKunststoff', 'type' => 'float', 'internal' => 'weightAcrylics'],
'_GewichtKartonverbunde' => ['name' => '_GewichtKartonverbunde', 'type' => 'float', 'internal' => 'weightCarton'], '_GewichtKartonverbunde' => ['name' => '_GewichtKartonverbunde', 'type' => 'float', 'internal' => 'weightCarton'],
'_GewichtGlas' => ['name' => '_GewichtGlas', 'type' => 'float', 'internal' => 'weightGlas'], '_GewichtGlas' => ['name' => '_GewichtGlas', 'type' => 'float', 'internal' => 'weightGlas'],
'_GewichtAluminium' => ['name' => '_GewichtAluminium', 'type' => 'float', 'internal' => 'weightAluminium'], '_GewichtAluminium' => ['name' => '_GewichtAluminium', 'type' => 'float', 'internal' => 'weightAluminium'],
'_GewichtBrutto' => ['name' => '_GewichtBrutto', 'type' => 'float', 'internal' => 'weightGross'], '_GewichtBrutto' => ['name' => '_GewichtBrutto', 'type' => 'float', 'internal' => 'weightGross'],
]; ];
/** /**

View File

@ -31,40 +31,60 @@ class GSDCustomer
* @since 1.0.0 * @since 1.0.0
*/ */
public int $id = 0; public int $id = 0;
public int $createdBy = 0; public int $createdBy = 0;
public \DateTimeImmutable $createdAt; public \DateTimeImmutable $createdAt;
public bool $isBlocked = false; public bool $isBlocked = false;
public bool $isDiscontinued = false; public bool $isDiscontinued = false;
public bool $isLocked = false; public bool $isLocked = false;
public string $number = ''; public string $number = '';
public string $customerType = ''; public string $customerType = '';
public GSDAddress $addr; public GSDAddress $addr;
public string $info = ''; public string $info = '';
public int $account = 0; public int $account = 0;
public int $materialAccount = 0; public int $materialAccount = 0;
public int $accountsReceivableAccount = 0; public int $accountsReceivableAccount = 0;
public string $earningsIndicator = ''; public string $earningsIndicator = '';
public float $creditlimit = 0.0; public float $creditlimit = 0.0;
public string $egustid = ''; public string $egustid = '';
public string $taxid = ''; public string $taxid = '';
public string $bic = ''; public string $bic = '';
public string $iban = ''; public string $iban = '';
public string $bankRef = ''; public string $bankRef = '';
public string $salesRep = ''; public string $salesRep = '';
public bool $isMonthlyInvoice = false; public bool $isMonthlyInvoice = false;
public bool $reminderBlock = false; public bool $reminderBlock = false;
public string $legalType = ''; public string $legalType = '';
public array $partner = []; public array $partner = [];
public array $paymentTerms = []; // @todo: implement model/mapper public array $paymentTerms = []; // @todo: implement model/mapper
public array $addresses = []; // @todo: implement
public array $prices = []; // @todo: implement
public array $addresses = []; // @todo: implement
public array $prices = []; // @todo: implement
/** /**
* Construct. * Construct.

View File

@ -33,36 +33,36 @@ final class GSDCustomerMapper extends DataMapperAbstract
* @since 1.0.0 * @since 1.0.0
*/ */
protected static array $columns = [ protected static array $columns = [
'row_id' => ['name' => 'row_id', 'type' => 'int', 'internal' => 'id'], 'row_id' => ['name' => 'row_id', 'type' => 'int', 'internal' => 'id'],
'row_create_time' => ['name' => 'row_create_time', 'type' => 'DateTimeImmutable', 'internal' => 'createdAt'], 'row_create_time' => ['name' => 'row_create_time', 'type' => 'DateTimeImmutable', 'internal' => 'createdAt'],
'row_create_user' => ['name' => 'row_create_user', 'type' => 'int', 'internal' => 'createdBy'], 'row_create_user' => ['name' => 'row_create_user', 'type' => 'int', 'internal' => 'createdBy'],
'Kundennummer' => ['name' => 'Kundennummer', 'type' => 'string', 'internal' => 'number'], 'Kundennummer' => ['name' => 'Kundennummer', 'type' => 'string', 'internal' => 'number'],
'Kundentyp' => ['name' => 'Kundentyp', 'type' => 'string', 'internal' => 'customerType'], 'Kundentyp' => ['name' => 'Kundentyp', 'type' => 'string', 'internal' => 'customerType'],
'Konto' => ['name' => 'Konto', 'type' => 'int', 'internal' => 'account'], 'Konto' => ['name' => 'Konto', 'type' => 'int', 'internal' => 'account'],
'_MatGuthabenKonto' => ['name' => '_MatGuthabenKonto', 'type' => 'int', 'internal' => 'materialAccount'], '_MatGuthabenKonto' => ['name' => '_MatGuthabenKonto', 'type' => 'int', 'internal' => 'materialAccount'],
'_Rechtsform' => ['name' => '_Rechtsform', 'type' => 'int', 'internal' => 'legalType'], '_Rechtsform' => ['name' => '_Rechtsform', 'type' => 'int', 'internal' => 'legalType'],
'Sammelkonto' => ['name' => 'Sammelkonto', 'type' => 'int', 'internal' => 'accountsReceivableAccount'], 'Sammelkonto' => ['name' => 'Sammelkonto', 'type' => 'int', 'internal' => 'accountsReceivableAccount'],
'Erloeskennzeichen' => ['name' => 'Erloeskennzeichen', 'type' => 'string', 'internal' => 'earningsIndicator'], 'Erloeskennzeichen' => ['name' => 'Erloeskennzeichen', 'type' => 'string', 'internal' => 'earningsIndicator'],
'Info' => ['name' => 'Info', 'type' => 'string', 'internal' => 'info'], 'Info' => ['name' => 'Info', 'type' => 'string', 'internal' => 'info'],
'KreditLimitintern' => ['name' => 'KreditLimitintern', 'type' => 'float', 'internal' => 'creditlimit'], 'KreditLimitintern' => ['name' => 'KreditLimitintern', 'type' => 'float', 'internal' => 'creditlimit'],
'EGUstId' => ['name' => 'EGUstId', 'type' => 'string', 'internal' => 'egustid'], 'EGUstId' => ['name' => 'EGUstId', 'type' => 'string', 'internal' => 'egustid'],
'Steuernummer' => ['name' => 'Steuernummer', 'type' => 'string', 'internal' => 'taxid'], 'Steuernummer' => ['name' => 'Steuernummer', 'type' => 'string', 'internal' => 'taxid'],
'BIC' => ['name' => 'BIC', 'type' => 'string', 'internal' => 'bic'], 'BIC' => ['name' => 'BIC', 'type' => 'string', 'internal' => 'bic'],
'IBAN' => ['name' => 'IBAN', 'type' => 'string', 'internal' => 'iban'], 'IBAN' => ['name' => 'IBAN', 'type' => 'string', 'internal' => 'iban'],
'MandatsRef' => ['name' => 'MandatsRef', 'type' => 'string', 'internal' => 'bankRef'], 'MandatsRef' => ['name' => 'MandatsRef', 'type' => 'string', 'internal' => 'bankRef'],
'Verkaeufer' => ['name' => 'Verkaeufer', 'type' => 'string', 'internal' => 'salesRep'], 'Verkaeufer' => ['name' => 'Verkaeufer', 'type' => 'string', 'internal' => 'salesRep'],
'AdressId' => ['name' => 'AdressId', 'type' => 'int', 'internal' => 'addr'], 'AdressId' => ['name' => 'AdressId', 'type' => 'int', 'internal' => 'addr'],
'Auftragssperre' => ['name' => 'Auftragssperre', 'type' => 'bool', 'internal' => 'isLocked'], 'Auftragssperre' => ['name' => 'Auftragssperre', 'type' => 'bool', 'internal' => 'isLocked'],
'_Papierkorb' => ['name' => '_Papierkorb', 'type' => 'bool', 'internal' => 'isBlocked'], '_Papierkorb' => ['name' => '_Papierkorb', 'type' => 'bool', 'internal' => 'isBlocked'],
'Auslauf' => ['name' => 'Auslauf', 'type' => 'bool', 'internal' => 'isDiscontinued'], 'Auslauf' => ['name' => 'Auslauf', 'type' => 'bool', 'internal' => 'isDiscontinued'],
'Mahnsperre' => ['name' => 'Mahnsperre', 'type' => 'bool', 'internal' => 'reminderBlock'], 'Mahnsperre' => ['name' => 'Mahnsperre', 'type' => 'bool', 'internal' => 'reminderBlock'],
'Sammelrechnung' => ['name' => 'Sammelrechnung', 'type' => 'bool', 'internal' => 'isMonthlyInvoice'], 'Sammelrechnung' => ['name' => 'Sammelrechnung', 'type' => 'bool', 'internal' => 'isMonthlyInvoice'],
'_Partnernummer1' => ['name' => '_Partnernummer1', 'type' => 'string', 'internal' => 'partner/1'], '_Partnernummer1' => ['name' => '_Partnernummer1', 'type' => 'string', 'internal' => 'partner/1'],
'_Partnernummer2' => ['name' => '_Partnernummer2', 'type' => 'string', 'internal' => 'partner/2'], '_Partnernummer2' => ['name' => '_Partnernummer2', 'type' => 'string', 'internal' => 'partner/2'],
'_Partnernummer3' => ['name' => '_Partnernummer3', 'type' => 'string', 'internal' => 'partner/3'], '_Partnernummer3' => ['name' => '_Partnernummer3', 'type' => 'string', 'internal' => 'partner/3'],
'_Partnernummer4' => ['name' => '_Partnernummer4', 'type' => 'string', 'internal' => 'partner/4'], '_Partnernummer4' => ['name' => '_Partnernummer4', 'type' => 'string', 'internal' => 'partner/4'],
'_Partnernummer5' => ['name' => '_Partnernummer5', 'type' => 'string', 'internal' => 'partner/5'], '_Partnernummer5' => ['name' => '_Partnernummer5', 'type' => 'string', 'internal' => 'partner/5'],
'_Partnernummer6' => ['name' => '_Partnernummer6', 'type' => 'string', 'internal' => 'partner/6'], '_Partnernummer6' => ['name' => '_Partnernummer6', 'type' => 'string', 'internal' => 'partner/6'],
]; ];
protected static array $ownsOne = [ protected static array $ownsOne = [

View File

@ -24,16 +24,24 @@ namespace Modules\Exchange\Interfaces\GSD\Model;
*/ */
class GSDSupplier class GSDSupplier
{ {
public int $id = 0; public int $id = 0;
public $createdBy = 0; public $createdBy = 0;
public \DateTimeImmutable $createdAt; public \DateTimeImmutable $createdAt;
public string $number = ''; public string $number = '';
public string $info = ''; public string $info = '';
public string $taxid = ''; public string $taxid = '';
public string $bic = ''; public string $bic = '';
public string $iban = ''; public string $iban = '';
public GSDAddress $addr; public GSDAddress $addr;
public int $deliveryStatus = 0; public int $deliveryStatus = 0;
/** /**