package cn.iocoder.yudao.module.hrm.dal.dataobject.approval; import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; import cn.iocoder.yudao.module.hrm.enums.HrmLeaveTypeEnum; import com.baomidou.mybatisplus.annotation.KeySequence; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import lombok.*; import java.math.BigDecimal; import java.time.LocalDateTime; /** * 请假申请 DO * * @author 超级管理员 */ @TableName("hrm_leave_application") @KeySequence("hrm_leave_application_seq") @Data @EqualsAndHashCode(callSuper = true) @ToString(callSuper = true) @Builder @NoArgsConstructor @AllArgsConstructor public class HrmLeaveApplicationDO extends BaseDO { /** * 申请ID */ @TableId private Long id; /** * 申请单号 */ private String no; /** * 申请人ID * * 关联 AdminUserDO#getId() */ private Long userId; /** * 部门ID * * 关联 DeptDO#getId() */ private Long deptId; /** * 请假类型 * * 枚举 {@link HrmLeaveTypeEnum} */ private Integer leaveType; /** * 开始时间 */ private LocalDateTime startTime; /** * 结束时间 */ private LocalDateTime endTime; /** * 请假时长(天) */ private BigDecimal duration; /** * 请假原因 */ private String reason; /** * 审批状态 * * 枚举 {@link cn.iocoder.yudao.module.hrm.enums.HrmAuditStatusEnum} */ private Integer status; /** * 审核人用户编号 * * 审批人由「系统管理 - 审批配置」按业务类型统一配置(业务编码 hrm_leave_approve), * 提交时不指定;此处记录实际执行审核的用户。 */ private Long reviewerId; /** * 审核人姓名(审核时冗余记录,避免列表展示再查用户) */ private String reviewerName; /** * 审核时间 */ private LocalDateTime reviewTime; /** * 审核意见(审核通过时的意见 / 审核不通过时的原因) */ private String reviewRemark; /** * 审批完成时间 */ private LocalDateTime approveTime; /** * 备注 */ private String remark; }