From fadec446f8423746b8ab7fed22e4e713069a9ed9 Mon Sep 17 00:00:00 2001 From: --show-origin Date: Fri, 2 Feb 2024 23:02:36 -0800 Subject: [PATCH 1/5] feat(PlannedProductionOutput): harmonized for industry core --- .../2.0.0/PlannedProductionOutput.ttl | 134 ++++++++++++++++++ .../2.0.0/metadata.json | 1 + .../RELEASE_NOTES.md | 23 +++ 3 files changed, 158 insertions(+) create mode 100644 io.catenax.planned_production_output/2.0.0/PlannedProductionOutput.ttl create mode 100644 io.catenax.planned_production_output/2.0.0/metadata.json diff --git a/io.catenax.planned_production_output/2.0.0/PlannedProductionOutput.ttl b/io.catenax.planned_production_output/2.0.0/PlannedProductionOutput.ttl new file mode 100644 index 00000000..9bcd0449 --- /dev/null +++ b/io.catenax.planned_production_output/2.0.0/PlannedProductionOutput.ttl @@ -0,0 +1,134 @@ +####################################################################### +# Copyright (c) 2023-2024 ISTOS GmbH (a member of the DMG Mori Group) +# Copyright (c) 2023-2024 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V. (represented by Fraunhofer ISST) +# Copyright (c) 2023-2024 TRUMPF Werkzeugmaschinen SE + Co. KG +# Copyright (c) 2023-2024 Volkswagen AG +# Copyright (c) 2023-2024 Contributors to the Eclipse Foundation +# +# See the NOTICE file(s) distributed with this work for additional +# information regarding copyright ownership. +# +# This work is made available under the terms of the +# Creative Commons Attribution 4.0 International (CC-BY-4.0) license, +# which is available at +# https://creativecommons.org/licenses/by/4.0/legalcode. +# +# SPDX-License-Identifier: CC-BY-4.0 +####################################################################### +@prefix samm: . +@prefix samm-c: . +@prefix samm-e: . +@prefix unit: . +@prefix rdf: . +@prefix rdfs: . +@prefix xsd: . +@prefix : . +@prefix ext-number: . +@prefix ext-quantity: . +@prefix ext-uuid: . + +:PlannedProductionOutput a samm:Aspect; + samm:preferredName "Planned Production Output of a Supplier"@en; + samm:description "This aspect represents the remaining and planned production outputs of a supplier allocated to a customer. An allocated planned production output is described by a quantity, the site of the supplier and the date with time at which a production of a certain material for a certain customer is planned to be finished. The allocated planned production outputs may be linked to customer order position they have been scheduled for."@en; + samm:properties (:positions :materialGlobalAssetId); + samm:operations (); + samm:events (). +:positions a samm:Property; + samm:preferredName "Positions"@en; + samm:description "The positions refer to positions within an order of the given product (see material number supplier, materialNumber customer and material global Asset Id) for which the production outputs are transferred. The positions can be differentiated by the order position reference. If no order position reference is given, then there is only one position containing all planned production outputs of the product."@en; + samm:characteristic :PositionsSet. +:materialGlobalAssetId a samm:Property; + samm:preferredName "Material Number UUID of the Customer's Twin"@en; + samm:description "Material identifier used uniquely to identify the Material (e.g. PartAsPlanned)."@en; + samm:characteristic ext-uuid:UuidV4Trait; + samm:exampleValue "urn:uuid:48878d48-6f1d-47f5-8ded-a441d0d879df". +:PositionsSet a samm-c:Set; + samm:preferredName "Positions Set"@en; + samm:description "If any production for the customer is planned, then there is at least one position. If the supplier does differentiate the planned production according to the order positions (an OrderPositionReference is set), then multiple positions can be given. Among the positions, there could be only one position without an OrderPositionReference to either report the planned production independently of orders or to report internal stock orders planned for the customer."@en; + samm:dataType :Position. +:Position a samm:Entity; + samm:preferredName "Position"@en; + samm:description "The Position can be planned for production at several sites. A position may be anonymous or may reference a position within an order."@en; + samm:properties ([ + samm:property :orderPositionReference; + samm:optional "true"^^xsd:boolean +] :allocatedPlannedProductionOutputs). +:orderPositionReference a samm:Property; + samm:preferredName "Order Position Reference"@en; + samm:description "The order position reference contains information to identify a position within an order."@en; + samm:characteristic :OrderPositionReferenceCharacteristic. +:lastUpdatedOnDateTime a samm:Property; + samm:preferredName "Lasted Updated on Date"@en; + samm:description "Date and time at which the position has been updated by the supplier's systems. Date and time are set according to the timezone."@en; + samm:characteristic samm-c:Timestamp; + samm:exampleValue "2023-04-28T14:23:00.123456+14:00"^^xsd:dateTime. +:allocatedPlannedProductionOutputs a samm:Property; + samm:preferredName "Planned and Allocated Production Outputs"@en; + samm:description "Planned Production Outputs already allocated to the customer."@en; + samm:characteristic :AllocatedPlannedProductionOutputSet. +:OrderPositionReferenceCharacteristic a samm:Characteristic; + samm:preferredName "Order Position Reference Characteristic"@en; + samm:description "The order position reference includes reference numbers for the order and the position. As these information are meant for the customer, the customer reference numbers are mandatory."@en; + samm:dataType :OrderPositionReference. +:DateTimeStamp a samm:Characteristic; + samm:preferredName "Date Time Stamp Characteristic"@en; + samm:description "The Date with the timezone."@en; + samm:dataType xsd:dateTime; + samm:see . +:AllocatedPlannedProductionOutputSet a samm-c:Set; + samm:preferredName "Planned and Allocated Production Output Collection"@en; + samm:description "Set of planned and allocated production outputs that may relate to different production locations and estimated time of completions."@en; + samm:dataType :AllocatedPlannedProductionOutput. +:OrderPositionReference a samm:Entity; + samm:preferredName "Reference to Order Position"@en; + samm:description "Encapsulates the references to identify a position within an order."@en; + samm:properties ([ + samm:property :supplierOrderId; + samm:optional "true"^^xsd:boolean +] :customerOrderId :customerOrderPositionId). +:AllocatedPlannedProductionOutput a samm:Entity; + samm:preferredName "Planned and Allocated Production Output"@en; + samm:description "Quantity, site of the supplier and date with time at which a production of a certain material for a certain customer is planned to be finished."@en; + samm:properties (:plannedProductionQuantity :productionSiteBpns :estimatedTimeOfCompletion :lastUpdatedOnDateTime). +:supplierOrderId a samm:Property; + samm:preferredName "Supplier Order ID"@en; + samm:description "This is the order number on the supplier side that is given by e.g., the supplier's enterprise resource planning system."@en; + samm:characteristic :OrderIdCharacteristic; + samm:exampleValue "M-Nbr-4711". +:customerOrderId a samm:Property; + samm:preferredName "Customer Order ID"@en; + samm:description "This is the order number on the customer side that can be given by e.g., the customer's enterprise resource planning system."@en; + samm:characteristic :OrderIdCharacteristic; + samm:exampleValue "C-Nbr-4711". +:customerOrderPositionId a samm:Property; + samm:preferredName "Customer Order Position ID"@en; + samm:description "This is an identifier for the position of an order defined by the customer. It's not a technical identifier, such as an UUID. This identifier is used within the business context when talking about the position."@en; + samm:characteristic :OrderPositionIdCharacteristic; + samm:exampleValue "PositionId-01". +:plannedProductionQuantity a samm:Property; + samm:preferredName "Planned Production Quantity"@en; + samm:description "Quantity of a product that a supplier plans to produce on a certain date and time for a specific customer (that means that it will be allocated to a specific customer's \"allocated item stock\").\nQuantities that have already been produced are put on stock or are considered for delivery. Therefore those quantities MUST NOT be considered in the allocated production output to build a consistent view on the supply situation. "@en; + samm:characteristic :QuantityCharacteristic. +:productionSiteBpns a samm:Property; + samm:preferredName "BPNS of Supplier's Production Site"@en; + samm:description "One planned and allocated production output has always one site. The site is identified by the BPNS."@en; + samm:characteristic ext-number:BpnsTrait; + samm:exampleValue "BPNS0123456789ZZ"; + samm:see . +:estimatedTimeOfCompletion a samm:Property; + samm:preferredName "Estimated Time of Completion"@en; + samm:description "Date and time on which the planned and allocated production output is estimated to be completed. Date and time are set according to a timezone."@en; + samm:characteristic :DateTimeStamp; + samm:exampleValue "2023-04-01T14:23:00+01:00"^^xsd:dateTime. +:OrderIdCharacteristic a samm:Characteristic; + samm:preferredName "Order ID Characteristic"@en; + samm:description "This is a proprietary order ID, generated by either the supplier side or customer side."@en; + samm:dataType xsd:string. +:OrderPositionIdCharacteristic a samm:Characteristic; + samm:preferredName "Position ID within Order"@en; + samm:description "The position ID is unique for an order and used within business context to refer to a position."@en; + samm:dataType xsd:string. +:QuantityCharacteristic a samm-c:Quantifiable; + samm:preferredName "Quantity Characteristic"@en; + samm:description "Describes the quantity and the unit of measure with which the planned and allocated production output is measured."@en; + samm:dataType ext-quantity:ItemQuantityEntity. diff --git a/io.catenax.planned_production_output/2.0.0/metadata.json b/io.catenax.planned_production_output/2.0.0/metadata.json new file mode 100644 index 00000000..c22749ae --- /dev/null +++ b/io.catenax.planned_production_output/2.0.0/metadata.json @@ -0,0 +1 @@ +{ "status" : "release"} diff --git a/io.catenax.planned_production_output/RELEASE_NOTES.md b/io.catenax.planned_production_output/RELEASE_NOTES.md index 0ce5d135..b4baa801 100644 --- a/io.catenax.planned_production_output/RELEASE_NOTES.md +++ b/io.catenax.planned_production_output/RELEASE_NOTES.md @@ -1,6 +1,29 @@ # Changelog All notable changes to this model will be documented in this file. +## [2.0.0] - 2024-02-19 +### Added +n/a + +### Changed +- Update Collections to Set for stronger semantics + - PositionsCollection -> PositionsSet + - AllocatedPlannedProductionOutputCollection -> AllocatedPlannedProductionOutputSet +- lastUpdatedOnDateTime + - move from position to AllocatedPlannedProductionOutput + - use samm datatype instead of custom Characteristic +- updated dependencies + - io.catenax.shared.uuid + - io.catenax.shared.quantity + - io.catenax.shared.business_partner_number +- migrated samm version from 2.0.0 to 2.1.0 +- updated materialGlobalAssetId description to point to part type twin + +### Removed +- Harmonization for Industry Core + - materialNumberSupplier + - materialNumberCustomer + ## [1.0.0] - 2023-11-20 ### Added - initial model From 8eaaa744d78e6e397f9056f7c8945203a9651d69 Mon Sep 17 00:00:00 2001 From: --show-origin Date: Sun, 4 Feb 2024 01:13:14 -0800 Subject: [PATCH 2/5] chore(PlannedProductionOutput): added mandatoryness of globalAssetId to RELEASE_NOTES --- io.catenax.planned_production_output/RELEASE_NOTES.md | 1 + 1 file changed, 1 insertion(+) diff --git a/io.catenax.planned_production_output/RELEASE_NOTES.md b/io.catenax.planned_production_output/RELEASE_NOTES.md index b4baa801..84ed07fb 100644 --- a/io.catenax.planned_production_output/RELEASE_NOTES.md +++ b/io.catenax.planned_production_output/RELEASE_NOTES.md @@ -18,6 +18,7 @@ n/a - io.catenax.shared.business_partner_number - migrated samm version from 2.0.0 to 2.1.0 - updated materialGlobalAssetId description to point to part type twin +- make materialGlobalAssetId mandatory ### Removed - Harmonization for Industry Core From 0a2113ca2676e22abee7f42125e85f39e950507c Mon Sep 17 00:00:00 2001 From: --show-origin Date: Sun, 18 Feb 2024 10:16:22 -0800 Subject: [PATCH 3/5] chore(PlannedProductionOutput): migrated samm version to 2.1.0 --- .../2.0.0/PlannedProductionOutput.ttl | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/io.catenax.planned_production_output/2.0.0/PlannedProductionOutput.ttl b/io.catenax.planned_production_output/2.0.0/PlannedProductionOutput.ttl index 9bcd0449..8427c735 100644 --- a/io.catenax.planned_production_output/2.0.0/PlannedProductionOutput.ttl +++ b/io.catenax.planned_production_output/2.0.0/PlannedProductionOutput.ttl @@ -15,10 +15,10 @@ # # SPDX-License-Identifier: CC-BY-4.0 ####################################################################### -@prefix samm: . -@prefix samm-c: . -@prefix samm-e: . -@prefix unit: . +@prefix samm: . +@prefix samm-c: . +@prefix samm-e: . +@prefix unit: . @prefix rdf: . @prefix rdfs: . @prefix xsd: . @@ -59,7 +59,7 @@ samm:characteristic :OrderPositionReferenceCharacteristic. :lastUpdatedOnDateTime a samm:Property; samm:preferredName "Lasted Updated on Date"@en; - samm:description "Date and time at which the position has been updated by the supplier's systems. Date and time are set according to the timezone."@en; + samm:description "Date and time at which the allocated planned production output has been updated by the supplier's systems. Date and time are set according to the timezone."@en; samm:characteristic samm-c:Timestamp; samm:exampleValue "2023-04-28T14:23:00.123456+14:00"^^xsd:dateTime. :allocatedPlannedProductionOutputs a samm:Property; From 42c252fc259e12d6730e0eebf52af3dd5c46dad6 Mon Sep 17 00:00:00 2001 From: --show-origin Date: Mon, 19 Feb 2024 02:52:40 -0800 Subject: [PATCH 4/5] fix(PlannedProductionOutput): abstracted materialGlobalAssetId description --- .../2.0.0/PlannedProductionOutput.ttl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/io.catenax.planned_production_output/2.0.0/PlannedProductionOutput.ttl b/io.catenax.planned_production_output/2.0.0/PlannedProductionOutput.ttl index 8427c735..b4653a66 100644 --- a/io.catenax.planned_production_output/2.0.0/PlannedProductionOutput.ttl +++ b/io.catenax.planned_production_output/2.0.0/PlannedProductionOutput.ttl @@ -38,8 +38,8 @@ samm:description "The positions refer to positions within an order of the given product (see material number supplier, materialNumber customer and material global Asset Id) for which the production outputs are transferred. The positions can be differentiated by the order position reference. If no order position reference is given, then there is only one position containing all planned production outputs of the product."@en; samm:characteristic :PositionsSet. :materialGlobalAssetId a samm:Property; - samm:preferredName "Material Number UUID of the Customer's Twin"@en; - samm:description "Material identifier used uniquely to identify the Material (e.g. PartAsPlanned)."@en; + samm:preferredName "UUID of the Part Type Twin"@en; + samm:description "Identifier used uniquely to identify part type twin."@en; samm:characteristic ext-uuid:UuidV4Trait; samm:exampleValue "urn:uuid:48878d48-6f1d-47f5-8ded-a441d0d879df". :PositionsSet a samm-c:Set; From ea02f3ae16f3db0943eb2d8f89ef54882e89a9a6 Mon Sep 17 00:00:00 2001 From: --show-origin Date: Mon, 19 Feb 2024 07:39:56 -0800 Subject: [PATCH 5/5] feat(PlannedProductionOutput): changed estimatedTimeOfCompletion to use samm datatype --- .../2.0.0/PlannedProductionOutput.ttl | 9 ++------- io.catenax.planned_production_output/RELEASE_NOTES.md | 1 + 2 files changed, 3 insertions(+), 7 deletions(-) diff --git a/io.catenax.planned_production_output/2.0.0/PlannedProductionOutput.ttl b/io.catenax.planned_production_output/2.0.0/PlannedProductionOutput.ttl index b4653a66..4c8b245f 100644 --- a/io.catenax.planned_production_output/2.0.0/PlannedProductionOutput.ttl +++ b/io.catenax.planned_production_output/2.0.0/PlannedProductionOutput.ttl @@ -70,11 +70,6 @@ samm:preferredName "Order Position Reference Characteristic"@en; samm:description "The order position reference includes reference numbers for the order and the position. As these information are meant for the customer, the customer reference numbers are mandatory."@en; samm:dataType :OrderPositionReference. -:DateTimeStamp a samm:Characteristic; - samm:preferredName "Date Time Stamp Characteristic"@en; - samm:description "The Date with the timezone."@en; - samm:dataType xsd:dateTime; - samm:see . :AllocatedPlannedProductionOutputSet a samm-c:Set; samm:preferredName "Planned and Allocated Production Output Collection"@en; samm:description "Set of planned and allocated production outputs that may relate to different production locations and estimated time of completions."@en; @@ -118,8 +113,8 @@ :estimatedTimeOfCompletion a samm:Property; samm:preferredName "Estimated Time of Completion"@en; samm:description "Date and time on which the planned and allocated production output is estimated to be completed. Date and time are set according to a timezone."@en; - samm:characteristic :DateTimeStamp; - samm:exampleValue "2023-04-01T14:23:00+01:00"^^xsd:dateTime. + samm:characteristic samm-c:Timestamp; + samm:exampleValue "2023-04-29T14:23:00.123456+14:00"^^xsd:dateTime. :OrderIdCharacteristic a samm:Characteristic; samm:preferredName "Order ID Characteristic"@en; samm:description "This is a proprietary order ID, generated by either the supplier side or customer side."@en; diff --git a/io.catenax.planned_production_output/RELEASE_NOTES.md b/io.catenax.planned_production_output/RELEASE_NOTES.md index 84ed07fb..abff07b0 100644 --- a/io.catenax.planned_production_output/RELEASE_NOTES.md +++ b/io.catenax.planned_production_output/RELEASE_NOTES.md @@ -12,6 +12,7 @@ n/a - lastUpdatedOnDateTime - move from position to AllocatedPlannedProductionOutput - use samm datatype instead of custom Characteristic +- estimatedTimeOfCompletion -> use samm datatype instead of custom Characteristic - updated dependencies - io.catenax.shared.uuid - io.catenax.shared.quantity