From a12abb1d2d96ad93e4db9305966163841c542172 Mon Sep 17 00:00:00 2001
From: huminmin <mac@MacBook-Pro.local>
Date: 星期二, 10 二月 2026 11:20:34 +0800
Subject: [PATCH] 导出考勤记录
---
src/main/java/com/ruoyi/staff/service/impl/PersonalAttendanceRecordsServiceImpl.java | 33 +++++++++++++++++++++++++++++++++
1 files changed, 33 insertions(+), 0 deletions(-)
diff --git a/src/main/java/com/ruoyi/staff/service/impl/PersonalAttendanceRecordsServiceImpl.java b/src/main/java/com/ruoyi/staff/service/impl/PersonalAttendanceRecordsServiceImpl.java
index 241c202..5e0b5df 100644
--- a/src/main/java/com/ruoyi/staff/service/impl/PersonalAttendanceRecordsServiceImpl.java
+++ b/src/main/java/com/ruoyi/staff/service/impl/PersonalAttendanceRecordsServiceImpl.java
@@ -3,12 +3,15 @@
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.common.exception.ServiceException;
import com.ruoyi.common.exception.base.BaseException;
import com.ruoyi.common.utils.SecurityUtils;
+import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.project.system.domain.SysDept;
import com.ruoyi.project.system.mapper.SysDeptMapper;
import com.ruoyi.project.system.service.ISysDictDataService;
import com.ruoyi.staff.dto.PersonalAttendanceRecordsDto;
+import com.ruoyi.staff.dto.StaffOnJobDto;
import com.ruoyi.staff.mapper.StaffOnJobMapper;
import com.ruoyi.staff.pojo.PersonalAttendanceRecords;
import com.ruoyi.staff.mapper.PersonalAttendanceRecordsMapper;
@@ -20,11 +23,13 @@
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
+import javax.servlet.http.HttpServletResponse;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
+import java.util.List;
/**
* <p>
@@ -154,6 +159,17 @@
@Override
public IPage<PersonalAttendanceRecordsDto> listPage(Page page, PersonalAttendanceRecordsDto personalAttendanceRecordsDto) {
+ boolean admin = SecurityUtils.isAdmin(SecurityUtils.getUserId());
+ if (!admin) {
+ QueryWrapper<StaffOnJob> staffQueryWrapper = new QueryWrapper<>();
+ staffQueryWrapper.eq("staff_no", SecurityUtils.getUsername());
+ StaffOnJob staffOnJob = staffOnJobMapper.selectOne(staffQueryWrapper);
+ if (staffOnJob == null) {
+ return new Page<>(page.getCurrent(), page.getSize(), 0);
+ }
+ personalAttendanceRecordsDto.setStaffOnJobId(staffOnJob.getId());
+ }
+
return personalAttendanceRecordsMapper.listPage(page,personalAttendanceRecordsDto);
}
@@ -194,4 +210,21 @@
return resultDto;
}
+
+ @Override
+ public void export(HttpServletResponse response, PersonalAttendanceRecordsDto personalAttendanceRecordsDto) {
+ boolean admin = SecurityUtils.isAdmin(SecurityUtils.getUserId());
+ if (!admin) {
+ QueryWrapper<StaffOnJob> staffQueryWrapper = new QueryWrapper<>();
+ staffQueryWrapper.eq("staff_no", SecurityUtils.getUsername());
+ StaffOnJob staffOnJob = staffOnJobMapper.selectOne(staffQueryWrapper);
+ if (staffOnJob == null) {
+ throw new ServiceException("娌℃湁鍛樺伐淇℃伅锛屾棤娉曞鍑鸿�冨嫟璁板綍");
+ }
+ personalAttendanceRecordsDto.setStaffOnJobId(staffOnJob.getId());
+ }
+ List<PersonalAttendanceRecordsDto> personalAttendanceRecords = personalAttendanceRecordsMapper.listPage(new Page<>(1, Integer.MAX_VALUE), personalAttendanceRecordsDto).getRecords();
+ ExcelUtil<PersonalAttendanceRecordsDto> util = new ExcelUtil<PersonalAttendanceRecordsDto>(PersonalAttendanceRecordsDto.class);
+ util.exportExcel(response, personalAttendanceRecords, "鑰冨嫟璁板綍瀵煎嚭");
+ }
}
--
Gitblit v1.9.3