diff --git a/backend/src/main/java/core/services/TaskSeriesService.java b/backend/src/main/java/core/services/TaskSeriesService.java index 6e555c4..1eb3bcc 100644 --- a/backend/src/main/java/core/services/TaskSeriesService.java +++ b/backend/src/main/java/core/services/TaskSeriesService.java @@ -141,21 +141,19 @@ public class TaskSeriesService { taskSerie.getTasks().clear(); taskSeriesRepository.delete(taskSerie); } else { - repearIndexing(taskSerie); + repearIndexing(taskSerie, item.getSeriesIndex()); } } - private void repearIndexing(TaskSerie taskSerie) { + private void repearIndexing(TaskSerie taskSerie, int deletedIndex) { taskSerie.getTasks().sort(Comparator.comparingInt(TaskSerieItem::getSeriesIndex)); List updatedItems = new ArrayList<>(); - int currentIndex = 1; + for(TaskSerieItem taskSerieItem : taskSerie.getTasks()) { - if(taskSerieItem.getSeriesIndex() != currentIndex) { - taskSerieItem.setSeriesIndex(currentIndex); + if(taskSerieItem.getSeriesIndex() > deletedIndex) { + taskSerieItem.setSeriesIndex(taskSerieItem.getSeriesIndex() -1); updatedItems.add(taskSerieItem); } - - currentIndex++; } taskSerieItemRepository.saveAll(updatedItems);