package com.bonus.material.device.domain.vo;

import com.bonus.common.core.annotation.Excel;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;
import java.util.List;


/**
 * @author mashuai
 * @date 2025/03/17 17:11
 */
@EqualsAndHashCode(callSuper = false)
@Data
@ToString
public class DevTemplateVo {

    @ApiModelProperty(value = "装备名称")
    @Excel(name = "装备名称")
    private String deviceName;

    @ApiModelProperty(value = "类型id")
    private Long typeId;

    @ApiModelProperty(value = "装备类别")
    @Excel(name = "装备类目")
    private String typeName;

    @Excel(name = "装备品牌")
    @ApiModelProperty(value = "设备品牌")
    private String brand;


    @ApiModelProperty(value = "出厂日期")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "出厂日期（例：2025-03-17）")
    private Date productionDate;

    @ApiModelProperty(value = "联系人")
    @Excel(name = "联系人")
    private String person;

    @ApiModelProperty(value = "联系电话")
    @Excel(name = "联系电话")
    private String personPhone;

    @Excel(name = "上架数量（编码类型设备默传1）")
    @ApiModelProperty(value = "上架数量")
    private Integer deviceCount;

    @ApiModelProperty(value = "上传人")
    private String uploadUser;

    @ApiModelProperty(value = "上传时间")
    private String uploadTime;

    @Excel(name = "唯一标识符")
    @ApiModelProperty(value = "设备唯一标识符")
    private String identifyCode;

    @ApiModelProperty(value = "检修人")
    @Excel(name = "检修人")
    private String checkMan;

    @ApiModelProperty(value = "检测日期")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "检修时间（例：2025-03-17）")
    private Date checkDate;

    @ApiModelProperty(value = "下次检测日期")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "下次检测时间（例：2025-03-17）")
    private Date nextCheckDate;

    @ApiModelProperty(value = "装备单位")
    private String unitName;

    @ApiModelProperty(value = "设备天租价")
    private Float dayLeasePrice;

    @ApiModelProperty(value = "装备证书详情列表")
    private List<DevTemplateVo> tableList;
}
