forked from almatoai/OGIT
-
Notifications
You must be signed in to change notification settings - Fork 0
feat(NTO/WorkOrder): add WorkOrder namespace from AdaWorldAPI/WoA transcode (15 entities + 12 verbs) #1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
feat(NTO/WorkOrder): add WorkOrder namespace from AdaWorldAPI/WoA transcode (15 entities + 12 verbs) #1
Changes from all commits
Commits
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,32 @@ | ||
| @prefix ogit: <http://www.purl.org/ogit/> . | ||
| @prefix ogit.WorkOrder: <http://www.purl.org/ogit/WorkOrder/> . | ||
| @prefix owl: <http://www.w3.org/2002/07/owl#> . | ||
| @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> . | ||
| @prefix dcterms: <http://purl.org/dc/terms/> . | ||
|
|
||
| ogit.WorkOrder:Activity | ||
| a rdfs:Class; | ||
| rdfs:subClassOf ogit:Entity; | ||
| rdfs:label "Activity"; | ||
| dcterms:description "A logged work activity attached to a WorkOrder. Carries optional device/asset reference (geraet), free-text description, logbook flag (export to driver/work logbook), internal-only flag, and creation timestamp. One Activity per discrete on-site or remote action."; | ||
| dcterms:source "AdaWorldAPI/WoA/models.py:Activity"; | ||
| dcterms:creator "family-codec-smith"; | ||
| ogit:scope "NTO"; | ||
| ogit:parent ogit:Node; | ||
| ogit:mandatory-attributes ( | ||
| ogit:id | ||
| ); | ||
| ogit:optional-attributes ( | ||
| ogit.WorkOrder:geraet | ||
| ogit.WorkOrder:beschreibung | ||
| ogit.WorkOrder:logbuch | ||
| ogit.WorkOrder:intern | ||
| ogit:created-at | ||
| ); | ||
| ogit:indexed-attributes ( | ||
| ogit:created-at | ||
| ); | ||
| ogit:allowed ( | ||
| [ ogit:belongs ogit.WorkOrder:Order ] | ||
| ); | ||
| . | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,77 @@ | ||
| @prefix ogit: <http://www.purl.org/ogit/> . | ||
| @prefix ogit.WorkOrder: <http://www.purl.org/ogit/WorkOrder/> . | ||
| @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> . | ||
| @prefix dcterms: <http://purl.org/dc/terms/> . | ||
|
|
||
| ogit.WorkOrder:Article | ||
| a rdfs:Class; | ||
| rdfs:subClassOf ogit:Entity; | ||
| rdfs:label "Article"; | ||
| dcterms:description "Article master-data record (Artikelstamm / WaWi). Referenced by Position rows on an Order via article_id. Carries selling and purchase prices, VAT rate and supplier reference; derived margin (marge / marge_pct) is computed on demand by the Python model."; | ||
| dcterms:source "AdaWorldAPI/WoA/models.py:Article"; | ||
| ogit:scope "NTO"; | ||
| ogit:parent ogit:Node; | ||
| ogit:mandatory-attributes ( | ||
| ogit:id | ||
| ogit.WorkOrder:beschreibung | ||
| ); | ||
| ogit:optional-attributes ( | ||
| ogit.WorkOrder:artikelnr | ||
| ogit.WorkOrder:preisNetto | ||
| ogit.WorkOrder:ekPreis | ||
| ogit.WorkOrder:mwstSatz | ||
| ogit.WorkOrder:lieferant | ||
| ogit.WorkOrder:aktiv | ||
| ); | ||
| ogit:indexed-attributes ( | ||
| ogit:id | ||
| ogit.WorkOrder:artikelnr | ||
| ); | ||
| ogit:allowed ( | ||
| [ ogit:belongs ogit.WorkOrder:Tenant ] | ||
| ); | ||
| . | ||
|
|
||
| # ── attributes ─────────────────────────────────────────────────────────── | ||
|
|
||
| ogit.WorkOrder:artikelnr | ||
| a rdfs:Property; | ||
| rdfs:label "artikelnr"; | ||
| dcterms:description "Article number (Artikelnummer). Tenant-local short code used on invoices, lookup forms and inventory listings."; | ||
| dcterms:source "AdaWorldAPI/WoA/models.py:Article.artikelnr"; | ||
| . | ||
|
|
||
| ogit.WorkOrder:beschreibung | ||
| a rdfs:Property; | ||
| rdfs:label "beschreibung"; | ||
| dcterms:description "Article description (Beschreibung) printed on order positions. Mandatory in the source model."; | ||
| dcterms:source "AdaWorldAPI/WoA/models.py:Article.beschreibung"; | ||
| . | ||
|
|
||
| ogit.WorkOrder:preisNetto | ||
| a rdfs:Property; | ||
| rdfs:label "preisNetto"; | ||
| dcterms:description "Net selling price (Preis netto) in the tenant's currency. Float, default 0.0."; | ||
| dcterms:source "AdaWorldAPI/WoA/models.py:Article.preis_netto"; | ||
| . | ||
|
|
||
| ogit.WorkOrder:ekPreis | ||
| a rdfs:Property; | ||
| rdfs:label "ekPreis"; | ||
| dcterms:description "Purchase price (Einkaufspreis) used for margin calculation against preisNetto."; | ||
| dcterms:source "AdaWorldAPI/WoA/models.py:Article.ek_preis"; | ||
| . | ||
|
|
||
| ogit.WorkOrder:mwstSatz | ||
| a rdfs:Property; | ||
| rdfs:label "mwstSatz"; | ||
| dcterms:description "VAT rate (MwSt-Satz) in percent applied when this article appears as a position. Float, default 19.0."; | ||
| dcterms:source "AdaWorldAPI/WoA/models.py:Article.mwst_satz"; | ||
| . | ||
|
|
||
| ogit.WorkOrder:lieferant | ||
| a rdfs:Property; | ||
| rdfs:label "lieferant"; | ||
| dcterms:description "Supplier name (Lieferant) the article is normally sourced from. Free-form string; not a relation to a separate Supplier class in the current source."; | ||
| dcterms:source "AdaWorldAPI/WoA/models.py:Article.lieferant"; | ||
| . |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,126 @@ | ||
| @prefix ogit: <http://www.purl.org/ogit/> . | ||
| @prefix ogit.WorkOrder: <http://www.purl.org/ogit/WorkOrder/> . | ||
| @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> . | ||
| @prefix dcterms: <http://purl.org/dc/terms/> . | ||
|
|
||
| ogit.WorkOrder:Customer | ||
| a rdfs:Class; | ||
| rdfs:subClassOf ogit:Entity; | ||
| rdfs:label "Customer"; | ||
| dcterms:description "Customer (Kunde) of a WoA tenant. Holds postal address, billing parameters (Zahlungsziel, Stundensatz) and is the parent of all work orders, time sheets and password-vault entries belonging to that customer."; | ||
| dcterms:source "AdaWorldAPI/WoA/models.py:Customer"; | ||
| ogit:scope "NTO"; | ||
| ogit:parent ogit:Node; | ||
| ogit:mandatory-attributes ( | ||
| ogit:id | ||
| ); | ||
| ogit:optional-attributes ( | ||
| ogit.WorkOrder:kdnr | ||
| ogit.WorkOrder:firma | ||
| ogit.WorkOrder:vorname | ||
| ogit.WorkOrder:nachname | ||
| ogit:email | ||
| ogit.WorkOrder:telefon | ||
| ogit.WorkOrder:strasse | ||
| ogit.WorkOrder:plz | ||
| ogit.WorkOrder:ort | ||
| ogit.WorkOrder:iban | ||
| ogit.WorkOrder:taxId | ||
| ogit.WorkOrder:zahlungsziel | ||
| ogit.WorkOrder:stundensatz | ||
| ); | ||
| ogit:indexed-attributes ( | ||
| ogit:id | ||
| ogit.WorkOrder:kdnr | ||
| ogit:email | ||
| ); | ||
| ogit:allowed ( | ||
| [ ogit:belongs ogit.WorkOrder:Tenant ] | ||
| ); | ||
| . | ||
|
|
||
| # ── attributes ─────────────────────────────────────────────────────────── | ||
|
|
||
| ogit.WorkOrder:kdnr | ||
| a rdfs:Property; | ||
| rdfs:label "kdnr"; | ||
| dcterms:description "Customer number (Kundennummer). Tenant-local short code used on invoices and in correspondence."; | ||
| dcterms:source "AdaWorldAPI/WoA/models.py:Customer.kdnr"; | ||
| . | ||
|
|
||
| ogit.WorkOrder:firma | ||
| a rdfs:Property; | ||
| rdfs:label "firma"; | ||
| dcterms:description "Company name (Firma). Empty for private customers; in that case display falls back to vorname + nachname."; | ||
| dcterms:source "AdaWorldAPI/WoA/models.py:Customer.firma"; | ||
| . | ||
|
|
||
| ogit.WorkOrder:vorname | ||
| a rdfs:Property; | ||
| rdfs:label "vorname"; | ||
| dcterms:description "Given name (Vorname) of the contact person."; | ||
| dcterms:source "AdaWorldAPI/WoA/models.py:Customer.vorname"; | ||
| . | ||
|
|
||
| ogit.WorkOrder:nachname | ||
| a rdfs:Property; | ||
| rdfs:label "nachname"; | ||
| dcterms:description "Family name (Nachname) of the contact person."; | ||
| dcterms:source "AdaWorldAPI/WoA/models.py:Customer.nachname"; | ||
| . | ||
|
|
||
| ogit.WorkOrder:telefon | ||
| a rdfs:Property; | ||
| rdfs:label "telefon"; | ||
| dcterms:description "Telephone number (Telefon) of the customer. Free-form string; no E.164 normalization is enforced by the source model."; | ||
| dcterms:source "AdaWorldAPI/WoA/models.py:Customer.telefon"; | ||
| . | ||
|
|
||
| ogit.WorkOrder:strasse | ||
| a rdfs:Property; | ||
| rdfs:label "strasse"; | ||
| dcterms:description "Street and house number (Strasse)."; | ||
| dcterms:source "AdaWorldAPI/WoA/models.py:Customer.strasse"; | ||
| . | ||
|
|
||
| ogit.WorkOrder:plz | ||
| a rdfs:Property; | ||
| rdfs:label "plz"; | ||
| dcterms:description "Postal code (Postleitzahl)."; | ||
| dcterms:source "AdaWorldAPI/WoA/models.py:Customer.plz"; | ||
| . | ||
|
|
||
| ogit.WorkOrder:ort | ||
| a rdfs:Property; | ||
| rdfs:label "ort"; | ||
| dcterms:description "City / town (Ort)."; | ||
| dcterms:source "AdaWorldAPI/WoA/models.py:Customer.ort"; | ||
| . | ||
|
|
||
| ogit.WorkOrder:iban | ||
| a rdfs:Property; | ||
| rdfs:label "iban"; | ||
| dcterms:description "International Bank Account Number for SEPA payments. Optional; not modelled as a column in the current Python source but reserved here for the OGIT projection."; | ||
| dcterms:source "AdaWorldAPI/WoA/models.py:Customer"; | ||
| . | ||
|
|
||
| ogit.WorkOrder:taxId | ||
| a rdfs:Property; | ||
| rdfs:label "taxId"; | ||
| dcterms:description "Tax identification number (USt-IdNr / Steuernummer). Optional; reserved attribute for the OGIT projection of customer billing data."; | ||
| dcterms:source "AdaWorldAPI/WoA/models.py:Customer"; | ||
| . | ||
|
|
||
| ogit.WorkOrder:zahlungsziel | ||
| a rdfs:Property; | ||
| rdfs:label "zahlungsziel"; | ||
| dcterms:description "Payment term (Zahlungsziel) in days; default 14. Drives the faellig_am derivation on Order."; | ||
| dcterms:source "AdaWorldAPI/WoA/models.py:Customer.zahlungsziel"; | ||
| . | ||
|
|
||
| ogit.WorkOrder:stundensatz | ||
| a rdfs:Property; | ||
| rdfs:label "stundensatz"; | ||
| dcterms:description "Hourly rate (Stundensatz) in the tenant's currency, used by labour line items. Float, default 60.0."; | ||
| dcterms:source "AdaWorldAPI/WoA/models.py:Customer.stundensatz"; | ||
| . |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,42 @@ | ||
| @prefix ogit: <http://www.purl.org/ogit/> . | ||
| @prefix ogit.WorkOrder: <http://www.purl.org/ogit/WorkOrder/> . | ||
| @prefix owl: <http://www.w3.org/2002/07/owl#> . | ||
| @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> . | ||
| @prefix dcterms: <http://purl.org/dc/terms/> . | ||
|
|
||
| ogit.WorkOrder:CustomerPortalUser | ||
| a rdfs:Class; | ||
| rdfs:subClassOf ogit:Entity; | ||
| rdfs:label "CustomerPortalUser"; | ||
| dcterms:description "External self-service portal login bound to exactly one Customer. Authenticates via the same werkzeug pbkdf2:sha256 scheme as the internal User (with legacy SHA256+salt fallback and transparent upgrade), but has NO admin/superadmin scope. Used by customers to view their own work orders, invoices, and pay-status. Tracks last-login for audit, and carries an active-flag for soft-disabling and a forced-password-change marker."; | ||
| dcterms:source "AdaWorldAPI/WoA/models.py:CustomerPortalUser"; | ||
| dcterms:creator "bus-compiler"; | ||
| ogit:scope "NTO"; | ||
| ogit:parent ogit:Node; | ||
| ogit:mandatory-attributes ( | ||
| ogit:id | ||
| ); | ||
| ogit:optional-attributes ( | ||
| ogit.WorkOrder:username | ||
| ogit.WorkOrder:passwordHash | ||
| ogit.WorkOrder:aktiv | ||
| ogit.WorkOrder:mustChangePw | ||
| ogit.WorkOrder:lastLogin | ||
| ogit.WorkOrder:createdAt | ||
| ); | ||
| ogit:indexed-attributes ( | ||
| ogit.WorkOrder:username | ||
| ); | ||
| ogit:allowed ( | ||
| [ ogit:belongs ogit.WorkOrder:Customer ] | ||
| ); | ||
| . | ||
|
|
||
| # ── attributes ─────────────────────────────────────────────────────────── | ||
|
|
||
| ogit.WorkOrder:lastLogin | ||
| a rdfs:Property; | ||
| rdfs:label "lastLogin"; | ||
| dcterms:description "ISO-8601 UTC timestamp of the most recent successful portal login. Null on accounts that have never signed in."; | ||
| dcterms:source "AdaWorldAPI/WoA/models.py:CustomerPortalUser.last_login"; | ||
| . |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,32 @@ | ||
| @prefix ogit: <http://www.purl.org/ogit/> . | ||
| @prefix ogit.WorkOrder: <http://www.purl.org/ogit/WorkOrder/> . | ||
| @prefix owl: <http://www.w3.org/2002/07/owl#> . | ||
| @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> . | ||
| @prefix dcterms: <http://purl.org/dc/terms/> . | ||
|
|
||
| ogit.WorkOrder:HistoryEntry | ||
| a rdfs:Class; | ||
| rdfs:subClassOf ogit:Entity; | ||
| rdfs:label "HistoryEntry"; | ||
| dcterms:description "An immutable audit/log row for a WorkOrder. Records an action label (aktion), free-text details, the User who performed the action, and a creation timestamp. Append-only: every state change to an Order should produce one HistoryEntry."; | ||
| dcterms:source "AdaWorldAPI/WoA/models.py:HistoryEntry"; | ||
| dcterms:creator "family-codec-smith"; | ||
| ogit:scope "NTO"; | ||
| ogit:parent ogit:Node; | ||
| ogit:mandatory-attributes ( | ||
| ogit:id | ||
| ); | ||
| ogit:optional-attributes ( | ||
| ogit.WorkOrder:aktion | ||
| ogit.WorkOrder:details | ||
| ogit:created-at | ||
| ); | ||
| ogit:indexed-attributes ( | ||
| ogit:created-at | ||
| ogit.WorkOrder:aktion | ||
| ); | ||
| ogit:allowed ( | ||
| [ ogit:belongs ogit.WorkOrder:Order ] | ||
| [ ogit:relates ogit.WorkOrder:User ] | ||
| ); | ||
| . |
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Several attributes in these new entity attribute lists are never declared as
rdfs:Propertyanywhere in the added namespace: for this entitygeraet,logbuch, andinternare unresolved, andogit:created-atis also not an existing global attribute (the repo usesogit:createdAt). The same unresolved-reference pattern appears in HistoryEntry, Position, and Picture, so ontology consumers can load the entities but cannot resolve metadata/provenance for those attributes.Useful? React with 👍 / 👎.