package com.dsk.cscec.domain;

import com.baomidou.mybatisplus.annotation.FieldStrategy;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.dsk.common.core.domain.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.apache.ibatis.type.JdbcType;

import java.io.Serializable;

/**
 * 项目成本文件表(CbProjectFile)实体类
 *
 * @author sxk
 * @since 2024-02-05 14:01:05
 */
@EqualsAndHashCode(callSuper = true)
@Data
public class CbProjectFile extends BaseEntity implements Serializable {
    private static final long serialVersionUID = 290150095443621411L;
    /**
     * 主键ID
     */
    @TableId(value = "id")
    private Long id;
    /**
     * 项目ID
     */
    private Long projectId;
    /**
     * 成本阶段(0:标前成本、1:标后成本、2:转固成本)
     */
    private Integer cbStage;
    /**
     * 成本类型(0:直接费成本、1:工料汇总、2:措施项目、3:其他项目、4:现场经费、5:成本汇总)
     */
    private Integer cbType;
    /**
     * 文件名称
     */
    private String fileName;
    /**
     * OSS文件ID
     */
    private Long fileOssId;
    /**
     * OSS文件路径
     */
    private String fileOssUrl;
    /**
     * 项目文件状态(0:准备中、1:解析中、2:解析成功、3:解析失败)
     */
    private Integer fileParseStatus;
    /**
     * 失败备注
     */
    @TableField(value = "fail_remark", updateStrategy = FieldStrategy.IGNORED, jdbcType = JdbcType.VARCHAR)
    private String failRemark;
    /**
     * 删除状态(0:否、1:待删除、2:是)
     */
    @TableLogic(value = "0", delval = "2")
    private Integer delFlag;
}
