diff --git a/src/main/java/clap/server/adapter/outbound/persistense/TaskPersistenceAdapter.java b/src/main/java/clap/server/adapter/outbound/persistense/TaskPersistenceAdapter.java index ead46326..24441b1d 100644 --- a/src/main/java/clap/server/adapter/outbound/persistense/TaskPersistenceAdapter.java +++ b/src/main/java/clap/server/adapter/outbound/persistense/TaskPersistenceAdapter.java @@ -58,7 +58,6 @@ public Page findPendingApprovalTasks(Pageable pag @Override public Slice findByProcessorAndStatus(Long processorId, List statuses, LocalDateTime untilDate, Pageable pageable) { - log.info("untildate {}", untilDate); Slice tasks = taskRepository.findTasksWithTaskStatusAndCompletedAt(processorId, statuses, untilDate, pageable); return tasks.map(taskPersistenceMapper::toDomain); } diff --git a/src/main/java/clap/server/adapter/outbound/persistense/repository/task/TaskRepository.java b/src/main/java/clap/server/adapter/outbound/persistense/repository/task/TaskRepository.java index c5bacd86..bc759b31 100644 --- a/src/main/java/clap/server/adapter/outbound/persistense/repository/task/TaskRepository.java +++ b/src/main/java/clap/server/adapter/outbound/persistense/repository/task/TaskRepository.java @@ -25,7 +25,8 @@ List findYesterdayTaskByUpdatedAtIsBetween( ); - @Query("SELECT t FROM TaskEntity t WHERE t.processor.memberId = :processorId " + + @Query("SELECT t FROM TaskEntity t " + + "WHERE t.processor.memberId = :processorId " + "AND t.taskStatus IN :taskStatus " + "AND (t.taskStatus != 'COMPLETED' OR t.completedAt >= :untilDate)") Slice findTasksWithTaskStatusAndCompletedAt( @@ -36,6 +37,7 @@ Slice findTasksWithTaskStatusAndCompletedAt( ); + } diff --git a/src/main/java/clap/server/application/Task/TaskBoardService.java b/src/main/java/clap/server/application/Task/TaskBoardService.java index 59c81fa6..a6fe0d6d 100644 --- a/src/main/java/clap/server/application/Task/TaskBoardService.java +++ b/src/main/java/clap/server/application/Task/TaskBoardService.java @@ -1,12 +1,16 @@ package clap.server.application.Task; +import clap.server.adapter.inbound.web.dto.task.request.UpdateTaskOrderRequest; import clap.server.adapter.inbound.web.dto.task.response.TaskBoardResponse; import clap.server.adapter.outbound.persistense.entity.task.constant.TaskStatus; import clap.server.application.mapper.TaskMapper; import clap.server.application.port.inbound.domain.MemberService; +import clap.server.application.port.inbound.domain.TaskService; import clap.server.application.port.inbound.task.TaskBoardUsecase; +import clap.server.application.port.outbound.task.CommandTaskPort; import clap.server.application.port.outbound.task.LoadTaskPort; import clap.server.common.annotation.architecture.ApplicationService; +import clap.server.domain.model.member.Member; import clap.server.domain.model.task.Task; import lombok.RequiredArgsConstructor; import org.springframework.data.domain.Pageable; @@ -14,6 +18,7 @@ import org.springframework.transaction.annotation.Transactional; import java.time.LocalDate; +import java.time.LocalDateTime; import java.util.List; @ApplicationService @@ -25,13 +30,16 @@ class TaskBoardService implements TaskBoardUsecase { TaskStatus.COMPLETED ); private final MemberService memberService; + private final TaskService taskService; private final LoadTaskPort loadTaskPort; + private final CommandTaskPort commandTaskPort; @Transactional(readOnly = true) @Override public TaskBoardResponse getTaskBoards(Long processorId, LocalDate untilDate, Pageable pageable) { memberService.findById(processorId); - Slice tasks = loadTaskPort.findByProcessorAndStatus(processorId, VIEWABLE_STATUSES, untilDate.plusDays(1).atStartOfDay(), pageable); + LocalDateTime untilDateTime = untilDate==null ? LocalDate.now().plusDays(1).atStartOfDay() : untilDate.plusDays(1).atStartOfDay(); + Slice tasks = loadTaskPort.findByProcessorAndStatus(processorId, VIEWABLE_STATUSES, untilDateTime, pageable); return TaskMapper.toSliceTaskItemResponse(tasks); }