package com.cf.imes.module.executor.util.fileConversion.admin.files.xml.VO;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import jakarta.xml.bind.annotation.*;
import java.io.Serializable;

@Data
@AllArgsConstructor
@NoArgsConstructor
@XmlRootElement(name = "Assembly")
@XmlAccessorType(XmlAccessType.FIELD)
// 组件/部件信息
public class AssemblyXmlVO implements Serializable {

    // 五金物料编码
    @XmlAttribute(name = "itemCode")
    private String itemCode;

    // 类型——抽屉Drawer、酒格WineGrid、框架/拼框门FrameDoor、线条(顶线、脚线、挡水条等)Line、桌面/台面TableTop、水槽Sink……
    @XmlAttribute(name = "type")
    private String type;

    // 厂家
    @XmlAttribute(name = "manufacturer")
    private String manufacturer;

    // 品牌
    @XmlAttribute(name = "brand")
    private String brand;

    // 名称
    @XmlAttribute(name = "name")
    private String name;

    // 材质
    @XmlAttribute(name = "material")
    private String material;

    // 颜色
    @XmlAttribute(name = "color")
    private String color;

    // 规格/类型
    @XmlAttribute(name = "specs")
    private String specs;

    // 长度
    @XmlAttribute(name = "length")
    private String length;

    // 宽度
    @XmlAttribute(name = "width")
    private String width;

    // 高
    @XmlAttribute(name = "height")
    private String height;

    // 数量
    @XmlAttribute(name = "count")
    private String count;

    // 长度单位
    @XmlAttribute(name = "unit")
    private String unit;

    // 数量单位
    @XmlAttribute(name = "unitCount")
    private String unitCount;

    // 仓库
    @XmlAttribute(name = "warehouse")
    private String warehouse;

    // 货架
    @XmlAttribute(name = "shelf")
    private String shelf;

    // 房间名称
    @XmlAttribute(name = "roomName")
    private String roomName;

    // 房间号
    @XmlAttribute(name = "roomCode")
    private String roomCode;

    // 柜体名称
    @XmlAttribute(name = "boxName")
    private String boxName;

    // 柜体号
    @XmlAttribute(name = "boxCode")
    private String boxCode;

    // 加工组号
    @XmlAttribute(name = "groupCode")
    private String groupCode;

    // 加工组名称
    @XmlAttribute(name = "groupName")
    private String groupName;

    // 模块名称
    @XmlAttribute(name = "moduleName")
    private String moduleName;

    // 模块号
    @XmlAttribute(name = "moduleCode")
    private String moduleCode;

    // 子组件/部件物料编码
    @XmlAttribute(name = "subCodes")
    private String subCodes;

    // 备注
    @XmlElement(name = "Remarks")
    private RemarkXmlVOS remarkXmlVOS;
}
