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


import com.cf.imes.framework.common.pojo.PageParam;
import com.cf.imes.framework.common.validation.NumberValid;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.Size;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;

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


@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class NoPlanPlatePageReqVO extends PageParam {


    @Schema(description = "订单id")
    @Size(min = 1, max = 100, message = "订单id列表不能为空且数量不能超过100个")
    private List<Long> orderIds;


    @Schema(description = "排单ID")
    private Long planId;


    @Schema(description = "是否开启混单，true 开启 false 关闭")
    private Boolean isMixed;


    @Schema(description = "混单方式  1 相同材质和厚度 2 相同厚度")
    private Integer mixedType;


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


    @Schema(description = "大板")
    private List<Long> goodsIdList;


    @Schema(description = "板号-小板ID")
    private String plateId;


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


    @Schema(description = "材质-在排单界面添加板材时为必传的")
    private String material;

    private List<String> materialList;


    @Schema(description = "颜色-在排单界面添加板材时为必传的")
    private String color;

    private List<String> colorList;


    @Schema(description = "厚度-在排单界面添加板材时为必传的")
    private Integer thickness;

    private List<BigDecimal> thicknessList;

    @Schema(description = "品牌-在排单界面添加板材时为必传的")
    private String brand;

    private List<String> brandList;


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


    @Schema(description = "长 小范围")
    @NumberValid(name = "长度")
    private BigDecimal longMinRang;


    @Schema(description = "长 大范围")
    @NumberValid(name = "长度")
    private BigDecimal longMaxRang;


    @Schema(description = "宽 小范围")
    @NumberValid(name = "宽度")
    private BigDecimal widthMinRang;


    @Schema(description = "宽 大范围")
    @NumberValid(name = "宽度")
    private BigDecimal widthMaxRang;


    @Schema(description = "厚 小范围")
    @NumberValid(name = "厚度")
    private BigDecimal thicknessMinRang;


    @Schema(description = "厚 大范围")
    @NumberValid(name = "厚度")
    private BigDecimal thicknessMaxRang;


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

    private List<Boolean> textureList;


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


    @Schema(description = "造型")
    private Boolean isSculpt;


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


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


}
