package com.casic.missiles.model.equipment;

import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import com.alibaba.excel.annotation.write.style.ContentRowHeight;
import com.alibaba.excel.annotation.write.style.ContentStyle;
import com.alibaba.excel.annotation.write.style.HeadRowHeight;
import com.alibaba.excel.enums.poi.BorderStyleEnum;
import com.baomidou.mybatisplus.annotation.TableName;
import com.casic.missiles.annotation.DictCodeField;
import com.casic.missiles.constants.MeterDictCode;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

@ColumnWidth(30)
@HeadRowHeight(15)
@ContentRowHeight(20)
@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN)
@ExcelIgnoreUnannotated
@ApiModel
@Data
public class EquipmentRemindExport {

    /**
     * 设备编号
     */
    @ExcelProperty("设备编号")
    @ApiModelProperty(value = "设备编号", dataType = "String")
    private String equipmentNo;

    /**
     * 设备名称
     */
    @ExcelProperty("设备名称")
    @ApiModelProperty(value = "设备名称", dataType = "String")
    private String equipmentName;

    /**
     * 型号
     */
    @ExcelProperty("型号")
    @ApiModelProperty(value = "型号", dataType = "String")
    private String modelNo;

    /**
     * ABC-字典code
     */
    @DictCodeField(message = "ABC不合法", cacheName = MeterDictCode.ABC)
    @ApiModelProperty(value = "ABC", dataType = "String", required = false)
    private String abc;

    /**
     * abcName
     */
    @ExcelProperty("ABC")
    @ApiModelProperty(value = "abcName", dataType = "String", required = false)
    private String abcName;

    /**
     * 检定方式-字典code
     */
    @ApiModelProperty(value = "检定方式", dataType = "String", required = false)
    @DictCodeField(message = "检定方式不合法", cacheName = MeterDictCode.MEASURE_TYPE)
    private String mesureType;

    /**
     * 检定方式名称
     */
    @ExcelProperty("检定方式")
    @ApiModelProperty(value = "检定方式名称", dataType = "String", required = false)
    private String mesureTypeName;

    /**
     * 管理状态-字典code
     */
    @ApiModelProperty(value = "管理状态", dataType = "String", required = false)
    @DictCodeField(message = "管理状态不合法", cacheName = MeterDictCode.MANAGER_STATE)
    private String managerState;
    /**
     * 管理状态名称
     */
    @ExcelProperty("管理状态")
    @ApiModelProperty(value = "管理状态名称", dataType = "String", required = false)
    private String managerStateName;

    /**
     * 使用人
     */
    @ApiModelProperty(value = "使用人", dataType = "Long", required = false)
    private Long usePerson;

    /**
     * 使用人名称
     */
    @ExcelProperty("使用人")
    @ApiModelProperty(value = "使用人", dataType = "Long", required = false)
    private String usePersonName;

    /**
     * 使用部门
     */
    @ApiModelProperty(value = "使用部门", dataType = "Long", required = false)
    private Long useDept;

    /**
     * 使用部门名称
     */
    @ExcelProperty("使用单位")
    @ApiModelProperty(value = "使用部门名称", dataType = "String", required = false)
    private String useDeptName;

    /**
     * 有效日期
     */
    @ExcelProperty("有效日期")
    @ApiModelProperty(value = "有效日期", dataType = "String", required = false)
    private String validDate;

    /**
     * 备注
     */
    @ExcelProperty("备注")
    @ApiModelProperty(value = "备注", dataType = "String", required = false)
    private String remark;
}
