package com.aegis.resource.procurement.dto;

import java.math.BigDecimal;
import java.util.Date;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;

/**
 * 供应商报价数据传输对象（DTO）
 * 用于 API 层的数据传输
 *
 * @author aegis
 */
@Getter
@Setter
@ToString
public class ProcurementQuoteDTO {

    private Long id;

    /** 采购申请ID */
    @NotNull(message = "采购申请ID不能为空")
    private Long procurementId;

    /** 供应商ID */
    @NotNull(message = "供应商ID不能为空")
    private Long supplierId;

    /** 供应商名称（关联查询） */
    private String supplierName;

    /** 总价 */
    @NotNull(message = "总价不能为空")
    private BigDecimal totalPrice;

    /** 预计交货时间 */
    @Size(min = 0, max = 100, message = "预计交货时间长度不能超过100个字符")
    private String eta;

    /** 报价说明 */
    @Size(min = 0, max = 500, message = "报价说明长度不能超过500个字符")
    private String note;

    /** 是否中标：0-未中标，1-已中标 */
    private Integer isAwarded;

    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;
}