Modul:Unternehmen: Unterschied zwischen den Versionen
Aus FürthWiki
(switch zu neuer Lua-Faktenbox) |
(Integration Templates) |
||
| (11 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
| Zeile 1: | Zeile 1: | ||
local p = {} | local p = {} | ||
local com = require("Modul:Common") | local com = require("Modul:Common") | ||
local str = require("Modul:String") | local str = require("Modul:String") | ||
local fab = require("Modul:Faktenbox") | local fab = require("Modul:Faktenbox") | ||
local smw = require("Modul:SMW") | |||
function p.Faktenbox(frame) | function p.Faktenbox(frame) | ||
| Zeile 11: | Zeile 13: | ||
-- Basis-Faktenbox-Daten (Klasse/Kategorie/Formular) | -- Basis-Faktenbox-Daten (Klasse/Kategorie/Formular) | ||
local fbdata = fab. | local fbdata = fab.getFbdata(frame) | ||
fbdata.klasse = {"Unternehmen"} | fbdata.klasse = {"Unternehmen"} | ||
fbdata.kategorie = {"Unternehmen"} | fbdata.kategorie = {"Unternehmen"} | ||
fbdata.formular = "Unternehmen" -- ggf. "Unternehmen/Work" | fbdata.formular = "Unternehmen" -- ggf. "Unternehmen/Work" | ||
fbdata.positionscheck = false | |||
-- Tabs einsammeln und zusammenfügen | -- Tabs einsammeln und zusammenfügen | ||
local | local t = fab.bildTab(fbdata) .. p.datenTab(fbdata) .. | ||
fab.adressenTab(fbdata) .. p.funktionaereTab(fbdata) .. | |||
p.bilanzdatenTab(fbdata) | |||
t = fab.factbox_header_footer(t) | |||
fab.adressenTab(fbdata) .. | |||
-- Sonstige gemeinsame Dinge anfügen (Klasse, Formular, Kategorien, Wartung, ...) | |||
p.bilanzdatenTab(fbdata) .. | t = t .. fab.postprocess(fbdata) | ||
-- Unternehmen-spezifische Kategorien usw. | -- Unternehmen-spezifische Kategorien usw. (erst nach fab.postprocess()) | ||
local branche = fbdata.pargs["Branche"] | local branche = str.splitAndStrip(fbdata.pargs["Branche"], ";") | ||
for _, b in ipairs(branche) do | for _, b in ipairs(branche) do | ||
t = t .. "[[Kategorie:" .. b .. "]]" | |||
end | end | ||
-- | -- Pre-Processing | ||
-- mw.logObject(t, "t") | |||
-- mw. | t = fbdata.frame:preprocess(t) | ||
return t | |||
return | |||
end | end | ||
| Zeile 58: | Zeile 51: | ||
-- Zusammenbau | -- Zusammenbau | ||
t = t .. fab.zeileKategorieSeite(fbdata) | t = t .. fab.zeileKategorieSeite(fbdata) | ||
t = t .. fab.zeile{attr_name = "Gebäude", | t = t .. fab.zeile{fbdata = fbdata, attr_name = "Gebäude", delimiter = ";"} | ||
t = t .. fab.zeile{attr_name = "Geschäftsführer", | t = t .. fab.zeile{fbdata = fbdata, attr_name = "Geschäftsführer", delimiter = ";"} | ||
t = t .. fab.zeile{attr_name = "Gründer", | t = t .. fab.zeile{fbdata = fbdata, attr_name = "Gründer", delimiter = ";"} | ||
t = t .. fab.zeile{attr_name = "Gründungsort" | t = t .. fab.zeile{fbdata = fbdata, attr_name = "Gründungsort"} | ||
t = t .. fab.zeileDatum{ | t = t .. fab.zeileDatum{fbdata = fbdata, attr_date = "Gründungsdatum"} -- setzt ebenso Gründungstag und Gründungsjahr | ||
t = t .. fab.zeile{attr_name = "Gesellschaftsform" | t = t .. fab.zeile{fbdata = fbdata, attr_name = "Gesellschaftsform"} | ||
t = t .. fab.zeile{attr_name = "Handelsregister" | t = t .. fab.zeile{fbdata = fbdata, attr_name = "Handelsregister"} | ||
t = t .. fab.zeile{attr_name = "Standort", | t = t .. fab.zeile{fbdata = fbdata, attr_name = "Standort", delimiter = ";"} | ||
t = t .. fab.zeile{attr_name = "Branche", | t = t .. fab.zeile{fbdata = fbdata, attr_name = "Branche", delimiter = ";"} | ||
t = t .. fab.zeile{attr_name = "Email" | t = t .. fab.zeile{fbdata = fbdata, attr_name = "Email"} | ||
t = t .. fab.zeile{attr_name = "Telefon" | t = t .. fab.zeile{fbdata = fbdata, attr_name = "Telefon"} | ||
t = t .. fab.zeile{attr_name = "Webseite" | t = t .. fab.zeile{fbdata = fbdata, attr_name = "Webseite"} | ||
t = t .. fab. | t = t .. fab.zeileEndeDatum{fbdata = fbdata, attr_date = "Schließungsdatum", attr_ended = "Ehemals"} -- setzt ebenso Schließungstag und Schließungsjahr | ||
t = t .. fab.zeile{fbdata = fbdata, attr_name = "Schließungsgrund", delimiter = ";"} | |||
t = t .. fab.zeile{attr_name = "Schließungsgrund", | t = t .. fab.zeileSemantikBrowsenAbfrage(fbdata) | ||
t = t .. fab. | t = fab.table_header_footer(t) | ||
-- Tab draus machen | -- Tab draus machen | ||
| Zeile 84: | Zeile 76: | ||
function p.funktionaereTab(fbdata) | function p.funktionaereTab(fbdata) | ||
local t = fbdata.frame: | local t = smw.ask(fbdata.frame, | ||
{"[[-has subobject::" .. fbdata.fullpagename .. "]]" .. | |||
"[[SubObjektTyp::Funktionär]]", | |||
"?Person", "?Funktion", "?FunktionVonLfd", "?FunktionBisLfd", | |||
mainlabel = "-", format = "table", Klasse = "Unternehmen"}) | |||
t = fab.tab(t, "Funktionäre") | t = fab.tab(t, "Funktionäre") | ||
return t | return t | ||
| Zeile 90: | Zeile 86: | ||
function p.bilanzdatenTab(fbdata) | function p.bilanzdatenTab(fbdata) | ||
local t = fbdata.frame: | local t = smw.ask(fbdata.frame, | ||
{"[[-has subobject::" .. fbdata.fullpagename .. "]]" .. | |||
"[[SubObjektTyp::Bilanzdatum]]", | |||
"?BilanzdatumLfd", | |||
"?Bilanzdatum#ISO-P", | |||
"?Umsatz", | |||
"?AnzahlMitarbeiter", | |||
"?AnzahlMitarbeiterFürth", | |||
"?AnzahlNiederlassungen", | |||
"?AnzahlFilialen", | |||
"?AnzahlFilialenFürth", | |||
mainlabel = "-", | |||
sort = "Bilanzdatum", | |||
order = "asc", | |||
format = "ul", | |||
template = "Unternehmen/Bilanzdaten/Zeile", | |||
namedargs = "yes", | |||
Klasse = "Unternehmen"}) | |||
t = fab.tab(t, "Bilanzdaten") | t = fab.tab(t, "Bilanzdaten") | ||
return t | return t | ||
Aktuelle Version vom 28. Februar 2026, 12:07 Uhr
Seiten-Übersicht
| Hauptseite | Unterseiten | ||
|---|---|---|---|
| Allgemein | |||
| Faktenbox | Vorlagen | ||
| Formulare |
|
||
| Module | |||
| Abfrage | Vorlagen |
| |
| Formulare |
| ||
| Sonstige | |||
Siehe auch
local p = {}
local com = require("Modul:Common")
local str = require("Modul:String")
local fab = require("Modul:Faktenbox")
local smw = require("Modul:SMW")
function p.Faktenbox(frame)
-- mw.log("Faktenbox(frame)")
-- mw.logObject(frame)
-- Konsolenzeile zum Debuggen:
-- =p.Faktenbox{pargs={["Branche"]="Lebensmittel;Gastronomie",["Gründungsdatum"]="2112/02/01"}}
-- Basis-Faktenbox-Daten (Klasse/Kategorie/Formular)
local fbdata = fab.getFbdata(frame)
fbdata.klasse = {"Unternehmen"}
fbdata.kategorie = {"Unternehmen"}
fbdata.formular = "Unternehmen" -- ggf. "Unternehmen/Work"
fbdata.positionscheck = false
-- Tabs einsammeln und zusammenfügen
local t = fab.bildTab(fbdata) .. p.datenTab(fbdata) ..
fab.adressenTab(fbdata) .. p.funktionaereTab(fbdata) ..
p.bilanzdatenTab(fbdata)
t = fab.factbox_header_footer(t)
-- Sonstige gemeinsame Dinge anfügen (Klasse, Formular, Kategorien, Wartung, ...)
t = t .. fab.postprocess(fbdata)
-- Unternehmen-spezifische Kategorien usw. (erst nach fab.postprocess())
local branche = str.splitAndStrip(fbdata.pargs["Branche"], ";")
for _, b in ipairs(branche) do
t = t .. "[[Kategorie:" .. b .. "]]"
end
-- Pre-Processing
-- mw.logObject(t, "t")
t = fbdata.frame:preprocess(t)
return t
end
function p.datenTab(fbdata)
-- mw.log("datenTab(fbdata)")
-- mw.logObject(fbdata)
--[[ Konsolenzeile zum Debuggen:
fab=require("Modul:Faktenbox"); fbdata=fab.fbdata{pargs={["Geschäftsführer"]="Hans Wurst",["Gründungsdatum"]="2112/02/01"}};
fbdata.klasse={"Unternehmen"}; fbdata.kategorie={"Unternehmen"}; fbdata.fullpagename="IKEA"; fbdata.subpagename="IKEA";
print(p.datenTab(fbdata))
]]
local t = ""
-- Zusammenbau
t = t .. fab.zeileKategorieSeite(fbdata)
t = t .. fab.zeile{fbdata = fbdata, attr_name = "Gebäude", delimiter = ";"}
t = t .. fab.zeile{fbdata = fbdata, attr_name = "Geschäftsführer", delimiter = ";"}
t = t .. fab.zeile{fbdata = fbdata, attr_name = "Gründer", delimiter = ";"}
t = t .. fab.zeile{fbdata = fbdata, attr_name = "Gründungsort"}
t = t .. fab.zeileDatum{fbdata = fbdata, attr_date = "Gründungsdatum"} -- setzt ebenso Gründungstag und Gründungsjahr
t = t .. fab.zeile{fbdata = fbdata, attr_name = "Gesellschaftsform"}
t = t .. fab.zeile{fbdata = fbdata, attr_name = "Handelsregister"}
t = t .. fab.zeile{fbdata = fbdata, attr_name = "Standort", delimiter = ";"}
t = t .. fab.zeile{fbdata = fbdata, attr_name = "Branche", delimiter = ";"}
t = t .. fab.zeile{fbdata = fbdata, attr_name = "Email"}
t = t .. fab.zeile{fbdata = fbdata, attr_name = "Telefon"}
t = t .. fab.zeile{fbdata = fbdata, attr_name = "Webseite"}
t = t .. fab.zeileEndeDatum{fbdata = fbdata, attr_date = "Schließungsdatum", attr_ended = "Ehemals"} -- setzt ebenso Schließungstag und Schließungsjahr
t = t .. fab.zeile{fbdata = fbdata, attr_name = "Schließungsgrund", delimiter = ";"}
t = t .. fab.zeileSemantikBrowsenAbfrage(fbdata)
t = fab.table_header_footer(t)
-- Tab draus machen
t = fab.tab(t, "Daten")
-- mw.log("t = " .. t)
return t
end
function p.funktionaereTab(fbdata)
local t = smw.ask(fbdata.frame,
{"[[-has subobject::" .. fbdata.fullpagename .. "]]" ..
"[[SubObjektTyp::Funktionär]]",
"?Person", "?Funktion", "?FunktionVonLfd", "?FunktionBisLfd",
mainlabel = "-", format = "table", Klasse = "Unternehmen"})
t = fab.tab(t, "Funktionäre")
return t
end
function p.bilanzdatenTab(fbdata)
local t = smw.ask(fbdata.frame,
{"[[-has subobject::" .. fbdata.fullpagename .. "]]" ..
"[[SubObjektTyp::Bilanzdatum]]",
"?BilanzdatumLfd",
"?Bilanzdatum#ISO-P",
"?Umsatz",
"?AnzahlMitarbeiter",
"?AnzahlMitarbeiterFürth",
"?AnzahlNiederlassungen",
"?AnzahlFilialen",
"?AnzahlFilialenFürth",
mainlabel = "-",
sort = "Bilanzdatum",
order = "asc",
format = "ul",
template = "Unternehmen/Bilanzdaten/Zeile",
namedargs = "yes",
Klasse = "Unternehmen"})
t = fab.tab(t, "Bilanzdaten")
return t
end
return p