Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Statuses service for the Material Demand and Capacity Groups - 67 #26

Merged
merged 52 commits into from
Oct 10, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
52 commits
Select commit Hold shift + click to select a range
56cc6c5
Merge branch 'main' of https://github.com/catenax-ng/tx-demand-capaci…
Sep 6, 2023
d918a1c
Merge branch 'main' of https://github.com/catenax-ng/tx-demand-capaci…
Sep 7, 2023
09cf36a
Merge branch 'main' of https://github.com/catenax-ng/tx-demand-capaci…
Sep 15, 2023
3c43496
Refractoring of UI elements and loading mechanism + retry
Ruskyy Sep 19, 2023
facf8e4
Gathering Data message
Ruskyy Sep 19, 2023
76e6916
CSS and Wizard mockup
Ruskyy Sep 20, 2023
2dfaf31
Capcity Group Wizard structure.
Ruskyy Sep 21, 2023
4567030
Pre load checked demands, and Loading fix
Ruskyy Sep 22, 2023
9d78c05
Merge branch 'catenax-ng-feat/DCMFOSS-53'
Bailonis Sep 25, 2023
0a1a0d9
added the statuses Endpoint
sajaadem Sep 25, 2023
9f2bce2
Added update/get WeekBasedCapacityGroups and WeekBasedMaterialDemands…
sajaadem Sep 25, 2023
e5073de
Merge branch 'main' into feature/DCMFOSS-67-copy2
sajaadem Sep 25, 2023
daaf909
added Licence and copyright header to Statuses repo file
sajaadem Sep 26, 2023
ce04017
update gitignore
OSousa117 Sep 26, 2023
4100c2a
git ignore
OSousa117 Sep 27, 2023
179579d
Units of measure and DB table creation
OSousa117 Sep 27, 2023
a1e6658
refactors
OSousa117 Sep 27, 2023
e81af23
capacity groups
OSousa117 Sep 27, 2023
bc2bcf3
updated flyaway
OSousa117 Sep 27, 2023
c32a7fa
Add TO exisiting done!
Ruskyy Sep 27, 2023
32af0af
Merge branch 'feature/DCMFOSS-74' of https://github.com/catenax-ng/tx…
Ruskyy Sep 27, 2023
3f06705
Merge branch 'eclipse-tractusx:main' into main
Bailonis Sep 28, 2023
f90cab2
Merge branch 'feature/DCMFOSS-75' of https://github.com/catenax-ng/tx…
Bailonis Sep 28, 2023
a41ff7d
Merge branch 'catenax-ng-feat/DCMFOSS-75'
Bailonis Sep 28, 2023
82433e0
Merge branch 'catenax-ng-feat/DCMFOSS-75'
Bailonis Sep 28, 2023
5b28d91
Merge branch 'main' of https://github.com/catenax-ng/tx-demand-capaci…
Bailonis Sep 28, 2023
15f2139
Linked to Backend!
Ruskyy Sep 28, 2023
0579c20
Avoid duplicaiton on the WIzard if already checked
Ruskyy Sep 29, 2023
16c62fd
Bug fizing and UI refinenement
Ruskyy Oct 2, 2023
829a54d
updated logic
OSousa117 Oct 2, 2023
efe8bf9
Merge branch 'feature/DCMFOSS-74' of https://github.com/catenax-ng/tx…
OSousa117 Oct 2, 2023
7c5d394
Loading Messages refractored
Ruskyy Oct 2, 2023
879d778
Merge branch 'feature/DCMFOSS-74' of https://github.com/catenax-ng/tx…
Ruskyy Oct 2, 2023
9cb7884
Code Refractoring and Further UI improvements
Ruskyy Oct 2, 2023
7be0153
Update DEPENDENCIES_FRONTEND
Ruskyy Oct 2, 2023
892f2f7
Better UI
Ruskyy Oct 2, 2023
be3c184
updated endpoint logic
OSousa117 Oct 2, 2023
238de90
unlink endpoint
OSousa117 Oct 3, 2023
4edf3f2
capacity group mat count
OSousa117 Oct 3, 2023
e14c83a
Capacity Group unlink material demand
OSousa117 Oct 3, 2023
b570c2d
Materials Unlink and List
Ruskyy Oct 3, 2023
ce46a88
Merge branch 'feature/DCMFOSS-67-copy2' of https://github.com/catenax…
Ruskyy Oct 4, 2023
e82e658
resolve problems after rebase
sajaadem Oct 4, 2023
743b904
added overall counts
sajaadem Oct 4, 2023
e7c5846
Merge branch 'fix/merge67' into feature/DCMFOSS-67-copy2
Bailonis Oct 4, 2023
caef324
this is the right version
Bailonis Oct 4, 2023
223587b
Merge branch 'feature/DCMFOSS-67-copy2' of https://github.com/catenax…
Bailonis Oct 4, 2023
5c506d1
reuse refactored CapacityGroupServiceImpl file
sajaadem Oct 5, 2023
3ae610d
Merge branch 'main' into feature/DCMFOSS-67-copy2
sajaadem Oct 5, 2023
3a76fb4
Merge branch 'fixing/dcm67pr' into feature/DCMFOSS-67-copy2
Bailonis Oct 9, 2023
dd3bcac
fix: build errors
Bailonis Oct 9, 2023
c9ba278
fix:build errors
Bailonis Oct 9, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 5 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -38,4 +38,8 @@ target/

