|
|
@@ -27,6 +27,9 @@ import com.xjrsoft.module.evaluate.service.IEvaluateObjectService;
|
|
|
import com.xjrsoft.module.evaluate.vo.*;
|
|
|
import com.xjrsoft.module.organization.entity.User;
|
|
|
import com.xjrsoft.module.organization.service.IUserService;
|
|
|
+import com.xjrsoft.module.student.dto.BaseStudentUserPageDto;
|
|
|
+import com.xjrsoft.module.student.service.IBaseStudentService;
|
|
|
+import com.xjrsoft.module.student.vo.BaseStudentUserPageVo;
|
|
|
import com.xjrsoft.module.teacher.entity.BaseTeacher;
|
|
|
import lombok.AllArgsConstructor;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
@@ -51,6 +54,7 @@ public class EvaluateObjectServiceImpl extends MPJBaseServiceImpl<EvaluateObject
|
|
|
private final EvaluateExecuterMapper evaluateExecuterMapper;
|
|
|
private final CourseTableMapper courseTableMapper;
|
|
|
private final IUserService userService;
|
|
|
+ private final IBaseStudentService studentService;
|
|
|
|
|
|
|
|
|
@Override
|
|
|
@@ -362,12 +366,84 @@ public class EvaluateObjectServiceImpl extends MPJBaseServiceImpl<EvaluateObject
|
|
|
}
|
|
|
}
|
|
|
else if (dto.getEvaluateType() != null && dto.getEvaluateType().equals(EvaluateTypeEnum.STU_SELF_EVALUATE.getCode())){//学生自评
|
|
|
+ BaseStudentUserPageDto studentUserPageDto = new BaseStudentUserPageDto();
|
|
|
+ studentUserPageDto.setGradeId(dto.getGradeId());
|
|
|
+ List<Long> classIds = new ArrayList<>();
|
|
|
+ classIds.add(dto.getClassId());
|
|
|
+ studentUserPageDto.setClassIds(classIds);
|
|
|
+ List<BaseStudentUserPageVo> studentList = studentService.getStudentList(studentUserPageDto);
|
|
|
+
|
|
|
+ for (BaseStudentUserPageVo student : studentList) {
|
|
|
+ EvaluateObjectListVo object = new EvaluateObjectListVo();
|
|
|
+ object.setObjectName(student.getName());
|
|
|
+ object.setObjectId(student.getId());
|
|
|
+ object.setGradeId(student.getGradeId().toString());
|
|
|
+ object.setGradeName(student.getGradeName());
|
|
|
+ object.setClassId(student.getClassId().toString());
|
|
|
|
|
|
+ List<EvaluateExecuterVo> executerList = new ArrayList<>();
|
|
|
+
|
|
|
+ EvaluateExecuterVo executerVo = new EvaluateExecuterVo();
|
|
|
+ executerVo.setEvaluateObjectId(student.getId());
|
|
|
+ executerVo.setExecuterName(student.getName());
|
|
|
+ executerVo.setExecuterId(student.getId());
|
|
|
+ executerVo.setGradeId(student.getGradeId().toString());
|
|
|
+ executerVo.setClassId(student.getClassId().toString());
|
|
|
+
|
|
|
+ executerList.add(executerVo);
|
|
|
+ object.setExecuterList(executerList);
|
|
|
+ object.setExecuterCount(executerList.size());
|
|
|
+
|
|
|
+ newObjectList.add(object);
|
|
|
+ }
|
|
|
}
|
|
|
- else if (dto.getEvaluateType() != null && dto.getEvaluateType().equals(EvaluateTypeEnum.STU_SELF_EVALUATE.getCode())){//学生自评
|
|
|
+ else if (dto.getEvaluateType() != null && dto.getEvaluateType().equals(EvaluateTypeEnum.CLASS_STU_EVALUATE.getCode())){//班级学生交叉互评
|
|
|
+ BaseStudentUserPageDto studentUserPageDto = new BaseStudentUserPageDto();
|
|
|
+ studentUserPageDto.setGradeId(dto.getGradeId());
|
|
|
+ List<Long> classIds = new ArrayList<>();
|
|
|
+ classIds.add(dto.getClassId());
|
|
|
+ studentUserPageDto.setClassIds(classIds);
|
|
|
+ List<BaseStudentUserPageVo> studentList = studentService.getStudentList(studentUserPageDto);
|
|
|
+ Map<Long, List<BaseStudentUserPageVo>> classStudentMap = studentList.stream().collect(Collectors.groupingBy(BaseStudentUserPageVo::getClassId));
|
|
|
+ for (BaseStudentUserPageVo student : studentList) {
|
|
|
+ EvaluateObjectListVo object = new EvaluateObjectListVo();
|
|
|
+ object.setObjectName(student.getName());
|
|
|
+ object.setObjectId(student.getId());
|
|
|
+ object.setGradeId(student.getGradeId().toString());
|
|
|
+ object.setGradeName(student.getGradeName());
|
|
|
+ object.setClassId(student.getClassId().toString());
|
|
|
+
|
|
|
+ List<BaseStudentUserPageVo> classStudentList = classStudentMap.get(student.getClassId());
|
|
|
|
|
|
+ List<EvaluateExecuterVo> executerList = new ArrayList<>();
|
|
|
+ if(classStudentList != null){
|
|
|
+ for (BaseStudentUserPageVo otherStudent : classStudentList) {
|
|
|
+ if(otherStudent.getId().equals(student.getId())){
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ EvaluateExecuterVo executerVo = new EvaluateExecuterVo();
|
|
|
+ executerVo.setEvaluateObjectId(student.getId());
|
|
|
+ executerVo.setExecuterName(otherStudent.getName());
|
|
|
+ executerVo.setExecuterId(otherStudent.getId());
|
|
|
+ executerVo.setGradeId(otherStudent.getGradeId().toString());
|
|
|
+ executerVo.setClassId(otherStudent.getClassId().toString());
|
|
|
+
|
|
|
+ executerList.add(executerVo);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ object.setExecuterList(executerList);
|
|
|
+ object.setExecuterCount(executerList.size());
|
|
|
+ newObjectList.add(object);
|
|
|
+ }
|
|
|
}
|
|
|
- else if (dto.getEvaluateType() != null && dto.getEvaluateType().equals(EvaluateTypeEnum.STU_SELF_EVALUATE.getCode())){//学生自评
|
|
|
+ else if (dto.getEvaluateType() != null && dto.getEvaluateType().equals(EvaluateTypeEnum.TEA_EVALUATE_STU.getCode())){//教师评价班级学生
|
|
|
+ BaseStudentUserPageDto studentUserPageDto = new BaseStudentUserPageDto();
|
|
|
+ studentUserPageDto.setGradeId(dto.getGradeId());
|
|
|
+ List<Long> classIds = new ArrayList<>();
|
|
|
+ classIds.add(dto.getClassId());
|
|
|
+ studentUserPageDto.setClassIds(classIds);
|
|
|
+ List<BaseStudentUserPageVo> studentList = studentService.getStudentList(studentUserPageDto);
|
|
|
|
|
|
}
|
|
|
|