mirror of
https://github.com/Karaka-Management/oms-Balance.git
synced 2026-01-11 15:18:41 +00:00
update
This commit is contained in:
parent
c542a84dc8
commit
234858c204
810
Admin/Install/Coa/SKR03_DE_GAAP.json
Normal file
810
Admin/Install/Coa/SKR03_DE_GAAP.json
Normal file
|
|
@ -0,0 +1,810 @@
|
|||
[
|
||||
{
|
||||
"name": "Assets",
|
||||
"l11n": {
|
||||
"en": "Assets",
|
||||
"de": "Aktivseite"
|
||||
},
|
||||
"account": [],
|
||||
"type": "category",
|
||||
"formula": "",
|
||||
"style": "category",
|
||||
"children": [
|
||||
{
|
||||
"name": "A.A",
|
||||
"l11n": {
|
||||
"en": "Capital Assets",
|
||||
"de": "Anlagevermögen"
|
||||
},
|
||||
"account": [],
|
||||
"type": "category",
|
||||
"formula": "",
|
||||
"style": "category",
|
||||
"children": [
|
||||
{
|
||||
"name": "A.A.I",
|
||||
"l11n": {
|
||||
"en": "Intangible Assets",
|
||||
"de": "Immaterielle Vermögensgegenständ"
|
||||
},
|
||||
"account": [],
|
||||
"type": "category",
|
||||
"formula": "",
|
||||
"style": "category",
|
||||
"children": [
|
||||
{
|
||||
"name": "A.A.I.1",
|
||||
"l11n": {
|
||||
"en": "Self-determined trademarks and similar rights and values",
|
||||
"de": "Selbst geschaffene gewerbliche Schutzrechte und ähnliche Rechte und Werte"
|
||||
},
|
||||
"account": [],
|
||||
"type": "category",
|
||||
"formula": "",
|
||||
"style": "category",
|
||||
"children": []
|
||||
},
|
||||
{
|
||||
"name": "A.A.I.2",
|
||||
"l11n": {
|
||||
"en": "Purchased licenses, trademarks and similar rights and values as well as licenses to such rights and values",
|
||||
"de": "entgeltlich erworbene Konzessionen, gewerbliche Schutzrechte und ähnliche Rechte und Werte sowie Lizenzen an solchen Rechten und Werten"
|
||||
},
|
||||
"account": [],
|
||||
"type": "category",
|
||||
"formula": "",
|
||||
"style": "category",
|
||||
"children": []
|
||||
},
|
||||
{
|
||||
"name": "A.A.I.3",
|
||||
"l11n": {
|
||||
"en": "Goodwill",
|
||||
"de": "Geschäfts- oder Firmenwert"
|
||||
},
|
||||
"account": [],
|
||||
"type": "category",
|
||||
"formula": "",
|
||||
"style": "category",
|
||||
"children": []
|
||||
},
|
||||
{
|
||||
"name": "A.A.I.4",
|
||||
"l11n": {
|
||||
"en": "Advance payments made",
|
||||
"de": "geleistete Anzahlungen"
|
||||
},
|
||||
"account": [],
|
||||
"type": "category",
|
||||
"formula": "",
|
||||
"style": "category",
|
||||
"children": []
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "A.A.II",
|
||||
"l11n": {
|
||||
"en": "Tangible Assets",
|
||||
"de": "Sachanlagen"
|
||||
},
|
||||
"account": [],
|
||||
"type": "category",
|
||||
"formula": "",
|
||||
"style": "category",
|
||||
"children": [
|
||||
{
|
||||
"name": "A.A.II.1",
|
||||
"l11n": {
|
||||
"en": "Properties, rights equivalent to real property and buildings, including buildings on third-party land",
|
||||
"de": "Grundstücke, grundstücksgleiche Rechte und Bauten einschließlich der Bauten auf fremden Grundstücken"
|
||||
},
|
||||
"account": [],
|
||||
"type": "category",
|
||||
"formula": "",
|
||||
"style": "category",
|
||||
"children": []
|
||||
},
|
||||
{
|
||||
"name": "A.A.II.2",
|
||||
"l11n": {
|
||||
"en": "Technical equipment and machinery",
|
||||
"de": "technische Anlagen und Maschinen"
|
||||
},
|
||||
"account": [],
|
||||
"type": "category",
|
||||
"formula": "",
|
||||
"style": "category",
|
||||
"children": []
|
||||
},
|
||||
{
|
||||
"name": "A.A.II.3",
|
||||
"l11n": {
|
||||
"en": "Other equipment, operating and office equipment",
|
||||
"de": "andere Anlagen, Betriebs- und Geschäftsausstattung"
|
||||
},
|
||||
"account": [],
|
||||
"type": "category",
|
||||
"formula": "",
|
||||
"style": "category",
|
||||
"children": []
|
||||
},
|
||||
{
|
||||
"name": "A.A.II.4",
|
||||
"l11n": {
|
||||
"en": "Advance payments made and construction in progress",
|
||||
"de": "geleistete Anzahlungen und Anlagen im Bau"
|
||||
},
|
||||
"account": [],
|
||||
"type": "category",
|
||||
"formula": "",
|
||||
"style": "category",
|
||||
"children": []
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "A.A.III",
|
||||
"l11n": {
|
||||
"en": "Financial Assets",
|
||||
"de": "Finanzanlagen"
|
||||
},
|
||||
"account": [],
|
||||
"type": "category",
|
||||
"formula": "",
|
||||
"style": "category",
|
||||
"children": [
|
||||
{
|
||||
"name": "A.A.III.1",
|
||||
"l11n": {
|
||||
"en": "Shares in affiliated companies",
|
||||
"de": "Anteile an verbundenen Unternehmen"
|
||||
},
|
||||
"account": [],
|
||||
"type": "category",
|
||||
"formula": "",
|
||||
"style": "category",
|
||||
"children": []
|
||||
},
|
||||
{
|
||||
"name": "A.A.III.2",
|
||||
"l11n": {
|
||||
"en": "Loans to affiliated companies",
|
||||
"de": "Ausleihungen an verbundene Unternehmen"
|
||||
},
|
||||
"account": [],
|
||||
"type": "category",
|
||||
"formula": "",
|
||||
"style": "category",
|
||||
"children": []
|
||||
},
|
||||
{
|
||||
"name": "A.A.III.3",
|
||||
"l11n": {
|
||||
"en": "Other long-term equity investments",
|
||||
"de": "Beteiligungen"
|
||||
},
|
||||
"account": [],
|
||||
"type": "category",
|
||||
"formula": "",
|
||||
"style": "category",
|
||||
"children": []
|
||||
},
|
||||
{
|
||||
"name": "A.A.III.4",
|
||||
"l11n": {
|
||||
"en": "Loans to other long-term investees and investors",
|
||||
"de": "Ausleihungen an Unternehmen, mit denen ein Beteiligungsverhältnis besteht"
|
||||
},
|
||||
"account": [],
|
||||
"type": "category",
|
||||
"formula": "",
|
||||
"style": "category",
|
||||
"children": []
|
||||
},
|
||||
{
|
||||
"name": "A.A.III.5",
|
||||
"l11n": {
|
||||
"en": "Long-term securities",
|
||||
"de": "Wertpapiere des Anlagevermögens"
|
||||
},
|
||||
"account": [],
|
||||
"type": "category",
|
||||
"formula": "",
|
||||
"style": "category",
|
||||
"children": []
|
||||
},
|
||||
{
|
||||
"name": "A.A.III.6",
|
||||
"l11n": {
|
||||
"en": "Other loans",
|
||||
"de": "sonstige Ausleihungen"
|
||||
},
|
||||
"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": "Accounts Receivables and other Payables",
|
||||
"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": "Securities",
|
||||
"de": "Wertpapiere"
|
||||
},
|
||||
"account": [],
|
||||
"type": "category",
|
||||
"formula": "",
|
||||
"style": "category",
|
||||
"children": [
|
||||
{
|
||||
"name": "A.B.III.1",
|
||||
"l11n": {
|
||||
"en": "Shares in affiliated companies",
|
||||
"de": "Anteile an verbundenen Unternehmen"
|
||||
},
|
||||
"account": [],
|
||||
"type": "category",
|
||||
"formula": "",
|
||||
"style": "category",
|
||||
"children": []
|
||||
},
|
||||
{
|
||||
"name": "A.B.III.2",
|
||||
"l11n": {
|
||||
"en": "Other securities",
|
||||
"de": "sonstige Wertpapiere"
|
||||
},
|
||||
"account": [],
|
||||
"type": "category",
|
||||
"formula": "",
|
||||
"style": "category",
|
||||
"children": []
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "A.B.IV",
|
||||
"l11n": {
|
||||
"en": "Cash Assets",
|
||||
"de": "Kassenbestand, Bundesbankguthaben, Guthaben bei Kreditinstituten und Schecks"
|
||||
},
|
||||
"account": [],
|
||||
"type": "category",
|
||||
"formula": "",
|
||||
"style": "category",
|
||||
"children": []
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "A.C",
|
||||
"l11n": {
|
||||
"en": "Accrual",
|
||||
"de": "Rechnungsabgrenzungsposten"
|
||||
},
|
||||
"account": [],
|
||||
"type": "category",
|
||||
"formula": "",
|
||||
"style": "category",
|
||||
"children": []
|
||||
},
|
||||
{
|
||||
"name": "A.D",
|
||||
"l11n": {
|
||||
"en": "Deferred tax assets",
|
||||
"de": "Aktive latente Steuern"
|
||||
},
|
||||
"account": [],
|
||||
"type": "category",
|
||||
"formula": "",
|
||||
"style": "category",
|
||||
"children": []
|
||||
},
|
||||
{
|
||||
"name": "A.E",
|
||||
"l11n": {
|
||||
"en": "Difference",
|
||||
"de": "Aktiver Unterschiedsbetrag aus der Vermögensverrechnung"
|
||||
},
|
||||
"account": [],
|
||||
"type": "category",
|
||||
"formula": "",
|
||||
"style": "category",
|
||||
"children": []
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Liabilities",
|
||||
"l11n": {
|
||||
"en": "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.III.1",
|
||||
"l11n": {
|
||||
"en": "Mandatory reserve",
|
||||
"de": "gesetzliche Rücklage"
|
||||
},
|
||||
"account": [],
|
||||
"type": "category",
|
||||
"formula": "",
|
||||
"style": "category",
|
||||
"children": []
|
||||
},
|
||||
{
|
||||
"name": "P.A.III.2",
|
||||
"l11n": {
|
||||
"en": "Reserve for shares in a parent or majority investor",
|
||||
"de": "Rücklage für Anteile an einem herrschenden oder mehrheitlich beteiligten Unternehmen"
|
||||
},
|
||||
"account": [],
|
||||
"type": "category",
|
||||
"formula": "",
|
||||
"style": "category",
|
||||
"children": []
|
||||
},
|
||||
{
|
||||
"name": "P.A.III.3",
|
||||
"l11n": {
|
||||
"en": "Reserves provided for by the article of association",
|
||||
"de": "satzungsmäßige Rücklagen"
|
||||
},
|
||||
"account": [],
|
||||
"type": "category",
|
||||
"formula": "",
|
||||
"style": "category",
|
||||
"children": []
|
||||
},
|
||||
{
|
||||
"name": "P.A.III.4",
|
||||
"l11n": {
|
||||
"en": "Other retained earnings",
|
||||
"de": "andere Gewinnrücklagen"
|
||||
},
|
||||
"account": [],
|
||||
"type": "category",
|
||||
"formula": "",
|
||||
"style": "category",
|
||||
"children": []
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "P.A.IV",
|
||||
"l11n": {
|
||||
"en": "Earnings carryover/Loss carryover",
|
||||
"de": "Gewinnvortrag/Verlustvortrag"
|
||||
},
|
||||
"account": [],
|
||||
"type": "category",
|
||||
"formula": "",
|
||||
"style": "category",
|
||||
"children": []
|
||||
},
|
||||
{
|
||||
"name": "P.A.V",
|
||||
"l11n": {
|
||||
"en": "Annual Net Profit/Annual Net Deficit",
|
||||
"de": "Jahresüberschuss/Jahresfehlbetrag"
|
||||
},
|
||||
"account": [],
|
||||
"type": "category",
|
||||
"formula": "",
|
||||
"style": "category",
|
||||
"children": []
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "P.B",
|
||||
"l11n": {
|
||||
"en": "Provisions",
|
||||
"de": "Rückstellungen"
|
||||
},
|
||||
"account": [],
|
||||
"type": "category",
|
||||
"formula": "",
|
||||
"style": "category",
|
||||
"children": [
|
||||
{
|
||||
"name": "P.B.1",
|
||||
"l11n": {
|
||||
"en": "Provisions for pensions and similar obligations",
|
||||
"de": "Rückstellungen für Pensionen und ähnliche Verpflichtungen"
|
||||
},
|
||||
"account": [],
|
||||
"type": "category",
|
||||
"formula": "",
|
||||
"style": "category",
|
||||
"children": []
|
||||
},
|
||||
{
|
||||
"name": "P.B.2",
|
||||
"l11n": {
|
||||
"en": "Provisions for taxes",
|
||||
"de": "Steuerrückstellungen"
|
||||
},
|
||||
"account": [],
|
||||
"type": "category",
|
||||
"formula": "",
|
||||
"style": "category",
|
||||
"children": []
|
||||
},
|
||||
{
|
||||
"name": "P.B.3",
|
||||
"l11n": {
|
||||
"en": "Other provisions",
|
||||
"de": "sonstige Rückstellungen"
|
||||
},
|
||||
"account": [],
|
||||
"type": "category",
|
||||
"formula": "",
|
||||
"style": "category",
|
||||
"children": []
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "P.C",
|
||||
"l11n": {
|
||||
"en": "Liabilities",
|
||||
"de": "Verbindlichkeiten"
|
||||
},
|
||||
"account": [],
|
||||
"type": "category",
|
||||
"formula": "",
|
||||
"style": "category",
|
||||
"children": [
|
||||
{
|
||||
"name": "P.C.1",
|
||||
"l11n": {
|
||||
"en": "Bonds",
|
||||
"de": "Anleihen"
|
||||
},
|
||||
"account": [],
|
||||
"type": "category",
|
||||
"formula": "",
|
||||
"style": "category",
|
||||
"children": [
|
||||
{
|
||||
"name": "P.C.1.a",
|
||||
"l11n": {
|
||||
"en": "thereof convertible",
|
||||
"de": "davon konvertibel"
|
||||
},
|
||||
"account": [],
|
||||
"type": "category",
|
||||
"formula": "",
|
||||
"style": "category",
|
||||
"children": []
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "P.C.2",
|
||||
"l11n": {
|
||||
"en": "Liabilities to financial institutions",
|
||||
"de": "Verbindlichkeiten gegenüber Kreditinstituten"
|
||||
},
|
||||
"account": [],
|
||||
"type": "category",
|
||||
"formula": "",
|
||||
"style": "category",
|
||||
"children": []
|
||||
},
|
||||
{
|
||||
"name": "P.C.3",
|
||||
"l11n": {
|
||||
"en": "Advance payments received on orders",
|
||||
"de": "erhaltene Anzahlungen auf Bestellungen"
|
||||
},
|
||||
"account": [],
|
||||
"type": "category",
|
||||
"formula": "",
|
||||
"style": "category",
|
||||
"children": []
|
||||
},
|
||||
{
|
||||
"name": "P.C.4",
|
||||
"l11n": {
|
||||
"en": "Trade payables",
|
||||
"de": "Verbindlichkeiten aus Lieferungen und Leistungen"
|
||||
},
|
||||
"account": [],
|
||||
"type": "category",
|
||||
"formula": "",
|
||||
"style": "category",
|
||||
"children": []
|
||||
},
|
||||
{
|
||||
"name": "P.C.5",
|
||||
"l11n": {
|
||||
"en": "Liabilities on bills accepted and drawn",
|
||||
"de": "Verbindlichkeiten aus der Annahme gezogener Wechsel und der Ausstellung eigener Wechsel"
|
||||
},
|
||||
"account": [],
|
||||
"type": "category",
|
||||
"formula": "",
|
||||
"style": "category",
|
||||
"children": []
|
||||
},
|
||||
{
|
||||
"name": "P.C.6",
|
||||
"l11n": {
|
||||
"en": "Liabilities to affiliated companies",
|
||||
"de": "Verbindlichkeiten gegenüber verbundenen Unternehmen"
|
||||
},
|
||||
"account": [],
|
||||
"type": "category",
|
||||
"formula": "",
|
||||
"style": "category",
|
||||
"children": []
|
||||
},
|
||||
{
|
||||
"name": "P.C.7",
|
||||
"l11n": {
|
||||
"en": "Liabilities to companies invested in",
|
||||
"de": "Verbindlichkeiten gegenüber Unternehmen, mit denen ein Beteiligungsverhältnis besteht"
|
||||
},
|
||||
"account": [],
|
||||
"type": "category",
|
||||
"formula": "",
|
||||
"style": "category",
|
||||
"children": []
|
||||
},
|
||||
{
|
||||
"name": "P.C.8",
|
||||
"l11n": {
|
||||
"en": "Other liabilities",
|
||||
"de": "sonstige Verbindlichkeiten"
|
||||
},
|
||||
"account": [],
|
||||
"type": "category",
|
||||
"formula": "",
|
||||
"style": "category",
|
||||
"children": [
|
||||
{
|
||||
"name": "P.C.8.a",
|
||||
"l11n": {
|
||||
"en": "thereof from taxes",
|
||||
"de": "davon aus Steuern"
|
||||
},
|
||||
"account": [],
|
||||
"type": "category",
|
||||
"formula": "",
|
||||
"style": "category",
|
||||
"children": []
|
||||
},
|
||||
{
|
||||
"name": "P.C.8.b",
|
||||
"l11n": {
|
||||
"en": "thereof social security liabilities",
|
||||
"de": "davon im Rahmen der sozialen Sicherheit"
|
||||
},
|
||||
"account": [],
|
||||
"type": "category",
|
||||
"formula": "",
|
||||
"style": "category",
|
||||
"children": []
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "P.D",
|
||||
"l11n": {
|
||||
"en": "Accrual",
|
||||
"de": "Rechnungsabgrenzungsposten"
|
||||
},
|
||||
"account": [],
|
||||
"type": "category",
|
||||
"formula": "",
|
||||
"style": "category",
|
||||
"children": []
|
||||
},
|
||||
{
|
||||
"name": "P.E",
|
||||
"l11n": {
|
||||
"en": "Deferred tax liabilities",
|
||||
"de": "Passive latente Steuern"
|
||||
},
|
||||
"account": [],
|
||||
"type": "category",
|
||||
"formula": "",
|
||||
"style": "category",
|
||||
"children": []
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
91
Admin/Install/db.json
Normal file
91
Admin/Install/db.json
Normal file
|
|
@ -0,0 +1,91 @@
|
|||
{
|
||||
"balance_balance": {
|
||||
"name": "balance_balance",
|
||||
"fields": {
|
||||
"balance_balance_id": {
|
||||
"name": "balance_balance_id",
|
||||
"type": "INT",
|
||||
"null": false,
|
||||
"primary": true,
|
||||
"autoincrement": true
|
||||
},
|
||||
"balance_balance_code": {
|
||||
"name": "balance_balance_code",
|
||||
"type": "VARCHAR(255)",
|
||||
"null": false
|
||||
},
|
||||
"balance_balance_name": {
|
||||
"name": "balance_balance_name",
|
||||
"type": "VARCHAR(255)",
|
||||
"null": false
|
||||
}
|
||||
}
|
||||
},
|
||||
"balance_balance_element": {
|
||||
"name": "balance_balance_element",
|
||||
"fields": {
|
||||
"balance_balance_element_id": {
|
||||
"name": "balance_balance_element_id",
|
||||
"type": "INT",
|
||||
"null": false,
|
||||
"primary": true,
|
||||
"autoincrement": true
|
||||
},
|
||||
"balance_balance_element_code": {
|
||||
"name": "balance_balance_element_code",
|
||||
"type": "VARCHAR(255)",
|
||||
"null": false
|
||||
},
|
||||
"balance_balance_element_order": {
|
||||
"name": "balance_balance_element_order",
|
||||
"type": "INT",
|
||||
"null": false
|
||||
},
|
||||
"balance_balance_element_parent": {
|
||||
"name": "balance_balance_element_parent",
|
||||
"type": "INT",
|
||||
"null": true,
|
||||
"foreignTable": "balance_balance_element",
|
||||
"foreignKey": "balance_balance_element_id"
|
||||
},
|
||||
"balance_balance_element_balance": {
|
||||
"name": "balance_balance_element_balance",
|
||||
"type": "INT",
|
||||
"null": false,
|
||||
"foreignTable": "balance_balance",
|
||||
"foreignKey": "balance_balance_id"
|
||||
}
|
||||
}
|
||||
},
|
||||
"balance_balance_element_l11n": {
|
||||
"name": "balance_balance_element_l11n",
|
||||
"fields": {
|
||||
"balance_balance_element_l11n_id": {
|
||||
"name": "balance_balance_element_l11n_id",
|
||||
"type": "INT",
|
||||
"null": false,
|
||||
"primary": true,
|
||||
"autoincrement": true
|
||||
},
|
||||
"balance_balance_element_l11n_title": {
|
||||
"name": "balance_balance_element_l11n_title",
|
||||
"type": "VARCHAR(255)",
|
||||
"null": false
|
||||
},
|
||||
"balance_balance_element_l11n_element": {
|
||||
"name": "balance_balance_element_l11n_element",
|
||||
"type": "INT(11)",
|
||||
"null": false,
|
||||
"foreignTable": "balance_balance_element",
|
||||
"foreignKey": "balance_balance_element_id"
|
||||
},
|
||||
"balance_balance_element_l11n_lang": {
|
||||
"name": "balance_balance_element_l11n_lang",
|
||||
"type": "VARCHAR(2)",
|
||||
"null": false,
|
||||
"foreignTable": "language",
|
||||
"foreignKey": "language_639_1"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -14,7 +14,14 @@ declare(strict_types=1);
|
|||
|
||||
namespace Modules\Balance\Admin;
|
||||
|
||||
use Modules\Balance\Controller\ApiController;
|
||||
use phpOMS\Application\ApplicationAbstract;
|
||||
use phpOMS\Config\SettingsInterface;
|
||||
use phpOMS\Message\Http\HttpRequest;
|
||||
use phpOMS\Message\Http\HttpResponse;
|
||||
use phpOMS\Module\InstallerAbstract;
|
||||
use phpOMS\Module\ModuleInfo;
|
||||
use phpOMS\Uri\HttpUri;
|
||||
|
||||
/**
|
||||
* Installer class.
|
||||
|
|
@ -33,4 +40,118 @@ final class Installer extends InstallerAbstract
|
|||
* @since 1.0.0
|
||||
*/
|
||||
public const PATH = __DIR__;
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
public static function install(ApplicationAbstract $app, ModuleInfo $info, SettingsInterface $cfgHandler) : void
|
||||
{
|
||||
parent::install($app, $info, $cfgHandler);
|
||||
|
||||
self::importStructures($app);
|
||||
}
|
||||
|
||||
/**
|
||||
* Import accounts
|
||||
*
|
||||
* @param ApplicationAbstract $app Application
|
||||
*
|
||||
* @return void
|
||||
*
|
||||
* @since 1.0.0
|
||||
*/
|
||||
private static function importStructures(ApplicationAbstract $app) : void
|
||||
{
|
||||
/** @var \Modules\Balance\Controller\ApiController $module */
|
||||
$module = $app->moduleManager->getModuleInstance('Balance', 'Api');
|
||||
|
||||
$structures = \scandir(__DIR__ . '/Install/Coa');
|
||||
foreach ($structures as $file) {
|
||||
if ($file === '..' || $file === '.') {
|
||||
continue;
|
||||
}
|
||||
|
||||
$response = new HttpResponse();
|
||||
$request = new HttpRequest(new HttpUri(''));
|
||||
|
||||
$request->header->account = 1;
|
||||
$request->setData('code', \strtolower(\basename($file)));
|
||||
$request->setData('name', \strtr(\basename($file), '_', ' '));
|
||||
|
||||
$responseData = $module->apiBalanceCreate($request, $response);
|
||||
|
||||
$responseData = $response->getData('');
|
||||
if (!\is_array($responseData)) {
|
||||
continue;
|
||||
}
|
||||
|
||||
$balance = \is_array($responseData['response'])
|
||||
? $responseData['response']
|
||||
: $responseData['response']->toArray();
|
||||
|
||||
$json = \json_decode(\file_get_contents(__DIR__ . '/Install/Coa/' . $file), true);
|
||||
|
||||
foreach ($json as $element) {
|
||||
self::createElement($module, [$element], (int) $balance['id'], null);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private static function createElement(ApiController $module, array $elements, int $structure, int $parent = null)
|
||||
{
|
||||
$order = 0;
|
||||
foreach ($elements as $element) {
|
||||
++$order;
|
||||
|
||||
$response = new HttpResponse();
|
||||
$request = new HttpRequest(new HttpUri(''));
|
||||
|
||||
$request->header->account = 1;
|
||||
$request->setData('code', $element['name']);
|
||||
$request->setData('content', \reset($element['l11n']));
|
||||
$request->setData('language', \array_keys($element['l11n'])[0] ?? 'en');
|
||||
$request->setData('accounts', \implode(',', $element['account']));
|
||||
$request->setData('formula', $element['formula']);
|
||||
$request->setData('type', $element['type']);
|
||||
$request->setData('balance', $structure);
|
||||
$request->setData('order', $order);
|
||||
|
||||
if ($parent !== null) {
|
||||
$request->setData('parent', $parent);
|
||||
}
|
||||
|
||||
$module->apiBalanceElementCreate($request, $response);
|
||||
|
||||
$responseData = $response->getData('');
|
||||
if (!\is_array($responseData)) {
|
||||
continue;
|
||||
}
|
||||
|
||||
$balanceElement = \is_array($responseData['response'])
|
||||
? $responseData['response']
|
||||
: $responseData['response']->toArray();
|
||||
|
||||
$isFirst = true;
|
||||
foreach ($element['l11n'] as $language => $l11n) {
|
||||
if ($isFirst) {
|
||||
$isFirst = false;
|
||||
continue;
|
||||
}
|
||||
|
||||
$response = new HttpResponse();
|
||||
$request = new HttpRequest(new HttpUri(''));
|
||||
|
||||
$request->header->account = 1;
|
||||
$request->setData('title', $l11n);
|
||||
$request->setData('language', $language);
|
||||
$request->setData('ref', $balanceElement['id']);
|
||||
|
||||
$module->apiBalanceElementL11nCreate($request, $response);
|
||||
}
|
||||
|
||||
if (!empty($element['children'])) {
|
||||
self::createElement($module, $element['children'], $structure, $balanceElement['id']);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
243
Controller/ApiController.php
Normal file
243
Controller/ApiController.php
Normal file
|
|
@ -0,0 +1,243 @@
|
|||
<?php
|
||||
/**
|
||||
* Jingga
|
||||
*
|
||||
* PHP Version 8.1
|
||||
*
|
||||
* @package Modules\Balance
|
||||
* @copyright Dennis Eichhorn
|
||||
* @license OMS License 2.0
|
||||
* @version 1.0.0
|
||||
* @link https://jingga.app
|
||||
*/
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Modules\Balance\Controller;
|
||||
|
||||
use Modules\Balance\Models\Balance;
|
||||
use Modules\Balance\Models\BalanceElement;
|
||||
use Modules\Balance\Models\BalanceElementL11nMapper;
|
||||
use Modules\Balance\Models\BalanceElementMapper;
|
||||
use Modules\Balance\Models\BalanceMapper;
|
||||
use phpOMS\Localization\BaseStringL11n;
|
||||
use phpOMS\Localization\ISO639x1Enum;
|
||||
use phpOMS\Message\Http\HttpResponse;
|
||||
use phpOMS\Message\Http\RequestStatusCode;
|
||||
use phpOMS\Message\RequestAbstract;
|
||||
use phpOMS\Message\ResponseAbstract;
|
||||
|
||||
/**
|
||||
* Balance api controller class.
|
||||
*
|
||||
* @package Modules\Balance
|
||||
* @license OMS License 2.0
|
||||
* @link https://jingga.app
|
||||
* @since 1.0.0
|
||||
*/
|
||||
final class ApiController extends Controller
|
||||
{
|
||||
/**
|
||||
* Api method to create an balance
|
||||
*
|
||||
* @param RequestAbstract $request Request
|
||||
* @param ResponseAbstract $response Response
|
||||
* @param array $data Generic data
|
||||
*
|
||||
* @return void
|
||||
*
|
||||
* @api
|
||||
*
|
||||
* @since 1.0.0
|
||||
*/
|
||||
public function apiBalanceCreate(RequestAbstract $request, ResponseAbstract $response, array $data = []) : void
|
||||
{
|
||||
if (!empty($val = $this->validateBalanceCreate($request))) {
|
||||
$response->header->status = RequestStatusCode::R_400;
|
||||
$this->createInvalidCreateResponse($request, $response, $val);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
$balance = $this->createBalanceFromRequest($request);
|
||||
$this->createModel($request->header->account, $balance, BalanceMapper::class, 'balance', $request->getOrigin());
|
||||
$this->createStandardCreateResponse($request, $response, $balance);
|
||||
}
|
||||
|
||||
/**
|
||||
* Validate balance create request
|
||||
*
|
||||
* @param RequestAbstract $request Request
|
||||
*
|
||||
* @return array<string, bool>
|
||||
*
|
||||
* @since 1.0.0
|
||||
*/
|
||||
private function validateBalanceCreate(RequestAbstract $request) : array
|
||||
{
|
||||
$val = [];
|
||||
if (($val['code'] = !$request->hasData('code'))
|
||||
|| ($val['name'] = !$request->hasData('name'))
|
||||
) {
|
||||
return $val;
|
||||
}
|
||||
|
||||
return [];
|
||||
}
|
||||
|
||||
/**
|
||||
* Method to create balance from request.
|
||||
*
|
||||
* @param RequestAbstract $request Request
|
||||
*
|
||||
* @return Balance
|
||||
*
|
||||
* @since 1.0.0
|
||||
*/
|
||||
private function createBalanceFromRequest(RequestAbstract $request) : Balance
|
||||
{
|
||||
$balance = new Balance();
|
||||
$balance->code = (string) $request->getData('code');
|
||||
$balance->name = (string) $request->getData('name');
|
||||
|
||||
return $balance;
|
||||
}
|
||||
|
||||
/**
|
||||
* Api method to create an account
|
||||
*
|
||||
* @param RequestAbstract $request Request
|
||||
* @param ResponseAbstract $response Response
|
||||
* @param array $data Generic data
|
||||
*
|
||||
* @return void
|
||||
*
|
||||
* @api
|
||||
*
|
||||
* @since 1.0.0
|
||||
*/
|
||||
public function apiBalanceElementCreate(RequestAbstract $request, ResponseAbstract $response, array $data = []) : void
|
||||
{
|
||||
if (!empty($val = $this->validateBalanceElementCreate($request))) {
|
||||
$response->header->status = RequestStatusCode::R_400;
|
||||
$this->createInvalidCreateResponse($request, $response, $val);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
$element = $this->createBalanceElementFromRequest($request);
|
||||
$this->createModel($request->header->account, $element, BalanceElementMapper::class, 'balance_element', $request->getOrigin());
|
||||
$this->createStandardCreateResponse($request, $response, $element);
|
||||
}
|
||||
|
||||
/**
|
||||
* Validate account create request
|
||||
*
|
||||
* @param RequestAbstract $request Request
|
||||
*
|
||||
* @return array<string, bool>
|
||||
*
|
||||
* @since 1.0.0
|
||||
*/
|
||||
private function validateBalanceElementCreate(RequestAbstract $request) : array
|
||||
{
|
||||
$val = [];
|
||||
if (($val['balance'] = !$request->hasData('balance'))
|
||||
|| ($val['code'] = !$request->hasData('code'))
|
||||
|| ($val['content'] = !$request->hasData('content'))
|
||||
) {
|
||||
return $val;
|
||||
}
|
||||
|
||||
return [];
|
||||
}
|
||||
|
||||
/**
|
||||
* Method to create account from request.
|
||||
*
|
||||
* @param RequestAbstract $request Request
|
||||
*
|
||||
* @return BalanceElement
|
||||
*
|
||||
* @since 1.0.0
|
||||
*/
|
||||
private function createBalanceElementFromRequest(RequestAbstract $request) : BalanceElement
|
||||
{
|
||||
$element = new BalanceElement();
|
||||
$element->code = $request->getDataString('code') ?? '';
|
||||
$element->balance = $request->getDataInt('balance') ?? 0;
|
||||
$element->order = $request->getDataInt('order') ?? 0;
|
||||
|
||||
$element->setL11n($request->getDataString('content') ?? '', $request->getDataString('language') ?? ISO639x1Enum::_EN);
|
||||
|
||||
return $element;
|
||||
}
|
||||
|
||||
/**
|
||||
* Api method to create item attribute l11n
|
||||
*
|
||||
* @param RequestAbstract $request Request
|
||||
* @param ResponseAbstract $response Response
|
||||
* @param array $data Generic data
|
||||
*
|
||||
* @return void
|
||||
*
|
||||
* @api
|
||||
*
|
||||
* @since 1.0.0
|
||||
*/
|
||||
public function apiBalanceElementL11nCreate(RequestAbstract $request, ResponseAbstract $response, array $data = []) : void
|
||||
{
|
||||
if (!empty($val = $this->validateBalanceElementL11nCreate($request))) {
|
||||
$response->header->status = RequestStatusCode::R_400;
|
||||
$this->createInvalidCreateResponse($request, $response, $val);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
$elementL11n = $this->createBalanceElementL11nFromRequest($request);
|
||||
$this->createModel($request->header->account, $elementL11n, BalanceElementL11nMapper::class, 'balance_element_l11n', $request->getOrigin());
|
||||
$this->createStandardCreateResponse($request, $response, $elementL11n);
|
||||
}
|
||||
|
||||
/**
|
||||
* Method to create item attribute l11n from request.
|
||||
*
|
||||
* @param RequestAbstract $request Request
|
||||
*
|
||||
* @return BaseStringL11n
|
||||
*
|
||||
* @since 1.0.0
|
||||
*/
|
||||
private function createBalanceElementL11nFromRequest(RequestAbstract $request) : BaseStringL11n
|
||||
{
|
||||
$elementL11n = new BaseStringL11n();
|
||||
$elementL11n->ref = $request->getDataInt('ref') ?? 0;
|
||||
$elementL11n->setLanguage(
|
||||
$request->getDataString('language') ?? $request->header->l11n->language
|
||||
);
|
||||
$elementL11n->content = $request->getDataString('content') ?? '';
|
||||
|
||||
return $elementL11n;
|
||||
}
|
||||
|
||||
/**
|
||||
* Validate item attribute l11n create request
|
||||
*
|
||||
* @param RequestAbstract $request Request
|
||||
*
|
||||
* @return array<string, bool>
|
||||
*
|
||||
* @since 1.0.0
|
||||
*/
|
||||
private function validateBalanceElementL11nCreate(RequestAbstract $request) : array
|
||||
{
|
||||
$val = [];
|
||||
if (($val['content'] = !$request->hasData('content'))
|
||||
|| ($val['ref'] = !$request->hasData('ref'))
|
||||
) {
|
||||
return $val;
|
||||
}
|
||||
|
||||
return [];
|
||||
}
|
||||
}
|
||||
|
|
@ -30,7 +30,7 @@ use phpOMS\Views\View;
|
|||
final class BackendController extends Controller
|
||||
{
|
||||
/**
|
||||
* Routing end-point for application behaviour.
|
||||
* Routing end-point for application behavior.
|
||||
*
|
||||
* @param RequestAbstract $request Request
|
||||
* @param ResponseAbstract $response Response
|
||||
|
|
|
|||
56
Models/Balance.php
Normal file
56
Models/Balance.php
Normal file
|
|
@ -0,0 +1,56 @@
|
|||
<?php
|
||||
/**
|
||||
* Jingga
|
||||
*
|
||||
* PHP Version 8.1
|
||||
*
|
||||
* @package Modules\Balance\Models
|
||||
* @copyright Dennis Eichhorn
|
||||
* @license OMS License 2.0
|
||||
* @version 1.0.0
|
||||
* @link https://jingga.app
|
||||
*/
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Modules\Balance\Models;
|
||||
|
||||
/**
|
||||
* Balance class.
|
||||
*
|
||||
* @package Modules\Balance\Models
|
||||
* @license OMS License 2.0
|
||||
* @link https://jingga.app
|
||||
* @since 1.0.0
|
||||
*/
|
||||
class Balance
|
||||
{
|
||||
/**
|
||||
* Account ID.
|
||||
*
|
||||
* @var int
|
||||
* @since 1.0.0
|
||||
*/
|
||||
public int $id = 0;
|
||||
|
||||
public string $code = '';
|
||||
|
||||
public string $name = '';
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
public function toArray() : array
|
||||
{
|
||||
return [
|
||||
'id' => $this->id,
|
||||
];
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
public function jsonSerialize() : mixed
|
||||
{
|
||||
return $this->toArray();
|
||||
}
|
||||
}
|
||||
111
Models/BalanceElement.php
Normal file
111
Models/BalanceElement.php
Normal file
|
|
@ -0,0 +1,111 @@
|
|||
<?php
|
||||
/**
|
||||
* Jingga
|
||||
*
|
||||
* PHP Version 8.1
|
||||
*
|
||||
* @package Modules\Balance\Models
|
||||
* @copyright Dennis Eichhorn
|
||||
* @license OMS License 2.0
|
||||
* @version 1.0.0
|
||||
* @link https://jingga.app
|
||||
*/
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Modules\Balance\Models;
|
||||
|
||||
use phpOMS\Localization\BaseStringL11n;
|
||||
use phpOMS\Localization\ISO639x1Enum;
|
||||
|
||||
/**
|
||||
* Balance class.
|
||||
*
|
||||
* @package Modules\Balance\Models
|
||||
* @license OMS License 2.0
|
||||
* @link https://jingga.app
|
||||
* @since 1.0.0
|
||||
*/
|
||||
class BalanceElement
|
||||
{
|
||||
/**
|
||||
* Account ID.
|
||||
*
|
||||
* @var int
|
||||
* @since 1.0.0
|
||||
*/
|
||||
public int $id = 0;
|
||||
|
||||
public string $code = '';
|
||||
|
||||
public int $type = 0;
|
||||
public string $formula = '';
|
||||
public int $order = 0;
|
||||
|
||||
public int $balance = 0;
|
||||
|
||||
public ?int $parent = null;
|
||||
|
||||
/*
|
||||
* String l11n
|
||||
*
|
||||
* @var string | BaseStringL11n
|
||||
* @since 1.0.0
|
||||
*/
|
||||
public string | BaseStringL11n $l11n = '';
|
||||
|
||||
/**
|
||||
* Set l11n
|
||||
*
|
||||
* @param string|BaseStringL11n $l11n Tag article l11n
|
||||
* @param string $lang Language
|
||||
*
|
||||
* @return void
|
||||
*
|
||||
* @since 1.0.0
|
||||
*/
|
||||
public function setL11n(string | BaseStringL11n $l11n, string $lang = ISO639x1Enum::_EN) : void
|
||||
{
|
||||
if ($l11n instanceof BaseStringL11n) {
|
||||
$this->l11n = $l11n;
|
||||
} elseif (isset($this->l11n) && $this->l11n instanceof BaseStringL11n) {
|
||||
$this->l11n->content = $l11n;
|
||||
$this->l11n->setLanguage($lang);
|
||||
} else {
|
||||
$this->l11n = new BaseStringL11n();
|
||||
$this->l11n->content = $l11n;
|
||||
$this->l11n->setLanguage($lang);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string
|
||||
*
|
||||
* @since 1.0.0
|
||||
*/
|
||||
public function getL11n() : string
|
||||
{
|
||||
if (!isset($this->l11n)) {
|
||||
return '';
|
||||
}
|
||||
|
||||
return $this->l11n instanceof BaseStringL11n ? $this->l11n->content : $this->l11n;
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
public function toArray() : array
|
||||
{
|
||||
return [
|
||||
'id' => $this->id,
|
||||
];
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
public function jsonSerialize() : mixed
|
||||
{
|
||||
return $this->toArray();
|
||||
}
|
||||
}
|
||||
69
Models/BalanceElementL11nMapper.php
Normal file
69
Models/BalanceElementL11nMapper.php
Normal file
|
|
@ -0,0 +1,69 @@
|
|||
<?php
|
||||
/**
|
||||
* Jingga
|
||||
*
|
||||
* PHP Version 8.1
|
||||
*
|
||||
* @package Modules\Balance\Models
|
||||
* @copyright Dennis Eichhorn
|
||||
* @license OMS License 2.0
|
||||
* @version 1.0.0
|
||||
* @link https://jingga.app
|
||||
*/
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Modules\Balance\Models;
|
||||
|
||||
use phpOMS\DataStorage\Database\Mapper\DataMapperFactory;
|
||||
use phpOMS\Localization\BaseStringL11n;
|
||||
|
||||
/**
|
||||
* BalanceElement mapper class.
|
||||
*
|
||||
* @package Modules\Balance\Models
|
||||
* @license OMS License 2.0
|
||||
* @link https://jingga.app
|
||||
* @since 1.0.0
|
||||
*
|
||||
* @template T of BaseStringL11n
|
||||
* @extends DataMapperFactory<T>
|
||||
*/
|
||||
final class BalanceElementL11nMapper 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 = [
|
||||
'balance_balance_element_l11n_id' => ['name' => 'balance_balance_element_l11n_id', 'type' => 'int', 'internal' => 'id'],
|
||||
'balance_balance_element_l11n_title' => ['name' => 'balance_balance_element_l11n_title', 'type' => 'string', 'internal' => 'content', 'autocomplete' => true],
|
||||
'balance_balance_element_l11n_element' => ['name' => 'balance_balance_element_l11n_element', 'type' => 'int', 'internal' => 'ref'],
|
||||
'balance_balance_element_l11n_lang' => ['name' => 'balance_balance_element_l11n_lang', 'type' => 'string', 'internal' => 'language'],
|
||||
];
|
||||
|
||||
/**
|
||||
* Primary table.
|
||||
*
|
||||
* @var string
|
||||
* @since 1.0.0
|
||||
*/
|
||||
public const TABLE = 'balance_balance_element_l11n';
|
||||
|
||||
/**
|
||||
* Primary field name.
|
||||
*
|
||||
* @var string
|
||||
* @since 1.0.0
|
||||
*/
|
||||
public const PRIMARYFIELD = 'balance_balance_element_l11n_id';
|
||||
|
||||
/**
|
||||
* Model to use by the mapper.
|
||||
*
|
||||
* @var class-string<T>
|
||||
* @since 1.0.0
|
||||
*/
|
||||
public const MODEL = BaseStringL11n::class;
|
||||
}
|
||||
62
Models/BalanceElementMapper.php
Normal file
62
Models/BalanceElementMapper.php
Normal file
|
|
@ -0,0 +1,62 @@
|
|||
<?php
|
||||
/**
|
||||
* Jingga
|
||||
*
|
||||
* PHP Version 8.1
|
||||
*
|
||||
* @package Modules\Balance\Models
|
||||
* @copyright Dennis Eichhorn
|
||||
* @license OMS License 2.0
|
||||
* @version 1.0.0
|
||||
* @link https://jingga.app
|
||||
*/
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Modules\Balance\Models;
|
||||
|
||||
use phpOMS\DataStorage\Database\Mapper\DataMapperFactory;
|
||||
use phpOMS\Localization\BaseStringL11n;
|
||||
|
||||
/**
|
||||
* Balance mapper class.
|
||||
*
|
||||
* @package Modules\Balance\Models
|
||||
* @license OMS License 2.0
|
||||
* @link https://jingga.app
|
||||
* @since 1.0.0
|
||||
*
|
||||
* @template T of BaseStringL11n
|
||||
* @extends DataMapperFactory<T>
|
||||
*/
|
||||
final class BalanceElementMapper 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 = [
|
||||
'balance_balance_element_id' => ['name' => 'balance_balance_element_id', 'type' => 'int', 'internal' => 'id'],
|
||||
'balance_balance_element_code' => ['name' => 'balance_balance_element_code', 'type' => 'string', 'internal' => 'code', 'autocomplete' => true],
|
||||
'balance_balance_element_order' => ['name' => 'balance_balance_element_order', 'type' => 'int', 'internal' => 'order'],
|
||||
'balance_balance_element_parent' => ['name' => 'balance_balance_element_parent', 'type' => 'int', 'internal' => 'parent'],
|
||||
'balance_balance_element_balance' => ['name' => 'balance_balance_element_balance', 'type' => 'int', 'internal' => 'balance'],
|
||||
];
|
||||
|
||||
/**
|
||||
* Primary table.
|
||||
*
|
||||
* @var string
|
||||
* @since 1.0.0
|
||||
*/
|
||||
public const TABLE = 'balance_balance_element';
|
||||
|
||||
/**
|
||||
* Primary field name.
|
||||
*
|
||||
* @var string
|
||||
* @since 1.0.0
|
||||
*/
|
||||
public const PRIMARYFIELD = 'balance_balance_element_id';
|
||||
}
|
||||
60
Models/BalanceMapper.php
Normal file
60
Models/BalanceMapper.php
Normal file
|
|
@ -0,0 +1,60 @@
|
|||
<?php
|
||||
/**
|
||||
* Jingga
|
||||
*
|
||||
* PHP Version 8.1
|
||||
*
|
||||
* @package Modules\Balance\Models
|
||||
* @copyright Dennis Eichhorn
|
||||
* @license OMS License 2.0
|
||||
* @version 1.0.0
|
||||
* @link https://jingga.app
|
||||
*/
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Modules\Balance\Models;
|
||||
|
||||
use phpOMS\DataStorage\Database\Mapper\DataMapperFactory;
|
||||
use phpOMS\Localization\BaseStringL11n;
|
||||
|
||||
/**
|
||||
* Balance mapper class.
|
||||
*
|
||||
* @package Modules\Balance\Models
|
||||
* @license OMS License 2.0
|
||||
* @link https://jingga.app
|
||||
* @since 1.0.0
|
||||
*
|
||||
* @template T of BaseStringL11n
|
||||
* @extends DataMapperFactory<T>
|
||||
*/
|
||||
final class BalanceMapper 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 = [
|
||||
'balance_balance_id' => ['name' => 'balance_balance_id', 'type' => 'int', 'internal' => 'id'],
|
||||
'balance_balance_code' => ['name' => 'balance_balance_code', 'type' => 'string', 'internal' => 'code', 'autocomplete' => true],
|
||||
'balance_balance_name' => ['name' => 'balance_balance_name', 'type' => 'string', 'internal' => 'name', 'autocomplete' => true],
|
||||
];
|
||||
|
||||
/**
|
||||
* Primary table.
|
||||
*
|
||||
* @var string
|
||||
* @since 1.0.0
|
||||
*/
|
||||
public const TABLE = 'balance_balance';
|
||||
|
||||
/**
|
||||
* Primary field name.
|
||||
*
|
||||
* @var string
|
||||
* @since 1.0.0
|
||||
*/
|
||||
public const PRIMARYFIELD = 'balance_balance_id';
|
||||
}
|
||||
46
Models/NullBalance.php
Normal file
46
Models/NullBalance.php
Normal file
|
|
@ -0,0 +1,46 @@
|
|||
<?php
|
||||
/**
|
||||
* Jingga
|
||||
*
|
||||
* PHP Version 8.1
|
||||
*
|
||||
* @package Modules\Balance\Models
|
||||
* @copyright Dennis Eichhorn
|
||||
* @license OMS License 2.0
|
||||
* @version 1.0.0
|
||||
* @link https://jingga.app
|
||||
*/
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Modules\Balance\Models;
|
||||
|
||||
/**
|
||||
* Null model
|
||||
*
|
||||
* @package Modules\Balance\Models
|
||||
* @license OMS License 2.0
|
||||
* @link https://jingga.app
|
||||
* @since 1.0.0
|
||||
*/
|
||||
final class NullBalance extends Balance
|
||||
{
|
||||
/**
|
||||
* Constructor
|
||||
*
|
||||
* @param int $id Model id
|
||||
*
|
||||
* @since 1.0.0
|
||||
*/
|
||||
public function __construct(int $id = 0)
|
||||
{
|
||||
$this->id = $id;
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
public function jsonSerialize() : mixed
|
||||
{
|
||||
return ['id' => $this->id];
|
||||
}
|
||||
}
|
||||
46
Models/NullBalanceElement.php
Normal file
46
Models/NullBalanceElement.php
Normal file
|
|
@ -0,0 +1,46 @@
|
|||
<?php
|
||||
/**
|
||||
* Jingga
|
||||
*
|
||||
* PHP Version 8.1
|
||||
*
|
||||
* @package Modules\Balance\Models
|
||||
* @copyright Dennis Eichhorn
|
||||
* @license OMS License 2.0
|
||||
* @version 1.0.0
|
||||
* @link https://jingga.app
|
||||
*/
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Modules\Balance\Models;
|
||||
|
||||
/**
|
||||
* Null model
|
||||
*
|
||||
* @package Modules\Balance\Models
|
||||
* @license OMS License 2.0
|
||||
* @link https://jingga.app
|
||||
* @since 1.0.0
|
||||
*/
|
||||
final class NullBalanceElement extends BalanceElement
|
||||
{
|
||||
/**
|
||||
* Constructor
|
||||
*
|
||||
* @param int $id Model id
|
||||
*
|
||||
* @since 1.0.0
|
||||
*/
|
||||
public function __construct(int $id = 0)
|
||||
{
|
||||
$this->id = $id;
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
public function jsonSerialize() : mixed
|
||||
{
|
||||
return ['id' => $this->id];
|
||||
}
|
||||
}
|
||||
|
|
@ -17,7 +17,7 @@ namespace Modules\Balance\Models;
|
|||
use phpOMS\Stdlib\Base\Enum;
|
||||
|
||||
/**
|
||||
* Permision state enum.
|
||||
* Permission category enum.
|
||||
*
|
||||
* @package Modules\Balance\Models
|
||||
* @license OMS License 2.0
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user