Skip to content
Code-Schnipsel Gruppen Projekte
Commit 16e4b62a erstellt von Patrick Müller's avatar Patrick Müller
Dateien durchsuchen

refactor: REST API -> use product list to calculate articles

Übergeordneter 382fac4d
Keine zugehörigen Branchen gefunden
Keine zugehörigen Tags gefunden
Keine zugehörigen Merge Requests gefunden
......@@ -249,29 +249,40 @@ public function createInvoice(RequestInterface $Request, ResponseInterface $Resp
$InvoiceDraft->setAttribute('additional_invoice_text', $invoiceText);
}
// Articles
// Articles - Existing products
$ProductList = new QUI\ERP\Products\Product\ProductList();
$ProductList->setUser($InvoiceDraft->getCustomer());
foreach ($invoiceData['articles'] as $article) {
$Article = null;
if (empty($article['quiqqerProductId'])) {
continue;
}
if (!empty($article['quiqqerProductId'])) {
try {
$Product = QUI\ERP\Products\Handler\Products::getProduct((int)$article['quiqqerProductId']);
$UniqueProduct = $Product->createUniqueProduct($InvoiceDraft->getCustomer());
$UniqueProduct->setQuantity((float)$article['quantity']);
try {
$Product = QUI\ERP\Products\Handler\Products::getProduct((int)$article['quiqqerProductId']);
$UniqueProduct->recalculation();
$UniqueProduct = $Product->createUniqueProduct($InvoiceDraft->getCustomer());
$UniqueProduct->setQuantity((float)$article['quantity']);
$Article = $UniqueProduct->toArticle(null, false);
} catch (\Exception $Exception) {
QUI\System\Log::writeException($Exception);
}
$ProductList->addProduct($UniqueProduct);
} catch (\Exception $Exception) {
QUI\System\Log::writeException($Exception);
}
}
$ProductList->recalculate();
if (!$Article) {
$Article = new QUI\ERP\Accounting\Article($article);
foreach ($ProductList->getProducts() as $Product) {
$InvoiceDraft->addArticle($Product->toArticle());
}
// Articles - Custom
foreach ($invoiceData['articles'] as $article) {
if (!empty($article['quiqqerProductId'])) {
continue;
}
$Article->calc();
$Article = new QUI\ERP\Accounting\Article($article);
$InvoiceDraft->addArticle($Article);
}
......
0% Lade oder .
You are about to add 0 people to the discussion. Proceed with caution.
Bearbeitung dieser Nachricht zuerst beenden!
Bitte registrieren oder zum Kommentieren