Browse Source

导出加入是否回复作业

周箭河 5 years ago
parent
commit
0bd207328f

+ 10 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/CourseScheduleEvaluate.java

@@ -72,6 +72,8 @@ public class CourseScheduleEvaluate {
     @ApiModelProperty(value = "状态 1-已提交 0-未提交")
     private Integer status;
 
+    private Integer subjectId;
+
     public String getStudentIdList() {
         return studentIdList;
     }
@@ -273,4 +275,12 @@ public class CourseScheduleEvaluate {
     public void setUpdateTime(Date updateTime) {
         this.updateTime = updateTime;
     }
+
+    public Integer getSubjectId() {
+        return subjectId;
+    }
+
+    public void setSubjectId(Integer subjectId) {
+        this.subjectId = subjectId;
+    }
 }

+ 19 - 7
mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseScheduleEvaluateServiceImpl.java

@@ -7,6 +7,7 @@ import com.ym.mec.biz.dal.dto.BasicUserDto;
 import com.ym.mec.biz.dal.entity.ClassGroup;
 import com.ym.mec.biz.dal.entity.CourseScheduleEvaluate;
 import com.ym.mec.biz.dal.entity.PracticeGroup;
+import com.ym.mec.biz.dal.entity.Subject;
 import com.ym.mec.biz.dal.enums.MessageTypeEnum;
 import com.ym.mec.biz.service.CourseScheduleEvaluateService;
 import com.ym.mec.biz.service.SysConfigService;
@@ -43,6 +44,8 @@ public class CourseScheduleEvaluateServiceImpl extends BaseServiceImpl<Long, Cou
     private SysMessageService sysMessageService;
     @Autowired
     private SysConfigDao sysConfigDao;
+    @Autowired
+    private SubjectDao subjectDao;
 
     @Override
     public BaseDAO<Long, CourseScheduleEvaluate> getDAO() {
@@ -68,7 +71,7 @@ public class CourseScheduleEvaluateServiceImpl extends BaseServiceImpl<Long, Cou
             Integer classGroupCourseTimes = courseScheduleEvaluateDao.getClassGroupCourseTimes(classGroup.getId());
             Date date = new Date();
             courseScheduleEvaluate.setTimes(classGroupCourseTimes);
-            courseScheduleEvaluate.setTotalMinutes(classGroupCourseTimes*25);
+            courseScheduleEvaluate.setTotalMinutes(classGroupCourseTimes * 25);
             courseScheduleEvaluate.setMusicGroupId(classGroup.getMusicGroupId());
             courseScheduleEvaluate.setCreateTime(date);
             courseScheduleEvaluate.setUpdateTime(date);
@@ -132,10 +135,11 @@ public class CourseScheduleEvaluateServiceImpl extends BaseServiceImpl<Long, Cou
         Date afterDate = DateUtil.addDays(DateUtil.getLastSecondWithDay(nowDate), 5);
         boolean afterDateIsLastDay = DateUtil.isSameDay(DateUtil.getLastDayOfMonth(startDate), afterDate);
 
-        List<CourseScheduleEvaluate> needPostReportPracticeGroups = practiceGroupDao.getNeedPostReportPracticeGroups(startDate, afterDate,afterDateIsLastDay);
+        List<CourseScheduleEvaluate> needPostReportPracticeGroups = practiceGroupDao.getNeedPostReportPracticeGroups(startDate, afterDate, afterDateIsLastDay);
 
         Map<Integer, Integer> courseTimesMap = new HashMap<>();
         Map<Integer, Integer> reportCountMap = new HashMap<>();
+        Map<Integer, String> subjectMap = new HashMap<>();
         if (needPostReportPracticeGroups.size() > 0) {
             Date courseStartDate = DateUtil.addMonths(startDate, -1);
             List<Integer> classGroupIds = needPostReportPracticeGroups.stream().map(CourseScheduleEvaluate::getClassGroupId).collect(Collectors.toList());
@@ -143,15 +147,23 @@ public class CourseScheduleEvaluateServiceImpl extends BaseServiceImpl<Long, Cou
             courseTimesMap = reportCourseTimes.stream().collect(Collectors.toMap(ClassGroup::getId, ClassGroup::getTotalClassTimes));
 
             List<CourseScheduleEvaluate> courseScheduleEvaluates = courseScheduleEvaluateDao.hasReportList(classGroupIds, startDate);
-            if(courseScheduleEvaluates.size() > 0){
-                reportCountMap = courseScheduleEvaluates.stream().collect(Collectors.toMap(CourseScheduleEvaluate::getClassGroupId,CourseScheduleEvaluate::getTimes));
+            if (courseScheduleEvaluates.size() > 0) {
+                reportCountMap = courseScheduleEvaluates.stream().collect(Collectors.toMap(CourseScheduleEvaluate::getClassGroupId, CourseScheduleEvaluate::getTimes));
             }
+            List<Integer> subjectIds = needPostReportPracticeGroups.stream().map(CourseScheduleEvaluate::getSubjectId).collect(Collectors.toList());
+            List<Subject> subjects = subjectDao.findBySubjectIds(subjectIds);
+            subjectMap = subjects.stream().collect(Collectors.toMap(Subject::getId, Subject::getName));
         }
         Iterator<CourseScheduleEvaluate> iterator = needPostReportPracticeGroups.iterator();
-        while (iterator.hasNext()){
+        while (iterator.hasNext()) {
             CourseScheduleEvaluate courseScheduleEvaluate = iterator.next();
-            if(reportCountMap.containsKey(courseScheduleEvaluate.getClassGroupId()) &&
-                    reportCountMap.get(courseScheduleEvaluate.getClassGroupId()) > 0){
+            if (subjectMap.get(courseScheduleEvaluate.getSubjectId()).contains("钢琴")) {
+                iterator.remove();
+                continue;
+            }
+
+            if (reportCountMap.containsKey(courseScheduleEvaluate.getClassGroupId()) &&
+                    reportCountMap.get(courseScheduleEvaluate.getClassGroupId()) > 0) {
                 iterator.remove();
                 continue;
             }

+ 1 - 0
mec-biz/src/main/resources/config/mybatis/CourseScheduleEvaluateMapper.xml

@@ -12,6 +12,7 @@
         <result column="create_time_" jdbcType="TIMESTAMP" property="createTime"/>
         <result column="update_time" jdbcType="TIMESTAMP" property="updateTime"/>
         <result column="student_id_" jdbcType="INTEGER" property="studentId"/>
+        <result column="subject_id_" jdbcType="INTEGER" property="subjectId"/>
         <result column="subject_name_" jdbcType="VARCHAR" property="subjectName"/>
         <result column="is_pushed_" jdbcType="INTEGER" property="isPushed"/>
         <result column="month_" jdbcType="VARCHAR" property="month"/>

+ 2 - 1
mec-biz/src/main/resources/config/mybatis/PracticeGroupMapper.xml

@@ -343,7 +343,8 @@
         SELECT pg.id_                   music_group_id_,
                pg.user_id_              teacher_id_,
                cg.id_                   class_group_id_,
-               pg.single_class_minutes_ total_minutes_
+               pg.single_class_minutes_ total_minutes_,
+               pg.subject_id_
         FROM practice_group pg
                  LEFT JOIN class_group cg on pg.id_ = cg.music_group_id_ AND cg.group_type_ = 'PRACTICE'
          WHERE pg.group_status_ = 'NORMAL' AND cg.group_type_ = 'PRACTICE'