package net.ferrum.business.domain;

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

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import net.ferrum.common.core.domain.BaseEntity;
import net.ferrum.common.core.domain.entity.SysDept;

/**
 * 项目管理对象 qs_projects
 *
 * @author ruoyi
 * @date 2025-07-19
 */
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("qs_projects")
public class QsProjects extends BaseEntity {

    private static final long serialVersionUID=1L;

    /**
     * 项目ID
     */
    @TableId(value = "project_id")
    private Long projectId;
    /**
     *
     */
    private Long batchId;
    /**
     * 项目名称
     */
    private String projectName;
    /**
     * 备注
     */
    private String remark;
    /**
     * 逻辑删除标志
     */
    @TableLogic
    private String delFlag;
    /**
     * 项目当前所处阶段
     */
    private Long currentMasterStageId;
    /**
     * 项目完成情况
     */
    private String projectCompletion;
    /**
     * 项目开始时间
     */
    private Date startDate;
    /**
     * 结束时间
     */
    private Date endTime;

    /**
     * 批次对象
     */
    @TableField(exist = false)
    private QsBatch batch;

    /**
     * 批次名称
     */
    @TableField(exist = false)
    private String batchName;

    /**
     * 规格参数
     */
    @TableField(exist = false)
    private String specInfo;

    /**
     * 阶段名称，内部使用
     */
    @TableField(exist = false)
    private String stageName;

    /**
     * 阶段显示名称，用户看到的
     */
    @TableField(exist = false)
    private String stageDisplayName;

    /**
     * 是否为并行阶段
     */
    @TableField(exist = false)
    private String isParallelContainer;

    /**
     * 并行阶段完成情况
     */
    @TableField(exist = false)
    private String parallelProgress;

}
