|
@@ -29,6 +29,7 @@ import com.xjrsoft.module.evaluate.mapper.EvaluateExecuterMapper;
|
|
import com.xjrsoft.module.evaluate.mapper.EvaluateManageMapper;
|
|
import com.xjrsoft.module.evaluate.mapper.EvaluateManageMapper;
|
|
import com.xjrsoft.module.evaluate.mapper.EvaluateObjectMapper;
|
|
import com.xjrsoft.module.evaluate.mapper.EvaluateObjectMapper;
|
|
import com.xjrsoft.module.evaluate.service.IEvaluateObjectService;
|
|
import com.xjrsoft.module.evaluate.service.IEvaluateObjectService;
|
|
|
|
+import com.xjrsoft.module.evaluate.vo.ClassTeachersListVo;
|
|
import com.xjrsoft.module.evaluate.vo.EvaluateExecuterVo;
|
|
import com.xjrsoft.module.evaluate.vo.EvaluateExecuterVo;
|
|
import com.xjrsoft.module.evaluate.vo.EvaluateManageVo;
|
|
import com.xjrsoft.module.evaluate.vo.EvaluateManageVo;
|
|
import com.xjrsoft.module.evaluate.vo.EvaluateObjectGradeListVo;
|
|
import com.xjrsoft.module.evaluate.vo.EvaluateObjectGradeListVo;
|
|
@@ -36,6 +37,7 @@ import com.xjrsoft.module.evaluate.vo.EvaluateObjectListVo;
|
|
import com.xjrsoft.module.organization.entity.User;
|
|
import com.xjrsoft.module.organization.entity.User;
|
|
import com.xjrsoft.module.organization.service.IUserService;
|
|
import com.xjrsoft.module.organization.service.IUserService;
|
|
import com.xjrsoft.module.teacher.entity.BaseTeacher;
|
|
import com.xjrsoft.module.teacher.entity.BaseTeacher;
|
|
|
|
+import com.xjrsoft.module.teacher.entity.XjrUser;
|
|
import lombok.AllArgsConstructor;
|
|
import lombok.AllArgsConstructor;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
@@ -43,6 +45,7 @@ import org.springframework.transaction.annotation.Transactional;
|
|
import java.time.ZoneId;
|
|
import java.time.ZoneId;
|
|
import java.util.ArrayList;
|
|
import java.util.ArrayList;
|
|
import java.util.Date;
|
|
import java.util.Date;
|
|
|
|
+import java.util.HashMap;
|
|
import java.util.List;
|
|
import java.util.List;
|
|
import java.util.Map;
|
|
import java.util.Map;
|
|
import java.util.Random;
|
|
import java.util.Random;
|
|
@@ -226,12 +229,12 @@ public class EvaluateObjectServiceImpl extends MPJBaseServiceImpl<EvaluateObject
|
|
|
|
|
|
for (EvaluateObjectListVo objectListVo : newObjectList) {
|
|
for (EvaluateObjectListVo objectListVo : newObjectList) {
|
|
List<EvaluateExecuterVo> dataList = new ArrayList<>();
|
|
List<EvaluateExecuterVo> dataList = new ArrayList<>();
|
|
- /*for (EvaluateExecuterVo executerVo : newExecuterList) {
|
|
|
|
|
|
+ for (EvaluateExecuterVo executerVo : newExecuterList) {
|
|
if(!executerVo.getClassId().equals(objectListVo.getClassId())){
|
|
if(!executerVo.getClassId().equals(objectListVo.getClassId())){
|
|
continue;
|
|
continue;
|
|
}
|
|
}
|
|
dataList.add(executerVo);
|
|
dataList.add(executerVo);
|
|
- }*/
|
|
|
|
|
|
+ }
|
|
List<EvaluateExecuterVo> executerList = new ArrayList<>();
|
|
List<EvaluateExecuterVo> executerList = new ArrayList<>();
|
|
if(evaluateExecuterVoMap.get(objectListVo.getClassId()) != null){
|
|
if(evaluateExecuterVoMap.get(objectListVo.getClassId()) != null){
|
|
dataList.addAll(evaluateExecuterVoMap.get(objectListVo.getClassId()));
|
|
dataList.addAll(evaluateExecuterVoMap.get(objectListVo.getClassId()));
|
|
@@ -254,7 +257,8 @@ public class EvaluateObjectServiceImpl extends MPJBaseServiceImpl<EvaluateObject
|
|
objectListVo.setExecuterCount(executerList.size());
|
|
objectListVo.setExecuterCount(executerList.size());
|
|
objectListVo.setExecuterList(executerList);
|
|
objectListVo.setExecuterList(executerList);
|
|
}
|
|
}
|
|
- }else if(dto.getEvaluateType() != null && dto.getEvaluateType().equals(EvaluateTypeEnum.DRILLMASTER_EVALUATE_CLASS.getCode())) {//入参评价类型是教官评价班级
|
|
|
|
|
|
+ }
|
|
|
|
+ else if(dto.getEvaluateType() != null && dto.getEvaluateType().equals(EvaluateTypeEnum.DRILLMASTER_EVALUATE_CLASS.getCode())) {//入参评价类型是教官评价班级
|
|
newObjectList = evaluateObjectMapper.getNewObjectList(dto);
|
|
newObjectList = evaluateObjectMapper.getNewObjectList(dto);
|
|
List<EvaluateExecuterVo> newExecuterList = evaluateObjectMapper.getNewExecuterList(dto);
|
|
List<EvaluateExecuterVo> newExecuterList = evaluateObjectMapper.getNewExecuterList(dto);
|
|
|
|
|
|
@@ -262,7 +266,8 @@ public class EvaluateObjectServiceImpl extends MPJBaseServiceImpl<EvaluateObject
|
|
objectListVo.setExecuterCount(newExecuterList.size());
|
|
objectListVo.setExecuterCount(newExecuterList.size());
|
|
objectListVo.setExecuterList(newExecuterList);
|
|
objectListVo.setExecuterList(newExecuterList);
|
|
}
|
|
}
|
|
- }else if(dto.getEvaluateType() != null && dto.getEvaluateType().equals(EvaluateTypeEnum.TEACHER_EVALUATE_CLASS.getCode())) {//任课教师对班级评价
|
|
|
|
|
|
+ }
|
|
|
|
+ else if(dto.getEvaluateType() != null && dto.getEvaluateType().equals(EvaluateTypeEnum.TEACHER_EVALUATE_CLASS.getCode())) {//任课教师对班级评价
|
|
EvaluateManage manage = evaluateManageMapper.selectById(dto.getEvaluateManageId());
|
|
EvaluateManage manage = evaluateManageMapper.selectById(dto.getEvaluateManageId());
|
|
newObjectList = evaluateObjectMapper.getNewObjectList(dto);
|
|
newObjectList = evaluateObjectMapper.getNewObjectList(dto);
|
|
|
|
|
|
@@ -302,6 +307,72 @@ public class EvaluateObjectServiceImpl extends MPJBaseServiceImpl<EvaluateObject
|
|
objectListVo.setExecuterList(currentExecuterList);
|
|
objectListVo.setExecuterList(currentExecuterList);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+ else if(dto.getEvaluateType() != null && dto.getEvaluateType().equals(EvaluateTypeEnum.STUDENT_EVALUATE_COURSE_TEACHER.getCode())) {//入参评价类型是学生评价教师
|
|
|
|
+ EvaluateManage manage = evaluateManageMapper.selectById(dto.getEvaluateManageId());
|
|
|
|
+ //查询这个年级的所有学生
|
|
|
|
+ List<EvaluateExecuterVo> newExecuterList = evaluateObjectMapper.getNewExecuterList(dto);
|
|
|
|
+ //查询每个班级的任课教师
|
|
|
|
+ List<ClassTeachersListVo> classTeachers = evaluateObjectMapper.getClassTeachers(manage);
|
|
|
|
+ List<ClassTeachersListVo> collect = classTeachers.stream().filter(p -> StrUtil.isNotEmpty(p.getTeacherId())).collect(Collectors.collectingAndThen(
|
|
|
|
+ Collectors.toMap(
|
|
|
|
+ ClassTeachersListVo::getUniqueKey,
|
|
|
|
+ p -> p,
|
|
|
|
+ (existing, replacement) -> existing
|
|
|
|
+ ),
|
|
|
|
+ map -> new ArrayList<>(map.values())
|
|
|
|
+ ));
|
|
|
|
+
|
|
|
|
+ List<User> userList = userService.list(
|
|
|
|
+ new MPJLambdaWrapper<User>()
|
|
|
|
+ .select(User::getId)
|
|
|
|
+ .select(User.class, x -> VoToColumnUtil.fieldsToColumns(User.class).contains(x.getProperty()))
|
|
|
|
+ .innerJoin(BaseTeacher.class, BaseTeacher::getUserId, User::getId)
|
|
|
|
+ );
|
|
|
|
+ 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()))){
|
|
|
|
+ continue;
|
|
|
|
+ }
|
|
|
|
+ EvaluateObjectListVo objectListVo = new EvaluateObjectListVo();
|
|
|
|
+
|
|
|
|
+ List<EvaluateExecuterVo> studentList = new ArrayList<>();
|
|
|
|
+ for (EvaluateExecuterVo el : newExecuterList) {
|
|
|
|
+ if(!classTeacher.getClassId().toString().equals(el.getClassId())){
|
|
|
|
+ continue;
|
|
|
|
+ }
|
|
|
|
+ EvaluateExecuterVo evaluateExecuterVo = new EvaluateExecuterVo();
|
|
|
|
+ evaluateExecuterVo.setExecuterId(el.getExecuterId());
|
|
|
|
+ evaluateExecuterVo.setEvaluateObjectId(classTeacher.getTeacherId());
|
|
|
|
+ evaluateExecuterVo.setExecuterName(el.getExecuterName());
|
|
|
|
+ evaluateExecuterVo.setEvaluateManageId(dto.getEvaluateManageId().toString());
|
|
|
|
+ studentList.add(evaluateExecuterVo);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ List<EvaluateExecuterVo> currentExecuterList = new ArrayList<>();
|
|
|
|
+ if("random15".equals(dto.getExecuterCount()) && studentList.size() > 0){
|
|
|
|
+ List<Integer> randomList = new ArrayList<>();
|
|
|
|
+ Random random = new Random();
|
|
|
|
+ while(randomList.size() < 15){
|
|
|
|
+ int nextInt = random.nextInt(studentList.size());
|
|
|
|
+ if(!randomList.contains(nextInt) && nextInt >= 0){
|
|
|
|
+ randomList.add(nextInt);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ for (Integer i : randomList) {
|
|
|
|
+ currentExecuterList.add(studentList.get(i));
|
|
|
|
+ }
|
|
|
|
+ }else{
|
|
|
|
+ currentExecuterList.addAll(studentList);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ objectListVo.setObjectId(classTeacher.getTeacherId());
|
|
|
|
+ objectListVo.setObjectName(userMap.get(Long.parseLong(classTeacher.getTeacherId().trim())));
|
|
|
|
+ objectListVo.setExecuterCount(currentExecuterList.size());
|
|
|
|
+ objectListVo.setExecuterList(currentExecuterList);
|
|
|
|
+ newObjectList.add(objectListVo);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
|
|
return newObjectList;
|
|
return newObjectList;
|
|
}
|
|
}
|