Joburgess 4 年之前
父节点
当前提交
e5918e73e2

+ 11 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/TeacherClassCourseSchudeleDto.java

@@ -60,6 +60,17 @@ public class TeacherClassCourseSchudeleDto {
 
     private TeachModeEnum teachMode;
 
+    @ApiModelProperty(value = "能否进行调整")
+    private int enableAdjustInToday;
+
+    public int getEnableAdjustInToday() {
+        return enableAdjustInToday;
+    }
+
+    public void setEnableAdjustInToday(int enableAdjustInToday) {
+        this.enableAdjustInToday = enableAdjustInToday;
+    }
+
     public TeachModeEnum getTeachMode() {
         return teachMode;
     }

+ 3 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/CourseScheduleService.java

@@ -335,6 +335,9 @@ public interface CourseScheduleService extends BaseService<Long, CourseSchedule>
 	 */
 	PageInfo queryTeacherClassCourseSchedule(CourseScheduleQueryInfo queryInfo);
 
+
+	PageInfo queryTeacherVipClassCourseSchedule(CourseScheduleQueryInfo queryInfo);
+
 	/**
 	 * @describe 获取点名详情界面头部信息
 	 * @author Joburgess

+ 63 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseScheduleServiceImpl.java

@@ -3466,7 +3466,69 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
         return pageInfo;
     }
 
-    @Override
+	@Override
+	public PageInfo queryTeacherVipClassCourseSchedule(CourseScheduleQueryInfo queryInfo) {
+		SysUser user = sysUserFeignService.queryUserInfo();
+		if (null == user) {
+			throw new BizException("请登录");
+		}
+		if(!queryInfo.getFindTotal()){
+			queryInfo.setUserId(user.getId().longValue());
+		}
+		PageInfo pageInfo = new PageInfo<>(queryInfo.getPage(), queryInfo.getRows());
+
+		if (Objects.isNull(queryInfo.getDate())) {
+			queryInfo.setDate(new Date());
+		}
+
+		Map<String, Object> params = new HashMap<>();
+		MapUtil.populateMap(params, queryInfo);
+
+		List<TeacherClassCourseSchudeleDto> dataList = null;
+		int count = 0;
+		if (Objects.isNull(queryInfo.getOnlyHistory()) || queryInfo.getOnlyHistory() == 0) {
+			count = courseScheduleDao.countTeacherClassCourseSchedule(params);
+		} else {
+			count = courseScheduleDao.countTeacherHistoryClassCourseSchedule(params);
+		}
+		if (count > 0) {
+			pageInfo.setTotal(count);
+			params.put("offset", pageInfo.getOffset());
+			if (Objects.isNull(queryInfo.getOnlyHistory()) || queryInfo.getOnlyHistory() == 0) {
+				dataList = courseScheduleDao.queryTeacherClassCourseSchedule(params);
+			} else {
+				dataList = courseScheduleDao.queryTeacherHistoryClassCourseSchedule(params);
+			}
+
+			List<Integer> classGroupIds = dataList.stream().map(e->e.getClassGroupId().intValue()).collect(Collectors.toList());
+			List<Map<Integer, Integer>> classGroupStudentNumMaps = classGroupStudentMapperDao.countClassGroupsStudentNum(classGroupIds, ClassGroupStudentStatusEnum.NORMAL);
+			Map<Integer, Long> classGroupStudentNumMap = MapUtil.convertIntegerMap(classGroupStudentNumMaps);
+
+			List<Long> allCourseScheduleIds = dataList.stream().map(TeacherClassCourseSchudeleDto::getCourseScheduleId).collect(Collectors.toList());
+			SysConfig advanceLeaveHoursConfig = sysConfigService.findByParamName(SysConfigService.ADVANCE_LEAVE_HOURS);
+			Integer advanceLeaveHours=advanceLeaveHoursConfig.getParanValue(Integer.class);
+			List<Map<Long, Integer>> courseLeaveStudentNumMaps = studentAttendanceDao.countCourseLeaveStudentNumWithFourHoursAgo(allCourseScheduleIds, advanceLeaveHours);
+			Map<Long,Long> courseLeaveStudentNumMap = MapUtil.convertIntegerMap((courseLeaveStudentNumMaps));
+
+			dataList.forEach(e -> {
+				e.setCurrentClassTimes(courseScheduleDao.countCurrentTimes(e.getClassGroupId().intValue(),new Date()));
+				e.setTotalClassTimes(courseScheduleDao.countCurrentCourseTime(e.getCourseScheduleId()));
+
+				Long leaveStudentNum = courseLeaveStudentNumMap.get(e.getCourseScheduleId());
+				Long normalStudentNum = classGroupStudentNumMap.get(e.getClassGroupId());
+				if(Objects.nonNull(leaveStudentNum)&&Objects.nonNull(normalStudentNum)&&leaveStudentNum.intValue()==normalStudentNum.intValue()){
+					e.setEnableAdjustInToday(1);
+				}
+			});
+		}
+		if (count == 0) {
+			dataList = new ArrayList<>();
+		}
+		pageInfo.setRows(dataList);
+		return pageInfo;
+	}
+
+	@Override
     public CourseAttendanceDetailHeadInfoDto findCourseAttendanceDetailHeadInfo(Long courseScheduleId) {
         if (Objects.isNull(courseScheduleId)) {
             throw new BizException("请指定课程");

+ 9 - 0
mec-teacher/src/main/java/com/ym/mec/teacher/controller/TeacherCourseScheduleController.java

@@ -141,6 +141,15 @@ public class TeacherCourseScheduleController extends BaseController {
         return succeed(scheduleService.queryTeacherClassCourseSchedule(queryInfo));
     }
 
+    @ApiOperation(value = "获取老师指定班级的排课")
+    @GetMapping("/queryTeacherVipClassCourseSchedule")
+    public Object queryTeacherVipClassCourseSchedule(CourseScheduleQueryInfo queryInfo){
+        Map<String,Object> result = new HashMap<>();
+        result.put("rows",scheduleService.queryTeacherVipClassCourseSchedule(queryInfo));
+        result.put("appealHoursRange",4);
+        return succeed(result);
+    }
+
     @ApiOperation(value = "获取点名详情头部信息")
     @GetMapping("/findCourseAttendanceDetailHeadInfo")
     public Object findCourseAttendanceDetailHeadInfo(Long courseScheduleId){