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

import lombok.Data;

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

/**
 *
 *
 * @author Gqr
 * @since 2026/5/25 15:00
 */
@Data
public class BoardLayoutResultSummary {

    /**
     * 名称
     */
    private String name;

    /**
     * 长度
     */
    private BigDecimal length;

    /**
     * 宽度
     */
    private BigDecimal width;

    /**
     * 厚度
     */
    private BigDecimal thickness;

    /**
     * 大板数量
     */
    private Integer boardCount;

    /**
     * 开始开料板数量
     */
    private Integer startCutBoardCount;

    /**
     * 结束开料板数量
     */
    private Integer endCutBoardCount;

    /**
     * 小板排版间隙
     */
    private BigDecimal gap;

    /**
     * 最大可执行修边量 mm
     * （排版按此值预留内缩空间，下游修边实际值不得超过此值）
     */
    private BigDecimal trimAmount;

    /**
     * 所有标准大板的平均利用率 (0~1)，不含余料板
     */
    private BigDecimal avgUtilization;

    /**
     * 排除末张标准大板后的平均利用率 (0~1)
     */
    private BigDecimal avgUtilizationExcludeLast;

    /**
     * 末张标准大板的利用率 (0~1)
     */
    private BigDecimal lastBoardUtilization;

    /**
     * 材料ID列表
     */
    private List<String> materialIds;

    /**
     * 已优化排版ID列表
     */
    private List<String> placedBlockIds;

    /**
     * 开始开料板ID列表
     */
    private List<String> startCutBlockIds;

    /**
     * 结束开料板ID列表
     */
    private List<String> endCutBlockIds;
}
