feat(wms): 新增考勤比对功能

- 创建 AttendanceCheckBo 数据传输对象用于考勤比对参数传递
- 定义 IWmsAttendanceCheckService 接口及其实现类
- 创建 WmsAttendanceCheck 实体类存储考勤比对结果数据
- 开发 WmsAttendanceCheckController 提供考勤比对接口
- 实现考勤比对核心逻辑,支持上下班时间段考勤检查
- 集成打卡记录查询和考勤规则应用功能
- 添加考勤状态判断和扣款计算逻辑
- 实现连续旷工天数统计功能
- 创建考勤比对结果的增删改查接口
- 配置 MyBatis 映射文件和 Excel 导出功能
This commit is contained in:
2026-05-12 16:29:54 +08:00
parent 736b786ff9
commit 693de2ad5e
9 changed files with 695 additions and 0 deletions

View File

@@ -0,0 +1,71 @@
package com.klp.domain.vo;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import java.math.BigDecimal;
import java.util.Date;
@Data
@ExcelIgnoreUnannotated
public class WmsAttendanceCheckVo {
private Long checkId;
private Long scheduleId;
private Long userId;
@ExcelProperty(value = "员工姓名")
private String employeeName;
@JsonFormat(pattern = "yyyy-MM-dd")
@ExcelProperty(value = "日期")
private Date workDate;
@ExcelProperty(value = "班次")
private String shiftName;
@JsonFormat(pattern = "HH:mm")
private Date p1StartTime;
@JsonFormat(pattern = "HH:mm")
private Date p1EndTime;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm")
private Date p1FirstCheck;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm")
private Date p1LastCheck;
@ExcelProperty(value = "上午迟到(分钟)")
private Integer p1LateMinutes;
@ExcelProperty(value = "上午早退(分钟)")
private Integer p1EarlyMinutes;
@ExcelProperty(value = "上午状态")
private String p1Status;
@ExcelProperty(value = "上午扣款")
private BigDecimal p1Deduct;
@JsonFormat(pattern = "HH:mm")
private Date p2StartTime;
@JsonFormat(pattern = "HH:mm")
private Date p2EndTime;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm")
private Date p2FirstCheck;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm")
private Date p2LastCheck;
@ExcelProperty(value = "下午迟到(分钟)")
private Integer p2LateMinutes;
@ExcelProperty(value = "下午早退(分钟)")
private Integer p2EarlyMinutes;
@ExcelProperty(value = "下午状态")
private String p2Status;
@ExcelProperty(value = "下午扣款")
private BigDecimal p2Deduct;
@ExcelProperty(value = "旷工类型")
private String absentType;
@ExcelProperty(value = "连续旷工天数")
private Integer continuousAbsentDays;
@ExcelProperty(value = "总扣款")
private BigDecimal totalDeduct;
@ExcelProperty(value = "总体状态")
private String overallStatus;
}