feat(oa): 新增考勤汇总功能

- 添加考勤汇总相关实体类、BO、VO- 实现考勤汇总的CRUD操作
- 添加考勤汇总明细相关实体类、BO、VO
- 实现考勤汇总明细的CRUD操作
- 创建考勤汇总和汇总明细的Mapper接口及XML文件
- 开发考勤汇总相关Controller
This commit is contained in:
JR
2025-08-07 13:35:19 +08:00
parent 167ac1129f
commit f536104e39
17 changed files with 953 additions and 4 deletions

View File

@@ -0,0 +1,54 @@
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_summary
*
* @author Joshi
* @date 2025-08-07
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("gear_attendance_summary")
public class GearAttendanceSummary extends BaseEntity {
private static final long serialVersionUID=1L;
/**
* 汇总主表ID
*/
@TableId(value = "summary_id")
private Long summaryId;
/**
* 汇总名称
*/
private String summaryName;
/**
* 汇总开始日期
*/
private Date startDate;
/**
* 汇总结束日期
*/
private Date endDate;
/**
* 删除标志
*/
@TableLogic
private Long delFlag;
/**
* 备注
*/
private String remark;
}

View File

@@ -0,0 +1,61 @@
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.math.BigDecimal;
import com.gear.common.core.domain.BaseEntity;
/**
* 考勤汇总明细对象 gear_attendance_summary_detail
*
* @author ruoyi
* @date 2025-08-07
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("gear_attendance_summary_detail")
public class GearAttendanceSummaryDetail extends BaseEntity {
private static final long serialVersionUID=1L;
/**
* 明细ID
*/
@TableId(value = "detail_id")
private Long detailId;
/**
* 汇总主表ID
*/
private Long summaryId;
/**
* 用户ID
*/
private String userId;
/**
* 正常出勤小时数
*/
private BigDecimal normalHours;
/**
* 加班小时数
*/
private BigDecimal overtimeHours;
/**
* 出差小时数
*/
private BigDecimal travelHours;
/**
* 删除标志
*/
@TableLogic
private Long delFlag;
/**
* 备注
*/
private String remark;
}

View File

@@ -1,14 +1,10 @@
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 org.springframework.format.annotation.DateTimeFormat;
import com.gear.common.core.domain.BaseEntity;

View File

@@ -0,0 +1,52 @@
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_summary
*
* @author Joshi
* @date 2025-08-07
*/
@Data
@EqualsAndHashCode(callSuper = true)
public class GearAttendanceSummaryBo extends BaseEntity {
/**
* 汇总主表ID
*/
private Long summaryId;
/**
* 汇总名称
*/
private String summaryName;
/**
* 汇总开始日期
*/
private Date startDate;
/**
* 汇总结束日期
*/
private Date endDate;
/**
* 备注
*/
private String remark;
}

View File

@@ -0,0 +1,61 @@
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.math.BigDecimal;
import com.gear.common.core.domain.BaseEntity;
/**
* 考勤汇总明细业务对象 gear_attendance_summary_detail
*
* @author ruoyi
* @date 2025-08-07
*/
@Data
@EqualsAndHashCode(callSuper = true)
public class GearAttendanceSummaryDetailBo extends BaseEntity {
/**
* 明细ID
*/
private Long detailId;
/**
* 汇总主表ID
*/
private Long summaryId;
/**
* 用户ID
*/
private String userId;
/**
* 正常出勤小时数
*/
private BigDecimal normalHours;
/**
* 加班小时数
*/
private BigDecimal overtimeHours;
/**
* 出差小时数
*/
private BigDecimal travelHours;
/**
* 备注
*/
private String remark;
}

View File

@@ -0,0 +1,68 @@
package com.gear.oa.domain.vo;
import java.math.BigDecimal;
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_summary_detail
*
* @author ruoyi
* @date 2025-08-07
*/
@Data
@ExcelIgnoreUnannotated
public class GearAttendanceSummaryDetailVo {
private static final long serialVersionUID = 1L;
/**
* 明细ID
*/
@ExcelProperty(value = "明细ID")
private Long detailId;
/**
* 汇总主表ID
*/
@ExcelProperty(value = "汇总主表ID")
private Long summaryId;
/**
* 用户ID
*/
@ExcelProperty(value = "用户ID")
private String userId;
/**
* 正常出勤小时数
*/
@ExcelProperty(value = "正常出勤小时数")
private BigDecimal normalHours;
/**
* 加班小时数
*/
@ExcelProperty(value = "加班小时数")
private BigDecimal overtimeHours;
/**
* 出差小时数
*/
@ExcelProperty(value = "出差小时数")
private BigDecimal travelHours;
/**
* 备注
*/
@ExcelProperty(value = "备注")
private String remark;
}

View File

@@ -0,0 +1,57 @@
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_summary
*
* @author Joshi
* @date 2025-08-07
*/
@Data
@ExcelIgnoreUnannotated
public class GearAttendanceSummaryVo {
private static final long serialVersionUID = 1L;
/**
* 汇总主表ID
*/
@ExcelProperty(value = "汇总主表ID")
private Long summaryId;
/**
* 汇总名称
*/
@ExcelProperty(value = "汇总名称")
private String summaryName;
/**
* 汇总开始日期
*/
@ExcelProperty(value = "汇总开始日期")
private Date startDate;
/**
* 汇总结束日期
*/
@ExcelProperty(value = "汇总结束日期")
private Date endDate;
/**
* 备注
*/
@ExcelProperty(value = "备注")
private String remark;
}