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


import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.math.BigDecimal;

@Schema(description = "管理后台 - 生产单板件 Response VO")
@Data
public class PlateDetialRespVO {

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


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

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


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


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


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


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


    @Schema(description = "商品名称", requiredMode = Schema.RequiredMode.REQUIRED)
    private  String goodsName;


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


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


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


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


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


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


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


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


    @Schema(description = "是否异性-是否弧形地脚，不处理异形", requiredMode = Schema.RequiredMode.REQUIRED)
    private  Boolean isSpecialShaped;


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


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


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


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


    @Schema(description = "面积", requiredMode = Schema.RequiredMode.REQUIRED)
    private BigDecimal 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, example = "28477")
    private Short unregularPointCount;


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


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


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


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


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


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


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


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


    @Schema(description = "是否造型", requiredMode = Schema.RequiredMode.REQUIRED)
    private Boolean isSculpt;


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


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


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


    @Schema(description = "备注", requiredMode = Schema.RequiredMode.REQUIRED, example = "你说的对")
    private String remark;


    @Schema(description = "是否作废", requiredMode = Schema.RequiredMode.REQUIRED)
    private Boolean isCancel;


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


    @Schema(description = "加工组ID", requiredMode = Schema.RequiredMode.REQUIRED)
    private Long processGroupId;


    @Schema(description = "加工组名称", requiredMode = Schema.RequiredMode.REQUIRED)
    private String processGroupName;



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


    @Schema(description = "是否有孔", requiredMode = Schema.RequiredMode.REQUIRED, example = "2")
    private Boolean  hasHole;


    @Schema(description = "生产单明细ID", requiredMode = Schema.RequiredMode.REQUIRED)
    private Long itemId;



}
