package com.usky.iot.domain;

import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import java.time.LocalDateTime;
import java.io.Serializable;

import lombok.*;

/**
 * <p>
 * 项目表
 * </p>
 *
 * @author fu
 * @since 2024-05-20
 */
@Data
@EqualsAndHashCode(callSuper = false)
public class PmProject implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 项目表主键ID
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    /**
     * 项目名称
     */
    private String projectName;

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

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

    /**
     * 项目描述
     */
    private String projectDescribe;

    /**
     * 项目类型(1：人力外包，2：项目研发，3：采购项目，4：过标项目，5：集成项目，6：其他)
     */
    private Integer projectType;

    /**
     * 项目状态(1：未开始；2；进行中；3：已完成；4：已暂停；5：已作废)
     */
    private Integer projectStatus;

    /**
     * 负责人
     */
    private Long projectHead;

    /**
     * 项目成员
     */
    private String projectMember;

    /**
     * 项目工作量(计划人/天)
     */
    private BigDecimal projectWorkload;

    /**
     * 创建者
     */
    private String createBy;

    /**
     * 创建时间
     */
    private LocalDateTime createTime;

    /**
     * 更新者
     */
    private String updateBy;

    /**
     * 更新时间
     */
    private LocalDateTime updateTime;

    /**
     * 部门ID
     */
    private Long deptId;

    /**
     * 租户ID
     */
    private Integer tenantId;

    /**
     * 删除标识（默认0，已删除1）
     */
    private Integer delFlag;

    /**
     * 提交次数
     */
    @TableField(exist = false)
    private Long submissions;

    /**
     * 项目可见范围(1：公开；2：私有，指定人（创建人、负责人、项目成员）可见)
     */
    private Byte visibleRange;
}
