diff --git a/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/service/impl/TaskServiceImpl.java b/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/service/impl/TaskServiceImpl.java index e121674..03b37ee 100644 --- a/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/service/impl/TaskServiceImpl.java +++ b/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/service/impl/TaskServiceImpl.java @@ -20,6 +20,7 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Isolation; import org.springframework.transaction.annotation.Transactional; +import javax.validation.constraints.NotNull; import java.time.LocalDate; import java.time.LocalDateTime; import java.util.*; @@ -125,7 +126,28 @@ public class TaskServiceImpl extends ServiceImpl implements IT if (projectGroupService.getProjectAccessLevel(token, projectId) == 0) { throw new ForbiddenException(IProjectGroupService.UNABLE_TO_ACCESS_PROJECT); } - return baseMapper.selectProjectProcessOfStaff(projectId, staffId); + List resList = baseMapper.selectProjectProcessOfStaff(projectId, staffId); + addResultProjectProcess(resList, Task.TYPE_ASSIGNMENT); + addResultProjectProcess(resList, Task.TYPE_DEFECT); + addResultProjectProcess(resList, Task.TYPE_DEMAND); + return resList; + } + + @NotNull + private void addResultProjectProcess(List resList, String projectType) { + Boolean typeExist = false; + for(StaffProcessDTO staffProcessDTO: resList) { + if(Objects.equals(staffProcessDTO.getTaskType(), projectType)) { + typeExist = true; + } + } + if(!typeExist) { + StaffProcessDTO staffProcessDTO = new StaffProcessDTO(); + staffProcessDTO.setTaskType(projectType); + staffProcessDTO.setCompleteNum(0L); + staffProcessDTO.setTotalNum(0L); + resList.add(staffProcessDTO); + } } @Override diff --git a/src/main/resources/mapper/TaskMapper.xml b/src/main/resources/mapper/TaskMapper.xml index 08a8a95..092d166 100644 --- a/src/main/resources/mapper/TaskMapper.xml +++ b/src/main/resources/mapper/TaskMapper.xml @@ -33,20 +33,17 @@