package com.cf.imes.module.manage.dal.dataobject.plate;


import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.cf.imes.framework.mybatis.core.dataobject.BaseDO;
import lombok.*;

@TableName("order_plate")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class OrderPlateDO extends BaseDO {


    // 板件 ID
    @TableId
    private Long id;

    // 生产单号
    private Long orderId;

    // 组织 ID
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private Long organId;

    // 板名称
    private String name;

    // 自定义板编号
    private String plateNo;

    // 板类型，0 层板 1 立板 2 背板
    private Integer type;

    // 商品 ID
    private String goodsId;

    // 宽度
    private Double width;

    // 高度
    private Double height;

    // 厚度
    private Double thickness;

    // 拆单宽度
    private Double splitWidth;

    // 拆单高度
    private Double splitHeight;

    // 拆单厚度
    private Double splitThickness;

    // 左封边厚度
    private Double sealLeft;

    // 右封边厚度
    private Double sealRight;

    // 上封边厚度
    private Double sealUp;

    // 下封边厚度
    private Double sealDown;

    // 面积
    private Double area;

    // 纹路类型，0 正纹 1 可翻转 2 反纹
    private Integer texture;

    // 孔面类型，0 正面 1 反面 2 侧面
    private Integer holeFace;

    // 排孔类型，0 正纹 1 反面 2 随意面
    private Integer holeArrange;

    // 异型孔数量
    private Integer unregularPointCount;

    // 正面孔数量
    private Integer frontHoleCount;

    // 背面孔数量
    private Integer backHoleCount;

    // 侧面孔数量
    private Integer sideHoleCount;

    // 正面造型量
    private Integer frontModelCount;

    // 背面造型量
    private Integer backModelCount;

    // 是否门板
    private Boolean isDoor;

    // 开门类型，0 无 1 左 2 右 3 上 4 下
    private Integer openDoorType;

    // 异型偏移 x
    private Float offsetX;

    // 异型偏移 y
    private Float offsetY;

    // 是否孤形对角
    private Boolean isArcAcross;

    // 模块类型 ID
    private Long moduleTypeId;

    // 排单过滤类型，1 有挖穿造型 2 有挖穿孔 4 有二维刀路 8 可叠
    private Integer filterType;

    // 备注
    private String remark;


}
