diff --git a/demand-capacity-mgmt-backend/src/main/java/org/eclipse/tractusx/demandcapacitymgmt/demandcapacitymgmtbackend/entities/MaterialDemandEntity.java b/demand-capacity-mgmt-backend/src/main/java/org/eclipse/tractusx/demandcapacitymgmt/demandcapacitymgmtbackend/entities/MaterialDemandEntity.java index a54cb04f..2f7bfc10 100644 --- a/demand-capacity-mgmt-backend/src/main/java/org/eclipse/tractusx/demandcapacitymgmt/demandcapacitymgmtbackend/entities/MaterialDemandEntity.java +++ b/demand-capacity-mgmt-backend/src/main/java/org/eclipse/tractusx/demandcapacitymgmt/demandcapacitymgmtbackend/entities/MaterialDemandEntity.java @@ -25,13 +25,14 @@ import com.fasterxml.jackson.annotation.JsonIdentityInfo; import com.fasterxml.jackson.annotation.ObjectIdGenerators; import jakarta.persistence.*; -import java.time.LocalDateTime; -import java.util.List; -import java.util.UUID; import lombok.*; import org.eclipse.tractusx.demandcapacitymgmt.demandcapacitymgmtbackend.entities.enums.EventType; import org.eclipse.tractusx.demandcapacitymgmt.demandcapacitymgmtbackend.entities.enums.MaterialDemandStatus; +import java.time.LocalDateTime; +import java.util.List; +import java.util.UUID; + @Entity @Cacheable(false) @Table(name = "material_demand") diff --git a/demand-capacity-mgmt-backend/src/main/java/org/eclipse/tractusx/demandcapacitymgmt/demandcapacitymgmtbackend/repositories/MaterialDemandRepository.java b/demand-capacity-mgmt-backend/src/main/java/org/eclipse/tractusx/demandcapacitymgmt/demandcapacitymgmtbackend/repositories/MaterialDemandRepository.java index 88f849a1..437dc8db 100644 --- a/demand-capacity-mgmt-backend/src/main/java/org/eclipse/tractusx/demandcapacitymgmt/demandcapacitymgmtbackend/repositories/MaterialDemandRepository.java +++ b/demand-capacity-mgmt-backend/src/main/java/org/eclipse/tractusx/demandcapacitymgmt/demandcapacitymgmtbackend/repositories/MaterialDemandRepository.java @@ -23,17 +23,22 @@ package org.eclipse.tractusx.demandcapacitymgmt.demandcapacitymgmtbackend.repositories; import jakarta.persistence.Cacheable; -import java.util.List; -import java.util.UUID; import org.eclipse.tractusx.demandcapacitymgmt.demandcapacitymgmtbackend.entities.MaterialDemandEntity; import org.eclipse.tractusx.demandcapacitymgmt.demandcapacitymgmtbackend.entities.enums.MaterialDemandStatus; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.Query; import org.springframework.stereotype.Repository; +import java.util.List; +import java.util.UUID; + @Repository @Cacheable(false) public interface MaterialDemandRepository extends JpaRepository { + List findBySupplierId_Id(UUID id); + @Query("select m from MaterialDemandEntity m where m.customerId.id = ?1") + List findByCustomerId_Id(UUID id); + List findAllByStatus(MaterialDemandStatus status); @Query( diff --git a/demand-capacity-mgmt-backend/src/main/java/org/eclipse/tractusx/demandcapacitymgmt/demandcapacitymgmtbackend/services/StatusManager.java b/demand-capacity-mgmt-backend/src/main/java/org/eclipse/tractusx/demandcapacitymgmt/demandcapacitymgmtbackend/services/StatusManager.java index 648fef50..2c1fa9d3 100644 --- a/demand-capacity-mgmt-backend/src/main/java/org/eclipse/tractusx/demandcapacitymgmt/demandcapacitymgmtbackend/services/StatusManager.java +++ b/demand-capacity-mgmt-backend/src/main/java/org/eclipse/tractusx/demandcapacitymgmt/demandcapacitymgmtbackend/services/StatusManager.java @@ -24,4 +24,6 @@ public interface StatusManager { void calculateBottleneck(String userID, boolean postLog); + + void calculateTodos(String userID); } diff --git a/demand-capacity-mgmt-backend/src/main/java/org/eclipse/tractusx/demandcapacitymgmt/demandcapacitymgmtbackend/services/impl/CapacityGroupServiceImpl.java b/demand-capacity-mgmt-backend/src/main/java/org/eclipse/tractusx/demandcapacitymgmt/demandcapacitymgmtbackend/services/impl/CapacityGroupServiceImpl.java index 4d1a7a97..99370f39 100644 --- a/demand-capacity-mgmt-backend/src/main/java/org/eclipse/tractusx/demandcapacitymgmt/demandcapacitymgmtbackend/services/impl/CapacityGroupServiceImpl.java +++ b/demand-capacity-mgmt-backend/src/main/java/org/eclipse/tractusx/demandcapacitymgmt/demandcapacitymgmtbackend/services/impl/CapacityGroupServiceImpl.java @@ -79,7 +79,6 @@ public CapacityGroupResponse createCapacityGroup(CapacityGroupRequest capacityGr if (helperEntity.isPresent()) { MaterialDemandEntity materialDemandEntity = helperEntity.get(); materialDemandEntity.setLinkStatus(EventType.LINKED); - statusesService.addOrSubtractTodos(false, userID); materialDemandRepository.save(materialDemandEntity); matchedMaterialDemands.addAll(materialDemandEntity.getDemandSeries()); } @@ -88,6 +87,7 @@ public CapacityGroupResponse createCapacityGroup(CapacityGroupRequest capacityGr capacityGroupEntity.setLinkStatus(EventType.GENERAL_EVENT); capacityGroupRepository.save(capacityGroupEntity); } + statusManager.calculateTodos(userID); return convertCapacityGroupDto(capacityGroupEntity); } @@ -124,7 +124,6 @@ public void linkCapacityGroupToMaterialDemand(LinkCGDSRequest linkCGDSRequest, S MaterialDemandEntity materialDemand = materialDemandEntity.get(); materialDemand.setLinkStatus(EventType.LINKED); materialDemandEntities.add(materialDemand); - statusesService.addOrSubtractTodos(false, userID); } } @@ -160,11 +159,11 @@ public void linkCapacityGroupToMaterialDemand(LinkCGDSRequest linkCGDSRequest, S if (materialDemandEntity.isPresent()) { MaterialDemandEntity demandEntity = materialDemandEntity.get(); demandEntity.setLinkStatus(EventType.LINKED); - statusesService.addOrSubtractTodos(false, userID); materialDemandRepository.save(demandEntity); } } statusManager.calculateBottleneck(userID, true); + statusManager.calculateTodos(userID); } private CapacityGroupEntity enrichCapacityGroup(CapacityGroupRequest request) { diff --git a/demand-capacity-mgmt-backend/src/main/java/org/eclipse/tractusx/demandcapacitymgmt/demandcapacitymgmtbackend/services/impl/DemandServiceImpl.java b/demand-capacity-mgmt-backend/src/main/java/org/eclipse/tractusx/demandcapacitymgmt/demandcapacitymgmtbackend/services/impl/DemandServiceImpl.java index d9606f31..4c1598a0 100644 --- a/demand-capacity-mgmt-backend/src/main/java/org/eclipse/tractusx/demandcapacitymgmt/demandcapacitymgmtbackend/services/impl/DemandServiceImpl.java +++ b/demand-capacity-mgmt-backend/src/main/java/org/eclipse/tractusx/demandcapacitymgmt/demandcapacitymgmtbackend/services/impl/DemandServiceImpl.java @@ -85,8 +85,8 @@ public MaterialDemandResponse createDemand(MaterialDemandRequest materialDemandR materialDemandEntity.setLinkStatus(EventType.UN_LINKED); materialDemandEntity = materialDemandRepository.save(materialDemandEntity); postLogs(materialDemandEntity.getId().toString(), "Material Demand created", EventType.GENERAL_EVENT, userID); - statusesService.addOrSubtractTodos(true, userID); statusManager.calculateBottleneck(userID, true); + statusManager.calculateTodos(userID); return convertDemandResponseDto(materialDemandEntity); } @@ -168,6 +168,7 @@ public MaterialDemandResponse updateDemand( demand = materialDemandRepository.save(demand); postLogs(demandId, "MATERIAL DEMAND Updated", EventType.GENERAL_EVENT, userID); statusManager.calculateBottleneck(userID, true); + statusManager.calculateTodos(userID); return convertDemandResponseDto(demand); } @@ -183,8 +184,8 @@ public void deleteDemandById(String demandId, String userID) { postLogs(demandId, "Material Demand deleted", EventType.UN_LINKED, userID); linkedCapacityGroupMaterialDemandRepository.deleteByMaterialDemandID(demand.getId()); materialDemandRepository.delete(demand); - statusesService.addOrSubtractTodos(false, userID); statusManager.calculateBottleneck(userID, true); + statusManager.calculateTodos(userID); } @Override @@ -269,8 +270,8 @@ public void unlinkComposites(DemandSeriesUnlinkRequest demandSeriesUnlinkRequest linkedCapacityGroupMaterialDemandRepository.deleteByCapacityGroupIDAndMaterialDemandID(cgID, mdID); List oldMaterialDemands = getAllDemands(); oldMaterialDemands.removeIf(md -> md.getId().equals(mdID)); - statusesService.addOrSubtractTodos(true, userID); statusManager.calculateBottleneck(userID, true); + statusManager.calculateTodos(userID); } private MaterialDemandEntity getDemandEntity(String demandId) { diff --git a/demand-capacity-mgmt-backend/src/main/java/org/eclipse/tractusx/demandcapacitymgmt/demandcapacitymgmtbackend/services/impl/FavoriteServiceImpl.java b/demand-capacity-mgmt-backend/src/main/java/org/eclipse/tractusx/demandcapacitymgmt/demandcapacitymgmtbackend/services/impl/FavoriteServiceImpl.java index b0b51aaa..7b505dfd 100644 --- a/demand-capacity-mgmt-backend/src/main/java/org/eclipse/tractusx/demandcapacitymgmt/demandcapacitymgmtbackend/services/impl/FavoriteServiceImpl.java +++ b/demand-capacity-mgmt-backend/src/main/java/org/eclipse/tractusx/demandcapacitymgmt/demandcapacitymgmtbackend/services/impl/FavoriteServiceImpl.java @@ -23,12 +23,6 @@ package org.eclipse.tractusx.demandcapacitymgmt.demandcapacitymgmtbackend.services.impl; import eclipse.tractusx.demand_capacity_mgmt_specification.model.*; -import java.sql.Timestamp; -import java.time.Instant; -import java.util.ArrayList; -import java.util.List; -import java.util.Optional; -import java.util.UUID; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.eclipse.tractusx.demandcapacitymgmt.demandcapacitymgmtbackend.entities.*; @@ -38,6 +32,13 @@ import org.eclipse.tractusx.demandcapacitymgmt.demandcapacitymgmtbackend.services.FavoriteService; import org.springframework.stereotype.Service; +import java.sql.Timestamp; +import java.time.Instant; +import java.util.ArrayList; +import java.util.List; +import java.util.Optional; +import java.util.UUID; + @RequiredArgsConstructor @Service @Slf4j @@ -140,9 +141,9 @@ private SingleCapacityGroupFavoriteResponse convertToSingleCapacityGroup(Favorit scgfv.setId(capacityGroup.getId().toString()); scgfv.setCapacityGroupId(capacityGroup.getId().toString()); scgfv.setCapacityGroupName(capacityGroup.getCapacityGroupName()); - scgfv.setCustomer(capacityGroup.getCustomer().getBpn()); + scgfv.setCustomer(convertToCompanyDto(capacityGroup.getCustomer())); scgfv.setStatus(capacityGroup.getLinkStatus().toString()); - scgfv.setSupplier(capacityGroup.getSupplier().getBpn()); + scgfv.setSupplier(convertToCompanyDto(capacityGroup.getSupplier())); scgfv.setFavoritedAt(entity.getFavorited_at().toString()); return scgfv; } else return null; @@ -155,16 +156,19 @@ private MaterialDemandFavoriteResponse convertToMaterialDemandResponse(FavoriteE MaterialDemandFavoriteResponse response = new MaterialDemandFavoriteResponse(); response.setId(materialDemand.getId().toString()); + CompanyEntity cEntity = materialDemand.getCustomerId(); CompanyEntity sEntity = materialDemand.getSupplierId(); - response.setCustomer(cEntity.getId().toString()); + + response.setCustomer(convertToCompanyDto(cEntity)); + response.setSupplier(convertToCompanyDto(sEntity)); + LinkedCapacityGroupMaterialDemandEntity lcgm = linkedMaterialDemandRepository.findByMaterialDemandID( cEntity.getId() ); if (lcgm != null) { response.setStatus(EventType.LINKED.toString()); } else response.setStatus(EventType.TODO.toString()); - response.setSupplier(sEntity.getId().toString()); response.setMaterialDescriptionCustomer(materialDemand.getMaterialDescriptionCustomer()); response.setMaterialNumberCustomer(materialDemand.getMaterialNumberCustomer()); response.setMaterialNumberSupplier(materialDemand.getMaterialNumberSupplier()); @@ -193,6 +197,19 @@ private CompanyDtoFavoriteResponse convertToCompanyDto(FavoriteEntity entity) { } else return null; } + private CompanyDto convertToCompanyDto(CompanyEntity entity) { + CompanyDto dto = new CompanyDto(); + dto.setStreet(entity.getStreet()); + dto.setNumber(entity.getNumber()); + dto.setId(entity.getId().toString()); + dto.setBpn(entity.getBpn()); + dto.setMyCompany(entity.getMyCompany()); + dto.setCountry(entity.getCountry()); + dto.setCompanyName(entity.getCompanyName()); + dto.setZipCode(entity.getZipCode()); + return dto; + } + private EventFavoriteResponse convertToEventDto(FavoriteEntity entity) { LoggingHistoryEntity eEntity = eventRepository.findByLogID(entity.getFavoriteId()); EventFavoriteResponse eventEntity = new EventFavoriteResponse(); diff --git a/demand-capacity-mgmt-backend/src/main/java/org/eclipse/tractusx/demandcapacitymgmt/demandcapacitymgmtbackend/services/impl/SecurityTokenServiceImpl.java b/demand-capacity-mgmt-backend/src/main/java/org/eclipse/tractusx/demandcapacitymgmt/demandcapacitymgmtbackend/services/impl/SecurityTokenServiceImpl.java index ca7d30d6..3103c41b 100644 --- a/demand-capacity-mgmt-backend/src/main/java/org/eclipse/tractusx/demandcapacitymgmt/demandcapacitymgmtbackend/services/impl/SecurityTokenServiceImpl.java +++ b/demand-capacity-mgmt-backend/src/main/java/org/eclipse/tractusx/demandcapacitymgmt/demandcapacitymgmtbackend/services/impl/SecurityTokenServiceImpl.java @@ -25,11 +25,11 @@ import com.auth0.jwt.JWT; import com.auth0.jwt.interfaces.Claim; import com.auth0.jwt.interfaces.DecodedJWT; +import com.fasterxml.uuid.Logger; import eclipse.tractusx.demand_capacity_mgmt_specification.model.IntrospectTokenResponse; import eclipse.tractusx.demand_capacity_mgmt_specification.model.Role; import eclipse.tractusx.demand_capacity_mgmt_specification.model.TokenResponse; import eclipse.tractusx.demand_capacity_mgmt_specification.model.User; -import java.util.*; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.eclipse.tractusx.demandcapacitymgmt.demandcapacitymgmtbackend.entities.UserEntity; @@ -46,6 +46,8 @@ import org.springframework.web.reactive.function.client.WebClient; import reactor.core.publisher.Mono; +import java.util.*; + @RequiredArgsConstructor @Service @Slf4j @@ -229,11 +231,9 @@ private UserEntity generateUser(String userID, DecodedJWT decodedJWT) { Object rolesObject = realmAccessMap.get("roles"); - if (rolesObject instanceof List) { - List list = (List) rolesObject; + if (rolesObject instanceof List list) { for (Object roleObj : list) { - if (roleObj instanceof String) { - String roleStr = (String) roleObj; + if (roleObj instanceof String roleStr) { try { org.eclipse.tractusx.demandcapacitymgmt.demandcapacitymgmtbackend.entities.enums.Role role = org.eclipse.tractusx.demandcapacitymgmt.demandcapacitymgmtbackend.entities.enums.Role.valueOf( roleStr @@ -241,7 +241,7 @@ private UserEntity generateUser(String userID, DecodedJWT decodedJWT) { newUserEntity.setRole(role); break; } catch (IllegalArgumentException e) { - throw new RuntimeException("Illegal Role detected! User must have one of the role types"); + Logger.logError("Incompatible role! User must have one of the 3 role types 'ADMIN','CUSTOMER','SUPPLIER'"); } } } @@ -261,6 +261,7 @@ private User convertUserEntity(UserEntity userEntity, String accessToken, String user.setRefreshToken(refreshToken); user.setExpiresIn(expiresIn); statusManager.calculateBottleneck(user.getUserID(), false); + statusManager.calculateTodos(user.getUserID()); return user; } diff --git a/demand-capacity-mgmt-backend/src/main/java/org/eclipse/tractusx/demandcapacitymgmt/demandcapacitymgmtbackend/services/impl/StatusManagerImpl.java b/demand-capacity-mgmt-backend/src/main/java/org/eclipse/tractusx/demandcapacitymgmt/demandcapacitymgmtbackend/services/impl/StatusManagerImpl.java index a0c61fef..91695b0b 100644 --- a/demand-capacity-mgmt-backend/src/main/java/org/eclipse/tractusx/demandcapacitymgmt/demandcapacitymgmtbackend/services/impl/StatusManagerImpl.java +++ b/demand-capacity-mgmt-backend/src/main/java/org/eclipse/tractusx/demandcapacitymgmt/demandcapacitymgmtbackend/services/impl/StatusManagerImpl.java @@ -22,26 +22,29 @@ package org.eclipse.tractusx.demandcapacitymgmt.demandcapacitymgmtbackend.services.impl; -import java.sql.Timestamp; -import java.time.LocalDate; -import java.time.LocalDateTime; -import java.util.*; -import java.util.stream.Collectors; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.tuple.Pair; import org.eclipse.tractusx.demandcapacitymgmt.demandcapacitymgmtbackend.entities.*; import org.eclipse.tractusx.demandcapacitymgmt.demandcapacitymgmtbackend.entities.enums.EventObjectType; import org.eclipse.tractusx.demandcapacitymgmt.demandcapacitymgmtbackend.entities.enums.EventType; +import org.eclipse.tractusx.demandcapacitymgmt.demandcapacitymgmtbackend.entities.enums.Role; import org.eclipse.tractusx.demandcapacitymgmt.demandcapacitymgmtbackend.repositories.*; import org.eclipse.tractusx.demandcapacitymgmt.demandcapacitymgmtbackend.services.StatusManager; import org.springframework.stereotype.Service; +import java.sql.Timestamp; +import java.time.LocalDate; +import java.time.LocalDateTime; +import java.util.*; +import java.util.stream.Collectors; + @RequiredArgsConstructor @Service @Slf4j public class StatusManagerImpl implements StatusManager { + private static final LocalDate TWO_WEEKS_FROM_NOW = LocalDate.now().plusWeeks(2); private final MaterialDemandRepository materialDemandRepository; private final CapacityGroupRepository capacityGroupRepository; private final StatusesRepository statusesRepository; @@ -49,7 +52,45 @@ public class StatusManagerImpl implements StatusManager { private final LinkedCapacityGroupMaterialDemandRepository matchedDemandsRepository; private final LoggingHistoryRepository loggingRepository; - private static final LocalDate TWO_WEEKS_FROM_NOW = LocalDate.now().plusWeeks(2); + @Override + public void calculateTodos(String userID) { + userRepository + .findById(UUID.fromString(userID)) + .ifPresent( + user -> { + List demands = fetchDemandsBasedOnRole(user, userID); + + StatusesEntity statusesEntity = statusesRepository + .findByUserID(UUID.fromString(userID)) + .orElseGet(() -> generateNewEntity(userID)); + + statusesEntity.setTodosCount(demands.size()); + statusesRepository.save(statusesEntity); + } + ); + } + + private StatusesEntity generateNewEntity(String userID) { + return StatusesEntity.builder().userID(UUID.fromString(userID)).build(); + } + + private List fetchDemandsBasedOnRole(UserEntity user, String userID) { + List demands = new ArrayList<>(); + + if (user.getRole().equals(Role.CUSTOMER)) { + demands = materialDemandRepository.findAll() //TODO SUPPLIER AQUI findbysupplierID + .stream() + .filter(d -> d.getDemandSeries().stream().allMatch(series -> series.getDemandSeriesValues().stream().allMatch(value -> value.getDemand() == 0))) + .collect(Collectors.toList()); + } else if (user.getRole().equals(Role.SUPPLIER)) { + demands = materialDemandRepository.findAll() //TODO CUSTOMER AQUI findbycustomerID + .stream() + .filter(d -> d.getLinkStatus() == EventType.UN_LINKED) + .collect(Collectors.toList()); + } + return demands; + } + @Override public void calculateBottleneck(String userID, boolean postLog) { @@ -81,20 +122,20 @@ private void updateAndLogStatus(String userID, boolean postLog, int improvements if (improvements > 0) { logEvent( - EventType.STATUS_IMPROVEMENT, - userID, - postLog, - "Status improved for " + improvements + " weeks", - cgID + EventType.STATUS_IMPROVEMENT, + userID, + postLog, + "Status improved for " + improvements + " weeks", + cgID ); } if (degradations > 0) { logEvent( - EventType.STATUS_REDUCTION, - userID, - postLog, - "Status degraded for " + degradations + " weeks", - cgID + EventType.STATUS_REDUCTION, + userID, + postLog, + "Status degraded for " + degradations + " weeks", + cgID ); } @@ -114,7 +155,7 @@ private StatusesEntity createInitialStatus(String userID) { private Pair processCapacityGroup(String userID, CapacityGroupEntity cgs, boolean postLog) { List matchedEntities = matchedDemandsRepository.findByCapacityGroupID( - cgs.getId() + cgs.getId() ); int weeklyImprovements = 0; @@ -124,7 +165,7 @@ private Pair processCapacityGroup(String userID, CapacityGroup for (LinkedCapacityGroupMaterialDemandEntity entity : matchedEntities) { Optional materialDemand = materialDemandRepository.findById( - entity.getMaterialDemandID() + entity.getMaterialDemandID() ); if (materialDemand.isPresent()) { Map weeklyDemands = getWeeklyDemands(materialDemand.get().getDemandSeries()); @@ -156,15 +197,15 @@ private Pair processCapacityGroup(String userID, CapacityGroup private Map getWeeklyDemands(List matchedDemandSeries) { return matchedDemandSeries - .stream() - .flatMap(demand -> demand.getDemandSeriesValues().stream()) - .filter(value -> !value.getCalendarWeek().isBefore(TWO_WEEKS_FROM_NOW)) - .collect( - Collectors.groupingBy( - DemandSeriesValues::getCalendarWeek, - Collectors.summingDouble(DemandSeriesValues::getDemand) - ) - ); + .stream() + .flatMap(demand -> demand.getDemandSeriesValues().stream()) + .filter(value -> !value.getCalendarWeek().isBefore(TWO_WEEKS_FROM_NOW)) + .collect( + Collectors.groupingBy( + DemandSeriesValues::getCalendarWeek, + Collectors.summingDouble(DemandSeriesValues::getDemand) + ) + ); } private void logEvent(EventType eventType, String userID, boolean postLog, String descriptionOverride, UUID cgID) { @@ -179,7 +220,7 @@ private void logEvent(EventType eventType, String userID, boolean postLog, Strin logEntity.setLogID(UUID.randomUUID()); logEntity.setDescription( - Optional.ofNullable(descriptionOverride).orElseGet(() -> getEventDescription(eventType)) + Optional.ofNullable(descriptionOverride).orElseGet(() -> getEventDescription(eventType)) ); if (logEntity.getDescription() != null) { loggingRepository.save(logEntity); diff --git a/demand-capacity-mgmt-backend/src/main/java/org/eclipse/tractusx/demandcapacitymgmt/demandcapacitymgmtbackend/services/impl/StatusesServiceImpl.java b/demand-capacity-mgmt-backend/src/main/java/org/eclipse/tractusx/demandcapacitymgmt/demandcapacitymgmtbackend/services/impl/StatusesServiceImpl.java index 968c65fe..9cbbd72c 100644 --- a/demand-capacity-mgmt-backend/src/main/java/org/eclipse/tractusx/demandcapacitymgmt/demandcapacitymgmtbackend/services/impl/StatusesServiceImpl.java +++ b/demand-capacity-mgmt-backend/src/main/java/org/eclipse/tractusx/demandcapacitymgmt/demandcapacitymgmtbackend/services/impl/StatusesServiceImpl.java @@ -92,17 +92,6 @@ public void updateStatus(StatusRequest statusRequest, String userID) { @Override public void addOrSubtractTodos(boolean add, String userID) { - UUID userUUID = UUID.fromString(userID); - StatusesEntity statusesEntity = statusesRepository - .findByUserID(userUUID) - .orElseGet(() -> generateNewEntity(userID)); - int adjustment = add ? 1 : -1; - int newTodosCount = statusesEntity.getTodosCount() + adjustment; - statusesEntity.setTodosCount(Math.max(newTodosCount, 0)); - statusesRepository.save(statusesEntity); - } - - private StatusesEntity generateNewEntity(String userID) { - return StatusesEntity.builder().userID(UUID.fromString(userID)).build(); + //TODO REMOVE DEPRECATED METHOD, IMPLEMENTED NOW WITH STATUSMANAGER CALCULATETODOS } } diff --git a/demand-capacity-mgmt-specification/src/main/resources/openapi.yml b/demand-capacity-mgmt-specification/src/main/resources/openapi.yml index 485f8088..c34f15bb 100644 --- a/demand-capacity-mgmt-specification/src/main/resources/openapi.yml +++ b/demand-capacity-mgmt-specification/src/main/resources/openapi.yml @@ -918,6 +918,7 @@ components: enum: - CUSTOMER - SUPPLIER + - ADMIN TokenResponse: type: object properties: @@ -1476,10 +1477,10 @@ components: materialNumberSupplier: type: string customer: - type: string - status: - type: string + $ref: '#/components/schemas/CompanyDto' supplier: + $ref: '#/components/schemas/CompanyDto' + status: type: string unitOfMeasure: type: string @@ -1494,9 +1495,9 @@ components: id: type: string customer: - type: string + $ref: '#/components/schemas/CompanyDto' supplier: - type: string + $ref: '#/components/schemas/CompanyDto' capacityGroupId: type: string status: