diff --git a/src/main/java/com/example/demo/service/PhaseLevelService.java b/src/main/java/com/example/demo/service/PhaseLevelService.java index c8f8c020f4a68a89d390b8e2dcf3b38d7f91795e..981b391983db2d3bbb810d32d92df034e0800d70 100644 --- a/src/main/java/com/example/demo/service/PhaseLevelService.java +++ b/src/main/java/com/example/demo/service/PhaseLevelService.java @@ -69,8 +69,10 @@ public class PhaseLevelService { public void alignDecisionMatrixForPhasesInTrainingDefinition(Long trainingDefinitionId) { List<PhaseLevel> phaseLevels = phaseLevelRepository.findAllByTrainingDefinitionIdOrderByOrder(trainingDefinitionId); + int currentPhaseOrder = 0; for (PhaseLevel phaseLevel : phaseLevels) { - alignDecisionMatrixForPhase(phaseLevel); + alignDecisionMatrixForPhase(phaseLevel, currentPhaseOrder); + currentPhaseOrder++; } } @@ -91,7 +93,7 @@ public class PhaseLevelService { return result; } - private void alignDecisionMatrixForPhase(PhaseLevel phaseLevel) { + private void alignDecisionMatrixForPhase(PhaseLevel phaseLevel, int currentPhaseOrder) { if (Objects.isNull(phaseLevel)) { return; } @@ -101,15 +103,15 @@ public class PhaseLevelService { numberOfRows = phaseLevel.getDecisionMatrix().size(); } - final int expextedNumberOfRows = phaseLevel.getOrder() + 1; + final int expectedNumberOfRows = currentPhaseOrder + 1; - if (numberOfRows == expextedNumberOfRows) { + if (numberOfRows == expectedNumberOfRows) { return; - } else if (numberOfRows < expextedNumberOfRows) { - List<DecisionMatrixRow> newDecisionMatrixRows = getNewDecisionMatrixRows(numberOfRows, expextedNumberOfRows, phaseLevel); + } else if (numberOfRows < expectedNumberOfRows) { + List<DecisionMatrixRow> newDecisionMatrixRows = getNewDecisionMatrixRows(numberOfRows, expectedNumberOfRows, phaseLevel); phaseLevel.getDecisionMatrix().addAll(newDecisionMatrixRows); } else { - List<DecisionMatrixRow> neededDecisionMatrixRows = getOnlyNeededDecisionMatrixRows(expextedNumberOfRows, phaseLevel); + List<DecisionMatrixRow> neededDecisionMatrixRows = getOnlyNeededDecisionMatrixRows(expectedNumberOfRows, phaseLevel); phaseLevel.getDecisionMatrix().clear(); phaseLevel.getDecisionMatrix().addAll(neededDecisionMatrixRows);