|
|
@@ -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;
|
|
|
+}
|