package cn.iocoder.yudao.module.knowledge.controller.requestdto;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import cn.iocoder.yudao.module.knowledge.entity.TFileInfo;
import cn.iocoder.yudao.module.knowledge.entity.TNotProcurementBid;
import cn.iocoder.yudao.module.knowledge.entity.TProcurementBid;
import cn.iocoder.yudao.module.knowledge.entity.TViolationImage;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;
import java.util.List;

/**
* 招标计划表查询
*
* @author admin 
* @since 1.0.0 2024-04-15
*/
@Data
@EqualsAndHashCode(callSuper = false)
@Schema(description = "招标计划表查询")
public class TBidPlanRequest extends PageParam {
    @Schema(description = "主键")
    @TableId
    private Long id;

    @Schema(
            description = "标签",
            example = "123"
    )
    private String tag;

    @Schema(
            description = "项目名称",
            example = "项目"
    )
    private String projectName;

    @Schema(
            description = "委员会",
            example = "sdas"
    )
    private String committee;

    @Schema(
            description = "编制",
            example = "wes"
    )
    private String authorizedStrength;

    @Schema(
            description = "审核",
            example = "dfd"
    )
    private String audit;

    @Schema(
            description = "审批",
            example = "ddf"
    )
    private String approval;

    @Schema(
            description = "项目日期",
            example = "2024-04-14 15:13:42"
    )
    @JsonFormat(pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    private Date projectDate;

    @Schema(
            description = "审议日期",
            example = "2024-04-14 15:13:42"
    )
    @JsonFormat(pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    private Date auditDate;

    @Schema(
            description = "盖章日期",
            example = "2024-04-14 15:13:42"
    )
    @JsonFormat(pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    private Date stampDate;

    @Schema(
            description = "招标团队",
            example = "erdf"
    )
    private String bidTeam;

    @Schema(
            description = "分工与职责",
            example = "ere"
    )
    private String responsibility;

    @Schema(
            description = "项目概述",
            example = "dfewfew"
    )
    private String overview;

    @Schema(
            description = "调研与对标情况",
            example = "ddsdff"
    )
    private String researchSituation;

    @Schema(
            description = "工程类（起草人）",
            example = "小明"
    )
    private String engineering;

    @Schema(
            description = "设备类（批准人）",
            example = "小青"
    )
    private String equipment;

    @Schema(
            description = "材料类（首次发布时间）",
            example = "2024-04-14 15:13:42"
    )
    private String materials;

    @Schema(
            description = "服务类(目的)",
            example = "招标"
    )
    private String service;

    @Schema(
            description = "其他(适用范围)",
            example = "0"
    )
    private String rests;

    @Schema(description = "文件真实存在的地方", example = "/path/to/file/example.jpg")
    private String fileUrl;

    @Schema(description = "文件大小", example = "1024KB")
    private Long fileSize;

    @Schema(description = "文件原名称", example = "example.jpg")
    private String fileName;

    @Schema(description = "归档时间", example = "2024-04-15T12:00:00")
    @JsonFormat(pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    private Date filingTime;

    @Schema(description = "是否归档", allowableValues = {"0", "1"}, example = "0")
    private Integer isFiling;

    @Schema(
            description = "非招标采购方式",
            example = "list"
    )
    private List<TNotProcurementBid> notProcurementBids;

    @Schema(
            description = "招标采购方式",
            example = "list"
    )
    private List<TProcurementBid> procurementBids;

    @Schema(
            description = "上传的文件",
            example = "file"
    )
    private TFileInfo uploadFileInfo;
}