package com.bonus.material.ma.domain.vo;

import com.bonus.common.core.annotation.Excel;
import com.bonus.material.ma.domain.Type;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
import org.apache.poi.ss.usermodel.HorizontalAlignment;
import org.springframework.format.annotation.DateTimeFormat;

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

/**
* @description 机械设备标准配置详情
* @author hay
* @date   2025/2/14 14:02
*/
@Getter
@Setter
public class StandardConfigDetailsVo {

    /** 配置ID */
    @ApiModelProperty(value = "配置ID")
    private Long configId;

    /** 配置详情ID */
    @ApiModelProperty(value = "配置详情ID")
    private Long detailsId;

    /** 仓库Id */
    @ApiModelProperty(value = "仓库Id")
    private Long houseId;

    @ApiModelProperty(value = "仓库名称")
    @Excel(name = "仓库信息")
    private String houseName;

    @ApiModelProperty(value = "施工类型")
    @Excel(name = "施工类型")
    private String constructionType;

    @ApiModelProperty(value = "物资类型")
    @Excel(name = "物资类型")
    private String materialType;

    @ApiModelProperty(value = "物资名称")
    @Excel(name = "物资名称")
    private String typeName;

    @ApiModelProperty(value = "类型名称")
    private String maTypeName;

    @ApiModelProperty(value = "规格ID")
    private Long typeId;

    @ApiModelProperty(value = "规格IDs")
    private Long[] typeIds;

    @ApiModelProperty(value = "规格型号")
    @Excel(name = "规格型号")
    private String typeModelName;

    @ApiModelProperty(value = "计量单位")
    @Excel(name = "计量单位")
    private String unit;

    @ApiModelProperty(value = "计量单位")
    private String unitName;

    @ApiModelProperty(value = "数量")
    @Excel(name = "数量", align = HorizontalAlignment.RIGHT)
    private BigDecimal num;

    @ApiModelProperty(value = "预领数量")
    private BigDecimal preNum;

    /** 实时库存 */
    @ApiModelProperty(value = "实时库存")
    private BigDecimal storageNum;

    @ApiModelProperty(value = "备注")
    @Excel(name = "备注")
    private String remark;

    /** 管理方式(0编号 1计数) */
    @ApiModelProperty(value = "管理方式(0编号 1计数)")
    private String manageType;

    @ApiModelProperty(value = "创建者")
    private String createBy;

    @ApiModelProperty(value = "创建时间")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;

    @ApiModelProperty(value = "更新者")
    private String updateBy;

    @ApiModelProperty(value = "更新时间 ")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date updateTime;

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

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

    @ApiModelProperty(value = "是否整数")
    private Integer unitValue;

}
