Browse Source

1、学生评价调整
2、办事指南增加字段返回

dzx 7 months ago
parent
commit
dc30018529

+ 78 - 2
src/main/java/com/xjrsoft/module/evaluate/service/impl/EvaluateObjectServiceImpl.java

@@ -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);
 
         }
 

+ 3 - 0
src/main/java/com/xjrsoft/module/oa/dto/UpdateNewsDto.java

@@ -193,4 +193,7 @@ public class UpdateNewsDto {
     @TableField(exist = false)
     @EntityMapping(thisField = "id", joinField = "newsId")
     private List<AddNewsRelationDto> relationList;
+
+    @ApiModelProperty("办事指南显示范围")
+    private String guideShowRange;
 }

+ 6 - 0
src/main/java/com/xjrsoft/module/student/vo/BaseStudentUserPageVo.java

@@ -47,4 +47,10 @@ public class BaseStudentUserPageVo {
 
     @ApiModelProperty("班级id")
     private Long classId;
+
+    @ApiModelProperty("年级id")
+    private Long gradeId;
+
+    @ApiModelProperty("年级姓名")
+    private String gradeName;
 }

+ 3 - 0
src/main/resources/mapper/oa/NewsMapper.xml

@@ -45,6 +45,9 @@
         <if test="dto.type != null and dto.type > 0">
             and t.type_id = #{dto.type}
         </if>
+        <if test="dto.typeId != null">
+            and t.type_id = #{dto.typeId}
+        </if>
         <if test="dto.fullHead != null and dto.fullHead != ''">
             and t.full_head LIKE CONCAT('%',#{dto.fullHead},'%')
         </if>

+ 3 - 1
src/main/resources/mapper/student/BaseStudentMapper.xml

@@ -137,11 +137,13 @@
 
     <select id="getStudentList" parameterType="com.xjrsoft.module.student.dto.BaseStudentUserPageDto" resultType="com.xjrsoft.module.student.vo.BaseStudentUserPageVo">
         SELECT t1.id,t4.name AS class_name,t5.name AS teacher_name,t1.name,t1.gender AS gender_cn,t1.credential_number,
-        t1.mobile,t3.archives_status AS archives_status_cn ,t3.stduy_status AS stduy_status_cn,t3.student_type AS student_type_cn,t3.learn_status as learn_status_cn FROM xjr_user t1
+        t1.mobile,t3.archives_status AS archives_status_cn ,t3.stduy_status AS stduy_status_cn,t3.student_type AS student_type_cn,
+        t3.learn_status as learn_status_cn,t3.grade_id,t6.name as grade_name FROM xjr_user t1
         INNER JOIN base_student t2 ON t1.id = t2.user_id
         LEFT JOIN base_student_school_roll t3 ON t1.id = t3.user_id
         LEFT JOIN base_class t4 ON t4.id = t3.class_id
         LEFT JOIN xjr_user t5 ON t4.teacher_id = t5.id
+        LEFT JOIN base_grade t6 ON t3.grade_id = t6.id
         WHERE t1.delete_mark = 0 AND t2.delete_mark = 0
         and t3.archives_status = 'FB2901' and t2.is_normal = 1
         <if test="dto.classIds != null and dto.classIds.size() > 0">