From 25ca0715b47090fc79527910cbb4cf7ea9b3e1f2 Mon Sep 17 00:00:00 2001
From: zouyu <2723363702@qq.com>
Date: 星期四, 07 五月 2026 17:07:36 +0800
Subject: [PATCH] 人员考勤:导出日期选择调整&不合格处理展示供应商编码字段
---
inspect-server/src/main/java/com/ruoyi/inspect/aspect/PushIfsPartPropsRecordAspect.java | 6 +++---
performance-server/src/main/java/com/ruoyi/performance/dto/StaffAttendanceDTO.java | 7 +++++++
performance-server/src/main/java/com/ruoyi/performance/service/impl/StaffAttendanceTrackingRecordServiceImpl.java | 33 +++++++++++++++++++++++++++++----
3 files changed, 39 insertions(+), 7 deletions(-)
diff --git a/inspect-server/src/main/java/com/ruoyi/inspect/aspect/PushIfsPartPropsRecordAspect.java b/inspect-server/src/main/java/com/ruoyi/inspect/aspect/PushIfsPartPropsRecordAspect.java
index f64b80d..e6bb1db 100644
--- a/inspect-server/src/main/java/com/ruoyi/inspect/aspect/PushIfsPartPropsRecordAspect.java
+++ b/inspect-server/src/main/java/com/ruoyi/inspect/aspect/PushIfsPartPropsRecordAspect.java
@@ -91,10 +91,10 @@
throw new RuntimeException("搴撳瓨鐗╂枡鎵规灞炴�ф洿鏂板け璐ワ細"+result.getMessage());
}
log.info("KJNS鍩熷璐鍗曞厤妫�鍚屾搴撳瓨鐗╂枡鎵规灞炴�у埌IFS->{}", result);
+ oneByContract.setId(null);
+ oneByContract.setIfsInventoryId(ifsInventoryId);
+ ifsPartPropsRecordService.save(oneByContract);
}
- oneByContract.setId(null);
- oneByContract.setIfsInventoryId(ifsInventoryId);
- ifsPartPropsRecordService.save(oneByContract);
}
}
}
diff --git a/performance-server/src/main/java/com/ruoyi/performance/dto/StaffAttendanceDTO.java b/performance-server/src/main/java/com/ruoyi/performance/dto/StaffAttendanceDTO.java
index a3b94bb..55df572 100644
--- a/performance-server/src/main/java/com/ruoyi/performance/dto/StaffAttendanceDTO.java
+++ b/performance-server/src/main/java/com/ruoyi/performance/dto/StaffAttendanceDTO.java
@@ -13,6 +13,13 @@
@Data
public class StaffAttendanceDTO extends StaffAttendanceTrackingRecord {
+
+ /**
+ * 瀵煎嚭鏃ユ湡
+ */
+ @ApiModelProperty("瀵煎嚭鏃ユ湡")
+ private String reportDate;
+
/**
* 寮�濮嬫椂闂�
*/
diff --git a/performance-server/src/main/java/com/ruoyi/performance/service/impl/StaffAttendanceTrackingRecordServiceImpl.java b/performance-server/src/main/java/com/ruoyi/performance/service/impl/StaffAttendanceTrackingRecordServiceImpl.java
index 92d39a8..e220e51 100644
--- a/performance-server/src/main/java/com/ruoyi/performance/service/impl/StaffAttendanceTrackingRecordServiceImpl.java
+++ b/performance-server/src/main/java/com/ruoyi/performance/service/impl/StaffAttendanceTrackingRecordServiceImpl.java
@@ -50,10 +50,7 @@
import java.math.RoundingMode;
import java.net.URLEncoder;
import java.nio.charset.StandardCharsets;
-import java.time.LocalDate;
-import java.time.LocalDateTime;
-import java.time.LocalTime;
-import java.time.ZoneId;
+import java.time.*;
import java.time.format.DateTimeFormatter;
import java.util.*;
import java.util.concurrent.atomic.AtomicInteger;
@@ -412,10 +409,37 @@
return this.saveOrUpdateBatch(records);
}
+ /**
+ * 鏍规嵁瀵煎嚭鏃ユ湡鏍煎紡鍖栧鍑烘椂闂磋寖鍥�
+ * @param staffAttendanceDTO
+ */
+ private static void formatExportDateRange(StaffAttendanceDTO staffAttendanceDTO){
+ if(StringUtils.isNoneBlank(staffAttendanceDTO.getReportDate())){
+ LocalTime startTime = LocalTime.of(0,0,0);
+ LocalTime endTime = LocalTime.of(23,59,59);
+ YearMonth yearMonth;
+ if(StringUtils.equals(staffAttendanceDTO.getAttendanceReportType(),CalendarType.MONTH.name())){
+ yearMonth = YearMonth.parse(staffAttendanceDTO.getReportDate(),DateTimeFormatter.ofPattern("yyyy-MM"));
+ LocalDateTime startDateTime = LocalDateTime.of(yearMonth.minusMonths(1L).atDay(26),startTime);
+ LocalDateTime endDateTime = LocalDateTime.of(yearMonth.atDay(25),endTime);
+ staffAttendanceDTO.setStartDate(startDateTime);
+ staffAttendanceDTO.setEndDate(endDateTime);
+ }else if(StringUtils.equals(staffAttendanceDTO.getAttendanceReportType(),CalendarType.YEAR.name())){
+ Year year = Year.parse(staffAttendanceDTO.getReportDate(),DateTimeFormatter.ofPattern("yyyy"));
+ yearMonth = year.atMonth(1);
+ LocalDateTime startDateTime = LocalDateTime.of(yearMonth.minusMonths(1L).atDay(26),startTime);
+ LocalDateTime endDateTime = LocalDateTime.of(yearMonth.withMonth(12).atDay(25),endTime);
+ staffAttendanceDTO.setStartDate(startDateTime);
+ staffAttendanceDTO.setEndDate(endDateTime);
+ }
+ }
+ }
+
@Override
public void exportStaffAttendanceRecords(HttpServletResponse response, StaffAttendanceDTO staffAttendanceDTO) {
response.reset();
try{
+ formatExportDateRange(staffAttendanceDTO);
//鏌ヨ浜哄憳鏋舵瀯
List<User> userList = userMapper.selectUserListByPerformance(false);
List<Integer> userIdList = userList.stream().map(User::getId).collect(Collectors.toList());
@@ -423,6 +447,7 @@
//鎵规敞淇℃伅鍧愭爣淇℃伅
List<StaffAttendanceAnnotationTextExcelData> annotationTextList = new ArrayList<>();
// 鏌ヨ鐝
+
List<PerformanceShiftMapDto> performanceShifts = performanceShiftMapper.selectListByWorkTime(
staffAttendanceDTO.getStartDate(), staffAttendanceDTO.getEndDate(), staffAttendanceDTO.getKeyword());
//鑾峰彇鑰冨嫟鏁版嵁
--
Gitblit v1.9.3