From 24e9b2a1bd777686e172da854909f6ef965ea44c Mon Sep 17 00:00:00 2001
From: Your Name <you@example.com>
Date: 星期日, 26 二月 2023 00:21:34 +0800
Subject: [PATCH] 优化考勤代码

---
 service-job/src/main/java/com/java110/job/export/adapt/MonthAttendanceAdapt.java |   21 ++++++++++++++++-----
 1 files changed, 16 insertions(+), 5 deletions(-)

diff --git a/service-job/src/main/java/com/java110/job/export/adapt/MonthAttendanceAdapt.java b/service-job/src/main/java/com/java110/job/export/adapt/MonthAttendanceAdapt.java
index 526aaa8..cedcdb4 100644
--- a/service-job/src/main/java/com/java110/job/export/adapt/MonthAttendanceAdapt.java
+++ b/service-job/src/main/java/com/java110/job/export/adapt/MonthAttendanceAdapt.java
@@ -81,17 +81,22 @@
             List<AttendanceClassesTaskDto> attendanceClassesTaskDtos = reportAttendanceInnerServiceSMOImpl.getMonthAttendance(attendanceClassesTaskDto);
             //杈撳叆鑰冨嫟鏄庣粏
             refreshDetail(attendanceClassesTaskDtos, reqJson);
-            appendData(attendanceClassesTaskDtos, sheet, (page - 1) * MAX_ROW, maxDayOfMonth);
+            appendData(attendanceClassesTaskDtos, sheet, (page - 1) * MAX_ROW, maxDayOfMonth, reqJson);
         }
     }
 
-    private void appendData(List<AttendanceClassesTaskDto> attendanceClassesTaskDtos, Sheet sheet, int step, int maxDayOfMonth) {
+    private void appendData(List<AttendanceClassesTaskDto> attendanceClassesTaskDtos, Sheet sheet, int step, int maxDayOfMonth, JSONObject reqJson) {
 
         Row row = null;
         JSONObject dayObj = null;
         AttendanceClassesTaskDto attendanceClassesTaskDto = null;
         List<AttendanceClassesTaskDetailDto> detailDtos = null;
         String value = "";
+
+        Calendar calendar = Calendar.getInstance();
+        int today = calendar.get(Calendar.DAY_OF_MONTH);
+        int taskYear = reqJson.getIntValue("taskYear");
+        int taskMonth = reqJson.getIntValue("taskMonth");
         for (int roomIndex = 0; roomIndex < attendanceClassesTaskDtos.size(); roomIndex++) {
             row = sheet.createRow(roomIndex + step + 1);
             attendanceClassesTaskDto = attendanceClassesTaskDtos.get(roomIndex);
@@ -99,17 +104,23 @@
             row.createCell(1).setCellValue(attendanceClassesTaskDto.getStaffName());
             dayObj = attendanceClassesTaskDto.getDays();
             for (int day = 1; day <= maxDayOfMonth; day++) {
+
+                if(taskYear == calendar.get(Calendar.YEAR) && taskMonth == (calendar.get(Calendar.MONTH)+1) && day > today){
+                    row.createCell(day + 1).setCellValue("鏈埌鏃堕棿");
+                    continue;
+                }
+
                 if (!dayObj.containsKey(day)) {
-                    row.createCell(day + 1).setCellValue("浼戞伅");
+                    row.createCell(day + 1).setCellValue("鏃犻渶鑰冨嫟");
                     continue;
                 }
                 if (dayObj.get(day) == null) {
-                    row.createCell(day + 1).setCellValue("浼戞伅");
+                    row.createCell(day + 1).setCellValue("鏃犻渶鑰冨嫟");
                     continue;
                 }
                 detailDtos = (List<AttendanceClassesTaskDetailDto>) dayObj.get(day);
                 if (detailDtos == null || detailDtos.size() < 1) {
-                    row.createCell(day + 1).setCellValue("浼戞伅");
+                    row.createCell(day + 1).setCellValue("鏃犻渶鑰冨嫟");
                     continue;
                 }
 

--
Gitblit v1.8.0