考勤
This commit is contained in:
parent
dbcc5e89a9
commit
43287e22e5
@ -10,6 +10,7 @@ import org.springframework.validation.annotation.Validated;
|
|||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
|
import javax.servlet.http.HttpServletResponse;
|
||||||
import javax.validation.Valid;
|
import javax.validation.Valid;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
@ -46,7 +47,6 @@ public class AttendanceController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@GetMapping("/statisticsByDay")
|
@GetMapping("/statisticsByDay")
|
||||||
@Operation(summary = "统计按天")
|
@Operation(summary = "统计按天")
|
||||||
public CommonResult<Map<String, AttendanceStatusByDayVO>> statisticsByDay(@ModelAttribute AttendanceStatisticsByDayDTO dto) {
|
public CommonResult<Map<String, AttendanceStatusByDayVO>> statisticsByDay(@ModelAttribute AttendanceStatisticsByDayDTO dto) {
|
||||||
@ -81,4 +81,13 @@ public class AttendanceController {
|
|||||||
List<AttendanceGroupSystemVO> vo = attendanceService.getTheAttendanceGroupToWhichTheCurrentlyLoggedInUserBelongsAndWhetherTheyHaveAdministratorRights();
|
List<AttendanceGroupSystemVO> vo = attendanceService.getTheAttendanceGroupToWhichTheCurrentlyLoggedInUserBelongsAndWhetherTheyHaveAdministratorRights();
|
||||||
return success(vo);
|
return success(vo);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@GetMapping("/export-excel")
|
||||||
|
@Operation(summary = "导出考勤报表 Excel")
|
||||||
|
public void exportAttendanceExcel(@Valid ExportAttendanceExcelDTO dto,
|
||||||
|
HttpServletResponse response) {
|
||||||
|
attendanceService.exportAttendanceExcel(response, dto);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -0,0 +1,40 @@
|
|||||||
|
package cn.iocoder.yudao.module.system.controller.admin.attendance.dto;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||||
|
import io.swagger.v3.oas.annotations.media.Schema;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.experimental.Accessors;
|
||||||
|
import org.springframework.format.annotation.DateTimeFormat;
|
||||||
|
|
||||||
|
import javax.validation.constraints.NotNull;
|
||||||
|
import java.util.Date;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY;
|
||||||
|
import static cn.iocoder.yudao.framework.common.util.date.DateUtils.TIME_ZONE_DEFAULT;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
@Accessors(chain = true)
|
||||||
|
public class ExportAttendanceExcelDTO {
|
||||||
|
|
||||||
|
@Schema(description = "报表类型 1月度统计 2每日统计 3打卡记录")
|
||||||
|
private Integer type;
|
||||||
|
|
||||||
|
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY)
|
||||||
|
@JsonFormat(pattern = FORMAT_YEAR_MONTH_DAY, timezone = TIME_ZONE_DEFAULT)
|
||||||
|
@Schema(description = "开始时间")
|
||||||
|
@NotNull(message = "开始时间不可以为空")
|
||||||
|
private Date startTime;
|
||||||
|
|
||||||
|
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY)
|
||||||
|
@JsonFormat(pattern = FORMAT_YEAR_MONTH_DAY, timezone = TIME_ZONE_DEFAULT)
|
||||||
|
@Schema(description = "结束时间")
|
||||||
|
@NotNull(message = "结束时间不可以为空")
|
||||||
|
private Date endTime;
|
||||||
|
|
||||||
|
@Schema(description = "人员范围 1全公司 2考勤组 3员工")
|
||||||
|
private Integer memberRange;
|
||||||
|
|
||||||
|
@Schema(description = "人员范围对应的目标ids 全公司则不用传 考勤组则传考勤组id 员工则传员工id")
|
||||||
|
private List<Long> targetIds;
|
||||||
|
}
|
@ -5,6 +5,7 @@ import cn.iocoder.yudao.module.system.controller.admin.attendance.vo.*;
|
|||||||
import cn.iocoder.yudao.module.system.dal.dataobject.attendance.groupshiftitem.AttendanceGroupShiftItemDO;
|
import cn.iocoder.yudao.module.system.dal.dataobject.attendance.groupshiftitem.AttendanceGroupShiftItemDO;
|
||||||
import cn.iocoder.yudao.module.system.service.attendance.punch.dto.AttendanceOnTheDayDTO;
|
import cn.iocoder.yudao.module.system.service.attendance.punch.dto.AttendanceOnTheDayDTO;
|
||||||
|
|
||||||
|
import javax.servlet.http.HttpServletResponse;
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
@ -97,4 +98,12 @@ public interface AttendanceService {
|
|||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
AttendanceRulesVO getRules(Long groupId);
|
AttendanceRulesVO getRules(Long groupId);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 导出考勤报表
|
||||||
|
*
|
||||||
|
* @param response
|
||||||
|
* @param dto
|
||||||
|
*/
|
||||||
|
void exportAttendanceExcel(HttpServletResponse response, ExportAttendanceExcelDTO dto);
|
||||||
}
|
}
|
@ -40,6 +40,7 @@ import org.springframework.stereotype.Service;
|
|||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
|
import javax.servlet.http.HttpServletResponse;
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
import java.time.ZoneId;
|
import java.time.ZoneId;
|
||||||
import java.time.format.DateTimeFormatter;
|
import java.time.format.DateTimeFormatter;
|
||||||
@ -749,6 +750,14 @@ public class AttendanceServiceImpl implements AttendanceService {
|
|||||||
return vo;
|
return vo;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void exportAttendanceExcel(HttpServletResponse response, ExportAttendanceExcelDTO dto) {
|
||||||
|
|
||||||
|
// 导出 Excel
|
||||||
|
// ExcelUtils.write(response, "考勤组人员.xls", "数据", AttendanceGroupUserRespVO.class,
|
||||||
|
// BeanUtils.toBean(list, AttendanceGroupUserRespVO.class));
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 外勤计算
|
* 外勤计算
|
||||||
*
|
*
|
||||||
|
@ -14,6 +14,8 @@
|
|||||||
attendance_group_id as id,
|
attendance_group_id as id,
|
||||||
count(id) as num
|
count(id) as num
|
||||||
from kq_attendance_scheduling
|
from kq_attendance_scheduling
|
||||||
|
where
|
||||||
|
deleted = 0
|
||||||
group by attendance_group_id
|
group by attendance_group_id
|
||||||
</select>
|
</select>
|
||||||
<select id="getUseGroupIds" resultType="java.lang.Long">
|
<select id="getUseGroupIds" resultType="java.lang.Long">
|
||||||
|
Loading…
Reference in New Issue
Block a user