package com.zt.plat.module.base.controller.admin.departmentmaterial.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
import com.alibaba.excel.annotation.*;

@Schema(description = "管理后台 - 组织架构物料 Response VO")
@Data
@ExcelIgnoreUnannotated
public class DepartmentMaterialRespVO {

    @Schema(description = "主键ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "5674")
    @ExcelProperty("主键ID")
    private Long id;

    @Schema(description = "物料信息ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "3923")
    @ExcelProperty("物料信息ID")
    private Long infomationId;

    @Schema(description = "物料分类ID", example = "30114")
    @ExcelProperty("物料分类ID")
    private Long classesId;

    @Schema(description = "字典数据值-物料类型", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("字典数据值-物料类型")
    private String dictionaryDataValue;

    @Schema(description = "备注", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("备注")
    private String remark;

    @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("创建时间")
    private LocalDateTime createTime;

    @Schema(description = "部门ID")
    @ExcelIgnore
    private Long deptId;

    @Schema(description = "部门名称")
    @ExcelProperty("部门名称")
    private String deptName;

    @Schema(description = "物料编码")
    @ExcelProperty("物料编码")
    private String materialNumber;

    @Schema(description = "物料名称")
    @ExcelProperty("物料名称")
    private String materialName;

    @Schema(description = "物料大类名称")
    @ExcelProperty("物料大类")
    private String categoryLargeName;

    @Schema(description = "物料中类名称")
    @ExcelProperty("物料中类")
    private String categoryMediumName;

    @Schema(description = "物料小类名称")
    @ExcelProperty("物料小类")
    private String categorySmallName;

    @Schema(description = "物料分类路径")
    @ExcelProperty("物料分类路径")
    private String categoryPath;

    @Schema(description = "组织物料类型名称")
    @ExcelProperty("组织物料类型")
    private String dictionaryDataLabel;

    @Schema(description = "状态编码")
    @ExcelProperty("状态编码")
    // base_material_status 系统字典取值
    private String status;

}