package cn.iocoder.yudao.module.hrm.dal.dataobject.training; import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; 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.LocalDate; /** * HRM 培训活动 DO * *

管理安全培训、技能培训等培训计划/活动,配合 hrm_training_participant 记录参训与考核结果; * 培训完成(status=已完成)时对合格人员联动生成对应证书资质,打通"培训→证书→到期提醒"合规链路。 * * @author 超级管理员 */ @TableName("hrm_training") @KeySequence("hrm_training_seq") @Data @EqualsAndHashCode(callSuper = true) @ToString(callSuper = true) @Builder @NoArgsConstructor @AllArgsConstructor public class HrmTrainingDO extends BaseDO { /** * 培训类型:安全培训 */ public static final int TYPE_SAFETY = 1; /** * 培训类型:技能培训 */ public static final int TYPE_SKILL = 2; /** * 培训类型:管理培训 */ public static final int TYPE_MANAGE = 3; /** * 培训类型:其他 */ public static final int TYPE_OTHER = 4; /** * 状态:草稿 */ public static final int STATUS_DRAFT = 0; /** * 状态:待开展 */ public static final int STATUS_PLANNED = 10; /** * 状态:已完成 */ public static final int STATUS_COMPLETED = 20; /** * 状态:已取消 */ public static final int STATUS_CANCELED = 30; /** * 编号 */ @TableId private Long id; /** * 培训编号 */ private String trainingNo; /** * 培训名称 */ private String name; /** * 培训类型(1=安全培训,2=技能培训,3=管理培训,4=其他) */ private Integer trainingType; /** * 讲师 */ private String trainer; /** * 培训地点 */ private String location; /** * 培训学时 */ private BigDecimal hours; /** * 开始日期 */ private LocalDate startDate; /** * 结束日期 */ private LocalDate endDate; /** * 是否自动发证(0=否,1=是;仅安全/技能培训支持) */ private Boolean issueCertificate; /** * 证书有效期(月),自动发证时用于计算证书到期日 */ private Integer certValidityMonths; /** * 状态(0=草稿,10=待开展,20=已完成,30=已取消) */ private Integer status; /** * 备注 */ private String remark; }