|
@@ -1,6 +1,7 @@
|
|
|
package com.xjrsoft.module.attendance.controller;
|
|
package com.xjrsoft.module.attendance.controller;
|
|
|
|
|
|
|
|
import cn.dev33.satoken.annotation.SaCheckPermission;
|
|
import cn.dev33.satoken.annotation.SaCheckPermission;
|
|
|
|
|
+import cn.dev33.satoken.stp.StpUtil;
|
|
|
import cn.hutool.core.util.ObjectUtil;
|
|
import cn.hutool.core.util.ObjectUtil;
|
|
|
import cn.hutool.core.util.StrUtil;
|
|
import cn.hutool.core.util.StrUtil;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
@@ -75,11 +76,23 @@ public class StudentStatisticsController {
|
|
|
private final IBaseClassService classService;
|
|
private final IBaseClassService classService;
|
|
|
private final IHolidayDateService holidayDateService;
|
|
private final IHolidayDateService holidayDateService;
|
|
|
private final IAttendanceRuleCategoryService ruleCategoryService;
|
|
private final IAttendanceRuleCategoryService ruleCategoryService;
|
|
|
-
|
|
|
|
|
|
|
+ private final IBaseClassService baseClassService;
|
|
|
@GetMapping(value = "/class-statistics")
|
|
@GetMapping(value = "/class-statistics")
|
|
|
@ApiOperation(value="班级考勤统计")
|
|
@ApiOperation(value="班级考勤统计")
|
|
|
@SaCheckPermission("statistics:detail")
|
|
@SaCheckPermission("statistics:detail")
|
|
|
public RT<PageOutput<ClassStatisticsVo>> classStatistics(@Valid AttendanceStatisticDto dto){
|
|
public RT<PageOutput<ClassStatisticsVo>> classStatistics(@Valid AttendanceStatisticDto dto){
|
|
|
|
|
+
|
|
|
|
|
+ List<String> roleList = StpUtil.getRoleList();
|
|
|
|
|
+ long teacherId = StpUtil.getLoginIdAsLong();
|
|
|
|
|
+ List<BaseClass> classList = baseClassService.list(
|
|
|
|
|
+ new QueryWrapper<BaseClass>().lambda().eq(BaseClass::getTeacherId, teacherId)
|
|
|
|
|
+ );
|
|
|
|
|
+ if(roleList.size() == 2 && roleList.contains("CLASSTE") && roleList.contains("TEACHER")){
|
|
|
|
|
+ if(classList != null && !classList.isEmpty()){
|
|
|
|
|
+ dto.setClassId(classList.get(0).getId());
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
Page<ClassStatisticsVo> attendancePage = classService.getAttendancePage(new Page<>(dto.getLimit(), dto.getSize()), dto);
|
|
Page<ClassStatisticsVo> attendancePage = classService.getAttendancePage(new Page<>(dto.getLimit(), dto.getSize()), dto);
|
|
|
List<Long> classIds = new ArrayList<>();
|
|
List<Long> classIds = new ArrayList<>();
|
|
|
for (ClassStatisticsVo record : attendancePage.getRecords()) {
|
|
for (ClassStatisticsVo record : attendancePage.getRecords()) {
|