package com.ruoyi.oa.domain.bo;

import com.ruoyi.common.core.validate.AddGroup;
import com.ruoyi.common.core.validate.EditGroup;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.*;

import java.util.Date;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.core.domain.BaseEntity;
import org.springframework.format.annotation.DateTimeFormat;

/**
 * 项目进度步骤跟踪业务对象 oa_project_schedule_step
 *
 * @author hdka
 * @date 2025-05-08
 */

@Data
@EqualsAndHashCode(callSuper = true)
public class OaProjectScheduleStepBo extends BaseEntity {

    /**
     * 跟踪记录主键
     */
    private Long trackId;

    /**
     * 文件列表
     */
    private String accessory;

    /**
     * 所属项目进度ID
     */
    private Long scheduleId;

    /**
     * 步骤序号
     */
    private Long stepOrder;

    /**
     * 步骤名称(冗余存储模板名称)
     */
    private String stepName;

    /**
     * 计划开始
     */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date planStart;

    /**
     * 计划完成
     */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date planEnd;

    /**
     *
     */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date actualStart;

    /**
     *
     */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date actualEnd;

    /**
     * 0未开始 1进行中 2完成 3暂停
     */
    private Long status;


    private String description;

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

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

    private Long batchId;

}
