package cn.iocoder.yudao.module.system.controller.admin.assetreceive.vo;

import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.time.LocalDate;
import java.time.LocalDateTime;

@Schema(description = "管理后台 - 资产领用 Response VO")
@Data
@ExcelIgnoreUnannotated
public class AssetReceiveRespVO {

    @Schema(description = "资产领用表单主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
    @ExcelProperty("资产领用表单主键")
    private Long id;

    @Schema(description = "领用人的用户编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "146")
    @ExcelProperty("领用人的用户编号")
    private Long userId;

    @Schema(description = "领用人的部门编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "128")
    @ExcelProperty("领用人的部门编号")
    private Long deptId;

    @Schema(description = "分配人的用户编号", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("分配人的用户编号")
    private Long receiveUserId;

    @Schema(description = "资产编号")
    @ExcelProperty("资产编号")
    private String assetsNo;

    @Schema(description = "资产类型编号", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("资产类型编号")
    private Long assetsTypeId;

    @Schema(description = "数量", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("数量")
    private Integer num;

    @Schema(description = "申请日期")
    @ExcelProperty("申请日期")
    private LocalDate applyDate;

    @Schema(description = "分配日期")
    @ExcelProperty("分配日期")
    private LocalDate allocationDate;

    @Schema(description = "领用状态 | 0待领用 1采购中 2已领用 ", example = "0")
    @ExcelProperty("领用状态 | 0待领用 1采购中 2已领用 ")
    private Integer status;

    @Schema(description = "附件信息")
    @ExcelProperty("附件信息")
    private String fileItems;

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

}