package com.bonus.material.ma.domain;

import java.math.BigDecimal;
import com.bonus.common.core.annotation.Excel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.ToString;
import com.bonus.common.core.web.domain.BaseEntity;
import org.apache.poi.ss.usermodel.HorizontalAlignment;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Size;

/**
 * 配件类型管理对象 ma_part_type
 * 
 * @author xsheng
 * @date 2024-09-27
 */
@Data
@ToString
public class PartType extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    private Integer isExport;

    /** 类型ID */
    private Long id;
    @Excel(name = "配件类型",sort=1)
    @ApiModelProperty(value = "配件类型")
    private String partType;

    @Excel(name = "配件名称",sort=2)
    @ApiModelProperty(value = "配件名称")
    private String partName;



    /** 规格型号 */
    @Excel(name = "规格型号",sort=3)
    @ApiModelProperty(value = "规格型号")
    @NotBlank(message = "名称不能为空")
    @Size(max=30, message = "名称长度不能超过30")
    private String paName;

    /** 上级ID */
    @ApiModelProperty(value = "上级ID")
    private Long parentId;

    /** 帐号状态（0正常 1停用） */
//    @Excel(name = "帐号状态", readConverterExp = "0=正常,1=停用")
    private String status;

    /** 计量单位ID */
    @ApiModelProperty(value = "计量单位ID")
    private String unitId;

    /** 计量单位名称 */
    @Excel(name = "计量单位",sort=4)
    @ApiModelProperty(value = "计量单位名称")
    @Size(max=64, message = "计量单位长度不能超过64")
    private String unitName;

    /** 原值 */
    @Excel(name = "购置价格（元）",sort=5, align = HorizontalAlignment.RIGHT)
    @ApiModelProperty(value = "原值")
    @Size(max=10, message = "购置价格长度不能超过10")
    private BigDecimal buyPrice;

    /** 实时库存 */
    @Excel(name = "数量",sort=6, align = HorizontalAlignment.RIGHT)
    @ApiModelProperty(value = "实时库存")
    private Long storageNum;

    /** 层级 */
    @ApiModelProperty(value = "层级")
    private String level;

    /** 库存预警数量 */
    @ApiModelProperty(value = "库存预警数量")
    private Long warnNum;

    /** 删除标志（0代表存在 2代表删除） */
    private String delFlag;

    /** 数据所属组织 */
    @ApiModelProperty(value = "数据所属组织")
    private String companyId;

    /** 框架年份 */
    @ApiModelProperty(value = "框架年份")
    private String year;

    @Excel(name = "备注信息",sort=7)
    private String remark;

    @ApiModelProperty(value = "关键字")
    private String keyWord;

    @ApiModelProperty(value = "是否显示绑定关系")
    private Boolean displayBindRelationship;

    /** 库管员id */
    @ApiModelProperty(value = "库管员id")
    private Long userId;

    @ApiModelProperty(value = "库管员")
    private String keepUserName;

    /** 一级类型ID */
    private Long firstId;

    /** 二级类型ID */
    private Long secondId;

    /** 三级类型ID */
    private Long thirdId;

    /** 一级层级 */
    @ApiModelProperty(value = "一级层级")
    private String firstLevel;

    /** 二级层级 */
    @ApiModelProperty(value = "二级层级")
    private String secondLevel;

    /** 三级层级 */
    @ApiModelProperty(value = "三级层级")
    private String thirdLevel;

    private Integer flag;

    private Long typeId;
}
