feat(oa): 新增考勤(含考勤/加班/出差)相关功能

- 添加 GearAttendanceRecord 模型类
- 创建 GearAttendanceRecordBo 业务对象类
- 实现 GearAttendanceRecordController 控制器
- 编写 GearAttendanceRecordMapper Mapper 接口和 XML 文件
- 开发 GearAttendanceRecordServiceImpl 服务实现类- 定义 IGearAttendanceRecordService 服务接口
- 创建 GearAttendanceRecordVo 视图对象类
This commit is contained in:
JR
2025-08-06 16:23:17 +08:00
parent 3909a19335
commit 86f40f2a9a
10 changed files with 522 additions and 0 deletions

View File

@@ -0,0 +1,70 @@
package com.gear.oa.domain;
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serializable;
import java.util.Date;
import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.gear.common.core.domain.BaseEntity;
/**
* 考勤(含考勤/加班/出差)对象 gear_attendance_record
*
* @author ruoyi
* @date 2025-08-06
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("gear_attendance_record")
public class GearAttendanceRecord extends BaseEntity {
private static final long serialVersionUID=1L;
/**
* 主键id
*/
@TableId(value = "record_id")
private Long recordId;
/**
* 用户ID
*/
private String userId;
/**
* 记录日期
*/
private Date recordDate;
/**
* 记录类型: attendance(考勤), overtime(加班), travel(出差)
*/
private String recordType;
/**
* 开始时间
*/
private Date startTime;
/**
* 结束时间
*/
private Date endTime;
/**
* 时长(小时) - 用于考勤/加班/出差
*/
private Long durationHour;
/**
* 审批状态
*/
private String status;
/**
* 删除标志
*/
@TableLogic
private Long delFlag;
/**
* 备注
*/
private String remark;
}

View File

@@ -0,0 +1,66 @@
package com.gear.oa.domain.bo;
import com.gear.common.core.validate.AddGroup;
import com.gear.common.core.validate.EditGroup;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.*;
import java.util.Date;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.gear.common.core.domain.BaseEntity;
/**
* 考勤(含考勤/加班/出差)业务对象 gear_attendance_record
*
* @author ruoyi
* @date 2025-08-06
*/
@Data
@EqualsAndHashCode(callSuper = true)
public class GearAttendanceRecordBo extends BaseEntity {
/**
* 主键id
*/
private Long recordId;
/**
* 用户ID
*/
private String userId;
/**
* 记录日期
*/
private Date recordDate;
/**
* 记录类型: attendance(考勤), overtime(加班), travel(出差)
*/
private String recordType;
/**
* 开始时间
*/
private Date startTime;
/**
* 结束时间
*/
private Date endTime;
/**
* 时长(小时) - 用于考勤/加班/出差
*/
private Long durationHour;
/**
* 备注
*/
private String remark;
}

View File

@@ -0,0 +1,75 @@
package com.gear.oa.domain.vo;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.gear.common.annotation.ExcelDictFormat;
import com.gear.common.convert.ExcelDictConvert;
import lombok.Data;
import java.util.Date;
/**
* 考勤(含考勤/加班/出差)视图对象 gear_attendance_record
*
* @author ruoyi
* @date 2025-08-06
*/
@Data
@ExcelIgnoreUnannotated
public class GearAttendanceRecordVo {
private static final long serialVersionUID = 1L;
/**
* 主键id
*/
@ExcelProperty(value = "主键id")
private Long recordId;
/**
* 用户ID
*/
@ExcelProperty(value = "用户ID")
private String userId;
/**
* 记录日期
*/
@ExcelProperty(value = "记录日期")
private Date recordDate;
/**
* 记录类型: attendance(考勤), overtime(加班), travel(出差)
*/
@ExcelProperty(value = "记录类型: attendance(考勤), overtime(加班), travel(出差)")
private String recordType;
/**
* 开始时间
*/
@ExcelProperty(value = "开始时间")
private Date startTime;
/**
* 结束时间
*/
@ExcelProperty(value = "结束时间")
private Date endTime;
/**
* 时长(小时) - 用于考勤/加班/出差
*/
@ExcelProperty(value = "时长(小时) - 用于考勤/加班/出差")
private Long durationHour;
/**
* 备注
*/
@ExcelProperty(value = "备注")
private String remark;
}