Переглянути джерело

课表列表学员列表新增当月请假次数

zouxuan 4 роки тому
батько
коміт
c87b31fd7b

+ 11 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/StudentAttendance.java

@@ -95,6 +95,17 @@ public class StudentAttendance {
 	@ApiModelProperty(value = "是否首次请假")
 	private YesOrNoEnum firstLeave = YesOrNoEnum.NO;
 
+	@ApiModelProperty(value = "当月请假次数")
+	private Long leaveNum;
+
+	public Long getLeaveNum() {
+		return leaveNum;
+	}
+
+	public void setLeaveNum(Long leaveNum) {
+		this.leaveNum = leaveNum;
+	}
+
 	public YesOrNoEnum getFirstLeave() {
 		return firstLeave;
 	}

+ 14 - 15
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentAttendanceServiceImpl.java

@@ -10,6 +10,7 @@ import java.util.Objects;
 import java.util.Set;
 import java.util.stream.Collectors;
 
+import com.ym.mec.biz.dal.dto.*;
 import org.apache.commons.lang3.StringUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -35,14 +36,6 @@ import com.ym.mec.biz.dal.dao.StudentAttendanceDao;
 import com.ym.mec.biz.dal.dao.StudentDao;
 import com.ym.mec.biz.dal.dao.SysConfigDao;
 import com.ym.mec.biz.dal.dao.TeacherAttendanceDao;
-import com.ym.mec.biz.dal.dto.CourseScheduleResponse;
-import com.ym.mec.biz.dal.dto.ExportStudentAttendanceDto;
-import com.ym.mec.biz.dal.dto.StudentAttendanceDto;
-import com.ym.mec.biz.dal.dto.StudentAttendanceResponse;
-import com.ym.mec.biz.dal.dto.StudentAttendanceStatisticsResponse;
-import com.ym.mec.biz.dal.dto.StudentAttendanceStatusCountDto;
-import com.ym.mec.biz.dal.dto.StudentPersonalAttendanceDto;
-import com.ym.mec.biz.dal.dto.StudentStatusCountUtilEntity;
 import com.ym.mec.biz.dal.entity.ClassGroup;
 import com.ym.mec.biz.dal.entity.ClassGroupStudentMapper;
 import com.ym.mec.biz.dal.entity.CourseSchedule;
@@ -691,13 +684,19 @@ public class StudentAttendanceServiceImpl extends BaseServiceImpl<Long, StudentA
             if (dataList == null) {
                 dataList = new ArrayList<>();
             }
-            
-            for(StudentAttendance sa : dataList){
-            	if(sa.getGroupType() == GroupType.MUSIC){
-            		Set<Integer> userId = new HashSet<Integer>();
-            		userId.add(sa.getUserId());
-            		Map<Integer,String> paymentStatusMap = MapUtil.convertIntegerMap(musicGroupPaymentCalenderDao.queryUserCoursePaymentStatus(userId,sa.getMusicGroupId()));
-            		sa.setPaymentStatus(paymentStatusMap.get(sa.getUserId()));
+            if(dataList.size() > 0){
+                Set<Integer> userIds = dataList.stream().map(StudentAttendance::getUserId).collect(Collectors.toSet());
+                //获取学员当月请假次数
+                String month = DateUtil.format(new Date(), DateUtil.ISO_YEAR_MONTH_FORMAT);
+                Map<Integer, Long> leaveNumMap = MapUtil.convertIntegerMap(studentAttendanceDao.queryLeaveNum(userIds,month));
+                for(StudentAttendance sa : dataList){
+                    sa.setLeaveNum(leaveNumMap.get(sa.getUserId()));
+                    if(sa.getGroupType() == GroupType.MUSIC){
+                        Set<Integer> userId = new HashSet<Integer>();
+                        userId.add(sa.getUserId());
+                        Map<Integer,String> paymentStatusMap = MapUtil.convertIntegerMap(musicGroupPaymentCalenderDao.queryUserCoursePaymentStatus(userId,sa.getMusicGroupId()));
+                        sa.setPaymentStatus(paymentStatusMap.get(sa.getUserId()));
+                    }
                 }
             }
         }