package com.ozs.pm.doman.vo.requestVo;

import com.ozs.common.annotation.Excel;
import com.ozs.common.core.domain.BaseEntity;
import com.ozs.system.domain.SysFileRef;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.math.BigDecimal;
import java.util.List;

/**
 * 采购需求工程类对象 pm_demand_engineering
 *
 * @author ruoyi
 * @date 2023-01-16
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
@ApiModel("采购需求工程类对象")
public class PmDemandEngineeringReqVo extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键 */
    private Long demandEngineeringId;

    /** 需求ID */
    @Excel(name = "需求ID")
    @ApiModelProperty("需求ID")
    private Long demandId;

    /** 工程项目名称 */
    @Excel(name = "工程项目名称")
    @ApiModelProperty("工程项目名称")
    private String engineeringName;

    /** 建设地点 */
    @Excel(name = "建设地点")
    @ApiModelProperty("建设地点")
    private String constructionLocation;

    /** 设计任务书批复文号 */
    @Excel(name = "设计任务书批复文号")
    @ApiModelProperty("设计任务书批复文号")
    private String designAssignmenApprovalNumber;

    /** 工程建设计划文号 */
    @Excel(name = "工程建设计划文号")
    @ApiModelProperty("工程建设计划文号")
    private BigDecimal projectConstructionPlanNumber;

    /** 任务书批复规模(㎡)*/
    @Excel(name = "任务书批复规模(㎡)")
    @ApiModelProperty("任务书批复规模(㎡)")
    private BigDecimal tassignmentApprovalScale;

    /** 任务书批复投资 */
    @Excel(name = "任务书批复投资")
    @ApiModelProperty("任务书批复投资")
    private String tassignmentApprovalInvestmen;

    /** 规划许可文号 */
    @Excel(name = "规划许可文号")
    @ApiModelProperty("规划许可文号")
    private String planningLicenseNumber;

    /** 密级处理 */
    @Excel(name = "密级处理")
    @ApiModelProperty("密级处理")
    private String classifiedTreatment;

    /** 采购项目规模(㎡) */
    @Excel(name = "采购项目规模(㎡)")
    @ApiModelProperty("采购项目规模(㎡)")
    private BigDecimal procurementProjectScale;

    /** 采购项目投资(万元) */
    @Excel(name = "采购项目投资(万元)")
    @ApiModelProperty("采购项目投资(万元)")
    private BigDecimal procurementProjectInvestment;

    /** 联系人 */
    @Excel(name = "联系人")
    @ApiModelProperty("联系人")
    private String linkman;

    /** 电话 */
    @Excel(name = "电话")
    @ApiModelProperty("电话")
    private String phone;

    /** 项目类别（1勘察，2设计, 3施工，4监理，5咨询，6设备材料） */
    @Excel(name = "项目类别（1勘察，2设计, 3施工，4监理，5咨询，6设备材料）")
    @ApiModelProperty("项目类别（1勘察，2设计, 3施工，4监理，5咨询，6设备材料）")
    private String projectCategory;

    /** 项目类别名（1勘察，2设计, 3施工，4监理，5咨询，6设备材料） */
    @Excel(name = "项目类别名（1勘察，2设计, 3施工，4监理，5咨询，6设备材料）")
    @ApiModelProperty("项目类别名（1勘察，2设计, 3施工，4监理，5咨询，6设备材料）")
    private String projectCategoryName;

    /** 承包方式（1工程总承包，2施工总承包，3专业承包） */
    @Excel(name = "承包方式（1工程总承包，2施工总承包，3专业承包）")
    @ApiModelProperty("承包方式（1工程总承包，2施工总承包，3专业承包）")
    private String contractingMode;


    /** 承包方式名（1工程总承包，2施工总承包，3专业承包） */
    @Excel(name = "承包方式名（1工程总承包，2施工总承包，3专业承包）")
    @ApiModelProperty("承包方式名（1工程总承包，2施工总承包，3专业承包）")
    private String contractingModeName;

    /** 施工图是否完成(0未完成，1完成) */
    @Excel(name = "施工图是否完成(0未完成，1完成)")
    @ApiModelProperty("施工图是否完成(0未完成，1完成)")
    private String constructionDrawing;

    /** 施工图是否完成名(0未完成，1完成) */
    @Excel(name = "施工图是否完成名(0未完成，1完成)")
    @ApiModelProperty("施工图是否完成名(0未完成，1完成)")
    private String constructionDrawingName;

    /** 设计单位 */
    @Excel(name = "设计单位")
    @ApiModelProperty("设计单位")
    private String designUnit;

    /** 最高限价 */
    @Excel(name = "最高限价")
    @ApiModelProperty("最高限价")
    private BigDecimal ceilingPrice;

    /** 采购方式建议（1公开招标，2邀请招标，3竞争性谈判，4询价，5单一来源） */
    @Excel(name = "采购方式建议（1公开招标，2邀请招标，3竞争性谈判，4询价，5单一来源）")
    @ApiModelProperty("采购方式建议（1公开招标，2邀请招标，3竞争性谈判，4询价，5单一来源）")
    private String procurementMethodSuggest;

    /** 采购方式建议名 */
    @Excel(name = "采购方式建议名（1公开招标，2邀请招标，3竞争性谈判，4询价，5单一来源）")
    @ApiModelProperty("采购方式建议名（1公开招标，2邀请招标，3竞争性谈判，4询价，5单一来源）")
    private String procurementMethodSuggestName;

    /** 投标(报价)人资质等级要求 */
    @Excel(name = "投标(报价)人资质等级要求")
    @ApiModelProperty("投标(报价)人资质等级要求")
    private String qualificationLevelRequirement;

    /** 供应商 */
    @Excel(name = "供应商")
    @ApiModelProperty("供应商")
    private Long supplierId;

    /** 备注 */
    @Excel(name = "备注")
    @ApiModelProperty("备注")
    private String remarks;

    /**
     * 上传附件
     */
    @ApiModelProperty("上传附件")
    private List<SysFileRef> sysFileRefs;

}
