weizhong 1 год назад
Родитель
Сommit
d9c195327a

+ 124 - 0
backend/ruoyi-modules/ruoyi-rs/src/main/java/org/dromara/rs/domain/bo/RsTrainingApplicationBo.java

@@ -0,0 +1,124 @@
+package org.dromara.rs.domain.bo;
+
+import org.dromara.rs.domain.RsTrainingApplication;
+import org.dromara.common.core.validate.AddGroup;
+import org.dromara.common.core.validate.EditGroup;
+import org.dromara.common.mybatis.core.domain.BaseEntity;
+import io.github.linpeilie.annotations.AutoMapper;
+import jakarta.validation.constraints.NotBlank;
+import jakarta.validation.constraints.NotNull;
+import jakarta.validation.constraints.Min;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import com.fasterxml.jackson.annotation.JsonFormat;
+
+import java.util.Date;
+
+/**
+ * 培训申请业务对象 rs_training_application
+ *
+ * @author weizzzz
+ * @date 2025-07-16
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@AutoMapper(target = RsTrainingApplication.class, reverseConvertGenerate = false)
+public class RsTrainingApplicationBo extends BaseEntity {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 申请ID
+     */
+    @NotNull(message = "申请ID不能为空", groups = { EditGroup.class })
+    private Long applicationId;
+
+    /**
+     * 课程ID
+     */
+    private Long courseId;
+
+    /**
+     * 培训名称
+     */
+    @NotBlank(message = "培训名称不能为空", groups = { AddGroup.class, EditGroup.class })
+    private String courseName;
+
+    /**
+     * 申请人ID
+     */
+    @NotNull(message = "申请人ID不能为空", groups = { AddGroup.class, EditGroup.class })
+    private Long userId;
+
+    /**
+     * 申请人姓名
+     */
+    @NotBlank(message = "申请人姓名不能为空", groups = { AddGroup.class, EditGroup.class })
+    private String userName;
+
+    /**
+     * 所属部门
+     */
+    private String department;
+
+    /**
+     * 职位
+     */
+    private String position;
+
+    /**
+     * 申请理由
+     */
+    @NotBlank(message = "申请理由不能为空", groups = { AddGroup.class, EditGroup.class })
+    private String reason;
+
+    /**
+     * 状态(0待审核 1已通过 2已拒绝 3进行中 4已完成)
+     */
+    private String status;
+
+    /**
+     * 申请时间
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date applyTime;
+
+    /**
+     * 当前审批人
+     */
+    private String currentApprover;
+    
+    /**
+     * 培训地点
+     */
+    private String location;
+    
+    /**
+     * 学时
+     */
+    @Min(value = 1, message = "学时不能小于1", groups = { AddGroup.class, EditGroup.class })
+    private Integer duration;
+    
+    /**
+     * 开始时间
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date startTime;
+    
+    /**
+     * 结束时间
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date endTime;
+
+    /**
+     * 租户ID
+     */
+    private String tenantId;
+    
+    /**
+     * 拒绝时间
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date rejectTime;
+}