Fix Repair Indexing to consider subtasks
This commit is contained in:
		
							parent
							
								
									7336daddb1
								
							
						
					
					
						commit
						56d75fead9
					
				@ -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<TaskSerieItem> 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);
 | 
			
		||||
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user