package com.cf.imes.module.executor.controller.admin.manage.pack.vo;


import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.fasterxml.jackson.annotation.JsonInclude;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

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


@Schema(description = "管理后台 - 板材详情(导出板材表) Response VO")
@Data
@ExcelIgnoreUnannotated
@JsonInclude(JsonInclude.Include.NON_NULL)
public class PlateDetailsRespVO {

    @Schema(description = "包裹ID")
    private Long packageId;

    @Schema(description = "包裹号")
    private String packageNo;

    @Schema(description = "房间名称")
    @ExcelProperty("房间名称")
    private String roomName;

    @Schema(description = "柜体名称")
    @ExcelProperty("柜体名称")
    private String cabinetName;

    @Schema(description = "房间ID")
    private String roomId;

    @Schema(description = "柜体ID")
    private String bodyId;

    @Schema(description = "订单ID")
    private String orderId;

    @Schema(description = "板材ID")
    private String plateId;

    @Schema(description = "自定义板编号")
    private String customPlateNo;

    @Schema(description = "板编号")
    @ExcelProperty("板编号")
    private String plateNo;

    @Schema(description = "板名称")
    @ExcelProperty("板名称")
    private String plateName;

    @Schema(description = "材料")
    @ExcelProperty("材料")
    private String material;

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

    @Schema(description = "宽度")
    @ExcelProperty("宽度")
    private Double width;

    @Schema(description = "长度")
    @ExcelProperty("长度")
    private Double height;

    @Schema(description = "厚度")
    @ExcelProperty("厚度")
    private Double thickness;

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

    @Schema(description = "纹路")
    @ExcelProperty("纹路")
    private Integer texture;

    @Schema(description = "异形")
    @ExcelProperty("异形")
    private Boolean isSpecialShaped;

    @Schema(description = "正反面造型")
    @ExcelProperty("正反面造型")
    private Boolean isSculpt;

    @Schema(description = "排孔")
    @ExcelProperty("排孔")
    private Boolean isRowHole;

    @Schema(description = "正面孔数量")
    private Integer frontHoleCount;

    @Schema(description = "背面孔数量")
    private Integer backHoleCount;

    @Schema(description = "侧面孔数量")
    private Integer sideHoleCount;

    @Schema(description = "加工组")
    @ExcelProperty("加工组")
    private String processGroup;

    @Schema(description = "备注")
    @ExcelProperty("备注")
    private String remark;


    @Schema(description = "排版面")
    @ExcelProperty("排版面")
    private String holeFace;


    @Schema(description = "排孔类型")
    @ExcelProperty("排孔类型")
    private String holeArrange;


    @Schema(description = "开门类型")
    @ExcelProperty("开门类型")
    private String openDoorType;


    @Schema(description = "是否侧面造型")
    @ExcelProperty("是否侧面造型")
    private Boolean isSideSculpt;


    @Schema(description = "是否二维刀路")
    @ExcelProperty("是否二维刀路")
    private Boolean is2v;


    @Schema(description = "是否侧面二维刀路")
    @ExcelProperty("是否侧面二维刀路")
    private Boolean isSide2v;


    @Schema(description = "加工组名称集合")
    private List<String> processGroupNameList;

    @Schema(description = "开料长")
    private BigDecimal splitHeight;

    @Schema(description = "开料宽")
    private BigDecimal splitWidth;

    @Schema(description = "品牌")
    private String brand;

    @Schema(description = "左封边厚度")
    private BigDecimal sealLeft;


    @Schema(description = "右封边厚度")
    private BigDecimal sealRight;


    @Schema(description = "上封边厚度")
    private BigDecimal sealUp;


    @Schema(description = "下封边厚度")
    private BigDecimal sealDown;

    @Schema(description = "部件名称")
    private String componentName;

    @Schema(description = "分堆状态，true：已分堆")
    private Boolean heapSplitStatus;

    @Schema(description = "成倍数量")
    private Integer multiNum;

    @Schema(description = "成倍序号")
    private Integer multiSort;
}
