|
|
@@ -37,7 +37,6 @@ import com.xjrsoft.module.evaluate.vo.EvaluateObjectListVo;
|
|
|
import com.xjrsoft.module.organization.entity.User;
|
|
|
import com.xjrsoft.module.organization.service.IUserService;
|
|
|
import com.xjrsoft.module.teacher.entity.BaseTeacher;
|
|
|
-import com.xjrsoft.module.teacher.entity.XjrUser;
|
|
|
import lombok.AllArgsConstructor;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
@@ -45,10 +44,10 @@ import org.springframework.transaction.annotation.Transactional;
|
|
|
import java.time.ZoneId;
|
|
|
import java.util.ArrayList;
|
|
|
import java.util.Date;
|
|
|
-import java.util.HashMap;
|
|
|
import java.util.List;
|
|
|
import java.util.Map;
|
|
|
import java.util.Random;
|
|
|
+import java.util.Set;
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
/**
|
|
|
@@ -321,6 +320,7 @@ public class EvaluateObjectServiceImpl extends MPJBaseServiceImpl<EvaluateObject
|
|
|
),
|
|
|
map -> new ArrayList<>(map.values())
|
|
|
));
|
|
|
+ Map<String, List<ClassTeachersListVo>> classTeacherMap = collect.stream().collect(Collectors.groupingBy(ClassTeachersListVo::getTeacherId));
|
|
|
|
|
|
List<User> userList = userService.list(
|
|
|
new MPJLambdaWrapper<User>()
|
|
|
@@ -330,20 +330,21 @@ public class EvaluateObjectServiceImpl extends MPJBaseServiceImpl<EvaluateObject
|
|
|
);
|
|
|
Map<Long, String> userMap = userList.stream().collect(Collectors.toMap(User::getId, User::getName));
|
|
|
|
|
|
- for (ClassTeachersListVo classTeacher : collect) {
|
|
|
- if(!userMap.containsKey(Long.parseLong(classTeacher.getTeacherId().trim()))){
|
|
|
+ for (String teacherId : classTeacherMap.keySet()) {
|
|
|
+ if(!userMap.containsKey(Long.parseLong(teacherId.trim()))){
|
|
|
continue;
|
|
|
}
|
|
|
EvaluateObjectListVo objectListVo = new EvaluateObjectListVo();
|
|
|
|
|
|
+ Set<Long> classIds = classTeacherMap.get(teacherId).stream().map(ClassTeachersListVo::getClassId).collect(Collectors.toSet());
|
|
|
List<EvaluateExecuterVo> studentList = new ArrayList<>();
|
|
|
for (EvaluateExecuterVo el : newExecuterList) {
|
|
|
- if(!classTeacher.getClassId().toString().equals(el.getClassId())){
|
|
|
+ if(!classIds.contains(Long.parseLong(el.getClassId()))){
|
|
|
continue;
|
|
|
}
|
|
|
EvaluateExecuterVo evaluateExecuterVo = new EvaluateExecuterVo();
|
|
|
evaluateExecuterVo.setExecuterId(el.getExecuterId());
|
|
|
- evaluateExecuterVo.setEvaluateObjectId(classTeacher.getTeacherId());
|
|
|
+ evaluateExecuterVo.setEvaluateObjectId(teacherId.trim());
|
|
|
evaluateExecuterVo.setExecuterName(el.getExecuterName());
|
|
|
evaluateExecuterVo.setEvaluateManageId(dto.getEvaluateManageId().toString());
|
|
|
studentList.add(evaluateExecuterVo);
|
|
|
@@ -366,8 +367,8 @@ public class EvaluateObjectServiceImpl extends MPJBaseServiceImpl<EvaluateObject
|
|
|
currentExecuterList.addAll(studentList);
|
|
|
}
|
|
|
|
|
|
- objectListVo.setObjectId(classTeacher.getTeacherId());
|
|
|
- objectListVo.setObjectName(userMap.get(Long.parseLong(classTeacher.getTeacherId().trim())));
|
|
|
+ objectListVo.setObjectId(teacherId.trim());
|
|
|
+ objectListVo.setObjectName(userMap.get(Long.parseLong(teacherId.trim())));
|
|
|
objectListVo.setExecuterCount(currentExecuterList.size());
|
|
|
objectListVo.setExecuterList(currentExecuterList);
|
|
|
newObjectList.add(objectListVo);
|