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

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;

import java.math.BigDecimal;
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 DeviceApplyDetailRespVO {

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

    @Schema(description = "父ID", example = "12485")
    @ExcelProperty("父ID")
    private Long applyId;

    @Schema(description = "设备id", example = "140")
    @ExcelProperty("设备id")
    private Long deviceInfomationId;

    @Schema(description = "设备借用明细id", example = "16899")
    @ExcelProperty("设备借用明细id")
    private Long deviceBorrowDetailId;

    @Schema(description = "表单数据,表单数据")
    @ExcelProperty("表单数据,表单数据")
    private String formData;

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

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

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

    //============设备大类属性====================
    @Schema(description = "大类名称", example = "王五")
    @ExcelProperty("大类名称")
    private String productName;

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

    @Schema(description = "技术指标")
    @ExcelProperty("技术指标")
    private String parameter;

    @Schema(description = "制造商")
    @ExcelProperty("制造商")
    private String manufacturer;


    //============设备实例属性====================
    @Schema(description = "设备名称", example = "张三")
    @ExcelProperty("设备名称")
    private String deviceName;

    @Schema(description = "别名")
    @ExcelProperty("别名")
    private String alias;

    @Schema(description = "管理编号")
    @ExcelProperty("管理编号")
    private String deviceCode;

    @Schema(description = "出厂编号")
    @ExcelProperty("出厂编号")
    private String factoryCode;

    @Schema(description = "存放位置")
    @ExcelProperty("存放位置")
    private String position;

    @Schema(description = "采购时间")
    @ExcelProperty("采购时间")
    private LocalDateTime purchaseDate;

    @Schema(description = "购入价格", example = "25826")
    @ExcelProperty("购入价格")
    private BigDecimal purchasePrice;
}