package org.dromara.zhishu.domain.vo;

import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import org.dromara.common.excel.annotation.ExcelDictFormat;
import org.dromara.common.excel.convert.ExcelDictConvert;
import org.dromara.zhishu.domain.TShelves;

import java.io.Serial;
import java.io.Serializable;


/**
 * 货架信息视图对象 t_shelves
 *
 * @author Lion Li
 * @date 2025-03-26
 */
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = TShelves.class)
public class TShelvesVo implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    /**
     * 货架id
     */
    @ExcelProperty(value = "二级货区id")
    private Long id;

    /**
     * 货架名称
     */
    @ExcelProperty(value = "货区名称")
    private String name;

    /**
     * 货架单位
     */
//    @ExcelProperty(value = "货区单位")
    private String unit;


    /**
     * 货架层数
     */
//    @ExcelProperty(value = "货架层数")
    private Long sheCapMax;

    /**
     * 货架状态（0正常 1停用）
     */
    @ExcelProperty(value = "货区状态", converter = ExcelDictConvert.class)
    @ExcelDictFormat(readConverterExp = "0=正常,1=停用")
    private String status;

    /**
     * 货架编码
     */
    @ExcelProperty(value = "货区编码")
    private String code;

    /**
     * 仓库名称
     */
    @ExcelProperty(value = "一级货区名称")
    private String depotName;

    private String depotId;

    /**
     * 已用数量
     */
    private Long sheNumber;

    /**
     * 一级+二级货区编号
     */
    private String twosCode;

    /**
     * 是否有下一级
     */
    private Boolean hasChildren;

    private Integer level;

    /**
     * 书品库存总数
     */
    private Long inventory;
    /**
     * 书品分类数量
     */
    private Long categoryNumber;

}
