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

import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.models.security.SecurityScheme;
import lombok.Builder;
import lombok.Data;

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

/**
 * @author Beal
 */
@Data
@Schema(description = "优化算法入参")
@Builder
public class OptimizeParamResVO {

    @Schema(description = "小板列表")
    private List<PlateParam> plates;
    @Schema(description = "原料板规格列表")
    private List<RawSize> rawSizes;
    @Schema(description = "余料板数量")
    private List<Integer> remainPlateCount;
    @Schema(description = "优化次数")
    private Integer optimizeCount;
    @Schema(description = "双面加工的小板是否优先排入")
    private Boolean isdTwoSided;
    @Schema(description = "排版缝隙 = 开料刀直径 + 缝隙 ")
    private BigDecimal gap;
    @Schema(description = "算法")
    private Boolean hssf;
    @Schema(description = "余料板是否排入双面加工的小板")
    private Boolean remainPlateBoardDo2FaceBlock;



    @Data
    @Schema(description = "原料板规格")
    @Builder
    public static class RawSize {
        @Schema(description = "长")
        private BigDecimal length;
        @Schema(description = "宽")
        private BigDecimal width;
        @Schema(description = "x")
        private BigDecimal x;
        @Schema(description = "y")
        private BigDecimal y;
    }


}
