From d516e38fd44e186f393bbb05c4e7ca34b323b609 Mon Sep 17 00:00:00 2001
From: java110 <928255095@qq.com>
Date: 星期二, 16 五月 2023 18:50:52 +0800
Subject: [PATCH] optimize report

---
 service-job/src/main/java/com/java110/job/task/attendance/GeneratorAttendanceTaskTemplate.java |   31 +++++++++++++++++++------------
 1 files changed, 19 insertions(+), 12 deletions(-)

diff --git a/service-job/src/main/java/com/java110/job/task/attendance/GeneratorAttendanceTaskTemplate.java b/service-job/src/main/java/com/java110/job/task/attendance/GeneratorAttendanceTaskTemplate.java
index 273e964..87db3f2 100644
--- a/service-job/src/main/java/com/java110/job/task/attendance/GeneratorAttendanceTaskTemplate.java
+++ b/service-job/src/main/java/com/java110/job/task/attendance/GeneratorAttendanceTaskTemplate.java
@@ -4,10 +4,9 @@
 import com.java110.dto.attendanceClasses.AttendanceClassesDto;
 import com.java110.dto.attendanceClasses.AttendanceClassesTaskDetailDto;
 import com.java110.dto.attendanceClasses.AttendanceClassesTaskDto;
-import com.java110.dto.attendanceClassesStaff.AttendanceClassesStaffDto;
-import com.java110.dto.org.OrgStaffRelDto;
-import com.java110.dto.scheduleClassesStaff.ScheduleClassesStaffDto;
-import com.java110.dto.scheduleClassesTime.ScheduleClassesTimeDto;
+import com.java110.dto.attendanceClasses.AttendanceClassesStaffDto;
+import com.java110.dto.scheduleClasses.ScheduleClassesStaffDto;
+import com.java110.dto.scheduleClasses.ScheduleClassesTimeDto;
 import com.java110.dto.store.StoreDto;
 import com.java110.dto.task.TaskDto;
 import com.java110.dto.user.UserDto;
@@ -229,7 +228,7 @@
         //alter table attendance_classes_task_detail add COLUMN late_value varchar(12) not null comment '姝e父鎴栬�呮棭閫�鏃堕棿锛宻pec_cd 1001 鏄繜鍒� 2002 鏄甯告椂闂�';
 
         String value = curDate + " " + startTimeStr + ":00";
-        Date valueDate = DateUtil.getDateFromStringA(value);
+        Date startValueDate = DateUtil.getDateFromStringA(value);
 
         int timeOffset = Integer.parseInt(tmpAttendanceClassesDto.getTimeOffset());
         int maxLastOffset = Integer.parseInt(tmpAttendanceClassesDto.getMaxLastOffset());
@@ -238,15 +237,15 @@
         attendanceClassesTaskDetailPo.setDetailId(GenerateCodeFactory.getGeneratorId("12"));
         attendanceClassesTaskDetailPo.setTaskId(attendanceClassesTaskPo.getTaskId());
         attendanceClassesTaskDetailPo.setSpecCd(AttendanceClassesTaskDetailDto.SPEC_CD_START);
-        attendanceClassesTaskDetailPo.setValue(curDate + " " + startTimeStr + ":00");
+        attendanceClassesTaskDetailPo.setValue(value);
         Calendar calendar = Calendar.getInstance();
-        calendar.setTime(valueDate);
+        calendar.setTime(startValueDate);
         calendar.add(Calendar.MINUTE, timeOffset * -1);
         attendanceClassesTaskDetailPo.setLeaveValue(DateUtil.getFormatTimeString(calendar.getTime(), DateUtil.DATE_FORMATE_STRING_A));
 
         int lateOffset = Integer.parseInt(tmpAttendanceClassesDto.getLateOffset());
         calendar = Calendar.getInstance();
-        calendar.setTime(valueDate);
+        calendar.setTime(startValueDate);
         calendar.add(Calendar.MINUTE, lateOffset);
         attendanceClassesTaskDetailPo.setLateValue(DateUtil.getFormatTimeString(calendar.getTime(), DateUtil.DATE_FORMATE_STRING_A));
         attendanceClassesTaskDetailPo.setState(AttendanceClassesTaskDetailDto.STATE_WAIT);
@@ -259,7 +258,15 @@
         }
 
         value = curDate + " " + endTimeStr + ":00";
-        valueDate = DateUtil.getDateFromStringA(value);
+        Date endValueDate = DateUtil.getDateFromStringA(value);
+
+        if (endValueDate.getTime() < startValueDate.getTime()) {
+            Calendar endDateCal = Calendar.getInstance();
+            endDateCal.setTime(endValueDate);
+            endDateCal.add(Calendar.DAY_OF_MONTH, 1);
+            endValueDate = endDateCal.getTime();
+            value = DateUtil.getFormatTimeString(endValueDate, DateUtil.DATE_FORMATE_STRING_A);
+        }
 
         int leaveOffset = Integer.parseInt(tmpAttendanceClassesDto.getLeaveOffset());
 
@@ -267,14 +274,14 @@
         attendanceClassesTaskDetailPo.setDetailId(GenerateCodeFactory.getGeneratorId("12"));
         attendanceClassesTaskDetailPo.setTaskId(attendanceClassesTaskPo.getTaskId());
         attendanceClassesTaskDetailPo.setSpecCd(AttendanceClassesTaskDetailDto.SPEC_CD_END);
-        attendanceClassesTaskDetailPo.setValue(curDate + " " + endTimeStr + ":00");
+        attendanceClassesTaskDetailPo.setValue(value);
 
         calendar = Calendar.getInstance();
-        calendar.setTime(valueDate);
+        calendar.setTime(endValueDate);
         calendar.add(Calendar.MINUTE, leaveOffset * -1);
         attendanceClassesTaskDetailPo.setLeaveValue(DateUtil.getFormatTimeString(calendar.getTime(), DateUtil.DATE_FORMATE_STRING_A));
         calendar = Calendar.getInstance();
-        calendar.setTime(valueDate);
+        calendar.setTime(endValueDate);
         if (!islast) {
             calendar.add(Calendar.MINUTE, timeOffset);
         } else {

--
Gitblit v1.8.0