diff --git a/.github/workflows/tavern-integration.yml b/.github/workflows/tavern-integration.yml index aa34533d05..d534c50cac 100644 --- a/.github/workflows/tavern-integration.yml +++ b/.github/workflows/tavern-integration.yml @@ -26,7 +26,7 @@ on: global-asset-id-asBuilt: type: string description: Global-asset-id to use for the asBuilt tests. - default: 'urn:uuid:7940e0cc-7814-41eb-8b04-d984a325deec' + default: 'urn:uuid:1b17682e-5e2a-4913-aa1b-7d59a072a3cb' required: true bpn-asBuilt: type: string @@ -66,7 +66,7 @@ jobs: KEYCLOAK_CLIENT_SECRET: ${{ secrets.ORG_IRS_OAUTH2_CLIENT_SECRET_INT }} GLOBAL_ASSET_ID_AS_PLANNED: ${{ github.event.inputs.global-asset-id-asPlanned || 'urn:uuid:0733946c-59c6-41ae-9570-cb43a6e4c79e' }} BPN_AS_PLANNED: ${{ github.event.inputs.bpn-asPlanned || 'BPNL00000003AYRE' }} - GLOBAL_ASSET_ID_AS_BUILT: ${{ github.event.inputs.global-asset-id-asBuilt || 'urn:uuid:7940e0cc-7814-41eb-8b04-d984a325deec' }} + GLOBAL_ASSET_ID_AS_BUILT: ${{ github.event.inputs.global-asset-id-asBuilt || 'urn:uuid:1b17682e-5e2a-4913-aa1b-7d59a072a3cb' }} BPN_AS_BUILT: ${{ github.event.inputs.bpn-asBuilt || 'BPNL00000003AYRE' }} run: | python -m pytest local/testing/api-tests/irs-api-tests.tavern.yaml --junitxml=tavern-results.xml diff --git a/.github/workflows/tavern.yml b/.github/workflows/tavern.yml index 66e364d9f4..d41dd2481d 100644 --- a/.github/workflows/tavern.yml +++ b/.github/workflows/tavern.yml @@ -26,7 +26,7 @@ on: global-asset-id-asBuilt: type: string description: Global-asset-id to use for the asBuilt tests. - default: 'urn:uuid:7940e0cc-7814-41eb-8b04-d984a325deec' + default: 'urn:uuid:1b17682e-5e2a-4913-aa1b-7d59a072a3cb' required: true bpn-asBuilt: type: string @@ -68,7 +68,7 @@ jobs: KEYCLOAK_CLIENT_SECRET: ${{ secrets.KEYCLOAK_OAUTH2_CLIENT_SECRET }} GLOBAL_ASSET_ID_AS_PLANNED: ${{ github.event.inputs.global-asset-id-asPlanned || 'urn:uuid:0733946c-59c6-41ae-9570-cb43a6e4c79e' }} BPN_AS_PLANNED: ${{ github.event.inputs.bpn-asPlanned || 'BPNL00000003AYRE' }} - GLOBAL_ASSET_ID_AS_BUILT: ${{ github.event.inputs.global-asset-id-asBuilt || 'urn:uuid:7940e0cc-7814-41eb-8b04-d984a325deec' }} + GLOBAL_ASSET_ID_AS_BUILT: ${{ github.event.inputs.global-asset-id-asBuilt || 'urn:uuid:1b17682e-5e2a-4913-aa1b-7d59a072a3cb' }} BPN_AS_BUILT: ${{ github.event.inputs.bpn-asBuilt || 'BPNL00000003AYRE' }} run: | python -m pytest local/testing/api-tests/irs-api-tests.tavern.yaml --junitxml=tavern-results.xml diff --git a/CHANGELOG.md b/CHANGELOG.md index 5d5c50610e..e83f66e442 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,14 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] ### Added - Added fetchCatalog to EDCCatalogFacade +- Introduced new API endpoint to update 'validUntil' property of Policy - PUT {{IRS_HOST}}/irs/policies/{policyId} + +### Fixed +- Fixed bug where BPN's were delivered without 'manufacturerName' property filled + +## [3.3.5] - 2023-08-30 +### Changed +- Updated IRS Digital Twin Registry Client to support latest version 0.3.14-M1 ## [3.3.4] - 2023-08-24 ### Fixed @@ -313,7 +321,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Unresolved - **Select Aspects you need** You are able to select the needed aspects for which you want to collect the correct endpoint information. -[Unreleased]: https://github.com/eclipse-tractusx/item-relationship-service/compare/3.3.4...HEAD +[Unreleased]: https://github.com/eclipse-tractusx/item-relationship-service/compare/3.3.5...HEAD +[3.3.5]: https://github.com/eclipse-tractusx/item-relationship-service/compare/3.3.4...3.3.5 [3.3.4]: https://github.com/eclipse-tractusx/item-relationship-service/compare/3.3.3...3.3.4 [3.3.3]: https://github.com/eclipse-tractusx/item-relationship-service/compare/3.3.2...3.3.3 [3.3.2]: https://github.com/eclipse-tractusx/item-relationship-service/compare/3.3.1...3.3.2 diff --git a/DEPENDENCIES b/DEPENDENCIES index d731363801..def802231d 100644 --- a/DEPENDENCIES +++ b/DEPENDENCIES @@ -158,7 +158,7 @@ maven/mavencentral/org.eclipse.tractusx.irs/irs-edc-client/0.0.2-SNAPSHOT, Apach maven/mavencentral/org.eclipse.tractusx.irs/irs-ess/0.0.2-SNAPSHOT, Apache-2.0, approved, automotive.tractusx maven/mavencentral/org.eclipse.tractusx.irs/irs-models/0.0.2-SNAPSHOT, Apache-2.0, approved, automotive.tractusx maven/mavencentral/org.eclipse.tractusx.irs/irs-policy-store/0.0.2-SNAPSHOT, Apache-2.0, approved, automotive.tractusx -maven/mavencentral/org.eclipse.tractusx.irs/irs-registry-client/1.1.1-SNAPSHOT, Apache-2.0, approved, automotive.tractusx +maven/mavencentral/org.eclipse.tractusx.irs/irs-registry-client/1.2.0-SNAPSHOT, Apache-2.0, approved, automotive.tractusx maven/mavencentral/org.glassfish/jakarta.json/2.0.1, EPL-2.0 OR GPL-2.0-only with Classpath-exception-2.0, approved, ee4j.jsonp maven/mavencentral/org.graalvm.sdk/graal-sdk/23.0.1, UPL-1.0, approved, #9850 maven/mavencentral/org.hamcrest/hamcrest-core/2.2, BSD-3-Clause, approved, clearlydefined diff --git a/SECURITY.md b/SECURITY.md index 7acb29898e..5c3c67ac4a 100644 --- a/SECURITY.md +++ b/SECURITY.md @@ -1,7 +1,19 @@ # Security Policy - ## Reporting a Vulnerability -Please report a found vulnerability here: -[https://www.eclipse.org/security/](https://www.eclipse.org/security/) +Please do **not** report security vulnerabilities through public GitHub issues. + +Please report vulnerabilities to this repository via **GitHub security advisories** instead. + +__How?__ Inside affected repository --> security tab + +for contributor: +--> Report a vulnerability + +for committer: +--> advisories --> New draft security advisory + +In severe cases, you can also report a found vulnerability via mail or eclipse issue here: https://www.eclipse.org/security/ + +See [Eclipse Foundation Vulnerability Reporting Policy](https://www.eclipse.org/projects/handbook/#vulnerability). diff --git a/charts/irs-helm/CHANGELOG.md b/charts/irs-helm/CHANGELOG.md index 16a99c0a6e..493c1a3cc1 100644 --- a/charts/irs-helm/CHANGELOG.md +++ b/charts/irs-helm/CHANGELOG.md @@ -6,6 +6,13 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [6.5.0] - 2023-08-30 +### Added +- Added configurable values for `digitalTwinRegistry.shellDescriptorTemplate` and `digitalTwinRegistry.lookupShellsTemplate` + +### Changed +- Update IRS version to 3.3.5 + ## [6.4.2] - 2023-08-11 ### Added - Added entry to .helmignore to only accept values.yaml diff --git a/charts/irs-helm/Chart.yaml b/charts/irs-helm/Chart.yaml index 1975c76a8c..933b149f6b 100644 --- a/charts/irs-helm/Chart.yaml +++ b/charts/irs-helm/Chart.yaml @@ -35,12 +35,12 @@ type: application # This is the chart version. This version number should be incremented each time you make changes # to the chart and its templates, including the app version. # Versions are expected to follow Semantic Versioning (https://semver.org/) -version: 6.4.2 +version: 6.5.0 # This is the version number of the application being deployed. This version number should be # incremented each time you make changes to the application. Versions are not expected to # follow Semantic Versioning. They should reflect the version the application is using. # It is recommended to use it with quotes. -appVersion: "3.3.4" +appVersion: "3.3.5" dependencies: - name: common repository: https://charts.bitnami.com/bitnami diff --git a/charts/irs-helm/templates/configmap-spring-app-config.yaml b/charts/irs-helm/templates/configmap-spring-app-config.yaml index 307c51fb1a..dfd02f8d1d 100644 --- a/charts/irs-helm/templates/configmap-spring-app-config.yaml +++ b/charts/irs-helm/templates/configmap-spring-app-config.yaml @@ -70,6 +70,8 @@ data: descriptorEndpoint: {{ tpl (.Values.digitalTwinRegistry.descriptorEndpoint | default "") . | quote }} shellLookupEndpoint: {{ tpl (.Values.digitalTwinRegistry.shellLookupEndpoint | default "") . | quote }} discoveryFinderUrl: {{ tpl (.Values.digitalTwinRegistry.discoveryFinderUrl | default "") . | quote }} + shellDescriptorTemplate: {{ .Values.digitalTwinRegistry.shellDescriptorTemplate | default "" | quote }} + lookupShellsTemplate: {{ .Values.digitalTwinRegistry.lookupShellsTemplate | default "" | quote }} type: {{ tpl (.Values.digitalTwinRegistry.type | default "") . | quote }} semanticshub: diff --git a/charts/irs-helm/values.yaml b/charts/irs-helm/values.yaml index cdb2e48f4f..f8f9fdf77c 100644 --- a/charts/irs-helm/values.yaml +++ b/charts/irs-helm/values.yaml @@ -116,6 +116,8 @@ digitalTwinRegistry: {{ tpl (.Values.digitalTwinRegistry.url | default "") . }}/shell-descriptors/{aasIdentifier} shellLookupEndpoint: >- {{ tpl (.Values.digitalTwinRegistry.url | default "") . }}/lookup/shells?assetIds={assetIds} + shellDescriptorTemplate: /shell-descriptors/{aasIdentifier} # The path to retrieve AAS descriptors from the decentral DTR, must contain the placeholder {aasIdentifier} + lookupShellsTemplate: /lookup/shells?assetIds={assetIds} # The path to lookup shells from the decentral DTR, must contain the placeholder {assetIds} discoveryFinderUrl: # "https:// semanticshub: url: # https:// diff --git a/docs/src/api/irs-v1.0.yaml b/docs/src/api/irs-v1.0.yaml index 2b772d4aea..22573c9b15 100644 --- a/docs/src/api/irs-v1.0.yaml +++ b/docs/src/api/irs-v1.0.yaml @@ -880,6 +880,57 @@ paths: summary: Removes a policy that should no longer be accepted in EDC negotiation. tags: - Item Relationship Service + put: + description: Updates an existing policy with new validUntil value. + operationId: updateAllowedPolicy + parameters: + - in: path + name: policyId + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/UpdatePolicyRequest' + required: true + responses: + "200": + description: OK + "400": + content: + application/json: + examples: + error: + $ref: '#/components/examples/error-response-400' + schema: + $ref: '#/components/schemas/ErrorResponse' + description: Policy update failed. + "401": + content: + application/json: + examples: + error: + $ref: '#/components/examples/error-response-401' + schema: + $ref: '#/components/schemas/ErrorResponse' + description: No valid authentication credentials. + "403": + content: + application/json: + examples: + error: + $ref: '#/components/examples/error-response-403' + schema: + $ref: '#/components/schemas/ErrorResponse' + description: Authorization refused by server. + security: + - oAuth2: + - profile email + summary: Updates an existing policy with new validUntil value. + tags: + - Item Relationship Service components: examples: canceled-job-response: @@ -2335,6 +2386,18 @@ components: type: array items: $ref: '#/components/schemas/AspectModel' + UpdatePolicyRequest: + type: object + additionalProperties: false + description: Request to add a policy + properties: + validUntil: + type: string + format: date-time + description: Timestamp after which the policy will no longer be accepted + in negotiations + required: + - validUntil securitySchemes: oAuth2: flows: diff --git a/docs/src/uml-diagrams/policy-store/policy-store-model.puml b/docs/src/uml-diagrams/policy-store/policy-store-model.puml new file mode 100644 index 0000000000..3dccadd62c --- /dev/null +++ b/docs/src/uml-diagrams/policy-store/policy-store-model.puml @@ -0,0 +1,72 @@ +@startuml +'https://plantuml.com/class-diagram + +'https://www.w3.org/TR/odrl-model/' + +class Policy { + * policyId : String + createdOn : OffsetDateTime + validUntil : OffsetDateTime + permissions : Collection +} + +class Permission { + action : PolicyType + constraints : List +} + +note left + AND (and) + OR (or) + XONE (xone) + ANDSEQUENCE (andsequence) +end note + +class Constraint { + leftOperand : String + operator : OperatorType + rightOperand : List +} + +'https://www.w3.org/TR/odrl-vocab/#constraintRelationalOperators' +enum OperatorType { + EQ (eq, "Equals to") + NEQ (neq, "Not equal to") + LT (lt, "Less than") + GT (gt, "Greater than") + IN (in, "In") + LTEQ (lteq, "Less than or equal to") + GTEQ (gteq, "Greater than or equal to") + ISA (isA, "Is a") + HASPART (hasPart, "Has part") + ISPARTOF (isPartOf, "Is part of") + IAO (isAllOf, "Is all of") + ISALLOF (isAllOf, "Is all of") + ISNONEOF (isNoneOf, "Is none of") +} + +'"@id": "http://www.w3.org/ns/odrl/2/gt"' +'"@id": "http://www.w3.org/ns/odrl/2/gteq"' +'"@id": "http://www.w3.org/ns/odrl/2/isPartOf"' +'"@id": "http://www.w3.org/ns/odrl/2/hasPart"' +'"@id": "http://www.w3.org/ns/odrl/2/isAnyOf"' +'"@id": "http://www.w3.org/ns/odrl/2/lteq"' +'"@id": "http://www.w3.org/ns/odrl/2/eq"' +'"@id": "http://www.w3.org/ns/odrl/2/neq"' +'"@id": "http://www.w3.org/ns/odrl/2/isNoneOf"' +'"@id": "http://www.w3.org/ns/odrl/2/lt"' +'"@id": "http://www.w3.org/ns/odrl/2/isAllOf"' +'"@id": "http://www.w3.org/ns/odrl/2/isA"' + +enum PolicyType { + ACCESS + USE +} + + + +Policy ||--|{ Permission +Permission ||--|| PolicyType +Permission ||--|{ Constraint +Constraint ||--|| OperatorType +@enduml \ No newline at end of file diff --git a/irs-api/src/main/java/org/eclipse/tractusx/irs/configuration/RegistryConfiguration.java b/irs-api/src/main/java/org/eclipse/tractusx/irs/configuration/RegistryConfiguration.java index 4c51d7a8cf..8bdc8c0e5d 100644 --- a/irs-api/src/main/java/org/eclipse/tractusx/irs/configuration/RegistryConfiguration.java +++ b/irs-api/src/main/java/org/eclipse/tractusx/irs/configuration/RegistryConfiguration.java @@ -67,7 +67,9 @@ public DigitalTwinRegistryClient digitalTwinRegistryClientImpl( @ConditionalOnProperty(prefix = "digitalTwinRegistry", name = "type", havingValue = "decentral") public DecentralDigitalTwinRegistryService decentralDigitalTwinRegistryService( @Qualifier(RestTemplateConfig.EDC_REST_TEMPLATE) final RestTemplate edcRestTemplate, - final ConnectorEndpointsService connectorEndpointsService, final EdcSubmodelFacade facade) { + final ConnectorEndpointsService connectorEndpointsService, final EdcSubmodelFacade facade, + @Value("${digitalTwinRegistry.shellDescriptorTemplate:}") final String shellDescriptorTemplate, + @Value("${digitalTwinRegistry.lookupShellsTemplate:}") final String lookupShellsTemplate) { return new DecentralDigitalTwinRegistryService(connectorEndpointsService, new EndpointDataForConnectorsService((edcConnectorEndpoint, assetType, assetValue) -> { try { @@ -75,7 +77,8 @@ public DecentralDigitalTwinRegistryService decentralDigitalTwinRegistryService( } catch (EdcClientException e) { throw new EdcRetrieverException(e); } - }), new DecentralDigitalTwinRegistryClient(edcRestTemplate)); + }), + new DecentralDigitalTwinRegistryClient(edcRestTemplate, shellDescriptorTemplate, lookupShellsTemplate)); } @Bean diff --git a/irs-api/src/main/java/org/eclipse/tractusx/irs/controllers/BatchController.java b/irs-api/src/main/java/org/eclipse/tractusx/irs/controllers/BatchController.java index 3094d6e4dd..b1ea019ac8 100644 --- a/irs-api/src/main/java/org/eclipse/tractusx/irs/controllers/BatchController.java +++ b/irs-api/src/main/java/org/eclipse/tractusx/irs/controllers/BatchController.java @@ -41,6 +41,7 @@ import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.eclipse.tractusx.irs.IrsApplication; +import org.eclipse.tractusx.irs.common.auth.IrsRoles; import org.eclipse.tractusx.irs.component.BatchOrderCreated; import org.eclipse.tractusx.irs.component.BatchOrderResponse; import org.eclipse.tractusx.irs.component.BatchResponse; @@ -113,7 +114,7 @@ public class BatchController { }) @PostMapping("/orders") @ResponseStatus(HttpStatus.CREATED) - @PreAuthorize("@authorizationService.verifyBpn() && hasAuthority('view_irs')") + @PreAuthorize("@authorizationService.verifyBpn() && hasAnyAuthority('" + IrsRoles.ADMIN_IRS + "', '" + IrsRoles.VIEW_IRS + "')") public BatchOrderCreated registerBatchOrder(final @Valid @RequestBody RegisterBatchOrder request) { final UUID batchOrderId = creationBatchService.create(request); return BatchOrderCreated.builder().id(batchOrderId).build(); @@ -157,7 +158,7 @@ public BatchOrderCreated registerBatchOrder(final @Valid @RequestBody RegisterBa }), }) @GetMapping("/orders/{orderId}") - @PreAuthorize("@authorizationService.verifyBpn() && hasAuthority('view_irs')") + @PreAuthorize("@authorizationService.verifyBpn() && hasAnyAuthority('" + IrsRoles.ADMIN_IRS + "', '" + IrsRoles.VIEW_IRS + "')") public BatchOrderResponse getBatchOrder( @Parameter(description = "Id of the order.", schema = @Schema(implementation = UUID.class), name = "orderId", example = "6c311d29-5753-46d4-b32c-19b918ea93b0") @Size(min = IrsAppConstants.JOB_ID_SIZE, @@ -203,7 +204,7 @@ public BatchOrderResponse getBatchOrder( }), }) @GetMapping("/orders/{orderId}/batches/{batchId}") - @PreAuthorize("@authorizationService.verifyBpn() && hasAuthority('view_irs')") + @PreAuthorize("@authorizationService.verifyBpn() && hasAnyAuthority('" + IrsRoles.ADMIN_IRS + "', '" + IrsRoles.VIEW_IRS + "')") public BatchResponse getBatch( @Parameter(description = "Id of the order.", schema = @Schema(implementation = UUID.class), name = "orderId", example = "6c311d29-5753-46d4-b32c-19b918ea93b0") @Size(min = IrsAppConstants.JOB_ID_SIZE, @@ -252,7 +253,7 @@ public BatchResponse getBatch( }), }) @PutMapping("/orders/{orderId}") - @PreAuthorize("@authorizationService.verifyBpn() && hasAuthority('view_irs')") + @PreAuthorize("@authorizationService.verifyBpn() && hasAnyAuthority('" + IrsRoles.ADMIN_IRS + "', '" + IrsRoles.VIEW_IRS + "')") public BatchOrderResponse cancelBatchOrder( @Parameter(description = "Id of the order.", schema = @Schema(implementation = UUID.class), name = "orderId", example = "6c311d29-5753-46d4-b32c-19b918ea93b0") @Size(min = IrsAppConstants.JOB_ID_SIZE, diff --git a/irs-api/src/main/java/org/eclipse/tractusx/irs/controllers/IrsController.java b/irs-api/src/main/java/org/eclipse/tractusx/irs/controllers/IrsController.java index b053bdd728..6729e836a6 100644 --- a/irs-api/src/main/java/org/eclipse/tractusx/irs/controllers/IrsController.java +++ b/irs-api/src/main/java/org/eclipse/tractusx/irs/controllers/IrsController.java @@ -46,6 +46,7 @@ import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.eclipse.tractusx.irs.IrsApplication; +import org.eclipse.tractusx.irs.common.auth.IrsRoles; import org.eclipse.tractusx.irs.component.Job; import org.eclipse.tractusx.irs.component.JobHandle; import org.eclipse.tractusx.irs.component.Jobs; @@ -87,8 +88,6 @@ }) public class IrsController { - - private final IrsItemGraphQueryService itemJobService; private final SemanticHubService semanticHubService; private final AuthorizationService authorizationService; @@ -127,7 +126,7 @@ public class IrsController { @IrsTimer("registerjob") @PostMapping("/jobs") @ResponseStatus(HttpStatus.CREATED) - @PreAuthorize("@authorizationService.verifyBpn() && hasAuthority('view_irs')") + @PreAuthorize("@authorizationService.verifyBpn() && hasAnyAuthority('" + IrsRoles.ADMIN_IRS + "', '" + IrsRoles.VIEW_IRS + "')") public JobHandle registerJobForGlobalAssetId(final @Valid @RequestBody RegisterJob request) { return itemJobService.registerItemJob(request); } @@ -178,7 +177,7 @@ public JobHandle registerJobForGlobalAssetId(final @Valid @RequestBody RegisterJ }) @IrsTimer("getjob") @GetMapping("/jobs/{id}") - @PreAuthorize("@authorizationService.verifyBpn() && hasAuthority('view_irs')") + @PreAuthorize("@authorizationService.verifyBpn() && hasAnyAuthority('" + IrsRoles.ADMIN_IRS + "', '" + IrsRoles.VIEW_IRS + "')") public Jobs getJobById( @Parameter(description = "Id of the job.", schema = @Schema(implementation = UUID.class), name = "id", example = "6c311d29-5753-46d4-b32c-19b918ea93b0") @Size(min = IrsAppConstants.JOB_ID_SIZE, @@ -227,7 +226,7 @@ public Jobs getJobById( }) @IrsTimer("canceljob") @PutMapping("/jobs/{id}") - @PreAuthorize("@authorizationService.verifyBpn() && hasAuthority('view_irs')") + @PreAuthorize("@authorizationService.verifyBpn() && hasAnyAuthority('" + IrsRoles.ADMIN_IRS + "', '" + IrsRoles.VIEW_IRS + "')") public Job cancelJobByJobId( @Parameter(description = "Id of the job.", schema = @Schema(implementation = UUID.class), name = "id", example = "6c311d29-5753-46d4-b32c-19b918ea93b0") @Size(min = IrsAppConstants.JOB_ID_SIZE, @@ -269,7 +268,7 @@ public Job cancelJobByJobId( @IrsTimer("getjobbystate") @GetMapping("/jobs") @PageableAsQueryParam - @PreAuthorize("@authorizationService.verifyBpn() && hasAuthority('view_irs')") + @PreAuthorize("@authorizationService.verifyBpn() && hasAnyAuthority('" + IrsRoles.ADMIN_IRS + "', '" + IrsRoles.VIEW_IRS + "')") public PageResult getJobsByState( @Valid @ParameterObject @Parameter(description = "Requested job states.", in = QUERY, explode = Explode.FALSE, array = @ArraySchema(schema = @Schema(implementation = JobState.class), maxItems = Integer.MAX_VALUE)) @@ -305,7 +304,7 @@ public PageResult getJobsByState( }), }) @GetMapping("/aspectmodels") - @PreAuthorize("@authorizationService.verifyBpn() && hasAuthority('view_irs')") + @PreAuthorize("@authorizationService.verifyBpn() && hasAnyAuthority('" + IrsRoles.ADMIN_IRS + "', '" + IrsRoles.VIEW_IRS + "')") public AspectModels getAllAvailableAspectModels() throws SchemaNotFoundException { return semanticHubService.getAllAspectModels(); } diff --git a/irs-api/src/main/java/org/eclipse/tractusx/irs/services/IrsItemGraphQueryService.java b/irs-api/src/main/java/org/eclipse/tractusx/irs/services/IrsItemGraphQueryService.java index 6b63d122e9..03e00e7f7c 100644 --- a/irs-api/src/main/java/org/eclipse/tractusx/irs/services/IrsItemGraphQueryService.java +++ b/irs-api/src/main/java/org/eclipse/tractusx/irs/services/IrsItemGraphQueryService.java @@ -73,6 +73,7 @@ import org.eclipse.tractusx.irs.semanticshub.SemanticsHubFacade; import org.eclipse.tractusx.irs.services.validation.SchemaNotFoundException; import org.eclipse.tractusx.irs.util.JsonUtil; +import org.jetbrains.annotations.NotNull; import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.support.MutableSortDefinition; @@ -109,6 +110,8 @@ public class IrsItemGraphQueryService implements IIrsItemGraphQueryService { private final String bpdmUrl; + private final SecurityHelperService securityHelperService; + public IrsItemGraphQueryService(final JobOrchestrator orchestrator, final JobStore jobStore, @Qualifier(JOB_BLOB_PERSISTENCE) final BlobPersistence blobStore, final MeterRegistryService meterRegistryService, final SemanticsHubFacade semanticsHubFacade, @@ -121,11 +124,12 @@ public IrsItemGraphQueryService(final JobOrchestrator states, final Pageable pageable) { - final List jobs = states.isEmpty() ? jobStore.findAll() : jobStore.findByStates(states); + final List jobs = filterJobs(states); final List jobStatusResults = jobs.stream() .map(job -> JobStatusResult.builder() .id(job.getJob().getId()) @@ -140,6 +144,15 @@ public PageResult getJobsByState(final @NonNull List states, final Pag return new PageResult(paginateAndSortResults(pageable, jobStatusResults)); } + private List filterJobs(final @NotNull List states) { + final List jobs = states.isEmpty() ? jobStore.findAll() : jobStore.findByStates(states); + if (securityHelperService.isAdmin()) { + return jobs; + } else { + return jobs.stream().filter(multiJob -> multiJob.getJob().getOwner().equals(securityHelperService.getClientIdForViewIrs())).toList(); + } + } + @Override public PageResult getJobsByState(@NonNull final List states, @NonNull final List jobStates, final Pageable pageable) { @@ -241,6 +254,11 @@ public Job cancelJobById(final @NonNull UUID jobId) { final String idAsString = String.valueOf(jobId); final Optional canceled = this.jobStore.cancelJob(idAsString); + canceled.ifPresent(cancelledJob -> { + if (!securityHelperService.isAdmin() && !cancelledJob.getJob().getOwner().equals(securityHelperService.getClientIdForViewIrs())) { + throw new ResponseStatusException(HttpStatus.FORBIDDEN, "Cannot access and cancel job with id " + jobId + " due to missing privileges."); + } + }); canceled.ifPresent(cancelledJob -> applicationEventPublisher.publishEvent( new JobProcessingFinishedEvent(cancelledJob.getJobIdString(), cancelledJob.getJob().getState().name(), cancelledJob.getJobParameter().getCallbackUrl(), cancelledJob.getBatchId()))); @@ -257,6 +275,10 @@ public Jobs getJobForJobId(final UUID jobId, final boolean includePartialResults if (multiTransferJob.isPresent()) { final MultiTransferJob multiJob = multiTransferJob.get(); + if (!securityHelperService.isAdmin() && !multiJob.getJob().getOwner().equals(securityHelperService.getClientIdForViewIrs())) { + throw new ResponseStatusException(HttpStatus.FORBIDDEN, "Cannot access job with id " + jobId + " due to missing privileges."); + } + final var relationships = new ArrayList(); final var tombstones = new ArrayList(); final var shells = new ArrayList(); diff --git a/irs-api/src/main/java/org/eclipse/tractusx/irs/services/SecurityHelperService.java b/irs-api/src/main/java/org/eclipse/tractusx/irs/services/SecurityHelperService.java index 08f71f6ec4..9f6ca2d8cb 100644 --- a/irs-api/src/main/java/org/eclipse/tractusx/irs/services/SecurityHelperService.java +++ b/irs-api/src/main/java/org/eclipse/tractusx/irs/services/SecurityHelperService.java @@ -22,9 +22,13 @@ ********************************************************************************/ package org.eclipse.tractusx.irs.services; +import java.util.Collections; +import java.util.List; import java.util.Optional; +import org.eclipse.tractusx.irs.common.auth.IrsRoles; import org.springframework.security.core.Authentication; +import org.springframework.security.core.GrantedAuthority; import org.springframework.security.core.context.SecurityContextHolder; import org.springframework.security.oauth2.jwt.Jwt; import org.springframework.security.oauth2.server.resource.authentication.JwtAuthenticationToken; @@ -46,6 +50,29 @@ public String getBpnClaim() { return getClaimOrUnknown(BPN); } + public boolean isAdmin() { + return getIrsRoles().contains(IrsRoles.ADMIN_IRS); + } + + public String getClientIdForViewIrs() { + if (getIrsRoles().contains(IrsRoles.VIEW_IRS)) { + return getClientIdClaim(); + } + return ""; + } + + private List getIrsRoles() { + final Authentication authentication = getAuthenticationFromSecurityContext(); + + if (authentication instanceof JwtAuthenticationToken jwtAuthenticationToken) { + return jwtAuthenticationToken.getAuthorities() + .stream() + .map(GrantedAuthority::getAuthority) + .toList(); + } + return Collections.emptyList(); + } + private String getClaimOrUnknown(final String claimName) { final Authentication authentication = getAuthenticationFromSecurityContext(); diff --git a/irs-api/src/main/resources/application.yml b/irs-api/src/main/resources/application.yml index 47a2e0dd3a..4ed5c371ed 100644 --- a/irs-api/src/main/resources/application.yml +++ b/irs-api/src/main/resources/application.yml @@ -167,6 +167,8 @@ digitalTwinRegistry: type: ${DIGITALTWINREGISTRY_TYPE:decentral} # The type of DTR. This can be either "central" or "decentral". If "decentral", descriptorEndpoint, shellLookupEndpoint and oAuthClientId is not required. descriptorEndpoint: ${DIGITALTWINREGISTRY_DESCRIPTOR_URL:} # The endpoint to retrieve AAS descriptors from the DTR, must contain the placeholder {aasIdentifier} shellLookupEndpoint: ${DIGITALTWINREGISTRY_SHELL_LOOKUP_URL:} # The endpoint to lookup shells from the DTR, must contain the placeholder {assetIds} + shellDescriptorTemplate: ${DIGITALTWINREGISTRY_SHELL_DESCRIPTOR_TEMPLATE:/shell-descriptors/{aasIdentifier}} # The path to retrieve AAS descriptors from the decentral DTR, must contain the placeholder {aasIdentifier} + lookupShellsTemplate: ${DIGITALTWINREGISTRY_QUERY_SHELLS_PATH:/lookup/shells?assetIds={assetIds}} # The path to lookup shells from the decentral DTR, must contain the placeholder {assetIds} oAuthClientId: keycloak # ID of the OAuth2 client registration to use, see config spring.security.oauth2.client discoveryFinderUrl: ${DIGITALTWINREGISTRY_DISCOVERY_FINDER_URL:} # The endpoint to discover EDC endpoints to a particular BPN. timeout: diff --git a/irs-api/src/test/java/org/eclipse/tractusx/irs/IrsFunctionalTest.java b/irs-api/src/test/java/org/eclipse/tractusx/irs/IrsFunctionalTest.java index 0f14d346da..c67c32fb61 100644 --- a/irs-api/src/test/java/org/eclipse/tractusx/irs/IrsFunctionalTest.java +++ b/irs-api/src/test/java/org/eclipse/tractusx/irs/IrsFunctionalTest.java @@ -34,6 +34,7 @@ import java.util.concurrent.Callable; import java.util.concurrent.TimeUnit; +import org.eclipse.tractusx.irs.common.auth.IrsRoles; import org.eclipse.tractusx.irs.component.JobHandle; import org.eclipse.tractusx.irs.component.Jobs; import org.eclipse.tractusx.irs.component.RegisterJob; @@ -179,7 +180,7 @@ void shouldFillSummaryWithBPNLookup() { private void thereIsJwtAuthentication() { final JwtAuthenticationToken jwtAuthenticationToken = new JwtAuthenticationToken(jwt(), - List.of(new SimpleGrantedAuthority("view_irs"))); + List.of(new SimpleGrantedAuthority(IrsRoles.VIEW_IRS))); jwtAuthenticationToken.setAuthenticated(true); SecurityContext securityContext = Mockito.mock(SecurityContext.class); when(securityContext.getAuthentication()).thenReturn(jwtAuthenticationToken); diff --git a/irs-api/src/test/java/org/eclipse/tractusx/irs/controllers/BatchControllerTest.java b/irs-api/src/test/java/org/eclipse/tractusx/irs/controllers/BatchControllerTest.java index 383281e3cb..c9d0322ab8 100644 --- a/irs-api/src/test/java/org/eclipse/tractusx/irs/controllers/BatchControllerTest.java +++ b/irs-api/src/test/java/org/eclipse/tractusx/irs/controllers/BatchControllerTest.java @@ -34,6 +34,7 @@ import java.util.UUID; import com.fasterxml.jackson.databind.ObjectMapper; +import org.eclipse.tractusx.irs.common.auth.IrsRoles; import org.eclipse.tractusx.irs.component.BatchOrderResponse; import org.eclipse.tractusx.irs.component.BatchResponse; import org.eclipse.tractusx.irs.component.RegisterBatchOrder; @@ -42,7 +43,6 @@ import org.eclipse.tractusx.irs.services.CreationBatchService; import org.eclipse.tractusx.irs.services.QueryBatchService; import org.eclipse.tractusx.irs.services.timeouts.CancelBatchProcessingService; -import org.junit.jupiter.api.Disabled; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest; @@ -80,7 +80,7 @@ void shouldReturnUnauthorizedWhenAuthenticationIsMissing() throws Exception { } @Test - @WithMockUser(authorities = "view_irs") + @WithMockUser(authorities = IrsRoles.VIEW_IRS) void shouldReturnBadRequestWhenGlobalAssetIdWithWrongFormat() throws Exception { when(authorizationService.verifyBpn()).thenReturn(Boolean.TRUE); @@ -91,7 +91,7 @@ void shouldReturnBadRequestWhenGlobalAssetIdWithWrongFormat() throws Exception { } @Test - @WithMockUser(authorities = "view_irs") + @WithMockUser(authorities = IrsRoles.VIEW_IRS) void shouldReturnBadRequestWhenBatchSizeNotMod10Compliant() throws Exception { when(authorizationService.verifyBpn()).thenReturn(Boolean.TRUE); @@ -103,7 +103,7 @@ void shouldReturnBadRequestWhenBatchSizeNotMod10Compliant() throws Exception { } @Test - @WithMockUser(authorities = "view_irs") + @WithMockUser(authorities = IrsRoles.VIEW_IRS) void shouldRegisterBatchOrder() throws Exception { when(authorizationService.verifyBpn()).thenReturn(Boolean.TRUE); @@ -114,7 +114,7 @@ void shouldRegisterBatchOrder() throws Exception { } @Test - @WithMockUser(authorities = "view_irs") + @WithMockUser(authorities = IrsRoles.VIEW_IRS) void shouldReturnBatchOrder() throws Exception { when(authorizationService.verifyBpn()).thenReturn(Boolean.TRUE); @@ -127,7 +127,7 @@ void shouldReturnBatchOrder() throws Exception { } @Test - @WithMockUser(authorities = "view_irs") + @WithMockUser(authorities = IrsRoles.VIEW_IRS) void shouldReturnBatch() throws Exception { final UUID orderId = UUID.randomUUID(); final UUID batchId = UUID.randomUUID(); @@ -142,7 +142,7 @@ void shouldReturnBatch() throws Exception { } @Test - @WithMockUser(authorities = "view_irs") + @WithMockUser(authorities = IrsRoles.VIEW_IRS) void shouldCancelBatchOrder() throws Exception { when(authorizationService.verifyBpn()).thenReturn(Boolean.TRUE); diff --git a/irs-api/src/test/java/org/eclipse/tractusx/irs/services/IrsItemGraphQueryServiceSpringBootTest.java b/irs-api/src/test/java/org/eclipse/tractusx/irs/services/IrsItemGraphQueryServiceSpringBootTest.java index dfde7c8c4e..598bb3bbc2 100644 --- a/irs-api/src/test/java/org/eclipse/tractusx/irs/services/IrsItemGraphQueryServiceSpringBootTest.java +++ b/irs-api/src/test/java/org/eclipse/tractusx/irs/services/IrsItemGraphQueryServiceSpringBootTest.java @@ -32,6 +32,7 @@ import static org.hamcrest.Matchers.equalTo; import static org.junit.jupiter.api.Assertions.assertThrows; import static org.mockito.ArgumentMatchers.any; +import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; import java.time.ZonedDateTime; @@ -68,6 +69,11 @@ import org.springframework.boot.test.context.SpringBootTest; import org.springframework.boot.test.mock.mockito.MockBean; import org.springframework.context.annotation.Import; +import org.springframework.security.core.authority.SimpleGrantedAuthority; +import org.springframework.security.core.context.SecurityContext; +import org.springframework.security.core.context.SecurityContextHolder; +import org.springframework.security.oauth2.jwt.Jwt; +import org.springframework.security.oauth2.server.resource.authentication.JwtAuthenticationToken; import org.springframework.test.context.ActiveProfiles; import org.springframework.web.server.ResponseStatusException; @@ -190,6 +196,8 @@ void registerJobWithDepthShouldBuildTreeUntilGivenDepth() { final int expectedRelationshipsSizeFirstDepth = 34; // stub + setSecurityContext(); + // when final JobHandle registeredJob = service.registerItemJob(registerJob); @@ -242,6 +250,8 @@ void cancelJobById() { jobStore.create(multiTransferJob); + setSecurityContext(); + assertThat(service.cancelJobById(jobId)).isNotNull(); final Optional fetchedJob = jobStore.find(idAsString); @@ -294,10 +304,23 @@ void shouldThrowIllegalArgumentExceptionForLifecycleAsSpecifiedAndDirectionUpwar } private int getRelationshipsSize(final UUID jobId) { + setSecurityContext(); return service.getJobForJobId(jobId, false).getRelationships().size(); } + private static void setSecurityContext() { + JwtAuthenticationToken jwtAuthenticationToken = mock(JwtAuthenticationToken.class); + Jwt token = mock(Jwt.class); + when(jwtAuthenticationToken.getAuthorities()).thenReturn(List.of(new SimpleGrantedAuthority("admin_irs"))); + when(jwtAuthenticationToken.getToken()).thenReturn(token); + when(token.getClaim("clientId")).thenReturn("test-client-id"); + SecurityContext securityContext = mock(SecurityContext.class); + when(securityContext.getAuthentication()).thenReturn(jwtAuthenticationToken); + SecurityContextHolder.setContext(securityContext); + } + private int getSubmodelsSize(final UUID jobId) { + setSecurityContext(); return service.getJobForJobId(jobId, false).getSubmodels().size(); } @@ -323,6 +346,7 @@ void checkMetricsRecordingTest() { } private int getTombstonesSize(final UUID jobId) { + setSecurityContext(); return service.getJobForJobId(jobId, false).getTombstones().size(); } diff --git a/irs-api/src/test/java/org/eclipse/tractusx/irs/services/IrsItemGraphQueryServiceTest.java b/irs-api/src/test/java/org/eclipse/tractusx/irs/services/IrsItemGraphQueryServiceTest.java index 2d4811538b..c9f03ba594 100644 --- a/irs-api/src/test/java/org/eclipse/tractusx/irs/services/IrsItemGraphQueryServiceTest.java +++ b/irs-api/src/test/java/org/eclipse/tractusx/irs/services/IrsItemGraphQueryServiceTest.java @@ -28,6 +28,8 @@ import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertNotNull; import static org.junit.jupiter.api.Assertions.assertThrows; +import static org.mockito.Mockito.lenient; +import static org.mockito.Mockito.mock; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; @@ -39,6 +41,7 @@ import org.eclipse.tractusx.irs.aaswrapper.job.AASTransferProcess; import org.eclipse.tractusx.irs.aaswrapper.job.ItemContainer; +import org.eclipse.tractusx.irs.common.auth.IrsRoles; import org.eclipse.tractusx.irs.component.Job; import org.eclipse.tractusx.irs.component.Jobs; import org.eclipse.tractusx.irs.component.PageResult; @@ -63,6 +66,11 @@ import org.springframework.context.ApplicationEventPublisher; import org.springframework.data.domain.Pageable; import org.springframework.http.HttpStatus; +import org.springframework.security.core.authority.SimpleGrantedAuthority; +import org.springframework.security.core.context.SecurityContext; +import org.springframework.security.core.context.SecurityContextHolder; +import org.springframework.security.oauth2.jwt.Jwt; +import org.springframework.security.oauth2.server.resource.authentication.JwtAuthenticationToken; import org.springframework.web.server.ResponseStatusException; @ExtendWith(MockitoExtension.class) @@ -89,6 +97,7 @@ class IrsItemGraphQueryServiceTest { @Test void registerItemJobWithoutDepthShouldBuildFullTree() throws Exception { // given + setupSecurityContextWithRole(IrsRoles.ADMIN_IRS); final var jobId = UUID.randomUUID(); final AASTransferProcess transfer1 = generate.aasTransferProcess(); givenTransferResultIsStored(transfer1); @@ -125,6 +134,8 @@ private byte[] toBlob(final Object transfer) { @Test void cancelJobById() { + setupSecurityContextWithRole(IrsRoles.ADMIN_IRS); + final Job job = generate.fakeJob(JobState.CANCELED); final MultiTransferJob multiTransferJob = MultiTransferJob.builder().job(job).build(); @@ -136,6 +147,18 @@ void cancelJobById() { assertEquals(canceledJob.getState().name(), JobState.CANCELED.name()); } + @Test + void shouldThrowForbiddenExceptionWhenCancelingAnotherOwnerJob() { + setupSecurityContextWithRole(IrsRoles.VIEW_IRS); + + final Job job = generate.fakeJob(JobState.CANCELED); + + final MultiTransferJob multiTransferJob = MultiTransferJob.builder().job(job).build(); + when(jobStore.cancelJob(jobId.toString())).thenReturn(Optional.ofNullable(multiTransferJob)); + + assertThrows(ResponseStatusException.class, () -> testee.cancelJobById(jobId)); + } + @Test void cancelJobById_throwEntityNotFoundException() { when(jobStore.cancelJob(jobId.toString())).thenThrow( @@ -146,6 +169,7 @@ void cancelJobById_throwEntityNotFoundException() { @Test void shouldReturnFoundJobs() { + setupSecurityContextWithRole(IrsRoles.ADMIN_IRS); final List states = List.of(JobState.COMPLETED); final MultiTransferJob multiTransferJob = MultiTransferJob.builder() .job(generate.fakeJob(JobState.COMPLETED)) @@ -240,4 +264,15 @@ void shouldThrowExceptionWhenLookupBpnAndBpdmEndpointUrlIsMissing() throws Schem assertThrows(ResponseStatusException.class, executable); } + private static void setupSecurityContextWithRole(final String irsRole) { + JwtAuthenticationToken jwtAuthenticationToken = mock(JwtAuthenticationToken.class); + Jwt token = mock(Jwt.class); + when(jwtAuthenticationToken.getAuthorities()).thenReturn(List.of(new SimpleGrantedAuthority(irsRole))); + lenient().when(jwtAuthenticationToken.getToken()).thenReturn(token); + lenient().when(token.getClaim("clientId")).thenReturn("test-client-id"); + SecurityContext securityContext = mock(SecurityContext.class); + when(securityContext.getAuthentication()).thenReturn(jwtAuthenticationToken); + SecurityContextHolder.setContext(securityContext); + } + } \ No newline at end of file diff --git a/irs-common/src/main/java/org/eclipse/tractusx/irs/common/auth/IrsRoles.java b/irs-common/src/main/java/org/eclipse/tractusx/irs/common/auth/IrsRoles.java new file mode 100644 index 0000000000..7024ffe41b --- /dev/null +++ b/irs-common/src/main/java/org/eclipse/tractusx/irs/common/auth/IrsRoles.java @@ -0,0 +1,35 @@ +/******************************************************************************** + * Copyright (c) 2021,2022,2023 + * 2022: ZF Friedrichshafen AG + * 2022: ISTOS GmbH + * 2022,2023: Bayerische Motoren Werke Aktiengesellschaft (BMW AG) + * 2022,2023: BOSCH AG + * Copyright (c) 2021,2022,2023 Contributors to the Eclipse Foundation + * + * See the NOTICE file(s) distributed with this work for additional + * information regarding copyright ownership. + * + * This program and the accompanying materials are made available under the + * terms of the Apache License, Version 2.0 which is available at + * https://www.apache.org/licenses/LICENSE-2.0. * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + * + * SPDX-License-Identifier: Apache-2.0 + ********************************************************************************/ +package org.eclipse.tractusx.irs.common.auth; + +import lombok.AccessLevel; +import lombok.NoArgsConstructor; + +/** + * Technical user roles + */ +@NoArgsConstructor(access = AccessLevel.PRIVATE) +public final class IrsRoles { + public static final String ADMIN_IRS = "admin_irs"; + public static final String VIEW_IRS = "view_irs"; +} diff --git a/irs-cucumber-tests/src/test/resources/expected-files/TRI-528-expected-relationships.json b/irs-cucumber-tests/src/test/resources/expected-files/TRI-528-expected-relationships.json index 5c48643670..ff55d0d254 100644 --- a/irs-cucumber-tests/src/test/resources/expected-files/TRI-528-expected-relationships.json +++ b/irs-cucumber-tests/src/test/resources/expected-files/TRI-528-expected-relationships.json @@ -1,339 +1,72 @@ { - "relationships" : [ { - "catenaXId" : "urn:uuid:262de409-5d2b-439e-853a-d63a23078b2a", - "linkedItem" : { - "quantity" : { - "quantityNumber" : 2.5, - "measurementUnit" : { - "datatypeURI" : null, - "lexicalValue" : "unit:litre" - } - }, - "lifecycleContext" : "asBuilt", - "assembledOn" : "2022-02-03T14:48:54.709Z", - "lastModifiedOn" : "2022-02-03T14:48:54.709Z", - "childCatenaXId" : "urn:uuid:01707bbd-3c02-4ddd-8b27-9512beb6a7ee" - }, - "aspectType" : "SingleLevelBomAsBuilt" - }, { - "catenaXId" : "urn:uuid:262de409-5d2b-439e-853a-d63a23078b2a", - "linkedItem" : { - "quantity" : { - "quantityNumber" : 0.11, - "measurementUnit" : { - "datatypeURI" : null, - "lexicalValue" : "unit:kilogram" - } - }, - "lifecycleContext" : "asBuilt", - "assembledOn" : "2022-02-03T14:48:54.709Z", - "lastModifiedOn" : "2022-02-03T14:48:54.709Z", - "childCatenaXId" : "urn:uuid:bb7c5da8-95b7-483e-9d7b-91c8cd86b352" - }, - "aspectType" : "SingleLevelBomAsBuilt" - }, { - "catenaXId" : "urn:uuid:262de409-5d2b-439e-853a-d63a23078b2a", - "linkedItem" : { - "quantity" : { - "quantityNumber" : 2.5, - "measurementUnit" : { - "datatypeURI" : null, - "lexicalValue" : "unit:litre" - } - }, - "lifecycleContext" : "asBuilt", - "assembledOn" : "2022-02-03T14:48:54.709Z", - "lastModifiedOn" : "2022-02-03T14:48:54.709Z", - "childCatenaXId" : "urn:uuid:6d00abcf-3fcd-4bef-b582-42b8513443e8" - }, - "aspectType" : "SingleLevelBomAsBuilt" - }, { - "catenaXId" : "urn:uuid:262de409-5d2b-439e-853a-d63a23078b2a", - "linkedItem" : { - "quantity" : { - "quantityNumber" : 2.5, - "measurementUnit" : { - "datatypeURI" : null, - "lexicalValue" : "unit:litre" - } - }, - "lifecycleContext" : "asBuilt", - "assembledOn" : "2022-02-03T14:48:54.709Z", - "lastModifiedOn" : "2022-02-03T14:48:54.709Z", - "childCatenaXId" : "urn:uuid:9cca4ee0-3169-456d-b38f-40205ecaf538" - }, - "aspectType" : "SingleLevelBomAsBuilt" - }, { - "catenaXId" : "urn:uuid:262de409-5d2b-439e-853a-d63a23078b2a", - "linkedItem" : { - "quantity" : { - "quantityNumber" : 2.5, - "measurementUnit" : { - "datatypeURI" : null, - "lexicalValue" : "unit:litre" - } - }, - "lifecycleContext" : "asBuilt", - "assembledOn" : "2022-02-03T14:48:54.709Z", - "lastModifiedOn" : "2022-02-03T14:48:54.709Z", - "childCatenaXId" : "urn:uuid:b98fb4b9-0055-4277-a069-6d7d30cca6bb" - }, - "aspectType" : "SingleLevelBomAsBuilt" - }, { - "catenaXId" : "urn:uuid:262de409-5d2b-439e-853a-d63a23078b2a", - "linkedItem" : { - "quantity" : { - "quantityNumber" : 2.5, - "measurementUnit" : { - "datatypeURI" : null, - "lexicalValue" : "unit:litre" - } - }, - "lifecycleContext" : "asBuilt", - "assembledOn" : "2022-02-03T14:48:54.709Z", - "lastModifiedOn" : "2022-02-03T14:48:54.709Z", - "childCatenaXId" : "urn:uuid:c7c7240c-3031-4cf0-bcc8-3e4cd0989522" - }, - "aspectType" : "SingleLevelBomAsBuilt" - }, { - "catenaXId" : "urn:uuid:262de409-5d2b-439e-853a-d63a23078b2a", - "linkedItem" : { - "quantity" : { - "quantityNumber" : 2.5, - "measurementUnit" : { - "datatypeURI" : null, - "lexicalValue" : "unit:litre" - } - }, - "lifecycleContext" : "asBuilt", - "assembledOn" : "2022-02-03T14:48:54.709Z", - "lastModifiedOn" : "2022-02-03T14:48:54.709Z", - "childCatenaXId" : "urn:uuid:20e09b06-74fb-4a7c-b7eb-9c7b2f1da8e2" - }, - "aspectType" : "SingleLevelBomAsBuilt" - }, { - "catenaXId" : "urn:uuid:262de409-5d2b-439e-853a-d63a23078b2a", - "linkedItem" : { - "quantity" : { - "quantityNumber" : 2.5, - "measurementUnit" : { - "datatypeURI" : null, - "lexicalValue" : "unit:litre" - } - }, - "lifecycleContext" : "asBuilt", - "assembledOn" : "2022-02-03T14:48:54.709Z", - "lastModifiedOn" : "2022-02-03T14:48:54.709Z", - "childCatenaXId" : "urn:uuid:0672a353-f06c-4efe-8082-6d4a62baf566" - }, - "aspectType" : "SingleLevelBomAsBuilt" - }, { - "catenaXId" : "urn:uuid:262de409-5d2b-439e-853a-d63a23078b2a", - "linkedItem" : { - "quantity" : { - "quantityNumber" : 2.5, - "measurementUnit" : { - "datatypeURI" : null, - "lexicalValue" : "unit:litre" - } - }, - "lifecycleContext" : "asBuilt", - "assembledOn" : "2022-02-03T14:48:54.709Z", - "lastModifiedOn" : "2022-02-03T14:48:54.709Z", - "childCatenaXId" : "urn:uuid:38f15aee-f940-4188-aa77-fae880cd2a41" - }, - "aspectType" : "SingleLevelBomAsBuilt" - }, { - "catenaXId" : "urn:uuid:262de409-5d2b-439e-853a-d63a23078b2a", - "linkedItem" : { - "quantity" : { - "quantityNumber" : 2.5, - "measurementUnit" : { - "datatypeURI" : null, - "lexicalValue" : "unit:litre" - } - }, - "lifecycleContext" : "asBuilt", - "assembledOn" : "2022-02-03T14:48:54.709Z", - "lastModifiedOn" : "2022-02-03T14:48:54.709Z", - "childCatenaXId" : "urn:uuid:451a2c68-bc76-4418-b3f5-29c19e9cf2f1" - }, - "aspectType" : "SingleLevelBomAsBuilt" - }, { - "catenaXId" : "urn:uuid:262de409-5d2b-439e-853a-d63a23078b2a", - "linkedItem" : { - "quantity" : { - "quantityNumber" : 2.5, - "measurementUnit" : { - "datatypeURI" : null, - "lexicalValue" : "unit:litre" - } - }, - "lifecycleContext" : "asBuilt", - "assembledOn" : "2022-02-03T14:48:54.709Z", - "lastModifiedOn" : "2022-02-03T14:48:54.709Z", - "childCatenaXId" : "urn:uuid:bcecbd06-2096-48be-8e51-2247f86f5342" - }, - "aspectType" : "SingleLevelBomAsBuilt" - }, { - "catenaXId" : "urn:uuid:01707bbd-3c02-4ddd-8b27-9512beb6a7ee", - "linkedItem" : { - "quantity" : { - "quantityNumber" : 2.5, - "measurementUnit" : { - "datatypeURI" : null, - "lexicalValue" : "unit:litre" - } - }, - "lifecycleContext" : "asBuilt", - "assembledOn" : "2022-02-03T14:48:54.709Z", - "lastModifiedOn" : "2022-02-03T14:48:54.709Z", - "childCatenaXId" : "urn:uuid:d0c74546-b586-4657-be64-2b44d2324d13" - }, - "aspectType" : "SingleLevelBomAsBuilt" - }, { - "catenaXId" : "urn:uuid:6d00abcf-3fcd-4bef-b582-42b8513443e8", - "linkedItem" : { - "quantity" : { - "quantityNumber" : 2.5, - "measurementUnit" : { - "datatypeURI" : null, - "lexicalValue" : "unit:litre" - } - }, - "lifecycleContext" : "asBuilt", - "assembledOn" : "2022-02-03T14:48:54.709Z", - "lastModifiedOn" : "2022-02-03T14:48:54.709Z", - "childCatenaXId" : "urn:uuid:1f676f7e-d31d-4b34-bdf6-1fcccea7a8b3" - }, - "aspectType" : "SingleLevelBomAsBuilt" - }, { - "catenaXId" : "urn:uuid:9cca4ee0-3169-456d-b38f-40205ecaf538", - "linkedItem" : { - "quantity" : { - "quantityNumber" : 2.5, - "measurementUnit" : { - "datatypeURI" : null, - "lexicalValue" : "unit:litre" - } - }, - "lifecycleContext" : "asBuilt", - "assembledOn" : "2022-02-03T14:48:54.709Z", - "lastModifiedOn" : "2022-02-03T14:48:54.709Z", - "childCatenaXId" : "urn:uuid:1f676f7e-d31d-4b34-bdf6-1fcccea7a8b3" - }, - "aspectType" : "SingleLevelBomAsBuilt" - }, { - "catenaXId" : "urn:uuid:b98fb4b9-0055-4277-a069-6d7d30cca6bb", - "linkedItem" : { - "quantity" : { - "quantityNumber" : 2.5, - "measurementUnit" : { - "datatypeURI" : null, - "lexicalValue" : "unit:litre" - } - }, - "lifecycleContext" : "asBuilt", - "assembledOn" : "2022-02-03T14:48:54.709Z", - "lastModifiedOn" : "2022-02-03T14:48:54.709Z", - "childCatenaXId" : "urn:uuid:d0c74546-b586-4657-be64-2b44d2324d13" - }, - "aspectType" : "SingleLevelBomAsBuilt" - }, { - "catenaXId" : "urn:uuid:c7c7240c-3031-4cf0-bcc8-3e4cd0989522", - "linkedItem" : { - "quantity" : { - "quantityNumber" : 2.5, - "measurementUnit" : { - "datatypeURI" : null, - "lexicalValue" : "unit:litre" - } - }, - "lifecycleContext" : "asBuilt", - "assembledOn" : "2022-02-03T14:48:54.709Z", - "lastModifiedOn" : "2022-02-03T14:48:54.709Z", - "childCatenaXId" : "urn:uuid:d0c74546-b586-4657-be64-2b44d2324d13" - }, - "aspectType" : "SingleLevelBomAsBuilt" - }, { - "catenaXId" : "urn:uuid:20e09b06-74fb-4a7c-b7eb-9c7b2f1da8e2", - "linkedItem" : { - "quantity" : { - "quantityNumber" : 2.5, - "measurementUnit" : { - "datatypeURI" : null, - "lexicalValue" : "unit:litre" - } - }, - "lifecycleContext" : "asBuilt", - "assembledOn" : "2022-02-03T14:48:54.709Z", - "lastModifiedOn" : "2022-02-03T14:48:54.709Z", - "childCatenaXId" : "urn:uuid:1f676f7e-d31d-4b34-bdf6-1fcccea7a8b3" - }, - "aspectType" : "SingleLevelBomAsBuilt" - }, { - "catenaXId" : "urn:uuid:0672a353-f06c-4efe-8082-6d4a62baf566", - "linkedItem" : { - "quantity" : { - "quantityNumber" : 2.5, - "measurementUnit" : { - "datatypeURI" : null, - "lexicalValue" : "unit:litre" - } - }, - "lifecycleContext" : "asBuilt", - "assembledOn" : "2022-02-03T14:48:54.709Z", - "lastModifiedOn" : "2022-02-03T14:48:54.709Z", - "childCatenaXId" : "urn:uuid:1f676f7e-d31d-4b34-bdf6-1fcccea7a8b3" - }, - "aspectType" : "SingleLevelBomAsBuilt" - }, { - "catenaXId" : "urn:uuid:38f15aee-f940-4188-aa77-fae880cd2a41", - "linkedItem" : { - "quantity" : { - "quantityNumber" : 2.5, - "measurementUnit" : { - "datatypeURI" : null, - "lexicalValue" : "unit:litre" - } - }, - "lifecycleContext" : "asBuilt", - "assembledOn" : "2022-02-03T14:48:54.709Z", - "lastModifiedOn" : "2022-02-03T14:48:54.709Z", - "childCatenaXId" : "urn:uuid:d0c74546-b586-4657-be64-2b44d2324d13" - }, - "aspectType" : "SingleLevelBomAsBuilt" - }, { - "catenaXId" : "urn:uuid:451a2c68-bc76-4418-b3f5-29c19e9cf2f1", - "linkedItem" : { - "quantity" : { - "quantityNumber" : 2.5, - "measurementUnit" : { - "datatypeURI" : null, - "lexicalValue" : "unit:litre" - } - }, - "lifecycleContext" : "asBuilt", - "assembledOn" : "2022-02-03T14:48:54.709Z", - "lastModifiedOn" : "2022-02-03T14:48:54.709Z", - "childCatenaXId" : "urn:uuid:d0c74546-b586-4657-be64-2b44d2324d13" - }, - "aspectType" : "SingleLevelBomAsBuilt" - }, { - "catenaXId" : "urn:uuid:bcecbd06-2096-48be-8e51-2247f86f5342", - "linkedItem" : { - "quantity" : { - "quantityNumber" : 2.5, - "measurementUnit" : { - "datatypeURI" : null, - "lexicalValue" : "unit:litre" - } - }, - "lifecycleContext" : "asBuilt", - "assembledOn" : "2022-02-03T14:48:54.709Z", - "lastModifiedOn" : "2022-02-03T14:48:54.709Z", - "childCatenaXId" : "urn:uuid:d0c74546-b586-4657-be64-2b44d2324d13" - }, - "aspectType" : "SingleLevelBomAsBuilt" - } ] + "relationships" : [ + { + "catenaXId": "urn:uuid:cce2c864-0e42-4695-ba16-e34fa092906b", + "linkedItem": { + "quantity": { + "quantityNumber": 2.5, + "measurementUnit": { + "datatypeURI": null, + "lexicalValue": "unit:litre" + } + }, + "lifecycleContext": "asBuilt", + "assembledOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z", + "childCatenaXId": "urn:uuid:2c74b701-0d31-4977-be94-42aae3b1ccde" + }, + "aspectType": "SingleLevelBomAsBuilt" + }, + { + "catenaXId": "urn:uuid:cce2c864-0e42-4695-ba16-e34fa092906b", + "linkedItem": { + "quantity": { + "quantityNumber": 0.2341, + "measurementUnit": { + "datatypeURI": null, + "lexicalValue": "unit:kilogram" + } + }, + "lifecycleContext": "asBuilt", + "assembledOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z", + "childCatenaXId": "urn:uuid:13931e36-2319-4c18-896d-c99ac9fd5b9f" + }, + "aspectType": "SingleLevelBomAsBuilt" + }, + { + "catenaXId": "urn:uuid:cce2c864-0e42-4695-ba16-e34fa092906b", + "linkedItem": { + "quantity": { + "quantityNumber": 0.2014, + "measurementUnit": { + "datatypeURI": null, + "lexicalValue": "unit:kilogram" + } + }, + "lifecycleContext": "asBuilt", + "assembledOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z", + "childCatenaXId": "urn:uuid:9a852ada-7d42-4a85-8a19-300503e234ae" + }, + "aspectType": "SingleLevelBomAsBuilt" + }, + { + "catenaXId": "urn:uuid:2c74b701-0d31-4977-be94-42aae3b1ccde", + "linkedItem": { + "quantity": { + "quantityNumber": 0.1908, + "measurementUnit": { + "datatypeURI": null, + "lexicalValue": "unit:kilogram" + } + }, + "lifecycleContext": "asBuilt", + "assembledOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z", + "childCatenaXId": "urn:uuid:abce35f9-22c7-4a3b-b897-6f866a8039b7" + }, + "aspectType": "SingleLevelBomAsBuilt" + } + ] } \ No newline at end of file diff --git a/irs-cucumber-tests/src/test/resources/expected-files/TRI-528-expected-submodels.json b/irs-cucumber-tests/src/test/resources/expected-files/TRI-528-expected-submodels.json index 6dabf14ea1..5c7f5a885b 100644 --- a/irs-cucumber-tests/src/test/resources/expected-files/TRI-528-expected-submodels.json +++ b/irs-cucumber-tests/src/test/resources/expected-files/TRI-528-expected-submodels.json @@ -1,1538 +1,382 @@ { - "submodels" : [ { - "identification" : "eae8a8c6-dc66-415b-832b-b0dd95926363", - "aspectType" : "urn:bamm:io.catenax.single_level_bom_as_built:1.0.0#SingleLevelBomAsBuilt", - "payload" : { - "catenaXId" : "urn:uuid:262de409-5d2b-439e-853a-d63a23078b2a", - "childItems" : [ { - "catenaXId" : "urn:uuid:bb7c5da8-95b7-483e-9d7b-91c8cd86b352", - "quantity" : { - "quantityNumber" : 0.11, - "measurementUnit" : "unit:kilogram" - }, - "businessPartner" : "BPNL00000003AYRE", - "createdOn" : "2022-02-03T14:48:54.709Z", - "lastModifiedOn" : "2022-02-03T14:48:54.709Z" - }, { - "catenaXId" : "urn:uuid:9cca4ee0-3169-456d-b38f-40205ecaf538", - "quantity" : { - "quantityNumber" : 2.5, - "measurementUnit" : "unit:litre" - }, - "businessPartner" : "BPNL50096894aNXY", - "createdOn" : "2022-02-03T14:48:54.709Z", - "lastModifiedOn" : "2022-02-03T14:48:54.709Z" - }, { - "catenaXId" : "urn:uuid:6d00abcf-3fcd-4bef-b582-42b8513443e8", - "quantity" : { - "quantityNumber" : 2.5, - "measurementUnit" : "unit:litre" - }, - "businessPartner" : "BPNL50096894aNXY", - "createdOn" : "2022-02-03T14:48:54.709Z", - "lastModifiedOn" : "2022-02-03T14:48:54.709Z" - }, { - "catenaXId" : "urn:uuid:b98fb4b9-0055-4277-a069-6d7d30cca6bb", - "quantity" : { - "quantityNumber" : 2.5, - "measurementUnit" : "unit:litre" - }, - "businessPartner" : "BPNL50096894aNXY", - "createdOn" : "2022-02-03T14:48:54.709Z", - "lastModifiedOn" : "2022-02-03T14:48:54.709Z" - }, { - "catenaXId" : "urn:uuid:38f15aee-f940-4188-aa77-fae880cd2a41", - "quantity" : { - "quantityNumber" : 2.5, - "measurementUnit" : "unit:litre" - }, - "businessPartner" : "BPNL50096894aNXY", - "createdOn" : "2022-02-03T14:48:54.709Z", - "lastModifiedOn" : "2022-02-03T14:48:54.709Z" - }, { - "catenaXId" : "urn:uuid:c7c7240c-3031-4cf0-bcc8-3e4cd0989522", - "quantity" : { - "quantityNumber" : 2.5, - "measurementUnit" : "unit:litre" - }, - "businessPartner" : "BPNL50096894aNXY", - "createdOn" : "2022-02-03T14:48:54.709Z", - "lastModifiedOn" : "2022-02-03T14:48:54.709Z" - }, { - "catenaXId" : "urn:uuid:01707bbd-3c02-4ddd-8b27-9512beb6a7ee", - "quantity" : { - "quantityNumber" : 2.5, - "measurementUnit" : "unit:litre" - }, - "businessPartner" : "BPNL50096894aNXY", - "createdOn" : "2022-02-03T14:48:54.709Z", - "lastModifiedOn" : "2022-02-03T14:48:54.709Z" - }, { - "catenaXId" : "urn:uuid:bcecbd06-2096-48be-8e51-2247f86f5342", - "quantity" : { - "quantityNumber" : 2.5, - "measurementUnit" : "unit:litre" - }, - "businessPartner" : "BPNL50096894aNXY", - "createdOn" : "2022-02-03T14:48:54.709Z", - "lastModifiedOn" : "2022-02-03T14:48:54.709Z" - }, { - "catenaXId" : "urn:uuid:20e09b06-74fb-4a7c-b7eb-9c7b2f1da8e2", - "quantity" : { - "quantityNumber" : 2.5, - "measurementUnit" : "unit:litre" - }, - "businessPartner" : "BPNL50096894aNXY", - "createdOn" : "2022-02-03T14:48:54.709Z", - "lastModifiedOn" : "2022-02-03T14:48:54.709Z" - }, { - "catenaXId" : "urn:uuid:0672a353-f06c-4efe-8082-6d4a62baf566", - "quantity" : { - "quantityNumber" : 2.5, - "measurementUnit" : "unit:litre" - }, - "businessPartner" : "BPNL50096894aNXY", - "createdOn" : "2022-02-03T14:48:54.709Z", - "lastModifiedOn" : "2022-02-03T14:48:54.709Z" - }, { - "catenaXId" : "urn:uuid:451a2c68-bc76-4418-b3f5-29c19e9cf2f1", - "quantity" : { - "quantityNumber" : 2.5, - "measurementUnit" : "unit:litre" - }, - "businessPartner" : "BPNL50096894aNXY", - "createdOn" : "2022-02-03T14:48:54.709Z", - "lastModifiedOn" : "2022-02-03T14:48:54.709Z" - } ] - } - }, { - "identification" : "71d6c097-78f5-4636-8d20-d1dee5e73311", - "aspectType" : "urn:bamm:io.catenax.serial_part:1.1.0#SerialPart", - "payload" : { - "localIdentifiers" : [ { - "value" : "BPNL00000003AZQP", - "key" : "manufacturerId" - }, { - "value" : "8840837-48", - "key" : "manufacturerPartId" - }, { - "value" : "NO-011111441138073980809146", - "key" : "partInstanceId" - } ], - "manufacturingInformation" : { - "date" : "2022-02-04T14:48:54", - "country" : "DEU" - }, - "catenaXId" : "urn:uuid:262de409-5d2b-439e-853a-d63a23078b2a", - "partTypeInformation" : { - "manufacturerPartId" : "8840838-04", - "customerPartId" : "8840838-04", - "classification" : "component", - "nameAtManufacturer" : "HV MODUL", - "nameAtCustomer" : "HV MODUL" - } - } - }, { - "identification" : "0d2a1f6d-7d0d-4627-9688-0ea0313fe8fb", - "aspectType" : "urn:bamm:io.catenax.material_for_recycling:1.1.0#MaterialForRecycling", - "payload" : { - "component" : [ { - "materialName" : "Cooper", - "recycledContent" : 45, - "materialClass" : "3.1", - "quantiy" : { - "unit" : "unit:kilogram", - "value" : 1.2 - }, - "quantity" : { - "materialValue" : 1.2, - "measurementUnit" : { - "datatypeURI" : "urn:bamm:io.openmanufacturing:meta-model:1.0.0#curie", - "lexicalValue" : "unit:kilogram" - } - }, - "aggregateState" : "solid", - "materialAbbreviation" : "CO7" - }, { - "materialName" : "Polyamid6", - "recycledContent" : 39, - "materialClass" : "5.5.1", - "quantiy" : { - "unit" : "unit:kilogram", - "value" : 2.5 - }, - "quantity" : { - "materialValue" : 2.5, - "measurementUnit" : { - "datatypeURI" : "urn:bamm:io.openmanufacturing:meta-model:1.0.0#curie", - "lexicalValue" : "unit:kilogram" + "submodels" : [ + { + "identification": "urn:uuid:86d6036d-c78d-4310-999b-9eb1d963c699", + "aspectType": "urn:bamm:io.catenax.single_level_usage_as_built:1.0.1#SingleLevelUsageAsBuilt", + "payload": { + "parentParts": [ + { + "parentCatenaXId": "urn:uuid:d70b0211-7f09-4ab6-9ef3-966f49eca90b", + "quantity": { + "quantityNumber": 1, + "measurementUnit": "unit:piece" + }, + "createdOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z" } - }, - "aggregateState" : "solid", - "materialAbbreviation" : "POL6" - }, { - "materialName" : "Carbon Steel", - "recycledContent" : 64, - "materialClass" : "1.1.2", - "quantiy" : { - "unit" : "unit:kilogram", - "value" : 0.23 - }, - "quantity" : { - "materialValue" : 0.23, - "measurementUnit" : { - "datatypeURI" : "urn:bamm:io.openmanufacturing:meta-model:1.0.0#curie", - "lexicalValue" : "unit:kilogram" - } - }, - "aggregateState" : "solid", - "materialAbbreviation" : "CS2" - } ] - } - }, { - "identification" : "4af057a5-cdaa-4b95-9a80-e95a1078d040", - "aspectType" : "urn:bamm:io.catenax.single_level_bom_as_built:1.0.0#SingleLevelBomAsBuilt", - "payload" : { - "catenaXId" : "urn:uuid:01707bbd-3c02-4ddd-8b27-9512beb6a7ee", - "childItems" : [ { - "catenaXId" : "urn:uuid:d0c74546-b586-4657-be64-2b44d2324d13", - "quantity" : { - "quantityNumber" : 2.5, - "measurementUnit" : "unit:litre" - }, - "businessPartner" : "BPNL50096894aNXY", - "createdOn" : "2022-02-03T14:48:54.709Z", - "lastModifiedOn" : "2022-02-03T14:48:54.709Z" - } ] - } - }, { - "identification" : "6dd99a90-2c26-45dc-a18e-41c1a73ef65b", - "aspectType" : "urn:bamm:io.catenax.serial_part:1.1.0#SerialPart", - "payload" : { - "localIdentifiers" : [ { - "value" : "BPNL00000003AYRE", - "key" : "manufacturerId" - }, { - "value" : "8840838-04", - "key" : "manufacturerPartId" - }, { - "value" : "NO-033648582913036720785695", - "key" : "partInstanceId" - } ], - "manufacturingInformation" : { - "date" : "2022-02-04T14:48:54", - "country" : "DEU" - }, - "catenaXId" : "urn:uuid:01707bbd-3c02-4ddd-8b27-9512beb6a7ee", - "partTypeInformation" : { - "manufacturerPartId" : "8840374-09", - "customerPartId" : "8840374-09", - "classification" : "component", - "nameAtManufacturer" : "ZB ZELLE", - "nameAtCustomer" : "ZB ZELLE" - } - } - }, { - "identification" : "e45d5fe9-aa13-4865-b489-724e426b3b5f", - "aspectType" : "urn:bamm:io.catenax.battery.product_description:1.0.1#ProductDescription", - "payload" : { - "minimalStateOfHealth" : { - "minimalStateOfHealthValue" : "90.0", - "specificatorId" : "OEM", - "minimalStateOfHealthPhase" : "as specified by OEM" - }, - "currentStateOfHealth" : [ { - "currentStateOfHealthTimestamp" : "2016-02-19T07:18:30.673Z", - "currentStateOfHealthPhase" : "as specified by OEM", - "currentStateOfHealthValue" : "105" - }, { - "currentStateOfHealthTimestamp" : "2023-06-11T23:57:45.673Z", - "currentStateOfHealthPhase" : "as recieved by dismantling", - "currentStateOfHealthValue" : "95" - } ], - "performanceIndicator" : { - "electricCapacityMin" : "0.8", - "electricCapacityMax" : "0.88" - }, - "type" : "HVB" - } - }, { - "identification" : "9ff0e1de-5ebf-49a3-bc38-43b188351251", - "aspectType" : "urn:bamm:io.catenax.physical_dimension:1.0.0#PhysicalDimension", - "payload" : { - "diameter" : 32, - "length" : 142, - "width" : 26.5, - "weight" : 1.4688, - "height" : 61 - } - }, { - "identification" : "2e82bb51-2e52-42d9-a185-22079df82532", - "aspectType" : "urn:bamm:io.catenax.batch:1.0.0#Batch", - "payload" : { - "localIdentifiers" : [ { - "value" : "BPNL00000003B0Q0", - "key" : "manufacturerId" - }, { - "value" : "7A047C7-01", - "key" : "manufacturerPartId" - }, { - "value" : "NO-317675221284003919238395", - "key" : "partInstanceId" - } ], - "manufacturingInformation" : { - "date" : "2022-02-04T14:48:54", - "country" : "DEU" - }, - "catenaXId" : "urn:uuid:d0c74546-b586-4657-be64-2b44d2324d13", - "partTypeInformation" : { - "manufacturerPartId" : "7A047C7-01", - "customerPartId" : "7A047C7-01", - "classification" : "component", - "nameAtManufacturer" : "Cathode Material ", - "nameAtCustomer" : "Cathode Material " + ], + "catenaXId": "urn:uuid:cce2c864-0e42-4695-ba16-e34fa092906b" } - } - }, { - "identification" : "4baf3bdc-1be1-4ccb-88f0-b9c9588774e3", - "aspectType" : "urn:bamm:io.catenax.material_for_recycling:1.1.0#MaterialForRecycling", - "payload" : { - "materialName" : "Cathode Material", - "materialClass" : "8.1", - "component" : [ { - "materialName" : "Cobalt lithium manganese nickel oxide", - "recycledContent" : 11, - "materialClass" : "8.1", - "quantiy" : { - "unit" : "unit:percent", - "value" : 100 - }, - "quantity" : { - "unit" : { - "datatypeURI" : "urn:bamm:io.openmanufacturing:meta-model:1.0.0#curie", - "lexicalValue" : "unit:percent" + }, + { + "identification": "urn:uuid:ccba3440-483c-4666-800f-5146c640cb98", + "aspectType": "urn:bamm:io.catenax.serial_part:1.0.1#SerialPart", + "payload": { + "localIdentifiers": [ + { + "value": "BPNL00000003B2OM", + "key": "manufacturerId" }, - "value" : 100 - }, - "aggregateState" : "solid", - "materialAbbreviation" : "NCM" - } ] - } - }, { - "identification" : "da0e3fd6-2e6d-4a03-b995-337363062257", - "aspectType" : "urn:bamm:io.catenax.single_level_bom_as_built:1.0.0#SingleLevelBomAsBuilt", - "payload" : { - "catenaXId" : "urn:uuid:bb7c5da8-95b7-483e-9d7b-91c8cd86b352" - } - }, { - "identification" : "9a4c9496-6ea7-4b58-a7d8-4ad26d372d7a", - "aspectType" : "urn:bamm:io.catenax.batch:1.0.0#Batch", - "payload" : { - "localIdentifiers" : [ { - "value" : "BPNL00000003AXS3", - "key" : "manufacturerId" - }, { - "value" : "9A047C7-01", - "key" : "manufacturerPartId" - }, { - "value" : "NO-936809902967154039688310", - "key" : "partInstanceId" - } ], - "manufacturingInformation" : { - "date" : "2022-02-04T14:48:54", - "country" : "DEU" - }, - "catenaXId" : "urn:uuid:bb7c5da8-95b7-483e-9d7b-91c8cd86b352", - "partTypeInformation" : { - "manufacturerPartId" : "9A047C7-01", - "customerPartId" : "9A047C7-01", - "classification" : "component", - "nameAtManufacturer" : "Sealant", - "nameAtCustomer" : "Sealant" - } - } - }, { - "identification" : "9bb669aa-ed54-4aa3-aae0-0ec8498ac424", - "aspectType" : "urn:bamm:io.catenax.material_for_recycling:1.1.0#MaterialForRecycling", - "payload" : { - "component" : [ { - "materialName" : "Sealant", - "materialClass" : "6.3", - "quantiy" : { - "unit" : "unit:kilogram", - "value" : 0 - }, - "quantity" : { - "materialValue" : 0, - "measurementUnit" : { - "datatypeURI" : "urn:bamm:io.openmanufacturing:meta-model:1.0.0#curie", - "lexicalValue" : "unit:kilogram" + { + "value": "1O222E8-43", + "key": "manufacturerPartId" + }, + { + "value": "NO-236938603963731348901239", + "key": "partInstanceId" } - }, - "weight" : "0.11", - "materialAbbreviation" : "SEL3321" - } ] - } - }, { - "identification" : "7b936cd7-b7a8-4e3f-bfd1-c22c5075e5f4", - "aspectType" : "urn:bamm:io.catenax.single_level_bom_as_built:1.0.0#SingleLevelBomAsBuilt", - "payload" : { - "catenaXId" : "urn:uuid:6d00abcf-3fcd-4bef-b582-42b8513443e8", - "childItems" : [ { - "catenaXId" : "urn:uuid:1f676f7e-d31d-4b34-bdf6-1fcccea7a8b3", - "quantity" : { - "quantityNumber" : 2.5, - "measurementUnit" : "unit:litre" - }, - "businessPartner" : "BPNL50096894aNXY", - "createdOn" : "2022-02-03T14:48:54.709Z", - "lastModifiedOn" : "2022-02-03T14:48:54.709Z" - } ] - } - }, { - "identification" : "0ef0a711-6067-4fdc-a605-ffa18bfca5bd", - "aspectType" : "urn:bamm:io.catenax.serial_part:1.1.0#SerialPart", - "payload" : { - "localIdentifiers" : [ { - "value" : "BPNL00000003AYRE", - "key" : "manufacturerId" - }, { - "value" : "8840838-04", - "key" : "manufacturerPartId" - }, { - "value" : "NO-965449008118517717211530", - "key" : "partInstanceId" - } ], - "manufacturingInformation" : { - "date" : "2022-02-04T14:48:54", - "country" : "DEU" - }, - "catenaXId" : "urn:uuid:6d00abcf-3fcd-4bef-b582-42b8513443e8", - "partTypeInformation" : { - "manufacturerPartId" : "8840374-09", - "customerPartId" : "8840374-09", - "classification" : "component", - "nameAtManufacturer" : "ZB ZELLE", - "nameAtCustomer" : "ZB ZELLE" + ], + "manufacturingInformation": { + "date": "2022-02-04T14:48:54", + "country": "DEU" + }, + "catenaXId": "urn:uuid:cce2c864-0e42-4695-ba16-e34fa092906b", + "partTypeInformation": { + "manufacturerPartId": "1O222E8-43", + "customerPartId": "1O222E8-43", + "classification": "component", + "nameAtManufacturer": "Transmission", + "nameAtCustomer": "Transmission" + } } - } - }, { - "identification" : "639cfa1d-868c-4665-8f20-b9d6b66f3e2e", - "aspectType" : "urn:bamm:io.catenax.battery.product_description:1.0.1#ProductDescription", - "payload" : { - "minimalStateOfHealth" : { - "minimalStateOfHealthValue" : "90.0", - "specificatorId" : "OEM", - "minimalStateOfHealthPhase" : "as specified by OEM" - }, - "currentStateOfHealth" : [ { - "currentStateOfHealthTimestamp" : "2021-08-07T20:03:31.627Z", - "currentStateOfHealthPhase" : "as specified by OEM", - "currentStateOfHealthValue" : "105" - }, { - "currentStateOfHealthTimestamp" : "2023-06-22T00:51:44.627Z", - "currentStateOfHealthPhase" : "as recieved by dismantling", - "currentStateOfHealthValue" : "95" - } ], - "performanceIndicator" : { - "electricCapacityMin" : "0.8", - "electricCapacityMax" : "0.88" - }, - "type" : "HVB" - } - }, { - "identification" : "0bf3eb08-05e0-442f-b609-fa2df4a9aaf8", - "aspectType" : "urn:bamm:io.catenax.physical_dimension:1.0.0#PhysicalDimension", - "payload" : { - "diameter" : 32, - "length" : 142, - "width" : 26.5, - "weight" : 1.4688, - "height" : 61 - } - }, { - "identification" : "f2bc99b0-5822-4dd7-9d3c-556c1ded7b96", - "aspectType" : "urn:bamm:io.catenax.batch:1.0.0#Batch", - "payload" : { - "localIdentifiers" : [ { - "value" : "BPNL00000003B0Q0", - "key" : "manufacturerId" - }, { - "value" : "7A047C7-01", - "key" : "manufacturerPartId" - }, { - "value" : "NO-838781757785768927695574", - "key" : "partInstanceId" - } ], - "manufacturingInformation" : { - "date" : "2022-02-04T14:48:54", - "country" : "DEU" - }, - "catenaXId" : "urn:uuid:1f676f7e-d31d-4b34-bdf6-1fcccea7a8b3", - "partTypeInformation" : { - "manufacturerPartId" : "7A047C7-01", - "customerPartId" : "7A047C7-01", - "classification" : "component", - "nameAtManufacturer" : "Cathode Material ", - "nameAtCustomer" : "Cathode Material " + }, + { + "identification": "urn:uuid:e119c962-393f-4b5b-97bc-d89806bfb9fa", + "aspectType": "urn:bamm:io.catenax.physical_dimension:1.0.0#PhysicalDimension", + "payload": { + "diameter": 380, + "length": 810, + "width": 590, + "weight": 85, + "height": 610 } - } - }, { - "identification" : "65d95ed1-f795-49c8-958c-ac0a0f509c57", - "aspectType" : "urn:bamm:io.catenax.material_for_recycling:1.1.0#MaterialForRecycling", - "payload" : { - "materialName" : "Cathode Material", - "materialClass" : "8.1", - "component" : [ { - "materialName" : "Cobalt lithium manganese nickel oxide", - "recycledContent" : 38, - "materialClass" : "8.1", - "quantiy" : { - "unit" : "unit:percent", - "value" : 100 - }, - "quantity" : { - "unit" : { - "datatypeURI" : "urn:bamm:io.openmanufacturing:meta-model:1.0.0#curie", - "lexicalValue" : "unit:percent" + }, + { + "identification": "urn:uuid:a1018f5d-e9a3-4052-8dd3-3cb22f7dd602", + "aspectType": "urn:bamm:io.catenax.material_for_recycling:1.1.0#MaterialForRecycling", + "payload": { + "component": [ + { + "materialName": "Carbon Steel", + "recycledContent": 79, + "materialClass": "1.1.2", + "quantity": { + "unit": "unit:kilogram", + "value": 72.843 + }, + "aggregateState": "solid", + "materialAbbreviation": "CS2" }, - "value" : 100 - }, - "aggregateState" : "solid", - "materialAbbreviation" : "NCM" - } ] - } - }, { - "identification" : "7bac3fae-f1e6-4128-8070-42462ea2bdbe", - "aspectType" : "urn:bamm:io.catenax.single_level_bom_as_built:1.0.0#SingleLevelBomAsBuilt", - "payload" : { - "catenaXId" : "urn:uuid:9cca4ee0-3169-456d-b38f-40205ecaf538", - "childItems" : [ { - "catenaXId" : "urn:uuid:1f676f7e-d31d-4b34-bdf6-1fcccea7a8b3", - "quantity" : { - "quantityNumber" : 2.5, - "measurementUnit" : "unit:litre" - }, - "businessPartner" : "BPNL50096894aNXY", - "createdOn" : "2022-02-03T14:48:54.709Z", - "lastModifiedOn" : "2022-02-03T14:48:54.709Z" - } ] - } - }, { - "identification" : "090ddd44-69cf-4bc3-b713-299b7fe1dd3c", - "aspectType" : "urn:bamm:io.catenax.serial_part:1.1.0#SerialPart", - "payload" : { - "localIdentifiers" : [ { - "value" : "BPNL00000003AYRE", - "key" : "manufacturerId" - }, { - "value" : "8840838-04", - "key" : "manufacturerPartId" - }, { - "value" : "NO-602543147802096874392361", - "key" : "partInstanceId" - } ], - "manufacturingInformation" : { - "date" : "2022-02-04T14:48:54", - "country" : "DEU" - }, - "catenaXId" : "urn:uuid:9cca4ee0-3169-456d-b38f-40205ecaf538", - "partTypeInformation" : { - "manufacturerPartId" : "8840374-09", - "customerPartId" : "8840374-09", - "classification" : "component", - "nameAtManufacturer" : "ZB ZELLE", - "nameAtCustomer" : "ZB ZELLE" - } - } - }, { - "identification" : "4236216f-462f-46ef-b0cb-2419c81cb358", - "aspectType" : "urn:bamm:io.catenax.battery.product_description:1.0.1#ProductDescription", - "payload" : { - "minimalStateOfHealth" : { - "minimalStateOfHealthValue" : "90.0", - "specificatorId" : "OEM", - "minimalStateOfHealthPhase" : "as specified by OEM" - }, - "currentStateOfHealth" : [ { - "currentStateOfHealthTimestamp" : "2021-05-13T19:20:44.615Z", - "currentStateOfHealthPhase" : "as specified by OEM", - "currentStateOfHealthValue" : "105" - }, { - "currentStateOfHealthTimestamp" : "2023-06-09T18:40:05.615Z", - "currentStateOfHealthPhase" : "as recieved by dismantling", - "currentStateOfHealthValue" : "95" - } ], - "performanceIndicator" : { - "electricCapacityMin" : "0.8", - "electricCapacityMax" : "0.88" - }, - "type" : "HVB" - } - }, { - "identification" : "09c807c1-beea-4198-9132-8eedd95c9c23", - "aspectType" : "urn:bamm:io.catenax.physical_dimension:1.0.0#PhysicalDimension", - "payload" : { - "diameter" : 32, - "length" : 142, - "width" : 26.5, - "weight" : 1.4688, - "height" : 61 - } - }, { - "identification" : "884c91cd-4cf2-4e44-9120-6a3c303c2feb", - "aspectType" : "urn:bamm:io.catenax.batch:1.0.0#Batch", - "payload" : { - "localIdentifiers" : [ { - "value" : "BPNL00000003B0Q0", - "key" : "manufacturerId" - }, { - "value" : "7A047C7-01", - "key" : "manufacturerPartId" - }, { - "value" : "NO-838781757785768927695574", - "key" : "partInstanceId" - } ], - "manufacturingInformation" : { - "date" : "2022-02-04T14:48:54", - "country" : "DEU" - }, - "catenaXId" : "urn:uuid:1f676f7e-d31d-4b34-bdf6-1fcccea7a8b3", - "partTypeInformation" : { - "manufacturerPartId" : "7A047C7-01", - "customerPartId" : "7A047C7-01", - "classification" : "component", - "nameAtManufacturer" : "Cathode Material ", - "nameAtCustomer" : "Cathode Material " - } - } - }, { - "identification" : "c1d1923b-37c1-4920-8142-13e6ec824cea", - "aspectType" : "urn:bamm:io.catenax.material_for_recycling:1.1.0#MaterialForRecycling", - "payload" : { - "materialName" : "Cathode Material", - "materialClass" : "8.1", - "component" : [ { - "materialName" : "Cobalt lithium manganese nickel oxide", - "recycledContent" : 38, - "materialClass" : "8.1", - "quantiy" : { - "unit" : "unit:percent", - "value" : 100 - }, - "quantity" : { - "unit" : { - "datatypeURI" : "urn:bamm:io.openmanufacturing:meta-model:1.0.0#curie", - "lexicalValue" : "unit:percent" + { + "materialName": "Oil", + "recycledContent": 21, + "materialClass": "9.2", + "quantity": { + "unit": "unit:kilogram", + "value": 6.9 + }, + "aggregateState": "liquid", + "materialAbbreviation": "SAE40" }, - "value" : 100 - }, - "aggregateState" : "solid", - "materialAbbreviation" : "NCM" - } ] - } - }, { - "identification" : "51e2dc4c-e5d6-4dfa-b3a7-a861f84444a2", - "aspectType" : "urn:bamm:io.catenax.single_level_bom_as_built:1.0.0#SingleLevelBomAsBuilt", - "payload" : { - "catenaXId" : "urn:uuid:b98fb4b9-0055-4277-a069-6d7d30cca6bb", - "childItems" : [ { - "catenaXId" : "urn:uuid:d0c74546-b586-4657-be64-2b44d2324d13", - "quantity" : { - "quantityNumber" : 2.5, - "measurementUnit" : "unit:litre" - }, - "businessPartner" : "BPNL50096894aNXY", - "createdOn" : "2022-02-03T14:48:54.709Z", - "lastModifiedOn" : "2022-02-03T14:48:54.709Z" - } ] - } - }, { - "identification" : "f30fa007-64fa-4a0f-a01d-426cc2e70c1c", - "aspectType" : "urn:bamm:io.catenax.serial_part:1.1.0#SerialPart", - "payload" : { - "localIdentifiers" : [ { - "value" : "BPNL00000003AYRE", - "key" : "manufacturerId" - }, { - "value" : "8840838-04", - "key" : "manufacturerPartId" - }, { - "value" : "NO-145297951849484857821348", - "key" : "partInstanceId" - } ], - "manufacturingInformation" : { - "date" : "2022-02-04T14:48:54", - "country" : "DEU" - }, - "catenaXId" : "urn:uuid:b98fb4b9-0055-4277-a069-6d7d30cca6bb", - "partTypeInformation" : { - "manufacturerPartId" : "8840374-09", - "customerPartId" : "8840374-09", - "classification" : "component", - "nameAtManufacturer" : "ZB ZELLE", - "nameAtCustomer" : "ZB ZELLE" + { + "materialName": "Copper", + "recycledContent": 24, + "materialClass": "3.1", + "quantity": { + "unit": "unit:kilogram", + "value": 1.2 + }, + "aggregateState": "solid", + "materialAbbreviation": "CO7" + } + ] } - } - }, { - "identification" : "537365a6-817c-4cf7-8937-e79123208796", - "aspectType" : "urn:bamm:io.catenax.battery.product_description:1.0.1#ProductDescription", - "payload" : { - "minimalStateOfHealth" : { - "minimalStateOfHealthValue" : "90.0", - "specificatorId" : "OEM", - "minimalStateOfHealthPhase" : "as specified by OEM" - }, - "currentStateOfHealth" : [ { - "currentStateOfHealthTimestamp" : "2019-07-02T04:41:23.639Z", - "currentStateOfHealthPhase" : "as specified by OEM", - "currentStateOfHealthValue" : "105" - }, { - "currentStateOfHealthTimestamp" : "2023-06-17T09:32:35.640Z", - "currentStateOfHealthPhase" : "as recieved by dismantling", - "currentStateOfHealthValue" : "95" - } ], - "performanceIndicator" : { - "electricCapacityMin" : "0.8", - "electricCapacityMax" : "0.88" - }, - "type" : "HVB" - } - }, { - "identification" : "8ecfa015-0dbb-4093-88ca-5276e4b0b2b8", - "aspectType" : "urn:bamm:io.catenax.physical_dimension:1.0.0#PhysicalDimension", - "payload" : { - "diameter" : 32, - "length" : 142, - "width" : 26.5, - "weight" : 1.4688, - "height" : 61 - } - }, { - "identification" : "2820333d-9ec4-46cd-b24d-f41023525699", - "aspectType" : "urn:bamm:io.catenax.batch:1.0.0#Batch", - "payload" : { - "localIdentifiers" : [ { - "value" : "BPNL00000003B0Q0", - "key" : "manufacturerId" - }, { - "value" : "7A047C7-01", - "key" : "manufacturerPartId" - }, { - "value" : "NO-317675221284003919238395", - "key" : "partInstanceId" - } ], - "manufacturingInformation" : { - "date" : "2022-02-04T14:48:54", - "country" : "DEU" - }, - "catenaXId" : "urn:uuid:d0c74546-b586-4657-be64-2b44d2324d13", - "partTypeInformation" : { - "manufacturerPartId" : "7A047C7-01", - "customerPartId" : "7A047C7-01", - "classification" : "component", - "nameAtManufacturer" : "Cathode Material ", - "nameAtCustomer" : "Cathode Material " + }, + { + "identification": "urn:uuid:793ecf52-4ecc-4501-81b6-61db0203f467", + "aspectType": "urn:bamm:io.catenax.single_level_usage_as_built:1.0.1#SingleLevelUsageAsBuilt", + "payload": { + "parentParts": [ + { + "parentCatenaXId": "urn:uuid:cce2c864-0e42-4695-ba16-e34fa092906b", + "quantity": { + "quantityNumber": 1, + "measurementUnit": "unit:piece" + }, + "createdOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z" + } + ], + "catenaXId": "urn:uuid:9a852ada-7d42-4a85-8a19-300503e234ae" } - } - }, { - "identification" : "f0f2b00d-0dc9-4c4c-b792-a5d2550962c4", - "aspectType" : "urn:bamm:io.catenax.material_for_recycling:1.1.0#MaterialForRecycling", - "payload" : { - "materialName" : "Cathode Material", - "materialClass" : "8.1", - "component" : [ { - "materialName" : "Cobalt lithium manganese nickel oxide", - "recycledContent" : 11, - "materialClass" : "8.1", - "quantiy" : { - "unit" : "unit:percent", - "value" : 100 - }, - "quantity" : { - "unit" : { - "datatypeURI" : "urn:bamm:io.openmanufacturing:meta-model:1.0.0#curie", - "lexicalValue" : "unit:percent" + }, + { + "identification": "urn:uuid:83b895a9-fd61-4b69-97ca-681493ec94e4", + "aspectType": "urn:bamm:io.catenax.batch:2.0.0#Batch", + "payload": { + "localIdentifiers": [ + { + "value": "BPNL00000003B0Q0", + "key": "manufacturerId" }, - "value" : 100 - }, - "aggregateState" : "solid", - "materialAbbreviation" : "NCM" - } ] - } - }, { - "identification" : "0238de3c-ff0b-4e73-aaf5-d64bcbff28c2", - "aspectType" : "urn:bamm:io.catenax.single_level_bom_as_built:1.0.0#SingleLevelBomAsBuilt", - "payload" : { - "catenaXId" : "urn:uuid:c7c7240c-3031-4cf0-bcc8-3e4cd0989522", - "childItems" : [ { - "catenaXId" : "urn:uuid:d0c74546-b586-4657-be64-2b44d2324d13", - "quantity" : { - "quantityNumber" : 2.5, - "measurementUnit" : "unit:litre" - }, - "businessPartner" : "BPNL50096894aNXY", - "createdOn" : "2022-02-03T14:48:54.709Z", - "lastModifiedOn" : "2022-02-03T14:48:54.709Z" - } ] - } - }, { - "identification" : "04a3f4ca-ede9-464a-b20e-52e18e4c4463", - "aspectType" : "urn:bamm:io.catenax.serial_part:1.1.0#SerialPart", - "payload" : { - "localIdentifiers" : [ { - "value" : "BPNL00000003AYRE", - "key" : "manufacturerId" - }, { - "value" : "8840838-04", - "key" : "manufacturerPartId" - }, { - "value" : "NO-594217625920625837039615", - "key" : "partInstanceId" - } ], - "manufacturingInformation" : { - "date" : "2022-02-04T14:48:54", - "country" : "DEU" - }, - "catenaXId" : "urn:uuid:c7c7240c-3031-4cf0-bcc8-3e4cd0989522", - "partTypeInformation" : { - "manufacturerPartId" : "8840374-09", - "customerPartId" : "8840374-09", - "classification" : "component", - "nameAtManufacturer" : "ZB ZELLE", - "nameAtCustomer" : "ZB ZELLE" - } - } - }, { - "identification" : "ebd410e8-ddd8-444a-b5ef-439ec0cd9b9c", - "aspectType" : "urn:bamm:io.catenax.battery.product_description:1.0.1#ProductDescription", - "payload" : { - "minimalStateOfHealth" : { - "minimalStateOfHealthValue" : "90.0", - "specificatorId" : "OEM", - "minimalStateOfHealthPhase" : "as specified by OEM" - }, - "currentStateOfHealth" : [ { - "currentStateOfHealthTimestamp" : "2021-10-11T20:36:30.663Z", - "currentStateOfHealthPhase" : "as specified by OEM", - "currentStateOfHealthValue" : "105" - }, { - "currentStateOfHealthTimestamp" : "2023-06-25T19:32:44.663Z", - "currentStateOfHealthPhase" : "as recieved by dismantling", - "currentStateOfHealthValue" : "95" - } ], - "performanceIndicator" : { - "electricCapacityMin" : "0.8", - "electricCapacityMax" : "0.88" - }, - "type" : "HVB" - } - }, { - "identification" : "5488c4f2-1721-4752-a111-cbaccb2e2f69", - "aspectType" : "urn:bamm:io.catenax.physical_dimension:1.0.0#PhysicalDimension", - "payload" : { - "diameter" : 32, - "length" : 142, - "width" : 26.5, - "weight" : 1.4688, - "height" : 61 - } - }, { - "identification" : "9a8a54a8-b7c7-46ba-b95e-069da751e356", - "aspectType" : "urn:bamm:io.catenax.batch:1.0.0#Batch", - "payload" : { - "localIdentifiers" : [ { - "value" : "BPNL00000003B0Q0", - "key" : "manufacturerId" - }, { - "value" : "7A047C7-01", - "key" : "manufacturerPartId" - }, { - "value" : "NO-317675221284003919238395", - "key" : "partInstanceId" - } ], - "manufacturingInformation" : { - "date" : "2022-02-04T14:48:54", - "country" : "DEU" - }, - "catenaXId" : "urn:uuid:d0c74546-b586-4657-be64-2b44d2324d13", - "partTypeInformation" : { - "manufacturerPartId" : "7A047C7-01", - "customerPartId" : "7A047C7-01", - "classification" : "component", - "nameAtManufacturer" : "Cathode Material ", - "nameAtCustomer" : "Cathode Material " - } - } - }, { - "identification" : "291e3090-ae72-42b4-a781-0f01792a6668", - "aspectType" : "urn:bamm:io.catenax.material_for_recycling:1.1.0#MaterialForRecycling", - "payload" : { - "materialName" : "Cathode Material", - "materialClass" : "8.1", - "component" : [ { - "materialName" : "Cobalt lithium manganese nickel oxide", - "recycledContent" : 11, - "materialClass" : "8.1", - "quantiy" : { - "unit" : "unit:percent", - "value" : 100 - }, - "quantity" : { - "unit" : { - "datatypeURI" : "urn:bamm:io.openmanufacturing:meta-model:1.0.0#curie", - "lexicalValue" : "unit:percent" + { + "value": "96486G7-29", + "key": "manufacturerPartId" }, - "value" : 100 - }, - "aggregateState" : "solid", - "materialAbbreviation" : "NCM" - } ] - } - }, { - "identification" : "669e5ef4-c68d-4973-82a3-84dbbd48d6f9", - "aspectType" : "urn:bamm:io.catenax.single_level_bom_as_built:1.0.0#SingleLevelBomAsBuilt", - "payload" : { - "catenaXId" : "urn:uuid:20e09b06-74fb-4a7c-b7eb-9c7b2f1da8e2", - "childItems" : [ { - "catenaXId" : "urn:uuid:1f676f7e-d31d-4b34-bdf6-1fcccea7a8b3", - "quantity" : { - "quantityNumber" : 2.5, - "measurementUnit" : "unit:litre" - }, - "businessPartner" : "BPNL50096894aNXY", - "createdOn" : "2022-02-03T14:48:54.709Z", - "lastModifiedOn" : "2022-02-03T14:48:54.709Z" - } ] - } - }, { - "identification" : "122a0dd1-7dd4-4868-9223-31a344613cc8", - "aspectType" : "urn:bamm:io.catenax.serial_part:1.1.0#SerialPart", - "payload" : { - "localIdentifiers" : [ { - "value" : "BPNL00000003AYRE", - "key" : "manufacturerId" - }, { - "value" : "8840838-04", - "key" : "manufacturerPartId" - }, { - "value" : "NO-491831137728849716509673", - "key" : "partInstanceId" - } ], - "manufacturingInformation" : { - "date" : "2022-02-04T14:48:54", - "country" : "DEU" - }, - "catenaXId" : "urn:uuid:20e09b06-74fb-4a7c-b7eb-9c7b2f1da8e2", - "partTypeInformation" : { - "manufacturerPartId" : "8840374-09", - "customerPartId" : "8840374-09", - "classification" : "component", - "nameAtManufacturer" : "ZB ZELLE", - "nameAtCustomer" : "ZB ZELLE" - } - } - }, { - "identification" : "3e20eb5c-aafe-44e5-bfbc-7801c72eda23", - "aspectType" : "urn:bamm:io.catenax.battery.product_description:1.0.1#ProductDescription", - "payload" : { - "minimalStateOfHealth" : { - "minimalStateOfHealthValue" : "90.0", - "specificatorId" : "OEM", - "minimalStateOfHealthPhase" : "as specified by OEM" - }, - "currentStateOfHealth" : [ { - "currentStateOfHealthTimestamp" : "2022-09-10T23:19:47.694Z", - "currentStateOfHealthPhase" : "as specified by OEM", - "currentStateOfHealthValue" : "105" - }, { - "currentStateOfHealthTimestamp" : "2023-06-10T08:42:36.694Z", - "currentStateOfHealthPhase" : "as recieved by dismantling", - "currentStateOfHealthValue" : "95" - } ], - "performanceIndicator" : { - "electricCapacityMin" : "0.8", - "electricCapacityMax" : "0.88" - }, - "type" : "HVB" - } - }, { - "identification" : "d588850e-7094-4bc6-8697-3ecca5c19c16", - "aspectType" : "urn:bamm:io.catenax.physical_dimension:1.0.0#PhysicalDimension", - "payload" : { - "diameter" : 32, - "length" : 142, - "width" : 26.5, - "weight" : 1.4688, - "height" : 61 - } - }, { - "identification" : "3c08bc7f-a22e-4bac-8442-f4ab91eb6d68", - "aspectType" : "urn:bamm:io.catenax.batch:1.0.0#Batch", - "payload" : { - "localIdentifiers" : [ { - "value" : "BPNL00000003B0Q0", - "key" : "manufacturerId" - }, { - "value" : "7A047C7-01", - "key" : "manufacturerPartId" - }, { - "value" : "NO-838781757785768927695574", - "key" : "partInstanceId" - } ], - "manufacturingInformation" : { - "date" : "2022-02-04T14:48:54", - "country" : "DEU" - }, - "catenaXId" : "urn:uuid:1f676f7e-d31d-4b34-bdf6-1fcccea7a8b3", - "partTypeInformation" : { - "manufacturerPartId" : "7A047C7-01", - "customerPartId" : "7A047C7-01", - "classification" : "component", - "nameAtManufacturer" : "Cathode Material ", - "nameAtCustomer" : "Cathode Material " + { + "value": "NO-939960567261604307414557", + "key": "partInstanceId" + } + ], + "manufacturingInformation": { + "date": "2022-02-04T14:48:54", + "country": "DEU" + }, + "catenaXId": "urn:uuid:9a852ada-7d42-4a85-8a19-300503e234ae", + "partTypeInformation": { + "manufacturerPartId": "96486G7-29", + "classification": "component", + "nameAtManufacturer": "Engineering Plastics" + } } - } - }, { - "identification" : "5e209677-72e7-4049-b1ab-915f0420b945", - "aspectType" : "urn:bamm:io.catenax.material_for_recycling:1.1.0#MaterialForRecycling", - "payload" : { - "materialName" : "Cathode Material", - "materialClass" : "8.1", - "component" : [ { - "materialName" : "Cobalt lithium manganese nickel oxide", - "recycledContent" : 38, - "materialClass" : "8.1", - "quantiy" : { - "unit" : "unit:percent", - "value" : 100 - }, - "quantity" : { - "unit" : { - "datatypeURI" : "urn:bamm:io.openmanufacturing:meta-model:1.0.0#curie", - "lexicalValue" : "unit:percent" + }, + { + "identification": "urn:uuid:c0e7f5f6-787d-4dab-a0c9-4a37eabeba31", + "aspectType": "urn:bamm:io.catenax.material_for_recycling:1.1.0#MaterialForRecycling", + "payload": { + "materialName": "Engineering Plastics", + "materialClass": "5.1", + "component": [ + { + "materialName": "PA66", + "recycledContent": 31, + "materialClass": "5.1", + "quantity": { + "unit": "unit:percent", + "value": 70 + }, + "aggregateState": "solid", + "materialAbbreviation": "PA66" }, - "value" : 100 - }, - "aggregateState" : "solid", - "materialAbbreviation" : "NCM" - } ] - } - }, { - "identification" : "3843ca18-4bd4-4f68-8c82-89be196bf0f9", - "aspectType" : "urn:bamm:io.catenax.single_level_bom_as_built:1.0.0#SingleLevelBomAsBuilt", - "payload" : { - "catenaXId" : "urn:uuid:0672a353-f06c-4efe-8082-6d4a62baf566", - "childItems" : [ { - "catenaXId" : "urn:uuid:1f676f7e-d31d-4b34-bdf6-1fcccea7a8b3", - "quantity" : { - "quantityNumber" : 2.5, - "measurementUnit" : "unit:litre" - }, - "businessPartner" : "BPNL50096894aNXY", - "createdOn" : "2022-02-03T14:48:54.709Z", - "lastModifiedOn" : "2022-02-03T14:48:54.709Z" - } ] - } - }, { - "identification" : "dc4baaae-c980-4475-b102-8b696c8c0ab3", - "aspectType" : "urn:bamm:io.catenax.serial_part:1.1.0#SerialPart", - "payload" : { - "localIdentifiers" : [ { - "value" : "BPNL00000003AYRE", - "key" : "manufacturerId" - }, { - "value" : "8840838-04", - "key" : "manufacturerPartId" - }, { - "value" : "NO-423674818097548195486708", - "key" : "partInstanceId" - } ], - "manufacturingInformation" : { - "date" : "2022-02-04T14:48:54", - "country" : "DEU" - }, - "catenaXId" : "urn:uuid:0672a353-f06c-4efe-8082-6d4a62baf566", - "partTypeInformation" : { - "manufacturerPartId" : "8840374-09", - "customerPartId" : "8840374-09", - "classification" : "component", - "nameAtManufacturer" : "ZB ZELLE", - "nameAtCustomer" : "ZB ZELLE" + { + "materialName": "GF-Faser", + "recycledContent": 19, + "materialClass": "5.1", + "quantity": { + "unit": "unit:percent", + "value": 30 + }, + "aggregateState": "solid", + "materialAbbreviation": "GF30" + } + ] } - } - }, { - "identification" : "58f34567-33a1-45b9-ac78-aa67b7e15db4", - "aspectType" : "urn:bamm:io.catenax.battery.product_description:1.0.1#ProductDescription", - "payload" : { - "minimalStateOfHealth" : { - "minimalStateOfHealthValue" : "90.0", - "specificatorId" : "OEM", - "minimalStateOfHealthPhase" : "as specified by OEM" - }, - "currentStateOfHealth" : [ { - "currentStateOfHealthTimestamp" : "2021-10-26T07:37:54.705Z", - "currentStateOfHealthPhase" : "as specified by OEM", - "currentStateOfHealthValue" : "105" - }, { - "currentStateOfHealthTimestamp" : "2023-06-11T16:39:37.705Z", - "currentStateOfHealthPhase" : "as recieved by dismantling", - "currentStateOfHealthValue" : "95" - } ], - "performanceIndicator" : { - "electricCapacityMin" : "0.8", - "electricCapacityMax" : "0.88" - }, - "type" : "HVB" - } - }, { - "identification" : "0952015c-5e16-4402-88ca-748c2656fdd9", - "aspectType" : "urn:bamm:io.catenax.physical_dimension:1.0.0#PhysicalDimension", - "payload" : { - "diameter" : 32, - "length" : 142, - "width" : 26.5, - "weight" : 1.4688, - "height" : 61 - } - }, { - "identification" : "5cc6fa72-b982-4892-ad32-e8b9fe95754d", - "aspectType" : "urn:bamm:io.catenax.batch:1.0.0#Batch", - "payload" : { - "localIdentifiers" : [ { - "value" : "BPNL00000003B0Q0", - "key" : "manufacturerId" - }, { - "value" : "7A047C7-01", - "key" : "manufacturerPartId" - }, { - "value" : "NO-838781757785768927695574", - "key" : "partInstanceId" - } ], - "manufacturingInformation" : { - "date" : "2022-02-04T14:48:54", - "country" : "DEU" - }, - "catenaXId" : "urn:uuid:1f676f7e-d31d-4b34-bdf6-1fcccea7a8b3", - "partTypeInformation" : { - "manufacturerPartId" : "7A047C7-01", - "customerPartId" : "7A047C7-01", - "classification" : "component", - "nameAtManufacturer" : "Cathode Material ", - "nameAtCustomer" : "Cathode Material " + }, + { + "identification": "urn:uuid:89ca0bcf-ea56-4e5e-bc97-ce0e8127d265", + "aspectType": "urn:bamm:io.catenax.single_level_usage_as_built:1.0.1#SingleLevelUsageAsBuilt", + "payload": { + "parentParts": [ + { + "parentCatenaXId": "urn:uuid:cce2c864-0e42-4695-ba16-e34fa092906b", + "quantity": { + "quantityNumber": 1, + "measurementUnit": "unit:piece" + }, + "createdOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z" + } + ], + "catenaXId": "urn:uuid:2c74b701-0d31-4977-be94-42aae3b1ccde" } - } - }, { - "identification" : "cc9551df-fa25-40a8-8abf-a1956ee6c1ff", - "aspectType" : "urn:bamm:io.catenax.material_for_recycling:1.1.0#MaterialForRecycling", - "payload" : { - "materialName" : "Cathode Material", - "materialClass" : "8.1", - "component" : [ { - "materialName" : "Cobalt lithium manganese nickel oxide", - "recycledContent" : 38, - "materialClass" : "8.1", - "quantiy" : { - "unit" : "unit:percent", - "value" : 100 - }, - "quantity" : { - "unit" : { - "datatypeURI" : "urn:bamm:io.openmanufacturing:meta-model:1.0.0#curie", - "lexicalValue" : "unit:percent" + }, + { + "identification": "urn:uuid:80ea1b86-e305-4a60-a027-e164f5a4f801", + "aspectType": "urn:bamm:io.catenax.serial_part:1.0.1#SerialPart", + "payload": { + "localIdentifiers": [ + { + "value": "BPNL00000003B3NX", + "key": "manufacturerId" }, - "value" : 100 - }, - "aggregateState" : "solid", - "materialAbbreviation" : "NCM" - } ] - } - }, { - "identification" : "bd5eabd7-2943-45e5-bf39-c480229017f7", - "aspectType" : "urn:bamm:io.catenax.single_level_bom_as_built:1.0.0#SingleLevelBomAsBuilt", - "payload" : { - "catenaXId" : "urn:uuid:38f15aee-f940-4188-aa77-fae880cd2a41", - "childItems" : [ { - "catenaXId" : "urn:uuid:d0c74546-b586-4657-be64-2b44d2324d13", - "quantity" : { - "quantityNumber" : 2.5, - "measurementUnit" : "unit:litre" - }, - "businessPartner" : "BPNL50096894aNXY", - "createdOn" : "2022-02-03T14:48:54.709Z", - "lastModifiedOn" : "2022-02-03T14:48:54.709Z" - } ] - } - }, { - "identification" : "a44efe37-b605-41d6-a099-866cf59b7f0c", - "aspectType" : "urn:bamm:io.catenax.serial_part:1.1.0#SerialPart", - "payload" : { - "localIdentifiers" : [ { - "value" : "BPNL00000003AYRE", - "key" : "manufacturerId" - }, { - "value" : "8840838-04", - "key" : "manufacturerPartId" - }, { - "value" : "NO-728453156987551449527535", - "key" : "partInstanceId" - } ], - "manufacturingInformation" : { - "date" : "2022-02-04T14:48:54", - "country" : "DEU" - }, - "catenaXId" : "urn:uuid:38f15aee-f940-4188-aa77-fae880cd2a41", - "partTypeInformation" : { - "manufacturerPartId" : "8840374-09", - "customerPartId" : "8840374-09", - "classification" : "component", - "nameAtManufacturer" : "ZB ZELLE", - "nameAtCustomer" : "ZB ZELLE" + { + "value": "05270T6-25", + "key": "manufacturerPartId" + }, + { + "value": "NO-901550611834197658852147", + "key": "partInstanceId" + } + ], + "manufacturingInformation": { + "date": "2022-02-04T14:48:54", + "country": "DEU" + }, + "catenaXId": "urn:uuid:2c74b701-0d31-4977-be94-42aae3b1ccde", + "partTypeInformation": { + "manufacturerPartId": "05270T6-25", + "customerPartId": "05270T6-25", + "classification": "component", + "nameAtManufacturer": "Sensor", + "nameAtCustomer": "Sensor" + } } - } - }, { - "identification" : "a64ccf55-0167-4066-98ca-2cf4358832bc", - "aspectType" : "urn:bamm:io.catenax.battery.product_description:1.0.1#ProductDescription", - "payload" : { - "minimalStateOfHealth" : { - "minimalStateOfHealthValue" : "90.0", - "specificatorId" : "OEM", - "minimalStateOfHealthPhase" : "as specified by OEM" - }, - "currentStateOfHealth" : [ { - "currentStateOfHealthTimestamp" : "2014-02-17T23:24:43.652Z", - "currentStateOfHealthPhase" : "as specified by OEM", - "currentStateOfHealthValue" : "105" - }, { - "currentStateOfHealthTimestamp" : "2023-06-02T19:57:35.652Z", - "currentStateOfHealthPhase" : "as recieved by dismantling", - "currentStateOfHealthValue" : "95" - } ], - "performanceIndicator" : { - "electricCapacityMin" : "0.8", - "electricCapacityMax" : "0.88" - }, - "type" : "HVB" - } - }, { - "identification" : "5d0b1cfa-3f93-4b3a-affa-a226566cd3f0", - "aspectType" : "urn:bamm:io.catenax.physical_dimension:1.0.0#PhysicalDimension", - "payload" : { - "diameter" : 32, - "length" : 142, - "width" : 26.5, - "weight" : 1.4688, - "height" : 61 - } - }, { - "identification" : "f90fe079-9709-4e9e-ae9f-e270ec56d21e", - "aspectType" : "urn:bamm:io.catenax.batch:1.0.0#Batch", - "payload" : { - "localIdentifiers" : [ { - "value" : "BPNL00000003B0Q0", - "key" : "manufacturerId" - }, { - "value" : "7A047C7-01", - "key" : "manufacturerPartId" - }, { - "value" : "NO-317675221284003919238395", - "key" : "partInstanceId" - } ], - "manufacturingInformation" : { - "date" : "2022-02-04T14:48:54", - "country" : "DEU" - }, - "catenaXId" : "urn:uuid:d0c74546-b586-4657-be64-2b44d2324d13", - "partTypeInformation" : { - "manufacturerPartId" : "7A047C7-01", - "customerPartId" : "7A047C7-01", - "classification" : "component", - "nameAtManufacturer" : "Cathode Material ", - "nameAtCustomer" : "Cathode Material " + }, + { + "identification": "urn:uuid:33175aaf-f31f-4b46-a432-409762e27e8a", + "aspectType": "urn:bamm:io.catenax.single_level_usage_as_built:1.0.1#SingleLevelUsageAsBuilt", + "payload": { + "parentParts": [ + { + "parentCatenaXId": "urn:uuid:cce2c864-0e42-4695-ba16-e34fa092906b", + "quantity": { + "quantityNumber": 1, + "measurementUnit": "unit:piece" + }, + "createdOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z" + } + ], + "catenaXId": "urn:uuid:13931e36-2319-4c18-896d-c99ac9fd5b9f" } - } - }, { - "identification" : "b7347a44-36e4-4401-8ce4-953dd7950cb7", - "aspectType" : "urn:bamm:io.catenax.material_for_recycling:1.1.0#MaterialForRecycling", - "payload" : { - "materialName" : "Cathode Material", - "materialClass" : "8.1", - "component" : [ { - "materialName" : "Cobalt lithium manganese nickel oxide", - "recycledContent" : 11, - "materialClass" : "8.1", - "quantiy" : { - "unit" : "unit:percent", - "value" : 100 - }, - "quantity" : { - "unit" : { - "datatypeURI" : "urn:bamm:io.openmanufacturing:meta-model:1.0.0#curie", - "lexicalValue" : "unit:percent" + }, + { + "identification": "urn:uuid:6be590f7-5ef2-4b4b-b823-f656f1921c3d", + "aspectType": "urn:bamm:io.catenax.batch:2.0.0#Batch", + "payload": { + "localIdentifiers": [ + { + "value": "BPNL00000003AXS3", + "key": "manufacturerId" }, - "value" : 100 - }, - "aggregateState" : "solid", - "materialAbbreviation" : "NCM" - } ] - } - }, { - "identification" : "73fc4ec8-bb6a-4562-b25a-0a34baf902e5", - "aspectType" : "urn:bamm:io.catenax.single_level_bom_as_built:1.0.0#SingleLevelBomAsBuilt", - "payload" : { - "catenaXId" : "urn:uuid:451a2c68-bc76-4418-b3f5-29c19e9cf2f1", - "childItems" : [ { - "catenaXId" : "urn:uuid:d0c74546-b586-4657-be64-2b44d2324d13", - "quantity" : { - "quantityNumber" : 2.5, - "measurementUnit" : "unit:litre" - }, - "businessPartner" : "BPNL50096894aNXY", - "createdOn" : "2022-02-03T14:48:54.709Z", - "lastModifiedOn" : "2022-02-03T14:48:54.709Z" - } ] - } - }, { - "identification" : "5d5b8c72-46e5-449d-a4c4-a17da9bf6295", - "aspectType" : "urn:bamm:io.catenax.serial_part:1.1.0#SerialPart", - "payload" : { - "localIdentifiers" : [ { - "value" : "BPNL00000003AYRE", - "key" : "manufacturerId" - }, { - "value" : "8840838-04", - "key" : "manufacturerPartId" - }, { - "value" : "NO-678869019735310328295292", - "key" : "partInstanceId" - } ], - "manufacturingInformation" : { - "date" : "2022-02-04T14:48:54", - "country" : "DEU" - }, - "catenaXId" : "urn:uuid:451a2c68-bc76-4418-b3f5-29c19e9cf2f1", - "partTypeInformation" : { - "manufacturerPartId" : "8840374-09", - "customerPartId" : "8840374-09", - "classification" : "component", - "nameAtManufacturer" : "ZB ZELLE", - "nameAtCustomer" : "ZB ZELLE" + { + "value": "79963M5-58", + "key": "manufacturerPartId" + }, + { + "value": "NO-710890810076765616768884", + "key": "partInstanceId" + } + ], + "manufacturingInformation": { + "date": "2022-02-04T14:48:54", + "country": "DEU" + }, + "catenaXId": "urn:uuid:13931e36-2319-4c18-896d-c99ac9fd5b9f", + "partTypeInformation": { + "manufacturerPartId": "79963M5-58", + "classification": "component", + "nameAtManufacturer": "Glue" + } } - } - }, { - "identification" : "bc1928e9-228e-4cea-b8f5-f40b2033b8f7", - "aspectType" : "urn:bamm:io.catenax.battery.product_description:1.0.1#ProductDescription", - "payload" : { - "minimalStateOfHealth" : { - "minimalStateOfHealthValue" : "90.0", - "specificatorId" : "OEM", - "minimalStateOfHealthPhase" : "as specified by OEM" - }, - "currentStateOfHealth" : [ { - "currentStateOfHealthTimestamp" : "2019-06-06T10:36:06.717Z", - "currentStateOfHealthPhase" : "as specified by OEM", - "currentStateOfHealthValue" : "105" - }, { - "currentStateOfHealthTimestamp" : "2023-06-19T21:51:43.717Z", - "currentStateOfHealthPhase" : "as recieved by dismantling", - "currentStateOfHealthValue" : "95" - } ], - "performanceIndicator" : { - "electricCapacityMin" : "0.8", - "electricCapacityMax" : "0.88" - }, - "type" : "HVB" - } - }, { - "identification" : "b42b28c7-5d13-4239-a6f7-2a59c3782de7", - "aspectType" : "urn:bamm:io.catenax.physical_dimension:1.0.0#PhysicalDimension", - "payload" : { - "diameter" : 32, - "length" : 142, - "width" : 26.5, - "weight" : 1.4688, - "height" : 61 - } - }, { - "identification" : "5c927fb9-8fcf-4ea8-8311-269c7d45892f", - "aspectType" : "urn:bamm:io.catenax.batch:1.0.0#Batch", - "payload" : { - "localIdentifiers" : [ { - "value" : "BPNL00000003B0Q0", - "key" : "manufacturerId" - }, { - "value" : "7A047C7-01", - "key" : "manufacturerPartId" - }, { - "value" : "NO-317675221284003919238395", - "key" : "partInstanceId" - } ], - "manufacturingInformation" : { - "date" : "2022-02-04T14:48:54", - "country" : "DEU" - }, - "catenaXId" : "urn:uuid:d0c74546-b586-4657-be64-2b44d2324d13", - "partTypeInformation" : { - "manufacturerPartId" : "7A047C7-01", - "customerPartId" : "7A047C7-01", - "classification" : "component", - "nameAtManufacturer" : "Cathode Material ", - "nameAtCustomer" : "Cathode Material " + }, + { + "identification": "urn:uuid:ac0b6cdf-33fc-4d76-9b82-573e0a4f3357", + "aspectType": "urn:bamm:io.catenax.material_for_recycling:1.1.0#MaterialForRecycling", + "payload": { + "component": [ + { + "materialName": "Glue", + "materialClass": "6.2", + "quantity": { + "unit": "unit:kilogram", + "value": 0 + }, + "weight": "0.2341", + "materialAbbreviation": "GL338" + } + ] } - } - }, { - "identification" : "f8e6e26f-82df-4e48-a3d8-b31780f9abb6", - "aspectType" : "urn:bamm:io.catenax.material_for_recycling:1.1.0#MaterialForRecycling", - "payload" : { - "materialName" : "Cathode Material", - "materialClass" : "8.1", - "component" : [ { - "materialName" : "Cobalt lithium manganese nickel oxide", - "recycledContent" : 11, - "materialClass" : "8.1", - "quantiy" : { - "unit" : "unit:percent", - "value" : 100 - }, - "quantity" : { - "unit" : { - "datatypeURI" : "urn:bamm:io.openmanufacturing:meta-model:1.0.0#curie", - "lexicalValue" : "unit:percent" - }, - "value" : 100 - }, - "aggregateState" : "solid", - "materialAbbreviation" : "NCM" - } ] - } - }, { - "identification" : "620f2ba7-f30d-4019-b617-54b0bda88eef", - "aspectType" : "urn:bamm:io.catenax.single_level_bom_as_built:1.0.0#SingleLevelBomAsBuilt", - "payload" : { - "catenaXId" : "urn:uuid:bcecbd06-2096-48be-8e51-2247f86f5342", - "childItems" : [ { - "catenaXId" : "urn:uuid:d0c74546-b586-4657-be64-2b44d2324d13", - "quantity" : { - "quantityNumber" : 2.5, - "measurementUnit" : "unit:litre" - }, - "businessPartner" : "BPNL50096894aNXY", - "createdOn" : "2022-02-03T14:48:54.709Z", - "lastModifiedOn" : "2022-02-03T14:48:54.709Z" - } ] - } - }, { - "identification" : "d03986ad-e05c-42cc-99b4-4335e6174bb6", - "aspectType" : "urn:bamm:io.catenax.serial_part:1.1.0#SerialPart", - "payload" : { - "localIdentifiers" : [ { - "value" : "BPNL00000003AYRE", - "key" : "manufacturerId" - }, { - "value" : "8840838-04", - "key" : "manufacturerPartId" - }, { - "value" : "NO-515323405173012146263625", - "key" : "partInstanceId" - } ], - "manufacturingInformation" : { - "date" : "2022-02-04T14:48:54", - "country" : "DEU" - }, - "catenaXId" : "urn:uuid:bcecbd06-2096-48be-8e51-2247f86f5342", - "partTypeInformation" : { - "manufacturerPartId" : "8840374-09", - "customerPartId" : "8840374-09", - "classification" : "component", - "nameAtManufacturer" : "ZB ZELLE", - "nameAtCustomer" : "ZB ZELLE" + }, + { + "identification": "urn:uuid:44e62e7d-89c9-45f8-ae1f-a74c050487e9", + "aspectType": "urn:bamm:io.catenax.single_level_usage_as_built:1.0.1#SingleLevelUsageAsBuilt", + "payload": { + "parentParts": [ + { + "parentCatenaXId": "urn:uuid:2c74b701-0d31-4977-be94-42aae3b1ccde", + "quantity": { + "quantityNumber": 1, + "measurementUnit": "unit:piece" + }, + "createdOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z" + } + ], + "catenaXId": "urn:uuid:abce35f9-22c7-4a3b-b897-6f866a8039b7" } - } - }, { - "identification" : "84c9dec3-ea49-4317-881f-4e7c1bcdf380", - "aspectType" : "urn:bamm:io.catenax.battery.product_description:1.0.1#ProductDescription", - "payload" : { - "minimalStateOfHealth" : { - "minimalStateOfHealthValue" : "90.0", - "specificatorId" : "OEM", - "minimalStateOfHealthPhase" : "as specified by OEM" - }, - "currentStateOfHealth" : [ { - "currentStateOfHealthTimestamp" : "2014-10-27T03:37:16.683Z", - "currentStateOfHealthPhase" : "as specified by OEM", - "currentStateOfHealthValue" : "105" - }, { - "currentStateOfHealthTimestamp" : "2023-06-15T11:40:26.683Z", - "currentStateOfHealthPhase" : "as recieved by dismantling", - "currentStateOfHealthValue" : "95" - } ], - "performanceIndicator" : { - "electricCapacityMin" : "0.8", - "electricCapacityMax" : "0.88" - }, - "type" : "HVB" - } - }, { - "identification" : "86036529-921c-4a18-a252-4d9086a6eb01", - "aspectType" : "urn:bamm:io.catenax.physical_dimension:1.0.0#PhysicalDimension", - "payload" : { - "diameter" : 32, - "length" : 142, - "width" : 26.5, - "weight" : 1.4688, - "height" : 61 - } - }, { - "identification" : "c0e4ac32-76a9-4aa6-a8c5-bc907cc3ec26", - "aspectType" : "urn:bamm:io.catenax.batch:1.0.0#Batch", - "payload" : { - "localIdentifiers" : [ { - "value" : "BPNL00000003B0Q0", - "key" : "manufacturerId" - }, { - "value" : "7A047C7-01", - "key" : "manufacturerPartId" - }, { - "value" : "NO-317675221284003919238395", - "key" : "partInstanceId" - } ], - "manufacturingInformation" : { - "date" : "2022-02-04T14:48:54", - "country" : "DEU" - }, - "catenaXId" : "urn:uuid:d0c74546-b586-4657-be64-2b44d2324d13", - "partTypeInformation" : { - "manufacturerPartId" : "7A047C7-01", - "customerPartId" : "7A047C7-01", - "classification" : "component", - "nameAtManufacturer" : "Cathode Material ", - "nameAtCustomer" : "Cathode Material " + }, + { + "identification": "urn:uuid:ca612488-875d-46c5-8b5a-9880a7a51850", + "aspectType": "urn:bamm:io.catenax.batch:2.0.0#Batch", + "payload": { + "localIdentifiers": [ + { + "value": "BPNL00000003B0Q0", + "key": "manufacturerId" + }, + { + "value": "96587J8-84", + "key": "manufacturerPartId" + }, + { + "value": "NO-213905443749112213266271", + "key": "partInstanceId" + } + ], + "manufacturingInformation": { + "date": "2022-02-04T14:48:54", + "country": "DEU" + }, + "catenaXId": "urn:uuid:abce35f9-22c7-4a3b-b897-6f866a8039b7", + "partTypeInformation": { + "manufacturerPartId": "96587J8-84", + "classification": "component", + "nameAtManufacturer": "NTIER Product" + } } - } - }, { - "identification" : "0212dc31-1d72-426b-be0e-e6ef14b06aef", - "aspectType" : "urn:bamm:io.catenax.material_for_recycling:1.1.0#MaterialForRecycling", - "payload" : { - "materialName" : "Cathode Material", - "materialClass" : "8.1", - "component" : [ { - "materialName" : "Cobalt lithium manganese nickel oxide", - "recycledContent" : 11, - "materialClass" : "8.1", - "quantiy" : { - "unit" : "unit:percent", - "value" : 100 - }, - "quantity" : { - "unit" : { - "datatypeURI" : "urn:bamm:io.openmanufacturing:meta-model:1.0.0#curie", - "lexicalValue" : "unit:percent" + }, + { + "identification": "urn:uuid:5bf414b4-5687-47e9-ba28-54415ec6bd58", + "aspectType": "urn:bamm:io.catenax.material_for_recycling:1.1.0#MaterialForRecycling", + "payload": { + "materialName": "NTIER Product", + "materialClass": "5.5", + "component": [ + { + "materialName": "Aluminium oxide", + "recycledContent": 64, + "materialClass": "5.5.1", + "quantity": { + "unit": "unit:percent", + "value": 60 + }, + "aggregateState": "solid", + "materialAbbreviation": "" }, - "value" : 100 - }, - "aggregateState" : "solid", - "materialAbbreviation" : "NCM" - } ] + { + "materialName": "Other", + "recycledContent": 17, + "materialClass": "5.5.2", + "quantity": { + "unit": "unit:percent", + "value": 40 + }, + "aggregateState": "", + "materialAbbreviation": "" + } + ] + } } - } ] + ] } \ No newline at end of file diff --git a/irs-cucumber-tests/src/test/resources/expected-files/TRI-704-expected-relationships.json b/irs-cucumber-tests/src/test/resources/expected-files/TRI-704-expected-relationships.json index f1b8fd42eb..ff55d0d254 100644 --- a/irs-cucumber-tests/src/test/resources/expected-files/TRI-704-expected-relationships.json +++ b/irs-cucumber-tests/src/test/resources/expected-files/TRI-704-expected-relationships.json @@ -1,19 +1,72 @@ { - "relationships" : [ { - "catenaXId" : "urn:uuid:4afdeafb-3837-4b1e-8653-46376dc79bb3", - "linkedItem" : { - "quantity" : { - "quantityNumber" : 2.5, - "measurementUnit" : { - "datatypeURI" : null, - "lexicalValue" : "unit:litre" - } + "relationships" : [ + { + "catenaXId": "urn:uuid:cce2c864-0e42-4695-ba16-e34fa092906b", + "linkedItem": { + "quantity": { + "quantityNumber": 2.5, + "measurementUnit": { + "datatypeURI": null, + "lexicalValue": "unit:litre" + } + }, + "lifecycleContext": "asBuilt", + "assembledOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z", + "childCatenaXId": "urn:uuid:2c74b701-0d31-4977-be94-42aae3b1ccde" }, - "lifecycleContext" : "asBuilt", - "assembledOn" : "2022-02-03T14:48:54.709Z", - "lastModifiedOn" : "2022-02-03T14:48:54.709Z", - "childCatenaXId" : "urn:uuid:d0c74546-b586-4657-be64-2b44d2324d13" + "aspectType": "SingleLevelBomAsBuilt" }, - "aspectType" : "SingleLevelBomAsBuilt" - } ] + { + "catenaXId": "urn:uuid:cce2c864-0e42-4695-ba16-e34fa092906b", + "linkedItem": { + "quantity": { + "quantityNumber": 0.2341, + "measurementUnit": { + "datatypeURI": null, + "lexicalValue": "unit:kilogram" + } + }, + "lifecycleContext": "asBuilt", + "assembledOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z", + "childCatenaXId": "urn:uuid:13931e36-2319-4c18-896d-c99ac9fd5b9f" + }, + "aspectType": "SingleLevelBomAsBuilt" + }, + { + "catenaXId": "urn:uuid:cce2c864-0e42-4695-ba16-e34fa092906b", + "linkedItem": { + "quantity": { + "quantityNumber": 0.2014, + "measurementUnit": { + "datatypeURI": null, + "lexicalValue": "unit:kilogram" + } + }, + "lifecycleContext": "asBuilt", + "assembledOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z", + "childCatenaXId": "urn:uuid:9a852ada-7d42-4a85-8a19-300503e234ae" + }, + "aspectType": "SingleLevelBomAsBuilt" + }, + { + "catenaXId": "urn:uuid:2c74b701-0d31-4977-be94-42aae3b1ccde", + "linkedItem": { + "quantity": { + "quantityNumber": 0.1908, + "measurementUnit": { + "datatypeURI": null, + "lexicalValue": "unit:kilogram" + } + }, + "lifecycleContext": "asBuilt", + "assembledOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z", + "childCatenaXId": "urn:uuid:abce35f9-22c7-4a3b-b897-6f866a8039b7" + }, + "aspectType": "SingleLevelBomAsBuilt" + } + ] } \ No newline at end of file diff --git a/irs-cucumber-tests/src/test/resources/expected-files/TRI-704-expected-submodels.json b/irs-cucumber-tests/src/test/resources/expected-files/TRI-704-expected-submodels.json index cc0827387d..6fe7da1656 100644 --- a/irs-cucumber-tests/src/test/resources/expected-files/TRI-704-expected-submodels.json +++ b/irs-cucumber-tests/src/test/resources/expected-files/TRI-704-expected-submodels.json @@ -1,132 +1,382 @@ { - "submodels" : [ { - "identification" : "acfbe375-5ce5-468f-bd3d-8339671ae646", - "aspectType" : "urn:bamm:io.catenax.single_level_bom_as_built:1.0.0#SingleLevelBomAsBuilt", - "payload" : { - "catenaXId" : "urn:uuid:4afdeafb-3837-4b1e-8653-46376dc79bb3", - "childItems" : [ { - "catenaXId" : "urn:uuid:d0c74546-b586-4657-be64-2b44d2324d13", - "quantity" : { - "quantityNumber" : 2.5, - "measurementUnit" : "unit:litre" + "submodels" : [ + { + "identification": "urn:uuid:86d6036d-c78d-4310-999b-9eb1d963c699", + "aspectType": "urn:bamm:io.catenax.single_level_usage_as_built:1.0.1#SingleLevelUsageAsBuilt", + "payload": { + "parentParts": [ + { + "parentCatenaXId": "urn:uuid:d70b0211-7f09-4ab6-9ef3-966f49eca90b", + "quantity": { + "quantityNumber": 1, + "measurementUnit": "unit:piece" + }, + "createdOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z" + } + ], + "catenaXId": "urn:uuid:cce2c864-0e42-4695-ba16-e34fa092906b" + } + }, + { + "identification": "urn:uuid:ccba3440-483c-4666-800f-5146c640cb98", + "aspectType": "urn:bamm:io.catenax.serial_part:1.0.1#SerialPart", + "payload": { + "localIdentifiers": [ + { + "value": "BPNL00000003B2OM", + "key": "manufacturerId" + }, + { + "value": "1O222E8-43", + "key": "manufacturerPartId" + }, + { + "value": "NO-236938603963731348901239", + "key": "partInstanceId" + } + ], + "manufacturingInformation": { + "date": "2022-02-04T14:48:54", + "country": "DEU" }, - "businessPartner" : "BPNL50096894aNXY", - "createdOn" : "2022-02-03T14:48:54.709Z", - "lastModifiedOn" : "2022-02-03T14:48:54.709Z" - } ] - } - }, { - "identification" : "b3301bb7-e911-4d25-b6c9-42dacf6d57e6", - "aspectType" : "urn:bamm:io.catenax.serial_part:1.1.0#SerialPart", - "payload" : { - "localIdentifiers" : [ { - "value" : "BPNL00000003AYRE", - "key" : "manufacturerId" - }, { - "value" : "8840838-04", - "key" : "manufacturerPartId" - }, { - "value" : "NO-659142660789764418271073", - "key" : "partInstanceId" - } ], - "manufacturingInformation" : { - "date" : "2022-02-04T14:48:54", - "country" : "DEU" - }, - "catenaXId" : "urn:uuid:4afdeafb-3837-4b1e-8653-46376dc79bb3", - "partTypeInformation" : { - "manufacturerPartId" : "8840374-09", - "customerPartId" : "8840374-09", - "classification" : "component", - "nameAtManufacturer" : "ZB ZELLE", - "nameAtCustomer" : "ZB ZELLE" + "catenaXId": "urn:uuid:cce2c864-0e42-4695-ba16-e34fa092906b", + "partTypeInformation": { + "manufacturerPartId": "1O222E8-43", + "customerPartId": "1O222E8-43", + "classification": "component", + "nameAtManufacturer": "Transmission", + "nameAtCustomer": "Transmission" + } } - } - }, { - "identification" : "4c869e84-6687-4e1b-a87f-a072d548542b", - "aspectType" : "urn:bamm:io.catenax.battery.product_description:1.0.1#ProductDescription", - "payload" : { - "minimalStateOfHealth" : { - "minimalStateOfHealthValue" : "90.0", - "specificatorId" : "OEM", - "minimalStateOfHealthPhase" : "as specified by OEM" - }, - "currentStateOfHealth" : [ { - "currentStateOfHealthTimestamp" : "2021-06-17T14:23:23.672Z", - "currentStateOfHealthPhase" : "as specified by OEM", - "currentStateOfHealthValue" : "105" - }, { - "currentStateOfHealthTimestamp" : "2023-06-22T15:20:31.673Z", - "currentStateOfHealthPhase" : "as recieved by dismantling", - "currentStateOfHealthValue" : "95" - } ], - "performanceIndicator" : { - "electricCapacityMin" : "0.8", - "electricCapacityMax" : "0.88" - }, - "type" : "HVB" - } - }, { - "identification" : "848004d4-cda2-4f43-8eaf-9704bbd58590", - "aspectType" : "urn:bamm:io.catenax.physical_dimension:1.0.0#PhysicalDimension", - "payload" : { - "diameter" : 32, - "length" : 142, - "width" : 26.5, - "weight" : 1.4688, - "height" : 61 - } - }, { - "identification" : "696342c8-f06d-4361-8018-34d6f46b88ba", - "aspectType" : "urn:bamm:io.catenax.batch:1.0.0#Batch", - "payload" : { - "localIdentifiers" : [ { - "value" : "BPNL00000003B0Q0", - "key" : "manufacturerId" - }, { - "value" : "7A047C7-01", - "key" : "manufacturerPartId" - }, { - "value" : "NO-317675221284003919238395", - "key" : "partInstanceId" - } ], - "manufacturingInformation" : { - "date" : "2022-02-04T14:48:54", - "country" : "DEU" - }, - "catenaXId" : "urn:uuid:d0c74546-b586-4657-be64-2b44d2324d13", - "partTypeInformation" : { - "manufacturerPartId" : "7A047C7-01", - "customerPartId" : "7A047C7-01", - "classification" : "component", - "nameAtManufacturer" : "Cathode Material ", - "nameAtCustomer" : "Cathode Material " + }, + { + "identification": "urn:uuid:e119c962-393f-4b5b-97bc-d89806bfb9fa", + "aspectType": "urn:bamm:io.catenax.physical_dimension:1.0.0#PhysicalDimension", + "payload": { + "diameter": 380, + "length": 810, + "width": 590, + "weight": 85, + "height": 610 } - } - }, { - "identification" : "826a9352-bf85-42d1-bbcc-5c3a6a8a4c49", - "aspectType" : "urn:bamm:io.catenax.material_for_recycling:1.1.0#MaterialForRecycling", - "payload" : { - "materialName" : "Cathode Material", - "materialClass" : "8.1", - "component" : [ { - "materialName" : "Cobalt lithium manganese nickel oxide", - "recycledContent" : 11, - "materialClass" : "8.1", - "quantiy" : { - "unit" : "unit:percent", - "value" : 100 + }, + { + "identification": "urn:uuid:a1018f5d-e9a3-4052-8dd3-3cb22f7dd602", + "aspectType": "urn:bamm:io.catenax.material_for_recycling:1.1.0#MaterialForRecycling", + "payload": { + "component": [ + { + "materialName": "Carbon Steel", + "recycledContent": 79, + "materialClass": "1.1.2", + "quantity": { + "unit": "unit:kilogram", + "value": 72.843 + }, + "aggregateState": "solid", + "materialAbbreviation": "CS2" + }, + { + "materialName": "Oil", + "recycledContent": 21, + "materialClass": "9.2", + "quantity": { + "unit": "unit:kilogram", + "value": 6.9 + }, + "aggregateState": "liquid", + "materialAbbreviation": "SAE40" + }, + { + "materialName": "Copper", + "recycledContent": 24, + "materialClass": "3.1", + "quantity": { + "unit": "unit:kilogram", + "value": 1.2 + }, + "aggregateState": "solid", + "materialAbbreviation": "CO7" + } + ] + } + }, + { + "identification": "urn:uuid:89ca0bcf-ea56-4e5e-bc97-ce0e8127d265", + "aspectType": "urn:bamm:io.catenax.single_level_usage_as_built:1.0.1#SingleLevelUsageAsBuilt", + "payload": { + "parentParts": [ + { + "parentCatenaXId": "urn:uuid:cce2c864-0e42-4695-ba16-e34fa092906b", + "quantity": { + "quantityNumber": 1, + "measurementUnit": "unit:piece" + }, + "createdOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z" + } + ], + "catenaXId": "urn:uuid:2c74b701-0d31-4977-be94-42aae3b1ccde" + } + }, + { + "identification": "urn:uuid:80ea1b86-e305-4a60-a027-e164f5a4f801", + "aspectType": "urn:bamm:io.catenax.serial_part:1.0.1#SerialPart", + "payload": { + "localIdentifiers": [ + { + "value": "BPNL00000003B3NX", + "key": "manufacturerId" + }, + { + "value": "05270T6-25", + "key": "manufacturerPartId" + }, + { + "value": "NO-901550611834197658852147", + "key": "partInstanceId" + } + ], + "manufacturingInformation": { + "date": "2022-02-04T14:48:54", + "country": "DEU" }, - "quantity" : { - "unit" : { - "datatypeURI" : "urn:bamm:io.openmanufacturing:meta-model:1.0.0#curie", - "lexicalValue" : "unit:percent" + "catenaXId": "urn:uuid:2c74b701-0d31-4977-be94-42aae3b1ccde", + "partTypeInformation": { + "manufacturerPartId": "05270T6-25", + "customerPartId": "05270T6-25", + "classification": "component", + "nameAtManufacturer": "Sensor", + "nameAtCustomer": "Sensor" + } + } + }, + { + "identification": "urn:uuid:793ecf52-4ecc-4501-81b6-61db0203f467", + "aspectType": "urn:bamm:io.catenax.single_level_usage_as_built:1.0.1#SingleLevelUsageAsBuilt", + "payload": { + "parentParts": [ + { + "parentCatenaXId": "urn:uuid:cce2c864-0e42-4695-ba16-e34fa092906b", + "quantity": { + "quantityNumber": 1, + "measurementUnit": "unit:piece" + }, + "createdOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z" + } + ], + "catenaXId": "urn:uuid:9a852ada-7d42-4a85-8a19-300503e234ae" + } + }, + { + "identification": "urn:uuid:83b895a9-fd61-4b69-97ca-681493ec94e4", + "aspectType": "urn:bamm:io.catenax.batch:2.0.0#Batch", + "payload": { + "localIdentifiers": [ + { + "value": "BPNL00000003B0Q0", + "key": "manufacturerId" + }, + { + "value": "96486G7-29", + "key": "manufacturerPartId" }, - "value" : 100 + { + "value": "NO-939960567261604307414557", + "key": "partInstanceId" + } + ], + "manufacturingInformation": { + "date": "2022-02-04T14:48:54", + "country": "DEU" }, - "aggregateState" : "solid", - "materialAbbreviation" : "NCM" - } ] + "catenaXId": "urn:uuid:9a852ada-7d42-4a85-8a19-300503e234ae", + "partTypeInformation": { + "manufacturerPartId": "96486G7-29", + "classification": "component", + "nameAtManufacturer": "Engineering Plastics" + } + } + }, + { + "identification": "urn:uuid:c0e7f5f6-787d-4dab-a0c9-4a37eabeba31", + "aspectType": "urn:bamm:io.catenax.material_for_recycling:1.1.0#MaterialForRecycling", + "payload": { + "materialName": "Engineering Plastics", + "materialClass": "5.1", + "component": [ + { + "materialName": "PA66", + "recycledContent": 31, + "materialClass": "5.1", + "quantity": { + "unit": "unit:percent", + "value": 70 + }, + "aggregateState": "solid", + "materialAbbreviation": "PA66" + }, + { + "materialName": "GF-Faser", + "recycledContent": 19, + "materialClass": "5.1", + "quantity": { + "unit": "unit:percent", + "value": 30 + }, + "aggregateState": "solid", + "materialAbbreviation": "GF30" + } + ] + } + }, + { + "identification": "urn:uuid:33175aaf-f31f-4b46-a432-409762e27e8a", + "aspectType": "urn:bamm:io.catenax.single_level_usage_as_built:1.0.1#SingleLevelUsageAsBuilt", + "payload": { + "parentParts": [ + { + "parentCatenaXId": "urn:uuid:cce2c864-0e42-4695-ba16-e34fa092906b", + "quantity": { + "quantityNumber": 1, + "measurementUnit": "unit:piece" + }, + "createdOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z" + } + ], + "catenaXId": "urn:uuid:13931e36-2319-4c18-896d-c99ac9fd5b9f" + } + }, + { + "identification": "urn:uuid:6be590f7-5ef2-4b4b-b823-f656f1921c3d", + "aspectType": "urn:bamm:io.catenax.batch:2.0.0#Batch", + "payload": { + "localIdentifiers": [ + { + "value": "BPNL00000003AXS3", + "key": "manufacturerId" + }, + { + "value": "79963M5-58", + "key": "manufacturerPartId" + }, + { + "value": "NO-710890810076765616768884", + "key": "partInstanceId" + } + ], + "manufacturingInformation": { + "date": "2022-02-04T14:48:54", + "country": "DEU" + }, + "catenaXId": "urn:uuid:13931e36-2319-4c18-896d-c99ac9fd5b9f", + "partTypeInformation": { + "manufacturerPartId": "79963M5-58", + "classification": "component", + "nameAtManufacturer": "Glue" + } + } + }, + { + "identification": "urn:uuid:ac0b6cdf-33fc-4d76-9b82-573e0a4f3357", + "aspectType": "urn:bamm:io.catenax.material_for_recycling:1.1.0#MaterialForRecycling", + "payload": { + "component": [ + { + "materialName": "Glue", + "materialClass": "6.2", + "quantity": { + "unit": "unit:kilogram", + "value": 0 + }, + "weight": "0.2341", + "materialAbbreviation": "GL338" + } + ] + } + }, + { + "identification": "urn:uuid:44e62e7d-89c9-45f8-ae1f-a74c050487e9", + "aspectType": "urn:bamm:io.catenax.single_level_usage_as_built:1.0.1#SingleLevelUsageAsBuilt", + "payload": { + "parentParts": [ + { + "parentCatenaXId": "urn:uuid:2c74b701-0d31-4977-be94-42aae3b1ccde", + "quantity": { + "quantityNumber": 1, + "measurementUnit": "unit:piece" + }, + "createdOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z" + } + ], + "catenaXId": "urn:uuid:abce35f9-22c7-4a3b-b897-6f866a8039b7" + } + }, + { + "identification": "urn:uuid:ca612488-875d-46c5-8b5a-9880a7a51850", + "aspectType": "urn:bamm:io.catenax.batch:2.0.0#Batch", + "payload": { + "localIdentifiers": [ + { + "value": "BPNL00000003B0Q0", + "key": "manufacturerId" + }, + { + "value": "96587J8-84", + "key": "manufacturerPartId" + }, + { + "value": "NO-213905443749112213266271", + "key": "partInstanceId" + } + ], + "manufacturingInformation": { + "date": "2022-02-04T14:48:54", + "country": "DEU" + }, + "catenaXId": "urn:uuid:abce35f9-22c7-4a3b-b897-6f866a8039b7", + "partTypeInformation": { + "manufacturerPartId": "96587J8-84", + "classification": "component", + "nameAtManufacturer": "NTIER Product" + } + } + }, + { + "identification": "urn:uuid:5bf414b4-5687-47e9-ba28-54415ec6bd58", + "aspectType": "urn:bamm:io.catenax.material_for_recycling:1.1.0#MaterialForRecycling", + "payload": { + "materialName": "NTIER Product", + "materialClass": "5.5", + "component": [ + { + "materialName": "Aluminium oxide", + "recycledContent": 64, + "materialClass": "5.5.1", + "quantity": { + "unit": "unit:percent", + "value": 60 + }, + "aggregateState": "solid", + "materialAbbreviation": "" + }, + { + "materialName": "Other", + "recycledContent": 17, + "materialClass": "5.5.2", + "quantity": { + "unit": "unit:percent", + "value": 40 + }, + "aggregateState": "", + "materialAbbreviation": "" + } + ] + } } - } ] + ] } \ No newline at end of file diff --git a/irs-cucumber-tests/src/test/resources/expected-files/TRI-767-expected-relationships.json b/irs-cucumber-tests/src/test/resources/expected-files/TRI-767-expected-relationships.json index 58f0e74f86..c6f4e9285d 100644 --- a/irs-cucumber-tests/src/test/resources/expected-files/TRI-767-expected-relationships.json +++ b/irs-cucumber-tests/src/test/resources/expected-files/TRI-767-expected-relationships.json @@ -1,707 +1,752 @@ { - "relationships" : [ { - "catenaXId" : "urn:uuid:7940e0cc-7814-41eb-8b04-d984a325deec", - "linkedItem" : { - "quantity" : { - "quantityNumber" : 2.5, - "measurementUnit" : { - "datatypeURI" : null, - "lexicalValue" : "unit:litre" - } - }, - "lifecycleContext" : "asBuilt", - "assembledOn" : "2022-02-03T14:48:54.709Z", - "lastModifiedOn" : "2022-02-03T14:48:54.709Z", - "childCatenaXId" : "urn:uuid:459240be-ca86-49eb-b674-80ba808993de" - }, - "aspectType" : "SingleLevelBomAsBuilt" - }, { - "catenaXId" : "urn:uuid:7940e0cc-7814-41eb-8b04-d984a325deec", - "linkedItem" : { - "quantity" : { - "quantityNumber" : 2.5, - "measurementUnit" : { - "datatypeURI" : null, - "lexicalValue" : "unit:litre" - } - }, - "lifecycleContext" : "asBuilt", - "assembledOn" : "2022-02-03T14:48:54.709Z", - "lastModifiedOn" : "2022-02-03T14:48:54.709Z", - "childCatenaXId" : "urn:uuid:23a7543b-b806-4d8d-bccc-67fa4b9f91a8" - }, - "aspectType" : "SingleLevelBomAsBuilt" - }, { - "catenaXId" : "urn:uuid:7940e0cc-7814-41eb-8b04-d984a325deec", - "linkedItem" : { - "quantity" : { - "quantityNumber" : 2.5, - "measurementUnit" : { - "datatypeURI" : null, - "lexicalValue" : "unit:litre" - } - }, - "lifecycleContext" : "asBuilt", - "assembledOn" : "2022-02-03T14:48:54.709Z", - "lastModifiedOn" : "2022-02-03T14:48:54.709Z", - "childCatenaXId" : "urn:uuid:b03315f8-e667-4b09-a30d-86e7db72d041" - }, - "aspectType" : "SingleLevelBomAsBuilt" - }, { - "catenaXId" : "urn:uuid:7940e0cc-7814-41eb-8b04-d984a325deec", - "linkedItem" : { - "quantity" : { - "quantityNumber" : 2.5, - "measurementUnit" : { - "datatypeURI" : null, - "lexicalValue" : "unit:litre" - } - }, - "lifecycleContext" : "asBuilt", - "assembledOn" : "2022-02-03T14:48:54.709Z", - "lastModifiedOn" : "2022-02-03T14:48:54.709Z", - "childCatenaXId" : "urn:uuid:2b1da564-b872-465e-ae7c-0e65ab543ec6" - }, - "aspectType" : "SingleLevelBomAsBuilt" - }, { - "catenaXId" : "urn:uuid:7940e0cc-7814-41eb-8b04-d984a325deec", - "linkedItem" : { - "quantity" : { - "quantityNumber" : 2.5, - "measurementUnit" : { - "datatypeURI" : null, - "lexicalValue" : "unit:litre" - } - }, - "lifecycleContext" : "asBuilt", - "assembledOn" : "2022-02-03T14:48:54.709Z", - "lastModifiedOn" : "2022-02-03T14:48:54.709Z", - "childCatenaXId" : "urn:uuid:5441d5c6-b655-449c-9fbd-9e0ce742ffd6" - }, - "aspectType" : "SingleLevelBomAsBuilt" - }, { - "catenaXId" : "urn:uuid:7940e0cc-7814-41eb-8b04-d984a325deec", - "linkedItem" : { - "quantity" : { - "quantityNumber" : 2.5, - "measurementUnit" : { - "datatypeURI" : null, - "lexicalValue" : "unit:litre" - } - }, - "lifecycleContext" : "asBuilt", - "assembledOn" : "2022-02-03T14:48:54.709Z", - "lastModifiedOn" : "2022-02-03T14:48:54.709Z", - "childCatenaXId" : "urn:uuid:39563a5c-016e-4924-a4dd-c1b8866ba95f" - }, - "aspectType" : "SingleLevelBomAsBuilt" - }, { - "catenaXId" : "urn:uuid:7940e0cc-7814-41eb-8b04-d984a325deec", - "linkedItem" : { - "quantity" : { - "quantityNumber" : 2.5, - "measurementUnit" : { - "datatypeURI" : null, - "lexicalValue" : "unit:litre" - } - }, - "lifecycleContext" : "asBuilt", - "assembledOn" : "2022-02-03T14:48:54.709Z", - "lastModifiedOn" : "2022-02-03T14:48:54.709Z", - "childCatenaXId" : "urn:uuid:38bf9b41-5ce2-4d63-8a26-51597bf67d56" - }, - "aspectType" : "SingleLevelBomAsBuilt" - }, { - "catenaXId" : "urn:uuid:7940e0cc-7814-41eb-8b04-d984a325deec", - "linkedItem" : { - "quantity" : { - "quantityNumber" : 2.5, - "measurementUnit" : { - "datatypeURI" : null, - "lexicalValue" : "unit:litre" - } - }, - "lifecycleContext" : "asBuilt", - "assembledOn" : "2022-02-03T14:48:54.709Z", - "lastModifiedOn" : "2022-02-03T14:48:54.709Z", - "childCatenaXId" : "urn:uuid:dd9a6772-fc87-4f13-af0c-972edda87e5e" - }, - "aspectType" : "SingleLevelBomAsBuilt" - }, { - "catenaXId" : "urn:uuid:7940e0cc-7814-41eb-8b04-d984a325deec", - "linkedItem" : { - "quantity" : { - "quantityNumber" : 2.5, - "measurementUnit" : { - "datatypeURI" : null, - "lexicalValue" : "unit:litre" - } - }, - "lifecycleContext" : "asBuilt", - "assembledOn" : "2022-02-03T14:48:54.709Z", - "lastModifiedOn" : "2022-02-03T14:48:54.709Z", - "childCatenaXId" : "urn:uuid:bff8e46a-25d7-4509-848e-83c3c9450b55" - }, - "aspectType" : "SingleLevelBomAsBuilt" - }, { - "catenaXId" : "urn:uuid:7940e0cc-7814-41eb-8b04-d984a325deec", - "linkedItem" : { - "quantity" : { - "quantityNumber" : 2.5, - "measurementUnit" : { - "datatypeURI" : null, - "lexicalValue" : "unit:litre" - } - }, - "lifecycleContext" : "asBuilt", - "assembledOn" : "2022-02-03T14:48:54.709Z", - "lastModifiedOn" : "2022-02-03T14:48:54.709Z", - "childCatenaXId" : "urn:uuid:192628cb-395f-4764-b121-73eb92b308df" - }, - "aspectType" : "SingleLevelBomAsBuilt" - }, { - "catenaXId" : "urn:uuid:7940e0cc-7814-41eb-8b04-d984a325deec", - "linkedItem" : { - "quantity" : { - "quantityNumber" : 2.5, - "measurementUnit" : { - "datatypeURI" : null, - "lexicalValue" : "unit:litre" - } - }, - "lifecycleContext" : "asBuilt", - "assembledOn" : "2022-02-03T14:48:54.709Z", - "lastModifiedOn" : "2022-02-03T14:48:54.709Z", - "childCatenaXId" : "urn:uuid:dec48d10-2e0a-4b82-9c46-19ab09da7d8d" - }, - "aspectType" : "SingleLevelBomAsBuilt" - }, { - "catenaXId" : "urn:uuid:7940e0cc-7814-41eb-8b04-d984a325deec", - "linkedItem" : { - "quantity" : { - "quantityNumber" : 2.5, - "measurementUnit" : { - "datatypeURI" : null, - "lexicalValue" : "unit:litre" - } - }, - "lifecycleContext" : "asBuilt", - "assembledOn" : "2022-02-03T14:48:54.709Z", - "lastModifiedOn" : "2022-02-03T14:48:54.709Z", - "childCatenaXId" : "urn:uuid:1f8fd12c-a3d3-4a76-8e0b-6093850df643" - }, - "aspectType" : "SingleLevelBomAsBuilt" - }, { - "catenaXId" : "urn:uuid:7940e0cc-7814-41eb-8b04-d984a325deec", - "linkedItem" : { - "quantity" : { - "quantityNumber" : 2.5, - "measurementUnit" : { - "datatypeURI" : null, - "lexicalValue" : "unit:litre" - } - }, - "lifecycleContext" : "asBuilt", - "assembledOn" : "2022-02-03T14:48:54.709Z", - "lastModifiedOn" : "2022-02-03T14:48:54.709Z", - "childCatenaXId" : "urn:uuid:9d5c45f5-52d9-4737-9d04-16a79ecdf4cf" - }, - "aspectType" : "SingleLevelBomAsBuilt" - }, { - "catenaXId" : "urn:uuid:7940e0cc-7814-41eb-8b04-d984a325deec", - "linkedItem" : { - "quantity" : { - "quantityNumber" : 2.5, - "measurementUnit" : { - "datatypeURI" : null, - "lexicalValue" : "unit:litre" - } - }, - "lifecycleContext" : "asBuilt", - "assembledOn" : "2022-02-03T14:48:54.709Z", - "lastModifiedOn" : "2022-02-03T14:48:54.709Z", - "childCatenaXId" : "urn:uuid:084bd4c9-7b8e-409b-b6fc-4a0fdb4bc930" - }, - "aspectType" : "SingleLevelBomAsBuilt" - }, { - "catenaXId" : "urn:uuid:7940e0cc-7814-41eb-8b04-d984a325deec", - "linkedItem" : { - "quantity" : { - "quantityNumber" : 2.5, - "measurementUnit" : { - "datatypeURI" : null, - "lexicalValue" : "unit:litre" - } - }, - "lifecycleContext" : "asBuilt", - "assembledOn" : "2022-02-03T14:48:54.709Z", - "lastModifiedOn" : "2022-02-03T14:48:54.709Z", - "childCatenaXId" : "urn:uuid:e7bf8197-2ef1-4ac0-9304-f7479df75065" - }, - "aspectType" : "SingleLevelBomAsBuilt" - }, { - "catenaXId" : "urn:uuid:7940e0cc-7814-41eb-8b04-d984a325deec", - "linkedItem" : { - "quantity" : { - "quantityNumber" : 2.5, - "measurementUnit" : { - "datatypeURI" : null, - "lexicalValue" : "unit:litre" - } - }, - "lifecycleContext" : "asBuilt", - "assembledOn" : "2022-02-03T14:48:54.709Z", - "lastModifiedOn" : "2022-02-03T14:48:54.709Z", - "childCatenaXId" : "urn:uuid:fbc2da6c-1891-4c37-8cae-11c0fc50bdad" - }, - "aspectType" : "SingleLevelBomAsBuilt" - }, { - "catenaXId" : "urn:uuid:7940e0cc-7814-41eb-8b04-d984a325deec", - "linkedItem" : { - "quantity" : { - "quantityNumber" : 2.5, - "measurementUnit" : { - "datatypeURI" : null, - "lexicalValue" : "unit:litre" - } - }, - "lifecycleContext" : "asBuilt", - "assembledOn" : "2022-02-03T14:48:54.709Z", - "lastModifiedOn" : "2022-02-03T14:48:54.709Z", - "childCatenaXId" : "urn:uuid:4011e910-616b-4fed-9115-800e0133a0f7" - }, - "aspectType" : "SingleLevelBomAsBuilt" - }, { - "catenaXId" : "urn:uuid:7940e0cc-7814-41eb-8b04-d984a325deec", - "linkedItem" : { - "quantity" : { - "quantityNumber" : 2.5, - "measurementUnit" : { - "datatypeURI" : null, - "lexicalValue" : "unit:litre" - } - }, - "lifecycleContext" : "asBuilt", - "assembledOn" : "2022-02-03T14:48:54.709Z", - "lastModifiedOn" : "2022-02-03T14:48:54.709Z", - "childCatenaXId" : "urn:uuid:10847717-9c74-486f-af98-a59fe6ed9a78" - }, - "aspectType" : "SingleLevelBomAsBuilt" - }, { - "catenaXId" : "urn:uuid:7940e0cc-7814-41eb-8b04-d984a325deec", - "linkedItem" : { - "quantity" : { - "quantityNumber" : 2.5, - "measurementUnit" : { - "datatypeURI" : null, - "lexicalValue" : "unit:litre" - } - }, - "lifecycleContext" : "asBuilt", - "assembledOn" : "2022-02-03T14:48:54.709Z", - "lastModifiedOn" : "2022-02-03T14:48:54.709Z", - "childCatenaXId" : "urn:uuid:a6c52e63-f877-44cf-b798-5fb40b220cf7" - }, - "aspectType" : "SingleLevelBomAsBuilt" - }, { - "catenaXId" : "urn:uuid:7940e0cc-7814-41eb-8b04-d984a325deec", - "linkedItem" : { - "quantity" : { - "quantityNumber" : 2.5, - "measurementUnit" : { - "datatypeURI" : null, - "lexicalValue" : "unit:litre" - } - }, - "lifecycleContext" : "asBuilt", - "assembledOn" : "2022-02-03T14:48:54.709Z", - "lastModifiedOn" : "2022-02-03T14:48:54.709Z", - "childCatenaXId" : "urn:uuid:a25085cf-fed3-4f5a-8573-fcaffc9dee7c" - }, - "aspectType" : "SingleLevelBomAsBuilt" - }, { - "catenaXId" : "urn:uuid:7940e0cc-7814-41eb-8b04-d984a325deec", - "linkedItem" : { - "quantity" : { - "quantityNumber" : 2.5, - "measurementUnit" : { - "datatypeURI" : null, - "lexicalValue" : "unit:litre" - } - }, - "lifecycleContext" : "asBuilt", - "assembledOn" : "2022-02-03T14:48:54.709Z", - "lastModifiedOn" : "2022-02-03T14:48:54.709Z", - "childCatenaXId" : "urn:uuid:e61924f1-6186-4a4a-a34e-ac467de9d99e" - }, - "aspectType" : "SingleLevelBomAsBuilt" - }, { - "catenaXId" : "urn:uuid:7940e0cc-7814-41eb-8b04-d984a325deec", - "linkedItem" : { - "quantity" : { - "quantityNumber" : 2.5, - "measurementUnit" : { - "datatypeURI" : null, - "lexicalValue" : "unit:litre" - } - }, - "lifecycleContext" : "asBuilt", - "assembledOn" : "2022-02-03T14:48:54.709Z", - "lastModifiedOn" : "2022-02-03T14:48:54.709Z", - "childCatenaXId" : "urn:uuid:f95ec7a8-ee2b-44c3-b849-99440b58903f" - }, - "aspectType" : "SingleLevelBomAsBuilt" - }, { - "catenaXId" : "urn:uuid:7940e0cc-7814-41eb-8b04-d984a325deec", - "linkedItem" : { - "quantity" : { - "quantityNumber" : 2.5, - "measurementUnit" : { - "datatypeURI" : null, - "lexicalValue" : "unit:litre" - } - }, - "lifecycleContext" : "asBuilt", - "assembledOn" : "2022-02-03T14:48:54.709Z", - "lastModifiedOn" : "2022-02-03T14:48:54.709Z", - "childCatenaXId" : "urn:uuid:56ce2534-43b9-4b87-8542-26335b8f041b" - }, - "aspectType" : "SingleLevelBomAsBuilt" - }, { - "catenaXId" : "urn:uuid:7940e0cc-7814-41eb-8b04-d984a325deec", - "linkedItem" : { - "quantity" : { - "quantityNumber" : 2.5, - "measurementUnit" : { - "datatypeURI" : null, - "lexicalValue" : "unit:litre" - } - }, - "lifecycleContext" : "asBuilt", - "assembledOn" : "2022-02-03T14:48:54.709Z", - "lastModifiedOn" : "2022-02-03T14:48:54.709Z", - "childCatenaXId" : "urn:uuid:dccaccfc-7ad9-4ba0-a609-f9c6381efbde" - }, - "aspectType" : "SingleLevelBomAsBuilt" - }, { - "catenaXId" : "urn:uuid:7940e0cc-7814-41eb-8b04-d984a325deec", - "linkedItem" : { - "quantity" : { - "quantityNumber" : 2.5, - "measurementUnit" : { - "datatypeURI" : null, - "lexicalValue" : "unit:litre" - } - }, - "lifecycleContext" : "asBuilt", - "assembledOn" : "2022-02-03T14:48:54.709Z", - "lastModifiedOn" : "2022-02-03T14:48:54.709Z", - "childCatenaXId" : "urn:uuid:375141dc-59c7-49ec-a749-42ae1aa1e845" - }, - "aspectType" : "SingleLevelBomAsBuilt" - }, { - "catenaXId" : "urn:uuid:7940e0cc-7814-41eb-8b04-d984a325deec", - "linkedItem" : { - "quantity" : { - "quantityNumber" : 2.5, - "measurementUnit" : { - "datatypeURI" : null, - "lexicalValue" : "unit:litre" - } - }, - "lifecycleContext" : "asBuilt", - "assembledOn" : "2022-02-03T14:48:54.709Z", - "lastModifiedOn" : "2022-02-03T14:48:54.709Z", - "childCatenaXId" : "urn:uuid:8927c3f1-0f82-4348-9959-6b016b4197d1" - }, - "aspectType" : "SingleLevelBomAsBuilt" - }, { - "catenaXId" : "urn:uuid:7940e0cc-7814-41eb-8b04-d984a325deec", - "linkedItem" : { - "quantity" : { - "quantityNumber" : 2.5, - "measurementUnit" : { - "datatypeURI" : null, - "lexicalValue" : "unit:litre" - } - }, - "lifecycleContext" : "asBuilt", - "assembledOn" : "2022-02-03T14:48:54.709Z", - "lastModifiedOn" : "2022-02-03T14:48:54.709Z", - "childCatenaXId" : "urn:uuid:84dd6bf5-3ddb-4611-bd5f-cf653740ad6b" - }, - "aspectType" : "SingleLevelBomAsBuilt" - }, { - "catenaXId" : "urn:uuid:7940e0cc-7814-41eb-8b04-d984a325deec", - "linkedItem" : { - "quantity" : { - "quantityNumber" : 2.5, - "measurementUnit" : { - "datatypeURI" : null, - "lexicalValue" : "unit:litre" - } - }, - "lifecycleContext" : "asBuilt", - "assembledOn" : "2022-02-03T14:48:54.709Z", - "lastModifiedOn" : "2022-02-03T14:48:54.709Z", - "childCatenaXId" : "urn:uuid:9e13e5ae-8c21-4a11-a62b-b62061344f01" - }, - "aspectType" : "SingleLevelBomAsBuilt" - }, { - "catenaXId" : "urn:uuid:7940e0cc-7814-41eb-8b04-d984a325deec", - "linkedItem" : { - "quantity" : { - "quantityNumber" : 2.5, - "measurementUnit" : { - "datatypeURI" : null, - "lexicalValue" : "unit:litre" - } - }, - "lifecycleContext" : "asBuilt", - "assembledOn" : "2022-02-03T14:48:54.709Z", - "lastModifiedOn" : "2022-02-03T14:48:54.709Z", - "childCatenaXId" : "urn:uuid:07e6ae01-845f-4202-9e82-74e87fd30ff4" - }, - "aspectType" : "SingleLevelBomAsBuilt" - }, { - "catenaXId" : "urn:uuid:7940e0cc-7814-41eb-8b04-d984a325deec", - "linkedItem" : { - "quantity" : { - "quantityNumber" : 2.5, - "measurementUnit" : { - "datatypeURI" : null, - "lexicalValue" : "unit:litre" - } - }, - "lifecycleContext" : "asBuilt", - "assembledOn" : "2022-02-03T14:48:54.709Z", - "lastModifiedOn" : "2022-02-03T14:48:54.709Z", - "childCatenaXId" : "urn:uuid:f8e17239-dc39-482b-b7ff-bee6edf99ef9" - }, - "aspectType" : "SingleLevelBomAsBuilt" - }, { - "catenaXId" : "urn:uuid:7940e0cc-7814-41eb-8b04-d984a325deec", - "linkedItem" : { - "quantity" : { - "quantityNumber" : 2.5, - "measurementUnit" : { - "datatypeURI" : null, - "lexicalValue" : "unit:litre" - } - }, - "lifecycleContext" : "asBuilt", - "assembledOn" : "2022-02-03T14:48:54.709Z", - "lastModifiedOn" : "2022-02-03T14:48:54.709Z", - "childCatenaXId" : "urn:uuid:943c9ba4-646d-45b9-b27e-3ab3aab021f2" - }, - "aspectType" : "SingleLevelBomAsBuilt" - }, { - "catenaXId" : "urn:uuid:7940e0cc-7814-41eb-8b04-d984a325deec", - "linkedItem" : { - "quantity" : { - "quantityNumber" : 2.5, - "measurementUnit" : { - "datatypeURI" : null, - "lexicalValue" : "unit:litre" - } - }, - "lifecycleContext" : "asBuilt", - "assembledOn" : "2022-02-03T14:48:54.709Z", - "lastModifiedOn" : "2022-02-03T14:48:54.709Z", - "childCatenaXId" : "urn:uuid:844d7dfe-85e1-4f49-8bce-905e046d2b5f" - }, - "aspectType" : "SingleLevelBomAsBuilt" - }, { - "catenaXId" : "urn:uuid:7940e0cc-7814-41eb-8b04-d984a325deec", - "linkedItem" : { - "quantity" : { - "quantityNumber" : 2.5, - "measurementUnit" : { - "datatypeURI" : null, - "lexicalValue" : "unit:litre" - } - }, - "lifecycleContext" : "asBuilt", - "assembledOn" : "2022-02-03T14:48:54.709Z", - "lastModifiedOn" : "2022-02-03T14:48:54.709Z", - "childCatenaXId" : "urn:uuid:23ad49b1-616b-438f-b240-96c6d6e0f097" - }, - "aspectType" : "SingleLevelBomAsBuilt" - }, { - "catenaXId" : "urn:uuid:7940e0cc-7814-41eb-8b04-d984a325deec", - "linkedItem" : { - "quantity" : { - "quantityNumber" : 2.5, - "measurementUnit" : { - "datatypeURI" : null, - "lexicalValue" : "unit:litre" - } - }, - "lifecycleContext" : "asBuilt", - "assembledOn" : "2022-02-03T14:48:54.709Z", - "lastModifiedOn" : "2022-02-03T14:48:54.709Z", - "childCatenaXId" : "urn:uuid:4e2ef7db-6843-4407-9ce1-e4355dbcc4f3" - }, - "aspectType" : "SingleLevelBomAsBuilt" - }, { - "catenaXId" : "urn:uuid:dd9a6772-fc87-4f13-af0c-972edda87e5e", - "linkedItem" : { - "quantity" : { - "quantityNumber" : 2.5, - "measurementUnit" : { - "datatypeURI" : null, - "lexicalValue" : "unit:litre" - } - }, - "lifecycleContext" : "asBuilt", - "assembledOn" : "2022-02-03T14:48:54.709Z", - "lastModifiedOn" : "2022-02-03T14:48:54.709Z", - "childCatenaXId" : "urn:uuid:73abcdea-2f2c-4574-a6a9-1ba5e50cfcae" - }, - "aspectType" : "SingleLevelBomAsBuilt" - }, { - "catenaXId" : "urn:uuid:dd9a6772-fc87-4f13-af0c-972edda87e5e", - "linkedItem" : { - "quantity" : { - "quantityNumber" : 0.3301, - "measurementUnit" : { - "datatypeURI" : null, - "lexicalValue" : "unit:kilogram" - } - }, - "lifecycleContext" : "asBuilt", - "assembledOn" : "2022-02-03T14:48:54.709Z", - "lastModifiedOn" : "2022-02-03T14:48:54.709Z", - "childCatenaXId" : "urn:uuid:17703814-49b6-4a22-b091-c0c03ff64d2d" - }, - "aspectType" : "SingleLevelBomAsBuilt" - }, { - "catenaXId" : "urn:uuid:dd9a6772-fc87-4f13-af0c-972edda87e5e", - "linkedItem" : { - "quantity" : { - "quantityNumber" : 0.2001, - "measurementUnit" : { - "datatypeURI" : null, - "lexicalValue" : "unit:kilogram" - } - }, - "lifecycleContext" : "asBuilt", - "assembledOn" : "2022-02-03T14:48:54.709Z", - "lastModifiedOn" : "2022-02-03T14:48:54.709Z", - "childCatenaXId" : "urn:uuid:9b32b8bb-2d84-40c8-89f9-1453e00ac72a" - }, - "aspectType" : "SingleLevelBomAsBuilt" - }, { - "catenaXId" : "urn:uuid:73abcdea-2f2c-4574-a6a9-1ba5e50cfcae", - "linkedItem" : { - "quantity" : { - "quantityNumber" : 0.1908, - "measurementUnit" : { - "datatypeURI" : null, - "lexicalValue" : "unit:kilogram" - } - }, - "lifecycleContext" : "asBuilt", - "assembledOn" : "2022-02-03T14:48:54.709Z", - "lastModifiedOn" : "2022-02-03T14:48:54.709Z", - "childCatenaXId" : "urn:uuid:33361501-442a-47a0-9b65-3a12b3be6e23" - }, - "aspectType" : "SingleLevelBomAsBuilt" - }, { - "catenaXId" : "urn:uuid:56ce2534-43b9-4b87-8542-26335b8f041b", - "linkedItem" : { - "quantity" : { - "quantityNumber" : 2.5, - "measurementUnit" : { - "datatypeURI" : null, - "lexicalValue" : "unit:litre" - } - }, - "lifecycleContext" : "asBuilt", - "assembledOn" : "2022-02-03T14:48:54.709Z", - "lastModifiedOn" : "2022-02-03T14:48:54.709Z", - "childCatenaXId" : "urn:uuid:df9309c2-a688-45a5-877d-ccdeea68e47e" - }, - "aspectType" : "SingleLevelBomAsBuilt" - }, { - "catenaXId" : "urn:uuid:dccaccfc-7ad9-4ba0-a609-f9c6381efbde", - "linkedItem" : { - "quantity" : { - "quantityNumber" : 2.5, - "measurementUnit" : { - "datatypeURI" : null, - "lexicalValue" : "unit:litre" - } - }, - "lifecycleContext" : "asBuilt", - "assembledOn" : "2022-02-03T14:48:54.709Z", - "lastModifiedOn" : "2022-02-03T14:48:54.709Z", - "childCatenaXId" : "urn:uuid:caa2cbfc-78d4-4027-abb5-0c6a9d988725" - }, - "aspectType" : "SingleLevelBomAsBuilt" - }, { - "catenaXId" : "urn:uuid:8927c3f1-0f82-4348-9959-6b016b4197d1", - "linkedItem" : { - "quantity" : { - "quantityNumber" : 0.2014, - "measurementUnit" : { - "datatypeURI" : null, - "lexicalValue" : "unit:kilogram" - } - }, - "lifecycleContext" : "asBuilt", - "assembledOn" : "2022-02-03T14:48:54.709Z", - "lastModifiedOn" : "2022-02-03T14:48:54.709Z", - "childCatenaXId" : "urn:uuid:d1afb5bc-1598-480d-82f6-85b18edb94a6" - }, - "aspectType" : "SingleLevelBomAsBuilt" - }, { - "catenaXId" : "urn:uuid:8927c3f1-0f82-4348-9959-6b016b4197d1", - "linkedItem" : { - "quantity" : { - "quantityNumber" : 0.2341, - "measurementUnit" : { - "datatypeURI" : null, - "lexicalValue" : "unit:kilogram" - } - }, - "lifecycleContext" : "asBuilt", - "assembledOn" : "2022-02-03T14:48:54.709Z", - "lastModifiedOn" : "2022-02-03T14:48:54.709Z", - "childCatenaXId" : "urn:uuid:aa4f0ad4-b6e0-4bc8-831d-a74bffd40a85" - }, - "aspectType" : "SingleLevelBomAsBuilt" - }, { - "catenaXId" : "urn:uuid:8927c3f1-0f82-4348-9959-6b016b4197d1", - "linkedItem" : { - "quantity" : { - "quantityNumber" : 2.5, - "measurementUnit" : { - "datatypeURI" : null, - "lexicalValue" : "unit:litre" - } - }, - "lifecycleContext" : "asBuilt", - "assembledOn" : "2022-02-03T14:48:54.709Z", - "lastModifiedOn" : "2022-02-03T14:48:54.709Z", - "childCatenaXId" : "urn:uuid:b20bcbf2-4ddc-42bf-8c8e-74c45ab812b4" - }, - "aspectType" : "SingleLevelBomAsBuilt" - }, { - "catenaXId" : "urn:uuid:b20bcbf2-4ddc-42bf-8c8e-74c45ab812b4", - "linkedItem" : { - "quantity" : { - "quantityNumber" : 0.1908, - "measurementUnit" : { - "datatypeURI" : null, - "lexicalValue" : "unit:kilogram" - } - }, - "lifecycleContext" : "asBuilt", - "assembledOn" : "2022-02-03T14:48:54.709Z", - "lastModifiedOn" : "2022-02-03T14:48:54.709Z", - "childCatenaXId" : "urn:uuid:58581530-42c8-4d04-83e9-50cce45af230" - }, - "aspectType" : "SingleLevelBomAsBuilt" - } ] + "relationships" : [ + { + "catenaXId": "urn:uuid:1b17682e-5e2a-4913-aa1b-7d59a072a3cb", + "linkedItem": { + "quantity": { + "quantityNumber": 2.5, + "measurementUnit": { + "datatypeURI": null, + "lexicalValue": "unit:litre" + } + }, + "lifecycleContext": "asBuilt", + "assembledOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z", + "childCatenaXId": "urn:uuid:28aeca09-a251-4629-820d-eb047addc9c7" + }, + "aspectType": "SingleLevelBomAsBuilt" + }, + { + "catenaXId": "urn:uuid:1b17682e-5e2a-4913-aa1b-7d59a072a3cb", + "linkedItem": { + "quantity": { + "quantityNumber": 2.5, + "measurementUnit": { + "datatypeURI": null, + "lexicalValue": "unit:litre" + } + }, + "lifecycleContext": "asBuilt", + "assembledOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z", + "childCatenaXId": "urn:uuid:1a067f63-ebbe-4be9-95df-239068ba98d1" + }, + "aspectType": "SingleLevelBomAsBuilt" + }, + { + "catenaXId": "urn:uuid:1b17682e-5e2a-4913-aa1b-7d59a072a3cb", + "linkedItem": { + "quantity": { + "quantityNumber": 2.5, + "measurementUnit": { + "datatypeURI": null, + "lexicalValue": "unit:litre" + } + }, + "lifecycleContext": "asBuilt", + "assembledOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z", + "childCatenaXId": "urn:uuid:4079114c-10d4-42dc-8de5-7637698c2ad8" + }, + "aspectType": "SingleLevelBomAsBuilt" + }, + { + "catenaXId": "urn:uuid:1b17682e-5e2a-4913-aa1b-7d59a072a3cb", + "linkedItem": { + "quantity": { + "quantityNumber": 2.5, + "measurementUnit": { + "datatypeURI": null, + "lexicalValue": "unit:litre" + } + }, + "lifecycleContext": "asBuilt", + "assembledOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z", + "childCatenaXId": "urn:uuid:c5f253e2-f813-43c9-b889-00f78922d315" + }, + "aspectType": "SingleLevelBomAsBuilt" + }, + { + "catenaXId": "urn:uuid:1b17682e-5e2a-4913-aa1b-7d59a072a3cb", + "linkedItem": { + "quantity": { + "quantityNumber": 2.5, + "measurementUnit": { + "datatypeURI": null, + "lexicalValue": "unit:litre" + } + }, + "lifecycleContext": "asBuilt", + "assembledOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z", + "childCatenaXId": "urn:uuid:7d17ab0d-d879-4bae-bada-c65adf834dc7" + }, + "aspectType": "SingleLevelBomAsBuilt" + }, + { + "catenaXId": "urn:uuid:1b17682e-5e2a-4913-aa1b-7d59a072a3cb", + "linkedItem": { + "quantity": { + "quantityNumber": 2.5, + "measurementUnit": { + "datatypeURI": null, + "lexicalValue": "unit:litre" + } + }, + "lifecycleContext": "asBuilt", + "assembledOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z", + "childCatenaXId": "urn:uuid:736ca592-a0b0-4394-b538-f251a4224125" + }, + "aspectType": "SingleLevelBomAsBuilt" + }, + { + "catenaXId": "urn:uuid:1b17682e-5e2a-4913-aa1b-7d59a072a3cb", + "linkedItem": { + "quantity": { + "quantityNumber": 2.5, + "measurementUnit": { + "datatypeURI": null, + "lexicalValue": "unit:litre" + } + }, + "lifecycleContext": "asBuilt", + "assembledOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z", + "childCatenaXId": "urn:uuid:18fc5f13-ae4c-4dcf-9a0d-ca8897ead240" + }, + "aspectType": "SingleLevelBomAsBuilt" + }, + { + "catenaXId": "urn:uuid:1b17682e-5e2a-4913-aa1b-7d59a072a3cb", + "linkedItem": { + "quantity": { + "quantityNumber": 2.5, + "measurementUnit": { + "datatypeURI": null, + "lexicalValue": "unit:litre" + } + }, + "lifecycleContext": "asBuilt", + "assembledOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z", + "childCatenaXId": "urn:uuid:94165d74-1014-4a92-9798-2caa308e3eec" + }, + "aspectType": "SingleLevelBomAsBuilt" + }, + { + "catenaXId": "urn:uuid:1b17682e-5e2a-4913-aa1b-7d59a072a3cb", + "linkedItem": { + "quantity": { + "quantityNumber": 2.5, + "measurementUnit": { + "datatypeURI": null, + "lexicalValue": "unit:litre" + } + }, + "lifecycleContext": "asBuilt", + "assembledOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z", + "childCatenaXId": "urn:uuid:f449ed2f-92cf-40ce-a5b8-e6098ae5bb52" + }, + "aspectType": "SingleLevelBomAsBuilt" + }, + { + "catenaXId": "urn:uuid:1b17682e-5e2a-4913-aa1b-7d59a072a3cb", + "linkedItem": { + "quantity": { + "quantityNumber": 2.5, + "measurementUnit": { + "datatypeURI": null, + "lexicalValue": "unit:litre" + } + }, + "lifecycleContext": "asBuilt", + "assembledOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z", + "childCatenaXId": "urn:uuid:18dee324-3016-4968-bdce-a1338fec49c1" + }, + "aspectType": "SingleLevelBomAsBuilt" + }, + { + "catenaXId": "urn:uuid:1b17682e-5e2a-4913-aa1b-7d59a072a3cb", + "linkedItem": { + "quantity": { + "quantityNumber": 2.5, + "measurementUnit": { + "datatypeURI": null, + "lexicalValue": "unit:litre" + } + }, + "lifecycleContext": "asBuilt", + "assembledOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z", + "childCatenaXId": "urn:uuid:7a9adc73-f408-4800-820d-0c82a6bb6b53" + }, + "aspectType": "SingleLevelBomAsBuilt" + }, + { + "catenaXId": "urn:uuid:1b17682e-5e2a-4913-aa1b-7d59a072a3cb", + "linkedItem": { + "quantity": { + "quantityNumber": 2.5, + "measurementUnit": { + "datatypeURI": null, + "lexicalValue": "unit:litre" + } + }, + "lifecycleContext": "asBuilt", + "assembledOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z", + "childCatenaXId": "urn:uuid:979818ab-6f5d-42d9-84aa-5fcbf69a06aa" + }, + "aspectType": "SingleLevelBomAsBuilt" + }, + { + "catenaXId": "urn:uuid:1b17682e-5e2a-4913-aa1b-7d59a072a3cb", + "linkedItem": { + "quantity": { + "quantityNumber": 2.5, + "measurementUnit": { + "datatypeURI": null, + "lexicalValue": "unit:litre" + } + }, + "lifecycleContext": "asBuilt", + "assembledOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z", + "childCatenaXId": "urn:uuid:bdb24ca0-906c-42f8-8be1-82f4411cc501" + }, + "aspectType": "SingleLevelBomAsBuilt" + }, + { + "catenaXId": "urn:uuid:1b17682e-5e2a-4913-aa1b-7d59a072a3cb", + "linkedItem": { + "quantity": { + "quantityNumber": 2.5, + "measurementUnit": { + "datatypeURI": null, + "lexicalValue": "unit:litre" + } + }, + "lifecycleContext": "asBuilt", + "assembledOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z", + "childCatenaXId": "urn:uuid:540c139b-826e-458e-a536-d6a6d3d01d5e" + }, + "aspectType": "SingleLevelBomAsBuilt" + }, + { + "catenaXId": "urn:uuid:1b17682e-5e2a-4913-aa1b-7d59a072a3cb", + "linkedItem": { + "quantity": { + "quantityNumber": 2.5, + "measurementUnit": { + "datatypeURI": null, + "lexicalValue": "unit:litre" + } + }, + "lifecycleContext": "asBuilt", + "assembledOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z", + "childCatenaXId": "urn:uuid:24e65ea5-e0fd-4f55-b884-8526887a8dd1" + }, + "aspectType": "SingleLevelBomAsBuilt" + }, + { + "catenaXId": "urn:uuid:1b17682e-5e2a-4913-aa1b-7d59a072a3cb", + "linkedItem": { + "quantity": { + "quantityNumber": 2.5, + "measurementUnit": { + "datatypeURI": null, + "lexicalValue": "unit:litre" + } + }, + "lifecycleContext": "asBuilt", + "assembledOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z", + "childCatenaXId": "urn:uuid:de28a7b9-0e01-4d7d-8e10-b4eed42cf480" + }, + "aspectType": "SingleLevelBomAsBuilt" + }, + { + "catenaXId": "urn:uuid:1b17682e-5e2a-4913-aa1b-7d59a072a3cb", + "linkedItem": { + "quantity": { + "quantityNumber": 2.5, + "measurementUnit": { + "datatypeURI": null, + "lexicalValue": "unit:litre" + } + }, + "lifecycleContext": "asBuilt", + "assembledOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z", + "childCatenaXId": "urn:uuid:a1b9e6d8-f045-4f2d-b9f6-e10370ca596d" + }, + "aspectType": "SingleLevelBomAsBuilt" + }, + { + "catenaXId": "urn:uuid:1b17682e-5e2a-4913-aa1b-7d59a072a3cb", + "linkedItem": { + "quantity": { + "quantityNumber": 2.5, + "measurementUnit": { + "datatypeURI": null, + "lexicalValue": "unit:litre" + } + }, + "lifecycleContext": "asBuilt", + "assembledOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z", + "childCatenaXId": "urn:uuid:dbe29e2e-2b18-4a0d-892b-9232ad4efea4" + }, + "aspectType": "SingleLevelBomAsBuilt" + }, + { + "catenaXId": "urn:uuid:1b17682e-5e2a-4913-aa1b-7d59a072a3cb", + "linkedItem": { + "quantity": { + "quantityNumber": 2.5, + "measurementUnit": { + "datatypeURI": null, + "lexicalValue": "unit:litre" + } + }, + "lifecycleContext": "asBuilt", + "assembledOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z", + "childCatenaXId": "urn:uuid:7a73e310-3e08-47ce-9b3e-cbe59bbbd23d" + }, + "aspectType": "SingleLevelBomAsBuilt" + }, + { + "catenaXId": "urn:uuid:1b17682e-5e2a-4913-aa1b-7d59a072a3cb", + "linkedItem": { + "quantity": { + "quantityNumber": 2.5, + "measurementUnit": { + "datatypeURI": null, + "lexicalValue": "unit:litre" + } + }, + "lifecycleContext": "asBuilt", + "assembledOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z", + "childCatenaXId": "urn:uuid:03958eb2-501d-4356-a03e-e85da90c1f92" + }, + "aspectType": "SingleLevelBomAsBuilt" + }, + { + "catenaXId": "urn:uuid:1b17682e-5e2a-4913-aa1b-7d59a072a3cb", + "linkedItem": { + "quantity": { + "quantityNumber": 2.5, + "measurementUnit": { + "datatypeURI": null, + "lexicalValue": "unit:litre" + } + }, + "lifecycleContext": "asBuilt", + "assembledOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z", + "childCatenaXId": "urn:uuid:21429e22-60e8-4e2a-9f15-73e1aa0a5f1f" + }, + "aspectType": "SingleLevelBomAsBuilt" + }, + { + "catenaXId": "urn:uuid:1b17682e-5e2a-4913-aa1b-7d59a072a3cb", + "linkedItem": { + "quantity": { + "quantityNumber": 2.5, + "measurementUnit": { + "datatypeURI": null, + "lexicalValue": "unit:litre" + } + }, + "lifecycleContext": "asBuilt", + "assembledOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z", + "childCatenaXId": "urn:uuid:fbbb255c-d02f-4d6a-8851-dd00130ed020" + }, + "aspectType": "SingleLevelBomAsBuilt" + }, + { + "catenaXId": "urn:uuid:1b17682e-5e2a-4913-aa1b-7d59a072a3cb", + "linkedItem": { + "quantity": { + "quantityNumber": 2.5, + "measurementUnit": { + "datatypeURI": null, + "lexicalValue": "unit:litre" + } + }, + "lifecycleContext": "asBuilt", + "assembledOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z", + "childCatenaXId": "urn:uuid:3a49690c-8af4-458a-bd37-0fa5a0519d0f" + }, + "aspectType": "SingleLevelBomAsBuilt" + }, + { + "catenaXId": "urn:uuid:1b17682e-5e2a-4913-aa1b-7d59a072a3cb", + "linkedItem": { + "quantity": { + "quantityNumber": 2.5, + "measurementUnit": { + "datatypeURI": null, + "lexicalValue": "unit:litre" + } + }, + "lifecycleContext": "asBuilt", + "assembledOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z", + "childCatenaXId": "urn:uuid:9f8be7fc-b402-41c7-8d8d-7a527c217a4f" + }, + "aspectType": "SingleLevelBomAsBuilt" + }, + { + "catenaXId": "urn:uuid:1b17682e-5e2a-4913-aa1b-7d59a072a3cb", + "linkedItem": { + "quantity": { + "quantityNumber": 2.5, + "measurementUnit": { + "datatypeURI": null, + "lexicalValue": "unit:litre" + } + }, + "lifecycleContext": "asBuilt", + "assembledOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z", + "childCatenaXId": "urn:uuid:bfa5bc25-e7d3-41b3-9af7-9ba085fed120" + }, + "aspectType": "SingleLevelBomAsBuilt" + }, + { + "catenaXId": "urn:uuid:1b17682e-5e2a-4913-aa1b-7d59a072a3cb", + "linkedItem": { + "quantity": { + "quantityNumber": 2.5, + "measurementUnit": { + "datatypeURI": null, + "lexicalValue": "unit:litre" + } + }, + "lifecycleContext": "asBuilt", + "assembledOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z", + "childCatenaXId": "urn:uuid:702f242d-0697-4f83-bdfb-e598b36ac10e" + }, + "aspectType": "SingleLevelBomAsBuilt" + }, + { + "catenaXId": "urn:uuid:1b17682e-5e2a-4913-aa1b-7d59a072a3cb", + "linkedItem": { + "quantity": { + "quantityNumber": 2.5, + "measurementUnit": { + "datatypeURI": null, + "lexicalValue": "unit:litre" + } + }, + "lifecycleContext": "asBuilt", + "assembledOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z", + "childCatenaXId": "urn:uuid:60bef7ae-f873-40e4-a824-1d0b66a1e19f" + }, + "aspectType": "SingleLevelBomAsBuilt" + }, + { + "catenaXId": "urn:uuid:1b17682e-5e2a-4913-aa1b-7d59a072a3cb", + "linkedItem": { + "quantity": { + "quantityNumber": 2.5, + "measurementUnit": { + "datatypeURI": null, + "lexicalValue": "unit:litre" + } + }, + "lifecycleContext": "asBuilt", + "assembledOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z", + "childCatenaXId": "urn:uuid:57850083-6bc9-4a83-b3d3-ca72d4420d07" + }, + "aspectType": "SingleLevelBomAsBuilt" + }, + { + "catenaXId": "urn:uuid:1b17682e-5e2a-4913-aa1b-7d59a072a3cb", + "linkedItem": { + "quantity": { + "quantityNumber": 2.5, + "measurementUnit": { + "datatypeURI": null, + "lexicalValue": "unit:litre" + } + }, + "lifecycleContext": "asBuilt", + "assembledOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z", + "childCatenaXId": "urn:uuid:a112ccd8-1476-455d-936b-783b951667ec" + }, + "aspectType": "SingleLevelBomAsBuilt" + }, + { + "catenaXId": "urn:uuid:1b17682e-5e2a-4913-aa1b-7d59a072a3cb", + "linkedItem": { + "quantity": { + "quantityNumber": 2.5, + "measurementUnit": { + "datatypeURI": null, + "lexicalValue": "unit:litre" + } + }, + "lifecycleContext": "asBuilt", + "assembledOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z", + "childCatenaXId": "urn:uuid:3ad6542d-c83e-4250-b3e3-bcfd52c2a0ac" + }, + "aspectType": "SingleLevelBomAsBuilt" + }, + { + "catenaXId": "urn:uuid:1b17682e-5e2a-4913-aa1b-7d59a072a3cb", + "linkedItem": { + "quantity": { + "quantityNumber": 2.5, + "measurementUnit": { + "datatypeURI": null, + "lexicalValue": "unit:litre" + } + }, + "lifecycleContext": "asBuilt", + "assembledOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z", + "childCatenaXId": "urn:uuid:e7cb0fdc-2a5f-4d3d-9cf5-a963aad642a3" + }, + "aspectType": "SingleLevelBomAsBuilt" + }, + { + "catenaXId": "urn:uuid:1b17682e-5e2a-4913-aa1b-7d59a072a3cb", + "linkedItem": { + "quantity": { + "quantityNumber": 2.5, + "measurementUnit": { + "datatypeURI": null, + "lexicalValue": "unit:litre" + } + }, + "lifecycleContext": "asBuilt", + "assembledOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z", + "childCatenaXId": "urn:uuid:b31969df-5274-44fc-a2f3-46eab5162718" + }, + "aspectType": "SingleLevelBomAsBuilt" + }, + { + "catenaXId": "urn:uuid:1b17682e-5e2a-4913-aa1b-7d59a072a3cb", + "linkedItem": { + "quantity": { + "quantityNumber": 2.5, + "measurementUnit": { + "datatypeURI": null, + "lexicalValue": "unit:litre" + } + }, + "lifecycleContext": "asBuilt", + "assembledOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z", + "childCatenaXId": "urn:uuid:00c8de5a-b6bd-4061-88c1-2484ea3d3090" + }, + "aspectType": "SingleLevelBomAsBuilt" + }, + { + "catenaXId": "urn:uuid:1b17682e-5e2a-4913-aa1b-7d59a072a3cb", + "linkedItem": { + "quantity": { + "quantityNumber": 2.5, + "measurementUnit": { + "datatypeURI": null, + "lexicalValue": "unit:litre" + } + }, + "lifecycleContext": "asBuilt", + "assembledOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z", + "childCatenaXId": "urn:uuid:0789ef4c-dab5-4caf-a0a6-d49bede78019" + }, + "aspectType": "SingleLevelBomAsBuilt" + }, + { + "catenaXId": "urn:uuid:7d17ab0d-d879-4bae-bada-c65adf834dc7", + "linkedItem": { + "quantity": { + "quantityNumber": 2.5, + "measurementUnit": { + "datatypeURI": null, + "lexicalValue": "unit:litre" + } + }, + "lifecycleContext": "asBuilt", + "assembledOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z", + "childCatenaXId": "urn:uuid:66980e76-b79b-4fcf-9111-5b56261d42bb" + }, + "aspectType": "SingleLevelBomAsBuilt" + }, + { + "catenaXId": "urn:uuid:fbbb255c-d02f-4d6a-8851-dd00130ed020", + "linkedItem": { + "quantity": { + "quantityNumber": 2.5, + "measurementUnit": { + "datatypeURI": null, + "lexicalValue": "unit:litre" + } + }, + "lifecycleContext": "asBuilt", + "assembledOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z", + "childCatenaXId": "urn:uuid:7625422f-9504-4525-96c4-902cf81613e3" + }, + "aspectType": "SingleLevelBomAsBuilt" + }, + { + "catenaXId": "urn:uuid:7a73e310-3e08-47ce-9b3e-cbe59bbbd23d", + "linkedItem": { + "quantity": { + "quantityNumber": 2.5, + "measurementUnit": { + "datatypeURI": null, + "lexicalValue": "unit:litre" + } + }, + "lifecycleContext": "asBuilt", + "assembledOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z", + "childCatenaXId": "urn:uuid:d5b90624-e0cb-4b30-a307-28cf1f73c6c9" + }, + "aspectType": "SingleLevelBomAsBuilt" + }, + { + "catenaXId": "urn:uuid:7a73e310-3e08-47ce-9b3e-cbe59bbbd23d", + "linkedItem": { + "quantity": { + "quantityNumber": 0.2341, + "measurementUnit": { + "datatypeURI": null, + "lexicalValue": "unit:kilogram" + } + }, + "lifecycleContext": "asBuilt", + "assembledOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z", + "childCatenaXId": "urn:uuid:eb1de933-0041-4a9b-943f-8d9383c913dc" + }, + "aspectType": "SingleLevelBomAsBuilt" + }, + { + "catenaXId": "urn:uuid:7a73e310-3e08-47ce-9b3e-cbe59bbbd23d", + "linkedItem": { + "quantity": { + "quantityNumber": 0.2014, + "measurementUnit": { + "datatypeURI": null, + "lexicalValue": "unit:kilogram" + } + }, + "lifecycleContext": "asBuilt", + "assembledOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z", + "childCatenaXId": "urn:uuid:09eb595f-5e15-497a-ab9a-4b1ccef5bbcc" + }, + "aspectType": "SingleLevelBomAsBuilt" + }, + { + "catenaXId": "urn:uuid:a1b9e6d8-f045-4f2d-b9f6-e10370ca596d", + "linkedItem": { + "quantity": { + "quantityNumber": 0.2001, + "measurementUnit": { + "datatypeURI": null, + "lexicalValue": "unit:kilogram" + } + }, + "lifecycleContext": "asBuilt", + "assembledOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z", + "childCatenaXId": "urn:uuid:669ac9ac-af10-494e-8512-a43230da6f7a" + }, + "aspectType": "SingleLevelBomAsBuilt" + }, + { + "catenaXId": "urn:uuid:a1b9e6d8-f045-4f2d-b9f6-e10370ca596d", + "linkedItem": { + "quantity": { + "quantityNumber": 0.3301, + "measurementUnit": { + "datatypeURI": null, + "lexicalValue": "unit:kilogram" + } + }, + "lifecycleContext": "asBuilt", + "assembledOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z", + "childCatenaXId": "urn:uuid:7f6360cf-26bc-4b52-a6ac-24ca1f4b1633" + }, + "aspectType": "SingleLevelBomAsBuilt" + }, + { + "catenaXId": "urn:uuid:a1b9e6d8-f045-4f2d-b9f6-e10370ca596d", + "linkedItem": { + "quantity": { + "quantityNumber": 2.5, + "measurementUnit": { + "datatypeURI": null, + "lexicalValue": "unit:litre" + } + }, + "lifecycleContext": "asBuilt", + "assembledOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z", + "childCatenaXId": "urn:uuid:861fd784-7c99-4a97-8838-6d2881ff1dd5" + }, + "aspectType": "SingleLevelBomAsBuilt" + }, + { + "catenaXId": "urn:uuid:d5b90624-e0cb-4b30-a307-28cf1f73c6c9", + "linkedItem": { + "quantity": { + "quantityNumber": 0.1908, + "measurementUnit": { + "datatypeURI": null, + "lexicalValue": "unit:kilogram" + } + }, + "lifecycleContext": "asBuilt", + "assembledOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z", + "childCatenaXId": "urn:uuid:a2f52182-a9eb-414d-a3ab-35e9724fc75b" + }, + "aspectType": "SingleLevelBomAsBuilt" + }, + { + "catenaXId": "urn:uuid:861fd784-7c99-4a97-8838-6d2881ff1dd5", + "linkedItem": { + "quantity": { + "quantityNumber": 0.1908, + "measurementUnit": { + "datatypeURI": null, + "lexicalValue": "unit:kilogram" + } + }, + "lifecycleContext": "asBuilt", + "assembledOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z", + "childCatenaXId": "urn:uuid:8b808b9d-6e56-4a16-b523-95ee1596d97d" + }, + "aspectType": "SingleLevelBomAsBuilt" + } + ] } \ No newline at end of file diff --git a/irs-cucumber-tests/src/test/resources/expected-files/TRI-767-expected-submodels.json b/irs-cucumber-tests/src/test/resources/expected-files/TRI-767-expected-submodels.json index 8a8350391b..cd85fd0124 100644 --- a/irs-cucumber-tests/src/test/resources/expected-files/TRI-767-expected-submodels.json +++ b/irs-cucumber-tests/src/test/resources/expected-files/TRI-767-expected-submodels.json @@ -1,1671 +1,1947 @@ { - "submodels" : [ { - "identification" : "189ae270-4318-4a9b-a2f4-07b476e0ec0a", - "aspectType" : "urn:bamm:io.catenax.single_level_bom_as_built:1.0.0#SingleLevelBomAsBuilt", - "payload" : { - "catenaXId" : "urn:uuid:7940e0cc-7814-41eb-8b04-d984a325deec", - "childItems" : [ { - "catenaXId" : "urn:uuid:f95ec7a8-ee2b-44c3-b849-99440b58903f", - "quantity" : { - "quantityNumber" : 2.5, - "measurementUnit" : "unit:litre" + "submodels" :[ + { + "identification": "urn:uuid:169d880a-67e7-438a-af1b-d812c88280c9", + "aspectType": "urn:bamm:io.catenax.serial_part:1.0.1#SerialPart", + "payload": { + "localIdentifiers": [ + { + "value": "BPNL00000003AYRE", + "key": "manufacturerId" + }, + { + "value": "VK-94", + "key": "manufacturerPartId" + }, + { + "value": "OMAGCJCBDQGPYRQCS", + "key": "partInstanceId" + }, + { + "value": "OMAGCJCBDQGPYRQCS", + "key": "van" + } + ], + "manufacturingInformation": { + "date": "2017-05-26T07:06:51.000Z", + "country": "DEU" }, - "businessPartner" : "BPNL00000003AYRE", - "createdOn" : "2022-02-03T14:48:54.709Z", - "lastModifiedOn" : "2022-02-03T14:48:54.709Z" - }, { - "catenaXId" : "urn:uuid:bff8e46a-25d7-4509-848e-83c3c9450b55", - "quantity" : { - "quantityNumber" : 2.5, - "measurementUnit" : "unit:litre" - }, - "businessPartner" : "BPNL00000003AVTH", - "createdOn" : "2022-02-03T14:48:54.709Z", - "lastModifiedOn" : "2022-02-03T14:48:54.709Z" - }, { - "catenaXId" : "urn:uuid:07e6ae01-845f-4202-9e82-74e87fd30ff4", - "quantity" : { - "quantityNumber" : 2.5, - "measurementUnit" : "unit:litre" - }, - "businessPartner" : "BPNL00000003AZQP", - "createdOn" : "2022-02-03T14:48:54.709Z", - "lastModifiedOn" : "2022-02-03T14:48:54.709Z" - }, { - "catenaXId" : "urn:uuid:84dd6bf5-3ddb-4611-bd5f-cf653740ad6b", - "quantity" : { - "quantityNumber" : 2.5, - "measurementUnit" : "unit:litre" - }, - "businessPartner" : "BPNL00000003AYRE", - "createdOn" : "2022-02-03T14:48:54.709Z", - "lastModifiedOn" : "2022-02-03T14:48:54.709Z" - }, { - "catenaXId" : "urn:uuid:56ce2534-43b9-4b87-8542-26335b8f041b", - "quantity" : { - "quantityNumber" : 2.5, - "measurementUnit" : "unit:litre" - }, - "businessPartner" : "BPNL00000003AVTH", - "createdOn" : "2022-02-03T14:48:54.709Z", - "lastModifiedOn" : "2022-02-03T14:48:54.709Z" - }, { - "catenaXId" : "urn:uuid:dccaccfc-7ad9-4ba0-a609-f9c6381efbde", - "quantity" : { - "quantityNumber" : 2.5, - "measurementUnit" : "unit:litre" - }, - "businessPartner" : "BPNL00000003AZQP", - "createdOn" : "2022-02-03T14:48:54.709Z", - "lastModifiedOn" : "2022-02-03T14:48:54.709Z" - }, { - "catenaXId" : "urn:uuid:23a7543b-b806-4d8d-bccc-67fa4b9f91a8", - "quantity" : { - "quantityNumber" : 2.5, - "measurementUnit" : "unit:litre" - }, - "businessPartner" : "BPNL00000003AYRE", - "createdOn" : "2022-02-03T14:48:54.709Z", - "lastModifiedOn" : "2022-02-03T14:48:54.709Z" - }, { - "catenaXId" : "urn:uuid:9e13e5ae-8c21-4a11-a62b-b62061344f01", - "quantity" : { - "quantityNumber" : 2.5, - "measurementUnit" : "unit:litre" - }, - "businessPartner" : "BPNL00000003AVTH", - "createdOn" : "2022-02-03T14:48:54.709Z", - "lastModifiedOn" : "2022-02-03T14:48:54.709Z" - }, { - "catenaXId" : "urn:uuid:e61924f1-6186-4a4a-a34e-ac467de9d99e", - "quantity" : { - "quantityNumber" : 2.5, - "measurementUnit" : "unit:litre" - }, - "businessPartner" : "BPNL00000003AZQP", - "createdOn" : "2022-02-03T14:48:54.709Z", - "lastModifiedOn" : "2022-02-03T14:48:54.709Z" - }, { - "catenaXId" : "urn:uuid:459240be-ca86-49eb-b674-80ba808993de", - "quantity" : { - "quantityNumber" : 2.5, - "measurementUnit" : "unit:litre" - }, - "businessPartner" : "BPNL00000003AYRE", - "createdOn" : "2022-02-03T14:48:54.709Z", - "lastModifiedOn" : "2022-02-03T14:48:54.709Z" - }, { - "catenaXId" : "urn:uuid:1f8fd12c-a3d3-4a76-8e0b-6093850df643", - "quantity" : { - "quantityNumber" : 2.5, - "measurementUnit" : "unit:litre" - }, - "businessPartner" : "BPNL00000003AVTH", - "createdOn" : "2022-02-03T14:48:54.709Z", - "lastModifiedOn" : "2022-02-03T14:48:54.709Z" - }, { - "catenaXId" : "urn:uuid:10847717-9c74-486f-af98-a59fe6ed9a78", - "quantity" : { - "quantityNumber" : 2.5, - "measurementUnit" : "unit:litre" - }, - "businessPartner" : "BPNL00000003AZQP", - "createdOn" : "2022-02-03T14:48:54.709Z", - "lastModifiedOn" : "2022-02-03T14:48:54.709Z" - }, { - "catenaXId" : "urn:uuid:9d5c45f5-52d9-4737-9d04-16a79ecdf4cf", - "quantity" : { - "quantityNumber" : 2.5, - "measurementUnit" : "unit:litre" - }, - "businessPartner" : "BPNL00000003AZQP", - "createdOn" : "2022-02-03T14:48:54.709Z", - "lastModifiedOn" : "2022-02-03T14:48:54.709Z" - }, { - "catenaXId" : "urn:uuid:39563a5c-016e-4924-a4dd-c1b8866ba95f", - "quantity" : { - "quantityNumber" : 2.5, - "measurementUnit" : "unit:litre" - }, - "businessPartner" : "BPNL00000003AZQP", - "createdOn" : "2022-02-03T14:48:54.709Z", - "lastModifiedOn" : "2022-02-03T14:48:54.709Z" - }, { - "catenaXId" : "urn:uuid:5441d5c6-b655-449c-9fbd-9e0ce742ffd6", - "quantity" : { - "quantityNumber" : 2.5, - "measurementUnit" : "unit:litre" - }, - "businessPartner" : "BPNL00000003AZQP", - "createdOn" : "2022-02-03T14:48:54.709Z", - "lastModifiedOn" : "2022-02-03T14:48:54.709Z" - }, { - "catenaXId" : "urn:uuid:38bf9b41-5ce2-4d63-8a26-51597bf67d56", - "quantity" : { - "quantityNumber" : 2.5, - "measurementUnit" : "unit:litre" - }, - "businessPartner" : "BPNL00000003AZQP", - "createdOn" : "2022-02-03T14:48:54.709Z", - "lastModifiedOn" : "2022-02-03T14:48:54.709Z" - }, { - "catenaXId" : "urn:uuid:dec48d10-2e0a-4b82-9c46-19ab09da7d8d", - "quantity" : { - "quantityNumber" : 2.5, - "measurementUnit" : "unit:litre" - }, - "businessPartner" : "BPNL00000003AZQP", - "createdOn" : "2022-02-03T14:48:54.709Z", - "lastModifiedOn" : "2022-02-03T14:48:54.709Z" - }, { - "catenaXId" : "urn:uuid:f8e17239-dc39-482b-b7ff-bee6edf99ef9", - "quantity" : { - "quantityNumber" : 2.5, - "measurementUnit" : "unit:litre" - }, - "businessPartner" : "BPNL00000003AZQP", - "createdOn" : "2022-02-03T14:48:54.709Z", - "lastModifiedOn" : "2022-02-03T14:48:54.709Z" - }, { - "catenaXId" : "urn:uuid:4011e910-616b-4fed-9115-800e0133a0f7", - "quantity" : { - "quantityNumber" : 2.5, - "measurementUnit" : "unit:litre" - }, - "businessPartner" : "BPNL00000003AZQP", - "createdOn" : "2022-02-03T14:48:54.709Z", - "lastModifiedOn" : "2022-02-03T14:48:54.709Z" - }, { - "catenaXId" : "urn:uuid:943c9ba4-646d-45b9-b27e-3ab3aab021f2", - "quantity" : { - "quantityNumber" : 2.5, - "measurementUnit" : "unit:litre" - }, - "businessPartner" : "BPNL00000003AZQP", - "createdOn" : "2022-02-03T14:48:54.709Z", - "lastModifiedOn" : "2022-02-03T14:48:54.709Z" - }, { - "catenaXId" : "urn:uuid:a6c52e63-f877-44cf-b798-5fb40b220cf7", - "quantity" : { - "quantityNumber" : 2.5, - "measurementUnit" : "unit:litre" - }, - "businessPartner" : "BPNL00000003AZQP", - "createdOn" : "2022-02-03T14:48:54.709Z", - "lastModifiedOn" : "2022-02-03T14:48:54.709Z" - }, { - "catenaXId" : "urn:uuid:b03315f8-e667-4b09-a30d-86e7db72d041", - "quantity" : { - "quantityNumber" : 2.5, - "measurementUnit" : "unit:litre" - }, - "businessPartner" : "BPNL00000003AZQP", - "createdOn" : "2022-02-03T14:48:54.709Z", - "lastModifiedOn" : "2022-02-03T14:48:54.709Z" - }, { - "catenaXId" : "urn:uuid:a25085cf-fed3-4f5a-8573-fcaffc9dee7c", - "quantity" : { - "quantityNumber" : 2.5, - "measurementUnit" : "unit:litre" - }, - "businessPartner" : "BPNL00000003AZQP", - "createdOn" : "2022-02-03T14:48:54.709Z", - "lastModifiedOn" : "2022-02-03T14:48:54.709Z" - }, { - "catenaXId" : "urn:uuid:084bd4c9-7b8e-409b-b6fc-4a0fdb4bc930", - "quantity" : { - "quantityNumber" : 2.5, - "measurementUnit" : "unit:litre" - }, - "businessPartner" : "BPNL00000003AZQP", - "createdOn" : "2022-02-03T14:48:54.709Z", - "lastModifiedOn" : "2022-02-03T14:48:54.709Z" - }, { - "catenaXId" : "urn:uuid:844d7dfe-85e1-4f49-8bce-905e046d2b5f", - "quantity" : { - "quantityNumber" : 2.5, - "measurementUnit" : "unit:litre" - }, - "businessPartner" : "BPNL00000003AZQP", - "createdOn" : "2022-02-03T14:48:54.709Z", - "lastModifiedOn" : "2022-02-03T14:48:54.709Z" - }, { - "catenaXId" : "urn:uuid:192628cb-395f-4764-b121-73eb92b308df", - "quantity" : { - "quantityNumber" : 2.5, - "measurementUnit" : "unit:litre" - }, - "businessPartner" : "BPNL00000003AZQP", - "createdOn" : "2022-02-03T14:48:54.709Z", - "lastModifiedOn" : "2022-02-03T14:48:54.709Z" - }, { - "catenaXId" : "urn:uuid:4e2ef7db-6843-4407-9ce1-e4355dbcc4f3", - "quantity" : { - "quantityNumber" : 2.5, - "measurementUnit" : "unit:litre" - }, - "businessPartner" : "BPNL00000003AZQP", - "createdOn" : "2022-02-03T14:48:54.709Z", - "lastModifiedOn" : "2022-02-03T14:48:54.709Z" - }, { - "catenaXId" : "urn:uuid:23ad49b1-616b-438f-b240-96c6d6e0f097", - "quantity" : { - "quantityNumber" : 2.5, - "measurementUnit" : "unit:litre" + "catenaXId": "urn:uuid:1b17682e-5e2a-4913-aa1b-7d59a072a3cb", + "partTypeInformation": { + "manufacturerPartId": "VK-94", + "classification": "product", + "nameAtManufacturer": "Vehicle Combustion" + } + } + }, + { + "identification": "urn:uuid:f0f3448f-5bbc-4b80-b398-b0dab7843de1", + "aspectType": "urn:bamm:io.catenax.single_level_bom_as_built:1.0.0#SingleLevelBomAsBuilt", + "payload": { + "catenaXId": "urn:uuid:1b17682e-5e2a-4913-aa1b-7d59a072a3cb", + "childItems": [ + { + "catenaXId": "urn:uuid:f449ed2f-92cf-40ce-a5b8-e6098ae5bb52", + "quantity": { + "quantityNumber": 2.5, + "measurementUnit": "unit:litre" + }, + "businessPartner": "BPNL00000003AYRE", + "createdOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z" + }, + { + "catenaXId": "urn:uuid:57850083-6bc9-4a83-b3d3-ca72d4420d07", + "quantity": { + "quantityNumber": 2.5, + "measurementUnit": "unit:litre" + }, + "businessPartner": "BPNL00000003AVTH", + "createdOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z" + }, + { + "catenaXId": "urn:uuid:736ca592-a0b0-4394-b538-f251a4224125", + "quantity": { + "quantityNumber": 2.5, + "measurementUnit": "unit:litre" + }, + "businessPartner": "BPNL00000003AZQP", + "createdOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z" + }, + { + "catenaXId": "urn:uuid:3a49690c-8af4-458a-bd37-0fa5a0519d0f", + "quantity": { + "quantityNumber": 2.5, + "measurementUnit": "unit:litre" + }, + "businessPartner": "BPNL00000003AYRE", + "createdOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z" + }, + { + "catenaXId": "urn:uuid:fbbb255c-d02f-4d6a-8851-dd00130ed020", + "quantity": { + "quantityNumber": 2.5, + "measurementUnit": "unit:litre" + }, + "businessPartner": "BPNL00000003AVTH", + "createdOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z" + }, + { + "catenaXId": "urn:uuid:7d17ab0d-d879-4bae-bada-c65adf834dc7", + "quantity": { + "quantityNumber": 2.5, + "measurementUnit": "unit:litre" + }, + "businessPartner": "BPNL00000003AZQP", + "createdOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z" + }, + { + "catenaXId": "urn:uuid:4079114c-10d4-42dc-8de5-7637698c2ad8", + "quantity": { + "quantityNumber": 2.5, + "measurementUnit": "unit:litre" + }, + "businessPartner": "BPNL00000003AYRE", + "createdOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z" + }, + { + "catenaXId": "urn:uuid:28aeca09-a251-4629-820d-eb047addc9c7", + "quantity": { + "quantityNumber": 2.5, + "measurementUnit": "unit:litre" + }, + "businessPartner": "BPNL00000003AVTH", + "createdOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z" + }, + { + "catenaXId": "urn:uuid:a112ccd8-1476-455d-936b-783b951667ec", + "quantity": { + "quantityNumber": 2.5, + "measurementUnit": "unit:litre" + }, + "businessPartner": "BPNL00000003AZQP", + "createdOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z" + }, + { + "catenaXId": "urn:uuid:540c139b-826e-458e-a536-d6a6d3d01d5e", + "quantity": { + "quantityNumber": 2.5, + "measurementUnit": "unit:litre" + }, + "businessPartner": "BPNL00000003AYRE", + "createdOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z" + }, + { + "catenaXId": "urn:uuid:03958eb2-501d-4356-a03e-e85da90c1f92", + "quantity": { + "quantityNumber": 2.5, + "measurementUnit": "unit:litre" + }, + "businessPartner": "BPNL00000003AVTH", + "createdOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z" + }, + { + "catenaXId": "urn:uuid:bfa5bc25-e7d3-41b3-9af7-9ba085fed120", + "quantity": { + "quantityNumber": 2.5, + "measurementUnit": "unit:litre" + }, + "businessPartner": "BPNL00000003AZQP", + "createdOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z" + }, + { + "catenaXId": "urn:uuid:18fc5f13-ae4c-4dcf-9a0d-ca8897ead240", + "quantity": { + "quantityNumber": 2.5, + "measurementUnit": "unit:litre" + }, + "businessPartner": "BPNL00000003AZQP", + "createdOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z" + }, + { + "catenaXId": "urn:uuid:979818ab-6f5d-42d9-84aa-5fcbf69a06aa", + "quantity": { + "quantityNumber": 2.5, + "measurementUnit": "unit:litre" + }, + "businessPartner": "BPNL00000003AZQP", + "createdOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z" + }, + { + "catenaXId": "urn:uuid:bdb24ca0-906c-42f8-8be1-82f4411cc501", + "quantity": { + "quantityNumber": 2.5, + "measurementUnit": "unit:litre" + }, + "businessPartner": "BPNL00000003AZQP", + "createdOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z" + }, + { + "catenaXId": "urn:uuid:c5f253e2-f813-43c9-b889-00f78922d315", + "quantity": { + "quantityNumber": 2.5, + "measurementUnit": "unit:litre" + }, + "businessPartner": "BPNL00000003AZQP", + "createdOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z" + }, + { + "catenaXId": "urn:uuid:00c8de5a-b6bd-4061-88c1-2484ea3d3090", + "quantity": { + "quantityNumber": 2.5, + "measurementUnit": "unit:litre" + }, + "businessPartner": "BPNL00000003AZQP", + "createdOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z" + }, + { + "catenaXId": "urn:uuid:3ad6542d-c83e-4250-b3e3-bcfd52c2a0ac", + "quantity": { + "quantityNumber": 2.5, + "measurementUnit": "unit:litre" + }, + "businessPartner": "BPNL00000003AZQP", + "createdOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z" + }, + { + "catenaXId": "urn:uuid:702f242d-0697-4f83-bdfb-e598b36ac10e", + "quantity": { + "quantityNumber": 2.5, + "measurementUnit": "unit:litre" + }, + "businessPartner": "BPNL00000003AZQP", + "createdOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z" + }, + { + "catenaXId": "urn:uuid:e7cb0fdc-2a5f-4d3d-9cf5-a963aad642a3", + "quantity": { + "quantityNumber": 2.5, + "measurementUnit": "unit:litre" + }, + "businessPartner": "BPNL00000003AZQP", + "createdOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z" + }, + { + "catenaXId": "urn:uuid:0789ef4c-dab5-4caf-a0a6-d49bede78019", + "quantity": { + "quantityNumber": 2.5, + "measurementUnit": "unit:litre" + }, + "businessPartner": "BPNL00000003AZQP", + "createdOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z" + }, + { + "catenaXId": "urn:uuid:7a9adc73-f408-4800-820d-0c82a6bb6b53", + "quantity": { + "quantityNumber": 2.5, + "measurementUnit": "unit:litre" + }, + "businessPartner": "BPNL00000003AZQP", + "createdOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z" + }, + { + "catenaXId": "urn:uuid:60bef7ae-f873-40e4-a824-1d0b66a1e19f", + "quantity": { + "quantityNumber": 2.5, + "measurementUnit": "unit:litre" + }, + "businessPartner": "BPNL00000003AZQP", + "createdOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z" + }, + { + "catenaXId": "urn:uuid:21429e22-60e8-4e2a-9f15-73e1aa0a5f1f", + "quantity": { + "quantityNumber": 2.5, + "measurementUnit": "unit:litre" + }, + "businessPartner": "BPNL00000003AZQP", + "createdOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z" + }, + { + "catenaXId": "urn:uuid:94165d74-1014-4a92-9798-2caa308e3eec", + "quantity": { + "quantityNumber": 2.5, + "measurementUnit": "unit:litre" + }, + "businessPartner": "BPNL00000003AZQP", + "createdOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z" + }, + { + "catenaXId": "urn:uuid:b31969df-5274-44fc-a2f3-46eab5162718", + "quantity": { + "quantityNumber": 2.5, + "measurementUnit": "unit:litre" + }, + "businessPartner": "BPNL00000003AZQP", + "createdOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z" + }, + { + "catenaXId": "urn:uuid:18dee324-3016-4968-bdce-a1338fec49c1", + "quantity": { + "quantityNumber": 2.5, + "measurementUnit": "unit:litre" + }, + "businessPartner": "BPNL00000003AZQP", + "createdOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z" + }, + { + "catenaXId": "urn:uuid:de28a7b9-0e01-4d7d-8e10-b4eed42cf480", + "quantity": { + "quantityNumber": 2.5, + "measurementUnit": "unit:litre" + }, + "businessPartner": "BPNL00000003AZQP", + "createdOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z" + }, + { + "catenaXId": "urn:uuid:9f8be7fc-b402-41c7-8d8d-7a527c217a4f", + "quantity": { + "quantityNumber": 2.5, + "measurementUnit": "unit:litre" + }, + "businessPartner": "BPNL00000003AZQP", + "createdOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z" + }, + { + "catenaXId": "urn:uuid:1a067f63-ebbe-4be9-95df-239068ba98d1", + "quantity": { + "quantityNumber": 2.5, + "measurementUnit": "unit:litre" + }, + "businessPartner": "BPNL00000003AZQP", + "createdOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z" + }, + { + "catenaXId": "urn:uuid:dbe29e2e-2b18-4a0d-892b-9232ad4efea4", + "quantity": { + "quantityNumber": 2.5, + "measurementUnit": "unit:litre" + }, + "businessPartner": "BPNL00000003AZQP", + "createdOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z" + }, + { + "catenaXId": "urn:uuid:24e65ea5-e0fd-4f55-b884-8526887a8dd1", + "quantity": { + "quantityNumber": 2.5, + "measurementUnit": "unit:litre" + }, + "businessPartner": "BPNL00000003AZQP", + "createdOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z" + }, + { + "catenaXId": "urn:uuid:7a73e310-3e08-47ce-9b3e-cbe59bbbd23d", + "quantity": { + "quantityNumber": 2.5, + "measurementUnit": "unit:litre" + }, + "businessPartner": "BPNL00000003AZQP", + "createdOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z" + }, + { + "catenaXId": "urn:uuid:a1b9e6d8-f045-4f2d-b9f6-e10370ca596d", + "quantity": { + "quantityNumber": 2.5, + "measurementUnit": "unit:litre" + }, + "businessPartner": "BPNL00000003AZQP", + "createdOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z" + } + ] + } + }, + { + "identification": "urn:uuid:78cca554-9ced-454c-be33-b549cc9188f1", + "aspectType": "urn:bamm:io.catenax.serial_part:1.0.1#SerialPart", + "payload": { + "localIdentifiers": [ + { + "value": "BPNL00000003AYRE", + "key": "manufacturerId" + }, + { + "value": "00871379-44", + "key": "manufacturerPartId" + }, + { + "value": "NO-243353896633789933117496", + "key": "partInstanceId" + } + ], + "manufacturingInformation": { + "date": "2022-02-04T14:48:54", + "country": "DEU" }, - "businessPartner" : "BPNL00000003AZQP", - "createdOn" : "2022-02-03T14:48:54.709Z", - "lastModifiedOn" : "2022-02-03T14:48:54.709Z" - }, { - "catenaXId" : "urn:uuid:fbc2da6c-1891-4c37-8cae-11c0fc50bdad", - "quantity" : { - "quantityNumber" : 2.5, - "measurementUnit" : "unit:litre" + "catenaXId": "urn:uuid:1a067f63-ebbe-4be9-95df-239068ba98d1", + "partTypeInformation": { + "manufacturerPartId": "00871379-44", + "customerPartId": "00871379-44", + "classification": "component", + "nameAtManufacturer": "Chassis", + "nameAtCustomer": "Chassis" + } + } + }, + { + "identification": "urn:uuid:66dbb37b-a071-4521-961f-11b0a41cf498", + "aspectType": "urn:bamm:io.catenax.serial_part:1.0.1#SerialPart", + "payload": { + "localIdentifiers": [ + { + "value": "BPNL00000003AYRE", + "key": "manufacturerId" + }, + { + "value": "15635759-16", + "key": "manufacturerPartId" + }, + { + "value": "NO-405565393253879426881794", + "key": "partInstanceId" + } + ], + "manufacturingInformation": { + "date": "2022-02-04T14:48:54", + "country": "DEU" }, - "businessPartner" : "BPNL00000003AZQP", - "createdOn" : "2022-02-03T14:48:54.709Z", - "lastModifiedOn" : "2022-02-03T14:48:54.709Z" - }, { - "catenaXId" : "urn:uuid:2b1da564-b872-465e-ae7c-0e65ab543ec6", - "quantity" : { - "quantityNumber" : 2.5, - "measurementUnit" : "unit:litre" + "catenaXId": "urn:uuid:4079114c-10d4-42dc-8de5-7637698c2ad8", + "partTypeInformation": { + "manufacturerPartId": "15635759-16", + "customerPartId": "15635759-16", + "classification": "component", + "nameAtManufacturer": "Door r-l", + "nameAtCustomer": "Door rear-left" + } + } + }, + { + "identification": "urn:uuid:81956945-72dd-4307-9c57-c3b2307548e2", + "aspectType": "urn:bamm:io.catenax.serial_part:1.0.1#SerialPart", + "payload": { + "localIdentifiers": [ + { + "value": "BPNL00000003AYRE", + "key": "manufacturerId" + }, + { + "value": "67034319-44", + "key": "manufacturerPartId" + }, + { + "value": "NO-793217666331569973109799", + "key": "partInstanceId" + } + ], + "manufacturingInformation": { + "date": "2022-02-04T14:48:54", + "country": "DEU" }, - "businessPartner" : "BPNL00000003AZQP", - "createdOn" : "2022-02-03T14:48:54.709Z", - "lastModifiedOn" : "2022-02-03T14:48:54.709Z" - }, { - "catenaXId" : "urn:uuid:375141dc-59c7-49ec-a749-42ae1aa1e845", - "quantity" : { - "quantityNumber" : 2.5, - "measurementUnit" : "unit:litre" + "catenaXId": "urn:uuid:736ca592-a0b0-4394-b538-f251a4224125", + "partTypeInformation": { + "manufacturerPartId": "67034319-44", + "customerPartId": "67034319-44", + "classification": "component", + "nameAtManufacturer": "Turbocharger", + "nameAtCustomer": "Turbocharger" + } + } + }, + { + "identification": "urn:uuid:924ccaa8-f6cd-4799-b3d0-a56a52cb2e3c", + "aspectType": "urn:bamm:io.catenax.serial_part:1.0.1#SerialPart", + "payload": { + "localIdentifiers": [ + { + "value": "BPNL00000003AYRE", + "key": "manufacturerId" + }, + { + "value": "65529521-37", + "key": "manufacturerPartId" + }, + { + "value": "NO-922973621187023386977013", + "key": "partInstanceId" + } + ], + "manufacturingInformation": { + "date": "2022-02-04T14:48:54", + "country": "DEU" }, - "businessPartner" : "BPNL00000003AZQP", - "createdOn" : "2022-02-03T14:48:54.709Z", - "lastModifiedOn" : "2022-02-03T14:48:54.709Z" - }, { - "catenaXId" : "urn:uuid:e7bf8197-2ef1-4ac0-9304-f7479df75065", - "quantity" : { - "quantityNumber" : 2.5, - "measurementUnit" : "unit:litre" + "catenaXId": "urn:uuid:bdb24ca0-906c-42f8-8be1-82f4411cc501", + "partTypeInformation": { + "manufacturerPartId": "65529521-37", + "customerPartId": "65529521-37", + "classification": "component", + "nameAtManufacturer": "Exterior mirror left", + "nameAtCustomer": "Exterior mirror left" + } + } + }, + { + "identification": "urn:uuid:02c21e86-a2c5-4704-978c-9ca99e9df2f0", + "aspectType": "urn:bamm:io.catenax.serial_part:1.0.1#SerialPart", + "payload": { + "localIdentifiers": [ + { + "value": "BPNL00000003AYRE", + "key": "manufacturerId" + }, + { + "value": "45415162-57", + "key": "manufacturerPartId" + }, + { + "value": "NO-471849492500080892913872", + "key": "partInstanceId" + } + ], + "manufacturingInformation": { + "date": "2022-02-04T14:48:54", + "country": "DEU" }, - "businessPartner" : "BPNL00000003AZQP", - "createdOn" : "2022-02-03T14:48:54.709Z", - "lastModifiedOn" : "2022-02-03T14:48:54.709Z" - }, { - "catenaXId" : "urn:uuid:8927c3f1-0f82-4348-9959-6b016b4197d1", - "quantity" : { - "quantityNumber" : 2.5, - "measurementUnit" : "unit:litre" + "catenaXId": "urn:uuid:7a9adc73-f408-4800-820d-0c82a6bb6b53", + "partTypeInformation": { + "manufacturerPartId": "45415162-57", + "customerPartId": "45415162-57", + "classification": "component", + "nameAtManufacturer": "Led headlight", + "nameAtCustomer": "Led headlight" + } + } + }, + { + "identification": "urn:uuid:b45331ed-db63-4a41-b305-a95d34e63444", + "aspectType": "urn:bamm:io.catenax.serial_part:1.0.1#SerialPart", + "payload": { + "localIdentifiers": [ + { + "value": "BPNL00000003AYRE", + "key": "manufacturerId" + }, + { + "value": "28673126-98", + "key": "manufacturerPartId" + }, + { + "value": "NO-419180701716972141062130", + "key": "partInstanceId" + } + ], + "manufacturingInformation": { + "date": "2022-02-04T14:48:54", + "country": "DEU" }, - "businessPartner" : "BPNL00000003AZQP", - "createdOn" : "2022-02-03T14:48:54.709Z", - "lastModifiedOn" : "2022-02-03T14:48:54.709Z" - }, { - "catenaXId" : "urn:uuid:dd9a6772-fc87-4f13-af0c-972edda87e5e", - "quantity" : { - "quantityNumber" : 2.5, - "measurementUnit" : "unit:litre" + "catenaXId": "urn:uuid:28aeca09-a251-4629-820d-eb047addc9c7", + "partTypeInformation": { + "manufacturerPartId": "28673126-98", + "customerPartId": "28673126-98", + "classification": "component", + "nameAtManufacturer": "Door r-r", + "nameAtCustomer": "Door rear-right" + } + } + }, + { + "identification": "urn:uuid:dc06596b-207f-4416-b631-e83add3fba06", + "aspectType": "urn:bamm:io.catenax.serial_part:1.0.1#SerialPart", + "payload": { + "localIdentifiers": [ + { + "value": "BPNL00000003AYRE", + "key": "manufacturerId" + }, + { + "value": "81324139-23", + "key": "manufacturerPartId" + }, + { + "value": "NO-579467592911402589074868", + "key": "partInstanceId" + } + ], + "manufacturingInformation": { + "date": "2022-02-04T14:48:54", + "country": "DEU" }, - "businessPartner" : "BPNL00000003AZQP", - "createdOn" : "2022-02-03T14:48:54.709Z", - "lastModifiedOn" : "2022-02-03T14:48:54.709Z" - } ] - } - }, { - "identification" : "689ef9f4-7afc-4779-a001-5cfc178e624a", - "aspectType" : "urn:bamm:io.catenax.serial_part:1.1.0#SerialPart", - "payload" : { - "localIdentifiers" : [ { - "value" : "BPNL00000003AYRE", - "key" : "manufacturerId" - }, { - "value" : "CP-25", - "key" : "manufacturerPartId" - }, { - "value" : "OMACKKLHAZUFYHTVR", - "key" : "partInstanceId" - }, { - "value" : "OMACKKLHAZUFYHTVR", - "key" : "van" - } ], - "manufacturingInformation" : { - "date" : "2016-08-23T20:38:34.000Z", - "country" : "DEU" - }, - "catenaXId" : "urn:uuid:7940e0cc-7814-41eb-8b04-d984a325deec", - "partTypeInformation" : { - "manufacturerPartId" : "CP-25", - "classification" : "product", - "nameAtManufacturer" : "Vehicle Combustion" + "catenaXId": "urn:uuid:21429e22-60e8-4e2a-9f15-73e1aa0a5f1f", + "partTypeInformation": { + "manufacturerPartId": "81324139-23", + "customerPartId": "81324139-23", + "classification": "component", + "nameAtManufacturer": "Alternator", + "nameAtCustomer": "Alternator" + } } - } - }, { - "identification" : "9b42d396-e4fe-4054-8af2-849675b4af19", - "aspectType" : "urn:bamm:io.catenax.serial_part:1.1.0#SerialPart", - "payload" : { - "localIdentifiers" : [ { - "value" : "BPNL00000003AYRE", - "key" : "manufacturerId" - }, { - "value" : "85023955-75", - "key" : "manufacturerPartId" - }, { - "value" : "NO-784300840716592497103862", - "key" : "partInstanceId" - } ], - "manufacturingInformation" : { - "date" : "2022-02-04T14:48:54", - "country" : "DEU" - }, - "catenaXId" : "urn:uuid:459240be-ca86-49eb-b674-80ba808993de", - "partTypeInformation" : { - "manufacturerPartId" : "85023955-75", - "customerPartId" : "85023955-75", - "classification" : "component", - "nameAtManufacturer" : "Tailgate", - "nameAtCustomer" : "Tailgate" + }, + { + "identification": "urn:uuid:987001cb-2442-4f8b-9ba9-bfbe9456eb05", + "aspectType": "urn:bamm:io.catenax.serial_part:1.0.1#SerialPart", + "payload": { + "localIdentifiers": [ + { + "value": "BPNL00000003AYRE", + "key": "manufacturerId" + }, + { + "value": "94421589-82", + "key": "manufacturerPartId" + }, + { + "value": "NO-833404406137215232024139", + "key": "partInstanceId" + } + ], + "manufacturingInformation": { + "date": "2022-02-04T14:48:54", + "country": "DEU" + }, + "catenaXId": "urn:uuid:a112ccd8-1476-455d-936b-783b951667ec", + "partTypeInformation": { + "manufacturerPartId": "94421589-82", + "customerPartId": "94421589-82", + "classification": "component", + "nameAtManufacturer": "Engine hood", + "nameAtCustomer": "Engine hood" + } } - } - }, { - "identification" : "31154dca-76e1-4f04-8356-41f228e796d6", - "aspectType" : "urn:bamm:io.catenax.serial_part:1.1.0#SerialPart", - "payload" : { - "localIdentifiers" : [ { - "value" : "BPNL00000003AYRE", - "key" : "manufacturerId" - }, { - "value" : "15635759-16", - "key" : "manufacturerPartId" - }, { - "value" : "NO-413458588087419489053141", - "key" : "partInstanceId" - } ], - "manufacturingInformation" : { - "date" : "2022-02-04T14:48:54", - "country" : "DEU" - }, - "catenaXId" : "urn:uuid:23a7543b-b806-4d8d-bccc-67fa4b9f91a8", - "partTypeInformation" : { - "manufacturerPartId" : "15635759-16", - "customerPartId" : "15635759-16", - "classification" : "component", - "nameAtManufacturer" : "Door r-l", - "nameAtCustomer" : "Door rear-left" + }, + { + "identification": "urn:uuid:fe96c376-a1bf-4daf-a20f-0adb12ca9600", + "aspectType": "urn:bamm:io.catenax.serial_part:1.0.1#SerialPart", + "payload": { + "localIdentifiers": [ + { + "value": "BPNL00000003AYRE", + "key": "manufacturerId" + }, + { + "value": "77795937-13", + "key": "manufacturerPartId" + }, + { + "value": "NO-827083274607284993215439", + "key": "partInstanceId" + } + ], + "manufacturingInformation": { + "date": "2022-02-04T14:48:54", + "country": "DEU" + }, + "catenaXId": "urn:uuid:702f242d-0697-4f83-bdfb-e598b36ac10e", + "partTypeInformation": { + "manufacturerPartId": "77795937-13", + "customerPartId": "77795937-13", + "classification": "component", + "nameAtManufacturer": "Steering wheel", + "nameAtCustomer": "Steering wheel" + } } - } - }, { - "identification" : "81c9bd23-b5ce-4663-9ff3-e42b3164c753", - "aspectType" : "urn:bamm:io.catenax.serial_part:1.1.0#SerialPart", - "payload" : { - "localIdentifiers" : [ { - "value" : "BPNL00000003AYRE", - "key" : "manufacturerId" - }, { - "value" : "45415162-57", - "key" : "manufacturerPartId" - }, { - "value" : "NO-924527265080783490331656", - "key" : "partInstanceId" - } ], - "manufacturingInformation" : { - "date" : "2022-02-04T14:48:54", - "country" : "DEU" - }, - "catenaXId" : "urn:uuid:b03315f8-e667-4b09-a30d-86e7db72d041", - "partTypeInformation" : { - "manufacturerPartId" : "45415162-57", - "customerPartId" : "45415162-57", - "classification" : "component", - "nameAtManufacturer" : "Led headlight", - "nameAtCustomer" : "Led headlight" + }, + { + "identification": "urn:uuid:b20d1202-227f-486d-bea0-58a0b90bd1d1", + "aspectType": "urn:bamm:io.catenax.serial_part:1.0.1#SerialPart", + "payload": { + "localIdentifiers": [ + { + "value": "BPNL00000003AYRE", + "key": "manufacturerId" + }, + { + "value": "61184040-23", + "key": "manufacturerPartId" + }, + { + "value": "NO-227829392231501473242314", + "key": "partInstanceId" + } + ], + "manufacturingInformation": { + "date": "2022-02-04T14:48:54", + "country": "DEU" + }, + "catenaXId": "urn:uuid:b31969df-5274-44fc-a2f3-46eab5162718", + "partTypeInformation": { + "manufacturerPartId": "61184040-23", + "customerPartId": "61184040-23", + "classification": "component", + "nameAtManufacturer": "Taillight rear", + "nameAtCustomer": "Taillight rear" + } } - } - }, { - "identification" : "42a33f07-26be-441a-a7fa-623f994010f1", - "aspectType" : "urn:bamm:io.catenax.serial_part:1.1.0#SerialPart", - "payload" : { - "localIdentifiers" : [ { - "value" : "BPNL00000003AYRE", - "key" : "manufacturerId" - }, { - "value" : "00871379-44", - "key" : "manufacturerPartId" - }, { - "value" : "NO-383293552184587155293784", - "key" : "partInstanceId" - } ], - "manufacturingInformation" : { - "date" : "2022-02-04T14:48:54", - "country" : "DEU" - }, - "catenaXId" : "urn:uuid:2b1da564-b872-465e-ae7c-0e65ab543ec6", - "partTypeInformation" : { - "manufacturerPartId" : "00871379-44", - "customerPartId" : "00871379-44", - "classification" : "component", - "nameAtManufacturer" : "Chassis", - "nameAtCustomer" : "Chassis" + }, + { + "identification": "urn:uuid:ad5797ce-f8fa-4952-bc53-a979dcc8b52e", + "aspectType": "urn:bamm:io.catenax.serial_part:1.0.1#SerialPart", + "payload": { + "localIdentifiers": [ + { + "value": "BPNL00000003AYRE", + "key": "manufacturerId" + }, + { + "value": "20125432-59", + "key": "manufacturerPartId" + }, + { + "value": "NO-480340645580297830148096", + "key": "partInstanceId" + } + ], + "manufacturingInformation": { + "date": "2022-02-04T14:48:54", + "country": "DEU" + }, + "catenaXId": "urn:uuid:e7cb0fdc-2a5f-4d3d-9cf5-a963aad642a3", + "partTypeInformation": { + "manufacturerPartId": "20125432-59", + "customerPartId": "20125432-59", + "classification": "component", + "nameAtManufacturer": "Indicator left", + "nameAtCustomer": "Indicator left" + } } - } - }, { - "identification" : "f229dab5-8aa9-4e42-aa4a-a15dc4199113", - "aspectType" : "urn:bamm:io.catenax.serial_part:1.1.0#SerialPart", - "payload" : { - "localIdentifiers" : [ { - "value" : "BPNL00000003AYRE", - "key" : "manufacturerId" - }, { - "value" : "65529521-37", - "key" : "manufacturerPartId" - }, { - "value" : "NO-742099891694531123668864", - "key" : "partInstanceId" - } ], - "manufacturingInformation" : { - "date" : "2022-02-04T14:48:54", - "country" : "DEU" - }, - "catenaXId" : "urn:uuid:5441d5c6-b655-449c-9fbd-9e0ce742ffd6", - "partTypeInformation" : { - "manufacturerPartId" : "65529521-37", - "customerPartId" : "65529521-37", - "classification" : "component", - "nameAtManufacturer" : "Exterior mirror left", - "nameAtCustomer" : "Exterior mirror left" + }, + { + "identification": "urn:uuid:bb2314b8-494e-42e2-a4d5-33e6c996270b", + "aspectType": "urn:bamm:io.catenax.serial_part:1.0.1#SerialPart", + "payload": { + "localIdentifiers": [ + { + "value": "BPNL00000003AYRE", + "key": "manufacturerId" + }, + { + "value": "19073706-76", + "key": "manufacturerPartId" + }, + { + "value": "NO-292452212030235742646207", + "key": "partInstanceId" + } + ], + "manufacturingInformation": { + "date": "2022-02-04T14:48:54", + "country": "DEU" + }, + "catenaXId": "urn:uuid:0789ef4c-dab5-4caf-a0a6-d49bede78019", + "partTypeInformation": { + "manufacturerPartId": "19073706-76", + "customerPartId": "19073706-76", + "classification": "component", + "nameAtManufacturer": "Indicator right", + "nameAtCustomer": "Indicator right" + } } - } - }, { - "identification" : "c0c16641-98b6-4fa5-ab56-78d95f4590b0", - "aspectType" : "urn:bamm:io.catenax.serial_part:1.1.0#SerialPart", - "payload" : { - "localIdentifiers" : [ { - "value" : "BPNL00000003AYRE", - "key" : "manufacturerId" - }, { - "value" : "22768257-25", - "key" : "manufacturerPartId" - }, { - "value" : "NO-802140094338301199783001", - "key" : "partInstanceId" - } ], - "manufacturingInformation" : { - "date" : "2022-02-04T14:48:54", - "country" : "DEU" - }, - "catenaXId" : "urn:uuid:39563a5c-016e-4924-a4dd-c1b8866ba95f", - "partTypeInformation" : { - "manufacturerPartId" : "22768257-25", - "customerPartId" : "22768257-25", - "classification" : "component", - "nameAtManufacturer" : "Bumper rear", - "nameAtCustomer" : "Bumper rear" + }, + { + "identification": "urn:uuid:39a621c3-803c-4888-a8ba-2b387ff9b7ee", + "aspectType": "urn:bamm:io.catenax.serial_part:1.0.1#SerialPart", + "payload": { + "localIdentifiers": [ + { + "value": "BPNL00000003AYRE", + "key": "manufacturerId" + }, + { + "value": "43501996-98", + "key": "manufacturerPartId" + }, + { + "value": "NO-936195705476340223321621", + "key": "partInstanceId" + } + ], + "manufacturingInformation": { + "date": "2022-02-04T14:48:54", + "country": "DEU" + }, + "catenaXId": "urn:uuid:3ad6542d-c83e-4250-b3e3-bcfd52c2a0ac", + "partTypeInformation": { + "manufacturerPartId": "43501996-98", + "customerPartId": "43501996-98", + "classification": "component", + "nameAtManufacturer": "Dashboard", + "nameAtCustomer": "Dashboard" + } } - } - }, { - "identification" : "622377c9-f3c6-49b8-9135-8eb08cde0d0a", - "aspectType" : "urn:bamm:io.catenax.serial_part:1.1.0#SerialPart", - "payload" : { - "localIdentifiers" : [ { - "value" : "BPNL00000003AYRE", - "key" : "manufacturerId" - }, { - "value" : "58471477-24", - "key" : "manufacturerPartId" - }, { - "value" : "NO-261611490006555707486138", - "key" : "partInstanceId" - } ], - "manufacturingInformation" : { - "date" : "2022-02-04T14:48:54", - "country" : "DEU" - }, - "catenaXId" : "urn:uuid:38bf9b41-5ce2-4d63-8a26-51597bf67d56", - "partTypeInformation" : { - "manufacturerPartId" : "58471477-24", - "customerPartId" : "58471477-24", - "classification" : "component", - "nameAtManufacturer" : "Exterior mirror right", - "nameAtCustomer" : "Exterior mirror right" + }, + { + "identification": "urn:uuid:d3817fcd-605b-4405-8abb-c6b873384b6d", + "aspectType": "urn:bamm:io.catenax.serial_part:1.0.1#SerialPart", + "payload": { + "localIdentifiers": [ + { + "value": "BPNL00000003AYRE", + "key": "manufacturerId" + }, + { + "value": "36643162-35", + "key": "manufacturerPartId" + }, + { + "value": "NO-278099507813331392551641", + "key": "partInstanceId" + } + ], + "manufacturingInformation": { + "date": "2022-02-04T14:48:54", + "country": "DEU" + }, + "catenaXId": "urn:uuid:bfa5bc25-e7d3-41b3-9af7-9ba085fed120", + "partTypeInformation": { + "manufacturerPartId": "36643162-35", + "customerPartId": "36643162-35", + "classification": "component", + "nameAtManufacturer": "Fender right", + "nameAtCustomer": "Fender right" + } } - } - }, { - "identification" : "02086f14-de5c-4787-8330-47f4ac0cd0e0", - "aspectType" : "urn:bamm:io.catenax.single_level_bom_as_built:1.0.0#SingleLevelBomAsBuilt", - "payload" : { - "catenaXId" : "urn:uuid:dd9a6772-fc87-4f13-af0c-972edda87e5e", - "childItems" : [ { - "catenaXId" : "urn:uuid:17703814-49b6-4a22-b091-c0c03ff64d2d", - "quantity" : { - "quantityNumber" : "0.3301", - "measurementUnit" : "unit:kilogram" + }, + { + "identification": "urn:uuid:2f68f9b8-a8c8-4aa3-ad8a-37e715f4a155", + "aspectType": "urn:bamm:io.catenax.serial_part:1.0.1#SerialPart", + "payload": { + "localIdentifiers": [ + { + "value": "BPNL00000003AYRE", + "key": "manufacturerId" + }, + { + "value": "08901347-87", + "key": "manufacturerPartId" + }, + { + "value": "NO-408632971973735676470523", + "key": "partInstanceId" + } + ], + "manufacturingInformation": { + "date": "2022-02-04T14:48:54", + "country": "DEU" }, - "businessPartner" : "BPNL00000003AYRE", - "createdOn" : "2022-02-03T14:48:54.709Z", - "lastModifiedOn" : "2022-02-03T14:48:54.709Z" - }, { - "catenaXId" : "urn:uuid:73abcdea-2f2c-4574-a6a9-1ba5e50cfcae", - "quantity" : { - "quantityNumber" : 2.5, - "measurementUnit" : "unit:litre" + "catenaXId": "urn:uuid:dbe29e2e-2b18-4a0d-892b-9232ad4efea4", + "partTypeInformation": { + "manufacturerPartId": "08901347-87", + "customerPartId": "08901347-87", + "classification": "component", + "nameAtManufacturer": "Rims", + "nameAtCustomer": "Rims" + } + } + }, + { + "identification": "urn:uuid:e746de71-83fe-473d-b140-4452ee333f6e", + "aspectType": "urn:bamm:io.catenax.serial_part:1.0.1#SerialPart", + "payload": { + "localIdentifiers": [ + { + "value": "BPNL00000003AYRE", + "key": "manufacturerId" + }, + { + "value": "58471477-24", + "key": "manufacturerPartId" + }, + { + "value": "NO-644970208760768315556784", + "key": "partInstanceId" + } + ], + "manufacturingInformation": { + "date": "2022-02-04T14:48:54", + "country": "DEU" }, - "businessPartner" : "BPNL50096894aNXY", - "createdOn" : "2022-02-03T14:48:54.709Z", - "lastModifiedOn" : "2022-02-03T14:48:54.709Z" - }, { - "catenaXId" : "urn:uuid:9b32b8bb-2d84-40c8-89f9-1453e00ac72a", - "quantity" : { - "quantityNumber" : "0.2001", - "measurementUnit" : "unit:kilogram" + "catenaXId": "urn:uuid:c5f253e2-f813-43c9-b889-00f78922d315", + "partTypeInformation": { + "manufacturerPartId": "58471477-24", + "customerPartId": "58471477-24", + "classification": "component", + "nameAtManufacturer": "Exterior mirror right", + "nameAtCustomer": "Exterior mirror right" + } + } + }, + { + "identification": "urn:uuid:68954434-c632-4b9f-872f-4ad444c357c6", + "aspectType": "urn:bamm:io.catenax.serial_part:1.0.1#SerialPart", + "payload": { + "localIdentifiers": [ + { + "value": "BPNL00000003AYRE", + "key": "manufacturerId" + }, + { + "value": "54165444-59", + "key": "manufacturerPartId" + }, + { + "value": "NO-999955570620259362471907", + "key": "partInstanceId" + } + ], + "manufacturingInformation": { + "date": "2022-02-04T14:48:54", + "country": "DEU" }, - "businessPartner" : "BPNL00000003AZQP", - "createdOn" : "2022-02-03T14:48:54.709Z", - "lastModifiedOn" : "2022-02-03T14:48:54.709Z" - } ] - } - }, { - "identification" : "b084c138-b036-4715-8873-b1a629d6a17a", - "aspectType" : "urn:bamm:io.catenax.serial_part:1.1.0#SerialPart", - "payload" : { - "localIdentifiers" : [ { - "value" : "BPNL00000003B5MJ", - "key" : "manufacturerId" - }, { - "value" : "44683N8-68", - "key" : "manufacturerPartId" - }, { - "value" : "NO-564497459067287051515163", - "key" : "partInstanceId" - } ], - "manufacturingInformation" : { - "date" : "2022-02-04T14:48:54", - "country" : "DEU" - }, - "catenaXId" : "urn:uuid:dd9a6772-fc87-4f13-af0c-972edda87e5e", - "partTypeInformation" : { - "manufacturerPartId" : "44683N8-68", - "customerPartId" : "44683N8-68", - "classification" : "component", - "nameAtManufacturer" : "ECU", - "nameAtCustomer" : "ECU" + "catenaXId": "urn:uuid:18fc5f13-ae4c-4dcf-9a0d-ca8897ead240", + "partTypeInformation": { + "manufacturerPartId": "54165444-59", + "customerPartId": "54165444-59", + "classification": "component", + "nameAtManufacturer": "Bumper front", + "nameAtCustomer": "Bumper front" + } } - } - }, { - "identification" : "7878ec6f-cac2-49f7-8b1f-aca409f6aff2", - "aspectType" : "urn:bamm:io.catenax.single_level_bom_as_built:1.0.0#SingleLevelBomAsBuilt", - "payload" : { - "catenaXId" : "urn:uuid:73abcdea-2f2c-4574-a6a9-1ba5e50cfcae", - "childItems" : [ { - "catenaXId" : "urn:uuid:33361501-442a-47a0-9b65-3a12b3be6e23", - "quantity" : { - "quantityNumber" : "0.1908", - "measurementUnit" : "unit:kilogram" + }, + { + "identification": "urn:uuid:d1e100d5-4206-4ad9-81ad-96b4b41f8785", + "aspectType": "urn:bamm:io.catenax.serial_part:1.0.1#SerialPart", + "payload": { + "localIdentifiers": [ + { + "value": "BPNL00000003AYRE", + "key": "manufacturerId" + }, + { + "value": "45863316-60", + "key": "manufacturerPartId" + }, + { + "value": "NO-066483165216636407522795", + "key": "partInstanceId" + } + ], + "manufacturingInformation": { + "date": "2022-02-04T14:48:54", + "country": "DEU" }, - "businessPartner" : "BPNL00000003AYRE", - "createdOn" : "2022-02-03T14:48:54.709Z", - "lastModifiedOn" : "2022-02-03T14:48:54.709Z" - } ] - } - }, { - "identification" : "0d43c253-e026-49d1-9682-e1dce9bab7ba", - "aspectType" : "urn:bamm:io.catenax.serial_part:1.1.0#SerialPart", - "payload" : { - "localIdentifiers" : [ { - "value" : "BPNL00000003B3NX", - "key" : "manufacturerId" - }, { - "value" : "46407D6-21", - "key" : "manufacturerPartId" - }, { - "value" : "NO-891840731278038465763571", - "key" : "partInstanceId" - } ], - "manufacturingInformation" : { - "date" : "2022-02-04T14:48:54", - "country" : "DEU" - }, - "catenaXId" : "urn:uuid:73abcdea-2f2c-4574-a6a9-1ba5e50cfcae", - "partTypeInformation" : { - "manufacturerPartId" : "46407D6-21", - "customerPartId" : "46407D6-21", - "classification" : "component", - "nameAtManufacturer" : "Sensor", - "nameAtCustomer" : "Sensor" + "catenaXId": "urn:uuid:24e65ea5-e0fd-4f55-b884-8526887a8dd1", + "partTypeInformation": { + "manufacturerPartId": "45863316-60", + "customerPartId": "45863316-60", + "classification": "component", + "nameAtManufacturer": "Tires", + "nameAtCustomer": "Tires" + } } - } - }, { - "identification" : "d8263abc-beec-4865-9e2d-bdc6dd7b14ea", - "aspectType" : "urn:bamm:io.catenax.batch:1.0.0#Batch", - "payload" : { - "localIdentifiers" : [ { - "value" : "BPNL00000003B0Q0", - "key" : "manufacturerId" - }, { - "value" : "75268X2-36", - "key" : "manufacturerPartId" - }, { - "value" : "NO-366459632017124472841443", - "key" : "partInstanceId" - } ], - "manufacturingInformation" : { - "date" : "2022-02-04T14:48:54", - "country" : "DEU" - }, - "catenaXId" : "urn:uuid:33361501-442a-47a0-9b65-3a12b3be6e23", - "partTypeInformation" : { - "manufacturerPartId" : "75268X2-36", - "customerPartId" : "75268X2-36", - "classification" : "component", - "nameAtManufacturer" : "Engineering Plastics", - "nameAtCustomer" : "Engineering Plastics" + }, + { + "identification": "urn:uuid:44689b7f-76ba-4f47-97d4-7df1d2a3cf6f", + "aspectType": "urn:bamm:io.catenax.serial_part:1.0.1#SerialPart", + "payload": { + "localIdentifiers": [ + { + "value": "BPNL00000003AYRE", + "key": "manufacturerId" + }, + { + "value": "09002013-68", + "key": "manufacturerPartId" + }, + { + "value": "NO-605122614201177355135048", + "key": "partInstanceId" + } + ], + "manufacturingInformation": { + "date": "2022-02-04T14:48:54", + "country": "DEU" + }, + "catenaXId": "urn:uuid:00c8de5a-b6bd-4061-88c1-2484ea3d3090", + "partTypeInformation": { + "manufacturerPartId": "09002013-68", + "customerPartId": "09002013-68", + "classification": "component", + "nameAtManufacturer": "Trailer coupling", + "nameAtCustomer": "Tailer coupling" + } } - } - }, { - "identification" : "f51659d2-fe6f-4e10-ae03-c3391a6c1c36", - "aspectType" : "urn:bamm:io.catenax.batch:1.0.0#Batch", - "payload" : { - "localIdentifiers" : [ { - "value" : "BPNL00000003AXS3", - "key" : "manufacturerId" - }, { - "value" : "91873Z2-07", - "key" : "manufacturerPartId" - }, { - "value" : "NO-387988959214491961553035", - "key" : "partInstanceId" - } ], - "manufacturingInformation" : { - "date" : "2022-02-04T14:48:54", - "country" : "DEU" - }, - "catenaXId" : "urn:uuid:17703814-49b6-4a22-b091-c0c03ff64d2d", - "partTypeInformation" : { - "manufacturerPartId" : "91873Z2-07", - "customerPartId" : "91873Z2-07", - "classification" : "component", - "nameAtManufacturer" : "Glue", - "nameAtCustomer" : "Glue" + }, + { + "identification": "urn:uuid:d218719e-1e0e-49c6-a834-c72581c60bea", + "aspectType": "urn:bamm:io.catenax.serial_part:1.0.1#SerialPart", + "payload": { + "localIdentifiers": [ + { + "value": "BPNL00000003AYRE", + "key": "manufacturerId" + }, + { + "value": "32494586-73", + "key": "manufacturerPartId" + }, + { + "value": "NO-150015089771528851568455", + "key": "partInstanceId" + } + ], + "manufacturingInformation": { + "date": "2022-02-04T14:48:54", + "country": "DEU" + }, + "catenaXId": "urn:uuid:57850083-6bc9-4a83-b3d3-ca72d4420d07", + "partTypeInformation": { + "manufacturerPartId": "32494586-73", + "customerPartId": "32494586-73", + "classification": "component", + "nameAtManufacturer": "Differential Gear", + "nameAtCustomer": "Differential Gear" + } } - } - }, { - "identification" : "b2d602f6-3ccd-4c65-8cfe-896c98c789fe", - "aspectType" : "urn:bamm:io.catenax.serial_part:1.1.0#SerialPart", - "payload" : { - "localIdentifiers" : [ { - "value" : "BPNL00000003B0Q0", - "key" : "manufacturerId" - }, { - "value" : "54575M8-70", - "key" : "manufacturerPartId" - }, { - "value" : "NO-107011284749507592692350", - "key" : "partInstanceId" - } ], - "manufacturingInformation" : { - "date" : "2022-02-04T14:48:54", - "country" : "DEU" - }, - "catenaXId" : "urn:uuid:9b32b8bb-2d84-40c8-89f9-1453e00ac72a", - "partTypeInformation" : { - "manufacturerPartId" : "54575M8-70", - "customerPartId" : "54575M8-70", - "classification" : "component", - "nameAtManufacturer" : "Engineering Plastics", - "nameAtCustomer" : "Engineering Plastics" + }, + { + "identification": "urn:uuid:4ad1d44c-7c92-4e6d-91d3-131c9f26ae2f", + "aspectType": "urn:bamm:io.catenax.serial_part:1.0.1#SerialPart", + "payload": { + "localIdentifiers": [ + { + "value": "BPNL00000003AYRE", + "key": "manufacturerId" + }, + { + "value": "22768257-25", + "key": "manufacturerPartId" + }, + { + "value": "NO-586083554439929128625348", + "key": "partInstanceId" + } + ], + "manufacturingInformation": { + "date": "2022-02-04T14:48:54", + "country": "DEU" + }, + "catenaXId": "urn:uuid:979818ab-6f5d-42d9-84aa-5fcbf69a06aa", + "partTypeInformation": { + "manufacturerPartId": "22768257-25", + "customerPartId": "22768257-25", + "classification": "component", + "nameAtManufacturer": "Bumper rear", + "nameAtCustomer": "Bumper rear" + } } - } - }, { - "identification" : "c4ac45a2-5044-4b92-a19f-94af21a68276", - "aspectType" : "urn:bamm:io.catenax.serial_part:1.1.0#SerialPart", - "payload" : { - "localIdentifiers" : [ { - "value" : "BPNL00000003AYRE", - "key" : "manufacturerId" - }, { - "value" : "32494586-73", - "key" : "manufacturerPartId" - }, { - "value" : "NO-230042238270516724865289", - "key" : "partInstanceId" - } ], - "manufacturingInformation" : { - "date" : "2022-02-04T14:48:54", - "country" : "DEU" - }, - "catenaXId" : "urn:uuid:bff8e46a-25d7-4509-848e-83c3c9450b55", - "partTypeInformation" : { - "manufacturerPartId" : "32494586-73", - "customerPartId" : "32494586-73", - "classification" : "component", - "nameAtManufacturer" : "Differential Gear", - "nameAtCustomer" : "Differential Gear" + }, + { + "identification": "urn:uuid:0dc7088d-e187-4198-a361-157ff902766a", + "aspectType": "urn:bamm:io.catenax.serial_part:1.0.1#SerialPart", + "payload": { + "localIdentifiers": [ + { + "value": "BPNL00000003AYRE", + "key": "manufacturerId" + }, + { + "value": "88111709-49", + "key": "manufacturerPartId" + }, + { + "value": "NO-248945616385831080938693", + "key": "partInstanceId" + } + ], + "manufacturingInformation": { + "date": "2022-02-04T14:48:54", + "country": "DEU" + }, + "catenaXId": "urn:uuid:9f8be7fc-b402-41c7-8d8d-7a527c217a4f", + "partTypeInformation": { + "manufacturerPartId": "88111709-49", + "customerPartId": "88111709-49", + "classification": "component", + "nameAtManufacturer": "Axle part rear", + "nameAtCustomer": "Axle part rear" + } } - } - }, { - "identification" : "289c0da8-e441-40e6-a893-efe5473b820a", - "aspectType" : "urn:bamm:io.catenax.serial_part:1.1.0#SerialPart", - "payload" : { - "localIdentifiers" : [ { - "value" : "BPNL00000003AYRE", - "key" : "manufacturerId" - }, { - "value" : "61184040-23", - "key" : "manufacturerPartId" - }, { - "value" : "NO-372016418296767298762842", - "key" : "partInstanceId" - } ], - "manufacturingInformation" : { - "date" : "2022-02-04T14:48:54", - "country" : "DEU" - }, - "catenaXId" : "urn:uuid:192628cb-395f-4764-b121-73eb92b308df", - "partTypeInformation" : { - "manufacturerPartId" : "61184040-23", - "customerPartId" : "61184040-23", - "classification" : "component", - "nameAtManufacturer" : "Taillight rear", - "nameAtCustomer" : "Taillight rear" + }, + { + "identification": "urn:uuid:a078d641-ea06-473e-aebc-82d041bdb32c", + "aspectType": "urn:bamm:io.catenax.single_level_bom_as_built:1.0.0#SingleLevelBomAsBuilt", + "payload": { + "catenaXId": "urn:uuid:7d17ab0d-d879-4bae-bada-c65adf834dc7", + "childItems": [ + { + "catenaXId": "urn:uuid:66980e76-b79b-4fcf-9111-5b56261d42bb", + "quantity": { + "quantityNumber": 2.5, + "measurementUnit": "unit:litre" + }, + "businessPartner": "BPNL00000003AYRE", + "createdOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z" + } + ] } - } - }, { - "identification" : "34f3863d-7145-497a-b7d0-acabc3aba2fe", - "aspectType" : "urn:bamm:io.catenax.serial_part:1.1.0#SerialPart", - "payload" : { - "localIdentifiers" : [ { - "value" : "BPNL00000003AYRE", - "key" : "manufacturerId" - }, { - "value" : "09002013-68", - "key" : "manufacturerPartId" - }, { - "value" : "NO-847874807795409745734518", - "key" : "partInstanceId" - } ], - "manufacturingInformation" : { - "date" : "2022-02-04T14:48:54", - "country" : "DEU" - }, - "catenaXId" : "urn:uuid:dec48d10-2e0a-4b82-9c46-19ab09da7d8d", - "partTypeInformation" : { - "manufacturerPartId" : "09002013-68", - "customerPartId" : "09002013-68", - "classification" : "component", - "nameAtManufacturer" : "Trailer coupling", - "nameAtCustomer" : "Tailer coupling" + }, + { + "identification": "urn:uuid:21662a0f-9af9-4ac7-bdce-b0ad84ee7a9f", + "aspectType": "urn:bamm:io.catenax.serial_part:1.0.1#SerialPart", + "payload": { + "localIdentifiers": [ + { + "value": "BPNL00000003CSGV", + "key": "manufacturerId" + }, + { + "value": "95657362-64", + "key": "manufacturerPartId" + }, + { + "value": "NO-016584928827572317816251", + "key": "partInstanceId" + } + ], + "manufacturingInformation": { + "date": "2022-02-04T14:48:54", + "country": "DEU" + }, + "catenaXId": "urn:uuid:7d17ab0d-d879-4bae-bada-c65adf834dc7", + "partTypeInformation": { + "manufacturerPartId": "33740332-54", + "customerPartId": "33740332-54", + "classification": "component", + "nameAtManufacturer": "Door f-r", + "nameAtCustomer": "Door front-right" + } } - } - }, { - "identification" : "b9799553-f224-457b-aaec-c6fbb42b2205", - "aspectType" : "urn:bamm:io.catenax.serial_part:1.1.0#SerialPart", - "payload" : { - "localIdentifiers" : [ { - "value" : "BPNL00000003AYRE", - "key" : "manufacturerId" - }, { - "value" : "13769860-47", - "key" : "manufacturerPartId" - }, { - "value" : "NO-439802212590285010690443", - "key" : "partInstanceId" - } ], - "manufacturingInformation" : { - "date" : "2022-02-04T14:48:54", - "country" : "DEU" - }, - "catenaXId" : "urn:uuid:1f8fd12c-a3d3-4a76-8e0b-6093850df643", - "partTypeInformation" : { - "manufacturerPartId" : "13769860-47", - "customerPartId" : "13769860-47", - "classification" : "component", - "nameAtManufacturer" : "Fender left", - "nameAtCustomer" : "Fender right" + }, + { + "identification": "urn:uuid:e1e9476d-9f50-4600-88a6-3d46404222c3", + "aspectType": "urn:bamm:io.catenax.single_level_bom_as_built:1.0.0#SingleLevelBomAsBuilt", + "payload": { + "catenaXId": "urn:uuid:fbbb255c-d02f-4d6a-8851-dd00130ed020", + "childItems": [ + { + "catenaXId": "urn:uuid:7625422f-9504-4525-96c4-902cf81613e3", + "quantity": { + "quantityNumber": 2.5, + "measurementUnit": "unit:litre" + }, + "businessPartner": "BPNL00000003AYRE", + "createdOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z" + } + ] } - } - }, { - "identification" : "bfcf96d0-7e42-43fe-8a05-1202b105a976", - "aspectType" : "urn:bamm:io.catenax.serial_part:1.1.0#SerialPart", - "payload" : { - "localIdentifiers" : [ { - "value" : "BPNL00000003AYRE", - "key" : "manufacturerId" - }, { - "value" : "54165444-59", - "key" : "manufacturerPartId" - }, { - "value" : "NO-333582953465667612940213", - "key" : "partInstanceId" - } ], - "manufacturingInformation" : { - "date" : "2022-02-04T14:48:54", - "country" : "DEU" - }, - "catenaXId" : "urn:uuid:9d5c45f5-52d9-4737-9d04-16a79ecdf4cf", - "partTypeInformation" : { - "manufacturerPartId" : "54165444-59", - "customerPartId" : "54165444-59", - "classification" : "component", - "nameAtManufacturer" : "Bumper front", - "nameAtCustomer" : "Bumper front" + }, + { + "identification": "urn:uuid:5bef6b35-f28d-4c03-87e0-302a19c8ad48", + "aspectType": "urn:bamm:io.catenax.serial_part:1.0.1#SerialPart", + "payload": { + "localIdentifiers": [ + { + "value": "BPNL00000003CSGV", + "key": "manufacturerId" + }, + { + "value": "22782277-50", + "key": "manufacturerPartId" + }, + { + "value": "NO-629354344096652759149355", + "key": "partInstanceId" + } + ], + "manufacturingInformation": { + "date": "2022-02-04T14:48:54", + "country": "DEU" + }, + "catenaXId": "urn:uuid:fbbb255c-d02f-4d6a-8851-dd00130ed020", + "partTypeInformation": { + "manufacturerPartId": "22782277-50", + "customerPartId": "22782277-50", + "classification": "component", + "nameAtManufacturer": "Door f-l", + "nameAtCustomer": "Door front-left" + } } - } - }, { - "identification" : "767eb952-5c3d-4fab-9d10-e318bdc0989a", - "aspectType" : "urn:bamm:io.catenax.serial_part:1.1.0#SerialPart", - "payload" : { - "localIdentifiers" : [ { - "value" : "BPNL00000003AYRE", - "key" : "manufacturerId" - }, { - "value" : "81324139-23", - "key" : "manufacturerPartId" - }, { - "value" : "NO-632909763071448857949649", - "key" : "partInstanceId" - } ], - "manufacturingInformation" : { - "date" : "2022-02-04T14:48:54", - "country" : "DEU" - }, - "catenaXId" : "urn:uuid:084bd4c9-7b8e-409b-b6fc-4a0fdb4bc930", - "partTypeInformation" : { - "manufacturerPartId" : "81324139-23", - "customerPartId" : "81324139-23", - "classification" : "component", - "nameAtManufacturer" : "Alternator", - "nameAtCustomer" : "Alternator" + }, + { + "identification": "urn:uuid:fd74e9ee-207b-44d1-8017-2ba19d12c750", + "aspectType": "urn:bamm:io.catenax.serial_part:1.0.1#SerialPart", + "payload": { + "localIdentifiers": [ + { + "value": "BPNL00000000BJTL", + "key": "manufacturerId" + }, + { + "value": "95657762-59", + "key": "manufacturerPartId" + }, + { + "value": "NO-244494858804314594608869", + "key": "partInstanceId" + } + ], + "manufacturingInformation": { + "date": "2022-02-04T14:48:54", + "country": "DEU" + }, + "catenaXId": "urn:uuid:66980e76-b79b-4fcf-9111-5b56261d42bb", + "partTypeInformation": { + "manufacturerPartId": "95657762-59", + "customerPartId": "95657762-59", + "classification": "component", + "nameAtManufacturer": "Door Key", + "nameAtCustomer": "Door Key" + } } - } - }, { - "identification" : "55b33174-24c8-4381-95f8-803ba9a7462c", - "aspectType" : "urn:bamm:io.catenax.serial_part:1.1.0#SerialPart", - "payload" : { - "localIdentifiers" : [ { - "value" : "BPNL00000003AYRE", - "key" : "manufacturerId" - }, { - "value" : "45863316-60", - "key" : "manufacturerPartId" - }, { - "value" : "NO-362217146670834636530137", - "key" : "partInstanceId" - } ], - "manufacturingInformation" : { - "date" : "2022-02-04T14:48:54", - "country" : "DEU" - }, - "catenaXId" : "urn:uuid:e7bf8197-2ef1-4ac0-9304-f7479df75065", - "partTypeInformation" : { - "manufacturerPartId" : "45863316-60", - "customerPartId" : "45863316-60", - "classification" : "component", - "nameAtManufacturer" : "Tires", - "nameAtCustomer" : "Tires" + }, + { + "identification": "urn:uuid:ea1f6e20-bd2f-4215-9930-62d3f7c23b37", + "aspectType": "urn:bamm:io.catenax.serial_part:1.0.1#SerialPart", + "payload": { + "localIdentifiers": [ + { + "value": "BPNL00000000BJTL", + "key": "manufacturerId" + }, + { + "value": "95657762-59", + "key": "manufacturerPartId" + }, + { + "value": "NO-954553431691027621791609", + "key": "partInstanceId" + } + ], + "manufacturingInformation": { + "date": "2022-02-04T14:48:54", + "country": "DEU" + }, + "catenaXId": "urn:uuid:7625422f-9504-4525-96c4-902cf81613e3", + "partTypeInformation": { + "manufacturerPartId": "95657762-59", + "customerPartId": "95657762-59", + "classification": "component", + "nameAtManufacturer": "Door Key", + "nameAtCustomer": "Door Key" + } } - } - }, { - "identification" : "511f90b0-7ed8-4195-ad04-309a45e2e02c", - "aspectType" : "urn:bamm:io.catenax.serial_part:1.1.0#SerialPart", - "payload" : { - "localIdentifiers" : [ { - "value" : "BPNL00000003AYRE", - "key" : "manufacturerId" - }, { - "value" : "88111709-49", - "key" : "manufacturerPartId" - }, { - "value" : "NO-612645461905657558065202", - "key" : "partInstanceId" - } ], - "manufacturingInformation" : { - "date" : "2022-02-04T14:48:54", - "country" : "DEU" - }, - "catenaXId" : "urn:uuid:fbc2da6c-1891-4c37-8cae-11c0fc50bdad", - "partTypeInformation" : { - "manufacturerPartId" : "88111709-49", - "customerPartId" : "88111709-49", - "classification" : "component", - "nameAtManufacturer" : "Axle part rear", - "nameAtCustomer" : "Axle part rear" + }, + { + "identification": "urn:uuid:51714289-868a-46ed-99e0-4168d0dddf31", + "aspectType": "urn:bamm:io.catenax.serial_part:1.0.1#SerialPart", + "payload": { + "localIdentifiers": [ + { + "value": "BPNL00000003AYRE", + "key": "manufacturerId" + }, + { + "value": "10030939-59", + "key": "manufacturerPartId" + }, + { + "value": "NO-607579899101714852863561", + "key": "partInstanceId" + } + ], + "manufacturingInformation": { + "date": "2022-02-04T14:48:54", + "country": "DEU" + }, + "catenaXId": "urn:uuid:f449ed2f-92cf-40ce-a5b8-e6098ae5bb52", + "partTypeInformation": { + "manufacturerPartId": "10030939-59", + "customerPartId": "10030939-59", + "classification": "component", + "nameAtManufacturer": "Engine", + "nameAtCustomer": "Engine" + } } - } - }, { - "identification" : "48cbd627-480d-4f0b-a8ed-c8f573c84fbb", - "aspectType" : "urn:bamm:io.catenax.serial_part:1.1.0#SerialPart", - "payload" : { - "localIdentifiers" : [ { - "value" : "BPNL00000003AYRE", - "key" : "manufacturerId" - }, { - "value" : "77795937-13", - "key" : "manufacturerPartId" - }, { - "value" : "NO-265035567868096663572901", - "key" : "partInstanceId" - } ], - "manufacturingInformation" : { - "date" : "2022-02-04T14:48:54", - "country" : "DEU" - }, - "catenaXId" : "urn:uuid:4011e910-616b-4fed-9115-800e0133a0f7", - "partTypeInformation" : { - "manufacturerPartId" : "77795937-13", - "customerPartId" : "77795937-13", - "classification" : "component", - "nameAtManufacturer" : "Steering wheel", - "nameAtCustomer" : "Steering wheel" + }, + { + "identification": "urn:uuid:521e320e-e133-4154-8b82-00aaeddb0e66", + "aspectType": "urn:bamm:io.catenax.serial_part:1.0.1#SerialPart", + "payload": { + "localIdentifiers": [ + { + "value": "BPNL00000003AYRE", + "key": "manufacturerId" + }, + { + "value": "12093297-03", + "key": "manufacturerPartId" + }, + { + "value": "NO-814745729321651753374394", + "key": "partInstanceId" + } + ], + "manufacturingInformation": { + "date": "2022-02-04T14:48:54", + "country": "DEU" + }, + "catenaXId": "urn:uuid:de28a7b9-0e01-4d7d-8e10-b4eed42cf480", + "partTypeInformation": { + "manufacturerPartId": "12093297-03", + "customerPartId": "12093297-03", + "classification": "component", + "nameAtManufacturer": "Axle part front", + "nameAtCustomer": "Axle part front" + } } - } - }, { - "identification" : "1fadddc7-302f-4371-9abc-c701e3756d42", - "aspectType" : "urn:bamm:io.catenax.serial_part:1.1.0#SerialPart", - "payload" : { - "localIdentifiers" : [ { - "value" : "BPNL00000003AYRE", - "key" : "manufacturerId" - }, { - "value" : "36643162-35", - "key" : "manufacturerPartId" - }, { - "value" : "NO-042723254976470422370076", - "key" : "partInstanceId" - } ], - "manufacturingInformation" : { - "date" : "2022-02-04T14:48:54", - "country" : "DEU" - }, - "catenaXId" : "urn:uuid:10847717-9c74-486f-af98-a59fe6ed9a78", - "partTypeInformation" : { - "manufacturerPartId" : "36643162-35", - "customerPartId" : "36643162-35", - "classification" : "component", - "nameAtManufacturer" : "Fender right", - "nameAtCustomer" : "Fender right" + }, + { + "identification": "urn:uuid:729ae12e-e014-4954-9140-c1c5f58ce93f", + "aspectType": "urn:bamm:io.catenax.serial_part:1.0.1#SerialPart", + "payload": { + "localIdentifiers": [ + { + "value": "BPNL00000003AYRE", + "key": "manufacturerId" + }, + { + "value": "85023955-75", + "key": "manufacturerPartId" + }, + { + "value": "NO-919148611477937186335329", + "key": "partInstanceId" + } + ], + "manufacturingInformation": { + "date": "2022-02-04T14:48:54", + "country": "DEU" + }, + "catenaXId": "urn:uuid:540c139b-826e-458e-a536-d6a6d3d01d5e", + "partTypeInformation": { + "manufacturerPartId": "85023955-75", + "customerPartId": "85023955-75", + "classification": "component", + "nameAtManufacturer": "Tailgate", + "nameAtCustomer": "Tailgate" + } } - } - }, { - "identification" : "6eb1e4f6-9ee8-4596-b255-672b0aba3391", - "aspectType" : "urn:bamm:io.catenax.serial_part:1.1.0#SerialPart", - "payload" : { - "localIdentifiers" : [ { - "value" : "BPNL00000003AYRE", - "key" : "manufacturerId" - }, { - "value" : "19073706-76", - "key" : "manufacturerPartId" - }, { - "value" : "NO-771762561475906002787797", - "key" : "partInstanceId" - } ], - "manufacturingInformation" : { - "date" : "2022-02-04T14:48:54", - "country" : "DEU" - }, - "catenaXId" : "urn:uuid:a6c52e63-f877-44cf-b798-5fb40b220cf7", - "partTypeInformation" : { - "manufacturerPartId" : "19073706-76", - "customerPartId" : "19073706-76", - "classification" : "component", - "nameAtManufacturer" : "Indicator right", - "nameAtCustomer" : "Indicator right" + }, + { + "identification": "urn:uuid:c1a19174-f0ab-41bc-9056-7cc3f8d56f65", + "aspectType": "urn:bamm:io.catenax.serial_part:1.0.1#SerialPart", + "payload": { + "localIdentifiers": [ + { + "value": "BPNL00000003AYRE", + "key": "manufacturerId" + }, + { + "value": "78744126-74", + "key": "manufacturerPartId" + }, + { + "value": "NO-241364963045649353647630", + "key": "partInstanceId" + } + ], + "manufacturingInformation": { + "date": "2022-02-04T14:48:54", + "country": "DEU" + }, + "catenaXId": "urn:uuid:18dee324-3016-4968-bdce-a1338fec49c1", + "partTypeInformation": { + "manufacturerPartId": "78744126-74", + "customerPartId": "78744126-74", + "classification": "component", + "nameAtManufacturer": "Taillight front", + "nameAtCustomer": "Taillight front" + } } - } - }, { - "identification" : "d0b508a9-82a8-4c7d-9464-413aae2a9903", - "aspectType" : "urn:bamm:io.catenax.serial_part:1.1.0#SerialPart", - "payload" : { - "localIdentifiers" : [ { - "value" : "BPNL00000003AYRE", - "key" : "manufacturerId" - }, { - "value" : "78141846-87", - "key" : "manufacturerPartId" - }, { - "value" : "NO-766685549112419078517890", - "key" : "partInstanceId" - } ], - "manufacturingInformation" : { - "date" : "2022-02-04T14:48:54", - "country" : "DEU" - }, - "catenaXId" : "urn:uuid:a25085cf-fed3-4f5a-8573-fcaffc9dee7c", - "partTypeInformation" : { - "manufacturerPartId" : "78141846-87", - "customerPartId" : "78141846-87", - "classification" : "component", - "nameAtManufacturer" : "Starter motor", - "nameAtCustomer" : "Starter motor" + }, + { + "identification": "urn:uuid:235db5af-83a3-497a-af00-126caac13102", + "aspectType": "urn:bamm:io.catenax.serial_part:1.0.1#SerialPart", + "payload": { + "localIdentifiers": [ + { + "value": "BPNL00000003AYRE", + "key": "manufacturerId" + }, + { + "value": "13769860-47", + "key": "manufacturerPartId" + }, + { + "value": "NO-062609815376278337569759", + "key": "partInstanceId" + } + ], + "manufacturingInformation": { + "date": "2022-02-04T14:48:54", + "country": "DEU" + }, + "catenaXId": "urn:uuid:03958eb2-501d-4356-a03e-e85da90c1f92", + "partTypeInformation": { + "manufacturerPartId": "13769860-47", + "customerPartId": "13769860-47", + "classification": "component", + "nameAtManufacturer": "Fender left", + "nameAtCustomer": "Fender right" + } } - } - }, { - "identification" : "3deed982-f39e-4dbd-9e3b-4289785cf133", - "aspectType" : "urn:bamm:io.catenax.serial_part:1.1.0#SerialPart", - "payload" : { - "localIdentifiers" : [ { - "value" : "BPNL00000003AYRE", - "key" : "manufacturerId" - }, { - "value" : "94421589-82", - "key" : "manufacturerPartId" - }, { - "value" : "NO-639912625279612021106020", - "key" : "partInstanceId" - } ], - "manufacturingInformation" : { - "date" : "2022-02-04T14:48:54", - "country" : "DEU" - }, - "catenaXId" : "urn:uuid:e61924f1-6186-4a4a-a34e-ac467de9d99e", - "partTypeInformation" : { - "manufacturerPartId" : "94421589-82", - "customerPartId" : "94421589-82", - "classification" : "component", - "nameAtManufacturer" : "Engine hood", - "nameAtCustomer" : "Engine hood" + }, + { + "identification": "urn:uuid:5fd72d52-dea7-45f8-9240-93edb2da2efb", + "aspectType": "urn:bamm:io.catenax.serial_part:1.0.1#SerialPart", + "payload": { + "localIdentifiers": [ + { + "value": "BPNL00000003AYRE", + "key": "manufacturerId" + }, + { + "value": "57929013-09", + "key": "manufacturerPartId" + }, + { + "value": "NO-209803313033971598445398", + "key": "partInstanceId" + } + ], + "manufacturingInformation": { + "date": "2022-02-04T14:48:54", + "country": "DEU" + }, + "catenaXId": "urn:uuid:94165d74-1014-4a92-9798-2caa308e3eec", + "partTypeInformation": { + "manufacturerPartId": "57929013-09", + "customerPartId": "57929013-09", + "classification": "component", + "nameAtManufacturer": "AC compressor", + "nameAtCustomer": "Air conditioning compressor" + } } - } - }, { - "identification" : "ab4b3632-e103-4368-a007-f4d02173db66", - "aspectType" : "urn:bamm:io.catenax.serial_part:1.1.0#SerialPart", - "payload" : { - "localIdentifiers" : [ { - "value" : "BPNL00000003AYRE", - "key" : "manufacturerId" - }, { - "value" : "10030939-59", - "key" : "manufacturerPartId" - }, { - "value" : "NO-798811620561902349013223", - "key" : "partInstanceId" - } ], - "manufacturingInformation" : { - "date" : "2022-02-04T14:48:54", - "country" : "DEU" - }, - "catenaXId" : "urn:uuid:f95ec7a8-ee2b-44c3-b849-99440b58903f", - "partTypeInformation" : { - "manufacturerPartId" : "10030939-59", - "customerPartId" : "10030939-59", - "classification" : "component", - "nameAtManufacturer" : "Engine", - "nameAtCustomer" : "Engine" + }, + { + "identification": "urn:uuid:622854cf-b9d5-42ac-8293-b430a3d9dd46", + "aspectType": "urn:bamm:io.catenax.serial_part:1.0.1#SerialPart", + "payload": { + "localIdentifiers": [ + { + "value": "BPNL00000003AYRE", + "key": "manufacturerId" + }, + { + "value": "73849201-61", + "key": "manufacturerPartId" + }, + { + "value": "NO-237791705077588673260413", + "key": "partInstanceId" + } + ], + "manufacturingInformation": { + "date": "2022-02-04T14:48:54", + "country": "DEU" + }, + "catenaXId": "urn:uuid:3a49690c-8af4-458a-bd37-0fa5a0519d0f", + "partTypeInformation": { + "manufacturerPartId": "73849201-61", + "customerPartId": "73849201-61", + "classification": "component", + "nameAtManufacturer": "Catalysator", + "nameAtCustomer": "Catalysator" + } } - } - }, { - "identification" : "c9450d79-9aad-4e98-8365-49b0dc847eae", - "aspectType" : "urn:bamm:io.catenax.single_level_bom_as_built:1.0.0#SingleLevelBomAsBuilt", - "payload" : { - "catenaXId" : "urn:uuid:56ce2534-43b9-4b87-8542-26335b8f041b", - "childItems" : [ { - "catenaXId" : "urn:uuid:df9309c2-a688-45a5-877d-ccdeea68e47e", - "quantity" : { - "quantityNumber" : 2.5, - "measurementUnit" : "unit:litre" + }, + { + "identification": "urn:uuid:9665e71f-e2da-4167-88f6-c97a15dd7e21", + "aspectType": "urn:bamm:io.catenax.serial_part:1.0.1#SerialPart", + "payload": { + "localIdentifiers": [ + { + "value": "BPNL00000003AYRE", + "key": "manufacturerId" + }, + { + "value": "78141846-87", + "key": "manufacturerPartId" + }, + { + "value": "NO-928051910186755296387331", + "key": "partInstanceId" + } + ], + "manufacturingInformation": { + "date": "2022-02-04T14:48:54", + "country": "DEU" }, - "businessPartner" : "BPNL00000003AYRE", - "createdOn" : "2022-02-03T14:48:54.709Z", - "lastModifiedOn" : "2022-02-03T14:48:54.709Z" - } ] - } - }, { - "identification" : "65a768d1-4e08-4a71-a9c1-9b211ea08a0d", - "aspectType" : "urn:bamm:io.catenax.serial_part:1.1.0#SerialPart", - "payload" : { - "localIdentifiers" : [ { - "value" : "BPNL00000003CSGV", - "key" : "manufacturerId" - }, { - "value" : "22782277-50", - "key" : "manufacturerPartId" - }, { - "value" : "NO-230210535360253779629692", - "key" : "partInstanceId" - } ], - "manufacturingInformation" : { - "date" : "2022-02-04T14:48:54", - "country" : "DEU" - }, - "catenaXId" : "urn:uuid:56ce2534-43b9-4b87-8542-26335b8f041b", - "partTypeInformation" : { - "manufacturerPartId" : "22782277-50", - "customerPartId" : "22782277-50", - "classification" : "component", - "nameAtManufacturer" : "Door f-l", - "nameAtCustomer" : "Door front-left" + "catenaXId": "urn:uuid:60bef7ae-f873-40e4-a824-1d0b66a1e19f", + "partTypeInformation": { + "manufacturerPartId": "78141846-87", + "customerPartId": "78141846-87", + "classification": "component", + "nameAtManufacturer": "Starter motor", + "nameAtCustomer": "Starter motor" + } } - } - }, { - "identification" : "1baf9de5-e0d4-498d-ae61-9ba7ad677323", - "aspectType" : "urn:bamm:io.catenax.serial_part:1.1.0#SerialPart", - "payload" : { - "localIdentifiers" : [ { - "value" : "BPNL00000000BJTL", - "key" : "manufacturerId" - }, { - "value" : "95657762-59", - "key" : "manufacturerPartId" - }, { - "value" : "NO-622877200309232296795282", - "key" : "partInstanceId" - } ], - "manufacturingInformation" : { - "date" : "2022-02-04T14:48:54", - "country" : "DEU" - }, - "catenaXId" : "urn:uuid:df9309c2-a688-45a5-877d-ccdeea68e47e", - "partTypeInformation" : { - "manufacturerPartId" : "95657762-59", - "customerPartId" : "95657762-59", - "classification" : "component", - "nameAtManufacturer" : "Door Key", - "nameAtCustomer" : "Door Key" + }, + { + "identification": "urn:uuid:b24aaf46-3674-482f-82a0-55ea5b4fdb69", + "aspectType": "urn:bamm:io.catenax.single_level_bom_as_built:1.0.0#SingleLevelBomAsBuilt", + "payload": { + "catenaXId": "urn:uuid:7a73e310-3e08-47ce-9b3e-cbe59bbbd23d", + "childItems": [ + { + "catenaXId": "urn:uuid:09eb595f-5e15-497a-ab9a-4b1ccef5bbcc", + "quantity": { + "quantityNumber": 0.2014, + "measurementUnit": "unit:kilogram" + }, + "businessPartner": "BPNL00000003AYRE", + "createdOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z" + }, + { + "catenaXId": "urn:uuid:d5b90624-e0cb-4b30-a307-28cf1f73c6c9", + "quantity": { + "quantityNumber": 2.5, + "measurementUnit": "unit:litre" + }, + "businessPartner": "BPNL50096894aNXY", + "createdOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z" + }, + { + "catenaXId": "urn:uuid:eb1de933-0041-4a9b-943f-8d9383c913dc", + "quantity": { + "quantityNumber": 0.2341, + "measurementUnit": "unit:kilogram" + }, + "businessPartner": "BPNL00000003AZQP", + "createdOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z" + } + ] } - } - }, { - "identification" : "c40da0d0-c166-4258-944b-0de6a5366343", - "aspectType" : "urn:bamm:io.catenax.single_level_bom_as_built:1.0.0#SingleLevelBomAsBuilt", - "payload" : { - "catenaXId" : "urn:uuid:dccaccfc-7ad9-4ba0-a609-f9c6381efbde", - "childItems" : [ { - "catenaXId" : "urn:uuid:caa2cbfc-78d4-4027-abb5-0c6a9d988725", - "quantity" : { - "quantityNumber" : 2.5, - "measurementUnit" : "unit:litre" + }, + { + "identification": "urn:uuid:de22f9ec-9382-4b26-bbf8-1a09bb4b7fd6", + "aspectType": "urn:bamm:io.catenax.serial_part:1.0.1#SerialPart", + "payload": { + "localIdentifiers": [ + { + "value": "BPNL00000003B2OM", + "key": "manufacturerId" + }, + { + "value": "1O222E8-43", + "key": "manufacturerPartId" + }, + { + "value": "NO-498194819574934690486419", + "key": "partInstanceId" + } + ], + "manufacturingInformation": { + "date": "2022-02-04T14:48:54", + "country": "DEU" }, - "businessPartner" : "BPNL00000003AYRE", - "createdOn" : "2022-02-03T14:48:54.709Z", - "lastModifiedOn" : "2022-02-03T14:48:54.709Z" - } ] - } - }, { - "identification" : "047512c2-61a6-4305-93b6-cd147c6ef7aa", - "aspectType" : "urn:bamm:io.catenax.serial_part:1.1.0#SerialPart", - "payload" : { - "localIdentifiers" : [ { - "value" : "BPNL00000003CSGV", - "key" : "manufacturerId" - }, { - "value" : "95657362-64", - "key" : "manufacturerPartId" - }, { - "value" : "NO-028230845180023156319594", - "key" : "partInstanceId" - } ], - "manufacturingInformation" : { - "date" : "2022-02-04T14:48:54", - "country" : "DEU" - }, - "catenaXId" : "urn:uuid:dccaccfc-7ad9-4ba0-a609-f9c6381efbde", - "partTypeInformation" : { - "manufacturerPartId" : "33740332-54", - "customerPartId" : "33740332-54", - "classification" : "component", - "nameAtManufacturer" : "Door f-r", - "nameAtCustomer" : "Door front-right" - } - } - }, { - "identification" : "969583ef-4888-4e86-a77c-bc2deb780ee6", - "aspectType" : "urn:bamm:io.catenax.serial_part:1.1.0#SerialPart", - "payload" : { - "localIdentifiers" : [ { - "value" : "BPNL00000000BJTL", - "key" : "manufacturerId" - }, { - "value" : "95657762-59", - "key" : "manufacturerPartId" - }, { - "value" : "NO-970168310280930055024173", - "key" : "partInstanceId" - } ], - "manufacturingInformation" : { - "date" : "2022-02-04T14:48:54", - "country" : "DEU" - }, - "catenaXId" : "urn:uuid:caa2cbfc-78d4-4027-abb5-0c6a9d988725", - "partTypeInformation" : { - "manufacturerPartId" : "95657762-59", - "customerPartId" : "95657762-59", - "classification" : "component", - "nameAtManufacturer" : "Door Key", - "nameAtCustomer" : "Door Key" + "catenaXId": "urn:uuid:7a73e310-3e08-47ce-9b3e-cbe59bbbd23d", + "partTypeInformation": { + "manufacturerPartId": "1O222E8-43", + "customerPartId": "1O222E8-43", + "classification": "component", + "nameAtManufacturer": "Transmission", + "nameAtCustomer": "Transmission" + } } - } - }, { - "identification" : "4a357c81-62cc-4651-adbb-774a0211fe3b", - "aspectType" : "urn:bamm:io.catenax.serial_part:1.1.0#SerialPart", - "payload" : { - "localIdentifiers" : [ { - "value" : "BPNL00000003AYRE", - "key" : "manufacturerId" - }, { - "value" : "08901347-87", - "key" : "manufacturerPartId" - }, { - "value" : "NO-427368652932690326434151", - "key" : "partInstanceId" - } ], - "manufacturingInformation" : { - "date" : "2022-02-04T14:48:54", - "country" : "DEU" - }, - "catenaXId" : "urn:uuid:375141dc-59c7-49ec-a749-42ae1aa1e845", - "partTypeInformation" : { - "manufacturerPartId" : "08901347-87", - "customerPartId" : "08901347-87", - "classification" : "component", - "nameAtManufacturer" : "Rims", - "nameAtCustomer" : "Rims" + }, + { + "identification": "urn:uuid:f7b0e22f-97e2-4c32-a742-59052a0c65ff", + "aspectType": "urn:bamm:io.catenax.single_level_bom_as_built:1.0.0#SingleLevelBomAsBuilt", + "payload": { + "catenaXId": "urn:uuid:a1b9e6d8-f045-4f2d-b9f6-e10370ca596d", + "childItems": [ + { + "catenaXId": "urn:uuid:7f6360cf-26bc-4b52-a6ac-24ca1f4b1633", + "quantity": { + "quantityNumber": 0.3301, + "measurementUnit": "unit:kilogram" + }, + "businessPartner": "BPNL00000003AYRE", + "createdOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z" + }, + { + "catenaXId": "urn:uuid:861fd784-7c99-4a97-8838-6d2881ff1dd5", + "quantity": { + "quantityNumber": 2.5, + "measurementUnit": "unit:litre" + }, + "businessPartner": "BPNL50096894aNXY", + "createdOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z" + }, + { + "catenaXId": "urn:uuid:669ac9ac-af10-494e-8512-a43230da6f7a", + "quantity": { + "quantityNumber": 0.2001, + "measurementUnit": "unit:kilogram" + }, + "businessPartner": "BPNL00000003AZQP", + "createdOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z" + } + ] } - } - }, { - "identification" : "fb40a378-6c01-492f-ad28-de22b2406349", - "aspectType" : "urn:bamm:io.catenax.single_level_bom_as_built:1.0.0#SingleLevelBomAsBuilt", - "payload" : { - "catenaXId" : "urn:uuid:8927c3f1-0f82-4348-9959-6b016b4197d1", - "childItems" : [ { - "catenaXId" : "urn:uuid:d1afb5bc-1598-480d-82f6-85b18edb94a6", - "quantity" : { - "quantityNumber" : "0.2014", - "measurementUnit" : "unit:kilogram" - }, - "businessPartner" : "BPNL00000003AYRE", - "createdOn" : "2022-02-03T14:48:54.709Z", - "lastModifiedOn" : "2022-02-03T14:48:54.709Z" - }, { - "catenaXId" : "urn:uuid:b20bcbf2-4ddc-42bf-8c8e-74c45ab812b4", - "quantity" : { - "quantityNumber" : 2.5, - "measurementUnit" : "unit:litre" + }, + { + "identification": "urn:uuid:7c2d54dc-262f-4755-8f5c-fe64bbe5ad93", + "aspectType": "urn:bamm:io.catenax.serial_part:1.0.1#SerialPart", + "payload": { + "localIdentifiers": [ + { + "value": "BPNL00000003B5MJ", + "key": "manufacturerId" + }, + { + "value": "78550L3-80", + "key": "manufacturerPartId" + }, + { + "value": "NO-324912726283969195017097", + "key": "partInstanceId" + } + ], + "manufacturingInformation": { + "date": "2022-02-04T14:48:54", + "country": "DEU" }, - "businessPartner" : "BPNL50096894aNXY", - "createdOn" : "2022-02-03T14:48:54.709Z", - "lastModifiedOn" : "2022-02-03T14:48:54.709Z" - }, { - "catenaXId" : "urn:uuid:aa4f0ad4-b6e0-4bc8-831d-a74bffd40a85", - "quantity" : { - "quantityNumber" : "0.2341", - "measurementUnit" : "unit:kilogram" - }, - "businessPartner" : "BPNL00000003AZQP", - "createdOn" : "2022-02-03T14:48:54.709Z", - "lastModifiedOn" : "2022-02-03T14:48:54.709Z" - } ] - } - }, { - "identification" : "6ab096ee-b52e-47ca-a305-411d1f8c6b12", - "aspectType" : "urn:bamm:io.catenax.serial_part:1.1.0#SerialPart", - "payload" : { - "localIdentifiers" : [ { - "value" : "BPNL00000003B2OM", - "key" : "manufacturerId" - }, { - "value" : "1O222E8-43", - "key" : "manufacturerPartId" - }, { - "value" : "NO-896197450980683869635574", - "key" : "partInstanceId" - } ], - "manufacturingInformation" : { - "date" : "2022-02-04T14:48:54", - "country" : "DEU" - }, - "catenaXId" : "urn:uuid:8927c3f1-0f82-4348-9959-6b016b4197d1", - "partTypeInformation" : { - "manufacturerPartId" : "1O222E8-43", - "customerPartId" : "1O222E8-43", - "classification" : "component", - "nameAtManufacturer" : "Transmission", - "nameAtCustomer" : "Transmission" + "catenaXId": "urn:uuid:a1b9e6d8-f045-4f2d-b9f6-e10370ca596d", + "partTypeInformation": { + "manufacturerPartId": "78550L3-80", + "customerPartId": "78550L3-80", + "classification": "component", + "nameAtManufacturer": "ECU", + "nameAtCustomer": "ECU" + } } - } - }, { - "identification" : "239f9980-ce8f-4749-8a5d-1104ddd415cd", - "aspectType" : "urn:bamm:io.catenax.batch:1.0.0#Batch", - "payload" : { - "localIdentifiers" : [ { - "value" : "BPNL00000003B0Q0", - "key" : "manufacturerId" - }, { - "value" : "56518J8-95", - "key" : "manufacturerPartId" - }, { - "value" : "NO-946446088498237434155222", - "key" : "partInstanceId" - } ], - "manufacturingInformation" : { - "date" : "2022-02-04T14:48:54", - "country" : "DEU" - }, - "catenaXId" : "urn:uuid:d1afb5bc-1598-480d-82f6-85b18edb94a6", - "partTypeInformation" : { - "manufacturerPartId" : "56518J8-95", - "customerPartId" : "56518J8-95", - "classification" : "component", - "nameAtManufacturer" : "Engineering Plastics", - "nameAtCustomer" : "Engineering Plastics" - } - } - }, { - "identification" : "fb628c0e-3ab9-464d-9c40-f45ec43dc787", - "aspectType" : "urn:bamm:io.catenax.single_level_bom_as_built:1.0.0#SingleLevelBomAsBuilt", - "payload" : { - "catenaXId" : "urn:uuid:aa4f0ad4-b6e0-4bc8-831d-a74bffd40a85", - "childItems" : [ ] - } - }, { - "identification" : "bfa8ba2f-ceb6-4350-bbad-606dac1da0d4", - "aspectType" : "urn:bamm:io.catenax.batch:1.0.0#Batch", - "payload" : { - "localIdentifiers" : [ { - "value" : "BPNL00000003AXS3", - "key" : "manufacturerId" - }, { - "value" : "72281N7-18", - "key" : "manufacturerPartId" - }, { - "value" : "NO-080998520356748138462028", - "key" : "partInstanceId" - } ], - "manufacturingInformation" : { - "date" : "2022-02-04T14:48:54", - "country" : "DEU" - }, - "catenaXId" : "urn:uuid:aa4f0ad4-b6e0-4bc8-831d-a74bffd40a85", - "partTypeInformation" : { - "manufacturerPartId" : "72281N7-18", - "customerPartId" : "72281N7-18", - "classification" : "component", - "nameAtManufacturer" : "Glue", - "nameAtCustomer" : "Glue" + }, + { + "identification": "urn:uuid:981885f6-37a1-49bb-98b3-8f4126474102", + "aspectType": "urn:bamm:io.catenax.batch:2.0.0#Batch", + "payload": { + "localIdentifiers": [ + { + "value": "BPNL00000003B0Q0", + "key": "manufacturerId" + }, + { + "value": "26216I9-63", + "key": "manufacturerPartId" + }, + { + "value": "NO-753625884614624023167529", + "key": "partInstanceId" + } + ], + "manufacturingInformation": { + "date": "2022-02-04T14:48:54", + "country": "DEU" + }, + "catenaXId": "urn:uuid:09eb595f-5e15-497a-ab9a-4b1ccef5bbcc", + "partTypeInformation": { + "manufacturerPartId": "26216I9-63", + "classification": "component", + "nameAtManufacturer": "Engineering Plastics" + } } - } - }, { - "identification" : "e285c0f0-fc01-4d44-af13-829e8ccf27a4", - "aspectType" : "urn:bamm:io.catenax.single_level_bom_as_built:1.0.0#SingleLevelBomAsBuilt", - "payload" : { - "catenaXId" : "urn:uuid:b20bcbf2-4ddc-42bf-8c8e-74c45ab812b4", - "childItems" : [ { - "catenaXId" : "urn:uuid:58581530-42c8-4d04-83e9-50cce45af230", - "quantity" : { - "quantityNumber" : "0.1908", - "measurementUnit" : "unit:kilogram" + }, + { + "identification": "urn:uuid:b679f542-a03b-4647-a0bd-398ce44f3c94", + "aspectType": "urn:bamm:io.catenax.batch:2.0.0#Batch", + "payload": { + "localIdentifiers": [ + { + "value": "BPNL00000003AXS3", + "key": "manufacturerId" + }, + { + "value": "81784C6-15", + "key": "manufacturerPartId" + }, + { + "value": "NO-596074067737114365409594", + "key": "partInstanceId" + } + ], + "manufacturingInformation": { + "date": "2022-02-04T14:48:54", + "country": "DEU" }, - "businessPartner" : "BPNL00000003AYRE", - "createdOn" : "2022-02-03T14:48:54.709Z", - "lastModifiedOn" : "2022-02-03T14:48:54.709Z" - } ] - } - }, { - "identification" : "321ecbdf-57e0-4494-ad13-860ca114f424", - "aspectType" : "urn:bamm:io.catenax.serial_part:1.1.0#SerialPart", - "payload" : { - "localIdentifiers" : [ { - "value" : "BPNL00000003B3NX", - "key" : "manufacturerId" - }, { - "value" : "05187P9-07", - "key" : "manufacturerPartId" - }, { - "value" : "NO-317802745000647309478795", - "key" : "partInstanceId" - } ], - "manufacturingInformation" : { - "date" : "2022-02-04T14:48:54", - "country" : "DEU" - }, - "catenaXId" : "urn:uuid:b20bcbf2-4ddc-42bf-8c8e-74c45ab812b4", - "partTypeInformation" : { - "manufacturerPartId" : "05187P9-07", - "customerPartId" : "05187P9-07", - "classification" : "component", - "nameAtManufacturer" : "Sensor", - "nameAtCustomer" : "Sensor" + "catenaXId": "urn:uuid:7f6360cf-26bc-4b52-a6ac-24ca1f4b1633", + "partTypeInformation": { + "manufacturerPartId": "81784C6-15", + "classification": "component", + "nameAtManufacturer": "Glue" + } } - } - }, { - "identification" : "eeafb354-ff64-4ef0-b7a2-96d6b1501c70", - "aspectType" : "urn:bamm:io.catenax.batch:1.0.0#Batch", - "payload" : { - "localIdentifiers" : [ { - "value" : "BPNL00000003B0Q0", - "key" : "manufacturerId" - }, { - "value" : "59081N1-45", - "key" : "manufacturerPartId" - }, { - "value" : "NO-419210167823567427641104", - "key" : "partInstanceId" - } ], - "manufacturingInformation" : { - "date" : "2022-02-04T14:48:54", - "country" : "DEU" - }, - "catenaXId" : "urn:uuid:58581530-42c8-4d04-83e9-50cce45af230", - "partTypeInformation" : { - "manufacturerPartId" : "59081N1-45", - "customerPartId" : "59081N1-45", - "classification" : "component", - "nameAtManufacturer" : "NTIER Product", - "nameAtCustomer" : "NTIER Product" + }, + { + "identification": "urn:uuid:b8d2219f-40c1-4b20-920a-bd5bc17ea291", + "aspectType": "urn:bamm:io.catenax.serial_part:1.0.1#SerialPart", + "payload": { + "localIdentifiers": [ + { + "value": "BPNL00000003B0Q0", + "key": "manufacturerId" + }, + { + "value": "60567B5-52", + "key": "manufacturerPartId" + }, + { + "value": "NO-908050628702433386764235", + "key": "partInstanceId" + } + ], + "manufacturingInformation": { + "date": "2022-02-04T14:48:54", + "country": "DEU" + }, + "catenaXId": "urn:uuid:669ac9ac-af10-494e-8512-a43230da6f7a", + "partTypeInformation": { + "manufacturerPartId": "60567B5-52", + "customerPartId": "60567B5-52", + "classification": "component", + "nameAtManufacturer": "Engineering Plastics", + "nameAtCustomer": "Engineering Plastics" + } } - } - }, { - "identification" : "b621c955-5a55-438a-a1a5-a1f617d1581a", - "aspectType" : "urn:bamm:io.catenax.serial_part:1.1.0#SerialPart", - "payload" : { - "localIdentifiers" : [ { - "value" : "BPNL00000003AYRE", - "key" : "manufacturerId" - }, { - "value" : "73849201-61", - "key" : "manufacturerPartId" - }, { - "value" : "NO-892935841444151059838697", - "key" : "partInstanceId" - } ], - "manufacturingInformation" : { - "date" : "2022-02-04T14:48:54", - "country" : "DEU" - }, - "catenaXId" : "urn:uuid:84dd6bf5-3ddb-4611-bd5f-cf653740ad6b", - "partTypeInformation" : { - "manufacturerPartId" : "73849201-61", - "customerPartId" : "73849201-61", - "classification" : "component", - "nameAtManufacturer" : "Catalysator", - "nameAtCustomer" : "Catalysator" + }, + { + "identification": "urn:uuid:ac73aafd-1da5-4458-9527-cafeeb9db9ea", + "aspectType": "urn:bamm:io.catenax.single_level_bom_as_built:1.0.0#SingleLevelBomAsBuilt", + "payload": { + "catenaXId": "urn:uuid:d5b90624-e0cb-4b30-a307-28cf1f73c6c9", + "childItems": [ + { + "catenaXId": "urn:uuid:a2f52182-a9eb-414d-a3ab-35e9724fc75b", + "quantity": { + "quantityNumber": 0.1908, + "measurementUnit": "unit:kilogram" + }, + "businessPartner": "BPNL00000003AYRE", + "createdOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z" + } + ] } - } - }, { - "identification" : "fdff7f8f-e427-405d-8e35-3934baca4432", - "aspectType" : "urn:bamm:io.catenax.serial_part:1.1.0#SerialPart", - "payload" : { - "localIdentifiers" : [ { - "value" : "BPNL00000003AYRE", - "key" : "manufacturerId" - }, { - "value" : "28673126-98", - "key" : "manufacturerPartId" - }, { - "value" : "NO-692776958453402778826315", - "key" : "partInstanceId" - } ], - "manufacturingInformation" : { - "date" : "2022-02-04T14:48:54", - "country" : "DEU" - }, - "catenaXId" : "urn:uuid:9e13e5ae-8c21-4a11-a62b-b62061344f01", - "partTypeInformation" : { - "manufacturerPartId" : "28673126-98", - "customerPartId" : "28673126-98", - "classification" : "component", - "nameAtManufacturer" : "Door r-r", - "nameAtCustomer" : "Door rear-right" + }, + { + "identification": "urn:uuid:a15dc81f-2059-400b-9107-56baf119a3b0", + "aspectType": "urn:bamm:io.catenax.serial_part:1.0.1#SerialPart", + "payload": { + "localIdentifiers": [ + { + "value": "BPNL00000003B3NX", + "key": "manufacturerId" + }, + { + "value": "49582R5-78", + "key": "manufacturerPartId" + }, + { + "value": "NO-085164107964776204903879", + "key": "partInstanceId" + } + ], + "manufacturingInformation": { + "date": "2022-02-04T14:48:54", + "country": "DEU" + }, + "catenaXId": "urn:uuid:d5b90624-e0cb-4b30-a307-28cf1f73c6c9", + "partTypeInformation": { + "manufacturerPartId": "49582R5-78", + "customerPartId": "49582R5-78", + "classification": "component", + "nameAtManufacturer": "Sensor", + "nameAtCustomer": "Sensor" + } } - } - }, { - "identification" : "5011f28c-bebd-4183-868d-de48faef45b4", - "aspectType" : "urn:bamm:io.catenax.serial_part:1.1.0#SerialPart", - "payload" : { - "localIdentifiers" : [ { - "value" : "BPNL00000003AYRE", - "key" : "manufacturerId" - }, { - "value" : "67034319-44", - "key" : "manufacturerPartId" - }, { - "value" : "NO-634801327946719025902456", - "key" : "partInstanceId" - } ], - "manufacturingInformation" : { - "date" : "2022-02-04T14:48:54", - "country" : "DEU" - }, - "catenaXId" : "urn:uuid:07e6ae01-845f-4202-9e82-74e87fd30ff4", - "partTypeInformation" : { - "manufacturerPartId" : "67034319-44", - "customerPartId" : "67034319-44", - "classification" : "component", - "nameAtManufacturer" : "Turbocharger", - "nameAtCustomer" : "Turbocharger" + }, + { + "identification": "urn:uuid:8f152845-8315-445e-b27b-e9eadc65d8d7", + "aspectType": "urn:bamm:io.catenax.serial_part:1.0.1#SerialPart", + "payload": { + "localIdentifiers": [ + { + "value": "BPNL00000003B3NX", + "key": "manufacturerId" + }, + { + "value": "09753G7-00", + "key": "manufacturerPartId" + }, + { + "value": "NO-194130929678803630186272", + "key": "partInstanceId" + } + ], + "manufacturingInformation": { + "date": "2022-02-04T14:48:54", + "country": "DEU" + }, + "catenaXId": "urn:uuid:861fd784-7c99-4a97-8838-6d2881ff1dd5", + "partTypeInformation": { + "manufacturerPartId": "09753G7-00", + "customerPartId": "09753G7-00", + "classification": "component", + "nameAtManufacturer": "Sensor", + "nameAtCustomer": "Sensor" + } } - } - }, { - "identification" : "40ba6aba-579d-4861-be2a-a5929d0cd386", - "aspectType" : "urn:bamm:io.catenax.serial_part:1.1.0#SerialPart", - "payload" : { - "localIdentifiers" : [ { - "value" : "BPNL00000003AYRE", - "key" : "manufacturerId" - }, { - "value" : "43501996-98", - "key" : "manufacturerPartId" - }, { - "value" : "NO-028297905344741133505841", - "key" : "partInstanceId" - } ], - "manufacturingInformation" : { - "date" : "2022-02-04T14:48:54", - "country" : "DEU" - }, - "catenaXId" : "urn:uuid:f8e17239-dc39-482b-b7ff-bee6edf99ef9", - "partTypeInformation" : { - "manufacturerPartId" : "43501996-98", - "customerPartId" : "43501996-98", - "classification" : "component", - "nameAtManufacturer" : "Dashboard", - "nameAtCustomer" : "Dashboard" + }, + { + "identification": "urn:uuid:c2182b20-eab1-474f-82bc-833a6089792d", + "aspectType": "urn:bamm:io.catenax.single_level_bom_as_built:1.0.0#SingleLevelBomAsBuilt", + "payload": { + "catenaXId": "urn:uuid:861fd784-7c99-4a97-8838-6d2881ff1dd5", + "childItems": [ + { + "catenaXId": "urn:uuid:8b808b9d-6e56-4a16-b523-95ee1596d97d", + "quantity": { + "quantityNumber": "0.1908", + "measurementUnit": "unit:kilogram" + }, + "businessPartner": "BPNL00000003AYRE", + "createdOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z" + } + ] } - } - }, { - "identification" : "7ae940e4-8c11-4f33-b4bb-90bfb20b9216", - "aspectType" : "urn:bamm:io.catenax.serial_part:1.1.0#SerialPart", - "payload" : { - "localIdentifiers" : [ { - "value" : "BPNL00000003AYRE", - "key" : "manufacturerId" - }, { - "value" : "20125432-59", - "key" : "manufacturerPartId" - }, { - "value" : "NO-037027861763696930207747", - "key" : "partInstanceId" - } ], - "manufacturingInformation" : { - "date" : "2022-02-04T14:48:54", - "country" : "DEU" - }, - "catenaXId" : "urn:uuid:943c9ba4-646d-45b9-b27e-3ab3aab021f2", - "partTypeInformation" : { - "manufacturerPartId" : "20125432-59", - "customerPartId" : "20125432-59", - "classification" : "component", - "nameAtManufacturer" : "Indicator left", - "nameAtCustomer" : "Indicator left" + }, + { + "identification": "urn:uuid:82403137-a9c6-4873-85d4-1406c13bc40d", + "aspectType": "urn:bamm:io.catenax.batch:2.0.0#Batch", + "payload": { + "localIdentifiers": [ + { + "value": "BPNL00000003AXS3", + "key": "manufacturerId" + }, + { + "value": "97693D1-94", + "key": "manufacturerPartId" + }, + { + "value": "NO-371404927205832719665612", + "key": "partInstanceId" + } + ], + "manufacturingInformation": { + "date": "2022-02-04T14:48:54", + "country": "DEU" + }, + "catenaXId": "urn:uuid:eb1de933-0041-4a9b-943f-8d9383c913dc", + "partTypeInformation": { + "manufacturerPartId": "97693D1-94", + "classification": "component", + "nameAtManufacturer": "Glue" + } } - } - }, { - "identification" : "0343d5dc-abd3-4d35-bbcb-e211bfc9eb2d", - "aspectType" : "urn:bamm:io.catenax.serial_part:1.1.0#SerialPart", - "payload" : { - "localIdentifiers" : [ { - "value" : "BPNL00000003AYRE", - "key" : "manufacturerId" - }, { - "value" : "57929013-09", - "key" : "manufacturerPartId" - }, { - "value" : "NO-541512631048833979494510", - "key" : "partInstanceId" - } ], - "manufacturingInformation" : { - "date" : "2022-02-04T14:48:54", - "country" : "DEU" - }, - "catenaXId" : "urn:uuid:844d7dfe-85e1-4f49-8bce-905e046d2b5f", - "partTypeInformation" : { - "manufacturerPartId" : "57929013-09", - "customerPartId" : "57929013-09", - "classification" : "component", - "nameAtManufacturer" : "AC compressor", - "nameAtCustomer" : "Air conditioning compressor" + }, + { + "identification": "urn:uuid:21c7e89c-657f-4e27-b059-1aae4b3c0b9d", + "aspectType": "urn:bamm:io.catenax.single_level_bom_as_built:1.0.0#SingleLevelBomAsBuilt", + "payload": { + "catenaXId": "urn:uuid:eb1de933-0041-4a9b-943f-8d9383c913dc", + "childItems": [] } - } - }, { - "identification" : "26b56e61-1479-4784-b158-675e29cc6e74", - "aspectType" : "urn:bamm:io.catenax.serial_part:1.1.0#SerialPart", - "payload" : { - "localIdentifiers" : [ { - "value" : "BPNL00000003AYRE", - "key" : "manufacturerId" - }, { - "value" : "12093297-03", - "key" : "manufacturerPartId" - }, { - "value" : "NO-135164790446759374706749", - "key" : "partInstanceId" - } ], - "manufacturingInformation" : { - "date" : "2022-02-04T14:48:54", - "country" : "DEU" - }, - "catenaXId" : "urn:uuid:23ad49b1-616b-438f-b240-96c6d6e0f097", - "partTypeInformation" : { - "manufacturerPartId" : "12093297-03", - "customerPartId" : "12093297-03", - "classification" : "component", - "nameAtManufacturer" : "Axle part front", - "nameAtCustomer" : "Axle part front" + }, + { + "identification": "urn:uuid:7c6520d2-adf9-44d0-8493-3d23464707a3", + "aspectType": "urn:bamm:io.catenax.batch:2.0.0#Batch", + "payload": { + "localIdentifiers": [ + { + "value": "BPNL00000003B0Q0", + "key": "manufacturerId" + }, + { + "value": "31406R6-35", + "key": "manufacturerPartId" + }, + { + "value": "NO-898763006415875125720260", + "key": "partInstanceId" + } + ], + "manufacturingInformation": { + "date": "2022-02-04T14:48:54", + "country": "DEU" + }, + "catenaXId": "urn:uuid:a2f52182-a9eb-414d-a3ab-35e9724fc75b", + "partTypeInformation": { + "manufacturerPartId": "31406R6-35", + "classification": "component", + "nameAtManufacturer": "NTIER Product" + } } - } - }, { - "identification" : "76af679c-ce41-4820-95fa-ee264e7e4032", - "aspectType" : "urn:bamm:io.catenax.serial_part:1.1.0#SerialPart", - "payload" : { - "localIdentifiers" : [ { - "value" : "BPNL00000003AYRE", - "key" : "manufacturerId" - }, { - "value" : "78744126-74", - "key" : "manufacturerPartId" - }, { - "value" : "NO-967352702107731412244021", - "key" : "partInstanceId" - } ], - "manufacturingInformation" : { - "date" : "2022-02-04T14:48:54", - "country" : "DEU" - }, - "catenaXId" : "urn:uuid:4e2ef7db-6843-4407-9ce1-e4355dbcc4f3", - "partTypeInformation" : { - "manufacturerPartId" : "78744126-74", - "customerPartId" : "78744126-74", - "classification" : "component", - "nameAtManufacturer" : "Taillight front", - "nameAtCustomer" : "Taillight front" + }, + { + "identification": "urn:uuid:d4e44977-68ef-431d-926d-1177986740e7", + "aspectType": "urn:bamm:io.catenax.batch:2.0.0#Batch", + "payload": { + "localIdentifiers": [ + { + "value": "BPNL00000003B0Q0", + "key": "manufacturerId" + }, + { + "value": "31265Z7-32", + "key": "manufacturerPartId" + }, + { + "value": "NO-909895104540401782916139", + "key": "partInstanceId" + } + ], + "manufacturingInformation": { + "date": "2022-02-04T14:48:54", + "country": "DEU" + }, + "catenaXId": "urn:uuid:8b808b9d-6e56-4a16-b523-95ee1596d97d", + "partTypeInformation": { + "manufacturerPartId": "31265Z7-32", + "classification": "component", + "nameAtManufacturer": "Engineering Plastics" + } } } - } ] + ] } \ No newline at end of file diff --git a/irs-cucumber-tests/src/test/resources/expected-files/TRI-821-expected-relationships.json b/irs-cucumber-tests/src/test/resources/expected-files/TRI-821-expected-relationships.json index b3fc88a183..5d0115e436 100644 --- a/irs-cucumber-tests/src/test/resources/expected-files/TRI-821-expected-relationships.json +++ b/irs-cucumber-tests/src/test/resources/expected-files/TRI-821-expected-relationships.json @@ -1,211 +1,208 @@ { - "relationships" : [ { - "catenaXId" : "urn:uuid:0733946c-59c6-41ae-9570-cb43a6e4c79e", - "linkedItem" : { - "quantity" : { - "quantityNumber" : 1.0, - "measurementUnit" : { - "datatypeURI" : null, - "lexicalValue" : "unit:litre" - } + "relationships" : [ + { + "catenaXId": "urn:uuid:0733946c-59c6-41ae-9570-cb43a6e4c79e", + "linkedItem": { + "quantity": { + "quantityNumber": 1.0, + "measurementUnit": { + "datatypeURI": null, + "lexicalValue": "unit:litre" + } + }, + "lifecycleContext": "asPlanned", + "assembledOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z", + "childCatenaXId": "urn:uuid:aad27ddb-43aa-4e42-98c2-01e529ef127c" }, - "lifecycleContext" : "asPlanned", - "assembledOn" : "2022-02-03T14:48:54.709Z", - "lastModifiedOn" : "2022-02-03T14:48:54.709Z", - "childCatenaXId" : "urn:uuid:aad27ddb-43aa-4e42-98c2-01e529ef127c" + "aspectType": "SingleLevelBomAsPlanned" }, - "aspectType" : "SingleLevelBomAsPlanned" - }, { - "catenaXId" : "urn:uuid:0733946c-59c6-41ae-9570-cb43a6e4c79e", - "linkedItem" : { - "quantity" : { - "quantityNumber" : 1.0, - "measurementUnit" : { - "datatypeURI" : null, - "lexicalValue" : "unit:litre" - } + { + "catenaXId": "urn:uuid:0733946c-59c6-41ae-9570-cb43a6e4c79e", + "linkedItem": { + "quantity": { + "quantityNumber": 1.0, + "measurementUnit": { + "datatypeURI": null, + "lexicalValue": "unit:litre" + } + }, + "lifecycleContext": "asPlanned", + "assembledOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z", + "childCatenaXId": "urn:uuid:07cb071f-8716-45fe-89f1-f2f77a1ce93b" }, - "lifecycleContext" : "asPlanned", - "assembledOn" : "2022-02-03T14:48:54.709Z", - "lastModifiedOn" : "2022-02-03T14:48:54.709Z", - "childCatenaXId" : "urn:uuid:07cb071f-8716-45fe-89f1-f2f77a1ce93b" + "aspectType": "SingleLevelBomAsPlanned" }, - "aspectType" : "SingleLevelBomAsPlanned" - }, { - "catenaXId" : "urn:uuid:0733946c-59c6-41ae-9570-cb43a6e4c79e", - "linkedItem" : { - "quantity" : { - "quantityNumber" : 1.0, - "measurementUnit" : { - "datatypeURI" : null, - "lexicalValue" : "unit:litre" - } + { + "catenaXId": "urn:uuid:0733946c-59c6-41ae-9570-cb43a6e4c79e", + "linkedItem": { + "quantity": { + "quantityNumber": 1.0, + "measurementUnit": { + "datatypeURI": null, + "lexicalValue": "unit:litre" + } + }, + "lifecycleContext": "asPlanned", + "assembledOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z", + "childCatenaXId": "urn:uuid:2c57b0e9-a653-411d-bdcd-64787e9fd3a7" }, - "lifecycleContext" : "asPlanned", - "assembledOn" : "2022-02-03T14:48:54.709Z", - "lastModifiedOn" : "2022-02-03T14:48:54.709Z", - "childCatenaXId" : "urn:uuid:2c57b0e9-a653-411d-bdcd-64787e9fd3a7" + "aspectType": "SingleLevelBomAsPlanned" }, - "aspectType" : "SingleLevelBomAsPlanned" - }, { - "catenaXId" : "urn:uuid:aad27ddb-43aa-4e42-98c2-01e529ef127c", - "linkedItem" : { - "quantity" : { - "quantityNumber" : 6.0, - "measurementUnit" : { - "datatypeURI" : null, - "lexicalValue" : "unit:litre" - } + { + "catenaXId": "urn:uuid:2c57b0e9-a653-411d-bdcd-64787e9fd3a7", + "linkedItem": { + "quantity": { + "quantityNumber": 1.0, + "measurementUnit": { + "datatypeURI": null, + "lexicalValue": "unit:litre" + } + }, + "lifecycleContext": "asPlanned", + "assembledOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z", + "childCatenaXId": "urn:uuid:4518c080-14fb-4252-b8de-4362d615868d" }, - "lifecycleContext" : "asPlanned", - "assembledOn" : "2022-02-03T14:48:54.709Z", - "lastModifiedOn" : "2022-02-03T14:48:54.709Z", - "childCatenaXId" : "urn:uuid:e5c96ab5-896a-482c-8761-efd74777ca97" + "aspectType": "SingleLevelBomAsPlanned" }, - "aspectType" : "SingleLevelBomAsPlanned" - }, { - "catenaXId" : "urn:uuid:e5c96ab5-896a-482c-8761-efd74777ca97", - "linkedItem" : { - "quantity" : { - "quantityNumber" : 10.0, - "measurementUnit" : { - "datatypeURI" : null, - "lexicalValue" : "unit:litre" - } + { + "catenaXId": "urn:uuid:2c57b0e9-a653-411d-bdcd-64787e9fd3a7", + "linkedItem": { + "quantity": { + "quantityNumber": 1.0, + "measurementUnit": { + "datatypeURI": null, + "lexicalValue": "unit:litre" + } + }, + "lifecycleContext": "asPlanned", + "assembledOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z", + "childCatenaXId": "urn:uuid:bee5614f-9e46-4c98-9209-61a6f2b2a7fc" }, - "lifecycleContext" : "asPlanned", - "assembledOn" : "2022-02-03T14:48:54.709Z", - "lastModifiedOn" : "2022-02-03T14:48:54.709Z", - "childCatenaXId" : "urn:uuid:c7a2b803-f8fe-4b79-b6fc-967ce847c9a9" + "aspectType": "SingleLevelBomAsPlanned" }, - "aspectType" : "SingleLevelBomAsPlanned" - }, { - "catenaXId" : "urn:uuid:e5c96ab5-896a-482c-8761-efd74777ca97", - "linkedItem" : { - "quantity" : { - "quantityNumber" : 0.11, - "measurementUnit" : { - "datatypeURI" : null, - "lexicalValue" : "unit:kilogram" - } + { + "catenaXId": "urn:uuid:aad27ddb-43aa-4e42-98c2-01e529ef127c", + "linkedItem": { + "quantity": { + "quantityNumber": 6.0, + "measurementUnit": { + "datatypeURI": null, + "lexicalValue": "unit:litre" + } + }, + "lifecycleContext": "asPlanned", + "assembledOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z", + "childCatenaXId": "urn:uuid:e5c96ab5-896a-482c-8761-efd74777ca97" }, - "lifecycleContext" : "asPlanned", - "assembledOn" : "2022-02-03T14:48:54.709Z", - "lastModifiedOn" : "2022-02-03T14:48:54.709Z", - "childCatenaXId" : "urn:uuid:15d2fcc8-6439-4d1e-904b-e62b4d3bf323" + "aspectType": "SingleLevelBomAsPlanned" }, - "aspectType" : "SingleLevelBomAsPlanned" - }, { - "catenaXId" : "urn:uuid:c7a2b803-f8fe-4b79-b6fc-967ce847c9a9", - "linkedItem" : { - "quantity" : { - "quantityNumber" : 1.0, - "measurementUnit" : { - "datatypeURI" : null, - "lexicalValue" : "unit:litre" - } + { + "catenaXId": "urn:uuid:07cb071f-8716-45fe-89f1-f2f77a1ce93b", + "linkedItem": { + "quantity": { + "quantityNumber": 0.3301, + "measurementUnit": { + "datatypeURI": null, + "lexicalValue": "unit:kilogram" + } + }, + "lifecycleContext": "asPlanned", + "assembledOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z", + "childCatenaXId": "urn:uuid:3cdd2826-5df0-4c7b-b540-9eeccecb2301" }, - "lifecycleContext" : "asPlanned", - "assembledOn" : "2022-02-03T14:48:54.709Z", - "lastModifiedOn" : "2022-02-03T14:48:54.709Z", - "childCatenaXId" : "urn:uuid:4f7b1cf2-a598-4027-bc78-63f6d8e55699" + "aspectType": "SingleLevelBomAsPlanned" }, - "aspectType" : "SingleLevelBomAsPlanned" - }, { - "catenaXId" : "urn:uuid:07cb071f-8716-45fe-89f1-f2f77a1ce93b", - "linkedItem" : { - "quantity" : { - "quantityNumber" : 0.3301, - "measurementUnit" : { - "datatypeURI" : null, - "lexicalValue" : "unit:kilogram" - } + { + "catenaXId": "urn:uuid:07cb071f-8716-45fe-89f1-f2f77a1ce93b", + "linkedItem": { + "quantity": { + "quantityNumber": 1.0, + "measurementUnit": { + "datatypeURI": null, + "lexicalValue": "unit:litre" + } + }, + "lifecycleContext": "asPlanned", + "assembledOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z", + "childCatenaXId": "urn:uuid:bee5614f-9e46-4c98-9209-61a6f2b2a7fc" }, - "lifecycleContext" : "asPlanned", - "assembledOn" : "2022-02-03T14:48:54.709Z", - "lastModifiedOn" : "2022-02-03T14:48:54.709Z", - "childCatenaXId" : "urn:uuid:3cdd2826-5df0-4c7b-b540-9eeccecb2301" + "aspectType": "SingleLevelBomAsPlanned" }, - "aspectType" : "SingleLevelBomAsPlanned" - }, { - "catenaXId" : "urn:uuid:07cb071f-8716-45fe-89f1-f2f77a1ce93b", - "linkedItem" : { - "quantity" : { - "quantityNumber" : 1.0, - "measurementUnit" : { - "datatypeURI" : null, - "lexicalValue" : "unit:litre" - } + { + "catenaXId": "urn:uuid:e5c96ab5-896a-482c-8761-efd74777ca97", + "linkedItem": { + "quantity": { + "quantityNumber": 10.0, + "measurementUnit": { + "datatypeURI": null, + "lexicalValue": "unit:litre" + } + }, + "lifecycleContext": "asPlanned", + "assembledOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z", + "childCatenaXId": "urn:uuid:c7a2b803-f8fe-4b79-b6fc-967ce847c9a9" }, - "lifecycleContext" : "asPlanned", - "assembledOn" : "2022-02-03T14:48:54.709Z", - "lastModifiedOn" : "2022-02-03T14:48:54.709Z", - "childCatenaXId" : "urn:uuid:bee5614f-9e46-4c98-9209-61a6f2b2a7fc" + "aspectType": "SingleLevelBomAsPlanned" }, - "aspectType" : "SingleLevelBomAsPlanned" - }, { - "catenaXId" : "urn:uuid:bee5614f-9e46-4c98-9209-61a6f2b2a7fc", - "linkedItem" : { - "quantity" : { - "quantityNumber" : 1.0, - "measurementUnit" : { - "datatypeURI" : null, - "lexicalValue" : "unit:litre" - } + { + "catenaXId": "urn:uuid:e5c96ab5-896a-482c-8761-efd74777ca97", + "linkedItem": { + "quantity": { + "quantityNumber": 0.11, + "measurementUnit": { + "datatypeURI": null, + "lexicalValue": "unit:kilogram" + } + }, + "lifecycleContext": "asPlanned", + "assembledOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z", + "childCatenaXId": "urn:uuid:15d2fcc8-6439-4d1e-904b-e62b4d3bf323" }, - "lifecycleContext" : "asPlanned", - "assembledOn" : "2022-02-03T14:48:54.709Z", - "lastModifiedOn" : "2022-02-03T14:48:54.709Z", - "childCatenaXId" : "urn:uuid:86f69643-3b90-4e34-90bf-789edcf40e7e" + "aspectType": "SingleLevelBomAsPlanned" }, - "aspectType" : "SingleLevelBomAsPlanned" - }, { - "catenaXId" : "urn:uuid:2c57b0e9-a653-411d-bdcd-64787e9fd3a7", - "linkedItem" : { - "quantity" : { - "quantityNumber" : 1.0, - "measurementUnit" : { - "datatypeURI" : null, - "lexicalValue" : "unit:litre" - } + { + "catenaXId": "urn:uuid:bee5614f-9e46-4c98-9209-61a6f2b2a7fc", + "linkedItem": { + "quantity": { + "quantityNumber": 1.0, + "measurementUnit": { + "datatypeURI": null, + "lexicalValue": "unit:litre" + } + }, + "lifecycleContext": "asPlanned", + "assembledOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z", + "childCatenaXId": "urn:uuid:86f69643-3b90-4e34-90bf-789edcf40e7e" }, - "lifecycleContext" : "asPlanned", - "assembledOn" : "2022-02-03T14:48:54.709Z", - "lastModifiedOn" : "2022-02-03T14:48:54.709Z", - "childCatenaXId" : "urn:uuid:4518c080-14fb-4252-b8de-4362d615868d" + "aspectType": "SingleLevelBomAsPlanned" }, - "aspectType" : "SingleLevelBomAsPlanned" - }, { - "catenaXId" : "urn:uuid:2c57b0e9-a653-411d-bdcd-64787e9fd3a7", - "linkedItem" : { - "quantity" : { - "quantityNumber" : 1.0, - "measurementUnit" : { - "datatypeURI" : null, - "lexicalValue" : "unit:litre" - } + { + "catenaXId": "urn:uuid:c7a2b803-f8fe-4b79-b6fc-967ce847c9a9", + "linkedItem": { + "quantity": { + "quantityNumber": 1.0, + "measurementUnit": { + "datatypeURI": null, + "lexicalValue": "unit:litre" + } + }, + "lifecycleContext": "asPlanned", + "assembledOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z", + "childCatenaXId": "urn:uuid:4f7b1cf2-a598-4027-bc78-63f6d8e55699" }, - "lifecycleContext" : "asPlanned", - "assembledOn" : "2022-02-03T14:48:54.709Z", - "lastModifiedOn" : "2022-02-03T14:48:54.709Z", - "childCatenaXId" : "urn:uuid:bee5614f-9e46-4c98-9209-61a6f2b2a7fc" - }, - "aspectType" : "SingleLevelBomAsPlanned" - }, { - "catenaXId" : "urn:uuid:bee5614f-9e46-4c98-9209-61a6f2b2a7fc", - "linkedItem" : { - "quantity" : { - "quantityNumber" : 1.0, - "measurementUnit" : { - "datatypeURI" : null, - "lexicalValue" : "unit:litre" - } - }, - "lifecycleContext" : "asPlanned", - "assembledOn" : "2022-02-03T14:48:54.709Z", - "lastModifiedOn" : "2022-02-03T14:48:54.709Z", - "childCatenaXId" : "urn:uuid:86f69643-3b90-4e34-90bf-789edcf40e7e" - }, - "aspectType" : "SingleLevelBomAsPlanned" - } ] + "aspectType": "SingleLevelBomAsPlanned" + } + ] } \ No newline at end of file diff --git a/irs-cucumber-tests/src/test/resources/expected-files/TRI-821-expected-submodels.json b/irs-cucumber-tests/src/test/resources/expected-files/TRI-821-expected-submodels.json index 6c821d2d65..1bbc3b6c35 100644 --- a/irs-cucumber-tests/src/test/resources/expected-files/TRI-821-expected-submodels.json +++ b/irs-cucumber-tests/src/test/resources/expected-files/TRI-821-expected-submodels.json @@ -1,213 +1,228 @@ { - "submodels" : [ { - "identification" : "4373d7a0-cb22-4753-b208-16dafcbd8092", - "aspectType" : "urn:bamm:io.catenax.part_as_planned:1.0.0#PartAsPlanned", - "payload" : { - "validityPeriod" : { - "validFrom" : "2014-07-16T11:38:14.000Z", - "validTo" : "2030-09-23T21:53:25.000Z" - }, - "catenaXId" : "urn:uuid:0733946c-59c6-41ae-9570-cb43a6e4c79e", - "partTypeInformation" : { - "manufacturerPartId" : "ZX-55", - "classification" : "product", - "nameAtManufacturer" : "Vehicle Model A" + "submodels" : [ + { + "identification": "urn:uuid:91c60637-1262-4a5b-8529-edd494ad8099", + "aspectType": "urn:bamm:io.catenax.part_as_planned:1.0.1#PartAsPlanned", + "payload": { + "validityPeriod": { + "validFrom": "2017-01-03T07:45:04.000Z", + "validTo": "2029-11-15T11:57:45.000Z" + }, + "catenaXId": "urn:uuid:0733946c-59c6-41ae-9570-cb43a6e4c79e", + "partTypeInformation": { + "manufacturerPartId": "ZX-55", + "classification": "product", + "nameAtManufacturer": "Vehicle Model A" + } } - } - }, { - "identification" : "e2c9a9cd-5d84-40e9-b7dc-737e2f828bc0", - "aspectType" : "urn:bamm:io.catenax.part_as_planned:1.0.0#PartAsPlanned", - "payload" : { - "validityPeriod" : { - "validFrom" : "2013-09-23T02:26:15.000Z", - "validTo" : "2028-01-05T06:42:59.000Z" - }, - "catenaXId" : "urn:uuid:aad27ddb-43aa-4e42-98c2-01e529ef127c", - "partTypeInformation" : { - "manufacturerPartId" : "38049661-08", - "classification" : "product", - "nameAtManufacturer" : "OEM A High Voltage Battery" + }, + { + "identification": "urn:uuid:a555cc6c-3e22-431a-89bb-8430c2df0c6c", + "aspectType": "urn:bamm:io.catenax.part_as_planned:1.0.1#PartAsPlanned", + "payload": { + "validityPeriod": { + "validFrom": "2017-07-03T05:23:01.000Z", + "validTo": "2032-09-25T10:26:27.000Z" + }, + "catenaXId": "urn:uuid:2c57b0e9-a653-411d-bdcd-64787e9fd3a7", + "partTypeInformation": { + "manufacturerPartId": "32494586-73", + "classification": "product", + "nameAtManufacturer": "Tier A Gearbox" + } } - } - }, { - "identification" : "0ed4270f-7b8c-46f8-bbe3-8939f3624ff3", - "aspectType" : "urn:bamm:io.catenax.part_as_planned:1.0.0#PartAsPlanned", - "payload" : { - "validityPeriod" : { - "validFrom" : "2014-07-14T11:49:19.000Z", - "validTo" : "2028-08-04T13:09:05.000Z" - }, - "catenaXId" : "urn:uuid:e5c96ab5-896a-482c-8761-efd74777ca97", - "partTypeInformation" : { - "manufacturerPartId" : "8840838-04", - "classification" : "product", - "nameAtManufacturer" : "HV Modul" + }, + { + "identification": "urn:uuid:3b6bcc29-6f4a-493f-abd0-fc2300b8e858", + "aspectType": "urn:bamm:io.catenax.part_as_planned:1.0.1#PartAsPlanned", + "payload": { + "validityPeriod": { + "validFrom": "2015-05-18T23:10:44.000Z", + "validTo": "2025-10-23T14:46:01.000Z" + }, + "catenaXId": "urn:uuid:aad27ddb-43aa-4e42-98c2-01e529ef127c", + "partTypeInformation": { + "manufacturerPartId": "38049661-08", + "classification": "product", + "nameAtManufacturer": "OEM A High Voltage Battery" + } } - } - }, { - "identification" : "5013b131-786b-4709-a979-c651695c98dc", - "aspectType" : "urn:bamm:io.catenax.part_as_planned:1.0.0#PartAsPlanned", - "payload" : { - "validityPeriod" : { - "validFrom" : "2015-11-24T16:52:27.000Z", - "validTo" : "2024-09-15T04:28:17.000Z" - }, - "catenaXId" : "urn:uuid:c7a2b803-f8fe-4b79-b6fc-967ce847c9a9", - "partTypeInformation" : { - "manufacturerPartId" : "8840374-09", - "classification" : "product", - "nameAtManufacturer" : "ZB ZELLE" + }, + { + "identification": "urn:uuid:b2f5bb58-bf20-4e82-83be-0692096f1d23", + "aspectType": "urn:bamm:io.catenax.part_as_planned:1.0.1#PartAsPlanned", + "payload": { + "validityPeriod": { + "validFrom": "2016-04-24T08:26:56.000Z", + "validTo": "2031-12-17T23:55:04.000Z" + }, + "catenaXId": "urn:uuid:07cb071f-8716-45fe-89f1-f2f77a1ce93b", + "partTypeInformation": { + "manufacturerPartId": "ZX-55", + "classification": "product", + "nameAtManufacturer": "Tier B ECU1" + } } - } - }, { - "identification" : "15b7e372-3a45-4c13-89b9-7f73a7eb1371", - "aspectType" : "urn:bamm:io.catenax.part_as_planned:1.0.0#PartAsPlanned", - "payload" : { - "validityPeriod" : { - "validFrom" : "2016-01-13T05:16:42.000Z", - "validTo" : "2030-12-23T01:42:51.000Z" - }, - "catenaXId" : "urn:uuid:4f7b1cf2-a598-4027-bc78-63f6d8e55699", - "partTypeInformation" : { - "manufacturerPartId" : "7A047C7-01", - "classification" : "product", - "nameAtManufacturer" : "N Tier A CathodeMaterial" + }, + { + "identification": "urn:uuid:e7a0b342-6b66-4cd7-8da3-facf4de3feab", + "aspectType": "urn:bamm:io.catenax.part_as_planned:1.0.1#PartAsPlanned", + "payload": { + "validityPeriod": { + "validFrom": "2019-08-17T14:14:30.000Z", + "validTo": "2032-08-30T04:32:28.000Z" + }, + "catenaXId": "urn:uuid:3cdd2826-5df0-4c7b-b540-9eeccecb2301", + "partTypeInformation": { + "manufacturerPartId": "6775244-06", + "classification": "product", + "nameAtManufacturer": "Sub Tier B Glue" + } } - } - }, { - "identification" : "71e62924-4478-4ef5-a27c-28997b58c5ee", - "aspectType" : "urn:bamm:io.catenax.part_as_planned:1.0.0#PartAsPlanned", - "payload" : { - "validityPeriod" : { - "validFrom" : "2016-03-18T00:11:46.000Z", - "validTo" : "2030-05-06T18:21:15.000Z" - }, - "catenaXId" : "urn:uuid:15d2fcc8-6439-4d1e-904b-e62b4d3bf323", - "partTypeInformation" : { - "manufacturerPartId" : "9A047C7-01", - "classification" : "product", - "nameAtManufacturer" : "Sub Tier B Sealant" + }, + { + "identification": "urn:uuid:0e886a1b-a08d-407a-a27e-3768fc970a21", + "aspectType": "urn:bamm:io.catenax.part_as_planned:1.0.1#PartAsPlanned", + "payload": { + "validityPeriod": { + "validFrom": "2018-01-25T08:42:58.000Z", + "validTo": "2029-02-10T03:24:30.000Z" + }, + "catenaXId": "urn:uuid:e5c96ab5-896a-482c-8761-efd74777ca97", + "partTypeInformation": { + "manufacturerPartId": "8840838-04", + "classification": "product", + "nameAtManufacturer": "HV Modul" + } } - } - }, { - "identification" : "5b6bdb5a-55d7-46cc-b995-73c04499898d", - "aspectType" : "urn:bamm:io.catenax.part_as_planned:1.0.0#PartAsPlanned", - "payload" : { - "validityPeriod" : { - "validFrom" : "2019-04-03T15:16:11.000Z", - "validTo" : "2023-12-06T04:32:17.000Z" - }, - "catenaXId" : "urn:uuid:07cb071f-8716-45fe-89f1-f2f77a1ce93b", - "partTypeInformation" : { - "manufacturerPartId" : "ZX-55", - "classification" : "product", - "nameAtManufacturer" : "Tier B ECU1" + }, + { + "identification": "urn:uuid:866affae-92e0-45f2-85ba-da63b149c8ed", + "aspectType": "urn:bamm:io.catenax.part_as_planned:1.0.1#PartAsPlanned", + "payload": { + "validityPeriod": { + "validFrom": "2015-01-23T16:24:59.000Z", + "validTo": "2031-05-04T12:01:38.000Z" + }, + "catenaXId": "urn:uuid:4518c080-14fb-4252-b8de-4362d615868d", + "partTypeInformation": { + "manufacturerPartId": "7A987KK-04", + "classification": "product", + "nameAtManufacturer": "N Tier A Plastics" + } } - } - }, { - "identification" : "983ed0bc-3911-4adf-9df1-f1c0623d9d68", - "aspectType" : "urn:bamm:io.catenax.part_as_planned:1.0.0#PartAsPlanned", - "payload" : { - "validityPeriod" : { - "validFrom" : "2017-07-14T02:09:25.000Z", - "validTo" : "2023-12-27T06:20:20.000Z" - }, - "catenaXId" : "urn:uuid:3cdd2826-5df0-4c7b-b540-9eeccecb2301", - "partTypeInformation" : { - "manufacturerPartId" : "6775244-06", - "classification" : "product", - "nameAtManufacturer" : "Sub Tier B Glue" + }, + { + "identification": "urn:uuid:b1331f10-abd1-4caf-97c8-80890fc0b8f0", + "aspectType": "urn:bamm:io.catenax.part_as_planned:1.0.1#PartAsPlanned", + "payload": { + "validityPeriod": { + "validFrom": "2013-06-18T03:47:22.000Z", + "validTo": "2030-12-31T23:33:25.000Z" + }, + "catenaXId": "urn:uuid:bee5614f-9e46-4c98-9209-61a6f2b2a7fc", + "partTypeInformation": { + "manufacturerPartId": "6740244-02", + "classification": "product", + "nameAtManufacturer": "Sub Tier A Sensor" + } } - } - }, { - "identification" : "05826ea1-2b86-47e7-87d5-7d9f8db9f15a", - "aspectType" : "urn:bamm:io.catenax.part_as_planned:1.0.0#PartAsPlanned", - "payload" : { - "validityPeriod" : { - "validFrom" : "2020-10-01T06:45:48.000Z", - "validTo" : "2030-12-04T07:37:35.000Z" - }, - "catenaXId" : "urn:uuid:bee5614f-9e46-4c98-9209-61a6f2b2a7fc", - "partTypeInformation" : { - "manufacturerPartId" : "6740244-02", - "classification" : "product", - "nameAtManufacturer" : "Sub Tier A Sensor" + }, + { + "identification": "urn:uuid:b1331f10-abd1-4caf-97c8-80890fc0b8f0", + "aspectType": "urn:bamm:io.catenax.part_as_planned:1.0.1#PartAsPlanned", + "payload": { + "validityPeriod": { + "validFrom": "2013-06-18T03:47:22.000Z", + "validTo": "2030-12-31T23:33:25.000Z" + }, + "catenaXId": "urn:uuid:bee5614f-9e46-4c98-9209-61a6f2b2a7fc", + "partTypeInformation": { + "manufacturerPartId": "6740244-02", + "classification": "product", + "nameAtManufacturer": "Sub Tier A Sensor" + } } - } - }, { - "identification" : "a67f7735-b295-4433-8eb2-d8e00107fcdf", - "aspectType" : "urn:bamm:io.catenax.part_as_planned:1.0.0#PartAsPlanned", - "payload" : { - "validityPeriod" : { - "validFrom" : "2015-11-22T23:51:06.000Z", - "validTo" : "2023-11-21T17:24:21.000Z" - }, - "catenaXId" : "urn:uuid:86f69643-3b90-4e34-90bf-789edcf40e7e", - "partTypeInformation" : { - "manufacturerPartId" : "7A047KK-01", - "classification" : "product", - "nameAtManufacturer" : "N Tier A NTier Product" + }, + { + "identification": "urn:uuid:0e36b0a2-2086-4dab-bbd1-239f3f6d8f9e", + "aspectType": "urn:bamm:io.catenax.part_as_planned:1.0.1#PartAsPlanned", + "payload": { + "validityPeriod": { + "validFrom": "2017-09-12T21:34:41.000Z", + "validTo": "2030-06-04T20:52:15.000Z" + }, + "catenaXId": "urn:uuid:15d2fcc8-6439-4d1e-904b-e62b4d3bf323", + "partTypeInformation": { + "manufacturerPartId": "9A047C7-01", + "classification": "product", + "nameAtManufacturer": "Sub Tier B Sealant" + } } - } - }, { - "identification" : "438ae751-a801-4fd1-b5ed-50f6d22df2f9", - "aspectType" : "urn:bamm:io.catenax.part_as_planned:1.0.0#PartAsPlanned", - "payload" : { - "validityPeriod" : { - "validFrom" : "2013-09-23T15:50:15.000Z", - "validTo" : "2029-03-12T18:47:38.000Z" - }, - "catenaXId" : "urn:uuid:2c57b0e9-a653-411d-bdcd-64787e9fd3a7", - "partTypeInformation" : { - "manufacturerPartId" : "32494586-73", - "classification" : "product", - "nameAtManufacturer" : "Tier A Gearbox" + }, + { + "identification": "urn:uuid:906a739b-206e-44dd-8c74-c98a7c915b18", + "aspectType": "urn:bamm:io.catenax.part_as_planned:1.0.1#PartAsPlanned", + "payload": { + "validityPeriod": { + "validFrom": "2016-04-28T20:00:55.000Z", + "validTo": "2027-04-27T00:59:41.000Z" + }, + "catenaXId": "urn:uuid:c7a2b803-f8fe-4b79-b6fc-967ce847c9a9", + "partTypeInformation": { + "manufacturerPartId": "8840374-09", + "classification": "product", + "nameAtManufacturer": "ZB ZELLE" + } } - } - }, { - "identification" : "92fd8bab-faea-4525-87dc-9ddd89a4daf5", - "aspectType" : "urn:bamm:io.catenax.part_as_planned:1.0.0#PartAsPlanned", - "payload" : { - "validityPeriod" : { - "validFrom" : "2019-04-14T12:12:51.000Z", - "validTo" : "2032-09-10T04:33:17.000Z" - }, - "catenaXId" : "urn:uuid:4518c080-14fb-4252-b8de-4362d615868d", - "partTypeInformation" : { - "manufacturerPartId" : "7A987KK-04", - "classification" : "product", - "nameAtManufacturer" : "N Tier A Plastics" + }, + { + "identification": "urn:uuid:04ef1184-b086-4b47-813b-b009886d1e5a", + "aspectType": "urn:bamm:io.catenax.part_as_planned:1.0.1#PartAsPlanned", + "payload": { + "validityPeriod": { + "validFrom": "2019-01-02T09:42:18.000Z", + "validTo": "2031-05-02T13:45:12.000Z" + }, + "catenaXId": "urn:uuid:86f69643-3b90-4e34-90bf-789edcf40e7e", + "partTypeInformation": { + "manufacturerPartId": "7A047KK-01", + "classification": "product", + "nameAtManufacturer": "N Tier A NTier Product" + } } - } - }, { - "identification" : "f04b17e9-9323-450a-8489-e1cf4523f070", - "aspectType" : "urn:bamm:io.catenax.part_as_planned:1.0.0#PartAsPlanned", - "payload" : { - "validityPeriod" : { - "validFrom" : "2020-10-01T06:45:48.000Z", - "validTo" : "2030-12-04T07:37:35.000Z" - }, - "catenaXId" : "urn:uuid:bee5614f-9e46-4c98-9209-61a6f2b2a7fc", - "partTypeInformation" : { - "manufacturerPartId" : "6740244-02", - "classification" : "product", - "nameAtManufacturer" : "Sub Tier A Sensor" + }, + { + "identification": "urn:uuid:04ef1184-b086-4b47-813b-b009886d1e5a", + "aspectType": "urn:bamm:io.catenax.part_as_planned:1.0.1#PartAsPlanned", + "payload": { + "validityPeriod": { + "validFrom": "2019-01-02T09:42:18.000Z", + "validTo": "2031-05-02T13:45:12.000Z" + }, + "catenaXId": "urn:uuid:86f69643-3b90-4e34-90bf-789edcf40e7e", + "partTypeInformation": { + "manufacturerPartId": "7A047KK-01", + "classification": "product", + "nameAtManufacturer": "N Tier A NTier Product" + } } - } - }, { - "identification" : "206c4c7c-a702-4646-a432-b42ab0ce1336", - "aspectType" : "urn:bamm:io.catenax.part_as_planned:1.0.0#PartAsPlanned", - "payload" : { - "validityPeriod" : { - "validFrom" : "2015-11-22T23:51:06.000Z", - "validTo" : "2023-11-21T17:24:21.000Z" - }, - "catenaXId" : "urn:uuid:86f69643-3b90-4e34-90bf-789edcf40e7e", - "partTypeInformation" : { - "manufacturerPartId" : "7A047KK-01", - "classification" : "product", - "nameAtManufacturer" : "N Tier A NTier Product" + }, + { + "identification": "urn:uuid:8863f5d0-12ba-4c7b-9464-1b5584ad14b6", + "aspectType": "urn:bamm:io.catenax.part_as_planned:1.0.1#PartAsPlanned", + "payload": { + "validityPeriod": { + "validFrom": "2013-11-24T00:27:33.000Z", + "validTo": "2025-08-16T09:18:35.000Z" + }, + "catenaXId": "urn:uuid:4f7b1cf2-a598-4027-bc78-63f6d8e55699", + "partTypeInformation": { + "manufacturerPartId": "7A047C7-01", + "classification": "product", + "nameAtManufacturer": "N Tier A CathodeMaterial" + } } } - } ] + ] } \ No newline at end of file diff --git a/irs-cucumber-tests/src/test/resources/expected-files/TRI-891-expected-relationships.json b/irs-cucumber-tests/src/test/resources/expected-files/TRI-891-expected-relationships.json index fc1ccf5cd4..8a3e2ae46c 100644 --- a/irs-cucumber-tests/src/test/resources/expected-files/TRI-891-expected-relationships.json +++ b/irs-cucumber-tests/src/test/resources/expected-files/TRI-891-expected-relationships.json @@ -6,8 +6,8 @@ "quantity": { "quantityNumber": 1.0, "measurementUnit": { - "datatypeURI": "urn:bamm:io.openmanufacturing:meta-model:1.0.0#curie", - "lexicalValue": "unit:piece" + "datatypeURI": null, + "lexicalValue": "unit:litre" } }, "lifecycleContext": "asPlanned", @@ -23,8 +23,8 @@ "quantity": { "quantityNumber": 1.0, "measurementUnit": { - "datatypeURI": "urn:bamm:io.openmanufacturing:meta-model:1.0.0#curie", - "lexicalValue": "unit:piece" + "datatypeURI": null, + "lexicalValue": "unit:litre" } }, "lifecycleContext": "asPlanned", @@ -35,13 +35,47 @@ "aspectType": "SingleLevelBomAsPlanned" }, { - "catenaXId": "urn:uuid:07cb071f-8716-45fe-89f1-f2f77a1ce93b", + "catenaXId": "urn:uuid:68904173-ad59-4a77-8412-3e73fcafbd8b", "linkedItem": { "quantity": { "quantityNumber": 1.0, "measurementUnit": { - "datatypeURI": "urn:bamm:io.openmanufacturing:meta-model:1.0.0#curie", - "lexicalValue": "unit:piece" + "datatypeURI": null, + "lexicalValue": "unit:litre" + } + }, + "lifecycleContext": "asPlanned", + "assembledOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z", + "childCatenaXId": "urn:uuid:e8c48a8e-d2d7-43d9-a867-65c70c85f5b8" + }, + "aspectType": "SingleLevelBomAsPlanned" + }, + { + "catenaXId": "urn:uuid:2c57b0e9-a653-411d-bdcd-64787e9fd3a7", + "linkedItem": { + "quantity": { + "quantityNumber": 1.0, + "measurementUnit": { + "datatypeURI": null, + "lexicalValue": "unit:litre" + } + }, + "lifecycleContext": "asPlanned", + "assembledOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z", + "childCatenaXId": "urn:uuid:4518c080-14fb-4252-b8de-4362d615868d" + }, + "aspectType": "SingleLevelBomAsPlanned" + }, + { + "catenaXId": "urn:uuid:2c57b0e9-a653-411d-bdcd-64787e9fd3a7", + "linkedItem": { + "quantity": { + "quantityNumber": 1.0, + "measurementUnit": { + "datatypeURI": null, + "lexicalValue": "unit:litre" } }, "lifecycleContext": "asPlanned", @@ -51,13 +85,30 @@ }, "aspectType": "SingleLevelBomAsPlanned" }, + { + "catenaXId": "urn:uuid:e8c48a8e-d2d7-43d9-a867-65c70c85f5b8", + "linkedItem": { + "quantity": { + "quantityNumber": 1580.0, + "measurementUnit": { + "datatypeURI": null, + "lexicalValue": "unit:gram" + } + }, + "lifecycleContext": "asPlanned", + "assembledOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z", + "childCatenaXId": "urn:uuid:94d086c6-0124-4f2c-86b2-1d419e47499d" + }, + "aspectType": "SingleLevelBomAsPlanned" + }, { "catenaXId": "urn:uuid:07cb071f-8716-45fe-89f1-f2f77a1ce93b", "linkedItem": { "quantity": { "quantityNumber": 0.3301, "measurementUnit": { - "datatypeURI": "urn:bamm:io.openmanufacturing:meta-model:1.0.0#curie", + "datatypeURI": null, "lexicalValue": "unit:kilogram" } }, @@ -69,53 +120,53 @@ "aspectType": "SingleLevelBomAsPlanned" }, { - "catenaXId": "urn:uuid:2c57b0e9-a653-411d-bdcd-64787e9fd3a7", + "catenaXId": "urn:uuid:07cb071f-8716-45fe-89f1-f2f77a1ce93b", "linkedItem": { "quantity": { "quantityNumber": 1.0, "measurementUnit": { - "datatypeURI": "urn:bamm:io.openmanufacturing:meta-model:1.0.0#curie", - "lexicalValue": "unit:piece" + "datatypeURI": null, + "lexicalValue": "unit:litre" } }, "lifecycleContext": "asPlanned", "assembledOn": "2022-02-03T14:48:54.709Z", "lastModifiedOn": "2022-02-03T14:48:54.709Z", - "childCatenaXId": "urn:uuid:4518c080-14fb-4252-b8de-4362d615868d" + "childCatenaXId": "urn:uuid:bee5614f-9e46-4c98-9209-61a6f2b2a7fc" }, "aspectType": "SingleLevelBomAsPlanned" }, { - "catenaXId": "urn:uuid:2c57b0e9-a653-411d-bdcd-64787e9fd3a7", + "catenaXId": "urn:uuid:bee5614f-9e46-4c98-9209-61a6f2b2a7fc", "linkedItem": { "quantity": { "quantityNumber": 1.0, "measurementUnit": { - "datatypeURI": "urn:bamm:io.openmanufacturing:meta-model:1.0.0#curie", - "lexicalValue": "unit:piece" + "datatypeURI": null, + "lexicalValue": "unit:litre" } }, "lifecycleContext": "asPlanned", "assembledOn": "2022-02-03T14:48:54.709Z", "lastModifiedOn": "2022-02-03T14:48:54.709Z", - "childCatenaXId": "urn:uuid:bee5614f-9e46-4c98-9209-61a6f2b2a7fc" + "childCatenaXId": "urn:uuid:86f69643-3b90-4e34-90bf-789edcf40e7e" }, "aspectType": "SingleLevelBomAsPlanned" }, { - "catenaXId": "urn:uuid:bee5614f-9e46-4c98-9209-61a6f2b2a7fc", + "catenaXId": "urn:uuid:94d086c6-0124-4f2c-86b2-1d419e47499d", "linkedItem": { "quantity": { "quantityNumber": 1.0, "measurementUnit": { - "datatypeURI": "urn:bamm:io.openmanufacturing:meta-model:1.0.0#curie", - "lexicalValue": "unit:piece" + "datatypeURI": null, + "lexicalValue": "unit:litre" } }, "lifecycleContext": "asPlanned", "assembledOn": "2022-02-03T14:48:54.709Z", "lastModifiedOn": "2022-02-03T14:48:54.709Z", - "childCatenaXId": "urn:uuid:86f69643-3b90-4e34-90bf-789edcf40e7e" + "childCatenaXId": "urn:uuid:b0926d3c-6a8f-4fc7-81a4-88c50817358a" }, "aspectType": "SingleLevelBomAsPlanned" } diff --git a/irs-cucumber-tests/src/test/resources/expected-files/TRI-891-expected-submodels.json b/irs-cucumber-tests/src/test/resources/expected-files/TRI-891-expected-submodels.json index 41ec4bac5a..b25142b1eb 100644 --- a/irs-cucumber-tests/src/test/resources/expected-files/TRI-891-expected-submodels.json +++ b/irs-cucumber-tests/src/test/resources/expected-files/TRI-891-expected-submodels.json @@ -1,12 +1,12 @@ { "submodels": [ { - "identification": "urn:uuid:f755c45c-4761-4251-872b-f26275d7db23", - "aspectType": "urn:bamm:io.catenax.part_as_planned:1.0.0#PartAsPlanned", + "identification": "urn:uuid:082c0fd7-8ed7-4499-be03-e32f24fda1dc", + "aspectType": "urn:bamm:io.catenax.part_as_planned:1.0.1#PartAsPlanned", "payload": { "validityPeriod": { - "validFrom": "2013-09-21T23:24:07.000Z", - "validTo": "2026-11-22T17:35:54.000Z" + "validFrom": "2016-04-09T20:41:14.000Z", + "validTo": "2023-12-09T04:46:33.000Z" }, "catenaXId": "urn:uuid:68904173-ad59-4a77-8412-3e73fcafbd8b", "partTypeInformation": { @@ -17,12 +17,12 @@ } }, { - "identification": "urn:uuid:3a50eccd-996c-4842-b3c5-d3318ed659ae", - "aspectType": "urn:bamm:io.catenax.part_as_planned:1.0.0#PartAsPlanned", + "identification": "urn:uuid:a555cc6c-3e22-431a-89bb-8430c2df0c6c", + "aspectType": "urn:bamm:io.catenax.part_as_planned:1.0.1#PartAsPlanned", "payload": { "validityPeriod": { - "validFrom": "2013-04-01T00:18:40.000Z", - "validTo": "2025-07-06T08:58:34.000Z" + "validFrom": "2017-07-03T05:23:01.000Z", + "validTo": "2032-09-25T10:26:27.000Z" }, "catenaXId": "urn:uuid:2c57b0e9-a653-411d-bdcd-64787e9fd3a7", "partTypeInformation": { @@ -33,12 +33,28 @@ } }, { - "identification": "urn:uuid:b9d630d0-6694-4664-ada5-2af03bd00794", - "aspectType": "urn:bamm:io.catenax.part_as_planned:1.0.0#PartAsPlanned", + "identification": "urn:uuid:3f6aea82-8e54-4419-9d90-02329b921c9d", + "aspectType": "urn:bamm:io.catenax.part_as_planned:1.0.1#PartAsPlanned", "payload": { "validityPeriod": { - "validFrom": "2020-03-28T02:37:02.000Z", - "validTo": "2026-10-10T19:22:52.000Z" + "validFrom": "2019-11-02T11:14:15.000Z", + "validTo": "2024-07-17T02:07:07.000Z" + }, + "catenaXId": "urn:uuid:e8c48a8e-d2d7-43d9-a867-65c70c85f5b8", + "partTypeInformation": { + "manufacturerPartId": "123564887-01", + "classification": "product", + "nameAtManufacturer": "Tire Model A" + } + } + }, + { + "identification": "urn:uuid:b2f5bb58-bf20-4e82-83be-0692096f1d23", + "aspectType": "urn:bamm:io.catenax.part_as_planned:1.0.1#PartAsPlanned", + "payload": { + "validityPeriod": { + "validFrom": "2016-04-24T08:26:56.000Z", + "validTo": "2031-12-17T23:55:04.000Z" }, "catenaXId": "urn:uuid:07cb071f-8716-45fe-89f1-f2f77a1ce93b", "partTypeInformation": { @@ -49,12 +65,28 @@ } }, { - "identification": "urn:uuid:a2e15226-c890-4d12-a171-285205d8ab42", - "aspectType": "urn:bamm:io.catenax.part_as_planned:1.0.0#PartAsPlanned", + "identification": "urn:uuid:b1331f10-abd1-4caf-97c8-80890fc0b8f0", + "aspectType": "urn:bamm:io.catenax.part_as_planned:1.0.1#PartAsPlanned", "payload": { "validityPeriod": { - "validFrom": "2019-08-05T21:18:41.000Z", - "validTo": "2029-05-20T17:40:33.000Z" + "validFrom": "2013-06-18T03:47:22.000Z", + "validTo": "2030-12-31T23:33:25.000Z" + }, + "catenaXId": "urn:uuid:bee5614f-9e46-4c98-9209-61a6f2b2a7fc", + "partTypeInformation": { + "manufacturerPartId": "6740244-02", + "classification": "product", + "nameAtManufacturer": "Sub Tier A Sensor" + } + } + }, + { + "identification": "urn:uuid:866affae-92e0-45f2-85ba-da63b149c8ed", + "aspectType": "urn:bamm:io.catenax.part_as_planned:1.0.1#PartAsPlanned", + "payload": { + "validityPeriod": { + "validFrom": "2015-01-23T16:24:59.000Z", + "validTo": "2031-05-04T12:01:38.000Z" }, "catenaXId": "urn:uuid:4518c080-14fb-4252-b8de-4362d615868d", "partTypeInformation": { @@ -65,28 +97,28 @@ } }, { - "identification": "urn:uuid:211fa9e1-b62e-406a-94a1-d3e74ed7c387", - "aspectType": "urn:bamm:io.catenax.part_as_planned:1.0.0#PartAsPlanned", + "identification": "urn:uuid:10fd13ea-5e77-49f7-8e9b-d909964c1092", + "aspectType": "urn:bamm:io.catenax.part_as_planned:1.0.1#PartAsPlanned", "payload": { "validityPeriod": { - "validFrom": "2015-03-15T17:25:20.000Z", - "validTo": "2027-12-12T17:07:52.000Z" + "validFrom": "2017-04-29T01:48:37.000Z", + "validTo": "2029-08-26T00:42:55.000Z" }, - "catenaXId": "urn:uuid:bee5614f-9e46-4c98-9209-61a6f2b2a7fc", + "catenaXId": "urn:uuid:94d086c6-0124-4f2c-86b2-1d419e47499d", "partTypeInformation": { - "manufacturerPartId": "6740244-02", + "manufacturerPartId": "9953421-03", "classification": "product", - "nameAtManufacturer": "Sub Tier A Sensor" + "nameAtManufacturer": "Natural Rubber Product(40KG blocks)" } } }, { - "identification": "urn:uuid:c241cc8c-ccd4-4d38-beb6-27f4336a3e01", - "aspectType": "urn:bamm:io.catenax.part_as_planned:1.0.0#PartAsPlanned", + "identification": "urn:uuid:e7a0b342-6b66-4cd7-8da3-facf4de3feab", + "aspectType": "urn:bamm:io.catenax.part_as_planned:1.0.1#PartAsPlanned", "payload": { "validityPeriod": { - "validFrom": "2014-07-30T07:17:16.000Z", - "validTo": "2028-03-27T22:34:57.000Z" + "validFrom": "2019-08-17T14:14:30.000Z", + "validTo": "2032-08-30T04:32:28.000Z" }, "catenaXId": "urn:uuid:3cdd2826-5df0-4c7b-b540-9eeccecb2301", "partTypeInformation": { @@ -97,12 +129,12 @@ } }, { - "identification": "urn:uuid:211fa9e1-b62e-406a-94a1-d3e74ed7c387", - "aspectType": "urn:bamm:io.catenax.part_as_planned:1.0.0#PartAsPlanned", + "identification": "urn:uuid:b1331f10-abd1-4caf-97c8-80890fc0b8f0", + "aspectType": "urn:bamm:io.catenax.part_as_planned:1.0.1#PartAsPlanned", "payload": { "validityPeriod": { - "validFrom": "2015-03-15T17:25:20.000Z", - "validTo": "2027-12-12T17:07:52.000Z" + "validFrom": "2013-06-18T03:47:22.000Z", + "validTo": "2030-12-31T23:33:25.000Z" }, "catenaXId": "urn:uuid:bee5614f-9e46-4c98-9209-61a6f2b2a7fc", "partTypeInformation": { @@ -113,12 +145,12 @@ } }, { - "identification": "urn:uuid:abad5802-5071-4e21-97ae-e6f295731a1c", - "aspectType": "urn:bamm:io.catenax.part_as_planned:1.0.0#PartAsPlanned", + "identification": "urn:uuid:04ef1184-b086-4b47-813b-b009886d1e5a", + "aspectType": "urn:bamm:io.catenax.part_as_planned:1.0.1#PartAsPlanned", "payload": { "validityPeriod": { - "validFrom": "2019-12-30T09:17:00.000Z", - "validTo": "2025-06-28T12:55:41.000Z" + "validFrom": "2019-01-02T09:42:18.000Z", + "validTo": "2031-05-02T13:45:12.000Z" }, "catenaXId": "urn:uuid:86f69643-3b90-4e34-90bf-789edcf40e7e", "partTypeInformation": { @@ -129,12 +161,28 @@ } }, { - "identification": "urn:uuid:abad5802-5071-4e21-97ae-e6f295731a1c", - "aspectType": "urn:bamm:io.catenax.part_as_planned:1.0.0#PartAsPlanned", + "identification": "urn:uuid:b2302f68-acfb-42e4-ab11-ed8f9181f006", + "aspectType": "urn:bamm:io.catenax.part_as_planned:1.0.1#PartAsPlanned", + "payload": { + "validityPeriod": { + "validFrom": "2014-02-07T16:56:02.000Z", + "validTo": "2029-08-26T11:05:18.000Z" + }, + "catenaXId": "urn:uuid:b0926d3c-6a8f-4fc7-81a4-88c50817358a", + "partTypeInformation": { + "manufacturerPartId": "A26581-11", + "classification": "product", + "nameAtManufacturer": "Natural Rubber" + } + } + }, + { + "identification": "urn:uuid:04ef1184-b086-4b47-813b-b009886d1e5a", + "aspectType": "urn:bamm:io.catenax.part_as_planned:1.0.1#PartAsPlanned", "payload": { "validityPeriod": { - "validFrom": "2019-12-30T09:17:00.000Z", - "validTo": "2025-06-28T12:55:41.000Z" + "validFrom": "2019-01-02T09:42:18.000Z", + "validTo": "2031-05-02T13:45:12.000Z" }, "catenaXId": "urn:uuid:86f69643-3b90-4e34-90bf-789edcf40e7e", "partTypeInformation": { diff --git a/irs-cucumber-tests/src/test/resources/expected-files/TRI-893-expected-relationships.json b/irs-cucumber-tests/src/test/resources/expected-files/TRI-893-expected-relationships.json index 96ae55cb62..f611578da0 100644 --- a/irs-cucumber-tests/src/test/resources/expected-files/TRI-893-expected-relationships.json +++ b/irs-cucumber-tests/src/test/resources/expected-files/TRI-893-expected-relationships.json @@ -6,8 +6,8 @@ "quantity": { "quantityNumber": 1.0, "measurementUnit": { - "datatypeURI": "urn:bamm:io.openmanufacturing:meta-model:1.0.0#curie", - "lexicalValue": "unit:piece" + "datatypeURI": null, + "lexicalValue": "unit:litre" } }, "lifecycleContext": "asPlanned", @@ -17,14 +17,48 @@ }, "aspectType": "SingleLevelBomAsPlanned" }, + { + "catenaXId": "urn:uuid:65e1554e-e5cd-4560-bac1-1352582122fb", + "linkedItem": { + "quantity": { + "quantityNumber": 1.0, + "measurementUnit": { + "datatypeURI": null, + "lexicalValue": "unit:litre" + } + }, + "lifecycleContext": "asPlanned", + "assembledOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z", + "childCatenaXId": "urn:uuid:e8c48a8e-d2d7-43d9-a867-65c70c85f5b8" + }, + "aspectType": "SingleLevelBomAsPlanned" + }, + { + "catenaXId": "urn:uuid:e8c48a8e-d2d7-43d9-a867-65c70c85f5b8", + "linkedItem": { + "quantity": { + "quantityNumber": 1580.0, + "measurementUnit": { + "datatypeURI": null, + "lexicalValue": "unit:gram" + } + }, + "lifecycleContext": "asPlanned", + "assembledOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z", + "childCatenaXId": "urn:uuid:94d086c6-0124-4f2c-86b2-1d419e47499d" + }, + "aspectType": "SingleLevelBomAsPlanned" + }, { "catenaXId": "urn:uuid:e3e2a4d8-58bc-4ae9-afa2-e8946fda1f77", "linkedItem": { "quantity": { "quantityNumber": 1.0, "measurementUnit": { - "datatypeURI": "urn:bamm:io.openmanufacturing:meta-model:1.0.0#curie", - "lexicalValue": "unit:piece" + "datatypeURI": null, + "lexicalValue": "unit:litre" } }, "lifecycleContext": "asPlanned", @@ -33,6 +67,23 @@ "childCatenaXId": "urn:uuid:3cdd2826-5df0-4c7b-b540-9eeccecb2301" }, "aspectType": "SingleLevelBomAsPlanned" + }, + { + "catenaXId": "urn:uuid:94d086c6-0124-4f2c-86b2-1d419e47499d", + "linkedItem": { + "quantity": { + "quantityNumber": 1.0, + "measurementUnit": { + "datatypeURI": null, + "lexicalValue": "unit:litre" + } + }, + "lifecycleContext": "asPlanned", + "assembledOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z", + "childCatenaXId": "urn:uuid:b0926d3c-6a8f-4fc7-81a4-88c50817358a" + }, + "aspectType": "SingleLevelBomAsPlanned" } ] } \ No newline at end of file diff --git a/irs-cucumber-tests/src/test/resources/expected-files/TRI-893-expected-submodels.json b/irs-cucumber-tests/src/test/resources/expected-files/TRI-893-expected-submodels.json index 7c132ab3e2..5327c1281a 100644 --- a/irs-cucumber-tests/src/test/resources/expected-files/TRI-893-expected-submodels.json +++ b/irs-cucumber-tests/src/test/resources/expected-files/TRI-893-expected-submodels.json @@ -1,12 +1,12 @@ { "submodels": [ { - "identification": "urn:uuid:89696bae-6b72-40ce-8e9a-d3a84814edeb", - "aspectType": "urn:bamm:io.catenax.part_as_planned:1.0.0#PartAsPlanned", + "identification": "urn:uuid:1f3aa77d-975a-426d-a6d3-8ad74a841111", + "aspectType": "urn:bamm:io.catenax.part_as_planned:1.0.1#PartAsPlanned", "payload": { "validityPeriod": { - "validFrom": "2016-03-31T00:20:37.000Z", - "validTo": "2027-01-17T01:39:30.000Z" + "validFrom": "2018-08-15T15:18:04.000Z", + "validTo": "2028-05-14T00:23:55.000Z" }, "catenaXId": "urn:uuid:65e1554e-e5cd-4560-bac1-1352582122fb", "partTypeInformation": { @@ -17,12 +17,28 @@ } }, { - "identification": "urn:uuid:fe947c10-9659-46d8-87c9-2632ec105e04", - "aspectType": "urn:bamm:io.catenax.part_as_planned:1.0.0#PartAsPlanned", + "identification": "urn:uuid:db9468d1-16cd-4654-8be0-792a909b4fec", + "aspectType": "urn:bamm:io.catenax.part_as_planned:1.0.1#PartAsPlanned", "payload": { "validityPeriod": { - "validFrom": "2015-01-16T14:23:33.000Z", - "validTo": "2032-05-18T15:14:36.000Z" + "validFrom": "2019-11-02T11:14:15.000Z", + "validTo": "2024-07-17T02:07:07.000Z" + }, + "catenaXId": "urn:uuid:e8c48a8e-d2d7-43d9-a867-65c70c85f5b8", + "partTypeInformation": { + "manufacturerPartId": "123564887-01", + "classification": "product", + "nameAtManufacturer": "Tire Model A" + } + } + }, + { + "identification": "urn:uuid:f7c9b5df-cc49-483b-bb8d-fd86f5f37933", + "aspectType": "urn:bamm:io.catenax.part_as_planned:1.0.1#PartAsPlanned", + "payload": { + "validityPeriod": { + "validFrom": "2018-09-16T00:07:10.000Z", + "validTo": "2032-01-10T15:26:52.000Z" }, "catenaXId": "urn:uuid:e3e2a4d8-58bc-4ae9-afa2-e8946fda1f77", "partTypeInformation": { @@ -33,12 +49,12 @@ } }, { - "identification": "urn:uuid:c241cc8c-ccd4-4d38-beb6-27f4336a3e01", - "aspectType": "urn:bamm:io.catenax.part_as_planned:1.0.0#PartAsPlanned", + "identification": "urn:uuid:be7932d4-f324-4d39-9e4c-8b29b38d6026", + "aspectType": "urn:bamm:io.catenax.part_as_planned:1.0.1#PartAsPlanned", "payload": { "validityPeriod": { - "validFrom": "2014-07-30T07:17:16.000Z", - "validTo": "2028-03-27T22:34:57.000Z" + "validFrom": "2019-08-17T14:14:30.000Z", + "validTo": "2032-08-30T04:32:28.000Z" }, "catenaXId": "urn:uuid:3cdd2826-5df0-4c7b-b540-9eeccecb2301", "partTypeInformation": { @@ -47,6 +63,38 @@ "nameAtManufacturer": "Sub Tier B Glue" } } + }, + { + "identification": "urn:uuid:926d13f9-96d4-4e1c-830b-e9a32f4fcaae", + "aspectType": "urn:bamm:io.catenax.part_as_planned:1.0.1#PartAsPlanned", + "payload": { + "validityPeriod": { + "validFrom": "2017-04-29T01:48:37.000Z", + "validTo": "2029-08-26T00:42:55.000Z" + }, + "catenaXId": "urn:uuid:94d086c6-0124-4f2c-86b2-1d419e47499d", + "partTypeInformation": { + "manufacturerPartId": "9953421-03", + "classification": "product", + "nameAtManufacturer": "Natural Rubber Product(40KG blocks)" + } + } + }, + { + "identification": "urn:uuid:964ad117-e6a9-4ff7-a70b-64965ff4f156", + "aspectType": "urn:bamm:io.catenax.part_as_planned:1.0.1#PartAsPlanned", + "payload": { + "validityPeriod": { + "validFrom": "2014-02-07T16:56:02.000Z", + "validTo": "2029-08-26T11:05:18.000Z" + }, + "catenaXId": "urn:uuid:b0926d3c-6a8f-4fc7-81a4-88c50817358a", + "partTypeInformation": { + "manufacturerPartId": "A26581-11", + "classification": "product", + "nameAtManufacturer": "Natural Rubber" + } + } } ] } \ No newline at end of file diff --git a/irs-ess/src/main/java/org/eclipse/tractusx/ess/controller/EssController.java b/irs-ess/src/main/java/org/eclipse/tractusx/ess/controller/EssController.java index 35c615ecf3..9f3a1bb008 100644 --- a/irs-ess/src/main/java/org/eclipse/tractusx/ess/controller/EssController.java +++ b/irs-ess/src/main/java/org/eclipse/tractusx/ess/controller/EssController.java @@ -40,6 +40,7 @@ import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.eclipse.tractusx.ess.service.EssService; +import org.eclipse.tractusx.irs.common.auth.IrsRoles; import org.eclipse.tractusx.irs.component.JobHandle; import org.eclipse.tractusx.irs.component.Jobs; import org.eclipse.tractusx.irs.component.RegisterBpnInvestigationJob; @@ -104,7 +105,7 @@ class EssController { }) @PostMapping("/bpn/investigations") @ResponseStatus(HttpStatus.CREATED) - @PreAuthorize("hasAuthority('view_irs')") + @PreAuthorize("hasAnyAuthority('" + IrsRoles.ADMIN_IRS + "', '" + IrsRoles.VIEW_IRS + "')") public JobHandle registerBPNInvestigation(final @Valid @RequestBody RegisterBpnInvestigationJob request) { return essService.startIrsJob(request); } @@ -147,7 +148,7 @@ public JobHandle registerBPNInvestigation(final @Valid @RequestBody RegisterBpnI }), }) @GetMapping("/bpn/investigations/{id}") - @PreAuthorize("hasAuthority('view_irs')") + @PreAuthorize("hasAnyAuthority('" + IrsRoles.ADMIN_IRS + "', '" + IrsRoles.VIEW_IRS + "')") public Jobs getBPNInvestigation( @Parameter(description = "Id of the job.", schema = @Schema(implementation = UUID.class), name = "id", example = "6c311d29-5753-46d4-b32c-19b918ea93b0") @Valid @PathVariable final UUID id) { diff --git a/irs-policy-store/src/main/java/org/eclipse/tractusx/irs/policystore/controllers/PolicyStoreController.java b/irs-policy-store/src/main/java/org/eclipse/tractusx/irs/policystore/controllers/PolicyStoreController.java index 7a9092a64a..123fda39e9 100644 --- a/irs-policy-store/src/main/java/org/eclipse/tractusx/irs/policystore/controllers/PolicyStoreController.java +++ b/irs-policy-store/src/main/java/org/eclipse/tractusx/irs/policystore/controllers/PolicyStoreController.java @@ -39,9 +39,11 @@ import jakarta.validation.Valid; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; +import org.eclipse.tractusx.irs.common.auth.IrsRoles; import org.eclipse.tractusx.irs.dtos.ErrorResponse; import org.eclipse.tractusx.irs.policystore.models.CreatePolicyRequest; import org.eclipse.tractusx.irs.policystore.models.Policy; +import org.eclipse.tractusx.irs.policystore.models.UpdatePolicyRequest; import org.eclipse.tractusx.irs.policystore.services.PolicyStoreService; import org.springframework.http.HttpStatus; import org.springframework.security.access.prepost.PreAuthorize; @@ -49,6 +51,7 @@ import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.PutMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseStatus; @@ -61,7 +64,9 @@ @RestController @RequestMapping("irs") @RequiredArgsConstructor -@SuppressWarnings("PMD.AvoidDuplicateLiterals") +@SuppressWarnings({ "PMD.AvoidDuplicateLiterals", + "PMD.ExcessiveImports" +}) public class PolicyStoreController { private final PolicyStoreService service; @@ -93,7 +98,7 @@ public class PolicyStoreController { }) @PostMapping("/policies") @ResponseStatus(HttpStatus.CREATED) - @PreAuthorize("@authorizationService.verifyBpn() && hasAuthority('view_irs')") + @PreAuthorize("@authorizationService.verifyBpn() && hasAuthority('" + IrsRoles.ADMIN_IRS + "')") public void registerAllowedPolicy(final @Valid @RequestBody CreatePolicyRequest request) { service.registerPolicy(request); } @@ -122,7 +127,7 @@ public void registerAllowedPolicy(final @Valid @RequestBody CreatePolicyRequest }) @GetMapping("/policies") @ResponseStatus(HttpStatus.OK) - @PreAuthorize("@authorizationService.verifyBpn() && hasAuthority('view_irs')") + @PreAuthorize("@authorizationService.verifyBpn() && hasAuthority('" + IrsRoles.ADMIN_IRS + "')") public List getPolicies() { return service.getStoredPolicies(); } @@ -154,8 +159,40 @@ public List getPolicies() { }) @DeleteMapping("/policies/{policyId}") @ResponseStatus(HttpStatus.OK) - @PreAuthorize("@authorizationService.verifyBpn() && hasAuthority('view_irs')") + @PreAuthorize("@authorizationService.verifyBpn() && hasAuthority('" + IrsRoles.ADMIN_IRS + "')") public void deleteAllowedPolicy(@PathVariable("policyId") final String policyId) { service.deletePolicy(policyId); } + + @Operation(operationId = "updateAllowedPolicy", + summary = "Updates an existing policy with new validUntil value.", + security = @SecurityRequirement(name = "oAuth2", scopes = "profile email"), + tags = { "Item Relationship Service" }, + description = "Updates an existing policy with new validUntil value.") + @ApiResponses(value = { @ApiResponse(responseCode = "200"), + @ApiResponse(responseCode = "400", description = "Policy update failed.", + content = { @Content(mediaType = APPLICATION_JSON_VALUE, + schema = @Schema(implementation = ErrorResponse.class), + examples = @ExampleObject(name = "error", + ref = "#/components/examples/error-response-400")) + }), + @ApiResponse(responseCode = "401", description = UNAUTHORIZED_DESC, + content = { @Content(mediaType = APPLICATION_JSON_VALUE, + schema = @Schema(implementation = ErrorResponse.class), + examples = @ExampleObject(name = "error", + ref = "#/components/examples/error-response-401")) + }), + @ApiResponse(responseCode = "403", description = FORBIDDEN_DESC, + content = { @Content(mediaType = APPLICATION_JSON_VALUE, + schema = @Schema(implementation = ErrorResponse.class), + examples = @ExampleObject(name = "error", + ref = "#/components/examples/error-response-403")) + }), + }) + @PutMapping("/policies/{policyId}") + @ResponseStatus(HttpStatus.OK) + @PreAuthorize("@authorizationService.verifyBpn() && hasAuthority('view_irs')") + public void updateAllowedPolicy(@PathVariable("policyId") final String policyId, final @Valid @RequestBody UpdatePolicyRequest request) { + service.updatePolicy(policyId, request); + } } diff --git a/irs-policy-store/src/main/java/org/eclipse/tractusx/irs/policystore/models/Policy.java b/irs-policy-store/src/main/java/org/eclipse/tractusx/irs/policystore/models/Policy.java index f91e06ec05..f95838d9c3 100644 --- a/irs-policy-store/src/main/java/org/eclipse/tractusx/irs/policystore/models/Policy.java +++ b/irs-policy-store/src/main/java/org/eclipse/tractusx/irs/policystore/models/Policy.java @@ -24,11 +24,24 @@ import java.time.OffsetDateTime; +import lombok.AllArgsConstructor; +import lombok.Getter; +import lombok.NoArgsConstructor; + /** * A stored policy object. - * @param policyId the ID of the policy - * @param createdOn the timestamp the policy was stored - * @param validUntil the timestamp after which the policy will no longer be accepted */ -public record Policy(String policyId, OffsetDateTime createdOn, OffsetDateTime validUntil) { +@Getter +@AllArgsConstructor +@NoArgsConstructor +public class Policy { + + private String policyId; + private OffsetDateTime createdOn; + private OffsetDateTime validUntil; + + public Policy update(final OffsetDateTime validUntil) { + this.validUntil = validUntil; + return this; + } } diff --git a/irs-policy-store/src/main/java/org/eclipse/tractusx/irs/policystore/models/UpdatePolicyRequest.java b/irs-policy-store/src/main/java/org/eclipse/tractusx/irs/policystore/models/UpdatePolicyRequest.java new file mode 100644 index 0000000000..04b659aff7 --- /dev/null +++ b/irs-policy-store/src/main/java/org/eclipse/tractusx/irs/policystore/models/UpdatePolicyRequest.java @@ -0,0 +1,37 @@ +/******************************************************************************** + * Copyright (c) 2021,2022,2023 + * 2022: ZF Friedrichshafen AG + * 2022: ISTOS GmbH + * 2022,2023: Bayerische Motoren Werke Aktiengesellschaft (BMW AG) + * 2022,2023: BOSCH AG + * Copyright (c) 2021,2022,2023 Contributors to the Eclipse Foundation + * + * See the NOTICE file(s) distributed with this work for additional + * information regarding copyright ownership. + * + * This program and the accompanying materials are made available under the + * terms of the Apache License, Version 2.0 which is available at + * https://www.apache.org/licenses/LICENSE-2.0. * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + * + * SPDX-License-Identifier: Apache-2.0 + ********************************************************************************/ +package org.eclipse.tractusx.irs.policystore.models; + +import java.time.OffsetDateTime; + +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotNull; + +/** + * Request object for policy update + * + */ +@Schema(description = "Request to add a policy") +public record UpdatePolicyRequest(@Schema(description = "Timestamp after which the policy will no longer be accepted in negotiations") @NotNull OffsetDateTime validUntil) { + +} diff --git a/irs-policy-store/src/main/java/org/eclipse/tractusx/irs/policystore/persistence/PolicyPersistence.java b/irs-policy-store/src/main/java/org/eclipse/tractusx/irs/policystore/persistence/PolicyPersistence.java index 23e1ac31db..62ff729a97 100644 --- a/irs-policy-store/src/main/java/org/eclipse/tractusx/irs/policystore/persistence/PolicyPersistence.java +++ b/irs-policy-store/src/main/java/org/eclipse/tractusx/irs/policystore/persistence/PolicyPersistence.java @@ -25,6 +25,7 @@ import static org.eclipse.tractusx.irs.policystore.config.PolicyConfiguration.POLICY_BLOB_PERSISTENCE; import java.io.IOException; +import java.time.OffsetDateTime; import java.util.ArrayList; import java.util.List; import java.util.concurrent.TimeUnit; @@ -66,8 +67,8 @@ public PolicyPersistence(@Qualifier(POLICY_BLOB_PERSISTENCE) final BlobPersisten public void save(final String bpn, final Policy policy) { final var policies = readAll(bpn); - if (policies.stream().map(Policy::policyId).anyMatch(policy.policyId()::equals)) { - throw new PolicyStoreException("Policy with id '" + policy.policyId() + "' already exists!"); + if (policies.stream().map(Policy::getPolicyId).anyMatch(policy.getPolicyId()::equals)) { + throw new PolicyStoreException("Policy with id '" + policy.getPolicyId() + "' already exists!"); } policies.add(policy); save(bpn, policies); @@ -75,10 +76,25 @@ public void save(final String bpn, final Policy policy) { public void delete(final String bpn, final String policyId) { final var policies = readAll(bpn); - final var modifiedPolicies = policies.stream().filter(p -> !p.policyId().equals(policyId)).toList(); + final var modifiedPolicies = policies.stream().filter(p -> !p.getPolicyId().equals(policyId)).toList(); + if (policies.size() == modifiedPolicies.size()) { + throw new PolicyStoreException("Policy with id '" + policyId + "' doesn't exists!"); + } save(bpn, modifiedPolicies); } + public void update(final String bpn, final String policyId, final OffsetDateTime validUntil) { + final var policies = readAll(bpn); + final Policy policy = policies.stream() + .filter(p -> p.getPolicyId().equals(policyId)) + .findFirst() + .orElseThrow(() -> new PolicyStoreException( + "Policy with id '" + policyId + "' doesn't exists!")); + + policy.update(validUntil); + save(bpn, policies); + } + private void save(final String bpn, final List modifiedPolicies) { writeLock(() -> { try { diff --git a/irs-policy-store/src/main/java/org/eclipse/tractusx/irs/policystore/services/PolicyStoreService.java b/irs-policy-store/src/main/java/org/eclipse/tractusx/irs/policystore/services/PolicyStoreService.java index fba72ca345..6178d2b3e3 100644 --- a/irs-policy-store/src/main/java/org/eclipse/tractusx/irs/policystore/services/PolicyStoreService.java +++ b/irs-policy-store/src/main/java/org/eclipse/tractusx/irs/policystore/services/PolicyStoreService.java @@ -29,11 +29,15 @@ import lombok.extern.slf4j.Slf4j; import org.eclipse.tractusx.irs.edc.client.policy.AcceptedPoliciesProvider; import org.eclipse.tractusx.irs.edc.client.policy.AcceptedPolicy; +import org.eclipse.tractusx.irs.policystore.exceptions.PolicyStoreException; import org.eclipse.tractusx.irs.policystore.models.CreatePolicyRequest; import org.eclipse.tractusx.irs.policystore.models.Policy; +import org.eclipse.tractusx.irs.policystore.models.UpdatePolicyRequest; import org.eclipse.tractusx.irs.policystore.persistence.PolicyPersistence; import org.springframework.beans.factory.annotation.Value; +import org.springframework.http.HttpStatus; import org.springframework.stereotype.Service; +import org.springframework.web.server.ResponseStatusException; /** * Service to manage stored policies in IRS. @@ -63,8 +67,11 @@ public PolicyStoreService(@Value("${apiAllowedBpn:}") final String apiAllowedBpn public void registerPolicy(final CreatePolicyRequest request) { log.info("Registering new policy with id {}, valid until {}", request.policyId(), request.validUntil()); - persistence.save(apiAllowedBpn, - new Policy(request.policyId(), OffsetDateTime.now(clock), request.validUntil())); + try { + persistence.save(apiAllowedBpn, new Policy(request.policyId(), OffsetDateTime.now(clock), request.validUntil())); + } catch (final PolicyStoreException e) { + throw new ResponseStatusException(HttpStatus.BAD_REQUEST, e.getMessage(), e); + } } public List getStoredPolicies() { @@ -79,8 +86,22 @@ public List getStoredPolicies() { } public void deletePolicy(final String policyId) { - log.info("Deleting policy with id {}", policyId); - persistence.delete(apiAllowedBpn, policyId); + try { + log.info("Deleting policy with id {}", policyId); + persistence.delete(apiAllowedBpn, policyId); + } catch (final PolicyStoreException e) { + throw new ResponseStatusException(HttpStatus.NOT_FOUND, e.getMessage(), e); + } + + } + + public void updatePolicy(final String policyId, final UpdatePolicyRequest request) { + try { + log.info("Updating policy with id {}", policyId); + persistence.update(apiAllowedBpn, policyId, request.validUntil()); + } catch (final PolicyStoreException e) { + throw new ResponseStatusException(HttpStatus.NOT_FOUND, e.getMessage(), e); + } } @Override @@ -89,6 +110,7 @@ public List getAcceptedPolicies() { } private AcceptedPolicy toAcceptedPolicy(final Policy policy) { - return new AcceptedPolicy(policy.policyId(), policy.validUntil()); + return new AcceptedPolicy(policy.getPolicyId(), policy.getValidUntil()); } + } diff --git a/irs-policy-store/src/test/java/org/eclipse/tractusx/irs/policystore/controllers/PolicyStoreControllerTest.java b/irs-policy-store/src/test/java/org/eclipse/tractusx/irs/policystore/controllers/PolicyStoreControllerTest.java index 634c7d4732..4668ef8d1d 100644 --- a/irs-policy-store/src/test/java/org/eclipse/tractusx/irs/policystore/controllers/PolicyStoreControllerTest.java +++ b/irs-policy-store/src/test/java/org/eclipse/tractusx/irs/policystore/controllers/PolicyStoreControllerTest.java @@ -31,6 +31,7 @@ import org.eclipse.tractusx.irs.policystore.models.CreatePolicyRequest; import org.eclipse.tractusx.irs.policystore.models.Policy; +import org.eclipse.tractusx.irs.policystore.models.UpdatePolicyRequest; import org.eclipse.tractusx.irs.policystore.services.PolicyStoreService; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; @@ -84,4 +85,17 @@ void deleteAllowedPolicy() { // assert verify(service).deletePolicy("testId"); } + + @Test + void updateAllowedPolicy() { + // arrange + final UpdatePolicyRequest request = new UpdatePolicyRequest(OffsetDateTime.now()); + + // act + final String policyId = "policyId"; + testee.updateAllowedPolicy(policyId, request); + + // assert + verify(service).updatePolicy(policyId, request); + } } \ No newline at end of file diff --git a/irs-policy-store/src/test/java/org/eclipse/tractusx/irs/policystore/persistence/PolicyPersistenceTest.java b/irs-policy-store/src/test/java/org/eclipse/tractusx/irs/policystore/persistence/PolicyPersistenceTest.java index 2da2b64961..3bc833d28e 100644 --- a/irs-policy-store/src/test/java/org/eclipse/tractusx/irs/policystore/persistence/PolicyPersistenceTest.java +++ b/irs-policy-store/src/test/java/org/eclipse/tractusx/irs/policystore/persistence/PolicyPersistenceTest.java @@ -24,6 +24,7 @@ import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThatThrownBy; +import static org.junit.jupiter.api.Assertions.assertThrows; import static org.mockito.ArgumentMatchers.any; import static org.mockito.ArgumentMatchers.anyString; import static org.mockito.Mockito.doThrow; @@ -112,17 +113,54 @@ void saveWithWriteError() throws BlobPersistenceException { @Test void delete() throws BlobPersistenceException, JsonProcessingException { // arrange - final var policy = new Policy("test", OffsetDateTime.now(), OffsetDateTime.now()); + final String policyId = "test"; + final var policy = new Policy(policyId, OffsetDateTime.now(), OffsetDateTime.now()); + final var policies = List.of(policy); + when(mockPersistence.getBlob(anyString())).thenReturn(Optional.of(mapper.writeValueAsBytes(policies))); + + // act + testee.delete("testBpn", policyId); + + // assert + verify(mockPersistence).putBlob(anyString(), any()); + } + + @Test + void update() throws BlobPersistenceException, JsonProcessingException { + // arrange + final String policyId = "test"; + final var policy = new Policy(policyId, OffsetDateTime.now(), OffsetDateTime.now()); final var policies = List.of(policy); when(mockPersistence.getBlob(anyString())).thenReturn(Optional.of(mapper.writeValueAsBytes(policies))); // act - testee.delete("testBpn", "policyId"); + testee.update("testBpn", policyId, OffsetDateTime.now()); // assert verify(mockPersistence).putBlob(anyString(), any()); } + @Test + void deleteShouldThrowExceptionIfPolicyWithIdDoesntExists() throws BlobPersistenceException, JsonProcessingException { + // arrange + final var policy = new Policy("policyId", OffsetDateTime.now(), OffsetDateTime.now()); + when(mockPersistence.getBlob(anyString())).thenReturn(Optional.of(mapper.writeValueAsBytes(List.of(policy)))); + + // act + assertThrows(PolicyStoreException.class, () -> testee.delete("testBpn", "notExistingPolicyId")); + } + + @Test + void updateShouldThrowExceptionIfPolicyWithIdDoesntExists() throws BlobPersistenceException, JsonProcessingException { + // arrange + final OffsetDateTime now = OffsetDateTime.now(); + final var policy = new Policy("policyId", now, now); + when(mockPersistence.getBlob(anyString())).thenReturn(Optional.of(mapper.writeValueAsBytes(List.of(policy)))); + + // act + assertThrows(PolicyStoreException.class, () -> testee.update("testBpn", "notExistingPolicyId", now)); + } + @Test void readAll() throws BlobPersistenceException, JsonProcessingException { // arrange diff --git a/irs-policy-store/src/test/java/org/eclipse/tractusx/irs/policystore/services/PolicyStoreServiceTest.java b/irs-policy-store/src/test/java/org/eclipse/tractusx/irs/policystore/services/PolicyStoreServiceTest.java index 06f4cddb0e..f61db80ed7 100644 --- a/irs-policy-store/src/test/java/org/eclipse/tractusx/irs/policystore/services/PolicyStoreServiceTest.java +++ b/irs-policy-store/src/test/java/org/eclipse/tractusx/irs/policystore/services/PolicyStoreServiceTest.java @@ -23,8 +23,10 @@ package org.eclipse.tractusx.irs.policystore.services; import static org.assertj.core.api.Assertions.assertThat; +import static org.junit.jupiter.api.Assertions.assertThrows; import static org.mockito.ArgumentMatchers.any; import static org.mockito.ArgumentMatchers.eq; +import static org.mockito.Mockito.doThrow; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; @@ -32,14 +34,17 @@ import java.time.OffsetDateTime; import java.util.List; +import org.eclipse.tractusx.irs.policystore.exceptions.PolicyStoreException; import org.eclipse.tractusx.irs.policystore.models.CreatePolicyRequest; import org.eclipse.tractusx.irs.policystore.models.Policy; +import org.eclipse.tractusx.irs.policystore.models.UpdatePolicyRequest; import org.eclipse.tractusx.irs.policystore.persistence.PolicyPersistence; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; import org.mockito.Mock; import org.mockito.junit.jupiter.MockitoExtension; +import org.springframework.web.server.ResponseStatusException; @ExtendWith(MockitoExtension.class) class PolicyStoreServiceTest { @@ -69,6 +74,17 @@ void registerPolicy() { verify(persistence).save(eq(BPN), any()); } + @Test + void registerPolicyShouldThrowResponseStatusException() { + // act + final String policyId = "testId"; + doThrow(new PolicyStoreException("")).when(persistence).save(eq(BPN), any()); + final CreatePolicyRequest request = new CreatePolicyRequest(policyId, OffsetDateTime.now()); + + // assert + assertThrows(ResponseStatusException.class, () -> testee.registerPolicy(request)); + } + @Test void getStoredPolicies() { // arrange @@ -94,4 +110,37 @@ void deletePolicy() { // assert verify(persistence).delete(BPN, "testId"); } + + @Test + void deletePolicyShouldThrowResponseStatusException() { + // act + final String policyId = "testId"; + doThrow(new PolicyStoreException("")).when(persistence).delete(BPN, policyId); + + // assert + assertThrows(ResponseStatusException.class, () -> testee.deletePolicy(policyId)); + } + + @Test + void updatePolicy() { + // act + final String policyId = "testId"; + final OffsetDateTime validUntil = OffsetDateTime.now(); + testee.updatePolicy(policyId, new UpdatePolicyRequest(validUntil)); + + // assert + verify(persistence).update(BPN, policyId, validUntil); + } + + @Test + void updatePolicyShouldThrowResponseStatusException() { + // act + final String policyId = "testId"; + final OffsetDateTime validUntil = OffsetDateTime.now(); + doThrow(new PolicyStoreException("")).when(persistence).update(BPN, policyId, validUntil); + final UpdatePolicyRequest request = new UpdatePolicyRequest(validUntil); + + // assert + assertThrows(ResponseStatusException.class, () -> testee.updatePolicy(policyId, request)); + } } \ No newline at end of file diff --git a/irs-registry-client/README.md b/irs-registry-client/README.md index 6a9c3deff0..e2ed0fadfa 100644 --- a/irs-registry-client/README.md +++ b/irs-registry-client/README.md @@ -13,32 +13,14 @@ The library is based on Spring Boot and uses its configuration features. Include the library into your project: ``` - - - github - GitHub Packages - https://maven.pkg.github.com/catenax-ng/tx-item-relationship-service - - - org.eclipse.tractusx.irs irs-registry-client - 1.0.0-SNAPSHOT + 1.2.0-SNAPSHOT ``` -**Note**: Since the library is currently only available on GitHub Packages, you need to provide a personal access token (PAT) for local builds. Update your Maven settings.xml (usually located at ~/.m2/settings.xml) like this: -``` - - - github - enter-your-github-username - enter-your-generated-personal-access-token - - -``` Add the following configuration to your `application.yaml`: @@ -50,6 +32,8 @@ digitalTwinRegistryClient: descriptorEndpoint: "" # required if type is "central", must contain the placeholder {aasIdentifier} shellLookupEndpoint: "" # required if type is "central", must contain the placeholder {assetIds} + shellDescriptorTemplate: /shell-descriptors/{aasIdentifier} # The path to retrieve AAS descriptors from the DTR. Required if type is "decentral", must contain the placeholder {aasIdentifier} + lookupShellsTemplate: /lookup/shells?assetIds={assetIds} # The path to lookup shells from the DTR. Required if type is "decentral", must contain the placeholder {assetIds} irs-edc-client: callback-url: "" # The URL where the EDR token callback will be sent to. This defaults to {BASE_URL}/internal/endpoint-data-reference. If you want to use a different mapping, you can override it with irs-edc-client.callback.mapping. @@ -78,10 +62,10 @@ irs-edc-client: catalog: - cache: - enabled: false # Set to false to disable caching - ttl: P1D # Time after which a cached Item is no longer valid and the real catalog is called instead - maxCachedItems: 64000 # Maximum amount of cached catalog items + policies: + # IRS will only negotiate contracts for offers with a policy as defined in the allowedNames list. + # If a requested asset does not provide one of these policies, a tombstone will be created and this node will not be processed. + allowedNames: ID 3.0 Trace, ID 3.1 Trace, R2_Traceability, FrameworkAgreement.traceability # List of comma separated names of the policies to accept. ``` diff --git a/irs-registry-client/src/main/java/org/eclipse/tractusx/irs/registryclient/DefaultConfiguration.java b/irs-registry-client/src/main/java/org/eclipse/tractusx/irs/registryclient/DefaultConfiguration.java index bb1d9e16e9..0856561529 100644 --- a/irs-registry-client/src/main/java/org/eclipse/tractusx/irs/registryclient/DefaultConfiguration.java +++ b/irs-registry-client/src/main/java/org/eclipse/tractusx/irs/registryclient/DefaultConfiguration.java @@ -114,8 +114,10 @@ public EndpointDataForConnectorsService endpointDataForConnectorsService(final E @Bean @ConditionalOnProperty(prefix = CONFIG_PREFIX, name = CONFIG_FIELD_TYPE, havingValue = CONFIG_VALUE_DECENTRAL) public DecentralDigitalTwinRegistryClient decentralDigitalTwinRegistryClient( - @Qualifier(EDC_REST_TEMPLATE) final RestTemplate edcRestTemplate) { - return new DecentralDigitalTwinRegistryClient(edcRestTemplate); + @Qualifier(EDC_REST_TEMPLATE) final RestTemplate edcRestTemplate, + @Value("${digitalTwinRegistry.shellDescriptorTemplate:}") final String shellDescriptorTemplate, + @Value("${digitalTwinRegistry.lookupShellsTemplate:}") final String lookupShellsTemplate) { + return new DecentralDigitalTwinRegistryClient(edcRestTemplate, shellDescriptorTemplate, lookupShellsTemplate); } @Bean diff --git a/irs-registry-client/src/main/java/org/eclipse/tractusx/irs/registryclient/central/CentralDigitalTwinRegistryService.java b/irs-registry-client/src/main/java/org/eclipse/tractusx/irs/registryclient/central/CentralDigitalTwinRegistryService.java index 5d0d0570cb..640f978d81 100644 --- a/irs-registry-client/src/main/java/org/eclipse/tractusx/irs/registryclient/central/CentralDigitalTwinRegistryService.java +++ b/irs-registry-client/src/main/java/org/eclipse/tractusx/irs/registryclient/central/CentralDigitalTwinRegistryService.java @@ -55,7 +55,8 @@ public Collection fetchShells(final Collecti @Override public Collection lookupShellIdentifiers(final String bpn) { log.info("Looking up shells for bpn {}", bpn); - final var shellIds = digitalTwinRegistryClient.getAllAssetAdministrationShellIdsByAssetLink(List.of()); + final var shellIds = digitalTwinRegistryClient.getAllAssetAdministrationShellIdsByAssetLink(List.of()) + .getResult(); log.info("Found {} shells in total", shellIds.size()); return shellIds.stream().map(id -> new DigitalTwinRegistryKey(id, bpn)).toList(); } @@ -67,7 +68,7 @@ private String getAAShellIdentificationOrGlobalAssetId(final String globalAssetI .build(); final List allAssetAdministrationShellIdsByAssetLink = digitalTwinRegistryClient.getAllAssetAdministrationShellIdsByAssetLink( - Collections.singletonList(identifierKeyValuePair)); + Collections.singletonList(identifierKeyValuePair)).getResult(); return allAssetAdministrationShellIdsByAssetLink.stream().findFirst().orElse(globalAssetId); } diff --git a/irs-registry-client/src/main/java/org/eclipse/tractusx/irs/registryclient/central/DigitalTwinRegistryClient.java b/irs-registry-client/src/main/java/org/eclipse/tractusx/irs/registryclient/central/DigitalTwinRegistryClient.java index c51faa9c9b..c25ec209b1 100644 --- a/irs-registry-client/src/main/java/org/eclipse/tractusx/irs/registryclient/central/DigitalTwinRegistryClient.java +++ b/irs-registry-client/src/main/java/org/eclipse/tractusx/irs/registryclient/central/DigitalTwinRegistryClient.java @@ -26,6 +26,7 @@ import org.eclipse.tractusx.irs.component.assetadministrationshell.AssetAdministrationShellDescriptor; import org.eclipse.tractusx.irs.component.assetadministrationshell.IdentifierKeyValuePair; +import org.eclipse.tractusx.irs.registryclient.decentral.LookupShellsResponse; /** * Digital Twin Registry Rest Client @@ -45,7 +46,7 @@ public interface DigitalTwinRegistryClient { * @param assetIds The key-value-pair of an Asset identifier * @return urn uuid string list */ - List getAllAssetAdministrationShellIdsByAssetLink(List assetIds); + LookupShellsResponse getAllAssetAdministrationShellIdsByAssetLink(List assetIds); } diff --git a/irs-registry-client/src/main/java/org/eclipse/tractusx/irs/registryclient/central/DigitalTwinRegistryClientImpl.java b/irs-registry-client/src/main/java/org/eclipse/tractusx/irs/registryclient/central/DigitalTwinRegistryClientImpl.java index bd87cdfa2a..b7214e13f5 100644 --- a/irs-registry-client/src/main/java/org/eclipse/tractusx/irs/registryclient/central/DigitalTwinRegistryClientImpl.java +++ b/irs-registry-client/src/main/java/org/eclipse/tractusx/irs/registryclient/central/DigitalTwinRegistryClientImpl.java @@ -31,10 +31,9 @@ import org.apache.commons.lang3.StringUtils; import org.eclipse.tractusx.irs.component.assetadministrationshell.AssetAdministrationShellDescriptor; import org.eclipse.tractusx.irs.component.assetadministrationshell.IdentifierKeyValuePair; -import org.eclipse.tractusx.irs.registryclient.decentral.ShellQueryBody; +import org.eclipse.tractusx.irs.data.StringMapper; +import org.eclipse.tractusx.irs.registryclient.decentral.LookupShellsResponse; import org.springframework.beans.factory.annotation.Value; -import org.springframework.core.ParameterizedTypeReference; -import org.springframework.http.HttpEntity; import org.springframework.http.HttpMethod; import org.springframework.web.client.RestTemplate; import org.springframework.web.util.UriComponentsBuilder; @@ -45,6 +44,7 @@ public class DigitalTwinRegistryClientImpl implements DigitalTwinRegistryClient { private static final String PLACEHOLDER_AAS_IDENTIFIER = "aasIdentifier"; + private static final String PLACEHOLDER_ASSET_IDS = "assetIds"; private final RestTemplate restTemplate; private final String descriptorEndpoint; private final String shellLookupEndpoint; @@ -95,15 +95,12 @@ public AssetAdministrationShellDescriptor getAssetAdministrationShellDescriptor( @Override @Retry(name = "registry") - public List getAllAssetAdministrationShellIdsByAssetLink(final List assetIds) { - final ShellQueryBody queryBody = ShellQueryBody.builder() - .query(ShellQueryBody.ShellQuery.builder() - .assetIds(assetIds) - .build()) - .build(); - return restTemplate.exchange(shellLookupEndpoint, HttpMethod.POST, new HttpEntity<>(queryBody), - new ParameterizedTypeReference>() { - }).getBody(); + public LookupShellsResponse getAllAssetAdministrationShellIdsByAssetLink( + final List assetIds) { + final UriComponentsBuilder uriBuilder = UriComponentsBuilder.fromUriString(shellLookupEndpoint); + final var values = Map.of(PLACEHOLDER_ASSET_IDS, StringMapper.mapToString(assetIds)); + return restTemplate.exchange(uriBuilder.build(values), HttpMethod.GET, null, LookupShellsResponse.class) + .getBody(); } } diff --git a/irs-registry-client/src/main/java/org/eclipse/tractusx/irs/registryclient/central/DigitalTwinRegistryClientLocalStub.java b/irs-registry-client/src/main/java/org/eclipse/tractusx/irs/registryclient/central/DigitalTwinRegistryClientLocalStub.java index c299324403..078ff53eb8 100644 --- a/irs-registry-client/src/main/java/org/eclipse/tractusx/irs/registryclient/central/DigitalTwinRegistryClientLocalStub.java +++ b/irs-registry-client/src/main/java/org/eclipse/tractusx/irs/registryclient/central/DigitalTwinRegistryClientLocalStub.java @@ -25,9 +25,10 @@ import java.util.Collections; import java.util.List; -import org.eclipse.tractusx.irs.data.CxTestDataContainer; import org.eclipse.tractusx.irs.component.assetadministrationshell.AssetAdministrationShellDescriptor; import org.eclipse.tractusx.irs.component.assetadministrationshell.IdentifierKeyValuePair; +import org.eclipse.tractusx.irs.data.CxTestDataContainer; +import org.eclipse.tractusx.irs.registryclient.decentral.LookupShellsResponse; import org.springframework.context.annotation.Profile; import org.springframework.stereotype.Service; @@ -52,7 +53,8 @@ public AssetAdministrationShellDescriptor getAssetAdministrationShellDescriptor( } @Override - public List getAllAssetAdministrationShellIdsByAssetLink(final List assetIds) { - return Collections.emptyList(); + public LookupShellsResponse getAllAssetAdministrationShellIdsByAssetLink( + final List assetIds) { + return LookupShellsResponse.builder().result(Collections.emptyList()).build(); } } diff --git a/irs-registry-client/src/main/java/org/eclipse/tractusx/irs/registryclient/decentral/DecentralDigitalTwinRegistryClient.java b/irs-registry-client/src/main/java/org/eclipse/tractusx/irs/registryclient/decentral/DecentralDigitalTwinRegistryClient.java index 12c2efd30f..29caca4ff3 100644 --- a/irs-registry-client/src/main/java/org/eclipse/tractusx/irs/registryclient/decentral/DecentralDigitalTwinRegistryClient.java +++ b/irs-registry-client/src/main/java/org/eclipse/tractusx/irs/registryclient/decentral/DecentralDigitalTwinRegistryClient.java @@ -28,11 +28,11 @@ import java.util.Map; import io.github.resilience4j.retry.annotation.Retry; -import lombok.RequiredArgsConstructor; import org.eclipse.edc.spi.types.domain.edr.EndpointDataReference; import org.eclipse.tractusx.irs.component.assetadministrationshell.AssetAdministrationShellDescriptor; import org.eclipse.tractusx.irs.component.assetadministrationshell.IdentifierKeyValuePair; -import org.springframework.core.ParameterizedTypeReference; +import org.eclipse.tractusx.irs.data.StringMapper; +import org.springframework.beans.factory.annotation.Value; import org.springframework.http.HttpEntity; import org.springframework.http.HttpHeaders; import org.springframework.http.HttpMethod; @@ -43,13 +43,22 @@ /** * Digital Twin Registry Rest Client */ -@RequiredArgsConstructor public class DecentralDigitalTwinRegistryClient { private static final String PLACEHOLDER_AAS_IDENTIFIER = "aasIdentifier"; - private static final String SHELL_DESCRIPTOR_TEMPLATE = "/shell-descriptors/{aasIdentifier}"; - private static final String QUERY_SHELLS_PATH = "/lookup/shells/query"; + private static final String PLACEHOLDER_ASSET_IDS = "assetIds"; + private final RestTemplate edcRestTemplate; + private final String shellDescriptorTemplate; + private final String lookupShellsTemplate; + + public DecentralDigitalTwinRegistryClient(final RestTemplate edcRestTemplate, + @Value("${digitalTwinRegistry.shellDescriptorTemplate:}") final String shellDescriptorTemplate, + @Value("${digitalTwinRegistry.lookupShellsTemplate:}") final String lookupShellsTemplate) { + this.edcRestTemplate = edcRestTemplate; + this.shellDescriptorTemplate = shellDescriptorTemplate; + this.lookupShellsTemplate = lookupShellsTemplate; + } private static String encodeWithBase64(final String aasIdentifier) { return Base64.getEncoder().encodeToString(aasIdentifier.getBytes(StandardCharsets.UTF_8)); @@ -58,7 +67,7 @@ private static String encodeWithBase64(final String aasIdentifier) { @Retry(name = "registry") public AssetAdministrationShellDescriptor getAssetAdministrationShellDescriptor( final EndpointDataReference endpointDataReference, final String aasIdentifier) { - final String descriptorEndpoint = endpointDataReference.getEndpoint() + SHELL_DESCRIPTOR_TEMPLATE; + final String descriptorEndpoint = endpointDataReference.getEndpoint() + shellDescriptorTemplate; final UriComponentsBuilder uriBuilder = UriComponentsBuilder.fromUriString(descriptorEndpoint); final Map values = Map.of(PLACEHOLDER_AAS_IDENTIFIER, encodeWithBase64(aasIdentifier)); return edcRestTemplate.exchange(uriBuilder.build(values), HttpMethod.GET, @@ -67,18 +76,13 @@ public AssetAdministrationShellDescriptor getAssetAdministrationShellDescriptor( } @Retry(name = "registry") - public List getAllAssetAdministrationShellIdsByAssetLink(final EndpointDataReference endpointDataReference, - final List assetIds) { - final String shellLookupEndpoint = endpointDataReference.getEndpoint() + QUERY_SHELLS_PATH; - final ShellQueryBody queryBody = ShellQueryBody.builder() - .query(ShellQueryBody.ShellQuery.builder() - .assetIds(assetIds) - .build()) - .build(); - return edcRestTemplate.exchange(shellLookupEndpoint, HttpMethod.POST, - new HttpEntity<>(queryBody, headers(endpointDataReference)), - new ParameterizedTypeReference>() { - }).getBody(); + public LookupShellsResponse getAllAssetAdministrationShellIdsByAssetLink( + final EndpointDataReference endpointDataReference, final List assetIds) { + final String shellLookupEndpoint = endpointDataReference.getEndpoint() + lookupShellsTemplate; + final UriComponentsBuilder uriBuilder = UriComponentsBuilder.fromUriString(shellLookupEndpoint); + final var values = Map.of(PLACEHOLDER_ASSET_IDS, StringMapper.mapToString(assetIds)); + return edcRestTemplate.exchange(uriBuilder.build(values), HttpMethod.GET, + new HttpEntity<>(null, headers(endpointDataReference)), LookupShellsResponse.class).getBody(); } private HttpHeaders headers(final EndpointDataReference dataReference) { diff --git a/irs-registry-client/src/main/java/org/eclipse/tractusx/irs/registryclient/decentral/DecentralDigitalTwinRegistryService.java b/irs-registry-client/src/main/java/org/eclipse/tractusx/irs/registryclient/decentral/DecentralDigitalTwinRegistryService.java index 5207d93a20..3dd7dc298d 100644 --- a/irs-registry-client/src/main/java/org/eclipse/tractusx/irs/registryclient/decentral/DecentralDigitalTwinRegistryService.java +++ b/irs-registry-client/src/main/java/org/eclipse/tractusx/irs/registryclient/decentral/DecentralDigitalTwinRegistryService.java @@ -56,6 +56,11 @@ public class DecentralDigitalTwinRegistryService implements DigitalTwinRegistryS private final EndpointDataForConnectorsService endpointDataForConnectorsService; private final DecentralDigitalTwinRegistryClient decentralDigitalTwinRegistryClient; + private static Stream>> groupKeysByBpn( + final Collection keys) { + return keys.stream().collect(Collectors.groupingBy(DigitalTwinRegistryKey::bpn)).entrySet().stream(); + } + @Override public Collection fetchShells(final Collection keys) throws RegistryServiceException { @@ -71,11 +76,6 @@ public Collection fetchShells(final Collecti } } - private static Stream>> groupKeysByBpn( - final Collection keys) { - return keys.stream().collect(Collectors.groupingBy(DigitalTwinRegistryKey::bpn)).entrySet().stream(); - } - @NotNull private Stream fetchShellDescriptors(final Set calledEndpoints, final String bpn, final List keys) { @@ -134,7 +134,7 @@ private AssetAdministrationShellDescriptor fetchShellDescriptor(final EndpointDa private String mapToShellId(final EndpointDataReference endpointDataReference, final String key) { final var identifierKeyValuePair = IdentifierKeyValuePair.builder().name("globalAssetId").value(key).build(); final var aaShellIdentification = decentralDigitalTwinRegistryClient.getAllAssetAdministrationShellIdsByAssetLink( - endpointDataReference, List.of(identifierKeyValuePair)).stream().findFirst().orElse(key); + endpointDataReference, List.of(identifierKeyValuePair)).getResult().stream().findFirst().orElse(key); if (key.equals(aaShellIdentification)) { log.info("Found shell with shellId {} in registry", aaShellIdentification); @@ -156,7 +156,7 @@ private Collection lookupShellIds(final String bpn) { final var shellIds = decentralDigitalTwinRegistryClient.getAllAssetAdministrationShellIdsByAssetLink( endpointDataReference, - List.of(IdentifierKeyValuePair.builder().name("manufacturerId").value(bpn).build())); + List.of(IdentifierKeyValuePair.builder().name("manufacturerId").value(bpn).build())).getResult(); log.info("Found {} shell id(s) in total", shellIds.size()); return shellIds; } diff --git a/irs-registry-client/src/main/java/org/eclipse/tractusx/irs/registryclient/decentral/ShellQueryBody.java b/irs-registry-client/src/main/java/org/eclipse/tractusx/irs/registryclient/decentral/LookupShellsResponse.java similarity index 74% rename from irs-registry-client/src/main/java/org/eclipse/tractusx/irs/registryclient/decentral/ShellQueryBody.java rename to irs-registry-client/src/main/java/org/eclipse/tractusx/irs/registryclient/decentral/LookupShellsResponse.java index a281970f79..0ae62e47ab 100644 --- a/irs-registry-client/src/main/java/org/eclipse/tractusx/irs/registryclient/decentral/ShellQueryBody.java +++ b/irs-registry-client/src/main/java/org/eclipse/tractusx/irs/registryclient/decentral/LookupShellsResponse.java @@ -26,22 +26,15 @@ import lombok.Builder; import lombok.Data; -import org.eclipse.tractusx.irs.component.assetadministrationshell.IdentifierKeyValuePair; +import lombok.extern.jackson.Jacksonized; /** - * Body for Digital Twin Registry Query Request. + * Response to a Digital Twin Registry request to lookup shells. */ @Data @Builder -public class ShellQueryBody { - private final ShellQuery query; - - /** - * List of Identifier Name-Value Pairs for Digital Twin Registry Query. - */ - @Data - @Builder - public static class ShellQuery { - private final List assetIds; - } +@Jacksonized +public class LookupShellsResponse { + private Object pagingMetadata; + private List result; } diff --git a/irs-registry-client/src/test/java/org/eclipse/tractusx/irs/registryclient/DefaultConfigurationTest.java b/irs-registry-client/src/test/java/org/eclipse/tractusx/irs/registryclient/DefaultConfigurationTest.java index b12fb964dc..00e6a56e79 100644 --- a/irs-registry-client/src/test/java/org/eclipse/tractusx/irs/registryclient/DefaultConfigurationTest.java +++ b/irs-registry-client/src/test/java/org/eclipse/tractusx/irs/registryclient/DefaultConfigurationTest.java @@ -40,12 +40,13 @@ class DefaultConfigurationTest { private final DefaultConfiguration testee = new DefaultConfiguration(); + private final String descriptorTemplate = "descriptor/{aasIdentifier}"; + private final String shellLookupTemplate = "shell?{assetIds}"; @Test void centralDigitalTwinRegistryService() { final var service = testee.centralDigitalTwinRegistryService( - testee.digitalTwinRegistryClientImpl(new RestTemplate(), "descriptor/{aasIdentifier}", - "shell?{assetIds}")); + testee.digitalTwinRegistryClientImpl(new RestTemplate(), descriptorTemplate, shellLookupTemplate)); assertThat(service).isNotNull(); } @@ -56,7 +57,7 @@ void decentralDigitalTwinRegistryService() { final var service = testee.decentralDigitalTwinRegistryService( testee.connectorEndpointsService(testee.discoveryFinderClient(new RestTemplate(), "finder")), testee.endpointDataForConnectorsService(facadeMock), - testee.decentralDigitalTwinRegistryClient(new RestTemplate())); + testee.decentralDigitalTwinRegistryClient(new RestTemplate(), descriptorTemplate, shellLookupTemplate)); assertThat(service).isNotNull(); } diff --git a/irs-registry-client/src/test/java/org/eclipse/tractusx/irs/registryclient/central/CentralDigitalTwinRegistryServiceTest.java b/irs-registry-client/src/test/java/org/eclipse/tractusx/irs/registryclient/central/CentralDigitalTwinRegistryServiceTest.java index 797e456831..bbe5c6b2f9 100644 --- a/irs-registry-client/src/test/java/org/eclipse/tractusx/irs/registryclient/central/CentralDigitalTwinRegistryServiceTest.java +++ b/irs-registry-client/src/test/java/org/eclipse/tractusx/irs/registryclient/central/CentralDigitalTwinRegistryServiceTest.java @@ -24,6 +24,7 @@ import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThatExceptionOfType; +import static org.mockito.ArgumentMatchers.any; import static org.mockito.ArgumentMatchers.anyList; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.times; @@ -35,12 +36,13 @@ import java.util.Collections; import java.util.List; -import org.eclipse.tractusx.irs.data.CxTestDataContainer; import org.eclipse.tractusx.irs.component.assetadministrationshell.AssetAdministrationShellDescriptor; import org.eclipse.tractusx.irs.component.assetadministrationshell.Endpoint; import org.eclipse.tractusx.irs.component.assetadministrationshell.SubmodelDescriptor; +import org.eclipse.tractusx.irs.data.CxTestDataContainer; import org.eclipse.tractusx.irs.registryclient.DigitalTwinRegistryKey; import org.eclipse.tractusx.irs.registryclient.DigitalTwinRegistryService; +import org.eclipse.tractusx.irs.registryclient.decentral.LookupShellsResponse; import org.eclipse.tractusx.irs.registryclient.exceptions.RegistryServiceException; import org.eclipse.tractusx.irs.testing.containers.LocalTestDataConfigurationAware; import org.junit.jupiter.api.BeforeEach; @@ -86,7 +88,8 @@ void shouldReturnSubmodelEndpointsWhenRequestingWithCatenaXId() throws RegistryS final Endpoint endpoint = shellEndpoints.get(0).getEndpoints().get(0); assertThat(endpoint.getProtocolInformation().getSubprotocolBody()).contains(existingCatenaXId); - assertThat(shellEndpoints.get(0).getSemanticId().getKeys().get(0).getValue()).isEqualTo(singleLevelBomAsBuiltURN); + assertThat(shellEndpoints.get(0).getSemanticId().getKeys().get(0).getValue()).isEqualTo( + singleLevelBomAsBuiltURN); assertThat(shellEndpoints.get(1).getSemanticId().getKeys().get(0).getValue()).isEqualTo(serialPartURN); } @@ -96,6 +99,8 @@ void shouldThrowExceptionWhenRequestError() { final DigitalTwinRegistryKey key = new DigitalTwinRegistryKey(catenaXId, ""); when(dtRegistryClientMock.getAssetAdministrationShellDescriptor(catenaXId)).thenThrow( new RestClientException("Dummy")); + when(dtRegistryClientMock.getAllAssetAdministrationShellIdsByAssetLink(any())).thenReturn( + LookupShellsResponse.builder().result(Collections.emptyList()).build()); final var keys = List.of(key); assertThatExceptionOfType(RestClientException.class).isThrownBy( @@ -109,6 +114,8 @@ void shouldReturnTombstoneWhenClientReturnsEmptyDescriptor() { shellDescriptor.setSubmodelDescriptors(List.of()); when(dtRegistryClientMock.getAssetAdministrationShellDescriptor(catenaXId)).thenReturn(shellDescriptor); + when(dtRegistryClientMock.getAllAssetAdministrationShellIdsByAssetLink(any())).thenReturn( + LookupShellsResponse.builder().result(Collections.emptyList()).build()); final List submodelEndpoints = dtRegistryFacadeWithMock.fetchShells( List.of(new DigitalTwinRegistryKey(catenaXId, ""))).stream().findFirst().get().getSubmodelDescriptors(); @@ -122,6 +129,8 @@ void verifyExecutionOfRegistryClientMethods() { shellDescriptor.setSubmodelDescriptors(List.of()); when(dtRegistryClientMock.getAssetAdministrationShellDescriptor(catenaXId)).thenReturn(shellDescriptor); + when(dtRegistryClientMock.getAllAssetAdministrationShellIdsByAssetLink(any())).thenReturn( + LookupShellsResponse.builder().result(Collections.emptyList()).build()); dtRegistryFacadeWithMock.fetchShells(List.of(new DigitalTwinRegistryKey(catenaXId, ""))); @@ -137,7 +146,7 @@ void shouldReturnAssetAdministrationShellDescriptorForFoundIdentification() { shellDescriptor.setSubmodelDescriptors(List.of()); when(dtRegistryClientMock.getAllAssetAdministrationShellIdsByAssetLink(anyList())).thenReturn( - Collections.singletonList(identification)); + LookupShellsResponse.builder().result(Collections.singletonList(identification)).build()); when(dtRegistryClientMock.getAssetAdministrationShellDescriptor(identification)).thenReturn(shellDescriptor); final List submodelEndpoints = dtRegistryFacadeWithMock.fetchShells( diff --git a/irs-registry-client/src/test/java/org/eclipse/tractusx/irs/registryclient/central/DigitalTwinRegistryClientImplTest.java b/irs-registry-client/src/test/java/org/eclipse/tractusx/irs/registryclient/central/DigitalTwinRegistryClientImplTest.java index 6287610363..57c1da6898 100644 --- a/irs-registry-client/src/test/java/org/eclipse/tractusx/irs/registryclient/central/DigitalTwinRegistryClientImplTest.java +++ b/irs-registry-client/src/test/java/org/eclipse/tractusx/irs/registryclient/central/DigitalTwinRegistryClientImplTest.java @@ -25,7 +25,6 @@ import static org.junit.jupiter.api.Assertions.assertNotNull; import static org.junit.jupiter.api.Assertions.assertThrows; import static org.mockito.ArgumentMatchers.any; -import static org.mockito.ArgumentMatchers.anyString; import static org.mockito.ArgumentMatchers.eq; import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.doThrow; @@ -40,8 +39,8 @@ import org.eclipse.tractusx.irs.component.assetadministrationshell.AssetAdministrationShellDescriptor; import org.eclipse.tractusx.irs.component.assetadministrationshell.IdentifierKeyValuePair; +import org.eclipse.tractusx.irs.registryclient.decentral.LookupShellsResponse; import org.junit.jupiter.api.Test; -import org.springframework.core.ParameterizedTypeReference; import org.springframework.http.ResponseEntity; import org.springframework.web.client.ResourceAccessException; import org.springframework.web.client.RestTemplate; @@ -70,27 +69,28 @@ void shouldCallExternalServiceOnceAndGetAssetAdministrationShellDescriptor() { @Test void shouldCallExternalServiceOnceAndGetAssetAdministrationShellIds() { - doReturn(ResponseEntity.ok(List.of("testId"))).when(restTemplate) - .exchange(anyString(), any(), any(), - any(ParameterizedTypeReference.class)); + doReturn(ResponseEntity.ok(LookupShellsResponse.builder().result(List.of("testId")).build())).when(restTemplate) + .exchange(any(), + any(), any(), + eq(LookupShellsResponse.class)); final List empty = digitalTwinRegistryClient.getAllAssetAdministrationShellIdsByAssetLink( - Collections.emptyList()); + Collections.emptyList()).getResult(); assertNotNull(empty); - verify(this.restTemplate, times(1)).exchange(anyString(), any(), any(), any(ParameterizedTypeReference.class)); + verify(this.restTemplate, times(1)).exchange(any(), any(), any(), eq(LookupShellsResponse.class)); } @Test void shouldCallExternalServiceOnceAndRunIntoTimeout() { final SocketTimeoutException timeoutException = new SocketTimeoutException("UnitTestTimeout"); Throwable ex = new ResourceAccessException("UnitTest", timeoutException); - doThrow(ex).when(restTemplate).exchange(anyString(), any(), any(), any(ParameterizedTypeReference.class)); + doThrow(ex).when(restTemplate).exchange(any(), any(), any(), eq(LookupShellsResponse.class)); final List emptyList = Collections.emptyList(); assertThrows(ResourceAccessException.class, () -> digitalTwinRegistryClient.getAllAssetAdministrationShellIdsByAssetLink(emptyList)); - verify(this.restTemplate, times(1)).exchange(anyString(), any(), any(), any(ParameterizedTypeReference.class)); + verify(this.restTemplate, times(1)).exchange(any(), any(), any(), eq(LookupShellsResponse.class)); } } diff --git a/irs-registry-client/src/test/java/org/eclipse/tractusx/irs/registryclient/decentral/DecentralDigitalTwinRegistryClientTest.java b/irs-registry-client/src/test/java/org/eclipse/tractusx/irs/registryclient/decentral/DecentralDigitalTwinRegistryClientTest.java index 2b06b8ae3c..823fa5a175 100644 --- a/irs-registry-client/src/test/java/org/eclipse/tractusx/irs/registryclient/decentral/DecentralDigitalTwinRegistryClientTest.java +++ b/irs-registry-client/src/test/java/org/eclipse/tractusx/irs/registryclient/decentral/DecentralDigitalTwinRegistryClientTest.java @@ -1,7 +1,6 @@ package org.eclipse.tractusx.irs.registryclient.decentral; import static org.mockito.ArgumentMatchers.any; -import static org.mockito.ArgumentMatchers.anyString; import static org.mockito.ArgumentMatchers.eq; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.verify; @@ -9,24 +8,32 @@ import java.net.URI; import java.util.ArrayList; +import java.util.Collections; import java.util.Optional; import org.eclipse.edc.spi.types.domain.edr.EndpointDataReference; import org.eclipse.tractusx.irs.component.assetadministrationshell.AssetAdministrationShellDescriptor; +import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; -import org.springframework.core.ParameterizedTypeReference; import org.springframework.http.HttpMethod; import org.springframework.http.ResponseEntity; import org.springframework.web.client.RestTemplate; class DecentralDigitalTwinRegistryClientTest { + public static final String SHELL_DESCRIPTORS = "/shell-descriptors/{aasIdentifier}"; + public static final String LOOKUP_SHELLS = "/lookup/shells"; RestTemplate restTemplate = mock(RestTemplate.class); + private DecentralDigitalTwinRegistryClient client; + + @BeforeEach + void setUp() { + client = new DecentralDigitalTwinRegistryClient(restTemplate, SHELL_DESCRIPTORS, LOOKUP_SHELLS); + } @Test void shouldCallForAssetAdministrationShellDescriptor() { // given - DecentralDigitalTwinRegistryClient client = new DecentralDigitalTwinRegistryClient(restTemplate); EndpointDataReference endpointDataReference = EndpointDataReference.Builder.newInstance() .endpoint("url.to.host") .build(); @@ -45,18 +52,17 @@ void shouldCallForAssetAdministrationShellDescriptor() { @Test void shouldCallForAllAssetAdministrationShellIdsByAssetLink() { // given - DecentralDigitalTwinRegistryClient client = new DecentralDigitalTwinRegistryClient(restTemplate); EndpointDataReference endpointDataReference = EndpointDataReference.Builder.newInstance() .endpoint("url.to.host") .build(); - when(restTemplate.exchange(anyString(), eq(HttpMethod.POST), any(), - any(ParameterizedTypeReference.class))).thenReturn(ResponseEntity.of(Optional.of(new ArrayList<>()))); + when(restTemplate.exchange(any(), eq(HttpMethod.GET), any(), eq(LookupShellsResponse.class))).thenReturn( + ResponseEntity.of(Optional.of(LookupShellsResponse.builder().result(Collections.emptyList()).build()))); // when client.getAllAssetAdministrationShellIdsByAssetLink(endpointDataReference, new ArrayList<>()); // then - verify(restTemplate).exchange(anyString(), eq(HttpMethod.POST), any(), any(ParameterizedTypeReference.class)); + verify(restTemplate).exchange(any(), eq(HttpMethod.GET), any(), eq(LookupShellsResponse.class)); } } \ No newline at end of file diff --git a/irs-registry-client/src/test/java/org/eclipse/tractusx/irs/registryclient/decentral/DecentralDigitalTwinRegistryServiceTest.java b/irs-registry-client/src/test/java/org/eclipse/tractusx/irs/registryclient/decentral/DecentralDigitalTwinRegistryServiceTest.java index f1f5401600..6035d7d3b1 100644 --- a/irs-registry-client/src/test/java/org/eclipse/tractusx/irs/registryclient/decentral/DecentralDigitalTwinRegistryServiceTest.java +++ b/irs-registry-client/src/test/java/org/eclipse/tractusx/irs/registryclient/decentral/DecentralDigitalTwinRegistryServiceTest.java @@ -63,6 +63,24 @@ class DecentralDigitalTwinRegistryServiceTest { private final DecentralDigitalTwinRegistryService decentralDigitalTwinRegistryService = new DecentralDigitalTwinRegistryService( connectorEndpointsService, endpointDataForConnectorsService, decentralDigitalTwinRegistryClient); + private static String createAuthCode(final Function expirationModifier) { + final var serializedEdrAuthCode = StringMapper.mapToString( + EDRAuthCode.builder().exp(expirationModifier.apply(Instant.now()).getEpochSecond()).build()); + final var bytes = serializedEdrAuthCode.getBytes(StandardCharsets.UTF_8); + return Base64.getUrlEncoder().encodeToString(bytes); + } + + public static AssetAdministrationShellDescriptor shellDescriptor( + final List submodelDescriptors) { + return AssetAdministrationShellDescriptor.builder() + .specificAssetIds(List.of(IdentifierKeyValuePair.builder() + .name("ManufacturerId") + .value("BPNL00000003AYRE") + .build())) + .submodelDescriptors(submodelDescriptors) + .build(); + } + @Test void shouldReturnExpectedShell() throws RegistryServiceException { // given @@ -72,11 +90,14 @@ void shouldReturnExpectedShell() throws RegistryServiceException { EndpointDataReference endpointDataReference = EndpointDataReference.Builder.newInstance() .endpoint("url.to.host") .build(); + final LookupShellsResponse lookupShellsResponse = LookupShellsResponse.builder() + .result(Collections.emptyList()) + .build(); when(connectorEndpointsService.fetchConnectorEndpoints(any())).thenReturn(List.of("address")); when(endpointDataForConnectorsService.findEndpointDataForConnectors(ArgumentMatchers.anyList())).thenReturn( endpointDataReference); when(decentralDigitalTwinRegistryClient.getAllAssetAdministrationShellIdsByAssetLink(any(), - ArgumentMatchers.anyList())).thenReturn(Collections.emptyList()); + ArgumentMatchers.anyList())).thenReturn(lookupShellsResponse); when(decentralDigitalTwinRegistryClient.getAssetAdministrationShellDescriptor(any(), any())).thenReturn( expectedShell); @@ -103,11 +124,14 @@ void shouldRenewEndpointDataReferenceForMultipleAssets() throws RegistryServiceE EndpointDataReference renewedReference = EndpointDataReference.Builder.newInstance() .endpoint("url.to.host") .build(); + final LookupShellsResponse lookupShellsResponse = LookupShellsResponse.builder() + .result(Collections.emptyList()) + .build(); when(connectorEndpointsService.fetchConnectorEndpoints(any())).thenReturn(List.of("address")); when(endpointDataForConnectorsService.findEndpointDataForConnectors(ArgumentMatchers.anyList())).thenReturn( endpointDataReference, renewedReference); when(decentralDigitalTwinRegistryClient.getAllAssetAdministrationShellIdsByAssetLink(any(), - ArgumentMatchers.anyList())).thenReturn(Collections.emptyList()); + ArgumentMatchers.anyList())).thenReturn(lookupShellsResponse); when(decentralDigitalTwinRegistryClient.getAssetAdministrationShellDescriptor(any(), any())).thenReturn( expectedShell); @@ -133,11 +157,14 @@ void shouldNotRenewEndpointDataReferenceForMultipleAssets() throws RegistryServi .authKey("test") .authCode(authCode) .build(); + final LookupShellsResponse lookupShellsResponse = LookupShellsResponse.builder() + .result(Collections.emptyList()) + .build(); when(connectorEndpointsService.fetchConnectorEndpoints(any())).thenReturn(List.of("address")); when(endpointDataForConnectorsService.findEndpointDataForConnectors(ArgumentMatchers.anyList())).thenReturn( endpointDataReference); when(decentralDigitalTwinRegistryClient.getAllAssetAdministrationShellIdsByAssetLink(any(), - ArgumentMatchers.anyList())).thenReturn(Collections.emptyList()); + ArgumentMatchers.anyList())).thenReturn(lookupShellsResponse); when(decentralDigitalTwinRegistryClient.getAssetAdministrationShellDescriptor(any(), any())).thenReturn( expectedShell); @@ -151,24 +178,6 @@ void shouldNotRenewEndpointDataReferenceForMultipleAssets() throws RegistryServi verify(endpointDataForConnectorsService, times(1)).findEndpointDataForConnectors(anyList()); } - private static String createAuthCode(final Function expirationModifier) { - final var serializedEdrAuthCode = StringMapper.mapToString( - EDRAuthCode.builder().exp(expirationModifier.apply(Instant.now()).getEpochSecond()).build()); - final var bytes = serializedEdrAuthCode.getBytes(StandardCharsets.UTF_8); - return Base64.getUrlEncoder().encodeToString(bytes); - } - - public static AssetAdministrationShellDescriptor shellDescriptor( - final List submodelDescriptors) { - return AssetAdministrationShellDescriptor.builder() - .specificAssetIds(List.of(IdentifierKeyValuePair.builder() - .name("ManufacturerId") - .value("BPNL00000003AYRE") - .build())) - .submodelDescriptors(submodelDescriptors) - .build(); - } - @Test void shouldReturnExpectedGlobalAssetId() throws RegistryServiceException { // given @@ -180,11 +189,15 @@ void shouldReturnExpectedGlobalAssetId() throws RegistryServiceException { .globalAssetId(expectedGlobalAssetId) .build(); final var endpointDataReference = EndpointDataReference.Builder.newInstance().endpoint("url.to.host").build(); + final LookupShellsResponse lookupShellsResponse = LookupShellsResponse.builder() + .result(List.of( + digitalTwinRegistryKey.shellId())) + .build(); when(connectorEndpointsService.fetchConnectorEndpoints(any())).thenReturn(List.of("address")); when(endpointDataForConnectorsService.findEndpointDataForConnectors(ArgumentMatchers.anyList())).thenReturn( endpointDataReference); when(decentralDigitalTwinRegistryClient.getAllAssetAdministrationShellIdsByAssetLink(any(), - ArgumentMatchers.anyList())).thenReturn(List.of(digitalTwinRegistryKey.shellId())); + ArgumentMatchers.anyList())).thenReturn(lookupShellsResponse); when(decentralDigitalTwinRegistryClient.getAssetAdministrationShellDescriptor(any(), any())).thenReturn( expectedShell); diff --git a/local/testing/api-tests/irs-api-tests.tavern.yaml b/local/testing/api-tests/irs-api-tests.tavern.yaml index 699110a073..080d435202 100644 --- a/local/testing/api-tests/irs-api-tests.tavern.yaml +++ b/local/testing/api-tests/irs-api-tests.tavern.yaml @@ -9,9 +9,10 @@ stages: request: url: "{tavern.env_vars.IRS_HOST}/ess/bpn/investigations" json: - key: - globalAssetId111: urn:uuid:2c57b0e9-a653-411d-bdcd-64787e9fd3a7 - bpn: BPNL00000003CRHK + globalAssetId111: urn:uuid:2c57b0e9-a653-411d-bdcd-64787e9fd3a7 +# key: +# globalAssetId111: urn:uuid:2c57b0e9-a653-411d-bdcd-64787e9fd3a7 +# bpn: BPNL00000003CRHK incidentBpns11: - BPNL00000003B6LU method: POST @@ -44,9 +45,10 @@ stages: request: url: "{tavern.env_vars.IRS_ESS_HOST}/ess/bpn/investigations" json: - key: - globalAssetId: urn:uuid:2c57b0e9-a653-411d-bdcd-64787e9fd3a7 - bpn: BPNL00000003CRHK +# key: +# globalAssetId: urn:uuid:2c57b0e9-a653-411d-bdcd-64787e9fd3a7 +# bpn: BPNL00000003CRHK + globalAssetId: urn:uuid:2c57b0e9-a653-411d-bdcd-64787e9fd3a7 bomLifecycle: asPlanned callbackUrl: http://testikus.com incidentBpns: @@ -115,9 +117,10 @@ stages: request: url: "{tavern.env_vars.IRS_ESS_HOST}/ess/bpn/investigations" json: - key: - globalAssetId: urn:uuid:2c57b0e9-a653-411d-bdcd-64787e9fd3a7 - bpn: BPNL00000003CRHK +# key: +# globalAssetId: urn:uuid:2c57b0e9-a653-411d-bdcd-64787e9fd3a7 +# bpn: BPNL00000003CRHK + globalAssetId: urn:uuid:2c57b0e9-a653-411d-bdcd-64787e9fd3a7 bomLifecycle: asPlanned callbackUrl: http://testikus.com incidentBpns: @@ -169,9 +172,10 @@ stages: request: url: "{tavern.env_vars.IRS_ESS_HOST}/ess/bpn/investigations" json: - key: - globalAssetId: urn:uuid:2c57b0e9-a653-411d-bdcd-64787e955555 - bpn: BPNL00000003CRHK +# key: +# globalAssetId: urn:uuid:2c57b0e9-a653-411d-bdcd-64787e955555 +# bpn: BPNL00000003CRHK + globalAssetId: urn:uuid:2c57b0e9-a653-411d-bdcd-64787e955555 incidentBpns: - BPNL00000003B6LU method: POST @@ -221,9 +225,10 @@ stages: request: url: "{tavern.env_vars.IRS_ESS_HOST}/ess/bpn/investigations" json: - key: - globalAssetId: urn:uuid:aad27ddb-43aa-4e42-98c2-01e529ef127c - bpn: BPNL00000003CRHK +# key: +# globalAssetId: urn:uuid:aad27ddb-43aa-4e42-98c2-01e529ef127c +# bpn: BPNL00000003CRHK + globalAssetId: urn:uuid:aad27ddb-43aa-4e42-98c2-01e529ef127c incidentBpns: - BPNL00ARBITRARY1 method: POST @@ -387,7 +392,7 @@ stages: json: key: globalAssetId: "{tavern.env_vars.GLOBAL_ASSET_ID_AS_PLANNED}" - bpn: "BPNL00000003AYRE" + bpn: "{tavern.env_vars.BPN_AS_PLANNED}" method: POST headers: content-type: application/json @@ -434,7 +439,7 @@ stages: json: key: globalAssetId: "{tavern.env_vars.GLOBAL_ASSET_ID_AS_PLANNED}" - bpn: "BPNL00000003AYRE" + bpn: "{tavern.env_vars.BPN_AS_PLANNED}" collectAspects: true bomLifecycle: asPlanned depth: 2 @@ -508,7 +513,7 @@ stages: json: key: globalAssetId: "{tavern.env_vars.GLOBAL_ASSET_ID_AS_BUILT}" - bpn: "BPNL00000003AYRE" + bpn: "{tavern.env_vars.BPN_AS_BUILT}" collectAspects: true depth: 2 aspects: @@ -567,7 +572,7 @@ stages: json: key: globalAssetId: "{tavern.env_vars.GLOBAL_ASSET_ID_AS_PLANNED}" - bpn: "BPNL00000003AYRE" + bpn: "{tavern.env_vars.BPN_AS_PLANNED}" collectAspects: false depth: 1 direction: "downward" @@ -657,7 +662,7 @@ stages: json: key: globalAssetId: "{tavern.env_vars.GLOBAL_ASSET_ID_AS_PLANNED}" - bpn: "BPNL00000003AYRE" + bpn: "{tavern.env_vars.BPN_AS_PLANNED}" bomLifecycle: "asPlanned" depth: 2 collectAspects: true @@ -715,7 +720,7 @@ stages: json: key: globalAssetId: "{tavern.env_vars.GLOBAL_ASSET_ID_AS_BUILT}" - bpn: "BPNL00000003AYRE" + bpn: "{tavern.env_vars.BPN_AS_BUILT}" aspects: - SerialPart collectAspects: true @@ -774,7 +779,7 @@ stages: json: key: globalAssetId: "{tavern.env_vars.GLOBAL_ASSET_ID_AS_BUILT}" - bpn: "BPNL00000003AYRE" + bpn: "{tavern.env_vars.BPN_AS_BUILT}" aspects: - SerialPart - ProductDescription @@ -892,8 +897,8 @@ stages: url: "{tavern.env_vars.IRS_HOST}/irs/jobs" json: key: - globalAssetId: "urn:uuid:acf437c1-1f20-4a1b-95f6-23f711cd65f6" - bpn: "BPNL00000003AXS3" + globalAssetId: "urn:uuid:40e21864-ac54-43e1-98ac-9acfddb42ddd" + bpn: "BPNL00000003B0Q0" aspects: - Batch collectAspects: true @@ -953,7 +958,7 @@ stages: json: key: globalAssetId: "{tavern.env_vars.GLOBAL_ASSET_ID_AS_BUILT}" - bpn: "BPNL00000003AYRE" + bpn: "{tavern.env_vars.BPN_AS_BUILT}" aspects: - SerialPart - CertificateOfDestruction @@ -1013,7 +1018,7 @@ stages: json: key: globalAssetId: "{tavern.env_vars.GLOBAL_ASSET_ID_AS_PLANNED}" - bpn: "BPNL00000003AYRE" + bpn: "{tavern.env_vars.BPN_AS_PLANNED}" aspects: - UnknownAspect collectAspects: true @@ -1048,7 +1053,7 @@ stages: json: key: globalAssetId: "{tavern.env_vars.GLOBAL_ASSET_ID_AS_BUILT}" - bpn: "BPNL00000003AYRE" + bpn: "{tavern.env_vars.BPN_AS_BUILT}" aspects: - ProductDescription - CertificateOfDestruction @@ -1153,7 +1158,7 @@ stages: json: key: globalAssetId: "{tavern.env_vars.GLOBAL_ASSET_ID_AS_BUILT}" - bpn: "BPNL00000003AYRE" + bpn: "{tavern.env_vars.BPN_AS_BUILT}" aspects: - SerialPart - SingleLevelBomAsBuilt @@ -1244,7 +1249,7 @@ stages: # json: # key: # globalAssetId: "{tavern.env_vars.GLOBAL_ASSET_ID_AS_BUILT}" - # bpn: "BPNL00000003AYRE" + # bpn: "{tavern.env_vars.BPN_AS_BUILT}" # aspects: # - "{deprecated_aspect}" # collectAspects: true @@ -1363,10 +1368,9 @@ stages: json: key: globalAssetId: "{tavern.env_vars.GLOBAL_ASSET_ID_AS_BUILT}" - bpn: "BPNL00000003AYRE" + bpn: "{tavern.env_vars.BPN_AS_BUILT}" aspects: - SerialPart - - DiagnosticData collectAspects: true method: POST headers: @@ -1520,7 +1524,7 @@ stages: json: key: globalAssetId: "{tavern.env_vars.GLOBAL_ASSET_ID_AS_BUILT}" - bpn: "BPNL00000003AYRE" + bpn: "{tavern.env_vars.BPN_AS_BUILT}" method: POST headers: content-type: application/json @@ -1533,7 +1537,6 @@ stages: save: json: job_id: id - delay_after: 2 - name: cancel the job request: @@ -1665,7 +1668,7 @@ stages: json: key: globalAssetId: "{tavern.env_vars.GLOBAL_ASSET_ID_AS_BUILT}" - bpn: "BPNL00000003AYRE" + bpn: "{tavern.env_vars.BPN_AS_BUILT}" collectAspects: true depth: 1 direction: "downward" @@ -1700,8 +1703,8 @@ stages: url: "{tavern.env_vars.IRS_HOST}/irs/jobs" json: key: - bpn: "BPNL00000003AYRE" globalAssetId: urn:uuid:cce14502-958a-42e1-8bb7-f4f41aaaaaaa + bpn: "BPNL00000003AYRE" collectAspects: true depth: 1 direction: "downward" @@ -1809,7 +1812,7 @@ stages: json: key: globalAssetId: "{tavern.env_vars.GLOBAL_ASSET_ID_AS_PLANNED}" - bpn: "BPNL00000003AYRE" + bpn: "{tavern.env_vars.BPN_AS_PLANNED}" collectAspects: true depth: 2 direction: "downward" @@ -1867,7 +1870,7 @@ stages: json: key: globalAssetId: "{tavern.env_vars.GLOBAL_ASSET_ID_AS_BUILT}" - bpn: "BPNL00000003AYRE" + bpn: "{tavern.env_vars.BPN_AS_BUILT}" collectAspects: false depth: 1 direction: "downward" @@ -1920,7 +1923,7 @@ stages: json: key: globalAssetId: "{tavern.env_vars.GLOBAL_ASSET_ID_AS_BUILT}" - bpn: "BPNL00000003AYRE" + bpn: "{tavern.env_vars.BPN_AS_BUILT}" collectAspects: false lookupBPNs: true depth: 1 @@ -1974,7 +1977,7 @@ stages: json: key: globalAssetId: "{tavern.env_vars.GLOBAL_ASSET_ID_AS_BUILT}" - bpn: "BPNL00000003AYRE" + bpn: "{tavern.env_vars.BPN_AS_BUILT}" collectAspects: false lookupBPNs: true depth: 1 @@ -2031,7 +2034,7 @@ stages: - bpn: "BPNL00000003AYRE" globalAssetId: urn:uuid:0733946c-59c6-41ae-9570-cb43a6e4c79e - bpn: "BPNL00000003AYRE" - globalAssetId: urn:uuid:7940e0cc-7814-41eb-8b04-d984a325deec + globalAssetId: urn:uuid:1b17682e-5e2a-4913-aa1b-7d59a072a3cb - bpn: "BPNL00000003AVTH" globalAssetId: urn:uuid:ed333e9a-5afa-40b2-99da-bae2fd21501e - bpn: "BPNL00000003AYRE" diff --git a/local/testing/api-tests/tavern_helpers.py b/local/testing/api-tests/tavern_helpers.py index 8b0fd6b134..8eded3c3bc 100644 --- a/local/testing/api-tests/tavern_helpers.py +++ b/local/testing/api-tests/tavern_helpers.py @@ -269,7 +269,7 @@ def order_informations_for_batchprocessing_are_given(response, amount_batches): assert batches.get("batchId") is not None assert batches.get("batchNumber") is not None assert batches.get("jobsInBatchChecksum") is not None - assert 'https://irs.dev.demo.catena-x.net/irs/orders' in batches.get("batchUrl") + assert ('https://irs.dev.demo.catena-x.net/irs/orders' in batches.get("batchUrl")) or ('https://irs.int.demo.catena-x.net/irs/orders' in batches.get("batchUrl")) assert batches.get("batchProcessingState") == 'INITIALIZED' assert batches.get("errors") is None diff --git a/local/testing/testdata/CX_Testdata_v1.5.3-AsBuilt-Batch.2.0.0.json b/local/testing/testdata/CX_Testdata_v1.5.3-AsBuilt-Batch.2.0.0.json new file mode 100644 index 0000000000..8abf0a4b4b --- /dev/null +++ b/local/testing/testdata/CX_Testdata_v1.5.3-AsBuilt-Batch.2.0.0.json @@ -0,0 +1,5152 @@ +{ + "policies": { + "ID 3.0 Trace": { + "@context": { + "odrl": "http://www.w3.org/ns/odrl/2/" + }, + "@type": "PolicyDefinitionRequestDto", + "@id": "id-3.0-trace", + "policy": { + "@type": "Policy", + "odrl:permission": [ + { + "odrl:action": "USE", + "odrl:constraint": { + "@type": "AtomicConstraint", + "odrl:or": [ + { + "@type": "Constraint", + "odrl:leftOperand": "PURPOSE", + "odrl:operator": { + "@id": "odrl:eq" + }, + "odrl:rightOperand": "ID 3.0 Trace" + } + ] + } + } + ] + } + } + }, + "https://catenax.io/schema/TestDataContainer/1.0.0": [ + { + "urn:bamm:io.catenax.vehicle.product_description:1.0.0#ProductDescription": [ + { + "bodyVariant": "Sedan", + "catenaXId": "urn:uuid:efcb5f8d-f31c-4b1f-b090-9c878054554d", + "engine": { + "size": 2998, + "power": 154 + }, + "emptyWeight": 1.79, + "fuel": "petrol", + "vehicleModel": "Vehicle Combustion", + "productionDateGMT": "2010-01-01", + "equipmentVariants": [ + { + "code": "A458D", + "description": "parking assistance ", + "group": "special equipment" + }, + { + "code": "A01CR", + "description": "remote engine start", + "group": "special equipment" + }, + { + "code": "S763C", + "description": "sport package", + "group": "special equipment" + }, + { + "code": "B298B", + "description": "keyless entry", + "group": "special equipment" + } + ], + "anonymisedIdentifier": "sOMtThyhVNDWUZNRcBaQXXI", + "mileage": [ + { + "mileagePhase": "as maintained by workshop", + "mileageTimestamp": "2022-04-01T20:09:59.976Z", + "mileageDistance": 120000 + } + ] + } + ], + "urn:bamm:io.catenax.single_level_bom_as_built:1.0.0#SingleLevelBomAsBuilt": [ + { + "catenaXId": "urn:uuid:efcb5f8d-f31c-4b1f-b090-9c878054554d", + "childItems": [ + { + "catenaXId": "urn:uuid:d8ec6acc-1ad7-47b4-bc7e-612122d9d552", + "quantity": { + "quantityNumber": 2.5, + "measurementUnit": "unit:litre" + }, + "businessPartner": "BPNL00000003AYRE", + "createdOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z" + }, + { + "catenaXId": "urn:uuid:63b95496-86ed-4762-b248-491d5c1242e1", + "quantity": { + "quantityNumber": 2.5, + "measurementUnit": "unit:litre" + }, + "businessPartner": "BPNL00000003AVTH", + "createdOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z" + }, + { + "catenaXId": "urn:uuid:c97f5701-b527-427f-8231-3c5f68665f16", + "quantity": { + "quantityNumber": 2.5, + "measurementUnit": "unit:litre" + }, + "businessPartner": "BPNL00000003AZQP", + "createdOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z" + }, + { + "catenaXId": "urn:uuid:032bbf5a-0d3d-42af-a1da-61bb8a0b1256", + "quantity": { + "quantityNumber": 2.5, + "measurementUnit": "unit:litre" + }, + "businessPartner": "BPNL00000003AYRE", + "createdOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z" + }, + { + "catenaXId": "urn:uuid:d676d79b-0969-485b-a83d-c8ddb1d2a362", + "quantity": { + "quantityNumber": 2.5, + "measurementUnit": "unit:litre" + }, + "businessPartner": "BPNL00000003AVTH", + "createdOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z" + }, + { + "catenaXId": "urn:uuid:3b4fbc56-f33e-460b-932f-8a3d0bb07e5e", + "quantity": { + "quantityNumber": 2.5, + "measurementUnit": "unit:litre" + }, + "businessPartner": "BPNL00000003AZQP", + "createdOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z" + }, + { + "catenaXId": "urn:uuid:e4229df7-35ea-49d6-bf58-e661f4461cd3", + "quantity": { + "quantityNumber": 2.5, + "measurementUnit": "unit:litre" + }, + "businessPartner": "BPNL00000003AYRE", + "createdOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z" + }, + { + "catenaXId": "urn:uuid:defb27a1-f206-4217-ba61-3ed18e9f6938", + "quantity": { + "quantityNumber": 2.5, + "measurementUnit": "unit:litre" + }, + "businessPartner": "BPNL00000003AVTH", + "createdOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z" + }, + { + "catenaXId": "urn:uuid:c480badd-44bb-4a67-97ca-943fe598e7b0", + "quantity": { + "quantityNumber": 2.5, + "measurementUnit": "unit:litre" + }, + "businessPartner": "BPNL00000003AZQP", + "createdOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z" + }, + { + "catenaXId": "urn:uuid:423bbf30-8b0a-4b62-add8-b667dd7f41c4", + "quantity": { + "quantityNumber": 2.5, + "measurementUnit": "unit:litre" + }, + "businessPartner": "BPNL00000003AYRE", + "createdOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z" + }, + { + "catenaXId": "urn:uuid:83c76460-4cc7-4edd-99bb-e265779426f3", + "quantity": { + "quantityNumber": 2.5, + "measurementUnit": "unit:litre" + }, + "businessPartner": "BPNL00000003AVTH", + "createdOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z" + }, + { + "catenaXId": "urn:uuid:c985b586-396a-4b36-8b81-0ede61ac7a2f", + "quantity": { + "quantityNumber": 2.5, + "measurementUnit": "unit:litre" + }, + "businessPartner": "BPNL00000003AZQP", + "createdOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z" + }, + { + "catenaXId": "urn:uuid:8bf3349d-ace7-49cb-96d8-57c5e3fc02aa", + "quantity": { + "quantityNumber": 2.5, + "measurementUnit": "unit:litre" + }, + "businessPartner": "BPNL00000003AZQP", + "createdOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z" + }, + { + "catenaXId": "urn:uuid:abba905f-24f6-4835-82b8-1b805a88d52c", + "quantity": { + "quantityNumber": 2.5, + "measurementUnit": "unit:litre" + }, + "businessPartner": "BPNL00000003AZQP", + "createdOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z" + }, + { + "catenaXId": "urn:uuid:21bd3a19-dbe8-4b4d-b7fd-46a41bd4ecc0", + "quantity": { + "quantityNumber": 2.5, + "measurementUnit": "unit:litre" + }, + "businessPartner": "BPNL00000003AZQP", + "createdOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z" + }, + { + "catenaXId": "urn:uuid:fa5aa5a6-e466-486d-bb82-d3cbe9d470c7", + "quantity": { + "quantityNumber": 2.5, + "measurementUnit": "unit:litre" + }, + "businessPartner": "BPNL00000003AZQP", + "createdOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z" + }, + { + "catenaXId": "urn:uuid:d6497d89-2646-424a-afde-fd802678a786", + "quantity": { + "quantityNumber": 2.5, + "measurementUnit": "unit:litre" + }, + "businessPartner": "BPNL00000003AZQP", + "createdOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z" + }, + { + "catenaXId": "urn:uuid:8398b9c6-58fd-47f1-9822-347c02f6f4a4", + "quantity": { + "quantityNumber": 2.5, + "measurementUnit": "unit:litre" + }, + "businessPartner": "BPNL00000003AZQP", + "createdOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z" + }, + { + "catenaXId": "urn:uuid:ccb8f629-fb93-49b9-82d8-2623054cfe81", + "quantity": { + "quantityNumber": 2.5, + "measurementUnit": "unit:litre" + }, + "businessPartner": "BPNL00000003AZQP", + "createdOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z" + }, + { + "catenaXId": "urn:uuid:b82ae3c0-3338-49e5-89d7-b0622092c6ae", + "quantity": { + "quantityNumber": 2.5, + "measurementUnit": "unit:litre" + }, + "businessPartner": "BPNL00000003AZQP", + "createdOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z" + }, + { + "catenaXId": "urn:uuid:6db600e1-5e27-4502-b4e9-1597cd02f701", + "quantity": { + "quantityNumber": 2.5, + "measurementUnit": "unit:litre" + }, + "businessPartner": "BPNL00000003AZQP", + "createdOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z" + }, + { + "catenaXId": "urn:uuid:1b91f9c0-63d5-4b8a-87af-ec32bfe40b1a", + "quantity": { + "quantityNumber": 2.5, + "measurementUnit": "unit:litre" + }, + "businessPartner": "BPNL00000003AZQP", + "createdOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z" + }, + { + "catenaXId": "urn:uuid:56d5f82b-a94e-4a41-9041-47c503e382fe", + "quantity": { + "quantityNumber": 2.5, + "measurementUnit": "unit:litre" + }, + "businessPartner": "BPNL00000003AZQP", + "createdOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z" + }, + { + "catenaXId": "urn:uuid:201e493b-8d25-4276-ab2b-6b5350c4a67d", + "quantity": { + "quantityNumber": 2.5, + "measurementUnit": "unit:litre" + }, + "businessPartner": "BPNL00000003AZQP", + "createdOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z" + }, + { + "catenaXId": "urn:uuid:a550bcb2-6ed2-49e6-b718-2012b82cfc9b", + "quantity": { + "quantityNumber": 2.5, + "measurementUnit": "unit:litre" + }, + "businessPartner": "BPNL00000003AZQP", + "createdOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z" + }, + { + "catenaXId": "urn:uuid:eeed1b1c-dcdc-457e-a586-2308fb729824", + "quantity": { + "quantityNumber": 2.5, + "measurementUnit": "unit:litre" + }, + "businessPartner": "BPNL00000003AZQP", + "createdOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z" + }, + { + "catenaXId": "urn:uuid:7ccf273b-bef6-490b-aee0-87972970bb96", + "quantity": { + "quantityNumber": 2.5, + "measurementUnit": "unit:litre" + }, + "businessPartner": "BPNL00000003AZQP", + "createdOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z" + }, + { + "catenaXId": "urn:uuid:42e551d0-5f6a-4c6b-abdc-bf18093f3a21", + "quantity": { + "quantityNumber": 2.5, + "measurementUnit": "unit:litre" + }, + "businessPartner": "BPNL00000003AZQP", + "createdOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z" + }, + { + "catenaXId": "urn:uuid:5d2e8e8c-913f-48f7-b967-62bbf434ad79", + "quantity": { + "quantityNumber": 2.5, + "measurementUnit": "unit:litre" + }, + "businessPartner": "BPNL00000003AZQP", + "createdOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z" + }, + { + "catenaXId": "urn:uuid:c686418b-a89a-4a00-b646-c66ba6903479", + "quantity": { + "quantityNumber": 2.5, + "measurementUnit": "unit:litre" + }, + "businessPartner": "BPNL00000003AZQP", + "createdOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z" + }, + { + "catenaXId": "urn:uuid:6e49506c-6f7e-4700-8a1a-3ba173fffe12", + "quantity": { + "quantityNumber": 2.5, + "measurementUnit": "unit:litre" + }, + "businessPartner": "BPNL00000003AZQP", + "createdOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z" + }, + { + "catenaXId": "urn:uuid:4ac27014-519f-4dce-ba81-4316966dcd78", + "quantity": { + "quantityNumber": 2.5, + "measurementUnit": "unit:litre" + }, + "businessPartner": "BPNL00000003AZQP", + "createdOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z" + }, + { + "catenaXId": "urn:uuid:f4fe84cf-3958-4283-b369-a6a2beb8e27f", + "quantity": { + "quantityNumber": 2.5, + "measurementUnit": "unit:litre" + }, + "businessPartner": "BPNL00000003AZQP", + "createdOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z" + }, + { + "catenaXId": "urn:uuid:fdc11263-e4ad-4fd6-9d34-744e2139f835", + "quantity": { + "quantityNumber": 2.5, + "measurementUnit": "unit:litre" + }, + "businessPartner": "BPNL00000003AZQP", + "createdOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z" + } + ] + } + ], + "catenaXId": "urn:uuid:efcb5f8d-f31c-4b1f-b090-9c878054554d", + "urn:bamm:io.catenax.certificate_of_destruction:1.0.0#CertificateOfDestruction": [ + { + "catenaXId": "urn:uuid:efcb5f8d-f31c-4b1f-b090-9c878054554d", + "dismantlerProperties": { + "expiryDate": "2022-07-11T08:38:46.743Z", + "dismantlerAuditorContact": { + "phone": "+49458404363", + "fax": "+497740070" + }, + "dismantlerContact": { + "phone": "+492795608", + "fax": "+49476895" + }, + "dismantlerAuditorAddress": { + "zip": "68161", + "country": "DEU", + "street": "Speyerer Straße", + "houseNumber": "45", + "name": "UMaAIKKIkknjWEXJUfPxxQHeWKEJ", + "location": "Mannheim" + }, + "receiverAuditorAdress": { + "zip": "68161", + "country": "DEU", + "street": "Berliner Straße", + "houseNumber": "42", + "name": "VLhpfQGTMDYpsBZxvfBoeygjb", + "location": "Mannheim" + }, + "dismantlerAdress": { + "zip": "68165", + "country": "DEU", + "street": "Schubertstraße", + "houseNumber": "11", + "name": "JxkyvRnL", + "location": "Mannheim" + }, + "issueDate": "2022-07-11T08:38:46.743Z", + "isVehicleWithdrawnFromService": false, + "governmentAdress": { + "zip": "10719", + "country": "DEU", + "street": "Pariser Straße", + "houseNumber": "45", + "name": "RYtGKbgicZaHCBRQDSx", + "location": "Berlin" + } + }, + "serialNumber": "DIS1087432", + "companyNumber": "S30A00265", + "vehicleProperties": { + "licenseAbbreviation": "MA", + "isVehicleInformationComplete": false, + "licensePlate": "MA-UI123", + "identification": "WBAAY711X0KC28153", + "emptyWeight": 1.79, + "model": "Model A", + "brand": "OME", + "class": "01", + "firstRegistration": "19.12.2014" + }, + "returnPointProperties": { + "expiryDate": "2022-07-11T08:38:46.741Z", + "receiverAuditorContact": { + "phone": "+49004417570", + "fax": "+495516625649" + }, + "receiverContact": { + "phone": "+4912263422", + "fax": "+49288164270" + }, + "receiverAuditorAdress": { + "zip": "68161", + "country": "DEU", + "street": "Speyerer Straße", + "houseNumber": "45", + "name": "yedUsFwdkelQbxeTeQOvaScfqIOOmaa", + "location": "Mannheim" + }, + "issueDate": "2022-07-11T08:38:46.741Z", + "isVehicleWithdrawnFromService": true + }, + "vehicleOwnerProperties": { + "isVehicleOwnerInformationComplete": true, + "vehicleOwnerAddress": { + "zip": "68163", + "country": "DEU", + "street": "Rheinvillen Straße", + "houseNumber": "7", + "name": "eOMtThyhVNLWUZNRcBaQKxI", + "location": "Mannheim" + }, + "citizenship": "DEU" + }, + "dismantlingDate": "2022-07-11T08:38:46.739Z" + } + ], + "bpnl": "BPNL00000003AZQP", + "urn:bamm:io.catenax.serial_part:1.0.1#SerialPart": [ + { + "localIdentifiers": [ + { + "value": "BPNL00000003AZQP", + "key": "manufacturerId" + }, + { + "value": "CV-87", + "key": "manufacturerPartId" + }, + { + "value": "OMCOFCRMXMBASAFZY", + "key": "partInstanceId" + }, + { + "value": "OMCOFCRMXMBASAFZY", + "key": "van" + } + ], + "manufacturingInformation": { + "date": "2020-01-03T13:51:32.000Z", + "country": "DEU" + }, + "catenaXId": "urn:uuid:efcb5f8d-f31c-4b1f-b090-9c878054554d", + "partTypeInformation": { + "manufacturerPartId": "CV-87", + "classification": "product", + "nameAtManufacturer": "Vehicle Combustion" + } + } + ], + "urn:bamm:io.catenax.aas:1.0.0#AAS": [ + { + "specificAssetId": [ + { + "value": "OMCOFCRMXMBASAFZY", + "key": "http://pwc.t-systems.com/datamodel/common" + }, + { + "value": "CV-87", + "key": "urn:VR:wt.part.WTPart#" + } + ], + "idShort": "vehicle_combustion.asm", + "description": [ + { + "language": "en", + "text": "Vehicle Combustion" + } + ], + "submodelDescriptors": [ + { + "semanticId": [ + { + "keys": [ + { + "type": "GlobalReference", + "value": "urn:samm:io.catenax.serial_part:1.0.0#SerialPart" + } + ], + "type": "ExternalReference" + } + ], + "endpoints": [ + { + "interface": "SUBMODEL-3.0", + "protocolInformation": { + "subprotocolBodyEncoding": "plain", + "subprotocol": "IDS", + "securityAttributes": [ + { + "type": "NONE", + "value": "NONE", + "key": "NONE" + } + ], + "endpointProtocolVersion": [ + "1.1" + ], + "href": "https://edc.data.plane/urn%3Auuid%3A75e98d67-e09e-4388-b2f6-ea0a0a642bfe-urn%3Auuid%3A7effd7f4-6353-4401-9547-c54b420a22a0", + "subprotocolBody": "id=urn:uuid:75e98d67-e09e-4388-b2f6-ea0a0a642bfe-urn:uuid:7effd7f4-6353-4401-9547-c54b420a22a0;idsEndpoint=http://edc.control.plane/", + "endpointProtocol": "HTTP" + } + } + ], + "idShort": "vehicleProductDescription", + "id": "urn:uuid:7effd7f4-6353-4401-9547-c54b420a22a0" + }, + { + "semanticId": [ + { + "keys": [ + { + "type": "GlobalReference", + "value": "urn:samm:io.catenax.serial_part:1.0.0#SerialPart" + } + ], + "type": "ExternalReference" + } + ], + "endpoints": [ + { + "interface": "SUBMODEL-3.0", + "protocolInformation": { + "subprotocolBodyEncoding": "plain", + "subprotocol": "IDS", + "securityAttributes": [ + { + "type": "NONE", + "value": "NONE", + "key": "NONE" + } + ], + "endpointProtocolVersion": [ + "1.1" + ], + "href": "https://edc.data.plane/urn%3Auuid%3A75e98d67-e09e-4388-b2f6-ea0a0a642bfe-urn%3Auuid%3A7effd7f4-6353-4401-9547-c54b420a22a0", + "subprotocolBody": "id=urn:uuid:75e98d67-e09e-4388-b2f6-ea0a0a642bfe-urn:uuid:7effd7f4-6353-4401-9547-c54b420a22a0;idsEndpoint=http://edc.control.plane/", + "endpointProtocol": "HTTP" + } + } + ], + "idShort": "materialForRecycling", + "id": "urn:uuid:7effd7f4-6353-4401-9547-c54b420a22a0" + }, + { + "semanticId": [ + { + "keys": [ + { + "type": "GlobalReference", + "value": "urn:samm:io.catenax.serial_part:1.0.0#SerialPart" + } + ], + "type": "ExternalReference" + } + ], + "endpoints": [ + { + "interface": "SUBMODEL-3.0", + "protocolInformation": { + "subprotocolBodyEncoding": "plain", + "subprotocol": "IDS", + "securityAttributes": [ + { + "type": "NONE", + "value": "NONE", + "key": "NONE" + } + ], + "endpointProtocolVersion": [ + "1.1" + ], + "href": "https://edc.data.plane/urn%3Auuid%3A75e98d67-e09e-4388-b2f6-ea0a0a642bfe-urn%3Auuid%3A7effd7f4-6353-4401-9547-c54b420a22a0", + "subprotocolBody": "id=urn:uuid:75e98d67-e09e-4388-b2f6-ea0a0a642bfe-urn:uuid:7effd7f4-6353-4401-9547-c54b420a22a0;idsEndpoint=http://edc.control.plane/", + "endpointProtocol": "HTTP" + } + } + ], + "idShort": "certificateOfDestruction", + "id": "urn:uuid:7effd7f4-6353-4401-9547-c54b420a22a0" + }, + { + "semanticId": [ + { + "keys": [ + { + "type": "GlobalReference", + "value": "urn:samm:io.catenax.serial_part:1.0.0#SerialPart" + } + ], + "type": "ExternalReference" + } + ], + "endpoints": [ + { + "interface": "SUBMODEL-3.0", + "protocolInformation": { + "subprotocolBodyEncoding": "plain", + "subprotocol": "IDS", + "securityAttributes": [ + { + "type": "NONE", + "value": "NONE", + "key": "NONE" + } + ], + "endpointProtocolVersion": [ + "1.1" + ], + "href": "https://edc.data.plane/urn%3Auuid%3A75e98d67-e09e-4388-b2f6-ea0a0a642bfe-urn%3Auuid%3A7effd7f4-6353-4401-9547-c54b420a22a0", + "subprotocolBody": "id=urn:uuid:75e98d67-e09e-4388-b2f6-ea0a0a642bfe-urn:uuid:7effd7f4-6353-4401-9547-c54b420a22a0;idsEndpoint=http://edc.control.plane/", + "endpointProtocol": "HTTP" + } + } + ], + "idShort": "singleLevelBomAsBuilt", + "id": "urn:uuid:7effd7f4-6353-4401-9547-c54b420a22a0" + } + ], + "globalAssetId": { + "value": [ + "urn:uuid:efcb5f8d-f31c-4b1f-b090-9c878054554d" + ] + }, + "id": "urn:uuid:372b1177-6821-496c-9dbe-63c4971dbefe" + } + ], + "urn:bamm:io.catenax.material_for_recycling:1.1.0#MaterialForRecycling": [ + { + "component": [ + { + "materialName": "Iron", + "recycledContent": 45, + "materialClass": "1.1", + "quantity": { + "unit": "unit:kilogram", + "value": 327.6 + }, + "aggregateState": "solid", + "materialAbbreviation": "IR334" + }, + { + "materialName": "Polyethylen", + "recycledContent": 15, + "materialClass": "5.5.1", + "quantity": { + "unit": "unit:kilogram", + "value": 163.8 + }, + "aggregateState": "solid", + "materialAbbreviation": "PE221" + }, + { + "materialName": "Polyamid6", + "recycledContent": 48, + "materialClass": "5.5.1", + "quantity": { + "unit": "unit:kilogram", + "value": 40.95 + }, + "aggregateState": "solid", + "materialAbbreviation": "POL6" + }, + { + "materialName": "Aluminium", + "recycledContent": 32, + "materialClass": "2.1", + "quantity": { + "unit": "unit:kilogram", + "value": 286.65 + }, + "aggregateState": "solid", + "materialAbbreviation": "ALU331" + }, + { + "materialName": "Kerosene waxes and hydrocarbon waxes, oxidized, lithium salts", + "recycledContent": 47, + "materialClass": "0.7", + "quantity": { + "unit": "unit:kilogram", + "value": 109.2 + }, + "aggregateState": "solid", + "materialAbbreviation": "W123" + }, + { + "materialName": "Glue", + "recycledContent": 66, + "materialClass": "6.2", + "quantity": { + "unit": "unit:kilogram", + "value": 54.6 + }, + "aggregateState": "solid", + "materialAbbreviation": "GL338" + }, + { + "materialName": "Carbon Steel", + "recycledContent": 85, + "materialClass": "1.1.2", + "quantity": { + "unit": "unit:kilogram", + "value": 382.2 + }, + "aggregateState": "solid", + "materialAbbreviation": "CS2" + }, + { + "materialName": "Cooper", + "recycledContent": 62, + "materialClass": "3.1", + "quantity": { + "unit": "unit:kilogram", + "value": 250.2 + }, + "aggregateState": "solid", + "materialAbbreviation": "CO7" + }, + { + "materialName": "Rubber", + "recycledContent": 33, + "materialClass": "5.3", + "quantity": { + "unit": "unit:kilogram", + "value": 7.8 + }, + "aggregateState": "solid", + "materialAbbreviation": "R22" + }, + { + "materialName": "Textiles", + "recycledContent": 46, + "materialClass": "5.5.2", + "quantity": { + "unit": "unit:kilogram", + "value": 5.12 + }, + "aggregateState": "solid", + "materialAbbreviation": "TEX1" + } + ] + } + ] + }, + { + "catenaXId": "urn:uuid:d8ec6acc-1ad7-47b4-bc7e-612122d9d552", + "bpnl": "BPNL00000003AZQP", + "urn:bamm:io.catenax.single_level_usage_as_built:1.0.1#SingleLevelUsageAsBuilt": [ + { + "parentParts": [ + { + "parentCatenaXId": "urn:uuid:efcb5f8d-f31c-4b1f-b090-9c878054554d", + "quantity": { + "quantityNumber": 1, + "measurementUnit": "unit:piece" + }, + "createdOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z" + } + ], + "catenaXId": "urn:uuid:d8ec6acc-1ad7-47b4-bc7e-612122d9d552" + } + ], + "urn:bamm:io.catenax.serial_part:1.0.1#SerialPart": [ + { + "localIdentifiers": [ + { + "value": "BPNL00000003AZQP", + "key": "manufacturerId" + }, + { + "value": "10030939-59", + "key": "manufacturerPartId" + }, + { + "value": "NO-795540775012790097100107", + "key": "partInstanceId" + } + ], + "manufacturingInformation": { + "date": "2022-02-04T14:48:54", + "country": "DEU" + }, + "catenaXId": "urn:uuid:d8ec6acc-1ad7-47b4-bc7e-612122d9d552", + "partTypeInformation": { + "manufacturerPartId": "10030939-59", + "customerPartId": "10030939-59", + "classification": "component", + "nameAtManufacturer": "Engine", + "nameAtCustomer": "Engine" + } + } + ], + "urn:bamm:io.catenax.aas:1.0.0#AAS": [ + { + "specificAssetId": [ + { + "value": "NO-795540775012790097100107", + "key": "http://pwc.t-systems.com/datamodel/common" + }, + { + "value": "10030939-59", + "key": "urn:VR:wt.part.WTPart#" + } + ], + "idShort": "engine.asm", + "description": [ + { + "language": "en", + "text": "Engine" + } + ], + "submodelDescriptors": [ + { + "semanticId": [ + { + "keys": [ + { + "type": "GlobalReference", + "value": "urn:samm:io.catenax.serial_part:1.0.0#SerialPart" + } + ], + "type": "ExternalReference" + } + ], + "endpoints": [ + { + "interface": "SUBMODEL-3.0", + "protocolInformation": { + "subprotocolBodyEncoding": "plain", + "subprotocol": "IDS", + "securityAttributes": [ + { + "type": "NONE", + "value": "NONE", + "key": "NONE" + } + ], + "endpointProtocolVersion": [ + "1.1" + ], + "href": "https://edc.data.plane/urn%3Auuid%3A75e98d67-e09e-4388-b2f6-ea0a0a642bfe-urn%3Auuid%3A7effd7f4-6353-4401-9547-c54b420a22a0", + "subprotocolBody": "id=urn:uuid:75e98d67-e09e-4388-b2f6-ea0a0a642bfe-urn:uuid:7effd7f4-6353-4401-9547-c54b420a22a0;idsEndpoint=http://edc.control.plane/", + "endpointProtocol": "HTTP" + } + } + ], + "idShort": "physicalDimension", + "id": "urn:uuid:7effd7f4-6353-4401-9547-c54b420a22a0" + } + ], + "globalAssetId": { + "value": [ + "urn:uuid:d8ec6acc-1ad7-47b4-bc7e-612122d9d552" + ] + }, + "id": "urn:uuid:cd4dbeb5-1e5a-4b30-8cb4-7912ab48c7f6" + } + ], + "urn:bamm:io.catenax.physical_dimension:1.0.0#PhysicalDimension": [ + { + "diameter": 560, + "length": 843, + "width": 762, + "weight": 180, + "height": 711 + } + ] + }, + { + "catenaXId": "urn:uuid:63b95496-86ed-4762-b248-491d5c1242e1", + "bpnl": "BPNL00000003AZQP", + "urn:bamm:io.catenax.single_level_usage_as_built:1.0.1#SingleLevelUsageAsBuilt": [ + { + "parentParts": [ + { + "parentCatenaXId": "urn:uuid:efcb5f8d-f31c-4b1f-b090-9c878054554d", + "quantity": { + "quantityNumber": 1, + "measurementUnit": "unit:piece" + }, + "createdOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z" + } + ], + "catenaXId": "urn:uuid:63b95496-86ed-4762-b248-491d5c1242e1" + } + ], + "urn:bamm:io.catenax.serial_part:1.0.1#SerialPart": [ + { + "localIdentifiers": [ + { + "value": "BPNL00000003AZQP", + "key": "manufacturerId" + }, + { + "value": "32494586-73", + "key": "manufacturerPartId" + }, + { + "value": "NO-240132148053652213207640", + "key": "partInstanceId" + } + ], + "manufacturingInformation": { + "date": "2022-02-04T14:48:54", + "country": "DEU" + }, + "catenaXId": "urn:uuid:63b95496-86ed-4762-b248-491d5c1242e1", + "partTypeInformation": { + "manufacturerPartId": "32494586-73", + "customerPartId": "32494586-73", + "classification": "component", + "nameAtManufacturer": "Differential Gear", + "nameAtCustomer": "Differential Gear" + } + } + ], + "urn:bamm:io.catenax.aas:1.0.0#AAS": [ + { + "specificAssetId": [ + { + "value": "NO-240132148053652213207640", + "key": "http://pwc.t-systems.com/datamodel/common" + }, + { + "value": "32494586-73", + "key": "urn:VR:wt.part.WTPart#" + } + ], + "idShort": "differential_gear.asm", + "description": [ + { + "language": "en", + "text": "Differential Gear" + } + ], + "submodelDescriptors": [], + "globalAssetId": { + "value": [ + "urn:uuid:63b95496-86ed-4762-b248-491d5c1242e1" + ] + }, + "id": "urn:uuid:349f57d7-d67e-4063-8861-e50da8a78d7d" + } + ] + }, + { + "catenaXId": "urn:uuid:c97f5701-b527-427f-8231-3c5f68665f16", + "bpnl": "BPNL00000003AZQP", + "urn:bamm:io.catenax.single_level_usage_as_built:1.0.1#SingleLevelUsageAsBuilt": [ + { + "parentParts": [ + { + "parentCatenaXId": "urn:uuid:efcb5f8d-f31c-4b1f-b090-9c878054554d", + "quantity": { + "quantityNumber": 1, + "measurementUnit": "unit:piece" + }, + "createdOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z" + } + ], + "catenaXId": "urn:uuid:c97f5701-b527-427f-8231-3c5f68665f16" + } + ], + "urn:bamm:io.catenax.serial_part:1.0.1#SerialPart": [ + { + "localIdentifiers": [ + { + "value": "BPNL00000003AZQP", + "key": "manufacturerId" + }, + { + "value": "67034319-44", + "key": "manufacturerPartId" + }, + { + "value": "NO-862841841782729376527348", + "key": "partInstanceId" + } + ], + "manufacturingInformation": { + "date": "2022-02-04T14:48:54", + "country": "DEU" + }, + "catenaXId": "urn:uuid:c97f5701-b527-427f-8231-3c5f68665f16", + "partTypeInformation": { + "manufacturerPartId": "67034319-44", + "customerPartId": "67034319-44", + "classification": "component", + "nameAtManufacturer": "Turbocharger", + "nameAtCustomer": "Turbocharger" + } + } + ], + "urn:bamm:io.catenax.aas:1.0.0#AAS": [ + { + "specificAssetId": [ + { + "value": "NO-862841841782729376527348", + "key": "http://pwc.t-systems.com/datamodel/common" + }, + { + "value": "67034319-44", + "key": "urn:VR:wt.part.WTPart#" + } + ], + "idShort": "turbocharger.asm", + "description": [ + { + "language": "en", + "text": "Turbocharger" + } + ], + "submodelDescriptors": [], + "globalAssetId": { + "value": [ + "urn:uuid:c97f5701-b527-427f-8231-3c5f68665f16" + ] + }, + "id": "urn:uuid:39306541-5dcc-4cc5-b25c-8459df2c19cc" + } + ] + }, + { + "catenaXId": "urn:uuid:032bbf5a-0d3d-42af-a1da-61bb8a0b1256", + "bpnl": "BPNL00000003AZQP", + "urn:bamm:io.catenax.single_level_usage_as_built:1.0.1#SingleLevelUsageAsBuilt": [ + { + "parentParts": [ + { + "parentCatenaXId": "urn:uuid:efcb5f8d-f31c-4b1f-b090-9c878054554d", + "quantity": { + "quantityNumber": 1, + "measurementUnit": "unit:piece" + }, + "createdOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z" + } + ], + "catenaXId": "urn:uuid:032bbf5a-0d3d-42af-a1da-61bb8a0b1256" + } + ], + "urn:bamm:io.catenax.serial_part:1.0.1#SerialPart": [ + { + "localIdentifiers": [ + { + "value": "BPNL00000003AZQP", + "key": "manufacturerId" + }, + { + "value": "73849201-61", + "key": "manufacturerPartId" + }, + { + "value": "NO-037176178490688727658421", + "key": "partInstanceId" + } + ], + "manufacturingInformation": { + "date": "2022-02-04T14:48:54", + "country": "DEU" + }, + "catenaXId": "urn:uuid:032bbf5a-0d3d-42af-a1da-61bb8a0b1256", + "partTypeInformation": { + "manufacturerPartId": "73849201-61", + "customerPartId": "73849201-61", + "classification": "component", + "nameAtManufacturer": "Catalysator", + "nameAtCustomer": "Catalysator" + } + } + ], + "urn:bamm:io.catenax.aas:1.0.0#AAS": [ + { + "specificAssetId": [ + { + "value": "NO-037176178490688727658421", + "key": "http://pwc.t-systems.com/datamodel/common" + }, + { + "value": "73849201-61", + "key": "urn:VR:wt.part.WTPart#" + } + ], + "idShort": "catalysator.asm", + "description": [ + { + "language": "en", + "text": "Catalysator" + } + ], + "submodelDescriptors": [], + "globalAssetId": { + "value": [ + "urn:uuid:032bbf5a-0d3d-42af-a1da-61bb8a0b1256" + ] + }, + "id": "urn:uuid:44c59084-b57c-4d03-8095-8cbf76a00103" + } + ] + }, + { + "urn:bamm:io.catenax.single_level_bom_as_built:1.0.0#SingleLevelBomAsBuilt": [ + { + "catenaXId": "urn:uuid:d676d79b-0969-485b-a83d-c8ddb1d2a362", + "childItems": [ + { + "catenaXId": "urn:uuid:923881df-9293-4f5b-a9d2-11d49269a4e3", + "quantity": { + "quantityNumber": 2.5, + "measurementUnit": "unit:litre" + }, + "businessPartner": "BPNL00000003AYRE", + "createdOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z" + } + ] + } + ], + "catenaXId": "urn:uuid:d676d79b-0969-485b-a83d-c8ddb1d2a362", + "bpnl": "BPNL00000003CSGV", + "urn:bamm:io.catenax.single_level_usage_as_built:1.0.1#SingleLevelUsageAsBuilt": [ + { + "parentParts": [ + { + "parentCatenaXId": "urn:uuid:efcb5f8d-f31c-4b1f-b090-9c878054554d", + "quantity": { + "quantityNumber": 1, + "measurementUnit": "unit:piece" + }, + "createdOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z" + } + ], + "catenaXId": "urn:uuid:d676d79b-0969-485b-a83d-c8ddb1d2a362" + } + ], + "urn:bamm:io.catenax.serial_part:1.0.1#SerialPart": [ + { + "localIdentifiers": [ + { + "value": "BPNL00000003CSGV", + "key": "manufacturerId" + }, + { + "value": "22782277-50", + "key": "manufacturerPartId" + }, + { + "value": "NO-566044220489769395312593", + "key": "partInstanceId" + } + ], + "manufacturingInformation": { + "date": "2022-02-04T14:48:54", + "country": "DEU" + }, + "catenaXId": "urn:uuid:d676d79b-0969-485b-a83d-c8ddb1d2a362", + "partTypeInformation": { + "manufacturerPartId": "22782277-50", + "customerPartId": "22782277-50", + "classification": "component", + "nameAtManufacturer": "Door f-l", + "nameAtCustomer": "Door front-left" + } + } + ], + "urn:bamm:io.catenax.aas:1.0.0#AAS": [ + { + "specificAssetId": [ + { + "value": "NO-566044220489769395312593", + "key": "http://pwc.t-systems.com/datamodel/common" + }, + { + "value": "22782277-50", + "key": "urn:VR:wt.part.WTPart#" + } + ], + "idShort": "door_f-l.asm", + "description": [ + { + "language": "en", + "text": "Door f-l" + } + ], + "submodelDescriptors": [ + { + "semanticId": [ + { + "keys": [ + { + "type": "GlobalReference", + "value": "urn:samm:io.catenax.serial_part:1.0.0#SerialPart" + } + ], + "type": "ExternalReference" + } + ], + "endpoints": [ + { + "interface": "SUBMODEL-3.0", + "protocolInformation": { + "subprotocolBodyEncoding": "plain", + "subprotocol": "IDS", + "securityAttributes": [ + { + "type": "NONE", + "value": "NONE", + "key": "NONE" + } + ], + "endpointProtocolVersion": [ + "1.1" + ], + "href": "https://edc.data.plane/urn%3Auuid%3A75e98d67-e09e-4388-b2f6-ea0a0a642bfe-urn%3Auuid%3A7effd7f4-6353-4401-9547-c54b420a22a0", + "subprotocolBody": "id=urn:uuid:75e98d67-e09e-4388-b2f6-ea0a0a642bfe-urn:uuid:7effd7f4-6353-4401-9547-c54b420a22a0;idsEndpoint=http://edc.control.plane/", + "endpointProtocol": "HTTP" + } + } + ], + "idShort": "singleLevelBomAsBuilt", + "id": "urn:uuid:7effd7f4-6353-4401-9547-c54b420a22a0" + } + ], + "globalAssetId": { + "value": [ + "urn:uuid:d676d79b-0969-485b-a83d-c8ddb1d2a362" + ] + }, + "id": "urn:uuid:eec40d01-79e3-43ae-83fc-5d3b84989c8c" + } + ] + }, + { + "catenaXId": "urn:uuid:923881df-9293-4f5b-a9d2-11d49269a4e3", + "bpnl": "BPNL00000000BJTL", + "urn:bamm:io.catenax.single_level_usage_as_built:1.0.1#SingleLevelUsageAsBuilt": [ + { + "parentParts": [ + { + "parentCatenaXId": "urn:uuid:d676d79b-0969-485b-a83d-c8ddb1d2a362", + "businessPartner": "BPNL00000003AVTH", + "quantity": { + "quantityNumber": 1, + "measurementUnit": "unit:piece" + }, + "createdOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z" + } + ], + "catenaXId": "urn:uuid:923881df-9293-4f5b-a9d2-11d49269a4e3" + } + ], + "urn:bamm:io.catenax.single_level_bom_as_specified:1.0.0#SingleLevelBomAsSpecified": [ + { + "catenaXId": "urn:uuid:923881df-9293-4f5b-a9d2-11d49269a4e3", + "childParts": [ + { + "childPartsCategory": "e.g. vehicle, winter wheels, bicycle rack", + "part": [ + { + "ownerPartId": "22782277-50", + "partVersion": "05", + "partQuantity": { + "quantityNumber": 350.0, + "measurementUnit": "kW" + }, + "partDescription": "The steering wheel is nice and round", + "partClassification": [ + { + "value": "STEEWHL", + "key": "BMW:PartFamily" + } + ], + "createdOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z" + } + ], + "childCatenaXId": "urn:uuid:7eeeac86-7b69-444d-81e6-655d0f1513bd", + "businessPartner": "BPNL00000003XXTH" + } + ] + } + ], + "urn:bamm:io.catenax.part_as_specified:2.0.0#PartAsSpecified": [ + { + "partTypeInformation": { + "partClassification": [ + { + "value": "STEEWHL", + "key": "BMW:PartFamily" + } + ], + "ownerPartId": "22782277-50", + "partVersion": "05", + "itemCategory": "component", + "nameAtOwner": "Steering Wheel", + "partDescription": "The steering wheel is nice and round" + }, + "validityPeriod": { + "validFrom": "2023-02-10T07:17:52.396Z", + "validTo": "2023-02-10T07:17:52.396Z" + }, + "catenaXId": "urn:uuid:923881df-9293-4f5b-a9d2-11d49269a4e3" + } + ], + "urn:bamm:io.catenax.serial_part:1.0.1#SerialPart": [ + { + "localIdentifiers": [ + { + "value": "BPNL00000000BJTL", + "key": "manufacturerId" + }, + { + "value": "95657762-59", + "key": "manufacturerPartId" + }, + { + "value": "NO-880046363577943820281666", + "key": "partInstanceId" + } + ], + "manufacturingInformation": { + "date": "2022-02-04T14:48:54", + "country": "DEU" + }, + "catenaXId": "urn:uuid:923881df-9293-4f5b-a9d2-11d49269a4e3", + "partTypeInformation": { + "manufacturerPartId": "95657762-59", + "customerPartId": "95657762-59", + "classification": "component", + "nameAtManufacturer": "Door Key", + "nameAtCustomer": "Door Key" + } + } + ], + "urn:bamm:io.catenax.aas:1.0.0#AAS": [ + { + "specificAssetId": [ + { + "value": "NO-880046363577943820281666", + "key": "http://pwc.t-systems.com/datamodel/common" + }, + { + "value": "95657762-59", + "key": "urn:VR:wt.part.WTPart#" + } + ], + "idShort": "door_key.asm", + "description": [ + { + "language": "en", + "text": "Door Key" + } + ], + "submodelDescriptors": [], + "globalAssetId": { + "value": [ + "urn:uuid:923881df-9293-4f5b-a9d2-11d49269a4e3" + ] + }, + "id": "urn:uuid:15640df3-8fe8-4b3d-835f-8f5cbcaded6f" + } + ] + }, + { + "urn:bamm:io.catenax.single_level_bom_as_built:1.0.0#SingleLevelBomAsBuilt": [ + { + "catenaXId": "urn:uuid:3b4fbc56-f33e-460b-932f-8a3d0bb07e5e", + "childItems": [ + { + "catenaXId": "urn:uuid:672fb56f-c17c-4b97-bf88-15e093e30228", + "quantity": { + "quantityNumber": 2.5, + "measurementUnit": "unit:litre" + }, + "businessPartner": "BPNL00000003AYRE", + "createdOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z" + } + ] + } + ], + "catenaXId": "urn:uuid:3b4fbc56-f33e-460b-932f-8a3d0bb07e5e", + "bpnl": "BPNL00000003CSGV", + "urn:bamm:io.catenax.single_level_usage_as_built:1.0.1#SingleLevelUsageAsBuilt": [ + { + "parentParts": [ + { + "parentCatenaXId": "urn:uuid:efcb5f8d-f31c-4b1f-b090-9c878054554d", + "quantity": { + "quantityNumber": 1, + "measurementUnit": "unit:piece" + }, + "createdOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z" + } + ], + "catenaXId": "urn:uuid:3b4fbc56-f33e-460b-932f-8a3d0bb07e5e" + } + ], + "urn:bamm:io.catenax.serial_part:1.0.1#SerialPart": [ + { + "localIdentifiers": [ + { + "value": "BPNL00000003CSGV", + "key": "manufacturerId" + }, + { + "value": "95657362-64", + "key": "manufacturerPartId" + }, + { + "value": "NO-210100050283368228111236", + "key": "partInstanceId" + } + ], + "manufacturingInformation": { + "date": "2022-02-04T14:48:54", + "country": "DEU" + }, + "catenaXId": "urn:uuid:3b4fbc56-f33e-460b-932f-8a3d0bb07e5e", + "partTypeInformation": { + "manufacturerPartId": "33740332-54", + "customerPartId": "33740332-54", + "classification": "component", + "nameAtManufacturer": "Door f-r", + "nameAtCustomer": "Door front-right" + } + } + ], + "urn:bamm:io.catenax.aas:1.0.0#AAS": [ + { + "specificAssetId": [ + { + "value": "NO-210100050283368228111236", + "key": "http://pwc.t-systems.com/datamodel/common" + }, + { + "value": "95657362-64", + "key": "urn:VR:wt.part.WTPart#" + } + ], + "idShort": "door_f-r.asm", + "description": [ + { + "language": "en", + "text": "Door f-r" + } + ], + "submodelDescriptors": [ + { + "semanticId": [ + { + "keys": [ + { + "type": "GlobalReference", + "value": "urn:samm:io.catenax.serial_part:1.0.0#SerialPart" + } + ], + "type": "ExternalReference" + } + ], + "endpoints": [ + { + "interface": "SUBMODEL-3.0", + "protocolInformation": { + "subprotocolBodyEncoding": "plain", + "subprotocol": "IDS", + "securityAttributes": [ + { + "type": "NONE", + "value": "NONE", + "key": "NONE" + } + ], + "endpointProtocolVersion": [ + "1.1" + ], + "href": "https://edc.data.plane/urn%3Auuid%3A75e98d67-e09e-4388-b2f6-ea0a0a642bfe-urn%3Auuid%3A7effd7f4-6353-4401-9547-c54b420a22a0", + "subprotocolBody": "id=urn:uuid:75e98d67-e09e-4388-b2f6-ea0a0a642bfe-urn:uuid:7effd7f4-6353-4401-9547-c54b420a22a0;idsEndpoint=http://edc.control.plane/", + "endpointProtocol": "HTTP" + } + } + ], + "idShort": "singleLevelBomAsBuilt", + "id": "urn:uuid:7effd7f4-6353-4401-9547-c54b420a22a0" + } + ], + "globalAssetId": { + "value": [ + "urn:uuid:3b4fbc56-f33e-460b-932f-8a3d0bb07e5e" + ] + }, + "id": "urn:uuid:6a6e2ce2-d873-473f-97a2-2332271eb193" + } + ] + }, + { + "catenaXId": "urn:uuid:672fb56f-c17c-4b97-bf88-15e093e30228", + "bpnl": "BPNL00000000BJTL", + "urn:bamm:io.catenax.single_level_usage_as_built:1.0.1#SingleLevelUsageAsBuilt": [ + { + "parentParts": [ + { + "parentCatenaXId": "urn:uuid:3b4fbc56-f33e-460b-932f-8a3d0bb07e5e", + "quantity": { + "quantityNumber": 1, + "measurementUnit": "unit:piece" + }, + "createdOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z" + } + ], + "catenaXId": "urn:uuid:672fb56f-c17c-4b97-bf88-15e093e30228" + } + ], + "urn:bamm:io.catenax.serial_part:1.0.1#SerialPart": [ + { + "localIdentifiers": [ + { + "value": "BPNL00000000BJTL", + "key": "manufacturerId" + }, + { + "value": "95657762-59", + "key": "manufacturerPartId" + }, + { + "value": "NO-958535181547189699425823", + "key": "partInstanceId" + } + ], + "manufacturingInformation": { + "date": "2022-02-04T14:48:54", + "country": "DEU" + }, + "catenaXId": "urn:uuid:672fb56f-c17c-4b97-bf88-15e093e30228", + "partTypeInformation": { + "manufacturerPartId": "95657762-59", + "customerPartId": "95657762-59", + "classification": "component", + "nameAtManufacturer": "Door Key", + "nameAtCustomer": "Door Key" + } + } + ], + "urn:bamm:io.catenax.aas:1.0.0#AAS": [ + { + "specificAssetId": [ + { + "value": "NO-958535181547189699425823", + "key": "http://pwc.t-systems.com/datamodel/common" + }, + { + "value": "95657762-59", + "key": "urn:VR:wt.part.WTPart#" + } + ], + "idShort": "door_key.asm", + "description": [ + { + "language": "en", + "text": "Door Key" + } + ], + "submodelDescriptors": [], + "globalAssetId": { + "value": [ + "urn:uuid:672fb56f-c17c-4b97-bf88-15e093e30228" + ] + }, + "id": "urn:uuid:dc794bd4-35d6-4887-8eba-f6b8b8ae9674" + } + ] + }, + { + "catenaXId": "urn:uuid:e4229df7-35ea-49d6-bf58-e661f4461cd3", + "bpnl": "BPNL00000003AZQP", + "urn:bamm:io.catenax.single_level_usage_as_built:1.0.1#SingleLevelUsageAsBuilt": [ + { + "parentParts": [ + { + "parentCatenaXId": "urn:uuid:efcb5f8d-f31c-4b1f-b090-9c878054554d", + "quantity": { + "quantityNumber": 1, + "measurementUnit": "unit:piece" + }, + "createdOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z" + } + ], + "catenaXId": "urn:uuid:e4229df7-35ea-49d6-bf58-e661f4461cd3" + } + ], + "urn:bamm:io.catenax.serial_part:1.0.1#SerialPart": [ + { + "localIdentifiers": [ + { + "value": "BPNL00000003AZQP", + "key": "manufacturerId" + }, + { + "value": "15635759-16", + "key": "manufacturerPartId" + }, + { + "value": "NO-590831205009317141485218", + "key": "partInstanceId" + } + ], + "manufacturingInformation": { + "date": "2022-02-04T14:48:54", + "country": "DEU" + }, + "catenaXId": "urn:uuid:e4229df7-35ea-49d6-bf58-e661f4461cd3", + "partTypeInformation": { + "manufacturerPartId": "15635759-16", + "customerPartId": "15635759-16", + "classification": "component", + "nameAtManufacturer": "Door r-l", + "nameAtCustomer": "Door rear-left" + } + } + ], + "urn:bamm:io.catenax.aas:1.0.0#AAS": [ + { + "specificAssetId": [ + { + "value": "NO-590831205009317141485218", + "key": "http://pwc.t-systems.com/datamodel/common" + }, + { + "value": "15635759-16", + "key": "urn:VR:wt.part.WTPart#" + } + ], + "idShort": "door_r-l.asm", + "description": [ + { + "language": "en", + "text": "Door r-l" + } + ], + "submodelDescriptors": [], + "globalAssetId": { + "value": [ + "urn:uuid:e4229df7-35ea-49d6-bf58-e661f4461cd3" + ] + }, + "id": "urn:uuid:a9be3420-9839-4e77-8ade-d8fb1bb3ce28" + } + ] + }, + { + "catenaXId": "urn:uuid:defb27a1-f206-4217-ba61-3ed18e9f6938", + "bpnl": "BPNL00000003AZQP", + "urn:bamm:io.catenax.single_level_usage_as_built:1.0.1#SingleLevelUsageAsBuilt": [ + { + "parentParts": [ + { + "parentCatenaXId": "urn:uuid:efcb5f8d-f31c-4b1f-b090-9c878054554d", + "quantity": { + "quantityNumber": 1, + "measurementUnit": "unit:piece" + }, + "createdOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z" + } + ], + "catenaXId": "urn:uuid:defb27a1-f206-4217-ba61-3ed18e9f6938" + } + ], + "urn:bamm:io.catenax.serial_part:1.0.1#SerialPart": [ + { + "localIdentifiers": [ + { + "value": "BPNL00000003AZQP", + "key": "manufacturerId" + }, + { + "value": "28673126-98", + "key": "manufacturerPartId" + }, + { + "value": "NO-344738959942575879409775", + "key": "partInstanceId" + } + ], + "manufacturingInformation": { + "date": "2022-02-04T14:48:54", + "country": "DEU" + }, + "catenaXId": "urn:uuid:defb27a1-f206-4217-ba61-3ed18e9f6938", + "partTypeInformation": { + "manufacturerPartId": "28673126-98", + "customerPartId": "28673126-98", + "classification": "component", + "nameAtManufacturer": "Door r-r", + "nameAtCustomer": "Door rear-right" + } + } + ], + "urn:bamm:io.catenax.aas:1.0.0#AAS": [ + { + "specificAssetId": [ + { + "value": "NO-344738959942575879409775", + "key": "http://pwc.t-systems.com/datamodel/common" + }, + { + "value": "28673126-98", + "key": "urn:VR:wt.part.WTPart#" + } + ], + "idShort": "door_r-r.asm", + "description": [ + { + "language": "en", + "text": "Door r-r" + } + ], + "submodelDescriptors": [], + "globalAssetId": { + "value": [ + "urn:uuid:defb27a1-f206-4217-ba61-3ed18e9f6938" + ] + }, + "id": "urn:uuid:7794b94e-6990-414c-a3d1-476ba16cefc4" + } + ] + }, + { + "catenaXId": "urn:uuid:c480badd-44bb-4a67-97ca-943fe598e7b0", + "bpnl": "BPNL00000003AZQP", + "urn:bamm:io.catenax.single_level_usage_as_built:1.0.1#SingleLevelUsageAsBuilt": [ + { + "parentParts": [ + { + "parentCatenaXId": "urn:uuid:efcb5f8d-f31c-4b1f-b090-9c878054554d", + "quantity": { + "quantityNumber": 1, + "measurementUnit": "unit:piece" + }, + "createdOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z" + } + ], + "catenaXId": "urn:uuid:c480badd-44bb-4a67-97ca-943fe598e7b0" + } + ], + "urn:bamm:io.catenax.serial_part:1.0.1#SerialPart": [ + { + "localIdentifiers": [ + { + "value": "BPNL00000003AZQP", + "key": "manufacturerId" + }, + { + "value": "94421589-82", + "key": "manufacturerPartId" + }, + { + "value": "NO-637595770329497884108952", + "key": "partInstanceId" + } + ], + "manufacturingInformation": { + "date": "2022-02-04T14:48:54", + "country": "DEU" + }, + "catenaXId": "urn:uuid:c480badd-44bb-4a67-97ca-943fe598e7b0", + "partTypeInformation": { + "manufacturerPartId": "94421589-82", + "customerPartId": "94421589-82", + "classification": "component", + "nameAtManufacturer": "Engine hood", + "nameAtCustomer": "Engine hood" + } + } + ], + "urn:bamm:io.catenax.aas:1.0.0#AAS": [ + { + "specificAssetId": [ + { + "value": "NO-637595770329497884108952", + "key": "http://pwc.t-systems.com/datamodel/common" + }, + { + "value": "94421589-82", + "key": "urn:VR:wt.part.WTPart#" + } + ], + "idShort": "engine_hood.asm", + "description": [ + { + "language": "en", + "text": "Engine hood" + } + ], + "submodelDescriptors": [], + "globalAssetId": { + "value": [ + "urn:uuid:c480badd-44bb-4a67-97ca-943fe598e7b0" + ] + }, + "id": "urn:uuid:01f761e9-b29b-43c1-bd5d-565541cb3ce8" + } + ] + }, + { + "catenaXId": "urn:uuid:423bbf30-8b0a-4b62-add8-b667dd7f41c4", + "bpnl": "BPNL00000003AZQP", + "urn:bamm:io.catenax.single_level_usage_as_built:1.0.1#SingleLevelUsageAsBuilt": [ + { + "parentParts": [ + { + "parentCatenaXId": "urn:uuid:efcb5f8d-f31c-4b1f-b090-9c878054554d", + "quantity": { + "quantityNumber": 1, + "measurementUnit": "unit:piece" + }, + "createdOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z" + } + ], + "catenaXId": "urn:uuid:423bbf30-8b0a-4b62-add8-b667dd7f41c4" + } + ], + "urn:bamm:io.catenax.serial_part:1.0.1#SerialPart": [ + { + "localIdentifiers": [ + { + "value": "BPNL00000003AZQP", + "key": "manufacturerId" + }, + { + "value": "85023955-75", + "key": "manufacturerPartId" + }, + { + "value": "NO-319884143908363030246192", + "key": "partInstanceId" + } + ], + "manufacturingInformation": { + "date": "2022-02-04T14:48:54", + "country": "DEU" + }, + "catenaXId": "urn:uuid:423bbf30-8b0a-4b62-add8-b667dd7f41c4", + "partTypeInformation": { + "manufacturerPartId": "85023955-75", + "customerPartId": "85023955-75", + "classification": "component", + "nameAtManufacturer": "Tailgate", + "nameAtCustomer": "Tailgate" + } + } + ], + "urn:bamm:io.catenax.aas:1.0.0#AAS": [ + { + "specificAssetId": [ + { + "value": "NO-319884143908363030246192", + "key": "http://pwc.t-systems.com/datamodel/common" + }, + { + "value": "85023955-75", + "key": "urn:VR:wt.part.WTPart#" + } + ], + "idShort": "tailgate.asm", + "description": [ + { + "language": "en", + "text": "Tailgate" + } + ], + "submodelDescriptors": [], + "globalAssetId": { + "value": [ + "urn:uuid:423bbf30-8b0a-4b62-add8-b667dd7f41c4" + ] + }, + "id": "urn:uuid:3524203c-0a73-408e-86ad-4b2fcbb94f2a" + } + ] + }, + { + "catenaXId": "urn:uuid:83c76460-4cc7-4edd-99bb-e265779426f3", + "bpnl": "BPNL00000003AZQP", + "urn:bamm:io.catenax.single_level_usage_as_built:1.0.1#SingleLevelUsageAsBuilt": [ + { + "parentParts": [ + { + "parentCatenaXId": "urn:uuid:efcb5f8d-f31c-4b1f-b090-9c878054554d", + "quantity": { + "quantityNumber": 1, + "measurementUnit": "unit:piece" + }, + "createdOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z" + } + ], + "catenaXId": "urn:uuid:83c76460-4cc7-4edd-99bb-e265779426f3" + } + ], + "urn:bamm:io.catenax.serial_part:1.0.1#SerialPart": [ + { + "localIdentifiers": [ + { + "value": "BPNL00000003AZQP", + "key": "manufacturerId" + }, + { + "value": "13769860-47", + "key": "manufacturerPartId" + }, + { + "value": "NO-181728940975469033258430", + "key": "partInstanceId" + } + ], + "manufacturingInformation": { + "date": "2022-02-04T14:48:54", + "country": "DEU" + }, + "catenaXId": "urn:uuid:83c76460-4cc7-4edd-99bb-e265779426f3", + "partTypeInformation": { + "manufacturerPartId": "13769860-47", + "customerPartId": "13769860-47", + "classification": "component", + "nameAtManufacturer": "Fender left", + "nameAtCustomer": "Fender right" + } + } + ], + "urn:bamm:io.catenax.aas:1.0.0#AAS": [ + { + "specificAssetId": [ + { + "value": "NO-181728940975469033258430", + "key": "http://pwc.t-systems.com/datamodel/common" + }, + { + "value": "13769860-47", + "key": "urn:VR:wt.part.WTPart#" + } + ], + "idShort": "fender_left.asm", + "description": [ + { + "language": "en", + "text": "Fender left" + } + ], + "submodelDescriptors": [], + "globalAssetId": { + "value": [ + "urn:uuid:83c76460-4cc7-4edd-99bb-e265779426f3" + ] + }, + "id": "urn:uuid:db673568-b4cd-4915-9f10-937d78fb647b" + } + ] + }, + { + "catenaXId": "urn:uuid:c985b586-396a-4b36-8b81-0ede61ac7a2f", + "bpnl": "BPNL00000003AZQP", + "urn:bamm:io.catenax.single_level_usage_as_built:1.0.1#SingleLevelUsageAsBuilt": [ + { + "parentParts": [ + { + "parentCatenaXId": "urn:uuid:efcb5f8d-f31c-4b1f-b090-9c878054554d", + "quantity": { + "quantityNumber": 1, + "measurementUnit": "unit:piece" + }, + "createdOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z" + } + ], + "catenaXId": "urn:uuid:c985b586-396a-4b36-8b81-0ede61ac7a2f" + } + ], + "urn:bamm:io.catenax.serial_part:1.0.1#SerialPart": [ + { + "localIdentifiers": [ + { + "value": "BPNL00000003AZQP", + "key": "manufacturerId" + }, + { + "value": "36643162-35", + "key": "manufacturerPartId" + }, + { + "value": "NO-030723058828475276444851", + "key": "partInstanceId" + } + ], + "manufacturingInformation": { + "date": "2022-02-04T14:48:54", + "country": "DEU" + }, + "catenaXId": "urn:uuid:c985b586-396a-4b36-8b81-0ede61ac7a2f", + "partTypeInformation": { + "manufacturerPartId": "36643162-35", + "customerPartId": "36643162-35", + "classification": "component", + "nameAtManufacturer": "Fender right", + "nameAtCustomer": "Fender right" + } + } + ], + "urn:bamm:io.catenax.aas:1.0.0#AAS": [ + { + "specificAssetId": [ + { + "value": "NO-030723058828475276444851", + "key": "http://pwc.t-systems.com/datamodel/common" + }, + { + "value": "36643162-35", + "key": "urn:VR:wt.part.WTPart#" + } + ], + "idShort": "fender_right.asm", + "description": [ + { + "language": "en", + "text": "Fender right" + } + ], + "submodelDescriptors": [], + "globalAssetId": { + "value": [ + "urn:uuid:c985b586-396a-4b36-8b81-0ede61ac7a2f" + ] + }, + "id": "urn:uuid:70de2546-ef16-4f57-b3f9-95f12f372a57" + } + ] + }, + { + "catenaXId": "urn:uuid:8bf3349d-ace7-49cb-96d8-57c5e3fc02aa", + "bpnl": "BPNL00000003AZQP", + "urn:bamm:io.catenax.single_level_usage_as_built:1.0.1#SingleLevelUsageAsBuilt": [ + { + "parentParts": [ + { + "parentCatenaXId": "urn:uuid:efcb5f8d-f31c-4b1f-b090-9c878054554d", + "quantity": { + "quantityNumber": 1, + "measurementUnit": "unit:piece" + }, + "createdOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z" + } + ], + "catenaXId": "urn:uuid:8bf3349d-ace7-49cb-96d8-57c5e3fc02aa" + } + ], + "urn:bamm:io.catenax.serial_part:1.0.1#SerialPart": [ + { + "localIdentifiers": [ + { + "value": "BPNL00000003AZQP", + "key": "manufacturerId" + }, + { + "value": "54165444-59", + "key": "manufacturerPartId" + }, + { + "value": "NO-795001200040923822488590", + "key": "partInstanceId" + } + ], + "manufacturingInformation": { + "date": "2022-02-04T14:48:54", + "country": "DEU" + }, + "catenaXId": "urn:uuid:8bf3349d-ace7-49cb-96d8-57c5e3fc02aa", + "partTypeInformation": { + "manufacturerPartId": "54165444-59", + "customerPartId": "54165444-59", + "classification": "component", + "nameAtManufacturer": "Bumper front", + "nameAtCustomer": "Bumper front" + } + } + ], + "urn:bamm:io.catenax.aas:1.0.0#AAS": [ + { + "specificAssetId": [ + { + "value": "NO-795001200040923822488590", + "key": "http://pwc.t-systems.com/datamodel/common" + }, + { + "value": "54165444-59", + "key": "urn:VR:wt.part.WTPart#" + } + ], + "idShort": "bumper_front.asm", + "description": [ + { + "language": "en", + "text": "Bumper front" + } + ], + "submodelDescriptors": [], + "globalAssetId": { + "value": [ + "urn:uuid:8bf3349d-ace7-49cb-96d8-57c5e3fc02aa" + ] + }, + "id": "urn:uuid:dcf29d75-0c69-4aac-acab-04d982bcc6a0" + } + ] + }, + { + "catenaXId": "urn:uuid:abba905f-24f6-4835-82b8-1b805a88d52c", + "bpnl": "BPNL00000003AZQP", + "urn:bamm:io.catenax.single_level_usage_as_built:1.0.1#SingleLevelUsageAsBuilt": [ + { + "parentParts": [ + { + "parentCatenaXId": "urn:uuid:efcb5f8d-f31c-4b1f-b090-9c878054554d", + "quantity": { + "quantityNumber": 1, + "measurementUnit": "unit:piece" + }, + "createdOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z" + } + ], + "catenaXId": "urn:uuid:abba905f-24f6-4835-82b8-1b805a88d52c" + } + ], + "urn:bamm:io.catenax.serial_part:1.0.1#SerialPart": [ + { + "localIdentifiers": [ + { + "value": "BPNL00000003AZQP", + "key": "manufacturerId" + }, + { + "value": "22768257-25", + "key": "manufacturerPartId" + }, + { + "value": "NO-579101592478123590015445", + "key": "partInstanceId" + } + ], + "manufacturingInformation": { + "date": "2022-02-04T14:48:54", + "country": "DEU" + }, + "catenaXId": "urn:uuid:abba905f-24f6-4835-82b8-1b805a88d52c", + "partTypeInformation": { + "manufacturerPartId": "22768257-25", + "customerPartId": "22768257-25", + "classification": "component", + "nameAtManufacturer": "Bumper rear", + "nameAtCustomer": "Bumper rear" + } + } + ], + "urn:bamm:io.catenax.aas:1.0.0#AAS": [ + { + "specificAssetId": [ + { + "value": "NO-579101592478123590015445", + "key": "http://pwc.t-systems.com/datamodel/common" + }, + { + "value": "22768257-25", + "key": "urn:VR:wt.part.WTPart#" + } + ], + "idShort": "bumper_rear.asm", + "description": [ + { + "language": "en", + "text": "Bumper rear" + } + ], + "submodelDescriptors": [], + "globalAssetId": { + "value": [ + "urn:uuid:abba905f-24f6-4835-82b8-1b805a88d52c" + ] + }, + "id": "urn:uuid:59cee208-b6ba-4f22-a6be-3c0f61770a1d" + } + ] + }, + { + "catenaXId": "urn:uuid:21bd3a19-dbe8-4b4d-b7fd-46a41bd4ecc0", + "bpnl": "BPNL00000003AZQP", + "urn:bamm:io.catenax.single_level_usage_as_built:1.0.1#SingleLevelUsageAsBuilt": [ + { + "parentParts": [ + { + "parentCatenaXId": "urn:uuid:efcb5f8d-f31c-4b1f-b090-9c878054554d", + "quantity": { + "quantityNumber": 1, + "measurementUnit": "unit:piece" + }, + "createdOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z" + } + ], + "catenaXId": "urn:uuid:21bd3a19-dbe8-4b4d-b7fd-46a41bd4ecc0" + } + ], + "urn:bamm:io.catenax.serial_part:1.0.1#SerialPart": [ + { + "localIdentifiers": [ + { + "value": "BPNL00000003AZQP", + "key": "manufacturerId" + }, + { + "value": "65529521-37", + "key": "manufacturerPartId" + }, + { + "value": "NO-386773465636909724607261", + "key": "partInstanceId" + } + ], + "manufacturingInformation": { + "date": "2022-02-04T14:48:54", + "country": "DEU" + }, + "catenaXId": "urn:uuid:21bd3a19-dbe8-4b4d-b7fd-46a41bd4ecc0", + "partTypeInformation": { + "manufacturerPartId": "65529521-37", + "customerPartId": "65529521-37", + "classification": "component", + "nameAtManufacturer": "Exterior mirror left", + "nameAtCustomer": "Exterior mirror left" + } + } + ], + "urn:bamm:io.catenax.aas:1.0.0#AAS": [ + { + "specificAssetId": [ + { + "value": "NO-386773465636909724607261", + "key": "http://pwc.t-systems.com/datamodel/common" + }, + { + "value": "65529521-37", + "key": "urn:VR:wt.part.WTPart#" + } + ], + "idShort": "exterior_mirror_left.asm", + "description": [ + { + "language": "en", + "text": "Exterior mirror left" + } + ], + "submodelDescriptors": [], + "globalAssetId": { + "value": [ + "urn:uuid:21bd3a19-dbe8-4b4d-b7fd-46a41bd4ecc0" + ] + }, + "id": "urn:uuid:94a4d709-17cc-4e34-ad1d-ea9f85b9624a" + } + ] + }, + { + "catenaXId": "urn:uuid:fa5aa5a6-e466-486d-bb82-d3cbe9d470c7", + "bpnl": "BPNL00000003AZQP", + "urn:bamm:io.catenax.single_level_usage_as_built:1.0.1#SingleLevelUsageAsBuilt": [ + { + "parentParts": [ + { + "parentCatenaXId": "urn:uuid:efcb5f8d-f31c-4b1f-b090-9c878054554d", + "quantity": { + "quantityNumber": 1, + "measurementUnit": "unit:piece" + }, + "createdOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z" + } + ], + "catenaXId": "urn:uuid:fa5aa5a6-e466-486d-bb82-d3cbe9d470c7" + } + ], + "urn:bamm:io.catenax.serial_part:1.0.1#SerialPart": [ + { + "localIdentifiers": [ + { + "value": "BPNL00000003AZQP", + "key": "manufacturerId" + }, + { + "value": "58471477-24", + "key": "manufacturerPartId" + }, + { + "value": "NO-047536162607119292221027", + "key": "partInstanceId" + } + ], + "manufacturingInformation": { + "date": "2022-02-04T14:48:54", + "country": "DEU" + }, + "catenaXId": "urn:uuid:fa5aa5a6-e466-486d-bb82-d3cbe9d470c7", + "partTypeInformation": { + "manufacturerPartId": "58471477-24", + "customerPartId": "58471477-24", + "classification": "component", + "nameAtManufacturer": "Exterior mirror right", + "nameAtCustomer": "Exterior mirror right" + } + } + ], + "urn:bamm:io.catenax.aas:1.0.0#AAS": [ + { + "specificAssetId": [ + { + "value": "NO-047536162607119292221027", + "key": "http://pwc.t-systems.com/datamodel/common" + }, + { + "value": "58471477-24", + "key": "urn:VR:wt.part.WTPart#" + } + ], + "idShort": "exterior_mirror_right.asm", + "description": [ + { + "language": "en", + "text": "Exterior mirror right" + } + ], + "submodelDescriptors": [], + "globalAssetId": { + "value": [ + "urn:uuid:fa5aa5a6-e466-486d-bb82-d3cbe9d470c7" + ] + }, + "id": "urn:uuid:62557b56-16f2-4e7c-af6c-52e3c734f616" + } + ] + }, + { + "catenaXId": "urn:uuid:d6497d89-2646-424a-afde-fd802678a786", + "bpnl": "BPNL00000003AZQP", + "urn:bamm:io.catenax.single_level_usage_as_built:1.0.1#SingleLevelUsageAsBuilt": [ + { + "parentParts": [ + { + "parentCatenaXId": "urn:uuid:efcb5f8d-f31c-4b1f-b090-9c878054554d", + "quantity": { + "quantityNumber": 1, + "measurementUnit": "unit:piece" + }, + "createdOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z" + } + ], + "catenaXId": "urn:uuid:d6497d89-2646-424a-afde-fd802678a786" + } + ], + "urn:bamm:io.catenax.serial_part:1.0.1#SerialPart": [ + { + "localIdentifiers": [ + { + "value": "BPNL00000003AZQP", + "key": "manufacturerId" + }, + { + "value": "09002013-68", + "key": "manufacturerPartId" + }, + { + "value": "NO-396701805694151810080244", + "key": "partInstanceId" + } + ], + "manufacturingInformation": { + "date": "2022-02-04T14:48:54", + "country": "DEU" + }, + "catenaXId": "urn:uuid:d6497d89-2646-424a-afde-fd802678a786", + "partTypeInformation": { + "manufacturerPartId": "09002013-68", + "customerPartId": "09002013-68", + "classification": "component", + "nameAtManufacturer": "Trailer coupling", + "nameAtCustomer": "Tailer coupling" + } + } + ], + "urn:bamm:io.catenax.aas:1.0.0#AAS": [ + { + "specificAssetId": [ + { + "value": "NO-396701805694151810080244", + "key": "http://pwc.t-systems.com/datamodel/common" + }, + { + "value": "09002013-68", + "key": "urn:VR:wt.part.WTPart#" + } + ], + "idShort": "trailer_coupling.asm", + "description": [ + { + "language": "en", + "text": "Trailer coupling" + } + ], + "submodelDescriptors": [], + "globalAssetId": { + "value": [ + "urn:uuid:d6497d89-2646-424a-afde-fd802678a786" + ] + }, + "id": "urn:uuid:75f712a5-12be-4ec3-bbec-95def89092c3" + } + ] + }, + { + "catenaXId": "urn:uuid:8398b9c6-58fd-47f1-9822-347c02f6f4a4", + "bpnl": "BPNL00000003AZQP", + "urn:bamm:io.catenax.single_level_usage_as_built:1.0.1#SingleLevelUsageAsBuilt": [ + { + "parentParts": [ + { + "parentCatenaXId": "urn:uuid:efcb5f8d-f31c-4b1f-b090-9c878054554d", + "quantity": { + "quantityNumber": 1, + "measurementUnit": "unit:piece" + }, + "createdOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z" + } + ], + "catenaXId": "urn:uuid:8398b9c6-58fd-47f1-9822-347c02f6f4a4" + } + ], + "urn:bamm:io.catenax.serial_part:1.0.1#SerialPart": [ + { + "localIdentifiers": [ + { + "value": "BPNL00000003AZQP", + "key": "manufacturerId" + }, + { + "value": "43501996-98", + "key": "manufacturerPartId" + }, + { + "value": "NO-178914270921639932685298", + "key": "partInstanceId" + } + ], + "manufacturingInformation": { + "date": "2022-02-04T14:48:54", + "country": "DEU" + }, + "catenaXId": "urn:uuid:8398b9c6-58fd-47f1-9822-347c02f6f4a4", + "partTypeInformation": { + "manufacturerPartId": "43501996-98", + "customerPartId": "43501996-98", + "classification": "component", + "nameAtManufacturer": "Dashboard", + "nameAtCustomer": "Dashboard" + } + } + ], + "urn:bamm:io.catenax.aas:1.0.0#AAS": [ + { + "specificAssetId": [ + { + "value": "NO-178914270921639932685298", + "key": "http://pwc.t-systems.com/datamodel/common" + }, + { + "value": "43501996-98", + "key": "urn:VR:wt.part.WTPart#" + } + ], + "idShort": "dashboard.asm", + "description": [ + { + "language": "en", + "text": "Dashboard" + } + ], + "submodelDescriptors": [], + "globalAssetId": { + "value": [ + "urn:uuid:8398b9c6-58fd-47f1-9822-347c02f6f4a4" + ] + }, + "id": "urn:uuid:85136fe8-8bad-440e-a361-1bca81ceb60f" + } + ] + }, + { + "catenaXId": "urn:uuid:ccb8f629-fb93-49b9-82d8-2623054cfe81", + "bpnl": "BPNL00000003AZQP", + "urn:bamm:io.catenax.single_level_usage_as_built:1.0.1#SingleLevelUsageAsBuilt": [ + { + "parentParts": [ + { + "parentCatenaXId": "urn:uuid:efcb5f8d-f31c-4b1f-b090-9c878054554d", + "quantity": { + "quantityNumber": 1, + "measurementUnit": "unit:piece" + }, + "createdOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z" + } + ], + "catenaXId": "urn:uuid:ccb8f629-fb93-49b9-82d8-2623054cfe81" + } + ], + "urn:bamm:io.catenax.serial_part:1.0.1#SerialPart": [ + { + "localIdentifiers": [ + { + "value": "BPNL00000003AZQP", + "key": "manufacturerId" + }, + { + "value": "77795937-13", + "key": "manufacturerPartId" + }, + { + "value": "NO-101669108787670870057197", + "key": "partInstanceId" + } + ], + "manufacturingInformation": { + "date": "2022-02-04T14:48:54", + "country": "DEU" + }, + "catenaXId": "urn:uuid:ccb8f629-fb93-49b9-82d8-2623054cfe81", + "partTypeInformation": { + "manufacturerPartId": "77795937-13", + "customerPartId": "77795937-13", + "classification": "component", + "nameAtManufacturer": "Steering wheel", + "nameAtCustomer": "Steering wheel" + } + } + ], + "urn:bamm:io.catenax.aas:1.0.0#AAS": [ + { + "specificAssetId": [ + { + "value": "NO-101669108787670870057197", + "key": "http://pwc.t-systems.com/datamodel/common" + }, + { + "value": "77795937-13", + "key": "urn:VR:wt.part.WTPart#" + } + ], + "idShort": "steering_wheel.asm", + "description": [ + { + "language": "en", + "text": "Steering wheel" + } + ], + "submodelDescriptors": [], + "globalAssetId": { + "value": [ + "urn:uuid:ccb8f629-fb93-49b9-82d8-2623054cfe81" + ] + }, + "id": "urn:uuid:786a3b60-9016-434d-9d71-799ee3bc9039" + } + ] + }, + { + "catenaXId": "urn:uuid:b82ae3c0-3338-49e5-89d7-b0622092c6ae", + "bpnl": "BPNL00000003AZQP", + "urn:bamm:io.catenax.single_level_usage_as_built:1.0.1#SingleLevelUsageAsBuilt": [ + { + "parentParts": [ + { + "parentCatenaXId": "urn:uuid:efcb5f8d-f31c-4b1f-b090-9c878054554d", + "quantity": { + "quantityNumber": 1, + "measurementUnit": "unit:piece" + }, + "createdOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z" + } + ], + "catenaXId": "urn:uuid:b82ae3c0-3338-49e5-89d7-b0622092c6ae" + } + ], + "urn:bamm:io.catenax.serial_part:1.0.1#SerialPart": [ + { + "localIdentifiers": [ + { + "value": "BPNL00000003AZQP", + "key": "manufacturerId" + }, + { + "value": "20125432-59", + "key": "manufacturerPartId" + }, + { + "value": "NO-143178880635357820004517", + "key": "partInstanceId" + } + ], + "manufacturingInformation": { + "date": "2022-02-04T14:48:54", + "country": "DEU" + }, + "catenaXId": "urn:uuid:b82ae3c0-3338-49e5-89d7-b0622092c6ae", + "partTypeInformation": { + "manufacturerPartId": "20125432-59", + "customerPartId": "20125432-59", + "classification": "component", + "nameAtManufacturer": "Indicator left", + "nameAtCustomer": "Indicator left" + } + } + ], + "urn:bamm:io.catenax.aas:1.0.0#AAS": [ + { + "specificAssetId": [ + { + "value": "NO-143178880635357820004517", + "key": "http://pwc.t-systems.com/datamodel/common" + }, + { + "value": "20125432-59", + "key": "urn:VR:wt.part.WTPart#" + } + ], + "idShort": "indicator_left.asm", + "description": [ + { + "language": "en", + "text": "Indicator left" + } + ], + "submodelDescriptors": [], + "globalAssetId": { + "value": [ + "urn:uuid:b82ae3c0-3338-49e5-89d7-b0622092c6ae" + ] + }, + "id": "urn:uuid:65615215-f091-4095-84aa-d94fa420e202" + } + ] + }, + { + "catenaXId": "urn:uuid:6db600e1-5e27-4502-b4e9-1597cd02f701", + "bpnl": "BPNL00000003AZQP", + "urn:bamm:io.catenax.single_level_usage_as_built:1.0.1#SingleLevelUsageAsBuilt": [ + { + "parentParts": [ + { + "parentCatenaXId": "urn:uuid:efcb5f8d-f31c-4b1f-b090-9c878054554d", + "quantity": { + "quantityNumber": 1, + "measurementUnit": "unit:piece" + }, + "createdOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z" + } + ], + "catenaXId": "urn:uuid:6db600e1-5e27-4502-b4e9-1597cd02f701" + } + ], + "urn:bamm:io.catenax.serial_part:1.0.1#SerialPart": [ + { + "localIdentifiers": [ + { + "value": "BPNL00000003AZQP", + "key": "manufacturerId" + }, + { + "value": "19073706-76", + "key": "manufacturerPartId" + }, + { + "value": "NO-850653014193608933219131", + "key": "partInstanceId" + } + ], + "manufacturingInformation": { + "date": "2022-02-04T14:48:54", + "country": "DEU" + }, + "catenaXId": "urn:uuid:6db600e1-5e27-4502-b4e9-1597cd02f701", + "partTypeInformation": { + "manufacturerPartId": "19073706-76", + "customerPartId": "19073706-76", + "classification": "component", + "nameAtManufacturer": "Indicator right", + "nameAtCustomer": "Indicator right" + } + } + ], + "urn:bamm:io.catenax.aas:1.0.0#AAS": [ + { + "specificAssetId": [ + { + "value": "NO-850653014193608933219131", + "key": "http://pwc.t-systems.com/datamodel/common" + }, + { + "value": "19073706-76", + "key": "urn:VR:wt.part.WTPart#" + } + ], + "idShort": "indicator_right.asm", + "description": [ + { + "language": "en", + "text": "Indicator right" + } + ], + "submodelDescriptors": [], + "globalAssetId": { + "value": [ + "urn:uuid:6db600e1-5e27-4502-b4e9-1597cd02f701" + ] + }, + "id": "urn:uuid:18e5e4df-b453-43dc-98bd-a37481ec32fa" + } + ] + }, + { + "catenaXId": "urn:uuid:1b91f9c0-63d5-4b8a-87af-ec32bfe40b1a", + "bpnl": "BPNL00000003AZQP", + "urn:bamm:io.catenax.single_level_usage_as_built:1.0.1#SingleLevelUsageAsBuilt": [ + { + "parentParts": [ + { + "parentCatenaXId": "urn:uuid:efcb5f8d-f31c-4b1f-b090-9c878054554d", + "quantity": { + "quantityNumber": 1, + "measurementUnit": "unit:piece" + }, + "createdOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z" + } + ], + "catenaXId": "urn:uuid:1b91f9c0-63d5-4b8a-87af-ec32bfe40b1a" + } + ], + "urn:bamm:io.catenax.serial_part:1.0.1#SerialPart": [ + { + "localIdentifiers": [ + { + "value": "BPNL00000003AZQP", + "key": "manufacturerId" + }, + { + "value": "45415162-57", + "key": "manufacturerPartId" + }, + { + "value": "NO-194701362216886813094918", + "key": "partInstanceId" + } + ], + "manufacturingInformation": { + "date": "2022-02-04T14:48:54", + "country": "DEU" + }, + "catenaXId": "urn:uuid:1b91f9c0-63d5-4b8a-87af-ec32bfe40b1a", + "partTypeInformation": { + "manufacturerPartId": "45415162-57", + "customerPartId": "45415162-57", + "classification": "component", + "nameAtManufacturer": "Led headlight", + "nameAtCustomer": "Led headlight" + } + } + ], + "urn:bamm:io.catenax.aas:1.0.0#AAS": [ + { + "specificAssetId": [ + { + "value": "NO-194701362216886813094918", + "key": "http://pwc.t-systems.com/datamodel/common" + }, + { + "value": "45415162-57", + "key": "urn:VR:wt.part.WTPart#" + } + ], + "idShort": "led_headlight.asm", + "description": [ + { + "language": "en", + "text": "Led headlight" + } + ], + "submodelDescriptors": [], + "globalAssetId": { + "value": [ + "urn:uuid:1b91f9c0-63d5-4b8a-87af-ec32bfe40b1a" + ] + }, + "id": "urn:uuid:e25fc1f4-72a4-4978-88ae-48bc1a503b9a" + } + ] + }, + { + "catenaXId": "urn:uuid:56d5f82b-a94e-4a41-9041-47c503e382fe", + "bpnl": "BPNL00000003AZQP", + "urn:bamm:io.catenax.single_level_usage_as_built:1.0.1#SingleLevelUsageAsBuilt": [ + { + "parentParts": [ + { + "parentCatenaXId": "urn:uuid:efcb5f8d-f31c-4b1f-b090-9c878054554d", + "quantity": { + "quantityNumber": 1, + "measurementUnit": "unit:piece" + }, + "createdOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z" + } + ], + "catenaXId": "urn:uuid:56d5f82b-a94e-4a41-9041-47c503e382fe" + } + ], + "urn:bamm:io.catenax.serial_part:1.0.1#SerialPart": [ + { + "localIdentifiers": [ + { + "value": "BPNL00000003AZQP", + "key": "manufacturerId" + }, + { + "value": "78141846-87", + "key": "manufacturerPartId" + }, + { + "value": "NO-754709352298381051218914", + "key": "partInstanceId" + } + ], + "manufacturingInformation": { + "date": "2022-02-04T14:48:54", + "country": "DEU" + }, + "catenaXId": "urn:uuid:56d5f82b-a94e-4a41-9041-47c503e382fe", + "partTypeInformation": { + "manufacturerPartId": "78141846-87", + "customerPartId": "78141846-87", + "classification": "component", + "nameAtManufacturer": "Starter motor", + "nameAtCustomer": "Starter motor" + } + } + ], + "urn:bamm:io.catenax.aas:1.0.0#AAS": [ + { + "specificAssetId": [ + { + "value": "NO-754709352298381051218914", + "key": "http://pwc.t-systems.com/datamodel/common" + }, + { + "value": "78141846-87", + "key": "urn:VR:wt.part.WTPart#" + } + ], + "idShort": "starter_motor.asm", + "description": [ + { + "language": "en", + "text": "Starter motor" + } + ], + "submodelDescriptors": [], + "globalAssetId": { + "value": [ + "urn:uuid:56d5f82b-a94e-4a41-9041-47c503e382fe" + ] + }, + "id": "urn:uuid:e9b6530b-0876-4a93-a7e6-cb74a1010e0c" + } + ] + }, + { + "catenaXId": "urn:uuid:201e493b-8d25-4276-ab2b-6b5350c4a67d", + "bpnl": "BPNL00000003AZQP", + "urn:bamm:io.catenax.single_level_usage_as_built:1.0.1#SingleLevelUsageAsBuilt": [ + { + "parentParts": [ + { + "parentCatenaXId": "urn:uuid:efcb5f8d-f31c-4b1f-b090-9c878054554d", + "quantity": { + "quantityNumber": 1, + "measurementUnit": "unit:piece" + }, + "createdOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z" + } + ], + "catenaXId": "urn:uuid:201e493b-8d25-4276-ab2b-6b5350c4a67d" + } + ], + "urn:bamm:io.catenax.serial_part:1.0.1#SerialPart": [ + { + "localIdentifiers": [ + { + "value": "BPNL00000003AZQP", + "key": "manufacturerId" + }, + { + "value": "81324139-23", + "key": "manufacturerPartId" + }, + { + "value": "NO-718489043851600453617038", + "key": "partInstanceId" + } + ], + "manufacturingInformation": { + "date": "2022-02-04T14:48:54", + "country": "DEU" + }, + "catenaXId": "urn:uuid:201e493b-8d25-4276-ab2b-6b5350c4a67d", + "partTypeInformation": { + "manufacturerPartId": "81324139-23", + "customerPartId": "81324139-23", + "classification": "component", + "nameAtManufacturer": "Alternator", + "nameAtCustomer": "Alternator" + } + } + ], + "urn:bamm:io.catenax.aas:1.0.0#AAS": [ + { + "specificAssetId": [ + { + "value": "NO-718489043851600453617038", + "key": "http://pwc.t-systems.com/datamodel/common" + }, + { + "value": "81324139-23", + "key": "urn:VR:wt.part.WTPart#" + } + ], + "idShort": "alternator.asm", + "description": [ + { + "language": "en", + "text": "Alternator" + } + ], + "submodelDescriptors": [], + "globalAssetId": { + "value": [ + "urn:uuid:201e493b-8d25-4276-ab2b-6b5350c4a67d" + ] + }, + "id": "urn:uuid:223a28a2-8451-4ca9-8ef1-c2239bc81203" + } + ] + }, + { + "catenaXId": "urn:uuid:a550bcb2-6ed2-49e6-b718-2012b82cfc9b", + "bpnl": "BPNL00000003AZQP", + "urn:bamm:io.catenax.single_level_usage_as_built:1.0.1#SingleLevelUsageAsBuilt": [ + { + "parentParts": [ + { + "parentCatenaXId": "urn:uuid:efcb5f8d-f31c-4b1f-b090-9c878054554d", + "quantity": { + "quantityNumber": 1, + "measurementUnit": "unit:piece" + }, + "createdOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z" + } + ], + "catenaXId": "urn:uuid:a550bcb2-6ed2-49e6-b718-2012b82cfc9b" + } + ], + "urn:bamm:io.catenax.serial_part:1.0.1#SerialPart": [ + { + "localIdentifiers": [ + { + "value": "BPNL00000003AZQP", + "key": "manufacturerId" + }, + { + "value": "57929013-09", + "key": "manufacturerPartId" + }, + { + "value": "NO-261994987523256082110919", + "key": "partInstanceId" + } + ], + "manufacturingInformation": { + "date": "2022-02-04T14:48:54", + "country": "DEU" + }, + "catenaXId": "urn:uuid:a550bcb2-6ed2-49e6-b718-2012b82cfc9b", + "partTypeInformation": { + "manufacturerPartId": "57929013-09", + "customerPartId": "57929013-09", + "classification": "component", + "nameAtManufacturer": "AC compressor", + "nameAtCustomer": "Air conditioning compressor" + } + } + ], + "urn:bamm:io.catenax.aas:1.0.0#AAS": [ + { + "specificAssetId": [ + { + "value": "NO-261994987523256082110919", + "key": "http://pwc.t-systems.com/datamodel/common" + }, + { + "value": "57929013-09", + "key": "urn:VR:wt.part.WTPart#" + } + ], + "idShort": "ac_compressor.asm", + "description": [ + { + "language": "en", + "text": "AC compressor" + } + ], + "submodelDescriptors": [], + "globalAssetId": { + "value": [ + "urn:uuid:a550bcb2-6ed2-49e6-b718-2012b82cfc9b" + ] + }, + "id": "urn:uuid:922a2f80-6009-48fe-af6a-d5eaee86ccc6" + } + ] + }, + { + "catenaXId": "urn:uuid:eeed1b1c-dcdc-457e-a586-2308fb729824", + "bpnl": "BPNL00000003AZQP", + "urn:bamm:io.catenax.single_level_usage_as_built:1.0.1#SingleLevelUsageAsBuilt": [ + { + "parentParts": [ + { + "parentCatenaXId": "urn:uuid:efcb5f8d-f31c-4b1f-b090-9c878054554d", + "quantity": { + "quantityNumber": 1, + "measurementUnit": "unit:piece" + }, + "createdOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z" + } + ], + "catenaXId": "urn:uuid:eeed1b1c-dcdc-457e-a586-2308fb729824" + } + ], + "urn:bamm:io.catenax.serial_part:1.0.1#SerialPart": [ + { + "localIdentifiers": [ + { + "value": "BPNL00000003AZQP", + "key": "manufacturerId" + }, + { + "value": "61184040-23", + "key": "manufacturerPartId" + }, + { + "value": "NO-781120115786728127467636", + "key": "partInstanceId" + } + ], + "manufacturingInformation": { + "date": "2022-02-04T14:48:54", + "country": "DEU" + }, + "catenaXId": "urn:uuid:eeed1b1c-dcdc-457e-a586-2308fb729824", + "partTypeInformation": { + "manufacturerPartId": "61184040-23", + "customerPartId": "61184040-23", + "classification": "component", + "nameAtManufacturer": "Taillight rear", + "nameAtCustomer": "Taillight rear" + } + } + ], + "urn:bamm:io.catenax.aas:1.0.0#AAS": [ + { + "specificAssetId": [ + { + "value": "NO-781120115786728127467636", + "key": "http://pwc.t-systems.com/datamodel/common" + }, + { + "value": "61184040-23", + "key": "urn:VR:wt.part.WTPart#" + } + ], + "idShort": "taillight_rear.asm", + "description": [ + { + "language": "en", + "text": "Taillight rear" + } + ], + "submodelDescriptors": [], + "globalAssetId": { + "value": [ + "urn:uuid:eeed1b1c-dcdc-457e-a586-2308fb729824" + ] + }, + "id": "urn:uuid:e590d651-ffcf-454a-9a03-124314b23edd" + } + ] + }, + { + "catenaXId": "urn:uuid:7ccf273b-bef6-490b-aee0-87972970bb96", + "bpnl": "BPNL00000003AZQP", + "urn:bamm:io.catenax.single_level_usage_as_built:1.0.1#SingleLevelUsageAsBuilt": [ + { + "parentParts": [ + { + "parentCatenaXId": "urn:uuid:efcb5f8d-f31c-4b1f-b090-9c878054554d", + "quantity": { + "quantityNumber": 1, + "measurementUnit": "unit:piece" + }, + "createdOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z" + } + ], + "catenaXId": "urn:uuid:7ccf273b-bef6-490b-aee0-87972970bb96" + } + ], + "urn:bamm:io.catenax.serial_part:1.0.1#SerialPart": [ + { + "localIdentifiers": [ + { + "value": "BPNL00000003AZQP", + "key": "manufacturerId" + }, + { + "value": "78744126-74", + "key": "manufacturerPartId" + }, + { + "value": "NO-699641072544927435678707", + "key": "partInstanceId" + } + ], + "manufacturingInformation": { + "date": "2022-02-04T14:48:54", + "country": "DEU" + }, + "catenaXId": "urn:uuid:7ccf273b-bef6-490b-aee0-87972970bb96", + "partTypeInformation": { + "manufacturerPartId": "78744126-74", + "customerPartId": "78744126-74", + "classification": "component", + "nameAtManufacturer": "Taillight front", + "nameAtCustomer": "Taillight front" + } + } + ], + "urn:bamm:io.catenax.aas:1.0.0#AAS": [ + { + "specificAssetId": [ + { + "value": "NO-699641072544927435678707", + "key": "http://pwc.t-systems.com/datamodel/common" + }, + { + "value": "78744126-74", + "key": "urn:VR:wt.part.WTPart#" + } + ], + "idShort": "taillight_front.asm", + "description": [ + { + "language": "en", + "text": "Taillight front" + } + ], + "submodelDescriptors": [], + "globalAssetId": { + "value": [ + "urn:uuid:7ccf273b-bef6-490b-aee0-87972970bb96" + ] + }, + "id": "urn:uuid:f4953a92-a26d-414d-af71-1093a524ca77" + } + ] + }, + { + "catenaXId": "urn:uuid:42e551d0-5f6a-4c6b-abdc-bf18093f3a21", + "bpnl": "BPNL00000003AZQP", + "urn:bamm:io.catenax.single_level_usage_as_built:1.0.1#SingleLevelUsageAsBuilt": [ + { + "parentParts": [ + { + "parentCatenaXId": "urn:uuid:efcb5f8d-f31c-4b1f-b090-9c878054554d", + "quantity": { + "quantityNumber": 1, + "measurementUnit": "unit:piece" + }, + "createdOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z" + } + ], + "catenaXId": "urn:uuid:42e551d0-5f6a-4c6b-abdc-bf18093f3a21" + } + ], + "urn:bamm:io.catenax.serial_part:1.0.1#SerialPart": [ + { + "localIdentifiers": [ + { + "value": "BPNL00000003AZQP", + "key": "manufacturerId" + }, + { + "value": "12093297-03", + "key": "manufacturerPartId" + }, + { + "value": "NO-504774101239795809467877", + "key": "partInstanceId" + } + ], + "manufacturingInformation": { + "date": "2022-02-04T14:48:54", + "country": "DEU" + }, + "catenaXId": "urn:uuid:42e551d0-5f6a-4c6b-abdc-bf18093f3a21", + "partTypeInformation": { + "manufacturerPartId": "12093297-03", + "customerPartId": "12093297-03", + "classification": "component", + "nameAtManufacturer": "Axle part front", + "nameAtCustomer": "Axle part front" + } + } + ], + "urn:bamm:io.catenax.aas:1.0.0#AAS": [ + { + "specificAssetId": [ + { + "value": "NO-504774101239795809467877", + "key": "http://pwc.t-systems.com/datamodel/common" + }, + { + "value": "12093297-03", + "key": "urn:VR:wt.part.WTPart#" + } + ], + "idShort": "axle_part_front.asm", + "description": [ + { + "language": "en", + "text": "Axle part front" + } + ], + "submodelDescriptors": [], + "globalAssetId": { + "value": [ + "urn:uuid:42e551d0-5f6a-4c6b-abdc-bf18093f3a21" + ] + }, + "id": "urn:uuid:dac3fbc6-13e2-4887-9d98-b4f81f442917" + } + ] + }, + { + "catenaXId": "urn:uuid:5d2e8e8c-913f-48f7-b967-62bbf434ad79", + "bpnl": "BPNL00000003AZQP", + "urn:bamm:io.catenax.single_level_usage_as_built:1.0.1#SingleLevelUsageAsBuilt": [ + { + "parentParts": [ + { + "parentCatenaXId": "urn:uuid:efcb5f8d-f31c-4b1f-b090-9c878054554d", + "quantity": { + "quantityNumber": 1, + "measurementUnit": "unit:piece" + }, + "createdOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z" + } + ], + "catenaXId": "urn:uuid:5d2e8e8c-913f-48f7-b967-62bbf434ad79" + } + ], + "urn:bamm:io.catenax.serial_part:1.0.1#SerialPart": [ + { + "localIdentifiers": [ + { + "value": "BPNL00000003AZQP", + "key": "manufacturerId" + }, + { + "value": "88111709-49", + "key": "manufacturerPartId" + }, + { + "value": "NO-023895655196707545973119", + "key": "partInstanceId" + } + ], + "manufacturingInformation": { + "date": "2022-02-04T14:48:54", + "country": "DEU" + }, + "catenaXId": "urn:uuid:5d2e8e8c-913f-48f7-b967-62bbf434ad79", + "partTypeInformation": { + "manufacturerPartId": "88111709-49", + "customerPartId": "88111709-49", + "classification": "component", + "nameAtManufacturer": "Axle part rear", + "nameAtCustomer": "Axle part rear" + } + } + ], + "urn:bamm:io.catenax.aas:1.0.0#AAS": [ + { + "specificAssetId": [ + { + "value": "NO-023895655196707545973119", + "key": "http://pwc.t-systems.com/datamodel/common" + }, + { + "value": "88111709-49", + "key": "urn:VR:wt.part.WTPart#" + } + ], + "idShort": "axle_part_rear.asm", + "description": [ + { + "language": "en", + "text": "Axle part rear" + } + ], + "submodelDescriptors": [], + "globalAssetId": { + "value": [ + "urn:uuid:5d2e8e8c-913f-48f7-b967-62bbf434ad79" + ] + }, + "id": "urn:uuid:4a6eb880-af8e-4c67-a98b-5b717df50653" + } + ] + }, + { + "catenaXId": "urn:uuid:c686418b-a89a-4a00-b646-c66ba6903479", + "bpnl": "BPNL00000003AZQP", + "urn:bamm:io.catenax.single_level_usage_as_built:1.0.1#SingleLevelUsageAsBuilt": [ + { + "parentParts": [ + { + "parentCatenaXId": "urn:uuid:efcb5f8d-f31c-4b1f-b090-9c878054554d", + "quantity": { + "quantityNumber": 1, + "measurementUnit": "unit:piece" + }, + "createdOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z" + } + ], + "catenaXId": "urn:uuid:c686418b-a89a-4a00-b646-c66ba6903479" + } + ], + "urn:bamm:io.catenax.serial_part:1.0.1#SerialPart": [ + { + "localIdentifiers": [ + { + "value": "BPNL00000003AZQP", + "key": "manufacturerId" + }, + { + "value": "00871379-44", + "key": "manufacturerPartId" + }, + { + "value": "NO-017265581836892232079826", + "key": "partInstanceId" + } + ], + "manufacturingInformation": { + "date": "2022-02-04T14:48:54", + "country": "DEU" + }, + "catenaXId": "urn:uuid:c686418b-a89a-4a00-b646-c66ba6903479", + "partTypeInformation": { + "manufacturerPartId": "00871379-44", + "customerPartId": "00871379-44", + "classification": "component", + "nameAtManufacturer": "Chassis", + "nameAtCustomer": "Chassis" + } + } + ], + "urn:bamm:io.catenax.aas:1.0.0#AAS": [ + { + "specificAssetId": [ + { + "value": "NO-017265581836892232079826", + "key": "http://pwc.t-systems.com/datamodel/common" + }, + { + "value": "00871379-44", + "key": "urn:VR:wt.part.WTPart#" + } + ], + "idShort": "chassis.asm", + "description": [ + { + "language": "en", + "text": "Chassis" + } + ], + "submodelDescriptors": [], + "globalAssetId": { + "value": [ + "urn:uuid:c686418b-a89a-4a00-b646-c66ba6903479" + ] + }, + "id": "urn:uuid:4a6c9016-263b-472c-9e6f-394f18fb1fdb" + } + ] + }, + { + "catenaXId": "urn:uuid:6e49506c-6f7e-4700-8a1a-3ba173fffe12", + "bpnl": "BPNL00000003AZQP", + "urn:bamm:io.catenax.single_level_usage_as_built:1.0.1#SingleLevelUsageAsBuilt": [ + { + "parentParts": [ + { + "parentCatenaXId": "urn:uuid:efcb5f8d-f31c-4b1f-b090-9c878054554d", + "quantity": { + "quantityNumber": 1, + "measurementUnit": "unit:piece" + }, + "createdOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z" + } + ], + "catenaXId": "urn:uuid:6e49506c-6f7e-4700-8a1a-3ba173fffe12" + } + ], + "urn:bamm:io.catenax.serial_part:1.0.1#SerialPart": [ + { + "localIdentifiers": [ + { + "value": "BPNL00000003AZQP", + "key": "manufacturerId" + }, + { + "value": "08901347-87", + "key": "manufacturerPartId" + }, + { + "value": "NO-568216196724280019972058", + "key": "partInstanceId" + } + ], + "manufacturingInformation": { + "date": "2022-02-04T14:48:54", + "country": "DEU" + }, + "catenaXId": "urn:uuid:6e49506c-6f7e-4700-8a1a-3ba173fffe12", + "partTypeInformation": { + "manufacturerPartId": "08901347-87", + "customerPartId": "08901347-87", + "classification": "component", + "nameAtManufacturer": "Rims", + "nameAtCustomer": "Rims" + } + } + ], + "urn:bamm:io.catenax.aas:1.0.0#AAS": [ + { + "specificAssetId": [ + { + "value": "NO-568216196724280019972058", + "key": "http://pwc.t-systems.com/datamodel/common" + }, + { + "value": "08901347-87", + "key": "urn:VR:wt.part.WTPart#" + } + ], + "idShort": "rims.asm", + "description": [ + { + "language": "en", + "text": "Rims" + } + ], + "submodelDescriptors": [], + "globalAssetId": { + "value": [ + "urn:uuid:6e49506c-6f7e-4700-8a1a-3ba173fffe12" + ] + }, + "id": "urn:uuid:f17208f6-5b52-42d2-97db-cfd3c3de1ed9" + } + ] + }, + { + "catenaXId": "urn:uuid:4ac27014-519f-4dce-ba81-4316966dcd78", + "bpnl": "BPNL00000003AZQP", + "urn:bamm:io.catenax.single_level_usage_as_built:1.0.1#SingleLevelUsageAsBuilt": [ + { + "parentParts": [ + { + "parentCatenaXId": "urn:uuid:efcb5f8d-f31c-4b1f-b090-9c878054554d", + "quantity": { + "quantityNumber": 1, + "measurementUnit": "unit:piece" + }, + "createdOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z" + } + ], + "catenaXId": "urn:uuid:4ac27014-519f-4dce-ba81-4316966dcd78" + } + ], + "urn:bamm:io.catenax.serial_part:1.0.1#SerialPart": [ + { + "localIdentifiers": [ + { + "value": "BPNL00000003AZQP", + "key": "manufacturerId" + }, + { + "value": "45863316-60", + "key": "manufacturerPartId" + }, + { + "value": "NO-183676622165599322089918", + "key": "partInstanceId" + } + ], + "manufacturingInformation": { + "date": "2022-02-04T14:48:54", + "country": "DEU" + }, + "catenaXId": "urn:uuid:4ac27014-519f-4dce-ba81-4316966dcd78", + "partTypeInformation": { + "manufacturerPartId": "45863316-60", + "customerPartId": "45863316-60", + "classification": "component", + "nameAtManufacturer": "Tires", + "nameAtCustomer": "Tires" + } + } + ], + "urn:bamm:io.catenax.aas:1.0.0#AAS": [ + { + "specificAssetId": [ + { + "value": "NO-183676622165599322089918", + "key": "http://pwc.t-systems.com/datamodel/common" + }, + { + "value": "45863316-60", + "key": "urn:VR:wt.part.WTPart#" + } + ], + "idShort": "tires.asm", + "description": [ + { + "language": "en", + "text": "Tires" + } + ], + "submodelDescriptors": [], + "globalAssetId": { + "value": [ + "urn:uuid:4ac27014-519f-4dce-ba81-4316966dcd78" + ] + }, + "id": "urn:uuid:9ddaa2ae-7ea6-42c4-ac14-1d965ef7a548" + } + ] + }, + { + "urn:bamm:io.catenax.single_level_bom_as_built:1.0.0#SingleLevelBomAsBuilt": [ + { + "catenaXId": "urn:uuid:f4fe84cf-3958-4283-b369-a6a2beb8e27f", + "childItems": [ + { + "catenaXId": "urn:uuid:6da123c9-be25-42c7-9e26-7013774567b5", + "quantity": { + "quantityNumber": 0.2014, + "measurementUnit": "unit:kilogram" + }, + "businessPartner": "BPNL00000003AYRE", + "createdOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z" + }, + { + "catenaXId": "urn:uuid:932ee9c0-bd73-4fa9-a6ef-d5290bd1277c", + "quantity": { + "quantityNumber": 2.5, + "measurementUnit": "unit:litre" + }, + "businessPartner": "BPNL50096894aNXY", + "createdOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z" + }, + { + "catenaXId": "urn:uuid:59708891-7454-4da5-8529-6af2d6e0d0e7", + "quantity": { + "quantityNumber": 0.2341, + "measurementUnit": "unit:kilogram" + }, + "businessPartner": "BPNL00000003AZQP", + "createdOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z" + } + ] + } + ], + "catenaXId": "urn:uuid:f4fe84cf-3958-4283-b369-a6a2beb8e27f", + "bpnl": "BPNL00000003B2OM", + "urn:bamm:io.catenax.single_level_usage_as_built:1.0.1#SingleLevelUsageAsBuilt": [ + { + "parentParts": [ + { + "parentCatenaXId": "urn:uuid:efcb5f8d-f31c-4b1f-b090-9c878054554d", + "quantity": { + "quantityNumber": 1, + "measurementUnit": "unit:piece" + }, + "createdOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z" + } + ], + "catenaXId": "urn:uuid:f4fe84cf-3958-4283-b369-a6a2beb8e27f" + } + ], + "urn:bamm:io.catenax.serial_part:1.0.1#SerialPart": [ + { + "localIdentifiers": [ + { + "value": "BPNL00000003B2OM", + "key": "manufacturerId" + }, + { + "value": "1O222E8-43", + "key": "manufacturerPartId" + }, + { + "value": "NO-194528578701427920299632", + "key": "partInstanceId" + } + ], + "manufacturingInformation": { + "date": "2022-02-04T14:48:54", + "country": "DEU" + }, + "catenaXId": "urn:uuid:f4fe84cf-3958-4283-b369-a6a2beb8e27f", + "partTypeInformation": { + "manufacturerPartId": "1O222E8-43", + "customerPartId": "1O222E8-43", + "classification": "component", + "nameAtManufacturer": "Transmission", + "nameAtCustomer": "Transmission" + } + } + ], + "urn:bamm:io.catenax.transmission_pass:1.0.0#TransmissionPass": [ + { + "productSpecificParameters": { + "torqueConverter": [ + "RYtGKbgicZaHCBRQDSx" + ], + "driveType": "combustion engine", + "oilType": "Lifeguard Hybrid 2", + "spreading": 6.79, + "torque": 500, + "power": 300, + "standardGearRatio": { + "gear": "1", + "ratio": 4.1567 + }, + "oilCapacity": 8.9, + "electricPerformance": [ + "VLhpfQGTMDYpsBZxvfBoeygjb" + ], + "speedResistance": { + "speed": 7800, + "gear": "1" + } + }, + "instructions": { + "packagingInstructions": [ + { + "documentLink": "https://www.xxx.pdf", + "documentTitle": "Title A" + } + ], + "transportationInstructions": [ + { + "documentLink": "https://www.xxx.pdf", + "documentTitle": "Title A" + } + ], + "dismantlingProcedure": [ + { + "documentLink": "https://www.xxx.pdf", + "documentTitle": "Title A" + } + ], + "vehicleDismantlingProcedure": [ + { + "documentLink": "https://www.xxx.pdf", + "documentTitle": "Title A" + } + ], + "safetyMeasures": [ + { + "documentLink": "https://www.xxx.pdf", + "documentTitle": "Title A" + } + ] + }, + "catenaXId": "urn:uuid:f4fe84cf-3958-4283-b369-a6a2beb8e27f", + "identification": { + "localIdentifiers": [ + { + "value": "NO-194528578701427920299632", + "key": "PartInstanceID" + } + ], + "dataMatrixCode": "UMaAIKKIkknjWEXJUfPxxQHeWKEJ", + "manufacturerId": "BPNL00000003B2OM" + }, + "sparePartSupplier": [ + { + "supplierId": "BPNL1234567890ZZ", + "supplierContact": { + "website": "https://www.samsung.com", + "phoneNumber": "+49 89 1234567890", + "faxNumber": "+49 89 0987654321", + "email": "test.mail@example.com" + }, + "sparePartName": "torque converter" + } + ], + "stateOfHealth": { + "serviceHistory": [ + "2023-05-22T13:16:47.239+02:00" + ], + "remanufacturing": { + "productStatusValue": "first life", + "remanufacturingDate": "2023-05-22T13:16:47.239+02:00" + }, + "expectedLifespan": 500000 + }, + "generalInformation": { + "additionalInformation": "JxkyvRnL", + "physicalDimensionsProperty": { + "diameter": 0.03, + "width": 1000, + "length": 20000.1, + "weight": 100.7, + "height": 0.1 + }, + "warrantyPeriod": 60, + "productDescription": "manual transmission", + "productType": "8HP60MH" + }, + "sustainability": { + "carbonFootprint": { + "productOrSectorSpecificRules": [ + { + "otherOperatorName": "NSF", + "ruleNames": "ABC 2021", + "operator": "PEF" + } + ], + "crossSectoralStandardsUsed": [ + { + "crossSectoralStandard": "GHG Protocol Product standard" + } + ], + "co2FootprintTotal": -1.7976931348623157E308 + }, + "substancesOfConcern": [ + "yedUsFwdkelQbxeTeQOvaScfqIOOmaa" + ], + "responsibleSourcingDocument": [ + { + "documentLink": "https://www.xxx.pdf", + "documentTitle": "Title A" + } + ], + "recyclateContent": { + "nickel": -1.7976931348623157E308, + "lithium": -1.7976931348623157E308, + "cobalt": -1.7976931348623157E308, + "otherSubstance": [ + { + "substanceName": "Lead", + "substancePercentage": 8 + } + ] + }, + "criticalRawMaterials": [ + "eOMtThyhVNLWUZNRcBaQKxI" + ] + } + } + ], + "urn:bamm:io.catenax.aas:1.0.0#AAS": [ + { + "specificAssetId": [ + { + "value": "NO-194528578701427920299632", + "key": "http://pwc.t-systems.com/datamodel/common" + }, + { + "value": "1O222E8-43", + "key": "urn:VR:wt.part.WTPart#" + } + ], + "idShort": "transmission.asm", + "description": [ + { + "language": "en", + "text": "Transmission" + } + ], + "submodelDescriptors": [ + { + "semanticId": [ + { + "keys": [ + { + "type": "GlobalReference", + "value": "urn:samm:io.catenax.serial_part:1.0.0#SerialPart" + } + ], + "type": "ExternalReference" + } + ], + "endpoints": [ + { + "interface": "SUBMODEL-3.0", + "protocolInformation": { + "subprotocolBodyEncoding": "plain", + "subprotocol": "IDS", + "securityAttributes": [ + { + "type": "NONE", + "value": "NONE", + "key": "NONE" + } + ], + "endpointProtocolVersion": [ + "1.1" + ], + "href": "https://edc.data.plane/urn%3Auuid%3A75e98d67-e09e-4388-b2f6-ea0a0a642bfe-urn%3Auuid%3A7effd7f4-6353-4401-9547-c54b420a22a0", + "subprotocolBody": "id=urn:uuid:75e98d67-e09e-4388-b2f6-ea0a0a642bfe-urn:uuid:7effd7f4-6353-4401-9547-c54b420a22a0;idsEndpoint=http://edc.control.plane/", + "endpointProtocol": "HTTP" + } + } + ], + "idShort": "physicalDimension", + "id": "urn:uuid:7effd7f4-6353-4401-9547-c54b420a22a0" + }, + { + "semanticId": [ + { + "keys": [ + { + "type": "GlobalReference", + "value": "urn:samm:io.catenax.serial_part:1.0.0#SerialPart" + } + ], + "type": "ExternalReference" + } + ], + "endpoints": [ + { + "interface": "SUBMODEL-3.0", + "protocolInformation": { + "subprotocolBodyEncoding": "plain", + "subprotocol": "IDS", + "securityAttributes": [ + { + "type": "NONE", + "value": "NONE", + "key": "NONE" + } + ], + "endpointProtocolVersion": [ + "1.1" + ], + "href": "https://edc.data.plane/urn%3Auuid%3A75e98d67-e09e-4388-b2f6-ea0a0a642bfe-urn%3Auuid%3A7effd7f4-6353-4401-9547-c54b420a22a0", + "subprotocolBody": "id=urn:uuid:75e98d67-e09e-4388-b2f6-ea0a0a642bfe-urn:uuid:7effd7f4-6353-4401-9547-c54b420a22a0;idsEndpoint=http://edc.control.plane/", + "endpointProtocol": "HTTP" + } + } + ], + "idShort": "materialForRecycling", + "id": "urn:uuid:7effd7f4-6353-4401-9547-c54b420a22a0" + }, + { + "semanticId": [ + { + "keys": [ + { + "type": "GlobalReference", + "value": "urn:samm:io.catenax.serial_part:1.0.0#SerialPart" + } + ], + "type": "ExternalReference" + } + ], + "endpoints": [ + { + "interface": "SUBMODEL-3.0", + "protocolInformation": { + "subprotocolBodyEncoding": "plain", + "subprotocol": "IDS", + "securityAttributes": [ + { + "type": "NONE", + "value": "NONE", + "key": "NONE" + } + ], + "endpointProtocolVersion": [ + "1.1" + ], + "href": "https://edc.data.plane/urn%3Auuid%3A75e98d67-e09e-4388-b2f6-ea0a0a642bfe-urn%3Auuid%3A7effd7f4-6353-4401-9547-c54b420a22a0", + "subprotocolBody": "id=urn:uuid:75e98d67-e09e-4388-b2f6-ea0a0a642bfe-urn:uuid:7effd7f4-6353-4401-9547-c54b420a22a0;idsEndpoint=http://edc.control.plane/", + "endpointProtocol": "HTTP" + } + } + ], + "idShort": "transmissionPass", + "id": "urn:uuid:7effd7f4-6353-4401-9547-c54b420a22a0" + }, + { + "semanticId": [ + { + "keys": [ + { + "type": "GlobalReference", + "value": "urn:samm:io.catenax.serial_part:1.0.0#SerialPart" + } + ], + "type": "ExternalReference" + } + ], + "endpoints": [ + { + "interface": "SUBMODEL-3.0", + "protocolInformation": { + "subprotocolBodyEncoding": "plain", + "subprotocol": "IDS", + "securityAttributes": [ + { + "type": "NONE", + "value": "NONE", + "key": "NONE" + } + ], + "endpointProtocolVersion": [ + "1.1" + ], + "href": "https://edc.data.plane/urn%3Auuid%3A75e98d67-e09e-4388-b2f6-ea0a0a642bfe-urn%3Auuid%3A7effd7f4-6353-4401-9547-c54b420a22a0", + "subprotocolBody": "id=urn:uuid:75e98d67-e09e-4388-b2f6-ea0a0a642bfe-urn:uuid:7effd7f4-6353-4401-9547-c54b420a22a0;idsEndpoint=http://edc.control.plane/", + "endpointProtocol": "HTTP" + } + } + ], + "idShort": "singleLevelBomAsBuilt", + "id": "urn:uuid:7effd7f4-6353-4401-9547-c54b420a22a0" + } + ], + "globalAssetId": { + "value": [ + "urn:uuid:f4fe84cf-3958-4283-b369-a6a2beb8e27f" + ] + }, + "id": "urn:uuid:85ee9c0f-f5da-4c5a-9742-0e4136997ee0" + } + ], + "urn:bamm:io.catenax.physical_dimension:1.0.0#PhysicalDimension": [ + { + "diameter": 380, + "length": 810, + "width": 590, + "weight": 85, + "height": 610 + } + ], + "urn:bamm:io.catenax.material_for_recycling:1.1.0#MaterialForRecycling": [ + { + "component": [ + { + "materialName": "Carbon Steel", + "recycledContent": 86, + "materialClass": "1.1.2", + "quantity": { + "unit": "unit:kilogram", + "value": 72.843 + }, + "aggregateState": "solid", + "materialAbbreviation": "CS2" + }, + { + "materialName": "Oil", + "recycledContent": 79, + "materialClass": "9.2", + "quantity": { + "unit": "unit:kilogram", + "value": 6.9 + }, + "aggregateState": "liquid", + "materialAbbreviation": "SAE40" + }, + { + "materialName": "Copper", + "recycledContent": 25, + "materialClass": "3.1", + "quantity": { + "unit": "unit:kilogram", + "value": 1.2 + }, + "aggregateState": "solid", + "materialAbbreviation": "CO7" + } + ] + } + ] + }, + { + "catenaXId": "urn:uuid:6da123c9-be25-42c7-9e26-7013774567b5", + "bpnl": "BPNL00000003B0Q0", + "urn:bamm:io.catenax.single_level_usage_as_built:1.0.1#SingleLevelUsageAsBuilt": [ + { + "parentParts": [ + { + "parentCatenaXId": "urn:uuid:f4fe84cf-3958-4283-b369-a6a2beb8e27f", + "quantity": { + "quantityNumber": 1, + "measurementUnit": "unit:piece" + }, + "createdOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z" + } + ], + "catenaXId": "urn:uuid:6da123c9-be25-42c7-9e26-7013774567b5" + } + ], + "urn:samm:io.catenax.batch:2.0.0#Batch": [ + { + "localIdentifiers": [ + { + "value": "BPNL00000003B0Q0", + "key": "manufacturerId" + }, + { + "value": "BID12345678", + "key": "BatchID" + } + ], + "manufacturingInformation": { + "date": "2022-02-04T14:48:54", + "country": "HUR" + }, + "catenaXId": "urn:uuid:6da123c9-be25-42c7-9e26-7013774567b5", + "partTypeInformation": { + "manufacturerPartId": "14627J4-22", + "classification": "component", + "nameAtManufacturer": "Engineering Plastics" + } + } + ], + "urn:bamm:io.catenax.material_for_recycling:1.1.0#MaterialForRecycling": [ + { + "materialName": "Engineering Plastics", + "materialClass": "5.1", + "component": [ + { + "materialName": "PA66", + "recycledContent": 29, + "materialClass": "5.1", + "quantity": { + "unit": "unit:percent", + "value": 70 + }, + "aggregateState": "solid", + "materialAbbreviation": "PA66" + }, + { + "materialName": "GF-Faser", + "recycledContent": 51, + "materialClass": "5.1", + "quantity": { + "unit": "unit:percent", + "value": 30 + }, + "aggregateState": "solid", + "materialAbbreviation": "GF30" + } + ] + } + ] + }, + { + "urn:bamm:io.catenax.single_level_bom_as_built:1.0.0#SingleLevelBomAsBuilt": [ + { + "catenaXId": "urn:uuid:932ee9c0-bd73-4fa9-a6ef-d5290bd1277c", + "childItems": [ + { + "catenaXId": "urn:uuid:4809fb66-da2b-4e71-a25d-cb09bc1bdea7", + "quantity": { + "quantityNumber": 0.1908, + "measurementUnit": "unit:kilogram" + }, + "businessPartner": "BPNL00000003AYRE", + "createdOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z" + } + ] + } + ], + "catenaXId": "urn:uuid:932ee9c0-bd73-4fa9-a6ef-d5290bd1277c", + "bpnl": "BPNL00000003B3NX", + "urn:bamm:io.catenax.single_level_usage_as_built:1.0.1#SingleLevelUsageAsBuilt": [ + { + "parentParts": [ + { + "parentCatenaXId": "urn:uuid:f4fe84cf-3958-4283-b369-a6a2beb8e27f", + "quantity": { + "quantityNumber": 1, + "measurementUnit": "unit:piece" + }, + "createdOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z" + } + ], + "catenaXId": "urn:uuid:932ee9c0-bd73-4fa9-a6ef-d5290bd1277c" + } + ], + "urn:bamm:io.catenax.serial_part:1.0.1#SerialPart": [ + { + "localIdentifiers": [ + { + "value": "BPNL00000003B3NX", + "key": "manufacturerId" + }, + { + "value": "54186M9-14", + "key": "manufacturerPartId" + }, + { + "value": "NO-487385558900092368029991", + "key": "partInstanceId" + } + ], + "manufacturingInformation": { + "date": "2022-02-04T14:48:54", + "country": "DEU" + }, + "catenaXId": "urn:uuid:932ee9c0-bd73-4fa9-a6ef-d5290bd1277c", + "partTypeInformation": { + "manufacturerPartId": "54186M9-14", + "customerPartId": "54186M9-14", + "classification": "component", + "nameAtManufacturer": "Sensor", + "nameAtCustomer": "Sensor" + } + } + ], + "urn:bamm:io.catenax.aas:1.0.0#AAS": [ + { + "specificAssetId": [ + { + "value": "NO-487385558900092368029991", + "key": "http://pwc.t-systems.com/datamodel/common" + }, + { + "value": "54186M9-14", + "key": "urn:VR:wt.part.WTPart#" + } + ], + "idShort": "sensor.asm", + "description": [ + { + "language": "en", + "text": "Sensor" + } + ], + "submodelDescriptors": [ + { + "semanticId": [ + { + "keys": [ + { + "type": "GlobalReference", + "value": "urn:samm:io.catenax.serial_part:1.0.0#SerialPart" + } + ], + "type": "ExternalReference" + } + ], + "endpoints": [ + { + "interface": "SUBMODEL-3.0", + "protocolInformation": { + "subprotocolBodyEncoding": "plain", + "subprotocol": "IDS", + "securityAttributes": [ + { + "type": "NONE", + "value": "NONE", + "key": "NONE" + } + ], + "endpointProtocolVersion": [ + "1.1" + ], + "href": "https://edc.data.plane/urn%3Auuid%3A75e98d67-e09e-4388-b2f6-ea0a0a642bfe-urn%3Auuid%3A7effd7f4-6353-4401-9547-c54b420a22a0", + "subprotocolBody": "id=urn:uuid:75e98d67-e09e-4388-b2f6-ea0a0a642bfe-urn:uuid:7effd7f4-6353-4401-9547-c54b420a22a0;idsEndpoint=http://edc.control.plane/", + "endpointProtocol": "HTTP" + } + } + ], + "idShort": "singleLevelBomAsBuilt", + "id": "urn:uuid:7effd7f4-6353-4401-9547-c54b420a22a0" + } + ], + "globalAssetId": { + "value": [ + "urn:uuid:932ee9c0-bd73-4fa9-a6ef-d5290bd1277c" + ] + }, + "id": "urn:uuid:aeff32aa-4711-49e5-9818-f8bfbb28e9f8" + } + ] + }, + { + "catenaXId": "urn:uuid:4809fb66-da2b-4e71-a25d-cb09bc1bdea7", + "bpnl": "BPNL00000003B0Q0", + "urn:bamm:io.catenax.single_level_usage_as_built:1.0.1#SingleLevelUsageAsBuilt": [ + { + "parentParts": [ + { + "parentCatenaXId": "urn:uuid:932ee9c0-bd73-4fa9-a6ef-d5290bd1277c", + "quantity": { + "quantityNumber": 1, + "measurementUnit": "unit:piece" + }, + "createdOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z" + } + ], + "catenaXId": "urn:uuid:4809fb66-da2b-4e71-a25d-cb09bc1bdea7" + } + ], + "urn:samm:io.catenax.batch:2.0.0#Batch": [ + + { + "localIdentifiers": [ + { + "value": "BPNL00000003B0Q0", + "key": "manufacturerId" + }, + { + "value": "BID12345678", + "key": "BatchID" + } + ], + "manufacturingInformation": { + "date": "2022-02-04T14:48:54", + "country": "DEU" + }, + "catenaXId": "urn:uuid:4809fb66-da2b-4e71-a25d-cb09bc1bdea7", + "partTypeInformation": { + "manufacturerPartId": "69007K6-66", + "classification": "component", + "nameAtManufacturer": "NTIER Product" + } + } + ], + "urn:bamm:io.catenax.material_for_recycling:1.1.0#MaterialForRecycling": [ + { + "materialName": "NTIER Product", + "materialClass": "5.5", + "component": [ + { + "materialName": "Aluminium oxide", + "recycledContent": 9, + "materialClass": "5.5.1", + "quantity": { + "unit": "unit:percent", + "value": 60 + }, + "aggregateState": "solid", + "materialAbbreviation": "" + }, + { + "materialName": "Other", + "recycledContent": 61, + "materialClass": "5.5.2", + "quantity": { + "unit": "unit:percent", + "value": 40 + }, + "aggregateState": "", + "materialAbbreviation": "" + } + ] + } + ] + }, + { + "urn:bamm:io.catenax.single_level_bom_as_built:1.0.0#SingleLevelBomAsBuilt": [ + { + "catenaXId": "urn:uuid:59708891-7454-4da5-8529-6af2d6e0d0e7", + "childItems": [] + } + ], + "catenaXId": "urn:uuid:59708891-7454-4da5-8529-6af2d6e0d0e7", + "bpnl": "BPNL00000003AXS3", + "urn:bamm:io.catenax.single_level_usage_as_built:1.0.1#SingleLevelUsageAsBuilt": [ + { + "parentParts": [ + { + "parentCatenaXId": "urn:uuid:f4fe84cf-3958-4283-b369-a6a2beb8e27f", + "quantity": { + "quantityNumber": 1, + "measurementUnit": "unit:piece" + }, + "createdOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z" + } + ], + "catenaXId": "urn:uuid:59708891-7454-4da5-8529-6af2d6e0d0e7" + } + ], + "urn:samm:io.catenax.batch:2.0.0#Batch": [ + { + "localIdentifiers": [ + { + "value": "BPNL00000003AXS3", + "key": "manufacturerId" + }, + { + "value": "BID12345678", + "key": "BatchID" + } + ], + "manufacturingInformation": { + "date": "2022-02-04T14:48:54", + "country": "DEU" + }, + "catenaXId": "urn:uuid:59708891-7454-4da5-8529-6af2d6e0d0e7", + "partTypeInformation": { + "manufacturerPartId": "58079I0-28", + "classification": "component", + "nameAtManufacturer": "Glue" + } + } + ], + "urn:bamm:io.catenax.material_for_recycling:1.1.0#MaterialForRecycling": [ + { + "component": [ + { + "materialName": "Glue", + "materialClass": "6.2", + "quantity": { + "unit": "unit:kilogram", + "value": 0 + }, + "weight": "0.2341", + "materialAbbreviation": "GL338" + } + ] + } + ] + }, + { + "urn:bamm:io.catenax.single_level_bom_as_built:1.0.0#SingleLevelBomAsBuilt": [ + { + "catenaXId": "urn:uuid:fdc11263-e4ad-4fd6-9d34-744e2139f835", + "childItems": [ + { + "catenaXId": "urn:uuid:7125e464-dd98-4574-ad8a-d5096bc36be4", + "quantity": { + "quantityNumber": 0.3301, + "measurementUnit": "unit:kilogram" + }, + "businessPartner": "BPNL00000003AYRE", + "createdOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z" + }, + { + "catenaXId": "urn:uuid:ba31deee-c67c-4166-ac7e-1d4213fdd203", + "quantity": { + "quantityNumber": 2.5, + "measurementUnit": "unit:litre" + }, + "businessPartner": "BPNL50096894aNXY", + "createdOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z" + }, + { + "catenaXId": "urn:uuid:8c6c1539-078e-435e-ab87-5a343c635c4a", + "quantity": { + "quantityNumber": 0.2001, + "measurementUnit": "unit:kilogram" + }, + "businessPartner": "BPNL00000003AZQP", + "createdOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z" + } + ] + } + ], + "catenaXId": "urn:uuid:fdc11263-e4ad-4fd6-9d34-744e2139f835", + "bpnl": "BPNL00000003B5MJ", + "urn:bamm:io.catenax.single_level_usage_as_built:1.0.1#SingleLevelUsageAsBuilt": [ + { + "parentParts": [ + { + "parentCatenaXId": "urn:uuid:efcb5f8d-f31c-4b1f-b090-9c878054554d", + "quantity": { + "quantityNumber": 1, + "measurementUnit": "unit:piece" + }, + "createdOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z" + } + ], + "catenaXId": "urn:uuid:fdc11263-e4ad-4fd6-9d34-744e2139f835" + } + ], + "urn:bamm:io.catenax.serial_part:1.0.1#SerialPart": [ + { + "localIdentifiers": [ + { + "value": "BPNL00000003B5MJ", + "key": "manufacturerId" + }, + { + "value": "81587R5-74", + "key": "manufacturerPartId" + }, + { + "value": "NO-181031636728968397034614", + "key": "partInstanceId" + } + ], + "manufacturingInformation": { + "date": "2022-02-04T14:48:54", + "country": "DEU" + }, + "catenaXId": "urn:uuid:fdc11263-e4ad-4fd6-9d34-744e2139f835", + "partTypeInformation": { + "manufacturerPartId": "81587R5-74", + "customerPartId": "81587R5-74", + "classification": "component", + "nameAtManufacturer": "ECU", + "nameAtCustomer": "ECU" + } + } + ], + "urn:bamm:io.catenax.aas:1.0.0#AAS": [ + { + "specificAssetId": [ + { + "value": "NO-181031636728968397034614", + "key": "http://pwc.t-systems.com/datamodel/common" + }, + { + "value": "81587R5-74", + "key": "urn:VR:wt.part.WTPart#" + } + ], + "idShort": "ecu.asm", + "description": [ + { + "language": "en", + "text": "ECU" + } + ], + "submodelDescriptors": [ + { + "semanticId": [ + { + "keys": [ + { + "type": "GlobalReference", + "value": "urn:samm:io.catenax.serial_part:1.0.0#SerialPart" + } + ], + "type": "ExternalReference" + } + ], + "endpoints": [ + { + "interface": "SUBMODEL-3.0", + "protocolInformation": { + "subprotocolBodyEncoding": "plain", + "subprotocol": "IDS", + "securityAttributes": [ + { + "type": "NONE", + "value": "NONE", + "key": "NONE" + } + ], + "endpointProtocolVersion": [ + "1.1" + ], + "href": "https://edc.data.plane/urn%3Auuid%3A75e98d67-e09e-4388-b2f6-ea0a0a642bfe-urn%3Auuid%3A7effd7f4-6353-4401-9547-c54b420a22a0", + "subprotocolBody": "id=urn:uuid:75e98d67-e09e-4388-b2f6-ea0a0a642bfe-urn:uuid:7effd7f4-6353-4401-9547-c54b420a22a0;idsEndpoint=http://edc.control.plane/", + "endpointProtocol": "HTTP" + } + } + ], + "idShort": "materialForRecycling", + "id": "urn:uuid:7effd7f4-6353-4401-9547-c54b420a22a0" + }, + { + "semanticId": [ + { + "keys": [ + { + "type": "GlobalReference", + "value": "urn:samm:io.catenax.serial_part:1.0.0#SerialPart" + } + ], + "type": "ExternalReference" + } + ], + "endpoints": [ + { + "interface": "SUBMODEL-3.0", + "protocolInformation": { + "subprotocolBodyEncoding": "plain", + "subprotocol": "IDS", + "securityAttributes": [ + { + "type": "NONE", + "value": "NONE", + "key": "NONE" + } + ], + "endpointProtocolVersion": [ + "1.1" + ], + "href": "https://edc.data.plane/urn%3Auuid%3A75e98d67-e09e-4388-b2f6-ea0a0a642bfe-urn%3Auuid%3A7effd7f4-6353-4401-9547-c54b420a22a0", + "subprotocolBody": "id=urn:uuid:75e98d67-e09e-4388-b2f6-ea0a0a642bfe-urn:uuid:7effd7f4-6353-4401-9547-c54b420a22a0;idsEndpoint=http://edc.control.plane/", + "endpointProtocol": "HTTP" + } + } + ], + "idShort": "singleLevelBomAsBuilt", + "id": "urn:uuid:7effd7f4-6353-4401-9547-c54b420a22a0" + } + ], + "globalAssetId": { + "value": [ + "urn:uuid:fdc11263-e4ad-4fd6-9d34-744e2139f835" + ] + }, + "id": "urn:uuid:4fecab66-47cb-4c69-a7c1-1d854642ba33" + } + ], + "urn:bamm:io.catenax.material_for_recycling:1.1.0#MaterialForRecycling": [ + { + "component": [ + { + "materialName": "Glue", + "recycledContent": 36, + "materialClass": "6.2", + "quantity": { + "unit": "unit:kilogram", + "value": 0.3301 + }, + "aggregateState": "solid", + "materialAbbreviation": "GL338" + } + ] + } + ] + }, + { + "catenaXId": "urn:uuid:7125e464-dd98-4574-ad8a-d5096bc36be4", + "bpnl": "BPNL00000003AXS3", + "urn:bamm:io.catenax.single_level_usage_as_built:1.0.1#SingleLevelUsageAsBuilt": [ + { + "parentParts": [ + { + "parentCatenaXId": "urn:uuid:fdc11263-e4ad-4fd6-9d34-744e2139f835", + "quantity": { + "quantityNumber": 1, + "measurementUnit": "unit:piece" + }, + "createdOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z" + } + ], + "catenaXId": "urn:uuid:7125e464-dd98-4574-ad8a-d5096bc36be4" + } + ], + "urn:samm:io.catenax.batch:2.0.0#Batch": [ + { + "localIdentifiers": [ + { + "value": "BPNL00000003AXS3", + "key": "manufacturerId" + }, + { + "value": "BID12345678", + "key": "BatchID" + } + ], + "manufacturingInformation": { + "date": "2022-02-04T14:48:54", + "country": "DEU" + }, + "catenaXId": "urn:uuid:7125e464-dd98-4574-ad8a-d5096bc36be4", + "partTypeInformation": { + "manufacturerPartId": "17914L5-51", + "classification": "component", + "nameAtManufacturer": "Glue" + } + } + ], + "urn:bamm:io.catenax.material_for_recycling:1.1.0#MaterialForRecycling": [ + { + "materialName": "Glue", + "materialClass": "5.5", + "component": [ + { + "materialName": "Aluminium oxide", + "recycledContent": 66, + "materialClass": "5.5.1", + "quantity": { + "unit": "unit:percent", + "value": 70 + }, + "aggregateState": "solid", + "materialAbbreviation": "AL7" + }, + { + "materialName": "Other", + "recycledContent": 86, + "materialClass": "5.5.2", + "quantity": { + "unit": "unit:percent", + "value": 30 + }, + "aggregateState": "", + "materialAbbreviation": "" + } + ] + } + ] + }, + { + "urn:bamm:io.catenax.single_level_bom_as_built:1.0.0#SingleLevelBomAsBuilt": [ + { + "catenaXId": "urn:uuid:ba31deee-c67c-4166-ac7e-1d4213fdd203", + "childItems": [ + { + "catenaXId": "urn:uuid:91c36a08-837c-4790-9afc-c9b4d3d9da25", + "quantity": { + "quantityNumber": "0.1908", + "measurementUnit": "unit:kilogram" + }, + "businessPartner": "BPNL00000003AYRE", + "createdOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z" + } + ] + } + ], + "catenaXId": "urn:uuid:ba31deee-c67c-4166-ac7e-1d4213fdd203", + "bpnl": "BPNL00000003B3NX", + "urn:bamm:io.catenax.single_level_usage_as_built:1.0.1#SingleLevelUsageAsBuilt": [ + { + "parentParts": [ + { + "parentCatenaXId": "urn:uuid:fdc11263-e4ad-4fd6-9d34-744e2139f835", + "quantity": { + "quantityNumber": 1, + "measurementUnit": "unit:piece" + }, + "createdOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z" + } + ], + "catenaXId": "urn:uuid:ba31deee-c67c-4166-ac7e-1d4213fdd203" + } + ], + "urn:bamm:io.catenax.serial_part:1.0.1#SerialPart": [ + { + "localIdentifiers": [ + { + "value": "BPNL00000003B3NX", + "key": "manufacturerId" + }, + { + "value": "59307W6-43", + "key": "manufacturerPartId" + }, + { + "value": "NO-442309655772189397010436", + "key": "partInstanceId" + } + ], + "manufacturingInformation": { + "date": "2022-02-04T14:48:54", + "country": "DEU" + }, + "catenaXId": "urn:uuid:ba31deee-c67c-4166-ac7e-1d4213fdd203", + "partTypeInformation": { + "manufacturerPartId": "59307W6-43", + "customerPartId": "59307W6-43", + "classification": "component", + "nameAtManufacturer": "Sensor", + "nameAtCustomer": "Sensor" + } + } + ], + "urn:bamm:io.catenax.aas:1.0.0#AAS": [ + { + "specificAssetId": [ + { + "value": "NO-442309655772189397010436", + "key": "http://pwc.t-systems.com/datamodel/common" + }, + { + "value": "59307W6-43", + "key": "urn:VR:wt.part.WTPart#" + } + ], + "idShort": "sensor.asm", + "description": [ + { + "language": "en", + "text": "Sensor" + } + ], + "submodelDescriptors": [ + { + "semanticId": [ + { + "keys": [ + { + "type": "GlobalReference", + "value": "urn:samm:io.catenax.serial_part:1.0.0#SerialPart" + } + ], + "type": "ExternalReference" + } + ], + "endpoints": [ + { + "interface": "SUBMODEL-3.0", + "protocolInformation": { + "subprotocolBodyEncoding": "plain", + "subprotocol": "IDS", + "securityAttributes": [ + { + "type": "NONE", + "value": "NONE", + "key": "NONE" + } + ], + "endpointProtocolVersion": [ + "1.1" + ], + "href": "https://edc.data.plane/urn%3Auuid%3A75e98d67-e09e-4388-b2f6-ea0a0a642bfe-urn%3Auuid%3A7effd7f4-6353-4401-9547-c54b420a22a0", + "subprotocolBody": "id=urn:uuid:75e98d67-e09e-4388-b2f6-ea0a0a642bfe-urn:uuid:7effd7f4-6353-4401-9547-c54b420a22a0;idsEndpoint=http://edc.control.plane/", + "endpointProtocol": "HTTP" + } + } + ], + "idShort": "singleLevelBomAsBuilt", + "id": "urn:uuid:7effd7f4-6353-4401-9547-c54b420a22a0" + } + ], + "globalAssetId": { + "value": [ + "urn:uuid:ba31deee-c67c-4166-ac7e-1d4213fdd203" + ] + }, + "id": "urn:uuid:ef5b4517-db6e-45fd-b4a1-d59f1a450a0b" + } + ] + }, + { + "catenaXId": "urn:uuid:91c36a08-837c-4790-9afc-c9b4d3d9da25", + "bpnl": "BPNL00000003B0Q0", + "urn:bamm:io.catenax.single_level_usage_as_built:1.0.1#SingleLevelUsageAsBuilt": [ + { + "parentParts": [ + { + "parentCatenaXId": "urn:uuid:ba31deee-c67c-4166-ac7e-1d4213fdd203", + "quantity": { + "quantityNumber": 1, + "measurementUnit": "unit:piece" + }, + "createdOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z" + } + ], + "catenaXId": "urn:uuid:91c36a08-837c-4790-9afc-c9b4d3d9da25" + } + ], + "urn:samm:io.catenax.batch:2.0.0#Batch": [ + { + "localIdentifiers": [ + { + "value": "BPNL00000003B0Q0", + "key": "manufacturerId" + }, + { + "value": "BID12345678", + "key": "BatchID" + } + ], + "manufacturingInformation": { + "date": "2022-02-04T14:48:54", + "country": "DEU" + }, + "catenaXId": "urn:uuid:91c36a08-837c-4790-9afc-c9b4d3d9da25", + "partTypeInformation": { + "manufacturerPartId": "37952Z9-36", + "classification": "component", + "nameAtManufacturer": "Engineering Plastics" + } + } + ], + "urn:bamm:io.catenax.material_for_recycling:1.1.0#MaterialForRecycling": [ + { + "materialName": "Engineering Plastics", + "materialClass": "5.1", + "component": [ + { + "materialName": "PA66", + "recycledContent": 4, + "materialClass": "5.1", + "quantity": { + "unit": "unit:percent", + "value": 70 + }, + "aggregateState": "solid", + "materialAbbreviation": "PA66" + }, + { + "materialName": "GF-Faser", + "recycledContent": 74, + "materialClass": "5.1", + "quantity": { + "unit": "unit:percent", + "value": 30 + }, + "aggregateState": "solid", + "materialAbbreviation": "GF30" + } + ] + } + ] + }, + { + "catenaXId": "urn:uuid:8c6c1539-078e-435e-ab87-5a343c635c4a", + "bpnl": "BPNL00000003B0Q0", + "urn:bamm:io.catenax.single_level_usage_as_built:1.0.1#SingleLevelUsageAsBuilt": [ + { + "parentParts": [ + { + "parentCatenaXId": "urn:uuid:fdc11263-e4ad-4fd6-9d34-744e2139f835", + "quantity": { + "quantityNumber": 1, + "measurementUnit": "unit:piece" + }, + "createdOn": "2022-02-03T14:48:54.709Z", + "lastModifiedOn": "2022-02-03T14:48:54.709Z" + } + ], + "catenaXId": "urn:uuid:8c6c1539-078e-435e-ab87-5a343c635c4a" + } + ], + "urn:bamm:io.catenax.serial_part:1.0.1#SerialPart": [ + { + "localIdentifiers": [ + { + "value": "BPNL00000003B0Q0", + "key": "manufacturerId" + }, + { + "value": "87758Y0-31", + "key": "manufacturerPartId" + }, + { + "value": "NO-954328604715403767742420", + "key": "partInstanceId" + } + ], + "manufacturingInformation": { + "date": "2022-02-04T14:48:54", + "country": "DEU" + }, + "catenaXId": "urn:uuid:8c6c1539-078e-435e-ab87-5a343c635c4a", + "partTypeInformation": { + "manufacturerPartId": "87758Y0-31", + "customerPartId": "87758Y0-31", + "classification": "component", + "nameAtManufacturer": "Engineering Plastics", + "nameAtCustomer": "Engineering Plastics" + } + } + ], + "urn:bamm:io.catenax.aas:1.0.0#AAS": [ + { + "specificAssetId": [ + { + "value": "NO-954328604715403767742420", + "key": "http://pwc.t-systems.com/datamodel/common" + }, + { + "value": "87758Y0-31", + "key": "urn:VR:wt.part.WTPart#" + } + ], + "idShort": "engineering_plastics.asm", + "description": [ + { + "language": "en", + "text": "Engineering Plastics" + } + ], + "submodelDescriptors": [ + { + "semanticId": [ + { + "keys": [ + { + "type": "GlobalReference", + "value": "urn:samm:io.catenax.serial_part:1.0.0#SerialPart" + } + ], + "type": "ExternalReference" + } + ], + "endpoints": [ + { + "interface": "SUBMODEL-3.0", + "protocolInformation": { + "subprotocolBodyEncoding": "plain", + "subprotocol": "IDS", + "securityAttributes": [ + { + "type": "NONE", + "value": "NONE", + "key": "NONE" + } + ], + "endpointProtocolVersion": [ + "1.1" + ], + "href": "https://edc.data.plane/urn%3Auuid%3A75e98d67-e09e-4388-b2f6-ea0a0a642bfe-urn%3Auuid%3A7effd7f4-6353-4401-9547-c54b420a22a0", + "subprotocolBody": "id=urn:uuid:75e98d67-e09e-4388-b2f6-ea0a0a642bfe-urn:uuid:7effd7f4-6353-4401-9547-c54b420a22a0;idsEndpoint=http://edc.control.plane/", + "endpointProtocol": "HTTP" + } + } + ], + "idShort": "materialForRecycling", + "id": "urn:uuid:7effd7f4-6353-4401-9547-c54b420a22a0" + } + ], + "globalAssetId": { + "value": [ + "urn:uuid:8c6c1539-078e-435e-ab87-5a343c635c4a" + ] + }, + "id": "urn:uuid:beffc3ec-dc0e-4c05-9478-3dba20636cf8" + } + ], + "urn:bamm:io.catenax.material_for_recycling:1.1.0#MaterialForRecycling": [ + { + "materialName": "Engineering Plastics", + "materialClass": "5.1", + "component": [ + { + "materialName": "PA66", + "recycledContent": 87, + "materialClass": "5.1", + "quantity": { + "unit": "unit:percent", + "value": 70 + }, + "aggregateState": "solid", + "materialAbbreviation": "PA66" + }, + { + "materialName": "GF-Faser", + "recycledContent": 87, + "materialClass": "5.1", + "quantity": { + "unit": "unit:percent", + "value": 30 + }, + "aggregateState": "solid", + "materialAbbreviation": "GF30" + } + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/local/testing/testdata/transform-and-upload.py b/local/testing/testdata/transform-and-upload.py index c2efc40acb..05c712232f 100644 --- a/local/testing/testdata/transform-and-upload.py +++ b/local/testing/testdata/transform-and-upload.py @@ -3,11 +3,10 @@ import argparse import json import math +import requests import time import uuid from copy import copy - -import requests from requests.adapters import HTTPAdapter, Retry @@ -150,7 +149,8 @@ def create_aas_shell_3_0(global_asset_id_, id_short_, identification_, specific_ }) -def create_submodel_descriptor_3_0(id_short_, identification_, semantic_id_, dataplane_asset_address_, asset_id_, endpoint_): +def create_submodel_descriptor_3_0(id_short_, identification_, semantic_id_, dataplane_asset_address_, asset_id_, + endpoint_): return json.dumps( { "description": [], @@ -174,7 +174,14 @@ def create_submodel_descriptor_3_0(id_short_, identification_, semantic_id_, dat "endpointProtocolVersion": ["1.1"], "subprotocol": "DSP", "subprotocolBody": f"id={asset_id_};dspEndpoint={endpoint_}", - "subprotocolBodyEncoding": "plain" + "subprotocolBodyEncoding": "plain", + "securityAttributes": [ + { + "type": "NONE", + "key": "NONE", + "value": "NONE" + } + ] } } ] @@ -455,10 +462,24 @@ def create_registry_asset(edc_upload_urls_, edc_asset_path_, edc_contract_defini "value": tmp_data["bpnl"] }) if is_aas3: + externalSubjectId = { + "type": "ExternalReference", + "keys": [ + { + "type": "GlobalReference", + "value": "BPNL00000001CRHK" + }, + { + "type": "GlobalReference", + "value": "PUBLIC_READABLE" + } + ] + } for asset in specific_asset_ids_temp: specific_asset_ids.append({ "name": asset.get("key"), - "value": asset.get("value") + "value": asset.get("value"), + "externalSubjectId": externalSubjectId }) else: specific_asset_ids = specific_asset_ids_temp diff --git a/pom.xml b/pom.xml index 9cc74307ce..0653d75186 100644 --- a/pom.xml +++ b/pom.xml @@ -66,7 +66,7 @@ 3.3.0 3.11.0 3.1.1 - 1.1.1-SNAPSHOT + 1.2.0-SNAPSHOT