package org.xyzh.api.bidding.vo;

import lombok.Data;
import lombok.EqualsAndHashCode;
import org.xyzh.common.vo.BaseVO;
import io.swagger.v3.oas.annotations.media.Schema;
import com.alibaba.fastjson2.annotation.JSONField;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * 招标项目列表VO（简化版）
 * 用于前端列表展示
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Schema(description = "招标项目列表VO")
public class ProjectListVO extends BaseVO {
    private static final long serialVersionUID = 1L;
    
    @Schema(description = "项目ID")
    private String projectId;
    
    @Schema(description = "项目编号")
    private String projectNo;
    
    @Schema(description = "项目名称")
    private String projectName;
    
    @Schema(description = "项目类型")
    private String projectType;
    
    @Schema(description = "项目类型名称")
    private String projectTypeName;
    
    @Schema(description = "所属行业")
    private String industry;
    
    @Schema(description = "投标截止日期", format = "date-time")
    @JSONField(format = "yyyy-MM-dd HH:mm:ss")
    private Date deadline;
    
    @Schema(description = "距离截止日期剩余天数")
    private Long daysUntilDeadline;
    
    @Schema(description = "是否即将截止（<3天）", defaultValue = "false")
    private Boolean isUrgent;
    
    @Schema(description = "预算金额格式化显示")
    private String budgetAmountFormatted;
    
    @Schema(description = "项目状态")
    private String projectStatus;
    
    @Schema(description = "项目状态名称")
    private String projectStatusName;
    
    @Schema(description = "中标状态")
    private String winningStatus;
    
    @Schema(description = "客户名称")
    private String clientName;
    
    @Schema(description = "负责人姓名")
    private String responsibleUserName;
    
    @Schema(description = "完成进度（百分比）")
    private Integer progressPercentage;
}
