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

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.jeecgframework.poi.excel.annotation.Excel;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * <p>
 * 标准成本明细表
 * </p>
 *
 * @author
 * @since 2024-06-20
 */
@Data
@Accessors(chain = true)
@TableName("app_scene_cost_standard_detail")
@EqualsAndHashCode
public class CostStandardDetail implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * id
     */
    @TableId(value = "id", type = IdType.AUTO)
    private String id;

    /**
     * 物料号,关联kn_new_sap_mara表matnr字段
     */
    @TableField("material_number")
    @ApiModelProperty(value = "物料号,关联kn_new_sap_mara表matnr字段")
    @Excel(name = "物料号")
    private String materialNumber;

    /**
     * 物料名称
     */
    @TableField("material_name")
    @ApiModelProperty(value = "物料名称")
    @Excel(name = "物料名称")
    private String materialName;

    /**
     * 父类物料号
     */
    @TableField("parent_material_number")
    @ApiModelProperty(value = "父类物料号")
    @Excel(name = "父类物料号")
    private String parentMaterialNumber;

    /**
     * 版本号id
     */
    @TableField("version_number_id")
    @ApiModelProperty(value = "版本号id")
    private String versionNumberId;

    /**
     * 层级
     */
    @TableField("level")
    @ApiModelProperty(value = "层级")
    @Excel(name = "层级")
    private Integer level;

    /**
     * 图号
     */
    @TableField("figure_number")
    @ApiModelProperty(value = "图号")
    @Excel(name = "图号")
    private String figureNumber;

    /**
     * 用量
     */
    @TableField("dosage")
    @ApiModelProperty(value = "用量")
    @Excel(name = "用量")
    private Double dosage;

    /**
     * 单位
     */
    @TableField("unit")
    @ApiModelProperty(value = "单位")
    @Excel(name = "单位")
    private String unit;

    /**
     * 规格
     */
    @TableField("specification")
    @ApiModelProperty(value = "规格")
    @Excel(name = "规格")
    private String specification;

    /**
     * bom材料费
     */
    @TableField("bom_cost")
    @ApiModelProperty(value = "bom材料费")
    @Excel(name = "bom材料费")
    private BigDecimal bomCost;

    /**
     * 包装费
     */
    @TableField("packing_cost")
    @ApiModelProperty(value = "包装费")
    @Excel(name = "包装费")
    private BigDecimal packingCost;

    /**
     * 本阶辅料费
     */
    @TableField("auxiliary_cost")
    @ApiModelProperty(value = "本阶辅料费")
    @Excel(name = "本阶辅料费")
    private BigDecimal auxiliaryCost;

    /**
     * 本阶人工费
     */
    @TableField("labor_cost")
    @ApiModelProperty(value = "本阶人工费")
    @Excel(name = "本阶人工费")
    private BigDecimal laborCost;

    /**
     * 机器折旧费
     */
    @TableField("euip_depreciation_cost")
    @ApiModelProperty(value = "机器折旧费")
    @Excel(name = "机器折旧费")
    private BigDecimal euipDepreciationCost;

    /**
     * 机物料消耗费
     */
    @TableField("equip_consume_cost")
    @ApiModelProperty(value = "机物料消耗费")
    @Excel(name = "机物料消耗费")
    private BigDecimal equipConsumeCost;

    /**
     * 水电费
     */
    @TableField("hydroelectricity_cost")
    @ApiModelProperty(value = "水电费")
    @Excel(name = "水电费")
    private BigDecimal hydroelectricityCost;

    /**
     * 其他制造费
     */
    @TableField("other_cost")
    @ApiModelProperty(value = "其他制造费")
    @Excel(name = "其他制造费")
    private BigDecimal otherCost;

    /**
     * 物流费
     */
    @TableField("trail_cost")
    @ApiModelProperty(value = "物流费")
    @Excel(name = "物流费")
    private BigDecimal trailCost;

    /**
     * 制造成本
     */
    @TableField("manufacture_cost")
    @ApiModelProperty(value = "制造成本")
    @Excel(name = "制造成本")
    private BigDecimal manufactureCost;

    /**
     * 累计人工费
     */
    @TableField("total_labor_cost")
    @ApiModelProperty(value = "累计人工费")
    @Excel(name = "累计人工费")
    private BigDecimal totalLaborCost;

    /**
     * 累计机器消耗费
     */
    @TableField("total_equip_consume_cost")
    @ApiModelProperty(value = "累计机器消耗费")
    @Excel(name = "累计机器消耗费")
    private BigDecimal totalEquipConsumeCost;

    /**
     * 累计机器折旧费
     */
    @TableField("total_euip_depreciation_cost")
    @ApiModelProperty(value = "累计机器折旧费")
    @Excel(name = "累计机器折旧费")
    private BigDecimal totalEuipDepreciationCost;

    /**
     * 累计水电费
     */
    @TableField("total_hydroelectricity_cost")
    @ApiModelProperty(value = "累计水电费")
    @Excel(name = "累计水电费")
    private BigDecimal totalHydroelectricityCost;

    /**
     * 累计其它费用
     */
    @TableField("total_other_cost")
    @ApiModelProperty(value = "累计其它费用")
    @Excel(name = "累计其它费用")
    private BigDecimal totalOtherCost;

    /**
     * 创建人
     */
    @TableField("create_by")
    @ApiModelProperty(value = "创建人")
    private String createBy;

    /**
     * 创建日期
     */
    @TableField("create_time")
    @ApiModelProperty(value = "创建日期")
    private LocalDateTime createTime;

    /**
     * 修改人
     */
    @TableField("update_by")
    @ApiModelProperty(value = "修改人")
    private String updateBy;

    /**
     * 修改日期
     */
    @TableField("update_time")
    @ApiModelProperty(value = "修改日期")
    private LocalDateTime updateTime;

    /**
     * 备注
     */
    @TableField("remark")
    @ApiModelProperty(value = "备注")
    private String remark;

    /**
     * 序号
     */
    @TableField("sort")
    @ApiModelProperty(value = "序号")
    @Excel(name = "序号")
    private Integer sort;

}
