package com.cf.imes.module.executor.controller.admin.plan.vo;

import com.cf.imes.module.executor.controller.admin.plan.bo.OrderIds;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import jakarta.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.util.List;

/**
 * @author there
 */
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class PlateInfoVO {


    @Schema(description = "生产单和大板的信息")
    private List<OrderIds> orderIdList;


    @Schema(description = "板材库对应的大板ID-大板实际ID")
    private String goodsId;


    @Schema(description = "材质：颗粒板、欧松板、多层板、生态板、禾香板、密度板、实木、铝蜂窝板、铝塑板", requiredMode = Schema.RequiredMode.REQUIRED)
    private String material;

    @Schema(description = "品牌", requiredMode = Schema.RequiredMode.REQUIRED)
    private String brand;

    @Schema(description = "排单ID", requiredMode = Schema.RequiredMode.REQUIRED)
    private Long planId;

    @Schema(description = "宽度", requiredMode = Schema.RequiredMode.REQUIRED)
    private BigDecimal width;

    @Schema(description = "高度", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "高度不能为空")
    private BigDecimal height;

    @Schema(description = "厚度", requiredMode = Schema.RequiredMode.REQUIRED)
    private BigDecimal thickness;

    @Schema(description = "面积")
    private BigDecimal area;

    @Schema(description = "颜色")
    private String color;

    @Schema(description = "数量-大板对应的小板数量")
    private Integer count;

    @Schema(description = "优化大板片数")
    private Long optimizeGoodsCount;

    @Schema(description = "排单对应的小板信息")
    private List<PlatePage> platePages;

}
