88import java .util .ArrayList ;
99import java .util .HashMap ;
1010import java .util .Map ;
11- import java .util .stream .Collectors ;
1211
1312import bitnagil .bitnagil_backend .changedRoutine .domain .ChangedRoutine ;
1413import bitnagil .bitnagil_backend .changedRoutine .domain .ChangedSubRoutine ;
1514import bitnagil .bitnagil_backend .changedRoutine .domain .enums .ChangedDivCode ;
1615import bitnagil .bitnagil_backend .changedRoutine .repository .ChangedRoutineRepository ;
1716import bitnagil .bitnagil_backend .changedRoutine .repository .ChangedSubRoutineRepository ;
18- import bitnagil .bitnagil_backend .emotionMarble .domain .EmotionMarble ;
1917import bitnagil .bitnagil_backend .emotionMarble .repository .EmotionMarbleRepository ;
20- import bitnagil .bitnagil_backend .global .entity .HistoryPk ;
2118import bitnagil .bitnagil_backend .routine .domain .RoutineCompletion ;
2219import bitnagil .bitnagil_backend .routine .domain .enums .RoutineType ;
2320import bitnagil .bitnagil_backend .routine .repository .RoutineCompletionRepository ;
@@ -235,8 +232,9 @@ public void updateRoutineCompletionStatus(User user, UpdateRoutineCompletionRequ
235232
236233 // 기존 완료 여부 엔티티가 존재하는지 조회
237234 RoutineCompletion existingRoutineCompletion = routineCompletionRepository
238- .findByRoutineIdAndRoutineHistorySeqAndRoutineType (
235+ .findByRoutineIdAndPerformedDateAndRoutineHistorySeqAndRoutineType (
239236 routineCompletionInfo .getRoutineId (),
237+ request .getPerformedDate (),
240238 routineCompletionInfo .getHistorySeq (),
241239 routineCompletionInfo .getRoutineType ());
242240
@@ -338,9 +336,11 @@ private void applyChangedRoutines(List<ChangedRoutine> changedRoutines,
338336
339337 // 변경 서브 루틴완료 여부를 파악
340338 RoutineCompletion changedSubRoutineCompletion =
341- routineCompletionRepository .findByRoutineIdAndRoutineHistorySeqAndRoutineType (
339+ routineCompletionRepository .findByRoutineIdAndPerformedDateAndRoutineHistorySeqAndRoutineType (
342340 changedSubRoutine .getChangedSubRoutinePk ().getId (),
343- changedSubRoutine .getChangedSubRoutinePk ().getHistorySeq (), RoutineType .CHANGED_SUB_ROUTINE );
341+ changedRoutineDate ,
342+ changedSubRoutine .getChangedSubRoutinePk ().getHistorySeq (),
343+ RoutineType .CHANGED_SUB_ROUTINE );
344344
345345 SubRoutineSearchResultDto changedSubRoutineSearchResultDto =
346346 routineMapper .toChangedSubRoutineSearchResultDto (changedSubRoutine , changedSubRoutineCompletion );
@@ -352,9 +352,11 @@ private void applyChangedRoutines(List<ChangedRoutine> changedRoutines,
352352
353353 // 변경루틴 완료여부 조회
354354 RoutineCompletion changedRoutineCompletion =
355- routineCompletionRepository .findByRoutineIdAndRoutineHistorySeqAndRoutineType (
355+ routineCompletionRepository .findByRoutineIdAndPerformedDateAndRoutineHistorySeqAndRoutineType (
356356 changedRoutine .getChangedRoutinePk ().getId (),
357- changedRoutine .getChangedRoutinePk ().getHistorySeq (), RoutineType .CHANGED_ROUTINE );
357+ changedRoutineDate ,
358+ changedRoutine .getChangedRoutinePk ().getHistorySeq (),
359+ RoutineType .CHANGED_ROUTINE );
358360
359361 RoutineSearchResultDto changedRoutineSearchResultDto = routineMapper .toChangedRoutineSearchResultDto (
360362 changedRoutine , changedSubRoutineSearchResultList , changedRoutineCompletion );
@@ -390,8 +392,9 @@ private Map<LocalDate, List<RoutineSearchResultDto>> buildRoutinesGroupedByDate(
390392
391393 // 서브 루틴 완료 여부 조회
392394 RoutineCompletion subRoutineCompletion =
393- routineCompletionRepository .findByRoutineIdAndRoutineHistorySeqAndRoutineType (
395+ routineCompletionRepository .findByRoutineIdAndPerformedDateAndRoutineHistorySeqAndRoutineType (
394396 subRoutine .getSubRoutinePk ().getId (),
397+ date ,
395398 subRoutine .getSubRoutinePk ().getHistorySeq (),
396399 RoutineType .SUB_ROUTINE );
397400
@@ -405,8 +408,12 @@ private Map<LocalDate, List<RoutineSearchResultDto>> buildRoutinesGroupedByDate(
405408 subRoutineSearchResultList .sort ((a , b ) -> a .getSortOrder ().compareTo (b .getSortOrder ()));
406409
407410 // 루틴 완료 여부 조회
408- RoutineCompletion routineCompletion = routineCompletionRepository .findByRoutineIdAndRoutineHistorySeqAndRoutineType (
409- routine .getRoutinePk ().getId (), routine .getRoutinePk ().getHistorySeq (), RoutineType .ROUTINE );
411+ RoutineCompletion routineCompletion =
412+ routineCompletionRepository .findByRoutineIdAndPerformedDateAndRoutineHistorySeqAndRoutineType (
413+ routine .getRoutinePk ().getId (),
414+ date ,
415+ routine .getRoutinePk ().getHistorySeq (),
416+ RoutineType .ROUTINE );
410417
411418 RoutineSearchResultDto routineSearchResultDto =
412419 routineMapper .toRoutineSearchResultDto (routine , subRoutineSearchResultList , routineCompletion );
0 commit comments