package com.ruoyi.oa.domain.vo;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.ruoyi.common.annotation.ExcelDictFormat;
import com.ruoyi.common.convert.ExcelDictConvert;
import com.ruoyi.system.domain.SysOss;
import lombok.Data;
import java.util.Date;
import java.util.List;


/**
 * 项目进度步骤跟踪视图对象 oa_project_schedule_step
 *
 * @author hdka
 * @date 2025-05-08
 */
@Data
@ExcelIgnoreUnannotated
public class OaProjectScheduleStepVo {

    private static final long serialVersionUID = 1L;

    /**
     * 跟踪记录主键
     */
    @ExcelProperty(value = "跟踪记录主键")
    private Long trackId;

    /**
     * 文件列表
     */
    @ExcelProperty(value = "文件列表")
    private String accessory;

    /**
     * 所属项目进度ID
     */
    @ExcelProperty(value = "所属项目进度ID")
    private Long scheduleId;

    /**
     * 步骤序号
     */
    @ExcelProperty(value = "步骤序号")
    private Long stepOrder;

    /**
     * 步骤名称(冗余存储模板名称)
     */
    @ExcelProperty(value = "步骤名称(冗余存储模板名称)")
    private String stepName;

    /**
     * 计划开始
     */
    @ExcelProperty(value = "计划开始")
    private Date planStart;

    /**
     * 计划完成
     */
    @ExcelProperty(value = "计划完成")
    private Date planEnd;

    /**
     *
     */
    @ExcelProperty(value = "")
    private Date actualStart;

    /**
     *
     */
    @ExcelProperty(value = "")
    private Date actualEnd;

    /**
     * 0未开始 1进行中 2完成 3暂停
     */
    @ExcelProperty(value = "0未开始 1进行中 2完成 3暂停")
    private Long status;

    /**
     * 进度负责人
     */
    private String header;


    private String description;

    private Long expectedDays;

    /** 附件列表（1 步骤可多附件） */
    private List<SysOss> fileList;   // 建议用 List

    /**
     * 使用标志
     */
    private Long useFlag;

    /**
     * 批次号
     */
    private Long batchId;

}
