package com.hotwj.platform.securityManagement.trainingOutline.domain.vo;

import cn.idev.excel.annotation.ExcelIgnoreUnannotated;
import cn.idev.excel.annotation.ExcelProperty;
import com.hotwj.platform.securityManagement.trainingOutline.domain.HotTrainingOutline;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;

import java.io.Serial;
import java.io.Serializable;


/**
 * 培训大纲视图对象 hot_training_outline
 *
 * @author shihongwei
 * @date 2026-05-14
 */
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = HotTrainingOutline.class)
public class HotTrainingOutlineVo implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
    @ExcelProperty(value = "主键")
    private Long id;

    /**
     * 公司ID
     */
    @ExcelProperty(value = "公司ID")
    private Long companyId;

    /**
     * 上级大纲ID，年度为0
     */
    @ExcelProperty(value = "上级大纲ID")
    private Long parentId;

    /**
     * 上级大纲名称
     */
    @ExcelProperty(value = "上级大纲名称")
    private String parentName;

    /**
     * 大纲层级：1=年度，2=月度，3=周度
     */
    @ExcelProperty(value = "大纲层级")
    private Long outlineLevel;

    /**
     * 大纲层级名称
     */
    @ExcelProperty(value = "大纲层级名称")
    private String outlineLevelName;

    /**
     * 大纲名称
     */
    @ExcelProperty(value = "大纲名称")
    private String outlineName;

    /**
     * 大纲文件
     */
    @ExcelProperty(value = "大纲文件")
    private String outlineFile;

    /**
     * 培训类型（字典值）
     */
    @ExcelProperty(value = "培训类型")
    private String trainingType;

    /**
     * 是否启用：0=禁用，1=启用
     */
    @ExcelProperty(value = "是否启用")
    private Long isEnabled;

    /**
     * 培训类型名称
     */
    @ExcelProperty(value = "培训类型名称")
    private String trainingTypeLabel;

    /**
     * 排序号，越小越靠前
     */
    @ExcelProperty(value = "排序号")
    private Long sortNo;

    /**
     * 是否存在子节点
     */
    @ExcelProperty(value = "是否存在子节点")
    private Boolean hasChildren;

    /**
     * 备注
     */
    @ExcelProperty(value = "备注")
    private String remark;

    /**
     * 0=正常, 1=已删除
     */
    @ExcelProperty(value = "0=正常, 1=已删除")
    private Long isDeleted;


}
