continue implementations

This commit is contained in:
Dennis Eichhorn 2024-01-12 00:30:20 +00:00
parent 234858c204
commit a91a083bfb
5 changed files with 761 additions and 9 deletions

View File

@ -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": []
}
]
}
]
}
]

View File

@ -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']

View File

@ -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;
}
}

View File

@ -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<string, array{mapper:class-string, table:string, self?:?string, external?:?string, column?:string}>
* @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.
*

View File

@ -13,3 +13,89 @@
declare(strict_types=1);
echo $this->data['nav']->render();
?>
<div class="row" style="font-size: 0.8rem;">
<div class="col-xs-12">
<div style="background: #ff00ff99;">
<div style="display: flex; flex-direction: row; align-items: center;">
<div style="flex: 1; text-align: center;"></div>
<div style="box-sizing: border-box; width: 150px; text-align: center;">Category</div>
<div style="flex: 1; text-align: center;">1</div>
<div style="flex: 1; text-align: center;">2</div>
<div style="flex: 1; text-align: center;">3</div>
<div style="flex: 1; text-align: center;">4</div>
<div style="flex: 1; text-align: center;">5</div>
<div style="flex: 1; text-align: center;">6</div>
<div style="flex: 1; text-align: center;">7</div>
<div style="flex: 1; text-align: center;">8</div>
<div style="flex: 1; text-align: center;">9</div>
<div style="flex: 1; text-align: center;">10</div>
<div style="flex: 1; text-align: center;">11</div>
<div style="flex: 1; text-align: center;">12</div>
<div style="flex: 1; text-align: center;">1</div>
<div style="flex: 1; text-align: center;">2</div>
<div style="flex: 1; text-align: center;">3</div>
<div style="flex: 1; text-align: center;">4</div>
<div style="flex: 1; text-align: center;">5</div>
<div style="flex: 1; text-align: center;">6</div>
<div style="flex: 1; text-align: center;">7</div>
<div style="flex: 1; text-align: center;">8</div>
<div style="flex: 1; text-align: center;">9</div>
<div style="flex: 1; text-align: center;">10</div>
<div style="flex: 1; text-align: center;">11</div>
<div style="flex: 1; text-align: center;">12</div>
<div style="flex: 1; text-align: center;">12</div>
<div style="flex: 1; text-align: center;">12</div>
<div style="flex: 1; text-align: center;">Diff %</div>
<div style="flex: 1; text-align: center;">Diff USD</div>
</div>
</div>
</div>
</div>
<?php
foreach ($this->data['elements'] as $element) :
if ($element->parent !== null) {
continue;
}
?>
<div class="row" style="font-size: 0.8rem;">
<div class="col-xs-12">
<div style="display: flex; flex-direction: row; align-items: center; background: #ff000099;">
<div style="flex: 1; padding: 1px;"><label for="iSegment1-expand" class="btn"><i class="g-icon">add_circle</i></label></div>
<div style="box-sizing: border-box; width: 120px; padding-left: 0px;"><?= $this->printHtml($element->getL11n()); ?></div>
<div style="flex: 1; padding: 1px;">+0.00%</div>
<div style="flex: 1; padding: 1px;">+0.00%</div>
<div style="flex: 1; padding: 1px;">+0.00%</div>
<div style="flex: 1; padding: 1px;">+0.00%</div>
<div style="flex: 1; padding: 1px;">+0.00%</div>
<div style="flex: 1; padding: 1px;">+0.00%</div>
<div style="flex: 1; padding: 1px;">+0.00%</div>
<div style="flex: 1; padding: 1px;">+0.00%</div>
<div style="flex: 1; padding: 1px;">+0.00%</div>
<div style="flex: 1; padding: 1px;">+0.00%</div>
<div style="flex: 1; padding: 1px;">+0.00%</div>
<div style="flex: 1; padding: 1px;">+0.00%</div>
<div style="flex: 1; padding: 1px;">+0.00%</div>
<div style="flex: 1; padding: 1px;">+0.00%</div>
<div style="flex: 1; padding: 1px;">+0.00%</div>
<div style="flex: 1; padding: 1px;">+0.00%</div>
<div style="flex: 1; padding: 1px;">+0.00%</div>
<div style="flex: 1; padding: 1px;">+0.00%</div>
<div style="flex: 1; padding: 1px;">+0.00%</div>
<div style="flex: 1; padding: 1px;">+0.00%</div>
<div style="flex: 1; padding: 1px;">+0.00%</div>
<div style="flex: 1; padding: 1px;">+0.00%</div>
<div style="flex: 1; padding: 1px;">+0.00%</div>
<div style="flex: 1; padding: 1px;">+0.00%</div>
<div style="flex: 1; padding: 1px;">+0.00%</div>
<div style="flex: 1; padding: 1px;">+0.00%</div>
<div style="flex: 1; padding: 1px;">+0.00%</div>
<div style="flex: 1; padding: 1px;">+0.00%</div>
</div>
<!-- Input here -->
<!-- Child here -->
</div>
</div>
<?php endforeach; ?>