package com.ruoyi.oa.domain;

import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.Date;
import java.math.BigDecimal;

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

/**
 * 项目进度步骤跟踪对象 oa_project_schedule_step
 *
 * @author hdka
 * @date 2025-05-08
 */
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("oa_project_schedule_step")
public class OaProjectScheduleStep extends BaseEntity {

    private static final long serialVersionUID=1L;

    /**
     * 跟踪记录主键
     */
    @TableId(value = "track_id")
    private Long trackId;
    /**
     * 文件列表
     */
    private String accessory;
    /**
     * 所属项目进度ID
     */
    private Long scheduleId;
    /**
     * 步骤序号
     */
    private Long stepOrder;
    /**
     * 步骤名称(冗余存储模板名称)
     */
    private String stepName;
    /**
     * 计划开始
     */
    private Date planStart;
    /**
     * 计划完成
     */
    private Date planEnd;
    /**
     *
     */
    private Date actualStart;
    /**
     *
     */
    private Date actualEnd;
    /**
     * 0未开始 1进行中 2完成 3暂停
     */
    private Long status;

    /**
     * 进度负责人
     */
    private String header;
    /**
     *
     */
    @TableLogic
    private String delFlag;

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


    private Long batchId;


    /**
     * tab节点
     */
    private String tabNode;

    /**
     * 一级节点（阶段节点）
     */
    private String firstLevelNode;

    /**
     * 二级节点（关键节点）
     */
    private String secondLevelNode;

    /**
     * 开始时间
     */
    private LocalDateTime startTime;

    /**
     * 原定结束时间
     */
    private LocalDateTime originalEndTime;

    /**
     * 结束时间
     */
    private LocalDateTime endTime;

    /**
     * 节点负责人
     */
    private String nodeHeader;

    /**
     * 相关资料
     */
    private String relatedDocs;

    /**
     * 相关图片
     */
    private String relatedImages;

    /**
     * 规范说明
     */
    private String specification;

    //排序字段
    private Integer sortNum;
    @TableField(exist = false)
    private Long projectId;


    //供应商id
    private Long supplierId;

    //需求文件
    private String requirementFile;

    //其他
    private String other;

}
