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

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * @Description: app_scene_cost_material_bom
 * @Author: jeecg-boot
 * @Date: 2024-08-02
 * @Version: V1.0
 */
@Data
@TableName("app_scene_cost_material_bom")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value = "app_scene_cost_material_bom对象", description = "app_scene_cost_material_bom")
public class AppSceneCostMaterialBom implements Serializable {
    private static final long serialVersionUID = 1L;

    /**
     * id
     */
    @TableId(type = IdType.ASSIGN_ID)
    @ApiModelProperty(value = "id")
    private String id;
    /**
     * 物料编码
     */
    @Excel(name = "物料编码", width = 15)
    @ApiModelProperty(value = "物料编码")
    private String materialCode;
    /**
     * 物料名称
     */
    @Excel(name = "物料名称", width = 15)
    @ApiModelProperty(value = "物料名称")
    private String materialName;
    /**
     * 父级物料编码
     */
    @Excel(name = "父级物料编码", width = 15)
    @ApiModelProperty(value = "父级物料编码")
    private String parentMaterialCode;
    /**
     * 级别
     */
    @Excel(name = "级别", width = 15)
    @ApiModelProperty(value = "级别")
    private String level;
    /**
     * 排序
     */
    @Excel(name = "排序", width = 15)
    @ApiModelProperty(value = "排序")
    private Integer sort;
    /**
     * 计量单位
     */
    @Excel(name = "计量单位", width = 15)
    @ApiModelProperty(value = "计量单位")
    private String unit;
    /**
     * 数量
     */
    @Excel(name = "数量", width = 15)
    @ApiModelProperty(value = "数量")
    private Integer number;
    /**
     * 人工工时（分钟）
     */
    @Excel(name = "人工工时（分钟）", width = 15)
    @ApiModelProperty(value = "人工工时（分钟）")
    private BigDecimal laborHours;
    /**
     * 设备工时
     */
    @Excel(name = "设备工时", width = 15)
    @ApiModelProperty(value = "设备工时")
    private BigDecimal deviceHours;
    /**
     * 借用物料编码
     */
    @Excel(name = "借用物料编码", width = 15)
    @ApiModelProperty(value = "借用物料编码")
    private String borrowMaterialCode;
    /**
     * 参考物料编码
     */
    @Excel(name = "参考物料编码", width = 15)
    @ApiModelProperty(value = "参考物料编码")
    private String referMaterialCode;
    /**
     * 采购类型
     */
    @Excel(name = "采购类型", width = 15)
    @ApiModelProperty(value = "采购类型")
    private String purchaseType;
    /**
     * 特殊采购类型
     */
    @Excel(name = "特殊采购类型", width = 15)
    @ApiModelProperty(value = "特殊采购类型")
    private String specialPurchaseType;
    /**
     * 说明
     */
    @Excel(name = "说明", width = 15)
    @ApiModelProperty(value = "说明")
    private String explanation;
    /**
     * 单位数量
     */
    @Excel(name = "单位数量", width = 15)
    @ApiModelProperty(value = "单位数量")
    private BigDecimal quantity;
    /**
     * 重量（g）
     */
    @Excel(name = "重量（g）", width = 15)
    @ApiModelProperty(value = "重量（g）")
    private String weight;
    /**
     * 材料/牌号
     */
    @Excel(name = "材料/牌号", width = 15)
    @ApiModelProperty(value = "材料/牌号")
    private String materialAndBrand;
    /**
     * 表面处理，材料
     */
    @Excel(name = "表面处理，材料", width = 15)
    @ApiModelProperty(value = "表面处理，材料")
    private String surfaceMaterial;
    /**
     * 厚度（mm）
     */
    @Excel(name = "厚度（mm）", width = 15)
    @ApiModelProperty(value = "厚度（mm）")
    private String surfaceThickness;
    /**
     * 表面积（mm²）
     */
    @Excel(name = "表面积（mm²）", width = 15)
    @ApiModelProperty(value = "表面积（mm²）")
    private String surfaceArea;
    /**
     * 长（mm）
     */
    @Excel(name = "长（mm）", width = 15)
    @ApiModelProperty(value = "长（mm）")
    private String length;
    /**
     * 宽（mm）
     */
    @Excel(name = "宽（mm）", width = 15)
    @ApiModelProperty(value = "宽（mm）")
    private String width;
    /**
     * 高（mm）
     */
    @Excel(name = "高（mm）", width = 15)
    @ApiModelProperty(value = "高（mm）")
    private String height;
    /**
     * 图示/图档/文档 文件ID
     */
    @Excel(name = "图示/图档/文档 文件ID", width = 15)
    @ApiModelProperty(value = "图示/图档/文档 文件ID")
    private Integer figureFileId;
    /**
     * 是否新摸具（0否 1是）
     */
    @Excel(name = "是否新摸具（0否 1是）", width = 15)
    @ApiModelProperty(value = "是否新摸具（0否 1是）")
    private Integer newTooling;
    /**
     * 成型方式（枚举）
     */
    @Excel(name = "成型方式（枚举）", width = 15)
    @ApiModelProperty(value = "成型方式（枚举）")
    private String shapingMethod;
    /**
     * 作业内容
     */
    @Excel(name = "作业内容", width = 15)
    @ApiModelProperty(value = "作业内容")
    private String workContent;
    /**
     * 加工地点
     */
    @Excel(name = "加工地点", width = 15)
    @ApiModelProperty(value = "加工地点")
    private String processLocation;
    /**
     * 成本中心
     */
    @Excel(name = "成本中心", width = 15)
    @ApiModelProperty(value = "成本中心")
    private String costCenter;
    /**
     * 单价（未税）
     */
    @Excel(name = "单价（未税）", width = 15)
    @ApiModelProperty(value = "单价（未税）")
    private BigDecimal unitPrice;
    /**
     * 总价（未税）
     */
    @Excel(name = "总价（未税）", width = 15)
    @ApiModelProperty(value = "总价（未税）")
    private BigDecimal totalPrice;
    /**
     * 摸具费（未税）
     */
    @Excel(name = "摸具费（未税）", width = 15)
    @ApiModelProperty(value = "摸具费（未税）")
    private BigDecimal mouldPrice;
    /**
     * 创建人
     */
    @ApiModelProperty(value = "创建人")
    private String createBy;
    /**
     * 创建时间
     */
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "创建时间")
    private Date createTime;
    /**
     * 修改人
     */
    @ApiModelProperty(value = "修改人")
    private String updateBy;
    /**
     * 修改时间
     */
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "修改时间")
    private Date updateTime;
    /**
     * 备注（特殊技术信息）
     */
    @Excel(name = "备注（特殊技术信息）", width = 15)
    @ApiModelProperty(value = "备注（特殊技术信息）")
    private String remark;
}
