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


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
@JsonInclude(JsonInclude.Include.NON_NULL)
public class OrderPartsRespVO {

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

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

    @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 Long partsId;

    @Schema(description = "配件名称")
    private String name;

    @Schema(description = "型号")
    private String model;

    @Schema(description = "规格")
    private String spec;

    @Schema(description = "数量")
    private BigDecimal num;

    @Schema(description = "单位")
    private String unit;

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

    @Schema(description = "厂家")
    private String factory;


    @Schema(description = "配件类型")
    private String type;


    @Schema(description = "是否复合配件")
    private Boolean isComposite;


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


    @Schema(description = "配件颜色")
    private String partsColor;

    @Schema(description = "配件宽度")
    private Double partsWidth;

    @Schema(description = "配件长度")
    private Double partsLength;

    @Schema(description = "配件厚度")
    private Double partsThickness;

    @Schema(description = "配件主类：1封边2五金3组件")
    private String category;

    @Schema(description = "子配件ID列表,复合部件时记录子配件ID,半角逗号分隔")
    private String subparts;

    @Schema(description = "数量-用于计算，不显示")
    private List<BigDecimal> count;

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

    private List<String> componentNameList;

    private List<String> processGroupNameList;

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

    private Long groupId;

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

    @Schema(description = "分堆数量")
    private BigDecimal heapNum;

    @Schema(description = "打包数量")
    private BigDecimal packNum;

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

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