package com.cf.imes.module.manage.controller.admin.patching.vo;


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

@Schema(description = "管理后台 - 补板详情 Response VO")
@Data
public class PatchingDetailRespVO {


    @Schema(description = "房间名称", requiredMode = Schema.RequiredMode.REQUIRED)
    private String roomName;

    @Schema(description = "房间ID", requiredMode = Schema.RequiredMode.REQUIRED)
    private Long roomId;

    @Schema(description = "柜体名称", requiredMode = Schema.RequiredMode.REQUIRED)
    private String cabinetName;

    @Schema(description = "柜体ID", requiredMode = Schema.RequiredMode.REQUIRED)
    private Long bodyId;

    @Schema(description = "材料", requiredMode = Schema.RequiredMode.REQUIRED)
    private String material;

    @Schema(description = "颜色", requiredMode = Schema.RequiredMode.REQUIRED)
    private String color;



    // 需要添加的额外字段
    @Schema(description = "板件组合名称", requiredMode = Schema.RequiredMode.REQUIRED)
    private String  plateCombinationName;

    @Schema(description = "自定义单号", requiredMode = Schema.RequiredMode.REQUIRED)
    private Long  customOrderId;

    @Schema(description = "客户", requiredMode = Schema.RequiredMode.REQUIRED)
    private String customer;

    @Schema(description = "地址", requiredMode = Schema.RequiredMode.REQUIRED)
    private String address;



    // 用于进行判断是否为异形等
    @Schema(description = "异形数量", requiredMode = Schema.RequiredMode.REQUIRED)
    private String specialShaped;

    @Schema(description = "造型数量", requiredMode = Schema.RequiredMode.REQUIRED)
    private String profiling;

    @Schema(description = "排孔数量", requiredMode = Schema.RequiredMode.REQUIRED)
    private String rowHole;





    @Schema(description = "主键-板件ID", requiredMode = Schema.RequiredMode.REQUIRED)
    private Long id;

    @Schema(description = "生产单号", requiredMode = Schema.RequiredMode.REQUIRED)
    private Long orderId;

    @Schema(description = "组织 ID", requiredMode = Schema.RequiredMode.REQUIRED)
    private Long organId;

    @Schema(description = "板名称", requiredMode = Schema.RequiredMode.REQUIRED)
    private String name;

    @Schema(description = "自定义板编号", requiredMode = Schema.RequiredMode.REQUIRED)
    private String plateNo;

    @Schema(description = "板类型，0 层板 1 立板 2 背板", requiredMode = Schema.RequiredMode.REQUIRED)
    private Integer type;

    @Schema(description = "商品 ID", requiredMode = Schema.RequiredMode.REQUIRED)
    private Long goodsId;

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

    @Schema(description = "高度", requiredMode = Schema.RequiredMode.REQUIRED)
    private Double height;

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

    @Schema(description = "拆单宽度", requiredMode = Schema.RequiredMode.REQUIRED)
    private Double splitWidth;

    @Schema(description = "拆单高度", requiredMode = Schema.RequiredMode.REQUIRED)
    private Double splitHeight;

    @Schema(description = "拆单厚度", requiredMode = Schema.RequiredMode.REQUIRED)
    private Double splitThickness;

    @Schema(description = "左封边厚度", requiredMode = Schema.RequiredMode.REQUIRED)
    private Double sealLeft;

    @Schema(description = "右封边厚度", requiredMode = Schema.RequiredMode.REQUIRED)
    private Double sealRight;

    @Schema(description = "上封边厚度", requiredMode = Schema.RequiredMode.REQUIRED)
    private Double sealUp;

    @Schema(description = "下封边厚度", requiredMode = Schema.RequiredMode.REQUIRED)
    private Double sealDown;

    @Schema(description = "面积", requiredMode = Schema.RequiredMode.REQUIRED)
    private Double area;

    @Schema(description = "纹路类型，0 正纹 1 可翻转 2 反纹", requiredMode = Schema.RequiredMode.REQUIRED)
    private Integer texture;

    @Schema(description = "孔面类型，0 正面 1 反面 2 侧面", requiredMode = Schema.RequiredMode.REQUIRED)
    private Integer holeFace;

    @Schema(description = "排孔类型，0 正纹 1 反面 2 随意面", requiredMode = Schema.RequiredMode.REQUIRED)
    private Integer holeArrange;

    @Schema(description = "异型孔数量", requiredMode = Schema.RequiredMode.REQUIRED)
    private Integer unregularPointCount;

    @Schema(description = "正面孔数量", requiredMode = Schema.RequiredMode.REQUIRED)
    private Integer frontHoleCount;

    @Schema(description = "背面孔数量", requiredMode = Schema.RequiredMode.REQUIRED)
    private Integer backHoleCount;

    @Schema(description = "侧面孔数量", requiredMode = Schema.RequiredMode.REQUIRED)
    private Integer sideHoleCount;

    @Schema(description = "正面造型量", requiredMode = Schema.RequiredMode.REQUIRED)
    private Integer frontModelCount;

    @Schema(description = "背面造型量", requiredMode = Schema.RequiredMode.REQUIRED)
    private Integer backModelCount;

    @Schema(description = "是否门板", requiredMode = Schema.RequiredMode.REQUIRED)
    private Boolean isDoor;

    @Schema(description = "开门类型，0 无 1 左 2 右 3 上 4 下", requiredMode = Schema.RequiredMode.REQUIRED)
    private Integer openDoorType;

    @Schema(description = "异型偏移 x", requiredMode = Schema.RequiredMode.REQUIRED)
    private Float offsetX;

    @Schema(description = "异型偏移 y", requiredMode = Schema.RequiredMode.REQUIRED)
    private Float offsetY;

    @Schema(description = "是否孤形对角", requiredMode = Schema.RequiredMode.REQUIRED)
    private Boolean isArcAcross;

    @Schema(description = "模块类型 ID", requiredMode = Schema.RequiredMode.REQUIRED)
    private Long moduleTypeId;

    @Schema(description = "排单过滤类型，1 有挖穿造型 2 有挖穿孔 4 有二维刀路 8 可叠", requiredMode = Schema.RequiredMode.REQUIRED)
    private Integer filterType;

    @Schema(description = "备注", requiredMode = Schema.RequiredMode.REQUIRED)
    private String remark;


}