.idea/*

demand-capacity-mgmt-backend/.mvn/wrapper/maven-wrapper.jar
demand-capacity-mgmt-backend/.mvn/wrapper/maven-wrapper.jar
.env
keycloak/generate-secret.sh
keycloak/init-db.sql
keycloak/realm-export.json
2 changes: 1 addition & 1 deletion DEPENDENCIES_FRONTEND
Original file line number Diff line number Diff line change
Expand Up @@ -367,7 +367,7 @@ npm/npmjs/-/flatted/3.2.7, ISC AND (ISC AND MIT), approved, #2430
npm/npmjs/-/flow-enums-runtime/0.0.5, MIT, approved, clearlydefined
npm/npmjs/-/flow-parser/0.206.0, MIT, approved, clearlydefined
npm/npmjs/-/flow-parser/0.209.0, MIT, approved, clearlydefined
npm/npmjs/-/follow-redirects/1.15.2, MIT, approved, clearlydefined
npm/npmjs/-/follow-redirects/1.15.2, MIT, approved, #10782
npm/npmjs/-/for-each/0.3.3, MIT, approved, clearlydefined
npm/npmjs/-/for-in/1.0.2, MIT, approved, clearlydefined
npm/npmjs/-/fork-ts-checker-webpack-plugin/6.5.3, MIT, approved, #7487
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
/*
* ******************************************************************************
* Copyright (c) 2023 BMW AG
* Copyright (c) 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.demandcapacitymgmt.demandcapacitymgmtbackend.controllers;

import eclipse.tractusx.demand_capacity_mgmt_specification.api.CapacityGroupApi;
import eclipse.tractusx.demand_capacity_mgmt_specification.model.*;
import java.util.List;
import lombok.AllArgsConstructor;
import org.eclipse.tractusx.demandcapacitymgmt.demandcapacitymgmtbackend.services.CapacityGroupService;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.RestController;

@RestController
@AllArgsConstructor
public class CapacityGroupsController implements CapacityGroupApi {

private CapacityGroupService service;

@Override
public ResponseEntity<List<CapacityGroupDefaultViewResponse>> getCapacityGroups() {
List<CapacityGroupDefaultViewResponse> capacityGroupDefaultViewResponses = service.getAll();
return ResponseEntity.status(HttpStatus.OK).body(capacityGroupDefaultViewResponses);
}

@Override
public ResponseEntity<CapacityGroupResponse> getCapacityGroupById(String capacityGroupId) {
CapacityGroupResponse capacityGroupResponse = service.getCapacityGroupById(capacityGroupId);
return ResponseEntity.status(HttpStatus.OK).body(capacityGroupResponse);
}

@Override
public ResponseEntity<CapacityGroupResponse> postCapacityGroup(CapacityGroupRequest capacityGroupRequest) {
CapacityGroupResponse capacityGroupResponse = service.createCapacityGroup(capacityGroupRequest);
return ResponseEntity.status(HttpStatus.OK).body(capacityGroupResponse);
}

@Override
public ResponseEntity<Void> postLinkedCapacityGroupDemand(LinkCGDSRequest linkCGDSRequest) throws Exception {
service.linkCapacityGroupToMaterialDemand(linkCGDSRequest);
return ResponseEntity.status(HttpStatus.NO_CONTENT).build();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,7 @@
package org.eclipse.tractusx.demandcapacitymgmt.demandcapacitymgmtbackend.controllers;

import eclipse.tractusx.demand_capacity_mgmt_specification.api.DemandApi;
import eclipse.tractusx.demand_capacity_mgmt_specification.model.MaterialDemandRequest;
import eclipse.tractusx.demand_capacity_mgmt_specification.model.MaterialDemandResponse;
import eclipse.tractusx.demand_capacity_mgmt_specification.model.*;
import java.util.List;
import lombok.AllArgsConstructor;
import org.eclipse.tractusx.demandcapacitymgmt.demandcapacitymgmtbackend.services.DemandService;
Expand Down Expand Up @@ -56,6 +55,23 @@ public ResponseEntity<List<MaterialDemandResponse>> getDemandsByProjectID() {
return ResponseEntity.status(HttpStatus.OK).body(demandResponseDtos);
}

@Override
public ResponseEntity<DemandSeriesCompositeResponse> getLinkedDemandSeriesByCompositeKeyID(
DemandSeriesCompositeRequest demandSeriesCompositeRequest
) throws Exception {
DemandSeriesCompositeResponse response = demandService.getAllDemandsByCompositeKey(
demandSeriesCompositeRequest
);
return ResponseEntity.status(HttpStatus.OK).body(response);
}

@Override
public ResponseEntity<Void> unlinkedDemandSeriesComposites(DemandSeriesUnlinkRequest demandSeriesUnlinkRequest)
throws Exception {
demandService.unlinkComposites(demandSeriesUnlinkRequest);
return ResponseEntity.status(HttpStatus.NO_CONTENT).build();
}

@Override
public ResponseEntity<MaterialDemandResponse> postDemand(MaterialDemandRequest materialDemandRequest) {
MaterialDemandResponse responseDto = demandService.createDemand(materialDemandRequest);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,38 +22,36 @@

package org.eclipse.tractusx.demandcapacitymgmt.demandcapacitymgmtbackend.controllers;

import eclipse.tractusx.demand_capacity_mgmt_specification.api.CapacityGroupApi;
import eclipse.tractusx.demand_capacity_mgmt_specification.model.CapacityGroupDefaultViewResponse;
import eclipse.tractusx.demand_capacity_mgmt_specification.model.CapacityGroupRequest;
import eclipse.tractusx.demand_capacity_mgmt_specification.model.CapacityGroupResponse;
import eclipse.tractusx.demand_capacity_mgmt_specification.api.StatusesApi;
import eclipse.tractusx.demand_capacity_mgmt_specification.model.StatusRequest;
import eclipse.tractusx.demand_capacity_mgmt_specification.model.StatusesResponse;
import java.util.List;
import lombok.AllArgsConstructor;
import org.eclipse.tractusx.demandcapacitymgmt.demandcapacitymgmtbackend.services.CapacityGroupService;
import org.eclipse.tractusx.demandcapacitymgmt.demandcapacitymgmtbackend.services.DemandService;
import org.eclipse.tractusx.demandcapacitymgmt.demandcapacitymgmtbackend.services.StatusesService;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.RestController;

@RestController
@AllArgsConstructor
public class CapacityGroupController implements CapacityGroupApi {
public class StatusesController implements StatusesApi {

private final CapacityGroupService capacityGroupService;
private final StatusesService statusesService;

@Override
public ResponseEntity<List<CapacityGroupDefaultViewResponse>> getCapacityGroup() {
List<CapacityGroupDefaultViewResponse> capacityGroupDefaultViewResponseList = capacityGroupService.getAll();
return ResponseEntity.status(HttpStatus.OK).body(capacityGroupDefaultViewResponseList);
public ResponseEntity<StatusesResponse> getStatuses() {
return ResponseEntity.status(HttpStatus.OK).body(statusesService.getAllStatuses());
}

@Override
public ResponseEntity<CapacityGroupResponse> getCapacityGroupById(String capacityGroupId) {
CapacityGroupResponse responseDto = capacityGroupService.getCapacityGroupById(capacityGroupId);
return ResponseEntity.status(HttpStatus.OK).body(responseDto);
public ResponseEntity<StatusesResponse> postStatus(StatusRequest statusRequest) {
StatusesResponse responseDto = statusesService.postStatuses(statusRequest);
return ResponseEntity.status(HttpStatus.CREATED).body(responseDto);
}

@Override
public ResponseEntity<CapacityGroupResponse> postCapacityGroup(CapacityGroupRequest capacityGroupRequest) {
CapacityGroupResponse capacityGroupResponse = capacityGroupService.createCapacityGroup(capacityGroupRequest);
return ResponseEntity.status(HttpStatus.OK).body(capacityGroupResponse);
public ResponseEntity<StatusesResponse> updateStatusesById(String statusId, StatusRequest statusRequest) {
return null;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@
package org.eclipse.tractusx.demandcapacitymgmt.demandcapacitymgmtbackend.controllers;

import eclipse.tractusx.demand_capacity_mgmt_specification.api.WeekBasedCapacityGroupApi;
import eclipse.tractusx.demand_capacity_mgmt_specification.model.WeekBasedCapacityGroupRequest;
import eclipse.tractusx.demand_capacity_mgmt_specification.model.*;
import java.util.List;
import lombok.AllArgsConstructor;
import org.eclipse.tractusx.demandcapacitymgmt.demandcapacitymgmtbackend.services.WeekBasedCapacityGroupService;
Expand All @@ -37,11 +37,29 @@ public class WeekBasedCapacityGroupController implements WeekBasedCapacityGroupA

private final WeekBasedCapacityGroupService weekBasedCapacityGroupService;

@Override
public ResponseEntity<List<WeekBasedCapacityGroupDtoResponse>> getWeekBasedCapacityGroup() {
List<WeekBasedCapacityGroupDtoResponse> capacityGroupDefaultViewResponseList = weekBasedCapacityGroupService.getWeekBasedCapacityGroups();
return ResponseEntity.status(HttpStatus.OK).body(capacityGroupDefaultViewResponseList);
}

@Override
public ResponseEntity<Void> postWeekBasedCapacityGroup(
List<WeekBasedCapacityGroupRequest> weekBasedCapacityGroupRequest
List<WeekBasedCapacityGroupDtoRequest> weekBasedCapacityGroupRequest
) {
weekBasedCapacityGroupService.createWeekBasedCapacityGroup(weekBasedCapacityGroupRequest);
return ResponseEntity.status(HttpStatus.OK).build();
}

@Override
public ResponseEntity<WeekBasedCapacityGroupDtoResponse> updateWeekBasedCapacityGroupById(
String weekBasedCapacityId,
WeekBasedCapacityGroupDtoRequest weekBasedCapacityGroupRequest
) {
WeekBasedCapacityGroupDtoResponse responseDto = weekBasedCapacityGroupService.updateWeekBasedCapacityGroup(
weekBasedCapacityId,
weekBasedCapacityGroupRequest
);
return ResponseEntity.status(HttpStatus.OK).body(responseDto);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@

import eclipse.tractusx.demand_capacity_mgmt_specification.api.WeekBasedMaterialDemandApi;
import eclipse.tractusx.demand_capacity_mgmt_specification.model.WeekBasedMaterialDemandRequestDto;
import eclipse.tractusx.demand_capacity_mgmt_specification.model.WeekBasedMaterialDemandResponseDto;
import java.util.List;
import lombok.AllArgsConstructor;
import org.eclipse.tractusx.demandcapacitymgmt.demandcapacitymgmtbackend.services.WeekBasedMaterialService;
Expand All @@ -37,11 +38,29 @@ public class WeekBasedMaterialController implements WeekBasedMaterialDemandApi {

private final WeekBasedMaterialService weekBasedMaterialService;

@Override
public ResponseEntity<List<WeekBasedMaterialDemandResponseDto>> getWeekBasedMaterialDemand() {
List<WeekBasedMaterialDemandResponseDto> capacityGroupDefaultViewResponseList = weekBasedMaterialService.getWeekBasedMaterialDemands();
return ResponseEntity.status(HttpStatus.OK).body(capacityGroupDefaultViewResponseList);
}

@Override
public ResponseEntity<Void> postWeekBasedMaterialDemand(
List<WeekBasedMaterialDemandRequestDto> weekBasedMaterialDemandRequestDto
) {
weekBasedMaterialService.createWeekBasedMaterial(weekBasedMaterialDemandRequestDto);
return ResponseEntity.status(HttpStatus.OK).build();
}

@Override
public ResponseEntity<WeekBasedMaterialDemandResponseDto> updateWeekBasedMaterialDemandById(
String demandId,
WeekBasedMaterialDemandRequestDto weekBasedMaterialDemandRequestDto
) {
WeekBasedMaterialDemandResponseDto responseDto = weekBasedMaterialService.updateWeekBasedMaterial(
demandId,
weekBasedMaterialDemandRequestDto
);
return ResponseEntity.status(HttpStatus.OK).body(responseDto);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -22,24 +22,16 @@

package org.eclipse.tractusx.demandcapacitymgmt.demandcapacitymgmtbackend.entities;

import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.List;
import java.util.UUID;
import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Convert;
import javax.persistence.Entity;
import javax.persistence.EnumType;
import javax.persistence.Enumerated;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.OneToMany;
import javax.persistence.OneToOne;
import javax.persistence.Table;
import lombok.*;
import org.eclipse.tractusx.demandcapacitymgmt.demandcapacitymgmtbackend.entities.converters.ListToStringConverter;
import org.eclipse.tractusx.demandcapacitymgmt.demandcapacitymgmtbackend.entities.enums.CapacityGroupStatus;
import javax.persistence.*;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

@Entity
@Table(name = "capacity_group")
Expand All @@ -54,49 +46,26 @@ public class CapacityGroupEntity {
@Column(columnDefinition = "uuid", updatable = false, name = "id")
private UUID id;

@Column(columnDefinition = "uuid", updatable = false, name = "capacity_group_id")
private UUID capacityGroupId;
@Column(name = "capacity_group_name")
private String capacityGroupName;

@Column(name = "material_description_customer")
private String materialDescriptionCustomer;
@Column(name = "defaultactualcapacity")
private float defaultActualCapacity;

@Column(name = "material_number_customer")
private String materialNumberCustomer;
@Column(name = "defaultmaximumcapacity")
private float defaultMaximumCapacity;

@Column(name = "material_number_supplier")
private String materialNumberSupplier;
@Column(name = "start_date", nullable = false)
private LocalDate startDate;

@Column(name = "changed_at", nullable = false)
private LocalDateTime changedAt;
@Column(name = "end_date", nullable = false)
private LocalDate endDate;

@OneToOne
@JoinColumn(name = "customer_id", referencedColumnName = "ID")
private CompanyEntity customerId;
@JoinColumn(name = "customer", referencedColumnName = "ID")
private CompanyEntity customer;

@OneToOne
@JoinColumn(name = "supplier_id", referencedColumnName = "ID")
private CompanyEntity supplierId;

@OneToOne
@JoinColumn(name = "unity_of_measure_id", referencedColumnName = "ID")
private UnitMeasureEntity unitMeasure;

@OneToMany(mappedBy = "capacityGroupEntity", cascade = CascadeType.ALL)
@ToString.Exclude
private List<CapacityTimeSeries> capacityTimeSeries;

@OneToMany(mappedBy = "capacityGroupEntity", cascade = CascadeType.ALL)
@ToString.Exclude
private List<LinkedDemandSeries> linkedDemandSeries;

@Column(name = "supplier_locations")
@Convert(converter = ListToStringConverter.class)
private List<String> supplierLocation;

@Column(name = "name")
private String name;

@Column(name = "status")
@Enumerated(EnumType.STRING)
private CapacityGroupStatus status;
@JoinColumn(name = "supplier", referencedColumnName = "ID")
private CompanyEntity supplier;
}
Original file line number Diff line number Diff line change
Expand Up @@ -22,24 +22,12 @@

package org.eclipse.tractusx.demandcapacitymgmt.demandcapacitymgmtbackend.entities;

import com.fasterxml.jackson.annotation.JsonIdentityInfo;
import com.fasterxml.jackson.annotation.ObjectIdGenerators;
import java.util.List;
import java.util.UUID;
import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Convert;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.OneToOne;
import javax.persistence.Table;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.persistence.*;
import lombok.*;
import org.eclipse.tractusx.demandcapacitymgmt.demandcapacitymgmtbackend.entities.converters.ListToStringConverter;

@Entity
Expand All @@ -48,6 +36,7 @@
@Builder
@NoArgsConstructor
@AllArgsConstructor
@JsonIdentityInfo(generator = ObjectIdGenerators.PropertyGenerator.class, property = "id")
public class DemandSeries {

@Id
Expand All @@ -74,6 +63,8 @@ public class DemandSeries {
@JoinColumn(name = "demand_series_id")
private List<DemandSeriesValues> demandSeriesValues;

@ToString.Exclude
@EqualsAndHashCode.Exclude
@ManyToOne(fetch = FetchType.LAZY)
private MaterialDemandEntity materialDemand;
}
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,6 @@
public class FavoriteEntity {

@Id
@GeneratedValue
@Column(columnDefinition = "uuid", updatable = false, name = "user_id")
private UUID id;

Expand Down
Loading