From a91a083bfbfe43f7f067939b082a17384c0d16e8 Mon Sep 17 00:00:00 2001 From: Dennis Eichhorn Date: Fri, 12 Jan 2024 00:30:20 +0000 Subject: [PATCH] continue implementations --- Admin/Install/Coa/SKR03_DE_IFRS.json | 647 ++++++++++++++++++++++++ Admin/Installer.php | 10 +- Controller/BackendController.php | 11 + Models/BalanceElementMapper.php | 16 + Theme/Backend/balance-dashboard.tpl.php | 86 ++++ 5 files changed, 761 insertions(+), 9 deletions(-) create mode 100644 Admin/Install/Coa/SKR03_DE_IFRS.json diff --git a/Admin/Install/Coa/SKR03_DE_IFRS.json b/Admin/Install/Coa/SKR03_DE_IFRS.json new file mode 100644 index 0000000..2410994 --- /dev/null +++ b/Admin/Install/Coa/SKR03_DE_IFRS.json @@ -0,0 +1,647 @@ +[ + { + "name": "Assets", + "l11n": { + "en": "Assets", + "de": "Aktivseite" + }, + "account": [], + "type": "category", + "formula": "", + "style": "category", + "children": [ + { + "name": "A.A", + "l11n": { + "en": "Non-Current Assets", + "de": "" + }, + "account": [], + "type": "category", + "formula": "", + "style": "category", + "children": [ + { + "name": "A.A.I", + "l11n": { + "en": "Intangible Assets", + "de": "" + }, + "account": [], + "type": "category", + "formula": "", + "style": "category", + "children": [] + }, + { + "name": "A.A.II", + "l11n": { + "en": "Property, plant and equipment", + "de": "" + }, + "account": [], + "type": "category", + "formula": "", + "style": "category", + "children": [] + }, + { + "name": "A.A.III", + "l11n": { + "en": "Lease assets", + "de": "" + }, + "account": [], + "type": "category", + "formula": "", + "style": "category", + "children": [] + }, + { + "name": "A.A.IV", + "l11n": { + "en": "Investment property", + "de": "" + }, + "account": [], + "type": "category", + "formula": "", + "style": "category", + "children": [] + }, + { + "name": "A.A.V", + "l11n": { + "en": "Equity-accounted investments", + "de": "" + }, + "account": [], + "type": "category", + "formula": "", + "style": "category", + "children": [] + }, + { + "name": "A.A.VI", + "l11n": { + "en": "Other equity investments", + "de": "" + }, + "account": [], + "type": "category", + "formula": "", + "style": "category", + "children": [] + }, + { + "name": "A.A.VII", + "l11n": { + "en": "Financial services receivables", + "de": "" + }, + "account": [], + "type": "category", + "formula": "", + "style": "category", + "children": [] + }, + { + "name": "A.A.VIII", + "l11n": { + "en": "Other financial assets", + "de": "" + }, + "account": [], + "type": "category", + "formula": "", + "style": "category", + "children": [] + }, + { + "name": "A.A.IX", + "l11n": { + "en": "Other receivables", + "de": "" + }, + "account": [], + "type": "category", + "formula": "", + "style": "category", + "children": [] + }, + { + "name": "A.A.X", + "l11n": { + "en": "Tax receivables", + "de": "" + }, + "account": [], + "type": "category", + "formula": "", + "style": "category", + "children": [] + }, + { + "name": "A.A.XI", + "l11n": { + "en": "Deferred tax assets", + "de": "" + }, + "account": [], + "type": "category", + "formula": "", + "style": "category", + "children": [] + } + ] + }, + { + "name": "A.B", + "l11n": { + "en": "Current Assets", + "de": "Umlaufvermögen" + }, + "account": [], + "type": "category", + "formula": "", + "style": "category", + "children": [ + { + "name": "A.B.I", + "l11n": { + "en": "Inventories", + "de": "Vorräte" + }, + "account": [], + "type": "category", + "formula": "", + "style": "category", + "children": [ + { + "name": "A.B.I.1", + "l11n": { + "en": "Raw materials, consumables and supplies", + "de": "Roh-, Hilfs- und Betriebsstoffe" + }, + "account": [], + "type": "category", + "formula": "", + "style": "category", + "children": [] + }, + { + "name": "A.B.I.2", + "l11n": { + "en": "Work in progress", + "de": "unfertige Erzeugnisse, unfertige Leistungen" + }, + "account": [], + "type": "category", + "formula": "", + "style": "category", + "children": [] + }, + { + "name": "A.B.I.3", + "l11n": { + "en": "Finished goods and merchandise", + "de": "fertige Erzeugnisse und Waren" + }, + "account": [], + "type": "category", + "formula": "", + "style": "category", + "children": [] + }, + { + "name": "A.B.I.4", + "l11n": { + "en": "Advance payments made", + "de": "geleistete Anzahlungen" + }, + "account": [], + "type": "category", + "formula": "", + "style": "category", + "children": [] + } + ] + }, + { + "name": "A.B.II", + "l11n": { + "en": "Trade receivables ", + "de": "Forderungen und sonstige Vermögensgegenstände" + }, + "account": [], + "type": "category", + "formula": "", + "style": "category", + "children": [ + { + "name": "A.B.II.1", + "l11n": { + "en": "Trade receivables", + "de": "Forderungen aus Lieferungen und Leistungen" + }, + "account": [], + "type": "category", + "formula": "", + "style": "category", + "children": [] + }, + { + "name": "A.B.II.2", + "l11n": { + "en": "Receivables from affiliated companies", + "de": "Forderungen gegen verbundene Unternehmen" + }, + "account": [], + "type": "category", + "formula": "", + "style": "category", + "children": [] + }, + { + "name": "A.B.II.3", + "l11n": { + "en": "Receivables from other long-term investees and investors", + "de": "Forderungen gegen Unternehmen, mit denen ein Beteiligungsverhältnis besteht" + }, + "account": [], + "type": "category", + "formula": "", + "style": "category", + "children": [] + }, + { + "name": "A.B.II.4", + "l11n": { + "en": "Other assets or other liabilities", + "de": "sonstige Vermögensgegenstände" + }, + "account": [], + "type": "category", + "formula": "", + "style": "category", + "children": [] + } + ] + }, + { + "name": "A.B.III", + "l11n": { + "en": "Financial services receivables", + "de": "" + }, + "account": [], + "type": "category", + "formula": "", + "style": "category", + "children": [] + }, + { + "name": "A.B.IV", + "l11n": { + "en": "Other financial asset", + "de": "" + }, + "account": [], + "type": "category", + "formula": "", + "style": "category", + "children": [] + }, + { + "name": "A.B.V", + "l11n": { + "en": "Tax receivables", + "de": "" + }, + "account": [], + "type": "category", + "formula": "", + "style": "category", + "children": [] + }, + { + "name": "A.B.VI", + "l11n": { + "en": "Marketable securities and time deposits", + "de": "" + }, + "account": [], + "type": "category", + "formula": "", + "style": "category", + "children": [] + }, + { + "name": "A.B.VII", + "l11n": { + "en": "Cash and cash equivalents", + "de": "" + }, + "account": [], + "type": "category", + "formula": "", + "style": "category", + "children": [] + }, + { + "name": "A.B.VIII", + "l11n": { + "en": "Assets held for sale", + "de": "" + }, + "account": [], + "type": "category", + "formula": "", + "style": "category", + "children": [] + } + ] + } + ] + }, + { + "name": "Liabilities", + "l11n": { + "en": "Equity & Liabilities", + "de": "Passivseite" + }, + "account": [], + "type": "category", + "formula": "", + "style": "category", + "children": [ + { + "name": "P.A", + "l11n": { + "en": "Equity", + "de": "Eigenkapital" + }, + "account": [], + "type": "category", + "formula": "", + "style": "category", + "children": [ + { + "name": "P.A.I", + "l11n": { + "en": "Subscribed Capital", + "de": "Gezeichnetes Kapital" + }, + "account": [], + "type": "category", + "formula": "", + "style": "category", + "children": [] + }, + { + "name": "P.A.II", + "l11n": { + "en": "Capital Reserve", + "de": "Kapitalrücklage" + }, + "account": [], + "type": "category", + "formula": "", + "style": "category", + "children": [] + }, + { + "name": "P.A.III", + "l11n": { + "en": "Retained Earnings", + "de": "Gewinnrücklagen" + }, + "account": [], + "type": "category", + "formula": "", + "style": "category", + "children": [] + }, + { + "name": "P.A.IV", + "l11n": { + "en": "Other reserves", + "de": "" + }, + "account": [], + "type": "category", + "formula": "", + "style": "category", + "children": [] + } + ] + }, + { + "name": "P.B", + "l11n": { + "en": "Non-Current Liabilities", + "de": "" + }, + "account": [], + "type": "category", + "formula": "", + "style": "category", + "children": [ + { + "name": "P.B.I", + "l11n": { + "en": "Financial liabilities", + "de": "" + }, + "account": [], + "type": "category", + "formula": "", + "style": "category", + "children": [] + }, + { + "name": "P.B.II", + "l11n": { + "en": "Other financial liabilities", + "de": "" + }, + "account": [], + "type": "category", + "formula": "", + "style": "category", + "children": [] + }, + { + "name": "P.B.III", + "l11n": { + "en": "Other liabilities", + "de": "" + }, + "account": [], + "type": "category", + "formula": "", + "style": "category", + "children": [] + }, + { + "name": "P.B.IV", + "l11n": { + "en": "Deferred tax liabilities", + "de": "" + }, + "account": [], + "type": "category", + "formula": "", + "style": "category", + "children": [] + }, + { + "name": "P.B.V", + "l11n": { + "en": "Provisions for pensions", + "de": "n" + }, + "account": [], + "type": "category", + "formula": "", + "style": "category", + "children": [] + }, + { + "name": "P.B.VI", + "l11n": { + "en": "Provisions for taxes", + "de": "" + }, + "account": [], + "type": "category", + "formula": "", + "style": "category", + "children": [] + }, + { + "name": "P.B.VII", + "l11n": { + "en": "Other provisions", + "de": "sonstige Rückstellungen" + }, + "account": [], + "type": "category", + "formula": "", + "style": "category", + "children": [] + } + ] + }, + { + "name": "P.C", + "l11n": { + "en": "Current liabilities", + "de": "" + }, + "account": [], + "type": "category", + "formula": "", + "style": "category", + "children": [ + { + "name": "P.C.I", + "l11n": { + "en": "Financial liabilities", + "de": "" + }, + "account": [], + "type": "category", + "formula": "", + "style": "category", + "children": [] + }, + { + "name": "P.C.II", + "l11n": { + "en": "Trade payables", + "de": "" + }, + "account": [], + "type": "category", + "formula": "", + "style": "category", + "children": [] + }, + { + "name": "P.C.III", + "l11n": { + "en": "Tax payables", + "de": "" + }, + "account": [], + "type": "category", + "formula": "", + "style": "category", + "children": [] + }, + { + "name": "P.C.IV", + "l11n": { + "en": "Other financial liabilities ", + "de": "" + }, + "account": [], + "type": "category", + "formula": "", + "style": "category", + "children": [] + }, + { + "name": "P.C.V", + "l11n": { + "en": "Other liabilities", + "de": "" + }, + "account": [], + "type": "category", + "formula": "", + "style": "category", + "children": [] + }, + { + "name": "P.C.VI", + "l11n": { + "en": "Provisions for taxes", + "de": "" + }, + "account": [], + "type": "category", + "formula": "", + "style": "category", + "children": [] + }, + { + "name": "P.C.VII", + "l11n": { + "en": "Other provisions", + "de": "" + }, + "account": [], + "type": "category", + "formula": "", + "style": "category", + "children": [] + }, + { + "name": "P.C.VIII", + "l11n": { + "en": "Liabilities associated with assets held for sale ", + "de": "n" + }, + "account": [], + "type": "category", + "formula": "", + "style": "category", + "children": [] + } + ] + } + ] + } +] \ No newline at end of file diff --git a/Admin/Installer.php b/Admin/Installer.php index e1c1ab9..8d4d0c1 100644 --- a/Admin/Installer.php +++ b/Admin/Installer.php @@ -78,12 +78,8 @@ final class Installer extends InstallerAbstract $request->setData('code', \strtolower(\basename($file))); $request->setData('name', \strtr(\basename($file), '_', ' ')); - $responseData = $module->apiBalanceCreate($request, $response); - + $module->apiBalanceCreate($request, $response); $responseData = $response->getData(''); - if (!\is_array($responseData)) { - continue; - } $balance = \is_array($responseData['response']) ? $responseData['response'] @@ -121,11 +117,7 @@ final class Installer extends InstallerAbstract } $module->apiBalanceElementCreate($request, $response); - $responseData = $response->getData(''); - if (!\is_array($responseData)) { - continue; - } $balanceElement = \is_array($responseData['response']) ? $responseData['response'] diff --git a/Controller/BackendController.php b/Controller/BackendController.php index f22d0bc..d665c3d 100644 --- a/Controller/BackendController.php +++ b/Controller/BackendController.php @@ -14,7 +14,9 @@ declare(strict_types=1); namespace Modules\Balance\Controller; +use Modules\Balance\Models\BalanceElementMapper; use phpOMS\Contract\RenderableInterface; +use phpOMS\DataStorage\Database\Query\OrderType; use phpOMS\Message\RequestAbstract; use phpOMS\Message\ResponseAbstract; use phpOMS\Views\View; @@ -47,6 +49,15 @@ final class BackendController extends Controller $view->setTemplate('/Modules/Balance/Theme/Backend/balance-dashboard'); $view->data['nav'] = $this->app->moduleManager->get('Navigation')->createNavigationMid(1006501001, $request, $response); + $elements = BalanceElementMapper::getAll() + ->with('l11n') + ->where('balance', $request->getDataInt('balance') ?? 1) + ->where('l11n/language', $response->header->l11n->language) + ->sort('order', OrderType::ASC) + ->execute(); + + $view->data['elements'] = $elements; + return $view; } } diff --git a/Models/BalanceElementMapper.php b/Models/BalanceElementMapper.php index ecaee46..dd8e039 100644 --- a/Models/BalanceElementMapper.php +++ b/Models/BalanceElementMapper.php @@ -44,6 +44,22 @@ final class BalanceElementMapper extends DataMapperFactory 'balance_balance_element_balance' => ['name' => 'balance_balance_element_balance', 'type' => 'int', 'internal' => 'balance'], ]; + /** + * Has many relation. + * + * @var array + * @since 1.0.0 + */ + public const HAS_MANY = [ + 'l11n' => [ + 'mapper' => BalanceElementL11nMapper::class, + 'table' => 'balance_balance_element_l11n', + 'self' => 'balance_balance_element_l11n_element', + 'column' => 'content', + 'external' => null, + ] + ]; + /** * Primary table. * diff --git a/Theme/Backend/balance-dashboard.tpl.php b/Theme/Backend/balance-dashboard.tpl.php index 6894c67..f9f11f8 100644 --- a/Theme/Backend/balance-dashboard.tpl.php +++ b/Theme/Backend/balance-dashboard.tpl.php @@ -13,3 +13,89 @@ declare(strict_types=1); echo $this->data['nav']->render(); +?> +
+
+
+
+
+
Category
+
1
+
2
+
3
+
4
+
5
+
6
+
7
+
8
+
9
+
10
+
11
+
12
+
1
+
2
+
3
+
4
+
5
+
6
+
7
+
8
+
9
+
10
+
11
+
12
+
12
+
12
+
Diff %
+
Diff USD
+
+
+
+
+ +data['elements'] as $element) : + if ($element->parent !== null) { + continue; + } +?> +
+
+
+
+
printHtml($element->getL11n()); ?>
+
+0.00%
+
+0.00%
+
+0.00%
+
+0.00%
+
+0.00%
+
+0.00%
+
+0.00%
+
+0.00%
+
+0.00%
+
+0.00%
+
+0.00%
+
+0.00%
+
+0.00%
+
+0.00%
+
+0.00%
+
+0.00%
+
+0.00%
+
+0.00%
+
+0.00%
+
+0.00%
+
+0.00%
+
+0.00%
+
+0.00%
+
+0.00%
+
+0.00%
+
+0.00%
+
+0.00%
+
+0.00%
+
+ + + +
+
+