package com.zzsmart.qomo.kn.cost.manage.vo;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

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

@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@ApiModel(value="bom结构树", description="bom结构树")
public class BomTreeInfoVO {
    /**
     * 物料号
     */
    @ApiModelProperty(value = "物料号")
    private String materialNumber;
    /**
     * 父类物料号
     */
    @ApiModelProperty(value = "父类物料号")
    private String parentMaterialNumber;
    /**
     * 物料名称
     */
    @ApiModelProperty(value = "物料名称")
    private String materialName;
    /**
     * 版本号
     */
    @ApiModelProperty(value = "版本号")
    private String versionNumber;
    /**
     * 数量
     */
    @ApiModelProperty(value = "数量")
    private double quantity;
    /**
     * 单位
     */
    @ApiModelProperty(value = "单位")
    private String unit;
    /**
     * 层级
     */
    @ApiModelProperty(value = "层级")
    private Integer level;
    /**
     * 序号
     */
    @ApiModelProperty(value = "序号")
    private Integer sort;
    /**
     * 本阶标准成本
     */
    @ApiModelProperty(value = "本阶标准成本")
    private BigDecimal standardCost;
    /**
     * 本阶物料成本
     */
    @ApiModelProperty(value = "本阶物料成本")
    private BigDecimal materialCost;
    /**
     * 本阶人工成本
     */
    @ApiModelProperty(value = "本阶人工成本")
    private BigDecimal laborCost;
    /**
     * 本阶设备成本
     */
    @ApiModelProperty(value = "本阶设备成本")
    private BigDecimal equipCost;
    /**
     * 本阶燃动成本
     */
    @ApiModelProperty(value = "本阶燃动成本")
    private BigDecimal fuelCost;
    /**
     * 本阶辅料成本
     */
    @ApiModelProperty(value = "本阶辅料成本")
    private  BigDecimal auxiliaryCost;
    /**
     * 本阶其他成本
     */
    @ApiModelProperty(value = "本阶其他成本")
    private BigDecimal otherCost;
    /**
     * 累计标准成本
     */
    @ApiModelProperty(value = "累计标准成本")
    private BigDecimal accumulatedStandardCost;
    /**
     * 累计物料成本
     */
    @ApiModelProperty(value = "累计物料成本")
    private BigDecimal accumulatedMaterialCost;
    /**
     * 累计人工成本
     */
    @ApiModelProperty(value = "累计人工成本")
    private BigDecimal accumulatedLaborCost;
    /**
     * 累计设备成本
     */
    @ApiModelProperty(value = "累计设备成本")
    private BigDecimal accumulatedEquipCost;
    /**
     * 累计燃动成本
     */
    @ApiModelProperty(value = "累计燃动成本")
    private BigDecimal accumulatedFuelCost;

    /**
     * 累计辅料成本
     */
    @ApiModelProperty(value = "累计辅料成本")
    private BigDecimal accumulatedAuxiliaryCost;
    /**
     * 累计其他成本
     */
    @ApiModelProperty(value = "累计其他成本")
    private BigDecimal accumulatedOtherCost;
    /**
     * 节点父类所有的物料编码
     */
    @ApiModelProperty(value = "节点父类所有的物料编码")
    private List<String> parentMaterialNumbers;
    /**
     * 子节点
     */
    @ApiModelProperty(value = "子节点")
    private List<BomTreeInfoVO> children;
    /**
     * 是否有叶子节点
     */
    @ApiModelProperty(value = "是否有叶子节点")
    private boolean hasChildren;
}
