java110
2023-05-16 d516e38fd44e186f393bbb05c4e7ca34b323b609
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 '正常或者早退时间,spec_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 {