Your Name
2023-03-21 7dd0025424f01dda86103d48b34ea03c9aed6ab2
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;
                }
@@ -152,7 +163,7 @@
        AttendanceClassesTaskDto tmpAttendanceClassesTaskDto = new AttendanceClassesTaskDto();
        tmpAttendanceClassesTaskDto.setClassId(reqJson.getString("classesId"));
        tmpAttendanceClassesTaskDto.setTaskYear(reqJson.getString("taskYear"));
        tmpAttendanceClassesTaskDto.setTaskDay(reqJson.getString("taskDay"));
        tmpAttendanceClassesTaskDto.setTaskMonth(reqJson.getString("taskMonth"));
        tmpAttendanceClassesTaskDto.setStaffIds(staffIds.toArray(new String[staffIds.size()]));
        List<AttendanceClassesTaskDetailDto> attendanceClassesTaskDetailDtos = reportAttendanceInnerServiceSMOImpl.getMonthAttendanceDetail(tmpAttendanceClassesTaskDto);
@@ -165,7 +176,11 @@
                attendanceClassesTaskDto.setDays(days);
            }
            for (AttendanceClassesTaskDetailDto tmpAttendanceClassesTaskDetailDto : attendanceClassesTaskDetailDtos) {
                if (days.containsKey(tmpAttendanceClassesTaskDetailDto.getTaskDay())) {
                if(!attendanceClassesTaskDto.getStaffId().equals(tmpAttendanceClassesTaskDetailDto.getStaffId())){
                    continue;
                }
                if (days.containsKey(tmpAttendanceClassesTaskDetailDto.getTaskDay())
                ) {
                    tAttendanceClassesTaskDetailDto = (List<AttendanceClassesTaskDetailDto>) days.get(tmpAttendanceClassesTaskDetailDto.getTaskDay());
                    tAttendanceClassesTaskDetailDto.add(tmpAttendanceClassesTaskDetailDto);
                } else {