package com.zt.plat.module.qms.resource.material.controller.vo;

import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.baomidou.mybatisplus.annotation.TableField;
import com.zt.plat.module.qms.core.aspect.annotation.Dict;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.time.LocalDateTime;

@Schema(description = "管理后台 - 使用记录 Response VO")
@Data
@ExcelIgnoreUnannotated
public class MaterialUseRecordRespVO {

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

    @Schema(description = "物料实例id,1-是；0-否", requiredMode = Schema.RequiredMode.REQUIRED, example = "16550")
    @ExcelProperty("物料实例id,1-是；0-否")
    private Long infomationId;

    @Schema(description = "物料实例编号")
    @ExcelProperty("物料实例编号")
    private String infomationCode;

    @Schema(description = "物料实例名称")
    @ExcelProperty("物料实例名称")
    private String infomationName;

    @Schema(description = "规格")
    private String specification;

    @Schema(description = "型号")
    @ExcelProperty("型号")
    private String modelNo;

    @Schema(description = "是否配置危险品", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("是否配置危险品")
    @Dict(dicCode = "yes_or_no")
    private Integer hazardousMakeFlag;

    @Schema(description = "本次数量", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("本次数量")
    private String operationQuantity;

    @Schema(description = "之前量")
    @ExcelProperty("之前量")
    private String beforeQuantity;

    @Schema(description = "余量")
    @ExcelProperty("余量")
    private String afterQuantity;

    @Schema(description = "使用日期", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("使用日期")
    private LocalDateTime useDate;

    @Schema(description = "使用人id", requiredMode = Schema.RequiredMode.REQUIRED, example = "22146")
    @ExcelProperty("使用人id")
    private Long userId;

    @Schema(description = "使用人", requiredMode = Schema.RequiredMode.REQUIRED, example = "ZT")
    @ExcelProperty("使用人")
    private String userName;

    @Schema(description = "说明")
    @ExcelProperty("说明")
    private String reason;

    @Schema(description = "监督人id", example = "13958")
    @ExcelProperty("监督人id")
    private Long supervisorId;

    @Schema(description = "监督人姓名", example = "李四")
    @ExcelProperty("监督人姓名")
    private String supervisorName;

    @Schema(description = "确认处理状态")
    private String reviewStatus;

    @Schema(description = "确认处理日期")
    private LocalDateTime reviewDate;

    @Schema(description = "所属部门")
    @ExcelProperty("所属部门")
    private String systemDepartmentCode;

    @Schema(description = "备注")
    @ExcelProperty("备注")
    private String remark;

    @Schema(description = "创建时间")
    @ExcelProperty("创建时间")
    private LocalDateTime createTime;

}