Ver código fonte

评价调整

dzx 4 meses atrás
pai
commit
6590f2df93

+ 7 - 0
src/main/java/com/xjrsoft/module/evaluate/dto/EvaluateObjectListDto.java

@@ -4,6 +4,7 @@ import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
 import java.io.Serializable;
+import java.util.Date;
 
 
 /**
@@ -36,4 +37,10 @@ public class EvaluateObjectListDto implements Serializable {
     @ApiModelProperty("评价类型")
     private String evaluateType;
 
+    @ApiModelProperty("开始时间")
+    private Date startTime;
+
+    @ApiModelProperty("结束时间")
+    private Date endTime;
+
 }

+ 1 - 1
src/main/java/com/xjrsoft/module/evaluate/mapper/EvaluateObjectMapper.java

@@ -38,7 +38,7 @@ public interface EvaluateObjectMapper extends MPJBaseMapper<EvaluateObject> {
 
     Boolean objectGradeDeleteObject(@Param("dto") ObjectGradeDeleteDto dto);
 
-    List<ClassTeachersListVo> getClassTeachers(@Param("dto") EvaluateManage dto);
+    List<ClassTeachersListVo> getClassTeachers(@Param("dto") EvaluateObjectListDto dto);
 
 
 }

+ 6 - 1
src/main/java/com/xjrsoft/module/evaluate/service/impl/EvaluateObjectServiceImpl.java

@@ -313,7 +313,9 @@ public class EvaluateObjectServiceImpl extends MPJBaseServiceImpl<EvaluateObject
             Map<String, List<EvaluateExecuterVo>> classExcuterMap = newExecuterList.stream().collect(Collectors.groupingBy(EvaluateExecuterVo::getClassId));
 
             //查询每个班级的任课教师
-            List<ClassTeachersListVo> classTeachers = evaluateObjectMapper.getClassTeachers(manage);
+            dto.setStartTime(manage.getStartTime());
+            dto.setEndTime(manage.getEndTime());
+            List<ClassTeachersListVo> classTeachers = evaluateObjectMapper.getClassTeachers(dto);
             List<ClassTeachersListVo> collect = classTeachers.stream().filter(p -> StrUtil.isNotEmpty(p.getTeacherId())).collect(Collectors.collectingAndThen(
                     Collectors.toMap(
                             ClassTeachersListVo::getUniqueKey,
@@ -336,6 +338,9 @@ public class EvaluateObjectServiceImpl extends MPJBaseServiceImpl<EvaluateObject
                 if(!userMap.containsKey(Long.parseLong(teacherId.trim()))){
                     continue;
                 }
+                if("15331003902918".equals(teacherId)){
+                    System.out.println(teacherId);
+                }
                 EvaluateObjectListVo objectListVo = new EvaluateObjectListVo();
 
                 Set<Long> classIds = classTeacherMap.get(teacherId).stream().map(ClassTeachersListVo::getClassId).collect(Collectors.toSet());

+ 9 - 7
src/main/resources/mapper/evaluate/EvaluateObjectMapper.xml

@@ -130,13 +130,15 @@
         where t.base_grade_id = #{dto.gradeId} and t.evaluate_manage_id = #{dto.evaluateManageId};
     </delete>
 
-    <select id="getClassTeachers" parameterType="com.xjrsoft.module.evaluate.entity.EvaluateManage" resultType="com.xjrsoft.module.evaluate.vo.ClassTeachersListVo">
-        SELECT DISTINCT class_id, SUBSTRING_INDEX(teacher_id,',',1) AS teacher_id FROM course_table
-        WHERE schedule_date BETWEEN DATE_FORMAT(#{dto.startTime}, '%Y-%m-%d') AND DATE_FORMAT(#{dto.endTime}, '%Y-%m-%d')
-        AND teacher_id != '0'
+    <select id="getClassTeachers" parameterType="com.xjrsoft.module.evaluate.dto.EvaluateObjectListDto" resultType="com.xjrsoft.module.evaluate.vo.ClassTeachersListVo">
+        SELECT DISTINCT t1.class_id, SUBSTRING_INDEX(t1.teacher_id,',',1) AS teacher_id FROM course_table t1
+        inner join base_class t2 on t1.class_id = t2.id
+        WHERE t1.schedule_date BETWEEN DATE_FORMAT(#{dto.startTime}, '%Y-%m-%d') AND DATE_FORMAT(#{dto.endTime}, '%Y-%m-%d')
+        AND t1.teacher_id != '0' and t2.grade_id = #{dto.gradeId}
         UNION ALL
-        SELECT DISTINCT class_id, SUBSTRING_INDEX(teacher_id,',',-1) AS teacher_id FROM course_table
-        WHERE schedule_date BETWEEN DATE_FORMAT(#{dto.startTime}, '%Y-%m-%d') AND DATE_FORMAT(#{dto.endTime}, '%Y-%m-%d')
-        AND teacher_id != '0'
+        SELECT DISTINCT t1.class_id, SUBSTRING_INDEX(t1.teacher_id,',',-1) AS teacher_id FROM course_table t1
+        inner join base_class t2 on t1.class_id = t2.id
+        WHERE t1.schedule_date BETWEEN DATE_FORMAT(#{dto.startTime}, '%Y-%m-%d') AND DATE_FORMAT(#{dto.endTime}, '%Y-%m-%d')
+        AND t1.teacher_id != '0' and t2.grade_id = #{dto.gradeId}
     </select>
 </mapper>