Browse Source

考试任务新增字段:参与未通过人数,未参与人数

master
luogw 3 months ago
parent
commit
dc8f382ab2
  1. 10
      src/main/java/com/project/task/domain/dto/TaskDTO.java
  2. 17
      src/main/java/com/project/task/domain/service/impl/SearchTaskDomainServiceImpl.java

10
src/main/java/com/project/task/domain/dto/TaskDTO.java

@ -90,6 +90,16 @@ public class TaskDTO extends BaseDTO {
private String classicCategoryParentName; private String classicCategoryParentName;
/**
* 参与未通过人数
*/
private Integer notPassNum;
/**
* 未参与人数
*/
private Integer notParticipatedNum;
// =============== V1.1 新增字段 结束 ============ // =============== V1.1 新增字段 结束 ============
} }

17
src/main/java/com/project/task/domain/service/impl/SearchTaskDomainServiceImpl.java

@ -27,6 +27,7 @@ import org.springframework.stereotype.Service;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
import java.util.Objects; import java.util.Objects;
import java.util.concurrent.atomic.AtomicInteger;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@Service @Service
@ -90,17 +91,31 @@ public class SearchTaskDomainServiceImpl implements SearchTaskDomainService {
} else { } else {
dto.setStatusText(TaskStatusEnum.Cut_Off.getValue()); dto.setStatusText(TaskStatusEnum.Cut_Off.getValue());
} }
//统计已通过人数、参与未通过、未参与人数
AtomicInteger passedNum = new AtomicInteger();
AtomicInteger notPassedNum = new AtomicInteger();
AtomicInteger notParticipatedNum = new AtomicInteger();
// 构造参与用户 // 构造参与用户
List<UserDTO> participantUserDTOList = taskUserBaseService.lambdaQuery() List<UserDTO> participantUserDTOList = taskUserBaseService.lambdaQuery()
.eq(TaskUserEntity::getTaskId , dto.getId()) .eq(TaskUserEntity::getTaskId , dto.getId())
.select(TaskUserEntity::getUserId, TaskUserEntity::getUserName) .select(TaskUserEntity::getUserId, TaskUserEntity::getUserName, TaskUserEntity::getStatus)
.list().stream().map(taskUserEntity -> { .list().stream().map(taskUserEntity -> {
UserDTO userDTO = new UserDTO(); UserDTO userDTO = new UserDTO();
userDTO.setId(taskUserEntity.getUserId()); userDTO.setId(taskUserEntity.getUserId());
userDTO.setName(taskUserEntity.getUserName()); userDTO.setName(taskUserEntity.getUserName());
switch (taskUserEntity.getStatus()) {
case 0 -> notParticipatedNum.getAndIncrement();
case 1 -> notPassedNum.getAndIncrement();
case 2 -> passedNum.getAndIncrement();
}
return userDTO; return userDTO;
}).toList(); }).toList();
dto.setPassNum(passedNum.get());
dto.setNotPassNum(notPassedNum.get());
dto.setNotParticipatedNum(notParticipatedNum.get());
//获取子产品线名称 //获取子产品线名称
String subLineName = productLineApplicationService.searchLineNameById(dto.getSubLineId()); String subLineName = productLineApplicationService.searchLineNameById(dto.getSubLineId());
dto.setSubLineName(subLineName); dto.setSubLineName(subLineName);

Loading…
Cancel
Save