|
|
@@ -1,6 +1,7 @@
|
|
|
package com.xjrsoft.module.attendance.controller;
|
|
|
|
|
|
import cn.dev33.satoken.annotation.SaCheckPermission;
|
|
|
+import cn.hutool.core.util.StrUtil;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
import com.github.yulichang.wrapper.MPJLambdaWrapper;
|
|
|
@@ -8,8 +9,11 @@ import com.xjrsoft.common.model.result.RT;
|
|
|
import com.xjrsoft.common.page.ConventPage;
|
|
|
import com.xjrsoft.common.page.PageOutput;
|
|
|
import com.xjrsoft.module.attendance.dto.AttendanceStatisticDto;
|
|
|
+import com.xjrsoft.module.attendance.dto.TeacherDetailsDto;
|
|
|
import com.xjrsoft.module.attendance.vo.TeacherStatisticsPageVo;
|
|
|
+import com.xjrsoft.module.organization.entity.Department;
|
|
|
import com.xjrsoft.module.organization.entity.User;
|
|
|
+import com.xjrsoft.module.organization.entity.UserDeptRelation;
|
|
|
import com.xjrsoft.module.organization.service.IUserService;
|
|
|
import com.xjrsoft.module.outint.entity.TeacherOutInRecord;
|
|
|
import com.xjrsoft.module.outint.service.ITeacherOutInRecordService;
|
|
|
@@ -52,13 +56,17 @@ public class TeacherStatisticsController {
|
|
|
@GetMapping(value = "/teacher-details")
|
|
|
@ApiOperation(value="教师考勤")
|
|
|
@SaCheckPermission("statistics:detail")
|
|
|
- public RT<PageOutput<TeacherStatisticsPageVo>> teacherDetails(@Valid AttendanceStatisticDto dto){
|
|
|
+ public RT<PageOutput<TeacherStatisticsPageVo>> teacherDetails(@Valid TeacherDetailsDto dto){
|
|
|
MPJLambdaWrapper<User> queryUser = new MPJLambdaWrapper<>();
|
|
|
queryUser.disableSubLogicDel().distinct()
|
|
|
+ .like(StrUtil.isNotEmpty(dto.getName()), User::getName, dto.getName())
|
|
|
.selectAs(User::getName, TeacherStatisticsPageVo::getTeacherName)
|
|
|
.selectAs(User::getId, TeacherStatisticsPageVo::getUserId)
|
|
|
.selectAs(User::getMobile, TeacherStatisticsPageVo::getMobile)
|
|
|
- .innerJoin(BaseTeacher.class, BaseTeacher::getUserId, User::getId);
|
|
|
+ .selectAs(Department::getName, TeacherStatisticsPageVo::getDeptName)
|
|
|
+ .innerJoin(BaseTeacher.class, BaseTeacher::getUserId, User::getId)
|
|
|
+ .leftJoin(UserDeptRelation.class, UserDeptRelation::getUserId, User::getId)
|
|
|
+ .leftJoin(Department.class, Department::getId, UserDeptRelation::getDeptId);
|
|
|
IPage<TeacherStatisticsPageVo> voIPage = xjrUserService.selectJoinListPage(ConventPage.getPage(dto), TeacherStatisticsPageVo.class, queryUser);
|
|
|
|
|
|
if(dto.getDate() != null && !"".equals(dto.getDate())){
|
|
|
@@ -99,7 +107,12 @@ public class TeacherStatisticsController {
|
|
|
record.setStatus(studentLeave.getLeaveType());
|
|
|
}else{
|
|
|
TeacherOutInRecord outInRecord = outInMap.get(record.getUserId());
|
|
|
- record.setStatus(outInRecord.getAttendanceStatus());
|
|
|
+ if(outInRecord != null){
|
|
|
+ record.setStatus(outInRecord.getAttendanceStatus());
|
|
|
+ }else{
|
|
|
+ record.setStatus("缺勤");
|
|
|
+ }
|
|
|
+
|
|
|
}
|
|
|
}
|
|
|
}
|